f9338544-5292-4781-b0e9-3a6f8b15ccdd
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 |
|---|---|---|---|---|
| 31292 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 110750 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 110751 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 110752 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 110753 | capability.graph | complete | 1 / 3 | 1 week ago |
| 110754 | detector.run | complete | 1 / 3 | 1 week ago |
| 110755 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:671563] OpenAI Codex v0.77.0 (research preview)
[codex:671563] --------
[codex:671563] workdir: /tmp/codex-multi-u2496ux6
[codex:671563] model: gpt-5.2-codex
[codex:671563] provider: openai
[codex:671563] approval: never
[codex:671563] sandbox: read-only
[codex:671563] reasoning effort: xhigh
[codex:671563] reasoning summaries: auto
[codex:671563] session id: 019b7f8f-f146-7df0-b124-0153f21bd49e
[codex:671563] --------
[codex:671563] user
[codex:671563] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:671563]
[codex:671563] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:671563]
[codex:671563] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:671563] - Gas inefficiency, code quality, naming, or best practices
[codex:671563] - Theoretical vulnerabilities without a clear extraction path
[codex:671563] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:671563] - Front-running unless it enables theft beyond MEV
[codex:671563] - DoS, griefing, or issues that don't result in attacker profit
[codex:671563] - Missing events, view function issues, or informational findings
[codex:671563]
[codex:671563] HIGH-VALUE PATTERNS TO HUNT:
[codex:671563] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:671563] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:671563] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:671563] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:671563] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:671563] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:671563] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:671563] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:671563] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:671563]
[codex:671563] For each finding, you MUST provide:
[codex:671563] 1. Exact file and line numbers of vulnerable code
[codex:671563] 2. Step-by-step exploit transaction sequence
[codex:671563] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:671563]
[codex:671563] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:671563]
[codex:671563] Output MUST be valid JSON matching the provided schema.
[codex:671563] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:671563] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:671563] mcp startup: no servers
[codex:671563]
[codex:671563] thinking
[codex:671563] **Preparing to read instructions and AUDIT_BUNDLE**
[codex:671563] exec
[codex:671563] /bin/bash -lc ls in /tmp/codex-multi-u2496ux6 succeeded in 5ms:
[codex:671563] AUDIT_BUNDLE.txt
[codex:671563] codex-output-schema.json
[codex:671563] contracts
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:671563]
[codex:671563] ================================================================================
[codex:671563] FILE: contracts/contracts/ILSSVMPairFactoryLike.sol
[codex:671563] ================================================================================
[codex:671563] // SPDX-License-Identifier: AGPL-3.0
[codex:671563] pragma solidity ^0.8.0;
[codex:671563]
[codex:671563] import {LSSVMRouter} from "./LSSVMRouter.sol";
[codex:671563]
[codex:671563] interface ILSSVMPairFactoryLike {
[codex:671563] enum PairVariant {
[codex:671563] ENUMERABLE_ETH,
[codex:671563] MISSING_ENUMERABLE_ETH,
[codex:671563] ENUMERABLE_ERC20,
[codex:671563] MISSING_ENUMERABLE_ERC20
[codex:671563] }
[codex:671563]
[codex:671563] function protocolFeeMultiplier() external view returns (uint256);
[codex:671563]
[codex:671563]
[codex:671563] thinking
[codex:671563] **Preparing to scan for vulnerabilities**
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563]
[codex:671563] _pullTokenInputAndPayProtocolFee(
[codex:671563] inputAmount,
[codex:671563] isRouter,
[codex:671563] routerCaller,
[codex:671563] _factory,
[codex:671563] protocolFee
[codex:671563] );
[codex:671563]
[codex:671563] _sendAnyNFTsToRecipient(_nft, nftRecipient, numNFTs);
[codex:671563]
[codex:671563] _refundTokenToSender(inputAmount);
[codex:671563]
[codex:671563] emit SwapNFTOutPair();
[codex:671563] }
[codex:671563]
[codex:671563] /**
[codex:671563] @notice Sends token to the pair in exchange for a specific set of NFTs
[codex:671563] @dev To compute the amount of token to send, call bondingCurve.getBuyInfo
[codex:671563] This swap is meant for users who want specific IDs. Also higher chance of
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '400,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563] function pairVariant()
[codex:671563] public
[codex:671563] pure
[codex:671563] virtual
[codex:671563] returns (ILSSVMPairFactoryLike.PairVariant);
[codex:671563]
[codex:671563] function factory() public pure returns (ILSSVMPairFactoryLike _factory) {
[codex:671563] uint256 paramsLength = _immutableParamsLength();
[codex:671563] assembly {
[codex:671563] _factory := shr(
[codex:671563] 0x60,
[codex:671563] calldataload(sub(calldatasize(), paramsLength))
[codex:671563] )
[codex:671563] }
[codex:671563] }
[codex:671563]
[codex:671563] /**
[codex:671563] @notice Returns the type of bonding curve that parameterizes the pair
[codex:671563] */
[codex:671563] function bondingCurve() public pure returns (ICurve _bondingCurve) {
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '800,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563] if (spotPrice != newSpotPrice) {
[codex:671563] spotPrice = newSpotPrice;
[codex:671563] emit SpotPriceUpdate(newSpotPrice);
[codex:671563] }
[codex:671563] }
[codex:671563]
[codex:671563] /**
[codex:671563] @notice Updates the delta parameter. Only callable by the owner.
[codex:671563] @param newDelta The new delta parameter
[codex:671563] */
[codex:671563] function changeDelta(uint128 newDelta) external onlyOwner {
[codex:671563] ICurve _bondingCurve = bondingCurve();
[codex:671563] require(
[codex:671563] _bondingCurve.validateDelta(newDelta),
[codex:671563] "Invalid delta for curve"
[codex:671563] );
[codex:671563] if (delta != newDelta) {
[codex:671563] delta = newDelta;
[codex:671563] emit DeltaUpdate(newDelta);
[codex:671563] }
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '1200,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 7ms:
[codex:671563]
[codex:671563] /// @inheritdoc LSSVMPair
[codex:671563] function withdrawERC20(ERC20 a, uint256 amount)
[codex:671563] external
[codex:671563] override
[codex:671563] onlyOwner
[codex:671563] {
[codex:671563] a.safeTransfer(msg.sender, amount);
[codex:671563] }
[codex:671563]
[codex:671563] /**
[codex:671563] @dev All ETH transfers into the pair are accepted. This is the main method
[codex:671563] for the owner to top up the pair's token reserves.
[codex:671563] */
[codex:671563] receive() external payable {
[codex:671563] emit TokenDeposit(msg.value);
[codex:671563] }
[codex:671563]
[codex:671563] /**
[codex:671563] @dev All ETH transfers into the pair are accepted. This is the main method
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '1600,2000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563] )
[codex:671563] );
[codex:671563]
[codex:671563] _initializePairERC20(
[codex:671563] pair,
[codex:671563] params.token,
[codex:671563] params.nft,
[codex:671563] params.assetRecipient,
[codex:671563] params.delta,
[codex:671563] params.fee,
[codex:671563] params.spotPrice,
[codex:671563] params.initialNFTIDs,
[codex:671563] params.initialTokenBalance
[codex:671563] );
[codex:671563] emit NewPair(address(pair));
[codex:671563] }
[codex:671563]
[codex:671563] /**
[codex:671563] @notice Checks if an address is a LSSVMPair. Uses the fact that the pairs are EIP-1167 minimal proxies.
[codex:671563] @param potentialPair The address to check
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '2000,2400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 5ms:
[codex:671563]
[codex:671563] unchecked {
[codex:671563] ++i;
[codex:671563] }
[codex:671563] }
[codex:671563] }
[codex:671563] // Otherwise, withdraw and also remove the ID from the ID set
[codex:671563] else {
[codex:671563] for (uint256 i; i < numNFTs; ) {
[codex:671563] _nft.safeTransferFrom(address(this), msg.sender, nftIds[i]);
[codex:671563] idSet.remove(nftIds[i]);
[codex:671563]
[codex:671563] unchecked {
[codex:671563] ++i;
[codex:671563] }
[codex:671563] }
[codex:671563]
[codex:671563] emit NFTWithdrawal();
[codex:671563] }
[codex:671563] }
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '2400,2800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 5ms:
[codex:671563] trade.nftToTokenTrades,
[codex:671563] 0,
[codex:671563] payable(msg.sender)
[codex:671563] );
[codex:671563]
[codex:671563] // Add extra value to buy NFTs
[codex:671563] outputAmount += inputAmount;
[codex:671563]
[codex:671563] // Swap ERC20 for specific NFTs
[codex:671563] // cost <= maxCost = outputAmount - minOutput, so outputAmount' = outputAmount - cost >= minOutput
[codex:671563] // input tokens are taken directly from msg.sender
[codex:671563] outputAmount =
[codex:671563] _swapERC20ForSpecificNFTs(
[codex:671563] trade.tokenToNFTTrades,
[codex:671563] outputAmount - minOutput,
[codex:671563] nftRecipient
[codex:671563] ) +
[codex:671563] minOutput;
[codex:671563] }
[codex:671563]
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '2800,3200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563] unchecked {
[codex:671563] ++i;
[codex:671563] }
[codex:671563] }
[codex:671563] }
[codex:671563] }
[codex:671563]
[codex:671563] /**
[codex:671563] @notice Buys NFTs with ERC20, and sells them for tokens in one transaction
[codex:671563] @param params All the parameters for the swap (packed in struct to avoid stack too deep), containing:
[codex:671563] - ethToNFTSwapList The list of NFTs to buy
[codex:671563] - nftToTokenSwapList The list of NFTs to sell
[codex:671563] - inputAmount The max amount of tokens to send (if ERC20)
[codex:671563] - tokenRecipient The address that receives tokens from the NFTs sold
[codex:671563] - nftRecipient The address that receives NFTs
[codex:671563] - deadline UNIX timestamp deadline for the swap
[codex:671563] */
[codex:671563] function robustSwapERC20ForSpecificNFTsAndNFTsToToken(
[codex:671563] RobustPairNFTsFoTokenAndTokenforNFTsTrade calldata params
[codex:671563] ) external payable returns (uint256 remainingValue, uint256 outputAmount) {
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '3200,3600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563] // SPDX-License-Identifier: AGPL-3.0
[codex:671563] pragma solidity ^0.8.0;
[codex:671563]
[codex:671563] contract CurveErrorCodes {
[codex:671563] enum Error {
[codex:671563] OK, // No error
[codex:671563] INVALID_NUMITEMS, // The numItem value is 0
[codex:671563] SPOT_PRICE_OVERFLOW // The updated spot price doesn't fit into 128 bits
[codex:671563] }
[codex:671563] }
[codex:671563]
[codex:671563] ================================================================================
[codex:671563] FILE: contracts/contracts/bonding-curves/ICurve.sol
[codex:671563] ================================================================================
[codex:671563] // SPDX-License-Identifier: AGPL-3.0
[codex:671563] pragma solidity ^0.8.0;
[codex:671563]
[codex:671563] import {CurveErrorCodes} from "./CurveErrorCodes.sol";
[codex:671563]
[codex:671563] interface ICurve {
[codex:671563]
[codex:671563] thinking
[codex:671563] **Finishing reading AUDIT_BUNDLE file**
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '3600,4000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563] address,
[codex:671563] address,
[codex:671563] uint256,
[codex:671563] uint256,
[codex:671563] bytes memory
[codex:671563] ) public virtual override returns (bytes4) {
[codex:671563] return this.onERC1155Received.selector;
[codex:671563] }
[codex:671563]
[codex:671563] function onERC1155BatchReceived(
[codex:671563] address,
[codex:671563] address,
[codex:671563] uint256[] memory,
[codex:671563] uint256[] memory,
[codex:671563] bytes memory
[codex:671563] ) public virtual override returns (bytes4) {
[codex:671563] return this.onERC1155BatchReceived.selector;
[codex:671563] }
[codex:671563] }
[codex:671563]
[codex:671563]
[codex:671563] thinking
[codex:671563] **Finishing review**
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '4000,4400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563]
[codex:671563] if (lastIndex != toDeleteIndex) {
[codex:671563] bytes32 lastvalue = set._values[lastIndex];
[codex:671563]
[codex:671563] // Move the last value to the index where the value to delete is
[codex:671563] set._values[toDeleteIndex] = lastvalue;
[codex:671563] // Update the index for the moved value
[codex:671563] set._indexes[lastvalue] = valueIndex; // Replace lastvalue's index to valueIndex
[codex:671563] }
[codex:671563]
[codex:671563] // Delete the slot where the moved value was stored
[codex:671563] set._values.pop();
[codex:671563]
[codex:671563] // Delete the index for the deleted slot
[codex:671563] delete set._indexes[value];
[codex:671563]
[codex:671563] return true;
[codex:671563] } else {
[codex:671563] return false;
[codex:671563] }
[codex:671563]
[codex:671563] thinking
[codex:671563] **Finishing file review**
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '4400,4800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563] external
[codex:671563] view
[codex:671563] returns (uint256);
[codex:671563]
[codex:671563] /**
[codex:671563] * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.
[codex:671563] *
[codex:671563] * Requirements:
[codex:671563] *
[codex:671563] * - `accounts` and `ids` must have the same length.
[codex:671563] */
[codex:671563] function balanceOfBatch(address[] calldata accounts, uint256[] calldata ids)
[codex:671563] external
[codex:671563] view
[codex:671563] returns (uint256[] memory);
[codex:671563]
[codex:671563] /**
[codex:671563] * @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,
[codex:671563] *
[codex:671563] * Emits an {ApprovalForAll} event.
[codex:671563]
[codex:671563] thinking
[codex:671563] **Finishing reading file**
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '4800,5200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563] function owner() public view virtual returns (address) {
[codex:671563] return _owner;
[codex:671563] }
[codex:671563]
[codex:671563] /**
[codex:671563] * @dev Throws if called by any account other than the owner.
[codex:671563] */
[codex:671563] modifier onlyOwner() {
[codex:671563] require(owner() == _msgSender(), "Ownable: caller is not the owner");
[codex:671563] _;
[codex:671563] }
[codex:671563]
[codex:671563] /**
[codex:671563] * @dev Leaves the contract without owner. It will not be possible to call
[codex:671563] * `onlyOwner` functions anymore. Can only be called by the current owner.
[codex:671563] *
[codex:671563] * NOTE: Renouncing ownership will leave the contract without an owner,
[codex:671563] * thereby removing any functionality that is only available to the owner.
[codex:671563] */
[codex:671563] function renounceOwnership() public virtual onlyOwner {
[codex:671563]
[codex:671563] thinking
[codex:671563] **Continuing inspection**
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '5200,5600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563]
[codex:671563]
[codex:671563] thinking
[codex:671563] **Analyzing Sudoswap V2 for vulnerabilities**
[codex:671563] exec
[codex:671563] /bin/bash -lc 'rg -n "LSSVMPairCloner" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-u2496ux6 succeeded in 15ms:
[codex:671563] 751: @dev Used internally to grab pair parameters from calldata, see LSSVMPairCloner for technical details
[codex:671563] 947: @dev See LSSVMPairCloner for an explanation on how this works
[codex:671563] 1065: // @dev see LSSVMPairCloner for params length calculation
[codex:671563] 1175: // @dev see LSSVMPairCloner for params length calculation
[codex:671563] 1406:import {LSSVMPairCloner} from "./lib/LSSVMPairCloner.sol";
[codex:671563] 1414: using LSSVMPairCloner for address;
[codex:671563] 1631: LSSVMPairCloner.isERC20PairClone(
[codex:671563] 1638: LSSVMPairCloner.isERC20PairClone(
[codex:671563] 1645: LSSVMPairCloner.isETHPairClone(
[codex:671563] 1652: LSSVMPairCloner.isETHPairClone(
[codex:671563]
[codex:671563]
[codex:671563]
[codex:671563]
[codex:671563] thinking
[codex:671563] **Analyzing pair cloning vulnerability risks**
[codex:671563] thinking
[codex:671563] **Examining attack feasibility via router and pairs**
[codex:671563]
[codex:671563] This analysis walks through how an attacker might trick users into calling the router with a malicious pair, enabling token or NFT transfers under the guise of legitimate swaps. It highlights that exploiting the router requires victim interaction, as critical checks ensure only allowed router addresses can trigger sensitive functions, and that isPair alone can be bypassed by deploying clone contracts. However, stealing value without user involvement appears blocked by router permission checks, making the attack mainly reliant on social engineering or careful manipulation of swap parameters.
[codex:671563] thinking
[codex:671563] **Investigating permission checks and reentrancy risks**
[codex:671563]
[codex:671563] I’m exploring whether attackers can misuse call permissions or delegatecalls to bypass ownership or router restrictions, and whether reentrancy gaps exist in ETH refunds or NFT ownership checks. I’m also analyzing how assetRecipient and pool initialization behave to spot any unexpected access or state control issues. Overall, the contract’s layered checks seem robust, but small edge cases around delegatecalls, refund handling, and initializations deserve close attention.
[codex:671563] thinking
[codex:671563] **Concluding no clear exploit path**
[codex:671563]
[codex:671563] I've carefully reviewed initialization patterns, router logic, token transfer checks, and possible reentrancy points, focusing on concrete profit extraction routes. While there are theoretical concerns about malicious ERC20 tokens or uninitialized templates, I find no definitive exploit paths to siphon value under expected usage. Therefore, I’m ready to report no concrete vulnerabilities here.
[codex:671563] codex
[codex:671563] {"no_findings":true,"summary":"Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path identified under the stated constraints.","findings":[]}
[codex:671563] tokens used
[codex:671563] 68,965
[codex:671563] {"no_findings":true,"summary":"Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path identified under the stated constraints.","findings":[]}
{
"codex": {
"ran_at": "2026-01-02T16:40:46.997238+00:00",
"returncode": 0
},
"summary": "Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path identified under the stated constraints.",
"raw_final": {
"summary": "Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path identified under the stated constraints.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x014e 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x715018a6 00000019: GT 0000001a: PUSH2 0x00b6 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xad2e5770 00000024: GT 00000025: PUSH2 0x006f 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xad2e5770 0000002f: EQ 00000030: PUSH2 0x044c 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xb483eddc 0000003a: EQ 0000003b: PUSH2 0x0480 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xcc5bc20b 00000045: EQ 00000046: PUSH2 0x0495 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xce9c095d 00000050: EQ 00000051: PUSH2 0x04b5 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xebd0f693 0000005b: EQ 0000005c: PUSH2 0x04c8 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xf2fde38b 00000066: EQ 00000067: PUSH2 0x04e8 0000006a: JUMPI 0000006b: PUSH1 0x00 0000006d: DUP1 0000006e: REVERT 0000006f: JUMPDEST 00000070: DUP1 00000071: PUSH4 0x715018a6 00000076: EQ 00000077: PUSH2 0x0345 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0x8da5cb5b 00000081: EQ 00000082: PUSH2 0x035a 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0x9c3c11d2 0000008c: EQ 0000008d: PUSH2 0x0378 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0xa427f1ad 00000097: EQ 00000098: PUSH2 0x0398 0000009b: JUMPI 0000009c: DUP1 0000009d: PUSH4 0xa82719c8 000000a2: EQ 000000a3: PUSH2 0x03cc 000000a6: JUMPI 000000a7: DUP1 000000a8: PUSH4 0xa93ec68b 000000ad: EQ 000000ae: PUSH2 0x03fc 000000b1: JUMPI 000000b2: PUSH1 0x00 000000b4: DUP1 000000b5: REVERT 000000b6: JUMPDEST 000000b7: DUP1 000000b8: PUSH4 0x4bf107c1 000000bd: GT 000000be: PUSH2 0x0108 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0x4bf107c1 000000c8: EQ 000000c9: PUSH2 0x0271 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0x4c6bc433 000000d3: EQ 000000d4: PUSH2 0x0291 000000d7: JUMPI 000000d8: DUP1 000000d9: PUSH4 0x514f0330 000000de: EQ 000000df: PUSH2 0x02c5 000000e2: JUMPI 000000e3: DUP1 000000e4: PUSH4 0x59722caa 000000e9: EQ 000000ea: PUSH2 0x02e5 000000ed: JUMPI 000000ee: DUP1 000000ef: PUSH4 0x64df049e 000000f4: EQ 000000f5: PUSH2 0x0305 000000f8: JUMPI 000000f9: DUP1 000000fa: PUSH4 0x6cc88edb 000000ff: EQ 00000100: PUSH2 0x0325 00000103: JUMPI 00000104: PUSH1 0x00 00000106: DUP1 00000107: REVERT 00000108: JUMPDEST 00000109: DUP1 0000010a: PUSH3 0x4885ea 0000010e: EQ 0000010f: PUSH2 0x015a 00000112: JUMPI 00000113: DUP1 00000114: PUSH4 0x08f25a8f 00000119: EQ 0000011a: PUSH2 0x01ab 0000011d: JUMPI 0000011e: DUP1 0000011f: PUSH4 0x1cad5a40 00000124: EQ 00000125: PUSH2 0x01db 00000128: JUMPI 00000129: DUP1 0000012a: PUSH4 0x1ce4c78b 0000012f: EQ 00000130: PUSH2 0x01fd 00000133: JUMPI 00000134: DUP1 00000135: PUSH4 0x1fba95e8 0000013a: EQ 0000013b: PUSH2 0x0221 0000013e: JUMPI 0000013f: DUP1 00000140: PUSH4 0x2cdb394b 00000145: EQ 00000146: PUSH2 0x0251 00000149: JUMPI 0000014a: PUSH1 0x00 0000014c: DUP1 0000014d: REVERT 0000014e: JUMPDEST 0000014f: CALLDATASIZE 00000150: PUSH2 0x0155 00000153: JUMPI 00000154: STOP 00000155: JUMPDEST 00000156: PUSH1 0x00 00000158: DUP1 00000159: REVERT 0000015a: JUMPDEST 0000015b: CALLVALUE 0000015c: DUP1 0000015d: ISZERO 0000015e: PUSH2 0x0166 00000161: JUMPI 00000162: PUSH1 0x00 00000164: DUP1 00000165: REVERT 00000166: JUMPDEST 00000167: POP 00000168: PUSH2 0x018e 0000016b: PUSH32 0x000000000000000000000000cd80c916b1194beb48abf007d0b79a7238436d56 0000018c: DUP2 0000018d: JUMP 0000018e: JUMPDEST 0000018f: PUSH1 0x40 00000191: MLOAD 00000192: PUSH1 0x01 00000194: PUSH1 0x01 00000196: PUSH1 0xa0 00000198: SHL 00000199: SUB 0000019a: SWAP1 0000019b: SWAP2 0000019c: AND 0000019d: DUP2 0000019e: MSTORE 0000019f: PUSH1 0x20 000001a1: ADD 000001a2: JUMPDEST 000001a3: PUSH1 0x40 000001a5: MLOAD 000001a6: DUP1 000001a7: SWAP2 000001a8: SUB 000001a9: SWAP1 000001aa: RETURN 000001ab: JUMPDEST 000001ac: CALLVALUE 000001ad: DUP1 000001ae: ISZERO 000001af: PUSH2 0x01b7 000001b2: JUMPI 000001b3: PUSH1 0x00 000001b5: DUP1 000001b6: REVERT 000001b7: JUMPDEST 000001b8: POP 000001b9: PUSH2 0x01cb 000001bc: PUSH2 0x01c6 000001bf: CALLDATASIZE 000001c0: PUSH1 0x04 000001c2: PUSH2 0x1872 000001c5: JUMP 000001c6: JUMPDEST 000001c7: PUSH2 0x0508 000001ca: JUMP 000001cb: JUMPDEST 000001cc: PUSH1 0x40 000001ce: MLOAD 000001cf: SWAP1 000001d0: ISZERO 000001d1: ISZERO 000001d2: DUP2 000001d3: MSTORE 000001d4: PUSH1 0x20 000001d6: ADD 000001d7: PUSH2 0x01a2 000001da: JUMP 000001db: JUMPDEST 000001dc: CALLVALUE 000001dd: DUP1 000001de: ISZERO 000001df: PUSH2 0x01e7 000001e2: JUMPI 000001e3: PUSH1 0x00 000001e5: DUP1 000001e6: REVERT 000001e7: JUMPDEST 000001e8: POP 000001e9: PUSH2 0x01fb 000001ec: PUSH2 0x01f6 000001ef: CALLDATASIZE 000001f0: PUSH1 0x04 000001f2: PUSH2 0x18af 000001f5: JUMP 000001f6: JUMPDEST 000001f7: PUSH2 0x062b 000001fa: JUMP 000001fb: JUMPDEST 000001fc: STOP 000001fd: JUMPDEST 000001fe: CALLVALUE 000001ff: DUP1 00000200: ISZERO 00000201: PUSH2 0x0209 00000204: JUMPI 00000205: PUSH1 0x00 00000207: DUP1 00000208: REVERT 00000209: JUMPDEST 0000020a: POP 0000020b: PUSH2 0x0213 0000020e: PUSH1 0x02 00000210: SLOAD 00000211: DUP2 00000212: JUMP 00000213: JUMPDEST 00000214: PUSH1 0x40 00000216: MLOAD 00000217: SWAP1 00000218: DUP2 00000219: MSTORE 0000021a: PUSH1 0x20 0000021c: ADD 0000021d: PUSH2 0x01a2 00000220: JUMP 00000221: JUMPDEST 00000222: CALLVALUE 00000223: DUP1 00000224: ISZERO 00000225: PUSH2 0x022d 00000228: JUMPI 00000229: PUSH1 0x00 0000022b: DUP1 0000022c: REVERT 0000022d: JUMPDEST 0000022e: POP 0000022f: PUSH2 0x01cb 00000232: PUSH2 0x023c 00000235: CALLDATASIZE 00000236: PUSH1 0x04 00000238: PUSH2 0x18f0 0000023b: JUMP 0000023c: JUMPDEST 0000023d: PUSH1 0x04 0000023f: PUSH1 0x20 00000241: MSTORE 00000242: PUSH1 0x00 00000244: SWAP1 00000245: DUP2 00000246: MSTORE 00000247: PUSH1 0x40 00000249: SWAP1 0000024a: KECCAK256 0000024b: SLOAD 0000024c: PUSH1 0xff 0000024e: AND 0000024f: DUP2 00000250: JUMP 00000251: JUMPDEST 00000252: CALLVALUE 00000253: DUP1 00000254: ISZERO 00000255: PUSH2 0x025d 00000258: JUMPI 00000259: PUSH1 0x00 0000025b: DUP1 0000025c: REVERT 0000025d: JUMPDEST 0000025e: POP 0000025f: PUSH2 0x01fb 00000262: PUSH2 0x026c 00000265: CALLDATASIZE 00000266: PUSH1 0x04 00000268: PUSH2 0x1960 0000026b: JUMP 0000026c: JUMPDEST 0000026d: PUSH2 0x071d 00000270: JUMP 00000271: JUMPDEST 00000272: CALLVALUE 00000273: DUP1 00000274: ISZERO 00000275: PUSH2 0x027d 00000278: JUMPI 00000279: PUSH1 0x00 0000027b: DUP1 0000027c: REVERT 0000027d: JUMPDEST 0000027e: POP 0000027f: PUSH2 0x01fb 00000282: PUSH2 0x028c 00000285: CALLDATASIZE 00000286: PUSH1 0x04 00000288: PUSH2 0x19d6 0000028b: JUMP 0000028c: JUMPDEST 0000028d: PUSH2 0x084e 00000290: JUMP 00000291: JUMPDEST 00000292: CALLVALUE 00000293: DUP1 00000294: ISZERO 00000295: PUSH2 0x029d 00000298: JUMPI 00000299: PUSH1 0x00 0000029b: DUP1 0000029c: REVERT 0000029d: JUMPDEST 0000029e: POP 0000029f: PUSH2 0x018e 000002a2: PUSH32 0x00000000000000000000000092de3a1511ef22abcf3526c302159882a4755b22 000002c3: DUP2 000002c4: JUMP 000002c5: JUMPDEST 000002c6: CALLVALUE 000002c7: DUP1 000002c8: ISZERO 000002c9: PUSH2 0x02d1 000002cc: JUMPI 000002cd: PUSH1 0x00 000002cf: DUP1 000002d0: REVERT 000002d1: JUMPDEST 000002d2: POP 000002d3: PUSH2 0x01fb 000002d6: PUSH2 0x02e0 000002d9: CALLDATASIZE 000002da: PUSH1 0x04 000002dc: PUSH2 0x18f0 000002df: JUMP 000002e0: JUMPDEST 000002e1: PUSH2 0x08e5 000002e4: JUMP 000002e5: JUMPDEST 000002e6: CALLVALUE 000002e7: DUP1 000002e8: ISZERO 000002e9: PUSH2 0x02f1 000002ec: JUMPI 000002ed: PUSH1 0x00 000002ef: DUP1 000002f0: REVERT 000002f1: JUMPDEST 000002f2: POP 000002f3: PUSH2 0x018e 000002f6: PUSH2 0x0300 000002f9: CALLDATASIZE 000002fa: PUSH1 0x04 000002fc: PUSH2 0x1a04 000002ff: JUMP 00000300: JUMPDEST 00000301: PUSH2 0x09a6 00000304: JUMP 00000305: JUMPDEST 00000306: CALLVALUE 00000307: DUP1 00000308: ISZERO 00000309: PUSH2 0x0311 0000030c: JUMPI 0000030d: PUSH1 0x00 0000030f: DUP1 00000310: REVERT 00000311: JUMPDEST 00000312: POP 00000313: PUSH1 0x01 00000315: SLOAD 00000316: PUSH2 0x018e 00000319: SWAP1 0000031a: PUSH1 0x01 0000031c: PUSH1 0x01 0000031e: PUSH1 0xa0 00000320: SHL 00000321: SUB 00000322: AND 00000323: DUP2 00000324: JUMP 00000325: JUMPDEST 00000326: CALLVALUE 00000327: DUP1 00000328: ISZERO 00000329: PUSH2 0x0331 0000032c: JUMPI 0000032d: PUSH1 0x00 0000032f: DUP1 00000330: REVERT 00000331: JUMPDEST 00000332: POP 00000333: PUSH2 0x01fb 00000336: PUSH2 0x0340 00000339: CALLDATASIZE 0000033a: PUSH1 0x04 0000033c: PUSH2 0x19d6 0000033f: JUMP 00000340: JUMPDEST 00000341: PUSH2 0x0c40 00000344: JUMP 00000345: JUMPDEST 00000346: CALLVALUE 00000347: DUP1 00000348: ISZERO 00000349: PUSH2 0x0351 0000034c: JUMPI 0000034d: PUSH1 0x00 0000034f: DUP1 00000350: REVERT 00000351: JUMPDEST 00000352: POP 00000353: PUSH2 0x01fb 00000356: PUSH2 0x0d54 00000359: JUMP 0000035a: JUMPDEST 0000035b: CALLVALUE 0000035c: DUP1 0000035d: ISZERO 0000035e: PUSH2 0x0366 00000361: JUMPI 00000362: PUSH1 0x00 00000364: DUP1 00000365: REVERT 00000366: JUMPDEST 00000367: POP 00000368: PUSH1 0x00 0000036a: SLOAD 0000036b: PUSH1 0x01 0000036d: PUSH1 0x01 0000036f: PUSH1 0xa0 00000371: SHL 00000372: SUB 00000373: AND 00000374: PUSH2 0x018e 00000377: JUMP 00000378: JUMPDEST 00000379: CALLVALUE 0000037a: DUP1 0000037b: ISZERO 0000037c: PUSH2 0x0384 0000037f: JUMPI 00000380: PUSH1 0x00 00000382: DUP1 00000383: REVERT 00000384: JUMPDEST 00000385: POP 00000386: PUSH2 0x01fb 00000389: PUSH2 0x0393 0000038c: CALLDATASIZE 0000038d: PUSH1 0x04 0000038f: PUSH2 0x1a40 00000392: JUMP 00000393: JUMPDEST 00000394: PUSH2 0x0d8a 00000397: JUMP 00000398: JUMPDEST 00000399: CALLVALUE 0000039a: DUP1 0000039b: ISZERO 0000039c: PUSH2 0x03a4 0000039f: JUMPI 000003a0: PUSH1 0x00 000003a2: DUP1 000003a3: REVERT 000003a4: JUMPDEST 000003a5: POP 000003a6: PUSH2 0x018e 000003a9: PUSH32 0x000000000000000000000000d42638863462d2f21bb7d4275d7637ee5d5541eb 000003ca: DUP2 000003cb: JUMP 000003cc: JUMPDEST 000003cd: CALLVALUE 000003ce: DUP1 000003cf: ISZERO 000003d0: PUSH2 0x03d8 000003d3: JUMPI 000003d4: PUSH1 0x00 000003d6: DUP1 000003d7: REVERT 000003d8: JUMPDEST 000003d9: POP 000003da: PUSH2 0x01cb 000003dd: PUSH2 0x03e7 000003e0: CALLDATASIZE 000003e1: PUSH1 0x04 000003e3: PUSH2 0x18f0 000003e6: JUMP 000003e7: JUMPDEST 000003e8: PUSH1 0x03 000003ea: PUSH1 0x20 000003ec: MSTORE 000003ed: PUSH1 0x00 000003ef: SWAP1 000003f0: DUP2 000003f1: MSTORE 000003f2: PUSH1 0x40 000003f4: SWAP1 000003f5: KECCAK256 000003f6: SLOAD 000003f7: PUSH1 0xff 000003f9: AND 000003fa: DUP2 000003fb: JUMP 000003fc: JUMPDEST 000003fd: CALLVALUE 000003fe: DUP1 000003ff: ISZERO 00000400: PUSH2 0x0408 00000403: JUMPI 00000404: PUSH1 0x00 00000406: DUP1 00000407: REVERT 00000408: JUMPDEST 00000409: POP 0000040a: PUSH2 0x0435 0000040d: PUSH2 0x0417 00000410: CALLDATASIZE 00000411: PUSH1 0x04 00000413: PUSH2 0x18f0 00000416: JUMP 00000417: JUMPDEST 00000418: PUSH1 0x05 0000041a: PUSH1 0x20 0000041c: MSTORE 0000041d: PUSH1 0x00 0000041f: SWAP1 00000420: DUP2 00000421: MSTORE 00000422: PUSH1 0x40 00000424: SWAP1 00000425: KECCAK256 00000426: SLOAD 00000427: PUSH1 0xff 00000429: DUP1 0000042a: DUP3 0000042b: AND 0000042c: SWAP2 0000042d: PUSH2 0x0100 00000430: SWAP1 00000431: DIV 00000432: AND 00000433: DUP3 00000434: JUMP 00000435: JUMPDEST 00000436: PUSH1 0x40 00000438: DUP1 00000439: MLOAD 0000043a: SWAP3 0000043b: ISZERO 0000043c: ISZERO 0000043d: DUP4 0000043e: MSTORE 0000043f: SWAP1 00000440: ISZERO 00000441: ISZERO 00000442: PUSH1 0x20 00000444: DUP4 00000445: ADD 00000446: MSTORE 00000447: ADD 00000448: PUSH2 0x01a2 0000044b: JUMP 0000044c: JUMPDEST 0000044d: CALLVALUE 0000044e: DUP1 0000044f: ISZERO 00000450: PUSH2 0x0458 00000453: JUMPI 00000454: PUSH1 0x00 00000456: DUP1 00000457: REVERT 00000458: JUMPDEST 00000459: POP 0000045a: PUSH2 0x018e 0000045d: PUSH32 0x00000000000000000000000008ce97807a81896e85841d74fb7e7b065ab3ef05 0000047e: DUP2 0000047f: JUMP 00000480: JUMPDEST 00000481: CALLVALUE 00000482: DUP1 00000483: ISZERO 00000484: PUSH2 0x048c 00000487: JUMPI 00000488: PUSH1 0x00 0000048a: DUP1 0000048b: REVERT 0000048c: JUMPDEST 0000048d: POP 0000048e: PUSH2 0x01fb 00000491: PUSH2 0x0e31 00000494: JUMP 00000495: JUMPDEST 00000496: CALLVALUE 00000497: DUP1 00000498: ISZERO 00000499: PUSH2 0x04a1 0000049c: JUMPI 0000049d: PUSH1 0x00 0000049f: DUP1 000004a0: REVERT 000004a1: JUMPDEST 000004a2: POP 000004a3: PUSH2 0x01fb 000004a6: PUSH2 0x04b0 000004a9: CALLDATASIZE 000004aa: PUSH1 0x04 000004ac: PUSH2 0x1a59 000004af: JUMP 000004b0: JUMPDEST 000004b1: PUSH2 0x0e71 000004b4: JUMP 000004b5: JUMPDEST 000004b6: PUSH2 0x018e 000004b9: PUSH2 0x04c3 000004bc: CALLDATASIZE 000004bd: PUSH1 0x04 000004bf: PUSH2 0x1acc 000004c2: JUMP 000004c3: JUMPDEST 000004c4: PUSH2 0x0eb9 000004c7: JUMP 000004c8: JUMPDEST 000004c9: CALLVALUE 000004ca: DUP1 000004cb: ISZERO 000004cc: PUSH2 0x04d4 000004cf: JUMPI 000004d0: PUSH1 0x00 000004d2: DUP1 000004d3: REVERT 000004d4: JUMPDEST 000004d5: POP 000004d6: PUSH2 0x01fb 000004d9: PUSH2 0x04e3 000004dc: CALLDATASIZE 000004dd: PUSH1 0x04 000004df: PUSH2 0x19d6 000004e2: JUMP 000004e3: JUMPDEST 000004e4: PUSH2 0x108e 000004e7: JUMP 000004e8: JUMPDEST 000004e9: CALLVALUE 000004ea: DUP1 000004eb: ISZERO 000004ec: PUSH2 0x04f4 000004ef: JUMPI 000004f0: PUSH1 0x00 000004f2: DUP1 000004f3: REVERT 000004f4: JUMPDEST 000004f5: POP 000004f6: PUSH2 0x01fb 000004f9: PUSH2 0x0503 000004fc: CALLDATASIZE 000004fd: PUSH1 0x04 000004ff: PUSH2 0x18f0 00000502: JUMP 00000503: JUMPDEST 00000504: PUSH2 0x117c 00000507: JUMP 00000508: JUMPDEST 00000509: PUSH1 0x00 0000050b: PUSH1 0x02 0000050d: DUP3 0000050e: PUSH1 0x03 00000510: DUP2 00000511: GT 00000512: ISZERO 00000513: PUSH2 0x051e 00000516: JUMPI 00000517: PUSH2 0x051e 0000051a: PUSH2 0x1b8d 0000051d: JUMP 0000051e: JUMPDEST 0000051f: SUB 00000520: PUSH2 0x0555 00000523: JUMPI 00000524: PUSH2 0x054e 00000527: ADDRESS 00000528: PUSH32 0x000000000000000000000000d42638863462d2f21bb7d4275d7637ee5d5541eb 00000549: DUP6 0000054a: PUSH2 0x1217 0000054d: JUMP 0000054e: JUMPDEST 0000054f: SWAP1 00000550: POP 00000551: PUSH2 0x0625 00000554: JUMP 00000555: JUMPDEST 00000556: PUSH1 0x03 00000558: DUP3 00000559: PUSH1 0x03 0000055b: DUP2 0000055c: GT 0000055d: ISZERO 0000055e: PUSH2 0x0569 00000561: JUMPI 00000562: PUSH2 0x0569 00000565: PUSH2 0x1b8d 00000568: JUMP 00000569: JUMPDEST 0000056a: SUB 0000056b: PUSH2 0x0599 0000056e: JUMPI 0000056f: PUSH2 0x054e 00000572: ADDRESS 00000573: PUSH32 0x00000000000000000000000092de3a1511ef22abcf3526c302159882a4755b22 00000594: DUP6 00000595: PUSH2 0x1217 00000598: JUMP 00000599: JUMPDEST 0000059a: PUSH1 0x00 0000059c: DUP3 0000059d: PUSH1 0x03 0000059f: DUP2 000005a0: GT 000005a1: ISZERO 000005a2: PUSH2 0x05ad 000005a5: JUMPI 000005a6: PUSH2 0x05ad 000005a9: PUSH2 0x1b8d 000005ac: JUMP 000005ad: JUMPDEST 000005ae: SUB 000005af: PUSH2 0x05dd 000005b2: JUMPI 000005b3: PUSH2 0x054e 000005b6: ADDRESS 000005b7: PUSH32 0x00000000000000000000000008ce97807a81896e85841d74fb7e7b065ab3ef05 000005d8: DUP6 000005d9: PUSH2 0x1291 000005dc: JUMP 000005dd: JUMPDEST 000005de: PUSH1 0x01 000005e0: DUP3 000005e1: PUSH1 0x03 000005e3: DUP2 000005e4: GT 000005e5: ISZERO 000005e6: PUSH2 0x05f1 000005e9: JUMPI 000005ea: PUSH2 0x05f1 000005ed: PUSH2 0x1b8d 000005f0: JUMP 000005f1: JUMPDEST 000005f2: SUB 000005f3: PUSH2 0x0621 000005f6: JUMPI 000005f7: PUSH2 0x054e 000005fa: ADDRESS 000005fb: PUSH32 0x000000000000000000000000cd80c916b1194beb48abf007d0b79a7238436d56 0000061c: DUP6 0000061d: PUSH2 0x1291 00000620: JUMP 00000621: JUMPDEST 00000622: POP 00000623: PUSH1 0x00 00000625: JUMPDEST 00000626: SWAP3 00000627: SWAP2 00000628: POP 00000629: POP 0000062a: JUMP 0000062b: JUMPDEST 0000062c: PUSH2 0x0640 0000062f: PUSH1 0x01 00000631: PUSH1 0x01 00000633: PUSH1 0xa0 00000635: SHL 00000636: SUB 00000637: DUP5 00000638: AND 00000639: CALLER 0000063a: DUP5 0000063b: DUP5 0000063c: PUSH2 0x130b 0000063f: JUMP 00000640: JUMPDEST 00000641: PUSH2 0x064b 00000644: DUP3 00000645: PUSH1 0x02 00000647: PUSH2 0x0508 0000064a: JUMP 0000064b: JUMPDEST 0000064c: DUP1 0000064d: PUSH2 0x065c 00000650: JUMPI 00000651: POP 00000652: PUSH2 0x065c 00000655: DUP3 00000656: PUSH1 0x03 00000658: PUSH2 0x0508 0000065b: JUMP 0000065c: JUMPDEST 0000065d: ISZERO 0000065e: PUSH2 0x0718 00000661: JUMPI 00000662: DUP2 00000663: PUSH1 0x01 00000665: PUSH1 0x01 00000667: PUSH1 0xa0 00000669: SHL 0000066a: SUB 0000066b: AND 0000066c: PUSH4 0xfc0c546a 00000671: PUSH1 0x40 00000673: MLOAD 00000674: DUP2 00000675: PUSH4 0xffffffff 0000067a: AND 0000067b: PUSH1 0xe0 0000067d: SHL 0000067e: DUP2 0000067f: MSTORE 00000680: PUSH1 0x04 00000682: ADD 00000683: PUSH1 0x20 00000685: PUSH1 0x40 00000687: MLOAD 00000688: DUP1 00000689: DUP4 0000068a: SUB 0000068b: DUP2 0000068c: DUP7 0000068d: GAS 0000068e: STATICCALL 0000068f: ISZERO 00000690: DUP1 00000691: ISZERO 00000692: PUSH2 0x069f 00000695: JUMPI 00000696: RETURNDATASIZE 00000697: PUSH1 0x00 00000699: DUP1 0000069a: RETURNDATACOPY 0000069b: RETURNDATASIZE 0000069c: PUSH1 0x00 0000069e: REVERT 0000069f: JUMPDEST 000006a0: POP 000006a1: POP 000006a2: POP 000006a3: POP 000006a4: PUSH1 0x40 000006a6: MLOAD 000006a7: RETURNDATASIZE 000006a8: PUSH1 0x1f 000006aa: NOT 000006ab: PUSH1 0x1f 000006ad: DUP3 000006ae: ADD 000006af: AND 000006b0: DUP3 000006b1: ADD 000006b2: DUP1 000006b3: PUSH1 0x40 000006b5: MSTORE 000006b6: POP 000006b7: DUP2 000006b8: ADD 000006b9: SWAP1 000006ba: PUSH2 0x06c3 000006bd: SWAP2 000006be: SWAP1 000006bf: PUSH2 0x1ba3 000006c2: JUMP 000006c3: JUMPDEST 000006c4: PUSH1 0x01 000006c6: PUSH1 0x01 000006c8: PUSH1 0xa0 000006ca: SHL 000006cb: SUB 000006cc: AND 000006cd: DUP4 000006ce: PUSH1 0x01 000006d0: PUSH1 0x01 000006d2: PUSH1 0xa0 000006d4: SHL 000006d5: SUB 000006d6: AND 000006d7: SUB 000006d8: PUSH2 0x0718 000006db: JUMPI 000006dc: PUSH1 0x40 000006de: MLOAD 000006df: PUSH1 0x01 000006e1: PUSH1 0x01 000006e3: PUSH1 0xa0 000006e5: SHL 000006e6: SUB 000006e7: DUP4 000006e8: AND 000006e9: DUP2 000006ea: MSTORE 000006eb: PUSH32 0x831faf3fbb75c9fc66e318de7e95905d24c0430822da168c1c06fd49cba8f5f7 0000070c: SWAP1 0000070d: PUSH1 0x20 0000070f: ADD 00000710: PUSH1 0x40 00000712: MLOAD 00000713: DUP1 00000714: SWAP2 00000715: SUB 00000716: SWAP1 00000717: LOG1 00000718: JUMPDEST 00000719: POP 0000071a: POP 0000071b: POP 0000071c: JUMP 0000071d: JUMPDEST 0000071e: DUP2 0000071f: PUSH1 0x00 00000721: JUMPDEST 00000722: DUP2 00000723: DUP2 00000724: LT 00000725: ISZERO 00000726: PUSH2 0x07c6 00000729: JUMPI 0000072a: DUP6 0000072b: PUSH1 0x01 0000072d: PUSH1 0x01 0000072f: PUSH1 0xa0 00000731: SHL 00000732: SUB 00000733: AND 00000734: PUSH4 0x42842e0e 00000739: CALLER 0000073a: DUP6 0000073b: DUP9 0000073c: DUP9 0000073d: DUP7 0000073e: DUP2 0000073f: DUP2 00000740: LT 00000741: PUSH2 0x074c 00000744: JUMPI 00000745: PUSH2 0x074c 00000748: PUSH2 0x1bc0 0000074b: JUMP 0000074c: JUMPDEST 0000074d: PUSH1 0x40 0000074f: MLOAD 00000750: PUSH1 0x01 00000752: PUSH1 0x01 00000754: PUSH1 0xe0 00000756: SHL 00000757: SUB 00000758: NOT 00000759: PUSH1 0xe0 0000075b: DUP9 0000075c: SWAP1 0000075d: SHL 0000075e: AND 0000075f: DUP2 00000760: MSTORE 00000761: PUSH1 0x01 00000763: PUSH1 0x01 00000765: PUSH1 0xa0 00000767: SHL 00000768: SUB 00000769: SWAP6 0000076a: DUP7 0000076b: AND 0000076c: PUSH1 0x04 0000076e: DUP3 0000076f: ADD 00000770: MSTORE 00000771: SWAP5 00000772: SWAP1 00000773: SWAP4 00000774: AND 00000775: PUSH1 0x24 00000777: DUP6 00000778: ADD 00000779: MSTORE 0000077a: POP 0000077b: PUSH1 0x20 0000077d: SWAP1 0000077e: SWAP2 0000077f: MUL 00000780: ADD 00000781: CALLDATALOAD 00000782: PUSH1 0x44 00000784: DUP3 00000785: ADD 00000786: MSTORE 00000787: PUSH1 0x64 00000789: ADD 0000078a: PUSH1 0x00 0000078c: PUSH1 0x40 0000078e: MLOAD 0000078f: DUP1 00000790: DUP4 00000791: SUB 00000792: DUP2 00000793: PUSH1 0x00 00000795: DUP8 00000796: DUP1 00000797: EXTCODESIZE 00000798: ISZERO 00000799: DUP1 0000079a: ISZERO 0000079b: PUSH2 0x07a3 0000079e: JUMPI 0000079f: PUSH1 0x00 000007a1: DUP1 000007a2: REVERT 000007a3: JUMPDEST 000007a4: POP 000007a5: GAS 000007a6: CALL 000007a7: ISZERO 000007a8: DUP1 000007a9: ISZERO 000007aa: PUSH2 0x07b7 000007ad: JUMPI 000007ae: RETURNDATASIZE 000007af: PUSH1 0x00 000007b1: DUP1 000007b2: RETURNDATACOPY 000007b3: RETURNDATASIZE 000007b4: PUSH1 0x00 000007b6: REVERT 000007b7: JUMPDEST 000007b8: POP 000007b9: POP 000007ba: POP 000007bb: POP 000007bc: DUP1 000007bd: PUSH1 0x01 000007bf: ADD 000007c0: SWAP1 000007c1: POP 000007c2: PUSH2 0x0721 000007c5: JUMP 000007c6: JUMPDEST 000007c7: POP 000007c8: PUSH2 0x07d2 000007cb: DUP3 000007cc: PUSH1 0x02 000007ce: PUSH2 0x0508 000007d1: JUMP 000007d2: JUMPDEST 000007d3: DUP1 000007d4: PUSH2 0x07e3 000007d7: JUMPI 000007d8: POP 000007d9: PUSH2 0x07e3 000007dc: DUP3 000007dd: PUSH1 0x00 000007df: PUSH2 0x0508 000007e2: JUMP 000007e3: JUMPDEST 000007e4: DUP1 000007e5: PUSH2 0x07f4 000007e8: JUMPI 000007e9: POP 000007ea: PUSH2 0x07f4 000007ed: DUP3 000007ee: PUSH1 0x03 000007f0: PUSH2 0x0508 000007f3: JUMP 000007f4: JUMPDEST 000007f5: DUP1 000007f6: PUSH2 0x0805 000007f9: JUMPI 000007fa: POP 000007fb: PUSH2 0x0805 000007fe: DUP3 000007ff: PUSH1 0x01 00000801: PUSH2 0x0508 00000804: JUMP 00000805: JUMPDEST 00000806: ISZERO 00000807: PUSH2 0x0847 0000080a: JUMPI 0000080b: PUSH1 0x40 0000080d: MLOAD 0000080e: PUSH1 0x01 00000810: PUSH1 0x01 00000812: PUSH1 0xa0 00000814: SHL 00000815: SUB 00000816: DUP4 00000817: AND 00000818: DUP2 00000819: MSTORE 0000081a: PUSH32 0x4fd0cd7c14badac45ff0bee670a9d8dd80e87907afcf2c121e0fd4b8b4b0047f 0000083b: SWAP1 0000083c: PUSH1 0x20 0000083e: ADD 0000083f: PUSH1 0x40 00000841: MLOAD 00000842: DUP1 00000843: SWAP2 00000844: SUB 00000845: SWAP1 00000846: LOG1 00000847: JUMPDEST 00000848: POP 00000849: POP 0000084a: POP 0000084b: POP 0000084c: POP 0000084d: JUMP 0000084e: JUMPDEST 0000084f: PUSH1 0x00 00000851: SLOAD 00000852: PUSH1 0x01 00000854: PUSH1 0x01 00000856: PUSH1 0xa0 00000858: SHL 00000859: SUB 0000085a: AND 0000085b: CALLER 0000085c: EQ 0000085d: PUSH2 0x0881 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 0x0878 00000873: SWAP1 00000874: PUSH2 0x1bd6 00000877: JUMP 00000878: JUMPDEST 00000879: PUSH1 0x40 0000087b: MLOAD 0000087c: DUP1 0000087d: SWAP2 0000087e: SUB 0000087f: SWAP1 00000880: REVERT 00000881: JUMPDEST 00000882: PUSH1 0x01 00000884: PUSH1 0x01 00000886: PUSH1 0xa0 00000888: SHL 00000889: SUB 0000088a: DUP3 0000088b: AND 0000088c: PUSH1 0x00 0000088e: DUP2 0000088f: DUP2 00000890: MSTORE 00000891: PUSH1 0x03 00000893: PUSH1 0x20 00000895: SWAP1 00000896: DUP2 00000897: MSTORE 00000898: PUSH1 0x40 0000089a: SWAP2 0000089b: DUP3 0000089c: SWAP1 0000089d: KECCAK256 0000089e: DUP1 0000089f: SLOAD 000008a0: PUSH1 0xff 000008a2: NOT 000008a3: AND 000008a4: DUP6 000008a5: ISZERO 000008a6: ISZERO 000008a7: SWAP1 000008a8: DUP2 000008a9: OR 000008aa: SWAP1 000008ab: SWAP2 000008ac: SSTORE 000008ad: DUP3 000008ae: MLOAD 000008af: SWAP4 000008b0: DUP5 000008b1: MSTORE 000008b2: SWAP1 000008b3: DUP4 000008b4: ADD 000008b5: MSTORE 000008b6: PUSH32 0x1da28d127ec72d2dde6a533c98857664b25cd827680fb1f39f57394c2b444d91 000008d7: SWAP2 000008d8: ADD 000008d9: JUMPDEST 000008da: PUSH1 0x40 000008dc: MLOAD 000008dd: DUP1 000008de: SWAP2 000008df: SUB 000008e0: SWAP1 000008e1: LOG1 000008e2: POP 000008e3: POP 000008e4: JUMP 000008e5: JUMPDEST 000008e6: PUSH1 0x00 000008e8: SLOAD 000008e9: PUSH1 0x01 000008eb: PUSH1 0x01 000008ed: PUSH1 0xa0 000008ef: SHL 000008f0: SUB 000008f1: AND 000008f2: CALLER 000008f3: EQ 000008f4: PUSH2 0x090f 000008f7: JUMPI 000008f8: PUSH1 0x40 000008fa: MLOAD 000008fb: PUSH3 0x461bcd 000008ff: PUSH1 0xe5 00000901: SHL 00000902: DUP2 00000903: MSTORE 00000904: PUSH1 0x04 00000906: ADD 00000907: PUSH2 0x0878 0000090a: SWAP1 0000090b: PUSH2 0x1bd6 0000090e: JUMP 0000090f: JUMPDEST 00000910: PUSH1 0x01 00000912: PUSH1 0x01 00000914: PUSH1 0xa0 00000916: SHL 00000917: SUB 00000918: DUP2 00000919: AND 0000091a: PUSH2 0x0951 0000091d: JUMPI 0000091e: PUSH1 0x40 00000920: MLOAD 00000921: PUSH3 0x461bcd 00000925: PUSH1 0xe5 00000927: SHL 00000928: DUP2 00000929: MSTORE 0000092a: PUSH1 0x20 0000092c: PUSH1 0x04 0000092e: DUP3 0000092f: ADD 00000930: MSTORE 00000931: PUSH1 0x09 00000933: PUSH1 0x24 00000935: DUP3 00000936: ADD 00000937: MSTORE 00000938: PUSH9 0x302061646472657373 00000942: PUSH1 0xb8 00000944: SHL 00000945: PUSH1 0x44 00000947: DUP3 00000948: ADD 00000949: MSTORE 0000094a: PUSH1 0x64 0000094c: ADD 0000094d: PUSH2 0x0878 00000950: JUMP 00000951: JUMPDEST 00000952: PUSH1 0x01 00000954: DUP1 00000955: SLOAD 00000956: PUSH1 0x01 00000958: PUSH1 0x01 0000095a: PUSH1 0xa0 0000095c: SHL 0000095d: SUB 0000095e: NOT 0000095f: AND 00000960: PUSH1 0x01 00000962: PUSH1 0x01 00000964: PUSH1 0xa0 00000966: SHL 00000967: SUB 00000968: DUP4 00000969: AND 0000096a: SWAP1 0000096b: DUP2 0000096c: OR 0000096d: SWAP1 0000096e: SWAP2 0000096f: SSTORE 00000970: PUSH1 0x40 00000972: MLOAD 00000973: SWAP1 00000974: DUP2 00000975: MSTORE 00000976: PUSH32 0xceec08a75d1f3b12c14c6cdc16c081aec1c401c2eac1d8c6ea91e9d73b929211 00000997: SWAP1 00000998: PUSH1 0x20 0000099a: ADD 0000099b: JUMPDEST 0000099c: PUSH1 0x40 0000099e: MLOAD 0000099f: DUP1 000009a0: SWAP2 000009a1: SUB 000009a2: SWAP1 000009a3: LOG1 000009a4: POP 000009a5: JUMP 000009a6: JUMPDEST 000009a7: PUSH1 0x00 000009a9: PUSH1 0x03 000009ab: DUP2 000009ac: PUSH2 0x09bb 000009af: PUSH1 0x60 000009b1: DUP6 000009b2: ADD 000009b3: PUSH1 0x40 000009b5: DUP7 000009b6: ADD 000009b7: PUSH2 0x18f0 000009ba: JUMP 000009bb: JUMPDEST 000009bc: PUSH1 0x01 000009be: PUSH1 0x01 000009c0: PUSH1 0xa0 000009c2: SHL 000009c3: SUB 000009c4: AND 000009c5: DUP2 000009c6: MSTORE 000009c7: PUSH1 0x20 000009c9: DUP2 000009ca: ADD 000009cb: SWAP2 000009cc: SWAP1 000009cd: SWAP2 000009ce: MSTORE 000009cf: PUSH1 0x40 000009d1: ADD 000009d2: PUSH1 0x00 000009d4: KECCAK256 000009d5: SLOAD 000009d6: PUSH1 0xff 000009d8: AND 000009d9: PUSH2 0x0a24 000009dc: JUMPI 000009dd: PUSH1 0x40 000009df: MLOAD 000009e0: PUSH3 0x461bcd 000009e4: PUSH1 0xe5 000009e6: SHL 000009e7: DUP2 000009e8: MSTORE 000009e9: PUSH1 0x20 000009eb: PUSH1 0x04 000009ed: DUP3 000009ee: ADD 000009ef: MSTORE 000009f0: PUSH1 0x1d 000009f2: PUSH1 0x24 000009f4: DUP3 000009f5: ADD 000009f6: MSTORE 000009f7: PUSH32 0x426f6e64696e67206375727665206e6f742077686974656c6973746564000000 00000a18: PUSH1 0x44 00000a1a: DUP3 00000a1b: ADD 00000a1c: MSTORE 00000a1d: PUSH1 0x64 00000a1f: ADD 00000a20: PUSH2 0x0878 00000a23: JUMP 00000a24: JUMPDEST 00000a25: PUSH1 0x00 00000a27: PUSH2 0x0a36 00000a2a: PUSH1 0x40 00000a2c: DUP5 00000a2d: ADD 00000a2e: PUSH1 0x20 00000a30: DUP6 00000a31: ADD 00000a32: PUSH2 0x18f0 00000a35: JUMP 00000a36: JUMPDEST 00000a37: PUSH1 0x40 00000a39: MLOAD 00000a3a: PUSH4 0x01ffc9a7 00000a3f: PUSH1 0xe0 00000a41: SHL 00000a42: DUP2 00000a43: MSTORE 00000a44: PUSH4 0x780e9d63 00000a49: PUSH1 0xe0 00000a4b: SHL 00000a4c: PUSH1 0x04 00000a4e: DUP3 00000a4f: ADD 00000a50: MSTORE 00000a51: PUSH1 0x01 00000a53: PUSH1 0x01 00000a55: PUSH1 0xa0 00000a57: SHL 00000a58: SUB 00000a59: SWAP2 00000a5a: SWAP1 00000a5b: SWAP2 00000a5c: AND 00000a5d: SWAP1 00000a5e: PUSH4 0x01ffc9a7 00000a63: SWAP1 00000a64: PUSH1 0x24 00000a66: ADD 00000a67: PUSH1 0x20 00000a69: PUSH1 0x40 00000a6b: MLOAD 00000a6c: DUP1 00000a6d: DUP4 00000a6e: SUB 00000a6f: DUP2 00000a70: DUP7 00000a71: GAS 00000a72: STATICCALL 00000a73: SWAP3 00000a74: POP 00000a75: POP 00000a76: POP 00000a77: DUP1 00000a78: ISZERO 00000a79: PUSH2 0x0a9f 00000a7c: JUMPI 00000a7d: POP 00000a7e: PUSH1 0x40 00000a80: DUP1 00000a81: MLOAD 00000a82: PUSH1 0x1f 00000a84: RETURNDATASIZE 00000a85: SWAP1 00000a86: DUP2 00000a87: ADD 00000a88: PUSH1 0x1f 00000a8a: NOT 00000a8b: AND 00000a8c: DUP3 00000a8d: ADD 00000a8e: SWAP1 00000a8f: SWAP3 00000a90: MSTORE 00000a91: PUSH2 0x0a9c 00000a94: SWAP2 00000a95: DUP2 00000a96: ADD 00000a97: SWAP1 00000a98: PUSH2 0x1c0b 00000a9b: JUMP 00000a9c: JUMPDEST 00000a9d: PUSH1 0x01 00000a9f: JUMPDEST 00000aa0: PUSH2 0x0aca 00000aa3: JUMPI 00000aa4: POP 00000aa5: PUSH32 0x00000000000000000000000092de3a1511ef22abcf3526c302159882a4755b22 00000ac6: PUSH2 0x0b1b 00000ac9: JUMP 00000aca: JUMPDEST 00000acb: DUP1 00000acc: PUSH2 0x0af5 00000acf: JUMPI 00000ad0: PUSH32 0x00000000000000000000000092de3a1511ef22abcf3526c302159882a4755b22 00000af1: PUSH2 0x0b17 00000af4: JUMP 00000af5: JUMPDEST 00000af6: PUSH32 0x000000000000000000000000d42638863462d2f21bb7d4275d7637ee5d5541eb 00000b17: JUMPDEST 00000b18: SWAP2 00000b19: POP 00000b1a: POP 00000b1b: JUMPDEST 00000b1c: PUSH2 0x0b81 00000b1f: ADDRESS 00000b20: PUSH2 0x0b2f 00000b23: PUSH1 0x60 00000b25: DUP7 00000b26: ADD 00000b27: PUSH1 0x40 00000b29: DUP8 00000b2a: ADD 00000b2b: PUSH2 0x18f0 00000b2e: JUMP 00000b2f: JUMPDEST 00000b30: PUSH2 0x0b3f 00000b33: PUSH1 0x40 00000b35: DUP8 00000b36: ADD 00000b37: PUSH1 0x20 00000b39: DUP9 00000b3a: ADD 00000b3b: PUSH2 0x18f0 00000b3e: JUMP 00000b3f: JUMPDEST 00000b40: PUSH2 0x0b4f 00000b43: PUSH1 0xa0 00000b45: DUP9 00000b46: ADD 00000b47: PUSH1 0x80 00000b49: DUP10 00000b4a: ADD 00000b4b: PUSH2 0x1c28 00000b4e: JUMP 00000b4f: JUMPDEST 00000b50: PUSH1 0x02 00000b52: DUP2 00000b53: GT 00000b54: ISZERO 00000b55: PUSH2 0x0b60 00000b58: JUMPI 00000b59: PUSH2 0x0b60 00000b5c: PUSH2 0x1b8d 00000b5f: JUMP 00000b60: JUMPDEST 00000b61: PUSH2 0x0b6d 00000b64: PUSH1 0x20 00000b66: DUP10 00000b67: ADD 00000b68: DUP10 00000b69: PUSH2 0x18f0 00000b6c: JUMP 00000b6d: JUMPDEST 00000b6e: PUSH1 0x01 00000b70: PUSH1 0x01 00000b72: PUSH1 0xa0 00000b74: SHL 00000b75: SUB 00000b76: DUP8 00000b77: AND 00000b78: SWAP5 00000b79: SWAP4 00000b7a: SWAP3 00000b7b: SWAP2 00000b7c: SWAP1 00000b7d: PUSH2 0x1398 00000b80: JUMP 00000b81: JUMPDEST 00000b82: SWAP2 00000b83: POP 00000b84: PUSH2 0x0bfe 00000b87: DUP3 00000b88: PUSH2 0x0b94 00000b8b: PUSH1 0x20 00000b8d: DUP7 00000b8e: ADD 00000b8f: DUP7 00000b90: PUSH2 0x18f0 00000b93: JUMP 00000b94: JUMPDEST 00000b95: PUSH2 0x0ba4 00000b98: PUSH1 0x40 00000b9a: DUP8 00000b9b: ADD 00000b9c: PUSH1 0x20 00000b9e: DUP9 00000b9f: ADD 00000ba0: PUSH2 0x18f0 00000ba3: JUMP 00000ba4: JUMPDEST 00000ba5: PUSH2 0x0bb4 00000ba8: PUSH1 0x80 00000baa: DUP9 00000bab: ADD 00000bac: PUSH1 0x60 00000bae: DUP10 00000baf: ADD 00000bb0: PUSH2 0x18f0 00000bb3: JUMP 00000bb4: JUMPDEST 00000bb5: PUSH2 0x0bc4 00000bb8: PUSH1 0xc0 00000bba: DUP10 00000bbb: ADD 00000bbc: PUSH1 0xa0 00000bbe: DUP11 00000bbf: ADD 00000bc0: PUSH2 0x1c43 00000bc3: JUMP 00000bc4: JUMPDEST 00000bc5: PUSH2 0x0bd4 00000bc8: PUSH1 0xe0 00000bca: DUP11 00000bcb: ADD 00000bcc: PUSH1 0xc0 00000bce: DUP12 00000bcf: ADD 00000bd0: PUSH2 0x1c5e 00000bd3: JUMP 00000bd4: JUMPDEST 00000bd5: PUSH2 0x0be5 00000bd8: PUSH2 0x0100 00000bdb: DUP12 00000bdc: ADD 00000bdd: PUSH1 0xe0 00000bdf: DUP13 00000be0: ADD 00000be1: PUSH2 0x1c43 00000be4: JUMP 00000be5: JUMPDEST 00000be6: PUSH2 0x0bf3 00000be9: PUSH2 0x0100 00000bec: DUP13 00000bed: ADD 00000bee: DUP13 00000bef: PUSH2 0x1c79 00000bf2: JUMP 00000bf3: JUMPDEST 00000bf4: DUP13 00000bf5: PUSH2 0x0120 00000bf8: ADD 00000bf9: CALLDATALOAD 00000bfa: PUSH2 0x141b 00000bfd: JUMP 00000bfe: JUMPDEST 00000bff: PUSH1 0x40 00000c01: MLOAD 00000c02: PUSH1 0x01 00000c04: PUSH1 0x01 00000c06: PUSH1 0xa0 00000c08: SHL 00000c09: SUB 00000c0a: DUP4 00000c0b: AND 00000c0c: DUP2 00000c0d: MSTORE 00000c0e: PUSH32 0xf5bdc103c3e68a20d5f97d2d46792d3fdddfa4efeb6761f8141e6a7b936ca66c 00000c2f: SWAP1 00000c30: PUSH1 0x20 00000c32: ADD 00000c33: PUSH1 0x40 00000c35: MLOAD 00000c36: DUP1 00000c37: SWAP2 00000c38: SUB 00000c39: SWAP1 00000c3a: LOG1 00000c3b: POP 00000c3c: SWAP2 00000c3d: SWAP1 00000c3e: POP 00000c3f: JUMP 00000c40: JUMPDEST 00000c41: PUSH1 0x00 00000c43: SLOAD 00000c44: PUSH1 0x01 00000c46: PUSH1 0x01 00000c48: PUSH1 0xa0 00000c4a: SHL 00000c4b: SUB 00000c4c: AND 00000c4d: CALLER 00000c4e: EQ 00000c4f: PUSH2 0x0c6a 00000c52: JUMPI 00000c53: PUSH1 0x40 00000c55: MLOAD 00000c56: PUSH3 0x461bcd 00000c5a: PUSH1 0xe5 00000c5c: SHL 00000c5d: DUP2 00000c5e: MSTORE 00000c5f: PUSH1 0x04 00000c61: ADD 00000c62: PUSH2 0x0878 00000c65: SWAP1 00000c66: PUSH2 0x1bd6 00000c69: JUMP 00000c6a: JUMPDEST 00000c6b: DUP1 00000c6c: ISZERO 00000c6d: PUSH2 0x0ccd 00000c70: JUMPI 00000c71: PUSH1 0x01 00000c73: PUSH1 0x01 00000c75: PUSH1 0xa0 00000c77: SHL 00000c78: SUB 00000c79: DUP3 00000c7a: AND 00000c7b: PUSH1 0x00 00000c7d: SWAP1 00000c7e: DUP2 00000c7f: MSTORE 00000c80: PUSH1 0x04 00000c82: PUSH1 0x20 00000c84: MSTORE 00000c85: PUSH1 0x40 00000c87: SWAP1 00000c88: KECCAK256 00000c89: SLOAD 00000c8a: PUSH1 0xff 00000c8c: AND 00000c8d: ISZERO 00000c8e: PUSH2 0x0ccd 00000c91: JUMPI 00000c92: PUSH1 0x40 00000c94: MLOAD 00000c95: PUSH3 0x461bcd 00000c99: PUSH1 0xe5 00000c9b: SHL 00000c9c: DUP2 00000c9d: MSTORE 00000c9e: PUSH1 0x20 00000ca0: PUSH1 0x04 00000ca2: DUP3 00000ca3: ADD 00000ca4: MSTORE 00000ca5: PUSH1 0x11 00000ca7: PUSH1 0x24 00000ca9: DUP3 00000caa: ADD 00000cab: MSTORE 00000cac: PUSH17 0x21b0b713ba1031b0b636103937baba32b9 00000cbe: PUSH1 0x79 00000cc0: SHL 00000cc1: PUSH1 0x44 00000cc3: DUP3 00000cc4: ADD 00000cc5: MSTORE 00000cc6: PUSH1 0x64 00000cc8: ADD 00000cc9: PUSH2 0x0878 00000ccc: JUMP 00000ccd: JUMPDEST 00000cce: PUSH1 0x40 00000cd0: DUP1 00000cd1: MLOAD 00000cd2: DUP1 00000cd3: DUP3 00000cd4: ADD 00000cd5: DUP3 00000cd6: MSTORE 00000cd7: DUP3 00000cd8: ISZERO 00000cd9: ISZERO 00000cda: DUP1 00000cdb: DUP3 00000cdc: MSTORE 00000cdd: PUSH1 0x01 00000cdf: PUSH1 0x20 00000ce1: DUP1 00000ce2: DUP5 00000ce3: ADD 00000ce4: SWAP2 00000ce5: DUP3 00000ce6: MSTORE 00000ce7: PUSH1 0x01 00000ce9: PUSH1 0x01 00000ceb: PUSH1 0xa0 00000ced: SHL 00000cee: SUB 00000cef: DUP8 00000cf0: AND 00000cf1: PUSH1 0x00 00000cf3: DUP2 00000cf4: DUP2 00000cf5: MSTORE 00000cf6: PUSH1 0x05 00000cf8: DUP4 00000cf9: MSTORE 00000cfa: DUP7 00000cfb: SWAP1 00000cfc: KECCAK256 00000cfd: SWAP5 00000cfe: MLOAD 00000cff: DUP6 00000d00: SLOAD 00000d01: SWAP4 00000d02: MLOAD 00000d03: PUSH2 0xffff 00000d06: NOT 00000d07: SWAP1 00000d08: SWAP5 00000d09: AND 00000d0a: SWAP1 00000d0b: ISZERO 00000d0c: ISZERO 00000d0d: PUSH2 0xff00 00000d10: NOT 00000d11: AND 00000d12: OR 00000d13: PUSH2 0x0100 00000d16: SWAP4 00000d17: ISZERO 00000d18: ISZERO 00000d19: SWAP4 00000d1a: SWAP1 00000d1b: SWAP4 00000d1c: MUL 00000d1d: SWAP3 00000d1e: SWAP1 00000d1f: SWAP3 00000d20: OR 00000d21: SWAP1 00000d22: SWAP4 00000d23: SSTORE 00000d24: DUP4 00000d25: MLOAD 00000d26: SWAP1 00000d27: DUP2 00000d28: MSTORE 00000d29: SWAP2 00000d2a: DUP3 00000d2b: ADD 00000d2c: MSTORE 00000d2d: PUSH32 0x24e274cfd23919da24a57044266685f5474338837aecdcca3136b2102f78fee5 00000d4e: SWAP2 00000d4f: ADD 00000d50: PUSH2 0x08d9 00000d53: JUMP 00000d54: JUMPDEST 00000d55: PUSH1 0x00 00000d57: SLOAD 00000d58: PUSH1 0x01 00000d5a: PUSH1 0x01 00000d5c: PUSH1 0xa0 00000d5e: SHL 00000d5f: SUB 00000d60: AND 00000d61: CALLER 00000d62: EQ 00000d63: PUSH2 0x0d7e 00000d66: JUMPI 00000d67: PUSH1 0x40 00000d69: MLOAD 00000d6a: PUSH3 0x461bcd 00000d6e: PUSH1 0xe5 00000d70: SHL 00000d71: DUP2 00000d72: MSTORE 00000d73: PUSH1 0x04 00000d75: ADD 00000d76: PUSH2 0x0878 00000d79: SWAP1 00000d7a: PUSH2 0x1bd6 00000d7d: JUMP 00000d7e: JUMPDEST 00000d7f: PUSH2 0x0d88 00000d82: PUSH1 0x00 00000d84: PUSH2 0x154e 00000d87: JUMP 00000d88: JUMPDEST 00000d89: JUMP 00000d8a: JUMPDEST 00000d8b: PUSH1 0x00 00000d8d: SLOAD 00000d8e: PUSH1 0x01 00000d90: PUSH1 0x01 00000d92: PUSH1 0xa0 00000d94: SHL 00000d95: SUB 00000d96: AND 00000d97: CALLER 00000d98: EQ 00000d99: PUSH2 0x0db4 00000d9c: JUMPI 00000d9d: PUSH1 0x40 00000d9f: MLOAD 00000da0: PUSH3 0x461bcd 00000da4: PUSH1 0xe5 00000da6: SHL 00000da7: DUP2 00000da8: MSTORE 00000da9: PUSH1 0x04 00000dab: ADD 00000dac: PUSH2 0x0878 00000daf: SWAP1 00000db0: PUSH2 0x1bd6 00000db3: JUMP 00000db4: JUMPDEST 00000db5: PUSH8 0x016345785d8a0000 00000dbe: DUP2 00000dbf: GT 00000dc0: ISZERO 00000dc1: PUSH2 0x0dfc 00000dc4: JUMPI 00000dc5: PUSH1 0x40 00000dc7: MLOAD 00000dc8: PUSH3 0x461bcd 00000dcc: PUSH1 0xe5 00000dce: SHL 00000dcf: DUP2 00000dd0: MSTORE 00000dd1: PUSH1 0x20 00000dd3: PUSH1 0x04 00000dd5: DUP3 00000dd6: ADD 00000dd7: MSTORE 00000dd8: PUSH1 0x0d 00000dda: PUSH1 0x24 00000ddc: DUP3 00000ddd: ADD 00000dde: MSTORE 00000ddf: PUSH13 0x46656520746f6f206c61726765 00000ded: PUSH1 0x98 00000def: SHL 00000df0: PUSH1 0x44 00000df2: DUP3 00000df3: ADD 00000df4: MSTORE 00000df5: PUSH1 0x64 00000df7: ADD 00000df8: PUSH2 0x0878 00000dfb: JUMP 00000dfc: JUMPDEST 00000dfd: PUSH1 0x02 00000dff: DUP2 00000e00: SWAP1 00000e01: SSTORE 00000e02: PUSH1 0x40 00000e04: MLOAD 00000e05: DUP2 00000e06: DUP2 00000e07: MSTORE 00000e08: PUSH32 0x7c5d30e0df5c540841a598b27bd89807223a2e6348125bb4aa74f1a8cb9ce768 00000e29: SWAP1 00000e2a: PUSH1 0x20 00000e2c: ADD 00000e2d: PUSH2 0x099b 00000e30: JUMP 00000e31: JUMPDEST 00000e32: PUSH1 0x00 00000e34: SLOAD 00000e35: PUSH1 0x01 00000e37: PUSH1 0x01 00000e39: PUSH1 0xa0 00000e3b: SHL 00000e3c: SUB 00000e3d: AND 00000e3e: CALLER 00000e3f: EQ 00000e40: PUSH2 0x0e5b 00000e43: JUMPI 00000e44: PUSH1 0x40 00000e46: MLOAD 00000e47: PUSH3 0x461bcd 00000e4b: PUSH1 0xe5 00000e4d: SHL 00000e4e: DUP2 00000e4f: MSTORE 00000e50: PUSH1 0x04 00000e52: ADD 00000e53: PUSH2 0x0878 00000e56: SWAP1 00000e57: PUSH2 0x1bd6 00000e5a: JUMP 00000e5b: JUMPDEST 00000e5c: PUSH1 0x01 00000e5e: SLOAD 00000e5f: PUSH2 0x0d88 00000e62: SWAP1 00000e63: PUSH1 0x01 00000e65: PUSH1 0x01 00000e67: PUSH1 0xa0 00000e69: SHL 00000e6a: SUB 00000e6b: AND 00000e6c: SELFBALANCE 00000e6d: PUSH2 0x159e 00000e70: JUMP 00000e71: JUMPDEST 00000e72: PUSH1 0x00 00000e74: SLOAD 00000e75: PUSH1 0x01 00000e77: PUSH1 0x01 00000e79: PUSH1 0xa0 00000e7b: SHL 00000e7c: SUB 00000e7d: AND 00000e7e: CALLER 00000e7f: EQ 00000e80: PUSH2 0x0e9b 00000e83: JUMPI 00000e84: PUSH1 0x40 00000e86: MLOAD 00000e87: PUSH3 0x461bcd 00000e8b: PUSH1 0xe5 00000e8d: SHL 00000e8e: DUP2 00000e8f: MSTORE 00000e90: PUSH1 0x04 00000e92: ADD 00000e93: PUSH2 0x0878 00000e96: SWAP1 00000e97: PUSH2 0x1bd6 00000e9a: JUMP 00000e9b: JUMPDEST 00000e9c: PUSH1 0x01 00000e9e: SLOAD 00000e9f: PUSH2 0x0eb5 00000ea2: SWAP1 00000ea3: PUSH1 0x01 00000ea5: PUSH1 0x01 00000ea7: PUSH1 0xa0 00000ea9: SHL 00000eaa: SUB 00000eab: DUP5 00000eac: DUP2 00000ead: AND 00000eae: SWAP2 00000eaf: AND 00000eb0: DUP4 00000eb1: PUSH2 0x15ef 00000eb4: JUMP 00000eb5: JUMPDEST 00000eb6: POP 00000eb7: POP 00000eb8: JUMP 00000eb9: JUMPDEST 00000eba: PUSH1 0x01 00000ebc: PUSH1 0x01 00000ebe: PUSH1 0xa0 00000ec0: SHL 00000ec1: SUB 00000ec2: DUP9 00000ec3: AND 00000ec4: PUSH1 0x00 00000ec6: SWAP1 00000ec7: DUP2 00000ec8: MSTORE 00000ec9: PUSH1 0x03 00000ecb: PUSH1 0x20 00000ecd: MSTORE 00000ece: PUSH1 0x40 00000ed0: DUP2 00000ed1: KECCAK256 00000ed2: SLOAD 00000ed3: PUSH1 0xff 00000ed5: AND 00000ed6: PUSH2 0x0f21 00000ed9: JUMPI 00000eda: PUSH1 0x40 00000edc: MLOAD 00000edd: PUSH3 0x461bcd 00000ee1: PUSH1 0xe5 00000ee3: SHL 00000ee4: DUP2 00000ee5: MSTORE 00000ee6: PUSH1 0x20 00000ee8: PUSH1 0x04 00000eea: DUP3 00000eeb: ADD 00000eec: MSTORE 00000eed: PUSH1 0x1d 00000eef: PUSH1 0x24 00000ef1: DUP3 00000ef2: ADD 00000ef3: MSTORE 00000ef4: PUSH32 0x426f6e64696e67206375727665206e6f742077686974656c6973746564000000 00000f15: PUSH1 0x44 00000f17: DUP3 00000f18: ADD 00000f19: MSTORE 00000f1a: PUSH1 0x64 00000f1c: ADD 00000f1d: PUSH2 0x0878 00000f20: JUMP 00000f21: JUMPDEST 00000f22: PUSH1 0x40 00000f24: MLOAD 00000f25: PUSH4 0x01ffc9a7 00000f2a: PUSH1 0xe0 00000f2c: SHL 00000f2d: DUP2 00000f2e: MSTORE 00000f2f: PUSH4 0x780e9d63 00000f34: PUSH1 0xe0 00000f36: SHL 00000f37: PUSH1 0x04 00000f39: DUP3 00000f3a: ADD 00000f3b: MSTORE 00000f3c: PUSH1 0x00 00000f3e: SWAP1 00000f3f: PUSH1 0x01 00000f41: PUSH1 0x01 00000f43: PUSH1 0xa0 00000f45: SHL 00000f46: SUB 00000f47: DUP13 00000f48: AND 00000f49: SWAP1 00000f4a: PUSH4 0x01ffc9a7 00000f4f: SWAP1 00000f50: PUSH1 0x24 00000f52: ADD 00000f53: PUSH1 0x20 00000f55: PUSH1 0x40 00000f57: MLOAD 00000f58: DUP1 00000f59: DUP4 00000f5a: SUB 00000f5b: DUP2 00000f5c: DUP7 00000f5d: GAS 00000f5e: STATICCALL 00000f5f: SWAP3 00000f60: POP 00000f61: POP 00000f62: POP 00000f63: DUP1 00000f64: ISZERO 00000f65: PUSH2 0x0f8b 00000f68: JUMPI 00000f69: POP 00000f6a: PUSH1 0x40 00000f6c: DUP1 00000f6d: MLOAD 00000f6e: PUSH1 0x1f 00000f70: RETURNDATASIZE 00000f71: SWAP1 00000f72: DUP2 00000f73: ADD 00000f74: PUSH1 0x1f 00000f76: NOT 00000f77: AND 00000f78: DUP3 00000f79: ADD 00000f7a: SWAP1 00000f7b: SWAP3 00000f7c: MSTORE 00000f7d: PUSH2 0x0f88 00000f80: SWAP2 00000f81: DUP2 00000f82: ADD 00000f83: SWAP1 00000f84: PUSH2 0x1c0b 00000f87: JUMP 00000f88: JUMPDEST 00000f89: PUSH1 0x01 00000f8b: JUMPDEST 00000f8c: PUSH2 0x0fb6 00000f8f: JUMPI 00000f90: POP 00000f91: PUSH32 0x000000000000000000000000cd80c916b1194beb48abf007d0b79a7238436d56 00000fb2: PUSH2 0x1007 00000fb5: JUMP 00000fb6: JUMPDEST 00000fb7: DUP1 00000fb8: PUSH2 0x0fe1 00000fbb: JUMPI 00000fbc: PUSH32 0x000000000000000000000000cd80c916b1194beb48abf007d0b79a7238436d56 00000fdd: PUSH2 0x1003 00000fe0: JUMP 00000fe1: JUMPDEST 00000fe2: PUSH32 0x00000000000000000000000008ce97807a81896e85841d74fb7e7b065ab3ef05 00001003: JUMPDEST 00001004: SWAP2 00001005: POP 00001006: POP 00001007: JUMPDEST 00001008: PUSH2 0x1032 0000100b: ADDRESS 0000100c: DUP12 0000100d: DUP14 0000100e: DUP12 0000100f: PUSH1 0x02 00001011: DUP2 00001012: GT 00001013: ISZERO 00001014: PUSH2 0x101f 00001017: JUMPI 00001018: PUSH2 0x101f 0000101b: PUSH2 0x1b8d 0000101e: JUMP 0000101f: JUMPDEST 00001020: PUSH1 0x01 00001022: PUSH1 0x01 00001024: PUSH1 0xa0 00001026: SHL 00001027: SUB 00001028: DUP7 00001029: AND 0000102a: SWAP4 0000102b: SWAP3 0000102c: SWAP2 0000102d: SWAP1 0000102e: PUSH2 0x166e 00001031: JUMP 00001032: JUMPDEST 00001033: SWAP2 00001034: POP 00001035: PUSH2 0x1044 00001038: DUP3 00001039: DUP13 0000103a: DUP12 0000103b: DUP11 0000103c: DUP11 0000103d: DUP11 0000103e: DUP11 0000103f: DUP11 00001040: PUSH2 0x16e7 00001043: JUMP 00001044: JUMPDEST 00001045: PUSH1 0x40 00001047: MLOAD 00001048: PUSH1 0x01 0000104a: PUSH1 0x01 0000104c: PUSH1 0xa0 0000104e: SHL 0000104f: SUB 00001050: DUP4 00001051: AND 00001052: DUP2 00001053: MSTORE 00001054: PUSH32 0xf5bdc103c3e68a20d5f97d2d46792d3fdddfa4efeb6761f8141e6a7b936ca66c 00001075: SWAP1 00001076: PUSH1 0x20 00001078: ADD 00001079: PUSH1 0x40 0000107b: MLOAD 0000107c: DUP1 0000107d: SWAP2 0000107e: SUB 0000107f: SWAP1 00001080: LOG1 00001081: POP 00001082: SWAP10 00001083: SWAP9 00001084: POP 00001085: POP 00001086: POP 00001087: POP 00001088: POP 00001089: POP 0000108a: POP 0000108b: POP 0000108c: POP 0000108d: JUMP 0000108e: JUMPDEST 0000108f: PUSH1 0x00 00001091: SLOAD 00001092: PUSH1 0x01 00001094: PUSH1 0x01 00001096: PUSH1 0xa0 00001098: SHL 00001099: SUB 0000109a: AND 0000109b: CALLER 0000109c: EQ 0000109d: PUSH2 0x10b8 000010a0: JUMPI 000010a1: PUSH1 0x40 000010a3: MLOAD 000010a4: PUSH3 0x461bcd 000010a8: PUSH1 0xe5 000010aa: SHL 000010ab: DUP2 000010ac: MSTORE 000010ad: PUSH1 0x04 000010af: ADD 000010b0: PUSH2 0x0878 000010b3: SWAP1 000010b4: PUSH2 0x1bd6 000010b7: JUMP 000010b8: JUMPDEST 000010b9: DUP1 000010ba: ISZERO 000010bb: PUSH2 0x1120 000010be: JUMPI 000010bf: PUSH1 0x01 000010c1: PUSH1 0x01 000010c3: PUSH1 0xa0 000010c5: SHL 000010c6: SUB 000010c7: DUP3 000010c8: AND 000010c9: PUSH1 0x00 000010cb: SWAP1 000010cc: DUP2 000010cd: MSTORE 000010ce: PUSH1 0x05 000010d0: PUSH1 0x20 000010d2: MSTORE 000010d3: PUSH1 0x40 000010d5: SWAP1 000010d6: KECCAK256 000010d7: SLOAD 000010d8: PUSH2 0x0100 000010db: SWAP1 000010dc: DIV 000010dd: PUSH1 0xff 000010df: AND 000010e0: ISZERO 000010e1: PUSH2 0x1120 000010e4: JUMPI 000010e5: PUSH1 0x40 000010e7: MLOAD 000010e8: PUSH3 0x461bcd 000010ec: PUSH1 0xe5 000010ee: SHL 000010ef: DUP2 000010f0: MSTORE 000010f1: PUSH1 0x20 000010f3: PUSH1 0x04 000010f5: DUP3 000010f6: ADD 000010f7: MSTORE 000010f8: PUSH1 0x11 000010fa: PUSH1 0x24 000010fc: DUP3 000010fd: ADD 000010fe: MSTORE 000010ff: PUSH17 0x21b0b713ba1031b0b636103937baba32b9 00001111: PUSH1 0x79 00001113: SHL 00001114: PUSH1 0x44 00001116: DUP3 00001117: ADD 00001118: MSTORE 00001119: PUSH1 0x64 0000111b: ADD 0000111c: PUSH2 0x0878 0000111f: JUMP 00001120: JUMPDEST 00001121: PUSH1 0x01 00001123: PUSH1 0x01 00001125: PUSH1 0xa0 00001127: SHL 00001128: SUB 00001129: DUP3 0000112a: AND 0000112b: PUSH1 0x00 0000112d: DUP2 0000112e: DUP2 0000112f: MSTORE 00001130: PUSH1 0x04 00001132: PUSH1 0x20 00001134: SWAP1 00001135: DUP2 00001136: MSTORE 00001137: PUSH1 0x40 00001139: SWAP2 0000113a: DUP3 0000113b: SWAP1 0000113c: KECCAK256 0000113d: DUP1 0000113e: SLOAD 0000113f: PUSH1 0xff 00001141: NOT 00001142: AND 00001143: DUP6 00001144: ISZERO 00001145: ISZERO 00001146: SWAP1 00001147: DUP2 00001148: OR 00001149: SWAP1 0000114a: SWAP2 0000114b: SSTORE 0000114c: DUP3 0000114d: MLOAD 0000114e: SWAP4 0000114f: DUP5 00001150: MSTORE 00001151: SWAP1 00001152: DUP4 00001153: ADD 00001154: MSTORE 00001155: PUSH32 0xab2e2e8d21d5efbffb30945e9b6ee1fb43620ef65a228f871f5028bf8a6e004a 00001176: SWAP2 00001177: ADD 00001178: PUSH2 0x08d9 0000117b: JUMP 0000117c: JUMPDEST 0000117d: PUSH1 0x00 0000117f: SLOAD 00001180: PUSH1 0x01 00001182: PUSH1 0x01 00001184: PUSH1 0xa0 00001186: SHL 00001187: SUB 00001188: AND 00001189: CALLER 0000118a: EQ 0000118b: PUSH2 0x11a6 0000118e: JUMPI 0000118f: PUSH1 0x40 00001191: MLOAD 00001192: PUSH3 0x461bcd 00001196: PUSH1 0xe5 00001198: SHL 00001199: DUP2 0000119a: MSTORE 0000119b: PUSH1 0x04 0000119d: ADD 0000119e: PUSH2 0x0878 000011a1: SWAP1 000011a2: PUSH2 0x1bd6 000011a5: JUMP 000011a6: JUMPDEST 000011a7: PUSH1 0x01 000011a9: PUSH1 0x01 000011ab: PUSH1 0xa0 000011ad: SHL 000011ae: SUB 000011af: DUP2 000011b0: AND 000011b1: PUSH2 0x120b 000011b4: JUMPI 000011b5: PUSH1 0x40 000011b7: MLOAD 000011b8: PUSH3 0x461bcd 000011bc: PUSH1 0xe5 000011be: SHL 000011bf: DUP2 000011c0: MSTORE 000011c1: PUSH1 0x20 000011c3: PUSH1 0x04 000011c5: DUP3 000011c6: ADD 000011c7: MSTORE 000011c8: PUSH1 0x26 000011ca: PUSH1 0x24 000011cc: DUP3 000011cd: ADD 000011ce: MSTORE 000011cf: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 000011f0: PUSH1 0x44 000011f2: DUP3 000011f3: ADD 000011f4: MSTORE 000011f5: PUSH6 0x646472657373 000011fc: PUSH1 0xd0 000011fe: SHL 000011ff: PUSH1 0x64 00001201: DUP3 00001202: ADD 00001203: MSTORE 00001204: PUSH1 0x84 00001206: ADD 00001207: PUSH2 0x0878 0000120a: JUMP 0000120b: JUMPDEST 0000120c: PUSH2 0x1214 0000120f: DUP2 00001210: PUSH2 0x154e 00001213: JUMP 00001214: JUMPDEST 00001215: POP 00001216: JUMP 00001217: JUMPDEST 00001218: PUSH1 0x00 0000121a: PUSH1 0x40 0000121c: MLOAD 0000121d: PUSH20 0x3d3d3d3d363d3d37605160353639366051013d73 00001232: PUSH1 0x60 00001234: SHL 00001235: DUP2 00001236: MSTORE 00001237: DUP4 00001238: PUSH1 0x60 0000123a: SHL 0000123b: PUSH1 0x14 0000123d: DUP3 0000123e: ADD 0000123f: MSTORE 00001240: PUSH13 0x5af43d3d93803e603357fd5bf3 0000124e: PUSH1 0x98 00001250: SHL 00001251: PUSH1 0x28 00001253: DUP3 00001254: ADD 00001255: MSTORE 00001256: DUP5 00001257: PUSH1 0x60 00001259: SHL 0000125a: PUSH1 0x35 0000125c: DUP3 0000125d: ADD 0000125e: MSTORE 0000125f: PUSH1 0x49 00001261: DUP2 00001262: ADD 00001263: PUSH1 0x49 00001265: PUSH1 0x00 00001267: DUP3 00001268: DUP7 00001269: EXTCODECOPY 0000126a: PUSH1 0x29 0000126c: DUP2 0000126d: ADD 0000126e: MLOAD 0000126f: PUSH1 0x29 00001271: DUP4 00001272: ADD 00001273: MLOAD 00001274: EQ 00001275: PUSH1 0x20 00001277: DUP3 00001278: ADD 00001279: MLOAD 0000127a: PUSH1 0x20 0000127c: DUP5 0000127d: ADD 0000127e: MLOAD 0000127f: EQ 00001280: AND 00001281: DUP2 00001282: MLOAD 00001283: DUP4 00001284: MLOAD 00001285: EQ 00001286: AND 00001287: SWAP3 00001288: POP 00001289: POP 0000128a: POP 0000128b: SWAP4 0000128c: SWAP3 0000128d: POP 0000128e: POP 0000128f: POP 00001290: JUMP 00001291: JUMPDEST 00001292: PUSH1 0x00 00001294: PUSH1 0x40 00001296: MLOAD 00001297: PUSH20 0x3d3d3d3d363d3d37603d6035363936603d013d73 000012ac: PUSH1 0x60 000012ae: SHL 000012af: DUP2 000012b0: MSTORE 000012b1: DUP4 000012b2: PUSH1 0x60 000012b4: SHL 000012b5: PUSH1 0x14 000012b7: DUP3 000012b8: ADD 000012b9: MSTORE 000012ba: PUSH13 0x5af43d3d93803e603357fd5bf3 000012c8: PUSH1 0x98 000012ca: SHL 000012cb: PUSH1 0x28 000012cd: DUP3 000012ce: ADD 000012cf: MSTORE 000012d0: DUP5 000012d1: PUSH1 0x60 000012d3: SHL 000012d4: PUSH1 0x35 000012d6: DUP3 000012d7: ADD 000012d8: MSTORE 000012d9: PUSH1 0x49 000012db: DUP2 000012dc: ADD 000012dd: PUSH1 0x49 000012df: PUSH1 0x00 000012e1: DUP3 000012e2: DUP7 000012e3: EXTCODECOPY 000012e4: PUSH1 0x29 000012e6: DUP2 000012e7: ADD 000012e8: MLOAD 000012e9: PUSH1 0x29 000012eb: DUP4 000012ec: ADD 000012ed: MLOAD 000012ee: EQ 000012ef: PUSH1 0x20 000012f1: DUP3 000012f2: ADD 000012f3: MLOAD 000012f4: PUSH1 0x20 000012f6: DUP5 000012f7: ADD 000012f8: MLOAD 000012f9: EQ 000012fa: AND 000012fb: DUP2 000012fc: MLOAD 000012fd: DUP4 000012fe: MLOAD 000012ff: EQ 00001300: AND 00001301: SWAP3 00001302: POP 00001303: POP 00001304: POP 00001305: SWAP4 00001306: SWAP3 00001307: POP 00001308: POP 00001309: POP 0000130a: JUMP 0000130b: JUMPDEST 0000130c: PUSH1 0x00 0000130e: PUSH1 0x40 00001310: MLOAD 00001311: PUSH4 0x23b872dd 00001316: PUSH1 0xe0 00001318: SHL 00001319: DUP2 0000131a: MSTORE 0000131b: PUSH1 0x01 0000131d: PUSH1 0x01 0000131f: PUSH1 0xa0 00001321: SHL 00001322: SUB 00001323: DUP6 00001324: AND 00001325: PUSH1 0x04 00001327: DUP3 00001328: ADD 00001329: MSTORE 0000132a: PUSH1 0x01 0000132c: PUSH1 0x01 0000132e: PUSH1 0xa0 00001330: SHL 00001331: SUB 00001332: DUP5 00001333: AND 00001334: PUSH1 0x24 00001336: DUP3 00001337: ADD 00001338: MSTORE 00001339: DUP3 0000133a: PUSH1 0x44 0000133c: DUP3 0000133d: ADD 0000133e: MSTORE 0000133f: PUSH1 0x00 00001341: DUP1 00001342: PUSH1 0x64 00001344: DUP4 00001345: PUSH1 0x00 00001347: DUP11 00001348: GAS 00001349: CALL 0000134a: SWAP2 0000134b: POP 0000134c: POP 0000134d: PUSH2 0x1355 00001350: DUP2 00001351: PUSH2 0x1816 00001354: JUMP 00001355: JUMPDEST 00001356: PUSH2 0x0847 00001359: JUMPI 0000135a: PUSH1 0x40 0000135c: MLOAD 0000135d: PUSH3 0x461bcd 00001361: PUSH1 0xe5 00001363: SHL 00001364: DUP2 00001365: MSTORE 00001366: PUSH1 0x20 00001368: PUSH1 0x04 0000136a: DUP3 0000136b: ADD 0000136c: MSTORE 0000136d: PUSH1 0x14 0000136f: PUSH1 0x24 00001371: DUP3 00001372: ADD 00001373: MSTORE 00001374: PUSH20 0x1514905394d1915497d19493d357d19052531151 00001389: PUSH1 0x62 0000138b: SHL 0000138c: PUSH1 0x44 0000138e: DUP3 0000138f: ADD 00001390: MSTORE 00001391: PUSH1 0x64 00001393: ADD 00001394: PUSH2 0x0878 00001397: JUMP 00001398: JUMPDEST 00001399: PUSH1 0x00 0000139b: PUSH1 0x40 0000139d: MLOAD 0000139e: PUSH32 0x60863d8160093d39f33d3d3d3d363d3d37605160353639366051013d73000000 000013bf: DUP2 000013c0: MSTORE 000013c1: DUP8 000013c2: PUSH1 0x60 000013c4: SHL 000013c5: PUSH1 0x1d 000013c7: DUP3 000013c8: ADD 000013c9: MSTORE 000013ca: PUSH13 0x5af43d3d93803e603357fd5bf3 000013d8: PUSH1 0x98 000013da: SHL 000013db: PUSH1 0x31 000013dd: DUP3 000013de: ADD 000013df: MSTORE 000013e0: DUP7 000013e1: PUSH1 0x60 000013e3: SHL 000013e4: PUSH1 0x3e 000013e6: DUP3 000013e7: ADD 000013e8: MSTORE 000013e9: DUP6 000013ea: PUSH1 0x60 000013ec: SHL 000013ed: PUSH1 0x52 000013ef: DUP3 000013f0: ADD 000013f1: MSTORE 000013f2: DUP5 000013f3: PUSH1 0x60 000013f5: SHL 000013f6: PUSH1 0x66 000013f8: DUP3 000013f9: ADD 000013fa: MSTORE 000013fb: DUP4 000013fc: PUSH1 0x7a 000013fe: DUP3 000013ff: ADD 00001400: MSTORE8 00001401: DUP3 00001402: PUSH1 0x60 00001404: SHL 00001405: PUSH1 0x7b 00001407: DUP3 00001408: ADD 00001409: MSTORE 0000140a: PUSH1 0x8f 0000140c: DUP2 0000140d: PUSH1 0x00 0000140f: CREATE 00001410: SWAP9 00001411: SWAP8 00001412: POP 00001413: POP 00001414: POP 00001415: POP 00001416: POP 00001417: POP 00001418: POP 00001419: POP 0000141a: JUMP 0000141b: JUMPDEST 0000141c: PUSH1 0x40 0000141e: MLOAD 0000141f: PUSH4 0xfd17aef9 00001424: PUSH1 0xe0 00001426: SHL 00001427: DUP2 00001428: MSTORE 00001429: PUSH1 0x01 0000142b: PUSH1 0x01 0000142d: PUSH1 0xa0 0000142f: SHL 00001430: SUB 00001431: DUP12 00001432: AND 00001433: SWAP1 00001434: PUSH4 0xfd17aef9 00001439: SWAP1 0000143a: PUSH2 0x144f 0000143d: SWAP1 0000143e: CALLER 0000143f: SWAP1 00001440: DUP12 00001441: SWAP1 00001442: DUP12 00001443: SWAP1 00001444: DUP12 00001445: SWAP1 00001446: DUP12 00001447: SWAP1 00001448: PUSH1 0x04 0000144a: ADD 0000144b: PUSH2 0x1cc3 0000144e: JUMP 0000144f: JUMPDEST 00001450: PUSH1 0x00 00001452: PUSH1 0x40 00001454: MLOAD 00001455: DUP1 00001456: DUP4 00001457: SUB 00001458: DUP2 00001459: PUSH1 0x00 0000145b: DUP8 0000145c: DUP1 0000145d: EXTCODESIZE 0000145e: ISZERO 0000145f: DUP1 00001460: ISZERO 00001461: PUSH2 0x1469 00001464: JUMPI 00001465: PUSH1 0x00 00001467: DUP1 00001468: REVERT 00001469: JUMPDEST 0000146a: POP 0000146b: GAS 0000146c: CALL 0000146d: ISZERO 0000146e: DUP1 0000146f: ISZERO 00001470: PUSH2 0x147d 00001473: JUMPI 00001474: RETURNDATASIZE 00001475: PUSH1 0x00 00001477: DUP1 00001478: RETURNDATACOPY 00001479: RETURNDATASIZE 0000147a: PUSH1 0x00 0000147c: REVERT 0000147d: JUMPDEST 0000147e: POP 0000147f: PUSH2 0x1497 00001482: SWAP3 00001483: POP 00001484: POP 00001485: POP 00001486: PUSH1 0x01 00001488: PUSH1 0x01 0000148a: PUSH1 0xa0 0000148c: SHL 0000148d: SUB 0000148e: DUP11 0000148f: AND 00001490: CALLER 00001491: DUP13 00001492: DUP5 00001493: PUSH2 0x130b 00001496: JUMP 00001497: JUMPDEST 00001498: DUP2 00001499: PUSH1 0x00 0000149b: JUMPDEST 0000149c: DUP2 0000149d: DUP2 0000149e: LT 0000149f: ISZERO 000014a0: PUSH2 0x1540 000014a3: JUMPI 000014a4: DUP10 000014a5: PUSH1 0x01 000014a7: PUSH1 0x01 000014a9: PUSH1 0xa0 000014ab: SHL 000014ac: SUB 000014ad: AND 000014ae: PUSH4 0x42842e0e 000014b3: CALLER 000014b4: DUP15 000014b5: DUP9 000014b6: DUP9 000014b7: DUP7 000014b8: DUP2 000014b9: DUP2 000014ba: LT 000014bb: PUSH2 0x14c6 000014be: JUMPI 000014bf: PUSH2 0x14c6 000014c2: PUSH2 0x1bc0 000014c5: JUMP 000014c6: JUMPDEST 000014c7: PUSH1 0x40 000014c9: MLOAD 000014ca: PUSH1 0x01 000014cc: PUSH1 0x01 000014ce: PUSH1 0xe0 000014d0: SHL 000014d1: SUB 000014d2: NOT 000014d3: PUSH1 0xe0 000014d5: DUP9 000014d6: SWAP1 000014d7: SHL 000014d8: AND 000014d9: DUP2 000014da: MSTORE 000014db: PUSH1 0x01 000014dd: PUSH1 0x01 000014df: PUSH1 0xa0 000014e1: SHL 000014e2: SUB 000014e3: SWAP6 000014e4: DUP7 000014e5: AND 000014e6: PUSH1 0x04 000014e8: DUP3 000014e9: ADD 000014ea: MSTORE 000014eb: SWAP5 000014ec: SWAP1 000014ed: SWAP4 000014ee: AND 000014ef: PUSH1 0x24 000014f1: DUP6 000014f2: ADD 000014f3: MSTORE 000014f4: POP 000014f5: PUSH1 0x20 000014f7: SWAP1 000014f8: SWAP2 000014f9: MUL 000014fa: ADD 000014fb: CALLDATALOAD 000014fc: PUSH1 0x44 000014fe: DUP3 000014ff: ADD 00001500: MSTORE 00001501: PUSH1 0x64 00001503: ADD 00001504: PUSH1 0x00 00001506: PUSH1 0x40 00001508: MLOAD 00001509: DUP1 0000150a: DUP4 0000150b: SUB 0000150c: DUP2 0000150d: PUSH1 0x00 0000150f: DUP8 00001510: DUP1 00001511: EXTCODESIZE 00001512: ISZERO 00001513: DUP1 00001514: ISZERO 00001515: PUSH2 0x151d 00001518: JUMPI 00001519: PUSH1 0x00 0000151b: DUP1 0000151c: REVERT 0000151d: JUMPDEST 0000151e: POP 0000151f: GAS 00001520: CALL 00001521: ISZERO 00001522: DUP1 00001523: ISZERO 00001524: PUSH2 0x1531 00001527: JUMPI 00001528: RETURNDATASIZE 00001529: PUSH1 0x00 0000152b: DUP1 0000152c: RETURNDATACOPY 0000152d: RETURNDATASIZE 0000152e: PUSH1 0x00 00001530: REVERT 00001531: JUMPDEST 00001532: POP 00001533: POP 00001534: POP 00001535: POP 00001536: DUP1 00001537: PUSH1 0x01 00001539: ADD 0000153a: SWAP1 0000153b: POP 0000153c: PUSH2 0x149b 0000153f: JUMP 00001540: JUMPDEST 00001541: POP 00001542: POP 00001543: POP 00001544: POP 00001545: POP 00001546: POP 00001547: POP 00001548: POP 00001549: POP 0000154a: POP 0000154b: POP 0000154c: POP 0000154d: JUMP 0000154e: JUMPDEST 0000154f: PUSH1 0x00 00001551: DUP1 00001552: SLOAD 00001553: PUSH1 0x01 00001555: PUSH1 0x01 00001557: PUSH1 0xa0 00001559: SHL 0000155a: SUB 0000155b: DUP4 0000155c: DUP2 0000155d: AND 0000155e: PUSH1 0x01 00001560: PUSH1 0x01 00001562: PUSH1 0xa0 00001564: SHL 00001565: SUB 00001566: NOT 00001567: DUP4 00001568: AND 00001569: DUP2 0000156a: OR 0000156b: DUP5 0000156c: SSTORE 0000156d: PUSH1 0x40 0000156f: MLOAD 00001570: SWAP2 00001571: SWAP1 00001572: SWAP3 00001573: AND 00001574: SWAP3 00001575: DUP4 00001576: SWAP2 00001577: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001598: SWAP2 00001599: SWAP1 0000159a: LOG3 0000159b: POP 0000159c: POP 0000159d: JUMP 0000159e: JUMPDEST 0000159f: PUSH1 0x00 000015a1: DUP1 000015a2: PUSH1 0x00 000015a4: DUP1 000015a5: PUSH1 0x00 000015a7: DUP6 000015a8: DUP8 000015a9: GAS 000015aa: CALL 000015ab: SWAP1 000015ac: POP 000015ad: DUP1 000015ae: PUSH2 0x0718 000015b1: JUMPI 000015b2: PUSH1 0x40 000015b4: MLOAD 000015b5: PUSH3 0x461bcd 000015b9: PUSH1 0xe5 000015bb: SHL 000015bc: DUP2 000015bd: MSTORE 000015be: PUSH1 0x20 000015c0: PUSH1 0x04 000015c2: DUP3 000015c3: ADD 000015c4: MSTORE 000015c5: PUSH1 0x13 000015c7: PUSH1 0x24 000015c9: DUP3 000015ca: ADD 000015cb: MSTORE 000015cc: PUSH19 0x11551217d514905394d1915497d19052531151 000015e0: PUSH1 0x6a 000015e2: SHL 000015e3: PUSH1 0x44 000015e5: DUP3 000015e6: ADD 000015e7: MSTORE 000015e8: PUSH1 0x64 000015ea: ADD 000015eb: PUSH2 0x0878 000015ee: JUMP 000015ef: JUMPDEST 000015f0: PUSH1 0x00 000015f2: PUSH1 0x40 000015f4: MLOAD 000015f5: PUSH4 0xa9059cbb 000015fa: PUSH1 0xe0 000015fc: SHL 000015fd: DUP2 000015fe: MSTORE 000015ff: PUSH1 0x01 00001601: PUSH1 0x01 00001603: PUSH1 0xa0 00001605: SHL 00001606: SUB 00001607: DUP5 00001608: AND 00001609: PUSH1 0x04 0000160b: DUP3 0000160c: ADD 0000160d: MSTORE 0000160e: DUP3 0000160f: PUSH1 0x24 00001611: DUP3 00001612: ADD 00001613: MSTORE 00001614: PUSH1 0x00 00001616: DUP1 00001617: PUSH1 0x44 00001619: DUP4 0000161a: PUSH1 0x00 0000161c: DUP10 0000161d: GAS 0000161e: CALL 0000161f: SWAP2 00001620: POP 00001621: POP 00001622: PUSH2 0x162a 00001625: DUP2 00001626: PUSH2 0x1816 00001629: JUMP 0000162a: JUMPDEST 0000162b: PUSH2 0x1668 0000162e: JUMPI 0000162f: PUSH1 0x40 00001631: MLOAD 00001632: PUSH3 0x461bcd 00001636: PUSH1 0xe5 00001638: SHL 00001639: DUP2 0000163a: MSTORE 0000163b: PUSH1 0x20 0000163d: PUSH1 0x04 0000163f: DUP3 00001640: ADD 00001641: MSTORE 00001642: PUSH1 0x0f 00001644: PUSH1 0x24 00001646: DUP3 00001647: ADD 00001648: MSTORE 00001649: PUSH15 0x1514905394d1915497d19052531151 00001659: PUSH1 0x8a 0000165b: SHL 0000165c: PUSH1 0x44 0000165e: DUP3 0000165f: ADD 00001660: MSTORE 00001661: PUSH1 0x64 00001663: ADD 00001664: PUSH2 0x0878 00001667: JUMP 00001668: JUMPDEST 00001669: POP 0000166a: POP 0000166b: POP 0000166c: POP 0000166d: JUMP 0000166e: JUMPDEST 0000166f: PUSH1 0x00 00001671: PUSH1 0x40 00001673: MLOAD 00001674: PUSH32 0x60723d8160093d39f33d3d3d3d363d3d37603d6035363936603d013d73000000 00001695: DUP2 00001696: MSTORE 00001697: DUP7 00001698: PUSH1 0x60 0000169a: SHL 0000169b: PUSH1 0x1d 0000169d: DUP3 0000169e: ADD 0000169f: MSTORE 000016a0: PUSH13 0x5af43d3d93803e603357fd5bf3 000016ae: PUSH1 0x98 000016b0: SHL 000016b1: PUSH1 0x31 000016b3: DUP3 000016b4: ADD 000016b5: MSTORE 000016b6: DUP6 000016b7: PUSH1 0x60 000016b9: SHL 000016ba: PUSH1 0x3e 000016bc: DUP3 000016bd: ADD 000016be: MSTORE 000016bf: DUP5 000016c0: PUSH1 0x60 000016c2: SHL 000016c3: PUSH1 0x52 000016c5: DUP3 000016c6: ADD 000016c7: MSTORE 000016c8: DUP4 000016c9: PUSH1 0x60 000016cb: SHL 000016cc: PUSH1 0x66 000016ce: DUP3 000016cf: ADD 000016d0: MSTORE 000016d1: DUP3 000016d2: PUSH1 0x7a 000016d4: DUP3 000016d5: ADD 000016d6: MSTORE8 000016d7: PUSH1 0x7b 000016d9: DUP2 000016da: PUSH1 0x00 000016dc: CREATE 000016dd: SWAP8 000016de: SWAP7 000016df: POP 000016e0: POP 000016e1: POP 000016e2: POP 000016e3: POP 000016e4: POP 000016e5: POP 000016e6: JUMP 000016e7: JUMPDEST 000016e8: PUSH1 0x40 000016ea: MLOAD 000016eb: PUSH4 0xfd17aef9 000016f0: PUSH1 0xe0 000016f2: SHL 000016f3: DUP2 000016f4: MSTORE 000016f5: PUSH1 0x01 000016f7: PUSH1 0x01 000016f9: PUSH1 0xa0 000016fb: SHL 000016fc: SUB 000016fd: DUP10 000016fe: AND 000016ff: SWAP1 00001700: PUSH4 0xfd17aef9 00001705: SWAP1 00001706: PUSH2 0x171b 00001709: SWAP1 0000170a: CALLER 0000170b: SWAP1 0000170c: DUP11 0000170d: SWAP1 0000170e: DUP11 0000170f: SWAP1 00001710: DUP11 00001711: SWAP1 00001712: DUP11 00001713: SWAP1 00001714: PUSH1 0x04 00001716: ADD 00001717: PUSH2 0x1cc3 0000171a: JUMP 0000171b: JUMPDEST 0000171c: PUSH1 0x00 0000171e: PUSH1 0x40 00001720: MLOAD 00001721: DUP1 00001722: DUP4 00001723: SUB 00001724: DUP2 00001725: PUSH1 0x00 00001727: DUP8 00001728: DUP1 00001729: EXTCODESIZE 0000172a: ISZERO 0000172b: DUP1 0000172c: ISZERO 0000172d: PUSH2 0x1735 00001730: JUMPI 00001731: PUSH1 0x00 00001733: DUP1 00001734: REVERT 00001735: JUMPDEST 00001736: POP 00001737: GAS 00001738: CALL 00001739: ISZERO 0000173a: DUP1 0000173b: ISZERO 0000173c: PUSH2 0x1749 0000173f: JUMPI 00001740: RETURNDATASIZE 00001741: PUSH1 0x00 00001743: DUP1 00001744: RETURNDATACOPY 00001745: RETURNDATASIZE 00001746: PUSH1 0x00 00001748: REVERT 00001749: JUMPDEST 0000174a: POP 0000174b: PUSH2 0x1761 0000174e: SWAP3 0000174f: POP 00001750: POP 00001751: POP 00001752: PUSH1 0x01 00001754: PUSH1 0x01 00001756: PUSH1 0xa0 00001758: SHL 00001759: SUB 0000175a: DUP10 0000175b: AND 0000175c: CALLVALUE 0000175d: PUSH2 0x159e 00001760: JUMP 00001761: JUMPDEST 00001762: DUP1 00001763: PUSH1 0x00 00001765: JUMPDEST 00001766: DUP2 00001767: DUP2 00001768: LT 00001769: ISZERO 0000176a: PUSH2 0x180a 0000176d: JUMPI 0000176e: DUP9 0000176f: PUSH1 0x01 00001771: PUSH1 0x01 00001773: PUSH1 0xa0 00001775: SHL 00001776: SUB 00001777: AND 00001778: PUSH4 0x42842e0e 0000177d: CALLER 0000177e: DUP13 0000177f: DUP8 00001780: DUP8 00001781: DUP7 00001782: DUP2 00001783: DUP2 00001784: LT 00001785: PUSH2 0x1790 00001788: JUMPI 00001789: PUSH2 0x1790 0000178c: PUSH2 0x1bc0 0000178f: JUMP 00001790: JUMPDEST 00001791: PUSH1 0x40 00001793: MLOAD 00001794: PUSH1 0x01 00001796: PUSH1 0x01 00001798: PUSH1 0xe0 0000179a: SHL 0000179b: SUB 0000179c: NOT 0000179d: PUSH1 0xe0 0000179f: DUP9 000017a0: SWAP1 000017a1: SHL 000017a2: AND 000017a3: DUP2 000017a4: MSTORE 000017a5: PUSH1 0x01 000017a7: PUSH1 0x01 000017a9: PUSH1 0xa0 000017ab: SHL 000017ac: SUB 000017ad: SWAP6 000017ae: DUP7 000017af: AND 000017b0: PUSH1 0x04 000017b2: DUP3 000017b3: ADD 000017b4: MSTORE 000017b5: SWAP5 000017b6: SWAP1 000017b7: SWAP4 000017b8: AND 000017b9: PUSH1 0x24 000017bb: DUP6 000017bc: ADD 000017bd: MSTORE 000017be: POP 000017bf: PUSH1 0x20 000017c1: SWAP1 000017c2: SWAP2 000017c3: MUL 000017c4: ADD 000017c5: CALLDATALOAD 000017c6: PUSH1 0x44 000017c8: DUP3 000017c9: ADD 000017ca: MSTORE 000017cb: PUSH1 0x64 000017cd: ADD 000017ce: PUSH1 0x00 000017d0: PUSH1 0x40 000017d2: MLOAD 000017d3: DUP1 000017d4: DUP4 000017d5: SUB 000017d6: DUP2 000017d7: PUSH1 0x00 000017d9: DUP8 000017da: DUP1 000017db: EXTCODESIZE 000017dc: ISZERO 000017dd: DUP1 000017de: ISZERO 000017df: PUSH2 0x17e7 000017e2: JUMPI 000017e3: PUSH1 0x00 000017e5: DUP1 000017e6: REVERT 000017e7: JUMPDEST 000017e8: POP 000017e9: GAS 000017ea: CALL 000017eb: ISZERO 000017ec: DUP1 000017ed: ISZERO 000017ee: PUSH2 0x17fb 000017f1: JUMPI 000017f2: RETURNDATASIZE 000017f3: PUSH1 0x00 000017f5: DUP1 000017f6: RETURNDATACOPY 000017f7: RETURNDATASIZE 000017f8: PUSH1 0x00 000017fa: REVERT 000017fb: JUMPDEST 000017fc: POP 000017fd: POP 000017fe: POP 000017ff: POP 00001800: DUP1 00001801: PUSH1 0x01 00001803: ADD 00001804: SWAP1 00001805: POP 00001806: PUSH2 0x1765 00001809: JUMP 0000180a: JUMPDEST 0000180b: POP 0000180c: POP 0000180d: POP 0000180e: POP 0000180f: POP 00001810: POP 00001811: POP 00001812: POP 00001813: POP 00001814: POP 00001815: JUMP 00001816: JUMPDEST 00001817: PUSH1 0x00 00001819: RETURNDATASIZE 0000181a: DUP3 0000181b: PUSH2 0x1828 0000181e: JUMPI 0000181f: DUP1 00001820: PUSH1 0x00 00001822: DUP1 00001823: RETURNDATACOPY 00001824: DUP1 00001825: PUSH1 0x00 00001827: REVERT 00001828: JUMPDEST 00001829: DUP1 0000182a: PUSH1 0x20 0000182c: DUP2 0000182d: EQ 0000182e: PUSH2 0x1840 00001831: JUMPI 00001832: DUP1 00001833: ISZERO 00001834: PUSH2 0x1851 00001837: JUMPI 00001838: PUSH1 0x00 0000183a: SWAP3 0000183b: POP 0000183c: PUSH2 0x1856 0000183f: JUMP 00001840: JUMPDEST 00001841: DUP2 00001842: PUSH1 0x00 00001844: DUP1 00001845: RETURNDATACOPY 00001846: PUSH1 0x00 00001848: MLOAD 00001849: ISZERO 0000184a: ISZERO 0000184b: SWAP3 0000184c: POP 0000184d: PUSH2 0x1856 00001850: JUMP 00001851: JUMPDEST 00001852: PUSH1 0x01 00001854: SWAP3 00001855: POP 00001856: JUMPDEST 00001857: POP 00001858: POP 00001859: SWAP2 0000185a: SWAP1 0000185b: POP 0000185c: JUMP 0000185d: JUMPDEST 0000185e: PUSH1 0x01 00001860: PUSH1 0x01 00001862: PUSH1 0xa0 00001864: SHL 00001865: SUB 00001866: DUP2 00001867: AND 00001868: DUP2 00001869: EQ 0000186a: PUSH2 0x1214 0000186d: JUMPI 0000186e: PUSH1 0x00 00001870: DUP1 00001871: REVERT 00001872: JUMPDEST 00001873: PUSH1 0x00 00001875: DUP1 00001876: PUSH1 0x40 00001878: DUP4 00001879: DUP6 0000187a: SUB 0000187b: SLT 0000187c: ISZERO 0000187d: PUSH2 0x1885 00001880: JUMPI 00001881: PUSH1 0x00 00001883: DUP1 00001884: REVERT 00001885: JUMPDEST 00001886: DUP3 00001887: CALLDATALOAD 00001888: PUSH2 0x1890 0000188b: DUP2 0000188c: PUSH2 0x185d 0000188f: JUMP 00001890: JUMPDEST 00001891: SWAP2 00001892: POP 00001893: PUSH1 0x20 00001895: DUP4 00001896: ADD 00001897: CALLDATALOAD 00001898: PUSH1 0x04 0000189a: DUP2 0000189b: LT 0000189c: PUSH2 0x18a4 0000189f: JUMPI 000018a0: PUSH1 0x00 000018a2: DUP1 000018a3: REVERT 000018a4: JUMPDEST 000018a5: DUP1 000018a6: SWAP2 000018a7: POP 000018a8: POP 000018a9: SWAP3 000018aa: POP 000018ab: SWAP3 000018ac: SWAP1 000018ad: POP 000018ae: JUMP 000018af: JUMPDEST 000018b0: PUSH1 0x00 000018b2: DUP1 000018b3: PUSH1 0x00 000018b5: PUSH1 0x60 000018b7: DUP5 000018b8: DUP7 000018b9: SUB 000018ba: SLT 000018bb: ISZERO 000018bc: PUSH2 0x18c4 000018bf: JUMPI 000018c0: PUSH1 0x00 000018c2: DUP1 000018c3: REVERT 000018c4: JUMPDEST 000018c5: DUP4 000018c6: CALLDATALOAD 000018c7: PUSH2 0x18cf 000018ca: DUP2 000018cb: PUSH2 0x185d 000018ce: JUMP 000018cf: JUMPDEST 000018d0: SWAP3 000018d1: POP 000018d2: PUSH1 0x20 000018d4: DUP5 000018d5: ADD 000018d6: CALLDATALOAD 000018d7: PUSH2 0x18df 000018da: DUP2 000018db: PUSH2 0x185d 000018de: JUMP 000018df: JUMPDEST 000018e0: SWAP3 000018e1: SWAP6 000018e2: SWAP3 000018e3: SWAP5 000018e4: POP 000018e5: POP 000018e6: POP 000018e7: PUSH1 0x40 000018e9: SWAP2 000018ea: SWAP1 000018eb: SWAP2 000018ec: ADD 000018ed: CALLDATALOAD 000018ee: SWAP1 000018ef: JUMP 000018f0: JUMPDEST 000018f1: PUSH1 0x00 000018f3: PUSH1 0x20 000018f5: DUP3 000018f6: DUP5 000018f7: SUB 000018f8: SLT 000018f9: ISZERO 000018fa: PUSH2 0x1902 000018fd: JUMPI 000018fe: PUSH1 0x00 00001900: DUP1 00001901: REVERT 00001902: JUMPDEST 00001903: DUP2 00001904: CALLDATALOAD 00001905: PUSH2 0x190d 00001908: DUP2 00001909: PUSH2 0x185d 0000190c: JUMP 0000190d: JUMPDEST 0000190e: SWAP4 0000190f: SWAP3 00001910: POP 00001911: POP 00001912: POP 00001913: JUMP 00001914: JUMPDEST 00001915: PUSH1 0x00 00001917: DUP1 00001918: DUP4 00001919: PUSH1 0x1f 0000191b: DUP5 0000191c: ADD 0000191d: SLT 0000191e: PUSH2 0x1926 00001921: JUMPI 00001922: PUSH1 0x00 00001924: DUP1 00001925: REVERT 00001926: JUMPDEST 00001927: POP 00001928: DUP2 00001929: CALLDATALOAD 0000192a: PUSH8 0xffffffffffffffff 00001933: DUP2 00001934: GT 00001935: ISZERO 00001936: PUSH2 0x193e 00001939: JUMPI 0000193a: PUSH1 0x00 0000193c: DUP1 0000193d: REVERT 0000193e: JUMPDEST 0000193f: PUSH1 0x20 00001941: DUP4 00001942: ADD 00001943: SWAP2 00001944: POP 00001945: DUP4 00001946: PUSH1 0x20 00001948: DUP3 00001949: PUSH1 0x05 0000194b: SHL 0000194c: DUP6 0000194d: ADD 0000194e: ADD 0000194f: GT 00001950: ISZERO 00001951: PUSH2 0x1959 00001954: JUMPI 00001955: PUSH1 0x00 00001957: DUP1 00001958: REVERT 00001959: JUMPDEST 0000195a: SWAP3 0000195b: POP 0000195c: SWAP3 0000195d: SWAP1 0000195e: POP 0000195f: JUMP 00001960: JUMPDEST 00001961: PUSH1 0x00 00001963: DUP1 00001964: PUSH1 0x00 00001966: DUP1 00001967: PUSH1 0x60 00001969: DUP6 0000196a: DUP8 0000196b: SUB 0000196c: SLT 0000196d: ISZERO 0000196e: PUSH2 0x1976 00001971: JUMPI 00001972: PUSH1 0x00 00001974: DUP1 00001975: REVERT 00001976: JUMPDEST 00001977: DUP5 00001978: CALLDATALOAD 00001979: PUSH2 0x1981 0000197c: DUP2 0000197d: PUSH2 0x185d 00001980: JUMP 00001981: JUMPDEST 00001982: SWAP4 00001983: POP 00001984: PUSH1 0x20 00001986: DUP6 00001987: ADD 00001988: CALLDATALOAD 00001989: PUSH8 0xffffffffffffffff 00001992: DUP2 00001993: GT 00001994: ISZERO 00001995: PUSH2 0x199d 00001998: JUMPI 00001999: PUSH1 0x00 0000199b: DUP1 0000199c: REVERT 0000199d: JUMPDEST 0000199e: PUSH2 0x19a9 000019a1: DUP8 000019a2: DUP3 000019a3: DUP9 000019a4: ADD 000019a5: PUSH2 0x1914 000019a8: JUMP 000019a9: JUMPDEST 000019aa: SWAP1 000019ab: SWAP5 000019ac: POP 000019ad: SWAP3 000019ae: POP 000019af: POP 000019b0: PUSH1 0x40 000019b2: DUP6 000019b3: ADD 000019b4: CALLDATALOAD 000019b5: PUSH2 0x19bd 000019b8: DUP2 000019b9: PUSH2 0x185d 000019bc: JUMP 000019bd: JUMPDEST 000019be: SWAP4 000019bf: SWAP7 000019c0: SWAP3 000019c1: SWAP6 000019c2: POP 000019c3: SWAP1 000019c4: SWAP4 000019c5: POP 000019c6: POP 000019c7: JUMP 000019c8: JUMPDEST 000019c9: DUP1 000019ca: ISZERO 000019cb: ISZERO 000019cc: DUP2 000019cd: EQ 000019ce: PUSH2 0x1214 000019d1: JUMPI 000019d2: PUSH1 0x00 000019d4: DUP1 000019d5: REVERT 000019d6: JUMPDEST 000019d7: PUSH1 0x00 000019d9: DUP1 000019da: PUSH1 0x40 000019dc: DUP4 000019dd: DUP6 000019de: SUB 000019df: SLT 000019e0: ISZERO 000019e1: PUSH2 0x19e9 000019e4: JUMPI 000019e5: PUSH1 0x00 000019e7: DUP1 000019e8: REVERT 000019e9: JUMPDEST 000019ea: DUP3 000019eb: CALLDATALOAD 000019ec: PUSH2 0x19f4 000019ef: DUP2 000019f0: PUSH2 0x185d 000019f3: JUMP 000019f4: JUMPDEST 000019f5: SWAP2 000019f6: POP 000019f7: PUSH1 0x20 000019f9: DUP4 000019fa: ADD 000019fb: CALLDATALOAD 000019fc: PUSH2 0x18a4 000019ff: DUP2 00001a00: PUSH2 0x19c8 00001a03: JUMP 00001a04: JUMPDEST 00001a05: PUSH1 0x00 00001a07: PUSH1 0x20 00001a09: DUP3 00001a0a: DUP5 00001a0b: SUB 00001a0c: SLT 00001a0d: ISZERO 00001a0e: PUSH2 0x1a16 00001a11: JUMPI 00001a12: PUSH1 0x00 00001a14: DUP1 00001a15: REVERT 00001a16: JUMPDEST 00001a17: DUP2 00001a18: CALLDATALOAD 00001a19: PUSH8 0xffffffffffffffff 00001a22: DUP2 00001a23: GT 00001a24: ISZERO 00001a25: PUSH2 0x1a2d 00001a28: JUMPI 00001a29: PUSH1 0x00 00001a2b: DUP1 00001a2c: REVERT 00001a2d: JUMPDEST 00001a2e: DUP3 00001a2f: ADD 00001a30: PUSH2 0x0140 00001a33: DUP2 00001a34: DUP6 00001a35: SUB 00001a36: SLT 00001a37: ISZERO 00001a38: PUSH2 0x190d 00001a3b: JUMPI 00001a3c: PUSH1 0x00 00001a3e: DUP1 00001a3f: REVERT 00001a40: JUMPDEST 00001a41: PUSH1 0x00 00001a43: PUSH1 0x20 00001a45: DUP3 00001a46: DUP5 00001a47: SUB 00001a48: SLT 00001a49: ISZERO 00001a4a: PUSH2 0x1a52 00001a4d: JUMPI 00001a4e: PUSH1 0x00 00001a50: DUP1 00001a51: REVERT 00001a52: JUMPDEST 00001a53: POP 00001a54: CALLDATALOAD 00001a55: SWAP2 00001a56: SWAP1 00001a57: POP 00001a58: JUMP 00001a59: JUMPDEST 00001a5a: PUSH1 0x00 00001a5c: DUP1 00001a5d: PUSH1 0x40 00001a5f: DUP4 00001a60: DUP6 00001a61: SUB 00001a62: SLT 00001a63: ISZERO 00001a64: PUSH2 0x1a6c 00001a67: JUMPI 00001a68: PUSH1 0x00 00001a6a: DUP1 00001a6b: REVERT 00001a6c: JUMPDEST 00001a6d: DUP3 00001a6e: CALLDATALOAD 00001a6f: PUSH2 0x1a77 00001a72: DUP2 00001a73: PUSH2 0x185d 00001a76: JUMP 00001a77: JUMPDEST 00001a78: SWAP5 00001a79: PUSH1 0x20 00001a7b: SWAP4 00001a7c: SWAP1 00001a7d: SWAP4 00001a7e: ADD 00001a7f: CALLDATALOAD 00001a80: SWAP4 00001a81: POP 00001a82: POP 00001a83: POP 00001a84: JUMP 00001a85: JUMPDEST 00001a86: DUP1 00001a87: CALLDATALOAD 00001a88: PUSH1 0x03 00001a8a: DUP2 00001a8b: LT 00001a8c: PUSH2 0x1a94 00001a8f: JUMPI 00001a90: PUSH1 0x00 00001a92: DUP1 00001a93: REVERT 00001a94: JUMPDEST 00001a95: SWAP2 00001a96: SWAP1 00001a97: POP 00001a98: JUMP 00001a99: JUMPDEST 00001a9a: DUP1 00001a9b: CALLDATALOAD 00001a9c: PUSH1 0x01 00001a9e: PUSH1 0x01 00001aa0: PUSH1 0x80 00001aa2: SHL 00001aa3: SUB 00001aa4: DUP2 00001aa5: AND 00001aa6: DUP2 00001aa7: EQ 00001aa8: PUSH2 0x1a94 00001aab: JUMPI 00001aac: PUSH1 0x00 00001aae: DUP1 00001aaf: REVERT 00001ab0: JUMPDEST 00001ab1: DUP1 00001ab2: CALLDATALOAD 00001ab3: PUSH12 0xffffffffffffffffffffffff 00001ac0: DUP2 00001ac1: AND 00001ac2: DUP2 00001ac3: EQ 00001ac4: PUSH2 0x1a94 00001ac7: JUMPI 00001ac8: PUSH1 0x00 00001aca: DUP1 00001acb: REVERT 00001acc: JUMPDEST 00001acd: PUSH1 0x00 00001acf: DUP1 00001ad0: PUSH1 0x00 00001ad2: DUP1 00001ad3: PUSH1 0x00 00001ad5: DUP1 00001ad6: PUSH1 0x00 00001ad8: DUP1 00001ad9: PUSH1 0x00 00001adb: PUSH2 0x0100 00001ade: DUP11 00001adf: DUP13 00001ae0: SUB 00001ae1: SLT 00001ae2: ISZERO 00001ae3: PUSH2 0x1aeb 00001ae6: JUMPI 00001ae7: PUSH1 0x00 00001ae9: DUP1 00001aea: REVERT 00001aeb: JUMPDEST 00001aec: DUP10 00001aed: CALLDATALOAD 00001aee: PUSH2 0x1af6 00001af1: DUP2 00001af2: PUSH2 0x185d 00001af5: JUMP 00001af6: JUMPDEST 00001af7: SWAP9 00001af8: POP 00001af9: PUSH1 0x20 00001afb: DUP11 00001afc: ADD 00001afd: CALLDATALOAD 00001afe: PUSH2 0x1b06 00001b01: DUP2 00001b02: PUSH2 0x185d 00001b05: JUMP 00001b06: JUMPDEST 00001b07: SWAP8 00001b08: POP 00001b09: PUSH1 0x40 00001b0b: DUP11 00001b0c: ADD 00001b0d: CALLDATALOAD 00001b0e: PUSH2 0x1b16 00001b11: DUP2 00001b12: PUSH2 0x185d 00001b15: JUMP 00001b16: JUMPDEST 00001b17: SWAP7 00001b18: POP 00001b19: PUSH2 0x1b24 00001b1c: PUSH1 0x60 00001b1e: DUP12 00001b1f: ADD 00001b20: PUSH2 0x1a85 00001b23: JUMP 00001b24: JUMPDEST 00001b25: SWAP6 00001b26: POP 00001b27: PUSH2 0x1b32 00001b2a: PUSH1 0x80 00001b2c: DUP12 00001b2d: ADD 00001b2e: PUSH2 0x1a99 00001b31: JUMP 00001b32: JUMPDEST 00001b33: SWAP5 00001b34: POP 00001b35: PUSH2 0x1b40 00001b38: PUSH1 0xa0 00001b3a: DUP12 00001b3b: ADD 00001b3c: PUSH2 0x1ab0 00001b3f: JUMP 00001b40: JUMPDEST 00001b41: SWAP4 00001b42: POP 00001b43: PUSH2 0x1b4e 00001b46: PUSH1 0xc0 00001b48: DUP12 00001b49: ADD 00001b4a: PUSH2 0x1a99 00001b4d: JUMP 00001b4e: JUMPDEST 00001b4f: SWAP3 00001b50: POP 00001b51: PUSH1 0xe0 00001b53: DUP11 00001b54: ADD 00001b55: CALLDATALOAD 00001b56: PUSH8 0xffffffffffffffff 00001b5f: DUP2 00001b60: GT 00001b61: ISZERO 00001b62: PUSH2 0x1b6a 00001b65: JUMPI 00001b66: PUSH1 0x00 00001b68: DUP1 00001b69: REVERT 00001b6a: JUMPDEST 00001b6b: PUSH2 0x1b76 00001b6e: DUP13 00001b6f: DUP3 00001b70: DUP14 00001b71: ADD 00001b72: PUSH2 0x1914 00001b75: JUMP 00001b76: JUMPDEST 00001b77: SWAP2 00001b78: POP 00001b79: DUP1 00001b7a: SWAP4 00001b7b: POP 00001b7c: POP 00001b7d: DUP1 00001b7e: SWAP2 00001b7f: POP 00001b80: POP 00001b81: SWAP3 00001b82: SWAP6 00001b83: SWAP9 00001b84: POP 00001b85: SWAP3 00001b86: SWAP6 00001b87: SWAP9 00001b88: POP 00001b89: SWAP3 00001b8a: SWAP6 00001b8b: SWAP9 00001b8c: JUMP 00001b8d: JUMPDEST 00001b8e: PUSH4 0x4e487b71 00001b93: PUSH1 0xe0 00001b95: SHL 00001b96: PUSH1 0x00 00001b98: MSTORE 00001b99: PUSH1 0x21 00001b9b: PUSH1 0x04 00001b9d: MSTORE 00001b9e: PUSH1 0x24 00001ba0: PUSH1 0x00 00001ba2: REVERT 00001ba3: JUMPDEST 00001ba4: PUSH1 0x00 00001ba6: PUSH1 0x20 00001ba8: DUP3 00001ba9: DUP5 00001baa: SUB 00001bab: SLT 00001bac: ISZERO 00001bad: PUSH2 0x1bb5 00001bb0: JUMPI 00001bb1: PUSH1 0x00 00001bb3: DUP1 00001bb4: REVERT 00001bb5: JUMPDEST 00001bb6: DUP2 00001bb7: MLOAD 00001bb8: PUSH2 0x190d 00001bbb: DUP2 00001bbc: PUSH2 0x185d 00001bbf: JUMP 00001bc0: JUMPDEST 00001bc1: PUSH4 0x4e487b71 00001bc6: PUSH1 0xe0 00001bc8: SHL 00001bc9: PUSH1 0x00 00001bcb: MSTORE 00001bcc: PUSH1 0x32 00001bce: PUSH1 0x04 00001bd0: MSTORE 00001bd1: PUSH1 0x24 00001bd3: PUSH1 0x00 00001bd5: REVERT 00001bd6: JUMPDEST 00001bd7: PUSH1 0x20 00001bd9: DUP1 00001bda: DUP3 00001bdb: MSTORE 00001bdc: DUP2 00001bdd: DUP2 00001bde: ADD 00001bdf: MSTORE 00001be0: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00001c01: PUSH1 0x40 00001c03: DUP3 00001c04: ADD 00001c05: MSTORE 00001c06: PUSH1 0x60 00001c08: ADD 00001c09: SWAP1 00001c0a: JUMP 00001c0b: JUMPDEST 00001c0c: PUSH1 0x00 00001c0e: PUSH1 0x20 00001c10: DUP3 00001c11: DUP5 00001c12: SUB 00001c13: SLT 00001c14: ISZERO 00001c15: PUSH2 0x1c1d 00001c18: JUMPI 00001c19: PUSH1 0x00 00001c1b: DUP1 00001c1c: REVERT 00001c1d: JUMPDEST 00001c1e: DUP2 00001c1f: MLOAD 00001c20: PUSH2 0x190d 00001c23: DUP2 00001c24: PUSH2 0x19c8 00001c27: JUMP 00001c28: JUMPDEST 00001c29: PUSH1 0x00 00001c2b: PUSH1 0x20 00001c2d: DUP3 00001c2e: DUP5 00001c2f: SUB 00001c30: SLT 00001c31: ISZERO 00001c32: PUSH2 0x1c3a 00001c35: JUMPI 00001c36: PUSH1 0x00 00001c38: DUP1 00001c39: REVERT 00001c3a: JUMPDEST 00001c3b: PUSH2 0x190d 00001c3e: DUP3 00001c3f: PUSH2 0x1a85 00001c42: JUMP 00001c43: JUMPDEST 00001c44: PUSH1 0x00 00001c46: PUSH1 0x20 00001c48: DUP3 00001c49: DUP5 00001c4a: SUB 00001c4b: SLT 00001c4c: ISZERO 00001c4d: PUSH2 0x1c55 00001c50: JUMPI 00001c51: PUSH1 0x00 00001c53: DUP1 00001c54: REVERT 00001c55: JUMPDEST 00001c56: PUSH2 0x190d 00001c59: DUP3 00001c5a: PUSH2 0x1a99 00001c5d: JUMP 00001c5e: JUMPDEST 00001c5f: PUSH1 0x00 00001c61: PUSH1 0x20 00001c63: DUP3 00001c64: DUP5 00001c65: SUB 00001c66: SLT 00001c67: ISZERO 00001c68: PUSH2 0x1c70 00001c6b: JUMPI 00001c6c: PUSH1 0x00 00001c6e: DUP1 00001c6f: REVERT 00001c70: JUMPDEST 00001c71: PUSH2 0x190d 00001c74: DUP3 00001c75: PUSH2 0x1ab0 00001c78: JUMP 00001c79: JUMPDEST 00001c7a: PUSH1 0x00 00001c7c: DUP1 00001c7d: DUP4 00001c7e: CALLDATALOAD 00001c7f: PUSH1 0x1e 00001c81: NOT 00001c82: DUP5 00001c83: CALLDATASIZE 00001c84: SUB 00001c85: ADD 00001c86: DUP2 00001c87: SLT 00001c88: PUSH2 0x1c90 00001c8b: JUMPI 00001c8c: PUSH1 0x00 00001c8e: DUP1 00001c8f: REVERT 00001c90: JUMPDEST 00001c91: DUP4 00001c92: ADD 00001c93: DUP1 00001c94: CALLDATALOAD 00001c95: SWAP2 00001c96: POP 00001c97: PUSH8 0xffffffffffffffff 00001ca0: DUP3 00001ca1: GT 00001ca2: ISZERO 00001ca3: PUSH2 0x1cab 00001ca6: JUMPI 00001ca7: PUSH1 0x00 00001ca9: DUP1 00001caa: REVERT 00001cab: JUMPDEST 00001cac: PUSH1 0x20 00001cae: ADD 00001caf: SWAP2 00001cb0: POP 00001cb1: PUSH1 0x05 00001cb3: DUP2 00001cb4: SWAP1 00001cb5: SHL 00001cb6: CALLDATASIZE 00001cb7: SUB 00001cb8: DUP3 00001cb9: SGT 00001cba: ISZERO 00001cbb: PUSH2 0x1959 00001cbe: JUMPI 00001cbf: PUSH1 0x00 00001cc1: DUP1 00001cc2: REVERT 00001cc3: JUMPDEST 00001cc4: PUSH1 0x01 00001cc6: PUSH1 0x01 00001cc8: PUSH1 0xa0 00001cca: SHL 00001ccb: SUB 00001ccc: SWAP6 00001ccd: DUP7 00001cce: AND 00001ccf: DUP2 00001cd0: MSTORE 00001cd1: SWAP4 00001cd2: SWAP1 00001cd3: SWAP5 00001cd4: AND 00001cd5: PUSH1 0x20 00001cd7: DUP5 00001cd8: ADD 00001cd9: MSTORE 00001cda: PUSH1 0x01 00001cdc: PUSH1 0x01 00001cde: PUSH1 0x80 00001ce0: SHL 00001ce1: SUB 00001ce2: SWAP2 00001ce3: DUP3 00001ce4: AND 00001ce5: PUSH1 0x40 00001ce7: DUP5 00001ce8: ADD 00001ce9: MSTORE 00001cea: PUSH12 0xffffffffffffffffffffffff 00001cf7: AND 00001cf8: PUSH1 0x60 00001cfa: DUP4 00001cfb: ADD 00001cfc: MSTORE 00001cfd: SWAP1 00001cfe: SWAP2 00001cff: AND 00001d00: PUSH1 0x80 00001d02: DUP3 00001d03: ADD 00001d04: MSTORE 00001d05: PUSH1 0xa0 00001d07: ADD 00001d08: SWAP1 00001d09: JUMP 00001d0a: INVALID 00001d0b: LOG2 00001d0c: PUSH5 0x6970667358 00001d12: UNKNOWN(0x22) 00001d13: SLT 00001d14: KECCAK256 00001d15: UNKNOWN(0x23) 00001d16: UNKNOWN(0xC4) 00001d17: UNKNOWN(0xE2) 00001d18: UNKNOWN(0xF7) 00001d19: UNKNOWN(0x26) 00001d1a: ORIGIN 00001d1b: UNKNOWN(0x2B) 00001d1c: UNKNOWN(0x0C) 00001d1d: UNKNOWN(0x24) 00001d1e: CREATE2 00001d1f: UNKNOWN(0x21) 00001d20: UNKNOWN(0x4F) 00001d21: UNKNOWN(0xC9) 00001d22: UNKNOWN(0xE4) 00001d23: UNKNOWN(0xEA) 00001d24: UNKNOWN(0xE7) 00001d25: DUP15 00001d26: LOG4 00001d27: PUSH23 0x02374510c3743bd11462e9a6e964736f6c634300080d00 00001d3f: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xad2e5770",
"selector": "0xad2e5770",
"calldata_variants": [
"0xad2e5770",
"0xad2e57700000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb483eddc",
"selector": "0xb483eddc",
"calldata_variants": [
"0xb483eddc",
"0xb483eddc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc5bc20b",
"selector": "0xcc5bc20b",
"calldata_variants": [
"0xcc5bc20b",
"0xcc5bc20b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xce9c095d",
"selector": "0xce9c095d",
"calldata_variants": [
"0xce9c095d",
"0xce9c095d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xebd0f693",
"selector": "0xebd0f693",
"calldata_variants": [
"0xebd0f693",
"0xebd0f6930000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 7450,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x8774ab843038177c70b70de6b35398dc7e17142fe1d5a305bc3ee3c31ec1d5b2
call_targets:
0xb16c1342e617a5b6e4b631eb114483fdb289c0a4
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x8774ab843038177c70b70de6b35398dc7e17142fe1d5a305bc3ee3c31ec1d5b2",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb16c1342e617a5b6e4b631eb114483fdb289c0a4"
],
"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": "0xad2e5770",
"selector": "0xad2e5770",
"calldata_variants": [
"0xad2e5770",
"0xad2e57700000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb483eddc",
"selector": "0xb483eddc",
"calldata_variants": [
"0xb483eddc",
"0xb483eddc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc5bc20b",
"selector": "0xcc5bc20b",
"calldata_variants": [
"0xcc5bc20b",
"0xcc5bc20b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xce9c095d",
"selector": "0xce9c095d",
"calldata_variants": [
"0xce9c095d",
"0xce9c095d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xebd0f693",
"selector": "0xebd0f693",
"calldata_variants": [
"0xebd0f693",
"0xebd0f6930000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1958,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4937,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5228,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 8,
"guards_detected": [
{
"pc": 7450,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 8
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x8774ab843038177c70b70de6b35398dc7e17142fe1d5a305bc3ee3c31ec1d5b2
call_targets:
0xb16c1342e617a5b6e4b631eb114483fdb289c0a4
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x8774ab843038177c70b70de6b35398dc7e17142fe1d5a305bc3ee3c31ec1d5b2",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb16c1342e617a5b6e4b631eb114483fdb289c0a4"
],
"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": "0xad2e5770",
"selector": "0xad2e5770",
"calldata_variants": [
"0xad2e5770",
"0xad2e57700000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb483eddc",
"selector": "0xb483eddc",
"calldata_variants": [
"0xb483eddc",
"0xb483eddc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc5bc20b",
"selector": "0xcc5bc20b",
"calldata_variants": [
"0xcc5bc20b",
"0xcc5bc20b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xce9c095d",
"selector": "0xce9c095d",
"calldata_variants": [
"0xce9c095d",
"0xce9c095d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xebd0f693",
"selector": "0xebd0f693",
"calldata_variants": [
"0xebd0f693",
"0xebd0f6930000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1958,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4937,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5228,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 8,
"guards_detected": [
{
"pc": 7450,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0xf2b81c9eb65493a7899300ffb820262d936b3adb0781e6c3973946190f2602b0
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0xf2b81c9eb65493a7899300ffb820262d936b3adb0781e6c3973946190f2602b0",
"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": "0xad2e5770",
"selector": "0xad2e5770",
"calldata_variants": [
"0xad2e5770",
"0xad2e57700000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb483eddc",
"selector": "0xb483eddc",
"calldata_variants": [
"0xb483eddc",
"0xb483eddc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc5bc20b",
"selector": "0xcc5bc20b",
"calldata_variants": [
"0xcc5bc20b",
"0xcc5bc20b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xce9c095d",
"selector": "0xce9c095d",
"calldata_variants": [
"0xce9c095d",
"0xce9c095d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xebd0f693",
"selector": "0xebd0f693",
"calldata_variants": [
"0xebd0f693",
"0xebd0f6930000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 2,
"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": 2,
"create2_count": 1
}
|
| 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": 7
}
|