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

Analysis Run

2b03ce69-6667-4e80-a75c-83ddd1a33fc2

complete
Chain ID
1
Address
Block Number
Created
Mon, Dec 29, 2025 2:46 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
Untrusted DELEGATECALL target reachable
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
30383 report.consolidate complete 1 / 1 3 months ago
74482 artifact.fetch complete 1 / 3 1 week ago
74483 tool.cast_disasm complete 1 / 3 1 week ago
74484 analysis.bundle complete 1 / 3 1 week ago
74485 capability.graph complete 1 / 3 1 week ago
74486 detector.run complete 1 / 3 1 week ago
74487 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
3
No findings?
no
Summary
Found three issues: collision-prone packet hashing, fee-on-transfer token accounting mismatch, and a misordered storage gap in TokenServiceV2.
View stderr
[codex:1171619] OpenAI Codex v0.77.0 (research preview)
[codex:1171619] --------
[codex:1171619] workdir: /tmp/codex-multi-nt9y47fv
[codex:1171619] model: gpt-5.2-codex
[codex:1171619] provider: openai
[codex:1171619] approval: never
[codex:1171619] sandbox: read-only
[codex:1171619] reasoning effort: xhigh
[codex:1171619] reasoning summaries: auto
[codex:1171619] session id: 019b67f9-5bea-78f1-ad31-18b1979955cb
[codex:1171619] --------
[codex:1171619] user
[codex:1171619] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1171619] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1171619] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1171619] 
[codex:1171619] Scope rules:
[codex:1171619] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1171619] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1171619] 
[codex:1171619] Output MUST be valid JSON matching the provided schema.
[codex:1171619] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1171619] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1171619] 
[codex:1171619] Output constraints (IMPORTANT):
[codex:1171619] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1171619] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1171619] mcp startup: no servers
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Reading AUDIT_BUNDLE file**
[codex:1171619] exec
[codex:1171619] /bin/bash -lc ls in /tmp/codex-multi-nt9y47fv succeeded in 6ms:
[codex:1171619] AUDIT_BUNDLE.txt
[codex:1171619] codex-output-schema.json
[codex:1171619] contracts
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Reading the bundle**
[codex:1171619] exec
[codex:1171619] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-nt9y47fv succeeded in 6ms:
[codex:1171619] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1171619] 
[codex:1171619] ================================================================================
[codex:1171619] FILE: contracts/@openzeppelin/contracts/access/AccessControl.sol
[codex:1171619] ================================================================================
[codex:1171619] // SPDX-License-Identifier: MIT
[codex:1171619] // OpenZeppelin Contracts (last updated v4.7.0) (access/AccessControl.sol)
[codex:1171619] 
[codex:1171619] pragma solidity ^0.8.0;
[codex:1171619] 
[codex:1171619] import "./IAccessControl.sol";
[codex:1171619] import "../utils/Context.sol";
[codex:1171619] import "../utils/Strings.sol";
[codex:1171619] import "../utils/introspection/ERC165.sol";
[codex:1171619] 
[codex:1171619] /**
[codex:1171619]  * @dev Contract module that allows children to implement role-based access
[codex:1171619]  * control mechanisms. This is a lightweight version that doesn't allow enumerating role
[codex:1171619]  * members except through off-chain means by accessing the contract event logs. Some
[codex:1171619]  * applications may benefit from on-chain enumerability, for those cases see
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Planning full audit bundle inspection**
[codex:1171619] exec
[codex:1171619] /bin/bash -lc 'rg "''^FILE:" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-nt9y47fv succeeded in 15ms:
[codex:1171619] 4:FILE: contracts/@openzeppelin/contracts/access/AccessControl.sol
[codex:1171619] 255:FILE: contracts/@openzeppelin/contracts/access/IAccessControl.sol
[codex:1171619] 347:FILE: contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:1171619] 433:FILE: contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol
[codex:1171619] 497:FILE: contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
[codex:1171619] 617:FILE: contracts/@openzeppelin/contracts/utils/Address.sol
[codex:1171619] 843:FILE: contracts/@openzeppelin/contracts/utils/Context.sol
[codex:1171619] 871:FILE: contracts/@openzeppelin/contracts/utils/Strings.sol
[codex:1171619] 950:FILE: contracts/@openzeppelin/contracts/utils/introspection/ERC165.sol
[codex:1171619] 983:FILE: contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol
[codex:1171619] 1012:FILE: contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol
[codex:1171619] 1277:FILE: contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol
[codex:1171619] 1369:FILE: contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol
[codex:1171619] 1468:FILE: contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol
[codex:1171619] 1638:FILE: contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol
[codex:1171619] 1759:FILE: contracts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol
[codex:1171619] 1852:FILE: contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol
[codex:1171619] 2100:FILE: contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol
[codex:1171619] 2145:FILE: contracts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol
[codex:1171619] 2234:FILE: contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Extracting first-party contract files**
[codex:1171619] exec
[codex:1171619] /bin/bash -lc "sed -n '3677,3865p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-nt9y47fv succeeded in 6ms:
[codex:1171619] FILE: contracts/contracts/base/tokenservice/TokenSupport.sol
[codex:1171619] ================================================================================
[codex:1171619] // SPDX-License-Identifier: UNLICENSED
[codex:1171619] pragma solidity ^0.8.19;
[codex:1171619] 
[codex:1171619] import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
[codex:1171619] 
[codex:1171619] /// @title TokenSupport
[codex:1171619] /// @dev Abstract contract providing support for managing tokens on a bridge
[codex:1171619] abstract contract TokenSupport is OwnableUpgradeable {
[codex:1171619] 
[codex:1171619]     /// @notice Emitted when the vault of a token is updated
[codex:1171619]     /// @param token address of token
[codex:1171619]     /// @param oldVault address of old vault 
[codex:1171619]     /// @param newVault address of new vault
[codex:1171619]     event VaultUpdated(address token, address oldVault, address newVault);
[codex:1171619] 
[codex:1171619]     /// @notice Chain ID of the destination chain for token support
[codex:1171619]     uint256 public destChainId;
[codex:1171619] 
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Preparing for next pausable task**
[codex:1171619] exec
[codex:1171619] /bin/bash -lc "sed -n '3866,3907p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-nt9y47fv succeeded in 5ms:
[codex:1171619] FILE: contracts/contracts/common/Pausable.sol
[codex:1171619] ================================================================================
[codex:1171619] // SPDX-License-Identifier: UNLICENSED
[codex:1171619] pragma solidity ^0.8.19;
[codex:1171619] 
[codex:1171619] import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
[codex:1171619] import {PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol";
[codex:1171619] 
[codex:1171619] 
[codex:1171619] /**
[codex:1171619]  * @title Pausable
[codex:1171619]  * @dev Base contract which allows children to implement an emergency stop mechanism.
[codex:1171619]  */
[codex:1171619] abstract contract Pausable is PausableUpgradeable, OwnableUpgradeable {
[codex:1171619] 
[codex:1171619]   // function Pausable_init() public initializer {
[codex:1171619]   //   __Ownable_init_unchained();
[codex:1171619]   //   __Pausable_init_unchained();
[codex:1171619]   // }
[codex:1171619]   /**
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Reviewing interface components**
[codex:1171619] exec
[codex:1171619] /bin/bash -lc "sed -n '3908,4018p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-nt9y47fv succeeded in 5ms:
[codex:1171619] FILE: contracts/contracts/common/interface/bridge/IBridge.sol
[codex:1171619] ================================================================================
[codex:1171619] // SPDX-License-Identifier: UNLICENSED
[codex:1171619] pragma solidity ^0.8.19;
[codex:1171619] 
[codex:1171619] import {PacketLibrary} from  "../../libraries/PacketLibrary.sol";
[codex:1171619] 
[codex:1171619] /// @title IBridge
[codex:1171619] /// @dev Interface for the Bridge contract
[codex:1171619] interface IBridge {
[codex:1171619] 
[codex:1171619]     /// @notice Emitted when a packet is dispatched from the Bridge
[codex:1171619]     /// @param packet The dispatched packet
[codex:1171619]     event PacketDispatched(PacketLibrary.OutPacket packet, bytes data);
[codex:1171619] 
[codex:1171619]     /// @notice Emitted when a packet arrives at the Bridge
[codex:1171619]     /// @param packet The arrived packet
[codex:1171619]     event PacketArrived(PacketLibrary.InPacket packet);
[codex:1171619] 
[codex:1171619]     function isAttestor(address signer) external view returns (bool);
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Switching to PacketLibrary**
[codex:1171619] exec
[codex:1171619] /bin/bash -lc "sed -n '4019,4135p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-nt9y47fv succeeded in 5ms:
[codex:1171619] FILE: contracts/contracts/common/libraries/PacketLibrary.sol
[codex:1171619] ================================================================================
[codex:1171619] // SPDX-License-Identifier: UNLICENSED
[codex:1171619] pragma solidity ^0.8.19;
[codex:1171619] 
[codex:1171619] /// @title PacketLibrary
[codex:1171619] /// @dev A library for handling packet structures and hashing.
[codex:1171619] library PacketLibrary {
[codex:1171619] 
[codex:1171619]         /// @notice The version of the contract
[codex:1171619]     uint256 constant VERSION_PUBLIC_TRANSFER = 1;
[codex:1171619]     uint256 constant VERSION_PUBLIC_TRANSFER_RELAYER = 2;
[codex:1171619]     uint256 constant VERSION_PUBLIC_TRANSFER_PREDICATE = 3;
[codex:1171619]     uint256 constant VERSION_PUBLIC_TRANSFER_PREDICATE_RELAYER = 4;
[codex:1171619] 
[codex:1171619]     uint256 constant VERSION_PRIVATE_TRANSFER = 11;
[codex:1171619]     uint256 constant VERSION_PRIVATE_TRANSFER_RELAYER = 12;
[codex:1171619]     uint256 constant VERSION_PRIVATE_TRANSFER_PREDICATE = 13;
[codex:1171619]     uint256 constant VERSION_PRIVATE_TRANSFER_PREDICATE_RELAYER = 14;
[codex:1171619] 
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Advancing to next item**
[codex:1171619] exec
[codex:1171619] /bin/bash -lc "sed -n '4136,4304p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-nt9y47fv succeeded in 5ms:
[codex:1171619] FILE: contracts/contracts/main/Holding.sol
[codex:1171619] ================================================================================
[codex:1171619] // SPDX-License-Identifier: UNLICENSED
[codex:1171619] pragma solidity ^0.8.19;
[codex:1171619] 
[codex:1171619] import {IIERC20} from "../common/interface/tokenservice/IIERC20.sol";
[codex:1171619] import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
[codex:1171619] import {Pausable} from "../common/Pausable.sol";
[codex:1171619] import {ReentrancyGuardUpgradeable} from "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol";
[codex:1171619] import {Upgradeable} from "@thirdweb-dev/contracts/extension/Upgradeable.sol";
[codex:1171619] import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1171619] 
[codex:1171619] /// @title A contract that implements OwnableUpgradeable, ReentrancyGuardUpgradeable, Pausable, Initializable and Upgradeable Contracts for Holding token 
[codex:1171619] contract Holding is OwnableUpgradeable, Pausable, ReentrancyGuardUpgradeable, Upgradeable {
[codex:1171619] 
[codex:1171619]     using SafeERC20 for IIERC20;
[codex:1171619] 
[codex:1171619]     /// @notice Event triggered when tokens are locked
[codex:1171619]     /// @param account The address of the account whose tokens are locked
[codex:1171619]     /// @param token The address of token which is locked
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Moving on to FeeCollector**
[codex:1171619] exec
[codex:1171619] /bin/bash -lc "sed -n '4305,4420p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-nt9y47fv succeeded in 6ms:
[codex:1171619] FILE: contracts/contracts/main/tokenservice/FeeCollector.sol
[codex:1171619] ================================================================================
[codex:1171619] // SPDX-License-Identifier: UNLICENSED
[codex:1171619] pragma solidity ^0.8.19;
[codex:1171619] 
[codex:1171619] import {AccessControlUpgradeable} from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";
[codex:1171619] import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
[codex:1171619] import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1171619] 
[codex:1171619] import {IIERC20} from "../../common/interface/tokenservice/IIERC20.sol";
[codex:1171619] import {PacketLibrary} from "../../common/libraries/PacketLibrary.sol";
[codex:1171619] 
[codex:1171619] /// @title FeeCollector Contract
[codex:1171619] /// @dev Handles platform and executor fees logic with transparent upgrade capability
[codex:1171619] contract FeeCollector is Initializable, AccessControlUpgradeable {
[codex:1171619]     using SafeERC20 for IIERC20;
[codex:1171619] 
[codex:1171619]     bytes32 public constant TOKEN_SERVICE_ROLE = keccak256("TOKEN_SERVICE_ROLE");
[codex:1171619]     
[codex:1171619]     // Storage variables
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Starting on TokenService**
[codex:1171619] exec
[codex:1171619] /bin/bash -lc "sed -n '4421,4571p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-nt9y47fv succeeded in 5ms:
[codex:1171619] FILE: contracts/contracts/main/tokenservice/TokenService.sol
[codex:1171619] ================================================================================
[codex:1171619] // SPDX-License-Identifier: UNLICENSED
[codex:1171619] pragma solidity ^0.8.19;
[codex:1171619] 
[codex:1171619] import {IBridge} from "../../common/interface/bridge/IBridge.sol";
[codex:1171619] import {IBlackListService} from "../../common/interface/tokenservice/IBlackListService.sol";
[codex:1171619] import {IIERC20} from "../../common/interface/tokenservice/IIERC20.sol";
[codex:1171619] import {PacketLibrary} from "../../common/libraries/PacketLibrary.sol";
[codex:1171619] import {Pausable} from "../../common/Pausable.sol";
[codex:1171619] import {TokenSupport} from "../../base/tokenservice/TokenSupport.sol";
[codex:1171619] import {Holding} from "../Holding.sol";
[codex:1171619] import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
[codex:1171619] import {ReentrancyGuardUpgradeable} from "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol";
[codex:1171619] import {Upgradeable} from "@thirdweb-dev/contracts/extension/Upgradeable.sol";
[codex:1171619] import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1171619] 
[codex:1171619] /// @title TokenService Contract
[codex:1171619] /// @dev This contract implements OwnableUpgradeable, Pausable, TokenSupport, ReentrancyGuardUpgradeable, and Upgradeable contracts.
[codex:1171619] contract TokenService is
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Preparing to extract specific service sections**
[codex:1171619] exec
[codex:1171619] /bin/bash -lc "sed -n '4572,4950p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-nt9y47fv succeeded in 5ms:
[codex:1171619] FILE: contracts/contracts/main/tokenservice/TokenServiceV2.sol
[codex:1171619] ================================================================================
[codex:1171619] // SPDX-License-Identifier: UNLICENSED
[codex:1171619] pragma solidity ^0.8.19;
[codex:1171619] 
[codex:1171619] import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1171619] import {IIERC20} from "../../common/interface/tokenservice/IIERC20.sol";
[codex:1171619] import {TokenService} from "../../main/tokenservice/TokenService.sol";
[codex:1171619] import {PredicateMessage} from "@predicate/contracts/src/interfaces/IPredicateClient.sol";
[codex:1171619] import {PredicateService} from "../../main/tokenservice/predicate/PredicateService.sol";
[codex:1171619] 
[codex:1171619] /// @title TokenServiceV2 Contract
[codex:1171619] /// @dev Inherits TokenService and PredicateService for predicate-based authorization
[codex:1171619] contract TokenServiceV2 is TokenService {
[codex:1171619]     using SafeERC20 for IIERC20;
[codex:1171619] 
[codex:1171619]     /// @notice Sets the VerulinkPredicate contract for predicate-based authorization, callable by owner only
[codex:1171619]     /// @param _predicateservice Address of the VerulinkPredicate contract
[codex:1171619]     function setPredicateService(
[codex:1171619]         PredicateService _predicateservice
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Reading PredicateService section**
[codex:1171619] exec
[codex:1171619] /bin/bash -lc "sed -n '4950,5032p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-nt9y47fv succeeded in 5ms:
[codex:1171619] FILE: contracts/contracts/main/tokenservice/predicate/PredicateService.sol
[codex:1171619] ================================================================================
[codex:1171619] // SPDX-License-Identifier: UNLICENSED
[codex:1171619] pragma solidity ^0.8.19;
[codex:1171619] 
[codex:1171619] import {PredicateClient} from "@predicate/contracts/src/mixins/PredicateClient.sol";
[codex:1171619] import {PredicateMessage} from "@predicate/contracts/src/interfaces/IPredicateClient.sol";
[codex:1171619] import {IPredicateManager} from "@predicate/contracts/src/interfaces/IPredicateManager.sol";
[codex:1171619] import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol";
[codex:1171619] 
[codex:1171619] /// @title PredicateService
[codex:1171619] /// @notice A contract for predicate-based authorization
[codex:1171619] /// @dev Inherits PredicateClient and provides verification functions for secure transactions.
[codex:1171619] contract PredicateService is PredicateClient, AccessControl {
[codex:1171619] 
[codex:1171619]     bytes32 public constant SERVICE_ROLE =
[codex:1171619]         0xd8a7a79547af723ee3e12b59a480111268d8969c634e1a34a144d2c8b91d635b;
[codex:1171619] 
[codex:1171619]     /// @notice Constructor sets the deployer as the DEFAULT_ADMIN_ROLE and assigns SERVICE_ROLE
[codex:1171619]     constructor(address _serviceManagerAddress, string memory _policyID) {
[codex:1171619] 
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Reviewing detailed contract audit findings**
[codex:1171619] 
[codex:1171619] I've carefully analyzed the audit bundle's first-party segments and key contracts like TokenServiceV3, Holding, and FeeCollector, focusing on common vulnerabilities such as reentrancy, access control, and upgradeability. There are nuanced issues like misordered storage gaps risking upgrade safety, potential feeCollector misconfigurations causing reverts, and a significant concern around PacketLibrary’s use of abi.encodePacked with dynamic strings that could enable hash collisions affecting signature validation. These findings reflect a deep dive into contract behaviors, constraints, and possible attack vectors.
[codex:1171619] thinking
[codex:1171619] **Analyzing packet hashing and contract call integrity**
[codex:1171619] 
[codex:1171619] I'm examining the PacketLibrary.hash function’s risk from using abi.encodePacked with multiple strings, which could allow collisions and signature forgery. I’m also reviewing how TokenServiceV3 coordinates ETH token handling, predicate service calls, and external calls to Holding and FeeCollector, checking access controls and reentrancy protections. Several configurations might cause call failures or Denial-of-Service but mostly relate to setup rather than code vulnerabilities. The interplay of role permissions and contract interactions is crucial to ensure seamless operation without unintended reverts.
[codex:1171619] exec
[codex:1171619] /bin/bash -lc "rg \"PacketLibrary\\.hash\" -n contracts" in /tmp/codex-multi-nt9y47fv exited 1 in 10ms:
[codex:1171619] 
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Evaluating potential vulnerabilities in TokenServiceV3 and PacketLibrary**
[codex:1171619] exec
[codex:1171619] /bin/bash -lc 'nl -ba contracts/contracts/common/libraries/PacketLibrary.sol' in /tmp/codex-multi-nt9y47fv succeeded in 25ms:
[codex:1171619]      1	// SPDX-License-Identifier: UNLICENSED
[codex:1171619]      2	pragma solidity ^0.8.19;
[codex:1171619]      3	
[codex:1171619]      4	/// @title PacketLibrary
[codex:1171619]      5	/// @dev A library for handling packet structures and hashing.
[codex:1171619]      6	library PacketLibrary {
[codex:1171619]      7	
[codex:1171619]      8	        /// @notice The version of the contract
[codex:1171619]      9	    uint256 constant VERSION_PUBLIC_TRANSFER = 1;
[codex:1171619]     10	    uint256 constant VERSION_PUBLIC_TRANSFER_RELAYER = 2;
[codex:1171619]     11	    uint256 constant VERSION_PUBLIC_TRANSFER_PREDICATE = 3;
[codex:1171619]     12	    uint256 constant VERSION_PUBLIC_TRANSFER_PREDICATE_RELAYER = 4;
[codex:1171619]     13	
[codex:1171619]     14	    uint256 constant VERSION_PRIVATE_TRANSFER = 11;
[codex:1171619]     15	    uint256 constant VERSION_PRIVATE_TRANSFER_RELAYER = 12;
[codex:1171619]     16	    uint256 constant VERSION_PRIVATE_TRANSFER_PREDICATE = 13;
[codex:1171619]     17	    uint256 constant VERSION_PRIVATE_TRANSFER_PREDICATE_RELAYER = 14;
[codex:1171619]     18	
[codex:1171619]     19	
[codex:1171619]     20	
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Checking for hash collision and upgradeability issues**
[codex:1171619] exec
[codex:1171619] /bin/bash -lc 'nl -ba contracts/contracts/main/tokenservice/TokenServiceV2.sol' in /tmp/codex-multi-nt9y47fv succeeded in 6ms:
[codex:1171619]      1	// SPDX-License-Identifier: UNLICENSED
[codex:1171619]      2	pragma solidity ^0.8.19;
[codex:1171619]      3	
[codex:1171619]      4	import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1171619]      5	import {IIERC20} from "../../common/interface/tokenservice/IIERC20.sol";
[codex:1171619]      6	import {TokenService} from "../../main/tokenservice/TokenService.sol";
[codex:1171619]      7	import {PredicateMessage} from "@predicate/contracts/src/interfaces/IPredicateClient.sol";
[codex:1171619]      8	import {PredicateService} from "../../main/tokenservice/predicate/PredicateService.sol";
[codex:1171619]      9	
[codex:1171619]     10	/// @title TokenServiceV2 Contract
[codex:1171619]     11	/// @dev Inherits TokenService and PredicateService for predicate-based authorization
[codex:1171619]     12	contract TokenServiceV2 is TokenService {
[codex:1171619]     13	    using SafeERC20 for IIERC20;
[codex:1171619]     14	
[codex:1171619]     15	    /// @notice Sets the VerulinkPredicate contract for predicate-based authorization, callable by owner only
[codex:1171619]     16	    /// @param _predicateservice Address of the VerulinkPredicate contract
[codex:1171619]     17	    function setPredicateService(
[codex:1171619]     18	        PredicateService _predicateservice
[codex:1171619]     19	    ) external virtual onlyOwner {
[codex:1171619]     20	        predicateservice = _predicateservice;
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Analyzing potential security concerns in services**
[codex:1171619] exec
[codex:1171619] /bin/bash -lc "sed -n '2943,3050p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-nt9y47fv succeeded in 7ms:
[codex:1171619] FILE: contracts/@predicate/contracts/src/mixins/PredicateClient.sol
[codex:1171619] ================================================================================
[codex:1171619] // SPDX-License-Identifier: MIT
[codex:1171619] 
[codex:1171619] pragma solidity ^0.8.12;
[codex:1171619] 
[codex:1171619] import {IPredicateManager, Task} from "../interfaces/IPredicateManager.sol";
[codex:1171619] import "../interfaces/IPredicateClient.sol";
[codex:1171619] 
[codex:1171619] abstract contract PredicateClient is IPredicateClient {
[codex:1171619]     // @notice the storage slot for the PredicateClientStorage struct
[codex:1171619]     // @dev keccak256(abi.encode(uint256(keccak256("predicate.storage.PredicateClient")) - 1)) & ~bytes32(uint256(0xff))
[codex:1171619]     bytes32 private constant _PREDICATE_CLIENT_STORAGE_SLOT =
[codex:1171619]         0x804776a84f3d03ad8442127b1451e2fbbb6a715c681d6a83c9e9fca787b99300;
[codex:1171619] 
[codex:1171619]     // @notice retrieves the PredicateClientStorage struct from the configured storage slot
[codex:1171619]     function _getPredicateClientStorage() private pure returns (PredicateClientStorage storage $) {
[codex:1171619]         assembly {
[codex:1171619]             $.slot := _PREDICATE_CLIENT_STORAGE_SLOT
[codex:1171619]         }
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Analyzing potential vulnerabilities and signature issues**
[codex:1171619] 
[codex:1171619] I’m examining how PredicateService validates signatures, especially how encoded signatures might omit parameters like version and data, potentially allowing replay attacks with modified relay data. I’m also looking at various access controls, upgradeability concerns, and subtle logic flaws throughout TokenServiceV3 and related contracts to identify any exploitable security gaps or upgrade risks.
[codex:1171619] exec
[codex:1171619] /bin/bash -lc 'rg "delegatecall" -n contracts/contracts' in /tmp/codex-multi-nt9y47fv exited 1 in 9ms:
[codex:1171619] 
[codex:1171619] 
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Analyzing potential vulnerabilities in token service contracts**
[codex:1171619] thinking
[codex:1171619] **Evaluating release function and access control nuances**
[codex:1171619] exec
[codex:1171619] /bin/bash -lc "rg \"consume\\(\" -n contracts" in /tmp/codex-multi-nt9y47fv succeeded in 10ms:
[codex:1171619] contracts/contracts/common/interface/bridge/IBridge.sol:25:    function consume(PacketLibrary.InPacket memory packet, bytes memory signatures) external returns (PacketLibrary.Vote);
[codex:1171619] contracts/contracts/main/tokenservice/TokenServiceV3.sol:288:        PacketLibrary.Vote quorum = erc20Bridge.consume(packet, signatures);
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Analyzing security and upgradeability findings**
[codex:1171619] 
[codex:1171619] I'm reviewing potential risks including a hash collision vulnerability in PacketLibrary that could compromise signature validation, a misplacement of storage gap in TokenServiceV2 affecting upgrade safety, and an accounting flaw in TokenServiceV3 that mishandles fee-on-transfer tokens potentially leading to liquidity drain on bridging. I'll categorize each finding, draft exploit scenarios, and recommend safer coding and upgrade patterns with precise evidence from the codebase.
[codex:1171619] exec
[codex:1171619] /bin/bash -lc "nl -ba contracts/contracts/main/tokenservice/TokenServiceV3.sol | sed -n '150,260p'" in /tmp/codex-multi-nt9y47fv succeeded in 6ms:
[codex:1171619]    150	        _transfer(receiver, version, data);
[codex:1171619]    151	    }
[codex:1171619]    152	
[codex:1171619]    153	    /// @notice Transfers ERC20 tokens with predicate authorization
[codex:1171619]    154	    /// @param tokenAddress The address of the ERC20 token
[codex:1171619]    155	    /// @param amount Amount of tokens to be transferred
[codex:1171619]    156	    /// @param receiver The intended receiver of the transferred tokens
[codex:1171619]    157	    /// @param predicateMessage Predicate authorization message
[codex:1171619]    158	    function transfer(
[codex:1171619]    159	        address tokenAddress,
[codex:1171619]    160	        uint256 amount,
[codex:1171619]    161	        string calldata receiver,
[codex:1171619]    162	        PredicateMessage calldata predicateMessage,
[codex:1171619]    163	        bool isRelayerOn,
[codex:1171619]    164	        bytes calldata data
[codex:1171619]    165	    ) external virtual whenNotPaused nonReentrant {
[codex:1171619]    166	        require(predicateservice.handleMessage(
[codex:1171619]    167	            tokenAddress,
[codex:1171619]    168	            amount,
[codex:1171619]    169	            receiver,
[codex:1171619] 
[codex:1171619] thinking
[codex:1171619] **Creating detailed JSON findings report**
[codex:1171619] 
[codex:1171619] I'm working through crafting a structured JSON report capturing three key issues found: a high-severity signature hash collision risk, a medium-severity fee-on-transfer token accounting gap, and a low-severity upgradeability storage gap. I want to clearly state severity, category, exploit scenarios, recommendations, and evidence with paths and line numbers, ensuring all JSON is valid and concise.
[codex:1171619] codex
[codex:1171619] {"no_findings":false,"summary":"Found three issues: collision-prone packet hashing, fee-on-transfer token accounting mismatch, and a misordered storage gap in TokenServiceV2.","findings":[{"severity":"high","category":"auth","title":"Packet hashing uses abi.encodePacked with dynamic strings (collision-prone)","exploit_scenario":"If attestors/bridge signatures are produced over PacketLibrary.hash, an attacker can craft two different packets with colliding packed encodings (e.g., varying string fields like sourceTokenService.addr or senderAddress) and reuse valid signatures to authorize a different packet, potentially redirecting withdrawals or altering packet fields without new signatures.","recommendation":"Hash packets with length‑delimited encoding (e.g., keccak256(abi.encode(...))) or hash each dynamic field separately (keccak256(bytes(str))) and include those hashes in the final digest. Consider EIP-712 typed data for signature binding.","evidence":"PacketLibrary.hash uses keccak256(abi.encodePacked(...)) including multiple string fields.","locations":["contracts/contracts/common/libraries/PacketLibrary.sol:79","contracts/contracts/common/libraries/PacketLibrary.sol:98"]},{"severity":"medium","category":"other","title":"Fee-on-transfer tokens break escrow accounting and can undercollateralize the bridge","exploit_scenario":"If a supported token charges transfer fees, TokenServiceV3 sends a packet for amountToTransfer but receives fewer tokens than amountToTransfer. The attacker can repeatedly bridge such a token to receive the full amount on the destination chain while the source chain escrow accrues a deficit, eventually preventing withdrawals or draining pooled liquidity.","recommendation":"Explicitly disallow fee-on-transfer/deflationary tokens or compute the net received amount via balance‑before/balance‑after and use that for packet amounts and fee calculations.","evidence":"_handleFees computes amountToTransfer from the requested amount, and _transfer sends a packet for amountToTransfer without verifying actual tokens received.","locations":["contracts/contracts/main/tokenservice/TokenServiceV3.sol:186","contracts/contracts/main/tokenservice/TokenServiceV3.sol:250","contracts/contracts/main/tokenservice/TokenServiceV3.sol:258"]},{"severity":"low","category":"upgradeability","title":"Storage gap placed before new variables in TokenServiceV2","exploit_scenario":"Future upgrades that attempt to use the storage gap for new variables may overwrite the existing TokenServiceV2 state (predicateservice/whitelist), corrupting storage and potentially breaking access control or transfer logic after an upgrade.","recommendation":"In the next upgrade, append a new storage gap after the current variables and leave the existing gap unused. Avoid inserting new variables before the current end-of-storage layout.","evidence":"TokenServiceV2 declares __gap before new state variables.","locations":["contracts/contracts/main/tokenservice/TokenServiceV2.sol:45","contracts/contracts/main/tokenservice/TokenServiceV2.sol:47"]}]}
[codex:1171619] tokens used
[codex:1171619] 74,611
[codex:1171619] {"no_findings":false,"summary":"Found three issues: collision-prone packet hashing, fee-on-transfer token accounting mismatch, and a misordered storage gap in TokenServiceV2.","findings":[{"severity":"high","category":"auth","title":"Packet hashing uses abi.encodePacked with dynamic strings (collision-prone)","exploit_scenario":"If attestors/bridge signatures are produced over PacketLibrary.hash, an attacker can craft two different packets with colliding packed encodings (e.g., varying string fields like sourceTokenService.addr or senderAddress) and reuse valid signatures to authorize a different packet, potentially redirecting withdrawals or altering packet fields without new signatures.","recommendation":"Hash packets with length‑delimited encoding (e.g., keccak256(abi.encode(...))) or hash each dynamic field separately (keccak256(bytes(str))) and include those hashes in the final digest. Consider EIP-712 typed data for signature binding.","evidence":"PacketLibrary.hash uses keccak256(abi.encodePacked(...)) including multiple string fields.","locations":["contracts/contracts/common/libraries/PacketLibrary.sol:79","contracts/contracts/common/libraries/PacketLibrary.sol:98"]},{"severity":"medium","category":"other","title":"Fee-on-transfer tokens break escrow accounting and can undercollateralize the bridge","exploit_scenario":"If a supported token charges transfer fees, TokenServiceV3 sends a packet for amountToTransfer but receives fewer tokens than amountToTransfer. The attacker can repeatedly bridge such a token to receive the full amount on the destination chain while the source chain escrow accrues a deficit, eventually preventing withdrawals or draining pooled liquidity.","recommendation":"Explicitly disallow fee-on-transfer/deflationary tokens or compute the net received amount via balance‑before/balance‑after and use that for packet amounts and fee calculations.","evidence":"_handleFees computes amountToTransfer from the requested amount, and _transfer sends a packet for amountToTransfer without verifying actual tokens received.","locations":["contracts/contracts/main/tokenservice/TokenServiceV3.sol:186","contracts/contracts/main/tokenservice/TokenServiceV3.sol:250","contracts/contracts/main/tokenservice/TokenServiceV3.sol:258"]},{"severity":"low","category":"upgradeability","title":"Storage gap placed before new variables in TokenServiceV2","exploit_scenario":"Future upgrades that attempt to use the storage gap for new variables may overwrite the existing TokenServiceV2 state (predicateservice/whitelist), corrupting storage and potentially breaking access control or transfer logic after an upgrade.","recommendation":"In the next upgrade, append a new storage gap after the current variables and leave the existing gap unused. Avoid inserting new variables before the current end-of-storage layout.","evidence":"TokenServiceV2 declares __gap before new state variables.","locations":["contracts/contracts/main/tokenservice/TokenServiceV2.sol:45","contracts/contracts/main/tokenservice/TokenServiceV2.sol:47"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-29T02:46:44.115944+00:00",
        "returncode": 0
    },
    "summary": "Found three issues: collision-prone packet hashing, fee-on-transfer token accounting mismatch, and a misordered storage gap in TokenServiceV2.",
    "raw_final": {
        "summary": "Found three issues: collision-prone packet hashing, fee-on-transfer token accounting mismatch, and a misordered storage gap in TokenServiceV2.",
        "findings": [
            {
                "title": "Packet hashing uses abi.encodePacked with dynamic strings (collision-prone)",
                "category": "auth",
                "evidence": "PacketLibrary.hash uses keccak256(abi.encodePacked(...)) including multiple string fields.",
                "severity": "high",
                "locations": [
                    "contracts/contracts/common/libraries/PacketLibrary.sol:79",
                    "contracts/contracts/common/libraries/PacketLibrary.sol:98"
                ],
                "recommendation": "Hash packets with length\u2011delimited encoding (e.g., keccak256(abi.encode(...))) or hash each dynamic field separately (keccak256(bytes(str))) and include those hashes in the final digest. Consider EIP-712 typed data for signature binding.",
                "exploit_scenario": "If attestors/bridge signatures are produced over PacketLibrary.hash, an attacker can craft two different packets with colliding packed encodings (e.g., varying string fields like sourceTokenService.addr or senderAddress) and reuse valid signatures to authorize a different packet, potentially redirecting withdrawals or altering packet fields without new signatures."
            },
            {
                "title": "Fee-on-transfer tokens break escrow accounting and can undercollateralize the bridge",
                "category": "other",
                "evidence": "_handleFees computes amountToTransfer from the requested amount, and _transfer sends a packet for amountToTransfer without verifying actual tokens received.",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/main/tokenservice/TokenServiceV3.sol:186",
                    "contracts/contracts/main/tokenservice/TokenServiceV3.sol:250",
                    "contracts/contracts/main/tokenservice/TokenServiceV3.sol:258"
                ],
                "recommendation": "Explicitly disallow fee-on-transfer/deflationary tokens or compute the net received amount via balance\u2011before/balance\u2011after and use that for packet amounts and fee calculations.",
                "exploit_scenario": "If a supported token charges transfer fees, TokenServiceV3 sends a packet for amountToTransfer but receives fewer tokens than amountToTransfer. The attacker can repeatedly bridge such a token to receive the full amount on the destination chain while the source chain escrow accrues a deficit, eventually preventing withdrawals or draining pooled liquidity."
            },
            {
                "title": "Storage gap placed before new variables in TokenServiceV2",
                "category": "upgradeability",
                "evidence": "TokenServiceV2 declares __gap before new state variables.",
                "severity": "low",
                "locations": [
                    "contracts/contracts/main/tokenservice/TokenServiceV2.sol:45",
                    "contracts/contracts/main/tokenservice/TokenServiceV2.sol:47"
                ],
                "recommendation": "In the next upgrade, append a new storage gap after the current variables and leave the existing gap unused. Avoid inserting new variables before the current end-of-storage layout.",
                "exploit_scenario": "Future upgrades that attempt to use the storage gap for new variables may overwrite the existing TokenServiceV2 state (predicateservice/whitelist), corrupting storage and potentially breaking access control or transfer logic after an upgrade."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
20
EXT*/BALANCE
9
Total opcodes
13874
Flags
delegatecall_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 0x02c6
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x7104ddb2
00000019: GT
0000001a: PUSH2 0x017f
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xa42dce80
00000024: GT
00000025: PUSH2 0x00e1
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xd451c20a
0000002f: GT
00000030: PUSH2 0x008a
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xf2fde38b
0000003a: GT
0000003b: PUSH2 0x0064
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf2fde38b
00000045: EQ
00000046: PUSH2 0x0891
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xfbc9a662
00000050: EQ
00000051: PUSH2 0x08b1
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xff8b1f8d
0000005b: EQ
0000005c: PUSH2 0x08d1
0000005f: JUMPI
00000060: PUSH1 0x00
00000062: DUP1
00000063: REVERT
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0xd451c20a
0000006b: EQ
0000006c: PUSH2 0x082f
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xdcbeeb23
00000076: EQ
00000077: PUSH2 0x0851
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xe6c09edf
00000081: EQ
00000082: PUSH2 0x0871
00000085: JUMPI
00000086: PUSH1 0x00
00000088: DUP1
00000089: REVERT
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0xc354c62f
00000091: GT
00000092: PUSH2 0x00bb
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0xc354c62f
0000009c: EQ
0000009d: PUSH2 0x07d8
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xc415b95c
000000a7: EQ
000000a8: PUSH2 0x07f8
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xc4af1c0b
000000b2: EQ
000000b3: PUSH2 0x0819
000000b6: JUMPI
000000b7: PUSH1 0x00
000000b9: DUP1
000000ba: REVERT
000000bb: JUMPDEST
000000bc: DUP1
000000bd: PUSH4 0xa42dce80
000000c2: EQ
000000c3: PUSH2 0x0778
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0xa4c36e62
000000cd: EQ
000000ce: PUSH2 0x0798
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0xb7ecbaae
000000d8: EQ
000000d9: PUSH2 0x07b8
000000dc: JUMPI
000000dd: PUSH1 0x00
000000df: DUP1
000000e0: REVERT
000000e1: JUMPDEST
000000e2: DUP1
000000e3: PUSH4 0x89a71faa
000000e8: GT
000000e9: PUSH2 0x0143
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0x94a7ef15
000000f3: GT
000000f4: PUSH2 0x011d
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0x94a7ef15
000000fe: EQ
000000ff: PUSH2 0x0725
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0x9936077e
00000109: EQ
0000010a: PUSH2 0x0745
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x9f650297
00000114: EQ
00000115: PUSH2 0x0765
00000118: JUMPI
00000119: PUSH1 0x00
0000011b: DUP1
0000011c: REVERT
0000011d: JUMPDEST
0000011e: DUP1
0000011f: PUSH4 0x89a71faa
00000124: EQ
00000125: PUSH2 0x06b1
00000128: JUMPI
00000129: DUP1
0000012a: PUSH4 0x8c96ed4e
0000012f: EQ
00000130: PUSH2 0x06d1
00000133: JUMPI
00000134: DUP1
00000135: PUSH4 0x8da5cb5b
0000013a: EQ
0000013b: PUSH2 0x06ff
0000013e: JUMPI
0000013f: PUSH1 0x00
00000141: DUP1
00000142: REVERT
00000143: JUMPDEST
00000144: DUP1
00000145: PUSH4 0x7104ddb2
0000014a: EQ
0000014b: PUSH2 0x0613
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0x715018a6
00000155: EQ
00000156: PUSH2 0x0647
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0x7ed84e35
00000160: EQ
00000161: PUSH2 0x065c
00000164: JUMPI
00000165: DUP1
00000166: PUSH4 0x8456cb59
0000016b: EQ
0000016c: PUSH2 0x067c
0000016f: JUMPI
00000170: DUP1
00000171: PUSH4 0x87a3ecd7
00000176: EQ
00000177: PUSH2 0x0691
0000017a: JUMPI
0000017b: PUSH1 0x00
0000017d: DUP1
0000017e: REVERT
0000017f: JUMPDEST
00000180: DUP1
00000181: PUSH4 0x4a172c38
00000186: GT
00000187: PUSH2 0x0228
0000018a: JUMPI
0000018b: DUP1
0000018c: PUSH4 0x5c975abb
00000191: GT
00000192: PUSH2 0x01ec
00000195: JUMPI
00000196: DUP1
00000197: PUSH4 0x63bbc87b
0000019c: GT
0000019d: PUSH2 0x01c6
000001a0: JUMPI
000001a1: DUP1
000001a2: PUSH4 0x63bbc87b
000001a7: EQ
000001a8: PUSH2 0x05ad
000001ab: JUMPI
000001ac: DUP1
000001ad: PUSH4 0x68c4ac26
000001b2: EQ
000001b3: PUSH2 0x05cd
000001b6: JUMPI
000001b7: DUP1
000001b8: PUSH4 0x6f531555
000001bd: EQ
000001be: PUSH2 0x0600
000001c1: JUMPI
000001c2: PUSH1 0x00
000001c4: DUP1
000001c5: REVERT
000001c6: JUMPDEST
000001c7: DUP1
000001c8: PUSH4 0x5c975abb
000001cd: EQ
000001ce: PUSH2 0x0562
000001d1: JUMPI
000001d2: DUP1
000001d3: PUSH4 0x5fa7b584
000001d8: EQ
000001d9: PUSH2 0x057a
000001dc: JUMPI
000001dd: DUP1
000001de: PUSH4 0x5ff0586a
000001e3: EQ
000001e4: PUSH2 0x059a
000001e7: JUMPI
000001e8: PUSH1 0x00
000001ea: DUP1
000001eb: REVERT
000001ec: JUMPDEST
000001ed: DUP1
000001ee: PUSH4 0x4a172c38
000001f3: EQ
000001f4: PUSH2 0x04da
000001f7: JUMPI
000001f8: DUP1
000001f9: PUSH4 0x4f1ef286
000001fe: EQ
000001ff: PUSH2 0x04fa
00000202: JUMPI
00000203: DUP1
00000204: PUSH4 0x52d1902d
00000209: EQ
0000020a: PUSH2 0x050d
0000020d: JUMPI
0000020e: DUP1
0000020f: PUSH4 0x55b53413
00000214: EQ
00000215: PUSH2 0x0522
00000218: JUMPI
00000219: DUP1
0000021a: PUSH4 0x5bfa1b68
0000021f: EQ
00000220: PUSH2 0x0542
00000223: JUMPI
00000224: PUSH1 0x00
00000226: DUP1
00000227: REVERT
00000228: JUMPDEST
00000229: DUP1
0000022a: PUSH4 0x20bb0976
0000022f: GT
00000230: PUSH2 0x028a
00000233: JUMPI
00000234: DUP1
00000235: PUSH4 0x3659cfe6
0000023a: GT
0000023b: PUSH2 0x0264
0000023e: JUMPI
0000023f: DUP1
00000240: PUSH4 0x3659cfe6
00000245: EQ
00000246: PUSH2 0x0485
00000249: JUMPI
0000024a: DUP1
0000024b: PUSH4 0x3f4ba83a
00000250: EQ
00000251: PUSH2 0x04a5
00000254: JUMPI
00000255: DUP1
00000256: PUSH4 0x473b7263
0000025b: EQ
0000025c: PUSH2 0x04ba
0000025f: JUMPI
00000260: PUSH1 0x00
00000262: DUP1
00000263: REVERT
00000264: JUMPDEST
00000265: DUP1
00000266: PUSH4 0x20bb0976
0000026b: EQ
0000026c: PUSH2 0x0411
0000026f: JUMPI
00000270: DUP1
00000271: PUSH4 0x240028e8
00000276: EQ
00000277: PUSH2 0x0431
0000027a: JUMPI
0000027b: DUP1
0000027c: PUSH4 0x30fa738c
00000281: EQ
00000282: PUSH2 0x0451
00000285: JUMPI
00000286: PUSH1 0x00
00000288: DUP1
00000289: REVERT
0000028a: JUMPDEST
0000028b: DUP1
0000028c: PUSH4 0x0e687a68
00000291: EQ
00000292: PUSH2 0x0320
00000295: JUMPI
00000296: DUP1
00000297: PUSH4 0x1b451d28
0000029c: EQ
0000029d: PUSH2 0x0333
000002a0: JUMPI
000002a1: DUP1
000002a2: PUSH4 0x1b9e2fad
000002a7: EQ
000002a8: PUSH2 0x0353
000002ab: JUMPI
000002ac: DUP1
000002ad: PUSH4 0x1beb1ab8
000002b2: EQ
000002b3: PUSH2 0x039a
000002b6: JUMPI
000002b7: DUP1
000002b8: PUSH4 0x1cead9a7
000002bd: EQ
000002be: PUSH2 0x03d6
000002c1: JUMPI
000002c2: PUSH1 0x00
000002c4: DUP1
000002c5: REVERT
000002c6: JUMPDEST
000002c7: CALLDATASIZE
000002c8: PUSH2 0x031b
000002cb: JUMPI
000002cc: CALLER
000002cd: PUSH1 0x00
000002cf: SWAP1
000002d0: DUP2
000002d1: MSTORE
000002d2: PUSH2 0x0195
000002d5: PUSH1 0x20
000002d7: MSTORE
000002d8: PUSH1 0x40
000002da: SWAP1
000002db: KECCAK256
000002dc: SLOAD
000002dd: PUSH1 0xff
000002df: AND
000002e0: DUP1
000002e1: PUSH2 0x02f4
000002e4: JUMPI
000002e5: POP
000002e6: PUSH1 0x65
000002e8: SLOAD
000002e9: PUSH1 0x01
000002eb: PUSH1 0x01
000002ed: PUSH1 0xa0
000002ef: SHL
000002f0: SUB
000002f1: AND
000002f2: CALLER
000002f3: EQ
000002f4: JUMPDEST
000002f5: PUSH2 0x0319
000002f8: JUMPI
000002f9: PUSH1 0x40
000002fb: MLOAD
000002fc: PUSH3 0x461bcd
00000300: PUSH1 0xe5
00000302: SHL
00000303: DUP2
00000304: MSTORE
00000305: PUSH1 0x04
00000307: ADD
00000308: PUSH2 0x0310
0000030b: SWAP1
0000030c: PUSH2 0x3610
0000030f: JUMP
00000310: JUMPDEST
00000311: PUSH1 0x40
00000313: MLOAD
00000314: DUP1
00000315: SWAP2
00000316: SUB
00000317: SWAP1
00000318: REVERT
00000319: JUMPDEST
0000031a: STOP
0000031b: JUMPDEST
0000031c: PUSH1 0x00
0000031e: DUP1
0000031f: REVERT
00000320: JUMPDEST
00000321: PUSH2 0x0319
00000324: PUSH2 0x032e
00000327: CALLDATASIZE
00000328: PUSH1 0x04
0000032a: PUSH2 0x36a6
0000032d: JUMP
0000032e: JUMPDEST
0000032f: PUSH2 0x08f1
00000332: JUMP
00000333: JUMPDEST
00000334: CALLVALUE
00000335: DUP1
00000336: ISZERO
00000337: PUSH2 0x033f
0000033a: JUMPI
0000033b: PUSH1 0x00
0000033d: DUP1
0000033e: REVERT
0000033f: JUMPDEST
00000340: POP
00000341: PUSH2 0x0319
00000344: PUSH2 0x034e
00000347: CALLDATASIZE
00000348: PUSH1 0x04
0000034a: PUSH2 0x3784
0000034d: JUMP
0000034e: JUMPDEST
0000034f: PUSH2 0x0a34
00000352: JUMP
00000353: JUMPDEST
00000354: CALLVALUE
00000355: DUP1
00000356: ISZERO
00000357: PUSH2 0x035f
0000035a: JUMPI
0000035b: PUSH1 0x00
0000035d: DUP1
0000035e: REVERT
0000035f: JUMPDEST
00000360: POP
00000361: PUSH2 0x0384
00000364: PUSH2 0x036e
00000367: CALLDATASIZE
00000368: PUSH1 0x04
0000036a: PUSH2 0x37c1
0000036d: JUMP
0000036e: JUMPDEST
0000036f: PUSH2 0x0195
00000372: PUSH1 0x20
00000374: MSTORE
00000375: PUSH1 0x00
00000377: SWAP1
00000378: DUP2
00000379: MSTORE
0000037a: PUSH1 0x40
0000037c: SWAP1
0000037d: KECCAK256
0000037e: SLOAD
0000037f: PUSH1 0xff
00000381: AND
00000382: DUP2
00000383: JUMP
00000384: JUMPDEST
00000385: PUSH1 0x40
00000387: MLOAD
00000388: PUSH2 0x0391
0000038b: SWAP2
0000038c: SWAP1
0000038d: PUSH2 0x37ec
00000390: JUMP
00000391: JUMPDEST
00000392: PUSH1 0x40
00000394: MLOAD
00000395: DUP1
00000396: SWAP2
00000397: SUB
00000398: SWAP1
00000399: RETURN
0000039a: JUMPDEST
0000039b: CALLVALUE
0000039c: DUP1
0000039d: ISZERO
0000039e: PUSH2 0x03a6
000003a1: JUMPI
000003a2: PUSH1 0x00
000003a4: DUP1
000003a5: REVERT
000003a6: JUMPDEST
000003a7: POP
000003a8: PUSH2 0x0384
000003ab: PUSH2 0x03b5
000003ae: CALLDATASIZE
000003af: PUSH1 0x04
000003b1: PUSH2 0x37c1
000003b4: JUMP
000003b5: JUMPDEST
000003b6: PUSH1 0x01
000003b8: PUSH1 0x01
000003ba: PUSH1 0xa0
000003bc: SHL
000003bd: SUB
000003be: AND
000003bf: PUSH1 0x00
000003c1: SWAP1
000003c2: DUP2
000003c3: MSTORE
000003c4: PUSH1 0xc9
000003c6: PUSH1 0x20
000003c8: MSTORE
000003c9: PUSH1 0x40
000003cb: SWAP1
000003cc: KECCAK256
000003cd: PUSH1 0x06
000003cf: ADD
000003d0: SLOAD
000003d1: PUSH1 0xff
000003d3: AND
000003d4: SWAP1
000003d5: JUMP
000003d6: JUMPDEST
000003d7: CALLVALUE
000003d8: DUP1
000003d9: ISZERO
000003da: PUSH2 0x03e2
000003dd: JUMPI
000003de: PUSH1 0x00
000003e0: DUP1
000003e1: REVERT
000003e2: JUMPDEST
000003e3: POP
000003e4: PUSH2 0x0404
000003e7: PUSH2 0x03f1
000003ea: CALLDATASIZE
000003eb: PUSH1 0x04
000003ed: PUSH2 0x37c1
000003f0: JUMP
000003f1: JUMPDEST
000003f2: PUSH2 0x0197
000003f5: PUSH1 0x20
000003f7: MSTORE
000003f8: PUSH1 0x00
000003fa: SWAP1
000003fb: DUP2
000003fc: MSTORE
000003fd: PUSH1 0x40
000003ff: SWAP1
00000400: KECCAK256
00000401: SLOAD
00000402: DUP2
00000403: JUMP
00000404: JUMPDEST
00000405: PUSH1 0x40
00000407: MLOAD
00000408: PUSH2 0x0391
0000040b: SWAP2
0000040c: SWAP1
0000040d: PUSH2 0x3800
00000410: JUMP
00000411: JUMPDEST
00000412: CALLVALUE
00000413: DUP1
00000414: ISZERO
00000415: PUSH2 0x041d
00000418: JUMPI
00000419: PUSH1 0x00
0000041b: DUP1
0000041c: REVERT
0000041d: JUMPDEST
0000041e: POP
0000041f: PUSH2 0x0319
00000422: PUSH2 0x042c
00000425: CALLDATASIZE
00000426: PUSH1 0x04
00000428: PUSH2 0x381f
0000042b: JUMP
0000042c: JUMPDEST
0000042d: PUSH2 0x0af0
00000430: JUMP
00000431: JUMPDEST
00000432: CALLVALUE
00000433: DUP1
00000434: ISZERO
00000435: PUSH2 0x043d
00000438: JUMPI
00000439: PUSH1 0x00
0000043b: DUP1
0000043c: REVERT
0000043d: JUMPDEST
0000043e: POP
0000043f: PUSH2 0x0384
00000442: PUSH2 0x044c
00000445: CALLDATASIZE
00000446: PUSH1 0x04
00000448: PUSH2 0x37c1
0000044b: JUMP
0000044c: JUMPDEST
0000044d: PUSH2 0x0b6b
00000450: JUMP
00000451: JUMPDEST
00000452: CALLVALUE
00000453: DUP1
00000454: ISZERO
00000455: PUSH2 0x045d
00000458: JUMPI
00000459: PUSH1 0x00
0000045b: DUP1
0000045c: REVERT
0000045d: JUMPDEST
0000045e: POP
0000045f: PUSH1 0x40
00000461: DUP1
00000462: MLOAD
00000463: DUP1
00000464: DUP3
00000465: ADD
00000466: DUP3
00000467: MSTORE
00000468: PUSH1 0x05
0000046a: DUP2
0000046b: MSTORE
0000046c: PUSH5 0x0455243323
00000472: PUSH1 0xdc
00000474: SHL
00000475: PUSH1 0x20
00000477: DUP3
00000478: ADD
00000479: MSTORE
0000047a: SWAP1
0000047b: MLOAD
0000047c: PUSH2 0x0391
0000047f: SWAP2
00000480: SWAP1
00000481: PUSH2 0x392c
00000484: JUMP
00000485: JUMPDEST
00000486: CALLVALUE
00000487: DUP1
00000488: ISZERO
00000489: PUSH2 0x0491
0000048c: JUMPI
0000048d: PUSH1 0x00
0000048f: DUP1
00000490: REVERT
00000491: JUMPDEST
00000492: POP
00000493: PUSH2 0x0319
00000496: PUSH2 0x04a0
00000499: CALLDATASIZE
0000049a: PUSH1 0x04
0000049c: PUSH2 0x37c1
0000049f: JUMP
000004a0: JUMPDEST
000004a1: PUSH2 0x0baf
000004a4: JUMP
000004a5: JUMPDEST
000004a6: CALLVALUE
000004a7: DUP1
000004a8: ISZERO
000004a9: PUSH2 0x04b1
000004ac: JUMPI
000004ad: PUSH1 0x00
000004af: DUP1
000004b0: REVERT
000004b1: JUMPDEST
000004b2: POP
000004b3: PUSH2 0x0319
000004b6: PUSH2 0x0ca0
000004b9: JUMP
000004ba: JUMPDEST
000004bb: CALLVALUE
000004bc: DUP1
000004bd: ISZERO
000004be: PUSH2 0x04c6
000004c1: JUMPI
000004c2: PUSH1 0x00
000004c4: DUP1
000004c5: REVERT
000004c6: JUMPDEST
000004c7: POP
000004c8: PUSH2 0x0319
000004cb: PUSH2 0x04d5
000004ce: CALLDATASIZE
000004cf: PUSH1 0x04
000004d1: PUSH2 0x393d
000004d4: JUMP
000004d5: JUMPDEST
000004d6: PUSH2 0x0cba
000004d9: JUMP
000004da: JUMPDEST
000004db: CALLVALUE
000004dc: DUP1
000004dd: ISZERO
000004de: PUSH2 0x04e6
000004e1: JUMPI
000004e2: PUSH1 0x00
000004e4: DUP1
000004e5: REVERT
000004e6: JUMPDEST
000004e7: POP
000004e8: PUSH2 0x0319
000004eb: PUSH2 0x04f5
000004ee: CALLDATASIZE
000004ef: PUSH1 0x04
000004f1: PUSH2 0x398f
000004f4: JUMP
000004f5: JUMPDEST
000004f6: PUSH2 0x0d60
000004f9: JUMP
000004fa: JUMPDEST
000004fb: PUSH2 0x0319
000004fe: PUSH2 0x0508
00000501: CALLDATASIZE
00000502: PUSH1 0x04
00000504: PUSH2 0x3aa9
00000507: JUMP
00000508: JUMPDEST
00000509: PUSH2 0x0ddf
0000050c: JUMP
0000050d: JUMPDEST
0000050e: CALLVALUE
0000050f: DUP1
00000510: ISZERO
00000511: PUSH2 0x0519
00000514: JUMPI
00000515: PUSH1 0x00
00000517: DUP1
00000518: REVERT
00000519: JUMPDEST
0000051a: POP
0000051b: PUSH2 0x0404
0000051e: PUSH2 0x0ec1
00000521: JUMP
00000522: JUMPDEST
00000523: CALLVALUE
00000524: DUP1
00000525: ISZERO
00000526: PUSH2 0x052e
00000529: JUMPI
0000052a: PUSH1 0x00
0000052c: DUP1
0000052d: REVERT
0000052e: JUMPDEST
0000052f: POP
00000530: PUSH2 0x0319
00000533: PUSH2 0x053d
00000536: CALLDATASIZE
00000537: PUSH1 0x04
00000539: PUSH2 0x393d
0000053c: JUMP
0000053d: JUMPDEST
0000053e: PUSH2 0x0f30
00000541: JUMP
00000542: JUMPDEST
00000543: CALLVALUE
00000544: DUP1
00000545: ISZERO
00000546: PUSH2 0x054e
00000549: JUMPI
0000054a: PUSH1 0x00
0000054c: DUP1
0000054d: REVERT
0000054e: JUMPDEST
0000054f: POP
00000550: PUSH2 0x0319
00000553: PUSH2 0x055d
00000556: CALLDATASIZE
00000557: PUSH1 0x04
00000559: PUSH2 0x37c1
0000055c: JUMP
0000055d: JUMPDEST
0000055e: PUSH2 0x0fd6
00000561: JUMP
00000562: JUMPDEST
00000563: CALLVALUE
00000564: DUP1
00000565: ISZERO
00000566: PUSH2 0x056e
00000569: JUMPI
0000056a: PUSH1 0x00
0000056c: DUP1
0000056d: REVERT
0000056e: JUMPDEST
0000056f: POP
00000570: PUSH1 0x33
00000572: SLOAD
00000573: PUSH1 0xff
00000575: AND
00000576: PUSH2 0x0384
00000579: JUMP
0000057a: JUMPDEST
0000057b: CALLVALUE
0000057c: DUP1
0000057d: ISZERO
0000057e: PUSH2 0x0586
00000581: JUMPI
00000582: PUSH1 0x00
00000584: DUP1
00000585: REVERT
00000586: JUMPDEST
00000587: POP
00000588: PUSH2 0x0319
0000058b: PUSH2 0x0595
0000058e: CALLDATASIZE
0000058f: PUSH1 0x04
00000591: PUSH2 0x37c1
00000594: JUMP
00000595: JUMPDEST
00000596: PUSH2 0x10a5
00000599: JUMP
0000059a: JUMPDEST
0000059b: PUSH2 0x0319
0000059e: PUSH2 0x05a8
000005a1: CALLDATASIZE
000005a2: PUSH1 0x04
000005a4: PUSH2 0x3af6
000005a7: JUMP
000005a8: JUMPDEST
000005a9: PUSH2 0x1179
000005ac: JUMP
000005ad: JUMPDEST
000005ae: CALLVALUE
000005af: DUP1
000005b0: ISZERO
000005b1: PUSH2 0x05b9
000005b4: JUMPI
000005b5: PUSH1 0x00
000005b7: DUP1
000005b8: REVERT
000005b9: JUMPDEST
000005ba: POP
000005bb: PUSH2 0x0319
000005be: PUSH2 0x05c8
000005c1: CALLDATASIZE
000005c2: PUSH1 0x04
000005c4: PUSH2 0x3b7c
000005c7: JUMP
000005c8: JUMPDEST
000005c9: PUSH2 0x11ee
000005cc: JUMP
000005cd: JUMPDEST
000005ce: CALLVALUE
000005cf: DUP1
000005d0: ISZERO
000005d1: PUSH2 0x05d9
000005d4: JUMPI
000005d5: PUSH1 0x00
000005d7: DUP1
000005d8: REVERT
000005d9: JUMPDEST
000005da: POP
000005db: PUSH2 0x05ed
000005de: PUSH2 0x05e8
000005e1: CALLDATASIZE
000005e2: PUSH1 0x04
000005e4: PUSH2 0x37c1
000005e7: JUMP
000005e8: JUMPDEST
000005e9: PUSH2 0x1307
000005ec: JUMP
000005ed: JUMPDEST
000005ee: PUSH1 0x40
000005f0: MLOAD
000005f1: PUSH2 0x0391
000005f4: SWAP8
000005f5: SWAP7
000005f6: SWAP6
000005f7: SWAP5
000005f8: SWAP4
000005f9: SWAP3
000005fa: SWAP2
000005fb: SWAP1
000005fc: PUSH2 0x3c67
000005ff: JUMP
00000600: JUMPDEST
00000601: PUSH2 0x0319
00000604: PUSH2 0x060e
00000607: CALLDATASIZE
00000608: PUSH1 0x04
0000060a: PUSH2 0x3cdd
0000060d: JUMP
0000060e: JUMPDEST
0000060f: PUSH2 0x1464
00000612: JUMP
00000613: JUMPDEST
00000614: CALLVALUE
00000615: DUP1
00000616: ISZERO
00000617: PUSH2 0x061f
0000061a: JUMPI
0000061b: PUSH1 0x00
0000061d: DUP1
0000061e: REVERT
0000061f: JUMPDEST
00000620: POP
00000621: PUSH2 0x0130
00000624: SLOAD
00000625: PUSH2 0x0131
00000628: SLOAD
00000629: PUSH2 0x0639
0000062c: SWAP2
0000062d: SWAP1
0000062e: PUSH1 0x01
00000630: PUSH1 0x01
00000632: PUSH1 0xa0
00000634: SHL
00000635: SUB
00000636: AND
00000637: DUP3
00000638: JUMP
00000639: JUMPDEST
0000063a: PUSH1 0x40
0000063c: MLOAD
0000063d: PUSH2 0x0391
00000640: SWAP3
00000641: SWAP2
00000642: SWAP1
00000643: PUSH2 0x3d93
00000646: JUMP
00000647: JUMPDEST
00000648: CALLVALUE
00000649: DUP1
0000064a: ISZERO
0000064b: PUSH2 0x0653
0000064e: JUMPI
0000064f: PUSH1 0x00
00000651: DUP1
00000652: REVERT
00000653: JUMPDEST
00000654: POP
00000655: PUSH2 0x0319
00000658: PUSH2 0x1570
0000065b: JUMP
0000065c: JUMPDEST
0000065d: CALLVALUE
0000065e: DUP1
0000065f: ISZERO
00000660: PUSH2 0x0668
00000663: JUMPI
00000664: PUSH1 0x00
00000666: DUP1
00000667: REVERT
00000668: JUMPDEST
00000669: POP
0000066a: PUSH2 0x0319
0000066d: PUSH2 0x0677
00000670: CALLDATASIZE
00000671: PUSH1 0x04
00000673: PUSH2 0x381f
00000676: JUMP
00000677: JUMPDEST
00000678: PUSH2 0x1582
0000067b: JUMP
0000067c: JUMPDEST
0000067d: CALLVALUE
0000067e: DUP1
0000067f: ISZERO
00000680: PUSH2 0x0688
00000683: JUMPI
00000684: PUSH1 0x00
00000686: DUP1
00000687: REVERT
00000688: JUMPDEST
00000689: POP
0000068a: PUSH2 0x0319
0000068d: PUSH2 0x15e8
00000690: JUMP
00000691: JUMPDEST
00000692: CALLVALUE
00000693: DUP1
00000694: ISZERO
00000695: PUSH2 0x069d
00000698: JUMPI
00000699: PUSH1 0x00
0000069b: DUP1
0000069c: REVERT
0000069d: JUMPDEST
0000069e: POP
0000069f: PUSH2 0x0319
000006a2: PUSH2 0x06ac
000006a5: CALLDATASIZE
000006a6: PUSH1 0x04
000006a8: PUSH2 0x398f
000006ab: JUMP
000006ac: JUMPDEST
000006ad: PUSH2 0x1600
000006b0: JUMP
000006b1: JUMPDEST
000006b2: CALLVALUE
000006b3: DUP1
000006b4: ISZERO
000006b5: PUSH2 0x06bd
000006b8: JUMPI
000006b9: PUSH1 0x00
000006bb: DUP1
000006bc: REVERT
000006bd: JUMPDEST
000006be: POP
000006bf: PUSH2 0x0319
000006c2: PUSH2 0x06cc
000006c5: CALLDATASIZE
000006c6: PUSH1 0x04
000006c8: PUSH2 0x393d
000006cb: JUMP
000006cc: JUMPDEST
000006cd: PUSH2 0x162b
000006d0: JUMP
000006d1: JUMPDEST
000006d2: CALLVALUE
000006d3: DUP1
000006d4: ISZERO
000006d5: PUSH2 0x06dd
000006d8: JUMPI
000006d9: PUSH1 0x00
000006db: DUP1
000006dc: REVERT
000006dd: JUMPDEST
000006de: POP
000006df: PUSH2 0x0194
000006e2: SLOAD
000006e3: PUSH2 0x06f2
000006e6: SWAP1
000006e7: PUSH1 0x01
000006e9: PUSH1 0x01
000006eb: PUSH1 0xa0
000006ed: SHL
000006ee: SUB
000006ef: AND
000006f0: DUP2
000006f1: JUMP
000006f2: JUMPDEST
000006f3: PUSH1 0x40
000006f5: MLOAD
000006f6: PUSH2 0x0391
000006f9: SWAP2
000006fa: SWAP1
000006fb: PUSH2 0x3df0
000006fe: JUMP
000006ff: JUMPDEST
00000700: CALLVALUE
00000701: DUP1
00000702: ISZERO
00000703: PUSH2 0x070b
00000706: JUMPI
00000707: PUSH1 0x00
00000709: DUP1
0000070a: REVERT
0000070b: JUMPDEST
0000070c: POP
0000070d: PUSH1 0x65
0000070f: SLOAD
00000710: PUSH1 0x01
00000712: PUSH1 0x01
00000714: PUSH1 0xa0
00000716: SHL
00000717: SUB
00000718: AND
00000719: PUSH1 0x40
0000071b: MLOAD
0000071c: PUSH2 0x0391
0000071f: SWAP2
00000720: SWAP1
00000721: PUSH2 0x3dfe
00000724: JUMP
00000725: JUMPDEST
00000726: CALLVALUE
00000727: DUP1
00000728: ISZERO
00000729: PUSH2 0x0731
0000072c: JUMPI
0000072d: PUSH1 0x00
0000072f: DUP1
00000730: REVERT
00000731: JUMPDEST
00000732: POP
00000733: PUSH2 0x0319
00000736: PUSH2 0x0740
00000739: CALLDATASIZE
0000073a: PUSH1 0x04
0000073c: PUSH2 0x37c1
0000073f: JUMP
00000740: JUMPDEST
00000741: PUSH2 0x178b
00000744: JUMP
00000745: JUMPDEST
00000746: CALLVALUE
00000747: DUP1
00000748: ISZERO
00000749: PUSH2 0x0751
0000074c: JUMPI
0000074d: PUSH1 0x00
0000074f: DUP1
00000750: REVERT
00000751: JUMPDEST
00000752: POP
00000753: PUSH2 0x0319
00000756: PUSH2 0x0760
00000759: CALLDATASIZE
0000075a: PUSH1 0x04
0000075c: PUSH2 0x398f
0000075f: JUMP
00000760: JUMPDEST
00000761: PUSH2 0x17db
00000764: JUMP
00000765: JUMPDEST
00000766: PUSH2 0x0319
00000769: PUSH2 0x0773
0000076c: CALLDATASIZE
0000076d: PUSH1 0x04
0000076f: PUSH2 0x3af6
00000772: JUMP
00000773: JUMPDEST
00000774: PUSH2 0x1806
00000777: JUMP
00000778: JUMPDEST
00000779: CALLVALUE
0000077a: DUP1
0000077b: ISZERO
0000077c: PUSH2 0x0784
0000077f: JUMPI
00000780: PUSH1 0x00
00000782: DUP1
00000783: REVERT
00000784: JUMPDEST
00000785: POP
00000786: PUSH2 0x0319
00000789: PUSH2 0x0793
0000078c: CALLDATASIZE
0000078d: PUSH1 0x04
0000078f: PUSH2 0x398f
00000792: JUMP
00000793: JUMPDEST
00000794: PUSH2 0x1869
00000797: JUMP
00000798: JUMPDEST
00000799: CALLVALUE
0000079a: DUP1
0000079b: ISZERO
0000079c: PUSH2 0x07a4
0000079f: JUMPI
000007a0: PUSH1 0x00
000007a2: DUP1
000007a3: REVERT
000007a4: JUMPDEST
000007a5: POP
000007a6: PUSH2 0x0319
000007a9: PUSH2 0x07b3
000007ac: CALLDATASIZE
000007ad: PUSH1 0x04
000007af: PUSH2 0x4007
000007b2: JUMP
000007b3: JUMPDEST
000007b4: PUSH2 0x1894
000007b7: JUMP
000007b8: JUMPDEST
000007b9: CALLVALUE
000007ba: DUP1
000007bb: ISZERO
000007bc: PUSH2 0x07c4
000007bf: JUMPI
000007c0: PUSH1 0x00
000007c2: DUP1
000007c3: REVERT
000007c4: JUMPDEST
000007c5: POP
000007c6: PUSH2 0x0319
000007c9: PUSH2 0x07d3
000007cc: CALLDATASIZE
000007cd: PUSH1 0x04
000007cf: PUSH2 0x37c1
000007d2: JUMP
000007d3: JUMPDEST
000007d4: PUSH2 0x1d72
000007d7: JUMP
000007d8: JUMPDEST
000007d9: CALLVALUE
000007da: DUP1
000007db: ISZERO
000007dc: PUSH2 0x07e4
000007df: JUMPI
000007e0: PUSH1 0x00
000007e2: DUP1
000007e3: REVERT
000007e4: JUMPDEST
000007e5: POP
000007e6: PUSH2 0x0319
000007e9: PUSH2 0x07f3
000007ec: CALLDATASIZE
000007ed: PUSH1 0x04
000007ef: PUSH2 0x4042
000007f2: JUMP
000007f3: JUMPDEST
000007f4: PUSH2 0x1dbe
000007f7: JUMP
000007f8: JUMPDEST
000007f9: CALLVALUE
000007fa: DUP1
000007fb: ISZERO
000007fc: PUSH2 0x0804
000007ff: JUMPI
00000800: PUSH1 0x00
00000802: DUP1
00000803: REVERT
00000804: JUMPDEST
00000805: POP
00000806: PUSH2 0x0196
00000809: SLOAD
0000080a: PUSH2 0x06f2
0000080d: SWAP1
0000080e: PUSH1 0x01
00000810: PUSH1 0x01
00000812: PUSH1 0xa0
00000814: SHL
00000815: SUB
00000816: AND
00000817: DUP2
00000818: JUMP
00000819: JUMPDEST
0000081a: CALLVALUE
0000081b: DUP1
0000081c: ISZERO
0000081d: PUSH2 0x0825
00000820: JUMPI
00000821: PUSH1 0x00
00000823: DUP1
00000824: REVERT
00000825: JUMPDEST
00000826: POP
00000827: PUSH2 0x0404
0000082a: PUSH1 0xc8
0000082c: SLOAD
0000082d: DUP2
0000082e: JUMP
0000082f: JUMPDEST
00000830: CALLVALUE
00000831: DUP1
00000832: ISZERO
00000833: PUSH2 0x083b
00000836: JUMPI
00000837: PUSH1 0x00
00000839: DUP1
0000083a: REVERT
0000083b: JUMPDEST
0000083c: POP
0000083d: PUSH2 0x0194
00000840: SLOAD
00000841: PUSH2 0x0384
00000844: SWAP1
00000845: PUSH1 0x01
00000847: PUSH1 0xa0
00000849: SHL
0000084a: SWAP1
0000084b: DIV
0000084c: PUSH1 0xff
0000084e: AND
0000084f: DUP2
00000850: JUMP
00000851: JUMPDEST
00000852: CALLVALUE
00000853: DUP1
00000854: ISZERO
00000855: PUSH2 0x085d
00000858: JUMPI
00000859: PUSH1 0x00
0000085b: DUP1
0000085c: REVERT
0000085d: JUMPDEST
0000085e: POP
0000085f: PUSH2 0x0384
00000862: PUSH2 0x086c
00000865: CALLDATASIZE
00000866: PUSH1 0x04
00000868: PUSH2 0x393d
0000086b: JUMP
0000086c: JUMPDEST
0000086d: PUSH2 0x1f7e
00000870: JUMP
00000871: JUMPDEST
00000872: CALLVALUE
00000873: DUP1
00000874: ISZERO
00000875: PUSH2 0x087d
00000878: JUMPI
00000879: PUSH1 0x00
0000087b: DUP1
0000087c: REVERT
0000087d: JUMPDEST
0000087e: POP
0000087f: PUSH2 0x0319
00000882: PUSH2 0x088c
00000885: CALLDATASIZE
00000886: PUSH1 0x04
00000888: PUSH2 0x37c1
0000088b: JUMP
0000088c: JUMPDEST
0000088d: PUSH2 0x212e
00000890: JUMP
00000891: JUMPDEST
00000892: CALLVALUE
00000893: DUP1
00000894: ISZERO
00000895: PUSH2 0x089d
00000898: JUMPI
00000899: PUSH1 0x00
0000089b: DUP1
0000089c: REVERT
0000089d: JUMPDEST
0000089e: POP
0000089f: PUSH2 0x0319
000008a2: PUSH2 0x08ac
000008a5: CALLDATASIZE
000008a6: PUSH1 0x04
000008a8: PUSH2 0x37c1
000008ab: JUMP
000008ac: JUMPDEST
000008ad: PUSH2 0x21ee
000008b0: JUMP
000008b1: JUMPDEST
000008b2: CALLVALUE
000008b3: DUP1
000008b4: ISZERO
000008b5: PUSH2 0x08bd
000008b8: JUMPI
000008b9: PUSH1 0x00
000008bb: DUP1
000008bc: REVERT
000008bd: JUMPDEST
000008be: POP
000008bf: PUSH2 0x0319
000008c2: PUSH2 0x08cc
000008c5: CALLDATASIZE
000008c6: PUSH1 0x04
000008c8: PUSH2 0x4115
000008cb: JUMP
000008cc: JUMPDEST
000008cd: PUSH2 0x2225
000008d0: JUMP
000008d1: JUMPDEST
000008d2: CALLVALUE
000008d3: DUP1
000008d4: ISZERO
000008d5: PUSH2 0x08dd
000008d8: JUMPI
000008d9: PUSH1 0x00
000008db: DUP1
000008dc: REVERT
000008dd: JUMPDEST
000008de: POP
000008df: PUSH2 0x0319
000008e2: PUSH2 0x08ec
000008e5: CALLDATASIZE
000008e6: PUSH1 0x04
000008e8: PUSH2 0x3b7c
000008eb: JUMP
000008ec: JUMPDEST
000008ed: PUSH2 0x2374
000008f0: JUMP
000008f1: JUMPDEST
000008f2: PUSH2 0x08f9
000008f5: PUSH2 0x2477
000008f8: JUMP
000008f9: JUMPDEST
000008fa: PUSH2 0x0901
000008fd: PUSH2 0x249a
00000900: JUMP
00000901: JUMPDEST
00000902: PUSH2 0x0194
00000905: SLOAD
00000906: PUSH1 0x40
00000908: MLOAD
00000909: PUSH4 0x3ed959bb
0000090e: PUSH1 0xe2
00000910: SHL
00000911: DUP2
00000912: MSTORE
00000913: PUSH1 0x01
00000915: PUSH1 0x01
00000917: PUSH1 0xa0
00000919: SHL
0000091a: SUB
0000091b: SWAP1
0000091c: SWAP2
0000091d: AND
0000091e: SWAP1
0000091f: PUSH4 0xfb6566ec
00000924: SWAP1
00000925: PUSH2 0x093a
00000928: SWAP1
00000929: DUP10
0000092a: SWAP1
0000092b: DUP10
0000092c: SWAP1
0000092d: DUP10
0000092e: SWAP1
0000092f: CALLER
00000930: SWAP1
00000931: CALLVALUE
00000932: SWAP1
00000933: PUSH1 0x04
00000935: ADD
00000936: PUSH2 0x43c5
00000939: JUMP
0000093a: JUMPDEST
0000093b: PUSH1 0x20
0000093d: PUSH1 0x40
0000093f: MLOAD
00000940: DUP1
00000941: DUP4
00000942: SUB
00000943: DUP2
00000944: PUSH1 0x00
00000946: DUP8
00000947: GAS
00000948: CALL
00000949: ISZERO
0000094a: DUP1
0000094b: ISZERO
0000094c: PUSH2 0x0959
0000094f: JUMPI
00000950: RETURNDATASIZE
00000951: PUSH1 0x00
00000953: DUP1
00000954: RETURNDATACOPY
00000955: RETURNDATASIZE
00000956: PUSH1 0x00
00000958: REVERT
00000959: JUMPDEST
0000095a: POP
0000095b: POP
0000095c: POP
0000095d: POP
0000095e: PUSH1 0x40
00000960: MLOAD
00000961: RETURNDATASIZE
00000962: PUSH1 0x1f
00000964: NOT
00000965: PUSH1 0x1f
00000967: DUP3
00000968: ADD
00000969: AND
0000096a: DUP3
0000096b: ADD
0000096c: DUP1
0000096d: PUSH1 0x40
0000096f: MSTORE
00000970: POP
00000971: DUP2
00000972: ADD
00000973: SWAP1
00000974: PUSH2 0x097d
00000977: SWAP2
00000978: SWAP1
00000979: PUSH2 0x4412
0000097c: JUMP
0000097d: JUMPDEST
0000097e: PUSH2 0x0999
00000981: JUMPI
00000982: PUSH1 0x40
00000984: MLOAD
00000985: PUSH3 0x461bcd
00000989: PUSH1 0xe5
0000098b: SHL
0000098c: DUP2
0000098d: MSTORE
0000098e: PUSH1 0x04
00000990: ADD
00000991: PUSH2 0x0310
00000994: SWAP1
00000995: PUSH2 0x4477
00000998: JUMP
00000999: JUMPDEST
0000099a: PUSH1 0x00
0000099c: DUP4
0000099d: PUSH2 0x09a7
000009a0: JUMPI
000009a1: PUSH1 0x03
000009a3: PUSH2 0x09aa
000009a6: JUMP
000009a7: JUMPDEST
000009a8: PUSH1 0x04
000009aa: JUMPDEST
000009ab: SWAP1
000009ac: POP
000009ad: PUSH2 0x0a21
000009b0: DUP8
000009b1: DUP8
000009b2: DUP1
000009b3: DUP1
000009b4: PUSH1 0x1f
000009b6: ADD
000009b7: PUSH1 0x20
000009b9: DUP1
000009ba: SWAP2
000009bb: DIV
000009bc: MUL
000009bd: PUSH1 0x20
000009bf: ADD
000009c0: PUSH1 0x40
000009c2: MLOAD
000009c3: SWAP1
000009c4: DUP2
000009c5: ADD
000009c6: PUSH1 0x40
000009c8: MSTORE
000009c9: DUP1
000009ca: SWAP4
000009cb: SWAP3
000009cc: SWAP2
000009cd: SWAP1
000009ce: DUP2
000009cf: DUP2
000009d0: MSTORE
000009d1: PUSH1 0x20
000009d3: ADD
000009d4: DUP4
000009d5: DUP4
000009d6: DUP1
000009d7: DUP3
000009d8: DUP5
000009d9: CALLDATACOPY
000009da: PUSH1 0x00
000009dc: SWAP3
000009dd: ADD
000009de: SWAP2
000009df: SWAP1
000009e0: SWAP2
000009e1: MSTORE
000009e2: POP
000009e3: POP
000009e4: PUSH1 0x40
000009e6: DUP1
000009e7: MLOAD
000009e8: PUSH1 0x20
000009ea: PUSH1 0x1f
000009ec: DUP10
000009ed: ADD
000009ee: DUP2
000009ef: SWAP1
000009f0: DIV
000009f1: DUP2
000009f2: MUL
000009f3: DUP3
000009f4: ADD
000009f5: DUP2
000009f6: ADD
000009f7: SWAP1
000009f8: SWAP3
000009f9: MSTORE
000009fa: DUP8
000009fb: DUP2
000009fc: MSTORE
000009fd: DUP7
000009fe: SWAP4
000009ff: POP
00000a00: SWAP2
00000a01: POP
00000a02: DUP8
00000a03: SWAP1
00000a04: DUP8
00000a05: SWAP1
00000a06: DUP2
00000a07: SWAP1
00000a08: DUP5
00000a09: ADD
00000a0a: DUP4
00000a0b: DUP3
00000a0c: DUP1
00000a0d: DUP3
00000a0e: DUP5
00000a0f: CALLDATACOPY
00000a10: PUSH1 0x00
00000a12: SWAP3
00000a13: ADD
00000a14: SWAP2
00000a15: SWAP1
00000a16: SWAP2
00000a17: MSTORE
00000a18: POP
00000a19: PUSH2 0x24c3
00000a1c: SWAP3
00000a1d: POP
00000a1e: POP
00000a1f: POP
00000a20: JUMP
00000a21: JUMPDEST
00000a22: POP
00000a23: PUSH2 0x0a2c
00000a26: PUSH1 0x01
00000a28: PUSH1 0xfb
00000a2a: SSTORE
00000a2b: JUMP
00000a2c: JUMPDEST
00000a2d: POP
00000a2e: POP
00000a2f: POP
00000a30: POP
00000a31: POP
00000a32: POP
00000a33: JUMP
00000a34: JUMPDEST
00000a35: PUSH2 0x0a3c
00000a38: PUSH2 0x25f3
00000a3b: JUMP
00000a3c: JUMPDEST
00000a3d: PUSH2 0x0a45
00000a40: DUP3
00000a41: PUSH2 0x0b6b
00000a44: JUMP
00000a45: JUMPDEST
00000a46: PUSH2 0x0a61
00000a49: JUMPI
00000a4a: PUSH1 0x40
00000a4c: MLOAD
00000a4d: PUSH3 0x461bcd
00000a51: PUSH1 0xe5
00000a53: SHL
00000a54: DUP2
00000a55: MSTORE
00000a56: PUSH1 0x04
00000a58: ADD
00000a59: PUSH2 0x0310
00000a5c: SWAP1
00000a5d: PUSH2 0x44c5
00000a60: JUMP
00000a61: JUMPDEST
00000a62: PUSH1 0x01
00000a64: PUSH1 0x01
00000a66: PUSH1 0xa0
00000a68: SHL
00000a69: SUB
00000a6a: DUP1
00000a6b: DUP4
00000a6c: AND
00000a6d: PUSH1 0x00
00000a6f: SWAP1
00000a70: DUP2
00000a71: MSTORE
00000a72: PUSH1 0xc9
00000a74: PUSH1 0x20
00000a76: MSTORE
00000a77: PUSH1 0x40
00000a79: SWAP1
00000a7a: DUP2
00000a7b: SWAP1
00000a7c: KECCAK256
00000a7d: PUSH1 0x01
00000a7f: ADD
00000a80: SLOAD
00000a81: SWAP1
00000a82: MLOAD
00000a83: SWAP2
00000a84: AND
00000a85: SWAP1
00000a86: PUSH32 0x2afec66505e0ceed692012e3833f6609d4933ded34732135bc05f28423744065
00000aa7: SWAP1
00000aa8: PUSH2 0x0ab6
00000aab: SWAP1
00000aac: DUP6
00000aad: SWAP1
00000aae: DUP5
00000aaf: SWAP1
00000ab0: DUP7
00000ab1: SWAP1
00000ab2: PUSH2 0x44d5
00000ab5: JUMP
00000ab6: JUMPDEST
00000ab7: PUSH1 0x40
00000ab9: MLOAD
00000aba: DUP1
00000abb: SWAP2
00000abc: SUB
00000abd: SWAP1
00000abe: LOG1
00000abf: POP
00000ac0: PUSH1 0x01
00000ac2: PUSH1 0x01
00000ac4: PUSH1 0xa0
00000ac6: SHL
00000ac7: SUB
00000ac8: SWAP2
00000ac9: DUP3
00000aca: AND
00000acb: PUSH1 0x00
00000acd: SWAP1
00000ace: DUP2
00000acf: MSTORE
00000ad0: PUSH1 0xc9
00000ad2: PUSH1 0x20
00000ad4: MSTORE
00000ad5: PUSH1 0x40
00000ad7: SWAP1
00000ad8: KECCAK256
00000ad9: PUSH1 0x01
00000adb: ADD
00000adc: DUP1
00000add: SLOAD
00000ade: PUSH1 0x01
00000ae0: PUSH1 0x01
00000ae2: PUSH1 0xa0
00000ae4: SHL
00000ae5: SUB
00000ae6: NOT
00000ae7: AND
00000ae8: SWAP2
00000ae9: SWAP1
00000aea: SWAP3
00000aeb: AND
00000aec: OR
00000aed: SWAP1
00000aee: SSTORE
00000aef: JUMP
00000af0: JUMPDEST
00000af1: PUSH2 0x0af8
00000af4: PUSH2 0x2477
00000af7: JUMP
00000af8: JUMPDEST
00000af9: PUSH2 0x0b00
00000afc: PUSH2 0x249a
00000aff: JUMP
00000b00: JUMPDEST
00000b01: PUSH1 0x00
00000b03: DUP4
00000b04: PUSH2 0x0b0e
00000b07: JUMPI
00000b08: PUSH1 0x01
00000b0a: PUSH2 0x0b11
00000b0d: JUMP
00000b0e: JUMPDEST
00000b0f: PUSH1 0x02
00000b11: JUMPDEST
00000b12: SWAP1
00000b13: POP
00000b14: PUSH2 0x0b57
00000b17: DUP9
00000b18: DUP9
00000b19: DUP9
00000b1a: DUP9
00000b1b: DUP6
00000b1c: DUP9
00000b1d: DUP9
00000b1e: DUP1
00000b1f: DUP1
00000b20: PUSH1 0x1f
00000b22: ADD
00000b23: PUSH1 0x20
00000b25: DUP1
00000b26: SWAP2
00000b27: DIV
00000b28: MUL
00000b29: PUSH1 0x20
00000b2b: ADD
00000b2c: PUSH1 0x40
00000b2e: MLOAD
00000b2f: SWAP1
00000b30: DUP2
00000b31: ADD
00000b32: PUSH1 0x40
00000b34: MSTORE
00000b35: DUP1
00000b36: SWAP4
00000b37: SWAP3
00000b38: SWAP2
00000b39: SWAP1
00000b3a: DUP2
00000b3b: DUP2
00000b3c: MSTORE
00000b3d: PUSH1 0x20
00000b3f: ADD
00000b40: DUP4
00000b41: DUP4
00000b42: DUP1
00000b43: DUP3
00000b44: DUP5
00000b45: CALLDATACOPY
00000b46: PUSH1 0x00
00000b48: SWAP3
00000b49: ADD
00000b4a: SWAP2
00000b4b: SWAP1
00000b4c: SWAP2
00000b4d: MSTORE
00000b4e: POP
00000b4f: PUSH2 0x261d
00000b52: SWAP3
00000b53: POP
00000b54: POP
00000b55: POP
00000b56: JUMP
00000b57: JUMPDEST
00000b58: POP
00000b59: PUSH2 0x0b62
00000b5c: PUSH1 0x01
00000b5e: PUSH1 0xfb
00000b60: SSTORE
00000b61: JUMP
00000b62: JUMPDEST
00000b63: POP
00000b64: POP
00000b65: POP
00000b66: POP
00000b67: POP
00000b68: POP
00000b69: POP
00000b6a: JUMP
00000b6b: JUMPDEST
00000b6c: PUSH1 0x01
00000b6e: PUSH1 0x01
00000b70: PUSH1 0xa0
00000b72: SHL
00000b73: SUB
00000b74: SWAP1
00000b75: DUP2
00000b76: AND
00000b77: PUSH1 0x00
00000b79: SWAP1
00000b7a: DUP2
00000b7b: MSTORE
00000b7c: PUSH1 0xc9
00000b7e: PUSH1 0x20
00000b80: MSTORE
00000b81: PUSH1 0x40
00000b83: SWAP1
00000b84: KECCAK256
00000b85: SLOAD
00000b86: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00000ba7: DUP3
00000ba8: AND
00000ba9: SWAP2
00000baa: AND
00000bab: EQ
00000bac: ISZERO
00000bad: SWAP1
00000bae: JUMP
00000baf: JUMPDEST
00000bb0: PUSH1 0x01
00000bb2: PUSH1 0x01
00000bb4: PUSH1 0xa0
00000bb6: SHL
00000bb7: SUB
00000bb8: PUSH32 0x000000000000000000000000bdae358dc3b0389a5532d011a8b4098ffda11836
00000bd9: AND
00000bda: ADDRESS
00000bdb: SUB
00000bdc: PUSH2 0x0bf7
00000bdf: JUMPI
00000be0: PUSH1 0x40
00000be2: MLOAD
00000be3: PUSH3 0x461bcd
00000be7: PUSH1 0xe5
00000be9: SHL
00000bea: DUP2
00000beb: MSTORE
00000bec: PUSH1 0x04
00000bee: ADD
00000bef: PUSH2 0x0310
00000bf2: SWAP1
00000bf3: PUSH2 0x4546
00000bf6: JUMP
00000bf7: JUMPDEST
00000bf8: PUSH32 0x000000000000000000000000bdae358dc3b0389a5532d011a8b4098ffda11836
00000c19: PUSH1 0x01
00000c1b: PUSH1 0x01
00000c1d: PUSH1 0xa0
00000c1f: SHL
00000c20: SUB
00000c21: AND
00000c22: PUSH2 0x0c52
00000c25: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00000c46: SLOAD
00000c47: PUSH1 0x01
00000c49: PUSH1 0x01
00000c4b: PUSH1 0xa0
00000c4d: SHL
00000c4e: SUB
00000c4f: AND
00000c50: SWAP1
00000c51: JUMP
00000c52: JUMPDEST
00000c53: PUSH1 0x01
00000c55: PUSH1 0x01
00000c57: PUSH1 0xa0
00000c59: SHL
00000c5a: SUB
00000c5b: AND
00000c5c: EQ
00000c5d: PUSH2 0x0c78
00000c60: JUMPI
00000c61: PUSH1 0x40
00000c63: MLOAD
00000c64: PUSH3 0x461bcd
00000c68: PUSH1 0xe5
00000c6a: SHL
00000c6b: DUP2
00000c6c: MSTORE
00000c6d: PUSH1 0x04
00000c6f: ADD
00000c70: PUSH2 0x0310
00000c73: SWAP1
00000c74: PUSH2 0x459f
00000c77: JUMP
00000c78: JUMPDEST
00000c79: PUSH2 0x0c81
00000c7c: DUP2
00000c7d: PUSH2 0x27d4
00000c80: JUMP
00000c81: JUMPDEST
00000c82: PUSH1 0x40
00000c84: DUP1
00000c85: MLOAD
00000c86: PUSH1 0x00
00000c88: DUP1
00000c89: DUP3
00000c8a: MSTORE
00000c8b: PUSH1 0x20
00000c8d: DUP3
00000c8e: ADD
00000c8f: SWAP1
00000c90: SWAP3
00000c91: MSTORE
00000c92: PUSH2 0x0c9d
00000c95: SWAP2
00000c96: DUP4
00000c97: SWAP2
00000c98: SWAP1
00000c99: PUSH2 0x27eb
00000c9c: JUMP
00000c9d: JUMPDEST
00000c9e: POP
00000c9f: JUMP
00000ca0: JUMPDEST
00000ca1: PUSH2 0x0ca8
00000ca4: PUSH2 0x25f3
00000ca7: JUMP
00000ca8: JUMPDEST
00000ca9: PUSH2 0x0cb0
00000cac: PUSH2 0x28e4
00000caf: JUMP
00000cb0: JUMPDEST
00000cb1: PUSH2 0x0cb8
00000cb4: PUSH2 0x2906
00000cb7: JUMP
00000cb8: JUMPDEST
00000cb9: JUMP
00000cba: JUMPDEST
00000cbb: PUSH2 0x0cc2
00000cbe: PUSH2 0x25f3
00000cc1: JUMP
00000cc2: JUMPDEST
00000cc3: PUSH2 0x0ccb
00000cc6: DUP3
00000cc7: PUSH2 0x0b6b
00000cca: JUMP
00000ccb: JUMPDEST
00000ccc: PUSH2 0x0ce7
00000ccf: JUMPI
00000cd0: PUSH1 0x40
00000cd2: MLOAD
00000cd3: PUSH3 0x461bcd
00000cd7: PUSH1 0xe5
00000cd9: SHL
00000cda: DUP2
00000cdb: MSTORE
00000cdc: PUSH1 0x04
00000cde: ADD
00000cdf: PUSH2 0x0310
00000ce2: SWAP1
00000ce3: PUSH2 0x44c5
00000ce6: JUMP
00000ce7: JUMPDEST
00000ce8: PUSH1 0xc8
00000cea: SLOAD
00000ceb: PUSH1 0x01
00000ced: PUSH1 0x01
00000cef: PUSH1 0xa0
00000cf1: SHL
00000cf2: SUB
00000cf3: DUP4
00000cf4: AND
00000cf5: PUSH1 0x00
00000cf7: SWAP1
00000cf8: DUP2
00000cf9: MSTORE
00000cfa: PUSH1 0xc9
00000cfc: PUSH1 0x20
00000cfe: MSTORE
00000cff: PUSH1 0x40
00000d01: SWAP1
00000d02: DUP2
00000d03: SWAP1
00000d04: KECCAK256
00000d05: PUSH1 0x04
00000d07: ADD
00000d08: SLOAD
00000d09: SWAP1
00000d0a: MLOAD
00000d0b: PUSH32 0x4e2746c7657bbec4d53a9c8ae5d432680b93d5a8479882aa161af6e253229ffb
00000d2c: SWAP3
00000d2d: PUSH2 0x0d39
00000d30: SWAP3
00000d31: DUP7
00000d32: SWAP3
00000d33: DUP7
00000d34: SWAP1
00000d35: PUSH2 0x45af
00000d38: JUMP
00000d39: JUMPDEST
00000d3a: PUSH1 0x40
00000d3c: MLOAD
00000d3d: DUP1
00000d3e: SWAP2
00000d3f: SUB
00000d40: SWAP1
00000d41: LOG1
00000d42: PUSH1 0x01
00000d44: PUSH1 0x01
00000d46: PUSH1 0xa0
00000d48: SHL
00000d49: SUB
00000d4a: SWAP1
00000d4b: SWAP2
00000d4c: AND
00000d4d: PUSH1 0x00
00000d4f: SWAP1
00000d50: DUP2
00000d51: MSTORE
00000d52: PUSH1 0xc9
00000d54: PUSH1 0x20
00000d56: MSTORE
00000d57: PUSH1 0x40
00000d59: SWAP1
00000d5a: KECCAK256
00000d5b: PUSH1 0x04
00000d5d: ADD
00000d5e: SSTORE
00000d5f: JUMP
00000d60: JUMPDEST
00000d61: PUSH2 0x0d68
00000d64: PUSH2 0x25f3
00000d67: JUMP
00000d68: JUMPDEST
00000d69: PUSH1 0x01
00000d6b: PUSH1 0x01
00000d6d: PUSH1 0xa0
00000d6f: SHL
00000d70: SUB
00000d71: DUP2
00000d72: AND
00000d73: PUSH2 0x0d8e
00000d76: JUMPI
00000d77: PUSH1 0x40
00000d79: MLOAD
00000d7a: PUSH3 0x461bcd
00000d7e: PUSH1 0xe5
00000d80: SHL
00000d81: DUP2
00000d82: MSTORE
00000d83: PUSH1 0x04
00000d85: ADD
00000d86: PUSH2 0x0310
00000d89: SWAP1
00000d8a: PUSH2 0x462b
00000d8d: JUMP
00000d8e: JUMPDEST
00000d8f: PUSH2 0x012e
00000d92: SLOAD
00000d93: PUSH1 0x01
00000d95: PUSH1 0x01
00000d97: PUSH1 0xa0
00000d99: SHL
00000d9a: SUB
00000d9b: DUP1
00000d9c: DUP4
00000d9d: AND
00000d9e: SWAP2
00000d9f: AND
00000da0: SUB
00000da1: PUSH2 0x0dbc
00000da4: JUMPI
00000da5: PUSH1 0x40
00000da7: MLOAD
00000da8: PUSH3 0x461bcd
00000dac: PUSH1 0xe5
00000dae: SHL
00000daf: DUP2
00000db0: MSTORE
00000db1: PUSH1 0x04
00000db3: ADD
00000db4: PUSH2 0x0310
00000db7: SWAP1
00000db8: PUSH2 0x4695
00000dbb: JUMP
00000dbc: JUMPDEST
00000dbd: PUSH2 0x012e
00000dc0: DUP1
00000dc1: SLOAD
00000dc2: PUSH1 0x01
00000dc4: PUSH1 0x01
00000dc6: PUSH1 0xa0
00000dc8: SHL
00000dc9: SUB
00000dca: NOT
00000dcb: AND
00000dcc: PUSH1 0x01
00000dce: PUSH1 0x01
00000dd0: PUSH1 0xa0
00000dd2: SHL
00000dd3: SUB
00000dd4: SWAP3
00000dd5: SWAP1
00000dd6: SWAP3
00000dd7: AND
00000dd8: SWAP2
00000dd9: SWAP1
00000dda: SWAP2
00000ddb: OR
00000ddc: SWAP1
00000ddd: SSTORE
00000dde: JUMP
00000ddf: JUMPDEST
00000de0: PUSH1 0x01
00000de2: PUSH1 0x01
00000de4: PUSH1 0xa0
00000de6: SHL
00000de7: SUB
00000de8: PUSH32 0x000000000000000000000000bdae358dc3b0389a5532d011a8b4098ffda11836
00000e09: AND
00000e0a: ADDRESS
00000e0b: SUB
00000e0c: PUSH2 0x0e27
00000e0f: JUMPI
00000e10: PUSH1 0x40
00000e12: MLOAD
00000e13: PUSH3 0x461bcd
00000e17: PUSH1 0xe5
00000e19: SHL
00000e1a: DUP2
00000e1b: MSTORE
00000e1c: PUSH1 0x04
00000e1e: ADD
00000e1f: PUSH2 0x0310
00000e22: SWAP1
00000e23: PUSH2 0x4546
00000e26: JUMP
00000e27: JUMPDEST
00000e28: PUSH32 0x000000000000000000000000bdae358dc3b0389a5532d011a8b4098ffda11836
00000e49: PUSH1 0x01
00000e4b: PUSH1 0x01
00000e4d: PUSH1 0xa0
00000e4f: SHL
00000e50: SUB
00000e51: AND
00000e52: PUSH2 0x0e82
00000e55: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00000e76: SLOAD
00000e77: PUSH1 0x01
00000e79: PUSH1 0x01
00000e7b: PUSH1 0xa0
00000e7d: SHL
00000e7e: SUB
00000e7f: AND
00000e80: SWAP1
00000e81: JUMP
00000e82: JUMPDEST
00000e83: PUSH1 0x01
00000e85: PUSH1 0x01
00000e87: PUSH1 0xa0
00000e89: SHL
00000e8a: SUB
00000e8b: AND
00000e8c: EQ
00000e8d: PUSH2 0x0ea8
00000e90: JUMPI
00000e91: PUSH1 0x40
00000e93: MLOAD
00000e94: PUSH3 0x461bcd
00000e98: PUSH1 0xe5
00000e9a: SHL
00000e9b: DUP2
00000e9c: MSTORE
00000e9d: PUSH1 0x04
00000e9f: ADD
00000ea0: PUSH2 0x0310
00000ea3: SWAP1
00000ea4: PUSH2 0x459f
00000ea7: JUMP
00000ea8: JUMPDEST
00000ea9: PUSH2 0x0eb1
00000eac: DUP3
00000ead: PUSH2 0x27d4
00000eb0: JUMP
00000eb1: JUMPDEST
00000eb2: PUSH2 0x0ebd
00000eb5: DUP3
00000eb6: DUP3
00000eb7: PUSH1 0x01
00000eb9: PUSH2 0x27eb
00000ebc: JUMP
00000ebd: JUMPDEST
00000ebe: POP
00000ebf: POP
00000ec0: JUMP
00000ec1: JUMPDEST
00000ec2: PUSH1 0x00
00000ec4: ADDRESS
00000ec5: PUSH1 0x01
00000ec7: PUSH1 0x01
00000ec9: PUSH1 0xa0
00000ecb: SHL
00000ecc: SUB
00000ecd: PUSH32 0x000000000000000000000000bdae358dc3b0389a5532d011a8b4098ffda11836
00000eee: AND
00000eef: EQ
00000ef0: PUSH2 0x0f0b
00000ef3: JUMPI
00000ef4: PUSH1 0x40
00000ef6: MLOAD
00000ef7: PUSH3 0x461bcd
00000efb: PUSH1 0xe5
00000efd: SHL
00000efe: DUP2
00000eff: MSTORE
00000f00: PUSH1 0x04
00000f02: ADD
00000f03: PUSH2 0x0310
00000f06: SWAP1
00000f07: PUSH2 0x46ff
00000f0a: JUMP
00000f0b: JUMPDEST
00000f0c: POP
00000f0d: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00000f2e: SWAP1
00000f2f: JUMP
00000f30: JUMPDEST
00000f31: PUSH2 0x0f38
00000f34: PUSH2 0x25f3
00000f37: JUMP
00000f38: JUMPDEST
00000f39: PUSH2 0x0f41
00000f3c: DUP3
00000f3d: PUSH2 0x0b6b
00000f40: JUMP
00000f41: JUMPDEST
00000f42: PUSH2 0x0f5d
00000f45: JUMPI
00000f46: PUSH1 0x40
00000f48: MLOAD
00000f49: PUSH3 0x461bcd
00000f4d: PUSH1 0xe5
00000f4f: SHL
00000f50: DUP2
00000f51: MSTORE
00000f52: PUSH1 0x04
00000f54: ADD
00000f55: PUSH2 0x0310
00000f58: SWAP1
00000f59: PUSH2 0x44c5
00000f5c: JUMP
00000f5d: JUMPDEST
00000f5e: PUSH1 0xc8
00000f60: SLOAD
00000f61: PUSH1 0x01
00000f63: PUSH1 0x01
00000f65: PUSH1 0xa0
00000f67: SHL
00000f68: SUB
00000f69: DUP4
00000f6a: AND
00000f6b: PUSH1 0x00
00000f6d: SWAP1
00000f6e: DUP2
00000f6f: MSTORE
00000f70: PUSH1 0xc9
00000f72: PUSH1 0x20
00000f74: MSTORE
00000f75: PUSH1 0x40
00000f77: SWAP1
00000f78: DUP2
00000f79: SWAP1
00000f7a: KECCAK256
00000f7b: PUSH1 0x05
00000f7d: ADD
00000f7e: SLOAD
00000f7f: SWAP1
00000f80: MLOAD
00000f81: PUSH32 0xb9c2d22dbf31b05651eadf1ede6f87e23acf9db9d8d82de6c69d53aa46ecc2c2
00000fa2: SWAP3
00000fa3: PUSH2 0x0faf
00000fa6: SWAP3
00000fa7: DUP7
00000fa8: SWAP3
00000fa9: DUP7
00000faa: SWAP1
00000fab: PUSH2 0x45af
00000fae: JUMP
00000faf: JUMPDEST
00000fb0: PUSH1 0x40
00000fb2: MLOAD
00000fb3: DUP1
00000fb4: SWAP2
00000fb5: SUB
00000fb6: SWAP1
00000fb7: LOG1
00000fb8: PUSH1 0x01
00000fba: PUSH1 0x01
00000fbc: PUSH1 0xa0
00000fbe: SHL
00000fbf: SUB
00000fc0: SWAP1
00000fc1: SWAP2
00000fc2: AND
00000fc3: PUSH1 0x00
00000fc5: SWAP1
00000fc6: DUP2
00000fc7: MSTORE
00000fc8: PUSH1 0xc9
00000fca: PUSH1 0x20
00000fcc: MSTORE
00000fcd: PUSH1 0x40
00000fcf: SWAP1
00000fd0: KECCAK256
00000fd1: PUSH1 0x05
00000fd3: ADD
00000fd4: SSTORE
00000fd5: JUMP
00000fd6: JUMPDEST
00000fd7: PUSH2 0x0fde
00000fda: PUSH2 0x25f3
00000fdd: JUMP
00000fde: JUMPDEST
00000fdf: PUSH2 0x0fe7
00000fe2: DUP2
00000fe3: PUSH2 0x0b6b
00000fe6: JUMP
00000fe7: JUMPDEST
00000fe8: PUSH2 0x1003
00000feb: JUMPI
00000fec: PUSH1 0x40
00000fee: MLOAD
00000fef: PUSH3 0x461bcd
00000ff3: PUSH1 0xe5
00000ff5: SHL
00000ff6: DUP2
00000ff7: MSTORE
00000ff8: PUSH1 0x04
00000ffa: ADD
00000ffb: PUSH2 0x0310
00000ffe: SWAP1
00000fff: PUSH2 0x44c5
00001002: JUMP
00001003: JUMPDEST
00001004: PUSH1 0x01
00001006: PUSH1 0x01
00001008: PUSH1 0xa0
0000100a: SHL
0000100b: SUB
0000100c: DUP2
0000100d: AND
0000100e: PUSH1 0x00
00001010: SWAP1
00001011: DUP2
00001012: MSTORE
00001013: PUSH1 0xc9
00001015: PUSH1 0x20
00001017: MSTORE
00001018: PUSH1 0x40
0000101a: SWAP1
0000101b: KECCAK256
0000101c: PUSH1 0x06
0000101e: ADD
0000101f: SLOAD
00001020: PUSH1 0xff
00001022: AND
00001023: ISZERO
00001024: PUSH2 0x103f
00001027: JUMPI
00001028: PUSH1 0x40
0000102a: MLOAD
0000102b: PUSH3 0x461bcd
0000102f: PUSH1 0xe5
00001031: SHL
00001032: DUP2
00001033: MSTORE
00001034: PUSH1 0x04
00001036: ADD
00001037: PUSH2 0x0310
0000103a: SWAP1
0000103b: PUSH2 0x474f
0000103e: JUMP
0000103f: JUMPDEST
00001040: PUSH1 0x01
00001042: PUSH1 0x01
00001044: PUSH1 0xa0
00001046: SHL
00001047: SUB
00001048: DUP2
00001049: AND
0000104a: PUSH1 0x00
0000104c: SWAP1
0000104d: DUP2
0000104e: MSTORE
0000104f: PUSH1 0xc9
00001051: PUSH1 0x20
00001053: MSTORE
00001054: PUSH1 0x40
00001056: SWAP1
00001057: DUP2
00001058: SWAP1
00001059: KECCAK256
0000105a: PUSH1 0x06
0000105c: ADD
0000105d: DUP1
0000105e: SLOAD
0000105f: PUSH1 0xff
00001061: NOT
00001062: AND
00001063: PUSH1 0x01
00001065: OR
00001066: SWAP1
00001067: SSTORE
00001068: PUSH1 0xc8
0000106a: SLOAD
0000106b: SWAP1
0000106c: MLOAD
0000106d: PUSH32 0xaf3af7664a431a2f0c37f4bad4e8a1733402871c1a886b85b673ad48353f4ec4
0000108e: SWAP2
0000108f: PUSH2 0x109a
00001092: SWAP2
00001093: DUP5
00001094: SWAP2
00001095: SWAP1
00001096: PUSH2 0x475f
00001099: JUMP
0000109a: JUMPDEST
0000109b: PUSH1 0x40
0000109d: MLOAD
0000109e: DUP1
0000109f: SWAP2
000010a0: SUB
000010a1: SWAP1
000010a2: LOG1
000010a3: POP
000010a4: JUMP
000010a5: JUMPDEST
000010a6: PUSH2 0x10ad
000010a9: PUSH2 0x25f3
000010ac: JUMP
000010ad: JUMPDEST
000010ae: PUSH2 0x10b6
000010b1: DUP2
000010b2: PUSH2 0x0b6b
000010b5: JUMP
000010b6: JUMPDEST
000010b7: PUSH2 0x10d2
000010ba: JUMPI
000010bb: PUSH1 0x40
000010bd: MLOAD
000010be: PUSH3 0x461bcd
000010c2: PUSH1 0xe5
000010c4: SHL
000010c5: DUP2
000010c6: MSTORE
000010c7: PUSH1 0x04
000010c9: ADD
000010ca: PUSH2 0x0310
000010cd: SWAP1
000010ce: PUSH2 0x44c5
000010d1: JUMP
000010d2: JUMPDEST
000010d3: PUSH32 0xbe9bb4bdca0a094babd75e3a98b1d2e2390633430d0a2f6e2b9970e2ee03fb2e
000010f4: DUP2
000010f5: PUSH1 0xc8
000010f7: SLOAD
000010f8: PUSH1 0x40
000010fa: MLOAD
000010fb: PUSH2 0x1105
000010fe: SWAP3
000010ff: SWAP2
00001100: SWAP1
00001101: PUSH2 0x475f
00001104: JUMP
00001105: JUMPDEST
00001106: PUSH1 0x40
00001108: MLOAD
00001109: DUP1
0000110a: SWAP2
0000110b: SUB
0000110c: SWAP1
0000110d: LOG1
0000110e: PUSH1 0x01
00001110: PUSH1 0x01
00001112: PUSH1 0xa0
00001114: SHL
00001115: SUB
00001116: DUP2
00001117: AND
00001118: PUSH1 0x00
0000111a: SWAP1
0000111b: DUP2
0000111c: MSTORE
0000111d: PUSH1 0xc9
0000111f: PUSH1 0x20
00001121: MSTORE
00001122: PUSH1 0x40
00001124: DUP2
00001125: KECCAK256
00001126: DUP1
00001127: SLOAD
00001128: PUSH1 0x01
0000112a: PUSH1 0x01
0000112c: PUSH1 0xa0
0000112e: SHL
0000112f: SUB
00001130: NOT
00001131: SWAP1
00001132: DUP2
00001133: AND
00001134: DUP3
00001135: SSTORE
00001136: PUSH1 0x01
00001138: DUP3
00001139: ADD
0000113a: DUP1
0000113b: SLOAD
0000113c: SWAP1
0000113d: SWAP2
0000113e: AND
0000113f: SWAP1
00001140: SSTORE
00001141: SWAP1
00001142: PUSH2 0x114e
00001145: PUSH1 0x02
00001147: DUP4
00001148: ADD
00001149: DUP3
0000114a: PUSH2 0x34d2
0000114d: JUMP
0000114e: JUMPDEST
0000114f: PUSH2 0x115c
00001152: PUSH1 0x03
00001154: DUP4
00001155: ADD
00001156: PUSH1 0x00
00001158: PUSH2 0x34d2
0000115b: JUMP
0000115c: JUMPDEST
0000115d: POP
0000115e: PUSH1 0x00
00001160: PUSH1 0x04
00001162: DUP3
00001163: ADD
00001164: DUP2
00001165: SWAP1
00001166: SSTORE
00001167: PUSH1 0x05
00001169: DUP3
0000116a: ADD
0000116b: SSTORE
0000116c: PUSH1 0x06
0000116e: ADD
0000116f: DUP1
00001170: SLOAD
00001171: PUSH1 0xff
00001173: NOT
00001174: AND
00001175: SWAP1
00001176: SSTORE
00001177: POP
00001178: JUMP
00001179: JUMPDEST
0000117a: PUSH2 0x1181
0000117d: PUSH2 0x2477
00001180: JUMP
00001181: JUMPDEST
00001182: PUSH2 0x1189
00001185: PUSH2 0x249a
00001188: JUMP
00001189: JUMPDEST
0000118a: PUSH1 0x00
0000118c: DUP4
0000118d: PUSH2 0x1197
00001190: JUMPI
00001191: PUSH1 0x0b
00001193: PUSH2 0x119a
00001196: JUMP
00001197: JUMPDEST
00001198: PUSH1 0x0c
0000119a: JUMPDEST
0000119b: SWAP1
0000119c: POP
0000119d: PUSH2 0x11dd
000011a0: DUP6
000011a1: DUP3
000011a2: DUP6
000011a3: DUP6
000011a4: DUP1
000011a5: DUP1
000011a6: PUSH1 0x1f
000011a8: ADD
000011a9: PUSH1 0x20
000011ab: DUP1
000011ac: SWAP2
000011ad: DIV
000011ae: MUL
000011af: PUSH1 0x20
000011b1: ADD
000011b2: PUSH1 0x40
000011b4: MLOAD
000011b5: SWAP1
000011b6: DUP2
000011b7: ADD
000011b8: PUSH1 0x40
000011ba: MSTORE
000011bb: DUP1
000011bc: SWAP4
000011bd: SWAP3
000011be: SWAP2
000011bf: SWAP1
000011c0: DUP2
000011c1: DUP2
000011c2: MSTORE
000011c3: PUSH1 0x20
000011c5: ADD
000011c6: DUP4
000011c7: DUP4
000011c8: DUP1
000011c9: DUP3
000011ca: DUP5
000011cb: CALLDATACOPY
000011cc: PUSH1 0x00
000011ce: SWAP3
000011cf: ADD
000011d0: SWAP2
000011d1: SWAP1
000011d2: SWAP2
000011d3: MSTORE
000011d4: POP
000011d5: PUSH2 0x24c3
000011d8: SWAP3
000011d9: POP
000011da: POP
000011db: POP
000011dc: JUMP
000011dd: JUMPDEST
000011de: POP
000011df: PUSH2 0x11e8
000011e2: PUSH1 0x01
000011e4: PUSH1 0xfb
000011e6: SSTORE
000011e7: JUMP
000011e8: JUMPDEST
000011e9: POP
000011ea: POP
000011eb: POP
000011ec: POP
000011ed: JUMP
000011ee: JUMPDEST
000011ef: PUSH2 0x11f6
000011f2: PUSH2 0x2477
000011f5: JUMP
000011f6: JUMPDEST
000011f7: PUSH2 0x11fe
000011fa: PUSH2 0x249a
000011fd: JUMP
000011fe: JUMPDEST
000011ff: PUSH2 0x0194
00001202: SLOAD
00001203: PUSH1 0x40
00001205: MLOAD
00001206: PUSH4 0x39beaa9b
0000120b: PUSH1 0xe1
0000120d: SHL
0000120e: DUP2
0000120f: MSTORE
00001210: PUSH1 0x01
00001212: PUSH1 0x01
00001214: PUSH1 0xa0
00001216: SHL
00001217: SUB
00001218: SWAP1
00001219: SWAP2
0000121a: AND
0000121b: SWAP1
0000121c: PUSH4 0x737d5536
00001221: SWAP1
00001222: PUSH2 0x123c
00001225: SWAP1
00001226: DUP12
00001227: SWAP1
00001228: DUP12
00001229: SWAP1
0000122a: DUP12
0000122b: SWAP1
0000122c: DUP12
0000122d: SWAP1
0000122e: DUP12
0000122f: SWAP1
00001230: CALLER
00001231: SWAP1
00001232: PUSH1 0x00
00001234: SWAP1
00001235: PUSH1 0x04
00001237: ADD
00001238: PUSH2 0x478f
0000123b: JUMP
0000123c: JUMPDEST
0000123d: PUSH1 0x20
0000123f: PUSH1 0x40
00001241: MLOAD
00001242: DUP1
00001243: DUP4
00001244: SUB
00001245: DUP2
00001246: PUSH1 0x00
00001248: DUP8
00001249: GAS
0000124a: CALL
0000124b: ISZERO
0000124c: DUP1
0000124d: ISZERO
0000124e: PUSH2 0x125b
00001251: JUMPI
00001252: RETURNDATASIZE
00001253: PUSH1 0x00
00001255: DUP1
00001256: RETURNDATACOPY
00001257: RETURNDATASIZE
00001258: PUSH1 0x00
0000125a: REVERT
0000125b: JUMPDEST
0000125c: POP
0000125d: POP
0000125e: POP
0000125f: POP
00001260: PUSH1 0x40
00001262: MLOAD
00001263: RETURNDATASIZE
00001264: PUSH1 0x1f
00001266: NOT
00001267: PUSH1 0x1f
00001269: DUP3
0000126a: ADD
0000126b: AND
0000126c: DUP3
0000126d: ADD
0000126e: DUP1
0000126f: PUSH1 0x40
00001271: MSTORE
00001272: POP
00001273: DUP2
00001274: ADD
00001275: SWAP1
00001276: PUSH2 0x127f
00001279: SWAP2
0000127a: SWAP1
0000127b: PUSH2 0x4412
0000127e: JUMP
0000127f: JUMPDEST
00001280: PUSH2 0x129b
00001283: JUMPI
00001284: PUSH1 0x40
00001286: MLOAD
00001287: PUSH3 0x461bcd
0000128b: PUSH1 0xe5
0000128d: SHL
0000128e: DUP2
0000128f: MSTORE
00001290: PUSH1 0x04
00001292: ADD
00001293: PUSH2 0x0310
00001296: SWAP1
00001297: PUSH2 0x4477
0000129a: JUMP
0000129b: JUMPDEST
0000129c: PUSH1 0x00
0000129e: DUP4
0000129f: PUSH2 0x12a9
000012a2: JUMPI
000012a3: PUSH1 0x0d
000012a5: PUSH2 0x12ac
000012a8: JUMP
000012a9: JUMPDEST
000012aa: PUSH1 0x0e
000012ac: JUMPDEST
000012ad: SWAP1
000012ae: POP
000012af: PUSH2 0x12f2
000012b2: DUP10
000012b3: DUP10
000012b4: DUP10
000012b5: DUP10
000012b6: DUP6
000012b7: DUP9
000012b8: DUP9
000012b9: DUP1
000012ba: DUP1
000012bb: PUSH1 0x1f
000012bd: ADD
000012be: PUSH1 0x20
000012c0: DUP1
000012c1: SWAP2
000012c2: DIV
000012c3: MUL
000012c4: PUSH1 0x20
000012c6: ADD
000012c7: PUSH1 0x40
000012c9: MLOAD
000012ca: SWAP1
000012cb: DUP2
000012cc: ADD
000012cd: PUSH1 0x40
000012cf: MSTORE
000012d0: DUP1
000012d1: SWAP4
000012d2: SWAP3
000012d3: SWAP2
000012d4: SWAP1
000012d5: DUP2
000012d6: DUP2
000012d7: MSTORE
000012d8: PUSH1 0x20
000012da: ADD
000012db: DUP4
000012dc: DUP4
000012dd: DUP1
000012de: DUP3
000012df: DUP5
000012e0: CALLDATACOPY
000012e1: PUSH1 0x00
000012e3: SWAP3
000012e4: ADD
000012e5: SWAP2
000012e6: SWAP1
000012e7: SWAP2
000012e8: MSTORE
000012e9: POP
000012ea: PUSH2 0x261d
000012ed: SWAP3
000012ee: POP
000012ef: POP
000012f0: POP
000012f1: JUMP
000012f2: JUMPDEST
000012f3: POP
000012f4: PUSH2 0x12fd
000012f7: PUSH1 0x01
000012f9: PUSH1 0xfb
000012fb: SSTORE
000012fc: JUMP
000012fd: JUMPDEST
000012fe: POP
000012ff: POP
00001300: POP
00001301: POP
00001302: POP
00001303: POP
00001304: POP
00001305: POP
00001306: JUMP
00001307: JUMPDEST
00001308: PUSH1 0xc9
0000130a: PUSH1 0x20
0000130c: MSTORE
0000130d: PUSH1 0x00
0000130f: SWAP1
00001310: DUP2
00001311: MSTORE
00001312: PUSH1 0x40
00001314: SWAP1
00001315: KECCAK256
00001316: DUP1
00001317: SLOAD
00001318: PUSH1 0x01
0000131a: DUP3
0000131b: ADD
0000131c: SLOAD
0000131d: PUSH1 0x02
0000131f: DUP4
00001320: ADD
00001321: DUP1
00001322: SLOAD
00001323: PUSH1 0x01
00001325: PUSH1 0x01
00001327: PUSH1 0xa0
00001329: SHL
0000132a: SUB
0000132b: SWAP4
0000132c: DUP5
0000132d: AND
0000132e: SWAP5
0000132f: SWAP3
00001330: SWAP1
00001331: SWAP4
00001332: AND
00001333: SWAP3
00001334: PUSH2 0x133c
00001337: SWAP1
00001338: PUSH2 0x4803
0000133b: JUMP
0000133c: JUMPDEST
0000133d: DUP1
0000133e: PUSH1 0x1f
00001340: ADD
00001341: PUSH1 0x20
00001343: DUP1
00001344: SWAP2
00001345: DIV
00001346: MUL
00001347: PUSH1 0x20
00001349: ADD
0000134a: PUSH1 0x40
0000134c: MLOAD
0000134d: SWAP1
0000134e: DUP2
0000134f: ADD
00001350: PUSH1 0x40
00001352: MSTORE
00001353: DUP1
00001354: SWAP3
00001355: SWAP2
00001356: SWAP1
00001357: DUP2
00001358: DUP2
00001359: MSTORE
0000135a: PUSH1 0x20
0000135c: ADD
0000135d: DUP3
0000135e: DUP1
0000135f: SLOAD
00001360: PUSH2 0x1368
00001363: SWAP1
00001364: PUSH2 0x4803
00001367: JUMP
00001368: JUMPDEST
00001369: DUP1
0000136a: ISZERO
0000136b: PUSH2 0x13b5
0000136e: JUMPI
0000136f: DUP1
00001370: PUSH1 0x1f
00001372: LT
00001373: PUSH2 0x138a
00001376: JUMPI
00001377: PUSH2 0x0100
0000137a: DUP1
0000137b: DUP4
0000137c: SLOAD
0000137d: DIV
0000137e: MUL
0000137f: DUP4
00001380: MSTORE
00001381: SWAP2
00001382: PUSH1 0x20
00001384: ADD
00001385: SWAP2
00001386: PUSH2 0x13b5
00001389: JUMP
0000138a: JUMPDEST
0000138b: DUP3
0000138c: ADD
0000138d: SWAP2
0000138e: SWAP1
0000138f: PUSH1 0x00
00001391: MSTORE
00001392: PUSH1 0x20
00001394: PUSH1 0x00
00001396: KECCAK256
00001397: SWAP1
00001398: JUMPDEST
00001399: DUP2
0000139a: SLOAD
0000139b: DUP2
0000139c: MSTORE
0000139d: SWAP1
0000139e: PUSH1 0x01
000013a0: ADD
000013a1: SWAP1
000013a2: PUSH1 0x20
000013a4: ADD
000013a5: DUP1
000013a6: DUP4
000013a7: GT
000013a8: PUSH2 0x1398
000013ab: JUMPI
000013ac: DUP3
000013ad: SWAP1
000013ae: SUB
000013af: PUSH1 0x1f
000013b1: AND
000013b2: DUP3
000013b3: ADD
000013b4: SWAP2
000013b5: JUMPDEST
000013b6: POP
000013b7: POP
000013b8: POP
000013b9: POP
000013ba: POP
000013bb: SWAP1
000013bc: DUP1
000013bd: PUSH1 0x03
000013bf: ADD
000013c0: DUP1
000013c1: SLOAD
000013c2: PUSH2 0x13ca
000013c5: SWAP1
000013c6: PUSH2 0x4803
000013c9: JUMP
000013ca: JUMPDEST
000013cb: DUP1
000013cc: PUSH1 0x1f
000013ce: ADD
000013cf: PUSH1 0x20
000013d1: DUP1
000013d2: SWAP2
000013d3: DIV
000013d4: MUL
000013d5: PUSH1 0x20
000013d7: ADD
000013d8: PUSH1 0x40
000013da: MLOAD
000013db: SWAP1
000013dc: DUP2
000013dd: ADD
000013de: PUSH1 0x40
000013e0: MSTORE
000013e1: DUP1
000013e2: SWAP3
000013e3: SWAP2
000013e4: SWAP1
000013e5: DUP2
000013e6: DUP2
000013e7: MSTORE
000013e8: PUSH1 0x20
000013ea: ADD
000013eb: DUP3
000013ec: DUP1
000013ed: SLOAD
000013ee: PUSH2 0x13f6
000013f1: SWAP1
000013f2: PUSH2 0x4803
000013f5: JUMP
000013f6: JUMPDEST
000013f7: DUP1
000013f8: ISZERO
000013f9: PUSH2 0x1443
000013fc: JUMPI
000013fd: DUP1
000013fe: PUSH1 0x1f
00001400: LT
00001401: PUSH2 0x1418
00001404: JUMPI
00001405: PUSH2 0x0100
00001408: DUP1
00001409: DUP4
0000140a: SLOAD
0000140b: DIV
0000140c: MUL
0000140d: DUP4
0000140e: MSTORE
0000140f: SWAP2
00001410: PUSH1 0x20
00001412: ADD
00001413: SWAP2
00001414: PUSH2 0x1443
00001417: JUMP
00001418: JUMPDEST
00001419: DUP3
0000141a: ADD
0000141b: SWAP2
0000141c: SWAP1
0000141d: PUSH1 0x00
0000141f: MSTORE
00001420: PUSH1 0x20
00001422: PUSH1 0x00
00001424: KECCAK256
00001425: SWAP1
00001426: JUMPDEST
00001427: DUP2
00001428: SLOAD
00001429: DUP2
0000142a: MSTORE
0000142b: SWAP1
0000142c: PUSH1 0x01
0000142e: ADD
0000142f: SWAP1
00001430: PUSH1 0x20
00001432: ADD
00001433: DUP1
00001434: DUP4
00001435: GT
00001436: PUSH2 0x1426
00001439: JUMPI
0000143a: DUP3
0000143b: SWAP1
0000143c: SUB
0000143d: PUSH1 0x1f
0000143f: AND
00001440: DUP3
00001441: ADD
00001442: SWAP2
00001443: JUMPDEST
00001444: POP
00001445: POP
00001446: POP
00001447: POP
00001448: PUSH1 0x04
0000144a: DUP4
0000144b: ADD
0000144c: SLOAD
0000144d: PUSH1 0x05
0000144f: DUP5
00001450: ADD
00001451: SLOAD
00001452: PUSH1 0x06
00001454: SWAP1
00001455: SWAP5
00001456: ADD
00001457: SLOAD
00001458: SWAP3
00001459: SWAP4
0000145a: SWAP1
0000145b: SWAP3
0000145c: SWAP1
0000145d: SWAP2
0000145e: POP
0000145f: PUSH1 0xff
00001461: AND
00001462: DUP8
00001463: JUMP
00001464: JUMPDEST
00001465: PUSH2 0x146c
00001468: PUSH2 0x2477
0000146b: JUMP
0000146c: JUMPDEST
0000146d: PUSH2 0x1474
00001470: PUSH2 0x249a
00001473: JUMP
00001474: JUMPDEST
00001475: PUSH2 0x0194
00001478: SLOAD
00001479: PUSH1 0x40
0000147b: MLOAD
0000147c: PUSH4 0x3ed959bb
00001481: PUSH1 0xe2
00001483: SHL
00001484: DUP2
00001485: MSTORE
00001486: PUSH1 0x01
00001488: PUSH1 0x01
0000148a: PUSH1 0xa0
0000148c: SHL
0000148d: SUB
0000148e: SWAP1
0000148f: SWAP2
00001490: AND
00001491: SWAP1
00001492: PUSH4 0xfb6566ec
00001497: SWAP1
00001498: PUSH2 0x14ab
0000149b: SWAP1
0000149c: DUP9
0000149d: SWAP1
0000149e: DUP9
0000149f: SWAP1
000014a0: CALLER
000014a1: SWAP1
000014a2: CALLVALUE
000014a3: SWAP1
000014a4: PUSH1 0x04
000014a6: ADD
000014a7: PUSH2 0x4829
000014aa: JUMP
000014ab: JUMPDEST
000014ac: PUSH1 0x20
000014ae: PUSH1 0x40
000014b0: MLOAD
000014b1: DUP1
000014b2: DUP4
000014b3: SUB
000014b4: DUP2
000014b5: PUSH1 0x00
000014b7: DUP8
000014b8: GAS
000014b9: CALL
000014ba: ISZERO
000014bb: DUP1
000014bc: ISZERO
000014bd: PUSH2 0x14ca
000014c0: JUMPI
000014c1: RETURNDATASIZE
000014c2: PUSH1 0x00
000014c4: DUP1
000014c5: RETURNDATACOPY
000014c6: RETURNDATASIZE
000014c7: PUSH1 0x00
000014c9: REVERT
000014ca: JUMPDEST
000014cb: POP
000014cc: POP
000014cd: POP
000014ce: POP
000014cf: PUSH1 0x40
000014d1: MLOAD
000014d2: RETURNDATASIZE
000014d3: PUSH1 0x1f
000014d5: NOT
000014d6: PUSH1 0x1f
000014d8: DUP3
000014d9: ADD
000014da: AND
000014db: DUP3
000014dc: ADD
000014dd: DUP1
000014de: PUSH1 0x40
000014e0: MSTORE
000014e1: POP
000014e2: DUP2
000014e3: ADD
000014e4: SWAP1
000014e5: PUSH2 0x14ee
000014e8: SWAP2
000014e9: SWAP1
000014ea: PUSH2 0x4412
000014ed: JUMP
000014ee: JUMPDEST
000014ef: PUSH2 0x150a
000014f2: JUMPI
000014f3: PUSH1 0x40
000014f5: MLOAD
000014f6: PUSH3 0x461bcd
000014fa: PUSH1 0xe5
000014fc: SHL
000014fd: DUP2
000014fe: MSTORE
000014ff: PUSH1 0x04
00001501: ADD
00001502: PUSH2 0x0310
00001505: SWAP1
00001506: PUSH2 0x4477
00001509: JUMP
0000150a: JUMPDEST
0000150b: PUSH1 0x00
0000150d: DUP4
0000150e: PUSH2 0x1518
00001511: JUMPI
00001512: PUSH1 0x0d
00001514: PUSH2 0x151b
00001517: JUMP
00001518: JUMPDEST
00001519: PUSH1 0x0e
0000151b: JUMPDEST
0000151c: SWAP1
0000151d: POP
0000151e: PUSH2 0x155e
00001521: DUP7
00001522: DUP3
00001523: DUP6
00001524: DUP6
00001525: DUP1
00001526: DUP1
00001527: PUSH1 0x1f
00001529: ADD
0000152a: PUSH1 0x20
0000152c: DUP1
0000152d: SWAP2
0000152e: DIV
0000152f: MUL
00001530: PUSH1 0x20
00001532: ADD
00001533: PUSH1 0x40
00001535: MLOAD
00001536: SWAP1
00001537: DUP2
00001538: ADD
00001539: PUSH1 0x40
0000153b: MSTORE
0000153c: DUP1
0000153d: SWAP4
0000153e: SWAP3
0000153f: SWAP2
00001540: SWAP1
00001541: DUP2
00001542: DUP2
00001543: MSTORE
00001544: PUSH1 0x20
00001546: ADD
00001547: DUP4
00001548: DUP4
00001549: DUP1
0000154a: DUP3
0000154b: DUP5
0000154c: CALLDATACOPY
0000154d: PUSH1 0x00
0000154f: SWAP3
00001550: ADD
00001551: SWAP2
00001552: SWAP1
00001553: SWAP2
00001554: MSTORE
00001555: POP
00001556: PUSH2 0x24c3
00001559: SWAP3
0000155a: POP
0000155b: POP
0000155c: POP
0000155d: JUMP
0000155e: JUMPDEST
0000155f: POP
00001560: PUSH2 0x1569
00001563: PUSH1 0x01
00001565: PUSH1 0xfb
00001567: SSTORE
00001568: JUMP
00001569: JUMPDEST
0000156a: POP
0000156b: POP
0000156c: POP
0000156d: POP
0000156e: POP
0000156f: JUMP
00001570: JUMPDEST
00001571: PUSH2 0x1578
00001574: PUSH2 0x25f3
00001577: JUMP
00001578: JUMPDEST
00001579: PUSH2 0x0cb8
0000157c: PUSH1 0x00
0000157e: PUSH2 0x2952
00001581: JUMP
00001582: JUMPDEST
00001583: PUSH2 0x158a
00001586: PUSH2 0x2477
00001589: JUMP
0000158a: JUMPDEST
0000158b: PUSH2 0x1592
0000158e: PUSH2 0x249a
00001591: JUMP
00001592: JUMPDEST
00001593: PUSH1 0x00
00001595: DUP4
00001596: PUSH2 0x15a0
00001599: JUMPI
0000159a: PUSH1 0x0b
0000159c: PUSH2 0x0b11
0000159f: JUMP
000015a0: JUMPDEST
000015a1: PUSH1 0x0c
000015a3: SWAP1
000015a4: POP
000015a5: PUSH2 0x0b57
000015a8: DUP9
000015a9: DUP9
000015aa: DUP9
000015ab: DUP9
000015ac: DUP6
000015ad: DUP9
000015ae: DUP9
000015af: DUP1
000015b0: DUP1
000015b1: PUSH1 0x1f
000015b3: ADD
000015b4: PUSH1 0x20
000015b6: DUP1
000015b7: SWAP2
000015b8: DIV
000015b9: MUL
000015ba: PUSH1 0x20
000015bc: ADD
000015bd: PUSH1 0x40
000015bf: MLOAD
000015c0: SWAP1
000015c1: DUP2
000015c2: ADD
000015c3: PUSH1 0x40
000015c5: MSTORE
000015c6: DUP1
000015c7: SWAP4
000015c8: SWAP3
000015c9: SWAP2
000015ca: SWAP1
000015cb: DUP2
000015cc: DUP2
000015cd: MSTORE
000015ce: PUSH1 0x20
000015d0: ADD
000015d1: DUP4
000015d2: DUP4
000015d3: DUP1
000015d4: DUP3
000015d5: DUP5
000015d6: CALLDATACOPY
000015d7: PUSH1 0x00
000015d9: SWAP3
000015da: ADD
000015db: SWAP2
000015dc: SWAP1
000015dd: SWAP2
000015de: MSTORE
000015df: POP
000015e0: PUSH2 0x261d
000015e3: SWAP3
000015e4: POP
000015e5: POP
000015e6: POP
000015e7: JUMP
000015e8: JUMPDEST
000015e9: PUSH2 0x15f0
000015ec: PUSH2 0x25f3
000015ef: JUMP
000015f0: JUMPDEST
000015f1: PUSH2 0x15f8
000015f4: PUSH2 0x2477
000015f7: JUMP
000015f8: JUMPDEST
000015f9: PUSH2 0x0cb8
000015fc: PUSH2 0x29a4
000015ff: JUMP
00001600: JUMPDEST
00001601: PUSH2 0x1608
00001604: PUSH2 0x25f3
00001607: JUMP
00001608: JUMPDEST
00001609: PUSH2 0x0194
0000160c: DUP1
0000160d: SLOAD
0000160e: PUSH1 0x01
00001610: PUSH1 0x01
00001612: PUSH1 0xa0
00001614: SHL
00001615: SUB
00001616: NOT
00001617: AND
00001618: PUSH1 0x01
0000161a: PUSH1 0x01
0000161c: PUSH1 0xa0
0000161e: SHL
0000161f: SUB
00001620: SWAP3
00001621: SWAP1
00001622: SWAP3
00001623: AND
00001624: SWAP2
00001625: SWAP1
00001626: SWAP2
00001627: OR
00001628: SWAP1
00001629: SSTORE
0000162a: JUMP
0000162b: JUMPDEST
0000162c: PUSH2 0x1633
0000162f: PUSH2 0x25f3
00001632: JUMP
00001633: JUMPDEST
00001634: PUSH2 0x163b
00001637: PUSH2 0x249a
0000163a: JUMP
0000163b: JUMPDEST
0000163c: PUSH1 0x01
0000163e: PUSH1 0x01
00001640: PUSH1 0xa0
00001642: SHL
00001643: SUB
00001644: DUP3
00001645: AND
00001646: PUSH1 0x00
00001648: SWAP1
00001649: DUP2
0000164a: MSTORE
0000164b: PUSH1 0xc9
0000164d: PUSH1 0x20
0000164f: MSTORE
00001650: PUSH1 0x40
00001652: SWAP1
00001653: KECCAK256
00001654: PUSH1 0x06
00001656: ADD
00001657: SLOAD
00001658: PUSH1 0xff
0000165a: AND
0000165b: PUSH2 0x1676
0000165e: JUMPI
0000165f: PUSH1 0x40
00001661: MLOAD
00001662: PUSH3 0x461bcd
00001666: PUSH1 0xe5
00001668: SHL
00001669: DUP2
0000166a: MSTORE
0000166b: PUSH1 0x04
0000166d: ADD
0000166e: PUSH2 0x0310
00001671: SWAP1
00001672: PUSH2 0x489b
00001675: JUMP
00001676: JUMPDEST
00001677: PUSH1 0x01
00001679: PUSH1 0x01
0000167b: PUSH1 0xa0
0000167d: SHL
0000167e: SUB
0000167f: DUP1
00001680: DUP4
00001681: AND
00001682: PUSH1 0x00
00001684: SWAP1
00001685: DUP2
00001686: MSTORE
00001687: PUSH1 0xc9
00001689: PUSH1 0x20
0000168b: MSTORE
0000168c: PUSH1 0x40
0000168e: SWAP1
0000168f: KECCAK256
00001690: PUSH1 0x01
00001692: ADD
00001693: SLOAD
00001694: AND
00001695: DUP1
00001696: PUSH2 0x16b1
00001699: JUMPI
0000169a: PUSH1 0x40
0000169c: MLOAD
0000169d: PUSH3 0x461bcd
000016a1: PUSH1 0xe5
000016a3: SHL
000016a4: DUP2
000016a5: MSTORE
000016a6: PUSH1 0x04
000016a8: ADD
000016a9: PUSH2 0x0310
000016ac: SWAP1
000016ad: PUSH2 0x48e0
000016b0: JUMP
000016b1: JUMPDEST
000016b2: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
000016d3: PUSH1 0x01
000016d5: PUSH1 0x01
000016d7: PUSH1 0xa0
000016d9: SHL
000016da: SUB
000016db: AND
000016dc: DUP4
000016dd: PUSH1 0x01
000016df: PUSH1 0x01
000016e1: PUSH1 0xa0
000016e3: SHL
000016e4: SUB
000016e5: AND
000016e6: SUB
000016e7: PUSH2 0x176c
000016ea: JUMPI
000016eb: PUSH1 0x00
000016ed: DUP2
000016ee: PUSH1 0x01
000016f0: PUSH1 0x01
000016f2: PUSH1 0xa0
000016f4: SHL
000016f5: SUB
000016f6: AND
000016f7: DUP4
000016f8: PUSH1 0x40
000016fa: MLOAD
000016fb: PUSH2 0x1703
000016fe: SWAP1
000016ff: PUSH2 0x48f0
00001702: JUMP
00001703: JUMPDEST
00001704: PUSH1 0x00
00001706: PUSH1 0x40
00001708: MLOAD
00001709: DUP1
0000170a: DUP4
0000170b: SUB
0000170c: DUP2
0000170d: DUP6
0000170e: DUP8
0000170f: GAS
00001710: CALL
00001711: SWAP3
00001712: POP
00001713: POP
00001714: POP
00001715: RETURNDATASIZE
00001716: DUP1
00001717: PUSH1 0x00
00001719: DUP2
0000171a: EQ
0000171b: PUSH2 0x1740
0000171e: JUMPI
0000171f: PUSH1 0x40
00001721: MLOAD
00001722: SWAP2
00001723: POP
00001724: PUSH1 0x1f
00001726: NOT
00001727: PUSH1 0x3f
00001729: RETURNDATASIZE
0000172a: ADD
0000172b: AND
0000172c: DUP3
0000172d: ADD
0000172e: PUSH1 0x40
00001730: MSTORE
00001731: RETURNDATASIZE
00001732: DUP3
00001733: MSTORE
00001734: RETURNDATASIZE
00001735: PUSH1 0x00
00001737: PUSH1 0x20
00001739: DUP5
0000173a: ADD
0000173b: RETURNDATACOPY
0000173c: PUSH2 0x1745
0000173f: JUMP
00001740: JUMPDEST
00001741: PUSH1 0x60
00001743: SWAP2
00001744: POP
00001745: JUMPDEST
00001746: POP
00001747: POP
00001748: SWAP1
00001749: POP
0000174a: DUP1
0000174b: PUSH2 0x1766
0000174e: JUMPI
0000174f: PUSH1 0x40
00001751: MLOAD
00001752: PUSH3 0x461bcd
00001756: PUSH1 0xe5
00001758: SHL
00001759: DUP2
0000175a: MSTORE
0000175b: PUSH1 0x04
0000175d: ADD
0000175e: PUSH2 0x0310
00001761: SWAP1
00001762: PUSH2 0x4939
00001765: JUMP
00001766: JUMPDEST
00001767: POP
00001768: PUSH2 0x1780
0000176b: JUMP
0000176c: JUMPDEST
0000176d: PUSH2 0x1780
00001770: PUSH1 0x01
00001772: PUSH1 0x01
00001774: PUSH1 0xa0
00001776: SHL
00001777: SUB
00001778: DUP5
00001779: AND
0000177a: DUP3
0000177b: DUP5
0000177c: PUSH2 0x29e1
0000177f: JUMP
00001780: JUMPDEST
00001781: POP
00001782: PUSH2 0x0ebd
00001785: PUSH1 0x01
00001787: PUSH1 0xfb
00001789: SSTORE
0000178a: JUMP
0000178b: JUMPDEST
0000178c: PUSH2 0x1793
0000178f: PUSH2 0x25f3
00001792: JUMP
00001793: JUMPDEST
00001794: PUSH1 0x01
00001796: PUSH1 0x01
00001798: PUSH1 0xa0
0000179a: SHL
0000179b: SUB
0000179c: DUP2
0000179d: AND
0000179e: PUSH1 0x00
000017a0: SWAP1
000017a1: DUP2
000017a2: MSTORE
000017a3: PUSH2 0x0195
000017a6: PUSH1 0x20
000017a8: MSTORE
000017a9: PUSH1 0x40
000017ab: SWAP1
000017ac: KECCAK256
000017ad: SLOAD
000017ae: PUSH1 0xff
000017b0: AND
000017b1: PUSH2 0x0c9d
000017b4: JUMPI
000017b5: PUSH1 0x01
000017b7: PUSH1 0x01
000017b9: PUSH1 0xa0
000017bb: SHL
000017bc: SUB
000017bd: DUP2
000017be: AND
000017bf: PUSH1 0x00
000017c1: SWAP1
000017c2: DUP2
000017c3: MSTORE
000017c4: PUSH2 0x0195
000017c7: PUSH1 0x20
000017c9: MSTORE
000017ca: PUSH1 0x40
000017cc: SWAP1
000017cd: KECCAK256
000017ce: DUP1
000017cf: SLOAD
000017d0: PUSH1 0xff
000017d2: NOT
000017d3: AND
000017d4: PUSH1 0x01
000017d6: OR
000017d7: SWAP1
000017d8: SSTORE
000017d9: POP
000017da: JUMP
000017db: JUMPDEST
000017dc: PUSH2 0x17e3
000017df: PUSH2 0x25f3
000017e2: JUMP
000017e3: JUMPDEST
000017e4: PUSH2 0x012f
000017e7: DUP1
000017e8: SLOAD
000017e9: PUSH1 0x01
000017eb: PUSH1 0x01
000017ed: PUSH1 0xa0
000017ef: SHL
000017f0: SUB
000017f1: NOT
000017f2: AND
000017f3: PUSH1 0x01
000017f5: PUSH1 0x01
000017f7: PUSH1 0xa0
000017f9: SHL
000017fa: SUB
000017fb: SWAP3
000017fc: SWAP1
000017fd: SWAP3
000017fe: AND
000017ff: SWAP2
00001800: SWAP1
00001801: SWAP2
00001802: OR
00001803: SWAP1
00001804: SSTORE
00001805: JUMP
00001806: JUMPDEST
00001807: PUSH2 0x180e
0000180a: PUSH2 0x2477
0000180d: JUMP
0000180e: JUMPDEST
0000180f: PUSH2 0x1816
00001812: PUSH2 0x249a
00001815: JUMP
00001816: JUMPDEST
00001817: PUSH1 0x00
00001819: DUP4
0000181a: PUSH2 0x1824
0000181d: JUMPI
0000181e: PUSH1 0x01
00001820: PUSH2 0x119a
00001823: JUMP
00001824: JUMPDEST
00001825: PUSH1 0x02
00001827: SWAP1
00001828: POP
00001829: PUSH2 0x11dd
0000182c: DUP6
0000182d: DUP3
0000182e: DUP6
0000182f: DUP6
00001830: DUP1
00001831: DUP1
00001832: PUSH1 0x1f
00001834: ADD
00001835: PUSH1 0x20
00001837: DUP1
00001838: SWAP2
00001839: DIV
0000183a: MUL
0000183b: PUSH1 0x20
0000183d: ADD
0000183e: PUSH1 0x40
00001840: MLOAD
00001841: SWAP1
00001842: DUP2
00001843: ADD
00001844: PUSH1 0x40
00001846: MSTORE
00001847: DUP1
00001848: SWAP4
00001849: SWAP3
0000184a: SWAP2
0000184b: SWAP1
0000184c: DUP2
0000184d: DUP2
0000184e: MSTORE
0000184f: PUSH1 0x20
00001851: ADD
00001852: DUP4
00001853: DUP4
00001854: DUP1
00001855: DUP3
00001856: DUP5
00001857: CALLDATACOPY
00001858: PUSH1 0x00
0000185a: SWAP3
0000185b: ADD
0000185c: SWAP2
0000185d: SWAP1
0000185e: SWAP2
0000185f: MSTORE
00001860: POP
00001861: PUSH2 0x24c3
00001864: SWAP3
00001865: POP
00001866: POP
00001867: POP
00001868: JUMP
00001869: JUMPDEST
0000186a: PUSH2 0x1871
0000186d: PUSH2 0x25f3
00001870: JUMP
00001871: JUMPDEST
00001872: PUSH2 0x0196
00001875: DUP1
00001876: SLOAD
00001877: PUSH1 0x01
00001879: PUSH1 0x01
0000187b: PUSH1 0xa0
0000187d: SHL
0000187e: SUB
0000187f: NOT
00001880: AND
00001881: PUSH1 0x01
00001883: PUSH1 0x01
00001885: PUSH1 0xa0
00001887: SHL
00001888: SUB
00001889: SWAP3
0000188a: SWAP1
0000188b: SWAP3
0000188c: AND
0000188d: SWAP2
0000188e: SWAP1
0000188f: SWAP2
00001890: OR
00001891: SWAP1
00001892: SSTORE
00001893: JUMP
00001894: JUMPDEST
00001895: PUSH2 0x189c
00001898: PUSH2 0x249a
0000189b: JUMP
0000189c: JUMPDEST
0000189d: PUSH2 0x18a4
000018a0: PUSH2 0x2477
000018a3: JUMP
000018a4: JUMPDEST
000018a5: PUSH1 0x60
000018a7: DUP3
000018a8: ADD
000018a9: MLOAD
000018aa: PUSH1 0x20
000018ac: ADD
000018ad: MLOAD
000018ae: PUSH1 0x01
000018b0: PUSH1 0x01
000018b2: PUSH1 0xa0
000018b4: SHL
000018b5: SUB
000018b6: AND
000018b7: ADDRESS
000018b8: EQ
000018b9: PUSH2 0x18d4
000018bc: JUMPI
000018bd: PUSH1 0x40
000018bf: MLOAD
000018c0: PUSH3 0x461bcd
000018c4: PUSH1 0xe5
000018c6: SHL
000018c7: DUP2
000018c8: MSTORE
000018c9: PUSH1 0x04
000018cb: ADD
000018cc: PUSH2 0x0310
000018cf: SWAP1
000018d0: PUSH2 0x498b
000018d3: JUMP
000018d4: JUMPDEST
000018d5: PUSH1 0x40
000018d7: DUP3
000018d8: ADD
000018d9: MLOAD
000018da: MLOAD
000018db: PUSH1 0xc8
000018dd: SLOAD
000018de: EQ
000018df: PUSH2 0x18fa
000018e2: JUMPI
000018e3: PUSH1 0x40
000018e5: MLOAD
000018e6: PUSH3 0x461bcd
000018ea: PUSH1 0xe5
000018ec: SHL
000018ed: DUP2
000018ee: MSTORE
000018ef: PUSH1 0x04
000018f1: ADD
000018f2: PUSH2 0x0310
000018f5: SWAP1
000018f6: PUSH2 0x49da
000018f9: JUMP
000018fa: JUMPDEST
000018fb: PUSH1 0x60
000018fd: DUP3
000018fe: ADD
000018ff: MLOAD
00001900: MLOAD
00001901: PUSH2 0x0130
00001904: SLOAD
00001905: EQ
00001906: PUSH2 0x1921
00001909: JUMPI
0000190a: PUSH1 0x40
0000190c: MLOAD
0000190d: PUSH3 0x461bcd
00001911: PUSH1 0xe5
00001913: SHL
00001914: DUP2
00001915: MSTORE
00001916: PUSH1 0x04
00001918: ADD
00001919: PUSH2 0x0310
0000191c: SWAP1
0000191d: PUSH2 0x4a1c
00001920: JUMP
00001921: JUMPDEST
00001922: PUSH1 0x80
00001924: DUP3
00001925: ADD
00001926: MLOAD
00001927: PUSH1 0x60
00001929: DUP2
0000192a: ADD
0000192b: MLOAD
0000192c: PUSH1 0x20
0000192e: DUP3
0000192f: ADD
00001930: MLOAD
00001931: PUSH1 0x40
00001933: SWAP1
00001934: SWAP3
00001935: ADD
00001936: MLOAD
00001937: SWAP1
00001938: SWAP2
00001939: SWAP1
0000193a: PUSH2 0x195e
0000193d: DUP3
0000193e: PUSH1 0x01
00001940: PUSH1 0x01
00001942: PUSH1 0xa0
00001944: SHL
00001945: SUB
00001946: AND
00001947: PUSH1 0x00
00001949: SWAP1
0000194a: DUP2
0000194b: MSTORE
0000194c: PUSH1 0xc9
0000194e: PUSH1 0x20
00001950: MSTORE
00001951: PUSH1 0x40
00001953: SWAP1
00001954: KECCAK256
00001955: PUSH1 0x06
00001957: ADD
00001958: SLOAD
00001959: PUSH1 0xff
0000195b: AND
0000195c: SWAP1
0000195d: JUMP
0000195e: JUMPDEST
0000195f: PUSH2 0x197a
00001962: JUMPI
00001963: PUSH1 0x40
00001965: MLOAD
00001966: PUSH3 0x461bcd
0000196a: PUSH1 0xe5
0000196c: SHL
0000196d: DUP2
0000196e: MSTORE
0000196f: PUSH1 0x04
00001971: ADD
00001972: PUSH2 0x0310
00001975: SWAP1
00001976: PUSH2 0x4a60
00001979: JUMP
0000197a: JUMPDEST
0000197b: PUSH1 0x00
0000197d: DUP2
0000197e: GT
0000197f: PUSH2 0x199a
00001982: JUMPI
00001983: PUSH1 0x40
00001985: MLOAD
00001986: PUSH3 0x461bcd
0000198a: PUSH1 0xe5
0000198c: SHL
0000198d: DUP2
0000198e: MSTORE
0000198f: PUSH1 0x04
00001991: ADD
00001992: PUSH2 0x0310
00001995: SWAP1
00001996: PUSH2 0x4aa4
00001999: JUMP
0000199a: JUMPDEST
0000199b: PUSH1 0x01
0000199d: PUSH1 0x01
0000199f: PUSH1 0xa0
000019a1: SHL
000019a2: SUB
000019a3: DUP3
000019a4: AND
000019a5: PUSH1 0x00
000019a7: SWAP1
000019a8: DUP2
000019a9: MSTORE
000019aa: PUSH1 0xc9
000019ac: PUSH1 0x20
000019ae: SWAP1
000019af: DUP2
000019b0: MSTORE
000019b1: PUSH1 0x40
000019b3: SWAP2
000019b4: DUP3
000019b5: SWAP1
000019b6: KECCAK256
000019b7: SWAP2
000019b8: MLOAD
000019b9: PUSH2 0x19c6
000019bc: SWAP3
000019bd: PUSH1 0x03
000019bf: ADD
000019c0: SWAP2
000019c1: ADD
000019c2: PUSH2 0x4b26
000019c5: JUMP
000019c6: JUMPDEST
000019c7: PUSH1 0x40
000019c9: MLOAD
000019ca: PUSH1 0x20
000019cc: DUP2
000019cd: DUP4
000019ce: SUB
000019cf: SUB
000019d0: DUP2
000019d1: MSTORE
000019d2: SWAP1
000019d3: PUSH1 0x40
000019d5: MSTORE
000019d6: DUP1
000019d7: MLOAD
000019d8: SWAP1
000019d9: PUSH1 0x20
000019db: ADD
000019dc: KECCAK256
000019dd: DUP6
000019de: PUSH1 0x40
000019e0: ADD
000019e1: MLOAD
000019e2: PUSH1 0x20
000019e4: ADD
000019e5: MLOAD
000019e6: PUSH1 0x40
000019e8: MLOAD
000019e9: PUSH1 0x20
000019eb: ADD
000019ec: PUSH2 0x19f5
000019ef: SWAP2
000019f0: SWAP1
000019f1: PUSH2 0x4b54
000019f4: JUMP
000019f5: JUMPDEST
000019f6: PUSH1 0x40
000019f8: MLOAD
000019f9: PUSH1 0x20
000019fb: DUP2
000019fc: DUP4
000019fd: SUB
000019fe: SUB
000019ff: DUP2
00001a00: MSTORE
00001a01: SWAP1
00001a02: PUSH1 0x40
00001a04: MSTORE
00001a05: DUP1
00001a06: MLOAD
00001a07: SWAP1
00001a08: PUSH1 0x20
00001a0a: ADD
00001a0b: KECCAK256
00001a0c: EQ
00001a0d: PUSH2 0x1a28
00001a10: JUMPI
00001a11: PUSH1 0x40
00001a13: MLOAD
00001a14: PUSH3 0x461bcd
00001a18: PUSH1 0xe5
00001a1a: SHL
00001a1b: DUP2
00001a1c: MSTORE
00001a1d: PUSH1 0x04
00001a1f: ADD
00001a20: PUSH2 0x0310
00001a23: SWAP1
00001a24: PUSH2 0x4ba4
00001a27: JUMP
00001a28: JUMPDEST
00001a29: PUSH2 0x012d
00001a2c: SLOAD
00001a2d: PUSH1 0x40
00001a2f: MLOAD
00001a30: PUSH4 0x97067823
00001a35: PUSH1 0xe0
00001a37: SHL
00001a38: DUP2
00001a39: MSTORE
00001a3a: PUSH1 0x00
00001a3c: SWAP2
00001a3d: PUSH1 0x01
00001a3f: PUSH1 0x01
00001a41: PUSH1 0xa0
00001a43: SHL
00001a44: SUB
00001a45: AND
00001a46: SWAP1
00001a47: PUSH4 0x97067823
00001a4c: SWAP1
00001a4d: PUSH2 0x1a5c
00001a50: SWAP1
00001a51: DUP10
00001a52: SWAP1
00001a53: DUP10
00001a54: SWAP1
00001a55: PUSH1 0x04
00001a57: ADD
00001a58: PUSH2 0x4cd8
00001a5b: JUMP
00001a5c: JUMPDEST
00001a5d: PUSH1 0x20
00001a5f: PUSH1 0x40
00001a61: MLOAD
00001a62: DUP1
00001a63: DUP4
00001a64: SUB
00001a65: DUP2
00001a66: PUSH1 0x00
00001a68: DUP8
00001a69: GAS
00001a6a: CALL
00001a6b: ISZERO
00001a6c: DUP1
00001a6d: ISZERO
00001a6e: PUSH2 0x1a7b
00001a71: JUMPI
00001a72: RETURNDATASIZE
00001a73: PUSH1 0x00
00001a75: DUP1
00001a76: RETURNDATACOPY
00001a77: RETURNDATASIZE
00001a78: PUSH1 0x00
00001a7a: REVERT
00001a7b: JUMPDEST
00001a7c: POP
00001a7d: POP
00001a7e: POP
00001a7f: POP
00001a80: PUSH1 0x40
00001a82: MLOAD
00001a83: RETURNDATASIZE
00001a84: PUSH1 0x1f
00001a86: NOT
00001a87: PUSH1 0x1f
00001a89: DUP3
00001a8a: ADD
00001a8b: AND
00001a8c: DUP3
00001a8d: ADD
00001a8e: DUP1
00001a8f: PUSH1 0x40
00001a91: MSTORE
00001a92: POP
00001a93: DUP2
00001a94: ADD
00001a95: SWAP1
00001a96: PUSH2 0x1a9f
00001a99: SWAP2
00001a9a: SWAP1
00001a9b: PUSH2 0x4d15
00001a9e: JUMP
00001a9f: JUMPDEST
00001aa0: SWAP1
00001aa1: POP
00001aa2: DUP1
00001aa3: PUSH1 0x02
00001aa5: DUP2
00001aa6: GT
00001aa7: ISZERO
00001aa8: PUSH2 0x1ab3
00001aab: JUMPI
00001aac: PUSH2 0x1ab3
00001aaf: PUSH2 0x4d36
00001ab2: JUMP
00001ab3: JUMPDEST
00001ab4: PUSH1 0x02
00001ab6: EQ
00001ab7: DUP1
00001ab8: PUSH2 0x1b2e
00001abb: JUMPI
00001abc: POP
00001abd: PUSH2 0x012e
00001ac0: SLOAD
00001ac1: PUSH1 0x40
00001ac3: MLOAD
00001ac4: PUSH4 0x0723eb03
00001ac9: PUSH1 0xe5
00001acb: SHL
00001acc: DUP2
00001acd: MSTORE
00001ace: PUSH1 0x01
00001ad0: PUSH1 0x01
00001ad2: PUSH1 0xa0
00001ad4: SHL
00001ad5: SUB
00001ad6: SWAP1
00001ad7: SWAP2
00001ad8: AND
00001ad9: SWAP1
00001ada: PUSH4 0xe47d6060
00001adf: SWAP1
00001ae0: PUSH2 0x1aed
00001ae3: SWAP1
00001ae4: DUP8
00001ae5: SWAP1
00001ae6: PUSH1 0x04
00001ae8: ADD
00001ae9: PUSH2 0x3dfe
00001aec: JUMP
00001aed: JUMPDEST
00001aee: PUSH1 0x20
00001af0: PUSH1 0x40
00001af2: MLOAD
00001af3: DUP1
00001af4: DUP4
00001af5: SUB
00001af6: DUP2
00001af7: DUP7
00001af8: GAS
00001af9: STATICCALL
00001afa: ISZERO
00001afb: DUP1
00001afc: ISZERO
00001afd: PUSH2 0x1b0a
00001b00: JUMPI
00001b01: RETURNDATASIZE
00001b02: PUSH1 0x00
00001b04: DUP1
00001b05: RETURNDATACOPY
00001b06: RETURNDATASIZE
00001b07: PUSH1 0x00
00001b09: REVERT
00001b0a: JUMPDEST
00001b0b: POP
00001b0c: POP
00001b0d: POP
00001b0e: POP
00001b0f: PUSH1 0x40
00001b11: MLOAD
00001b12: RETURNDATASIZE
00001b13: PUSH1 0x1f
00001b15: NOT
00001b16: PUSH1 0x1f
00001b18: DUP3
00001b19: ADD
00001b1a: AND
00001b1b: DUP3
00001b1c: ADD
00001b1d: DUP1
00001b1e: PUSH1 0x40
00001b20: MSTORE
00001b21: POP
00001b22: DUP2
00001b23: ADD
00001b24: SWAP1
00001b25: PUSH2 0x1b2e
00001b28: SWAP2
00001b29: SWAP1
00001b2a: PUSH2 0x4412
00001b2d: JUMP
00001b2e: JUMPDEST
00001b2f: ISZERO
00001b30: PUSH2 0x1c5d
00001b33: JUMPI
00001b34: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
00001b55: PUSH1 0x01
00001b57: PUSH1 0x01
00001b59: PUSH1 0xa0
00001b5b: SHL
00001b5c: SUB
00001b5d: AND
00001b5e: DUP4
00001b5f: PUSH1 0x01
00001b61: PUSH1 0x01
00001b63: PUSH1 0xa0
00001b65: SHL
00001b66: SUB
00001b67: AND
00001b68: SUB
00001b69: PUSH2 0x1bd6
00001b6c: JUMPI
00001b6d: PUSH2 0x012f
00001b70: SLOAD
00001b71: PUSH1 0x40
00001b73: MLOAD
00001b74: PUSH4 0xf435f5a7
00001b79: PUSH1 0xe0
00001b7b: SHL
00001b7c: DUP2
00001b7d: MSTORE
00001b7e: PUSH1 0x01
00001b80: PUSH1 0x01
00001b82: PUSH1 0xa0
00001b84: SHL
00001b85: SUB
00001b86: SWAP1
00001b87: SWAP2
00001b88: AND
00001b89: SWAP1
00001b8a: PUSH4 0xf435f5a7
00001b8f: SWAP1
00001b90: DUP5
00001b91: SWAP1
00001b92: PUSH2 0x1b9f
00001b95: SWAP1
00001b96: DUP9
00001b97: SWAP1
00001b98: PUSH1 0x04
00001b9a: ADD
00001b9b: PUSH2 0x3dfe
00001b9e: JUMP
00001b9f: JUMPDEST
00001ba0: PUSH1 0x00
00001ba2: PUSH1 0x40
00001ba4: MLOAD
00001ba5: DUP1
00001ba6: DUP4
00001ba7: SUB
00001ba8: DUP2
00001ba9: DUP6
00001baa: DUP9
00001bab: DUP1
00001bac: EXTCODESIZE
00001bad: ISZERO
00001bae: DUP1
00001baf: ISZERO
00001bb0: PUSH2 0x1bb8
00001bb3: JUMPI
00001bb4: PUSH1 0x00
00001bb6: DUP1
00001bb7: REVERT
00001bb8: JUMPDEST
00001bb9: POP
00001bba: GAS
00001bbb: CALL
00001bbc: ISZERO
00001bbd: DUP1
00001bbe: ISZERO
00001bbf: PUSH2 0x1bcc
00001bc2: JUMPI
00001bc3: RETURNDATASIZE
00001bc4: PUSH1 0x00
00001bc6: DUP1
00001bc7: RETURNDATACOPY
00001bc8: RETURNDATASIZE
00001bc9: PUSH1 0x00
00001bcb: REVERT
00001bcc: JUMPDEST
00001bcd: POP
00001bce: POP
00001bcf: POP
00001bd0: POP
00001bd1: POP
00001bd2: PUSH2 0x1d64
00001bd5: JUMP
00001bd6: JUMPDEST
00001bd7: PUSH2 0x012f
00001bda: SLOAD
00001bdb: PUSH2 0x1bf1
00001bde: SWAP1
00001bdf: PUSH1 0x01
00001be1: PUSH1 0x01
00001be3: PUSH1 0xa0
00001be5: SHL
00001be6: SUB
00001be7: DUP6
00001be8: DUP2
00001be9: AND
00001bea: SWAP2
00001beb: AND
00001bec: DUP5
00001bed: PUSH2 0x29e1
00001bf0: JUMP
00001bf1: JUMPDEST
00001bf2: PUSH2 0x012f
00001bf5: SLOAD
00001bf6: PUSH1 0x40
00001bf8: MLOAD
00001bf9: PUSH4 0x07750c9f
00001bfe: PUSH1 0xe4
00001c00: SHL
00001c01: DUP2
00001c02: MSTORE
00001c03: PUSH1 0x01
00001c05: PUSH1 0x01
00001c07: PUSH1 0xa0
00001c09: SHL
00001c0a: SUB
00001c0b: SWAP1
00001c0c: SWAP2
00001c0d: AND
00001c0e: SWAP1
00001c0f: PUSH4 0x7750c9f0
00001c14: SWAP1
00001c15: PUSH2 0x1c26
00001c18: SWAP1
00001c19: DUP8
00001c1a: SWAP1
00001c1b: DUP8
00001c1c: SWAP1
00001c1d: DUP8
00001c1e: SWAP1
00001c1f: PUSH1 0x04
00001c21: ADD
00001c22: PUSH2 0x4d4c
00001c25: JUMP
00001c26: JUMPDEST
00001c27: PUSH1 0x00
00001c29: PUSH1 0x40
00001c2b: MLOAD
00001c2c: DUP1
00001c2d: DUP4
00001c2e: SUB
00001c2f: DUP2
00001c30: PUSH1 0x00
00001c32: DUP8
00001c33: DUP1
00001c34: EXTCODESIZE
00001c35: ISZERO
00001c36: DUP1
00001c37: ISZERO
00001c38: PUSH2 0x1c40
00001c3b: JUMPI
00001c3c: PUSH1 0x00
00001c3e: DUP1
00001c3f: REVERT
00001c40: JUMPDEST
00001c41: POP
00001c42: GAS
00001c43: CALL
00001c44: ISZERO
00001c45: DUP1
00001c46: ISZERO
00001c47: PUSH2 0x1c54
00001c4a: JUMPI
00001c4b: RETURNDATASIZE
00001c4c: PUSH1 0x00
00001c4e: DUP1
00001c4f: RETURNDATACOPY
00001c50: RETURNDATASIZE
00001c51: PUSH1 0x00
00001c53: REVERT
00001c54: JUMPDEST
00001c55: POP
00001c56: POP
00001c57: POP
00001c58: POP
00001c59: PUSH2 0x1d64
00001c5c: JUMP
00001c5d: JUMPDEST
00001c5e: PUSH1 0x01
00001c60: DUP2
00001c61: PUSH1 0x02
00001c63: DUP2
00001c64: GT
00001c65: ISZERO
00001c66: PUSH2 0x1c71
00001c69: JUMPI
00001c6a: PUSH2 0x1c71
00001c6d: PUSH2 0x4d36
00001c70: JUMP
00001c71: JUMPDEST
00001c72: SUB
00001c73: PUSH2 0x1d4c
00001c76: JUMPI
00001c77: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
00001c98: PUSH1 0x01
00001c9a: PUSH1 0x01
00001c9c: PUSH1 0xa0
00001c9e: SHL
00001c9f: SUB
00001ca0: AND
00001ca1: DUP4
00001ca2: PUSH1 0x01
00001ca4: PUSH1 0x01
00001ca6: PUSH1 0xa0
00001ca8: SHL
00001ca9: SUB
00001caa: AND
00001cab: SUB
00001cac: PUSH2 0x1d33
00001caf: JUMPI
00001cb0: PUSH1 0x00
00001cb2: DUP5
00001cb3: PUSH1 0x01
00001cb5: PUSH1 0x01
00001cb7: PUSH1 0xa0
00001cb9: SHL
00001cba: SUB
00001cbb: AND
00001cbc: DUP4
00001cbd: PUSH1 0x40
00001cbf: MLOAD
00001cc0: PUSH2 0x1cc8
00001cc3: SWAP1
00001cc4: PUSH2 0x48f0
00001cc7: JUMP
00001cc8: JUMPDEST
00001cc9: PUSH1 0x00
00001ccb: PUSH1 0x40
00001ccd: MLOAD
00001cce: DUP1
00001ccf: DUP4
00001cd0: SUB
00001cd1: DUP2
00001cd2: DUP6
00001cd3: DUP8
00001cd4: GAS
00001cd5: CALL
00001cd6: SWAP3
00001cd7: POP
00001cd8: POP
00001cd9: POP
00001cda: RETURNDATASIZE
00001cdb: DUP1
00001cdc: PUSH1 0x00
00001cde: DUP2
00001cdf: EQ
00001ce0: PUSH2 0x1d05
00001ce3: JUMPI
00001ce4: PUSH1 0x40
00001ce6: MLOAD
00001ce7: SWAP2
00001ce8: POP
00001ce9: PUSH1 0x1f
00001ceb: NOT
00001cec: PUSH1 0x3f
00001cee: RETURNDATASIZE
00001cef: ADD
00001cf0: AND
00001cf1: DUP3
00001cf2: ADD
00001cf3: PUSH1 0x40
00001cf5: MSTORE
00001cf6: RETURNDATASIZE
00001cf7: DUP3
00001cf8: MSTORE
00001cf9: RETURNDATASIZE
00001cfa: PUSH1 0x00
00001cfc: PUSH1 0x20
00001cfe: DUP5
00001cff: ADD
00001d00: RETURNDATACOPY
00001d01: PUSH2 0x1d0a
00001d04: JUMP
00001d05: JUMPDEST
00001d06: PUSH1 0x60
00001d08: SWAP2
00001d09: POP
00001d0a: JUMPDEST
00001d0b: POP
00001d0c: POP
00001d0d: DUP1
00001d0e: SWAP2
00001d0f: POP
00001d10: POP
00001d11: DUP1
00001d12: PUSH2 0x1d2d
00001d15: JUMPI
00001d16: PUSH1 0x40
00001d18: MLOAD
00001d19: PUSH3 0x461bcd
00001d1d: PUSH1 0xe5
00001d1f: SHL
00001d20: DUP2
00001d21: MSTORE
00001d22: PUSH1 0x04
00001d24: ADD
00001d25: PUSH2 0x0310
00001d28: SWAP1
00001d29: PUSH2 0x4da8
00001d2c: JUMP
00001d2d: JUMPDEST
00001d2e: POP
00001d2f: PUSH2 0x1d64
00001d32: JUMP
00001d33: JUMPDEST
00001d34: PUSH2 0x1d47
00001d37: PUSH1 0x01
00001d39: PUSH1 0x01
00001d3b: PUSH1 0xa0
00001d3d: SHL
00001d3e: SUB
00001d3f: DUP5
00001d40: AND
00001d41: DUP6
00001d42: DUP5
00001d43: PUSH2 0x29e1
00001d46: JUMP
00001d47: JUMPDEST
00001d48: PUSH2 0x1d64
00001d4b: JUMP
00001d4c: JUMPDEST
00001d4d: PUSH1 0x40
00001d4f: MLOAD
00001d50: PUSH3 0x461bcd
00001d54: PUSH1 0xe5
00001d56: SHL
00001d57: DUP2
00001d58: MSTORE
00001d59: PUSH1 0x04
00001d5b: ADD
00001d5c: PUSH2 0x0310
00001d5f: SWAP1
00001d60: PUSH2 0x4dea
00001d63: JUMP
00001d64: JUMPDEST
00001d65: POP
00001d66: POP
00001d67: POP
00001d68: POP
00001d69: PUSH2 0x0ebd
00001d6c: PUSH1 0x01
00001d6e: PUSH1 0xfb
00001d70: SSTORE
00001d71: JUMP
00001d72: JUMPDEST
00001d73: PUSH2 0x1d7a
00001d76: PUSH2 0x25f3
00001d79: JUMP
00001d7a: JUMPDEST
00001d7b: PUSH1 0x01
00001d7d: PUSH1 0x01
00001d7f: PUSH1 0xa0
00001d81: SHL
00001d82: SUB
00001d83: DUP2
00001d84: AND
00001d85: PUSH1 0x00
00001d87: SWAP1
00001d88: DUP2
00001d89: MSTORE
00001d8a: PUSH2 0x0195
00001d8d: PUSH1 0x20
00001d8f: MSTORE
00001d90: PUSH1 0x40
00001d92: SWAP1
00001d93: KECCAK256
00001d94: SLOAD
00001d95: PUSH1 0xff
00001d97: AND
00001d98: ISZERO
00001d99: PUSH2 0x0c9d
00001d9c: JUMPI
00001d9d: PUSH1 0x01
00001d9f: PUSH1 0x01
00001da1: PUSH1 0xa0
00001da3: SHL
00001da4: SUB
00001da5: AND
00001da6: PUSH1 0x00
00001da8: SWAP1
00001da9: DUP2
00001daa: MSTORE
00001dab: PUSH2 0x0195
00001dae: PUSH1 0x20
00001db0: MSTORE
00001db1: PUSH1 0x40
00001db3: SWAP1
00001db4: KECCAK256
00001db5: DUP1
00001db6: SLOAD
00001db7: PUSH1 0xff
00001db9: NOT
00001dba: AND
00001dbb: SWAP1
00001dbc: SSTORE
00001dbd: JUMP
00001dbe: JUMPDEST
00001dbf: PUSH2 0x1dc6
00001dc2: PUSH2 0x25f3
00001dc5: JUMP
00001dc6: JUMPDEST
00001dc7: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00001de8: PUSH1 0x01
00001dea: PUSH1 0x01
00001dec: PUSH1 0xa0
00001dee: SHL
00001def: SUB
00001df0: AND
00001df1: DUP8
00001df2: PUSH1 0x01
00001df4: PUSH1 0x01
00001df6: PUSH1 0xa0
00001df8: SHL
00001df9: SUB
00001dfa: AND
00001dfb: SUB
00001dfc: PUSH2 0x1e17
00001dff: JUMPI
00001e00: PUSH1 0x40
00001e02: MLOAD
00001e03: PUSH3 0x461bcd
00001e07: PUSH1 0xe5
00001e09: SHL
00001e0a: DUP2
00001e0b: MSTORE
00001e0c: PUSH1 0x04
00001e0e: ADD
00001e0f: PUSH2 0x0310
00001e12: SWAP1
00001e13: PUSH2 0x4e2e
00001e16: JUMP
00001e17: JUMPDEST
00001e18: PUSH2 0x1e20
00001e1b: DUP8
00001e1c: PUSH2 0x0b6b
00001e1f: JUMP
00001e20: JUMPDEST
00001e21: ISZERO
00001e22: PUSH2 0x1e3d
00001e25: JUMPI
00001e26: PUSH1 0x40
00001e28: MLOAD
00001e29: PUSH3 0x461bcd
00001e2d: PUSH1 0xe5
00001e2f: SHL
00001e30: DUP2
00001e31: MSTORE
00001e32: PUSH1 0x04
00001e34: ADD
00001e35: PUSH2 0x0310
00001e38: SWAP1
00001e39: PUSH2 0x4e80
00001e3c: JUMP
00001e3d: JUMPDEST
00001e3e: PUSH1 0xc8
00001e40: SLOAD
00001e41: DUP7
00001e42: EQ
00001e43: PUSH2 0x1e5e
00001e46: JUMPI
00001e47: PUSH1 0x40
00001e49: MLOAD
00001e4a: PUSH3 0x461bcd
00001e4e: PUSH1 0xe5
00001e50: SHL
00001e51: DUP2
00001e52: MSTORE
00001e53: PUSH1 0x04
00001e55: ADD
00001e56: PUSH2 0x0310
00001e59: SWAP1
00001e5a: PUSH2 0x4ed0
00001e5d: JUMP
00001e5e: JUMPDEST
00001e5f: PUSH1 0x40
00001e61: DUP1
00001e62: MLOAD
00001e63: PUSH1 0xe0
00001e65: DUP2
00001e66: ADD
00001e67: DUP3
00001e68: MSTORE
00001e69: PUSH1 0x01
00001e6b: PUSH1 0x01
00001e6d: PUSH1 0xa0
00001e6f: SHL
00001e70: SUB
00001e71: DUP1
00001e72: DUP11
00001e73: AND
00001e74: DUP1
00001e75: DUP4
00001e76: MSTORE
00001e77: DUP9
00001e78: DUP3
00001e79: AND
00001e7a: PUSH1 0x20
00001e7c: DUP1
00001e7d: DUP6
00001e7e: ADD
00001e7f: SWAP2
00001e80: DUP3
00001e81: MSTORE
00001e82: DUP5
00001e83: DUP7
00001e84: ADD
00001e85: DUP11
00001e86: DUP2
00001e87: MSTORE
00001e88: PUSH1 0x60
00001e8a: DUP7
00001e8b: ADD
00001e8c: DUP11
00001e8d: SWAP1
00001e8e: MSTORE
00001e8f: PUSH1 0x80
00001e91: DUP7
00001e92: ADD
00001e93: DUP10
00001e94: SWAP1
00001e95: MSTORE
00001e96: PUSH1 0xa0
00001e98: DUP7
00001e99: ADD
00001e9a: DUP9
00001e9b: SWAP1
00001e9c: MSTORE
00001e9d: PUSH1 0x01
00001e9f: PUSH1 0xc0
00001ea1: DUP8
00001ea2: ADD
00001ea3: DUP2
00001ea4: SWAP1
00001ea5: MSTORE
00001ea6: PUSH1 0x00
00001ea8: SWAP5
00001ea9: DUP6
00001eaa: MSTORE
00001eab: PUSH1 0xc9
00001ead: SWAP1
00001eae: SWAP3
00001eaf: MSTORE
00001eb0: SWAP6
00001eb1: SWAP1
00001eb2: SWAP3
00001eb3: KECCAK256
00001eb4: DUP5
00001eb5: MLOAD
00001eb6: DUP2
00001eb7: SLOAD
00001eb8: SWAP1
00001eb9: DUP6
00001eba: AND
00001ebb: PUSH1 0x01
00001ebd: PUSH1 0x01
00001ebf: PUSH1 0xa0
00001ec1: SHL
00001ec2: SUB
00001ec3: NOT
00001ec4: SWAP2
00001ec5: DUP3
00001ec6: AND
00001ec7: OR
00001ec8: DUP3
00001ec9: SSTORE
00001eca: SWAP2
00001ecb: MLOAD
00001ecc: SWAP3
00001ecd: DUP2
00001ece: ADD
00001ecf: DUP1
00001ed0: SLOAD
00001ed1: SWAP4
00001ed2: SWAP1
00001ed3: SWAP5
00001ed4: AND
00001ed5: SWAP3
00001ed6: SWAP1
00001ed7: SWAP2
00001ed8: AND
00001ed9: SWAP2
00001eda: SWAP1
00001edb: SWAP2
00001edc: OR
00001edd: SWAP1
00001ede: SWAP2
00001edf: SSTORE
00001ee0: SWAP2
00001ee1: MLOAD
00001ee2: SWAP1
00001ee3: SWAP2
00001ee4: DUP3
00001ee5: SWAP2
00001ee6: PUSH1 0x02
00001ee8: DUP3
00001ee9: ADD
00001eea: SWAP1
00001eeb: PUSH2 0x1ef4
00001eee: SWAP1
00001eef: DUP3
00001ef0: PUSH2 0x4f65
00001ef3: JUMP
00001ef4: JUMPDEST
00001ef5: POP
00001ef6: PUSH1 0x60
00001ef8: DUP3
00001ef9: ADD
00001efa: MLOAD
00001efb: PUSH1 0x03
00001efd: DUP3
00001efe: ADD
00001eff: SWAP1
00001f00: PUSH2 0x1f09
00001f03: SWAP1
00001f04: DUP3
00001f05: PUSH2 0x4f65
00001f08: JUMP
00001f09: JUMPDEST
00001f0a: POP
00001f0b: PUSH1 0x80
00001f0d: DUP3
00001f0e: ADD
00001f0f: MLOAD
00001f10: PUSH1 0x04
00001f12: DUP3
00001f13: ADD
00001f14: SSTORE
00001f15: PUSH1 0xa0
00001f17: DUP3
00001f18: ADD
00001f19: MLOAD
00001f1a: PUSH1 0x05
00001f1c: DUP3
00001f1d: ADD
00001f1e: SSTORE
00001f1f: PUSH1 0xc0
00001f21: SWAP1
00001f22: SWAP2
00001f23: ADD
00001f24: MLOAD
00001f25: PUSH1 0x06
00001f27: SWAP1
00001f28: SWAP2
00001f29: ADD
00001f2a: DUP1
00001f2b: SLOAD
00001f2c: PUSH1 0xff
00001f2e: NOT
00001f2f: AND
00001f30: SWAP2
00001f31: ISZERO
00001f32: ISZERO
00001f33: SWAP2
00001f34: SWAP1
00001f35: SWAP2
00001f36: OR
00001f37: SWAP1
00001f38: SSTORE
00001f39: PUSH1 0xc8
00001f3b: SLOAD
00001f3c: PUSH1 0x40
00001f3e: MLOAD
00001f3f: PUSH32 0xf7a6d688a353b66d1ebb8f5080c5b7513eaab79221239496ee76041df102a025
00001f60: SWAP2
00001f61: PUSH2 0x1f6c
00001f64: SWAP2
00001f65: DUP5
00001f66: SWAP2
00001f67: SWAP1
00001f68: PUSH2 0x50bb
00001f6b: JUMP
00001f6c: JUMPDEST
00001f6d: PUSH1 0x40
00001f6f: MLOAD
00001f70: DUP1
00001f71: SWAP2
00001f72: SUB
00001f73: SWAP1
00001f74: LOG1
00001f75: POP
00001f76: POP
00001f77: POP
00001f78: POP
00001f79: POP
00001f7a: POP
00001f7b: POP
00001f7c: POP
00001f7d: JUMP
00001f7e: JUMPDEST
00001f7f: PUSH1 0x01
00001f81: PUSH1 0x01
00001f83: PUSH1 0xa0
00001f85: SHL
00001f86: SUB
00001f87: DUP1
00001f88: DUP4
00001f89: AND
00001f8a: PUSH1 0x00
00001f8c: SWAP1
00001f8d: DUP2
00001f8e: MSTORE
00001f8f: PUSH1 0xc9
00001f91: PUSH1 0x20
00001f93: SWAP1
00001f94: DUP2
00001f95: MSTORE
00001f96: PUSH1 0x40
00001f98: DUP1
00001f99: DUP4
00001f9a: KECCAK256
00001f9b: DUP2
00001f9c: MLOAD
00001f9d: PUSH1 0xe0
00001f9f: DUP2
00001fa0: ADD
00001fa1: DUP4
00001fa2: MSTORE
00001fa3: DUP2
00001fa4: SLOAD
00001fa5: DUP7
00001fa6: AND
00001fa7: DUP2
00001fa8: MSTORE
00001fa9: PUSH1 0x01
00001fab: DUP3
00001fac: ADD
00001fad: SLOAD
00001fae: SWAP1
00001faf: SWAP6
00001fb0: AND
00001fb1: SWAP3
00001fb2: DUP6
00001fb3: ADD
00001fb4: SWAP3
00001fb5: SWAP1
00001fb6: SWAP3
00001fb7: MSTORE
00001fb8: PUSH1 0x02
00001fba: DUP3
00001fbb: ADD
00001fbc: DUP1
00001fbd: SLOAD
00001fbe: SWAP4
00001fbf: SWAP5
00001fc0: DUP6
00001fc1: SWAP5
00001fc2: SWAP1
00001fc3: SWAP4
00001fc4: SWAP3
00001fc5: DUP5
00001fc6: ADD
00001fc7: SWAP2
00001fc8: SWAP1
00001fc9: PUSH2 0x1fd1
00001fcc: SWAP1
00001fcd: PUSH2 0x4803
00001fd0: JUMP
00001fd1: JUMPDEST
00001fd2: DUP1
00001fd3: PUSH1 0x1f
00001fd5: ADD
00001fd6: PUSH1 0x20
00001fd8: DUP1
00001fd9: SWAP2
00001fda: DIV
00001fdb: MUL
00001fdc: PUSH1 0x20
00001fde: ADD
00001fdf: PUSH1 0x40
00001fe1: MLOAD
00001fe2: SWAP1
00001fe3: DUP2
00001fe4: ADD
00001fe5: PUSH1 0x40
00001fe7: MSTORE
00001fe8: DUP1
00001fe9: SWAP3
00001fea: SWAP2
00001feb: SWAP1
00001fec: DUP2
00001fed: DUP2
00001fee: MSTORE
00001fef: PUSH1 0x20
00001ff1: ADD
00001ff2: DUP3
00001ff3: DUP1
00001ff4: SLOAD
00001ff5: PUSH2 0x1ffd
00001ff8: SWAP1
00001ff9: PUSH2 0x4803
00001ffc: JUMP
00001ffd: JUMPDEST
00001ffe: DUP1
00001fff: ISZERO
00002000: PUSH2 0x204a
00002003: JUMPI
00002004: DUP1
00002005: PUSH1 0x1f
00002007: LT
00002008: PUSH2 0x201f
0000200b: JUMPI
0000200c: PUSH2 0x0100
0000200f: DUP1
00002010: DUP4
00002011: SLOAD
00002012: DIV
00002013: MUL
00002014: DUP4
00002015: MSTORE
00002016: SWAP2
00002017: PUSH1 0x20
00002019: ADD
0000201a: SWAP2
0000201b: PUSH2 0x204a
0000201e: JUMP
0000201f: JUMPDEST
00002020: DUP3
00002021: ADD
00002022: SWAP2
00002023: SWAP1
00002024: PUSH1 0x00
00002026: MSTORE
00002027: PUSH1 0x20
00002029: PUSH1 0x00
0000202b: KECCAK256
0000202c: SWAP1
0000202d: JUMPDEST
0000202e: DUP2
0000202f: SLOAD
00002030: DUP2
00002031: MSTORE
00002032: SWAP1
00002033: PUSH1 0x01
00002035: ADD
00002036: SWAP1
00002037: PUSH1 0x20
00002039: ADD
0000203a: DUP1
0000203b: DUP4
0000203c: GT
0000203d: PUSH2 0x202d
00002040: JUMPI
00002041: DUP3
00002042: SWAP1
00002043: SUB
00002044: PUSH1 0x1f
00002046: AND
00002047: DUP3
00002048: ADD
00002049: SWAP2
0000204a: JUMPDEST
0000204b: POP
0000204c: POP
0000204d: POP
0000204e: POP
0000204f: POP
00002050: DUP2
00002051: MSTORE
00002052: PUSH1 0x20
00002054: ADD
00002055: PUSH1 0x03
00002057: DUP3
00002058: ADD
00002059: DUP1
0000205a: SLOAD
0000205b: PUSH2 0x2063
0000205e: SWAP1
0000205f: PUSH2 0x4803
00002062: JUMP
00002063: JUMPDEST
00002064: DUP1
00002065: PUSH1 0x1f
00002067: ADD
00002068: PUSH1 0x20
0000206a: DUP1
0000206b: SWAP2
0000206c: DIV
0000206d: MUL
0000206e: PUSH1 0x20
00002070: ADD
00002071: PUSH1 0x40
00002073: MLOAD
00002074: SWAP1
00002075: DUP2
00002076: ADD
00002077: PUSH1 0x40
00002079: MSTORE
0000207a: DUP1
0000207b: SWAP3
0000207c: SWAP2
0000207d: SWAP1
0000207e: DUP2
0000207f: DUP2
00002080: MSTORE
00002081: PUSH1 0x20
00002083: ADD
00002084: DUP3
00002085: DUP1
00002086: SLOAD
00002087: PUSH2 0x208f
0000208a: SWAP1
0000208b: PUSH2 0x4803
0000208e: JUMP
0000208f: JUMPDEST
00002090: DUP1
00002091: ISZERO
00002092: PUSH2 0x20dc
00002095: JUMPI
00002096: DUP1
00002097: PUSH1 0x1f
00002099: LT
0000209a: PUSH2 0x20b1
0000209d: JUMPI
0000209e: PUSH2 0x0100
000020a1: DUP1
000020a2: DUP4
000020a3: SLOAD
000020a4: DIV
000020a5: MUL
000020a6: DUP4
000020a7: MSTORE
000020a8: SWAP2
000020a9: PUSH1 0x20
000020ab: ADD
000020ac: SWAP2
000020ad: PUSH2 0x20dc
000020b0: JUMP
000020b1: JUMPDEST
000020b2: DUP3
000020b3: ADD
000020b4: SWAP2
000020b5: SWAP1
000020b6: PUSH1 0x00
000020b8: MSTORE
000020b9: PUSH1 0x20
000020bb: PUSH1 0x00
000020bd: KECCAK256
000020be: SWAP1
000020bf: JUMPDEST
000020c0: DUP2
000020c1: SLOAD
000020c2: DUP2
000020c3: MSTORE
000020c4: SWAP1
000020c5: PUSH1 0x01
000020c7: ADD
000020c8: SWAP1
000020c9: PUSH1 0x20
000020cb: ADD
000020cc: DUP1
000020cd: DUP4
000020ce: GT
000020cf: PUSH2 0x20bf
000020d2: JUMPI
000020d3: DUP3
000020d4: SWAP1
000020d5: SUB
000020d6: PUSH1 0x1f
000020d8: AND
000020d9: DUP3
000020da: ADD
000020db: SWAP2
000020dc: JUMPDEST
000020dd: POP
000020de: POP
000020df: POP
000020e0: SWAP2
000020e1: DUP4
000020e2: MSTORE
000020e3: POP
000020e4: POP
000020e5: PUSH1 0x04
000020e7: DUP3
000020e8: ADD
000020e9: SLOAD
000020ea: PUSH1 0x20
000020ec: DUP3
000020ed: ADD
000020ee: MSTORE
000020ef: PUSH1 0x05
000020f1: DUP3
000020f2: ADD
000020f3: SLOAD
000020f4: PUSH1 0x40
000020f6: DUP3
000020f7: ADD
000020f8: MSTORE
000020f9: PUSH1 0x06
000020fb: SWAP1
000020fc: SWAP2
000020fd: ADD
000020fe: SLOAD
000020ff: PUSH1 0xff
00002101: AND
00002102: ISZERO
00002103: ISZERO
00002104: PUSH1 0x60
00002106: SWAP1
00002107: SWAP2
00002108: ADD
00002109: MSTORE
0000210a: PUSH1 0x80
0000210c: DUP2
0000210d: ADD
0000210e: MLOAD
0000210f: SWAP1
00002110: SWAP2
00002111: POP
00002112: DUP4
00002113: LT
00002114: DUP1
00002115: ISZERO
00002116: SWAP1
00002117: PUSH2 0x2124
0000211a: JUMPI
0000211b: POP
0000211c: DUP1
0000211d: PUSH1 0xa0
0000211f: ADD
00002120: MLOAD
00002121: DUP4
00002122: GT
00002123: ISZERO
00002124: JUMPDEST
00002125: SWAP2
00002126: POP
00002127: POP
00002128: JUMPDEST
00002129: SWAP3
0000212a: SWAP2
0000212b: POP
0000212c: POP
0000212d: JUMP
0000212e: JUMPDEST
0000212f: PUSH2 0x2136
00002132: PUSH2 0x25f3
00002135: JUMP
00002136: JUMPDEST
00002137: PUSH2 0x213f
0000213a: DUP2
0000213b: PUSH2 0x0b6b
0000213e: JUMP
0000213f: JUMPDEST
00002140: PUSH2 0x215b
00002143: JUMPI
00002144: PUSH1 0x40
00002146: MLOAD
00002147: PUSH3 0x461bcd
0000214b: PUSH1 0xe5
0000214d: SHL
0000214e: DUP2
0000214f: MSTORE
00002150: PUSH1 0x04
00002152: ADD
00002153: PUSH2 0x0310
00002156: SWAP1
00002157: PUSH2 0x44c5
0000215a: JUMP
0000215b: JUMPDEST
0000215c: PUSH1 0x01
0000215e: PUSH1 0x01
00002160: PUSH1 0xa0
00002162: SHL
00002163: SUB
00002164: DUP2
00002165: AND
00002166: PUSH1 0x00
00002168: SWAP1
00002169: DUP2
0000216a: MSTORE
0000216b: PUSH1 0xc9
0000216d: PUSH1 0x20
0000216f: MSTORE
00002170: PUSH1 0x40
00002172: SWAP1
00002173: KECCAK256
00002174: PUSH1 0x06
00002176: ADD
00002177: SLOAD
00002178: PUSH1 0xff
0000217a: AND
0000217b: PUSH2 0x2196
0000217e: JUMPI
0000217f: PUSH1 0x40
00002181: MLOAD
00002182: PUSH3 0x461bcd
00002186: PUSH1 0xe5
00002188: SHL
00002189: DUP2
0000218a: MSTORE
0000218b: PUSH1 0x04
0000218d: ADD
0000218e: PUSH2 0x0310
00002191: SWAP1
00002192: PUSH2 0x511c
00002195: JUMP
00002196: JUMPDEST
00002197: PUSH1 0x01
00002199: PUSH1 0x01
0000219b: PUSH1 0xa0
0000219d: SHL
0000219e: SUB
0000219f: DUP2
000021a0: AND
000021a1: PUSH1 0x00
000021a3: SWAP1
000021a4: DUP2
000021a5: MSTORE
000021a6: PUSH1 0xc9
000021a8: PUSH1 0x20
000021aa: MSTORE
000021ab: PUSH1 0x40
000021ad: SWAP1
000021ae: DUP2
000021af: SWAP1
000021b0: KECCAK256
000021b1: PUSH1 0x06
000021b3: ADD
000021b4: DUP1
000021b5: SLOAD
000021b6: PUSH1 0xff
000021b8: NOT
000021b9: AND
000021ba: SWAP1
000021bb: SSTORE
000021bc: PUSH1 0xc8
000021be: SLOAD
000021bf: SWAP1
000021c0: MLOAD
000021c1: PUSH32 0x7e853a44c5ec3f34ea62e92332609e2588e70e4300133dce82a820efbc227aab
000021e2: SWAP2
000021e3: PUSH2 0x109a
000021e6: SWAP2
000021e7: DUP5
000021e8: SWAP2
000021e9: SWAP1
000021ea: PUSH2 0x475f
000021ed: JUMP
000021ee: JUMPDEST
000021ef: PUSH2 0x21f6
000021f2: PUSH2 0x25f3
000021f5: JUMP
000021f6: JUMPDEST
000021f7: PUSH1 0x01
000021f9: PUSH1 0x01
000021fb: PUSH1 0xa0
000021fd: SHL
000021fe: SUB
000021ff: DUP2
00002200: AND
00002201: PUSH2 0x221c
00002204: JUMPI
00002205: PUSH1 0x40
00002207: MLOAD
00002208: PUSH3 0x461bcd
0000220c: PUSH1 0xe5
0000220e: SHL
0000220f: DUP2
00002210: MSTORE
00002211: PUSH1 0x04
00002213: ADD
00002214: PUSH2 0x0310
00002217: SWAP1
00002218: PUSH2 0x516f
0000221b: JUMP
0000221c: JUMPDEST
0000221d: PUSH2 0x0c9d
00002220: DUP2
00002221: PUSH2 0x2952
00002224: JUMP
00002225: JUMPDEST
00002226: PUSH1 0x00
00002228: SLOAD
00002229: PUSH2 0x0100
0000222c: SWAP1
0000222d: DIV
0000222e: PUSH1 0xff
00002230: AND
00002231: ISZERO
00002232: DUP1
00002233: DUP1
00002234: ISZERO
00002235: PUSH2 0x2245
00002238: JUMPI
00002239: POP
0000223a: PUSH1 0x00
0000223c: SLOAD
0000223d: PUSH1 0x01
0000223f: PUSH1 0xff
00002241: SWAP1
00002242: SWAP2
00002243: AND
00002244: LT
00002245: JUMPDEST
00002246: DUP1
00002247: PUSH2 0x225f
0000224a: JUMPI
0000224b: POP
0000224c: ADDRESS
0000224d: EXTCODESIZE
0000224e: ISZERO
0000224f: DUP1
00002250: ISZERO
00002251: PUSH2 0x225f
00002254: JUMPI
00002255: POP
00002256: PUSH1 0x00
00002258: SLOAD
00002259: PUSH1 0xff
0000225b: AND
0000225c: PUSH1 0x01
0000225e: EQ
0000225f: JUMPDEST
00002260: PUSH2 0x227b
00002263: JUMPI
00002264: PUSH1 0x40
00002266: MLOAD
00002267: PUSH3 0x461bcd
0000226b: PUSH1 0xe5
0000226d: SHL
0000226e: DUP2
0000226f: MSTORE
00002270: PUSH1 0x04
00002272: ADD
00002273: PUSH2 0x0310
00002276: SWAP1
00002277: PUSH2 0x51ca
0000227a: JUMP
0000227b: JUMPDEST
0000227c: PUSH1 0x00
0000227e: DUP1
0000227f: SLOAD
00002280: PUSH1 0xff
00002282: NOT
00002283: AND
00002284: PUSH1 0x01
00002286: OR
00002287: SWAP1
00002288: SSTORE
00002289: DUP1
0000228a: ISZERO
0000228b: PUSH2 0x229e
0000228e: JUMPI
0000228f: PUSH1 0x00
00002291: DUP1
00002292: SLOAD
00002293: PUSH2 0xff00
00002296: NOT
00002297: AND
00002298: PUSH2 0x0100
0000229b: OR
0000229c: SWAP1
0000229d: SSTORE
0000229e: JUMPDEST
0000229f: PUSH2 0x22a6
000022a2: PUSH2 0x2a64
000022a5: JUMP
000022a6: JUMPDEST
000022a7: PUSH2 0x22af
000022aa: DUP4
000022ab: PUSH1 0xc8
000022ad: SSTORE
000022ae: JUMP
000022af: JUMPDEST
000022b0: PUSH2 0x22b7
000022b3: PUSH2 0x2a94
000022b6: JUMP
000022b7: JUMPDEST
000022b8: PUSH2 0x22bf
000022bb: PUSH2 0x2ac7
000022be: JUMP
000022bf: JUMPDEST
000022c0: PUSH2 0x012d
000022c3: DUP1
000022c4: SLOAD
000022c5: PUSH1 0x01
000022c7: PUSH1 0x01
000022c9: PUSH1 0xa0
000022cb: SHL
000022cc: SUB
000022cd: DUP1
000022ce: DUP10
000022cf: AND
000022d0: PUSH1 0x01
000022d2: PUSH1 0x01
000022d4: PUSH1 0xa0
000022d6: SHL
000022d7: SUB
000022d8: NOT
000022d9: SWAP3
000022da: DUP4
000022db: AND
000022dc: OR
000022dd: SWAP1
000022de: SWAP3
000022df: SSTORE
000022e0: PUSH1 0x40
000022e2: DUP1
000022e3: MLOAD
000022e4: DUP1
000022e5: DUP3
000022e6: ADD
000022e7: SWAP1
000022e8: SWAP2
000022e9: MSTORE
000022ea: DUP7
000022eb: DUP2
000022ec: MSTORE
000022ed: ADDRESS
000022ee: PUSH1 0x20
000022f0: SWAP1
000022f1: SWAP2
000022f2: ADD
000022f3: DUP2
000022f4: SWAP1
000022f5: MSTORE
000022f6: PUSH2 0x0130
000022f9: DUP8
000022fa: SWAP1
000022fb: SSTORE
000022fc: PUSH2 0x0131
000022ff: DUP1
00002300: SLOAD
00002301: DUP4
00002302: AND
00002303: SWAP1
00002304: SWAP2
00002305: OR
00002306: SWAP1
00002307: SSTORE
00002308: PUSH2 0x012e
0000230b: DUP1
0000230c: SLOAD
0000230d: SWAP3
0000230e: DUP6
0000230f: AND
00002310: SWAP3
00002311: SWAP1
00002312: SWAP2
00002313: AND
00002314: SWAP2
00002315: SWAP1
00002316: SWAP2
00002317: OR
00002318: SWAP1
00002319: SSTORE
0000231a: PUSH2 0x2322
0000231d: DUP6
0000231e: PUSH2 0x2952
00002321: JUMP
00002322: JUMPDEST
00002323: DUP1
00002324: ISZERO
00002325: PUSH2 0x0a2c
00002328: JUMPI
00002329: PUSH1 0x00
0000232b: DUP1
0000232c: SLOAD
0000232d: PUSH2 0xff00
00002330: NOT
00002331: AND
00002332: SWAP1
00002333: SSTORE
00002334: PUSH1 0x40
00002336: MLOAD
00002337: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
00002358: SWAP1
00002359: PUSH2 0x2364
0000235c: SWAP1
0000235d: PUSH1 0x01
0000235f: SWAP1
00002360: PUSH2 0x51ee
00002363: JUMP
00002364: JUMPDEST
00002365: PUSH1 0x40
00002367: MLOAD
00002368: DUP1
00002369: SWAP2
0000236a: SUB
0000236b: SWAP1
0000236c: LOG1
0000236d: POP
0000236e: POP
0000236f: POP
00002370: POP
00002371: POP
00002372: POP
00002373: JUMP
00002374: JUMPDEST
00002375: PUSH2 0x237c
00002378: PUSH2 0x2477
0000237b: JUMP
0000237c: JUMPDEST
0000237d: PUSH2 0x2384
00002380: PUSH2 0x249a
00002383: JUMP
00002384: JUMPDEST
00002385: PUSH2 0x0194
00002388: SLOAD
00002389: PUSH1 0x40
0000238b: MLOAD
0000238c: PUSH4 0x39beaa9b
00002391: PUSH1 0xe1
00002393: SHL
00002394: DUP2
00002395: MSTORE
00002396: PUSH1 0x01
00002398: PUSH1 0x01
0000239a: PUSH1 0xa0
0000239c: SHL
0000239d: SUB
0000239e: SWAP1
0000239f: SWAP2
000023a0: AND
000023a1: SWAP1
000023a2: PUSH4 0x737d5536
000023a7: SWAP1
000023a8: PUSH2 0x23c2
000023ab: SWAP1
000023ac: DUP12
000023ad: SWAP1
000023ae: DUP12
000023af: SWAP1
000023b0: DUP12
000023b1: SWAP1
000023b2: DUP12
000023b3: SWAP1
000023b4: DUP12
000023b5: SWAP1
000023b6: CALLER
000023b7: SWAP1
000023b8: PUSH1 0x00
000023ba: SWAP1
000023bb: PUSH1 0x04
000023bd: ADD
000023be: PUSH2 0x478f
000023c1: JUMP
000023c2: JUMPDEST
000023c3: PUSH1 0x20
000023c5: PUSH1 0x40
000023c7: MLOAD
000023c8: DUP1
000023c9: DUP4
000023ca: SUB
000023cb: DUP2
000023cc: PUSH1 0x00
000023ce: DUP8
000023cf: GAS
000023d0: CALL
000023d1: ISZERO
000023d2: DUP1
000023d3: ISZERO
000023d4: PUSH2 0x23e1
000023d7: JUMPI
000023d8: RETURNDATASIZE
000023d9: PUSH1 0x00
000023db: DUP1
000023dc: RETURNDATACOPY
000023dd: RETURNDATASIZE
000023de: PUSH1 0x00
000023e0: REVERT
000023e1: JUMPDEST
000023e2: POP
000023e3: POP
000023e4: POP
000023e5: POP
000023e6: PUSH1 0x40
000023e8: MLOAD
000023e9: RETURNDATASIZE
000023ea: PUSH1 0x1f
000023ec: NOT
000023ed: PUSH1 0x1f
000023ef: DUP3
000023f0: ADD
000023f1: AND
000023f2: DUP3
000023f3: ADD
000023f4: DUP1
000023f5: PUSH1 0x40
000023f7: MSTORE
000023f8: POP
000023f9: DUP2
000023fa: ADD
000023fb: SWAP1
000023fc: PUSH2 0x2405
000023ff: SWAP2
00002400: SWAP1
00002401: PUSH2 0x4412
00002404: JUMP
00002405: JUMPDEST
00002406: PUSH2 0x2421
00002409: JUMPI
0000240a: PUSH1 0x40
0000240c: MLOAD
0000240d: PUSH3 0x461bcd
00002411: PUSH1 0xe5
00002413: SHL
00002414: DUP2
00002415: MSTORE
00002416: PUSH1 0x04
00002418: ADD
00002419: PUSH2 0x0310
0000241c: SWAP1
0000241d: PUSH2 0x4477
00002420: JUMP
00002421: JUMPDEST
00002422: PUSH1 0x00
00002424: DUP4
00002425: PUSH2 0x242f
00002428: JUMPI
00002429: PUSH1 0x03
0000242b: PUSH2 0x12ac
0000242e: JUMP
0000242f: JUMPDEST
00002430: PUSH1 0x04
00002432: SWAP1
00002433: POP
00002434: PUSH2 0x12f2
00002437: DUP10
00002438: DUP10
00002439: DUP10
0000243a: DUP10
0000243b: DUP6
0000243c: DUP9
0000243d: DUP9
0000243e: DUP1
0000243f: DUP1
00002440: PUSH1 0x1f
00002442: ADD
00002443: PUSH1 0x20
00002445: DUP1
00002446: SWAP2
00002447: DIV
00002448: MUL
00002449: PUSH1 0x20
0000244b: ADD
0000244c: PUSH1 0x40
0000244e: MLOAD
0000244f: SWAP1
00002450: DUP2
00002451: ADD
00002452: PUSH1 0x40
00002454: MSTORE
00002455: DUP1
00002456: SWAP4
00002457: SWAP3
00002458: SWAP2
00002459: SWAP1
0000245a: DUP2
0000245b: DUP2
0000245c: MSTORE
0000245d: PUSH1 0x20
0000245f: ADD
00002460: DUP4
00002461: DUP4
00002462: DUP1
00002463: DUP3
00002464: DUP5
00002465: CALLDATACOPY
00002466: PUSH1 0x00
00002468: SWAP3
00002469: ADD
0000246a: SWAP2
0000246b: SWAP1
0000246c: SWAP2
0000246d: MSTORE
0000246e: POP
0000246f: PUSH2 0x261d
00002472: SWAP3
00002473: POP
00002474: POP
00002475: POP
00002476: JUMP
00002477: JUMPDEST
00002478: PUSH1 0x33
0000247a: SLOAD
0000247b: PUSH1 0xff
0000247d: AND
0000247e: ISZERO
0000247f: PUSH2 0x0cb8
00002482: JUMPI
00002483: PUSH1 0x40
00002485: MLOAD
00002486: PUSH3 0x461bcd
0000248a: PUSH1 0xe5
0000248c: SHL
0000248d: DUP2
0000248e: MSTORE
0000248f: PUSH1 0x04
00002491: ADD
00002492: PUSH2 0x0310
00002495: SWAP1
00002496: PUSH2 0x5223
00002499: JUMP
0000249a: JUMPDEST
0000249b: PUSH1 0x02
0000249d: PUSH1 0xfb
0000249f: SLOAD
000024a0: SUB
000024a1: PUSH2 0x24bc
000024a4: JUMPI
000024a5: PUSH1 0x40
000024a7: MLOAD
000024a8: PUSH3 0x461bcd
000024ac: PUSH1 0xe5
000024ae: SHL
000024af: DUP2
000024b0: MSTORE
000024b1: PUSH1 0x04
000024b3: ADD
000024b4: PUSH2 0x0310
000024b7: SWAP1
000024b8: PUSH2 0x5267
000024bb: JUMP
000024bc: JUMPDEST
000024bd: PUSH1 0x02
000024bf: PUSH1 0xfb
000024c1: SSTORE
000024c2: JUMP
000024c3: JUMPDEST
000024c4: PUSH2 0x012d
000024c7: SLOAD
000024c8: PUSH1 0x40
000024ca: MLOAD
000024cb: PUSH4 0x3ce8382f
000024d0: PUSH1 0xe1
000024d2: SHL
000024d3: DUP2
000024d4: MSTORE
000024d5: PUSH1 0x01
000024d7: PUSH1 0x01
000024d9: PUSH1 0xa0
000024db: SHL
000024dc: SUB
000024dd: SWAP1
000024de: SWAP2
000024df: AND
000024e0: SWAP1
000024e1: PUSH4 0x79d0705e
000024e6: SWAP1
000024e7: PUSH2 0x24f4
000024ea: SWAP1
000024eb: DUP7
000024ec: SWAP1
000024ed: PUSH1 0x04
000024ef: ADD
000024f0: PUSH2 0x392c
000024f3: JUMP
000024f4: JUMPDEST
000024f5: PUSH1 0x20
000024f7: PUSH1 0x40
000024f9: MLOAD
000024fa: DUP1
000024fb: DUP4
000024fc: SUB
000024fd: DUP2
000024fe: DUP7
000024ff: GAS
00002500: STATICCALL
00002501: ISZERO
00002502: DUP1
00002503: ISZERO
00002504: PUSH2 0x2511
00002507: JUMPI
00002508: RETURNDATASIZE
00002509: PUSH1 0x00
0000250b: DUP1
0000250c: RETURNDATACOPY
0000250d: RETURNDATASIZE
0000250e: PUSH1 0x00
00002510: REVERT
00002511: JUMPDEST
00002512: POP
00002513: POP
00002514: POP
00002515: POP
00002516: PUSH1 0x40
00002518: MLOAD
00002519: RETURNDATASIZE
0000251a: PUSH1 0x1f
0000251c: NOT
0000251d: PUSH1 0x1f
0000251f: DUP3
00002520: ADD
00002521: AND
00002522: DUP3
00002523: ADD
00002524: DUP1
00002525: PUSH1 0x40
00002527: MSTORE
00002528: POP
00002529: DUP2
0000252a: ADD
0000252b: SWAP1
0000252c: PUSH2 0x2535
0000252f: SWAP2
00002530: SWAP1
00002531: PUSH2 0x4412
00002534: JUMP
00002535: JUMPDEST
00002536: PUSH2 0x2551
00002539: JUMPI
0000253a: PUSH1 0x40
0000253c: MLOAD
0000253d: PUSH3 0x461bcd
00002541: PUSH1 0xe5
00002543: SHL
00002544: DUP2
00002545: MSTORE
00002546: PUSH1 0x04
00002548: ADD
00002549: PUSH2 0x0310
0000254c: SWAP1
0000254d: PUSH2 0x52b8
00002550: JUMP
00002551: JUMPDEST
00002552: PUSH1 0x00
00002554: PUSH2 0x255f
00002557: PUSH1 0x01
00002559: CALLVALUE
0000255a: DUP6
0000255b: PUSH2 0x2aee
0000255e: JUMP
0000255f: JUMPDEST
00002560: PUSH2 0x012d
00002563: SLOAD
00002564: SWAP1
00002565: SWAP2
00002566: POP
00002567: PUSH1 0x01
00002569: PUSH1 0x01
0000256b: PUSH1 0xa0
0000256d: SHL
0000256e: SUB
0000256f: AND
00002570: PUSH4 0x6d1eaa88
00002575: PUSH2 0x25a0
00002578: DUP6
00002579: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
0000259a: DUP6
0000259b: DUP10
0000259c: PUSH2 0x2e54
0000259f: JUMP
000025a0: JUMPDEST
000025a1: DUP5
000025a2: PUSH1 0x40
000025a4: MLOAD
000025a5: DUP4
000025a6: PUSH4 0xffffffff
000025ab: AND
000025ac: PUSH1 0xe0
000025ae: SHL
000025af: DUP2
000025b0: MSTORE
000025b1: PUSH1 0x04
000025b3: ADD
000025b4: PUSH2 0x25be
000025b7: SWAP3
000025b8: SWAP2
000025b9: SWAP1
000025ba: PUSH2 0x538d
000025bd: JUMP
000025be: JUMPDEST
000025bf: PUSH1 0x00
000025c1: PUSH1 0x40
000025c3: MLOAD
000025c4: DUP1
000025c5: DUP4
000025c6: SUB
000025c7: DUP2
000025c8: PUSH1 0x00
000025ca: DUP8
000025cb: DUP1
000025cc: EXTCODESIZE
000025cd: ISZERO
000025ce: DUP1
000025cf: ISZERO
000025d0: PUSH2 0x25d8
000025d3: JUMPI
000025d4: PUSH1 0x00
000025d6: DUP1
000025d7: REVERT
000025d8: JUMPDEST
000025d9: POP
000025da: GAS
000025db: CALL
000025dc: ISZERO
000025dd: DUP1
000025de: ISZERO
000025df: PUSH2 0x12fd
000025e2: JUMPI
000025e3: RETURNDATASIZE
000025e4: PUSH1 0x00
000025e6: DUP1
000025e7: RETURNDATACOPY
000025e8: RETURNDATASIZE
000025e9: PUSH1 0x00
000025eb: REVERT
000025ec: JUMPDEST
000025ed: PUSH1 0x01
000025ef: PUSH1 0xfb
000025f1: SSTORE
000025f2: JUMP
000025f3: JUMPDEST
000025f4: PUSH1 0x65
000025f6: SLOAD
000025f7: PUSH1 0x01
000025f9: PUSH1 0x01
000025fb: PUSH1 0xa0
000025fd: SHL
000025fe: SUB
000025ff: AND
00002600: CALLER
00002601: EQ
00002602: PUSH2 0x0cb8
00002605: JUMPI
00002606: PUSH1 0x40
00002608: MLOAD
00002609: PUSH3 0x461bcd
0000260d: PUSH1 0xe5
0000260f: SHL
00002610: DUP2
00002611: MSTORE
00002612: PUSH1 0x04
00002614: ADD
00002615: PUSH2 0x0310
00002618: SWAP1
00002619: PUSH2 0x53d0
0000261c: JUMP
0000261d: JUMPDEST
0000261e: PUSH2 0x012d
00002621: SLOAD
00002622: PUSH1 0x40
00002624: MLOAD
00002625: PUSH4 0x3ce8382f
0000262a: PUSH1 0xe1
0000262c: SHL
0000262d: DUP2
0000262e: MSTORE
0000262f: PUSH1 0x01
00002631: PUSH1 0x01
00002633: PUSH1 0xa0
00002635: SHL
00002636: SUB
00002637: SWAP1
00002638: SWAP2
00002639: AND
0000263a: SWAP1
0000263b: PUSH4 0x79d0705e
00002640: SWAP1
00002641: PUSH2 0x2650
00002644: SWAP1
00002645: DUP8
00002646: SWAP1
00002647: DUP8
00002648: SWAP1
00002649: PUSH1 0x04
0000264b: ADD
0000264c: PUSH2 0x53e0
0000264f: JUMP
00002650: JUMPDEST
00002651: PUSH1 0x20
00002653: PUSH1 0x40
00002655: MLOAD
00002656: DUP1
00002657: DUP4
00002658: SUB
00002659: DUP2
0000265a: DUP7
0000265b: GAS
0000265c: STATICCALL
0000265d: ISZERO
0000265e: DUP1
0000265f: ISZERO
00002660: PUSH2 0x266d
00002663: JUMPI
00002664: RETURNDATASIZE
00002665: PUSH1 0x00
00002667: DUP1
00002668: RETURNDATACOPY
00002669: RETURNDATASIZE
0000266a: PUSH1 0x00
0000266c: REVERT
0000266d: JUMPDEST
0000266e: POP
0000266f: POP
00002670: POP
00002671: POP
00002672: PUSH1 0x40
00002674: MLOAD
00002675: RETURNDATASIZE
00002676: PUSH1 0x1f
00002678: NOT
00002679: PUSH1 0x1f
0000267b: DUP3
0000267c: ADD
0000267d: AND
0000267e: DUP3
0000267f: ADD
00002680: DUP1
00002681: PUSH1 0x40
00002683: MSTORE
00002684: POP
00002685: DUP2
00002686: ADD
00002687: SWAP1
00002688: PUSH2 0x2691
0000268b: SWAP2
0000268c: SWAP1
0000268d: PUSH2 0x4412
00002690: JUMP
00002691: JUMPDEST
00002692: PUSH2 0x26ad
00002695: JUMPI
00002696: PUSH1 0x40
00002698: MLOAD
00002699: PUSH3 0x461bcd
0000269d: PUSH1 0xe5
0000269f: SHL
000026a0: DUP2
000026a1: MSTORE
000026a2: PUSH1 0x04
000026a4: ADD
000026a5: PUSH2 0x0310
000026a8: SWAP1
000026a9: PUSH2 0x52b8
000026ac: JUMP
000026ad: JUMPDEST
000026ae: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
000026cf: PUSH1 0x01
000026d1: PUSH1 0x01
000026d3: PUSH1 0xa0
000026d5: SHL
000026d6: SUB
000026d7: AND
000026d8: DUP7
000026d9: PUSH1 0x01
000026db: PUSH1 0x01
000026dd: PUSH1 0xa0
000026df: SHL
000026e0: SUB
000026e1: AND
000026e2: SUB
000026e3: PUSH2 0x26fe
000026e6: JUMPI
000026e7: PUSH1 0x40
000026e9: MLOAD
000026ea: PUSH3 0x461bcd
000026ee: PUSH1 0xe5
000026f0: SHL
000026f1: DUP2
000026f2: MSTORE
000026f3: PUSH1 0x04
000026f5: ADD
000026f6: PUSH2 0x0310
000026f9: SWAP1
000026fa: PUSH2 0x5426
000026fd: JUMP
000026fe: JUMPDEST
000026ff: PUSH1 0x00
00002701: PUSH2 0x270b
00002704: DUP8
00002705: DUP8
00002706: DUP6
00002707: PUSH2 0x2aee
0000270a: JUMP
0000270b: JUMPDEST
0000270c: SWAP1
0000270d: POP
0000270e: PUSH2 0x2722
00002711: PUSH1 0x01
00002713: PUSH1 0x01
00002715: PUSH1 0xa0
00002717: SHL
00002718: SUB
00002719: DUP9
0000271a: AND
0000271b: CALLER
0000271c: ADDRESS
0000271d: DUP5
0000271e: PUSH2 0x2e73
00002721: JUMP
00002722: JUMPDEST
00002723: PUSH2 0x012d
00002726: SLOAD
00002727: PUSH1 0x40
00002729: DUP1
0000272a: MLOAD
0000272b: PUSH1 0x20
0000272d: PUSH1 0x1f
0000272f: DUP9
00002730: ADD
00002731: DUP2
00002732: SWAP1
00002733: DIV
00002734: DUP2
00002735: MUL
00002736: DUP3
00002737: ADD
00002738: DUP2
00002739: ADD
0000273a: SWAP1
0000273b: SWAP3
0000273c: MSTORE
0000273d: DUP7
0000273e: DUP2
0000273f: MSTORE
00002740: PUSH1 0x01
00002742: PUSH1 0x01
00002744: PUSH1 0xa0
00002746: SHL
00002747: SUB
00002748: SWAP1
00002749: SWAP3
0000274a: AND
0000274b: SWAP2
0000274c: PUSH4 0x6d1eaa88
00002751: SWAP2
00002752: PUSH2 0x277b
00002755: SWAP2
00002756: DUP8
00002757: SWAP2
00002758: DUP13
00002759: SWAP2
0000275a: DUP8
0000275b: SWAP2
0000275c: DUP13
0000275d: SWAP1
0000275e: DUP13
0000275f: SWAP1
00002760: DUP2
00002761: SWAP1
00002762: DUP5
00002763: ADD
00002764: DUP4
00002765: DUP3
00002766: DUP1
00002767: DUP3
00002768: DUP5
00002769: CALLDATACOPY
0000276a: PUSH1 0x00
0000276c: SWAP3
0000276d: ADD
0000276e: SWAP2
0000276f: SWAP1
00002770: SWAP2
00002771: MSTORE
00002772: POP
00002773: PUSH2 0x2e54
00002776: SWAP3
00002777: POP
00002778: POP
00002779: POP
0000277a: JUMP
0000277b: JUMPDEST
0000277c: DUP5
0000277d: PUSH1 0x40
0000277f: MLOAD
00002780: DUP4
00002781: PUSH4 0xffffffff
00002786: AND
00002787: PUSH1 0xe0
00002789: SHL
0000278a: DUP2
0000278b: MSTORE
0000278c: PUSH1 0x04
0000278e: ADD
0000278f: PUSH2 0x2799
00002792: SWAP3
00002793: SWAP2
00002794: SWAP1
00002795: PUSH2 0x538d
00002798: JUMP
00002799: JUMPDEST
0000279a: PUSH1 0x00
0000279c: PUSH1 0x40
0000279e: MLOAD
0000279f: DUP1
000027a0: DUP4
000027a1: SUB
000027a2: DUP2
000027a3: PUSH1 0x00
000027a5: DUP8
000027a6: DUP1
000027a7: EXTCODESIZE
000027a8: ISZERO
000027a9: DUP1
000027aa: ISZERO
000027ab: PUSH2 0x27b3
000027ae: JUMPI
000027af: PUSH1 0x00
000027b1: DUP1
000027b2: REVERT
000027b3: JUMPDEST
000027b4: POP
000027b5: GAS
000027b6: CALL
000027b7: ISZERO
000027b8: DUP1
000027b9: ISZERO
000027ba: PUSH2 0x27c7
000027bd: JUMPI
000027be: RETURNDATASIZE
000027bf: PUSH1 0x00
000027c1: DUP1
000027c2: RETURNDATACOPY
000027c3: RETURNDATASIZE
000027c4: PUSH1 0x00
000027c6: REVERT
000027c7: JUMPDEST
000027c8: POP
000027c9: POP
000027ca: POP
000027cb: POP
000027cc: POP
000027cd: POP
000027ce: POP
000027cf: POP
000027d0: POP
000027d1: POP
000027d2: POP
000027d3: JUMP
000027d4: JUMPDEST
000027d5: PUSH1 0x65
000027d7: SLOAD
000027d8: PUSH1 0x01
000027da: PUSH1 0x01
000027dc: PUSH1 0xa0
000027de: SHL
000027df: SUB
000027e0: AND
000027e1: CALLER
000027e2: EQ
000027e3: PUSH2 0x0c9d
000027e6: JUMPI
000027e7: PUSH1 0x00
000027e9: DUP1
000027ea: REVERT
000027eb: JUMPDEST
000027ec: PUSH32 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143
0000280d: SLOAD
0000280e: PUSH1 0xff
00002810: AND
00002811: ISZERO
00002812: PUSH2 0x2823
00002815: JUMPI
00002816: PUSH2 0x281e
00002819: DUP4
0000281a: PUSH2 0x2e94
0000281d: JUMP
0000281e: JUMPDEST
0000281f: POP
00002820: POP
00002821: POP
00002822: JUMP
00002823: JUMPDEST
00002824: DUP3
00002825: PUSH1 0x01
00002827: PUSH1 0x01
00002829: PUSH1 0xa0
0000282b: SHL
0000282c: SUB
0000282d: AND
0000282e: PUSH4 0x52d1902d
00002833: PUSH1 0x40
00002835: MLOAD
00002836: DUP2
00002837: PUSH4 0xffffffff
0000283c: AND
0000283d: PUSH1 0xe0
0000283f: SHL
00002840: DUP2
00002841: MSTORE
00002842: PUSH1 0x04
00002844: ADD
00002845: PUSH1 0x20
00002847: PUSH1 0x40
00002849: MLOAD
0000284a: DUP1
0000284b: DUP4
0000284c: SUB
0000284d: DUP2
0000284e: DUP7
0000284f: GAS
00002850: STATICCALL
00002851: SWAP3
00002852: POP
00002853: POP
00002854: POP
00002855: DUP1
00002856: ISZERO
00002857: PUSH2 0x287d
0000285a: JUMPI
0000285b: POP
0000285c: PUSH1 0x40
0000285e: DUP1
0000285f: MLOAD
00002860: PUSH1 0x1f
00002862: RETURNDATASIZE
00002863: SWAP1
00002864: DUP2
00002865: ADD
00002866: PUSH1 0x1f
00002868: NOT
00002869: AND
0000286a: DUP3
0000286b: ADD
0000286c: SWAP1
0000286d: SWAP3
0000286e: MSTORE
0000286f: PUSH2 0x287a
00002872: SWAP2
00002873: DUP2
00002874: ADD
00002875: SWAP1
00002876: PUSH2 0x5441
00002879: JUMP
0000287a: JUMPDEST
0000287b: PUSH1 0x01
0000287d: JUMPDEST
0000287e: PUSH2 0x2899
00002881: JUMPI
00002882: PUSH1 0x40
00002884: MLOAD
00002885: PUSH3 0x461bcd
00002889: PUSH1 0xe5
0000288b: SHL
0000288c: DUP2
0000288d: MSTORE
0000288e: PUSH1 0x04
00002890: ADD
00002891: PUSH2 0x0310
00002894: SWAP1
00002895: PUSH2 0x54ad
00002898: JUMP
00002899: JUMPDEST
0000289a: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
000028bb: DUP2
000028bc: EQ
000028bd: PUSH2 0x28d8
000028c0: JUMPI
000028c1: PUSH1 0x40
000028c3: MLOAD
000028c4: PUSH3 0x461bcd
000028c8: PUSH1 0xe5
000028ca: SHL
000028cb: DUP2
000028cc: MSTORE
000028cd: PUSH1 0x04
000028cf: ADD
000028d0: PUSH2 0x0310
000028d3: SWAP1
000028d4: PUSH2 0x5503
000028d7: JUMP
000028d8: JUMPDEST
000028d9: POP
000028da: PUSH2 0x281e
000028dd: DUP4
000028de: DUP4
000028df: DUP4
000028e0: PUSH2 0x2efc
000028e3: JUMP
000028e4: JUMPDEST
000028e5: PUSH1 0x33
000028e7: SLOAD
000028e8: PUSH1 0xff
000028ea: AND
000028eb: PUSH2 0x0cb8
000028ee: JUMPI
000028ef: PUSH1 0x40
000028f1: MLOAD
000028f2: PUSH3 0x461bcd
000028f6: PUSH1 0xe5
000028f8: SHL
000028f9: DUP2
000028fa: MSTORE
000028fb: PUSH1 0x04
000028fd: ADD
000028fe: PUSH2 0x0310
00002901: SWAP1
00002902: PUSH2 0x5547
00002905: JUMP
00002906: JUMPDEST
00002907: PUSH2 0x290e
0000290a: PUSH2 0x28e4
0000290d: JUMP
0000290e: JUMPDEST
0000290f: PUSH1 0x33
00002911: DUP1
00002912: SLOAD
00002913: PUSH1 0xff
00002915: NOT
00002916: AND
00002917: SWAP1
00002918: SSTORE
00002919: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
0000293a: CALLER
0000293b: JUMPDEST
0000293c: PUSH1 0x40
0000293e: MLOAD
0000293f: PUSH2 0x2948
00002942: SWAP2
00002943: SWAP1
00002944: PUSH2 0x3dfe
00002947: JUMP
00002948: JUMPDEST
00002949: PUSH1 0x40
0000294b: MLOAD
0000294c: DUP1
0000294d: SWAP2
0000294e: SUB
0000294f: SWAP1
00002950: LOG1
00002951: JUMP
00002952: JUMPDEST
00002953: PUSH1 0x65
00002955: DUP1
00002956: SLOAD
00002957: PUSH1 0x01
00002959: PUSH1 0x01
0000295b: PUSH1 0xa0
0000295d: SHL
0000295e: SUB
0000295f: DUP4
00002960: DUP2
00002961: AND
00002962: PUSH1 0x01
00002964: PUSH1 0x01
00002966: PUSH1 0xa0
00002968: SHL
00002969: SUB
0000296a: NOT
0000296b: DUP4
0000296c: AND
0000296d: DUP2
0000296e: OR
0000296f: SWAP1
00002970: SWAP4
00002971: SSTORE
00002972: PUSH1 0x40
00002974: MLOAD
00002975: SWAP2
00002976: AND
00002977: SWAP2
00002978: SWAP1
00002979: DUP3
0000297a: SWAP1
0000297b: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0000299c: SWAP1
0000299d: PUSH1 0x00
0000299f: SWAP1
000029a0: LOG3
000029a1: POP
000029a2: POP
000029a3: JUMP
000029a4: JUMPDEST
000029a5: PUSH2 0x29ac
000029a8: PUSH2 0x2477
000029ab: JUMP
000029ac: JUMPDEST
000029ad: PUSH1 0x33
000029af: DUP1
000029b0: SLOAD
000029b1: PUSH1 0xff
000029b3: NOT
000029b4: AND
000029b5: PUSH1 0x01
000029b7: OR
000029b8: SWAP1
000029b9: SSTORE
000029ba: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
000029db: PUSH2 0x293b
000029de: CALLER
000029df: SWAP1
000029e0: JUMP
000029e1: JUMPDEST
000029e2: PUSH2 0x281e
000029e5: DUP4
000029e6: PUSH4 0xa9059cbb
000029eb: PUSH1 0xe0
000029ed: SHL
000029ee: DUP5
000029ef: DUP5
000029f0: PUSH1 0x40
000029f2: MLOAD
000029f3: PUSH1 0x24
000029f5: ADD
000029f6: PUSH2 0x2a00
000029f9: SWAP3
000029fa: SWAP2
000029fb: SWAP1
000029fc: PUSH2 0x475f
000029ff: JUMP
00002a00: JUMPDEST
00002a01: PUSH1 0x40
00002a03: DUP1
00002a04: MLOAD
00002a05: PUSH1 0x1f
00002a07: NOT
00002a08: DUP2
00002a09: DUP5
00002a0a: SUB
00002a0b: ADD
00002a0c: DUP2
00002a0d: MSTORE
00002a0e: SWAP2
00002a0f: SWAP1
00002a10: MSTORE
00002a11: PUSH1 0x20
00002a13: DUP2
00002a14: ADD
00002a15: DUP1
00002a16: MLOAD
00002a17: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002a34: AND
00002a35: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00002a56: SWAP1
00002a57: SWAP4
00002a58: AND
00002a59: SWAP3
00002a5a: SWAP1
00002a5b: SWAP3
00002a5c: OR
00002a5d: SWAP1
00002a5e: SWAP2
00002a5f: MSTORE
00002a60: PUSH2 0x2f21
00002a63: JUMP
00002a64: JUMPDEST
00002a65: PUSH1 0x00
00002a67: SLOAD
00002a68: PUSH2 0x0100
00002a6b: SWAP1
00002a6c: DIV
00002a6d: PUSH1 0xff
00002a6f: AND
00002a70: PUSH2 0x2a8b
00002a73: JUMPI
00002a74: PUSH1 0x40
00002a76: MLOAD
00002a77: PUSH3 0x461bcd
00002a7b: PUSH1 0xe5
00002a7d: SHL
00002a7e: DUP2
00002a7f: MSTORE
00002a80: PUSH1 0x04
00002a82: ADD
00002a83: PUSH2 0x0310
00002a86: SWAP1
00002a87: PUSH2 0x559f
00002a8a: JUMP
00002a8b: JUMPDEST
00002a8c: PUSH2 0x0cb8
00002a8f: CALLER
00002a90: PUSH2 0x2952
00002a93: JUMP
00002a94: JUMPDEST
00002a95: PUSH1 0x00
00002a97: SLOAD
00002a98: PUSH2 0x0100
00002a9b: SWAP1
00002a9c: DIV
00002a9d: PUSH1 0xff
00002a9f: AND
00002aa0: PUSH2 0x2abb
00002aa3: JUMPI
00002aa4: PUSH1 0x40
00002aa6: MLOAD
00002aa7: PUSH3 0x461bcd
00002aab: PUSH1 0xe5
00002aad: SHL
00002aae: DUP2
00002aaf: MSTORE
00002ab0: PUSH1 0x04
00002ab2: ADD
00002ab3: PUSH2 0x0310
00002ab6: SWAP1
00002ab7: PUSH2 0x559f
00002aba: JUMP
00002abb: JUMPDEST
00002abc: PUSH1 0x33
00002abe: DUP1
00002abf: SLOAD
00002ac0: PUSH1 0xff
00002ac2: NOT
00002ac3: AND
00002ac4: SWAP1
00002ac5: SSTORE
00002ac6: JUMP
00002ac7: JUMPDEST
00002ac8: PUSH1 0x00
00002aca: SLOAD
00002acb: PUSH2 0x0100
00002ace: SWAP1
00002acf: DIV
00002ad0: PUSH1 0xff
00002ad2: AND
00002ad3: PUSH2 0x25ec
00002ad6: JUMPI
00002ad7: PUSH1 0x40
00002ad9: MLOAD
00002ada: PUSH3 0x461bcd
00002ade: PUSH1 0xe5
00002ae0: SHL
00002ae1: DUP2
00002ae2: MSTORE
00002ae3: PUSH1 0x04
00002ae5: ADD
00002ae6: PUSH2 0x0310
00002ae9: SWAP1
00002aea: PUSH2 0x559f
00002aed: JUMP
00002aee: JUMPDEST
00002aef: PUSH1 0x00
00002af1: DUP1
00002af2: DUP4
00002af3: GT
00002af4: PUSH2 0x2b0f
00002af7: JUMPI
00002af8: PUSH1 0x40
00002afa: MLOAD
00002afb: PUSH3 0x461bcd
00002aff: PUSH1 0xe5
00002b01: SHL
00002b02: DUP2
00002b03: MSTORE
00002b04: PUSH1 0x04
00002b06: ADD
00002b07: PUSH2 0x0310
00002b0a: SWAP1
00002b0b: PUSH2 0x55e3
00002b0e: JUMP
00002b0f: JUMPDEST
00002b10: PUSH1 0x00
00002b12: PUSH1 0x0a
00002b14: DUP4
00002b15: GT
00002b16: ISZERO
00002b17: PUSH2 0x2bae
00002b1a: JUMPI
00002b1b: PUSH2 0x0196
00002b1e: SLOAD
00002b1f: PUSH1 0x40
00002b21: MLOAD
00002b22: PUSH4 0x13989aff
00002b27: PUSH1 0xe3
00002b29: SHL
00002b2a: DUP2
00002b2b: MSTORE
00002b2c: PUSH3 0x0186a0
00002b30: SWAP2
00002b31: DUP7
00002b32: SWAP2
00002b33: PUSH1 0x01
00002b35: PUSH1 0x01
00002b37: PUSH1 0xa0
00002b39: SHL
00002b3a: SUB
00002b3b: SWAP1
00002b3c: SWAP2
00002b3d: AND
00002b3e: SWAP1
00002b3f: PUSH4 0x9cc4d7f8
00002b44: SWAP1
00002b45: PUSH2 0x2b52
00002b48: SWAP1
00002b49: DUP11
00002b4a: SWAP1
00002b4b: PUSH1 0x04
00002b4d: ADD
00002b4e: PUSH2 0x3dfe
00002b51: JUMP
00002b52: JUMPDEST
00002b53: PUSH1 0x20
00002b55: PUSH1 0x40
00002b57: MLOAD
00002b58: DUP1
00002b59: DUP4
00002b5a: SUB
00002b5b: DUP2
00002b5c: DUP7
00002b5d: GAS
00002b5e: STATICCALL
00002b5f: ISZERO
00002b60: DUP1
00002b61: ISZERO
00002b62: PUSH2 0x2b6f
00002b65: JUMPI
00002b66: RETURNDATASIZE
00002b67: PUSH1 0x00
00002b69: DUP1
00002b6a: RETURNDATACOPY
00002b6b: RETURNDATASIZE
00002b6c: PUSH1 0x00
00002b6e: REVERT
00002b6f: JUMPDEST
00002b70: POP
00002b71: POP
00002b72: POP
00002b73: POP
00002b74: PUSH1 0x40
00002b76: MLOAD
00002b77: RETURNDATASIZE
00002b78: PUSH1 0x1f
00002b7a: NOT
00002b7b: PUSH1 0x1f
00002b7d: DUP3
00002b7e: ADD
00002b7f: AND
00002b80: DUP3
00002b81: ADD
00002b82: DUP1
00002b83: PUSH1 0x40
00002b85: MSTORE
00002b86: POP
00002b87: DUP2
00002b88: ADD
00002b89: SWAP1
00002b8a: PUSH2 0x2b93
00002b8d: SWAP2
00002b8e: SWAP1
00002b8f: PUSH2 0x5441
00002b92: JUMP
00002b93: JUMPDEST
00002b94: PUSH2 0x2b9d
00002b97: SWAP2
00002b98: SWAP1
00002b99: PUSH2 0x5609
00002b9c: JUMP
00002b9d: JUMPDEST
00002b9e: PUSH2 0x2ba7
00002ba1: SWAP2
00002ba2: SWAP1
00002ba3: PUSH2 0x563e
00002ba6: JUMP
00002ba7: JUMPDEST
00002ba8: SWAP1
00002ba9: POP
00002baa: PUSH2 0x2c3e
00002bad: JUMP
00002bae: JUMPDEST
00002baf: PUSH2 0x0196
00002bb2: SLOAD
00002bb3: PUSH1 0x40
00002bb5: MLOAD
00002bb6: PUSH4 0x19745e39
00002bbb: PUSH1 0xe1
00002bbd: SHL
00002bbe: DUP2
00002bbf: MSTORE
00002bc0: PUSH3 0x0186a0
00002bc4: SWAP2
00002bc5: DUP7
00002bc6: SWAP2
00002bc7: PUSH1 0x01
00002bc9: PUSH1 0x01
00002bcb: PUSH1 0xa0
00002bcd: SHL
00002bce: SUB
00002bcf: SWAP1
00002bd0: SWAP2
00002bd1: AND
00002bd2: SWAP1
00002bd3: PUSH4 0x32e8bc72
00002bd8: SWAP1
00002bd9: PUSH2 0x2be6
00002bdc: SWAP1
00002bdd: DUP11
00002bde: SWAP1
00002bdf: PUSH1 0x04
00002be1: ADD
00002be2: PUSH2 0x3dfe
00002be5: JUMP
00002be6: JUMPDEST
00002be7: PUSH1 0x20
00002be9: PUSH1 0x40
00002beb: MLOAD
00002bec: DUP1
00002bed: DUP4
00002bee: SUB
00002bef: DUP2
00002bf0: DUP7
00002bf1: GAS
00002bf2: STATICCALL
00002bf3: ISZERO
00002bf4: DUP1
00002bf5: ISZERO
00002bf6: PUSH2 0x2c03
00002bf9: JUMPI
00002bfa: RETURNDATASIZE
00002bfb: PUSH1 0x00
00002bfd: DUP1
00002bfe: RETURNDATACOPY
00002bff: RETURNDATASIZE
00002c00: PUSH1 0x00
00002c02: REVERT
00002c03: JUMPDEST
00002c04: POP
00002c05: POP
00002c06: POP
00002c07: POP
00002c08: PUSH1 0x40
00002c0a: MLOAD
00002c0b: RETURNDATASIZE
00002c0c: PUSH1 0x1f
00002c0e: NOT
00002c0f: PUSH1 0x1f
00002c11: DUP3
00002c12: ADD
00002c13: AND
00002c14: DUP3
00002c15: ADD
00002c16: DUP1
00002c17: PUSH1 0x40
00002c19: MSTORE
00002c1a: POP
00002c1b: DUP2
00002c1c: ADD
00002c1d: SWAP1
00002c1e: PUSH2 0x2c27
00002c21: SWAP2
00002c22: SWAP1
00002c23: PUSH2 0x5441
00002c26: JUMP
00002c27: JUMPDEST
00002c28: PUSH2 0x2c31
00002c2b: SWAP2
00002c2c: SWAP1
00002c2d: PUSH2 0x5609
00002c30: JUMP
00002c31: JUMPDEST
00002c32: PUSH2 0x2c3b
00002c35: SWAP2
00002c36: SWAP1
00002c37: PUSH2 0x563e
00002c3a: JUMP
00002c3b: JUMPDEST
00002c3c: SWAP1
00002c3d: POP
00002c3e: JUMPDEST
00002c3f: DUP1
00002c40: ISZERO
00002c41: PUSH2 0x2e41
00002c44: JUMPI
00002c45: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
00002c66: PUSH1 0x01
00002c68: PUSH1 0x01
00002c6a: PUSH1 0xa0
00002c6c: SHL
00002c6d: SUB
00002c6e: AND
00002c6f: DUP6
00002c70: PUSH1 0x01
00002c72: PUSH1 0x01
00002c74: PUSH1 0xa0
00002c76: SHL
00002c77: SUB
00002c78: AND
00002c79: SUB
00002c7a: PUSH2 0x2db4
00002c7d: JUMPI
00002c7e: PUSH1 0x01
00002c80: PUSH1 0x01
00002c82: PUSH1 0xa0
00002c84: SHL
00002c85: SUB
00002c86: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
00002ca7: AND
00002ca8: PUSH1 0x00
00002caa: SWAP1
00002cab: DUP2
00002cac: MSTORE
00002cad: PUSH2 0x0197
00002cb0: PUSH1 0x20
00002cb2: MSTORE
00002cb3: PUSH1 0x40
00002cb5: DUP2
00002cb6: KECCAK256
00002cb7: DUP1
00002cb8: SLOAD
00002cb9: DUP4
00002cba: SWAP3
00002cbb: SWAP1
00002cbc: PUSH2 0x2cc6
00002cbf: SWAP1
00002cc0: DUP5
00002cc1: SWAP1
00002cc2: PUSH2 0x5652
00002cc5: JUMP
00002cc6: JUMPDEST
00002cc7: SWAP1
00002cc8: SWAP2
00002cc9: SSTORE
00002cca: POP
00002ccb: POP
00002ccc: PUSH2 0x0196
00002ccf: SLOAD
00002cd0: PUSH1 0x40
00002cd2: MLOAD
00002cd3: PUSH1 0x00
00002cd5: SWAP2
00002cd6: PUSH1 0x01
00002cd8: PUSH1 0x01
00002cda: PUSH1 0xa0
00002cdc: SHL
00002cdd: SUB
00002cde: AND
00002cdf: SWAP1
00002ce0: DUP4
00002ce1: SWAP1
00002ce2: PUSH2 0x2cea
00002ce5: SWAP1
00002ce6: PUSH2 0x48f0
00002ce9: JUMP
00002cea: JUMPDEST
00002ceb: PUSH1 0x00
00002ced: PUSH1 0x40
00002cef: MLOAD
00002cf0: DUP1
00002cf1: DUP4
00002cf2: SUB
00002cf3: DUP2
00002cf4: DUP6
00002cf5: DUP8
00002cf6: GAS
00002cf7: CALL
00002cf8: SWAP3
00002cf9: POP
00002cfa: POP
00002cfb: POP
00002cfc: RETURNDATASIZE
00002cfd: DUP1
00002cfe: PUSH1 0x00
00002d00: DUP2
00002d01: EQ
00002d02: PUSH2 0x2d27
00002d05: JUMPI
00002d06: PUSH1 0x40
00002d08: MLOAD
00002d09: SWAP2
00002d0a: POP
00002d0b: PUSH1 0x1f
00002d0d: NOT
00002d0e: PUSH1 0x3f
00002d10: RETURNDATASIZE
00002d11: ADD
00002d12: AND
00002d13: DUP3
00002d14: ADD
00002d15: PUSH1 0x40
00002d17: MSTORE
00002d18: RETURNDATASIZE
00002d19: DUP3
00002d1a: MSTORE
00002d1b: RETURNDATASIZE
00002d1c: PUSH1 0x00
00002d1e: PUSH1 0x20
00002d20: DUP5
00002d21: ADD
00002d22: RETURNDATACOPY
00002d23: PUSH2 0x2d2c
00002d26: JUMP
00002d27: JUMPDEST
00002d28: PUSH1 0x60
00002d2a: SWAP2
00002d2b: POP
00002d2c: JUMPDEST
00002d2d: POP
00002d2e: POP
00002d2f: SWAP1
00002d30: POP
00002d31: DUP1
00002d32: PUSH2 0x2d4d
00002d35: JUMPI
00002d36: PUSH1 0x40
00002d38: MLOAD
00002d39: PUSH3 0x461bcd
00002d3d: PUSH1 0xe5
00002d3f: SHL
00002d40: DUP2
00002d41: MSTORE
00002d42: PUSH1 0x04
00002d44: ADD
00002d45: PUSH2 0x0310
00002d48: SWAP1
00002d49: PUSH2 0x5697
00002d4c: JUMP
00002d4d: JUMPDEST
00002d4e: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
00002d6f: PUSH1 0x01
00002d71: PUSH1 0x01
00002d73: PUSH1 0xa0
00002d75: SHL
00002d76: SUB
00002d77: AND
00002d78: PUSH32 0x4ffe5bf553bf6aeeb1ee609a4214a42f4891810f9ff6751298650c4c1933a09e
00002d99: DUP4
00002d9a: PUSH1 0x40
00002d9c: MLOAD
00002d9d: PUSH2 0x2da6
00002da0: SWAP2
00002da1: SWAP1
00002da2: PUSH2 0x3800
00002da5: JUMP
00002da6: JUMPDEST
00002da7: PUSH1 0x40
00002da9: MLOAD
00002daa: DUP1
00002dab: SWAP2
00002dac: SUB
00002dad: SWAP1
00002dae: LOG2
00002daf: POP
00002db0: PUSH2 0x2e41
00002db3: JUMP
00002db4: JUMPDEST
00002db5: PUSH1 0x01
00002db7: PUSH1 0x01
00002db9: PUSH1 0xa0
00002dbb: SHL
00002dbc: SUB
00002dbd: DUP6
00002dbe: AND
00002dbf: PUSH1 0x00
00002dc1: SWAP1
00002dc2: DUP2
00002dc3: MSTORE
00002dc4: PUSH2 0x0197
00002dc7: PUSH1 0x20
00002dc9: MSTORE
00002dca: PUSH1 0x40
00002dcc: DUP2
00002dcd: KECCAK256
00002dce: DUP1
00002dcf: SLOAD
00002dd0: DUP4
00002dd1: SWAP3
00002dd2: SWAP1
00002dd3: PUSH2 0x2ddd
00002dd6: SWAP1
00002dd7: DUP5
00002dd8: SWAP1
00002dd9: PUSH2 0x5652
00002ddc: JUMP
00002ddd: JUMPDEST
00002dde: SWAP1
00002ddf: SWAP2
00002de0: SSTORE
00002de1: POP
00002de2: POP
00002de3: PUSH2 0x0196
00002de6: SLOAD
00002de7: PUSH2 0x2dff
00002dea: SWAP1
00002deb: PUSH1 0x01
00002ded: PUSH1 0x01
00002def: PUSH1 0xa0
00002df1: SHL
00002df2: SUB
00002df3: DUP8
00002df4: DUP2
00002df5: AND
00002df6: SWAP2
00002df7: CALLER
00002df8: SWAP2
00002df9: AND
00002dfa: DUP5
00002dfb: PUSH2 0x2e73
00002dfe: JUMP
00002dff: JUMPDEST
00002e00: DUP5
00002e01: PUSH1 0x01
00002e03: PUSH1 0x01
00002e05: PUSH1 0xa0
00002e07: SHL
00002e08: SUB
00002e09: AND
00002e0a: PUSH32 0x4ffe5bf553bf6aeeb1ee609a4214a42f4891810f9ff6751298650c4c1933a09e
00002e2b: DUP3
00002e2c: PUSH1 0x40
00002e2e: MLOAD
00002e2f: PUSH2 0x2e38
00002e32: SWAP2
00002e33: SWAP1
00002e34: PUSH2 0x3800
00002e37: JUMP
00002e38: JUMPDEST
00002e39: PUSH1 0x40
00002e3b: MLOAD
00002e3c: DUP1
00002e3d: SWAP2
00002e3e: SUB
00002e3f: SWAP1
00002e40: LOG2
00002e41: JUMPDEST
00002e42: PUSH2 0x2e4b
00002e45: DUP2
00002e46: DUP6
00002e47: PUSH2 0x56a7
00002e4a: JUMP
00002e4b: JUMPDEST
00002e4c: SWAP6
00002e4d: SWAP5
00002e4e: POP
00002e4f: POP
00002e50: POP
00002e51: POP
00002e52: POP
00002e53: JUMP
00002e54: JUMPDEST
00002e55: PUSH2 0x2e5c
00002e58: PUSH2 0x350c
00002e5b: JUMP
00002e5c: JUMPDEST
00002e5d: PUSH2 0x2e67
00002e60: DUP5
00002e61: DUP5
00002e62: DUP5
00002e63: PUSH2 0x2fb0
00002e66: JUMP
00002e67: JUMPDEST
00002e68: SWAP5
00002e69: DUP6
00002e6a: MSTORE
00002e6b: POP
00002e6c: SWAP3
00002e6d: SWAP4
00002e6e: SWAP3
00002e6f: POP
00002e70: POP
00002e71: POP
00002e72: JUMP
00002e73: JUMPDEST
00002e74: PUSH2 0x11e8
00002e77: DUP5
00002e78: PUSH4 0x23b872dd
00002e7d: PUSH1 0xe0
00002e7f: SHL
00002e80: DUP6
00002e81: DUP6
00002e82: DUP6
00002e83: PUSH1 0x40
00002e85: MLOAD
00002e86: PUSH1 0x24
00002e88: ADD
00002e89: PUSH2 0x2a00
00002e8c: SWAP4
00002e8d: SWAP3
00002e8e: SWAP2
00002e8f: SWAP1
00002e90: PUSH2 0x4d4c
00002e93: JUMP
00002e94: JUMPDEST
00002e95: PUSH1 0x01
00002e97: PUSH1 0x01
00002e99: PUSH1 0xa0
00002e9b: SHL
00002e9c: SUB
00002e9d: DUP2
00002e9e: AND
00002e9f: EXTCODESIZE
00002ea0: PUSH2 0x2ebb
00002ea3: JUMPI
00002ea4: PUSH1 0x40
00002ea6: MLOAD
00002ea7: PUSH3 0x461bcd
00002eab: PUSH1 0xe5
00002ead: SHL
00002eae: DUP2
00002eaf: MSTORE
00002eb0: PUSH1 0x04
00002eb2: ADD
00002eb3: PUSH2 0x0310
00002eb6: SWAP1
00002eb7: PUSH2 0x5704
00002eba: JUMP
00002ebb: JUMPDEST
00002ebc: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00002edd: DUP1
00002ede: SLOAD
00002edf: PUSH1 0x01
00002ee1: PUSH1 0x01
00002ee3: PUSH1 0xa0
00002ee5: SHL
00002ee6: SUB
00002ee7: NOT
00002ee8: AND
00002ee9: PUSH1 0x01
00002eeb: PUSH1 0x01
00002eed: PUSH1 0xa0
00002eef: SHL
00002ef0: SUB
00002ef1: SWAP3
00002ef2: SWAP1
00002ef3: SWAP3
00002ef4: AND
00002ef5: SWAP2
00002ef6: SWAP1
00002ef7: SWAP2
00002ef8: OR
00002ef9: SWAP1
00002efa: SSTORE
00002efb: JUMP
00002efc: JUMPDEST
00002efd: PUSH2 0x2f05
00002f00: DUP4
00002f01: PUSH2 0x3269
00002f04: JUMP
00002f05: JUMPDEST
00002f06: PUSH1 0x00
00002f08: DUP3
00002f09: MLOAD
00002f0a: GT
00002f0b: DUP1
00002f0c: PUSH2 0x2f12
00002f0f: JUMPI
00002f10: POP
00002f11: DUP1
00002f12: JUMPDEST
00002f13: ISZERO
00002f14: PUSH2 0x281e
00002f17: JUMPI
00002f18: PUSH2 0x11e8
00002f1b: DUP4
00002f1c: DUP4
00002f1d: PUSH2 0x32a9
00002f20: JUMP
00002f21: JUMPDEST
00002f22: PUSH1 0x00
00002f24: PUSH2 0x2f76
00002f27: DUP3
00002f28: PUSH1 0x40
00002f2a: MLOAD
00002f2b: DUP1
00002f2c: PUSH1 0x40
00002f2e: ADD
00002f2f: PUSH1 0x40
00002f31: MSTORE
00002f32: DUP1
00002f33: PUSH1 0x20
00002f35: DUP2
00002f36: MSTORE
00002f37: PUSH1 0x20
00002f39: ADD
00002f3a: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00002f5b: DUP2
00002f5c: MSTORE
00002f5d: POP
00002f5e: DUP6
00002f5f: PUSH1 0x01
00002f61: PUSH1 0x01
00002f63: PUSH1 0xa0
00002f65: SHL
00002f66: SUB
00002f67: AND
00002f68: PUSH2 0x32d5
00002f6b: SWAP1
00002f6c: SWAP3
00002f6d: SWAP2
00002f6e: SWAP1
00002f6f: PUSH4 0xffffffff
00002f74: AND
00002f75: JUMP
00002f76: JUMPDEST
00002f77: DUP1
00002f78: MLOAD
00002f79: SWAP1
00002f7a: SWAP2
00002f7b: POP
00002f7c: ISZERO
00002f7d: PUSH2 0x281e
00002f80: JUMPI
00002f81: DUP1
00002f82: DUP1
00002f83: PUSH1 0x20
00002f85: ADD
00002f86: SWAP1
00002f87: MLOAD
00002f88: DUP2
00002f89: ADD
00002f8a: SWAP1
00002f8b: PUSH2 0x2f94
00002f8e: SWAP2
00002f8f: SWAP1
00002f90: PUSH2 0x4412
00002f93: JUMP
00002f94: JUMPDEST
00002f95: PUSH2 0x281e
00002f98: JUMPI
00002f99: PUSH1 0x40
00002f9b: MLOAD
00002f9c: PUSH3 0x461bcd
00002fa0: PUSH1 0xe5
00002fa2: SHL
00002fa3: DUP2
00002fa4: MSTORE
00002fa5: PUSH1 0x04
00002fa7: ADD
00002fa8: PUSH2 0x0310
00002fab: SWAP1
00002fac: PUSH2 0x575b
00002faf: JUMP
00002fb0: JUMPDEST
00002fb1: PUSH2 0x2fb8
00002fb4: PUSH2 0x350c
00002fb7: JUMP
00002fb8: JUMPDEST
00002fb9: PUSH2 0x012e
00002fbc: SLOAD
00002fbd: PUSH1 0x40
00002fbf: MLOAD
00002fc0: PUSH4 0x0723eb03
00002fc5: PUSH1 0xe5
00002fc7: SHL
00002fc8: DUP2
00002fc9: MSTORE
00002fca: PUSH1 0x01
00002fcc: PUSH1 0x01
00002fce: PUSH1 0xa0
00002fd0: SHL
00002fd1: SUB
00002fd2: SWAP1
00002fd3: SWAP2
00002fd4: AND
00002fd5: SWAP1
00002fd6: PUSH4 0xe47d6060
00002fdb: SWAP1
00002fdc: PUSH2 0x2fe9
00002fdf: SWAP1
00002fe0: CALLER
00002fe1: SWAP1
00002fe2: PUSH1 0x04
00002fe4: ADD
00002fe5: PUSH2 0x3dfe
00002fe8: JUMP
00002fe9: JUMPDEST
00002fea: PUSH1 0x20
00002fec: PUSH1 0x40
00002fee: MLOAD
00002fef: DUP1
00002ff0: DUP4
00002ff1: SUB
00002ff2: DUP2
00002ff3: DUP7
00002ff4: GAS
00002ff5: STATICCALL
00002ff6: ISZERO
00002ff7: DUP1
00002ff8: ISZERO
00002ff9: PUSH2 0x3006
00002ffc: JUMPI
00002ffd: RETURNDATASIZE
00002ffe: PUSH1 0x00
00003000: DUP1
00003001: RETURNDATACOPY
00003002: RETURNDATASIZE
00003003: PUSH1 0x00
00003005: REVERT
00003006: JUMPDEST
00003007: POP
00003008: POP
00003009: POP
0000300a: POP
0000300b: PUSH1 0x40
0000300d: MLOAD
0000300e: RETURNDATASIZE
0000300f: PUSH1 0x1f
00003011: NOT
00003012: PUSH1 0x1f
00003014: DUP3
00003015: ADD
00003016: AND
00003017: DUP3
00003018: ADD
00003019: DUP1
0000301a: PUSH1 0x40
0000301c: MSTORE
0000301d: POP
0000301e: DUP2
0000301f: ADD
00003020: SWAP1
00003021: PUSH2 0x302a
00003024: SWAP2
00003025: SWAP1
00003026: PUSH2 0x4412
00003029: JUMP
0000302a: JUMPDEST
0000302b: ISZERO
0000302c: PUSH2 0x3047
0000302f: JUMPI
00003030: PUSH1 0x40
00003032: MLOAD
00003033: PUSH3 0x461bcd
00003037: PUSH1 0xe5
00003039: SHL
0000303a: DUP2
0000303b: MSTORE
0000303c: PUSH1 0x04
0000303e: ADD
0000303f: PUSH2 0x0310
00003042: SWAP1
00003043: PUSH2 0x579d
00003046: JUMP
00003047: JUMPDEST
00003048: PUSH1 0x01
0000304a: PUSH1 0x01
0000304c: PUSH1 0xa0
0000304e: SHL
0000304f: SUB
00003050: DUP5
00003051: AND
00003052: PUSH1 0x00
00003054: SWAP1
00003055: DUP2
00003056: MSTORE
00003057: PUSH1 0xc9
00003059: PUSH1 0x20
0000305b: MSTORE
0000305c: PUSH1 0x40
0000305e: SWAP1
0000305f: KECCAK256
00003060: PUSH1 0x06
00003062: ADD
00003063: SLOAD
00003064: PUSH1 0xff
00003066: AND
00003067: PUSH2 0x3082
0000306a: JUMPI
0000306b: PUSH1 0x40
0000306d: MLOAD
0000306e: PUSH3 0x461bcd
00003072: PUSH1 0xe5
00003074: SHL
00003075: DUP2
00003076: MSTORE
00003077: PUSH1 0x04
00003079: ADD
0000307a: PUSH2 0x0310
0000307d: SWAP1
0000307e: PUSH2 0x489b
00003081: JUMP
00003082: JUMPDEST
00003083: PUSH2 0x308c
00003086: DUP5
00003087: DUP5
00003088: PUSH2 0x1f7e
0000308b: JUMP
0000308c: JUMPDEST
0000308d: PUSH2 0x30a8
00003090: JUMPI
00003091: PUSH1 0x40
00003093: MLOAD
00003094: PUSH3 0x461bcd
00003098: PUSH1 0xe5
0000309a: SHL
0000309b: DUP2
0000309c: MSTORE
0000309d: PUSH1 0x04
0000309f: ADD
000030a0: PUSH2 0x0310
000030a3: SWAP1
000030a4: PUSH2 0x57eb
000030a7: JUMP
000030a8: JUMPDEST
000030a9: PUSH1 0x40
000030ab: DUP1
000030ac: MLOAD
000030ad: DUP1
000030ae: DUP3
000030af: ADD
000030b0: DUP3
000030b1: MSTORE
000030b2: PUSH2 0x0130
000030b5: SLOAD
000030b6: DUP2
000030b7: MSTORE
000030b8: PUSH2 0x0131
000030bb: SLOAD
000030bc: PUSH1 0x01
000030be: PUSH1 0x01
000030c0: PUSH1 0xa0
000030c2: SHL
000030c3: SUB
000030c4: SWAP1
000030c5: DUP2
000030c6: AND
000030c7: PUSH1 0x20
000030c9: DUP1
000030ca: DUP5
000030cb: ADD
000030cc: SWAP2
000030cd: SWAP1
000030ce: SWAP2
000030cf: MSTORE
000030d0: DUP5
000030d1: DUP5
000030d2: ADD
000030d3: SWAP3
000030d4: SWAP1
000030d5: SWAP3
000030d6: MSTORE
000030d7: DUP3
000030d8: MLOAD
000030d9: DUP1
000030da: DUP5
000030db: ADD
000030dc: DUP5
000030dd: MSTORE
000030de: PUSH1 0xc8
000030e0: SLOAD
000030e1: DUP2
000030e2: MSTORE
000030e3: SWAP1
000030e4: DUP8
000030e5: AND
000030e6: PUSH1 0x00
000030e8: SWAP1
000030e9: DUP2
000030ea: MSTORE
000030eb: PUSH1 0xc9
000030ed: DUP4
000030ee: MSTORE
000030ef: SWAP3
000030f0: SWAP1
000030f1: SWAP3
000030f2: KECCAK256
000030f3: PUSH1 0x03
000030f5: ADD
000030f6: DUP1
000030f7: SLOAD
000030f8: SWAP2
000030f9: DUP4
000030fa: ADD
000030fb: SWAP2
000030fc: PUSH2 0x3104
000030ff: SWAP1
00003100: PUSH2 0x4803
00003103: JUMP
00003104: JUMPDEST
00003105: DUP1
00003106: PUSH1 0x1f
00003108: ADD
00003109: PUSH1 0x20
0000310b: DUP1
0000310c: SWAP2
0000310d: DIV
0000310e: MUL
0000310f: PUSH1 0x20
00003111: ADD
00003112: PUSH1 0x40
00003114: MLOAD
00003115: SWAP1
00003116: DUP2
00003117: ADD
00003118: PUSH1 0x40
0000311a: MSTORE
0000311b: DUP1
0000311c: SWAP3
0000311d: SWAP2
0000311e: SWAP1
0000311f: DUP2
00003120: DUP2
00003121: MSTORE
00003122: PUSH1 0x20
00003124: ADD
00003125: DUP3
00003126: DUP1
00003127: SLOAD
00003128: PUSH2 0x3130
0000312b: SWAP1
0000312c: PUSH2 0x4803
0000312f: JUMP
00003130: JUMPDEST
00003131: DUP1
00003132: ISZERO
00003133: PUSH2 0x317d
00003136: JUMPI
00003137: DUP1
00003138: PUSH1 0x1f
0000313a: LT
0000313b: PUSH2 0x3152
0000313e: JUMPI
0000313f: PUSH2 0x0100
00003142: DUP1
00003143: DUP4
00003144: SLOAD
00003145: DIV
00003146: MUL
00003147: DUP4
00003148: MSTORE
00003149: SWAP2
0000314a: PUSH1 0x20
0000314c: ADD
0000314d: SWAP2
0000314e: PUSH2 0x317d
00003151: JUMP
00003152: JUMPDEST
00003153: DUP3
00003154: ADD
00003155: SWAP2
00003156: SWAP1
00003157: PUSH1 0x00
00003159: MSTORE
0000315a: PUSH1 0x20
0000315c: PUSH1 0x00
0000315e: KECCAK256
0000315f: SWAP1
00003160: JUMPDEST
00003161: DUP2
00003162: SLOAD
00003163: DUP2
00003164: MSTORE
00003165: SWAP1
00003166: PUSH1 0x01
00003168: ADD
00003169: SWAP1
0000316a: PUSH1 0x20
0000316c: ADD
0000316d: DUP1
0000316e: DUP4
0000316f: GT
00003170: PUSH2 0x3160
00003173: JUMPI
00003174: DUP3
00003175: SWAP1
00003176: SUB
00003177: PUSH1 0x1f
00003179: AND
0000317a: DUP3
0000317b: ADD
0000317c: SWAP2
0000317d: JUMPDEST
0000317e: POP
0000317f: POP
00003180: POP
00003181: SWAP2
00003182: SWAP1
00003183: SWAP3
00003184: MSTORE
00003185: POP
00003186: POP
00003187: PUSH1 0x60
00003189: DUP3
0000318a: ADD
0000318b: MSTORE
0000318c: PUSH1 0x40
0000318e: DUP1
0000318f: MLOAD
00003190: PUSH1 0x80
00003192: DUP2
00003193: ADD
00003194: DUP3
00003195: MSTORE
00003196: CALLER
00003197: DUP2
00003198: MSTORE
00003199: PUSH1 0x01
0000319b: PUSH1 0x01
0000319d: PUSH1 0xa0
0000319f: SHL
000031a0: SUB
000031a1: DUP7
000031a2: AND
000031a3: PUSH1 0x00
000031a5: SWAP1
000031a6: DUP2
000031a7: MSTORE
000031a8: PUSH1 0xc9
000031aa: PUSH1 0x20
000031ac: SWAP1
000031ad: DUP2
000031ae: MSTORE
000031af: SWAP3
000031b0: SWAP1
000031b1: KECCAK256
000031b2: PUSH1 0x02
000031b4: ADD
000031b5: DUP1
000031b6: SLOAD
000031b7: SWAP2
000031b8: SWAP3
000031b9: DUP4
000031ba: ADD
000031bb: SWAP2
000031bc: PUSH2 0x31c4
000031bf: SWAP1
000031c0: PUSH2 0x4803
000031c3: JUMP
000031c4: JUMPDEST
000031c5: DUP1
000031c6: PUSH1 0x1f
000031c8: ADD
000031c9: PUSH1 0x20
000031cb: DUP1
000031cc: SWAP2
000031cd: DIV
000031ce: MUL
000031cf: PUSH1 0x20
000031d1: ADD
000031d2: PUSH1 0x40
000031d4: MLOAD
000031d5: SWAP1
000031d6: DUP2
000031d7: ADD
000031d8: PUSH1 0x40
000031da: MSTORE
000031db: DUP1
000031dc: SWAP3
000031dd: SWAP2
000031de: SWAP1
000031df: DUP2
000031e0: DUP2
000031e1: MSTORE
000031e2: PUSH1 0x20
000031e4: ADD
000031e5: DUP3
000031e6: DUP1
000031e7: SLOAD
000031e8: PUSH2 0x31f0
000031eb: SWAP1
000031ec: PUSH2 0x4803
000031ef: JUMP
000031f0: JUMPDEST
000031f1: DUP1
000031f2: ISZERO
000031f3: PUSH2 0x323d
000031f6: JUMPI
000031f7: DUP1
000031f8: PUSH1 0x1f
000031fa: LT
000031fb: PUSH2 0x3212
000031fe: JUMPI
000031ff: PUSH2 0x0100
00003202: DUP1
00003203: DUP4
00003204: SLOAD
00003205: DIV
00003206: MUL
00003207: DUP4
00003208: MSTORE
00003209: SWAP2
0000320a: PUSH1 0x20
0000320c: ADD
0000320d: SWAP2
0000320e: PUSH2 0x323d
00003211: JUMP
00003212: JUMPDEST
00003213: DUP3
00003214: ADD
00003215: SWAP2
00003216: SWAP1
00003217: PUSH1 0x00
00003219: MSTORE
0000321a: PUSH1 0x20
0000321c: PUSH1 0x00
0000321e: KECCAK256
0000321f: SWAP1
00003220: JUMPDEST
00003221: DUP2
00003222: SLOAD
00003223: DUP2
00003224: MSTORE
00003225: SWAP1
00003226: PUSH1 0x01
00003228: ADD
00003229: SWAP1
0000322a: PUSH1 0x20
0000322c: ADD
0000322d: DUP1
0000322e: DUP4
0000322f: GT
00003230: PUSH2 0x3220
00003233: JUMPI
00003234: DUP3
00003235: SWAP1
00003236: SUB
00003237: PUSH1 0x1f
00003239: AND
0000323a: DUP3
0000323b: ADD
0000323c: SWAP2
0000323d: JUMPDEST
0000323e: POP
0000323f: POP
00003240: POP
00003241: SWAP2
00003242: DUP4
00003243: MSTORE
00003244: POP
00003245: POP
00003246: PUSH1 0x20
00003248: DUP2
00003249: ADD
0000324a: SWAP5
0000324b: SWAP1
0000324c: SWAP5
0000324d: MSTORE
0000324e: PUSH1 0x40
00003250: SWAP1
00003251: SWAP4
00003252: ADD
00003253: SWAP2
00003254: SWAP1
00003255: SWAP2
00003256: MSTORE
00003257: PUSH1 0x80
00003259: DUP2
0000325a: ADD
0000325b: SWAP2
0000325c: SWAP1
0000325d: SWAP2
0000325e: MSTORE
0000325f: NUMBER
00003260: PUSH1 0xa0
00003262: DUP3
00003263: ADD
00003264: MSTORE
00003265: SWAP2
00003266: SWAP1
00003267: POP
00003268: JUMP
00003269: JUMPDEST
0000326a: PUSH2 0x3272
0000326d: DUP2
0000326e: PUSH2 0x2e94
00003271: JUMP
00003272: JUMPDEST
00003273: PUSH1 0x40
00003275: MLOAD
00003276: PUSH1 0x01
00003278: PUSH1 0x01
0000327a: PUSH1 0xa0
0000327c: SHL
0000327d: SUB
0000327e: DUP3
0000327f: AND
00003280: SWAP1
00003281: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
000032a2: SWAP1
000032a3: PUSH1 0x00
000032a5: SWAP1
000032a6: LOG2
000032a7: POP
000032a8: JUMP
000032a9: JUMPDEST
000032aa: PUSH1 0x60
000032ac: PUSH2 0x32ce
000032af: DUP4
000032b0: DUP4
000032b1: PUSH1 0x40
000032b3: MLOAD
000032b4: DUP1
000032b5: PUSH1 0x60
000032b7: ADD
000032b8: PUSH1 0x40
000032ba: MSTORE
000032bb: DUP1
000032bc: PUSH1 0x27
000032be: DUP2
000032bf: MSTORE
000032c0: PUSH1 0x20
000032c2: ADD
000032c3: PUSH2 0x5893
000032c6: PUSH1 0x27
000032c8: SWAP2
000032c9: CODECOPY
000032ca: PUSH2 0x32ec
000032cd: JUMP
000032ce: JUMPDEST
000032cf: SWAP4
000032d0: SWAP3
000032d1: POP
000032d2: POP
000032d3: POP
000032d4: JUMP
000032d5: JUMPDEST
000032d6: PUSH1 0x60
000032d8: PUSH2 0x32e4
000032db: DUP5
000032dc: DUP5
000032dd: PUSH1 0x00
000032df: DUP6
000032e0: PUSH2 0x3364
000032e3: JUMP
000032e4: JUMPDEST
000032e5: SWAP5
000032e6: SWAP4
000032e7: POP
000032e8: POP
000032e9: POP
000032ea: POP
000032eb: JUMP
000032ec: JUMPDEST
000032ed: PUSH1 0x60
000032ef: PUSH1 0x00
000032f1: DUP1
000032f2: DUP6
000032f3: PUSH1 0x01
000032f5: PUSH1 0x01
000032f7: PUSH1 0xa0
000032f9: SHL
000032fa: SUB
000032fb: AND
000032fc: DUP6
000032fd: PUSH1 0x40
000032ff: MLOAD
00003300: PUSH2 0x3309
00003303: SWAP2
00003304: SWAP1
00003305: PUSH2 0x4b54
00003308: JUMP
00003309: JUMPDEST
0000330a: PUSH1 0x00
0000330c: PUSH1 0x40
0000330e: MLOAD
0000330f: DUP1
00003310: DUP4
00003311: SUB
00003312: DUP2
00003313: DUP6
00003314: GAS
00003315: DELEGATECALL
00003316: SWAP2
00003317: POP
00003318: POP
00003319: RETURNDATASIZE
0000331a: DUP1
0000331b: PUSH1 0x00
0000331d: DUP2
0000331e: EQ
0000331f: PUSH2 0x3344
00003322: JUMPI
00003323: PUSH1 0x40
00003325: MLOAD
00003326: SWAP2
00003327: POP
00003328: PUSH1 0x1f
0000332a: NOT
0000332b: PUSH1 0x3f
0000332d: RETURNDATASIZE
0000332e: ADD
0000332f: AND
00003330: DUP3
00003331: ADD
00003332: PUSH1 0x40
00003334: MSTORE
00003335: RETURNDATASIZE
00003336: DUP3
00003337: MSTORE
00003338: RETURNDATASIZE
00003339: PUSH1 0x00
0000333b: PUSH1 0x20
0000333d: DUP5
0000333e: ADD
0000333f: RETURNDATACOPY
00003340: PUSH2 0x3349
00003343: JUMP
00003344: JUMPDEST
00003345: PUSH1 0x60
00003347: SWAP2
00003348: POP
00003349: JUMPDEST
0000334a: POP
0000334b: SWAP2
0000334c: POP
0000334d: SWAP2
0000334e: POP
0000334f: PUSH2 0x335a
00003352: DUP7
00003353: DUP4
00003354: DUP4
00003355: DUP8
00003356: PUSH2 0x3426
00003359: JUMP
0000335a: JUMPDEST
0000335b: SWAP7
0000335c: SWAP6
0000335d: POP
0000335e: POP
0000335f: POP
00003360: POP
00003361: POP
00003362: POP
00003363: JUMP
00003364: JUMPDEST
00003365: PUSH1 0x60
00003367: DUP3
00003368: SELFBALANCE
00003369: LT
0000336a: ISZERO
0000336b: PUSH2 0x3386
0000336e: JUMPI
0000336f: PUSH1 0x40
00003371: MLOAD
00003372: PUSH3 0x461bcd
00003376: PUSH1 0xe5
00003378: SHL
00003379: DUP2
0000337a: MSTORE
0000337b: PUSH1 0x04
0000337d: ADD
0000337e: PUSH2 0x0310
00003381: SWAP1
00003382: PUSH2 0x583e
00003385: JUMP
00003386: JUMPDEST
00003387: PUSH1 0x01
00003389: PUSH1 0x01
0000338b: PUSH1 0xa0
0000338d: SHL
0000338e: SUB
0000338f: DUP6
00003390: AND
00003391: EXTCODESIZE
00003392: PUSH2 0x33ad
00003395: JUMPI
00003396: PUSH1 0x40
00003398: MLOAD
00003399: PUSH3 0x461bcd
0000339d: PUSH1 0xe5
0000339f: SHL
000033a0: DUP2
000033a1: MSTORE
000033a2: PUSH1 0x04
000033a4: ADD
000033a5: PUSH2 0x0310
000033a8: SWAP1
000033a9: PUSH2 0x5882
000033ac: JUMP
000033ad: JUMPDEST
000033ae: PUSH1 0x00
000033b0: DUP1
000033b1: DUP7
000033b2: PUSH1 0x01
000033b4: PUSH1 0x01
000033b6: PUSH1 0xa0
000033b8: SHL
000033b9: SUB
000033ba: AND
000033bb: DUP6
000033bc: DUP8
000033bd: PUSH1 0x40
000033bf: MLOAD
000033c0: PUSH2 0x33c9
000033c3: SWAP2
000033c4: SWAP1
000033c5: PUSH2 0x4b54
000033c8: JUMP
000033c9: JUMPDEST
000033ca: PUSH1 0x00
000033cc: PUSH1 0x40
000033ce: MLOAD
000033cf: DUP1
000033d0: DUP4
000033d1: SUB
000033d2: DUP2
000033d3: DUP6
000033d4: DUP8
000033d5: GAS
000033d6: CALL
000033d7: SWAP3
000033d8: POP
000033d9: POP
000033da: POP
000033db: RETURNDATASIZE
000033dc: DUP1
000033dd: PUSH1 0x00
000033df: DUP2
000033e0: EQ
000033e1: PUSH2 0x3406
000033e4: JUMPI
000033e5: PUSH1 0x40
000033e7: MLOAD
000033e8: SWAP2
000033e9: POP
000033ea: PUSH1 0x1f
000033ec: NOT
000033ed: PUSH1 0x3f
000033ef: RETURNDATASIZE
000033f0: ADD
000033f1: AND
000033f2: DUP3
000033f3: ADD
000033f4: PUSH1 0x40
000033f6: MSTORE
000033f7: RETURNDATASIZE
000033f8: DUP3
000033f9: MSTORE
000033fa: RETURNDATASIZE
000033fb: PUSH1 0x00
000033fd: PUSH1 0x20
000033ff: DUP5
00003400: ADD
00003401: RETURNDATACOPY
00003402: PUSH2 0x340b
00003405: JUMP
00003406: JUMPDEST
00003407: PUSH1 0x60
00003409: SWAP2
0000340a: POP
0000340b: JUMPDEST
0000340c: POP
0000340d: SWAP2
0000340e: POP
0000340f: SWAP2
00003410: POP
00003411: PUSH2 0x341b
00003414: DUP3
00003415: DUP3
00003416: DUP7
00003417: PUSH2 0x346f
0000341a: JUMP
0000341b: JUMPDEST
0000341c: SWAP8
0000341d: SWAP7
0000341e: POP
0000341f: POP
00003420: POP
00003421: POP
00003422: POP
00003423: POP
00003424: POP
00003425: JUMP
00003426: JUMPDEST
00003427: PUSH1 0x60
00003429: DUP4
0000342a: ISZERO
0000342b: PUSH2 0x3465
0000342e: JUMPI
0000342f: DUP3
00003430: MLOAD
00003431: PUSH1 0x00
00003433: SUB
00003434: PUSH2 0x345e
00003437: JUMPI
00003438: PUSH1 0x01
0000343a: PUSH1 0x01
0000343c: PUSH1 0xa0
0000343e: SHL
0000343f: SUB
00003440: DUP6
00003441: AND
00003442: EXTCODESIZE
00003443: PUSH2 0x345e
00003446: JUMPI
00003447: PUSH1 0x40
00003449: MLOAD
0000344a: PUSH3 0x461bcd
0000344e: PUSH1 0xe5
00003450: SHL
00003451: DUP2
00003452: MSTORE
00003453: PUSH1 0x04
00003455: ADD
00003456: PUSH2 0x0310
00003459: SWAP1
0000345a: PUSH2 0x5882
0000345d: JUMP
0000345e: JUMPDEST
0000345f: POP
00003460: DUP2
00003461: PUSH2 0x32e4
00003464: JUMP
00003465: JUMPDEST
00003466: PUSH2 0x32e4
00003469: DUP4
0000346a: DUP4
0000346b: PUSH2 0x34a8
0000346e: JUMP
0000346f: JUMPDEST
00003470: PUSH1 0x60
00003472: DUP4
00003473: ISZERO
00003474: PUSH2 0x347e
00003477: JUMPI
00003478: POP
00003479: DUP2
0000347a: PUSH2 0x32ce
0000347d: JUMP
0000347e: JUMPDEST
0000347f: DUP3
00003480: MLOAD
00003481: ISZERO
00003482: PUSH2 0x348e
00003485: JUMPI
00003486: DUP3
00003487: MLOAD
00003488: DUP1
00003489: DUP5
0000348a: PUSH1 0x20
0000348c: ADD
0000348d: REVERT
0000348e: JUMPDEST
0000348f: DUP2
00003490: PUSH1 0x40
00003492: MLOAD
00003493: PUSH3 0x461bcd
00003497: PUSH1 0xe5
00003499: SHL
0000349a: DUP2
0000349b: MSTORE
0000349c: PUSH1 0x04
0000349e: ADD
0000349f: PUSH2 0x0310
000034a2: SWAP2
000034a3: SWAP1
000034a4: PUSH2 0x392c
000034a7: JUMP
000034a8: JUMPDEST
000034a9: DUP2
000034aa: MLOAD
000034ab: ISZERO
000034ac: PUSH2 0x34b8
000034af: JUMPI
000034b0: DUP2
000034b1: MLOAD
000034b2: DUP1
000034b3: DUP4
000034b4: PUSH1 0x20
000034b6: ADD
000034b7: REVERT
000034b8: JUMPDEST
000034b9: DUP1
000034ba: PUSH1 0x40
000034bc: MLOAD
000034bd: PUSH3 0x461bcd
000034c1: PUSH1 0xe5
000034c3: SHL
000034c4: DUP2
000034c5: MSTORE
000034c6: PUSH1 0x04
000034c8: ADD
000034c9: PUSH2 0x0310
000034cc: SWAP2
000034cd: SWAP1
000034ce: PUSH2 0x392c
000034d1: JUMP
000034d2: JUMPDEST
000034d3: POP
000034d4: DUP1
000034d5: SLOAD
000034d6: PUSH2 0x34de
000034d9: SWAP1
000034da: PUSH2 0x4803
000034dd: JUMP
000034de: JUMPDEST
000034df: PUSH1 0x00
000034e1: DUP3
000034e2: SSTORE
000034e3: DUP1
000034e4: PUSH1 0x1f
000034e6: LT
000034e7: PUSH2 0x34ee
000034ea: JUMPI
000034eb: POP
000034ec: POP
000034ed: JUMP
000034ee: JUMPDEST
000034ef: PUSH1 0x1f
000034f1: ADD
000034f2: PUSH1 0x20
000034f4: SWAP1
000034f5: DIV
000034f6: SWAP1
000034f7: PUSH1 0x00
000034f9: MSTORE
000034fa: PUSH1 0x20
000034fc: PUSH1 0x00
000034fe: KECCAK256
000034ff: SWAP1
00003500: DUP2
00003501: ADD
00003502: SWAP1
00003503: PUSH2 0x0c9d
00003506: SWAP2
00003507: SWAP1
00003508: PUSH2 0x35b3
0000350b: JUMP
0000350c: JUMPDEST
0000350d: PUSH1 0x40
0000350f: MLOAD
00003510: DUP1
00003511: PUSH1 0xc0
00003513: ADD
00003514: PUSH1 0x40
00003516: MSTORE
00003517: DUP1
00003518: PUSH1 0x00
0000351a: DUP2
0000351b: MSTORE
0000351c: PUSH1 0x20
0000351e: ADD
0000351f: PUSH1 0x00
00003521: DUP2
00003522: MSTORE
00003523: PUSH1 0x20
00003525: ADD
00003526: PUSH2 0x354b
00003529: PUSH1 0x40
0000352b: MLOAD
0000352c: DUP1
0000352d: PUSH1 0x40
0000352f: ADD
00003530: PUSH1 0x40
00003532: MSTORE
00003533: DUP1
00003534: PUSH1 0x00
00003536: DUP2
00003537: MSTORE
00003538: PUSH1 0x20
0000353a: ADD
0000353b: PUSH1 0x00
0000353d: PUSH1 0x01
0000353f: PUSH1 0x01
00003541: PUSH1 0xa0
00003543: SHL
00003544: SUB
00003545: AND
00003546: DUP2
00003547: MSTORE
00003548: POP
00003549: SWAP1
0000354a: JUMP
0000354b: JUMPDEST
0000354c: DUP2
0000354d: MSTORE
0000354e: PUSH1 0x20
00003550: ADD
00003551: PUSH2 0x356d
00003554: PUSH1 0x40
00003556: MLOAD
00003557: DUP1
00003558: PUSH1 0x40
0000355a: ADD
0000355b: PUSH1 0x40
0000355d: MSTORE
0000355e: DUP1
0000355f: PUSH1 0x00
00003561: DUP2
00003562: MSTORE
00003563: PUSH1 0x20
00003565: ADD
00003566: PUSH1 0x60
00003568: DUP2
00003569: MSTORE
0000356a: POP
0000356b: SWAP1
0000356c: JUMP
0000356d: JUMPDEST
0000356e: DUP2
0000356f: MSTORE
00003570: PUSH1 0x20
00003572: ADD
00003573: PUSH2 0x35a6
00003576: PUSH1 0x40
00003578: MLOAD
00003579: DUP1
0000357a: PUSH1 0x80
0000357c: ADD
0000357d: PUSH1 0x40
0000357f: MSTORE
00003580: DUP1
00003581: PUSH1 0x00
00003583: PUSH1 0x01
00003585: PUSH1 0x01
00003587: PUSH1 0xa0
00003589: SHL
0000358a: SUB
0000358b: AND
0000358c: DUP2
0000358d: MSTORE
0000358e: PUSH1 0x20
00003590: ADD
00003591: PUSH1 0x60
00003593: DUP2
00003594: MSTORE
00003595: PUSH1 0x20
00003597: ADD
00003598: PUSH1 0x00
0000359a: DUP2
0000359b: MSTORE
0000359c: PUSH1 0x20
0000359e: ADD
0000359f: PUSH1 0x60
000035a1: DUP2
000035a2: MSTORE
000035a3: POP
000035a4: SWAP1
000035a5: JUMP
000035a6: JUMPDEST
000035a7: DUP2
000035a8: MSTORE
000035a9: PUSH1 0x20
000035ab: ADD
000035ac: PUSH1 0x00
000035ae: DUP2
000035af: MSTORE
000035b0: POP
000035b1: SWAP1
000035b2: JUMP
000035b3: JUMPDEST
000035b4: JUMPDEST
000035b5: DUP1
000035b6: DUP3
000035b7: GT
000035b8: ISZERO
000035b9: PUSH2 0x35c8
000035bc: JUMPI
000035bd: PUSH1 0x00
000035bf: DUP2
000035c0: SSTORE
000035c1: PUSH1 0x01
000035c3: ADD
000035c4: PUSH2 0x35b4
000035c7: JUMP
000035c8: JUMPDEST
000035c9: POP
000035ca: SWAP1
000035cb: JUMP
000035cc: JUMPDEST
000035cd: PUSH1 0x24
000035cf: DUP2
000035d0: MSTORE
000035d1: PUSH1 0x00
000035d3: PUSH1 0x20
000035d5: DUP3
000035d6: ADD
000035d7: PUSH32 0x546f6b656e536572766963653a2053656e64657249734e6f7457686974656c69
000035f8: DUP2
000035f9: MSTORE
000035fa: PUSH4 0x1cdd1959
000035ff: PUSH1 0xe2
00003601: SHL
00003602: PUSH1 0x20
00003604: DUP3
00003605: ADD
00003606: MSTORE
00003607: SWAP2
00003608: POP
00003609: JUMPDEST
0000360a: POP
0000360b: PUSH1 0x40
0000360d: ADD
0000360e: SWAP1
0000360f: JUMP
00003610: JUMPDEST
00003611: PUSH1 0x20
00003613: DUP1
00003614: DUP3
00003615: MSTORE
00003616: DUP2
00003617: ADD
00003618: PUSH2 0x2128
0000361b: DUP2
0000361c: PUSH2 0x35cc
0000361f: JUMP
00003620: JUMPDEST
00003621: PUSH1 0x00
00003623: DUP1
00003624: DUP4
00003625: PUSH1 0x1f
00003627: DUP5
00003628: ADD
00003629: SLT
0000362a: PUSH2 0x3635
0000362d: JUMPI
0000362e: PUSH2 0x3635
00003631: PUSH1 0x00
00003633: DUP1
00003634: REVERT
00003635: JUMPDEST
00003636: POP
00003637: DUP2
00003638: CALLDATALOAD
00003639: PUSH1 0x01
0000363b: PUSH1 0x01
0000363d: PUSH1 0x40
0000363f: SHL
00003640: SUB
00003641: DUP2
00003642: GT
00003643: ISZERO
00003644: PUSH2 0x364f
00003647: JUMPI
00003648: PUSH2 0x364f
0000364b: PUSH1 0x00
0000364d: DUP1
0000364e: REVERT
0000364f: JUMPDEST
00003650: PUSH1 0x20
00003652: DUP4
00003653: ADD
00003654: SWAP2
00003655: POP
00003656: DUP4
00003657: PUSH1 0x01
00003659: DUP3
0000365a: MUL
0000365b: DUP4
0000365c: ADD
0000365d: GT
0000365e: ISZERO
0000365f: PUSH2 0x366a
00003662: JUMPI
00003663: PUSH2 0x366a
00003666: PUSH1 0x00
00003668: DUP1
00003669: REVERT
0000366a: JUMPDEST
0000366b: SWAP3
0000366c: POP
0000366d: SWAP3
0000366e: SWAP1
0000366f: POP
00003670: JUMP
00003671: JUMPDEST
00003672: PUSH1 0x00
00003674: PUSH1 0x80
00003676: DUP3
00003677: DUP5
00003678: SUB
00003679: SLT
0000367a: ISZERO
0000367b: PUSH2 0x3686
0000367e: JUMPI
0000367f: PUSH2 0x3686
00003682: PUSH1 0x00
00003684: DUP1
00003685: REVERT
00003686: JUMPDEST
00003687: POP
00003688: SWAP2
00003689: SWAP1
0000368a: POP
0000368b: JUMP
0000368c: JUMPDEST
0000368d: DUP1
0000368e: ISZERO
0000368f: ISZERO
00003690: JUMPDEST
00003691: DUP2
00003692: EQ
00003693: PUSH2 0x0c9d
00003696: JUMPI
00003697: PUSH1 0x00
00003699: DUP1
0000369a: REVERT
0000369b: JUMPDEST
0000369c: DUP1
0000369d: CALLDATALOAD
0000369e: PUSH2 0x2128
000036a1: DUP2
000036a2: PUSH2 0x368c
000036a5: JUMP
000036a6: JUMPDEST
000036a7: PUSH1 0x00
000036a9: DUP1
000036aa: PUSH1 0x00
000036ac: DUP1
000036ad: PUSH1 0x00
000036af: DUP1
000036b0: PUSH1 0x80
000036b2: DUP8
000036b3: DUP10
000036b4: SUB
000036b5: SLT
000036b6: ISZERO
000036b7: PUSH2 0x36c2
000036ba: JUMPI
000036bb: PUSH2 0x36c2
000036be: PUSH1 0x00
000036c0: DUP1
000036c1: REVERT
000036c2: JUMPDEST
000036c3: DUP7
000036c4: CALLDATALOAD
000036c5: PUSH1 0x01
000036c7: PUSH1 0x01
000036c9: PUSH1 0x40
000036cb: SHL
000036cc: SUB
000036cd: DUP2
000036ce: GT
000036cf: ISZERO
000036d0: PUSH2 0x36db
000036d3: JUMPI
000036d4: PUSH2 0x36db
000036d7: PUSH1 0x00
000036d9: DUP1
000036da: REVERT
000036db: JUMPDEST
000036dc: PUSH2 0x36e7
000036df: DUP10
000036e0: DUP3
000036e1: DUP11
000036e2: ADD
000036e3: PUSH2 0x3620
000036e6: JUMP
000036e7: JUMPDEST
000036e8: SWAP7
000036e9: POP
000036ea: SWAP7
000036eb: POP
000036ec: POP
000036ed: PUSH1 0x20
000036ef: DUP8
000036f0: ADD
000036f1: CALLDATALOAD
000036f2: PUSH1 0x01
000036f4: PUSH1 0x01
000036f6: PUSH1 0x40
000036f8: SHL
000036f9: SUB
000036fa: DUP2
000036fb: GT
000036fc: ISZERO
000036fd: PUSH2 0x3708
00003700: JUMPI
00003701: PUSH2 0x3708
00003704: PUSH1 0x00
00003706: DUP1
00003707: REVERT
00003708: JUMPDEST
00003709: PUSH2 0x3714
0000370c: DUP10
0000370d: DUP3
0000370e: DUP11
0000370f: ADD
00003710: PUSH2 0x3671
00003713: JUMP
00003714: JUMPDEST
00003715: SWAP5
00003716: POP
00003717: POP
00003718: PUSH1 0x40
0000371a: PUSH2 0x3725
0000371d: DUP10
0000371e: DUP3
0000371f: DUP11
00003720: ADD
00003721: PUSH2 0x369b
00003724: JUMP
00003725: JUMPDEST
00003726: SWAP4
00003727: POP
00003728: POP
00003729: PUSH1 0x60
0000372b: DUP8
0000372c: ADD
0000372d: CALLDATALOAD
0000372e: PUSH1 0x01
00003730: PUSH1 0x01
00003732: PUSH1 0x40
00003734: SHL
00003735: SUB
00003736: DUP2
00003737: GT
00003738: ISZERO
00003739: PUSH2 0x3744
0000373c: JUMPI
0000373d: PUSH2 0x3744
00003740: PUSH1 0x00
00003742: DUP1
00003743: REVERT
00003744: JUMPDEST
00003745: PUSH2 0x3750
00003748: DUP10
00003749: DUP3
0000374a: DUP11
0000374b: ADD
0000374c: PUSH2 0x3620
0000374f: JUMP
00003750: JUMPDEST
00003751: SWAP3
00003752: POP
00003753: SWAP3
00003754: POP
00003755: POP
00003756: SWAP3
00003757: SWAP6
00003758: POP
00003759: SWAP3
0000375a: SWAP6
0000375b: POP
0000375c: SWAP3
0000375d: SWAP6
0000375e: JUMP
0000375f: JUMPDEST
00003760: PUSH1 0x00
00003762: PUSH1 0x01
00003764: PUSH1 0x01
00003766: PUSH1 0xa0
00003768: SHL
00003769: SUB
0000376a: DUP3
0000376b: AND
0000376c: PUSH2 0x2128
0000376f: JUMP
00003770: JUMPDEST
00003771: PUSH2 0x3690
00003774: DUP2
00003775: PUSH2 0x375f
00003778: JUMP
00003779: JUMPDEST
0000377a: DUP1
0000377b: CALLDATALOAD
0000377c: PUSH2 0x2128
0000377f: DUP2
00003780: PUSH2 0x3770
00003783: JUMP
00003784: JUMPDEST
00003785: PUSH1 0x00
00003787: DUP1
00003788: PUSH1 0x40
0000378a: DUP4
0000378b: DUP6
0000378c: SUB
0000378d: SLT
0000378e: ISZERO
0000378f: PUSH2 0x379a
00003792: JUMPI
00003793: PUSH2 0x379a
00003796: PUSH1 0x00
00003798: DUP1
00003799: REVERT
0000379a: JUMPDEST
0000379b: PUSH1 0x00
0000379d: PUSH2 0x37a6
000037a0: DUP6
000037a1: DUP6
000037a2: PUSH2 0x3779
000037a5: JUMP
000037a6: JUMPDEST
000037a7: SWAP3
000037a8: POP
000037a9: POP
000037aa: PUSH1 0x20
000037ac: PUSH2 0x37b7
000037af: DUP6
000037b0: DUP3
000037b1: DUP7
000037b2: ADD
000037b3: PUSH2 0x3779
000037b6: JUMP
000037b7: JUMPDEST
000037b8: SWAP2
000037b9: POP
000037ba: POP
000037bb: SWAP3
000037bc: POP
000037bd: SWAP3
000037be: SWAP1
000037bf: POP
000037c0: JUMP
000037c1: JUMPDEST
000037c2: PUSH1 0x00
000037c4: PUSH1 0x20
000037c6: DUP3
000037c7: DUP5
000037c8: SUB
000037c9: SLT
000037ca: ISZERO
000037cb: PUSH2 0x37d6
000037ce: JUMPI
000037cf: PUSH2 0x37d6
000037d2: PUSH1 0x00
000037d4: DUP1
000037d5: REVERT
000037d6: JUMPDEST
000037d7: PUSH1 0x00
000037d9: PUSH2 0x2124
000037dc: DUP5
000037dd: DUP5
000037de: PUSH2 0x3779
000037e1: JUMP
000037e2: JUMPDEST
000037e3: DUP1
000037e4: ISZERO
000037e5: ISZERO
000037e6: JUMPDEST
000037e7: DUP3
000037e8: MSTORE
000037e9: POP
000037ea: POP
000037eb: JUMP
000037ec: JUMPDEST
000037ed: PUSH1 0x20
000037ef: DUP2
000037f0: ADD
000037f1: PUSH2 0x2128
000037f4: DUP3
000037f5: DUP5
000037f6: PUSH2 0x37e2
000037f9: JUMP
000037fa: JUMPDEST
000037fb: DUP1
000037fc: PUSH2 0x37e6
000037ff: JUMP
00003800: JUMPDEST
00003801: PUSH1 0x20
00003803: DUP2
00003804: ADD
00003805: PUSH2 0x2128
00003808: DUP3
00003809: DUP5
0000380a: PUSH2 0x37fa
0000380d: JUMP
0000380e: JUMPDEST
0000380f: DUP1
00003810: PUSH2 0x3690
00003813: JUMP
00003814: JUMPDEST
00003815: DUP1
00003816: CALLDATALOAD
00003817: PUSH2 0x2128
0000381a: DUP2
0000381b: PUSH2 0x380e
0000381e: JUMP
0000381f: JUMPDEST
00003820: PUSH1 0x00
00003822: DUP1
00003823: PUSH1 0x00
00003825: DUP1
00003826: PUSH1 0x00
00003828: DUP1
00003829: PUSH1 0x00
0000382b: PUSH1 0xa0
0000382d: DUP9
0000382e: DUP11
0000382f: SUB
00003830: SLT
00003831: ISZERO
00003832: PUSH2 0x383d
00003835: JUMPI
00003836: PUSH2 0x383d
00003839: PUSH1 0x00
0000383b: DUP1
0000383c: REVERT
0000383d: JUMPDEST
0000383e: PUSH1 0x00
00003840: PUSH2 0x3849
00003843: DUP11
00003844: DUP11
00003845: PUSH2 0x3779
00003848: JUMP
00003849: JUMPDEST
0000384a: SWAP8
0000384b: POP
0000384c: POP
0000384d: PUSH1 0x20
0000384f: PUSH2 0x385a
00003852: DUP11
00003853: DUP3
00003854: DUP12
00003855: ADD
00003856: PUSH2 0x3814
00003859: JUMP
0000385a: JUMPDEST
0000385b: SWAP7
0000385c: POP
0000385d: POP
0000385e: PUSH1 0x40
00003860: DUP9
00003861: ADD
00003862: CALLDATALOAD
00003863: PUSH1 0x01
00003865: PUSH1 0x01
00003867: PUSH1 0x40
00003869: SHL
0000386a: SUB
0000386b: DUP2
0000386c: GT
0000386d: ISZERO
0000386e: PUSH2 0x3879
00003871: JUMPI
00003872: PUSH2 0x3879
00003875: PUSH1 0x00
00003877: DUP1
00003878: REVERT
00003879: JUMPDEST
0000387a: PUSH2 0x3885
0000387d: DUP11
0000387e: DUP3
0000387f: DUP12
00003880: ADD
00003881: PUSH2 0x3620
00003884: JUMP
00003885: JUMPDEST
00003886: SWAP6
00003887: POP
00003888: SWAP6
00003889: POP
0000388a: POP
0000388b: PUSH1 0x60
0000388d: PUSH2 0x3898
00003890: DUP11
00003891: DUP3
00003892: DUP12
00003893: ADD
00003894: PUSH2 0x369b
00003897: JUMP
00003898: JUMPDEST
00003899: SWAP4
0000389a: POP
0000389b: POP
0000389c: PUSH1 0x80
0000389e: DUP9
0000389f: ADD
000038a0: CALLDATALOAD
000038a1: PUSH1 0x01
000038a3: PUSH1 0x01
000038a5: PUSH1 0x40
000038a7: SHL
000038a8: SUB
000038a9: DUP2
000038aa: GT
000038ab: ISZERO
000038ac: PUSH2 0x38b7
000038af: JUMPI
000038b0: PUSH2 0x38b7
000038b3: PUSH1 0x00
000038b5: DUP1
000038b6: REVERT
000038b7: JUMPDEST
000038b8: PUSH2 0x38c3
000038bb: DUP11
000038bc: DUP3
000038bd: DUP12
000038be: ADD
000038bf: PUSH2 0x3620
000038c2: JUMP
000038c3: JUMPDEST
000038c4: SWAP3
000038c5: POP
000038c6: SWAP3
000038c7: POP
000038c8: POP
000038c9: SWAP3
000038ca: SWAP6
000038cb: SWAP9
000038cc: SWAP2
000038cd: SWAP5
000038ce: SWAP8
000038cf: POP
000038d0: SWAP3
000038d1: SWAP6
000038d2: POP
000038d3: JUMP
000038d4: JUMPDEST
000038d5: PUSH1 0x00
000038d7: JUMPDEST
000038d8: DUP4
000038d9: DUP2
000038da: LT
000038db: ISZERO
000038dc: PUSH2 0x38ef
000038df: JUMPI
000038e0: DUP2
000038e1: DUP2
000038e2: ADD
000038e3: MLOAD
000038e4: DUP4
000038e5: DUP3
000038e6: ADD
000038e7: MSTORE
000038e8: PUSH1 0x20
000038ea: ADD
000038eb: PUSH2 0x38d7
000038ee: JUMP
000038ef: JUMPDEST
000038f0: POP
000038f1: POP
000038f2: PUSH1 0x00
000038f4: SWAP2
000038f5: ADD
000038f6: MSTORE
000038f7: JUMP
000038f8: JUMPDEST
000038f9: PUSH1 0x00
000038fb: PUSH2 0x3902
000038fe: DUP3
000038ff: MLOAD
00003900: SWAP1
00003901: JUMP
00003902: JUMPDEST
00003903: DUP1
00003904: DUP5
00003905: MSTORE
00003906: PUSH1 0x20
00003908: DUP5
00003909: ADD
0000390a: SWAP4
0000390b: POP
0000390c: PUSH2 0x3919
0000390f: DUP2
00003910: DUP6
00003911: PUSH1 0x20
00003913: DUP7
00003914: ADD
00003915: PUSH2 0x38d4
00003918: JUMP
00003919: JUMPDEST
0000391a: PUSH1 0x1f
0000391c: NOT
0000391d: PUSH1 0x1f
0000391f: DUP3
00003920: ADD
00003921: AND
00003922: JUMPDEST
00003923: SWAP1
00003924: SWAP4
00003925: ADD
00003926: SWAP4
00003927: SWAP3
00003928: POP
00003929: POP
0000392a: POP
0000392b: JUMP
0000392c: JUMPDEST
0000392d: PUSH1 0x20
0000392f: DUP1
00003930: DUP3
00003931: MSTORE
00003932: DUP2
00003933: ADD
00003934: PUSH2 0x32ce
00003937: DUP2
00003938: DUP5
00003939: PUSH2 0x38f8
0000393c: JUMP
0000393d: JUMPDEST
0000393e: PUSH1 0x00
00003940: DUP1
00003941: PUSH1 0x40
00003943: DUP4
00003944: DUP6
00003945: SUB
00003946: SLT
00003947: ISZERO
00003948: PUSH2 0x3953
0000394b: JUMPI
0000394c: PUSH2 0x3953
0000394f: PUSH1 0x00
00003951: DUP1
00003952: REVERT
00003953: JUMPDEST
00003954: PUSH1 0x00
00003956: PUSH2 0x395f
00003959: DUP6
0000395a: DUP6
0000395b: PUSH2 0x3779
0000395e: JUMP
0000395f: JUMPDEST
00003960: SWAP3
00003961: POP
00003962: POP
00003963: PUSH1 0x20
00003965: PUSH2 0x37b7
00003968: DUP6
00003969: DUP3
0000396a: DUP7
0000396b: ADD
0000396c: PUSH2 0x3814
0000396f: JUMP
00003970: JUMPDEST
00003971: PUSH1 0x00
00003973: PUSH2 0x2128
00003976: DUP3
00003977: PUSH2 0x375f
0000397a: JUMP
0000397b: JUMPDEST
0000397c: PUSH2 0x3690
0000397f: DUP2
00003980: PUSH2 0x3970
00003983: JUMP
00003984: JUMPDEST
00003985: DUP1
00003986: CALLDATALOAD
00003987: PUSH2 0x2128
0000398a: DUP2
0000398b: PUSH2 0x397b
0000398e: JUMP
0000398f: JUMPDEST
00003990: PUSH1 0x00
00003992: PUSH1 0x20
00003994: DUP3
00003995: DUP5
00003996: SUB
00003997: SLT
00003998: ISZERO
00003999: PUSH2 0x39a4
0000399c: JUMPI
0000399d: PUSH2 0x39a4
000039a0: PUSH1 0x00
000039a2: DUP1
000039a3: REVERT
000039a4: JUMPDEST
000039a5: PUSH1 0x00
000039a7: PUSH2 0x2124
000039aa: DUP5
000039ab: DUP5
000039ac: PUSH2 0x3984
000039af: JUMP
000039b0: JUMPDEST
000039b1: PUSH4 0x4e487b71
000039b6: PUSH1 0xe0
000039b8: SHL
000039b9: PUSH1 0x00
000039bb: MSTORE
000039bc: PUSH1 0x41
000039be: PUSH1 0x04
000039c0: MSTORE
000039c1: PUSH1 0x24
000039c3: PUSH1 0x00
000039c5: REVERT
000039c6: JUMPDEST
000039c7: PUSH1 0x1f
000039c9: NOT
000039ca: PUSH1 0x1f
000039cc: DUP4
000039cd: ADD
000039ce: AND
000039cf: DUP2
000039d0: ADD
000039d1: DUP2
000039d2: DUP2
000039d3: LT
000039d4: PUSH1 0x01
000039d6: PUSH1 0x01
000039d8: PUSH1 0x40
000039da: SHL
000039db: SUB
000039dc: DUP3
000039dd: GT
000039de: OR
000039df: ISZERO
000039e0: PUSH2 0x39eb
000039e3: JUMPI
000039e4: PUSH2 0x39eb
000039e7: PUSH2 0x39b0
000039ea: JUMP
000039eb: JUMPDEST
000039ec: PUSH1 0x40
000039ee: MSTORE
000039ef: POP
000039f0: POP
000039f1: JUMP
000039f2: JUMPDEST
000039f3: PUSH1 0x00
000039f5: PUSH2 0x39fd
000039f8: PUSH1 0x40
000039fa: MLOAD
000039fb: SWAP1
000039fc: JUMP
000039fd: JUMPDEST
000039fe: SWAP1
000039ff: POP
00003a00: PUSH2 0x3a09
00003a03: DUP3
00003a04: DUP3
00003a05: PUSH2 0x39c6
00003a08: JUMP
00003a09: JUMPDEST
00003a0a: SWAP2
00003a0b: SWAP1
00003a0c: POP
00003a0d: JUMP
00003a0e: JUMPDEST
00003a0f: PUSH1 0x00
00003a11: PUSH1 0x01
00003a13: PUSH1 0x01
00003a15: PUSH1 0x40
00003a17: SHL
00003a18: SUB
00003a19: DUP3
00003a1a: GT
00003a1b: ISZERO
00003a1c: PUSH2 0x3a27
00003a1f: JUMPI
00003a20: PUSH2 0x3a27
00003a23: PUSH2 0x39b0
00003a26: JUMP
00003a27: JUMPDEST
00003a28: PUSH1 0x1f
00003a2a: NOT
00003a2b: PUSH1 0x1f
00003a2d: DUP4
00003a2e: ADD
00003a2f: AND
00003a30: PUSH1 0x20
00003a32: ADD
00003a33: SWAP3
00003a34: SWAP2
00003a35: POP
00003a36: POP
00003a37: JUMP
00003a38: JUMPDEST
00003a39: DUP3
00003a3a: DUP2
00003a3b: DUP4
00003a3c: CALLDATACOPY
00003a3d: POP
00003a3e: PUSH1 0x00
00003a40: SWAP2
00003a41: ADD
00003a42: MSTORE
00003a43: JUMP
00003a44: JUMPDEST
00003a45: PUSH1 0x00
00003a47: PUSH2 0x3a57
00003a4a: PUSH2 0x3a52
00003a4d: DUP5
00003a4e: PUSH2 0x3a0e
00003a51: JUMP
00003a52: JUMPDEST
00003a53: PUSH2 0x39f2
00003a56: JUMP
00003a57: JUMPDEST
00003a58: SWAP1
00003a59: POP
00003a5a: DUP3
00003a5b: DUP2
00003a5c: MSTORE
00003a5d: PUSH1 0x20
00003a5f: DUP2
00003a60: ADD
00003a61: DUP5
00003a62: DUP5
00003a63: DUP5
00003a64: ADD
00003a65: GT
00003a66: ISZERO
00003a67: PUSH2 0x3a72
00003a6a: JUMPI
00003a6b: PUSH2 0x3a72
00003a6e: PUSH1 0x00
00003a70: DUP1
00003a71: REVERT
00003a72: JUMPDEST
00003a73: PUSH2 0x3a7d
00003a76: DUP5
00003a77: DUP3
00003a78: DUP6
00003a79: PUSH2 0x3a38
00003a7c: JUMP
00003a7d: JUMPDEST
00003a7e: POP
00003a7f: SWAP4
00003a80: SWAP3
00003a81: POP
00003a82: POP
00003a83: POP
00003a84: JUMP
00003a85: JUMPDEST
00003a86: PUSH1 0x00
00003a88: DUP3
00003a89: PUSH1 0x1f
00003a8b: DUP4
00003a8c: ADD
00003a8d: SLT
00003a8e: PUSH2 0x3a99
00003a91: JUMPI
00003a92: PUSH2 0x3a99
00003a95: PUSH1 0x00
00003a97: DUP1
00003a98: REVERT
00003a99: JUMPDEST
00003a9a: DUP2
00003a9b: CALLDATALOAD
00003a9c: PUSH2 0x2124
00003a9f: DUP5
00003aa0: DUP3
00003aa1: PUSH1 0x20
00003aa3: DUP7
00003aa4: ADD
00003aa5: PUSH2 0x3a44
00003aa8: JUMP
00003aa9: JUMPDEST
00003aaa: PUSH1 0x00
00003aac: DUP1
00003aad: PUSH1 0x40
00003aaf: DUP4
00003ab0: DUP6
00003ab1: SUB
00003ab2: SLT
00003ab3: ISZERO
00003ab4: PUSH2 0x3abf
00003ab7: JUMPI
00003ab8: PUSH2 0x3abf
00003abb: PUSH1 0x00
00003abd: DUP1
00003abe: REVERT
00003abf: JUMPDEST
00003ac0: PUSH1 0x00
00003ac2: PUSH2 0x3acb
00003ac5: DUP6
00003ac6: DUP6
00003ac7: PUSH2 0x3779
00003aca: JUMP
00003acb: JUMPDEST
00003acc: SWAP3
00003acd: POP
00003ace: POP
00003acf: PUSH1 0x20
00003ad1: DUP4
00003ad2: ADD
00003ad3: CALLDATALOAD
00003ad4: PUSH1 0x01
00003ad6: PUSH1 0x01
00003ad8: PUSH1 0x40
00003ada: SHL
00003adb: SUB
00003adc: DUP2
00003add: GT
00003ade: ISZERO
00003adf: PUSH2 0x3aea
00003ae2: JUMPI
00003ae3: PUSH2 0x3aea
00003ae6: PUSH1 0x00
00003ae8: DUP1
00003ae9: REVERT
00003aea: JUMPDEST
00003aeb: PUSH2 0x37b7
00003aee: DUP6
00003aef: DUP3
00003af0: DUP7
00003af1: ADD
00003af2: PUSH2 0x3a85
00003af5: JUMP
00003af6: JUMPDEST
00003af7: PUSH1 0x00
00003af9: DUP1
00003afa: PUSH1 0x00
00003afc: DUP1
00003afd: PUSH1 0x60
00003aff: DUP6
00003b00: DUP8
00003b01: SUB
00003b02: SLT
00003b03: ISZERO
00003b04: PUSH2 0x3b0f
00003b07: JUMPI
00003b08: PUSH2 0x3b0f
00003b0b: PUSH1 0x00
00003b0d: DUP1
00003b0e: REVERT
00003b0f: JUMPDEST
00003b10: DUP5
00003b11: CALLDATALOAD
00003b12: PUSH1 0x01
00003b14: PUSH1 0x01
00003b16: PUSH1 0x40
00003b18: SHL
00003b19: SUB
00003b1a: DUP2
00003b1b: GT
00003b1c: ISZERO
00003b1d: PUSH2 0x3b28
00003b20: JUMPI
00003b21: PUSH2 0x3b28
00003b24: PUSH1 0x00
00003b26: DUP1
00003b27: REVERT
00003b28: JUMPDEST
00003b29: PUSH2 0x3b34
00003b2c: DUP8
00003b2d: DUP3
00003b2e: DUP9
00003b2f: ADD
00003b30: PUSH2 0x3a85
00003b33: JUMP
00003b34: JUMPDEST
00003b35: SWAP5
00003b36: POP
00003b37: POP
00003b38: PUSH1 0x20
00003b3a: PUSH2 0x3b45
00003b3d: DUP8
00003b3e: DUP3
00003b3f: DUP9
00003b40: ADD
00003b41: PUSH2 0x369b
00003b44: JUMP
00003b45: JUMPDEST
00003b46: SWAP4
00003b47: POP
00003b48: POP
00003b49: PUSH1 0x40
00003b4b: DUP6
00003b4c: ADD
00003b4d: CALLDATALOAD
00003b4e: PUSH1 0x01
00003b50: PUSH1 0x01
00003b52: PUSH1 0x40
00003b54: SHL
00003b55: SUB
00003b56: DUP2
00003b57: GT
00003b58: ISZERO
00003b59: PUSH2 0x3b64
00003b5c: JUMPI
00003b5d: PUSH2 0x3b64
00003b60: PUSH1 0x00
00003b62: DUP1
00003b63: REVERT
00003b64: JUMPDEST
00003b65: PUSH2 0x3b70
00003b68: DUP8
00003b69: DUP3
00003b6a: DUP9
00003b6b: ADD
00003b6c: PUSH2 0x3620
00003b6f: JUMP
00003b70: JUMPDEST
00003b71: SWAP6
00003b72: SWAP9
00003b73: SWAP5
00003b74: SWAP8
00003b75: POP
00003b76: SWAP6
00003b77: POP
00003b78: POP
00003b79: POP
00003b7a: POP
00003b7b: JUMP
00003b7c: JUMPDEST
00003b7d: PUSH1 0x00
00003b7f: DUP1
00003b80: PUSH1 0x00
00003b82: DUP1
00003b83: PUSH1 0x00
00003b85: DUP1
00003b86: PUSH1 0x00
00003b88: DUP1
00003b89: PUSH1 0xc0
00003b8b: DUP10
00003b8c: DUP12
00003b8d: SUB
00003b8e: SLT
00003b8f: ISZERO
00003b90: PUSH2 0x3b9b
00003b93: JUMPI
00003b94: PUSH2 0x3b9b
00003b97: PUSH1 0x00
00003b99: DUP1
00003b9a: REVERT
00003b9b: JUMPDEST
00003b9c: PUSH1 0x00
00003b9e: PUSH2 0x3ba7
00003ba1: DUP12
00003ba2: DUP12
00003ba3: PUSH2 0x3779
00003ba6: JUMP
00003ba7: JUMPDEST
00003ba8: SWAP9
00003ba9: POP
00003baa: POP
00003bab: PUSH1 0x20
00003bad: PUSH2 0x3bb8
00003bb0: DUP12
00003bb1: DUP3
00003bb2: DUP13
00003bb3: ADD
00003bb4: PUSH2 0x3814
00003bb7: JUMP
00003bb8: JUMPDEST
00003bb9: SWAP8
00003bba: POP
00003bbb: POP
00003bbc: PUSH1 0x40
00003bbe: DUP10
00003bbf: ADD
00003bc0: CALLDATALOAD
00003bc1: PUSH1 0x01
00003bc3: PUSH1 0x01
00003bc5: PUSH1 0x40
00003bc7: SHL
00003bc8: SUB
00003bc9: DUP2
00003bca: GT
00003bcb: ISZERO
00003bcc: PUSH2 0x3bd7
00003bcf: JUMPI
00003bd0: PUSH2 0x3bd7
00003bd3: PUSH1 0x00
00003bd5: DUP1
00003bd6: REVERT
00003bd7: JUMPDEST
00003bd8: PUSH2 0x3be3
00003bdb: DUP12
00003bdc: DUP3
00003bdd: DUP13
00003bde: ADD
00003bdf: PUSH2 0x3620
00003be2: JUMP
00003be3: JUMPDEST
00003be4: SWAP7
00003be5: POP
00003be6: SWAP7
00003be7: POP
00003be8: POP
00003be9: PUSH1 0x60
00003beb: DUP10
00003bec: ADD
00003bed: CALLDATALOAD
00003bee: PUSH1 0x01
00003bf0: PUSH1 0x01
00003bf2: PUSH1 0x40
00003bf4: SHL
00003bf5: SUB
00003bf6: DUP2
00003bf7: GT
00003bf8: ISZERO
00003bf9: PUSH2 0x3c04
00003bfc: JUMPI
00003bfd: PUSH2 0x3c04
00003c00: PUSH1 0x00
00003c02: DUP1
00003c03: REVERT
00003c04: JUMPDEST
00003c05: PUSH2 0x3c10
00003c08: DUP12
00003c09: DUP3
00003c0a: DUP13
00003c0b: ADD
00003c0c: PUSH2 0x3671
00003c0f: JUMP
00003c10: JUMPDEST
00003c11: SWAP5
00003c12: POP
00003c13: POP
00003c14: PUSH1 0x80
00003c16: PUSH2 0x3c21
00003c19: DUP12
00003c1a: DUP3
00003c1b: DUP13
00003c1c: ADD
00003c1d: PUSH2 0x369b
00003c20: JUMP
00003c21: JUMPDEST
00003c22: SWAP4
00003c23: POP
00003c24: POP
00003c25: PUSH1 0xa0
00003c27: DUP10
00003c28: ADD
00003c29: CALLDATALOAD
00003c2a: PUSH1 0x01
00003c2c: PUSH1 0x01
00003c2e: PUSH1 0x40
00003c30: SHL
00003c31: SUB
00003c32: DUP2
00003c33: GT
00003c34: ISZERO
00003c35: PUSH2 0x3c40
00003c38: JUMPI
00003c39: PUSH2 0x3c40
00003c3c: PUSH1 0x00
00003c3e: DUP1
00003c3f: REVERT
00003c40: JUMPDEST
00003c41: PUSH2 0x3c4c
00003c44: DUP12
00003c45: DUP3
00003c46: DUP13
00003c47: ADD
00003c48: PUSH2 0x3620
00003c4b: JUMP
00003c4c: JUMPDEST
00003c4d: SWAP3
00003c4e: POP
00003c4f: SWAP3
00003c50: POP
00003c51: POP
00003c52: SWAP3
00003c53: SWAP6
00003c54: SWAP9
00003c55: POP
00003c56: SWAP3
00003c57: SWAP6
00003c58: SWAP9
00003c59: SWAP1
00003c5a: SWAP4
00003c5b: SWAP7
00003c5c: POP
00003c5d: JUMP
00003c5e: JUMPDEST
00003c5f: PUSH2 0x37e6
00003c62: DUP2
00003c63: PUSH2 0x375f
00003c66: JUMP
00003c67: JUMPDEST
00003c68: PUSH1 0xe0
00003c6a: DUP2
00003c6b: ADD
00003c6c: PUSH2 0x3c75
00003c6f: DUP3
00003c70: DUP11
00003c71: PUSH2 0x3c5e
00003c74: JUMP
00003c75: JUMPDEST
00003c76: PUSH2 0x3c82
00003c79: PUSH1 0x20
00003c7b: DUP4
00003c7c: ADD
00003c7d: DUP10
00003c7e: PUSH2 0x3c5e
00003c81: JUMP
00003c82: JUMPDEST
00003c83: DUP2
00003c84: DUP2
00003c85: SUB
00003c86: PUSH1 0x40
00003c88: DUP4
00003c89: ADD
00003c8a: MSTORE
00003c8b: PUSH2 0x3c94
00003c8e: DUP2
00003c8f: DUP9
00003c90: PUSH2 0x38f8
00003c93: JUMP
00003c94: JUMPDEST
00003c95: SWAP1
00003c96: POP
00003c97: DUP2
00003c98: DUP2
00003c99: SUB
00003c9a: PUSH1 0x60
00003c9c: DUP4
00003c9d: ADD
00003c9e: MSTORE
00003c9f: PUSH2 0x3ca8
00003ca2: DUP2
00003ca3: DUP8
00003ca4: PUSH2 0x38f8
00003ca7: JUMP
00003ca8: JUMPDEST
00003ca9: SWAP1
00003caa: POP
00003cab: PUSH2 0x3cb7
00003cae: PUSH1 0x80
00003cb0: DUP4
00003cb1: ADD
00003cb2: DUP7
00003cb3: PUSH2 0x37fa
00003cb6: JUMP
00003cb7: JUMPDEST
00003cb8: PUSH2 0x3cc4
00003cbb: PUSH1 0xa0
00003cbd: DUP4
00003cbe: ADD
00003cbf: DUP6
00003cc0: PUSH2 0x37fa
00003cc3: JUMP
00003cc4: JUMPDEST
00003cc5: PUSH2 0x3cd1
00003cc8: PUSH1 0xc0
00003cca: DUP4
00003ccb: ADD
00003ccc: DUP5
00003ccd: PUSH2 0x37e2
00003cd0: JUMP
00003cd1: JUMPDEST
00003cd2: SWAP9
00003cd3: SWAP8
00003cd4: POP
00003cd5: POP
00003cd6: POP
00003cd7: POP
00003cd8: POP
00003cd9: POP
00003cda: POP
00003cdb: POP
00003cdc: JUMP
00003cdd: JUMPDEST
00003cde: PUSH1 0x00
00003ce0: DUP1
00003ce1: PUSH1 0x00
00003ce3: DUP1
00003ce4: PUSH1 0x00
00003ce6: PUSH1 0x80
00003ce8: DUP7
00003ce9: DUP9
00003cea: SUB
00003ceb: SLT
00003cec: ISZERO
00003ced: PUSH2 0x3cf8
00003cf0: JUMPI
00003cf1: PUSH2 0x3cf8
00003cf4: PUSH1 0x00
00003cf6: DUP1
00003cf7: REVERT
00003cf8: JUMPDEST
00003cf9: DUP6
00003cfa: CALLDATALOAD
00003cfb: PUSH1 0x01
00003cfd: PUSH1 0x01
00003cff: PUSH1 0x40
00003d01: SHL
00003d02: SUB
00003d03: DUP2
00003d04: GT
00003d05: ISZERO
00003d06: PUSH2 0x3d11
00003d09: JUMPI
00003d0a: PUSH2 0x3d11
00003d0d: PUSH1 0x00
00003d0f: DUP1
00003d10: REVERT
00003d11: JUMPDEST
00003d12: PUSH2 0x3d1d
00003d15: DUP9
00003d16: DUP3
00003d17: DUP10
00003d18: ADD
00003d19: PUSH2 0x3a85
00003d1c: JUMP
00003d1d: JUMPDEST
00003d1e: SWAP6
00003d1f: POP
00003d20: POP
00003d21: PUSH1 0x20
00003d23: DUP7
00003d24: ADD
00003d25: CALLDATALOAD
00003d26: PUSH1 0x01
00003d28: PUSH1 0x01
00003d2a: PUSH1 0x40
00003d2c: SHL
00003d2d: SUB
00003d2e: DUP2
00003d2f: GT
00003d30: ISZERO
00003d31: PUSH2 0x3d3c
00003d34: JUMPI
00003d35: PUSH2 0x3d3c
00003d38: PUSH1 0x00
00003d3a: DUP1
00003d3b: REVERT
00003d3c: JUMPDEST
00003d3d: PUSH2 0x3d48
00003d40: DUP9
00003d41: DUP3
00003d42: DUP10
00003d43: ADD
00003d44: PUSH2 0x3671
00003d47: JUMP
00003d48: JUMPDEST
00003d49: SWAP5
00003d4a: POP
00003d4b: POP
00003d4c: PUSH1 0x40
00003d4e: PUSH2 0x3d59
00003d51: DUP9
00003d52: DUP3
00003d53: DUP10
00003d54: ADD
00003d55: PUSH2 0x369b
00003d58: JUMP
00003d59: JUMPDEST
00003d5a: SWAP4
00003d5b: POP
00003d5c: POP
00003d5d: PUSH1 0x60
00003d5f: DUP7
00003d60: ADD
00003d61: CALLDATALOAD
00003d62: PUSH1 0x01
00003d64: PUSH1 0x01
00003d66: PUSH1 0x40
00003d68: SHL
00003d69: SUB
00003d6a: DUP2
00003d6b: GT
00003d6c: ISZERO
00003d6d: PUSH2 0x3d78
00003d70: JUMPI
00003d71: PUSH2 0x3d78
00003d74: PUSH1 0x00
00003d76: DUP1
00003d77: REVERT
00003d78: JUMPDEST
00003d79: PUSH2 0x3d84
00003d7c: DUP9
00003d7d: DUP3
00003d7e: DUP10
00003d7f: ADD
00003d80: PUSH2 0x3620
00003d83: JUMP
00003d84: JUMPDEST
00003d85: SWAP3
00003d86: POP
00003d87: SWAP3
00003d88: POP
00003d89: POP
00003d8a: SWAP3
00003d8b: SWAP6
00003d8c: POP
00003d8d: SWAP3
00003d8e: SWAP6
00003d8f: SWAP1
00003d90: SWAP4
00003d91: POP
00003d92: JUMP
00003d93: JUMPDEST
00003d94: PUSH1 0x40
00003d96: DUP2
00003d97: ADD
00003d98: PUSH2 0x3da1
00003d9b: DUP3
00003d9c: DUP6
00003d9d: PUSH2 0x37fa
00003da0: JUMP
00003da1: JUMPDEST
00003da2: PUSH2 0x32ce
00003da5: PUSH1 0x20
00003da7: DUP4
00003da8: ADD
00003da9: DUP5
00003daa: PUSH2 0x3c5e
00003dad: JUMP
00003dae: JUMPDEST
00003daf: PUSH1 0x00
00003db1: PUSH2 0x2128
00003db4: PUSH1 0x01
00003db6: PUSH1 0x01
00003db8: PUSH1 0xa0
00003dba: SHL
00003dbb: SUB
00003dbc: DUP4
00003dbd: AND
00003dbe: PUSH2 0x3dc5
00003dc1: JUMP
00003dc2: JUMPDEST
00003dc3: SWAP1
00003dc4: JUMP
00003dc5: JUMPDEST
00003dc6: PUSH1 0x01
00003dc8: PUSH1 0x01
00003dca: PUSH1 0xa0
00003dcc: SHL
00003dcd: SUB
00003dce: AND
00003dcf: SWAP1
00003dd0: JUMP
00003dd1: JUMPDEST
00003dd2: PUSH1 0x00
00003dd4: PUSH2 0x2128
00003dd7: DUP3
00003dd8: PUSH2 0x3dae
00003ddb: JUMP
00003ddc: JUMPDEST
00003ddd: PUSH1 0x00
00003ddf: PUSH2 0x2128
00003de2: DUP3
00003de3: PUSH2 0x3dd1
00003de6: JUMP
00003de7: JUMPDEST
00003de8: PUSH2 0x37e6
00003deb: DUP2
00003dec: PUSH2 0x3ddc
00003def: JUMP
00003df0: JUMPDEST
00003df1: PUSH1 0x20
00003df3: DUP2
00003df4: ADD
00003df5: PUSH2 0x2128
00003df8: DUP3
00003df9: DUP5
00003dfa: PUSH2 0x3de7
00003dfd: JUMP
00003dfe: JUMPDEST
00003dff: PUSH1 0x20
00003e01: DUP2
00003e02: ADD
00003e03: PUSH2 0x2128
00003e06: DUP3
00003e07: DUP5
00003e08: PUSH2 0x3c5e
00003e0b: JUMP
00003e0c: JUMPDEST
00003e0d: PUSH1 0x00
00003e0f: PUSH1 0x40
00003e11: DUP3
00003e12: DUP5
00003e13: SUB
00003e14: SLT
00003e15: ISZERO
00003e16: PUSH2 0x3e21
00003e19: JUMPI
00003e1a: PUSH2 0x3e21
00003e1d: PUSH1 0x00
00003e1f: DUP1
00003e20: REVERT
00003e21: JUMPDEST
00003e22: PUSH2 0x3e2b
00003e25: PUSH1 0x40
00003e27: PUSH2 0x39f2
00003e2a: JUMP
00003e2b: JUMPDEST
00003e2c: SWAP1
00003e2d: POP
00003e2e: PUSH1 0x00
00003e30: PUSH2 0x3e39
00003e33: DUP5
00003e34: DUP5
00003e35: PUSH2 0x3814
00003e38: JUMP
00003e39: JUMPDEST
00003e3a: DUP3
00003e3b: MSTORE
00003e3c: POP
00003e3d: PUSH1 0x20
00003e3f: DUP3
00003e40: ADD
00003e41: CALLDATALOAD
00003e42: PUSH1 0x01
00003e44: PUSH1 0x01
00003e46: PUSH1 0x40
00003e48: SHL
00003e49: SUB
00003e4a: DUP2
00003e4b: GT
00003e4c: ISZERO
00003e4d: PUSH2 0x3e58
00003e50: JUMPI
00003e51: PUSH2 0x3e58
00003e54: PUSH1 0x00
00003e56: DUP1
00003e57: REVERT
00003e58: JUMPDEST
00003e59: PUSH2 0x3e64
00003e5c: DUP5
00003e5d: DUP3
00003e5e: DUP6
00003e5f: ADD
00003e60: PUSH2 0x3a85
00003e63: JUMP
00003e64: JUMPDEST
00003e65: PUSH1 0x20
00003e67: DUP4
00003e68: ADD
00003e69: MSTORE
00003e6a: POP
00003e6b: SWAP3
00003e6c: SWAP2
00003e6d: POP
00003e6e: POP
00003e6f: JUMP
00003e70: JUMPDEST
00003e71: PUSH1 0x00
00003e73: PUSH1 0x40
00003e75: DUP3
00003e76: DUP5
00003e77: SUB
00003e78: SLT
00003e79: ISZERO
00003e7a: PUSH2 0x3e85
00003e7d: JUMPI
00003e7e: PUSH2 0x3e85
00003e81: PUSH1 0x00
00003e83: DUP1
00003e84: REVERT
00003e85: JUMPDEST
00003e86: PUSH2 0x3e8f
00003e89: PUSH1 0x40
00003e8b: PUSH2 0x39f2
00003e8e: JUMP
00003e8f: JUMPDEST
00003e90: SWAP1
00003e91: POP
00003e92: PUSH1 0x00
00003e94: PUSH2 0x3e9d
00003e97: DUP5
00003e98: DUP5
00003e99: PUSH2 0x3814
00003e9c: JUMP
00003e9d: JUMPDEST
00003e9e: DUP3
00003e9f: MSTORE
00003ea0: POP
00003ea1: PUSH1 0x20
00003ea3: PUSH2 0x3e64
00003ea6: DUP5
00003ea7: DUP5
00003ea8: DUP4
00003ea9: ADD
00003eaa: PUSH2 0x3779
00003ead: JUMP
00003eae: JUMPDEST
00003eaf: PUSH1 0x00
00003eb1: PUSH1 0x80
00003eb3: DUP3
00003eb4: DUP5
00003eb5: SUB
00003eb6: SLT
00003eb7: ISZERO
00003eb8: PUSH2 0x3ec3
00003ebb: JUMPI
00003ebc: PUSH2 0x3ec3
00003ebf: PUSH1 0x00
00003ec1: DUP1
00003ec2: REVERT
00003ec3: JUMPDEST
00003ec4: PUSH2 0x3ecd
00003ec7: PUSH1 0x80
00003ec9: PUSH2 0x39f2
00003ecc: JUMP
00003ecd: JUMPDEST
00003ece: SWAP1
00003ecf: POP
00003ed0: DUP2
00003ed1: CALLDATALOAD
00003ed2: PUSH1 0x01
00003ed4: PUSH1 0x01
00003ed6: PUSH1 0x40
00003ed8: SHL
00003ed9: SUB
00003eda: DUP2
00003edb: GT
00003edc: ISZERO
00003edd: PUSH2 0x3ee8
00003ee0: JUMPI
00003ee1: PUSH2 0x3ee8
00003ee4: PUSH1 0x00
00003ee6: DUP1
00003ee7: REVERT
00003ee8: JUMPDEST
00003ee9: PUSH2 0x3ef4
00003eec: DUP5
00003eed: DUP3
00003eee: DUP6
00003eef: ADD
00003ef0: PUSH2 0x3a85
00003ef3: JUMP
00003ef4: JUMPDEST
00003ef5: DUP3
00003ef6: MSTORE
00003ef7: POP
00003ef8: PUSH1 0x20
00003efa: PUSH2 0x3f05
00003efd: DUP5
00003efe: DUP5
00003eff: DUP4
00003f00: ADD
00003f01: PUSH2 0x3779
00003f04: JUMP
00003f05: JUMPDEST
00003f06: PUSH1 0x20
00003f08: DUP4
00003f09: ADD
00003f0a: MSTORE
00003f0b: POP
00003f0c: PUSH1 0x40
00003f0e: PUSH2 0x3f19
00003f11: DUP5
00003f12: DUP3
00003f13: DUP6
00003f14: ADD
00003f15: PUSH2 0x3814
00003f18: JUMP
00003f19: JUMPDEST
00003f1a: PUSH1 0x40
00003f1c: DUP4
00003f1d: ADD
00003f1e: MSTORE
00003f1f: POP
00003f20: PUSH1 0x60
00003f22: PUSH2 0x3f2d
00003f25: DUP5
00003f26: DUP3
00003f27: DUP6
00003f28: ADD
00003f29: PUSH2 0x3779
00003f2c: JUMP
00003f2d: JUMPDEST
00003f2e: PUSH1 0x60
00003f30: DUP4
00003f31: ADD
00003f32: MSTORE
00003f33: POP
00003f34: SWAP3
00003f35: SWAP2
00003f36: POP
00003f37: POP
00003f38: JUMP
00003f39: JUMPDEST
00003f3a: PUSH1 0x00
00003f3c: PUSH1 0xe0
00003f3e: DUP3
00003f3f: DUP5
00003f40: SUB
00003f41: SLT
00003f42: ISZERO
00003f43: PUSH2 0x3f4e
00003f46: JUMPI
00003f47: PUSH2 0x3f4e
00003f4a: PUSH1 0x00
00003f4c: DUP1
00003f4d: REVERT
00003f4e: JUMPDEST
00003f4f: PUSH2 0x3f58
00003f52: PUSH1 0xc0
00003f54: PUSH2 0x39f2
00003f57: JUMP
00003f58: JUMPDEST
00003f59: SWAP1
00003f5a: POP
00003f5b: PUSH1 0x00
00003f5d: PUSH2 0x3f66
00003f60: DUP5
00003f61: DUP5
00003f62: PUSH2 0x3814
00003f65: JUMP
00003f66: JUMPDEST
00003f67: DUP3
00003f68: MSTORE
00003f69: POP
00003f6a: PUSH1 0x20
00003f6c: PUSH2 0x3f77
00003f6f: DUP5
00003f70: DUP5
00003f71: DUP4
00003f72: ADD
00003f73: PUSH2 0x3814
00003f76: JUMP
00003f77: JUMPDEST
00003f78: PUSH1 0x20
00003f7a: DUP4
00003f7b: ADD
00003f7c: MSTORE
00003f7d: POP
00003f7e: PUSH1 0x40
00003f80: DUP3
00003f81: ADD
00003f82: CALLDATALOAD
00003f83: PUSH1 0x01
00003f85: PUSH1 0x01
00003f87: PUSH1 0x40
00003f89: SHL
00003f8a: SUB
00003f8b: DUP2
00003f8c: GT
00003f8d: ISZERO
00003f8e: PUSH2 0x3f99
00003f91: JUMPI
00003f92: PUSH2 0x3f99
00003f95: PUSH1 0x00
00003f97: DUP1
00003f98: REVERT
00003f99: JUMPDEST
00003f9a: PUSH2 0x3fa5
00003f9d: DUP5
00003f9e: DUP3
00003f9f: DUP6
00003fa0: ADD
00003fa1: PUSH2 0x3e0c
00003fa4: JUMP
00003fa5: JUMPDEST
00003fa6: PUSH1 0x40
00003fa8: DUP4
00003fa9: ADD
00003faa: MSTORE
00003fab: POP
00003fac: PUSH1 0x60
00003fae: PUSH2 0x3fb9
00003fb1: DUP5
00003fb2: DUP3
00003fb3: DUP6
00003fb4: ADD
00003fb5: PUSH2 0x3e70
00003fb8: JUMP
00003fb9: JUMPDEST
00003fba: PUSH1 0x60
00003fbc: DUP4
00003fbd: ADD
00003fbe: MSTORE
00003fbf: POP
00003fc0: PUSH1 0xa0
00003fc2: DUP3
00003fc3: ADD
00003fc4: CALLDATALOAD
00003fc5: PUSH1 0x01
00003fc7: PUSH1 0x01
00003fc9: PUSH1 0x40
00003fcb: SHL
00003fcc: SUB
00003fcd: DUP2
00003fce: GT
00003fcf: ISZERO
00003fd0: PUSH2 0x3fdb
00003fd3: JUMPI
00003fd4: PUSH2 0x3fdb
00003fd7: PUSH1 0x00
00003fd9: DUP1
00003fda: REVERT
00003fdb: JUMPDEST
00003fdc: PUSH2 0x3fe7
00003fdf: DUP5
00003fe0: DUP3
00003fe1: DUP6
00003fe2: ADD
00003fe3: PUSH2 0x3eae
00003fe6: JUMP
00003fe7: JUMPDEST
00003fe8: PUSH1 0x80
00003fea: DUP4
00003feb: ADD
00003fec: MSTORE
00003fed: POP
00003fee: PUSH1 0xc0
00003ff0: PUSH2 0x3ffb
00003ff3: DUP5
00003ff4: DUP3
00003ff5: DUP6
00003ff6: ADD
00003ff7: PUSH2 0x3814
00003ffa: JUMP
00003ffb: JUMPDEST
00003ffc: PUSH1 0xa0
00003ffe: DUP4
00003fff: ADD
00004000: MSTORE
00004001: POP
00004002: SWAP3
00004003: SWAP2
00004004: POP
00004005: POP
00004006: JUMP
00004007: JUMPDEST
00004008: PUSH1 0x00
0000400a: DUP1
0000400b: PUSH1 0x40
0000400d: DUP4
0000400e: DUP6
0000400f: SUB
00004010: SLT
00004011: ISZERO
00004012: PUSH2 0x401d
00004015: JUMPI
00004016: PUSH2 0x401d
00004019: PUSH1 0x00
0000401b: DUP1
0000401c: REVERT
0000401d: JUMPDEST
0000401e: DUP3
0000401f: CALLDATALOAD
00004020: PUSH1 0x01
00004022: PUSH1 0x01
00004024: PUSH1 0x40
00004026: SHL
00004027: SUB
00004028: DUP2
00004029: GT
0000402a: ISZERO
0000402b: PUSH2 0x4036
0000402e: JUMPI
0000402f: PUSH2 0x4036
00004032: PUSH1 0x00
00004034: DUP1
00004035: REVERT
00004036: JUMPDEST
00004037: PUSH2 0x3acb
0000403a: DUP6
0000403b: DUP3
0000403c: DUP7
0000403d: ADD
0000403e: PUSH2 0x3f39
00004041: JUMP
00004042: JUMPDEST
00004043: PUSH1 0x00
00004045: DUP1
00004046: PUSH1 0x00
00004048: DUP1
00004049: PUSH1 0x00
0000404b: DUP1
0000404c: PUSH1 0x00
0000404e: PUSH1 0xe0
00004050: DUP9
00004051: DUP11
00004052: SUB
00004053: SLT
00004054: ISZERO
00004055: PUSH2 0x4060
00004058: JUMPI
00004059: PUSH2 0x4060
0000405c: PUSH1 0x00
0000405e: DUP1
0000405f: REVERT
00004060: JUMPDEST
00004061: PUSH1 0x00
00004063: PUSH2 0x406c
00004066: DUP11
00004067: DUP11
00004068: PUSH2 0x3779
0000406b: JUMP
0000406c: JUMPDEST
0000406d: SWAP8
0000406e: POP
0000406f: POP
00004070: PUSH1 0x20
00004072: PUSH2 0x407d
00004075: DUP11
00004076: DUP3
00004077: DUP12
00004078: ADD
00004079: PUSH2 0x3814
0000407c: JUMP
0000407d: JUMPDEST
0000407e: SWAP7
0000407f: POP
00004080: POP
00004081: PUSH1 0x40
00004083: PUSH2 0x408e
00004086: DUP11
00004087: DUP3
00004088: DUP12
00004089: ADD
0000408a: PUSH2 0x3779
0000408d: JUMP
0000408e: JUMPDEST
0000408f: SWAP6
00004090: POP
00004091: POP
00004092: PUSH1 0x60
00004094: DUP9
00004095: ADD
00004096: CALLDATALOAD
00004097: PUSH1 0x01
00004099: PUSH1 0x01
0000409b: PUSH1 0x40
0000409d: SHL
0000409e: SUB
0000409f: DUP2
000040a0: GT
000040a1: ISZERO
000040a2: PUSH2 0x40ad
000040a5: JUMPI
000040a6: PUSH2 0x40ad
000040a9: PUSH1 0x00
000040ab: DUP1
000040ac: REVERT
000040ad: JUMPDEST
000040ae: PUSH2 0x40b9
000040b1: DUP11
000040b2: DUP3
000040b3: DUP12
000040b4: ADD
000040b5: PUSH2 0x3a85
000040b8: JUMP
000040b9: JUMPDEST
000040ba: SWAP5
000040bb: POP
000040bc: POP
000040bd: PUSH1 0x80
000040bf: DUP9
000040c0: ADD
000040c1: CALLDATALOAD
000040c2: PUSH1 0x01
000040c4: PUSH1 0x01
000040c6: PUSH1 0x40
000040c8: SHL
000040c9: SUB
000040ca: DUP2
000040cb: GT
000040cc: ISZERO
000040cd: PUSH2 0x40d8
000040d0: JUMPI
000040d1: PUSH2 0x40d8
000040d4: PUSH1 0x00
000040d6: DUP1
000040d7: REVERT
000040d8: JUMPDEST
000040d9: PUSH2 0x40e4
000040dc: DUP11
000040dd: DUP3
000040de: DUP12
000040df: ADD
000040e0: PUSH2 0x3a85
000040e3: JUMP
000040e4: JUMPDEST
000040e5: SWAP4
000040e6: POP
000040e7: POP
000040e8: PUSH1 0xa0
000040ea: PUSH2 0x40f5
000040ed: DUP11
000040ee: DUP3
000040ef: DUP12
000040f0: ADD
000040f1: PUSH2 0x3814
000040f4: JUMP
000040f5: JUMPDEST
000040f6: SWAP3
000040f7: POP
000040f8: POP
000040f9: PUSH1 0xc0
000040fb: PUSH2 0x4106
000040fe: DUP11
000040ff: DUP3
00004100: DUP12
00004101: ADD
00004102: PUSH2 0x3814
00004105: JUMP
00004106: JUMPDEST
00004107: SWAP2
00004108: POP
00004109: POP
0000410a: SWAP3
0000410b: SWAP6
0000410c: SWAP9
0000410d: SWAP2
0000410e: SWAP5
0000410f: SWAP8
00004110: POP
00004111: SWAP3
00004112: SWAP6
00004113: POP
00004114: JUMP
00004115: JUMPDEST
00004116: PUSH1 0x00
00004118: DUP1
00004119: PUSH1 0x00
0000411b: DUP1
0000411c: PUSH1 0x00
0000411e: PUSH1 0xa0
00004120: DUP7
00004121: DUP9
00004122: SUB
00004123: SLT
00004124: ISZERO
00004125: PUSH2 0x4130
00004128: JUMPI
00004129: PUSH2 0x4130
0000412c: PUSH1 0x00
0000412e: DUP1
0000412f: REVERT
00004130: JUMPDEST
00004131: PUSH1 0x00
00004133: PUSH2 0x413c
00004136: DUP9
00004137: DUP9
00004138: PUSH2 0x3779
0000413b: JUMP
0000413c: JUMPDEST
0000413d: SWAP6
0000413e: POP
0000413f: POP
00004140: PUSH1 0x20
00004142: PUSH2 0x414d
00004145: DUP9
00004146: DUP3
00004147: DUP10
00004148: ADD
00004149: PUSH2 0x3779
0000414c: JUMP
0000414d: JUMPDEST
0000414e: SWAP5
0000414f: POP
00004150: POP
00004151: PUSH1 0x40
00004153: PUSH2 0x415e
00004156: DUP9
00004157: DUP3
00004158: DUP10
00004159: ADD
0000415a: PUSH2 0x3814
0000415d: JUMP
0000415e: JUMPDEST
0000415f: SWAP4
00004160: POP
00004161: POP
00004162: PUSH1 0x60
00004164: PUSH2 0x416f
00004167: DUP9
00004168: DUP3
00004169: DUP10
0000416a: ADD
0000416b: PUSH2 0x3814
0000416e: JUMP
0000416f: JUMPDEST
00004170: SWAP3
00004171: POP
00004172: POP
00004173: PUSH1 0x80
00004175: PUSH2 0x4180
00004178: DUP9
00004179: DUP3
0000417a: DUP10
0000417b: ADD
0000417c: PUSH2 0x3779
0000417f: JUMP
00004180: JUMPDEST
00004181: SWAP2
00004182: POP
00004183: POP
00004184: SWAP3
00004185: SWAP6
00004186: POP
00004187: SWAP3
00004188: SWAP6
00004189: SWAP1
0000418a: SWAP4
0000418b: POP
0000418c: JUMP
0000418d: JUMPDEST
0000418e: DUP2
0000418f: DUP4
00004190: MSTORE
00004191: PUSH1 0x00
00004193: PUSH1 0x20
00004195: DUP5
00004196: ADD
00004197: SWAP4
00004198: POP
00004199: PUSH2 0x41a3
0000419c: DUP4
0000419d: DUP6
0000419e: DUP5
0000419f: PUSH2 0x3a38
000041a2: JUMP
000041a3: JUMPDEST
000041a4: PUSH1 0x1f
000041a6: NOT
000041a7: PUSH1 0x1f
000041a9: DUP5
000041aa: ADD
000041ab: AND
000041ac: PUSH2 0x3922
000041af: JUMP
000041b0: JUMPDEST
000041b1: PUSH1 0x00
000041b3: DUP1
000041b4: DUP4
000041b5: CALLDATALOAD
000041b6: PUSH1 0x1e
000041b8: NOT
000041b9: CALLDATASIZE
000041ba: DUP6
000041bb: SWAP1
000041bc: SUB
000041bd: ADD
000041be: DUP2
000041bf: SLT
000041c0: PUSH2 0x41cb
000041c3: JUMPI
000041c4: PUSH2 0x41cb
000041c7: PUSH1 0x00
000041c9: DUP1
000041ca: REVERT
000041cb: JUMPDEST
000041cc: DUP4
000041cd: DUP2
000041ce: ADD
000041cf: PUSH1 0x20
000041d1: DUP2
000041d2: ADD
000041d3: SWAP4
000041d4: POP
000041d5: CALLDATALOAD
000041d6: SWAP2
000041d7: POP
000041d8: PUSH1 0x01
000041da: PUSH1 0x01
000041dc: PUSH1 0x40
000041de: SHL
000041df: SUB
000041e0: DUP3
000041e1: GT
000041e2: ISZERO
000041e3: PUSH2 0x41ee
000041e6: JUMPI
000041e7: PUSH2 0x41ee
000041ea: PUSH1 0x00
000041ec: DUP1
000041ed: REVERT
000041ee: JUMPDEST
000041ef: CALLDATASIZE
000041f0: DUP3
000041f1: SWAP1
000041f2: SUB
000041f3: DUP4
000041f4: SGT
000041f5: ISZERO
000041f6: PUSH2 0x4201
000041f9: JUMPI
000041fa: PUSH2 0x4201
000041fd: PUSH1 0x00
000041ff: DUP1
00004200: REVERT
00004201: JUMPDEST
00004202: POP
00004203: SWAP3
00004204: POP
00004205: SWAP3
00004206: SWAP1
00004207: POP
00004208: JUMP
00004209: JUMPDEST
0000420a: PUSH1 0x00
0000420c: PUSH2 0x32ce
0000420f: PUSH1 0x20
00004211: DUP5
00004212: ADD
00004213: DUP5
00004214: PUSH2 0x3814
00004217: JUMP
00004218: JUMPDEST
00004219: PUSH1 0x00
0000421b: DUP1
0000421c: DUP4
0000421d: CALLDATALOAD
0000421e: PUSH1 0x1e
00004220: NOT
00004221: CALLDATASIZE
00004222: DUP6
00004223: SWAP1
00004224: SUB
00004225: ADD
00004226: DUP2
00004227: SLT
00004228: PUSH2 0x4233
0000422b: JUMPI
0000422c: PUSH2 0x4233
0000422f: PUSH1 0x00
00004231: DUP1
00004232: REVERT
00004233: JUMPDEST
00004234: DUP4
00004235: DUP2
00004236: ADD
00004237: PUSH1 0x20
00004239: DUP2
0000423a: ADD
0000423b: SWAP4
0000423c: POP
0000423d: CALLDATALOAD
0000423e: SWAP2
0000423f: POP
00004240: PUSH1 0x01
00004242: PUSH1 0x01
00004244: PUSH1 0x40
00004246: SHL
00004247: SUB
00004248: DUP3
00004249: GT
0000424a: ISZERO
0000424b: PUSH2 0x4256
0000424e: JUMPI
0000424f: PUSH2 0x4256
00004252: PUSH1 0x00
00004254: DUP1
00004255: REVERT
00004256: JUMPDEST
00004257: PUSH1 0x20
00004259: DUP3
0000425a: MUL
0000425b: CALLDATASIZE
0000425c: SUB
0000425d: DUP4
0000425e: SGT
0000425f: ISZERO
00004260: PUSH2 0x4201
00004263: JUMPI
00004264: PUSH2 0x4201
00004267: PUSH1 0x00
00004269: DUP1
0000426a: REVERT
0000426b: JUMPDEST
0000426c: PUSH1 0x00
0000426e: PUSH2 0x4277
00004271: DUP4
00004272: DUP4
00004273: PUSH2 0x3c5e
00004276: JUMP
00004277: JUMPDEST
00004278: POP
00004279: POP
0000427a: PUSH1 0x20
0000427c: ADD
0000427d: SWAP1
0000427e: JUMP
0000427f: JUMPDEST
00004280: PUSH1 0x00
00004282: PUSH2 0x32ce
00004285: PUSH1 0x20
00004287: DUP5
00004288: ADD
00004289: DUP5
0000428a: PUSH2 0x3779
0000428d: JUMP
0000428e: JUMPDEST
0000428f: DUP2
00004290: DUP4
00004291: MSTORE
00004292: PUSH1 0x00
00004294: PUSH1 0x20
00004296: DUP5
00004297: ADD
00004298: SWAP4
00004299: POP
0000429a: DUP2
0000429b: DUP1
0000429c: PUSH1 0x00
0000429e: JUMPDEST
0000429f: DUP6
000042a0: DUP2
000042a1: LT
000042a2: ISZERO
000042a3: PUSH2 0x42cb
000042a6: JUMPI
000042a7: PUSH2 0x42b0
000042aa: DUP3
000042ab: DUP5
000042ac: PUSH2 0x427f
000042af: JUMP
000042b0: JUMPDEST
000042b1: PUSH2 0x42ba
000042b4: DUP9
000042b5: DUP3
000042b6: PUSH2 0x426b
000042b9: JUMP
000042ba: JUMPDEST
000042bb: SWAP8
000042bc: POP
000042bd: PUSH1 0x20
000042bf: DUP4
000042c0: ADD
000042c1: SWAP3
000042c2: POP
000042c3: POP
000042c4: PUSH1 0x01
000042c6: ADD
000042c7: PUSH2 0x429e
000042ca: JUMP
000042cb: JUMPDEST
000042cc: POP
000042cd: SWAP5
000042ce: SWAP6
000042cf: SWAP5
000042d0: POP
000042d1: POP
000042d2: POP
000042d3: POP
000042d4: POP
000042d5: JUMP
000042d6: JUMPDEST
000042d7: PUSH1 0x00
000042d9: PUSH2 0x32e4
000042dc: DUP5
000042dd: DUP5
000042de: DUP5
000042df: PUSH2 0x418d
000042e2: JUMP
000042e3: JUMPDEST
000042e4: DUP2
000042e5: DUP4
000042e6: MSTORE
000042e7: PUSH1 0x00
000042e9: PUSH1 0x20
000042eb: DUP5
000042ec: ADD
000042ed: SWAP4
000042ee: POP
000042ef: DUP4
000042f0: PUSH1 0x20
000042f2: DUP5
000042f3: MUL
000042f4: DUP2
000042f5: ADD
000042f6: DUP4
000042f7: DUP1
000042f8: PUSH1 0x00
000042fa: JUMPDEST
000042fb: DUP8
000042fc: DUP2
000042fd: LT
000042fe: ISZERO
000042ff: PUSH2 0x4335
00004302: JUMPI
00004303: DUP5
00004304: DUP5
00004305: SUB
00004306: DUP10
00004307: MSTORE
00004308: PUSH2 0x4311
0000430b: DUP3
0000430c: DUP5
0000430d: PUSH2 0x41b0
00004310: JUMP
00004311: JUMPDEST
00004312: PUSH2 0x431c
00004315: DUP7
00004316: DUP3
00004317: DUP5
00004318: PUSH2 0x42d6
0000431b: JUMP
0000431c: JUMPDEST
0000431d: SWAP6
0000431e: POP
0000431f: PUSH1 0x20
00004321: DUP5
00004322: ADD
00004323: PUSH1 0x20
00004325: SWAP12
00004326: SWAP1
00004327: SWAP12
00004328: ADD
00004329: SWAP11
0000432a: SWAP4
0000432b: POP
0000432c: POP
0000432d: POP
0000432e: PUSH1 0x01
00004330: ADD
00004331: PUSH2 0x42fa
00004334: JUMP
00004335: JUMPDEST
00004336: POP
00004337: SWAP2
00004338: SWAP8
00004339: SWAP7
0000433a: POP
0000433b: POP
0000433c: POP
0000433d: POP
0000433e: POP
0000433f: POP
00004340: POP
00004341: JUMP
00004342: JUMPDEST
00004343: PUSH1 0x00
00004345: PUSH1 0x80
00004347: DUP4
00004348: ADD
00004349: PUSH2 0x4352
0000434c: DUP4
0000434d: DUP1
0000434e: PUSH2 0x41b0
00004351: JUMP
00004352: JUMPDEST
00004353: DUP6
00004354: DUP4
00004355: SUB
00004356: DUP7
00004357: MSTORE
00004358: PUSH2 0x4362
0000435b: DUP4
0000435c: DUP3
0000435d: DUP5
0000435e: PUSH2 0x418d
00004361: JUMP
00004362: JUMPDEST
00004363: SWAP3
00004364: POP
00004365: POP
00004366: POP
00004367: PUSH2 0x4373
0000436a: PUSH1 0x20
0000436c: DUP5
0000436d: ADD
0000436e: DUP5
0000436f: PUSH2 0x4209
00004372: JUMP
00004373: JUMPDEST
00004374: PUSH2 0x4380
00004377: PUSH1 0x20
00004379: DUP7
0000437a: ADD
0000437b: DUP3
0000437c: PUSH2 0x37fa
0000437f: JUMP
00004380: JUMPDEST
00004381: POP
00004382: PUSH2 0x438e
00004385: PUSH1 0x40
00004387: DUP5
00004388: ADD
00004389: DUP5
0000438a: PUSH2 0x4218
0000438d: JUMP
0000438e: JUMPDEST
0000438f: DUP6
00004390: DUP4
00004391: SUB
00004392: PUSH1 0x40
00004394: DUP8
00004395: ADD
00004396: MSTORE
00004397: PUSH2 0x43a1
0000439a: DUP4
0000439b: DUP3
0000439c: DUP5
0000439d: PUSH2 0x428e
000043a0: JUMP
000043a1: JUMPDEST
000043a2: SWAP3
000043a3: POP
000043a4: POP
000043a5: POP
000043a6: PUSH2 0x43b2
000043a9: PUSH1 0x60
000043ab: DUP5
000043ac: ADD
000043ad: DUP5
000043ae: PUSH2 0x4218
000043b1: JUMP
000043b2: JUMPDEST
000043b3: DUP6
000043b4: DUP4
000043b5: SUB
000043b6: PUSH1 0x60
000043b8: DUP8
000043b9: ADD
000043ba: MSTORE
000043bb: PUSH2 0x335a
000043be: DUP4
000043bf: DUP3
000043c0: DUP5
000043c1: PUSH2 0x42e3
000043c4: JUMP
000043c5: JUMPDEST
000043c6: PUSH1 0x80
000043c8: DUP1
000043c9: DUP3
000043ca: MSTORE
000043cb: DUP2
000043cc: ADD
000043cd: PUSH2 0x43d7
000043d0: DUP2
000043d1: DUP8
000043d2: DUP10
000043d3: PUSH2 0x418d
000043d6: JUMP
000043d7: JUMPDEST
000043d8: SWAP1
000043d9: POP
000043da: DUP2
000043db: DUP2
000043dc: SUB
000043dd: PUSH1 0x20
000043df: DUP4
000043e0: ADD
000043e1: MSTORE
000043e2: PUSH2 0x43eb
000043e5: DUP2
000043e6: DUP7
000043e7: PUSH2 0x4342
000043ea: JUMP
000043eb: JUMPDEST
000043ec: SWAP1
000043ed: POP
000043ee: PUSH2 0x43fa
000043f1: PUSH1 0x40
000043f3: DUP4
000043f4: ADD
000043f5: DUP6
000043f6: PUSH2 0x3c5e
000043f9: JUMP
000043fa: JUMPDEST
000043fb: PUSH2 0x335a
000043fe: PUSH1 0x60
00004400: DUP4
00004401: ADD
00004402: DUP5
00004403: PUSH2 0x37fa
00004406: JUMP
00004407: JUMPDEST
00004408: DUP1
00004409: MLOAD
0000440a: PUSH2 0x2128
0000440d: DUP2
0000440e: PUSH2 0x368c
00004411: JUMP
00004412: JUMPDEST
00004413: PUSH1 0x00
00004415: PUSH1 0x20
00004417: DUP3
00004418: DUP5
00004419: SUB
0000441a: SLT
0000441b: ISZERO
0000441c: PUSH2 0x4427
0000441f: JUMPI
00004420: PUSH2 0x4427
00004423: PUSH1 0x00
00004425: DUP1
00004426: REVERT
00004427: JUMPDEST
00004428: PUSH1 0x00
0000442a: PUSH2 0x2124
0000442d: DUP5
0000442e: DUP5
0000442f: PUSH2 0x4407
00004432: JUMP
00004433: JUMPDEST
00004434: PUSH1 0x27
00004436: DUP2
00004437: MSTORE
00004438: PUSH1 0x00
0000443a: PUSH1 0x20
0000443c: DUP3
0000443d: ADD
0000443e: PUSH32 0x546f6b656e536572766963653a20756e617574686f72697a656446726f6d5072
0000445f: DUP2
00004460: MSTORE
00004461: PUSH7 0x65646963617465
00004469: PUSH1 0xc8
0000446b: SHL
0000446c: PUSH1 0x20
0000446e: DUP3
0000446f: ADD
00004470: MSTORE
00004471: SWAP2
00004472: POP
00004473: PUSH2 0x3609
00004476: JUMP
00004477: JUMPDEST
00004478: PUSH1 0x20
0000447a: DUP1
0000447b: DUP3
0000447c: MSTORE
0000447d: DUP2
0000447e: ADD
0000447f: PUSH2 0x2128
00004482: DUP2
00004483: PUSH2 0x4433
00004486: JUMP
00004487: JUMPDEST
00004488: PUSH1 0x21
0000448a: DUP2
0000448b: MSTORE
0000448c: PUSH1 0x00
0000448e: PUSH1 0x20
00004490: DUP3
00004491: ADD
00004492: PUSH32 0x546f6b656e537570706f72743a20746f6b656e206e6f7420737570706f727465
000044b3: DUP2
000044b4: MSTORE
000044b5: PUSH1 0x19
000044b7: PUSH1 0xfa
000044b9: SHL
000044ba: PUSH1 0x20
000044bc: DUP3
000044bd: ADD
000044be: MSTORE
000044bf: SWAP2
000044c0: POP
000044c1: PUSH2 0x3609
000044c4: JUMP
000044c5: JUMPDEST
000044c6: PUSH1 0x20
000044c8: DUP1
000044c9: DUP3
000044ca: MSTORE
000044cb: DUP2
000044cc: ADD
000044cd: PUSH2 0x2128
000044d0: DUP2
000044d1: PUSH2 0x4487
000044d4: JUMP
000044d5: JUMPDEST
000044d6: PUSH1 0x60
000044d8: DUP2
000044d9: ADD
000044da: PUSH2 0x44e3
000044dd: DUP3
000044de: DUP7
000044df: PUSH2 0x3c5e
000044e2: JUMP
000044e3: JUMPDEST
000044e4: PUSH2 0x44f0
000044e7: PUSH1 0x20
000044e9: DUP4
000044ea: ADD
000044eb: DUP6
000044ec: PUSH2 0x3c5e
000044ef: JUMP
000044f0: JUMPDEST
000044f1: PUSH2 0x32e4
000044f4: PUSH1 0x40
000044f6: DUP4
000044f7: ADD
000044f8: DUP5
000044f9: PUSH2 0x3c5e
000044fc: JUMP
000044fd: JUMPDEST
000044fe: PUSH1 0x2c
00004500: DUP2
00004501: MSTORE
00004502: PUSH1 0x00
00004504: PUSH1 0x20
00004506: DUP3
00004507: ADD
00004508: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820
00004529: DUP2
0000452a: MSTORE
0000452b: PUSH12 0x19195b1959d85d1958d85b1b
00004538: PUSH1 0xa2
0000453a: SHL
0000453b: PUSH1 0x20
0000453d: DUP3
0000453e: ADD
0000453f: MSTORE
00004540: SWAP2
00004541: POP
00004542: PUSH2 0x3609
00004545: JUMP
00004546: JUMPDEST
00004547: PUSH1 0x20
00004549: DUP1
0000454a: DUP3
0000454b: MSTORE
0000454c: DUP2
0000454d: ADD
0000454e: PUSH2 0x2128
00004551: DUP2
00004552: PUSH2 0x44fd
00004555: JUMP
00004556: JUMPDEST
00004557: PUSH1 0x2c
00004559: DUP2
0000455a: MSTORE
0000455b: PUSH1 0x00
0000455d: PUSH1 0x20
0000455f: DUP3
00004560: ADD
00004561: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820
00004582: DUP2
00004583: MSTORE
00004584: PUSH12 0x6163746976652070726f7879
00004591: PUSH1 0xa0
00004593: SHL
00004594: PUSH1 0x20
00004596: DUP3
00004597: ADD
00004598: MSTORE
00004599: SWAP2
0000459a: POP
0000459b: PUSH2 0x3609
0000459e: JUMP
0000459f: JUMPDEST
000045a0: PUSH1 0x20
000045a2: DUP1
000045a3: DUP3
000045a4: MSTORE
000045a5: DUP2
000045a6: ADD
000045a7: PUSH2 0x2128
000045aa: DUP2
000045ab: PUSH2 0x4556
000045ae: JUMP
000045af: JUMPDEST
000045b0: PUSH1 0x80
000045b2: DUP2
000045b3: ADD
000045b4: PUSH2 0x45bd
000045b7: DUP3
000045b8: DUP8
000045b9: PUSH2 0x3c5e
000045bc: JUMP
000045bd: JUMPDEST
000045be: PUSH2 0x45ca
000045c1: PUSH1 0x20
000045c3: DUP4
000045c4: ADD
000045c5: DUP7
000045c6: PUSH2 0x37fa
000045c9: JUMP
000045ca: JUMPDEST
000045cb: PUSH2 0x45d7
000045ce: PUSH1 0x40
000045d0: DUP4
000045d1: ADD
000045d2: DUP6
000045d3: PUSH2 0x37fa
000045d6: JUMP
000045d7: JUMPDEST
000045d8: PUSH2 0x2e4b
000045db: PUSH1 0x60
000045dd: DUP4
000045de: ADD
000045df: DUP5
000045e0: PUSH2 0x37fa
000045e3: JUMP
000045e4: JUMPDEST
000045e5: PUSH1 0x2a
000045e7: DUP2
000045e8: MSTORE
000045e9: PUSH1 0x00
000045eb: PUSH1 0x20
000045ed: DUP3
000045ee: ADD
000045ef: PUSH32 0x546f6b656e536572766963653a20426c61636b4c697374536572766963654361
00004610: DUP2
00004611: MSTORE
00004612: PUSH10 0x6e6e6f7442655a65726f
0000461d: PUSH1 0xb0
0000461f: SHL
00004620: PUSH1 0x20
00004622: DUP3
00004623: ADD
00004624: MSTORE
00004625: SWAP2
00004626: POP
00004627: PUSH2 0x3609
0000462a: JUMP
0000462b: JUMPDEST
0000462c: PUSH1 0x20
0000462e: DUP1
0000462f: DUP3
00004630: MSTORE
00004631: DUP2
00004632: ADD
00004633: PUSH2 0x2128
00004636: DUP2
00004637: PUSH2 0x45e4
0000463a: JUMP
0000463b: JUMPDEST
0000463c: PUSH1 0x33
0000463e: DUP2
0000463f: MSTORE
00004640: PUSH1 0x00
00004642: PUSH1 0x20
00004644: DUP3
00004645: ADD
00004646: PUSH32 0x546f6b656e536572766963653a20426c61636b4c697374536572766963654361
00004667: DUP2
00004668: MSTORE
00004669: PUSH32 0x6e6e6f74426553616d65417343757272656e7400000000000000000000000000
0000468a: PUSH1 0x20
0000468c: DUP3
0000468d: ADD
0000468e: MSTORE
0000468f: SWAP2
00004690: POP
00004691: PUSH2 0x3609
00004694: JUMP
00004695: JUMPDEST
00004696: PUSH1 0x20
00004698: DUP1
00004699: DUP3
0000469a: MSTORE
0000469b: DUP2
0000469c: ADD
0000469d: PUSH2 0x2128
000046a0: DUP2
000046a1: PUSH2 0x463b
000046a4: JUMP
000046a5: JUMPDEST
000046a6: PUSH1 0x38
000046a8: DUP2
000046a9: MSTORE
000046aa: PUSH1 0x00
000046ac: PUSH1 0x20
000046ae: DUP3
000046af: ADD
000046b0: PUSH32 0x555550535570677261646561626c653a206d757374206e6f742062652063616c
000046d1: DUP2
000046d2: MSTORE
000046d3: PUSH32 0x6c6564207468726f7567682064656c656761746563616c6c0000000000000000
000046f4: PUSH1 0x20
000046f6: DUP3
000046f7: ADD
000046f8: MSTORE
000046f9: SWAP2
000046fa: POP
000046fb: PUSH2 0x3609
000046fe: JUMP
000046ff: JUMPDEST
00004700: PUSH1 0x20
00004702: DUP1
00004703: DUP3
00004704: MSTORE
00004705: DUP2
00004706: ADD
00004707: PUSH2 0x2128
0000470a: DUP2
0000470b: PUSH2 0x46a5
0000470e: JUMP
0000470f: JUMPDEST
00004710: PUSH1 0x23
00004712: DUP2
00004713: MSTORE
00004714: PUSH1 0x00
00004716: PUSH1 0x20
00004718: DUP3
00004719: ADD
0000471a: PUSH32 0x546f6b656e537570706f72743a20746f6b656e20616c726561647920656e6162
0000473b: DUP2
0000473c: MSTORE
0000473d: PUSH3 0x1b1959
00004741: PUSH1 0xea
00004743: SHL
00004744: PUSH1 0x20
00004746: DUP3
00004747: ADD
00004748: MSTORE
00004749: SWAP2
0000474a: POP
0000474b: PUSH2 0x3609
0000474e: JUMP
0000474f: JUMPDEST
00004750: PUSH1 0x20
00004752: DUP1
00004753: DUP3
00004754: MSTORE
00004755: DUP2
00004756: ADD
00004757: PUSH2 0x2128
0000475a: DUP2
0000475b: PUSH2 0x470f
0000475e: JUMP
0000475f: JUMPDEST
00004760: PUSH1 0x40
00004762: DUP2
00004763: ADD
00004764: PUSH2 0x476d
00004767: DUP3
00004768: DUP6
00004769: PUSH2 0x3c5e
0000476c: JUMP
0000476d: JUMPDEST
0000476e: PUSH2 0x32ce
00004771: PUSH1 0x20
00004773: DUP4
00004774: ADD
00004775: DUP5
00004776: PUSH2 0x37fa
00004779: JUMP
0000477a: JUMPDEST
0000477b: PUSH1 0x00
0000477d: PUSH2 0x2128
00004780: PUSH2 0x3dc2
00004783: DUP4
00004784: DUP2
00004785: JUMP
00004786: JUMPDEST
00004787: PUSH2 0x37e6
0000478a: DUP2
0000478b: PUSH2 0x477a
0000478e: JUMP
0000478f: JUMPDEST
00004790: PUSH1 0xc0
00004792: DUP2
00004793: ADD
00004794: PUSH2 0x479d
00004797: DUP3
00004798: DUP11
00004799: PUSH2 0x3c5e
0000479c: JUMP
0000479d: JUMPDEST
0000479e: PUSH2 0x47aa
000047a1: PUSH1 0x20
000047a3: DUP4
000047a4: ADD
000047a5: DUP10
000047a6: PUSH2 0x37fa
000047a9: JUMP
000047aa: JUMPDEST
000047ab: DUP2
000047ac: DUP2
000047ad: SUB
000047ae: PUSH1 0x40
000047b0: DUP4
000047b1: ADD
000047b2: MSTORE
000047b3: PUSH2 0x47bd
000047b6: DUP2
000047b7: DUP8
000047b8: DUP10
000047b9: PUSH2 0x418d
000047bc: JUMP
000047bd: JUMPDEST
000047be: SWAP1
000047bf: POP
000047c0: DUP2
000047c1: DUP2
000047c2: SUB
000047c3: PUSH1 0x60
000047c5: DUP4
000047c6: ADD
000047c7: MSTORE
000047c8: PUSH2 0x47d1
000047cb: DUP2
000047cc: DUP7
000047cd: PUSH2 0x4342
000047d0: JUMP
000047d1: JUMPDEST
000047d2: SWAP1
000047d3: POP
000047d4: PUSH2 0x47e0
000047d7: PUSH1 0x80
000047d9: DUP4
000047da: ADD
000047db: DUP6
000047dc: PUSH2 0x3c5e
000047df: JUMP
000047e0: JUMPDEST
000047e1: PUSH2 0x3cd1
000047e4: PUSH1 0xa0
000047e6: DUP4
000047e7: ADD
000047e8: DUP5
000047e9: PUSH2 0x4786
000047ec: JUMP
000047ed: JUMPDEST
000047ee: PUSH4 0x4e487b71
000047f3: PUSH1 0xe0
000047f5: SHL
000047f6: PUSH1 0x00
000047f8: MSTORE
000047f9: PUSH1 0x22
000047fb: PUSH1 0x04
000047fd: MSTORE
000047fe: PUSH1 0x24
00004800: PUSH1 0x00
00004802: REVERT
00004803: JUMPDEST
00004804: PUSH1 0x02
00004806: DUP2
00004807: DIV
00004808: PUSH1 0x01
0000480a: DUP3
0000480b: AND
0000480c: DUP1
0000480d: PUSH2 0x4817
00004810: JUMPI
00004811: PUSH1 0x7f
00004813: DUP3
00004814: AND
00004815: SWAP2
00004816: POP
00004817: JUMPDEST
00004818: PUSH1 0x20
0000481a: DUP3
0000481b: LT
0000481c: DUP2
0000481d: SUB
0000481e: PUSH2 0x3686
00004821: JUMPI
00004822: PUSH2 0x3686
00004825: PUSH2 0x47ed
00004828: JUMP
00004829: JUMPDEST
0000482a: PUSH1 0x80
0000482c: DUP1
0000482d: DUP3
0000482e: MSTORE
0000482f: DUP2
00004830: ADD
00004831: PUSH2 0x483a
00004834: DUP2
00004835: DUP8
00004836: PUSH2 0x38f8
00004839: JUMP
0000483a: JUMPDEST
0000483b: SWAP1
0000483c: POP
0000483d: DUP2
0000483e: DUP2
0000483f: SUB
00004840: PUSH1 0x20
00004842: DUP4
00004843: ADD
00004844: MSTORE
00004845: PUSH2 0x484e
00004848: DUP2
00004849: DUP7
0000484a: PUSH2 0x4342
0000484d: JUMP
0000484e: JUMPDEST
0000484f: SWAP1
00004850: POP
00004851: PUSH2 0x45d7
00004854: PUSH1 0x40
00004856: DUP4
00004857: ADD
00004858: DUP6
00004859: PUSH2 0x3c5e
0000485c: JUMP
0000485d: JUMPDEST
0000485e: PUSH1 0x21
00004860: DUP2
00004861: MSTORE
00004862: PUSH1 0x00
00004864: PUSH1 0x20
00004866: DUP3
00004867: ADD
00004868: PUSH32 0x546f6b656e536572766963653a20746f6b656e206e6f7420737570706f727465
00004889: DUP2
0000488a: MSTORE
0000488b: PUSH1 0x19
0000488d: PUSH1 0xfa
0000488f: SHL
00004890: PUSH1 0x20
00004892: DUP3
00004893: ADD
00004894: MSTORE
00004895: SWAP2
00004896: POP
00004897: PUSH2 0x3609
0000489a: JUMP
0000489b: JUMPDEST
0000489c: PUSH1 0x20
0000489e: DUP1
0000489f: DUP3
000048a0: MSTORE
000048a1: DUP2
000048a2: ADD
000048a3: PUSH2 0x2128
000048a6: DUP2
000048a7: PUSH2 0x485d
000048aa: JUMP
000048ab: JUMPDEST
000048ac: PUSH1 0x20
000048ae: DUP1
000048af: DUP3
000048b0: MSTORE
000048b1: PUSH32 0x546f6b656e536572766963653a207661756c74207a65726f2061646472657373
000048d2: SWAP2
000048d3: ADD
000048d4: SWAP1
000048d5: DUP2
000048d6: MSTORE
000048d7: PUSH1 0x00
000048d9: JUMPDEST
000048da: POP
000048db: PUSH1 0x20
000048dd: ADD
000048de: SWAP1
000048df: JUMP
000048e0: JUMPDEST
000048e1: PUSH1 0x20
000048e3: DUP1
000048e4: DUP3
000048e5: MSTORE
000048e6: DUP2
000048e7: ADD
000048e8: PUSH2 0x2128
000048eb: DUP2
000048ec: PUSH2 0x48ab
000048ef: JUMP
000048f0: JUMPDEST
000048f1: PUSH1 0x00
000048f3: PUSH2 0x2128
000048f6: DUP3
000048f7: PUSH2 0x3dc2
000048fa: JUMP
000048fb: JUMPDEST
000048fc: PUSH1 0x21
000048fe: DUP2
000048ff: MSTORE
00004900: PUSH1 0x00
00004902: PUSH1 0x20
00004904: DUP3
00004905: ADD
00004906: PUSH32 0x546f6b656e536572766963653a20657468207472616e73666572206661696c65
00004927: DUP2
00004928: MSTORE
00004929: PUSH1 0x19
0000492b: PUSH1 0xfa
0000492d: SHL
0000492e: PUSH1 0x20
00004930: DUP3
00004931: ADD
00004932: MSTORE
00004933: SWAP2
00004934: POP
00004935: PUSH2 0x3609
00004938: JUMP
00004939: JUMPDEST
0000493a: PUSH1 0x20
0000493c: DUP1
0000493d: DUP3
0000493e: MSTORE
0000493f: DUP2
00004940: ADD
00004941: PUSH2 0x2128
00004944: DUP2
00004945: PUSH2 0x48fb
00004948: JUMP
00004949: JUMPDEST
0000494a: PUSH1 0x25
0000494c: DUP2
0000494d: MSTORE
0000494e: PUSH1 0x00
00004950: PUSH1 0x20
00004952: DUP3
00004953: ADD
00004954: PUSH32 0x546f6b656e536572766963653a20696e76616c696444657374546f6b656e5365
00004975: DUP2
00004976: MSTORE
00004977: PUSH5 0x7276696365
0000497d: PUSH1 0xd8
0000497f: SHL
00004980: PUSH1 0x20
00004982: DUP3
00004983: ADD
00004984: MSTORE
00004985: SWAP2
00004986: POP
00004987: PUSH2 0x3609
0000498a: JUMP
0000498b: JUMPDEST
0000498c: PUSH1 0x20
0000498e: DUP1
0000498f: DUP3
00004990: MSTORE
00004991: DUP2
00004992: ADD
00004993: PUSH2 0x2128
00004996: DUP2
00004997: PUSH2 0x4949
0000499a: JUMP
0000499b: JUMPDEST
0000499c: PUSH1 0x22
0000499e: DUP2
0000499f: MSTORE
000049a0: PUSH1 0x00
000049a2: PUSH1 0x20
000049a4: DUP3
000049a5: ADD
000049a6: PUSH32 0x546f6b656e536572766963653a20696e76616c6964536f75726365436861696e
000049c7: DUP2
000049c8: MSTORE
000049c9: PUSH2 0x1259
000049cc: PUSH1 0xf2
000049ce: SHL
000049cf: PUSH1 0x20
000049d1: DUP3
000049d2: ADD
000049d3: MSTORE
000049d4: SWAP2
000049d5: POP
000049d6: PUSH2 0x3609
000049d9: JUMP
000049da: JUMPDEST
000049db: PUSH1 0x20
000049dd: DUP1
000049de: DUP3
000049df: MSTORE
000049e0: DUP2
000049e1: ADD
000049e2: PUSH2 0x2128
000049e5: DUP2
000049e6: PUSH2 0x499b
000049e9: JUMP
000049ea: JUMPDEST
000049eb: PUSH1 0x20
000049ed: DUP1
000049ee: DUP3
000049ef: MSTORE
000049f0: PUSH32 0x546f6b656e536572766963653a20696e76616c696444657374436861696e4964
00004a11: SWAP2
00004a12: ADD
00004a13: SWAP1
00004a14: DUP2
00004a15: MSTORE
00004a16: PUSH1 0x00
00004a18: PUSH2 0x48d9
00004a1b: JUMP
00004a1c: JUMPDEST
00004a1d: PUSH1 0x20
00004a1f: DUP1
00004a20: DUP3
00004a21: MSTORE
00004a22: DUP2
00004a23: ADD
00004a24: PUSH2 0x2128
00004a27: DUP2
00004a28: PUSH2 0x49ea
00004a2b: JUMP
00004a2c: JUMPDEST
00004a2d: PUSH1 0x1a
00004a2f: DUP2
00004a30: MSTORE
00004a31: PUSH1 0x00
00004a33: PUSH1 0x20
00004a35: DUP3
00004a36: ADD
00004a37: PUSH32 0x546f6b656e536572766963653a20696e76616c6964546f6b656e000000000000
00004a58: DUP2
00004a59: MSTORE
00004a5a: SWAP2
00004a5b: POP
00004a5c: PUSH2 0x48d9
00004a5f: JUMP
00004a60: JUMPDEST
00004a61: PUSH1 0x20
00004a63: DUP1
00004a64: DUP3
00004a65: MSTORE
00004a66: DUP2
00004a67: ADD
00004a68: PUSH2 0x2128
00004a6b: DUP2
00004a6c: PUSH2 0x4a2c
00004a6f: JUMP
00004a70: JUMPDEST
00004a71: PUSH1 0x1b
00004a73: DUP2
00004a74: MSTORE
00004a75: PUSH1 0x00
00004a77: PUSH1 0x20
00004a79: DUP3
00004a7a: ADD
00004a7b: PUSH32 0x546f6b656e536572766963653a20696e76616c6964416d6f756e740000000000
00004a9c: DUP2
00004a9d: MSTORE
00004a9e: SWAP2
00004a9f: POP
00004aa0: PUSH2 0x48d9
00004aa3: JUMP
00004aa4: JUMPDEST
00004aa5: PUSH1 0x20
00004aa7: DUP1
00004aa8: DUP3
00004aa9: MSTORE
00004aaa: DUP2
00004aab: ADD
00004aac: PUSH2 0x2128
00004aaf: DUP2
00004ab0: PUSH2 0x4a70
00004ab3: JUMP
00004ab4: JUMPDEST
00004ab5: PUSH1 0x00
00004ab7: DUP2
00004ab8: SLOAD
00004ab9: PUSH2 0x4ac1
00004abc: DUP2
00004abd: PUSH2 0x4803
00004ac0: JUMP
00004ac1: JUMPDEST
00004ac2: PUSH1 0x01
00004ac4: DUP3
00004ac5: AND
00004ac6: DUP1
00004ac7: ISZERO
00004ac8: PUSH2 0x4ad8
00004acb: JUMPI
00004acc: PUSH1 0x01
00004ace: DUP2
00004acf: EQ
00004ad0: PUSH2 0x4aed
00004ad3: JUMPI
00004ad4: PUSH2 0x4b1d
00004ad7: JUMP
00004ad8: JUMPDEST
00004ad9: PUSH1 0xff
00004adb: NOT
00004adc: DUP4
00004add: AND
00004ade: DUP7
00004adf: MSTORE
00004ae0: DUP2
00004ae1: ISZERO
00004ae2: ISZERO
00004ae3: DUP3
00004ae4: MUL
00004ae5: DUP7
00004ae6: ADD
00004ae7: SWAP4
00004ae8: POP
00004ae9: PUSH2 0x4b1d
00004aec: JUMP
00004aed: JUMPDEST
00004aee: PUSH1 0x00
00004af0: DUP6
00004af1: DUP2
00004af2: MSTORE
00004af3: PUSH1 0x20
00004af5: SWAP1
00004af6: KECCAK256
00004af7: PUSH1 0x00
00004af9: JUMPDEST
00004afa: DUP4
00004afb: DUP2
00004afc: LT
00004afd: ISZERO
00004afe: PUSH2 0x4b15
00004b01: JUMPI
00004b02: DUP2
00004b03: SLOAD
00004b04: DUP9
00004b05: DUP3
00004b06: ADD
00004b07: MSTORE
00004b08: PUSH1 0x01
00004b0a: SWAP1
00004b0b: SWAP2
00004b0c: ADD
00004b0d: SWAP1
00004b0e: PUSH1 0x20
00004b10: ADD
00004b11: PUSH2 0x4af9
00004b14: JUMP
00004b15: JUMPDEST
00004b16: DUP4
00004b17: DUP9
00004b18: ADD
00004b19: SWAP6
00004b1a: POP
00004b1b: POP
00004b1c: POP
00004b1d: JUMPDEST
00004b1e: POP
00004b1f: POP
00004b20: POP
00004b21: SWAP3
00004b22: SWAP2
00004b23: POP
00004b24: POP
00004b25: JUMP
00004b26: JUMPDEST
00004b27: PUSH1 0x00
00004b29: PUSH2 0x32ce
00004b2c: DUP3
00004b2d: DUP5
00004b2e: PUSH2 0x4ab4
00004b31: JUMP
00004b32: JUMPDEST
00004b33: PUSH1 0x00
00004b35: PUSH2 0x4b3c
00004b38: DUP3
00004b39: MLOAD
00004b3a: SWAP1
00004b3b: JUMP
00004b3c: JUMPDEST
00004b3d: PUSH2 0x4b4a
00004b40: DUP2
00004b41: DUP6
00004b42: PUSH1 0x20
00004b44: DUP7
00004b45: ADD
00004b46: PUSH2 0x38d4
00004b49: JUMP
00004b4a: JUMPDEST
00004b4b: SWAP3
00004b4c: SWAP1
00004b4d: SWAP3
00004b4e: ADD
00004b4f: SWAP3
00004b50: SWAP2
00004b51: POP
00004b52: POP
00004b53: JUMP
00004b54: JUMPDEST
00004b55: PUSH1 0x00
00004b57: PUSH2 0x32ce
00004b5a: DUP3
00004b5b: DUP5
00004b5c: PUSH2 0x4b32
00004b5f: JUMP
00004b60: JUMPDEST
00004b61: PUSH1 0x27
00004b63: DUP2
00004b64: MSTORE
00004b65: PUSH1 0x00
00004b67: PUSH1 0x20
00004b69: DUP3
00004b6a: ADD
00004b6b: PUSH32 0x546f6b656e536572766963653a20696e76616c6964536f75726365546f6b656e
00004b8c: DUP2
00004b8d: MSTORE
00004b8e: PUSH7 0x53657276696365
00004b96: PUSH1 0xc8
00004b98: SHL
00004b99: PUSH1 0x20
00004b9b: DUP3
00004b9c: ADD
00004b9d: MSTORE
00004b9e: SWAP2
00004b9f: POP
00004ba0: PUSH2 0x3609
00004ba3: JUMP
00004ba4: JUMPDEST
00004ba5: PUSH1 0x20
00004ba7: DUP1
00004ba8: DUP3
00004ba9: MSTORE
00004baa: DUP2
00004bab: ADD
00004bac: PUSH2 0x2128
00004baf: DUP2
00004bb0: PUSH2 0x4b60
00004bb3: JUMP
00004bb4: JUMPDEST
00004bb5: DUP1
00004bb6: MLOAD
00004bb7: PUSH1 0x00
00004bb9: SWAP1
00004bba: PUSH1 0x40
00004bbc: DUP5
00004bbd: ADD
00004bbe: SWAP1
00004bbf: PUSH2 0x4bc8
00004bc2: DUP6
00004bc3: DUP3
00004bc4: PUSH2 0x37fa
00004bc7: JUMP
00004bc8: JUMPDEST
00004bc9: POP
00004bca: PUSH1 0x20
00004bcc: DUP4
00004bcd: ADD
00004bce: MLOAD
00004bcf: DUP5
00004bd0: DUP3
00004bd1: SUB
00004bd2: PUSH1 0x20
00004bd4: DUP7
00004bd5: ADD
00004bd6: MSTORE
00004bd7: PUSH2 0x2e4b
00004bda: DUP3
00004bdb: DUP3
00004bdc: PUSH2 0x38f8
00004bdf: JUMP
00004be0: JUMPDEST
00004be1: DUP1
00004be2: MLOAD
00004be3: PUSH1 0x40
00004be5: DUP4
00004be6: ADD
00004be7: SWAP1
00004be8: PUSH2 0x4bf1
00004beb: DUP5
00004bec: DUP3
00004bed: PUSH2 0x37fa
00004bf0: JUMP
00004bf1: JUMPDEST
00004bf2: POP
00004bf3: PUSH1 0x20
00004bf5: DUP3
00004bf6: ADD
00004bf7: MLOAD
00004bf8: PUSH2 0x11e8
00004bfb: PUSH1 0x20
00004bfd: DUP6
00004bfe: ADD
00004bff: DUP3
00004c00: PUSH2 0x3c5e
00004c03: JUMP
00004c04: JUMPDEST
00004c05: DUP1
00004c06: MLOAD
00004c07: PUSH1 0x80
00004c09: DUP1
00004c0a: DUP5
00004c0b: MSTORE
00004c0c: PUSH1 0x00
00004c0e: SWAP2
00004c0f: SWAP1
00004c10: DUP5
00004c11: ADD
00004c12: SWAP1
00004c13: PUSH2 0x4c1c
00004c16: DUP3
00004c17: DUP3
00004c18: PUSH2 0x38f8
00004c1b: JUMP
00004c1c: JUMPDEST
00004c1d: SWAP2
00004c1e: POP
00004c1f: POP
00004c20: PUSH1 0x20
00004c22: DUP4
00004c23: ADD
00004c24: MLOAD
00004c25: PUSH2 0x4c31
00004c28: PUSH1 0x20
00004c2a: DUP7
00004c2b: ADD
00004c2c: DUP3
00004c2d: PUSH2 0x3c5e
00004c30: JUMP
00004c31: JUMPDEST
00004c32: POP
00004c33: PUSH1 0x40
00004c35: DUP4
00004c36: ADD
00004c37: MLOAD
00004c38: PUSH2 0x4c44
00004c3b: PUSH1 0x40
00004c3d: DUP7
00004c3e: ADD
00004c3f: DUP3
00004c40: PUSH2 0x37fa
00004c43: JUMP
00004c44: JUMPDEST
00004c45: POP
00004c46: PUSH1 0x60
00004c48: DUP4
00004c49: ADD
00004c4a: MLOAD
00004c4b: PUSH2 0x3a7d
00004c4e: PUSH1 0x60
00004c50: DUP7
00004c51: ADD
00004c52: DUP3
00004c53: PUSH2 0x3c5e
00004c56: JUMP
00004c57: JUMPDEST
00004c58: DUP1
00004c59: MLOAD
00004c5a: PUSH1 0x00
00004c5c: SWAP1
00004c5d: PUSH1 0xe0
00004c5f: DUP5
00004c60: ADD
00004c61: SWAP1
00004c62: PUSH2 0x4c6b
00004c65: DUP6
00004c66: DUP3
00004c67: PUSH2 0x37fa
00004c6a: JUMP
00004c6b: JUMPDEST
00004c6c: POP
00004c6d: PUSH1 0x20
00004c6f: DUP4
00004c70: ADD
00004c71: MLOAD
00004c72: PUSH2 0x4c7e
00004c75: PUSH1 0x20
00004c77: DUP7
00004c78: ADD
00004c79: DUP3
00004c7a: PUSH2 0x37fa
00004c7d: JUMP
00004c7e: JUMPDEST
00004c7f: POP
00004c80: PUSH1 0x40
00004c82: DUP4
00004c83: ADD
00004c84: MLOAD
00004c85: DUP5
00004c86: DUP3
00004c87: SUB
00004c88: PUSH1 0x40
00004c8a: DUP7
00004c8b: ADD
00004c8c: MSTORE
00004c8d: PUSH2 0x4c96
00004c90: DUP3
00004c91: DUP3
00004c92: PUSH2 0x4bb4
00004c95: JUMP
00004c96: JUMPDEST
00004c97: SWAP2
00004c98: POP
00004c99: POP
00004c9a: PUSH1 0x60
00004c9c: DUP4
00004c9d: ADD
00004c9e: MLOAD
00004c9f: PUSH2 0x4cab
00004ca2: PUSH1 0x60
00004ca4: DUP7
00004ca5: ADD
00004ca6: DUP3
00004ca7: PUSH2 0x4be0
00004caa: JUMP
00004cab: JUMPDEST
00004cac: POP
00004cad: PUSH1 0x80
00004caf: DUP4
00004cb0: ADD
00004cb1: MLOAD
00004cb2: DUP5
00004cb3: DUP3
00004cb4: SUB
00004cb5: PUSH1 0xa0
00004cb7: DUP7
00004cb8: ADD
00004cb9: MSTORE
00004cba: PUSH2 0x4cc3
00004cbd: DUP3
00004cbe: DUP3
00004cbf: PUSH2 0x4c04
00004cc2: JUMP
00004cc3: JUMPDEST
00004cc4: SWAP2
00004cc5: POP
00004cc6: POP
00004cc7: PUSH1 0xa0
00004cc9: DUP4
00004cca: ADD
00004ccb: MLOAD
00004ccc: PUSH2 0x3a7d
00004ccf: PUSH1 0xc0
00004cd1: DUP7
00004cd2: ADD
00004cd3: DUP3
00004cd4: PUSH2 0x37fa
00004cd7: JUMP
00004cd8: JUMPDEST
00004cd9: PUSH1 0x40
00004cdb: DUP1
00004cdc: DUP3
00004cdd: MSTORE
00004cde: DUP2
00004cdf: ADD
00004ce0: PUSH2 0x4ce9
00004ce3: DUP2
00004ce4: DUP6
00004ce5: PUSH2 0x4c57
00004ce8: JUMP
00004ce9: JUMPDEST
00004cea: SWAP1
00004ceb: POP
00004cec: DUP2
00004ced: DUP2
00004cee: SUB
00004cef: PUSH1 0x20
00004cf1: DUP4
00004cf2: ADD
00004cf3: MSTORE
00004cf4: PUSH2 0x32e4
00004cf7: DUP2
00004cf8: DUP5
00004cf9: PUSH2 0x38f8
00004cfc: JUMP
00004cfd: JUMPDEST
00004cfe: PUSH1 0x03
00004d00: DUP2
00004d01: LT
00004d02: PUSH2 0x0c9d
00004d05: JUMPI
00004d06: PUSH1 0x00
00004d08: DUP1
00004d09: REVERT
00004d0a: JUMPDEST
00004d0b: DUP1
00004d0c: MLOAD
00004d0d: PUSH2 0x2128
00004d10: DUP2
00004d11: PUSH2 0x4cfd
00004d14: JUMP
00004d15: JUMPDEST
00004d16: PUSH1 0x00
00004d18: PUSH1 0x20
00004d1a: DUP3
00004d1b: DUP5
00004d1c: SUB
00004d1d: SLT
00004d1e: ISZERO
00004d1f: PUSH2 0x4d2a
00004d22: JUMPI
00004d23: PUSH2 0x4d2a
00004d26: PUSH1 0x00
00004d28: DUP1
00004d29: REVERT
00004d2a: JUMPDEST
00004d2b: PUSH1 0x00
00004d2d: PUSH2 0x2124
00004d30: DUP5
00004d31: DUP5
00004d32: PUSH2 0x4d0a
00004d35: JUMP
00004d36: JUMPDEST
00004d37: PUSH4 0x4e487b71
00004d3c: PUSH1 0xe0
00004d3e: SHL
00004d3f: PUSH1 0x00
00004d41: MSTORE
00004d42: PUSH1 0x21
00004d44: PUSH1 0x04
00004d46: MSTORE
00004d47: PUSH1 0x24
00004d49: PUSH1 0x00
00004d4b: REVERT
00004d4c: JUMPDEST
00004d4d: PUSH1 0x60
00004d4f: DUP2
00004d50: ADD
00004d51: PUSH2 0x4d5a
00004d54: DUP3
00004d55: DUP7
00004d56: PUSH2 0x3c5e
00004d59: JUMP
00004d5a: JUMPDEST
00004d5b: PUSH2 0x4d67
00004d5e: PUSH1 0x20
00004d60: DUP4
00004d61: ADD
00004d62: DUP6
00004d63: PUSH2 0x3c5e
00004d66: JUMP
00004d67: JUMPDEST
00004d68: PUSH2 0x32e4
00004d6b: PUSH1 0x40
00004d6d: DUP4
00004d6e: ADD
00004d6f: DUP5
00004d70: PUSH2 0x37fa
00004d73: JUMP
00004d74: JUMPDEST
00004d75: PUSH1 0x1f
00004d77: DUP2
00004d78: MSTORE
00004d79: PUSH1 0x00
00004d7b: PUSH1 0x20
00004d7d: DUP3
00004d7e: ADD
00004d7f: PUSH32 0x546f6b656e536572766963653a2065746857697468647261774661696c656400
00004da0: DUP2
00004da1: MSTORE
00004da2: SWAP2
00004da3: POP
00004da4: PUSH2 0x48d9
00004da7: JUMP
00004da8: JUMPDEST
00004da9: PUSH1 0x20
00004dab: DUP1
00004dac: DUP3
00004dad: MSTORE
00004dae: DUP2
00004daf: ADD
00004db0: PUSH2 0x2128
00004db3: DUP2
00004db4: PUSH2 0x4d74
00004db7: JUMP
00004db8: JUMPDEST
00004db9: PUSH1 0x20
00004dbb: DUP1
00004dbc: DUP3
00004dbd: MSTORE
00004dbe: PUSH32 0x546f6b656e536572766963653a20696e73756666696369656e7451756f72756d
00004ddf: SWAP2
00004de0: ADD
00004de1: SWAP1
00004de2: DUP2
00004de3: MSTORE
00004de4: PUSH1 0x00
00004de6: PUSH2 0x48d9
00004de9: JUMP
00004dea: JUMPDEST
00004deb: PUSH1 0x20
00004ded: DUP1
00004dee: DUP3
00004def: MSTORE
00004df0: DUP2
00004df1: ADD
00004df2: PUSH2 0x2128
00004df5: DUP2
00004df6: PUSH2 0x4db8
00004df9: JUMP
00004dfa: JUMPDEST
00004dfb: PUSH1 0x1a
00004dfd: DUP2
00004dfe: MSTORE
00004dff: PUSH1 0x00
00004e01: PUSH1 0x20
00004e03: DUP3
00004e04: ADD
00004e05: PUSH32 0x546f6b656e537570706f72743a207a65726f2061646472657373000000000000
00004e26: DUP2
00004e27: MSTORE
00004e28: SWAP2
00004e29: POP
00004e2a: PUSH2 0x48d9
00004e2d: JUMP
00004e2e: JUMPDEST
00004e2f: PUSH1 0x20
00004e31: DUP1
00004e32: DUP3
00004e33: MSTORE
00004e34: DUP2
00004e35: ADD
00004e36: PUSH2 0x2128
00004e39: DUP2
00004e3a: PUSH2 0x4dfa
00004e3d: JUMP
00004e3e: JUMPDEST
00004e3f: PUSH1 0x25
00004e41: DUP2
00004e42: MSTORE
00004e43: PUSH1 0x00
00004e45: PUSH1 0x20
00004e47: DUP3
00004e48: ADD
00004e49: PUSH32 0x546f6b656e537570706f72743a20746f6b656e20616c72656164792073757070
00004e6a: DUP2
00004e6b: MSTORE
00004e6c: PUSH5 0x1bdc9d1959
00004e72: PUSH1 0xda
00004e74: SHL
00004e75: PUSH1 0x20
00004e77: DUP3
00004e78: ADD
00004e79: MSTORE
00004e7a: SWAP2
00004e7b: POP
00004e7c: PUSH2 0x3609
00004e7f: JUMP
00004e80: JUMPDEST
00004e81: PUSH1 0x20
00004e83: DUP1
00004e84: DUP3
00004e85: MSTORE
00004e86: DUP2
00004e87: ADD
00004e88: PUSH2 0x2128
00004e8b: DUP2
00004e8c: PUSH2 0x4e3e
00004e8f: JUMP
00004e90: JUMPDEST
00004e91: PUSH1 0x23
00004e93: DUP2
00004e94: MSTORE
00004e95: PUSH1 0x00
00004e97: PUSH1 0x20
00004e99: DUP3
00004e9a: ADD
00004e9b: PUSH32 0x546f6b656e537570706f72743a2074617267657420636861696e206d69736d61
00004ebc: DUP2
00004ebd: MSTORE
00004ebe: PUSH3 0x0e8c6d
00004ec2: PUSH1 0xeb
00004ec4: SHL
00004ec5: PUSH1 0x20
00004ec7: DUP3
00004ec8: ADD
00004ec9: MSTORE
00004eca: SWAP2
00004ecb: POP
00004ecc: PUSH2 0x3609
00004ecf: JUMP
00004ed0: JUMPDEST
00004ed1: PUSH1 0x20
00004ed3: DUP1
00004ed4: DUP3
00004ed5: MSTORE
00004ed6: DUP2
00004ed7: ADD
00004ed8: PUSH2 0x2128
00004edb: DUP2
00004edc: PUSH2 0x4e90
00004edf: JUMP
00004ee0: JUMPDEST
00004ee1: PUSH2 0x4ee9
00004ee4: DUP4
00004ee5: PUSH2 0x477a
00004ee8: JUMP
00004ee9: JUMPDEST
00004eea: DUP2
00004eeb: SLOAD
00004eec: PUSH1 0x00
00004eee: NOT
00004eef: PUSH1 0x08
00004ef1: SWAP5
00004ef2: SWAP1
00004ef3: SWAP5
00004ef4: MUL
00004ef5: SWAP4
00004ef6: DUP5
00004ef7: SHL
00004ef8: NOT
00004ef9: AND
00004efa: SWAP3
00004efb: SHL
00004efc: SWAP2
00004efd: SWAP1
00004efe: SWAP2
00004eff: OR
00004f00: SWAP1
00004f01: SSTORE
00004f02: POP
00004f03: JUMP
00004f04: JUMPDEST
00004f05: PUSH1 0x00
00004f07: PUSH2 0x281e
00004f0a: DUP2
00004f0b: DUP5
00004f0c: DUP5
00004f0d: PUSH2 0x4ee0
00004f10: JUMP
00004f11: JUMPDEST
00004f12: DUP2
00004f13: DUP2
00004f14: LT
00004f15: ISZERO
00004f16: PUSH2 0x0ebd
00004f19: JUMPI
00004f1a: PUSH2 0x4f24
00004f1d: PUSH1 0x00
00004f1f: DUP3
00004f20: PUSH2 0x4f04
00004f23: JUMP
00004f24: JUMPDEST
00004f25: PUSH1 0x01
00004f27: ADD
00004f28: PUSH2 0x4f11
00004f2b: JUMP
00004f2c: JUMPDEST
00004f2d: PUSH1 0x1f
00004f2f: DUP3
00004f30: GT
00004f31: ISZERO
00004f32: PUSH2 0x281e
00004f35: JUMPI
00004f36: PUSH1 0x00
00004f38: DUP2
00004f39: DUP2
00004f3a: MSTORE
00004f3b: PUSH1 0x20
00004f3d: SWAP1
00004f3e: KECCAK256
00004f3f: PUSH1 0x20
00004f41: PUSH1 0x1f
00004f43: DUP6
00004f44: ADD
00004f45: DIV
00004f46: DUP2
00004f47: ADD
00004f48: PUSH1 0x20
00004f4a: DUP6
00004f4b: LT
00004f4c: ISZERO
00004f4d: PUSH2 0x4f53
00004f50: JUMPI
00004f51: POP
00004f52: DUP1
00004f53: JUMPDEST
00004f54: PUSH2 0x1569
00004f57: PUSH1 0x20
00004f59: PUSH1 0x1f
00004f5b: DUP7
00004f5c: ADD
00004f5d: DIV
00004f5e: DUP4
00004f5f: ADD
00004f60: DUP3
00004f61: PUSH2 0x4f11
00004f64: JUMP
00004f65: JUMPDEST
00004f66: DUP2
00004f67: MLOAD
00004f68: PUSH1 0x01
00004f6a: PUSH1 0x01
00004f6c: PUSH1 0x40
00004f6e: SHL
00004f6f: SUB
00004f70: DUP2
00004f71: GT
00004f72: ISZERO
00004f73: PUSH2 0x4f7e
00004f76: JUMPI
00004f77: PUSH2 0x4f7e
00004f7a: PUSH2 0x39b0
00004f7d: JUMP
00004f7e: JUMPDEST
00004f7f: PUSH2 0x4f88
00004f82: DUP3
00004f83: SLOAD
00004f84: PUSH2 0x4803
00004f87: JUMP
00004f88: JUMPDEST
00004f89: PUSH2 0x4f93
00004f8c: DUP3
00004f8d: DUP3
00004f8e: DUP6
00004f8f: PUSH2 0x4f2c
00004f92: JUMP
00004f93: JUMPDEST
00004f94: PUSH1 0x20
00004f96: PUSH1 0x1f
00004f98: DUP4
00004f99: GT
00004f9a: PUSH1 0x01
00004f9c: DUP2
00004f9d: EQ
00004f9e: PUSH2 0x4fc7
00004fa1: JUMPI
00004fa2: PUSH1 0x00
00004fa4: DUP5
00004fa5: ISZERO
00004fa6: PUSH2 0x4faf
00004fa9: JUMPI
00004faa: POP
00004fab: DUP6
00004fac: DUP3
00004fad: ADD
00004fae: MLOAD
00004faf: JUMPDEST
00004fb0: PUSH1 0x00
00004fb2: NOT
00004fb3: PUSH1 0x08
00004fb5: DUP7
00004fb6: MUL
00004fb7: SHR
00004fb8: NOT
00004fb9: DUP2
00004fba: AND
00004fbb: PUSH1 0x02
00004fbd: DUP7
00004fbe: MUL
00004fbf: OR
00004fc0: DUP7
00004fc1: SSTORE
00004fc2: POP
00004fc3: PUSH2 0x0a2c
00004fc6: JUMP
00004fc7: JUMPDEST
00004fc8: PUSH1 0x00
00004fca: DUP6
00004fcb: DUP2
00004fcc: MSTORE
00004fcd: PUSH1 0x20
00004fcf: DUP2
00004fd0: KECCAK256
00004fd1: PUSH1 0x1f
00004fd3: NOT
00004fd4: DUP7
00004fd5: AND
00004fd6: SWAP2
00004fd7: JUMPDEST
00004fd8: DUP3
00004fd9: DUP2
00004fda: LT
00004fdb: ISZERO
00004fdc: PUSH2 0x4ff7
00004fdf: JUMPI
00004fe0: DUP9
00004fe1: DUP6
00004fe2: ADD
00004fe3: MLOAD
00004fe4: DUP3
00004fe5: SSTORE
00004fe6: PUSH1 0x20
00004fe8: SWAP5
00004fe9: DUP6
00004fea: ADD
00004feb: SWAP5
00004fec: PUSH1 0x01
00004fee: SWAP1
00004fef: SWAP3
00004ff0: ADD
00004ff1: SWAP2
00004ff2: ADD
00004ff3: PUSH2 0x4fd7
00004ff6: JUMP
00004ff7: JUMPDEST
00004ff8: DUP7
00004ff9: DUP4
00004ffa: LT
00004ffb: ISZERO
00004ffc: PUSH2 0x5013
00004fff: JUMPI
00005000: DUP5
00005001: DUP10
00005002: ADD
00005003: MLOAD
00005004: PUSH1 0x00
00005006: NOT
00005007: PUSH1 0x1f
00005009: DUP10
0000500a: AND
0000500b: PUSH1 0x08
0000500d: MUL
0000500e: SHR
0000500f: NOT
00005010: AND
00005011: DUP3
00005012: SSTORE
00005013: JUMPDEST
00005014: PUSH1 0x01
00005016: PUSH1 0x02
00005018: DUP9
00005019: MUL
0000501a: ADD
0000501b: DUP9
0000501c: SSTORE
0000501d: POP
0000501e: POP
0000501f: POP
00005020: POP
00005021: POP
00005022: POP
00005023: POP
00005024: POP
00005025: POP
00005026: JUMP
00005027: JUMPDEST
00005028: DUP1
00005029: MLOAD
0000502a: PUSH1 0x00
0000502c: SWAP1
0000502d: PUSH1 0xe0
0000502f: DUP5
00005030: ADD
00005031: SWAP1
00005032: PUSH2 0x503b
00005035: DUP6
00005036: DUP3
00005037: PUSH2 0x3c5e
0000503a: JUMP
0000503b: JUMPDEST
0000503c: POP
0000503d: PUSH1 0x20
0000503f: DUP4
00005040: ADD
00005041: MLOAD
00005042: PUSH2 0x504e
00005045: PUSH1 0x20
00005047: DUP7
00005048: ADD
00005049: DUP3
0000504a: PUSH2 0x3c5e
0000504d: JUMP
0000504e: JUMPDEST
0000504f: POP
00005050: PUSH1 0x40
00005052: DUP4
00005053: ADD
00005054: MLOAD
00005055: DUP5
00005056: DUP3
00005057: SUB
00005058: PUSH1 0x40
0000505a: DUP7
0000505b: ADD
0000505c: MSTORE
0000505d: PUSH2 0x5066
00005060: DUP3
00005061: DUP3
00005062: PUSH2 0x38f8
00005065: JUMP
00005066: JUMPDEST
00005067: SWAP2
00005068: POP
00005069: POP
0000506a: PUSH1 0x60
0000506c: DUP4
0000506d: ADD
0000506e: MLOAD
0000506f: DUP5
00005070: DUP3
00005071: SUB
00005072: PUSH1 0x60
00005074: DUP7
00005075: ADD
00005076: MSTORE
00005077: PUSH2 0x5080
0000507a: DUP3
0000507b: DUP3
0000507c: PUSH2 0x38f8
0000507f: JUMP
00005080: JUMPDEST
00005081: SWAP2
00005082: POP
00005083: POP
00005084: PUSH1 0x80
00005086: DUP4
00005087: ADD
00005088: MLOAD
00005089: PUSH2 0x5095
0000508c: PUSH1 0x80
0000508e: DUP7
0000508f: ADD
00005090: DUP3
00005091: PUSH2 0x37fa
00005094: JUMP
00005095: JUMPDEST
00005096: POP
00005097: PUSH1 0xa0
00005099: DUP4
0000509a: ADD
0000509b: MLOAD
0000509c: PUSH2 0x50a8
0000509f: PUSH1 0xa0
000050a1: DUP7
000050a2: ADD
000050a3: DUP3
000050a4: PUSH2 0x37fa
000050a7: JUMP
000050a8: JUMPDEST
000050a9: POP
000050aa: PUSH1 0xc0
000050ac: DUP4
000050ad: ADD
000050ae: MLOAD
000050af: PUSH2 0x3a7d
000050b2: PUSH1 0xc0
000050b4: DUP7
000050b5: ADD
000050b6: DUP3
000050b7: PUSH2 0x37e2
000050ba: JUMP
000050bb: JUMPDEST
000050bc: PUSH1 0x40
000050be: DUP1
000050bf: DUP3
000050c0: MSTORE
000050c1: DUP2
000050c2: ADD
000050c3: PUSH2 0x50cc
000050c6: DUP2
000050c7: DUP6
000050c8: PUSH2 0x5027
000050cb: JUMP
000050cc: JUMPDEST
000050cd: SWAP1
000050ce: POP
000050cf: PUSH2 0x32ce
000050d2: PUSH1 0x20
000050d4: DUP4
000050d5: ADD
000050d6: DUP5
000050d7: PUSH2 0x37fa
000050da: JUMP
000050db: JUMPDEST
000050dc: PUSH1 0x24
000050de: DUP2
000050df: MSTORE
000050e0: PUSH1 0x00
000050e2: PUSH1 0x20
000050e4: DUP3
000050e5: ADD
000050e6: PUSH32 0x546f6b656e537570706f72743a20746f6b656e20616c72656164792064697361
00005107: DUP2
00005108: MSTORE
00005109: PUSH4 0x189b1959
0000510e: PUSH1 0xe2
00005110: SHL
00005111: PUSH1 0x20
00005113: DUP3
00005114: ADD
00005115: MSTORE
00005116: SWAP2
00005117: POP
00005118: PUSH2 0x3609
0000511b: JUMP
0000511c: JUMPDEST
0000511d: PUSH1 0x20
0000511f: DUP1
00005120: DUP3
00005121: MSTORE
00005122: DUP2
00005123: ADD
00005124: PUSH2 0x2128
00005127: DUP2
00005128: PUSH2 0x50db
0000512b: JUMP
0000512c: JUMPDEST
0000512d: PUSH1 0x26
0000512f: DUP2
00005130: MSTORE
00005131: PUSH1 0x00
00005133: PUSH1 0x20
00005135: DUP3
00005136: ADD
00005137: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
00005158: DUP2
00005159: MSTORE
0000515a: PUSH6 0x646472657373
00005161: PUSH1 0xd0
00005163: SHL
00005164: PUSH1 0x20
00005166: DUP3
00005167: ADD
00005168: MSTORE
00005169: SWAP2
0000516a: POP
0000516b: PUSH2 0x3609
0000516e: JUMP
0000516f: JUMPDEST
00005170: PUSH1 0x20
00005172: DUP1
00005173: DUP3
00005174: MSTORE
00005175: DUP2
00005176: ADD
00005177: PUSH2 0x2128
0000517a: DUP2
0000517b: PUSH2 0x512c
0000517e: JUMP
0000517f: JUMPDEST
00005180: PUSH1 0x2e
00005182: DUP2
00005183: MSTORE
00005184: PUSH1 0x00
00005186: PUSH1 0x20
00005188: DUP3
00005189: ADD
0000518a: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
000051ab: DUP2
000051ac: MSTORE
000051ad: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
000051bc: PUSH1 0x92
000051be: SHL
000051bf: PUSH1 0x20
000051c1: DUP3
000051c2: ADD
000051c3: MSTORE
000051c4: SWAP2
000051c5: POP
000051c6: PUSH2 0x3609
000051c9: JUMP
000051ca: JUMPDEST
000051cb: PUSH1 0x20
000051cd: DUP1
000051ce: DUP3
000051cf: MSTORE
000051d0: DUP2
000051d1: ADD
000051d2: PUSH2 0x2128
000051d5: DUP2
000051d6: PUSH2 0x517f
000051d9: JUMP
000051da: JUMPDEST
000051db: PUSH1 0x00
000051dd: PUSH1 0xff
000051df: DUP3
000051e0: AND
000051e1: PUSH2 0x2128
000051e4: JUMP
000051e5: JUMPDEST
000051e6: PUSH2 0x37e6
000051e9: DUP2
000051ea: PUSH2 0x51da
000051ed: JUMP
000051ee: JUMPDEST
000051ef: PUSH1 0x20
000051f1: DUP2
000051f2: ADD
000051f3: PUSH2 0x2128
000051f6: DUP3
000051f7: DUP5
000051f8: PUSH2 0x51e5
000051fb: JUMP
000051fc: JUMPDEST
000051fd: PUSH1 0x10
000051ff: DUP2
00005200: MSTORE
00005201: PUSH1 0x00
00005203: PUSH1 0x20
00005205: DUP3
00005206: ADD
00005207: PUSH16 0x14185d5cd8589b194e881c185d5cd959
00005218: PUSH1 0x82
0000521a: SHL
0000521b: DUP2
0000521c: MSTORE
0000521d: SWAP2
0000521e: POP
0000521f: PUSH2 0x48d9
00005222: JUMP
00005223: JUMPDEST
00005224: PUSH1 0x20
00005226: DUP1
00005227: DUP3
00005228: MSTORE
00005229: DUP2
0000522a: ADD
0000522b: PUSH2 0x2128
0000522e: DUP2
0000522f: PUSH2 0x51fc
00005232: JUMP
00005233: JUMPDEST
00005234: PUSH1 0x1f
00005236: DUP2
00005237: MSTORE
00005238: PUSH1 0x00
0000523a: PUSH1 0x20
0000523c: DUP3
0000523d: ADD
0000523e: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
0000525f: DUP2
00005260: MSTORE
00005261: SWAP2
00005262: POP
00005263: PUSH2 0x48d9
00005266: JUMP
00005267: JUMPDEST
00005268: PUSH1 0x20
0000526a: DUP1
0000526b: DUP3
0000526c: MSTORE
0000526d: DUP2
0000526e: ADD
0000526f: PUSH2 0x2128
00005272: DUP2
00005273: PUSH2 0x5233
00005276: JUMP
00005277: JUMPDEST
00005278: PUSH1 0x24
0000527a: DUP2
0000527b: MSTORE
0000527c: PUSH1 0x00
0000527e: PUSH1 0x20
00005280: DUP3
00005281: ADD
00005282: PUSH32 0x546f6b656e536572766963653a20496e76616c69645265636569766572416464
000052a3: DUP2
000052a4: MSTORE
000052a5: PUSH4 0x72657373
000052aa: PUSH1 0xe0
000052ac: SHL
000052ad: PUSH1 0x20
000052af: DUP3
000052b0: ADD
000052b1: MSTORE
000052b2: SWAP2
000052b3: POP
000052b4: PUSH2 0x3609
000052b7: JUMP
000052b8: JUMPDEST
000052b9: PUSH1 0x20
000052bb: DUP1
000052bc: DUP3
000052bd: MSTORE
000052be: DUP2
000052bf: ADD
000052c0: PUSH2 0x2128
000052c3: DUP2
000052c4: PUSH2 0x5277
000052c7: JUMP
000052c8: JUMPDEST
000052c9: DUP1
000052ca: MLOAD
000052cb: PUSH1 0x00
000052cd: SWAP1
000052ce: PUSH1 0x80
000052d0: DUP5
000052d1: ADD
000052d2: SWAP1
000052d3: PUSH2 0x52dc
000052d6: DUP6
000052d7: DUP3
000052d8: PUSH2 0x3c5e
000052db: JUMP
000052dc: JUMPDEST
000052dd: POP
000052de: PUSH1 0x20
000052e0: DUP4
000052e1: ADD
000052e2: MLOAD
000052e3: DUP5
000052e4: DUP3
000052e5: SUB
000052e6: PUSH1 0x20
000052e8: DUP7
000052e9: ADD
000052ea: MSTORE
000052eb: PUSH2 0x52f4
000052ee: DUP3
000052ef: DUP3
000052f0: PUSH2 0x38f8
000052f3: JUMP
000052f4: JUMPDEST
000052f5: SWAP2
000052f6: POP
000052f7: POP
000052f8: PUSH1 0x40
000052fa: DUP4
000052fb: ADD
000052fc: MLOAD
000052fd: PUSH2 0x5309
00005300: PUSH1 0x40
00005302: DUP7
00005303: ADD
00005304: DUP3
00005305: PUSH2 0x37fa
00005308: JUMP
00005309: JUMPDEST
0000530a: POP
0000530b: PUSH1 0x60
0000530d: DUP4
0000530e: ADD
0000530f: MLOAD
00005310: DUP5
00005311: DUP3
00005312: SUB
00005313: PUSH1 0x60
00005315: DUP7
00005316: ADD
00005317: MSTORE
00005318: PUSH2 0x2e4b
0000531b: DUP3
0000531c: DUP3
0000531d: PUSH2 0x38f8
00005320: JUMP
00005321: JUMPDEST
00005322: DUP1
00005323: MLOAD
00005324: PUSH1 0x00
00005326: SWAP1
00005327: PUSH1 0xe0
00005329: DUP5
0000532a: ADD
0000532b: SWAP1
0000532c: PUSH2 0x5335
0000532f: DUP6
00005330: DUP3
00005331: PUSH2 0x37fa
00005334: JUMP
00005335: JUMPDEST
00005336: POP
00005337: PUSH1 0x20
00005339: DUP4
0000533a: ADD
0000533b: MLOAD
0000533c: PUSH2 0x5348
0000533f: PUSH1 0x20
00005341: DUP7
00005342: ADD
00005343: DUP3
00005344: PUSH2 0x37fa
00005347: JUMP
00005348: JUMPDEST
00005349: POP
0000534a: PUSH1 0x40
0000534c: DUP4
0000534d: ADD
0000534e: MLOAD
0000534f: PUSH2 0x535b
00005352: PUSH1 0x40
00005354: DUP7
00005355: ADD
00005356: DUP3
00005357: PUSH2 0x4be0
0000535a: JUMP
0000535b: JUMPDEST
0000535c: POP
0000535d: PUSH1 0x60
0000535f: DUP4
00005360: ADD
00005361: MLOAD
00005362: DUP5
00005363: DUP3
00005364: SUB
00005365: PUSH1 0x80
00005367: DUP7
00005368: ADD
00005369: MSTORE
0000536a: PUSH2 0x5373
0000536d: DUP3
0000536e: DUP3
0000536f: PUSH2 0x4bb4
00005372: JUMP
00005373: JUMPDEST
00005374: SWAP2
00005375: POP
00005376: POP
00005377: PUSH1 0x80
00005379: DUP4
0000537a: ADD
0000537b: MLOAD
0000537c: DUP5
0000537d: DUP3
0000537e: SUB
0000537f: PUSH1 0xa0
00005381: DUP7
00005382: ADD
00005383: MSTORE
00005384: PUSH2 0x4cc3
00005387: DUP3
00005388: DUP3
00005389: PUSH2 0x52c8
0000538c: JUMP
0000538d: JUMPDEST
0000538e: PUSH1 0x40
00005390: DUP1
00005391: DUP3
00005392: MSTORE
00005393: DUP2
00005394: ADD
00005395: PUSH2 0x4ce9
00005398: DUP2
00005399: DUP6
0000539a: PUSH2 0x5321
0000539d: JUMP
0000539e: JUMPDEST
0000539f: PUSH1 0x20
000053a1: DUP1
000053a2: DUP3
000053a3: MSTORE
000053a4: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
000053c5: SWAP2
000053c6: ADD
000053c7: SWAP1
000053c8: DUP2
000053c9: MSTORE
000053ca: PUSH1 0x00
000053cc: PUSH2 0x48d9
000053cf: JUMP
000053d0: JUMPDEST
000053d1: PUSH1 0x20
000053d3: DUP1
000053d4: DUP3
000053d5: MSTORE
000053d6: DUP2
000053d7: ADD
000053d8: PUSH2 0x2128
000053db: DUP2
000053dc: PUSH2 0x539e
000053df: JUMP
000053e0: JUMPDEST
000053e1: PUSH1 0x20
000053e3: DUP1
000053e4: DUP3
000053e5: MSTORE
000053e6: DUP2
000053e7: ADD
000053e8: PUSH2 0x32e4
000053eb: DUP2
000053ec: DUP5
000053ed: DUP7
000053ee: PUSH2 0x418d
000053f1: JUMP
000053f2: JUMPDEST
000053f3: PUSH1 0x1b
000053f5: DUP2
000053f6: MSTORE
000053f7: PUSH1 0x00
000053f9: PUSH1 0x20
000053fb: DUP3
000053fc: ADD
000053fd: PUSH32 0x546f6b656e536572766963653a206574684e6f74416c6c6f7765640000000000
0000541e: DUP2
0000541f: MSTORE
00005420: SWAP2
00005421: POP
00005422: PUSH2 0x48d9
00005425: JUMP
00005426: JUMPDEST
00005427: PUSH1 0x20
00005429: DUP1
0000542a: DUP3
0000542b: MSTORE
0000542c: DUP2
0000542d: ADD
0000542e: PUSH2 0x2128
00005431: DUP2
00005432: PUSH2 0x53f2
00005435: JUMP
00005436: JUMPDEST
00005437: DUP1
00005438: MLOAD
00005439: PUSH2 0x2128
0000543c: DUP2
0000543d: PUSH2 0x380e
00005440: JUMP
00005441: JUMPDEST
00005442: PUSH1 0x00
00005444: PUSH1 0x20
00005446: DUP3
00005447: DUP5
00005448: SUB
00005449: SLT
0000544a: ISZERO
0000544b: PUSH2 0x5456
0000544e: JUMPI
0000544f: PUSH2 0x5456
00005452: PUSH1 0x00
00005454: DUP1
00005455: REVERT
00005456: JUMPDEST
00005457: PUSH1 0x00
00005459: PUSH2 0x2124
0000545c: DUP5
0000545d: DUP5
0000545e: PUSH2 0x5436
00005461: JUMP
00005462: JUMPDEST
00005463: PUSH1 0x2e
00005465: DUP2
00005466: MSTORE
00005467: PUSH1 0x00
00005469: PUSH1 0x20
0000546b: DUP3
0000546c: ADD
0000546d: PUSH32 0x45524331393637557067726164653a206e657720696d706c656d656e74617469
0000548e: DUP2
0000548f: MSTORE
00005490: PUSH14 0x6f6e206973206e6f742055555053
0000549f: PUSH1 0x90
000054a1: SHL
000054a2: PUSH1 0x20
000054a4: DUP3
000054a5: ADD
000054a6: MSTORE
000054a7: SWAP2
000054a8: POP
000054a9: PUSH2 0x3609
000054ac: JUMP
000054ad: JUMPDEST
000054ae: PUSH1 0x20
000054b0: DUP1
000054b1: DUP3
000054b2: MSTORE
000054b3: DUP2
000054b4: ADD
000054b5: PUSH2 0x2128
000054b8: DUP2
000054b9: PUSH2 0x5462
000054bc: JUMP
000054bd: JUMPDEST
000054be: PUSH1 0x29
000054c0: DUP2
000054c1: MSTORE
000054c2: PUSH1 0x00
000054c4: PUSH1 0x20
000054c6: DUP3
000054c7: ADD
000054c8: PUSH32 0x45524331393637557067726164653a20756e737570706f727465642070726f78
000054e9: DUP2
000054ea: MSTORE
000054eb: PUSH9 0x1a58589b1955555251
000054f5: PUSH1 0xba
000054f7: SHL
000054f8: PUSH1 0x20
000054fa: DUP3
000054fb: ADD
000054fc: MSTORE
000054fd: SWAP2
000054fe: POP
000054ff: PUSH2 0x3609
00005502: JUMP
00005503: JUMPDEST
00005504: PUSH1 0x20
00005506: DUP1
00005507: DUP3
00005508: MSTORE
00005509: DUP2
0000550a: ADD
0000550b: PUSH2 0x2128
0000550e: DUP2
0000550f: PUSH2 0x54bd
00005512: JUMP
00005513: JUMPDEST
00005514: PUSH1 0x14
00005516: DUP2
00005517: MSTORE
00005518: PUSH1 0x00
0000551a: PUSH1 0x20
0000551c: DUP3
0000551d: ADD
0000551e: PUSH32 0x5061757361626c653a206e6f7420706175736564000000000000000000000000
0000553f: DUP2
00005540: MSTORE
00005541: SWAP2
00005542: POP
00005543: PUSH2 0x48d9
00005546: JUMP
00005547: JUMPDEST
00005548: PUSH1 0x20
0000554a: DUP1
0000554b: DUP3
0000554c: MSTORE
0000554d: DUP2
0000554e: ADD
0000554f: PUSH2 0x2128
00005552: DUP2
00005553: PUSH2 0x5513
00005556: JUMP
00005557: JUMPDEST
00005558: PUSH1 0x2b
0000555a: DUP2
0000555b: MSTORE
0000555c: PUSH1 0x00
0000555e: PUSH1 0x20
00005560: DUP3
00005561: ADD
00005562: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
00005583: DUP2
00005584: MSTORE
00005585: PUSH11 0x6e697469616c697a696e67
00005591: PUSH1 0xa8
00005593: SHL
00005594: PUSH1 0x20
00005596: DUP3
00005597: ADD
00005598: MSTORE
00005599: SWAP2
0000559a: POP
0000559b: PUSH2 0x3609
0000559e: JUMP
0000559f: JUMPDEST
000055a0: PUSH1 0x20
000055a2: DUP1
000055a3: DUP3
000055a4: MSTORE
000055a5: DUP2
000055a6: ADD
000055a7: PUSH2 0x2128
000055aa: DUP2
000055ab: PUSH2 0x5557
000055ae: JUMP
000055af: JUMPDEST
000055b0: PUSH1 0x1d
000055b2: DUP2
000055b3: MSTORE
000055b4: PUSH1 0x00
000055b6: PUSH1 0x20
000055b8: DUP3
000055b9: ADD
000055ba: PUSH32 0x546f6b656e536572766963653a206e6f74456e6f756768416d6f756e74000000
000055db: DUP2
000055dc: MSTORE
000055dd: SWAP2
000055de: POP
000055df: PUSH2 0x48d9
000055e2: JUMP
000055e3: JUMPDEST
000055e4: PUSH1 0x20
000055e6: DUP1
000055e7: DUP3
000055e8: MSTORE
000055e9: DUP2
000055ea: ADD
000055eb: PUSH2 0x2128
000055ee: DUP2
000055ef: PUSH2 0x55af
000055f2: JUMP
000055f3: JUMPDEST
000055f4: PUSH4 0x4e487b71
000055f9: PUSH1 0xe0
000055fb: SHL
000055fc: PUSH1 0x00
000055fe: MSTORE
000055ff: PUSH1 0x11
00005601: PUSH1 0x04
00005603: MSTORE
00005604: PUSH1 0x24
00005606: PUSH1 0x00
00005608: REVERT
00005609: JUMPDEST
0000560a: DUP2
0000560b: DUP2
0000560c: MUL
0000560d: DUP1
0000560e: DUP3
0000560f: ISZERO
00005610: DUP4
00005611: DUP3
00005612: DIV
00005613: DUP6
00005614: EQ
00005615: OR
00005616: PUSH2 0x5621
00005619: JUMPI
0000561a: PUSH2 0x5621
0000561d: PUSH2 0x55f3
00005620: JUMP
00005621: JUMPDEST
00005622: POP
00005623: SWAP3
00005624: SWAP2
00005625: POP
00005626: POP
00005627: JUMP
00005628: JUMPDEST
00005629: PUSH4 0x4e487b71
0000562e: PUSH1 0xe0
00005630: SHL
00005631: PUSH1 0x00
00005633: MSTORE
00005634: PUSH1 0x12
00005636: PUSH1 0x04
00005638: MSTORE
00005639: PUSH1 0x24
0000563b: PUSH1 0x00
0000563d: REVERT
0000563e: JUMPDEST
0000563f: PUSH1 0x00
00005641: DUP3
00005642: PUSH2 0x564d
00005645: JUMPI
00005646: PUSH2 0x564d
00005649: PUSH2 0x5628
0000564c: JUMP
0000564d: JUMPDEST
0000564e: POP
0000564f: DIV
00005650: SWAP1
00005651: JUMP
00005652: JUMPDEST
00005653: DUP1
00005654: DUP3
00005655: ADD
00005656: DUP1
00005657: DUP3
00005658: GT
00005659: ISZERO
0000565a: PUSH2 0x2128
0000565d: JUMPI
0000565e: PUSH2 0x2128
00005661: PUSH2 0x55f3
00005664: JUMP
00005665: JUMPDEST
00005666: PUSH1 0x20
00005668: DUP1
00005669: DUP3
0000566a: MSTORE
0000566b: PUSH32 0x546f6b656e536572766963653a20666565735472616e736665724661696c6564
0000568c: SWAP2
0000568d: ADD
0000568e: SWAP1
0000568f: DUP2
00005690: MSTORE
00005691: PUSH1 0x00
00005693: PUSH2 0x48d9
00005696: JUMP
00005697: JUMPDEST
00005698: PUSH1 0x20
0000569a: DUP1
0000569b: DUP3
0000569c: MSTORE
0000569d: DUP2
0000569e: ADD
0000569f: PUSH2 0x2128
000056a2: DUP2
000056a3: PUSH2 0x5665
000056a6: JUMP
000056a7: JUMPDEST
000056a8: DUP2
000056a9: DUP2
000056aa: SUB
000056ab: DUP2
000056ac: DUP2
000056ad: GT
000056ae: ISZERO
000056af: PUSH2 0x2128
000056b2: JUMPI
000056b3: PUSH2 0x2128
000056b6: PUSH2 0x55f3
000056b9: JUMP
000056ba: JUMPDEST
000056bb: PUSH1 0x2d
000056bd: DUP2
000056be: MSTORE
000056bf: PUSH1 0x00
000056c1: PUSH1 0x20
000056c3: DUP3
000056c4: ADD
000056c5: PUSH32 0x455243313936373a206e657720696d706c656d656e746174696f6e206973206e
000056e6: DUP2
000056e7: MSTORE
000056e8: PUSH13 0x1bdd08184818dbdb9d1c9858dd
000056f6: PUSH1 0x9a
000056f8: SHL
000056f9: PUSH1 0x20
000056fb: DUP3
000056fc: ADD
000056fd: MSTORE
000056fe: SWAP2
000056ff: POP
00005700: PUSH2 0x3609
00005703: JUMP
00005704: JUMPDEST
00005705: PUSH1 0x20
00005707: DUP1
00005708: DUP3
00005709: MSTORE
0000570a: DUP2
0000570b: ADD
0000570c: PUSH2 0x2128
0000570f: DUP2
00005710: PUSH2 0x56ba
00005713: JUMP
00005714: JUMPDEST
00005715: PUSH1 0x2a
00005717: DUP2
00005718: MSTORE
00005719: PUSH1 0x00
0000571b: PUSH1 0x20
0000571d: DUP3
0000571e: ADD
0000571f: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00005740: DUP2
00005741: MSTORE
00005742: PUSH10 0x1bdd081cdd58d8d95959
0000574d: PUSH1 0xb2
0000574f: SHL
00005750: PUSH1 0x20
00005752: DUP3
00005753: ADD
00005754: MSTORE
00005755: SWAP2
00005756: POP
00005757: PUSH2 0x3609
0000575a: JUMP
0000575b: JUMPDEST
0000575c: PUSH1 0x20
0000575e: DUP1
0000575f: DUP3
00005760: MSTORE
00005761: DUP2
00005762: ADD
00005763: PUSH2 0x2128
00005766: DUP2
00005767: PUSH2 0x5714
0000576a: JUMP
0000576b: JUMPDEST
0000576c: PUSH1 0x20
0000576e: DUP1
0000576f: DUP3
00005770: MSTORE
00005771: PUSH32 0x546f6b656e536572766963653a2073656e64657220626c61636b6c6973746564
00005792: SWAP2
00005793: ADD
00005794: SWAP1
00005795: DUP2
00005796: MSTORE
00005797: PUSH1 0x00
00005799: PUSH2 0x48d9
0000579c: JUMP
0000579d: JUMPDEST
0000579e: PUSH1 0x20
000057a0: DUP1
000057a1: DUP3
000057a2: MSTORE
000057a3: DUP2
000057a4: ADD
000057a5: PUSH2 0x2128
000057a8: DUP2
000057a9: PUSH2 0x576b
000057ac: JUMP
000057ad: JUMPDEST
000057ae: PUSH1 0x21
000057b0: DUP2
000057b1: MSTORE
000057b2: PUSH1 0x00
000057b4: PUSH1 0x20
000057b6: DUP3
000057b7: ADD
000057b8: PUSH32 0x546f6b656e536572766963653a20616d6f756e74206f7574206f662072616e67
000057d9: DUP2
000057da: MSTORE
000057db: PUSH1 0x65
000057dd: PUSH1 0xf8
000057df: SHL
000057e0: PUSH1 0x20
000057e2: DUP3
000057e3: ADD
000057e4: MSTORE
000057e5: SWAP2
000057e6: POP
000057e7: PUSH2 0x3609
000057ea: JUMP
000057eb: JUMPDEST
000057ec: PUSH1 0x20
000057ee: DUP1
000057ef: DUP3
000057f0: MSTORE
000057f1: DUP2
000057f2: ADD
000057f3: PUSH2 0x2128
000057f6: DUP2
000057f7: PUSH2 0x57ad
000057fa: JUMP
000057fb: JUMPDEST
000057fc: PUSH1 0x26
000057fe: DUP2
000057ff: MSTORE
00005800: PUSH1 0x00
00005802: PUSH1 0x20
00005804: DUP3
00005805: ADD
00005806: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
00005827: DUP2
00005828: MSTORE
00005829: PUSH6 0x1c8818d85b1b
00005830: PUSH1 0xd2
00005832: SHL
00005833: PUSH1 0x20
00005835: DUP3
00005836: ADD
00005837: MSTORE
00005838: SWAP2
00005839: POP
0000583a: PUSH2 0x3609
0000583d: JUMP
0000583e: JUMPDEST
0000583f: PUSH1 0x20
00005841: DUP1
00005842: DUP3
00005843: MSTORE
00005844: DUP2
00005845: ADD
00005846: PUSH2 0x2128
00005849: DUP2
0000584a: PUSH2 0x57fb
0000584d: JUMP
0000584e: JUMPDEST
0000584f: PUSH1 0x1d
00005851: DUP2
00005852: MSTORE
00005853: PUSH1 0x00
00005855: PUSH1 0x20
00005857: DUP3
00005858: ADD
00005859: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
0000587a: DUP2
0000587b: MSTORE
0000587c: SWAP2
0000587d: POP
0000587e: PUSH2 0x48d9
00005881: JUMP
00005882: JUMPDEST
00005883: PUSH1 0x20
00005885: DUP1
00005886: DUP3
00005887: MSTORE
00005888: DUP2
00005889: ADD
0000588a: PUSH2 0x2128
0000588d: DUP2
0000588e: PUSH2 0x584e
00005891: JUMP
00005892: INVALID
00005893: COINBASE
00005894: PUSH5 0x6472657373
0000589a: GASPRICE
0000589b: KECCAK256
0000589c: PUSH13 0x6f772d6c6576656c2064656c65
000058aa: PUSH8 0x6174652063616c6c
000058b3: KECCAK256
000058b4: PUSH7 0x61696c6564a264
000058bc: PUSH10 0x70667358221220d7c4b7
000058c7: SWAP2
000058c8: DUP16
000058c9: UNKNOWN(0xB0)
000058ca: UNKNOWN(0xBF)
000058cb: UNKNOWN(0xD2)
000058cc: DUP15
000058cd: UNKNOWN(0xE3)
000058ce: UNKNOWN(0xEE)
000058cf: DIFFICULTY
000058d0: DUP1
000058d1: UNKNOWN(0xBA)
000058d2: UNKNOWN(0xFC)
000058d3: UNKNOWN(0xA8)
000058d4: UNKNOWN(0x4D)
000058d5: EXTCODESIZE
000058d6: DUP13
000058d7: SUB
000058d8: COINBASE
000058d9: CALLDATASIZE
000058da: TIMESTAMP
000058db: MLOAD
000058dc: PUSH9 0x38982c14263e696473
000058e6: PUSH16

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x4f4052027886fa09c83d0983f4e2c9427a42252d4944658b060fe6f816052ee2
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x4f4052027886fa09c83d0983f4e2c9427a42252d4944658b060fe6f816052ee2",
    "confirmed": false,
    "trace_mode": "callTracer",
    "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": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfbc9a662",
            "selector": "0xfbc9a662",
            "calldata_variants": [
                "0xfbc9a662",
                "0xfbc9a6620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xff8b1f8d",
            "selector": "0xff8b1f8d",
            "calldata_variants": [
                "0xff8b1f8d",
                "0xff8b1f8d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd451c20a",
            "selector": "0xd451c20a",
            "calldata_variants": [
                "0xd451c20a",
                "0xd451c20a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdcbeeb23",
            "selector": "0xdcbeeb23",
            "calldata_variants": [
                "0xdcbeeb23",
                "0xdcbeeb230000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6c09edf",
            "selector": "0xe6c09edf",
            "calldata_variants": [
                "0xe6c09edf",
                "0xe6c09edf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc354c62f",
            "selector": "0xc354c62f",
            "calldata_variants": [
                "0xc354c62f",
                "0xc354c62f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc415b95c",
            "selector": "0xc415b95c",
            "calldata_variants": [
                "0xc415b95c",
                "0xc415b95c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 13077,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high auth codex Packet hashing uses abi.encodePacked with dynamic strings (collision-prone) 85 no
view
evidence_json
{
    "evidence": "PacketLibrary.hash uses keccak256(abi.encodePacked(...)) including multiple string fields.",
    "locations": [
        "contracts/contracts/common/libraries/PacketLibrary.sol:79",
        "contracts/contracts/common/libraries/PacketLibrary.sol:98"
    ],
    "recommendation": "Hash packets with length\u2011delimited encoding (e.g., keccak256(abi.encode(...))) or hash each dynamic field separately (keccak256(bytes(str))) and include those hashes in the final digest. Consider EIP-712 typed data for signature binding.",
    "exploit_scenario": "If attestors/bridge signatures are produced over PacketLibrary.hash, an attacker can craft two different packets with colliding packed encodings (e.g., varying string fields like sourceTokenService.addr or senderAddress) and reuse valid signatures to authorize a different packet, potentially redirecting withdrawals or altering packet fields without new signatures."
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xccee45d754874e01c709a5f7f953fbcb1fcd2e9a2e5fcb8e6a011c4ddab2bb5a
call_targets: 0xbdae358dc3b0389a5532d011a8b4098ffda11836
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xccee45d754874e01c709a5f7f953fbcb1fcd2e9a2e5fcb8e6a011c4ddab2bb5a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xbdae358dc3b0389a5532d011a8b4098ffda11836"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfbc9a662",
            "selector": "0xfbc9a662",
            "calldata_variants": [
                "0xfbc9a662",
                "0xfbc9a6620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xff8b1f8d",
            "selector": "0xff8b1f8d",
            "calldata_variants": [
                "0xff8b1f8d",
                "0xff8b1f8d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd451c20a",
            "selector": "0xd451c20a",
            "calldata_variants": [
                "0xd451c20a",
                "0xd451c20a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdcbeeb23",
            "selector": "0xdcbeeb23",
            "calldata_variants": [
                "0xdcbeeb23",
                "0xdcbeeb230000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6c09edf",
            "selector": "0xe6c09edf",
            "calldata_variants": [
                "0xe6c09edf",
                "0xe6c09edf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc354c62f",
            "selector": "0xc354c62f",
            "calldata_variants": [
                "0xc354c62f",
                "0xc354c62f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc415b95c",
            "selector": "0xc415b95c",
            "calldata_variants": [
                "0xc415b95c",
                "0xc415b95c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2376,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4682,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5305,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 13,
    "guards_detected": [],
    "untrusted_call_count": 13
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xccee45d754874e01c709a5f7f953fbcb1fcd2e9a2e5fcb8e6a011c4ddab2bb5a
call_targets: 0xbdae358dc3b0389a5532d011a8b4098ffda11836
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xccee45d754874e01c709a5f7f953fbcb1fcd2e9a2e5fcb8e6a011c4ddab2bb5a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xbdae358dc3b0389a5532d011a8b4098ffda11836"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfbc9a662",
            "selector": "0xfbc9a662",
            "calldata_variants": [
                "0xfbc9a662",
                "0xfbc9a6620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xff8b1f8d",
            "selector": "0xff8b1f8d",
            "calldata_variants": [
                "0xff8b1f8d",
                "0xff8b1f8d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd451c20a",
            "selector": "0xd451c20a",
            "calldata_variants": [
                "0xd451c20a",
                "0xd451c20a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdcbeeb23",
            "selector": "0xdcbeeb23",
            "calldata_variants": [
                "0xdcbeeb23",
                "0xdcbeeb230000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6c09edf",
            "selector": "0xe6c09edf",
            "calldata_variants": [
                "0xe6c09edf",
                "0xe6c09edf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc354c62f",
            "selector": "0xc354c62f",
            "calldata_variants": [
                "0xc354c62f",
                "0xc354c62f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc415b95c",
            "selector": "0xc415b95c",
            "calldata_variants": [
                "0xc415b95c",
                "0xc415b95c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2376,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4682,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5305,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 13,
    "guards_detected": []
}
medium other codex Fee-on-transfer tokens break escrow accounting and can undercollateralize the bridge 75 no
view
evidence_json
{
    "evidence": "_handleFees computes amountToTransfer from the requested amount, and _transfer sends a packet for amountToTransfer without verifying actual tokens received.",
    "locations": [
        "contracts/contracts/main/tokenservice/TokenServiceV3.sol:186",
        "contracts/contracts/main/tokenservice/TokenServiceV3.sol:250",
        "contracts/contracts/main/tokenservice/TokenServiceV3.sol:258"
    ],
    "recommendation": "Explicitly disallow fee-on-transfer/deflationary tokens or compute the net received amount via balance\u2011before/balance\u2011after and use that for packet amounts and fee calculations.",
    "exploit_scenario": "If a supported token charges transfer fees, TokenServiceV3 sends a packet for amountToTransfer but receives fewer tokens than amountToTransfer. The attacker can repeatedly bridge such a token to receive the full amount on the destination chain while the source chain escrow accrues a deficit, eventually preventing withdrawals or draining pooled liquidity."
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}
low upgradeability codex Storage gap placed before new variables in TokenServiceV2 65 no
view
evidence_json
{
    "evidence": "TokenServiceV2 declares __gap before new state variables.",
    "locations": [
        "contracts/contracts/main/tokenservice/TokenServiceV2.sol:45",
        "contracts/contracts/main/tokenservice/TokenServiceV2.sol:47"
    ],
    "recommendation": "In the next upgrade, append a new storage gap after the current variables and leave the existing gap unused. Avoid inserting new variables before the current end-of-storage layout.",
    "exploit_scenario": "Future upgrades that attempt to use the storage gap for new variables may overwrite the existing TokenServiceV2 state (predicateservice/whitelist), corrupting storage and potentially breaking access control or transfer logic after an upgrade."
}
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": 9
}
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": 20
}