882ae0e9-fd6a-4ceb-881d-f1d42a224906
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 30762 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 75568 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 75569 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 75570 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 75571 | capability.graph | complete | 1 / 3 | 1 week ago |
| 75572 | detector.run | complete | 1 / 3 | 1 week ago |
| 75573 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:526551] OpenAI Codex v0.77.0 (research preview)
[codex:526551] --------
[codex:526551] workdir: /tmp/codex-multi-qfq_8lp1
[codex:526551] model: gpt-5.2-codex
[codex:526551] provider: openai
[codex:526551] approval: never
[codex:526551] sandbox: read-only
[codex:526551] reasoning effort: xhigh
[codex:526551] reasoning summaries: auto
[codex:526551] session id: 019b70fe-1e2d-76a0-8c29-480e6556d8ff
[codex:526551] --------
[codex:526551] user
[codex:526551] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:526551] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:526551] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:526551]
[codex:526551] Scope rules:
[codex:526551] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:526551] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:526551]
[codex:526551] Output MUST be valid JSON matching the provided schema.
[codex:526551] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:526551] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:526551]
[codex:526551] Output constraints (IMPORTANT):
[codex:526551] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:526551] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:526551] mcp startup: no servers
[codex:526551]
[codex:526551] thinking
[codex:526551] **Preparing to audit AUDIT_BUNDLE**
[codex:526551] exec
[codex:526551] /bin/bash -lc ls in /tmp/codex-multi-qfq_8lp1 succeeded in 5ms:
[codex:526551] AUDIT_BUNDLE.txt
[codex:526551] codex-output-schema.json
[codex:526551] contracts
[codex:526551] exec
[codex:526551] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-qfq_8lp1 succeeded in 5ms:
[codex:526551] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:526551]
[codex:526551] ================================================================================
[codex:526551] FILE: contracts/@openzeppelin/contracts/GSN/Context.sol
[codex:526551] ================================================================================
[codex:526551] // SPDX-License-Identifier: MIT
[codex:526551]
[codex:526551] pragma solidity ^0.6.0;
[codex:526551]
[codex:526551] /*
[codex:526551] * @dev Provides information about the current execution context, including the
[codex:526551] * sender of the transaction and its data. While these are generally available
[codex:526551] * via msg.sender and msg.data, they should not be accessed in such a direct
[codex:526551] * manner, since when dealing with GSN meta-transactions the account sending and
[codex:526551] * paying for execution may not be the actual sender (as far as an application
[codex:526551] * is concerned).
[codex:526551] *
[codex:526551] * This contract is only required for intermediate, library-like contracts.
[codex:526551] */
[codex:526551] abstract contract Context {
[codex:526551]
[codex:526551] thinking
[codex:526551] **Searching full AUDIT_BUNDLE file**
[codex:526551] exec
[codex:526551] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-qfq_8lp1 succeeded in 6ms:
[codex:526551] 4:FILE: contracts/@openzeppelin/contracts/GSN/Context.sol
[codex:526551] 32:FILE: contracts/@openzeppelin/contracts/math/SafeMath.sol
[codex:526551] 195:FILE: contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol
[codex:526551] 506:FILE: contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:526551] 587:FILE: contracts/@openzeppelin/contracts/token/ERC20/SafeERC20.sol
[codex:526551] 666:FILE: contracts/@openzeppelin/contracts/utils/Address.sol
[codex:526551] 811:FILE: contracts/@openzeppelin/contracts/utils/ReentrancyGuard.sol
[codex:526551] 877:FILE: contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/BytesLib.sol
[codex:526551] 1387:FILE: contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol
[codex:526551] 1704:FILE: contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/WrappedAsset.sol
[codex:526551]
[codex:526551] thinking
[codex:526551] **Planning thorough contract review**
[codex:526551] exec
[codex:526551] /bin/bash -lc "sed -n '180,360p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-qfq_8lp1 succeeded in 6ms:
[codex:526551] * Counterpart to Solidity's `%` operator. This function uses a `revert`
[codex:526551] * opcode (which leaves remaining gas untouched) while Solidity uses an
[codex:526551] * invalid opcode to revert (consuming all remaining gas).
[codex:526551] *
[codex:526551] * Requirements:
[codex:526551] *
[codex:526551] * - The divisor cannot be zero.
[codex:526551] */
[codex:526551] function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
[codex:526551] require(b != 0, errorMessage);
[codex:526551] return a % b;
[codex:526551] }
[codex:526551] }
[codex:526551]
[codex:526551] ================================================================================
[codex:526551] FILE: contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol
[codex:526551] ================================================================================
[codex:526551] // SPDX-License-Identifier: MIT
[codex:526551]
[codex:526551] pragma solidity ^0.6.0;
[codex:526551]
[codex:526551] thinking
[codex:526551] **Continuing to review AUDIT_BUNDLE thoroughly**
[codex:526551] exec
[codex:526551] /bin/bash -lc "sed -n '360,720p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-qfq_8lp1 succeeded in 5ms:
[codex:526551] *
[codex:526551] * Emits an {Approval} event indicating the updated allowance.
[codex:526551] *
[codex:526551] * Requirements:
[codex:526551] *
[codex:526551] * - `spender` cannot be the zero address.
[codex:526551] */
[codex:526551] function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
[codex:526551] _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
[codex:526551] return true;
[codex:526551] }
[codex:526551]
[codex:526551] /**
[codex:526551] * @dev Atomically decreases the allowance granted to `spender` by the caller.
[codex:526551] *
[codex:526551] * This is an alternative to {approve} that can be used as a mitigation for
[codex:526551] * problems described in {IERC20-approve}.
[codex:526551] *
[codex:526551] * Emits an {Approval} event indicating the updated allowance.
[codex:526551] *
[codex:526551]
[codex:526551] thinking
[codex:526551] **Continuing exploration**
[codex:526551] exec
[codex:526551] /bin/bash -lc "sed -n '720,1080p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-qfq_8lp1 succeeded in 5ms:
[codex:526551] function sendValue(address payable recipient, uint256 amount) internal {
[codex:526551] require(address(this).balance >= amount, "Address: insufficient balance");
[codex:526551]
[codex:526551] // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
[codex:526551] (bool success, ) = recipient.call{ value: amount }("");
[codex:526551] require(success, "Address: unable to send value, recipient may have reverted");
[codex:526551] }
[codex:526551]
[codex:526551] /**
[codex:526551] * @dev Performs a Solidity function call using a low level `call`. A
[codex:526551] * plain`call` is an unsafe replacement for a function call: use this
[codex:526551] * function instead.
[codex:526551] *
[codex:526551] * If `target` reverts with a revert reason, it is bubbled up by this
[codex:526551] * function (like regular Solidity function calls).
[codex:526551] *
[codex:526551] * Returns the raw returned data. To convert to the expected return value,
[codex:526551] * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
[codex:526551] *
[codex:526551] * Requirements:
[codex:526551]
[codex:526551] thinking
[codex:526551] **Continuing exploration**
[codex:526551] exec
[codex:526551] /bin/bash -lc "sed -n '1080,1440p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-qfq_8lp1 succeeded in 6ms:
[codex:526551] let slengthmod := mod(slength, 32)
[codex:526551] let mlengthmod := mod(mlength, 32)
[codex:526551] let submod := sub(32, slengthmod)
[codex:526551] let mc := add(_postBytes, submod)
[codex:526551] let end := add(_postBytes, mlength)
[codex:526551] let mask := sub(exp(0x100, submod), 1)
[codex:526551]
[codex:526551] sstore(sc, add(sload(sc), and(mload(mc), mask)))
[codex:526551]
[codex:526551] for {
[codex:526551] sc := add(sc, 1)
[codex:526551] mc := add(mc, 0x20)
[codex:526551] } lt(mc, end) {
[codex:526551] sc := add(sc, 1)
[codex:526551] mc := add(mc, 0x20)
[codex:526551] } {
[codex:526551] sstore(sc, mload(mc))
[codex:526551] }
[codex:526551]
[codex:526551] mask := exp(0x100, sub(mc, end))
[codex:526551]
[codex:526551] thinking
[codex:526551] **Continuing with Wormhole file**
[codex:526551] exec
[codex:526551] /bin/bash -lc "sed -n '1440,1800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-qfq_8lp1 succeeded in 5ms:
[codex:526551] struct ParsedVAA {
[codex:526551] uint8 version;
[codex:526551] bytes32 hash;
[codex:526551] uint32 guardian_set_index;
[codex:526551] uint32 timestamp;
[codex:526551] uint8 action;
[codex:526551] bytes payload;
[codex:526551] }
[codex:526551]
[codex:526551] // Mapping of guardian_set_index => guardian set
[codex:526551] mapping(uint32 => GuardianSet) public guardian_sets;
[codex:526551] // Current active guardian set
[codex:526551] uint32 public guardian_set_index;
[codex:526551]
[codex:526551] // Period for which a guardian set stays active after it has been replaced
[codex:526551] uint32 public guardian_set_expirity;
[codex:526551]
[codex:526551] // Mapping of already consumedVAAs
[codex:526551] mapping(bytes32 => bool) public consumedVAAs;
[codex:526551]
[codex:526551]
[codex:526551] thinking
[codex:526551] **Continuing review**
[codex:526551] exec
[codex:526551] /bin/bash -lc "sed -n '1800,2160p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-qfq_8lp1 succeeded in 5ms:
[codex:526551] /**
[codex:526551] * @dev Returns the symbol of the token, usually a shorter version of the
[codex:526551] * name.
[codex:526551] */
[codex:526551] function symbol() public view returns (string memory) {
[codex:526551] return _symbol;
[codex:526551] }
[codex:526551]
[codex:526551] /**
[codex:526551] * @dev Returns the number of decimals used to get its user representation.
[codex:526551] * For example, if `decimals` equals `2`, a balance of `505` tokens should
[codex:526551] * be displayed to a user as `5,05` (`505 / 10 ** 2`).
[codex:526551] *
[codex:526551] * Tokens usually opt for a value of 18, imitating the relationship between
[codex:526551] * Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is
[codex:526551] * called.
[codex:526551] *
[codex:526551] * NOTE: This information is only used for _display_ purposes: it in
[codex:526551] * no way affects any of the arithmetic of the contract, including
[codex:526551] * {IERC20-balanceOf} and {IERC20-transfer}.
[codex:526551]
[codex:526551]
[codex:526551]
[codex:526551]
[codex:526551] thinking
[codex:526551] **Evaluating security aspects in Wormhole contract**
[codex:526551]
[codex:526551] I'm carefully auditing the Wormhole contract focusing on vulnerabilities like reentrancy, access control, signature validation, and upgrade patterns; I’m analyzing key functions and internal logic to identify potential issues such as signature malleability, DoS from decimals underflow, unchecked create2 results, and quorum calculations, while considering how these interact with state and external calls.
[codex:526551] thinking
[codex:526551] **Detailing nuanced token and VAA handling risks**
[codex:526551]
[codex:526551] I’m dissecting subtler issues like rounding dust in ETH locking, token decimals causing possible overflow or revert, potential replay across guardian sets due to hash domain choices, token amount scaling inconsistencies on cross-chain transfers, and reentrancy protections around external token calls, while also confirming that expected invariant checks and nonReentrant guards mitigate many concerns.
[codex:526551] thinking
[codex:526551] **Examining guardian set logic and token handling checks**
[codex:526551]
[codex:526551] I’m analyzing how guardian set expiration, quorum verification, and asset wrapping interplay, including the handling of token decimals and edge cases like failed create2 deploying zero addresses, ensuring the contract’s logic safely manages signature indices, non-reentrancy, and token amount limits while considering subtle effects of token upgrades or deflationary tokens on bridging correctness.
[codex:526551] thinking
[codex:526551] **Detailing decimal edge cases and signature quorum calculations**
[codex:526551]
[codex:526551] I'm reviewing how decimal values beyond common ranges might cause arithmetic issues like overflow or underflow in token amount computations, alongside closely inspecting quorum thresholds and signature validation nuances, as well as calling out initialization and transfer behaviors that could influence the contract’s robustness during bridging operations.
[codex:526551] exec
[codex:526551] /bin/bash -lc 'rg -n "lockAssets" contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol' in /tmp/codex-multi-qfq_8lp1 succeeded in 7ms:
[codex:526551] 232: function lockAssets(
[codex:526551]
[codex:526551] thinking
[codex:526551] **Preparing to display lines with numbers**
[codex:526551] exec
[codex:526551] /bin/bash -lc "nl -ba contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol | sed -n '248,310p'" in /tmp/codex-multi-qfq_8lp1 succeeded in 6ms:
[codex:526551] 248 asset_chain = WrappedAsset(asset).assetChain();
[codex:526551] 249 asset_address = WrappedAsset(asset).assetAddress();
[codex:526551] 250 } else {
[codex:526551] 251 uint256 balanceBefore = IERC20(asset).balanceOf(address(this));
[codex:526551] 252 IERC20(asset).safeTransferFrom(msg.sender, address(this), amount);
[codex:526551] 253 uint256 balanceAfter = IERC20(asset).balanceOf(address(this));
[codex:526551] 254
[codex:526551] 255 // The amount that was transferred in is the delta between balance before and after the transfer.
[codex:526551] 256 // This is to properly handle tokens that charge a fee on transfer.
[codex:526551] 257 amount = balanceAfter.sub(balanceBefore);
[codex:526551] 258
[codex:526551] 259 // Decimal adjust amount - we keep the dust
[codex:526551] 260 if (decimals > 9) {
[codex:526551] 261 uint256 original_amount = amount;
[codex:526551] 262 amount = amount.div(10 ** uint256(decimals - 9));
[codex:526551] 263
[codex:526551] 264 if (refund_dust) {
[codex:526551] 265 IERC20(asset).safeTransfer(msg.sender, original_amount.mod(10 ** uint256(decimals - 9)));
[codex:526551] 266 }
[codex:526551] 267
[codex:526551]
[codex:526551]
[codex:526551]
[codex:526551] thinking
[codex:526551] **Analyzing contract for subtle vulnerabilities**
[codex:526551] thinking
[codex:526551] **Identifying token decimals underflow bug**
[codex:526551]
[codex:526551] I'll describe a math underflow bug in the `lockAssets` function that causes bridging tokens with decimals fewer than 9 to revert, leading to a denial-of-service that prevents locking such tokens. This issue arises because the code subtracts 9 from decimals without checking if decimals is less than 9, causing a large exponent that results in division by zero and transaction revert.
[codex:526551] thinking
[codex:526551] ```json
[codex:526551] {
[codex:526551] "no_findings": false,
[codex:526551] "summary": "Found 1 issue in Wormhole.lockAssets causing revert for tokens with less than 9 decimals due to underflow in balance cap calculation.",
[codex:526551] "findings": [
[codex:526551] {
[codex:526551] "severity": "medium",
[codex:526551] "category": "math",
[codex:526551] "title": "Underflow in balance cap check blocks tokens with less than 9 decimals",
[codex:526551] "exploit_scenario": "A user tries to lock a token with decimals less than 9 (e.g., USDC with 6 decimals). The calculation `ERC20(asset).decimals() - 9` underflows, making `10**(large uint)` evaluate incorrectly and causing a division by zero in SafeMath, which reverts the transaction. This prevents bridging such tokens and results in a denial-of-service.",
[codex:526551] "recommendation": "Guard against tokens with decimals less than 9 by adding explicit checks or adjusting the scaling logic. For example, use a conditional to set the divisor to 1 when decimals are less than 9, or reject such tokens with a clear error. Cache decimals in a variable and avoid underflow in exponentiation.",
[codex:526551] "evidence": "The problematic code occurs at `require(balanceAfter.div(10 ** uint256(ERC20(asset).decimals() - 9)) <= MAX_UINT64, \"bridge balance would exceed maximum\");` in the `lockAssets` function.",
[codex:526551] "locations": [
[codex:526551] "contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol:271"
[codex:526551] ]
[codex:526551] }
[codex:526551] ]
[codex:526551] }
[codex:526551] ```
[codex:526551] codex
[codex:526551] {"no_findings":false,"summary":"Found 1 issue in Wormhole.lockAssets where a decimals underflow causes the bridge to revert for assets with fewer than 9 decimals.","findings":[{"severity":"medium","category":"math","title":"Underflow in balance cap check blocks tokens with <9 decimals","exploit_scenario":"When a user calls lockAssets with a token that has fewer than 9 decimals (e.g., USDC with 6 decimals), the expression ERC20(asset).decimals() - 9 underflows. The resulting 10**(huge) overflows to 0, causing SafeMath.div to revert. This makes bridging such assets impossible (availability DoS) and transactions will always fail for those tokens.","recommendation":"Guard against decimals < 9. Cache decimals once, and compute a safe divisor with a conditional (e.g., if decimals <= 9 use 1 or explicitly reject) to avoid underflow and div-by-zero. Use SafeMath or explicit checks around exponentiation.","evidence":"`require(balanceAfter.div(10 ** uint256(ERC20(asset).decimals() - 9)) <= MAX_UINT64, \"bridge balance would exceed maximum\");` underflows when decimals < 9 and causes a division by zero revert.","locations":["contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol:271"]}]}
[codex:526551] tokens used
[codex:526551] 52,792
[codex:526551] {"no_findings":false,"summary":"Found 1 issue in Wormhole.lockAssets where a decimals underflow causes the bridge to revert for assets with fewer than 9 decimals.","findings":[{"severity":"medium","category":"math","title":"Underflow in balance cap check blocks tokens with <9 decimals","exploit_scenario":"When a user calls lockAssets with a token that has fewer than 9 decimals (e.g., USDC with 6 decimals), the expression ERC20(asset).decimals() - 9 underflows. The resulting 10**(huge) overflows to 0, causing SafeMath.div to revert. This makes bridging such assets impossible (availability DoS) and transactions will always fail for those tokens.","recommendation":"Guard against decimals < 9. Cache decimals once, and compute a safe divisor with a conditional (e.g., if decimals <= 9 use 1 or explicitly reject) to avoid underflow and div-by-zero. Use SafeMath or explicit checks around exponentiation.","evidence":"`require(balanceAfter.div(10 ** uint256(ERC20(asset).decimals() - 9)) <= MAX_UINT64, \"bridge balance would exceed maximum\");` underflows when decimals < 9 and causes a division by zero revert.","locations":["contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol:271"]}]}
{
"codex": {
"ran_at": "2025-12-30T20:49:36.831536+00:00",
"returncode": 0
},
"summary": "Found 1 issue in Wormhole.lockAssets where a decimals underflow causes the bridge to revert for assets with fewer than 9 decimals.",
"raw_final": {
"summary": "Found 1 issue in Wormhole.lockAssets where a decimals underflow causes the bridge to revert for assets with fewer than 9 decimals.",
"findings": [
{
"title": "Underflow in balance cap check blocks tokens with <9 decimals",
"category": "math",
"evidence": "`require(balanceAfter.div(10 ** uint256(ERC20(asset).decimals() - 9)) <= MAX_UINT64, \"bridge balance would exceed maximum\");` underflows when decimals < 9 and causes a division by zero revert.",
"severity": "medium",
"locations": [
"contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol:271"
],
"recommendation": "Guard against decimals < 9. Cache decimals once, and compute a safe divisor with a conditional (e.g., if decimals <= 9 use 1 or explicitly reject) to avoid underflow and div-by-zero. Use SafeMath or explicit checks around exponentiation.",
"exploit_scenario": "When a user calls lockAssets with a token that has fewer than 9 decimals (e.g., USDC with 6 decimals), the expression ERC20(asset).decimals() - 9 underflows. The resulting 10**(huge) overflows to 0, causing SafeMath.div to revert. This makes bridging such assets impossible (availability DoS) and transactions will always fail for those tokens."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x00ab 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x70713960 00000019: GT 0000001a: PUSH2 0x0064 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x70713960 00000024: EQ 00000025: PUSH2 0x01c3 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0x822d82b3 0000002f: EQ 00000030: PUSH2 0x01e3 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0x99da1d3c 0000003a: EQ 0000003b: PUSH2 0x01f8 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xa31fe409 00000045: EQ 00000046: PUSH2 0x021a 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xb6694c2a 00000050: EQ 00000051: PUSH2 0x023a 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf951975a 0000005b: EQ 0000005c: PUSH2 0x025a 0000005f: JUMPI 00000060: PUSH2 0x00d1 00000063: JUMP 00000064: JUMPDEST 00000065: DUP1 00000066: PUSH4 0x1a2be4da 0000006b: EQ 0000006c: PUSH2 0x00e9 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0x3bc0aee6 00000076: EQ 00000077: PUSH2 0x011f 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0x42b0aefa 00000081: EQ 00000082: PUSH2 0x0141 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0x4db47840 0000008c: EQ 0000008d: PUSH2 0x016e 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0x58d62e46 00000097: EQ 00000098: PUSH2 0x0183 0000009b: JUMPI 0000009c: DUP1 0000009d: PUSH4 0x600b9aa6 000000a2: EQ 000000a3: PUSH2 0x0196 000000a6: JUMPI 000000a7: PUSH2 0x00d1 000000aa: JUMP 000000ab: JUMPDEST 000000ac: CALLDATASIZE 000000ad: PUSH2 0x00d1 000000b0: JUMPI 000000b1: PUSH1 0x40 000000b3: MLOAD 000000b4: PUSH3 0x461bcd 000000b8: PUSH1 0xe5 000000ba: SHL 000000bb: DUP2 000000bc: MSTORE 000000bd: PUSH1 0x04 000000bf: ADD 000000c0: PUSH2 0x00c8 000000c3: SWAP1 000000c4: PUSH2 0x1fb0 000000c7: JUMP 000000c8: JUMPDEST 000000c9: PUSH1 0x40 000000cb: MLOAD 000000cc: DUP1 000000cd: SWAP2 000000ce: SUB 000000cf: SWAP1 000000d0: REVERT 000000d1: JUMPDEST 000000d2: PUSH1 0x40 000000d4: MLOAD 000000d5: PUSH3 0x461bcd 000000d9: PUSH1 0xe5 000000db: SHL 000000dc: DUP2 000000dd: MSTORE 000000de: PUSH1 0x04 000000e0: ADD 000000e1: PUSH2 0x00c8 000000e4: SWAP1 000000e5: PUSH2 0x1fb0 000000e8: JUMP 000000e9: JUMPDEST 000000ea: CALLVALUE 000000eb: DUP1 000000ec: ISZERO 000000ed: PUSH2 0x00f5 000000f0: JUMPI 000000f1: PUSH1 0x00 000000f3: DUP1 000000f4: REVERT 000000f5: JUMPDEST 000000f6: POP 000000f7: PUSH2 0x0109 000000fa: PUSH2 0x0104 000000fd: CALLDATASIZE 000000fe: PUSH1 0x04 00000100: PUSH2 0x1c59 00000103: JUMP 00000104: JUMPDEST 00000105: PUSH2 0x0287 00000108: JUMP 00000109: JUMPDEST 0000010a: PUSH1 0x40 0000010c: MLOAD 0000010d: PUSH2 0x0116 00000110: SWAP2 00000111: SWAP1 00000112: PUSH2 0x1ece 00000115: JUMP 00000116: JUMPDEST 00000117: PUSH1 0x40 00000119: MLOAD 0000011a: DUP1 0000011b: SWAP2 0000011c: SUB 0000011d: SWAP1 0000011e: RETURN 0000011f: JUMPDEST 00000120: CALLVALUE 00000121: DUP1 00000122: ISZERO 00000123: PUSH2 0x012b 00000126: JUMPI 00000127: PUSH1 0x00 00000129: DUP1 0000012a: REVERT 0000012b: JUMPDEST 0000012c: POP 0000012d: PUSH2 0x013f 00000130: PUSH2 0x013a 00000133: CALLDATASIZE 00000134: PUSH1 0x04 00000136: PUSH2 0x1d6b 00000139: JUMP 0000013a: JUMPDEST 0000013b: PUSH2 0x029c 0000013e: JUMP 0000013f: JUMPDEST 00000140: STOP 00000141: JUMPDEST 00000142: CALLVALUE 00000143: DUP1 00000144: ISZERO 00000145: PUSH2 0x014d 00000148: JUMPI 00000149: PUSH1 0x00 0000014b: DUP1 0000014c: REVERT 0000014d: JUMPDEST 0000014e: POP 0000014f: PUSH2 0x0161 00000152: PUSH2 0x015c 00000155: CALLDATASIZE 00000156: PUSH1 0x04 00000158: PUSH2 0x1dd8 0000015b: JUMP 0000015c: JUMPDEST 0000015d: PUSH2 0x0386 00000160: JUMP 00000161: JUMPDEST 00000162: PUSH1 0x40 00000164: MLOAD 00000165: PUSH2 0x0116 00000168: SWAP2 00000169: SWAP1 0000016a: PUSH2 0x24b1 0000016d: JUMP 0000016e: JUMPDEST 0000016f: CALLVALUE 00000170: DUP1 00000171: ISZERO 00000172: PUSH2 0x017a 00000175: JUMPI 00000176: PUSH1 0x00 00000178: DUP1 00000179: REVERT 0000017a: JUMPDEST 0000017b: POP 0000017c: PUSH2 0x0161 0000017f: PUSH2 0x03a1 00000182: JUMP 00000183: JUMPDEST 00000184: PUSH2 0x013f 00000187: PUSH2 0x0191 0000018a: CALLDATASIZE 0000018b: PUSH1 0x04 0000018d: PUSH2 0x1d2d 00000190: JUMP 00000191: JUMPDEST 00000192: PUSH2 0x03b5 00000195: JUMP 00000196: JUMPDEST 00000197: CALLVALUE 00000198: DUP1 00000199: ISZERO 0000019a: PUSH2 0x01a2 0000019d: JUMPI 0000019e: PUSH1 0x00 000001a0: DUP1 000001a1: REVERT 000001a2: JUMPDEST 000001a3: POP 000001a4: PUSH2 0x01b6 000001a7: PUSH2 0x01b1 000001aa: CALLDATASIZE 000001ab: PUSH1 0x04 000001ad: PUSH2 0x1d6b 000001b0: JUMP 000001b1: JUMPDEST 000001b2: PUSH2 0x0559 000001b5: JUMP 000001b6: JUMPDEST 000001b7: PUSH1 0x40 000001b9: MLOAD 000001ba: PUSH2 0x0116 000001bd: SWAP2 000001be: SWAP1 000001bf: PUSH2 0x2452 000001c2: JUMP 000001c3: JUMPDEST 000001c4: CALLVALUE 000001c5: DUP1 000001c6: ISZERO 000001c7: PUSH2 0x01cf 000001ca: JUMPI 000001cb: PUSH1 0x00 000001cd: DUP1 000001ce: REVERT 000001cf: JUMPDEST 000001d0: POP 000001d1: PUSH2 0x013f 000001d4: PUSH2 0x01de 000001d7: CALLDATASIZE 000001d8: PUSH1 0x04 000001da: PUSH2 0x1c74 000001dd: JUMP 000001de: JUMPDEST 000001df: PUSH2 0x0b43 000001e2: JUMP 000001e3: JUMPDEST 000001e4: CALLVALUE 000001e5: DUP1 000001e6: ISZERO 000001e7: PUSH2 0x01ef 000001ea: JUMPI 000001eb: PUSH1 0x00 000001ed: DUP1 000001ee: REVERT 000001ef: JUMPDEST 000001f0: POP 000001f1: PUSH2 0x0161 000001f4: PUSH2 0x1045 000001f7: JUMP 000001f8: JUMPDEST 000001f9: CALLVALUE 000001fa: DUP1 000001fb: ISZERO 000001fc: PUSH2 0x0204 000001ff: JUMPI 00000200: PUSH1 0x00 00000202: DUP1 00000203: REVERT 00000204: JUMPDEST 00000205: POP 00000206: PUSH2 0x020d 00000209: PUSH2 0x1051 0000020c: JUMP 0000020d: JUMPDEST 0000020e: PUSH1 0x40 00000210: MLOAD 00000211: PUSH2 0x0116 00000214: SWAP2 00000215: SWAP1 00000216: PUSH2 0x1e7d 00000219: JUMP 0000021a: JUMPDEST 0000021b: CALLVALUE 0000021c: DUP1 0000021d: ISZERO 0000021e: PUSH2 0x0226 00000221: JUMPI 00000222: PUSH1 0x00 00000224: DUP1 00000225: REVERT 00000226: JUMPDEST 00000227: POP 00000228: PUSH2 0x0109 0000022b: PUSH2 0x0235 0000022e: CALLDATASIZE 0000022f: PUSH1 0x04 00000231: PUSH2 0x1cfd 00000234: JUMP 00000235: JUMPDEST 00000236: PUSH2 0x1060 00000239: JUMP 0000023a: JUMPDEST 0000023b: CALLVALUE 0000023c: DUP1 0000023d: ISZERO 0000023e: PUSH2 0x0246 00000241: JUMPI 00000242: PUSH1 0x00 00000244: DUP1 00000245: REVERT 00000246: JUMPDEST 00000247: POP 00000248: PUSH2 0x020d 0000024b: PUSH2 0x0255 0000024e: CALLDATASIZE 0000024f: PUSH1 0x04 00000251: PUSH2 0x1cfd 00000254: JUMP 00000255: JUMPDEST 00000256: PUSH2 0x1075 00000259: JUMP 0000025a: JUMPDEST 0000025b: CALLVALUE 0000025c: DUP1 0000025d: ISZERO 0000025e: PUSH2 0x0266 00000261: JUMPI 00000262: PUSH1 0x00 00000264: DUP1 00000265: REVERT 00000266: JUMPDEST 00000267: POP 00000268: PUSH2 0x027a 0000026b: PUSH2 0x0275 0000026e: CALLDATASIZE 0000026f: PUSH1 0x04 00000271: PUSH2 0x1dd8 00000274: JUMP 00000275: JUMPDEST 00000276: PUSH2 0x1090 00000279: JUMP 0000027a: JUMPDEST 0000027b: PUSH1 0x40 0000027d: MLOAD 0000027e: PUSH2 0x0116 00000281: SWAP2 00000282: SWAP1 00000283: PUSH2 0x23e7 00000286: JUMP 00000287: JUMPDEST 00000288: PUSH1 0x06 0000028a: PUSH1 0x20 0000028c: MSTORE 0000028d: PUSH1 0x00 0000028f: SWAP1 00000290: DUP2 00000291: MSTORE 00000292: PUSH1 0x40 00000294: SWAP1 00000295: KECCAK256 00000296: SLOAD 00000297: PUSH1 0xff 00000299: AND 0000029a: DUP2 0000029b: JUMP 0000029c: JUMPDEST 0000029d: PUSH1 0x02 0000029f: PUSH1 0x00 000002a1: SLOAD 000002a2: EQ 000002a3: ISZERO 000002a4: PUSH2 0x02bf 000002a7: JUMPI 000002a8: PUSH1 0x40 000002aa: MLOAD 000002ab: PUSH3 0x461bcd 000002af: PUSH1 0xe5 000002b1: SHL 000002b2: DUP2 000002b3: MSTORE 000002b4: PUSH1 0x04 000002b6: ADD 000002b7: PUSH2 0x00c8 000002ba: SWAP1 000002bb: PUSH2 0x2382 000002be: JUMP 000002bf: JUMPDEST 000002c0: PUSH1 0x02 000002c2: PUSH1 0x00 000002c4: SSTORE 000002c5: PUSH2 0x02cc 000002c8: PUSH2 0x1b5b 000002cb: JUMP 000002cc: JUMPDEST 000002cd: PUSH2 0x02d6 000002d0: DUP4 000002d1: DUP4 000002d2: PUSH2 0x0559 000002d5: JUMP 000002d6: JUMPDEST 000002d7: SWAP1 000002d8: POP 000002d9: DUP1 000002da: PUSH1 0x80 000002dc: ADD 000002dd: MLOAD 000002de: PUSH1 0xff 000002e0: AND 000002e1: PUSH1 0x01 000002e3: EQ 000002e4: ISZERO 000002e5: PUSH2 0x0329 000002e8: JUMPI 000002e9: PUSH1 0x03 000002eb: SLOAD 000002ec: PUSH1 0x40 000002ee: DUP3 000002ef: ADD 000002f0: MLOAD 000002f1: PUSH4 0xffffffff 000002f6: SWAP1 000002f7: DUP2 000002f8: AND 000002f9: SWAP2 000002fa: AND 000002fb: EQ 000002fc: PUSH2 0x0317 000002ff: JUMPI 00000300: PUSH1 0x40 00000302: MLOAD 00000303: PUSH3 0x461bcd 00000307: PUSH1 0xe5 00000309: SHL 0000030a: DUP2 0000030b: MSTORE 0000030c: PUSH1 0x04 0000030e: ADD 0000030f: PUSH2 0x00c8 00000312: SWAP1 00000313: PUSH2 0x1ffc 00000316: JUMP 00000317: JUMPDEST 00000318: PUSH2 0x0324 0000031b: DUP2 0000031c: PUSH1 0xa0 0000031e: ADD 0000031f: MLOAD 00000320: PUSH2 0x1128 00000323: JUMP 00000324: JUMPDEST 00000325: PUSH2 0x035e 00000328: JUMP 00000329: JUMPDEST 0000032a: DUP1 0000032b: PUSH1 0x80 0000032d: ADD 0000032e: MLOAD 0000032f: PUSH1 0xff 00000331: AND 00000332: PUSH1 0x10 00000334: EQ 00000335: ISZERO 00000336: PUSH2 0x0346 00000339: JUMPI 0000033a: PUSH2 0x0324 0000033d: DUP2 0000033e: PUSH1 0xa0 00000340: ADD 00000341: MLOAD 00000342: PUSH2 0x1309 00000345: JUMP 00000346: JUMPDEST 00000347: PUSH1 0x40 00000349: MLOAD 0000034a: PUSH3 0x461bcd 0000034e: PUSH1 0xe5 00000350: SHL 00000351: DUP2 00000352: MSTORE 00000353: PUSH1 0x04 00000355: ADD 00000356: PUSH2 0x00c8 00000359: SWAP1 0000035a: PUSH2 0x1f4d 0000035d: JUMP 0000035e: JUMPDEST 0000035f: PUSH1 0x20 00000361: SWAP1 00000362: DUP2 00000363: ADD 00000364: MLOAD 00000365: PUSH1 0x00 00000367: SWAP1 00000368: DUP2 00000369: MSTORE 0000036a: PUSH1 0x04 0000036c: SWAP1 0000036d: SWAP2 0000036e: MSTORE 0000036f: PUSH1 0x40 00000371: DUP2 00000372: KECCAK256 00000373: DUP1 00000374: SLOAD 00000375: PUSH1 0xff 00000377: NOT 00000378: AND 00000379: PUSH1 0x01 0000037b: SWAP1 0000037c: DUP2 0000037d: OR 0000037e: SWAP1 0000037f: SWAP2 00000380: SSTORE 00000381: SWAP1 00000382: SSTORE 00000383: POP 00000384: POP 00000385: JUMP 00000386: JUMPDEST 00000387: PUSH1 0x02 00000389: PUSH1 0x20 0000038b: MSTORE 0000038c: PUSH1 0x00 0000038e: SWAP1 0000038f: DUP2 00000390: MSTORE 00000391: PUSH1 0x40 00000393: SWAP1 00000394: KECCAK256 00000395: PUSH1 0x01 00000397: ADD 00000398: SLOAD 00000399: PUSH4 0xffffffff 0000039e: AND 0000039f: DUP2 000003a0: JUMP 000003a1: JUMPDEST 000003a2: PUSH1 0x03 000003a4: SLOAD 000003a5: PUSH5 0x0100000000 000003ab: SWAP1 000003ac: DIV 000003ad: PUSH4 0xffffffff 000003b2: AND 000003b3: DUP2 000003b4: JUMP 000003b5: JUMPDEST 000003b6: PUSH1 0x02 000003b8: PUSH1 0x00 000003ba: SLOAD 000003bb: EQ 000003bc: ISZERO 000003bd: PUSH2 0x03d8 000003c0: JUMPI 000003c1: PUSH1 0x40 000003c3: MLOAD 000003c4: PUSH3 0x461bcd 000003c8: PUSH1 0xe5 000003ca: SHL 000003cb: DUP2 000003cc: MSTORE 000003cd: PUSH1 0x04 000003cf: ADD 000003d0: PUSH2 0x00c8 000003d3: SWAP1 000003d4: PUSH2 0x2382 000003d7: JUMP 000003d8: JUMPDEST 000003d9: PUSH1 0x02 000003db: PUSH1 0x00 000003dd: SSTORE 000003de: PUSH1 0x01 000003e0: SLOAD 000003e1: PUSH1 0xff 000003e3: DUP4 000003e4: DUP2 000003e5: AND 000003e6: PUSH1 0x01 000003e8: PUSH1 0xa0 000003ea: SHL 000003eb: SWAP1 000003ec: SWAP3 000003ed: DIV 000003ee: AND 000003ef: EQ 000003f0: ISZERO 000003f1: PUSH2 0x040c 000003f4: JUMPI 000003f5: PUSH1 0x40 000003f7: MLOAD 000003f8: PUSH3 0x461bcd 000003fc: PUSH1 0xe5 000003fe: SHL 000003ff: DUP2 00000400: MSTORE 00000401: PUSH1 0x04 00000403: ADD 00000404: PUSH2 0x00c8 00000407: SWAP1 00000408: PUSH2 0x20bc 0000040b: JUMP 0000040c: JUMPDEST 0000040d: PUSH1 0x00 0000040f: PUSH2 0x041c 00000412: CALLVALUE 00000413: PUSH4 0x3b9aca00 00000418: PUSH2 0x1565 0000041b: JUMP 0000041c: JUMPDEST 0000041d: SWAP1 0000041e: POP 0000041f: PUSH1 0x00 00000421: PUSH2 0x042e 00000424: CALLVALUE 00000425: PUSH4 0x3b9aca00 0000042a: PUSH2 0x15b0 0000042d: JUMP 0000042e: JUMPDEST 0000042f: SWAP1 00000430: POP 00000431: DUP1 00000432: PUSH2 0x044d 00000435: JUMPI 00000436: PUSH1 0x40 00000438: MLOAD 00000439: PUSH3 0x461bcd 0000043d: PUSH1 0xe5 0000043f: SHL 00000440: DUP2 00000441: MSTORE 00000442: PUSH1 0x04 00000444: ADD 00000445: PUSH2 0x00c8 00000448: SWAP1 00000449: PUSH2 0x216f 0000044c: JUMP 0000044d: JUMPDEST 0000044e: PUSH1 0x40 00000450: MLOAD 00000451: CALLER 00000452: SWAP1 00000453: DUP4 00000454: ISZERO 00000455: PUSH2 0x08fc 00000458: MUL 00000459: SWAP1 0000045a: DUP5 0000045b: SWAP1 0000045c: PUSH1 0x00 0000045e: DUP2 0000045f: DUP2 00000460: DUP2 00000461: DUP6 00000462: DUP9 00000463: DUP9 00000464: CALL 00000465: SWAP4 00000466: POP 00000467: POP 00000468: POP 00000469: POP 0000046a: ISZERO 0000046b: DUP1 0000046c: ISZERO 0000046d: PUSH2 0x047a 00000470: JUMPI 00000471: RETURNDATASIZE 00000472: PUSH1 0x00 00000474: DUP1 00000475: RETURNDATACOPY 00000476: RETURNDATASIZE 00000477: PUSH1 0x00 00000479: REVERT 0000047a: JUMPDEST 0000047b: POP 0000047c: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000491: PUSH1 0x01 00000493: PUSH1 0x01 00000495: PUSH1 0xa0 00000497: SHL 00000498: SUB 00000499: AND 0000049a: PUSH4 0xd0e30db0 0000049f: DUP4 000004a0: CALLVALUE 000004a1: SUB 000004a2: PUSH1 0x40 000004a4: MLOAD 000004a5: DUP3 000004a6: PUSH4 0xffffffff 000004ab: AND 000004ac: PUSH1 0xe0 000004ae: SHL 000004af: DUP2 000004b0: MSTORE 000004b1: PUSH1 0x04 000004b3: ADD 000004b4: PUSH1 0x00 000004b6: PUSH1 0x40 000004b8: MLOAD 000004b9: DUP1 000004ba: DUP4 000004bb: SUB 000004bc: DUP2 000004bd: DUP6 000004be: DUP9 000004bf: DUP1 000004c0: EXTCODESIZE 000004c1: ISZERO 000004c2: DUP1 000004c3: ISZERO 000004c4: PUSH2 0x04cc 000004c7: JUMPI 000004c8: PUSH1 0x00 000004ca: DUP1 000004cb: REVERT 000004cc: JUMPDEST 000004cd: POP 000004ce: GAS 000004cf: CALL 000004d0: ISZERO 000004d1: DUP1 000004d2: ISZERO 000004d3: PUSH2 0x04e0 000004d6: JUMPI 000004d7: RETURNDATASIZE 000004d8: PUSH1 0x00 000004da: DUP1 000004db: RETURNDATACOPY 000004dc: RETURNDATASIZE 000004dd: PUSH1 0x00 000004df: REVERT 000004e0: JUMPDEST 000004e1: POP 000004e2: POP 000004e3: PUSH1 0x01 000004e5: SLOAD 000004e6: PUSH1 0x40 000004e8: MLOAD 000004e9: CALLER 000004ea: SWAP5 000004eb: POP 000004ec: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000501: SWAP4 00000502: POP 00000503: PUSH32 0x6bbd554ad75919f71fd91bf917ca6e4f41c10f03ab25751596a22253bb39aab8 00000524: SWAP3 00000525: POP 00000526: PUSH2 0x0545 00000529: SWAP2 0000052a: DUP10 0000052b: SWAP2 0000052c: PUSH1 0x01 0000052e: PUSH1 0xa0 00000530: SHL 00000531: SWAP1 00000532: SWAP2 00000533: DIV 00000534: PUSH1 0xff 00000536: AND 00000537: SWAP1 00000538: PUSH1 0x09 0000053a: SWAP1 0000053b: DUP13 0000053c: SWAP1 0000053d: DUP10 0000053e: SWAP1 0000053f: DUP13 00000540: SWAP1 00000541: PUSH2 0x24f6 00000544: JUMP 00000545: JUMPDEST 00000546: PUSH1 0x40 00000548: MLOAD 00000549: DUP1 0000054a: SWAP2 0000054b: SUB 0000054c: SWAP1 0000054d: LOG3 0000054e: POP 0000054f: POP 00000550: PUSH1 0x01 00000552: PUSH1 0x00 00000554: SSTORE 00000555: POP 00000556: POP 00000557: POP 00000558: JUMP 00000559: JUMPDEST 0000055a: PUSH2 0x0561 0000055d: PUSH2 0x1b5b 00000560: JUMP 00000561: JUMPDEST 00000562: PUSH2 0x05a5 00000565: PUSH1 0x00 00000567: DUP5 00000568: DUP5 00000569: DUP1 0000056a: DUP1 0000056b: PUSH1 0x1f 0000056d: ADD 0000056e: PUSH1 0x20 00000570: DUP1 00000571: SWAP2 00000572: DIV 00000573: MUL 00000574: PUSH1 0x20 00000576: ADD 00000577: PUSH1 0x40 00000579: MLOAD 0000057a: SWAP1 0000057b: DUP2 0000057c: ADD 0000057d: PUSH1 0x40 0000057f: MSTORE 00000580: DUP1 00000581: SWAP4 00000582: SWAP3 00000583: SWAP2 00000584: SWAP1 00000585: DUP2 00000586: DUP2 00000587: MSTORE 00000588: PUSH1 0x20 0000058a: ADD 0000058b: DUP4 0000058c: DUP4 0000058d: DUP1 0000058e: DUP3 0000058f: DUP5 00000590: CALLDATACOPY 00000591: PUSH1 0x00 00000593: SWAP3 00000594: ADD 00000595: SWAP2 00000596: SWAP1 00000597: SWAP2 00000598: MSTORE 00000599: POP 0000059a: SWAP3 0000059b: SWAP4 0000059c: SWAP3 0000059d: POP 0000059e: POP 0000059f: PUSH2 0x15f2 000005a2: SWAP1 000005a3: POP 000005a4: JUMP 000005a5: JUMPDEST 000005a6: PUSH1 0xff 000005a8: AND 000005a9: DUP1 000005aa: DUP3 000005ab: MSTORE 000005ac: PUSH1 0x01 000005ae: EQ 000005af: PUSH2 0x05ca 000005b2: JUMPI 000005b3: PUSH1 0x40 000005b5: MLOAD 000005b6: PUSH3 0x461bcd 000005ba: PUSH1 0xe5 000005bc: SHL 000005bd: DUP2 000005be: MSTORE 000005bf: PUSH1 0x04 000005c1: ADD 000005c2: PUSH2 0x00c8 000005c5: SWAP1 000005c6: PUSH2 0x2085 000005c9: JUMP 000005ca: JUMPDEST 000005cb: PUSH2 0x060e 000005ce: PUSH1 0x01 000005d0: DUP5 000005d1: DUP5 000005d2: DUP1 000005d3: DUP1 000005d4: PUSH1 0x1f 000005d6: ADD 000005d7: PUSH1 0x20 000005d9: DUP1 000005da: SWAP2 000005db: DIV 000005dc: MUL 000005dd: PUSH1 0x20 000005df: ADD 000005e0: PUSH1 0x40 000005e2: MLOAD 000005e3: SWAP1 000005e4: DUP2 000005e5: ADD 000005e6: PUSH1 0x40 000005e8: MSTORE 000005e9: DUP1 000005ea: SWAP4 000005eb: SWAP3 000005ec: SWAP2 000005ed: SWAP1 000005ee: DUP2 000005ef: DUP2 000005f0: MSTORE 000005f1: PUSH1 0x20 000005f3: ADD 000005f4: DUP4 000005f5: DUP4 000005f6: DUP1 000005f7: DUP3 000005f8: DUP5 000005f9: CALLDATACOPY 000005fa: PUSH1 0x00 000005fc: SWAP3 000005fd: ADD 000005fe: SWAP2 000005ff: SWAP1 00000600: SWAP2 00000601: MSTORE 00000602: POP 00000603: SWAP3 00000604: SWAP4 00000605: SWAP3 00000606: POP 00000607: POP 00000608: PUSH2 0x1621 0000060b: SWAP1 0000060c: POP 0000060d: JUMP 0000060e: JUMPDEST 0000060f: PUSH4 0xffffffff 00000614: AND 00000615: PUSH1 0x40 00000617: DUP1 00000618: DUP4 00000619: ADD 0000061a: SWAP2 0000061b: SWAP1 0000061c: SWAP2 0000061d: MSTORE 0000061e: DUP1 0000061f: MLOAD 00000620: PUSH1 0x20 00000622: PUSH1 0x1f 00000624: DUP6 00000625: ADD 00000626: DUP2 00000627: SWAP1 00000628: DIV 00000629: DUP2 0000062a: MUL 0000062b: DUP3 0000062c: ADD 0000062d: DUP2 0000062e: ADD 0000062f: SWAP1 00000630: SWAP3 00000631: MSTORE 00000632: DUP4 00000633: DUP2 00000634: MSTORE 00000635: PUSH1 0x00 00000637: SWAP2 00000638: PUSH2 0x0661 0000063b: SWAP2 0000063c: PUSH1 0x05 0000063e: SWAP2 0000063f: DUP8 00000640: SWAP1 00000641: DUP8 00000642: SWAP1 00000643: DUP2 00000644: SWAP1 00000645: DUP5 00000646: ADD 00000647: DUP4 00000648: DUP3 00000649: DUP1 0000064a: DUP3 0000064b: DUP5 0000064c: CALLDATACOPY 0000064d: PUSH1 0x00 0000064f: SWAP3 00000650: ADD 00000651: SWAP2 00000652: SWAP1 00000653: SWAP2 00000654: MSTORE 00000655: POP 00000656: SWAP3 00000657: SWAP4 00000658: SWAP3 00000659: POP 0000065a: POP 0000065b: PUSH2 0x15f2 0000065e: SWAP1 0000065f: POP 00000660: JUMP 00000661: JUMPDEST 00000662: PUSH1 0xff 00000664: AND 00000665: SWAP1 00000666: POP 00000667: PUSH1 0x00 00000669: DUP2 0000066a: PUSH1 0x42 0000066c: MUL 0000066d: PUSH1 0x06 0000066f: ADD 00000670: SWAP1 00000671: POP 00000672: PUSH2 0x06b4 00000675: DUP2 00000676: DUP7 00000677: DUP7 00000678: DUP1 00000679: DUP1 0000067a: PUSH1 0x1f 0000067c: ADD 0000067d: PUSH1 0x20 0000067f: DUP1 00000680: SWAP2 00000681: DIV 00000682: MUL 00000683: PUSH1 0x20 00000685: ADD 00000686: PUSH1 0x40 00000688: MLOAD 00000689: SWAP1 0000068a: DUP2 0000068b: ADD 0000068c: PUSH1 0x40 0000068e: MSTORE 0000068f: DUP1 00000690: SWAP4 00000691: SWAP3 00000692: SWAP2 00000693: SWAP1 00000694: DUP2 00000695: DUP2 00000696: MSTORE 00000697: PUSH1 0x20 00000699: ADD 0000069a: DUP4 0000069b: DUP4 0000069c: DUP1 0000069d: DUP3 0000069e: DUP5 0000069f: CALLDATACOPY 000006a0: PUSH1 0x00 000006a2: SWAP3 000006a3: ADD 000006a4: SWAP2 000006a5: SWAP1 000006a6: SWAP2 000006a7: MSTORE 000006a8: POP 000006a9: SWAP3 000006aa: SWAP4 000006ab: SWAP3 000006ac: POP 000006ad: POP 000006ae: PUSH2 0x1621 000006b1: SWAP1 000006b2: POP 000006b3: JUMP 000006b4: JUMPDEST 000006b5: PUSH4 0xffffffff 000006ba: AND 000006bb: PUSH1 0x60 000006bd: DUP5 000006be: ADD 000006bf: MSTORE 000006c0: PUSH1 0x40 000006c2: DUP1 000006c3: MLOAD 000006c4: PUSH1 0x20 000006c6: PUSH1 0x1f 000006c8: DUP8 000006c9: ADD 000006ca: DUP2 000006cb: SWAP1 000006cc: DIV 000006cd: DUP2 000006ce: MUL 000006cf: DUP3 000006d0: ADD 000006d1: DUP2 000006d2: ADD 000006d3: SWAP1 000006d4: SWAP3 000006d5: MSTORE 000006d6: DUP6 000006d7: DUP2 000006d8: MSTORE 000006d9: PUSH2 0x0706 000006dc: SWAP2 000006dd: DUP4 000006de: SWAP2 000006df: DUP3 000006e0: DUP9 000006e1: SUB 000006e2: SWAP2 000006e3: DUP10 000006e4: SWAP1 000006e5: DUP10 000006e6: SWAP1 000006e7: DUP2 000006e8: SWAP1 000006e9: DUP5 000006ea: ADD 000006eb: DUP4 000006ec: DUP3 000006ed: DUP1 000006ee: DUP3 000006ef: DUP5 000006f0: CALLDATACOPY 000006f1: PUSH1 0x00 000006f3: SWAP3 000006f4: ADD 000006f5: SWAP2 000006f6: SWAP1 000006f7: SWAP2 000006f8: MSTORE 000006f9: POP 000006fa: SWAP3 000006fb: SWAP5 000006fc: SWAP4 000006fd: SWAP3 000006fe: POP 000006ff: POP 00000700: PUSH2 0x1650 00000703: SWAP1 00000704: POP 00000705: JUMP 00000706: JUMPDEST 00000707: DUP1 00000708: MLOAD 00000709: PUSH1 0x20 0000070b: SWAP2 0000070c: DUP3 0000070d: ADD 0000070e: KECCAK256 0000070f: DUP5 00000710: DUP3 00000711: ADD 00000712: DUP2 00000713: SWAP1 00000714: MSTORE 00000715: PUSH1 0x00 00000717: SWAP1 00000718: DUP2 00000719: MSTORE 0000071a: PUSH1 0x04 0000071c: SWAP1 0000071d: SWAP2 0000071e: MSTORE 0000071f: PUSH1 0x40 00000721: SWAP1 00000722: KECCAK256 00000723: SLOAD 00000724: PUSH1 0xff 00000726: AND 00000727: ISZERO 00000728: PUSH2 0x0743 0000072b: JUMPI 0000072c: PUSH1 0x40 0000072e: MLOAD 0000072f: PUSH3 0x461bcd 00000733: PUSH1 0xe5 00000735: SHL 00000736: DUP2 00000737: MSTORE 00000738: PUSH1 0x04 0000073a: ADD 0000073b: PUSH2 0x00c8 0000073e: SWAP1 0000073f: PUSH2 0x1f79 00000742: JUMP 00000743: JUMPDEST 00000744: PUSH2 0x074b 00000747: PUSH2 0x1b92 0000074a: JUMP 0000074b: JUMPDEST 0000074c: PUSH1 0x40 0000074e: DUP1 0000074f: DUP6 00000750: ADD 00000751: MLOAD 00000752: PUSH4 0xffffffff 00000757: AND 00000758: PUSH1 0x00 0000075a: SWAP1 0000075b: DUP2 0000075c: MSTORE 0000075d: PUSH1 0x02 0000075f: PUSH1 0x20 00000761: SWAP1 00000762: DUP2 00000763: MSTORE 00000764: SWAP1 00000765: DUP3 00000766: SWAP1 00000767: KECCAK256 00000768: DUP3 00000769: MLOAD 0000076a: DUP2 0000076b: SLOAD 0000076c: PUSH1 0x60 0000076e: SWAP4 0000076f: DUP2 00000770: MUL 00000771: DUP3 00000772: ADD 00000773: DUP5 00000774: ADD 00000775: DUP6 00000776: MSTORE 00000777: SWAP4 00000778: DUP2 00000779: ADD 0000077a: DUP5 0000077b: DUP2 0000077c: MSTORE 0000077d: SWAP1 0000077e: SWAP4 0000077f: SWAP2 00000780: SWAP3 00000781: DUP5 00000782: SWAP3 00000783: DUP5 00000784: SWAP2 00000785: DUP5 00000786: ADD 00000787: DUP3 00000788: DUP3 00000789: DUP1 0000078a: ISZERO 0000078b: PUSH2 0x07bd 0000078e: JUMPI 0000078f: PUSH1 0x20 00000791: MUL 00000792: DUP3 00000793: ADD 00000794: SWAP2 00000795: SWAP1 00000796: PUSH1 0x00 00000798: MSTORE 00000799: PUSH1 0x20 0000079b: PUSH1 0x00 0000079d: KECCAK256 0000079e: SWAP1 0000079f: JUMPDEST 000007a0: DUP2 000007a1: SLOAD 000007a2: PUSH1 0x01 000007a4: PUSH1 0x01 000007a6: PUSH1 0xa0 000007a8: SHL 000007a9: SUB 000007aa: AND 000007ab: DUP2 000007ac: MSTORE 000007ad: PUSH1 0x01 000007af: SWAP1 000007b0: SWAP2 000007b1: ADD 000007b2: SWAP1 000007b3: PUSH1 0x20 000007b5: ADD 000007b6: DUP1 000007b7: DUP4 000007b8: GT 000007b9: PUSH2 0x079f 000007bc: JUMPI 000007bd: JUMPDEST 000007be: POP 000007bf: POP 000007c0: POP 000007c1: SWAP2 000007c2: DUP4 000007c3: MSTORE 000007c4: POP 000007c5: POP 000007c6: PUSH1 0x01 000007c8: SWAP2 000007c9: SWAP1 000007ca: SWAP2 000007cb: ADD 000007cc: SLOAD 000007cd: PUSH4 0xffffffff 000007d2: AND 000007d3: PUSH1 0x20 000007d5: SWAP1 000007d6: SWAP2 000007d7: ADD 000007d8: MSTORE 000007d9: DUP1 000007da: MLOAD 000007db: MLOAD 000007dc: SWAP1 000007dd: SWAP2 000007de: POP 000007df: PUSH2 0x07fa 000007e2: JUMPI 000007e3: PUSH1 0x40 000007e5: MLOAD 000007e6: PUSH3 0x461bcd 000007ea: PUSH1 0xe5 000007ec: SHL 000007ed: DUP2 000007ee: MSTORE 000007ef: PUSH1 0x04 000007f1: ADD 000007f2: PUSH2 0x00c8 000007f5: SWAP1 000007f6: PUSH2 0x23b9 000007f9: JUMP 000007fa: JUMPDEST 000007fb: PUSH1 0x20 000007fd: DUP2 000007fe: ADD 000007ff: MLOAD 00000800: PUSH4 0xffffffff 00000805: AND 00000806: ISZERO 00000807: DUP1 00000808: PUSH2 0x081a 0000080b: JUMPI 0000080c: POP 0000080d: TIMESTAMP 0000080e: DUP2 0000080f: PUSH1 0x20 00000811: ADD 00000812: MLOAD 00000813: PUSH4 0xffffffff 00000818: AND 00000819: GT 0000081a: JUMPDEST 0000081b: PUSH2 0x0836 0000081e: JUMPI 0000081f: PUSH1 0x40 00000821: MLOAD 00000822: PUSH3 0x461bcd 00000826: PUSH1 0xe5 00000828: SHL 00000829: DUP2 0000082a: MSTORE 0000082b: PUSH1 0x04 0000082d: ADD 0000082e: PUSH2 0x00c8 00000831: SWAP1 00000832: PUSH2 0x2241 00000835: JUMP 00000836: JUMPDEST 00000837: DUP3 00000838: PUSH1 0x0a 0000083a: PUSH1 0x03 0000083c: DUP4 0000083d: PUSH1 0x00 0000083f: ADD 00000840: MLOAD 00000841: MLOAD 00000842: PUSH1 0x0a 00000844: MUL 00000845: DUP2 00000846: PUSH2 0x084b 00000849: JUMPI 0000084a: INVALID 0000084b: JUMPDEST 0000084c: DIV 0000084d: PUSH1 0x02 0000084f: MUL 00000850: DUP2 00000851: PUSH2 0x0856 00000854: JUMPI 00000855: INVALID 00000856: JUMPDEST 00000857: DIV 00000858: PUSH1 0x01 0000085a: ADD 0000085b: GT 0000085c: ISZERO 0000085d: PUSH2 0x0878 00000860: JUMPI 00000861: PUSH1 0x40 00000863: MLOAD 00000864: PUSH3 0x461bcd 00000868: PUSH1 0xe5 0000086a: SHL 0000086b: DUP2 0000086c: MSTORE 0000086d: PUSH1 0x04 0000086f: ADD 00000870: PUSH2 0x00c8 00000873: SWAP1 00000874: PUSH2 0x21e7 00000877: JUMP 00000878: JUMPDEST 00000879: PUSH1 0x00 0000087b: NOT 0000087c: PUSH1 0x00 0000087e: JUMPDEST 0000087f: DUP5 00000880: DUP2 00000881: LT 00000882: ISZERO 00000883: PUSH2 0x0a96 00000886: JUMPI 00000887: PUSH1 0x00 00000889: PUSH2 0x08d1 0000088c: DUP3 0000088d: PUSH1 0x42 0000088f: MUL 00000890: PUSH1 0x06 00000892: ADD 00000893: DUP11 00000894: DUP11 00000895: DUP1 00000896: DUP1 00000897: PUSH1 0x1f 00000899: ADD 0000089a: PUSH1 0x20 0000089c: DUP1 0000089d: SWAP2 0000089e: DIV 0000089f: MUL 000008a0: PUSH1 0x20 000008a2: ADD 000008a3: PUSH1 0x40 000008a5: MLOAD 000008a6: SWAP1 000008a7: DUP2 000008a8: ADD 000008a9: PUSH1 0x40 000008ab: MSTORE 000008ac: DUP1 000008ad: SWAP4 000008ae: SWAP3 000008af: SWAP2 000008b0: SWAP1 000008b1: DUP2 000008b2: DUP2 000008b3: MSTORE 000008b4: PUSH1 0x20 000008b6: ADD 000008b7: DUP4 000008b8: DUP4 000008b9: DUP1 000008ba: DUP3 000008bb: DUP5 000008bc: CALLDATACOPY 000008bd: PUSH1 0x00 000008bf: SWAP3 000008c0: ADD 000008c1: SWAP2 000008c2: SWAP1 000008c3: SWAP2 000008c4: MSTORE 000008c5: POP 000008c6: SWAP3 000008c7: SWAP4 000008c8: SWAP3 000008c9: POP 000008ca: POP 000008cb: PUSH2 0x15f2 000008ce: SWAP1 000008cf: POP 000008d0: JUMP 000008d1: JUMPDEST 000008d2: SWAP1 000008d3: POP 000008d4: DUP3 000008d5: PUSH1 0x01 000008d7: SIGNEXTEND 000008d8: DUP2 000008d9: PUSH1 0xff 000008db: AND 000008dc: SGT 000008dd: PUSH2 0x08f8 000008e0: JUMPI 000008e1: PUSH1 0x40 000008e3: MLOAD 000008e4: PUSH3 0x461bcd 000008e8: PUSH1 0xe5 000008ea: SHL 000008eb: DUP2 000008ec: MSTORE 000008ed: PUSH1 0x04 000008ef: ADD 000008f0: PUSH2 0x00c8 000008f3: SWAP1 000008f4: PUSH2 0x22af 000008f7: JUMP 000008f8: JUMPDEST 000008f9: DUP1 000008fa: PUSH1 0xff 000008fc: AND 000008fd: SWAP3 000008fe: POP 000008ff: PUSH1 0x00 00000901: PUSH2 0x0949 00000904: DUP4 00000905: PUSH1 0x42 00000907: MUL 00000908: PUSH1 0x07 0000090a: ADD 0000090b: DUP12 0000090c: DUP12 0000090d: DUP1 0000090e: DUP1 0000090f: PUSH1 0x1f 00000911: ADD 00000912: PUSH1 0x20 00000914: DUP1 00000915: SWAP2 00000916: DIV 00000917: MUL 00000918: PUSH1 0x20 0000091a: ADD 0000091b: PUSH1 0x40 0000091d: MLOAD 0000091e: SWAP1 0000091f: DUP2 00000920: ADD 00000921: PUSH1 0x40 00000923: MSTORE 00000924: DUP1 00000925: SWAP4 00000926: SWAP3 00000927: SWAP2 00000928: SWAP1 00000929: DUP2 0000092a: DUP2 0000092b: MSTORE 0000092c: PUSH1 0x20 0000092e: ADD 0000092f: DUP4 00000930: DUP4 00000931: DUP1 00000932: DUP3 00000933: DUP5 00000934: CALLDATACOPY 00000935: PUSH1 0x00 00000937: SWAP3 00000938: ADD 00000939: SWAP2 0000093a: SWAP1 0000093b: SWAP2 0000093c: MSTORE 0000093d: POP 0000093e: SWAP3 0000093f: SWAP4 00000940: SWAP3 00000941: POP 00000942: POP 00000943: PUSH2 0x16e3 00000946: SWAP1 00000947: POP 00000948: JUMP 00000949: JUMPDEST 0000094a: SWAP1 0000094b: POP 0000094c: PUSH1 0x00 0000094e: PUSH2 0x0996 00000951: DUP5 00000952: PUSH1 0x42 00000954: MUL 00000955: PUSH1 0x27 00000957: ADD 00000958: DUP13 00000959: DUP13 0000095a: DUP1 0000095b: DUP1 0000095c: PUSH1 0x1f 0000095e: ADD 0000095f: PUSH1 0x20 00000961: DUP1 00000962: SWAP2 00000963: DIV 00000964: MUL 00000965: PUSH1 0x20 00000967: ADD 00000968: PUSH1 0x40 0000096a: MLOAD 0000096b: SWAP1 0000096c: DUP2 0000096d: ADD 0000096e: PUSH1 0x40 00000970: MSTORE 00000971: DUP1 00000972: SWAP4 00000973: SWAP3 00000974: SWAP2 00000975: SWAP1 00000976: DUP2 00000977: DUP2 00000978: MSTORE 00000979: PUSH1 0x20 0000097b: ADD 0000097c: DUP4 0000097d: DUP4 0000097e: DUP1 0000097f: DUP3 00000980: DUP5 00000981: CALLDATACOPY 00000982: PUSH1 0x00 00000984: SWAP3 00000985: ADD 00000986: SWAP2 00000987: SWAP1 00000988: SWAP2 00000989: MSTORE 0000098a: POP 0000098b: SWAP3 0000098c: SWAP4 0000098d: SWAP3 0000098e: POP 0000098f: POP 00000990: PUSH2 0x16e3 00000993: SWAP1 00000994: POP 00000995: JUMP 00000996: JUMPDEST 00000997: SWAP1 00000998: POP 00000999: PUSH1 0x00 0000099b: PUSH2 0x09e3 0000099e: DUP6 0000099f: PUSH1 0x42 000009a1: MUL 000009a2: PUSH1 0x47 000009a4: ADD 000009a5: DUP14 000009a6: DUP14 000009a7: DUP1 000009a8: DUP1 000009a9: PUSH1 0x1f 000009ab: ADD 000009ac: PUSH1 0x20 000009ae: DUP1 000009af: SWAP2 000009b0: DIV 000009b1: MUL 000009b2: PUSH1 0x20 000009b4: ADD 000009b5: PUSH1 0x40 000009b7: MLOAD 000009b8: SWAP1 000009b9: DUP2 000009ba: ADD 000009bb: PUSH1 0x40 000009bd: MSTORE 000009be: DUP1 000009bf: SWAP4 000009c0: SWAP3 000009c1: SWAP2 000009c2: SWAP1 000009c3: DUP2 000009c4: DUP2 000009c5: MSTORE 000009c6: PUSH1 0x20 000009c8: ADD 000009c9: DUP4 000009ca: DUP4 000009cb: DUP1 000009cc: DUP3 000009cd: DUP5 000009ce: CALLDATACOPY 000009cf: PUSH1 0x00 000009d1: SWAP3 000009d2: ADD 000009d3: SWAP2 000009d4: SWAP1 000009d5: SWAP2 000009d6: MSTORE 000009d7: POP 000009d8: SWAP3 000009d9: SWAP4 000009da: SWAP3 000009db: POP 000009dc: POP 000009dd: PUSH2 0x15f2 000009e0: SWAP1 000009e1: POP 000009e2: JUMP 000009e3: JUMPDEST 000009e4: DUP8 000009e5: MLOAD 000009e6: DUP1 000009e7: MLOAD 000009e8: PUSH1 0x1b 000009ea: SWAP1 000009eb: SWAP3 000009ec: ADD 000009ed: SWAP3 000009ee: POP 000009ef: SWAP1 000009f0: PUSH1 0xff 000009f2: DUP7 000009f3: AND 000009f4: SWAP1 000009f5: DUP2 000009f6: LT 000009f7: PUSH2 0x09fc 000009fa: JUMPI 000009fb: INVALID 000009fc: JUMPDEST 000009fd: PUSH1 0x20 000009ff: MUL 00000a00: PUSH1 0x20 00000a02: ADD 00000a03: ADD 00000a04: MLOAD 00000a05: PUSH1 0x01 00000a07: PUSH1 0x01 00000a09: PUSH1 0xa0 00000a0b: SHL 00000a0c: SUB 00000a0d: AND 00000a0e: PUSH1 0x01 00000a10: DUP12 00000a11: PUSH1 0x20 00000a13: ADD 00000a14: MLOAD 00000a15: DUP4 00000a16: DUP7 00000a17: DUP7 00000a18: PUSH1 0x40 00000a1a: MLOAD 00000a1b: PUSH1 0x00 00000a1d: DUP2 00000a1e: MSTORE 00000a1f: PUSH1 0x20 00000a21: ADD 00000a22: PUSH1 0x40 00000a24: MSTORE 00000a25: PUSH1 0x40 00000a27: MLOAD 00000a28: PUSH2 0x0a34 00000a2b: SWAP5 00000a2c: SWAP4 00000a2d: SWAP3 00000a2e: SWAP2 00000a2f: SWAP1 00000a30: PUSH2 0x1ed9 00000a33: JUMP 00000a34: JUMPDEST 00000a35: PUSH1 0x20 00000a37: PUSH1 0x40 00000a39: MLOAD 00000a3a: PUSH1 0x20 00000a3c: DUP2 00000a3d: SUB 00000a3e: SWAP1 00000a3f: DUP1 00000a40: DUP5 00000a41: SUB 00000a42: SWAP1 00000a43: DUP6 00000a44: GAS 00000a45: STATICCALL 00000a46: ISZERO 00000a47: DUP1 00000a48: ISZERO 00000a49: PUSH2 0x0a56 00000a4c: JUMPI 00000a4d: RETURNDATASIZE 00000a4e: PUSH1 0x00 00000a50: DUP1 00000a51: RETURNDATACOPY 00000a52: RETURNDATASIZE 00000a53: PUSH1 0x00 00000a55: REVERT 00000a56: JUMPDEST 00000a57: POP 00000a58: POP 00000a59: POP 00000a5a: PUSH1 0x20 00000a5c: PUSH1 0x40 00000a5e: MLOAD 00000a5f: SUB 00000a60: MLOAD 00000a61: PUSH1 0x01 00000a63: PUSH1 0x01 00000a65: PUSH1 0xa0 00000a67: SHL 00000a68: SUB 00000a69: AND 00000a6a: EQ 00000a6b: PUSH2 0x0a86 00000a6e: JUMPI 00000a6f: PUSH1 0x40 00000a71: MLOAD 00000a72: PUSH3 0x461bcd 00000a76: PUSH1 0xe5 00000a78: SHL 00000a79: DUP2 00000a7a: MSTORE 00000a7b: PUSH1 0x04 00000a7d: ADD 00000a7e: PUSH2 0x00c8 00000a81: SWAP1 00000a82: PUSH2 0x20ff 00000a85: JUMP 00000a86: JUMPDEST 00000a87: POP 00000a88: POP 00000a89: PUSH1 0x01 00000a8b: SWAP1 00000a8c: SWAP3 00000a8d: ADD 00000a8e: SWAP2 00000a8f: POP 00000a90: PUSH2 0x087e 00000a93: SWAP1 00000a94: POP 00000a95: JUMP 00000a96: JUMPDEST 00000a97: POP 00000a98: PUSH2 0x0add 00000a9b: DUP4 00000a9c: PUSH1 0x04 00000a9e: ADD 00000a9f: DUP9 00000aa0: DUP9 00000aa1: DUP1 00000aa2: DUP1 00000aa3: PUSH1 0x1f 00000aa5: ADD 00000aa6: PUSH1 0x20 00000aa8: DUP1 00000aa9: SWAP2 00000aaa: DIV 00000aab: MUL 00000aac: PUSH1 0x20 00000aae: ADD 00000aaf: PUSH1 0x40 00000ab1: MLOAD 00000ab2: SWAP1 00000ab3: DUP2 00000ab4: ADD 00000ab5: PUSH1 0x40 00000ab7: MSTORE 00000ab8: DUP1 00000ab9: SWAP4 00000aba: SWAP3 00000abb: SWAP2 00000abc: SWAP1 00000abd: DUP2 00000abe: DUP2 00000abf: MSTORE 00000ac0: PUSH1 0x20 00000ac2: ADD 00000ac3: DUP4 00000ac4: DUP4 00000ac5: DUP1 00000ac6: DUP3 00000ac7: DUP5 00000ac8: CALLDATACOPY 00000ac9: PUSH1 0x00 00000acb: SWAP3 00000acc: ADD 00000acd: SWAP2 00000ace: SWAP1 00000acf: SWAP2 00000ad0: MSTORE 00000ad1: POP 00000ad2: SWAP3 00000ad3: SWAP4 00000ad4: SWAP3 00000ad5: POP 00000ad6: POP 00000ad7: PUSH2 0x15f2 00000ada: SWAP1 00000adb: POP 00000adc: JUMP 00000add: JUMPDEST 00000ade: PUSH1 0xff 00000ae0: AND 00000ae1: PUSH1 0x80 00000ae3: DUP7 00000ae4: ADD 00000ae5: MSTORE 00000ae6: PUSH1 0x40 00000ae8: DUP1 00000ae9: MLOAD 00000aea: PUSH1 0x20 00000aec: PUSH1 0x1f 00000aee: DUP10 00000aef: ADD 00000af0: DUP2 00000af1: SWAP1 00000af2: DIV 00000af3: DUP2 00000af4: MUL 00000af5: DUP3 00000af6: ADD 00000af7: DUP2 00000af8: ADD 00000af9: SWAP1 00000afa: SWAP3 00000afb: MSTORE 00000afc: DUP8 00000afd: DUP2 00000afe: MSTORE 00000aff: PUSH2 0x0b33 00000b02: SWAP2 00000b03: PUSH1 0x05 00000b05: DUP7 00000b06: ADD 00000b07: SWAP2 00000b08: PUSH1 0x04 00000b0a: NOT 00000b0b: DUP8 00000b0c: DUP12 00000b0d: SUB 00000b0e: ADD 00000b0f: SWAP2 00000b10: DUP12 00000b11: SWAP1 00000b12: DUP12 00000b13: SWAP1 00000b14: DUP2 00000b15: SWAP1 00000b16: DUP5 00000b17: ADD 00000b18: DUP4 00000b19: DUP3 00000b1a: DUP1 00000b1b: DUP3 00000b1c: DUP5 00000b1d: CALLDATACOPY 00000b1e: PUSH1 0x00 00000b20: SWAP3 00000b21: ADD 00000b22: SWAP2 00000b23: SWAP1 00000b24: SWAP2 00000b25: MSTORE 00000b26: POP 00000b27: SWAP3 00000b28: SWAP5 00000b29: SWAP4 00000b2a: SWAP3 00000b2b: POP 00000b2c: POP 00000b2d: PUSH2 0x1650 00000b30: SWAP1 00000b31: POP 00000b32: JUMP 00000b33: JUMPDEST 00000b34: PUSH1 0xa0 00000b36: DUP7 00000b37: ADD 00000b38: MSTORE 00000b39: POP 00000b3a: SWAP3 00000b3b: SWAP6 00000b3c: SWAP5 00000b3d: POP 00000b3e: POP 00000b3f: POP 00000b40: POP 00000b41: POP 00000b42: JUMP 00000b43: JUMPDEST 00000b44: PUSH1 0x02 00000b46: PUSH1 0x00 00000b48: SLOAD 00000b49: EQ 00000b4a: ISZERO 00000b4b: PUSH2 0x0b66 00000b4e: JUMPI 00000b4f: PUSH1 0x40 00000b51: MLOAD 00000b52: PUSH3 0x461bcd 00000b56: PUSH1 0xe5 00000b58: SHL 00000b59: DUP2 00000b5a: MSTORE 00000b5b: PUSH1 0x04 00000b5d: ADD 00000b5e: PUSH2 0x00c8 00000b61: SWAP1 00000b62: PUSH2 0x2382 00000b65: JUMP 00000b66: JUMPDEST 00000b67: PUSH1 0x02 00000b69: PUSH1 0x00 00000b6b: SSTORE 00000b6c: PUSH1 0x01 00000b6e: SLOAD 00000b6f: PUSH1 0xff 00000b71: DUP5 00000b72: DUP2 00000b73: AND 00000b74: PUSH1 0x01 00000b76: PUSH1 0xa0 00000b78: SHL 00000b79: SWAP1 00000b7a: SWAP3 00000b7b: DIV 00000b7c: AND 00000b7d: EQ 00000b7e: ISZERO 00000b7f: PUSH2 0x0b9a 00000b82: JUMPI 00000b83: PUSH1 0x40 00000b85: MLOAD 00000b86: PUSH3 0x461bcd 00000b8a: PUSH1 0xe5 00000b8c: SHL 00000b8d: DUP2 00000b8e: MSTORE 00000b8f: PUSH1 0x04 00000b91: ADD 00000b92: PUSH2 0x00c8 00000b95: SWAP1 00000b96: PUSH2 0x20bc 00000b99: JUMP 00000b9a: JUMPDEST 00000b9b: PUSH1 0x00 00000b9d: PUSH1 0x01 00000b9f: PUSH1 0x14 00000ba1: SWAP1 00000ba2: SLOAD 00000ba3: SWAP1 00000ba4: PUSH2 0x0100 00000ba7: EXP 00000ba8: SWAP1 00000ba9: DIV 00000baa: PUSH1 0xff 00000bac: AND 00000bad: SWAP1 00000bae: POP 00000baf: PUSH1 0x00 00000bb1: DUP1 00000bb2: DUP9 00000bb3: PUSH1 0x01 00000bb5: PUSH1 0x01 00000bb7: PUSH1 0xa0 00000bb9: SHL 00000bba: SUB 00000bbb: AND 00000bbc: PUSH4 0x313ce567 00000bc1: PUSH1 0x40 00000bc3: MLOAD 00000bc4: DUP2 00000bc5: PUSH4 0xffffffff 00000bca: AND 00000bcb: PUSH1 0xe0 00000bcd: SHL 00000bce: DUP2 00000bcf: MSTORE 00000bd0: PUSH1 0x04 00000bd2: ADD 00000bd3: PUSH1 0x20 00000bd5: PUSH1 0x40 00000bd7: MLOAD 00000bd8: DUP1 00000bd9: DUP4 00000bda: SUB 00000bdb: DUP2 00000bdc: DUP7 00000bdd: DUP1 00000bde: EXTCODESIZE 00000bdf: ISZERO 00000be0: DUP1 00000be1: ISZERO 00000be2: PUSH2 0x0bea 00000be5: JUMPI 00000be6: PUSH1 0x00 00000be8: DUP1 00000be9: REVERT 00000bea: JUMPDEST 00000beb: POP 00000bec: GAS 00000bed: STATICCALL 00000bee: ISZERO 00000bef: DUP1 00000bf0: ISZERO 00000bf1: PUSH2 0x0bfe 00000bf4: JUMPI 00000bf5: RETURNDATASIZE 00000bf6: PUSH1 0x00 00000bf8: DUP1 00000bf9: RETURNDATACOPY 00000bfa: RETURNDATASIZE 00000bfb: PUSH1 0x00 00000bfd: REVERT 00000bfe: JUMPDEST 00000bff: POP 00000c00: POP 00000c01: POP 00000c02: POP 00000c03: PUSH1 0x40 00000c05: MLOAD 00000c06: RETURNDATASIZE 00000c07: PUSH1 0x1f 00000c09: NOT 00000c0a: PUSH1 0x1f 00000c0c: DUP3 00000c0d: ADD 00000c0e: AND 00000c0f: DUP3 00000c10: ADD 00000c11: DUP1 00000c12: PUSH1 0x40 00000c14: MSTORE 00000c15: POP 00000c16: DUP2 00000c17: ADD 00000c18: SWAP1 00000c19: PUSH2 0x0c22 00000c1c: SWAP2 00000c1d: SWAP1 00000c1e: PUSH2 0x1dfc 00000c21: JUMP 00000c22: JUMPDEST 00000c23: PUSH1 0x01 00000c25: PUSH1 0x01 00000c27: PUSH1 0xa0 00000c29: SHL 00000c2a: SUB 00000c2b: DUP11 00000c2c: AND 00000c2d: PUSH1 0x00 00000c2f: SWAP1 00000c30: DUP2 00000c31: MSTORE 00000c32: PUSH1 0x06 00000c34: PUSH1 0x20 00000c36: MSTORE 00000c37: PUSH1 0x40 00000c39: SWAP1 00000c3a: KECCAK256 00000c3b: SLOAD 00000c3c: SWAP1 00000c3d: SWAP2 00000c3e: POP 00000c3f: PUSH1 0xff 00000c41: AND 00000c42: ISZERO 00000c43: PUSH2 0x0d91 00000c46: JUMPI 00000c47: PUSH1 0x40 00000c49: MLOAD 00000c4a: PUSH4 0x2770a7eb 00000c4f: PUSH1 0xe2 00000c51: SHL 00000c52: DUP2 00000c53: MSTORE 00000c54: PUSH1 0x01 00000c56: PUSH1 0x01 00000c58: PUSH1 0xa0 00000c5a: SHL 00000c5b: SUB 00000c5c: DUP11 00000c5d: AND 00000c5e: SWAP1 00000c5f: PUSH4 0x9dc29fac 00000c64: SWAP1 00000c65: PUSH2 0x0c74 00000c68: SWAP1 00000c69: CALLER 00000c6a: SWAP1 00000c6b: DUP13 00000c6c: SWAP1 00000c6d: PUSH1 0x04 00000c6f: ADD 00000c70: PUSH2 0x1e91 00000c73: JUMP 00000c74: JUMPDEST 00000c75: PUSH1 0x00 00000c77: PUSH1 0x40 00000c79: MLOAD 00000c7a: DUP1 00000c7b: DUP4 00000c7c: SUB 00000c7d: DUP2 00000c7e: PUSH1 0x00 00000c80: DUP8 00000c81: DUP1 00000c82: EXTCODESIZE 00000c83: ISZERO 00000c84: DUP1 00000c85: ISZERO 00000c86: PUSH2 0x0c8e 00000c89: JUMPI 00000c8a: PUSH1 0x00 00000c8c: DUP1 00000c8d: REVERT 00000c8e: JUMPDEST 00000c8f: POP 00000c90: GAS 00000c91: CALL 00000c92: ISZERO 00000c93: DUP1 00000c94: ISZERO 00000c95: PUSH2 0x0ca2 00000c98: JUMPI 00000c99: RETURNDATASIZE 00000c9a: PUSH1 0x00 00000c9c: DUP1 00000c9d: RETURNDATACOPY 00000c9e: RETURNDATASIZE 00000c9f: PUSH1 0x00 00000ca1: REVERT 00000ca2: JUMPDEST 00000ca3: POP 00000ca4: POP 00000ca5: POP 00000ca6: POP 00000ca7: DUP9 00000ca8: PUSH1 0x01 00000caa: PUSH1 0x01 00000cac: PUSH1 0xa0 00000cae: SHL 00000caf: SUB 00000cb0: AND 00000cb1: PUSH4 0x026b0539 00000cb6: PUSH1 0x40 00000cb8: MLOAD 00000cb9: DUP2 00000cba: PUSH4 0xffffffff 00000cbf: AND 00000cc0: PUSH1 0xe0 00000cc2: SHL 00000cc3: DUP2 00000cc4: MSTORE 00000cc5: PUSH1 0x04 00000cc7: ADD 00000cc8: PUSH1 0x20 00000cca: PUSH1 0x40 00000ccc: MLOAD 00000ccd: DUP1 00000cce: DUP4 00000ccf: SUB 00000cd0: DUP2 00000cd1: DUP7 00000cd2: DUP1 00000cd3: EXTCODESIZE 00000cd4: ISZERO 00000cd5: DUP1 00000cd6: ISZERO 00000cd7: PUSH2 0x0cdf 00000cda: JUMPI 00000cdb: PUSH1 0x00 00000cdd: DUP1 00000cde: REVERT 00000cdf: JUMPDEST 00000ce0: POP 00000ce1: GAS 00000ce2: STATICCALL 00000ce3: ISZERO 00000ce4: DUP1 00000ce5: ISZERO 00000ce6: PUSH2 0x0cf3 00000ce9: JUMPI 00000cea: RETURNDATASIZE 00000ceb: PUSH1 0x00 00000ced: DUP1 00000cee: RETURNDATACOPY 00000cef: RETURNDATASIZE 00000cf0: PUSH1 0x00 00000cf2: REVERT 00000cf3: JUMPDEST 00000cf4: POP 00000cf5: POP 00000cf6: POP 00000cf7: POP 00000cf8: PUSH1 0x40 00000cfa: MLOAD 00000cfb: RETURNDATASIZE 00000cfc: PUSH1 0x1f 00000cfe: NOT 00000cff: PUSH1 0x1f 00000d01: DUP3 00000d02: ADD 00000d03: AND 00000d04: DUP3 00000d05: ADD 00000d06: DUP1 00000d07: PUSH1 0x40 00000d09: MSTORE 00000d0a: POP 00000d0b: DUP2 00000d0c: ADD 00000d0d: SWAP1 00000d0e: PUSH2 0x0d17 00000d11: SWAP2 00000d12: SWAP1 00000d13: PUSH2 0x1dfc 00000d16: JUMP 00000d17: JUMPDEST 00000d18: SWAP3 00000d19: POP 00000d1a: DUP9 00000d1b: PUSH1 0x01 00000d1d: PUSH1 0x01 00000d1f: PUSH1 0xa0 00000d21: SHL 00000d22: SUB 00000d23: AND 00000d24: PUSH4 0x1ba46cfd 00000d29: PUSH1 0x40 00000d2b: MLOAD 00000d2c: DUP2 00000d2d: PUSH4 0xffffffff 00000d32: AND 00000d33: PUSH1 0xe0 00000d35: SHL 00000d36: DUP2 00000d37: MSTORE 00000d38: PUSH1 0x04 00000d3a: ADD 00000d3b: PUSH1 0x20 00000d3d: PUSH1 0x40 00000d3f: MLOAD 00000d40: DUP1 00000d41: DUP4 00000d42: SUB 00000d43: DUP2 00000d44: DUP7 00000d45: DUP1 00000d46: EXTCODESIZE 00000d47: ISZERO 00000d48: DUP1 00000d49: ISZERO 00000d4a: PUSH2 0x0d52 00000d4d: JUMPI 00000d4e: PUSH1 0x00 00000d50: DUP1 00000d51: REVERT 00000d52: JUMPDEST 00000d53: POP 00000d54: GAS 00000d55: STATICCALL 00000d56: ISZERO 00000d57: DUP1 00000d58: ISZERO 00000d59: PUSH2 0x0d66 00000d5c: JUMPI 00000d5d: RETURNDATASIZE 00000d5e: PUSH1 0x00 00000d60: DUP1 00000d61: RETURNDATACOPY 00000d62: RETURNDATASIZE 00000d63: PUSH1 0x00 00000d65: REVERT 00000d66: JUMPDEST 00000d67: POP 00000d68: POP 00000d69: POP 00000d6a: POP 00000d6b: PUSH1 0x40 00000d6d: MLOAD 00000d6e: RETURNDATASIZE 00000d6f: PUSH1 0x1f 00000d71: NOT 00000d72: PUSH1 0x1f 00000d74: DUP3 00000d75: ADD 00000d76: AND 00000d77: DUP3 00000d78: ADD 00000d79: DUP1 00000d7a: PUSH1 0x40 00000d7c: MSTORE 00000d7d: POP 00000d7e: DUP2 00000d7f: ADD 00000d80: SWAP1 00000d81: PUSH2 0x0d8a 00000d84: SWAP2 00000d85: SWAP1 00000d86: PUSH2 0x1d15 00000d89: JUMP 00000d8a: JUMPDEST 00000d8b: SWAP2 00000d8c: POP 00000d8d: PUSH2 0x0fc9 00000d90: JUMP 00000d91: JUMPDEST 00000d92: PUSH1 0x40 00000d94: MLOAD 00000d95: PUSH4 0x70a08231 00000d9a: PUSH1 0xe0 00000d9c: SHL 00000d9d: DUP2 00000d9e: MSTORE 00000d9f: PUSH1 0x00 00000da1: SWAP1 00000da2: PUSH1 0x01 00000da4: PUSH1 0x01 00000da6: PUSH1 0xa0 00000da8: SHL 00000da9: SUB 00000daa: DUP12 00000dab: AND 00000dac: SWAP1 00000dad: PUSH4 0x70a08231 00000db2: SWAP1 00000db3: PUSH2 0x0dc0 00000db6: SWAP1 00000db7: ADDRESS 00000db8: SWAP1 00000db9: PUSH1 0x04 00000dbb: ADD 00000dbc: PUSH2 0x1e7d 00000dbf: JUMP 00000dc0: JUMPDEST 00000dc1: PUSH1 0x20 00000dc3: PUSH1 0x40 00000dc5: MLOAD 00000dc6: DUP1 00000dc7: DUP4 00000dc8: SUB 00000dc9: DUP2 00000dca: DUP7 00000dcb: DUP1 00000dcc: EXTCODESIZE 00000dcd: ISZERO 00000dce: DUP1 00000dcf: ISZERO 00000dd0: PUSH2 0x0dd8 00000dd3: JUMPI 00000dd4: PUSH1 0x00 00000dd6: DUP1 00000dd7: REVERT 00000dd8: JUMPDEST 00000dd9: POP 00000dda: GAS 00000ddb: STATICCALL 00000ddc: ISZERO 00000ddd: DUP1 00000dde: ISZERO 00000ddf: PUSH2 0x0dec 00000de2: JUMPI 00000de3: RETURNDATASIZE 00000de4: PUSH1 0x00 00000de6: DUP1 00000de7: RETURNDATACOPY 00000de8: RETURNDATASIZE 00000de9: PUSH1 0x00 00000deb: REVERT 00000dec: JUMPDEST 00000ded: POP 00000dee: POP 00000def: POP 00000df0: POP 00000df1: PUSH1 0x40 00000df3: MLOAD 00000df4: RETURNDATASIZE 00000df5: PUSH1 0x1f 00000df7: NOT 00000df8: PUSH1 0x1f 00000dfa: DUP3 00000dfb: ADD 00000dfc: AND 00000dfd: DUP3 00000dfe: ADD 00000dff: DUP1 00000e00: PUSH1 0x40 00000e02: MSTORE 00000e03: POP 00000e04: DUP2 00000e05: ADD 00000e06: SWAP1 00000e07: PUSH2 0x0e10 00000e0a: SWAP2 00000e0b: SWAP1 00000e0c: PUSH2 0x1d15 00000e0f: JUMP 00000e10: JUMPDEST 00000e11: SWAP1 00000e12: POP 00000e13: PUSH2 0x0e27 00000e16: PUSH1 0x01 00000e18: PUSH1 0x01 00000e1a: PUSH1 0xa0 00000e1c: SHL 00000e1d: SUB 00000e1e: DUP12 00000e1f: AND 00000e20: CALLER 00000e21: ADDRESS 00000e22: DUP13 00000e23: PUSH2 0x1712 00000e26: JUMP 00000e27: JUMPDEST 00000e28: PUSH1 0x40 00000e2a: MLOAD 00000e2b: PUSH4 0x70a08231 00000e30: PUSH1 0xe0 00000e32: SHL 00000e33: DUP2 00000e34: MSTORE 00000e35: PUSH1 0x00 00000e37: SWAP1 00000e38: PUSH1 0x01 00000e3a: PUSH1 0x01 00000e3c: PUSH1 0xa0 00000e3e: SHL 00000e3f: SUB 00000e40: DUP13 00000e41: AND 00000e42: SWAP1 00000e43: PUSH4 0x70a08231 00000e48: SWAP1 00000e49: PUSH2 0x0e56 00000e4c: SWAP1 00000e4d: ADDRESS 00000e4e: SWAP1 00000e4f: PUSH1 0x04 00000e51: ADD 00000e52: PUSH2 0x1e7d 00000e55: JUMP 00000e56: JUMPDEST 00000e57: PUSH1 0x20 00000e59: PUSH1 0x40 00000e5b: MLOAD 00000e5c: DUP1 00000e5d: DUP4 00000e5e: SUB 00000e5f: DUP2 00000e60: DUP7 00000e61: DUP1 00000e62: EXTCODESIZE 00000e63: ISZERO 00000e64: DUP1 00000e65: ISZERO 00000e66: PUSH2 0x0e6e 00000e69: JUMPI 00000e6a: PUSH1 0x00 00000e6c: DUP1 00000e6d: REVERT 00000e6e: JUMPDEST 00000e6f: POP 00000e70: GAS 00000e71: STATICCALL 00000e72: ISZERO 00000e73: DUP1 00000e74: ISZERO 00000e75: PUSH2 0x0e82 00000e78: JUMPI 00000e79: RETURNDATASIZE 00000e7a: PUSH1 0x00 00000e7c: DUP1 00000e7d: RETURNDATACOPY 00000e7e: RETURNDATASIZE 00000e7f: PUSH1 0x00 00000e81: REVERT 00000e82: JUMPDEST 00000e83: POP 00000e84: POP 00000e85: POP 00000e86: POP 00000e87: PUSH1 0x40 00000e89: MLOAD 00000e8a: RETURNDATASIZE 00000e8b: PUSH1 0x1f 00000e8d: NOT 00000e8e: PUSH1 0x1f 00000e90: DUP3 00000e91: ADD 00000e92: AND 00000e93: DUP3 00000e94: ADD 00000e95: DUP1 00000e96: PUSH1 0x40 00000e98: MSTORE 00000e99: POP 00000e9a: DUP2 00000e9b: ADD 00000e9c: SWAP1 00000e9d: PUSH2 0x0ea6 00000ea0: SWAP2 00000ea1: SWAP1 00000ea2: PUSH2 0x1d15 00000ea5: JUMP 00000ea6: JUMPDEST 00000ea7: SWAP1 00000ea8: POP 00000ea9: PUSH2 0x0eb2 00000eac: DUP2 00000ead: DUP4 00000eae: PUSH2 0x1770 00000eb1: JUMP 00000eb2: JUMPDEST 00000eb3: SWAP10 00000eb4: POP 00000eb5: PUSH1 0x09 00000eb7: DUP4 00000eb8: PUSH1 0xff 00000eba: AND 00000ebb: GT 00000ebc: ISZERO 00000ebd: PUSH2 0x0f0c 00000ec0: JUMPI 00000ec1: DUP10 00000ec2: PUSH2 0x0ed5 00000ec5: DUP2 00000ec6: PUSH1 0xff 00000ec8: PUSH1 0x08 00000eca: NOT 00000ecb: DUP8 00000ecc: ADD 00000ecd: AND 00000ece: PUSH1 0x0a 00000ed0: EXP 00000ed1: PUSH2 0x15b0 00000ed4: JUMP 00000ed5: JUMPDEST 00000ed6: SWAP11 00000ed7: POP 00000ed8: DUP7 00000ed9: ISZERO 00000eda: PUSH2 0x0f06 00000edd: JUMPI 00000ede: PUSH2 0x0f06 00000ee1: CALLER 00000ee2: PUSH2 0x0ef5 00000ee5: DUP4 00000ee6: PUSH1 0xff 00000ee8: PUSH1 0x08 00000eea: NOT 00000eeb: DUP10 00000eec: ADD 00000eed: AND 00000eee: PUSH1 0x0a 00000ef0: EXP 00000ef1: PUSH2 0x1565 00000ef4: JUMP 00000ef5: JUMPDEST 00000ef6: PUSH1 0x01 00000ef8: PUSH1 0x01 00000efa: PUSH1 0xa0 00000efc: SHL 00000efd: SUB 00000efe: DUP16 00000eff: AND 00000f00: SWAP2 00000f01: SWAP1 00000f02: PUSH2 0x17b2 00000f05: JUMP 00000f06: JUMPDEST 00000f07: PUSH1 0x09 00000f09: SWAP4 00000f0a: POP 00000f0b: POP 00000f0c: JUMPDEST 00000f0d: PUSH8 0xffffffffffffffff 00000f16: DUP1 00000f17: AND 00000f18: PUSH2 0x0f9c 00000f1b: PUSH1 0x09 00000f1d: DUP14 00000f1e: PUSH1 0x01 00000f20: PUSH1 0x01 00000f22: PUSH1 0xa0 00000f24: SHL 00000f25: SUB 00000f26: AND 00000f27: PUSH4 0x313ce567 00000f2c: PUSH1 0x40 00000f2e: MLOAD 00000f2f: DUP2 00000f30: PUSH4 0xffffffff 00000f35: AND 00000f36: PUSH1 0xe0 00000f38: SHL 00000f39: DUP2 00000f3a: MSTORE 00000f3b: PUSH1 0x04 00000f3d: ADD 00000f3e: PUSH1 0x20 00000f40: PUSH1 0x40 00000f42: MLOAD 00000f43: DUP1 00000f44: DUP4 00000f45: SUB 00000f46: DUP2 00000f47: DUP7 00000f48: DUP1 00000f49: EXTCODESIZE 00000f4a: ISZERO 00000f4b: DUP1 00000f4c: ISZERO 00000f4d: PUSH2 0x0f55 00000f50: JUMPI 00000f51: PUSH1 0x00 00000f53: DUP1 00000f54: REVERT 00000f55: JUMPDEST 00000f56: POP 00000f57: GAS 00000f58: STATICCALL 00000f59: ISZERO 00000f5a: DUP1 00000f5b: ISZERO 00000f5c: PUSH2 0x0f69 00000f5f: JUMPI 00000f60: RETURNDATASIZE 00000f61: PUSH1 0x00 00000f63: DUP1 00000f64: RETURNDATACOPY 00000f65: RETURNDATASIZE 00000f66: PUSH1 0x00 00000f68: REVERT 00000f69: JUMPDEST 00000f6a: POP 00000f6b: POP 00000f6c: POP 00000f6d: POP 00000f6e: PUSH1 0x40 00000f70: MLOAD 00000f71: RETURNDATASIZE 00000f72: PUSH1 0x1f 00000f74: NOT 00000f75: PUSH1 0x1f 00000f77: DUP3 00000f78: ADD 00000f79: AND 00000f7a: DUP3 00000f7b: ADD 00000f7c: DUP1 00000f7d: PUSH1 0x40 00000f7f: MSTORE 00000f80: POP 00000f81: DUP2 00000f82: ADD 00000f83: SWAP1 00000f84: PUSH2 0x0f8d 00000f87: SWAP2 00000f88: SWAP1 00000f89: PUSH2 0x1dfc 00000f8c: JUMP 00000f8d: JUMPDEST 00000f8e: DUP5 00000f8f: SWAP2 00000f90: PUSH1 0xff 00000f92: SWAP2 00000f93: SUB 00000f94: AND 00000f95: PUSH1 0x0a 00000f97: EXP 00000f98: PUSH2 0x15b0 00000f9b: JUMP 00000f9c: JUMPDEST 00000f9d: GT 00000f9e: ISZERO 00000f9f: PUSH2 0x0fba 00000fa2: JUMPI 00000fa3: PUSH1 0x40 00000fa5: MLOAD 00000fa6: PUSH3 0x461bcd 00000faa: PUSH1 0xe5 00000fac: SHL 00000fad: DUP2 00000fae: MSTORE 00000faf: PUSH1 0x04 00000fb1: ADD 00000fb2: PUSH2 0x00c8 00000fb5: SWAP1 00000fb6: PUSH2 0x1f0a 00000fb9: JUMP 00000fba: JUMPDEST 00000fbb: POP 00000fbc: POP 00000fbd: PUSH1 0x01 00000fbf: PUSH1 0x01 00000fc1: PUSH1 0xa0 00000fc3: SHL 00000fc4: SUB 00000fc5: DUP10 00000fc6: AND 00000fc7: SWAP2 00000fc8: POP 00000fc9: JUMPDEST 00000fca: DUP8 00000fcb: PUSH2 0x0fe6 00000fce: JUMPI 00000fcf: PUSH1 0x40 00000fd1: MLOAD 00000fd2: PUSH3 0x461bcd 00000fd6: PUSH1 0xe5 00000fd8: SHL 00000fd9: DUP2 00000fda: MSTORE 00000fdb: PUSH1 0x04 00000fdd: ADD 00000fde: PUSH2 0x00c8 00000fe1: SWAP1 00000fe2: PUSH2 0x216f 00000fe5: JUMP 00000fe6: JUMPDEST 00000fe7: CALLER 00000fe8: PUSH1 0x01 00000fea: PUSH1 0x01 00000fec: PUSH1 0xa0 00000fee: SHL 00000fef: SUB 00000ff0: AND 00000ff1: PUSH1 0x00 00000ff3: SHL 00000ff4: DUP3 00000ff5: PUSH32 0x6bbd554ad75919f71fd91bf917ca6e4f41c10f03ab25751596a22253bb39aab8 00001016: DUP9 00001017: DUP7 00001018: DUP6 00001019: DUP13 0000101a: DUP15 0000101b: DUP13 0000101c: PUSH1 0x40 0000101e: MLOAD 0000101f: PUSH2 0x102d 00001022: SWAP7 00001023: SWAP6 00001024: SWAP5 00001025: SWAP4 00001026: SWAP3 00001027: SWAP2 00001028: SWAP1 00001029: PUSH2 0x24f6 0000102c: JUMP 0000102d: JUMPDEST 0000102e: PUSH1 0x40 00001030: MLOAD 00001031: DUP1 00001032: SWAP2 00001033: SUB 00001034: SWAP1 00001035: LOG3 00001036: POP 00001037: POP 00001038: PUSH1 0x01 0000103a: PUSH1 0x00 0000103c: SSTORE 0000103d: POP 0000103e: POP 0000103f: POP 00001040: POP 00001041: POP 00001042: POP 00001043: POP 00001044: JUMP 00001045: JUMPDEST 00001046: PUSH1 0x03 00001048: SLOAD 00001049: PUSH4 0xffffffff 0000104e: AND 0000104f: DUP2 00001050: JUMP 00001051: JUMPDEST 00001052: PUSH1 0x01 00001054: SLOAD 00001055: PUSH1 0x01 00001057: PUSH1 0x01 00001059: PUSH1 0xa0 0000105b: SHL 0000105c: SUB 0000105d: AND 0000105e: DUP2 0000105f: JUMP 00001060: JUMPDEST 00001061: PUSH1 0x04 00001063: PUSH1 0x20 00001065: MSTORE 00001066: PUSH1 0x00 00001068: SWAP1 00001069: DUP2 0000106a: MSTORE 0000106b: PUSH1 0x40 0000106d: SWAP1 0000106e: KECCAK256 0000106f: SLOAD 00001070: PUSH1 0xff 00001072: AND 00001073: DUP2 00001074: JUMP 00001075: JUMPDEST 00001076: PUSH1 0x05 00001078: PUSH1 0x20 0000107a: MSTORE 0000107b: PUSH1 0x00 0000107d: SWAP1 0000107e: DUP2 0000107f: MSTORE 00001080: PUSH1 0x40 00001082: SWAP1 00001083: KECCAK256 00001084: SLOAD 00001085: PUSH1 0x01 00001087: PUSH1 0x01 00001089: PUSH1 0xa0 0000108b: SHL 0000108c: SUB 0000108d: AND 0000108e: DUP2 0000108f: JUMP 00001090: JUMPDEST 00001091: PUSH2 0x1098 00001094: PUSH2 0x1b92 00001097: JUMP 00001098: JUMPDEST 00001099: PUSH4 0xffffffff 0000109e: DUP3 0000109f: AND 000010a0: PUSH1 0x00 000010a2: SWAP1 000010a3: DUP2 000010a4: MSTORE 000010a5: PUSH1 0x02 000010a7: PUSH1 0x20 000010a9: SWAP1 000010aa: DUP2 000010ab: MSTORE 000010ac: PUSH1 0x40 000010ae: SWAP2 000010af: DUP3 000010b0: SWAP1 000010b1: KECCAK256 000010b2: DUP3 000010b3: MLOAD 000010b4: DUP2 000010b5: SLOAD 000010b6: PUSH1 0x60 000010b8: SWAP4 000010b9: DUP2 000010ba: MUL 000010bb: DUP3 000010bc: ADD 000010bd: DUP5 000010be: ADD 000010bf: DUP6 000010c0: MSTORE 000010c1: SWAP4 000010c2: DUP2 000010c3: ADD 000010c4: DUP5 000010c5: DUP2 000010c6: MSTORE 000010c7: SWAP1 000010c8: SWAP4 000010c9: SWAP2 000010ca: SWAP3 000010cb: DUP5 000010cc: SWAP3 000010cd: DUP5 000010ce: SWAP2 000010cf: DUP5 000010d0: ADD 000010d1: DUP3 000010d2: DUP3 000010d3: DUP1 000010d4: ISZERO 000010d5: PUSH2 0x1107 000010d8: JUMPI 000010d9: PUSH1 0x20 000010db: MUL 000010dc: DUP3 000010dd: ADD 000010de: SWAP2 000010df: SWAP1 000010e0: PUSH1 0x00 000010e2: MSTORE 000010e3: PUSH1 0x20 000010e5: PUSH1 0x00 000010e7: KECCAK256 000010e8: SWAP1 000010e9: JUMPDEST 000010ea: DUP2 000010eb: SLOAD 000010ec: PUSH1 0x01 000010ee: PUSH1 0x01 000010f0: PUSH1 0xa0 000010f2: SHL 000010f3: SUB 000010f4: AND 000010f5: DUP2 000010f6: MSTORE 000010f7: PUSH1 0x01 000010f9: SWAP1 000010fa: SWAP2 000010fb: ADD 000010fc: SWAP1 000010fd: PUSH1 0x20 000010ff: ADD 00001100: DUP1 00001101: DUP4 00001102: GT 00001103: PUSH2 0x10e9 00001106: JUMPI 00001107: JUMPDEST 00001108: POP 00001109: POP 0000110a: POP 0000110b: SWAP2 0000110c: DUP4 0000110d: MSTORE 0000110e: POP 0000110f: POP 00001110: PUSH1 0x01 00001112: SWAP2 00001113: SWAP1 00001114: SWAP2 00001115: ADD 00001116: SLOAD 00001117: PUSH4 0xffffffff 0000111c: AND 0000111d: PUSH1 0x20 0000111f: SWAP1 00001120: SWAP2 00001121: ADD 00001122: MSTORE 00001123: SWAP3 00001124: SWAP2 00001125: POP 00001126: POP 00001127: JUMP 00001128: JUMPDEST 00001129: PUSH1 0x00 0000112b: PUSH2 0x1134 0000112e: DUP3 0000112f: DUP3 00001130: PUSH2 0x1621 00001133: JUMP 00001134: JUMPDEST 00001135: PUSH1 0x03 00001137: SLOAD 00001138: SWAP1 00001139: SWAP2 0000113a: POP 0000113b: PUSH4 0xffffffff 00001140: DUP1 00001141: DUP4 00001142: AND 00001143: SWAP2 00001144: DUP2 00001145: AND 00001146: PUSH1 0x01 00001148: ADD 00001149: AND 0000114a: EQ 0000114b: PUSH2 0x1166 0000114e: JUMPI 0000114f: PUSH1 0x40 00001151: MLOAD 00001152: PUSH3 0x461bcd 00001156: PUSH1 0xe5 00001158: SHL 00001159: DUP2 0000115a: MSTORE 0000115b: PUSH1 0x04 0000115d: ADD 0000115e: PUSH2 0x00c8 00001161: SWAP1 00001162: PUSH2 0x21a6 00001165: JUMP 00001166: JUMPDEST 00001167: PUSH1 0x00 00001169: PUSH2 0x1173 0000116c: DUP4 0000116d: PUSH1 0x04 0000116f: PUSH2 0x15f2 00001172: JUMP 00001173: JUMPDEST 00001174: SWAP1 00001175: POP 00001176: PUSH1 0x60 00001178: DUP2 00001179: PUSH1 0xff 0000117b: AND 0000117c: PUSH8 0xffffffffffffffff 00001185: DUP2 00001186: GT 00001187: DUP1 00001188: ISZERO 00001189: PUSH2 0x1191 0000118c: JUMPI 0000118d: PUSH1 0x00 0000118f: DUP1 00001190: REVERT 00001191: JUMPDEST 00001192: POP 00001193: PUSH1 0x40 00001195: MLOAD 00001196: SWAP1 00001197: DUP1 00001198: DUP3 00001199: MSTORE 0000119a: DUP1 0000119b: PUSH1 0x20 0000119d: MUL 0000119e: PUSH1 0x20 000011a0: ADD 000011a1: DUP3 000011a2: ADD 000011a3: PUSH1 0x40 000011a5: MSTORE 000011a6: DUP1 000011a7: ISZERO 000011a8: PUSH2 0x11bb 000011ab: JUMPI 000011ac: DUP2 000011ad: PUSH1 0x20 000011af: ADD 000011b0: PUSH1 0x20 000011b2: DUP3 000011b3: MUL 000011b4: DUP1 000011b5: CALLDATASIZE 000011b6: DUP4 000011b7: CALLDATACOPY 000011b8: ADD 000011b9: SWAP1 000011ba: POP 000011bb: JUMPDEST 000011bc: POP 000011bd: SWAP1 000011be: POP 000011bf: PUSH1 0x00 000011c1: JUMPDEST 000011c2: DUP3 000011c3: PUSH1 0xff 000011c5: AND 000011c6: DUP2 000011c7: LT 000011c8: ISZERO 000011c9: PUSH2 0x120e 000011cc: JUMPI 000011cd: PUSH1 0x00 000011cf: PUSH2 0x11de 000011d2: DUP7 000011d3: PUSH1 0x05 000011d5: PUSH1 0x14 000011d7: DUP6 000011d8: MUL 000011d9: ADD 000011da: PUSH2 0x17d6 000011dd: JUMP 000011de: JUMPDEST 000011df: SWAP1 000011e0: POP 000011e1: DUP1 000011e2: DUP4 000011e3: DUP4 000011e4: DUP2 000011e5: MLOAD 000011e6: DUP2 000011e7: LT 000011e8: PUSH2 0x11ed 000011eb: JUMPI 000011ec: INVALID 000011ed: JUMPDEST 000011ee: PUSH1 0x01 000011f0: PUSH1 0x01 000011f2: PUSH1 0xa0 000011f4: SHL 000011f5: SUB 000011f6: SWAP1 000011f7: SWAP3 000011f8: AND 000011f9: PUSH1 0x20 000011fb: SWAP3 000011fc: DUP4 000011fd: MUL 000011fe: SWAP2 000011ff: SWAP1 00001200: SWAP2 00001201: ADD 00001202: SWAP1 00001203: SWAP2 00001204: ADD 00001205: MSTORE 00001206: POP 00001207: PUSH1 0x01 00001209: ADD 0000120a: PUSH2 0x11c1 0000120d: JUMP 0000120e: JUMPDEST 0000120f: POP 00001210: PUSH1 0x03 00001212: DUP1 00001213: SLOAD 00001214: PUSH4 0xffffffff 00001219: DUP6 0000121a: DUP2 0000121b: AND 0000121c: PUSH4 0xffffffff 00001221: NOT 00001222: DUP4 00001223: AND 00001224: OR 00001225: SWAP1 00001226: SWAP3 00001227: SSTORE 00001228: AND 00001229: PUSH2 0x1230 0000122c: PUSH2 0x1b92 0000122f: JUMP 00001230: JUMPDEST 00001231: POP 00001232: PUSH1 0x40 00001234: DUP1 00001235: MLOAD 00001236: DUP1 00001237: DUP3 00001238: ADD 00001239: DUP3 0000123a: MSTORE 0000123b: DUP4 0000123c: DUP2 0000123d: MSTORE 0000123e: PUSH1 0x00 00001240: PUSH1 0x20 00001242: DUP1 00001243: DUP4 00001244: ADD 00001245: DUP3 00001246: SWAP1 00001247: MSTORE 00001248: PUSH1 0x03 0000124a: SLOAD 0000124b: PUSH4 0xffffffff 00001250: AND 00001251: DUP3 00001252: MSTORE 00001253: PUSH1 0x02 00001255: DUP2 00001256: MSTORE 00001257: SWAP3 00001258: SWAP1 00001259: KECCAK256 0000125a: DUP2 0000125b: MLOAD 0000125c: DUP1 0000125d: MLOAD 0000125e: SWAP3 0000125f: SWAP4 00001260: DUP5 00001261: SWAP4 00001262: PUSH2 0x126e 00001265: SWAP3 00001266: DUP5 00001267: SWAP3 00001268: ADD 00001269: SWAP1 0000126a: PUSH2 0x1baa 0000126d: JUMP 0000126e: JUMPDEST 0000126f: POP 00001270: PUSH1 0x20 00001272: SWAP2 00001273: DUP3 00001274: ADD 00001275: MLOAD 00001276: PUSH1 0x01 00001278: SWAP2 00001279: DUP3 0000127a: ADD 0000127b: DUP1 0000127c: SLOAD 0000127d: PUSH4 0xffffffff 00001282: NOT 00001283: SWAP1 00001284: DUP2 00001285: AND 00001286: PUSH4 0xffffffff 0000128b: SWAP4 0000128c: DUP5 0000128d: AND 0000128e: OR 0000128f: SWAP1 00001290: SWAP2 00001291: SSTORE 00001292: PUSH1 0x03 00001294: DUP1 00001295: SLOAD 00001296: DUP8 00001297: DUP5 00001298: AND 00001299: PUSH1 0x00 0000129b: SWAP1 0000129c: DUP2 0000129d: MSTORE 0000129e: PUSH1 0x02 000012a0: SWAP1 000012a1: SWAP7 000012a2: MSTORE 000012a3: PUSH1 0x40 000012a5: SWAP6 000012a6: DUP7 000012a7: SWAP1 000012a8: KECCAK256 000012a9: SWAP1 000012aa: SWAP5 000012ab: ADD 000012ac: DUP1 000012ad: SLOAD 000012ae: SWAP1 000012af: SWAP3 000012b0: AND 000012b1: PUSH5 0x0100000000 000012b7: SWAP1 000012b8: SWAP5 000012b9: DIV 000012ba: DUP4 000012bb: AND 000012bc: TIMESTAMP 000012bd: ADD 000012be: DUP4 000012bf: AND 000012c0: SWAP4 000012c1: SWAP1 000012c2: SWAP4 000012c3: OR 000012c4: SWAP1 000012c5: SSTORE 000012c6: SWAP1 000012c7: SLOAD 000012c8: SWAP2 000012c9: MLOAD 000012ca: PUSH32 0xdfb80683934199683861bf00b64ecdf0984bbaf661bf27983dba382e99297a62 000012eb: SWAP3 000012ec: PUSH2 0x12f9 000012ef: SWAP3 000012f0: DUP7 000012f1: SWAP3 000012f2: SWAP2 000012f3: AND 000012f4: SWAP1 000012f5: PUSH2 0x24c2 000012f8: JUMP 000012f9: JUMPDEST 000012fa: PUSH1 0x40 000012fc: MLOAD 000012fd: DUP1 000012fe: SWAP2 000012ff: SUB 00001300: SWAP1 00001301: LOG1 00001302: POP 00001303: POP 00001304: POP 00001305: POP 00001306: POP 00001307: POP 00001308: JUMP 00001309: JUMPDEST 0000130a: PUSH1 0x00 0000130c: PUSH2 0x1316 0000130f: DUP3 00001310: PUSH1 0x04 00001312: PUSH2 0x15f2 00001315: JUMP 00001316: JUMPDEST 00001317: SWAP1 00001318: POP 00001319: PUSH1 0x00 0000131b: PUSH2 0x1325 0000131e: DUP4 0000131f: PUSH1 0x05 00001321: PUSH2 0x15f2 00001324: JUMP 00001325: JUMPDEST 00001326: SWAP1 00001327: POP 00001328: PUSH1 0x00 0000132a: PUSH2 0x1334 0000132d: DUP5 0000132e: PUSH1 0x32 00001330: PUSH2 0x17d6 00001333: JUMP 00001334: JUMPDEST 00001335: SWAP1 00001336: POP 00001337: PUSH1 0x00 00001339: PUSH2 0x1343 0000133c: DUP6 0000133d: PUSH1 0x46 0000133f: PUSH2 0x15f2 00001342: JUMP 00001343: JUMPDEST 00001344: SWAP1 00001345: POP 00001346: PUSH1 0x00 00001348: PUSH2 0x1352 0000134b: DUP7 0000134c: PUSH1 0x68 0000134e: PUSH2 0x16e3 00001351: JUMP 00001352: JUMPDEST 00001353: SWAP1 00001354: POP 00001355: DUP4 00001356: PUSH1 0xff 00001358: AND 00001359: DUP6 0000135a: PUSH1 0xff 0000135c: AND 0000135d: EQ 0000135e: ISZERO 0000135f: PUSH2 0x137a 00001362: JUMPI 00001363: PUSH1 0x40 00001365: MLOAD 00001366: PUSH3 0x461bcd 0000136a: PUSH1 0xe5 0000136c: SHL 0000136d: DUP2 0000136e: MSTORE 0000136f: PUSH1 0x04 00001371: ADD 00001372: PUSH2 0x00c8 00001375: SWAP1 00001376: PUSH2 0x233c 00001379: JUMP 0000137a: JUMPDEST 0000137b: PUSH1 0x01 0000137d: SLOAD 0000137e: PUSH1 0xff 00001380: DUP6 00001381: DUP2 00001382: AND 00001383: PUSH1 0x01 00001385: PUSH1 0xa0 00001387: SHL 00001388: SWAP1 00001389: SWAP3 0000138a: DIV 0000138b: AND 0000138c: EQ 0000138d: PUSH2 0x13a8 00001390: JUMPI 00001391: PUSH1 0x40 00001393: MLOAD 00001394: PUSH3 0x461bcd 00001398: PUSH1 0xe5 0000139a: SHL 0000139b: DUP2 0000139c: MSTORE 0000139d: PUSH1 0x04 0000139f: ADD 000013a0: PUSH2 0x00c8 000013a3: SWAP1 000013a4: PUSH2 0x220a 000013a7: JUMP 000013a8: JUMPDEST 000013a9: PUSH1 0x01 000013ab: SLOAD 000013ac: PUSH1 0xff 000013ae: DUP4 000013af: DUP2 000013b0: AND 000013b1: PUSH1 0x01 000013b3: PUSH1 0xa0 000013b5: SHL 000013b6: SWAP1 000013b7: SWAP3 000013b8: DIV 000013b9: AND 000013ba: EQ 000013bb: PUSH2 0x149f 000013be: JUMPI 000013bf: PUSH1 0x00 000013c1: PUSH2 0x13cb 000013c4: DUP8 000013c5: PUSH1 0x47 000013c7: PUSH2 0x16e3 000013ca: JUMP 000013cb: JUMPDEST 000013cc: SWAP1 000013cd: POP 000013ce: PUSH1 0x00 000013d0: DUP4 000013d1: DUP3 000013d2: PUSH1 0x40 000013d4: MLOAD 000013d5: PUSH1 0x20 000013d7: ADD 000013d8: PUSH2 0x13e2 000013db: SWAP3 000013dc: SWAP2 000013dd: SWAP1 000013de: PUSH2 0x1e60 000013e1: JUMP 000013e2: JUMPDEST 000013e3: PUSH1 0x40 000013e5: DUP1 000013e6: MLOAD 000013e7: PUSH1 0x1f 000013e9: NOT 000013ea: DUP2 000013eb: DUP5 000013ec: SUB 000013ed: ADD 000013ee: DUP2 000013ef: MSTORE 000013f0: SWAP2 000013f1: DUP2 000013f2: MSTORE 000013f3: DUP2 000013f4: MLOAD 000013f5: PUSH1 0x20 000013f7: SWAP3 000013f8: DUP4 000013f9: ADD 000013fa: KECCAK256 000013fb: PUSH1 0x00 000013fd: DUP2 000013fe: DUP2 000013ff: MSTORE 00001400: PUSH1 0x05 00001402: SWAP1 00001403: SWAP4 00001404: MSTORE 00001405: SWAP2 00001406: KECCAK256 00001407: SLOAD 00001408: SWAP1 00001409: SWAP2 0000140a: POP 0000140b: PUSH1 0x01 0000140d: PUSH1 0x01 0000140f: PUSH1 0xa0 00001411: SHL 00001412: SUB 00001413: AND 00001414: DUP1 00001415: PUSH2 0x1437 00001418: JUMPI 00001419: PUSH1 0x00 0000141b: PUSH2 0x1425 0000141e: DUP11 0000141f: PUSH1 0x67 00001421: PUSH2 0x15f2 00001424: JUMP 00001425: JUMPDEST 00001426: SWAP1 00001427: POP 00001428: PUSH2 0x1433 0000142b: DUP4 0000142c: DUP8 0000142d: DUP7 0000142e: DUP5 0000142f: PUSH2 0x180c 00001432: JUMP 00001433: JUMPDEST 00001434: SWAP2 00001435: POP 00001436: POP 00001437: JUMPDEST 00001438: PUSH1 0x40 0000143a: MLOAD 0000143b: PUSH4 0x40c10f19 00001440: PUSH1 0xe0 00001442: SHL 00001443: DUP2 00001444: MSTORE 00001445: PUSH1 0x01 00001447: PUSH1 0x01 00001449: PUSH1 0xa0 0000144b: SHL 0000144c: SUB 0000144d: DUP3 0000144e: AND 0000144f: SWAP1 00001450: PUSH4 0x40c10f19 00001455: SWAP1 00001456: PUSH2 0x1465 00001459: SWAP1 0000145a: DUP10 0000145b: SWAP1 0000145c: DUP9 0000145d: SWAP1 0000145e: PUSH1 0x04 00001460: ADD 00001461: PUSH2 0x1e91 00001464: JUMP 00001465: JUMPDEST 00001466: PUSH1 0x00 00001468: PUSH1 0x40 0000146a: MLOAD 0000146b: DUP1 0000146c: DUP4 0000146d: SUB 0000146e: DUP2 0000146f: PUSH1 0x00 00001471: DUP8 00001472: DUP1 00001473: EXTCODESIZE 00001474: ISZERO 00001475: DUP1 00001476: ISZERO 00001477: PUSH2 0x147f 0000147a: JUMPI 0000147b: PUSH1 0x00 0000147d: DUP1 0000147e: REVERT 0000147f: JUMPDEST 00001480: POP 00001481: GAS 00001482: CALL 00001483: ISZERO 00001484: DUP1 00001485: ISZERO 00001486: PUSH2 0x1493 00001489: JUMPI 0000148a: RETURNDATASIZE 0000148b: PUSH1 0x00 0000148d: DUP1 0000148e: RETURNDATACOPY 0000148f: RETURNDATASIZE 00001490: PUSH1 0x00 00001492: REVERT 00001493: JUMPDEST 00001494: POP 00001495: POP 00001496: POP 00001497: POP 00001498: POP 00001499: POP 0000149a: POP 0000149b: PUSH2 0x155d 0000149e: JUMP 0000149f: JUMPDEST 000014a0: PUSH1 0x00 000014a2: PUSH2 0x14ac 000014a5: DUP8 000014a6: PUSH1 0x53 000014a8: PUSH2 0x17d6 000014ab: JUMP 000014ac: JUMPDEST 000014ad: SWAP1 000014ae: POP 000014af: PUSH1 0x00 000014b1: DUP2 000014b2: PUSH1 0x01 000014b4: PUSH1 0x01 000014b6: PUSH1 0xa0 000014b8: SHL 000014b9: SUB 000014ba: AND 000014bb: PUSH4 0x313ce567 000014c0: PUSH1 0x40 000014c2: MLOAD 000014c3: DUP2 000014c4: PUSH4 0xffffffff 000014c9: AND 000014ca: PUSH1 0xe0 000014cc: SHL 000014cd: DUP2 000014ce: MSTORE 000014cf: PUSH1 0x04 000014d1: ADD 000014d2: PUSH1 0x20 000014d4: PUSH1 0x40 000014d6: MLOAD 000014d7: DUP1 000014d8: DUP4 000014d9: SUB 000014da: DUP2 000014db: DUP7 000014dc: DUP1 000014dd: EXTCODESIZE 000014de: ISZERO 000014df: DUP1 000014e0: ISZERO 000014e1: PUSH2 0x14e9 000014e4: JUMPI 000014e5: PUSH1 0x00 000014e7: DUP1 000014e8: REVERT 000014e9: JUMPDEST 000014ea: POP 000014eb: GAS 000014ec: STATICCALL 000014ed: ISZERO 000014ee: DUP1 000014ef: ISZERO 000014f0: PUSH2 0x14fd 000014f3: JUMPI 000014f4: RETURNDATASIZE 000014f5: PUSH1 0x00 000014f7: DUP1 000014f8: RETURNDATACOPY 000014f9: RETURNDATASIZE 000014fa: PUSH1 0x00 000014fc: REVERT 000014fd: JUMPDEST 000014fe: POP 000014ff: POP 00001500: POP 00001501: POP 00001502: PUSH1 0x40 00001504: MLOAD 00001505: RETURNDATASIZE 00001506: PUSH1 0x1f 00001508: NOT 00001509: PUSH1 0x1f 0000150b: DUP3 0000150c: ADD 0000150d: AND 0000150e: DUP3 0000150f: ADD 00001510: DUP1 00001511: PUSH1 0x40 00001513: MSTORE 00001514: POP 00001515: DUP2 00001516: ADD 00001517: SWAP1 00001518: PUSH2 0x1521 0000151b: SWAP2 0000151c: SWAP1 0000151d: PUSH2 0x1dfc 00001520: JUMP 00001521: JUMPDEST 00001522: SWAP1 00001523: POP 00001524: PUSH1 0x09 00001526: DUP2 00001527: PUSH1 0xff 00001529: AND 0000152a: GT 0000152b: ISZERO 0000152c: PUSH2 0x1546 0000152f: JUMPI 00001530: PUSH2 0x1543 00001533: DUP4 00001534: PUSH1 0xff 00001536: PUSH1 0x08 00001538: NOT 00001539: DUP5 0000153a: ADD 0000153b: AND 0000153c: PUSH1 0x0a 0000153e: EXP 0000153f: PUSH2 0x191a 00001542: JUMP 00001543: JUMPDEST 00001544: SWAP3 00001545: POP 00001546: JUMPDEST 00001547: PUSH2 0x155a 0000154a: PUSH1 0x01 0000154c: PUSH1 0x01 0000154e: PUSH1 0xa0 00001550: SHL 00001551: SUB 00001552: DUP4 00001553: AND 00001554: DUP7 00001555: DUP6 00001556: PUSH2 0x17b2 00001559: JUMP 0000155a: JUMPDEST 0000155b: POP 0000155c: POP 0000155d: JUMPDEST 0000155e: POP 0000155f: POP 00001560: POP 00001561: POP 00001562: POP 00001563: POP 00001564: JUMP 00001565: JUMPDEST 00001566: PUSH1 0x00 00001568: PUSH2 0x15a7 0000156b: DUP4 0000156c: DUP4 0000156d: PUSH1 0x40 0000156f: MLOAD 00001570: DUP1 00001571: PUSH1 0x40 00001573: ADD 00001574: PUSH1 0x40 00001576: MSTORE 00001577: DUP1 00001578: PUSH1 0x18 0000157a: DUP2 0000157b: MSTORE 0000157c: PUSH1 0x20 0000157e: ADD 0000157f: PUSH32 0x536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000 000015a0: DUP2 000015a1: MSTORE 000015a2: POP 000015a3: PUSH2 0x1954 000015a6: JUMP 000015a7: JUMPDEST 000015a8: SWAP1 000015a9: POP 000015aa: JUMPDEST 000015ab: SWAP3 000015ac: SWAP2 000015ad: POP 000015ae: POP 000015af: JUMP 000015b0: JUMPDEST 000015b1: PUSH1 0x00 000015b3: PUSH2 0x15a7 000015b6: DUP4 000015b7: DUP4 000015b8: PUSH1 0x40 000015ba: MLOAD 000015bb: DUP1 000015bc: PUSH1 0x40 000015be: ADD 000015bf: PUSH1 0x40 000015c1: MSTORE 000015c2: DUP1 000015c3: PUSH1 0x1a 000015c5: DUP2 000015c6: MSTORE 000015c7: PUSH1 0x20 000015c9: ADD 000015ca: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000 000015eb: DUP2 000015ec: MSTORE 000015ed: POP 000015ee: PUSH2 0x1988 000015f1: JUMP 000015f2: JUMPDEST 000015f3: PUSH1 0x00 000015f5: DUP2 000015f6: PUSH1 0x01 000015f8: ADD 000015f9: DUP4 000015fa: MLOAD 000015fb: LT 000015fc: ISZERO 000015fd: PUSH2 0x1618 00001600: JUMPI 00001601: PUSH1 0x40 00001603: MLOAD 00001604: PUSH3 0x461bcd 00001608: PUSH1 0xe5 0000160a: SHL 0000160b: DUP2 0000160c: MSTORE 0000160d: PUSH1 0x04 0000160f: ADD 00001610: PUSH2 0x00c8 00001613: SWAP1 00001614: PUSH2 0x2059 00001617: JUMP 00001618: JUMPDEST 00001619: POP 0000161a: ADD 0000161b: PUSH1 0x01 0000161d: ADD 0000161e: MLOAD 0000161f: SWAP1 00001620: JUMP 00001621: JUMPDEST 00001622: PUSH1 0x00 00001624: DUP2 00001625: PUSH1 0x04 00001627: ADD 00001628: DUP4 00001629: MLOAD 0000162a: LT 0000162b: ISZERO 0000162c: PUSH2 0x1647 0000162f: JUMPI 00001630: PUSH1 0x40 00001632: MLOAD 00001633: PUSH3 0x461bcd 00001637: PUSH1 0xe5 00001639: SHL 0000163a: DUP2 0000163b: MSTORE 0000163c: PUSH1 0x04 0000163e: ADD 0000163f: PUSH2 0x00c8 00001642: SWAP1 00001643: PUSH2 0x2059 00001646: JUMP 00001647: JUMPDEST 00001648: POP 00001649: ADD 0000164a: PUSH1 0x04 0000164c: ADD 0000164d: MLOAD 0000164e: SWAP1 0000164f: JUMP 00001650: JUMPDEST 00001651: PUSH1 0x60 00001653: DUP2 00001654: DUP4 00001655: ADD 00001656: DUP5 00001657: MLOAD 00001658: LT 00001659: ISZERO 0000165a: PUSH2 0x1675 0000165d: JUMPI 0000165e: PUSH1 0x40 00001660: MLOAD 00001661: PUSH3 0x461bcd 00001665: PUSH1 0xe5 00001667: SHL 00001668: DUP2 00001669: MSTORE 0000166a: PUSH1 0x04 0000166c: ADD 0000166d: PUSH2 0x00c8 00001670: SWAP1 00001671: PUSH2 0x2059 00001674: JUMP 00001675: JUMPDEST 00001676: PUSH1 0x60 00001678: DUP3 00001679: ISZERO 0000167a: DUP1 0000167b: ISZERO 0000167c: PUSH2 0x1690 0000167f: JUMPI 00001680: PUSH1 0x40 00001682: MLOAD 00001683: SWAP2 00001684: POP 00001685: PUSH1 0x20 00001687: DUP3 00001688: ADD 00001689: PUSH1 0x40 0000168b: MSTORE 0000168c: PUSH2 0x16da 0000168f: JUMP 00001690: JUMPDEST 00001691: PUSH1 0x40 00001693: MLOAD 00001694: SWAP2 00001695: POP 00001696: PUSH1 0x1f 00001698: DUP5 00001699: AND 0000169a: DUP1 0000169b: ISZERO 0000169c: PUSH1 0x20 0000169e: MUL 0000169f: DUP2 000016a0: DUP5 000016a1: ADD 000016a2: ADD 000016a3: DUP6 000016a4: DUP2 000016a5: ADD 000016a6: DUP8 000016a7: DUP4 000016a8: ISZERO 000016a9: PUSH1 0x20 000016ab: MUL 000016ac: DUP5 000016ad: DUP12 000016ae: ADD 000016af: ADD 000016b0: ADD 000016b1: JUMPDEST 000016b2: DUP2 000016b3: DUP4 000016b4: LT 000016b5: ISZERO 000016b6: PUSH2 0x16c9 000016b9: JUMPI 000016ba: DUP1 000016bb: MLOAD 000016bc: DUP4 000016bd: MSTORE 000016be: PUSH1 0x20 000016c0: SWAP3 000016c1: DUP4 000016c2: ADD 000016c3: SWAP3 000016c4: ADD 000016c5: PUSH2 0x16b1 000016c8: JUMP 000016c9: JUMPDEST 000016ca: POP 000016cb: POP 000016cc: DUP6 000016cd: DUP5 000016ce: MSTORE 000016cf: PUSH1 0x1f 000016d1: ADD 000016d2: PUSH1 0x1f 000016d4: NOT 000016d5: AND 000016d6: PUSH1 0x40 000016d8: MSTORE 000016d9: POP 000016da: JUMPDEST 000016db: POP 000016dc: SWAP5 000016dd: SWAP4 000016de: POP 000016df: POP 000016e0: POP 000016e1: POP 000016e2: JUMP 000016e3: JUMPDEST 000016e4: PUSH1 0x00 000016e6: DUP2 000016e7: PUSH1 0x20 000016e9: ADD 000016ea: DUP4 000016eb: MLOAD 000016ec: LT 000016ed: ISZERO 000016ee: PUSH2 0x1709 000016f1: JUMPI 000016f2: PUSH1 0x40 000016f4: MLOAD 000016f5: PUSH3 0x461bcd 000016f9: PUSH1 0xe5 000016fb: SHL 000016fc: DUP2 000016fd: MSTORE 000016fe: PUSH1 0x04 00001700: ADD 00001701: PUSH2 0x00c8 00001704: SWAP1 00001705: PUSH2 0x2059 00001708: JUMP 00001709: JUMPDEST 0000170a: POP 0000170b: ADD 0000170c: PUSH1 0x20 0000170e: ADD 0000170f: MLOAD 00001710: SWAP1 00001711: JUMP 00001712: JUMPDEST 00001713: PUSH2 0x176a 00001716: DUP5 00001717: PUSH4 0x23b872dd 0000171c: PUSH1 0xe0 0000171e: SHL 0000171f: DUP6 00001720: DUP6 00001721: DUP6 00001722: PUSH1 0x40 00001724: MLOAD 00001725: PUSH1 0x24 00001727: ADD 00001728: PUSH2 0x1733 0000172b: SWAP4 0000172c: SWAP3 0000172d: SWAP2 0000172e: SWAP1 0000172f: PUSH2 0x1eaa 00001732: JUMP 00001733: JUMPDEST 00001734: PUSH1 0x40 00001736: DUP1 00001737: MLOAD 00001738: PUSH1 0x1f 0000173a: NOT 0000173b: DUP2 0000173c: DUP5 0000173d: SUB 0000173e: ADD 0000173f: DUP2 00001740: MSTORE 00001741: SWAP2 00001742: SWAP1 00001743: MSTORE 00001744: PUSH1 0x20 00001746: DUP2 00001747: ADD 00001748: DUP1 00001749: MLOAD 0000174a: PUSH1 0x01 0000174c: PUSH1 0x01 0000174e: PUSH1 0xe0 00001750: SHL 00001751: SUB 00001752: AND 00001753: PUSH1 0x01 00001755: PUSH1 0x01 00001757: PUSH1 0xe0 00001759: SHL 0000175a: SUB 0000175b: NOT 0000175c: SWAP1 0000175d: SWAP4 0000175e: AND 0000175f: SWAP3 00001760: SWAP1 00001761: SWAP3 00001762: OR 00001763: SWAP1 00001764: SWAP2 00001765: MSTORE 00001766: PUSH2 0x19bf 00001769: JUMP 0000176a: JUMPDEST 0000176b: POP 0000176c: POP 0000176d: POP 0000176e: POP 0000176f: JUMP 00001770: JUMPDEST 00001771: PUSH1 0x00 00001773: PUSH2 0x15a7 00001776: DUP4 00001777: DUP4 00001778: PUSH1 0x40 0000177a: MLOAD 0000177b: DUP1 0000177c: PUSH1 0x40 0000177e: ADD 0000177f: PUSH1 0x40 00001781: MSTORE 00001782: DUP1 00001783: PUSH1 0x1e 00001785: DUP2 00001786: MSTORE 00001787: PUSH1 0x20 00001789: ADD 0000178a: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000 000017ab: DUP2 000017ac: MSTORE 000017ad: POP 000017ae: PUSH2 0x1a4e 000017b1: JUMP 000017b2: JUMPDEST 000017b3: PUSH2 0x17d1 000017b6: DUP4 000017b7: PUSH4 0xa9059cbb 000017bc: PUSH1 0xe0 000017be: SHL 000017bf: DUP5 000017c0: DUP5 000017c1: PUSH1 0x40 000017c3: MLOAD 000017c4: PUSH1 0x24 000017c6: ADD 000017c7: PUSH2 0x1733 000017ca: SWAP3 000017cb: SWAP2 000017cc: SWAP1 000017cd: PUSH2 0x1e91 000017d0: JUMP 000017d1: JUMPDEST 000017d2: POP 000017d3: POP 000017d4: POP 000017d5: JUMP 000017d6: JUMPDEST 000017d7: PUSH1 0x00 000017d9: DUP2 000017da: PUSH1 0x14 000017dc: ADD 000017dd: DUP4 000017de: MLOAD 000017df: LT 000017e0: ISZERO 000017e1: PUSH2 0x17fc 000017e4: JUMPI 000017e5: PUSH1 0x40 000017e7: MLOAD 000017e8: PUSH3 0x461bcd 000017ec: PUSH1 0xe5 000017ee: SHL 000017ef: DUP2 000017f0: MSTORE 000017f1: PUSH1 0x04 000017f3: ADD 000017f4: PUSH2 0x00c8 000017f7: SWAP1 000017f8: PUSH2 0x2059 000017fb: JUMP 000017fc: JUMPDEST 000017fd: POP 000017fe: ADD 000017ff: PUSH1 0x20 00001801: ADD 00001802: MLOAD 00001803: PUSH1 0x01 00001805: PUSH1 0x60 00001807: SHL 00001808: SWAP1 00001809: DIV 0000180a: SWAP1 0000180b: JUMP 0000180c: JUMPDEST 0000180d: PUSH1 0x01 0000180f: SLOAD 00001810: PUSH1 0x40 00001812: MLOAD 00001813: PUSH20 0x3d602d80600a3d3981f3363d3d373d3d3d363d73 00001828: PUSH1 0x60 0000182a: SHL 0000182b: DUP2 0000182c: MSTORE 0000182d: PUSH1 0x60 0000182f: SWAP2 00001830: SWAP1 00001831: SWAP2 00001832: SHL 00001833: PUSH12 0xffffffffffffffffffffffff 00001840: NOT 00001841: AND 00001842: PUSH1 0x14 00001844: DUP3 00001845: ADD 00001846: DUP2 00001847: SWAP1 00001848: MSTORE 00001849: PUSH15 0x5af43d82803e903d91602b57fd5bf3 00001859: PUSH1 0x88 0000185b: SHL 0000185c: PUSH1 0x28 0000185e: DUP4 0000185f: ADD 00001860: MSTORE 00001861: PUSH1 0x00 00001863: SWAP2 00001864: DUP7 00001865: PUSH1 0x37 00001867: DUP3 00001868: DUP6 00001869: CREATE2 0000186a: PUSH1 0x40 0000186c: MLOAD 0000186d: PUSH4 0xa7a2d3fb 00001872: PUSH1 0xe0 00001874: SHL 00001875: DUP2 00001876: MSTORE 00001877: SWAP1 00001878: SWAP4 00001879: POP 0000187a: PUSH1 0x01 0000187c: PUSH1 0x01 0000187e: PUSH1 0xa0 00001880: SHL 00001881: SUB 00001882: DUP5 00001883: AND 00001884: SWAP2 00001885: POP 00001886: PUSH4 0xa7a2d3fb 0000188b: SWAP1 0000188c: PUSH2 0x189d 0000188f: SWAP1 00001890: DUP9 00001891: SWAP1 00001892: DUP9 00001893: SWAP1 00001894: DUP9 00001895: SWAP1 00001896: PUSH1 0x04 00001898: ADD 00001899: PUSH2 0x24d9 0000189c: JUMP 0000189d: JUMPDEST 0000189e: PUSH1 0x00 000018a0: PUSH1 0x40 000018a2: MLOAD 000018a3: DUP1 000018a4: DUP4 000018a5: SUB 000018a6: DUP2 000018a7: PUSH1 0x00 000018a9: DUP8 000018aa: DUP1 000018ab: EXTCODESIZE 000018ac: ISZERO 000018ad: DUP1 000018ae: ISZERO 000018af: PUSH2 0x18b7 000018b2: JUMPI 000018b3: PUSH1 0x00 000018b5: DUP1 000018b6: REVERT 000018b7: JUMPDEST 000018b8: POP 000018b9: GAS 000018ba: CALL 000018bb: ISZERO 000018bc: DUP1 000018bd: ISZERO 000018be: PUSH2 0x18cb 000018c1: JUMPI 000018c2: RETURNDATASIZE 000018c3: PUSH1 0x00 000018c5: DUP1 000018c6: RETURNDATACOPY 000018c7: RETURNDATASIZE 000018c8: PUSH1 0x00 000018ca: REVERT 000018cb: JUMPDEST 000018cc: POP 000018cd: POP 000018ce: POP 000018cf: PUSH1 0x00 000018d1: SWAP7 000018d2: DUP8 000018d3: MSTORE 000018d4: POP 000018d5: POP 000018d6: PUSH1 0x05 000018d8: PUSH1 0x20 000018da: SWAP1 000018db: DUP2 000018dc: MSTORE 000018dd: PUSH1 0x40 000018df: DUP1 000018e0: DUP8 000018e1: KECCAK256 000018e2: DUP1 000018e3: SLOAD 000018e4: PUSH1 0x01 000018e6: PUSH1 0x01 000018e8: PUSH1 0xa0 000018ea: SHL 000018eb: SUB 000018ec: NOT 000018ed: AND 000018ee: PUSH1 0x01 000018f0: PUSH1 0x01 000018f2: PUSH1 0xa0 000018f4: SHL 000018f5: SUB 000018f6: DUP6 000018f7: AND 000018f8: SWAP1 000018f9: DUP2 000018fa: OR 000018fb: SWAP1 000018fc: SWAP2 000018fd: SSTORE 000018fe: DUP8 000018ff: MSTORE 00001900: PUSH1 0x06 00001902: SWAP1 00001903: SWAP2 00001904: MSTORE 00001905: SWAP1 00001906: SWAP5 00001907: KECCAK256 00001908: DUP1 00001909: SLOAD 0000190a: PUSH1 0xff 0000190c: NOT 0000190d: AND 0000190e: PUSH1 0x01 00001910: OR 00001911: SWAP1 00001912: SSTORE 00001913: POP 00001914: SWAP2 00001915: SWAP3 00001916: SWAP2 00001917: POP 00001918: POP 00001919: JUMP 0000191a: JUMPDEST 0000191b: PUSH1 0x00 0000191d: DUP3 0000191e: PUSH2 0x1929 00001921: JUMPI 00001922: POP 00001923: PUSH1 0x00 00001925: PUSH2 0x15aa 00001928: JUMP 00001929: JUMPDEST 0000192a: DUP3 0000192b: DUP3 0000192c: MUL 0000192d: DUP3 0000192e: DUP5 0000192f: DUP3 00001930: DUP2 00001931: PUSH2 0x1936 00001934: JUMPI 00001935: INVALID 00001936: JUMPDEST 00001937: DIV 00001938: EQ 00001939: PUSH2 0x15a7 0000193c: JUMPI 0000193d: PUSH1 0x40 0000193f: MLOAD 00001940: PUSH3 0x461bcd 00001944: PUSH1 0xe5 00001946: SHL 00001947: DUP2 00001948: MSTORE 00001949: PUSH1 0x04 0000194b: ADD 0000194c: PUSH2 0x00c8 0000194f: SWAP1 00001950: PUSH2 0x212e 00001953: JUMP 00001954: JUMPDEST 00001955: PUSH1 0x00 00001957: DUP2 00001958: DUP4 00001959: PUSH2 0x1975 0000195c: JUMPI 0000195d: PUSH1 0x40 0000195f: MLOAD 00001960: PUSH3 0x461bcd 00001964: PUSH1 0xe5 00001966: SHL 00001967: DUP2 00001968: MSTORE 00001969: PUSH1 0x04 0000196b: ADD 0000196c: PUSH2 0x00c8 0000196f: SWAP2 00001970: SWAP1 00001971: PUSH2 0x1ef7 00001974: JUMP 00001975: JUMPDEST 00001976: POP 00001977: DUP3 00001978: DUP5 00001979: DUP2 0000197a: PUSH2 0x197f 0000197d: JUMPI 0000197e: INVALID 0000197f: JUMPDEST 00001980: MOD 00001981: SWAP5 00001982: SWAP4 00001983: POP 00001984: POP 00001985: POP 00001986: POP 00001987: JUMP 00001988: JUMPDEST 00001989: PUSH1 0x00 0000198b: DUP2 0000198c: DUP4 0000198d: PUSH2 0x19a9 00001990: JUMPI 00001991: PUSH1 0x40 00001993: MLOAD 00001994: PUSH3 0x461bcd 00001998: PUSH1 0xe5 0000199a: SHL 0000199b: DUP2 0000199c: MSTORE 0000199d: PUSH1 0x04 0000199f: ADD 000019a0: PUSH2 0x00c8 000019a3: SWAP2 000019a4: SWAP1 000019a5: PUSH2 0x1ef7 000019a8: JUMP 000019a9: JUMPDEST 000019aa: POP 000019ab: PUSH1 0x00 000019ad: DUP4 000019ae: DUP6 000019af: DUP2 000019b0: PUSH2 0x19b5 000019b3: JUMPI 000019b4: INVALID 000019b5: JUMPDEST 000019b6: DIV 000019b7: SWAP6 000019b8: SWAP5 000019b9: POP 000019ba: POP 000019bb: POP 000019bc: POP 000019bd: POP 000019be: JUMP 000019bf: JUMPDEST 000019c0: PUSH1 0x60 000019c2: PUSH2 0x1a14 000019c5: DUP3 000019c6: PUSH1 0x40 000019c8: MLOAD 000019c9: DUP1 000019ca: PUSH1 0x40 000019cc: ADD 000019cd: PUSH1 0x40 000019cf: MSTORE 000019d0: DUP1 000019d1: PUSH1 0x20 000019d3: DUP2 000019d4: MSTORE 000019d5: PUSH1 0x20 000019d7: ADD 000019d8: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 000019f9: DUP2 000019fa: MSTORE 000019fb: POP 000019fc: DUP6 000019fd: PUSH1 0x01 000019ff: PUSH1 0x01 00001a01: PUSH1 0xa0 00001a03: SHL 00001a04: SUB 00001a05: AND 00001a06: PUSH2 0x1a7a 00001a09: SWAP1 00001a0a: SWAP3 00001a0b: SWAP2 00001a0c: SWAP1 00001a0d: PUSH4 0xffffffff 00001a12: AND 00001a13: JUMP 00001a14: JUMPDEST 00001a15: DUP1 00001a16: MLOAD 00001a17: SWAP1 00001a18: SWAP2 00001a19: POP 00001a1a: ISZERO 00001a1b: PUSH2 0x17d1 00001a1e: JUMPI 00001a1f: DUP1 00001a20: DUP1 00001a21: PUSH1 0x20 00001a23: ADD 00001a24: SWAP1 00001a25: MLOAD 00001a26: DUP2 00001a27: ADD 00001a28: SWAP1 00001a29: PUSH2 0x1a32 00001a2c: SWAP2 00001a2d: SWAP1 00001a2e: PUSH2 0x1ce1 00001a31: JUMP 00001a32: JUMPDEST 00001a33: PUSH2 0x17d1 00001a36: JUMPI 00001a37: PUSH1 0x40 00001a39: MLOAD 00001a3a: PUSH3 0x461bcd 00001a3e: PUSH1 0xe5 00001a40: SHL 00001a41: DUP2 00001a42: MSTORE 00001a43: PUSH1 0x04 00001a45: ADD 00001a46: PUSH2 0x00c8 00001a49: SWAP1 00001a4a: PUSH2 0x22f2 00001a4d: JUMP 00001a4e: JUMPDEST 00001a4f: PUSH1 0x00 00001a51: DUP2 00001a52: DUP5 00001a53: DUP5 00001a54: GT 00001a55: ISZERO 00001a56: PUSH2 0x1a72 00001a59: JUMPI 00001a5a: PUSH1 0x40 00001a5c: MLOAD 00001a5d: PUSH3 0x461bcd 00001a61: PUSH1 0xe5 00001a63: SHL 00001a64: DUP2 00001a65: MSTORE 00001a66: PUSH1 0x04 00001a68: ADD 00001a69: PUSH2 0x00c8 00001a6c: SWAP2 00001a6d: SWAP1 00001a6e: PUSH2 0x1ef7 00001a71: JUMP 00001a72: JUMPDEST 00001a73: POP 00001a74: POP 00001a75: POP 00001a76: SWAP1 00001a77: SUB 00001a78: SWAP1 00001a79: JUMP 00001a7a: JUMPDEST 00001a7b: PUSH1 0x60 00001a7d: PUSH2 0x1a89 00001a80: DUP5 00001a81: DUP5 00001a82: PUSH1 0x00 00001a84: DUP6 00001a85: PUSH2 0x1a91 00001a88: JUMP 00001a89: JUMPDEST 00001a8a: SWAP5 00001a8b: SWAP4 00001a8c: POP 00001a8d: POP 00001a8e: POP 00001a8f: POP 00001a90: JUMP 00001a91: JUMPDEST 00001a92: PUSH1 0x60 00001a94: PUSH2 0x1a9c 00001a97: DUP6 00001a98: PUSH2 0x1b55 00001a9b: JUMP 00001a9c: JUMPDEST 00001a9d: PUSH2 0x1ab8 00001aa0: JUMPI 00001aa1: PUSH1 0x40 00001aa3: MLOAD 00001aa4: PUSH3 0x461bcd 00001aa8: PUSH1 0xe5 00001aaa: SHL 00001aab: DUP2 00001aac: MSTORE 00001aad: PUSH1 0x04 00001aaf: ADD 00001ab0: PUSH2 0x00c8 00001ab3: SWAP1 00001ab4: PUSH2 0x2278 00001ab7: JUMP 00001ab8: JUMPDEST 00001ab9: PUSH1 0x00 00001abb: PUSH1 0x60 00001abd: DUP7 00001abe: PUSH1 0x01 00001ac0: PUSH1 0x01 00001ac2: PUSH1 0xa0 00001ac4: SHL 00001ac5: SUB 00001ac6: AND 00001ac7: DUP6 00001ac8: DUP8 00001ac9: PUSH1 0x40 00001acb: MLOAD 00001acc: PUSH2 0x1ad5 00001acf: SWAP2 00001ad0: SWAP1 00001ad1: PUSH2 0x1e44 00001ad4: JUMP 00001ad5: JUMPDEST 00001ad6: PUSH1 0x00 00001ad8: PUSH1 0x40 00001ada: MLOAD 00001adb: DUP1 00001adc: DUP4 00001add: SUB 00001ade: DUP2 00001adf: DUP6 00001ae0: DUP8 00001ae1: GAS 00001ae2: CALL 00001ae3: SWAP3 00001ae4: POP 00001ae5: POP 00001ae6: POP 00001ae7: RETURNDATASIZE 00001ae8: DUP1 00001ae9: PUSH1 0x00 00001aeb: DUP2 00001aec: EQ 00001aed: PUSH2 0x1b12 00001af0: JUMPI 00001af1: PUSH1 0x40 00001af3: MLOAD 00001af4: SWAP2 00001af5: POP 00001af6: PUSH1 0x1f 00001af8: NOT 00001af9: PUSH1 0x3f 00001afb: RETURNDATASIZE 00001afc: ADD 00001afd: AND 00001afe: DUP3 00001aff: ADD 00001b00: PUSH1 0x40 00001b02: MSTORE 00001b03: RETURNDATASIZE 00001b04: DUP3 00001b05: MSTORE 00001b06: RETURNDATASIZE 00001b07: PUSH1 0x00 00001b09: PUSH1 0x20 00001b0b: DUP5 00001b0c: ADD 00001b0d: RETURNDATACOPY 00001b0e: PUSH2 0x1b17 00001b11: JUMP 00001b12: JUMPDEST 00001b13: PUSH1 0x60 00001b15: SWAP2 00001b16: POP 00001b17: JUMPDEST 00001b18: POP 00001b19: SWAP2 00001b1a: POP 00001b1b: SWAP2 00001b1c: POP 00001b1d: DUP2 00001b1e: ISZERO 00001b1f: PUSH2 0x1b2b 00001b22: JUMPI 00001b23: SWAP2 00001b24: POP 00001b25: PUSH2 0x1a89 00001b28: SWAP1 00001b29: POP 00001b2a: JUMP 00001b2b: JUMPDEST 00001b2c: DUP1 00001b2d: MLOAD 00001b2e: ISZERO 00001b2f: PUSH2 0x1b3b 00001b32: JUMPI 00001b33: DUP1 00001b34: MLOAD 00001b35: DUP1 00001b36: DUP3 00001b37: PUSH1 0x20 00001b39: ADD 00001b3a: REVERT 00001b3b: JUMPDEST 00001b3c: DUP4 00001b3d: PUSH1 0x40 00001b3f: MLOAD 00001b40: PUSH3 0x461bcd 00001b44: PUSH1 0xe5 00001b46: SHL 00001b47: DUP2 00001b48: MSTORE 00001b49: PUSH1 0x04 00001b4b: ADD 00001b4c: PUSH2 0x00c8 00001b4f: SWAP2 00001b50: SWAP1 00001b51: PUSH2 0x1ef7 00001b54: JUMP 00001b55: JUMPDEST 00001b56: EXTCODESIZE 00001b57: ISZERO 00001b58: ISZERO 00001b59: SWAP1 00001b5a: JUMP 00001b5b: JUMPDEST 00001b5c: PUSH1 0x40 00001b5e: DUP1 00001b5f: MLOAD 00001b60: PUSH1 0xc0 00001b62: DUP2 00001b63: ADD 00001b64: DUP3 00001b65: MSTORE 00001b66: PUSH1 0x00 00001b68: DUP1 00001b69: DUP3 00001b6a: MSTORE 00001b6b: PUSH1 0x20 00001b6d: DUP3 00001b6e: ADD 00001b6f: DUP2 00001b70: SWAP1 00001b71: MSTORE 00001b72: SWAP2 00001b73: DUP2 00001b74: ADD 00001b75: DUP3 00001b76: SWAP1 00001b77: MSTORE 00001b78: PUSH1 0x60 00001b7a: DUP1 00001b7b: DUP3 00001b7c: ADD 00001b7d: DUP4 00001b7e: SWAP1 00001b7f: MSTORE 00001b80: PUSH1 0x80 00001b82: DUP3 00001b83: ADD 00001b84: SWAP3 00001b85: SWAP1 00001b86: SWAP3 00001b87: MSTORE 00001b88: PUSH1 0xa0 00001b8a: DUP2 00001b8b: ADD 00001b8c: SWAP2 00001b8d: SWAP1 00001b8e: SWAP2 00001b8f: MSTORE 00001b90: SWAP1 00001b91: JUMP 00001b92: JUMPDEST 00001b93: PUSH1 0x40 00001b95: DUP1 00001b96: MLOAD 00001b97: DUP1 00001b98: DUP3 00001b99: ADD 00001b9a: SWAP1 00001b9b: SWAP2 00001b9c: MSTORE 00001b9d: PUSH1 0x60 00001b9f: DUP2 00001ba0: MSTORE 00001ba1: PUSH1 0x00 00001ba3: PUSH1 0x20 00001ba5: DUP3 00001ba6: ADD 00001ba7: MSTORE 00001ba8: SWAP1 00001ba9: JUMP 00001baa: JUMPDEST 00001bab: DUP3 00001bac: DUP1 00001bad: SLOAD 00001bae: DUP3 00001baf: DUP3 00001bb0: SSTORE 00001bb1: SWAP1 00001bb2: PUSH1 0x00 00001bb4: MSTORE 00001bb5: PUSH1 0x20 00001bb7: PUSH1 0x00 00001bb9: KECCAK256 00001bba: SWAP1 00001bbb: DUP2 00001bbc: ADD 00001bbd: SWAP3 00001bbe: DUP3 00001bbf: ISZERO 00001bc0: PUSH2 0x1bff 00001bc3: JUMPI 00001bc4: SWAP2 00001bc5: PUSH1 0x20 00001bc7: MUL 00001bc8: DUP3 00001bc9: ADD 00001bca: JUMPDEST 00001bcb: DUP3 00001bcc: DUP2 00001bcd: GT 00001bce: ISZERO 00001bcf: PUSH2 0x1bff 00001bd2: JUMPI 00001bd3: DUP3 00001bd4: MLOAD 00001bd5: DUP3 00001bd6: SLOAD 00001bd7: PUSH1 0x01 00001bd9: PUSH1 0x01 00001bdb: PUSH1 0xa0 00001bdd: SHL 00001bde: SUB 00001bdf: NOT 00001be0: AND 00001be1: PUSH1 0x01 00001be3: PUSH1 0x01 00001be5: PUSH1 0xa0 00001be7: SHL 00001be8: SUB 00001be9: SWAP1 00001bea: SWAP2 00001beb: AND 00001bec: OR 00001bed: DUP3 00001bee: SSTORE 00001bef: PUSH1 0x20 00001bf1: SWAP1 00001bf2: SWAP3 00001bf3: ADD 00001bf4: SWAP2 00001bf5: PUSH1 0x01 00001bf7: SWAP1 00001bf8: SWAP2 00001bf9: ADD 00001bfa: SWAP1 00001bfb: PUSH2 0x1bca 00001bfe: JUMP 00001bff: JUMPDEST 00001c00: POP 00001c01: PUSH2 0x1c0b 00001c04: SWAP3 00001c05: SWAP2 00001c06: POP 00001c07: PUSH2 0x1c0f 00001c0a: JUMP 00001c0b: JUMPDEST 00001c0c: POP 00001c0d: SWAP1 00001c0e: JUMP 00001c0f: JUMPDEST 00001c10: JUMPDEST 00001c11: DUP1 00001c12: DUP3 00001c13: GT 00001c14: ISZERO 00001c15: PUSH2 0x1c0b 00001c18: JUMPI 00001c19: DUP1 00001c1a: SLOAD 00001c1b: PUSH1 0x01 00001c1d: PUSH1 0x01 00001c1f: PUSH1 0xa0 00001c21: SHL 00001c22: SUB 00001c23: NOT 00001c24: AND 00001c25: DUP2 00001c26: SSTORE 00001c27: PUSH1 0x01 00001c29: ADD 00001c2a: PUSH2 0x1c10 00001c2d: JUMP 00001c2e: JUMPDEST 00001c2f: DUP1 00001c30: CALLDATALOAD 00001c31: PUSH1 0x01 00001c33: PUSH1 0x01 00001c35: PUSH1 0xa0 00001c37: SHL 00001c38: SUB 00001c39: DUP2 00001c3a: AND 00001c3b: DUP2 00001c3c: EQ 00001c3d: PUSH2 0x15aa 00001c40: JUMPI 00001c41: PUSH1 0x00 00001c43: DUP1 00001c44: REVERT 00001c45: JUMPDEST 00001c46: DUP1 00001c47: CALLDATALOAD 00001c48: PUSH4 0xffffffff 00001c4d: DUP2 00001c4e: AND 00001c4f: DUP2 00001c50: EQ 00001c51: PUSH2 0x15aa 00001c54: JUMPI 00001c55: PUSH1 0x00 00001c57: DUP1 00001c58: REVERT 00001c59: JUMPDEST 00001c5a: PUSH1 0x00 00001c5c: PUSH1 0x20 00001c5e: DUP3 00001c5f: DUP5 00001c60: SUB 00001c61: SLT 00001c62: ISZERO 00001c63: PUSH2 0x1c6a 00001c66: JUMPI 00001c67: DUP1 00001c68: DUP2 00001c69: REVERT 00001c6a: JUMPDEST 00001c6b: PUSH2 0x15a7 00001c6e: DUP4 00001c6f: DUP4 00001c70: PUSH2 0x1c2e 00001c73: JUMP 00001c74: JUMPDEST 00001c75: PUSH1 0x00 00001c77: DUP1 00001c78: PUSH1 0x00 00001c7a: DUP1 00001c7b: PUSH1 0x00 00001c7d: DUP1 00001c7e: PUSH1 0xc0 00001c80: DUP8 00001c81: DUP10 00001c82: SUB 00001c83: SLT 00001c84: ISZERO 00001c85: PUSH2 0x1c8c 00001c88: JUMPI 00001c89: DUP2 00001c8a: DUP3 00001c8b: REVERT 00001c8c: JUMPDEST 00001c8d: PUSH2 0x1c96 00001c90: DUP9 00001c91: DUP9 00001c92: PUSH2 0x1c2e 00001c95: JUMP 00001c96: JUMPDEST 00001c97: SWAP6 00001c98: POP 00001c99: PUSH1 0x20 00001c9b: DUP8 00001c9c: ADD 00001c9d: CALLDATALOAD 00001c9e: SWAP5 00001c9f: POP 00001ca0: PUSH1 0x40 00001ca2: DUP8 00001ca3: ADD 00001ca4: CALLDATALOAD 00001ca5: SWAP4 00001ca6: POP 00001ca7: PUSH1 0x60 00001ca9: DUP8 00001caa: ADD 00001cab: CALLDATALOAD 00001cac: PUSH2 0x1cb4 00001caf: DUP2 00001cb0: PUSH2 0x256b 00001cb3: JUMP 00001cb4: JUMPDEST 00001cb5: SWAP3 00001cb6: POP 00001cb7: PUSH2 0x1cc3 00001cba: DUP9 00001cbb: PUSH1 0x80 00001cbd: DUP10 00001cbe: ADD 00001cbf: PUSH2 0x1c45 00001cc2: JUMP 00001cc3: JUMPDEST 00001cc4: SWAP2 00001cc5: POP 00001cc6: PUSH1 0xa0 00001cc8: DUP8 00001cc9: ADD 00001cca: CALLDATALOAD 00001ccb: PUSH2 0x1cd3 00001cce: DUP2 00001ccf: PUSH2 0x255a 00001cd2: JUMP 00001cd3: JUMPDEST 00001cd4: DUP1 00001cd5: SWAP2 00001cd6: POP 00001cd7: POP 00001cd8: SWAP3 00001cd9: SWAP6 00001cda: POP 00001cdb: SWAP3 00001cdc: SWAP6 00001cdd: POP 00001cde: SWAP3 00001cdf: SWAP6 00001ce0: JUMP 00001ce1: JUMPDEST 00001ce2: PUSH1 0x00 00001ce4: PUSH1 0x20 00001ce6: DUP3 00001ce7: DUP5 00001ce8: SUB 00001ce9: SLT 00001cea: ISZERO 00001ceb: PUSH2 0x1cf2 00001cee: JUMPI 00001cef: DUP1 00001cf0: DUP2 00001cf1: REVERT 00001cf2: JUMPDEST 00001cf3: DUP2 00001cf4: MLOAD 00001cf5: PUSH2 0x15a7 00001cf8: DUP2 00001cf9: PUSH2 0x255a 00001cfc: JUMP 00001cfd: JUMPDEST 00001cfe: PUSH1 0x00 00001d00: PUSH1 0x20 00001d02: DUP3 00001d03: DUP5 00001d04: SUB 00001d05: SLT 00001d06: ISZERO 00001d07: PUSH2 0x1d0e 00001d0a: JUMPI 00001d0b: DUP1 00001d0c: DUP2 00001d0d: REVERT 00001d0e: JUMPDEST 00001d0f: POP 00001d10: CALLDATALOAD 00001d11: SWAP2 00001d12: SWAP1 00001d13: POP 00001d14: JUMP 00001d15: JUMPDEST 00001d16: PUSH1 0x00 00001d18: PUSH1 0x20 00001d1a: DUP3 00001d1b: DUP5 00001d1c: SUB 00001d1d: SLT 00001d1e: ISZERO 00001d1f: PUSH2 0x1d26 00001d22: JUMPI 00001d23: DUP1 00001d24: DUP2 00001d25: REVERT 00001d26: JUMPDEST 00001d27: POP 00001d28: MLOAD 00001d29: SWAP2 00001d2a: SWAP1 00001d2b: POP 00001d2c: JUMP 00001d2d: JUMPDEST 00001d2e: PUSH1 0x00 00001d30: DUP1 00001d31: PUSH1 0x00 00001d33: PUSH1 0x60 00001d35: DUP5 00001d36: DUP7 00001d37: SUB 00001d38: SLT 00001d39: ISZERO 00001d3a: PUSH2 0x1d41 00001d3d: JUMPI 00001d3e: DUP3 00001d3f: DUP4 00001d40: REVERT 00001d41: JUMPDEST 00001d42: DUP4 00001d43: CALLDATALOAD 00001d44: SWAP3 00001d45: POP 00001d46: PUSH1 0x20 00001d48: DUP5 00001d49: ADD 00001d4a: CALLDATALOAD 00001d4b: PUSH2 0x1d53 00001d4e: DUP2 00001d4f: PUSH2 0x256b 00001d52: JUMP 00001d53: JUMPDEST 00001d54: SWAP2 00001d55: POP 00001d56: PUSH2 0x1d62 00001d59: DUP6 00001d5a: PUSH1 0x40 00001d5c: DUP7 00001d5d: ADD 00001d5e: PUSH2 0x1c45 00001d61: JUMP 00001d62: JUMPDEST 00001d63: SWAP1 00001d64: POP 00001d65: SWAP3 00001d66: POP 00001d67: SWAP3 00001d68: POP 00001d69: SWAP3 00001d6a: JUMP 00001d6b: JUMPDEST 00001d6c: PUSH1 0x00 00001d6e: DUP1 00001d6f: PUSH1 0x20 00001d71: DUP4 00001d72: DUP6 00001d73: SUB 00001d74: SLT 00001d75: ISZERO 00001d76: PUSH2 0x1d7d 00001d79: JUMPI 00001d7a: DUP2 00001d7b: DUP3 00001d7c: REVERT 00001d7d: JUMPDEST 00001d7e: DUP3 00001d7f: CALLDATALOAD 00001d80: PUSH8 0xffffffffffffffff 00001d89: DUP1 00001d8a: DUP3 00001d8b: GT 00001d8c: ISZERO 00001d8d: PUSH2 0x1d94 00001d90: JUMPI 00001d91: DUP4 00001d92: DUP5 00001d93: REVERT 00001d94: JUMPDEST 00001d95: DUP2 00001d96: DUP6 00001d97: ADD 00001d98: SWAP2 00001d99: POP 00001d9a: DUP6 00001d9b: PUSH1 0x1f 00001d9d: DUP4 00001d9e: ADD 00001d9f: SLT 00001da0: PUSH2 0x1da7 00001da3: JUMPI 00001da4: DUP4 00001da5: DUP5 00001da6: REVERT 00001da7: JUMPDEST 00001da8: DUP2 00001da9: CALLDATALOAD 00001daa: DUP2 00001dab: DUP2 00001dac: GT 00001dad: ISZERO 00001dae: PUSH2 0x1db5 00001db1: JUMPI 00001db2: DUP5 00001db3: DUP6 00001db4: REVERT 00001db5: JUMPDEST 00001db6: DUP7 00001db7: PUSH1 0x20 00001db9: DUP3 00001dba: DUP6 00001dbb: ADD 00001dbc: ADD 00001dbd: GT 00001dbe: ISZERO 00001dbf: PUSH2 0x1dc6 00001dc2: JUMPI 00001dc3: DUP5 00001dc4: DUP6 00001dc5: REVERT 00001dc6: JUMPDEST 00001dc7: PUSH1 0x20 00001dc9: SWAP3 00001dca: SWAP1 00001dcb: SWAP3 00001dcc: ADD 00001dcd: SWAP7 00001dce: SWAP2 00001dcf: SWAP6 00001dd0: POP 00001dd1: SWAP1 00001dd2: SWAP4 00001dd3: POP 00001dd4: POP 00001dd5: POP 00001dd6: POP 00001dd7: JUMP 00001dd8: JUMPDEST 00001dd9: PUSH1 0x00 00001ddb: PUSH1 0x20 00001ddd: DUP3 00001dde: DUP5 00001ddf: SUB 00001de0: SLT 00001de1: ISZERO 00001de2: PUSH2 0x1de9 00001de5: JUMPI 00001de6: DUP1 00001de7: DUP2 00001de8: REVERT 00001de9: JUMPDEST 00001dea: DUP2 00001deb: CALLDATALOAD 00001dec: PUSH4 0xffffffff 00001df1: DUP2 00001df2: AND 00001df3: DUP2 00001df4: EQ 00001df5: PUSH2 0x15a7 00001df8: JUMPI 00001df9: DUP2 00001dfa: DUP3 00001dfb: REVERT 00001dfc: JUMPDEST 00001dfd: PUSH1 0x00 00001dff: PUSH1 0x20 00001e01: DUP3 00001e02: DUP5 00001e03: SUB 00001e04: SLT 00001e05: ISZERO 00001e06: PUSH2 0x1e0d 00001e09: JUMPI 00001e0a: DUP1 00001e0b: DUP2 00001e0c: REVERT 00001e0d: JUMPDEST 00001e0e: DUP2 00001e0f: MLOAD 00001e10: PUSH2 0x15a7 00001e13: DUP2 00001e14: PUSH2 0x256b 00001e17: JUMP 00001e18: JUMPDEST 00001e19: PUSH1 0x00 00001e1b: DUP2 00001e1c: MLOAD 00001e1d: DUP1 00001e1e: DUP5 00001e1f: MSTORE 00001e20: PUSH2 0x1e30 00001e23: DUP2 00001e24: PUSH1 0x20 00001e26: DUP7 00001e27: ADD 00001e28: PUSH1 0x20 00001e2a: DUP7 00001e2b: ADD 00001e2c: PUSH2 0x252e 00001e2f: JUMP 00001e30: JUMPDEST 00001e31: PUSH1 0x1f 00001e33: ADD 00001e34: PUSH1 0x1f 00001e36: NOT 00001e37: AND 00001e38: SWAP3 00001e39: SWAP1 00001e3a: SWAP3 00001e3b: ADD 00001e3c: PUSH1 0x20 00001e3e: ADD 00001e3f: SWAP3 00001e40: SWAP2 00001e41: POP 00001e42: POP 00001e43: JUMP 00001e44: JUMPDEST 00001e45: PUSH1 0x00 00001e47: DUP3 00001e48: MLOAD 00001e49: PUSH2 0x1e56 00001e4c: DUP2 00001e4d: DUP5 00001e4e: PUSH1 0x20 00001e50: DUP8 00001e51: ADD 00001e52: PUSH2 0x252e 00001e55: JUMP 00001e56: JUMPDEST 00001e57: SWAP2 00001e58: SWAP1 00001e59: SWAP2 00001e5a: ADD 00001e5b: SWAP3 00001e5c: SWAP2 00001e5d: POP 00001e5e: POP 00001e5f: JUMP 00001e60: JUMPDEST 00001e61: PUSH1 0xf8 00001e63: SWAP3 00001e64: SWAP1 00001e65: SWAP3 00001e66: SHL 00001e67: PUSH1 0x01 00001e69: PUSH1 0x01 00001e6b: PUSH1 0xf8 00001e6d: SHL 00001e6e: SUB 00001e6f: NOT 00001e70: AND 00001e71: DUP3 00001e72: MSTORE 00001e73: PUSH1 0x01 00001e75: DUP3 00001e76: ADD 00001e77: MSTORE 00001e78: PUSH1 0x21 00001e7a: ADD 00001e7b: SWAP1 00001e7c: JUMP 00001e7d: JUMPDEST 00001e7e: PUSH1 0x01 00001e80: PUSH1 0x01 00001e82: PUSH1 0xa0 00001e84: SHL 00001e85: SUB 00001e86: SWAP2 00001e87: SWAP1 00001e88: SWAP2 00001e89: AND 00001e8a: DUP2 00001e8b: MSTORE 00001e8c: PUSH1 0x20 00001e8e: ADD 00001e8f: SWAP1 00001e90: JUMP 00001e91: JUMPDEST 00001e92: PUSH1 0x01 00001e94: PUSH1 0x01 00001e96: PUSH1 0xa0 00001e98: SHL 00001e99: SUB 00001e9a: SWAP3 00001e9b: SWAP1 00001e9c: SWAP3 00001e9d: AND 00001e9e: DUP3 00001e9f: MSTORE 00001ea0: PUSH1 0x20 00001ea2: DUP3 00001ea3: ADD 00001ea4: MSTORE 00001ea5: PUSH1 0x40 00001ea7: ADD 00001ea8: SWAP1 00001ea9: JUMP 00001eaa: JUMPDEST 00001eab: PUSH1 0x01 00001ead: PUSH1 0x01 00001eaf: PUSH1 0xa0 00001eb1: SHL 00001eb2: SUB 00001eb3: SWAP4 00001eb4: DUP5 00001eb5: AND 00001eb6: DUP2 00001eb7: MSTORE 00001eb8: SWAP2 00001eb9: SWAP1 00001eba: SWAP3 00001ebb: AND 00001ebc: PUSH1 0x20 00001ebe: DUP3 00001ebf: ADD 00001ec0: MSTORE 00001ec1: PUSH1 0x40 00001ec3: DUP2 00001ec4: ADD 00001ec5: SWAP2 00001ec6: SWAP1 00001ec7: SWAP2 00001ec8: MSTORE 00001ec9: PUSH1 0x60 00001ecb: ADD 00001ecc: SWAP1 00001ecd: JUMP 00001ece: JUMPDEST 00001ecf: SWAP1 00001ed0: ISZERO 00001ed1: ISZERO 00001ed2: DUP2 00001ed3: MSTORE 00001ed4: PUSH1 0x20 00001ed6: ADD 00001ed7: SWAP1 00001ed8: JUMP 00001ed9: JUMPDEST 00001eda: SWAP4 00001edb: DUP5 00001edc: MSTORE 00001edd: PUSH1 0xff 00001edf: SWAP3 00001ee0: SWAP1 00001ee1: SWAP3 00001ee2: AND 00001ee3: PUSH1 0x20 00001ee5: DUP5 00001ee6: ADD 00001ee7: MSTORE 00001ee8: PUSH1 0x40 00001eea: DUP4 00001eeb: ADD 00001eec: MSTORE 00001eed: PUSH1 0x60 00001eef: DUP3 00001ef0: ADD 00001ef1: MSTORE 00001ef2: PUSH1 0x80 00001ef4: ADD 00001ef5: SWAP1 00001ef6: JUMP 00001ef7: JUMPDEST 00001ef8: PUSH1 0x00 00001efa: PUSH1 0x20 00001efc: DUP3 00001efd: MSTORE 00001efe: PUSH2 0x15a7 00001f01: PUSH1 0x20 00001f03: DUP4 00001f04: ADD 00001f05: DUP5 00001f06: PUSH2 0x1e18 00001f09: JUMP 00001f0a: JUMPDEST 00001f0b: PUSH1 0x20 00001f0d: DUP1 00001f0e: DUP3 00001f0f: MSTORE 00001f10: PUSH1 0x23 00001f12: SWAP1 00001f13: DUP3 00001f14: ADD 00001f15: MSTORE 00001f16: PUSH32 0x6272696467652062616c616e636520776f756c6420657863656564206d617869 00001f37: PUSH1 0x40 00001f39: DUP3 00001f3a: ADD 00001f3b: MSTORE 00001f3c: PUSH3 0x6d756d 00001f40: PUSH1 0xe8 00001f42: SHL 00001f43: PUSH1 0x60 00001f45: DUP3 00001f46: ADD 00001f47: MSTORE 00001f48: PUSH1 0x80 00001f4a: ADD 00001f4b: SWAP1 00001f4c: JUMP 00001f4d: JUMPDEST 00001f4e: PUSH1 0x20 00001f50: DUP1 00001f51: DUP3 00001f52: MSTORE 00001f53: PUSH1 0x12 00001f55: SWAP1 00001f56: DUP3 00001f57: ADD 00001f58: MSTORE 00001f59: PUSH18 0x34b73b30b634b2102b20a09030b1ba34b7b7 00001f6c: PUSH1 0x71 00001f6e: SHL 00001f6f: PUSH1 0x40 00001f71: DUP3 00001f72: ADD 00001f73: MSTORE 00001f74: PUSH1 0x60 00001f76: ADD 00001f77: SWAP1 00001f78: JUMP 00001f79: JUMPDEST 00001f7a: PUSH1 0x20 00001f7c: DUP1 00001f7d: DUP3 00001f7e: MSTORE 00001f7f: PUSH1 0x18 00001f81: SWAP1 00001f82: DUP3 00001f83: ADD 00001f84: MSTORE 00001f85: PUSH32 0x5641412077617320616c72656164792065786563757465640000000000000000 00001fa6: PUSH1 0x40 00001fa8: DUP3 00001fa9: ADD 00001faa: MSTORE 00001fab: PUSH1 0x60 00001fad: ADD 00001fae: SWAP1 00001faf: JUMP 00001fb0: JUMPDEST 00001fb1: PUSH1 0x20 00001fb3: DUP1 00001fb4: DUP3 00001fb5: MSTORE 00001fb6: PUSH1 0x2c 00001fb8: SWAP1 00001fb9: DUP3 00001fba: ADD 00001fbb: MSTORE 00001fbc: PUSH32 0x706c6561736520757365206c6f636b45544820746f207472616e736665722045 00001fdd: PUSH1 0x40 00001fdf: DUP3 00001fe0: ADD 00001fe1: MSTORE 00001fe2: PUSH12 0x544820746f20536f6c616e61 00001fef: PUSH1 0xa0 00001ff1: SHL 00001ff2: PUSH1 0x60 00001ff4: DUP3 00001ff5: ADD 00001ff6: MSTORE 00001ff7: PUSH1 0x80 00001ff9: ADD 00001ffa: SWAP1 00001ffb: JUMP 00001ffc: JUMPDEST 00001ffd: PUSH1 0x20 00001fff: DUP1 00002000: DUP3 00002001: MSTORE 00002002: PUSH1 0x39 00002004: SWAP1 00002005: DUP3 00002006: ADD 00002007: MSTORE 00002008: PUSH32 0x6f6e6c79207468652063757272656e7420677561726469616e20736574206361 00002029: PUSH1 0x40 0000202b: DUP3 0000202c: ADD 0000202d: MSTORE 0000202e: PUSH32 0x6e206368616e67652074686520677561726469616e2073657400000000000000 0000204f: PUSH1 0x60 00002051: DUP3 00002052: ADD 00002053: MSTORE 00002054: PUSH1 0x80 00002056: ADD 00002057: SWAP1 00002058: JUMP 00002059: JUMPDEST 0000205a: PUSH1 0x20 0000205c: DUP1 0000205d: DUP3 0000205e: MSTORE 0000205f: PUSH1 0x12 00002061: SWAP1 00002062: DUP3 00002063: ADD 00002064: MSTORE 00002065: PUSH18 0x52656164206f7574206f6620626f756e6473 00002078: PUSH1 0x70 0000207a: SHL 0000207b: PUSH1 0x40 0000207d: DUP3 0000207e: ADD 0000207f: MSTORE 00002080: PUSH1 0x60 00002082: ADD 00002083: SWAP1 00002084: JUMP 00002085: JUMPDEST 00002086: PUSH1 0x20 00002088: DUP1 00002089: DUP3 0000208a: MSTORE 0000208b: PUSH1 0x18 0000208d: SWAP1 0000208e: DUP3 0000208f: ADD 00002090: MSTORE 00002091: PUSH32 0x5641412076657273696f6e20696e636f6d70617469626c650000000000000000 000020b2: PUSH1 0x40 000020b4: DUP3 000020b5: ADD 000020b6: MSTORE 000020b7: PUSH1 0x60 000020b9: ADD 000020ba: SWAP1 000020bb: JUMP 000020bc: JUMPDEST 000020bd: PUSH1 0x20 000020bf: DUP1 000020c0: DUP3 000020c1: MSTORE 000020c2: PUSH1 0x23 000020c4: SWAP1 000020c5: DUP3 000020c6: ADD 000020c7: MSTORE 000020c8: PUSH32 0x6d757374206e6f74207472616e7366657220746f207468652073616d65206368 000020e9: PUSH1 0x40 000020eb: DUP3 000020ec: ADD 000020ed: MSTORE 000020ee: PUSH3 0x30b4b7 000020f2: PUSH1 0xe9 000020f4: SHL 000020f5: PUSH1 0x60 000020f7: DUP3 000020f8: ADD 000020f9: MSTORE 000020fa: PUSH1 0x80 000020fc: ADD 000020fd: SWAP1 000020fe: JUMP 000020ff: JUMPDEST 00002100: PUSH1 0x20 00002102: DUP1 00002103: DUP3 00002104: MSTORE 00002105: PUSH1 0x15 00002107: SWAP1 00002108: DUP3 00002109: ADD 0000210a: MSTORE 0000210b: PUSH21 0x159050481cda59db985d1d5c99481a5b9d985b1a59 00002121: PUSH1 0x5a 00002123: SHL 00002124: PUSH1 0x40 00002126: DUP3 00002127: ADD 00002128: MSTORE 00002129: PUSH1 0x60 0000212b: ADD 0000212c: SWAP1 0000212d: JUMP 0000212e: JUMPDEST 0000212f: PUSH1 0x20 00002131: DUP1 00002132: DUP3 00002133: MSTORE 00002134: PUSH1 0x21 00002136: SWAP1 00002137: DUP3 00002138: ADD 00002139: MSTORE 0000213a: PUSH32 0x536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f 0000215b: PUSH1 0x40 0000215d: DUP3 0000215e: ADD 0000215f: MSTORE 00002160: PUSH1 0x77 00002162: PUSH1 0xf8 00002164: SHL 00002165: PUSH1 0x60 00002167: DUP3 00002168: ADD 00002169: MSTORE 0000216a: PUSH1 0x80 0000216c: ADD 0000216d: SWAP1 0000216e: JUMP 0000216f: JUMPDEST 00002170: PUSH1 0x20 00002172: DUP1 00002173: DUP3 00002174: MSTORE 00002175: PUSH1 0x1e 00002177: SWAP1 00002178: DUP3 00002179: ADD 0000217a: MSTORE 0000217b: PUSH32 0x7472756e636174656420616d6f756e74206d757374206e6f7420626520300000 0000219c: PUSH1 0x40 0000219e: DUP3 0000219f: ADD 000021a0: MSTORE 000021a1: PUSH1 0x60 000021a3: ADD 000021a4: SWAP1 000021a5: JUMP 000021a6: JUMPDEST 000021a7: PUSH1 0x20 000021a9: DUP1 000021aa: DUP3 000021ab: MSTORE 000021ac: PUSH1 0x21 000021ae: SWAP1 000021af: DUP3 000021b0: ADD 000021b1: MSTORE 000021b2: PUSH32 0x696e646578206d75737420696e63726561736520696e207374657073206f6620 000021d3: PUSH1 0x40 000021d5: DUP3 000021d6: ADD 000021d7: MSTORE 000021d8: PUSH1 0x31 000021da: PUSH1 0xf8 000021dc: SHL 000021dd: PUSH1 0x60 000021df: DUP3 000021e0: ADD 000021e1: MSTORE 000021e2: PUSH1 0x80 000021e4: ADD 000021e5: SWAP1 000021e6: JUMP 000021e7: JUMPDEST 000021e8: PUSH1 0x20 000021ea: DUP1 000021eb: DUP3 000021ec: MSTORE 000021ed: PUSH1 0x09 000021ef: SWAP1 000021f0: DUP3 000021f1: ADD 000021f2: MSTORE 000021f3: PUSH9 0x6e6f2071756f72756d 000021fd: PUSH1 0xb8 000021ff: SHL 00002200: PUSH1 0x40 00002202: DUP3 00002203: ADD 00002204: MSTORE 00002205: PUSH1 0x60 00002207: ADD 00002208: SWAP1 00002209: JUMP 0000220a: JUMPDEST 0000220b: PUSH1 0x20 0000220d: DUP1 0000220e: DUP3 0000220f: MSTORE 00002210: PUSH1 0x19 00002212: SWAP1 00002213: DUP3 00002214: ADD 00002215: MSTORE 00002216: PUSH32 0x7472616e73666572206d75737420626520696e636f6d696e6700000000000000 00002237: PUSH1 0x40 00002239: DUP3 0000223a: ADD 0000223b: MSTORE 0000223c: PUSH1 0x60 0000223e: ADD 0000223f: SWAP1 00002240: JUMP 00002241: JUMPDEST 00002242: PUSH1 0x20 00002244: DUP1 00002245: DUP3 00002246: MSTORE 00002247: PUSH1 0x18 00002249: SWAP1 0000224a: DUP3 0000224b: ADD 0000224c: MSTORE 0000224d: PUSH32 0x677561726469616e207365742068617320657870697265640000000000000000 0000226e: PUSH1 0x40 00002270: DUP3 00002271: ADD 00002272: MSTORE 00002273: PUSH1 0x60 00002275: ADD 00002276: SWAP1 00002277: JUMP 00002278: JUMPDEST 00002279: PUSH1 0x20 0000227b: DUP1 0000227c: DUP3 0000227d: MSTORE 0000227e: PUSH1 0x1d 00002280: SWAP1 00002281: DUP3 00002282: ADD 00002283: MSTORE 00002284: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 000022a5: PUSH1 0x40 000022a7: DUP3 000022a8: ADD 000022a9: MSTORE 000022aa: PUSH1 0x60 000022ac: ADD 000022ad: SWAP1 000022ae: JUMP 000022af: JUMPDEST 000022b0: PUSH1 0x20 000022b2: DUP1 000022b3: DUP3 000022b4: MSTORE 000022b5: PUSH1 0x23 000022b7: SWAP1 000022b8: DUP3 000022b9: ADD 000022ba: MSTORE 000022bb: PUSH32 0x7369676e617475726520696e6469636573206d75737420626520617363656e64 000022dc: PUSH1 0x40 000022de: DUP3 000022df: ADD 000022e0: MSTORE 000022e1: PUSH3 0x696e67 000022e5: PUSH1 0xe8 000022e7: SHL 000022e8: PUSH1 0x60 000022ea: DUP3 000022eb: ADD 000022ec: MSTORE 000022ed: PUSH1 0x80 000022ef: ADD 000022f0: SWAP1 000022f1: JUMP 000022f2: JUMPDEST 000022f3: PUSH1 0x20 000022f5: DUP1 000022f6: DUP3 000022f7: MSTORE 000022f8: PUSH1 0x2a 000022fa: SWAP1 000022fb: DUP3 000022fc: ADD 000022fd: MSTORE 000022fe: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 0000231f: PUSH1 0x40 00002321: DUP3 00002322: ADD 00002323: MSTORE 00002324: PUSH10 0x1bdd081cdd58d8d95959 0000232f: PUSH1 0xb2 00002331: SHL 00002332: PUSH1 0x60 00002334: DUP3 00002335: ADD 00002336: MSTORE 00002337: PUSH1 0x80 00002339: ADD 0000233a: SWAP1 0000233b: JUMP 0000233c: JUMPDEST 0000233d: PUSH1 0x20 0000233f: DUP1 00002340: DUP3 00002341: MSTORE 00002342: PUSH1 0x26 00002344: SWAP1 00002345: DUP3 00002346: ADD 00002347: MSTORE 00002348: PUSH32 0x73616d6520636861696e207472616e736665727320617265206e6f7420737570 00002369: PUSH1 0x40 0000236b: DUP3 0000236c: ADD 0000236d: MSTORE 0000236e: PUSH6 0x1c1bdc9d1959 00002375: PUSH1 0xd2 00002377: SHL 00002378: PUSH1 0x60 0000237a: DUP3 0000237b: ADD 0000237c: MSTORE 0000237d: PUSH1 0x80 0000237f: ADD 00002380: SWAP1 00002381: JUMP 00002382: JUMPDEST 00002383: PUSH1 0x20 00002385: DUP1 00002386: DUP3 00002387: MSTORE 00002388: PUSH1 0x1f 0000238a: SWAP1 0000238b: DUP3 0000238c: ADD 0000238d: MSTORE 0000238e: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 000023af: PUSH1 0x40 000023b1: DUP3 000023b2: ADD 000023b3: MSTORE 000023b4: PUSH1 0x60 000023b6: ADD 000023b7: SWAP1 000023b8: JUMP 000023b9: JUMPDEST 000023ba: PUSH1 0x20 000023bc: DUP1 000023bd: DUP3 000023be: MSTORE 000023bf: PUSH1 0x14 000023c1: SWAP1 000023c2: DUP3 000023c3: ADD 000023c4: MSTORE 000023c5: PUSH20 0x1a5b9d985b1a590819dd585c991a585b881cd95d 000023da: PUSH1 0x62 000023dc: SHL 000023dd: PUSH1 0x40 000023df: DUP3 000023e0: ADD 000023e1: MSTORE 000023e2: PUSH1 0x60 000023e4: ADD 000023e5: SWAP1 000023e6: JUMP 000023e7: JUMPDEST 000023e8: PUSH1 0x20 000023ea: DUP1 000023eb: DUP3 000023ec: MSTORE 000023ed: DUP3 000023ee: MLOAD 000023ef: PUSH1 0x40 000023f1: DUP4 000023f2: DUP4 000023f3: ADD 000023f4: MSTORE 000023f5: DUP1 000023f6: MLOAD 000023f7: PUSH1 0x60 000023f9: DUP5 000023fa: ADD 000023fb: DUP2 000023fc: SWAP1 000023fd: MSTORE 000023fe: PUSH1 0x00 00002400: SWAP3 00002401: SWAP2 00002402: DUP3 00002403: ADD 00002404: SWAP1 00002405: DUP4 00002406: SWAP1 00002407: PUSH1 0x80 00002409: DUP7 0000240a: ADD 0000240b: SWAP1 0000240c: JUMPDEST 0000240d: DUP1 0000240e: DUP4 0000240f: LT 00002410: ISZERO 00002411: PUSH2 0x2435 00002414: JUMPI 00002415: DUP4 00002416: MLOAD 00002417: PUSH1 0x01 00002419: PUSH1 0x01 0000241b: PUSH1 0xa0 0000241d: SHL 0000241e: SUB 0000241f: AND 00002420: DUP3 00002421: MSTORE 00002422: SWAP3 00002423: DUP5 00002424: ADD 00002425: SWAP3 00002426: PUSH1 0x01 00002428: SWAP3 00002429: SWAP1 0000242a: SWAP3 0000242b: ADD 0000242c: SWAP2 0000242d: SWAP1 0000242e: DUP5 0000242f: ADD 00002430: SWAP1 00002431: PUSH2 0x240c 00002434: JUMP 00002435: JUMPDEST 00002436: POP 00002437: PUSH4 0xffffffff 0000243c: DUP5 0000243d: DUP9 0000243e: ADD 0000243f: MLOAD 00002440: AND 00002441: PUSH1 0x40 00002443: DUP8 00002444: ADD 00002445: MSTORE 00002446: DUP1 00002447: SWAP5 00002448: POP 00002449: POP 0000244a: POP 0000244b: POP 0000244c: POP 0000244d: SWAP3 0000244e: SWAP2 0000244f: POP 00002450: POP 00002451: JUMP 00002452: JUMPDEST 00002453: PUSH1 0x00 00002455: PUSH1 0x20 00002457: DUP3 00002458: MSTORE 00002459: PUSH1 0xff 0000245b: DUP4 0000245c: MLOAD 0000245d: AND 0000245e: PUSH1 0x20 00002460: DUP4 00002461: ADD 00002462: MSTORE 00002463: PUSH1 0x20 00002465: DUP4 00002466: ADD 00002467: MLOAD 00002468: PUSH1 0x40 0000246a: DUP4 0000246b: ADD 0000246c: MSTORE 0000246d: PUSH1 0x40 0000246f: DUP4 00002470: ADD 00002471: MLOAD 00002472: PUSH4 0xffffffff 00002477: DUP1 00002478: DUP3 00002479: AND 0000247a: PUSH1 0x60 0000247c: DUP6 0000247d: ADD 0000247e: MSTORE 0000247f: DUP1 00002480: PUSH1 0x60 00002482: DUP7 00002483: ADD 00002484: MLOAD 00002485: AND 00002486: PUSH1 0x80 00002488: DUP6 00002489: ADD 0000248a: MSTORE 0000248b: POP 0000248c: POP 0000248d: PUSH1 0xff 0000248f: PUSH1 0x80 00002491: DUP5 00002492: ADD 00002493: MLOAD 00002494: AND 00002495: PUSH1 0xa0 00002497: DUP4 00002498: ADD 00002499: MSTORE 0000249a: PUSH1 0xa0 0000249c: DUP4 0000249d: ADD 0000249e: MLOAD 0000249f: PUSH1 0xc0 000024a1: DUP1 000024a2: DUP5 000024a3: ADD 000024a4: MSTORE 000024a5: PUSH2 0x1a89 000024a8: PUSH1 0xe0 000024aa: DUP5 000024ab: ADD 000024ac: DUP3 000024ad: PUSH2 0x1e18 000024b0: JUMP 000024b1: JUMPDEST 000024b2: PUSH4 0xffffffff 000024b7: SWAP2 000024b8: SWAP1 000024b9: SWAP2 000024ba: AND 000024bb: DUP2 000024bc: MSTORE 000024bd: PUSH1 0x20 000024bf: ADD 000024c0: SWAP1 000024c1: JUMP 000024c2: JUMPDEST 000024c3: PUSH4 0xffffffff 000024c8: SWAP3 000024c9: DUP4 000024ca: AND 000024cb: DUP2 000024cc: MSTORE 000024cd: SWAP2 000024ce: AND 000024cf: PUSH1 0x20 000024d1: DUP3 000024d2: ADD 000024d3: MSTORE 000024d4: PUSH1 0x40 000024d6: ADD 000024d7: SWAP1 000024d8: JUMP 000024d9: JUMPDEST 000024da: PUSH1 0xff 000024dc: SWAP4 000024dd: DUP5 000024de: AND 000024df: DUP2 000024e0: MSTORE 000024e1: PUSH1 0x20 000024e3: DUP2 000024e4: ADD 000024e5: SWAP3 000024e6: SWAP1 000024e7: SWAP3 000024e8: MSTORE 000024e9: SWAP1 000024ea: SWAP2 000024eb: AND 000024ec: PUSH1 0x40 000024ee: DUP3 000024ef: ADD 000024f0: MSTORE 000024f1: PUSH1 0x60 000024f3: ADD 000024f4: SWAP1 000024f5: JUMP 000024f6: JUMPDEST 000024f7: PUSH1 0xff 000024f9: SWAP7 000024fa: DUP8 000024fb: AND 000024fc: DUP2 000024fd: MSTORE 000024fe: SWAP5 000024ff: DUP7 00002500: AND 00002501: PUSH1 0x20 00002503: DUP7 00002504: ADD 00002505: MSTORE 00002506: SWAP3 00002507: SWAP1 00002508: SWAP5 00002509: AND 0000250a: PUSH1 0x40 0000250c: DUP5 0000250d: ADD 0000250e: MSTORE 0000250f: PUSH1 0x60 00002511: DUP4 00002512: ADD 00002513: MSTORE 00002514: PUSH1 0x80 00002516: DUP3 00002517: ADD 00002518: SWAP3 00002519: SWAP1 0000251a: SWAP3 0000251b: MSTORE 0000251c: PUSH4 0xffffffff 00002521: SWAP1 00002522: SWAP2 00002523: AND 00002524: PUSH1 0xa0 00002526: DUP3 00002527: ADD 00002528: MSTORE 00002529: PUSH1 0xc0 0000252b: ADD 0000252c: SWAP1 0000252d: JUMP 0000252e: JUMPDEST 0000252f: PUSH1 0x00 00002531: JUMPDEST 00002532: DUP4 00002533: DUP2 00002534: LT 00002535: ISZERO 00002536: PUSH2 0x2549 00002539: JUMPI 0000253a: DUP2 0000253b: DUP2 0000253c: ADD 0000253d: MLOAD 0000253e: DUP4 0000253f: DUP3 00002540: ADD 00002541: MSTORE 00002542: PUSH1 0x20 00002544: ADD 00002545: PUSH2 0x2531 00002548: JUMP 00002549: JUMPDEST 0000254a: DUP4 0000254b: DUP2 0000254c: GT 0000254d: ISZERO 0000254e: PUSH2 0x176a 00002551: JUMPI 00002552: POP 00002553: POP 00002554: PUSH1 0x00 00002556: SWAP2 00002557: ADD 00002558: MSTORE 00002559: JUMP 0000255a: JUMPDEST 0000255b: DUP1 0000255c: ISZERO 0000255d: ISZERO 0000255e: DUP2 0000255f: EQ 00002560: PUSH2 0x2568 00002563: JUMPI 00002564: PUSH1 0x00 00002566: DUP1 00002567: REVERT 00002568: JUMPDEST 00002569: POP 0000256a: JUMP 0000256b: JUMPDEST 0000256c: PUSH1 0xff 0000256e: DUP2 0000256f: AND 00002570: DUP2 00002571: EQ 00002572: PUSH2 0x2568 00002575: JUMPI 00002576: PUSH1 0x00 00002578: DUP1 00002579: REVERT 0000257a: INVALID 0000257b: LOG2 0000257c: PUSH5 0x6970667358 00002582: UNKNOWN(0x22) 00002583: SLT 00002584: KECCAK256 00002585: UNKNOWN(0xEF) 00002586: UNKNOWN(0xEE) 00002587: GASPRICE 00002588: LOG0 00002589: UNKNOWN(0x25) 0000258a: PUSH12 0xf0285f463a6d366d44803785 00002597: UNKNOWN(0xDB) 00002598: UNKNOWN(0xF9) 00002599: NUMBER 0000259a: SMOD 0000259b: UNKNOWN(0xFC) 0000259c: UNKNOWN(0xBB) 0000259d: UNKNOWN(0xB6) 0000259e: UNKNOWN(0xDE) 0000259f: UNKNOWN(0xDE) 000025a0: SWAP7 000025a1: UNKNOWN(0x23) 000025a2: AND 000025a3: CODECOPY 000025a4: UNKNOWN(0xA5) 000025a5: PUSH5 0x736f6c6343 000025ab: STOP 000025ac: MOD 000025ad: UNKNOWN(0x0C) 000025ae: STOP 000025af: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xdd758289aeb818c9254d0e7c6056b3e7522e39bda6e9ebf557ebeab53cd09dc7
call_targets:
0xf92cd566ea4864356c5491c177a430c222d7e678
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xdd758289aeb818c9254d0e7c6056b3e7522e39bda6e9ebf557ebeab53cd09dc7",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xf92cd566ea4864356c5491c177a430c222d7e678"
],
"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": "0x70713960",
"selector": "0x70713960",
"calldata_variants": [
"0x70713960",
"0x707139600000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x822d82b3",
"selector": "0x822d82b3",
"calldata_variants": [
"0x822d82b3",
"0x822d82b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x99da1d3c",
"selector": "0x99da1d3c",
"calldata_variants": [
"0x99da1d3c",
"0x99da1d3c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa31fe409",
"selector": "0xa31fe409",
"calldata_variants": [
"0xa31fe409",
"0xa31fe4090000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb6694c2a",
"selector": "0xb6694c2a",
"calldata_variants": [
"0xb6694c2a",
"0xb6694c2a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf951975a",
"selector": "0xf951975a",
"calldata_variants": [
"0xf951975a",
"0xf951975a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1a2be4da",
"selector": "0x1a2be4da",
"calldata_variants": [
"0x1a2be4da",
"0x1a2be4da0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3bc0aee6",
"selector": "0x3bc0aee6",
"calldata_variants": [
"0x3bc0aee6",
"0x3bc0aee60000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1124,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1231,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3217,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 6,
"guards_detected": [],
"untrusted_call_count": 6
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xdd758289aeb818c9254d0e7c6056b3e7522e39bda6e9ebf557ebeab53cd09dc7
call_targets:
0xf92cd566ea4864356c5491c177a430c222d7e678
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xdd758289aeb818c9254d0e7c6056b3e7522e39bda6e9ebf557ebeab53cd09dc7",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xf92cd566ea4864356c5491c177a430c222d7e678"
],
"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": "0x70713960",
"selector": "0x70713960",
"calldata_variants": [
"0x70713960",
"0x707139600000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x822d82b3",
"selector": "0x822d82b3",
"calldata_variants": [
"0x822d82b3",
"0x822d82b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x99da1d3c",
"selector": "0x99da1d3c",
"calldata_variants": [
"0x99da1d3c",
"0x99da1d3c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa31fe409",
"selector": "0xa31fe409",
"calldata_variants": [
"0xa31fe409",
"0xa31fe4090000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb6694c2a",
"selector": "0xb6694c2a",
"calldata_variants": [
"0xb6694c2a",
"0xb6694c2a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf951975a",
"selector": "0xf951975a",
"calldata_variants": [
"0xf951975a",
"0xf951975a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1a2be4da",
"selector": "0x1a2be4da",
"calldata_variants": [
"0x1a2be4da",
"0x1a2be4da0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3bc0aee6",
"selector": "0x3bc0aee6",
"calldata_variants": [
"0x3bc0aee6",
"0x3bc0aee60000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1124,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1231,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3217,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 6,
"guards_detected": []
}
|
| medium | math | codex | Underflow in balance cap check blocks tokens with <9 decimals | 75 | no | — |
viewevidence_json{
"evidence": "`require(balanceAfter.div(10 ** uint256(ERC20(asset).decimals() - 9)) <= MAX_UINT64, \"bridge balance would exceed maximum\");` underflows when decimals < 9 and causes a division by zero revert.",
"locations": [
"contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol:271"
],
"recommendation": "Guard against decimals < 9. Cache decimals once, and compute a safe divisor with a conditional (e.g., if decimals <= 9 use 1 or explicitly reject) to avoid underflow and div-by-zero. Use SafeMath or explicit checks around exponentiation.",
"exploit_scenario": "When a user calls lockAssets with a token that has fewer than 9 decimals (e.g., USDC with 6 decimals), the expression ERC20(asset).decimals() - 9 underflows. The resulting 10**(huge) overflows to 0, causing SafeMath.div to revert. This makes bridging such assets impossible (availability DoS) and transactions will always fail for those tokens."
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x48f37c266587bbe1f7e973b63656463677cc648bdd5059a9b9d321114c1b94c2
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 26,
"trace_id": "0x48f37c266587bbe1f7e973b63656463677cc648bdd5059a9b9d321114c1b94c2",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x70713960",
"selector": "0x70713960",
"calldata_variants": [
"0x70713960",
"0x707139600000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x822d82b3",
"selector": "0x822d82b3",
"calldata_variants": [
"0x822d82b3",
"0x822d82b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x99da1d3c",
"selector": "0x99da1d3c",
"calldata_variants": [
"0x99da1d3c",
"0x99da1d3c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa31fe409",
"selector": "0xa31fe409",
"calldata_variants": [
"0xa31fe409",
"0xa31fe4090000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb6694c2a",
"selector": "0xb6694c2a",
"calldata_variants": [
"0xb6694c2a",
"0xb6694c2a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf951975a",
"selector": "0xf951975a",
"calldata_variants": [
"0xf951975a",
"0xf951975a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1a2be4da",
"selector": "0x1a2be4da",
"calldata_variants": [
"0x1a2be4da",
"0x1a2be4da0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3bc0aee6",
"selector": "0x3bc0aee6",
"calldata_variants": [
"0x3bc0aee6",
"0x3bc0aee60000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 1
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 0,
"create2_count": 1
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 14
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 12
}
|