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

Analysis Run

0bcec04f-71c6-45e6-b451-df0c2c08db21

failed
Chain ID
1
Address
Block Number
Created
Mon, Dec 29, 2025 8:36 PM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Delegatecall into adapter grants full vault control if adapter is compromised or upgradeable
crit 0 high 0 proxy context implementation known
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30581 report.consolidate complete 1 / 1 3 months ago
104345 artifact.fetch failed 1 / 3 1 week ago
104346 tool.cast_disasm complete 1 / 3 1 week ago
104347 analysis.bundle complete 1 / 3 1 week ago
104348 capability.graph complete 1 / 3 1 week ago
104349 detector.run complete 1 / 3 1 week ago
104350 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
2
No findings?
no
Summary
Found 2 issues: a dangerous delegatecall trust boundary to the adapter and an unprotected initializer that can be front-run if deployment is not atomic.
View stderr
[codex:541927] OpenAI Codex v0.77.0 (research preview)
[codex:541927] --------
[codex:541927] workdir: /tmp/codex-multi-om6yjy6a
[codex:541927] model: gpt-5.2-codex
[codex:541927] provider: openai
[codex:541927] approval: never
[codex:541927] sandbox: read-only
[codex:541927] reasoning effort: xhigh
[codex:541927] reasoning summaries: auto
[codex:541927] session id: 019b6bcc-893b-7ea2-9fa4-6ba27b3044f8
[codex:541927] --------
[codex:541927] user
[codex:541927] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:541927] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:541927] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:541927] 
[codex:541927] Scope rules:
[codex:541927] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:541927] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:541927] 
[codex:541927] Output MUST be valid JSON matching the provided schema.
[codex:541927] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:541927] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:541927] 
[codex:541927] Output constraints (IMPORTANT):
[codex:541927] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:541927] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:541927] mcp startup: no servers
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Reviewing audit instructions and policy**
[codex:541927] exec
[codex:541927] /bin/bash -lc ls in /tmp/codex-multi-om6yjy6a succeeded in 5ms:
[codex:541927] AUDIT_BUNDLE.txt
[codex:541927] codex-output-schema.json
[codex:541927] contracts
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Accessing AUDIT_BUNDLE**
[codex:541927] exec
[codex:541927] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-om6yjy6a succeeded in 5ms:
[codex:541927] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:541927] 
[codex:541927] ================================================================================
[codex:541927] FILE: contracts/Contract.sol
[codex:541927] ================================================================================
[codex:541927] /**
[codex:541927]  *Submitted for verification at Etherscan.io on 2021-09-13
[codex:541927] */
[codex:541927] 
[codex:541927] pragma solidity >=0.7.2;
[codex:541927] pragma experimental ABIEncoderV2;
[codex:541927] 
[codex:541927] 
[codex:541927] interface IERC20 {
[codex:541927]     /**
[codex:541927]      * @dev Returns the amount of tokens in existence.
[codex:541927]      */
[codex:541927]     function totalSupply() external view returns (uint256);
[codex:541927] 
[codex:541927]     /**
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Searching for vulnerability patterns**
[codex:541927] exec
[codex:541927] /bin/bash -lc "rg -n \"delegatecall|call\\{|transfer\\(|sendValue|approve\\(|initialize\\(|upgrade|proxy|admin|owner\" AUDIT_BUNDLE.txt" in /tmp/codex-multi-om6yjy6a succeeded in 6ms:
[codex:541927] 32:    function transfer(address recipient, uint256 amount) external returns (bool);
[codex:541927] 36:     * allowed to spend on behalf of `owner` through {transferFrom}. This is
[codex:541927] 41:    function allowance(address owner, address spender) external view returns (uint256);
[codex:541927] 57:    function approve(address spender, uint256 amount) external returns (bool);
[codex:541927] 79:     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
[codex:541927] 82:    event Approval(address indexed owner, address indexed spender, uint256 value);
[codex:541927] 342:     * `transfer`. {sendValue} removes this limitation.
[codex:541927] 351:    function sendValue(address payable recipient, uint256 amount) internal {
[codex:541927] 355:        (bool success, ) = recipient.call{ value: amount }("");
[codex:541927] 417:        (bool success, bytes memory returndata) = target.call{ value: value }(data);
[codex:541927] 465:        (bool success, bytes memory returndata) = target.delegatecall(data);
[codex:541927] 880:            address(adapter).delegatecall(
[codex:541927] 898:            address(adapter).delegatecall(
[codex:541927] 917:            address(adapter).delegatecall(
[codex:541927] 935:            address(adapter).delegatecall(
[codex:541927] 969:            address(adapter).delegatecall(
[codex:541927] 985:            address(adapter).delegatecall(
[codex:541927] 1057:    function transfer(address recipient, uint256 amount)
[codex:541927] 1061:    function allowance(address owner, address spender)
[codex:541927] 1066:    function approve(address spender, uint256 amount) external returns (bool);
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Inspecting large contract file for vulnerabilities**
[codex:541927] exec
[codex:541927] /bin/bash -lc 'rg -n "delegatecall" -n AUDIT_BUNDLE.txt -C 3' in /tmp/codex-multi-om6yjy6a succeeded in 7ms:
[codex:541927] 462-        require(isContract(target), "Address: delegate call to non-contract");
[codex:541927] 463-
[codex:541927] 464-        // solhint-disable-next-line avoid-low-level-calls
[codex:541927] 465:        (bool success, bytes memory returndata) = target.delegatecall(data);
[codex:541927] 466-        return _verifyCallResult(success, returndata, errorMessage);
[codex:541927] 467-    }
[codex:541927] 468-
[codex:541927] --
[codex:541927] 877-        uint256 maxCost
[codex:541927] 878-    ) external returns (uint256) {
[codex:541927] 879-        (bool success, bytes memory result) =
[codex:541927] 880:            address(adapter).delegatecall(
[codex:541927] 881-                abi.encodeWithSignature(
[codex:541927] 882-                    "purchase((address,address,address,uint256,uint256,uint8,address),uint256,uint256)",
[codex:541927] 883-                    optionTerms,
[codex:541927] --
[codex:541927] 895-        ProtocolAdapterTypes.ZeroExOrder calldata zeroExOrder
[codex:541927] 896-    ) external {
[codex:541927] 897-        (bool success, bytes memory result) =
[codex:541927] 898:            address(adapter).delegatecall(
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Examining delegatecall and access control**
[codex:541927] exec
[codex:541927] /bin/bash -lc "sed -n '760,1040p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-om6yjy6a succeeded in 6ms:
[codex:541927]         uint256 amount
[codex:541927]     ) external view returns (bool);
[codex:541927] 
[codex:541927]     /**
[codex:541927]      * @notice Purchases the options contract.
[codex:541927]      * @param optionTerms is the terms of the option contract
[codex:541927]      * @param amount is the purchase amount in Wad units (10**18)
[codex:541927]      */
[codex:541927]     function purchase(
[codex:541927]         ProtocolAdapterTypes.OptionTerms calldata optionTerms,
[codex:541927]         uint256 amount,
[codex:541927]         uint256 maxCost
[codex:541927]     ) external payable returns (uint256 optionID);
[codex:541927] 
[codex:541927]     /**
[codex:541927]      * @notice Exercises the options contract.
[codex:541927]      * @param options is the address of the options contract
[codex:541927]      * @param optionID is the ID of the option position in non fungible protocols like Hegic.
[codex:541927]      * @param amount is the amount of tokens or options contract to exercise.
[codex:541927]      * @param recipient is the account that receives the exercised profits.
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Investigating adapter usage and trustworthiness**
[codex:541927] exec
[codex:541927] /bin/bash -lc "sed -n '2200,2520p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-om6yjy6a succeeded in 5ms:
[codex:541927] }
[codex:541927] 
[codex:541927] contract OptionsVaultStorageV3 {
[codex:541927]     // Contract address of replacement
[codex:541927]     IRibbonV2Vault public replacementVault;
[codex:541927] }
[codex:541927] 
[codex:541927] 
[codex:541927] contract OptionsVaultStorage is
[codex:541927]     OptionsVaultStorageV1,
[codex:541927]     OptionsVaultStorageV2,
[codex:541927]     OptionsVaultStorageV3
[codex:541927] {
[codex:541927] 
[codex:541927] }
[codex:541927] 
[codex:541927] // 
[codex:541927] contract RibbonThetaVault is DSMath, OptionsVaultStorage {
[codex:541927]     using ProtocolAdapter for IProtocolAdapter;
[codex:541927]     using SafeERC20 for IERC20;
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Searching for contract definitions**
[codex:541927] exec
[codex:541927] /bin/bash -lc 'rg -n "contract " AUDIT_BUNDLE.txt' in /tmp/codex-multi-om6yjy6a succeeded in 6ms:
[codex:541927] 319:     *  - a contract in construction
[codex:541927] 320:     *  - an address where a contract will be created
[codex:541927] 321:     *  - an address where a contract lived, but was destroyed
[codex:541927] 397:     * - the calling contract must have an ETH balance of at least `value`.
[codex:541927] 538:        // the target address contains contract code and also asserts for success in the low-level call.
[codex:541927] 548:contract DSMath {
[codex:541927] 623:    // We have 2 types of purchase methods so far - by contract and by 0x.
[codex:541927] 677:     * @notice Emitted when a new option contract is purchased
[codex:541927] 688:     * @notice Emitted when an option contract is exercised
[codex:541927] 718:     * @notice Check if an options contract exist based on the passed parameters.
[codex:541927] 735:     * @notice Gets the premium to buy `purchaseAmount` of the option contract in ETH terms.
[codex:541927] 745:     * @notice Amount of profit made from exercising an option contract (current price - strike price).
[codex:541927] 749:     * @param amount is the amount of tokens or options contract to exercise.
[codex:541927] 778:     * @param amount is the amount of tokens or options contract to exercise.
[codex:541927] 1254:     *  - a contract in construction
[codex:541927] 1255:     *  - an address where a contract will be created
[codex:541927] 1256:     *  - an address where a contract lived, but was destroyed
[codex:541927] 1332:     * - the calling contract must have an ETH balance of at least `value`.
[codex:541927] 1403: * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed
[codex:541927] 1404: * behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Identifying key custom contracts**
[codex:541927] exec
[codex:541927] /bin/bash -lc "sed -n '520,760p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-om6yjy6a succeeded in 6ms:
[codex:541927]         uint256 newAllowance = token.allowance(address(this), spender).add(value);
[codex:541927]         _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
[codex:541927]     }
[codex:541927] 
[codex:541927]     function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {
[codex:541927]         uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero");
[codex:541927]         _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
[codex:541927]     }
[codex:541927] 
[codex:541927]     /**
[codex:541927]      * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement
[codex:541927]      * on the return value: the return value is optional (but if data is returned, it must not be false).
[codex:541927]      * @param token The token targeted by the call.
[codex:541927]      * @param data The call data (encoded using abi.encode or one of its variants).
[codex:541927]      */
[codex:541927]     function _callOptionalReturn(IERC20 token, bytes memory data) private {
[codex:541927]         // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
[codex:541927]         // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that
[codex:541927]         // the target address contains contract code and also asserts for success in the low-level call.
[codex:541927] 
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Analyzing delegatecall usage and upgradeability concerns**
[codex:541927] exec
[codex:541927] /bin/bash -lc 'rg -n "delegate" -n AUDIT_BUNDLE.txt -C 2' in /tmp/codex-multi-om6yjy6a succeeded in 7ms:
[codex:541927] 445-    /**
[codex:541927] 446-     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
[codex:541927] 447:     * but performing a delegate call.
[codex:541927] 448-     *
[codex:541927] 449-     * _Available since v3.4._
[codex:541927] 450-     */
[codex:541927] 451-    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
[codex:541927] 452:        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
[codex:541927] 453-    }
[codex:541927] 454-
[codex:541927] 455-    /**
[codex:541927] 456-     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
[codex:541927] 457:     * but performing a delegate call.
[codex:541927] 458-     *
[codex:541927] 459-     * _Available since v3.4._
[codex:541927] 460-     */
[codex:541927] 461-    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
[codex:541927] 462:        require(isContract(target), "Address: delegate call to non-contract");
[codex:541927] 463-
[codex:541927] 464-        // solhint-disable-next-line avoid-low-level-calls
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Investigating delegated sender section**
[codex:541927] exec
[codex:541927] /bin/bash -lc "sed -n '1080,1240p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-om6yjy6a succeeded in 5ms:
[codex:541927]         uint256 expiry; // Expiry in seconds since 1 January 1970
[codex:541927]         Party signer; // Party to the trade that sets terms
[codex:541927]         Party sender; // Party to the trade that accepts terms
[codex:541927]         Party affiliate; // Party compensated for facilitating (optional)
[codex:541927]         Signature signature; // Signature of the order
[codex:541927]     }
[codex:541927] 
[codex:541927]     struct Party {
[codex:541927]         bytes4 kind; // Interface ID of the token
[codex:541927]         address wallet; // Wallet address of the party
[codex:541927]         address token; // Contract address of the token
[codex:541927]         uint256 amount; // Amount for ERC-20 or ERC-1155
[codex:541927]         uint256 id; // ID for ERC-721 or ERC-1155
[codex:541927]     }
[codex:541927] 
[codex:541927]     struct Signature {
[codex:541927]         address signatory; // Address of the wallet used to sign
[codex:541927]         address validator; // Address of the intended swap contract
[codex:541927]         bytes1 version; // EIP-191 signature version
[codex:541927]         uint8 v; // `v` value of an ECDSA signature
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Analyzing potential vulnerabilities in RibbonThetaVault**
[codex:541927] exec
[codex:541927] /bin/bash -lc "sed -n '2120,2210p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-om6yjy6a succeeded in 5ms:
[codex:541927] 
[codex:541927]         _allowances[owner][spender] = amount;
[codex:541927]         emit Approval(owner, spender, amount);
[codex:541927]     }
[codex:541927] 
[codex:541927]     /**
[codex:541927]      * @dev Sets {decimals} to a value other than the default one of 18.
[codex:541927]      *
[codex:541927]      * WARNING: This function should only be called from the constructor. Most
[codex:541927]      * applications that interact with token contracts will not expect
[codex:541927]      * {decimals} to ever change, and may work incorrectly if it does.
[codex:541927]      */
[codex:541927]     function _setupDecimals(uint8 decimals_) internal virtual {
[codex:541927]         _decimals = decimals_;
[codex:541927]     }
[codex:541927] 
[codex:541927]     /**
[codex:541927]      * @dev Hook that is called before any transfer of tokens. This includes
[codex:541927]      * minting and burning.
[codex:541927]      *
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Analyzing potential security risks in OptionsVaultStorage**
[codex:541927] 
[codex:541927] I’m reviewing the access controls, reentrancy guards, and use of delegatecall in OptionsVaultStorage, especially around manager settings, open calls like closeShort, and delegatecall to the adapter. I’m checking for allowance handling, share calculations, and upgradeable proxy nuances, highlighting scenarios that might cause stuck states or trust assumptions, focusing on exploitable vulnerabilities versus intended design.
[codex:541927] exec
[codex:541927] /bin/bash -lc "rg -n \"delegatePurchase|purchase\\(\" AUDIT_BUNDLE.txt" in /tmp/codex-multi-om6yjy6a succeeded in 6ms:
[codex:541927] 768:    function purchase(
[codex:541927] 873:    function delegatePurchase(
[codex:541927] 882:                    "purchase((address,address,address,uint256,uint256,uint8,address),uint256,uint256)",
[codex:541927] 892:    function delegatePurchaseWithZeroEx(
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Analyzing potential vulnerabilities and external calls**
[codex:541927] exec
[codex:541927] /bin/bash -lc 'tail -n 60 AUDIT_BUNDLE.txt' in /tmp/codex-multi-om6yjy6a succeeded in 6ms:
[codex:541927]      * @notice Returns the number of shares for a given `assetAmount`.
[codex:541927]      *         Used by the frontend to calculate withdraw amounts.
[codex:541927]      * @param assetAmount is the asset amount to be withdrawn
[codex:541927]      * @return share amount
[codex:541927]      */
[codex:541927]     function assetAmountToShares(uint256 assetAmount)
[codex:541927]         external
[codex:541927]         view
[codex:541927]         returns (uint256)
[codex:541927]     {
[codex:541927]         uint256 total = lockedAmount.add(assetBalance());
[codex:541927]         return assetAmount.mul(totalSupply()).div(total);
[codex:541927]     }
[codex:541927] 
[codex:541927]     /**
[codex:541927]      * @notice Returns an account's balance on the vault
[codex:541927]      * @param account is the address of the user
[codex:541927]      * @return vault balance of the user
[codex:541927]      */
[codex:541927]     function accountVaultBalance(address account)
[codex:541927] 
[codex:541927] 
[codex:541927] 
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Analyzing delegatecall risks and access controls**
[codex:541927] thinking
[codex:541927] **Examining reentrancy and allowance edge cases**
[codex:541927] 
[codex:541927] I'll explore how missing nonReentrant on sellOptions could open subtle reentrancy paths, especially during external swaps, and how safeApprove usage might cause stuck states if allowances aren't reset. There are also nuanced underflow risks in maxWithdrawableShares and behavior of public closeShort that anyone can call after expiry. I want to piece together if these create real attack vectors or mostly operational hazards.
[codex:541927] thinking
[codex:541927] **Analyzing delegatecall risks and access control nuances**
[codex:541927] 
[codex:541927] I’m focusing on how the vault’s delegatecall to an external adapter poses a significant risk if the adapter is upgradeable or compromised, since it can manipulate vault storage and funds. I also consider access control details around manager roles, fee settings, and subtle operational edge cases like deposits minting zero shares or minimum supply locking shares permanently. This helps me weigh architectural trust assumptions versus code-level safeguards.
[codex:541927] thinking
[codex:541927] **Highlighting uninitialized contract and delegatecall concerns**
[codex:541927] 
[codex:541927] I'm examining how the externally callable initializer without disabling initializers in the constructor can allow ownership takeover if not properly initialized during deployment, especially in proxy setups. Alongside that, I connect this with delegatecall usage to adapters that can fully control vault storage if compromised, spotlighting critical upgradeability and access risks.
[codex:541927] exec
[codex:541927] /bin/bash -lc "nl -ba AUDIT_BUNDLE.txt | sed -n '860,1010p'" in /tmp/codex-multi-om6yjy6a succeeded in 10ms:
[codex:541927]    860	        (bool success, bytes memory result) =
[codex:541927]    861	            address(adapter).staticcall(
[codex:541927]    862	                abi.encodeWithSignature(
[codex:541927]    863	                    "exerciseProfit(address,uint256,uint256)",
[codex:541927]    864	                    options,
[codex:541927]    865	                    optionID,
[codex:541927]    866	                    amount
[codex:541927]    867	                )
[codex:541927]    868	            );
[codex:541927]    869	        revertWhenFail(success, result);
[codex:541927]    870	        return abi.decode(result, (uint256));
[codex:541927]    871	    }
[codex:541927]    872	
[codex:541927]    873	    function delegatePurchase(
[codex:541927]    874	        IProtocolAdapter adapter,
[codex:541927]    875	        ProtocolAdapterTypes.OptionTerms calldata optionTerms,
[codex:541927]    876	        uint256 purchaseAmount,
[codex:541927]    877	        uint256 maxCost
[codex:541927]    878	    ) external returns (uint256) {
[codex:541927]    879	        (bool success, bytes memory result) =
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Locating initialize function lines**
[codex:541927] exec
[codex:541927] /bin/bash -lc "nl -ba AUDIT_BUNDLE.txt | sed -n '2320,2410p'" in /tmp/codex-multi-om6yjy6a succeeded in 7ms:
[codex:541927]   2320	        address adapterAddr = factoryInstance.getAdapter(_adapterName);
[codex:541927]   2321	        require(adapterAddr != address(0), "Adapter not set");
[codex:541927]   2322	
[codex:541927]   2323	        asset = _isPut ? _usdc : _asset;
[codex:541927]   2324	        underlying = _asset;
[codex:541927]   2325	        adapter = IProtocolAdapter(adapterAddr);
[codex:541927]   2326	        registry = IVaultRegistry(_registry);
[codex:541927]   2327	        WETH = _weth;
[codex:541927]   2328	        USDC = _usdc;
[codex:541927]   2329	        SWAP_CONTRACT = ISwap(_swapContract);
[codex:541927]   2330	        _decimals = _tokenDecimals;
[codex:541927]   2331	        MINIMUM_SUPPLY = _minimumSupply;
[codex:541927]   2332	        isPut = _isPut;
[codex:541927]   2333	    }
[codex:541927]   2334	
[codex:541927]   2335	    /**
[codex:541927]   2336	     * @notice Initializes the OptionVault contract with storage variables.
[codex:541927]   2337	     * @param _owner is the owner of the contract who can set the manager
[codex:541927]   2338	     * @param _feeRecipient is the recipient address for withdrawal fees.
[codex:541927]   2339	     * @param _initCap is the initial vault's cap on deposits, the manager can increase this as necessary.
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Evaluating potential vulnerabilities and categorizing risks**
[codex:541927] exec
[codex:541927] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '820,1040p'" in /tmp/codex-multi-om6yjy6a succeeded in 7ms:
[codex:541927]    820	    ) external view returns (address) {
[codex:541927]    821	        (bool success, bytes memory result) =
[codex:541927]    822	            address(adapter).staticcall(
[codex:541927]    823	                abi.encodeWithSignature(
[codex:541927]    824	                    "getOptionsAddress((address,address,address,uint256,uint256,uint8,address))",
[codex:541927]    825	                    optionTerms
[codex:541927]    826	                )
[codex:541927]    827	            );
[codex:541927]    828	        revertWhenFail(success, result);
[codex:541927]    829	        return abi.decode(result, (address));
[codex:541927]    830	    }
[codex:541927]    831	
[codex:541927]    832	    function delegatePremium(
[codex:541927]    833	        IProtocolAdapter adapter,
[codex:541927]    834	        ProtocolAdapterTypes.OptionTerms calldata optionTerms,
[codex:541927]    835	        uint256 purchaseAmount
[codex:541927]    836	    ) external view returns (uint256) {
[codex:541927]    837	        (bool success, bytes memory result) =
[codex:541927]    838	            address(adapter).staticcall(
[codex:541927]    839	                abi.encodeWithSignature(
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Noting line numbers and initialization**
[codex:541927] exec
[codex:541927] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '2290,2380p'" in /tmp/codex-multi-om6yjy6a succeeded in 6ms:
[codex:541927]   2290	     * It's important to bake the _factory variable into the contract with the constructor
[codex:541927]   2291	     * If we do it in the `initialize` function, users get to set the factory variable and
[codex:541927]   2292	     * subsequently the adapter, which allows them to make a delegatecall, then selfdestruct the contract.
[codex:541927]   2293	     */
[codex:541927]   2294	    constructor(
[codex:541927]   2295	        address _asset,
[codex:541927]   2296	        address _factory,
[codex:541927]   2297	        address _registry,
[codex:541927]   2298	        address _weth,
[codex:541927]   2299	        address _usdc,
[codex:541927]   2300	        address _swapContract,
[codex:541927]   2301	        uint8 _tokenDecimals,
[codex:541927]   2302	        uint256 _minimumSupply,
[codex:541927]   2303	        bool _isPut
[codex:541927]   2304	    ) {
[codex:541927]   2305	        require(_asset != address(0), "!_asset");
[codex:541927]   2306	        require(_factory != address(0), "!_factory");
[codex:541927]   2307	        require(_registry != address(0), "!_registry");
[codex:541927]   2308	        require(_weth != address(0), "!_weth");
[codex:541927]   2309	        require(_usdc != address(0), "!_usdc");
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Analyzing initialization and delegatecall risks**
[codex:541927] exec
[codex:541927] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '2620,2710p'" in /tmp/codex-multi-om6yjy6a succeeded in 6ms:
[codex:541927]   2620	    /**
[codex:541927]   2621	     * @notice Closes the existing short position for the vault.
[codex:541927]   2622	     */
[codex:541927]   2623	    function _closeShort() private {
[codex:541927]   2624	        address oldOption = currentOption;
[codex:541927]   2625	        currentOption = address(0);
[codex:541927]   2626	        lockedAmount = 0;
[codex:541927]   2627	
[codex:541927]   2628	        if (oldOption != address(0)) {
[codex:541927]   2629	            OtokenInterface otoken = OtokenInterface(oldOption);
[codex:541927]   2630	            require(
[codex:541927]   2631	                block.timestamp > otoken.expiryTimestamp(),
[codex:541927]   2632	                "Cannot close short before expiry"
[codex:541927]   2633	            );
[codex:541927]   2634	            uint256 withdrawAmount = adapter.delegateCloseShort();
[codex:541927]   2635	            emit CloseShort(oldOption, withdrawAmount, msg.sender);
[codex:541927]   2636	        }
[codex:541927]   2637	    }
[codex:541927]   2638	
[codex:541927]   2639	    /*
[codex:541927] 
[codex:541927] thinking
[codex:541927] **Preparing detailed JSON findings report**
[codex:541927] 
[codex:541927] I'm putting together a precise JSON output outlining two key security findings: a critical risk from delegatecall to external adapters and a medium-severity issue with an unprotected initializer, including clear exploit scenarios, recommendations, evidence, and accurate code locations. I'm making sure the JSON matches the required schema and is well-formatted with double quotes and proper escaping.
[codex:541927] codex
[codex:541927] {"no_findings":false,"summary":"Found 2 issues: a dangerous delegatecall trust boundary to the adapter and an unprotected initializer that can be front-run if deployment is not atomic.","findings":[{"severity":"high","category":"other","title":"Delegatecall into adapter grants full vault control if adapter is compromised or upgradeable","exploit_scenario":"If the adapter address points to an upgradeable proxy or a compromised adapter contract, an attacker can upgrade/replace the adapter with malicious code that executes via delegatecall, draining vault assets or selfdestructing the vault. Any call path that triggers adapter.delegateCreateShort/adapter.delegateCloseShort (e.g., rollToNextOption or closeShort/emergencyWithdraw) would execute attacker code in the vault context.","recommendation":"Treat the adapter as a critical trust boundary: use non-upgradeable, audited adapter implementations; enforce a code-hash allowlist; or replace delegatecall with explicit calls that return values and keep vault state changes in the vault. If upgradeable adapters are unavoidable, gate upgrades behind robust governance and timelocks.","evidence":"ProtocolAdapter uses delegatecall for create/close short operations, and RibbonThetaVault calls these delegatecall helpers during normal vault operations.","locations":["contracts/Contract.sol:958","contracts/Contract.sol:975","contracts/Contract.sol:2634","contracts/Contract.sol:2673"]},{"severity":"medium","category":"upgradeability","title":"Initializer can be front‑run if deployment does not initialize atomically","exploit_scenario":"If the vault (or proxy) is deployed without calling initialize in the same transaction, any account can call initialize, set themselves as owner and feeRecipient, then set manager and adjust fees/cap or sunset to a malicious replacement, capturing withdrawal fees and control.","recommendation":"Initialize immediately at deployment (e.g., via proxy constructor or factory). Consider adding a constructor that calls _disableInitializers() on the implementation or otherwise restricting initialize to a trusted deployer/factory.","evidence":"initialize is external and guarded only by the initializer modifier; it sets ownership and feeRecipient but has no access control.","locations":["contracts/Contract.sol:2338"]}]}
[codex:541927] tokens used
[codex:541927] 59,076
[codex:541927] {"no_findings":false,"summary":"Found 2 issues: a dangerous delegatecall trust boundary to the adapter and an unprotected initializer that can be front-run if deployment is not atomic.","findings":[{"severity":"high","category":"other","title":"Delegatecall into adapter grants full vault control if adapter is compromised or upgradeable","exploit_scenario":"If the adapter address points to an upgradeable proxy or a compromised adapter contract, an attacker can upgrade/replace the adapter with malicious code that executes via delegatecall, draining vault assets or selfdestructing the vault. Any call path that triggers adapter.delegateCreateShort/adapter.delegateCloseShort (e.g., rollToNextOption or closeShort/emergencyWithdraw) would execute attacker code in the vault context.","recommendation":"Treat the adapter as a critical trust boundary: use non-upgradeable, audited adapter implementations; enforce a code-hash allowlist; or replace delegatecall with explicit calls that return values and keep vault state changes in the vault. If upgradeable adapters are unavoidable, gate upgrades behind robust governance and timelocks.","evidence":"ProtocolAdapter uses delegatecall for create/close short operations, and RibbonThetaVault calls these delegatecall helpers during normal vault operations.","locations":["contracts/Contract.sol:958","contracts/Contract.sol:975","contracts/Contract.sol:2634","contracts/Contract.sol:2673"]},{"severity":"medium","category":"upgradeability","title":"Initializer can be front‑run if deployment does not initialize atomically","exploit_scenario":"If the vault (or proxy) is deployed without calling initialize in the same transaction, any account can call initialize, set themselves as owner and feeRecipient, then set manager and adjust fees/cap or sunset to a malicious replacement, capturing withdrawal fees and control.","recommendation":"Initialize immediately at deployment (e.g., via proxy constructor or factory). Consider adding a constructor that calls _disableInitializers() on the implementation or otherwise restricting initialize to a trusted deployer/factory.","evidence":"initialize is external and guarded only by the initializer modifier; it sets ownership and feeRecipient but has no access control.","locations":["contracts/Contract.sol:2338"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-29T20:36:07.368788+00:00",
        "returncode": 0
    },
    "summary": "Found 2 issues: a dangerous delegatecall trust boundary to the adapter and an unprotected initializer that can be front-run if deployment is not atomic.",
    "raw_final": {
        "summary": "Found 2 issues: a dangerous delegatecall trust boundary to the adapter and an unprotected initializer that can be front-run if deployment is not atomic.",
        "findings": [
            {
                "title": "Delegatecall into adapter grants full vault control if adapter is compromised or upgradeable",
                "category": "other",
                "evidence": "ProtocolAdapter uses delegatecall for create/close short operations, and RibbonThetaVault calls these delegatecall helpers during normal vault operations.",
                "severity": "high",
                "locations": [
                    "contracts/Contract.sol:958",
                    "contracts/Contract.sol:975",
                    "contracts/Contract.sol:2634",
                    "contracts/Contract.sol:2673"
                ],
                "recommendation": "Treat the adapter as a critical trust boundary: use non-upgradeable, audited adapter implementations; enforce a code-hash allowlist; or replace delegatecall with explicit calls that return values and keep vault state changes in the vault. If upgradeable adapters are unavoidable, gate upgrades behind robust governance and timelocks.",
                "exploit_scenario": "If the adapter address points to an upgradeable proxy or a compromised adapter contract, an attacker can upgrade/replace the adapter with malicious code that executes via delegatecall, draining vault assets or selfdestructing the vault. Any call path that triggers adapter.delegateCreateShort/adapter.delegateCloseShort (e.g., rollToNextOption or closeShort/emergencyWithdraw) would execute attacker code in the vault context."
            },
            {
                "title": "Initializer can be front\u2011run if deployment does not initialize atomically",
                "category": "upgradeability",
                "evidence": "initialize is external and guarded only by the initializer modifier; it sets ownership and feeRecipient but has no access control.",
                "severity": "medium",
                "locations": [
                    "contracts/Contract.sol:2338"
                ],
                "recommendation": "Initialize immediately at deployment (e.g., via proxy constructor or factory). Consider adding a constructor that calls _disableInitializers() on the implementation or otherwise restricting initialize to a trusted deployer/factory.",
                "exploit_scenario": "If the vault (or proxy) is deployed without calling initialize in the same transaction, any account can call initialize, set themselves as owner and feeRecipient, then set manager and adjust fees/cap or sunset to a malicious replacement, capturing withdrawal fees and control."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
3
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
24
EXT*/BALANCE
26
Total opcodes
12053
Flags
delegatecall_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x038c
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x9ab8367e
00000019: GT
0000001a: PUSH2 0x01dc
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xc66f2455
00000024: GT
00000025: PUSH2 0x0102
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xf14210a6
0000002f: GT
00000030: PUSH2 0x00a0
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xf6bca120
0000003a: GT
0000003b: PUSH2 0x006f
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf6bca120
00000045: EQ
00000046: PUSH2 0x095e
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf8432a1b
00000050: EQ
00000051: PUSH2 0x0973
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf870316f
0000005b: EQ
0000005c: PUSH2 0x0988
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xfaec2233
00000066: EQ
00000067: PUSH2 0x09a8
0000006a: JUMPI
0000006b: PUSH2 0x038c
0000006e: JUMP
0000006f: JUMPDEST
00000070: DUP1
00000071: PUSH4 0xf14210a6
00000076: EQ
00000077: PUSH2 0x0901
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xf2fde38b
00000081: EQ
00000082: PUSH2 0x0921
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xf3c274a6
0000008c: EQ
0000008d: PUSH2 0x0941
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0xf6326fb3
00000097: EQ
00000098: PUSH2 0x0956
0000009b: JUMPI
0000009c: PUSH2 0x038c
0000009f: JUMP
000000a0: JUMPDEST
000000a1: DUP1
000000a2: PUSH4 0xdc7900f7
000000a7: GT
000000a8: PUSH2 0x00dc
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xdc7900f7
000000b2: EQ
000000b3: PUSH2 0x088c
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xdd62ed3e
000000bd: EQ
000000be: PUSH2 0x08ac
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0xde2fbaba
000000c8: EQ
000000c9: PUSH2 0x08cc
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0xe74b981b
000000d3: EQ
000000d4: PUSH2 0x08e1
000000d7: JUMPI
000000d8: PUSH2 0x038c
000000db: JUMP
000000dc: JUMPDEST
000000dd: DUP1
000000de: PUSH4 0xc66f2455
000000e3: EQ
000000e4: PUSH2 0x0842
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0xcf3afa51
000000ee: EQ
000000ef: PUSH2 0x0857
000000f2: JUMPI
000000f3: DUP1
000000f4: PUSH4 0xd0ebdbe7
000000f9: EQ
000000fa: PUSH2 0x086c
000000fd: JUMPI
000000fe: PUSH2 0x038c
00000101: JUMP
00000102: JUMPDEST
00000103: DUP1
00000104: PUSH4 0xaa7ebfe1
00000109: GT
0000010a: PUSH2 0x017a
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0xb6b55f25
00000114: GT
00000115: PUSH2 0x0149
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0xb6b55f25
0000011f: EQ
00000120: PUSH2 0x07bf
00000123: JUMPI
00000124: DUP1
00000125: PUSH4 0xb81f2853
0000012a: EQ
0000012b: PUSH2 0x07df
0000012e: JUMPI
0000012f: DUP1
00000130: PUSH4 0xb9f8092b
00000135: EQ
00000136: PUSH2 0x080d
00000139: JUMPI
0000013a: DUP1
0000013b: PUSH4 0xba3f6bd8
00000140: EQ
00000141: PUSH2 0x0822
00000144: JUMPI
00000145: PUSH2 0x038c
00000148: JUMP
00000149: JUMPDEST
0000014a: DUP1
0000014b: PUSH4 0xaa7ebfe1
00000150: EQ
00000151: PUSH2 0x0755
00000154: JUMPI
00000155: DUP1
00000156: PUSH4 0xac1e5025
0000015b: EQ
0000015c: PUSH2 0x0775
0000015f: JUMPI
00000160: DUP1
00000161: PUSH4 0xad5c4648
00000166: EQ
00000167: PUSH2 0x0795
0000016a: JUMPI
0000016b: DUP1
0000016c: PUSH4 0xad7a672f
00000171: EQ
00000172: PUSH2 0x07aa
00000175: JUMPI
00000176: PUSH2 0x038c
00000179: JUMP
0000017a: JUMPDEST
0000017b: DUP1
0000017c: PUSH4 0xa2db9d83
00000181: GT
00000182: PUSH2 0x01b6
00000185: JUMPI
00000186: DUP1
00000187: PUSH4 0xa2db9d83
0000018c: EQ
0000018d: PUSH2 0x06eb
00000190: JUMPI
00000191: DUP1
00000192: PUSH4 0xa457c2d7
00000197: EQ
00000198: PUSH2 0x0700
0000019b: JUMPI
0000019c: DUP1
0000019d: PUSH4 0xa8e0bcec
000001a2: EQ
000001a3: PUSH2 0x0720
000001a6: JUMPI
000001a7: DUP1
000001a8: PUSH4 0xa9059cbb
000001ad: EQ
000001ae: PUSH2 0x0735
000001b1: JUMPI
000001b2: PUSH2 0x038c
000001b5: JUMP
000001b6: JUMPDEST
000001b7: DUP1
000001b8: PUSH4 0x9ab8367e
000001bd: EQ
000001be: PUSH2 0x0696
000001c1: JUMPI
000001c2: DUP1
000001c3: PUSH4 0x9ec7aaad
000001c8: EQ
000001c9: PUSH2 0x06b6
000001cc: JUMPI
000001cd: DUP1
000001ce: PUSH4 0xa285c9e8
000001d3: EQ
000001d4: PUSH2 0x06d6
000001d7: JUMPI
000001d8: PUSH2 0x038c
000001db: JUMP
000001dc: JUMPDEST
000001dd: DUP1
000001de: PUSH4 0x481c6a75
000001e3: GT
000001e4: PUSH2 0x02c1
000001e7: JUMPI
000001e8: DUP1
000001e9: PUSH4 0x70a08231
000001ee: GT
000001ef: PUSH2 0x025f
000001f2: JUMPI
000001f3: DUP1
000001f4: PUSH4 0x8b10cc7c
000001f9: GT
000001fa: PUSH2 0x022e
000001fd: JUMPI
000001fe: DUP1
000001ff: PUSH4 0x8b10cc7c
00000204: EQ
00000205: PUSH2 0x0642
00000208: JUMPI
00000209: DUP1
0000020a: PUSH4 0x8da5cb5b
0000020f: EQ
00000210: PUSH2 0x0657
00000213: JUMPI
00000214: DUP1
00000215: PUSH4 0x8fd3ab80
0000021a: EQ
0000021b: PUSH2 0x066c
0000021e: JUMPI
0000021f: DUP1
00000220: PUSH4 0x95d89b41
00000225: EQ
00000226: PUSH2 0x0681
00000229: JUMPI
0000022a: PUSH2 0x038c
0000022d: JUMP
0000022e: JUMPDEST
0000022f: DUP1
00000230: PUSH4 0x70a08231
00000235: EQ
00000236: PUSH2 0x05e3
00000239: JUMPI
0000023a: DUP1
0000023b: PUSH4 0x715018a6
00000240: EQ
00000241: PUSH2 0x0603
00000244: JUMPI
00000245: DUP1
00000246: PUSH4 0x7b103999
0000024b: EQ
0000024c: PUSH2 0x0618
0000024f: JUMPI
00000250: DUP1
00000251: PUSH4 0x89a30271
00000256: EQ
00000257: PUSH2 0x062d
0000025a: JUMPI
0000025b: PUSH2 0x038c
0000025e: JUMP
0000025f: JUMPDEST
00000260: DUP1
00000261: PUSH4 0x6a56e046
00000266: GT
00000267: PUSH2 0x029b
0000026a: JUMPI
0000026b: DUP1
0000026c: PUSH4 0x6a56e046
00000271: EQ
00000272: PUSH2 0x058f
00000275: JUMPI
00000276: DUP1
00000277: PUSH4 0x6ab28bc8
0000027c: EQ
0000027d: PUSH2 0x05a4
00000280: JUMPI
00000281: DUP1
00000282: PUSH4 0x6b34128c
00000287: EQ
00000288: PUSH2 0x05b9
0000028b: JUMPI
0000028c: DUP1
0000028d: PUSH4 0x6f307dc3
00000292: EQ
00000293: PUSH2 0x05ce
00000296: JUMPI
00000297: PUSH2 0x038c
0000029a: JUMP
0000029b: JUMPDEST
0000029c: DUP1
0000029d: PUSH4 0x481c6a75
000002a2: EQ
000002a3: PUSH2 0x0545
000002a6: JUMPI
000002a7: DUP1
000002a8: PUSH4 0x538130bd
000002ad: EQ
000002ae: PUSH2 0x055a
000002b1: JUMPI
000002b2: DUP1
000002b3: PUSH4 0x6a42b8f8
000002b8: EQ
000002b9: PUSH2 0x057a
000002bc: JUMPI
000002bd: PUSH2 0x038c
000002c0: JUMP
000002c1: JUMPDEST
000002c2: DUP1
000002c3: PUSH4 0x355274ea
000002c8: GT
000002c9: PUSH2 0x032e
000002cc: JUMPI
000002cd: DUP1
000002ce: PUSH4 0x3e52583d
000002d3: GT
000002d4: PUSH2 0x0308
000002d7: JUMPI
000002d8: DUP1
000002d9: PUSH4 0x3e52583d
000002de: EQ
000002df: PUSH2 0x04db
000002e2: JUMPI
000002e3: DUP1
000002e4: PUSH4 0x3f23bb73
000002e9: EQ
000002ea: PUSH2 0x04f0
000002ed: JUMPI
000002ee: DUP1
000002ef: PUSH4 0x46904840
000002f4: EQ
000002f5: PUSH2 0x0510
000002f8: JUMPI
000002f9: DUP1
000002fa: PUSH4 0x47786d37
000002ff: EQ
00000300: PUSH2 0x0525
00000303: JUMPI
00000304: PUSH2 0x038c
00000307: JUMP
00000308: JUMPDEST
00000309: DUP1
0000030a: PUSH4 0x355274ea
0000030f: EQ
00000310: PUSH2 0x0491
00000313: JUMPI
00000314: DUP1
00000315: PUSH4 0x38d52e0f
0000031a: EQ
0000031b: PUSH2 0x04a6
0000031e: JUMPI
0000031f: DUP1
00000320: PUSH4 0x39509351
00000325: EQ
00000326: PUSH2 0x04bb
00000329: JUMPI
0000032a: PUSH2 0x038c
0000032d: JUMP
0000032e: JUMPDEST
0000032f: DUP1
00000330: PUSH4 0x18160ddd
00000335: GT
00000336: PUSH2 0x036a
00000339: JUMPI
0000033a: DUP1
0000033b: PUSH4 0x18160ddd
00000340: EQ
00000341: PUSH2 0x040b
00000344: JUMPI
00000345: DUP1
00000346: PUSH4 0x23b872dd
0000034b: EQ
0000034c: PUSH2 0x042d
0000034f: JUMPI
00000350: DUP1
00000351: PUSH4 0x2e1a7d4d
00000356: EQ
00000357: PUSH2 0x044d
0000035a: JUMPI
0000035b: DUP1
0000035c: PUSH4 0x313ce567
00000361: EQ
00000362: PUSH2 0x046f
00000365: JUMPI
00000366: PUSH2 0x038c
00000369: JUMP
0000036a: JUMPDEST
0000036b: DUP1
0000036c: PUSH4 0x03eadcfc
00000371: EQ
00000372: PUSH2 0x0391
00000375: JUMPI
00000376: DUP1
00000377: PUSH4 0x06fdde03
0000037c: EQ
0000037d: PUSH2 0x03bc
00000380: JUMPI
00000381: DUP1
00000382: PUSH4 0x095ea7b3
00000387: EQ
00000388: PUSH2 0x03de
0000038b: JUMPI
0000038c: JUMPDEST
0000038d: PUSH1 0x00
0000038f: DUP1
00000390: REVERT
00000391: JUMPDEST
00000392: CALLVALUE
00000393: DUP1
00000394: ISZERO
00000395: PUSH2 0x039d
00000398: JUMPI
00000399: PUSH1 0x00
0000039b: DUP1
0000039c: REVERT
0000039d: JUMPDEST
0000039e: POP
0000039f: PUSH2 0x03a6
000003a2: PUSH2 0x09bd
000003a5: JUMP
000003a6: JUMPDEST
000003a7: PUSH1 0x40
000003a9: MLOAD
000003aa: PUSH2 0x03b3
000003ad: SWAP2
000003ae: SWAP1
000003af: PUSH2 0x4237
000003b2: JUMP
000003b3: JUMPDEST
000003b4: PUSH1 0x40
000003b6: MLOAD
000003b7: DUP1
000003b8: SWAP2
000003b9: SUB
000003ba: SWAP1
000003bb: RETURN
000003bc: JUMPDEST
000003bd: CALLVALUE
000003be: DUP1
000003bf: ISZERO
000003c0: PUSH2 0x03c8
000003c3: JUMPI
000003c4: PUSH1 0x00
000003c6: DUP1
000003c7: REVERT
000003c8: JUMPDEST
000003c9: POP
000003ca: PUSH2 0x03d1
000003cd: PUSH2 0x09e1
000003d0: JUMP
000003d1: JUMPDEST
000003d2: PUSH1 0x40
000003d4: MLOAD
000003d5: PUSH2 0x03b3
000003d8: SWAP2
000003d9: SWAP1
000003da: PUSH2 0x4376
000003dd: JUMP
000003de: JUMPDEST
000003df: CALLVALUE
000003e0: DUP1
000003e1: ISZERO
000003e2: PUSH2 0x03ea
000003e5: JUMPI
000003e6: PUSH1 0x00
000003e8: DUP1
000003e9: REVERT
000003ea: JUMPDEST
000003eb: POP
000003ec: PUSH2 0x03fe
000003ef: PUSH2 0x03f9
000003f2: CALLDATASIZE
000003f3: PUSH1 0x04
000003f5: PUSH2 0x40b2
000003f8: JUMP
000003f9: JUMPDEST
000003fa: PUSH2 0x0a78
000003fd: JUMP
000003fe: JUMPDEST
000003ff: PUSH1 0x40
00000401: MLOAD
00000402: PUSH2 0x03b3
00000405: SWAP2
00000406: SWAP1
00000407: PUSH2 0x42f5
0000040a: JUMP
0000040b: JUMPDEST
0000040c: CALLVALUE
0000040d: DUP1
0000040e: ISZERO
0000040f: PUSH2 0x0417
00000412: JUMPI
00000413: PUSH1 0x00
00000415: DUP1
00000416: REVERT
00000417: JUMPDEST
00000418: POP
00000419: PUSH2 0x0420
0000041c: PUSH2 0x0a96
0000041f: JUMP
00000420: JUMPDEST
00000421: PUSH1 0x40
00000423: MLOAD
00000424: PUSH2 0x03b3
00000427: SWAP2
00000428: SWAP1
00000429: PUSH2 0x50a7
0000042c: JUMP
0000042d: JUMPDEST
0000042e: CALLVALUE
0000042f: DUP1
00000430: ISZERO
00000431: PUSH2 0x0439
00000434: JUMPI
00000435: PUSH1 0x00
00000437: DUP1
00000438: REVERT
00000439: JUMPDEST
0000043a: POP
0000043b: PUSH2 0x03fe
0000043e: PUSH2 0x0448
00000441: CALLDATASIZE
00000442: PUSH1 0x04
00000444: PUSH2 0x3fd6
00000447: JUMP
00000448: JUMPDEST
00000449: PUSH2 0x0a9c
0000044c: JUMP
0000044d: JUMPDEST
0000044e: CALLVALUE
0000044f: DUP1
00000450: ISZERO
00000451: PUSH2 0x0459
00000454: JUMPI
00000455: PUSH1 0x00
00000457: DUP1
00000458: REVERT
00000459: JUMPDEST
0000045a: POP
0000045b: PUSH2 0x046d
0000045e: PUSH2 0x0468
00000461: CALLDATASIZE
00000462: PUSH1 0x04
00000464: PUSH2 0x4140
00000467: JUMP
00000468: JUMPDEST
00000469: PUSH2 0x0b24
0000046c: JUMP
0000046d: JUMPDEST
0000046e: STOP
0000046f: JUMPDEST
00000470: CALLVALUE
00000471: DUP1
00000472: ISZERO
00000473: PUSH2 0x047b
00000476: JUMPI
00000477: PUSH1 0x00
00000479: DUP1
0000047a: REVERT
0000047b: JUMPDEST
0000047c: POP
0000047d: PUSH2 0x0484
00000480: PUSH2 0x0b9f
00000483: JUMP
00000484: JUMPDEST
00000485: PUSH1 0x40
00000487: MLOAD
00000488: PUSH2 0x03b3
0000048b: SWAP2
0000048c: SWAP1
0000048d: PUSH2 0x510a
00000490: JUMP
00000491: JUMPDEST
00000492: CALLVALUE
00000493: DUP1
00000494: ISZERO
00000495: PUSH2 0x049d
00000498: JUMPI
00000499: PUSH1 0x00
0000049b: DUP1
0000049c: REVERT
0000049d: JUMPDEST
0000049e: POP
0000049f: PUSH2 0x0420
000004a2: PUSH2 0x0bc3
000004a5: JUMP
000004a6: JUMPDEST
000004a7: CALLVALUE
000004a8: DUP1
000004a9: ISZERO
000004aa: PUSH2 0x04b2
000004ad: JUMPI
000004ae: PUSH1 0x00
000004b0: DUP1
000004b1: REVERT
000004b2: JUMPDEST
000004b3: POP
000004b4: PUSH2 0x03a6
000004b7: PUSH2 0x0bc9
000004ba: JUMP
000004bb: JUMPDEST
000004bc: CALLVALUE
000004bd: DUP1
000004be: ISZERO
000004bf: PUSH2 0x04c7
000004c2: JUMPI
000004c3: PUSH1 0x00
000004c5: DUP1
000004c6: REVERT
000004c7: JUMPDEST
000004c8: POP
000004c9: PUSH2 0x03fe
000004cc: PUSH2 0x04d6
000004cf: CALLDATASIZE
000004d0: PUSH1 0x04
000004d2: PUSH2 0x40b2
000004d5: JUMP
000004d6: JUMPDEST
000004d7: PUSH2 0x0bed
000004da: JUMP
000004db: JUMPDEST
000004dc: CALLVALUE
000004dd: DUP1
000004de: ISZERO
000004df: PUSH2 0x04e7
000004e2: JUMPI
000004e3: PUSH1 0x00
000004e5: DUP1
000004e6: REVERT
000004e7: JUMPDEST
000004e8: POP
000004e9: PUSH2 0x03a6
000004ec: PUSH2 0x0c3b
000004ef: JUMP
000004f0: JUMPDEST
000004f1: CALLVALUE
000004f2: DUP1
000004f3: ISZERO
000004f4: PUSH2 0x04fc
000004f7: JUMPI
000004f8: PUSH1 0x00
000004fa: DUP1
000004fb: REVERT
000004fc: JUMPDEST
000004fd: POP
000004fe: PUSH2 0x0420
00000501: PUSH2 0x050b
00000504: CALLDATASIZE
00000505: PUSH1 0x04
00000507: PUSH2 0x3f66
0000050a: JUMP
0000050b: JUMPDEST
0000050c: PUSH2 0x0c4a
0000050f: JUMP
00000510: JUMPDEST
00000511: CALLVALUE
00000512: DUP1
00000513: ISZERO
00000514: PUSH2 0x051c
00000517: JUMPI
00000518: PUSH1 0x00
0000051a: DUP1
0000051b: REVERT
0000051c: JUMPDEST
0000051d: POP
0000051e: PUSH2 0x03a6
00000521: PUSH2 0x0c72
00000524: JUMP
00000525: JUMPDEST
00000526: CALLVALUE
00000527: DUP1
00000528: ISZERO
00000529: PUSH2 0x0531
0000052c: JUMPI
0000052d: PUSH1 0x00
0000052f: DUP1
00000530: REVERT
00000531: JUMPDEST
00000532: POP
00000533: PUSH2 0x046d
00000536: PUSH2 0x0540
00000539: CALLDATASIZE
0000053a: PUSH1 0x04
0000053c: PUSH2 0x4140
0000053f: JUMP
00000540: JUMPDEST
00000541: PUSH2 0x0c81
00000544: JUMP
00000545: JUMPDEST
00000546: CALLVALUE
00000547: DUP1
00000548: ISZERO
00000549: PUSH2 0x0551
0000054c: JUMPI
0000054d: PUSH1 0x00
0000054f: DUP1
00000550: REVERT
00000551: JUMPDEST
00000552: POP
00000553: PUSH2 0x03a6
00000556: PUSH2 0x0cf3
00000559: JUMP
0000055a: JUMPDEST
0000055b: CALLVALUE
0000055c: DUP1
0000055d: ISZERO
0000055e: PUSH2 0x0566
00000561: JUMPI
00000562: PUSH1 0x00
00000564: DUP1
00000565: REVERT
00000566: JUMPDEST
00000567: POP
00000568: PUSH2 0x046d
0000056b: PUSH2 0x0575
0000056e: CALLDATASIZE
0000056f: PUSH1 0x04
00000571: PUSH2 0x412e
00000574: JUMP
00000575: JUMPDEST
00000576: PUSH2 0x0d02
00000579: JUMP
0000057a: JUMPDEST
0000057b: CALLVALUE
0000057c: DUP1
0000057d: ISZERO
0000057e: PUSH2 0x0586
00000581: JUMPI
00000582: PUSH1 0x00
00000584: DUP1
00000585: REVERT
00000586: JUMPDEST
00000587: POP
00000588: PUSH2 0x0420
0000058b: PUSH2 0x0e8a
0000058e: JUMP
0000058f: JUMPDEST
00000590: CALLVALUE
00000591: DUP1
00000592: ISZERO
00000593: PUSH2 0x059b
00000596: JUMPI
00000597: PUSH1 0x00
00000599: DUP1
0000059a: REVERT
0000059b: JUMPDEST
0000059c: POP
0000059d: PUSH2 0x0420
000005a0: PUSH2 0x0e90
000005a3: JUMP
000005a4: JUMPDEST
000005a5: CALLVALUE
000005a6: DUP1
000005a7: ISZERO
000005a8: PUSH2 0x05b0
000005ab: JUMPI
000005ac: PUSH1 0x00
000005ae: DUP1
000005af: REVERT
000005b0: JUMPDEST
000005b1: POP
000005b2: PUSH2 0x0420
000005b5: PUSH2 0x0eb4
000005b8: JUMP
000005b9: JUMPDEST
000005ba: CALLVALUE
000005bb: DUP1
000005bc: ISZERO
000005bd: PUSH2 0x05c5
000005c0: JUMPI
000005c1: PUSH1 0x00
000005c3: DUP1
000005c4: REVERT
000005c5: JUMPDEST
000005c6: POP
000005c7: PUSH2 0x0420
000005ca: PUSH2 0x0eba
000005cd: JUMP
000005ce: JUMPDEST
000005cf: CALLVALUE
000005d0: DUP1
000005d1: ISZERO
000005d2: PUSH2 0x05da
000005d5: JUMPI
000005d6: PUSH1 0x00
000005d8: DUP1
000005d9: REVERT
000005da: JUMPDEST
000005db: POP
000005dc: PUSH2 0x03a6
000005df: PUSH2 0x0ec0
000005e2: JUMP
000005e3: JUMPDEST
000005e4: CALLVALUE
000005e5: DUP1
000005e6: ISZERO
000005e7: PUSH2 0x05ef
000005ea: JUMPI
000005eb: PUSH1 0x00
000005ed: DUP1
000005ee: REVERT
000005ef: JUMPDEST
000005f0: POP
000005f1: PUSH2 0x0420
000005f4: PUSH2 0x05fe
000005f7: CALLDATASIZE
000005f8: PUSH1 0x04
000005fa: PUSH2 0x3f66
000005fd: JUMP
000005fe: JUMPDEST
000005ff: PUSH2 0x0ee4
00000602: JUMP
00000603: JUMPDEST
00000604: CALLVALUE
00000605: DUP1
00000606: ISZERO
00000607: PUSH2 0x060f
0000060a: JUMPI
0000060b: PUSH1 0x00
0000060d: DUP1
0000060e: REVERT
0000060f: JUMPDEST
00000610: POP
00000611: PUSH2 0x046d
00000614: PUSH2 0x0eff
00000617: JUMP
00000618: JUMPDEST
00000619: CALLVALUE
0000061a: DUP1
0000061b: ISZERO
0000061c: PUSH2 0x0624
0000061f: JUMPI
00000620: PUSH1 0x00
00000622: DUP1
00000623: REVERT
00000624: JUMPDEST
00000625: POP
00000626: PUSH2 0x03a6
00000629: PUSH2 0x0f88
0000062c: JUMP
0000062d: JUMPDEST
0000062e: CALLVALUE
0000062f: DUP1
00000630: ISZERO
00000631: PUSH2 0x0639
00000634: JUMPI
00000635: PUSH1 0x00
00000637: DUP1
00000638: REVERT
00000639: JUMPDEST
0000063a: POP
0000063b: PUSH2 0x03a6
0000063e: PUSH2 0x0fac
00000641: JUMP
00000642: JUMPDEST
00000643: CALLVALUE
00000644: DUP1
00000645: ISZERO
00000646: PUSH2 0x064e
00000649: JUMPI
0000064a: PUSH1 0x00
0000064c: DUP1
0000064d: REVERT
0000064e: JUMPDEST
0000064f: POP
00000650: PUSH2 0x03a6
00000653: PUSH2 0x0fd0
00000656: JUMP
00000657: JUMPDEST
00000658: CALLVALUE
00000659: DUP1
0000065a: ISZERO
0000065b: PUSH2 0x0663
0000065e: JUMPI
0000065f: PUSH1 0x00
00000661: DUP1
00000662: REVERT
00000663: JUMPDEST
00000664: POP
00000665: PUSH2 0x03a6
00000668: PUSH2 0x0fdf
0000066b: JUMP
0000066c: JUMPDEST
0000066d: CALLVALUE
0000066e: DUP1
0000066f: ISZERO
00000670: PUSH2 0x0678
00000673: JUMPI
00000674: PUSH1 0x00
00000676: DUP1
00000677: REVERT
00000678: JUMPDEST
00000679: POP
0000067a: PUSH2 0x046d
0000067d: PUSH2 0x0fee
00000680: JUMP
00000681: JUMPDEST
00000682: CALLVALUE
00000683: DUP1
00000684: ISZERO
00000685: PUSH2 0x068d
00000688: JUMPI
00000689: PUSH1 0x00
0000068b: DUP1
0000068c: REVERT
0000068d: JUMPDEST
0000068e: POP
0000068f: PUSH2 0x03d1
00000692: PUSH2 0x116a
00000695: JUMP
00000696: JUMPDEST
00000697: CALLVALUE
00000698: DUP1
00000699: ISZERO
0000069a: PUSH2 0x06a2
0000069d: JUMPI
0000069e: PUSH1 0x00
000006a0: DUP1
000006a1: REVERT
000006a2: JUMPDEST
000006a3: POP
000006a4: PUSH2 0x046d
000006a7: PUSH2 0x06b1
000006aa: CALLDATASIZE
000006ab: PUSH1 0x04
000006ad: PUSH2 0x4016
000006b0: JUMP
000006b1: JUMPDEST
000006b2: PUSH2 0x11cb
000006b5: JUMP
000006b6: JUMPDEST
000006b7: CALLVALUE
000006b8: DUP1
000006b9: ISZERO
000006ba: PUSH2 0x06c2
000006bd: JUMPI
000006be: PUSH1 0x00
000006c0: DUP1
000006c1: REVERT
000006c2: JUMPDEST
000006c3: POP
000006c4: PUSH2 0x046d
000006c7: PUSH2 0x06d1
000006ca: CALLDATASIZE
000006cb: PUSH1 0x04
000006cd: PUSH2 0x3f66
000006d0: JUMP
000006d1: JUMPDEST
000006d2: PUSH2 0x13b2
000006d5: JUMP
000006d6: JUMPDEST
000006d7: CALLVALUE
000006d8: DUP1
000006d9: ISZERO
000006da: PUSH2 0x06e2
000006dd: JUMPI
000006de: PUSH1 0x00
000006e0: DUP1
000006e1: REVERT
000006e2: JUMPDEST
000006e3: POP
000006e4: PUSH2 0x0420
000006e7: PUSH2 0x146d
000006ea: JUMP
000006eb: JUMPDEST
000006ec: CALLVALUE
000006ed: DUP1
000006ee: ISZERO
000006ef: PUSH2 0x06f7
000006f2: JUMPI
000006f3: PUSH1 0x00
000006f5: DUP1
000006f6: REVERT
000006f7: JUMPDEST
000006f8: POP
000006f9: PUSH2 0x03a6
000006fc: PUSH2 0x1473
000006ff: JUMP
00000700: JUMPDEST
00000701: CALLVALUE
00000702: DUP1
00000703: ISZERO
00000704: PUSH2 0x070c
00000707: JUMPI
00000708: PUSH1 0x00
0000070a: DUP1
0000070b: REVERT
0000070c: JUMPDEST
0000070d: POP
0000070e: PUSH2 0x03fe
00000711: PUSH2 0x071b
00000714: CALLDATASIZE
00000715: PUSH1 0x04
00000717: PUSH2 0x40b2
0000071a: JUMP
0000071b: JUMPDEST
0000071c: PUSH2 0x1482
0000071f: JUMP
00000720: JUMPDEST
00000721: CALLVALUE
00000722: DUP1
00000723: ISZERO
00000724: PUSH2 0x072c
00000727: JUMPI
00000728: PUSH1 0x00
0000072a: DUP1
0000072b: REVERT
0000072c: JUMPDEST
0000072d: POP
0000072e: PUSH2 0x0420
00000731: PUSH2 0x14ea
00000734: JUMP
00000735: JUMPDEST
00000736: CALLVALUE
00000737: DUP1
00000738: ISZERO
00000739: PUSH2 0x0741
0000073c: JUMPI
0000073d: PUSH1 0x00
0000073f: DUP1
00000740: REVERT
00000741: JUMPDEST
00000742: POP
00000743: PUSH2 0x03fe
00000746: PUSH2 0x0750
00000749: CALLDATASIZE
0000074a: PUSH1 0x04
0000074c: PUSH2 0x40b2
0000074f: JUMP
00000750: JUMPDEST
00000751: PUSH2 0x158d
00000754: JUMP
00000755: JUMPDEST
00000756: CALLVALUE
00000757: DUP1
00000758: ISZERO
00000759: PUSH2 0x0761
0000075c: JUMPI
0000075d: PUSH1 0x00
0000075f: DUP1
00000760: REVERT
00000761: JUMPDEST
00000762: POP
00000763: PUSH2 0x0420
00000766: PUSH2 0x0770
00000769: CALLDATASIZE
0000076a: PUSH1 0x04
0000076c: PUSH2 0x4140
0000076f: JUMP
00000770: JUMPDEST
00000771: PUSH2 0x15a1
00000774: JUMP
00000775: JUMPDEST
00000776: CALLVALUE
00000777: DUP1
00000778: ISZERO
00000779: PUSH2 0x0781
0000077c: JUMPI
0000077d: PUSH1 0x00
0000077f: DUP1
00000780: REVERT
00000781: JUMPDEST
00000782: POP
00000783: PUSH2 0x046d
00000786: PUSH2 0x0790
00000789: CALLDATASIZE
0000078a: PUSH1 0x04
0000078c: PUSH2 0x4140
0000078f: JUMP
00000790: JUMPDEST
00000791: PUSH2 0x15d6
00000794: JUMP
00000795: JUMPDEST
00000796: CALLVALUE
00000797: DUP1
00000798: ISZERO
00000799: PUSH2 0x07a1
0000079c: JUMPI
0000079d: PUSH1 0x00
0000079f: DUP1
000007a0: REVERT
000007a1: JUMPDEST
000007a2: POP
000007a3: PUSH2 0x03a6
000007a6: PUSH2 0x168a
000007a9: JUMP
000007aa: JUMPDEST
000007ab: CALLVALUE
000007ac: DUP1
000007ad: ISZERO
000007ae: PUSH2 0x07b6
000007b1: JUMPI
000007b2: PUSH1 0x00
000007b4: DUP1
000007b5: REVERT
000007b6: JUMPDEST
000007b7: POP
000007b8: PUSH2 0x0420
000007bb: PUSH2 0x16ae
000007be: JUMP
000007bf: JUMPDEST
000007c0: CALLVALUE
000007c1: DUP1
000007c2: ISZERO
000007c3: PUSH2 0x07cb
000007c6: JUMPI
000007c7: PUSH1 0x00
000007c9: DUP1
000007ca: REVERT
000007cb: JUMPDEST
000007cc: POP
000007cd: PUSH2 0x046d
000007d0: PUSH2 0x07da
000007d3: CALLDATASIZE
000007d4: PUSH1 0x04
000007d6: PUSH2 0x4140
000007d9: JUMP
000007da: JUMPDEST
000007db: PUSH2 0x1754
000007de: JUMP
000007df: JUMPDEST
000007e0: CALLVALUE
000007e1: DUP1
000007e2: ISZERO
000007e3: PUSH2 0x07eb
000007e6: JUMPI
000007e7: PUSH1 0x00
000007e9: DUP1
000007ea: REVERT
000007eb: JUMPDEST
000007ec: POP
000007ed: PUSH2 0x07ff
000007f0: PUSH2 0x07fa
000007f3: CALLDATASIZE
000007f4: PUSH1 0x04
000007f6: PUSH2 0x4140
000007f9: JUMP
000007fa: JUMPDEST
000007fb: PUSH2 0x17c1
000007fe: JUMP
000007ff: JUMPDEST
00000800: PUSH1 0x40
00000802: MLOAD
00000803: PUSH2 0x03b3
00000806: SWAP3
00000807: SWAP2
00000808: SWAP1
00000809: PUSH2 0x50c7
0000080c: JUMP
0000080d: JUMPDEST
0000080e: CALLVALUE
0000080f: DUP1
00000810: ISZERO
00000811: PUSH2 0x0819
00000814: JUMPI
00000815: PUSH1 0x00
00000817: DUP1
00000818: REVERT
00000819: JUMPDEST
0000081a: POP
0000081b: PUSH2 0x046d
0000081e: PUSH2 0x18a8
00000821: JUMP
00000822: JUMPDEST
00000823: CALLVALUE
00000824: DUP1
00000825: ISZERO
00000826: PUSH2 0x082e
00000829: JUMPI
0000082a: PUSH1 0x00
0000082c: DUP1
0000082d: REVERT
0000082e: JUMPDEST
0000082f: POP
00000830: PUSH2 0x0420
00000833: PUSH2 0x083d
00000836: CALLDATASIZE
00000837: PUSH1 0x04
00000839: PUSH2 0x3f66
0000083c: JUMP
0000083d: JUMPDEST
0000083e: PUSH2 0x1d54
00000841: JUMP
00000842: JUMPDEST
00000843: CALLVALUE
00000844: DUP1
00000845: ISZERO
00000846: PUSH2 0x084e
00000849: JUMPI
0000084a: PUSH1 0x00
0000084c: DUP1
0000084d: REVERT
0000084e: JUMPDEST
0000084f: POP
00000850: PUSH2 0x0420
00000853: PUSH2 0x1d97
00000856: JUMP
00000857: JUMPDEST
00000858: CALLVALUE
00000859: DUP1
0000085a: ISZERO
0000085b: PUSH2 0x0863
0000085e: JUMPI
0000085f: PUSH1 0x00
00000861: DUP1
00000862: REVERT
00000863: JUMPDEST
00000864: POP
00000865: PUSH2 0x03a6
00000868: PUSH2 0x1e36
0000086b: JUMP
0000086c: JUMPDEST
0000086d: CALLVALUE
0000086e: DUP1
0000086f: ISZERO
00000870: PUSH2 0x0878
00000873: JUMPI
00000874: PUSH1 0x00
00000876: DUP1
00000877: REVERT
00000878: JUMPDEST
00000879: POP
0000087a: PUSH2 0x046d
0000087d: PUSH2 0x0887
00000880: CALLDATASIZE
00000881: PUSH1 0x04
00000883: PUSH2 0x3f66
00000886: JUMP
00000887: JUMPDEST
00000888: PUSH2 0x1e5a
0000088b: JUMP
0000088c: JUMPDEST
0000088d: CALLVALUE
0000088e: DUP1
0000088f: ISZERO
00000890: PUSH2 0x0898
00000893: JUMPI
00000894: PUSH1 0x00
00000896: DUP1
00000897: REVERT
00000898: JUMPDEST
00000899: POP
0000089a: PUSH2 0x046d
0000089d: PUSH2 0x08a7
000008a0: CALLDATASIZE
000008a1: PUSH1 0x04
000008a3: PUSH2 0x4117
000008a6: JUMP
000008a7: JUMPDEST
000008a8: PUSH2 0x1f12
000008ab: JUMP
000008ac: JUMPDEST
000008ad: CALLVALUE
000008ae: DUP1
000008af: ISZERO
000008b0: PUSH2 0x08b8
000008b3: JUMPI
000008b4: PUSH1 0x00
000008b6: DUP1
000008b7: REVERT
000008b8: JUMPDEST
000008b9: POP
000008ba: PUSH2 0x0420
000008bd: PUSH2 0x08c7
000008c0: CALLDATASIZE
000008c1: PUSH1 0x04
000008c3: PUSH2 0x3f9e
000008c6: JUMP
000008c7: JUMPDEST
000008c8: PUSH2 0x1f75
000008cb: JUMP
000008cc: JUMPDEST
000008cd: CALLVALUE
000008ce: DUP1
000008cf: ISZERO
000008d0: PUSH2 0x08d8
000008d3: JUMPI
000008d4: PUSH1 0x00
000008d6: DUP1
000008d7: REVERT
000008d8: JUMPDEST
000008d9: POP
000008da: PUSH2 0x0420
000008dd: PUSH2 0x1fa0
000008e0: JUMP
000008e1: JUMPDEST
000008e2: CALLVALUE
000008e3: DUP1
000008e4: ISZERO
000008e5: PUSH2 0x08ed
000008e8: JUMPI
000008e9: PUSH1 0x00
000008eb: DUP1
000008ec: REVERT
000008ed: JUMPDEST
000008ee: POP
000008ef: PUSH2 0x046d
000008f2: PUSH2 0x08fc
000008f5: CALLDATASIZE
000008f6: PUSH1 0x04
000008f8: PUSH2 0x3f66
000008fb: JUMP
000008fc: JUMPDEST
000008fd: PUSH2 0x1fac
00000900: JUMP
00000901: JUMPDEST
00000902: CALLVALUE
00000903: DUP1
00000904: ISZERO
00000905: PUSH2 0x090d
00000908: JUMPI
00000909: PUSH1 0x00
0000090b: DUP1
0000090c: REVERT
0000090d: JUMPDEST
0000090e: POP
0000090f: PUSH2 0x046d
00000912: PUSH2 0x091c
00000915: CALLDATASIZE
00000916: PUSH1 0x04
00000918: PUSH2 0x4140
0000091b: JUMP
0000091c: JUMPDEST
0000091d: PUSH2 0x2033
00000920: JUMP
00000921: JUMPDEST
00000922: CALLVALUE
00000923: DUP1
00000924: ISZERO
00000925: PUSH2 0x092d
00000928: JUMPI
00000929: PUSH1 0x00
0000092b: DUP1
0000092c: REVERT
0000092d: JUMPDEST
0000092e: POP
0000092f: PUSH2 0x046d
00000932: PUSH2 0x093c
00000935: CALLDATASIZE
00000936: PUSH1 0x04
00000938: PUSH2 0x3f66
0000093b: JUMP
0000093c: JUMPDEST
0000093d: PUSH2 0x21e2
00000940: JUMP
00000941: JUMPDEST
00000942: CALLVALUE
00000943: DUP1
00000944: ISZERO
00000945: PUSH2 0x094d
00000948: JUMPI
00000949: PUSH1 0x00
0000094b: DUP1
0000094c: REVERT
0000094d: JUMPDEST
0000094e: POP
0000094f: PUSH2 0x03fe
00000952: PUSH2 0x22a3
00000955: JUMP
00000956: JUMPDEST
00000957: PUSH2 0x046d
0000095a: PUSH2 0x22c7
0000095d: JUMP
0000095e: JUMPDEST
0000095f: CALLVALUE
00000960: DUP1
00000961: ISZERO
00000962: PUSH2 0x096a
00000965: JUMPI
00000966: PUSH1 0x00
00000968: DUP1
00000969: REVERT
0000096a: JUMPDEST
0000096b: POP
0000096c: PUSH2 0x0420
0000096f: PUSH2 0x2406
00000972: JUMP
00000973: JUMPDEST
00000974: CALLVALUE
00000975: DUP1
00000976: ISZERO
00000977: PUSH2 0x097f
0000097a: JUMPI
0000097b: PUSH1 0x00
0000097d: DUP1
0000097e: REVERT
0000097f: JUMPDEST
00000980: POP
00000981: PUSH2 0x046d
00000984: PUSH2 0x246c
00000987: JUMP
00000988: JUMPDEST
00000989: CALLVALUE
0000098a: DUP1
0000098b: ISZERO
0000098c: PUSH2 0x0994
0000098f: JUMPI
00000990: PUSH1 0x00
00000992: DUP1
00000993: REVERT
00000994: JUMPDEST
00000995: POP
00000996: PUSH2 0x046d
00000999: PUSH2 0x09a3
0000099c: CALLDATASIZE
0000099d: PUSH1 0x04
0000099f: PUSH2 0x4170
000009a2: JUMP
000009a3: JUMPDEST
000009a4: PUSH2 0x249c
000009a7: JUMP
000009a8: JUMPDEST
000009a9: CALLVALUE
000009aa: DUP1
000009ab: ISZERO
000009ac: PUSH2 0x09b4
000009af: JUMPI
000009b0: PUSH1 0x00
000009b2: DUP1
000009b3: REVERT
000009b4: JUMPDEST
000009b5: POP
000009b6: PUSH2 0x046d
000009b9: PUSH2 0x2749
000009bc: JUMP
000009bd: JUMPDEST
000009be: PUSH32 0x000000000000000000000000cd99b092a5c08c33d09b3e72046a7ab42d8110d1
000009df: DUP2
000009e0: JUMP
000009e1: JUMPDEST
000009e2: PUSH1 0x9a
000009e4: DUP1
000009e5: SLOAD
000009e6: PUSH1 0x40
000009e8: DUP1
000009e9: MLOAD
000009ea: PUSH1 0x20
000009ec: PUSH1 0x1f
000009ee: PUSH1 0x02
000009f0: PUSH1 0x00
000009f2: NOT
000009f3: PUSH2 0x0100
000009f6: PUSH1 0x01
000009f8: DUP9
000009f9: AND
000009fa: ISZERO
000009fb: MUL
000009fc: ADD
000009fd: SWAP1
000009fe: SWAP6
000009ff: AND
00000a00: SWAP5
00000a01: SWAP1
00000a02: SWAP5
00000a03: DIV
00000a04: SWAP4
00000a05: DUP5
00000a06: ADD
00000a07: DUP2
00000a08: SWAP1
00000a09: DIV
00000a0a: DUP2
00000a0b: MUL
00000a0c: DUP3
00000a0d: ADD
00000a0e: DUP2
00000a0f: ADD
00000a10: SWAP1
00000a11: SWAP3
00000a12: MSTORE
00000a13: DUP3
00000a14: DUP2
00000a15: MSTORE
00000a16: PUSH1 0x60
00000a18: SWAP4
00000a19: SWAP1
00000a1a: SWAP3
00000a1b: SWAP1
00000a1c: SWAP2
00000a1d: DUP4
00000a1e: ADD
00000a1f: DUP3
00000a20: DUP3
00000a21: DUP1
00000a22: ISZERO
00000a23: PUSH2 0x0a6d
00000a26: JUMPI
00000a27: DUP1
00000a28: PUSH1 0x1f
00000a2a: LT
00000a2b: PUSH2 0x0a42
00000a2e: JUMPI
00000a2f: PUSH2 0x0100
00000a32: DUP1
00000a33: DUP4
00000a34: SLOAD
00000a35: DIV
00000a36: MUL
00000a37: DUP4
00000a38: MSTORE
00000a39: SWAP2
00000a3a: PUSH1 0x20
00000a3c: ADD
00000a3d: SWAP2
00000a3e: PUSH2 0x0a6d
00000a41: JUMP
00000a42: JUMPDEST
00000a43: DUP3
00000a44: ADD
00000a45: SWAP2
00000a46: SWAP1
00000a47: PUSH1 0x00
00000a49: MSTORE
00000a4a: PUSH1 0x20
00000a4c: PUSH1 0x00
00000a4e: KECCAK256
00000a4f: SWAP1
00000a50: JUMPDEST
00000a51: DUP2
00000a52: SLOAD
00000a53: DUP2
00000a54: MSTORE
00000a55: SWAP1
00000a56: PUSH1 0x01
00000a58: ADD
00000a59: SWAP1
00000a5a: PUSH1 0x20
00000a5c: ADD
00000a5d: DUP1
00000a5e: DUP4
00000a5f: GT
00000a60: PUSH2 0x0a50
00000a63: JUMPI
00000a64: DUP3
00000a65: SWAP1
00000a66: SUB
00000a67: PUSH1 0x1f
00000a69: AND
00000a6a: DUP3
00000a6b: ADD
00000a6c: SWAP2
00000a6d: JUMPDEST
00000a6e: POP
00000a6f: POP
00000a70: POP
00000a71: POP
00000a72: POP
00000a73: SWAP1
00000a74: POP
00000a75: JUMPDEST
00000a76: SWAP1
00000a77: JUMP
00000a78: JUMPDEST
00000a79: PUSH1 0x00
00000a7b: PUSH2 0x0a8c
00000a7e: PUSH2 0x0a85
00000a81: PUSH2 0x28e4
00000a84: JUMP
00000a85: JUMPDEST
00000a86: DUP5
00000a87: DUP5
00000a88: PUSH2 0x28e8
00000a8b: JUMP
00000a8c: JUMPDEST
00000a8d: POP
00000a8e: PUSH1 0x01
00000a90: JUMPDEST
00000a91: SWAP3
00000a92: SWAP2
00000a93: POP
00000a94: POP
00000a95: JUMP
00000a96: JUMPDEST
00000a97: PUSH1 0x99
00000a99: SLOAD
00000a9a: SWAP1
00000a9b: JUMP
00000a9c: JUMPDEST
00000a9d: PUSH1 0x00
00000a9f: PUSH2 0x0aa9
00000aa2: DUP5
00000aa3: DUP5
00000aa4: DUP5
00000aa5: PUSH2 0x299c
00000aa8: JUMP
00000aa9: JUMPDEST
00000aaa: PUSH2 0x0b19
00000aad: DUP5
00000aae: PUSH2 0x0ab5
00000ab1: PUSH2 0x28e4
00000ab4: JUMP
00000ab5: JUMPDEST
00000ab6: PUSH2 0x0b14
00000ab9: DUP6
00000aba: PUSH1 0x40
00000abc: MLOAD
00000abd: DUP1
00000abe: PUSH1 0x60
00000ac0: ADD
00000ac1: PUSH1 0x40
00000ac3: MSTORE
00000ac4: DUP1
00000ac5: PUSH1 0x28
00000ac7: DUP2
00000ac8: MSTORE
00000ac9: PUSH1 0x20
00000acb: ADD
00000acc: PUSH2 0x51a2
00000acf: PUSH1 0x28
00000ad1: SWAP2
00000ad2: CODECOPY
00000ad3: PUSH1 0x01
00000ad5: PUSH1 0x01
00000ad7: PUSH1 0xa0
00000ad9: SHL
00000ada: SUB
00000adb: DUP11
00000adc: AND
00000add: PUSH1 0x00
00000adf: SWAP1
00000ae0: DUP2
00000ae1: MSTORE
00000ae2: PUSH1 0x98
00000ae4: PUSH1 0x20
00000ae6: MSTORE
00000ae7: PUSH1 0x40
00000ae9: DUP2
00000aea: KECCAK256
00000aeb: SWAP1
00000aec: PUSH2 0x0af3
00000aef: PUSH2 0x28e4
00000af2: JUMP
00000af3: JUMPDEST
00000af4: PUSH1 0x01
00000af6: PUSH1 0x01
00000af8: PUSH1 0xa0
00000afa: SHL
00000afb: SUB
00000afc: AND
00000afd: DUP2
00000afe: MSTORE
00000aff: PUSH1 0x20
00000b01: DUP2
00000b02: ADD
00000b03: SWAP2
00000b04: SWAP1
00000b05: SWAP2
00000b06: MSTORE
00000b07: PUSH1 0x40
00000b09: ADD
00000b0a: PUSH1 0x00
00000b0c: KECCAK256
00000b0d: SLOAD
00000b0e: SWAP2
00000b0f: SWAP1
00000b10: PUSH2 0x2ab1
00000b13: JUMP
00000b14: JUMPDEST
00000b15: PUSH2 0x28e8
00000b18: JUMP
00000b19: JUMPDEST
00000b1a: POP
00000b1b: PUSH1 0x01
00000b1d: JUMPDEST
00000b1e: SWAP4
00000b1f: SWAP3
00000b20: POP
00000b21: POP
00000b22: POP
00000b23: JUMP
00000b24: JUMPDEST
00000b25: PUSH1 0x02
00000b27: PUSH1 0x01
00000b29: SLOAD
00000b2a: EQ
00000b2b: ISZERO
00000b2c: PUSH2 0x0b50
00000b2f: JUMPI
00000b30: PUSH1 0x40
00000b32: MLOAD
00000b33: PUSH3 0x461bcd
00000b37: PUSH1 0xe5
00000b39: SHL
00000b3a: DUP2
00000b3b: MSTORE
00000b3c: PUSH1 0x04
00000b3e: ADD
00000b3f: PUSH2 0x0b47
00000b42: SWAP1
00000b43: PUSH2 0x4dab
00000b46: JUMP
00000b47: JUMPDEST
00000b48: PUSH1 0x40
00000b4a: MLOAD
00000b4b: DUP1
00000b4c: SWAP2
00000b4d: SUB
00000b4e: SWAP1
00000b4f: REVERT
00000b50: JUMPDEST
00000b51: PUSH1 0x02
00000b53: PUSH1 0x01
00000b55: SSTORE
00000b56: PUSH1 0x00
00000b58: PUSH2 0x0b61
00000b5b: DUP3
00000b5c: DUP3
00000b5d: PUSH2 0x2add
00000b60: JUMP
00000b61: JUMPDEST
00000b62: SWAP1
00000b63: POP
00000b64: PUSH2 0x0b97
00000b67: PUSH1 0x01
00000b69: PUSH1 0x01
00000b6b: PUSH1 0xa0
00000b6d: SHL
00000b6e: SUB
00000b6f: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000b90: AND
00000b91: CALLER
00000b92: DUP4
00000b93: PUSH2 0x2b97
00000b96: JUMP
00000b97: JUMPDEST
00000b98: POP
00000b99: POP
00000b9a: PUSH1 0x01
00000b9c: DUP1
00000b9d: SSTORE
00000b9e: JUMP
00000b9f: JUMPDEST
00000ba0: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000012
00000bc1: SWAP1
00000bc2: JUMP
00000bc3: JUMPDEST
00000bc4: PUSH1 0xcf
00000bc6: SLOAD
00000bc7: DUP2
00000bc8: JUMP
00000bc9: JUMPDEST
00000bca: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000beb: DUP2
00000bec: JUMP
00000bed: JUMPDEST
00000bee: PUSH1 0x00
00000bf0: PUSH2 0x0a8c
00000bf3: PUSH2 0x0bfa
00000bf6: PUSH2 0x28e4
00000bf9: JUMP
00000bfa: JUMPDEST
00000bfb: DUP5
00000bfc: PUSH2 0x0b14
00000bff: DUP6
00000c00: PUSH1 0x98
00000c02: PUSH1 0x00
00000c04: PUSH2 0x0c0b
00000c07: PUSH2 0x28e4
00000c0a: JUMP
00000c0b: JUMPDEST
00000c0c: PUSH1 0x01
00000c0e: PUSH1 0x01
00000c10: PUSH1 0xa0
00000c12: SHL
00000c13: SUB
00000c14: SWAP1
00000c15: DUP2
00000c16: AND
00000c17: DUP3
00000c18: MSTORE
00000c19: PUSH1 0x20
00000c1b: DUP1
00000c1c: DUP4
00000c1d: ADD
00000c1e: SWAP4
00000c1f: SWAP1
00000c20: SWAP4
00000c21: MSTORE
00000c22: PUSH1 0x40
00000c24: SWAP2
00000c25: DUP3
00000c26: ADD
00000c27: PUSH1 0x00
00000c29: SWAP1
00000c2a: DUP2
00000c2b: KECCAK256
00000c2c: SWAP2
00000c2d: DUP13
00000c2e: AND
00000c2f: DUP2
00000c30: MSTORE
00000c31: SWAP3
00000c32: MSTORE
00000c33: SWAP1
00000c34: KECCAK256
00000c35: SLOAD
00000c36: SWAP1
00000c37: PUSH2 0x2bf2
00000c3a: JUMP
00000c3b: JUMPDEST
00000c3c: PUSH1 0xd4
00000c3e: SLOAD
00000c3f: PUSH1 0x01
00000c41: PUSH1 0x01
00000c43: PUSH1 0xa0
00000c45: SHL
00000c46: SUB
00000c47: AND
00000c48: DUP2
00000c49: JUMP
00000c4a: JUMPDEST
00000c4b: PUSH1 0x00
00000c4d: DUP1
00000c4e: PUSH2 0x0c66
00000c51: PUSH2 0x0c59
00000c54: DUP5
00000c55: PUSH2 0x0ee4
00000c58: JUMP
00000c59: JUMPDEST
00000c5a: PUSH2 0x0c61
00000c5d: PUSH2 0x1d97
00000c60: JUMP
00000c61: JUMPDEST
00000c62: PUSH2 0x2c17
00000c65: JUMP
00000c66: JUMPDEST
00000c67: POP
00000c68: SWAP1
00000c69: SWAP3
00000c6a: POP
00000c6b: POP
00000c6c: POP
00000c6d: JUMPDEST
00000c6e: SWAP2
00000c6f: SWAP1
00000c70: POP
00000c71: JUMP
00000c72: JUMPDEST
00000c73: PUSH1 0xd1
00000c75: SLOAD
00000c76: PUSH1 0x01
00000c78: PUSH1 0x01
00000c7a: PUSH1 0xa0
00000c7c: SHL
00000c7d: SUB
00000c7e: AND
00000c7f: DUP2
00000c80: JUMP
00000c81: JUMPDEST
00000c82: PUSH1 0xca
00000c84: SLOAD
00000c85: PUSH1 0x01
00000c87: PUSH1 0x01
00000c89: PUSH1 0xa0
00000c8b: SHL
00000c8c: SUB
00000c8d: AND
00000c8e: CALLER
00000c8f: EQ
00000c90: PUSH2 0x0cab
00000c93: JUMPI
00000c94: PUSH1 0x40
00000c96: MLOAD
00000c97: PUSH3 0x461bcd
00000c9b: PUSH1 0xe5
00000c9d: SHL
00000c9e: DUP2
00000c9f: MSTORE
00000ca0: PUSH1 0x04
00000ca2: ADD
00000ca3: PUSH2 0x0b47
00000ca6: SWAP1
00000ca7: PUSH2 0x493c
00000caa: JUMP
00000cab: JUMPDEST
00000cac: PUSH1 0xcf
00000cae: DUP1
00000caf: SLOAD
00000cb0: SWAP1
00000cb1: DUP3
00000cb2: SWAP1
00000cb3: SSTORE
00000cb4: PUSH1 0x40
00000cb6: MLOAD
00000cb7: PUSH32 0x0e45875b8819e52adac9df2787285bc765235018d84ab492668edfcf944628c4
00000cd8: SWAP1
00000cd9: PUSH2 0x0ce7
00000cdc: SWAP1
00000cdd: DUP4
00000cde: SWAP1
00000cdf: DUP6
00000ce0: SWAP1
00000ce1: CALLER
00000ce2: SWAP1
00000ce3: PUSH2 0x50d5
00000ce6: JUMP
00000ce7: JUMPDEST
00000ce8: PUSH1 0x40
00000cea: MLOAD
00000ceb: DUP1
00000cec: SWAP2
00000ced: SUB
00000cee: SWAP1
00000cef: LOG1
00000cf0: POP
00000cf1: POP
00000cf2: JUMP
00000cf3: JUMPDEST
00000cf4: PUSH1 0xca
00000cf6: SLOAD
00000cf7: PUSH1 0x01
00000cf9: PUSH1 0x01
00000cfb: PUSH1 0xa0
00000cfd: SHL
00000cfe: SUB
00000cff: AND
00000d00: DUP2
00000d01: JUMP
00000d02: JUMPDEST
00000d03: PUSH1 0xca
00000d05: SLOAD
00000d06: PUSH1 0x01
00000d08: PUSH1 0x01
00000d0a: PUSH1 0xa0
00000d0c: SHL
00000d0d: SUB
00000d0e: AND
00000d0f: CALLER
00000d10: EQ
00000d11: PUSH2 0x0d2c
00000d14: JUMPI
00000d15: PUSH1 0x40
00000d17: MLOAD
00000d18: PUSH3 0x461bcd
00000d1c: PUSH1 0xe5
00000d1e: SHL
00000d1f: DUP2
00000d20: MSTORE
00000d21: PUSH1 0x04
00000d23: ADD
00000d24: PUSH2 0x0b47
00000d27: SWAP1
00000d28: PUSH2 0x493c
00000d2b: JUMP
00000d2c: JUMPDEST
00000d2d: ADDRESS
00000d2e: PUSH2 0x0d3f
00000d31: PUSH2 0x0120
00000d34: DUP4
00000d35: ADD
00000d36: PUSH2 0x0100
00000d39: DUP5
00000d3a: ADD
00000d3b: PUSH2 0x3f66
00000d3e: JUMP
00000d3f: JUMPDEST
00000d40: PUSH1 0x01
00000d42: PUSH1 0x01
00000d44: PUSH1 0xa0
00000d46: SHL
00000d47: SUB
00000d48: AND
00000d49: EQ
00000d4a: PUSH2 0x0d65
00000d4d: JUMPI
00000d4e: PUSH1 0x40
00000d50: MLOAD
00000d51: PUSH3 0x461bcd
00000d55: PUSH1 0xe5
00000d57: SHL
00000d58: DUP2
00000d59: MSTORE
00000d5a: PUSH1 0x04
00000d5c: ADD
00000d5d: PUSH2 0x0b47
00000d60: SWAP1
00000d61: PUSH2 0x447c
00000d64: JUMP
00000d65: JUMPDEST
00000d66: PUSH1 0xcd
00000d68: SLOAD
00000d69: PUSH1 0x01
00000d6b: PUSH1 0x01
00000d6d: PUSH1 0xa0
00000d6f: SHL
00000d70: SUB
00000d71: AND
00000d72: PUSH2 0x0d83
00000d75: PUSH2 0x0140
00000d78: DUP4
00000d79: ADD
00000d7a: PUSH2 0x0120
00000d7d: DUP5
00000d7e: ADD
00000d7f: PUSH2 0x3f66
00000d82: JUMP
00000d83: JUMPDEST
00000d84: PUSH1 0x01
00000d86: PUSH1 0x01
00000d88: PUSH1 0xa0
00000d8a: SHL
00000d8b: SUB
00000d8c: AND
00000d8d: EQ
00000d8e: PUSH2 0x0da9
00000d91: JUMPI
00000d92: PUSH1 0x40
00000d94: MLOAD
00000d95: PUSH3 0x461bcd
00000d99: PUSH1 0xe5
00000d9b: SHL
00000d9c: DUP2
00000d9d: MSTORE
00000d9e: PUSH1 0x04
00000da0: ADD
00000da1: PUSH2 0x0b47
00000da4: SWAP1
00000da5: PUSH2 0x4699
00000da8: JUMP
00000da9: JUMPDEST
00000daa: PUSH1 0x01
00000dac: PUSH1 0x01
00000dae: PUSH1 0xa0
00000db0: SHL
00000db1: SUB
00000db2: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000dd3: AND
00000dd4: PUSH2 0x0de3
00000dd7: PUSH1 0xa0
00000dd9: DUP4
00000dda: ADD
00000ddb: PUSH1 0x80
00000ddd: DUP5
00000dde: ADD
00000ddf: PUSH2 0x3f66
00000de2: JUMP
00000de3: JUMPDEST
00000de4: PUSH1 0x01
00000de6: PUSH1 0x01
00000de8: PUSH1 0xa0
00000dea: SHL
00000deb: SUB
00000dec: AND
00000ded: EQ
00000dee: PUSH2 0x0e09
00000df1: JUMPI
00000df2: PUSH1 0x40
00000df4: MLOAD
00000df5: PUSH3 0x461bcd
00000df9: PUSH1 0xe5
00000dfb: SHL
00000dfc: DUP2
00000dfd: MSTORE
00000dfe: PUSH1 0x04
00000e00: ADD
00000e01: PUSH2 0x0b47
00000e04: SWAP1
00000e05: PUSH2 0x4c86
00000e08: JUMP
00000e09: JUMPDEST
00000e0a: PUSH1 0x40
00000e0c: MLOAD
00000e0d: PUSH4 0x67641c2f
00000e12: PUSH1 0xe0
00000e14: SHL
00000e15: DUP2
00000e16: MSTORE
00000e17: PUSH1 0x01
00000e19: PUSH1 0x01
00000e1b: PUSH1 0xa0
00000e1d: SHL
00000e1e: SUB
00000e1f: PUSH32 0x0000000000000000000000004572f2554421bd64bef1c22c8a81840e8d496bea
00000e40: AND
00000e41: SWAP1
00000e42: PUSH4 0x67641c2f
00000e47: SWAP1
00000e48: PUSH2 0x0e55
00000e4b: SWAP1
00000e4c: DUP5
00000e4d: SWAP1
00000e4e: PUSH1 0x04
00000e50: ADD
00000e51: PUSH2 0x4fc5
00000e54: JUMP
00000e55: JUMPDEST
00000e56: PUSH1 0x00
00000e58: PUSH1 0x40
00000e5a: MLOAD
00000e5b: DUP1
00000e5c: DUP4
00000e5d: SUB
00000e5e: DUP2
00000e5f: PUSH1 0x00
00000e61: DUP8
00000e62: DUP1
00000e63: EXTCODESIZE
00000e64: ISZERO
00000e65: DUP1
00000e66: ISZERO
00000e67: PUSH2 0x0e6f
00000e6a: JUMPI
00000e6b: PUSH1 0x00
00000e6d: DUP1
00000e6e: REVERT
00000e6f: JUMPDEST
00000e70: POP
00000e71: GAS
00000e72: CALL
00000e73: ISZERO
00000e74: DUP1
00000e75: ISZERO
00000e76: PUSH2 0x0e83
00000e79: JUMPI
00000e7a: RETURNDATASIZE
00000e7b: PUSH1 0x00
00000e7d: DUP1
00000e7e: RETURNDATACOPY
00000e7f: RETURNDATASIZE
00000e80: PUSH1 0x00
00000e82: REVERT
00000e83: JUMPDEST
00000e84: POP
00000e85: POP
00000e86: POP
00000e87: POP
00000e88: POP
00000e89: JUMP
00000e8a: JUMPDEST
00000e8b: PUSH2 0x0e10
00000e8e: DUP2
00000e8f: JUMP
00000e90: JUMPDEST
00000e91: PUSH32 0x00000000000000000000000000000000000000000000000000000002540be400
00000eb2: DUP2
00000eb3: JUMP
00000eb4: JUMPDEST
00000eb5: PUSH1 0xce
00000eb7: SLOAD
00000eb8: DUP2
00000eb9: JUMP
00000eba: JUMPDEST
00000ebb: PUSH1 0xd0
00000ebd: SLOAD
00000ebe: DUP2
00000ebf: JUMP
00000ec0: JUMPDEST
00000ec1: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000ee2: DUP2
00000ee3: JUMP
00000ee4: JUMPDEST
00000ee5: PUSH1 0x01
00000ee7: PUSH1 0x01
00000ee9: PUSH1 0xa0
00000eeb: SHL
00000eec: SUB
00000eed: AND
00000eee: PUSH1 0x00
00000ef0: SWAP1
00000ef1: DUP2
00000ef2: MSTORE
00000ef3: PUSH1 0x97
00000ef5: PUSH1 0x20
00000ef7: MSTORE
00000ef8: PUSH1 0x40
00000efa: SWAP1
00000efb: KECCAK256
00000efc: SLOAD
00000efd: SWAP1
00000efe: JUMP
00000eff: JUMPDEST
00000f00: PUSH2 0x0f07
00000f03: PUSH2 0x28e4
00000f06: JUMP
00000f07: JUMPDEST
00000f08: PUSH1 0x01
00000f0a: PUSH1 0x01
00000f0c: PUSH1 0xa0
00000f0e: SHL
00000f0f: SUB
00000f10: AND
00000f11: PUSH2 0x0f18
00000f14: PUSH2 0x0fdf
00000f17: JUMP
00000f18: JUMPDEST
00000f19: PUSH1 0x01
00000f1b: PUSH1 0x01
00000f1d: PUSH1 0xa0
00000f1f: SHL
00000f20: SUB
00000f21: AND
00000f22: EQ
00000f23: PUSH2 0x0f3e
00000f26: JUMPI
00000f27: PUSH1 0x40
00000f29: MLOAD
00000f2a: PUSH3 0x461bcd
00000f2e: PUSH1 0xe5
00000f30: SHL
00000f31: DUP2
00000f32: MSTORE
00000f33: PUSH1 0x04
00000f35: ADD
00000f36: PUSH2 0x0b47
00000f39: SWAP1
00000f3a: PUSH2 0x4962
00000f3d: JUMP
00000f3e: JUMPDEST
00000f3f: PUSH1 0x65
00000f41: SLOAD
00000f42: PUSH1 0x40
00000f44: MLOAD
00000f45: PUSH1 0x00
00000f47: SWAP2
00000f48: PUSH1 0x01
00000f4a: PUSH1 0x01
00000f4c: PUSH1 0xa0
00000f4e: SHL
00000f4f: SUB
00000f50: AND
00000f51: SWAP1
00000f52: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000f73: SWAP1
00000f74: DUP4
00000f75: SWAP1
00000f76: LOG3
00000f77: PUSH1 0x65
00000f79: DUP1
00000f7a: SLOAD
00000f7b: PUSH1 0x01
00000f7d: PUSH1 0x01
00000f7f: PUSH1 0xa0
00000f81: SHL
00000f82: SUB
00000f83: NOT
00000f84: AND
00000f85: SWAP1
00000f86: SSTORE
00000f87: JUMP
00000f88: JUMPDEST
00000f89: PUSH32 0x0000000000000000000000008d3d21536e025908683aec2633cec228e385c243
00000faa: DUP2
00000fab: JUMP
00000fac: JUMPDEST
00000fad: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00000fce: DUP2
00000fcf: JUMP
00000fd0: JUMPDEST
00000fd1: PUSH1 0xcd
00000fd3: SLOAD
00000fd4: PUSH1 0x01
00000fd6: PUSH1 0x01
00000fd8: PUSH1 0xa0
00000fda: SHL
00000fdb: SUB
00000fdc: AND
00000fdd: DUP2
00000fde: JUMP
00000fdf: JUMPDEST
00000fe0: PUSH1 0x65
00000fe2: SLOAD
00000fe3: PUSH1 0x01
00000fe5: PUSH1 0x01
00000fe7: PUSH1 0xa0
00000fe9: SHL
00000fea: SUB
00000feb: AND
00000fec: SWAP1
00000fed: JUMP
00000fee: JUMPDEST
00000fef: PUSH1 0x02
00000ff1: PUSH1 0x01
00000ff3: SLOAD
00000ff4: EQ
00000ff5: ISZERO
00000ff6: PUSH2 0x1011
00000ff9: JUMPI
00000ffa: PUSH1 0x40
00000ffc: MLOAD
00000ffd: PUSH3 0x461bcd
00001001: PUSH1 0xe5
00001003: SHL
00001004: DUP2
00001005: MSTORE
00001006: PUSH1 0x04
00001008: ADD
00001009: PUSH2 0x0b47
0000100c: SWAP1
0000100d: PUSH2 0x4dab
00001010: JUMP
00001011: JUMPDEST
00001012: PUSH1 0x02
00001014: PUSH1 0x01
00001016: SSTORE
00001017: PUSH1 0xd4
00001019: SLOAD
0000101a: PUSH1 0x01
0000101c: PUSH1 0x01
0000101e: PUSH1 0xa0
00001020: SHL
00001021: SUB
00001022: AND
00001023: DUP1
00001024: PUSH2 0x103f
00001027: JUMPI
00001028: PUSH1 0x40
0000102a: MLOAD
0000102b: PUSH3 0x461bcd
0000102f: PUSH1 0xe5
00001031: SHL
00001032: DUP2
00001033: MSTORE
00001034: PUSH1 0x04
00001036: ADD
00001037: PUSH2 0x0b47
0000103a: SWAP1
0000103b: PUSH2 0x49ce
0000103e: JUMP
0000103f: JUMPDEST
00001040: PUSH1 0x00
00001042: PUSH2 0x1049
00001045: PUSH2 0x2406
00001048: JUMP
00001049: JUMPDEST
0000104a: SWAP1
0000104b: POP
0000104c: PUSH1 0x00
0000104e: PUSH2 0x1056
00001051: CALLER
00001052: PUSH2 0x0ee4
00001055: JUMP
00001056: JUMPDEST
00001057: SWAP1
00001058: POP
00001059: PUSH1 0x00
0000105b: PUSH2 0x1064
0000105e: DUP4
0000105f: DUP4
00001060: PUSH2 0x2c71
00001063: JUMP
00001064: JUMPDEST
00001065: SWAP1
00001066: POP
00001067: PUSH1 0x00
00001069: DUP1
0000106a: PUSH2 0x1072
0000106d: DUP4
0000106e: PUSH2 0x17c1
00001071: JUMP
00001072: JUMPDEST
00001073: SWAP1
00001074: SWAP3
00001075: POP
00001076: SWAP1
00001077: POP
00001078: PUSH2 0x1081
0000107b: DUP3
0000107c: DUP3
0000107d: PUSH2 0x2bf2
00001080: JUMP
00001081: JUMPDEST
00001082: SWAP2
00001083: POP
00001084: PUSH32 0xd616b8856fa5febbdb06f07dd8d624380d02864619f3b796002f43bc36a4d1bc
000010a5: CALLER
000010a6: DUP8
000010a7: DUP6
000010a8: DUP6
000010a9: PUSH1 0x40
000010ab: MLOAD
000010ac: PUSH2 0x10b8
000010af: SWAP5
000010b0: SWAP4
000010b1: SWAP3
000010b2: SWAP2
000010b3: SWAP1
000010b4: PUSH2 0x424b
000010b7: JUMP
000010b8: JUMPDEST
000010b9: PUSH1 0x40
000010bb: MLOAD
000010bc: DUP1
000010bd: SWAP2
000010be: SUB
000010bf: SWAP1
000010c0: LOG1
000010c1: PUSH2 0x10ca
000010c4: CALLER
000010c5: DUP5
000010c6: PUSH2 0x2c88
000010c9: JUMP
000010ca: JUMPDEST
000010cb: PUSH2 0x10fe
000010ce: PUSH1 0x01
000010d0: PUSH1 0x01
000010d2: PUSH1 0xa0
000010d4: SHL
000010d5: SUB
000010d6: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000010f7: AND
000010f8: DUP8
000010f9: DUP5
000010fa: PUSH2 0x2d6a
000010fd: JUMP
000010fe: JUMPDEST
000010ff: PUSH1 0x40
00001101: MLOAD
00001102: PUSH4 0x36efd16f
00001107: PUSH1 0xe0
00001109: SHL
0000110a: DUP2
0000110b: MSTORE
0000110c: PUSH1 0x01
0000110e: PUSH1 0x01
00001110: PUSH1 0xa0
00001112: SHL
00001113: SUB
00001114: DUP8
00001115: AND
00001116: SWAP1
00001117: PUSH4 0x36efd16f
0000111c: SWAP1
0000111d: PUSH2 0x112c
00001120: SWAP1
00001121: DUP6
00001122: SWAP1
00001123: CALLER
00001124: SWAP1
00001125: PUSH1 0x04
00001127: ADD
00001128: PUSH2 0x50b0
0000112b: JUMP
0000112c: JUMPDEST
0000112d: PUSH1 0x00
0000112f: PUSH1 0x40
00001131: MLOAD
00001132: DUP1
00001133: DUP4
00001134: SUB
00001135: DUP2
00001136: PUSH1 0x00
00001138: DUP8
00001139: DUP1
0000113a: EXTCODESIZE
0000113b: ISZERO
0000113c: DUP1
0000113d: ISZERO
0000113e: PUSH2 0x1146
00001141: JUMPI
00001142: PUSH1 0x00
00001144: DUP1
00001145: REVERT
00001146: JUMPDEST
00001147: POP
00001148: GAS
00001149: CALL
0000114a: ISZERO
0000114b: DUP1
0000114c: ISZERO
0000114d: PUSH2 0x115a
00001150: JUMPI
00001151: RETURNDATASIZE
00001152: PUSH1 0x00
00001154: DUP1
00001155: RETURNDATACOPY
00001156: RETURNDATASIZE
00001157: PUSH1 0x00
00001159: REVERT
0000115a: JUMPDEST
0000115b: POP
0000115c: POP
0000115d: PUSH1 0x01
0000115f: DUP1
00001160: SSTORE
00001161: POP
00001162: POP
00001163: POP
00001164: POP
00001165: POP
00001166: POP
00001167: POP
00001168: POP
00001169: JUMP
0000116a: JUMPDEST
0000116b: PUSH1 0x9b
0000116d: DUP1
0000116e: SLOAD
0000116f: PUSH1 0x40
00001171: DUP1
00001172: MLOAD
00001173: PUSH1 0x20
00001175: PUSH1 0x1f
00001177: PUSH1 0x02
00001179: PUSH1 0x00
0000117b: NOT
0000117c: PUSH2 0x0100
0000117f: PUSH1 0x01
00001181: DUP9
00001182: AND
00001183: ISZERO
00001184: MUL
00001185: ADD
00001186: SWAP1
00001187: SWAP6
00001188: AND
00001189: SWAP5
0000118a: SWAP1
0000118b: SWAP5
0000118c: DIV
0000118d: SWAP4
0000118e: DUP5
0000118f: ADD
00001190: DUP2
00001191: SWAP1
00001192: DIV
00001193: DUP2
00001194: MUL
00001195: DUP3
00001196: ADD
00001197: DUP2
00001198: ADD
00001199: SWAP1
0000119a: SWAP3
0000119b: MSTORE
0000119c: DUP3
0000119d: DUP2
0000119e: MSTORE
0000119f: PUSH1 0x60
000011a1: SWAP4
000011a2: SWAP1
000011a3: SWAP3
000011a4: SWAP1
000011a5: SWAP2
000011a6: DUP4
000011a7: ADD
000011a8: DUP3
000011a9: DUP3
000011aa: DUP1
000011ab: ISZERO
000011ac: PUSH2 0x0a6d
000011af: JUMPI
000011b0: DUP1
000011b1: PUSH1 0x1f
000011b3: LT
000011b4: PUSH2 0x0a42
000011b7: JUMPI
000011b8: PUSH2 0x0100
000011bb: DUP1
000011bc: DUP4
000011bd: SLOAD
000011be: DIV
000011bf: MUL
000011c0: DUP4
000011c1: MSTORE
000011c2: SWAP2
000011c3: PUSH1 0x20
000011c5: ADD
000011c6: SWAP2
000011c7: PUSH2 0x0a6d
000011ca: JUMP
000011cb: JUMPDEST
000011cc: PUSH1 0x00
000011ce: SLOAD
000011cf: PUSH2 0x0100
000011d2: SWAP1
000011d3: DIV
000011d4: PUSH1 0xff
000011d6: AND
000011d7: DUP1
000011d8: PUSH2 0x11e4
000011db: JUMPI
000011dc: POP
000011dd: PUSH2 0x11e4
000011e0: PUSH2 0x2e2d
000011e3: JUMP
000011e4: JUMPDEST
000011e5: DUP1
000011e6: PUSH2 0x11f2
000011e9: JUMPI
000011ea: POP
000011eb: PUSH1 0x00
000011ed: SLOAD
000011ee: PUSH1 0xff
000011f0: AND
000011f1: ISZERO
000011f2: JUMPDEST
000011f3: PUSH2 0x120e
000011f6: JUMPI
000011f7: PUSH1 0x40
000011f9: MLOAD
000011fa: PUSH3 0x461bcd
000011fe: PUSH1 0xe5
00001200: SHL
00001201: DUP2
00001202: MSTORE
00001203: PUSH1 0x04
00001205: ADD
00001206: PUSH2 0x0b47
00001209: SWAP1
0000120a: PUSH2 0x486c
0000120d: JUMP
0000120e: JUMPDEST
0000120f: PUSH1 0x00
00001211: SLOAD
00001212: PUSH2 0x0100
00001215: SWAP1
00001216: DIV
00001217: PUSH1 0xff
00001219: AND
0000121a: ISZERO
0000121b: DUP1
0000121c: ISZERO
0000121d: PUSH2 0x1239
00001220: JUMPI
00001221: PUSH1 0x00
00001223: DUP1
00001224: SLOAD
00001225: PUSH1 0xff
00001227: NOT
00001228: PUSH2 0xff00
0000122b: NOT
0000122c: SWAP1
0000122d: SWAP2
0000122e: AND
0000122f: PUSH2 0x0100
00001232: OR
00001233: AND
00001234: PUSH1 0x01
00001236: OR
00001237: SWAP1
00001238: SSTORE
00001239: JUMPDEST
0000123a: PUSH1 0x01
0000123c: PUSH1 0x01
0000123e: PUSH1 0xa0
00001240: SHL
00001241: SUB
00001242: DUP9
00001243: AND
00001244: PUSH2 0x125f
00001247: JUMPI
00001248: PUSH1 0x40
0000124a: MLOAD
0000124b: PUSH3 0x461bcd
0000124f: PUSH1 0xe5
00001251: SHL
00001252: DUP2
00001253: MSTORE
00001254: PUSH1 0x04
00001256: ADD
00001257: PUSH2 0x0b47
0000125a: SWAP1
0000125b: PUSH2 0x48ba
0000125e: JUMP
0000125f: JUMPDEST
00001260: PUSH1 0x01
00001262: PUSH1 0x01
00001264: PUSH1 0xa0
00001266: SHL
00001267: SUB
00001268: DUP8
00001269: AND
0000126a: PUSH2 0x1285
0000126d: JUMPI
0000126e: PUSH1 0x40
00001270: MLOAD
00001271: PUSH3 0x461bcd
00001275: PUSH1 0xe5
00001277: SHL
00001278: DUP2
00001279: MSTORE
0000127a: PUSH1 0x04
0000127c: ADD
0000127d: PUSH2 0x0b47
00001280: SWAP1
00001281: PUSH2 0x4af6
00001284: JUMP
00001285: JUMPDEST
00001286: PUSH1 0x00
00001288: DUP7
00001289: GT
0000128a: PUSH2 0x12a5
0000128d: JUMPI
0000128e: PUSH1 0x40
00001290: MLOAD
00001291: PUSH3 0x461bcd
00001295: PUSH1 0xe5
00001297: SHL
00001298: DUP2
00001299: MSTORE
0000129a: PUSH1 0x04
0000129c: ADD
0000129d: PUSH2 0x0b47
000012a0: SWAP1
000012a1: PUSH2 0x4f06
000012a4: JUMP
000012a5: JUMPDEST
000012a6: DUP4
000012a7: PUSH2 0x12c2
000012aa: JUMPI
000012ab: PUSH1 0x40
000012ad: MLOAD
000012ae: PUSH3 0x461bcd
000012b2: PUSH1 0xe5
000012b4: SHL
000012b5: DUP2
000012b6: MSTORE
000012b7: PUSH1 0x04
000012b9: ADD
000012ba: PUSH2 0x0b47
000012bd: SWAP1
000012be: PUSH2 0x466f
000012c1: JUMP
000012c2: JUMPDEST
000012c3: DUP2
000012c4: PUSH2 0x12df
000012c7: JUMPI
000012c8: PUSH1 0x40
000012ca: MLOAD
000012cb: PUSH3 0x461bcd
000012cf: PUSH1 0xe5
000012d1: SHL
000012d2: DUP2
000012d3: MSTORE
000012d4: PUSH1 0x04
000012d6: ADD
000012d7: PUSH2 0x0b47
000012da: SWAP1
000012db: PUSH2 0x4de2
000012de: JUMP
000012df: JUMPDEST
000012e0: PUSH2 0x12e7
000012e3: PUSH2 0x2e3e
000012e6: JUMP
000012e7: JUMPDEST
000012e8: PUSH2 0x135a
000012eb: DUP6
000012ec: DUP6
000012ed: DUP1
000012ee: DUP1
000012ef: PUSH1 0x1f
000012f1: ADD
000012f2: PUSH1 0x20
000012f4: DUP1
000012f5: SWAP2
000012f6: DIV
000012f7: MUL
000012f8: PUSH1 0x20
000012fa: ADD
000012fb: PUSH1 0x40
000012fd: MLOAD
000012fe: SWAP1
000012ff: DUP2
00001300: ADD
00001301: PUSH1 0x40
00001303: MSTORE
00001304: DUP1
00001305: SWAP4
00001306: SWAP3
00001307: SWAP2
00001308: SWAP1
00001309: DUP2
0000130a: DUP2
0000130b: MSTORE
0000130c: PUSH1 0x20
0000130e: ADD
0000130f: DUP4
00001310: DUP4
00001311: DUP1
00001312: DUP3
00001313: DUP5
00001314: CALLDATACOPY
00001315: PUSH1 0x00
00001317: SWAP3
00001318: ADD
00001319: SWAP2
0000131a: SWAP1
0000131b: SWAP2
0000131c: MSTORE
0000131d: POP
0000131e: POP
0000131f: PUSH1 0x40
00001321: DUP1
00001322: MLOAD
00001323: PUSH1 0x20
00001325: PUSH1 0x1f
00001327: DUP10
00001328: ADD
00001329: DUP2
0000132a: SWAP1
0000132b: DIV
0000132c: DUP2
0000132d: MUL
0000132e: DUP3
0000132f: ADD
00001330: DUP2
00001331: ADD
00001332: SWAP1
00001333: SWAP3
00001334: MSTORE
00001335: DUP8
00001336: DUP2
00001337: MSTORE
00001338: SWAP3
00001339: POP
0000133a: DUP8
0000133b: SWAP2
0000133c: POP
0000133d: DUP7
0000133e: SWAP1
0000133f: DUP2
00001340: SWAP1
00001341: DUP5
00001342: ADD
00001343: DUP4
00001344: DUP3
00001345: DUP1
00001346: DUP3
00001347: DUP5
00001348: CALLDATACOPY
00001349: PUSH1 0x00
0000134b: SWAP3
0000134c: ADD
0000134d: SWAP2
0000134e: SWAP1
0000134f: SWAP2
00001350: MSTORE
00001351: POP
00001352: PUSH2 0x2ec9
00001355: SWAP3
00001356: POP
00001357: POP
00001358: POP
00001359: JUMP
0000135a: JUMPDEST
0000135b: PUSH2 0x1362
0000135e: PUSH2 0x2f5f
00001361: JUMP
00001362: JUMPDEST
00001363: PUSH2 0x136b
00001366: DUP9
00001367: PUSH2 0x21e2
0000136a: JUMP
0000136b: JUMPDEST
0000136c: PUSH1 0xcf
0000136e: DUP7
0000136f: SWAP1
00001370: SSTORE
00001371: PUSH7 0x11c37937e08000
00001379: PUSH1 0xd0
0000137b: SSTORE
0000137c: PUSH1 0xd1
0000137e: DUP1
0000137f: SLOAD
00001380: PUSH1 0x01
00001382: PUSH1 0x01
00001384: PUSH1 0xa0
00001386: SHL
00001387: SUB
00001388: NOT
00001389: AND
0000138a: PUSH1 0x01
0000138c: PUSH1 0x01
0000138e: PUSH1 0xa0
00001390: SHL
00001391: SUB
00001392: DUP10
00001393: AND
00001394: OR
00001395: SWAP1
00001396: SSTORE
00001397: DUP1
00001398: ISZERO
00001399: PUSH2 0x13a8
0000139c: JUMPI
0000139d: PUSH1 0x00
0000139f: DUP1
000013a0: SLOAD
000013a1: PUSH2 0xff00
000013a4: NOT
000013a5: AND
000013a6: SWAP1
000013a7: SSTORE
000013a8: JUMPDEST
000013a9: POP
000013aa: POP
000013ab: POP
000013ac: POP
000013ad: POP
000013ae: POP
000013af: POP
000013b0: POP
000013b1: JUMP
000013b2: JUMPDEST
000013b3: PUSH2 0x13ba
000013b6: PUSH2 0x28e4
000013b9: JUMP
000013ba: JUMPDEST
000013bb: PUSH1 0x01
000013bd: PUSH1 0x01
000013bf: PUSH1 0xa0
000013c1: SHL
000013c2: SUB
000013c3: AND
000013c4: PUSH2 0x13cb
000013c7: PUSH2 0x0fdf
000013ca: JUMP
000013cb: JUMPDEST
000013cc: PUSH1 0x01
000013ce: PUSH1 0x01
000013d0: PUSH1 0xa0
000013d2: SHL
000013d3: SUB
000013d4: AND
000013d5: EQ
000013d6: PUSH2 0x13f1
000013d9: JUMPI
000013da: PUSH1 0x40
000013dc: MLOAD
000013dd: PUSH3 0x461bcd
000013e1: PUSH1 0xe5
000013e3: SHL
000013e4: DUP2
000013e5: MSTORE
000013e6: PUSH1 0x04
000013e8: ADD
000013e9: PUSH2 0x0b47
000013ec: SWAP1
000013ed: PUSH2 0x4962
000013f0: JUMP
000013f1: JUMPDEST
000013f2: PUSH1 0x01
000013f4: PUSH1 0x01
000013f6: PUSH1 0xa0
000013f8: SHL
000013f9: SUB
000013fa: DUP2
000013fb: AND
000013fc: PUSH2 0x1417
000013ff: JUMPI
00001400: PUSH1 0x40
00001402: MLOAD
00001403: PUSH3 0x461bcd
00001407: PUSH1 0xe5
00001409: SHL
0000140a: DUP2
0000140b: MSTORE
0000140c: PUSH1 0x04
0000140e: ADD
0000140f: PUSH2 0x0b47
00001412: SWAP1
00001413: PUSH2 0x43a9
00001416: JUMP
00001417: JUMPDEST
00001418: PUSH1 0xd4
0000141a: DUP1
0000141b: SLOAD
0000141c: PUSH1 0x01
0000141e: PUSH1 0x01
00001420: PUSH1 0xa0
00001422: SHL
00001423: SUB
00001424: NOT
00001425: AND
00001426: PUSH1 0x01
00001428: PUSH1 0x01
0000142a: PUSH1 0xa0
0000142c: SHL
0000142d: SUB
0000142e: DUP4
0000142f: AND
00001430: OR
00001431: SWAP1
00001432: SSTORE
00001433: PUSH1 0x40
00001435: MLOAD
00001436: PUSH32 0x1f7dd14c4cfe82fd374c1bb5dfc3dd254b087a032c9dcfd13aeefa9f6689d869
00001457: SWAP1
00001458: PUSH2 0x1462
0000145b: SWAP1
0000145c: DUP4
0000145d: SWAP1
0000145e: PUSH2 0x4237
00001461: JUMP
00001462: JUMPDEST
00001463: PUSH1 0x40
00001465: MLOAD
00001466: DUP1
00001467: SWAP2
00001468: SUB
00001469: SWAP1
0000146a: LOG1
0000146b: POP
0000146c: JUMP
0000146d: JUMPDEST
0000146e: PUSH1 0xcc
00001470: SLOAD
00001471: DUP2
00001472: JUMP
00001473: JUMPDEST
00001474: PUSH1 0xcb
00001476: SLOAD
00001477: PUSH1 0x01
00001479: PUSH1 0x01
0000147b: PUSH1 0xa0
0000147d: SHL
0000147e: SUB
0000147f: AND
00001480: DUP2
00001481: JUMP
00001482: JUMPDEST
00001483: PUSH1 0x00
00001485: PUSH2 0x0a8c
00001488: PUSH2 0x148f
0000148b: PUSH2 0x28e4
0000148e: JUMP
0000148f: JUMPDEST
00001490: DUP5
00001491: PUSH2 0x0b14
00001494: DUP6
00001495: PUSH1 0x40
00001497: MLOAD
00001498: DUP1
00001499: PUSH1 0x60
0000149b: ADD
0000149c: PUSH1 0x40
0000149e: MSTORE
0000149f: DUP1
000014a0: PUSH1 0x25
000014a2: DUP2
000014a3: MSTORE
000014a4: PUSH1 0x20
000014a6: ADD
000014a7: PUSH2 0x51ca
000014aa: PUSH1 0x25
000014ac: SWAP2
000014ad: CODECOPY
000014ae: PUSH1 0x98
000014b0: PUSH1 0x00
000014b2: PUSH2 0x14b9
000014b5: PUSH2 0x28e4
000014b8: JUMP
000014b9: JUMPDEST
000014ba: PUSH1 0x01
000014bc: PUSH1 0x01
000014be: PUSH1 0xa0
000014c0: SHL
000014c1: SUB
000014c2: SWAP1
000014c3: DUP2
000014c4: AND
000014c5: DUP3
000014c6: MSTORE
000014c7: PUSH1 0x20
000014c9: DUP1
000014ca: DUP4
000014cb: ADD
000014cc: SWAP4
000014cd: SWAP1
000014ce: SWAP4
000014cf: MSTORE
000014d0: PUSH1 0x40
000014d2: SWAP2
000014d3: DUP3
000014d4: ADD
000014d5: PUSH1 0x00
000014d7: SWAP1
000014d8: DUP2
000014d9: KECCAK256
000014da: SWAP2
000014db: DUP14
000014dc: AND
000014dd: DUP2
000014de: MSTORE
000014df: SWAP3
000014e0: MSTORE
000014e1: SWAP1
000014e2: KECCAK256
000014e3: SLOAD
000014e4: SWAP2
000014e5: SWAP1
000014e6: PUSH2 0x2ab1
000014e9: JUMP
000014ea: JUMPDEST
000014eb: PUSH1 0xcd
000014ed: SLOAD
000014ee: PUSH1 0x00
000014f0: SWAP1
000014f1: PUSH1 0x01
000014f3: PUSH1 0x01
000014f5: PUSH1 0xa0
000014f7: SHL
000014f8: SUB
000014f9: AND
000014fa: DUP1
000014fb: PUSH2 0x1508
000014fe: JUMPI
000014ff: PUSH1 0x00
00001501: SWAP2
00001502: POP
00001503: POP
00001504: PUSH2 0x0a75
00001507: JUMP
00001508: JUMPDEST
00001509: PUSH1 0xcd
0000150b: SLOAD
0000150c: PUSH1 0x40
0000150e: DUP1
0000150f: MLOAD
00001510: PUSH4 0x56f37155
00001515: PUSH1 0xe1
00001517: SHL
00001518: DUP2
00001519: MSTORE
0000151a: SWAP1
0000151b: MLOAD
0000151c: PUSH1 0x01
0000151e: PUSH1 0x01
00001520: PUSH1 0xa0
00001522: SHL
00001523: SUB
00001524: SWAP1
00001525: SWAP3
00001526: AND
00001527: SWAP2
00001528: DUP3
00001529: SWAP2
0000152a: PUSH4 0xade6e2aa
0000152f: SWAP2
00001530: PUSH1 0x04
00001532: DUP1
00001533: DUP4
00001534: ADD
00001535: SWAP3
00001536: PUSH1 0x20
00001538: SWAP3
00001539: SWAP2
0000153a: SWAP1
0000153b: DUP3
0000153c: SWAP1
0000153d: SUB
0000153e: ADD
0000153f: DUP2
00001540: DUP7
00001541: DUP1
00001542: EXTCODESIZE
00001543: ISZERO
00001544: DUP1
00001545: ISZERO
00001546: PUSH2 0x154e
00001549: JUMPI
0000154a: PUSH1 0x00
0000154c: DUP1
0000154d: REVERT
0000154e: JUMPDEST
0000154f: POP
00001550: GAS
00001551: STATICCALL
00001552: ISZERO
00001553: DUP1
00001554: ISZERO
00001555: PUSH2 0x1562
00001558: JUMPI
00001559: RETURNDATASIZE
0000155a: PUSH1 0x00
0000155c: DUP1
0000155d: RETURNDATACOPY
0000155e: RETURNDATASIZE
0000155f: PUSH1 0x00
00001561: REVERT
00001562: JUMPDEST
00001563: POP
00001564: POP
00001565: POP
00001566: POP
00001567: PUSH1 0x40
00001569: MLOAD
0000156a: RETURNDATASIZE
0000156b: PUSH1 0x1f
0000156d: NOT
0000156e: PUSH1 0x1f
00001570: DUP3
00001571: ADD
00001572: AND
00001573: DUP3
00001574: ADD
00001575: DUP1
00001576: PUSH1 0x40
00001578: MSTORE
00001579: POP
0000157a: DUP2
0000157b: ADD
0000157c: SWAP1
0000157d: PUSH2 0x1586
00001580: SWAP2
00001581: SWAP1
00001582: PUSH2 0x4158
00001585: JUMP
00001586: JUMPDEST
00001587: SWAP3
00001588: POP
00001589: POP
0000158a: POP
0000158b: SWAP1
0000158c: JUMP
0000158d: JUMPDEST
0000158e: PUSH1 0x00
00001590: PUSH2 0x0a8c
00001593: PUSH2 0x159a
00001596: PUSH2 0x28e4
00001599: JUMP
0000159a: JUMPDEST
0000159b: DUP5
0000159c: DUP5
0000159d: PUSH2 0x299c
000015a0: JUMP
000015a1: JUMPDEST
000015a2: PUSH1 0x00
000015a4: DUP1
000015a5: PUSH2 0x15b8
000015a8: PUSH2 0x15af
000015ab: PUSH2 0x1d97
000015ae: JUMP
000015af: JUMPDEST
000015b0: PUSH1 0xce
000015b2: SLOAD
000015b3: SWAP1
000015b4: PUSH2 0x2bf2
000015b7: JUMP
000015b8: JUMPDEST
000015b9: SWAP1
000015ba: POP
000015bb: PUSH2 0x0b1d
000015be: DUP2
000015bf: PUSH2 0x15d0
000015c2: PUSH2 0x15c9
000015c5: PUSH2 0x0a96
000015c8: JUMP
000015c9: JUMPDEST
000015ca: DUP7
000015cb: SWAP1
000015cc: PUSH2 0x2fdd
000015cf: JUMP
000015d0: JUMPDEST
000015d1: SWAP1
000015d2: PUSH2 0x3017
000015d5: JUMP
000015d6: JUMPDEST
000015d7: PUSH1 0xca
000015d9: SLOAD
000015da: PUSH1 0x01
000015dc: PUSH1 0x01
000015de: PUSH1 0xa0
000015e0: SHL
000015e1: SUB
000015e2: AND
000015e3: CALLER
000015e4: EQ
000015e5: PUSH2 0x1600
000015e8: JUMPI
000015e9: PUSH1 0x40
000015eb: MLOAD
000015ec: PUSH3 0x461bcd
000015f0: PUSH1 0xe5
000015f2: SHL
000015f3: DUP2
000015f4: MSTORE
000015f5: PUSH1 0x04
000015f7: ADD
000015f8: PUSH2 0x0b47
000015fb: SWAP1
000015fc: PUSH2 0x493c
000015ff: JUMP
00001600: JUMPDEST
00001601: PUSH1 0x00
00001603: DUP2
00001604: GT
00001605: PUSH2 0x1620
00001608: JUMPI
00001609: PUSH1 0x40
0000160b: MLOAD
0000160c: PUSH3 0x461bcd
00001610: PUSH1 0xe5
00001612: SHL
00001613: DUP2
00001614: MSTORE
00001615: PUSH1 0x04
00001617: ADD
00001618: PUSH2 0x0b47
0000161b: SWAP1
0000161c: PUSH2 0x4a1b
0000161f: JUMP
00001620: JUMPDEST
00001621: PUSH8 0x0429d069189e0000
0000162a: DUP2
0000162b: LT
0000162c: PUSH2 0x1647
0000162f: JUMPI
00001630: PUSH1 0x40
00001632: MLOAD
00001633: PUSH3 0x461bcd
00001637: PUSH1 0xe5
00001639: SHL
0000163a: DUP2
0000163b: MSTORE
0000163c: PUSH1 0x04
0000163e: ADD
0000163f: PUSH2 0x0b47
00001642: SWAP1
00001643: PUSH2 0x4cbd
00001646: JUMP
00001647: JUMPDEST
00001648: PUSH1 0xd0
0000164a: SLOAD
0000164b: PUSH1 0x40
0000164d: MLOAD
0000164e: PUSH32 0x28a572c8c759d40c2d26dcdaaefd9650e9e37ff11ee147ce0f645cd7664048cb
0000166f: SWAP1
00001670: PUSH2 0x167c
00001673: SWAP1
00001674: DUP4
00001675: SWAP1
00001676: DUP6
00001677: SWAP1
00001678: PUSH2 0x50c7
0000167b: JUMP
0000167c: JUMPDEST
0000167d: PUSH1 0x40
0000167f: MLOAD
00001680: DUP1
00001681: SWAP2
00001682: SUB
00001683: SWAP1
00001684: LOG1
00001685: POP
00001686: PUSH1 0xd0
00001688: SSTORE
00001689: JUMP
0000168a: JUMPDEST
0000168b: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000016ac: DUP2
000016ad: JUMP
000016ae: JUMPDEST
000016af: PUSH1 0x00
000016b1: PUSH2 0x174f
000016b4: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000016d5: PUSH1 0x01
000016d7: PUSH1 0x01
000016d9: PUSH1 0xa0
000016db: SHL
000016dc: SUB
000016dd: AND
000016de: PUSH4 0x70a08231
000016e3: ADDRESS
000016e4: PUSH1 0x40
000016e6: MLOAD
000016e7: DUP3
000016e8: PUSH4 0xffffffff
000016ed: AND
000016ee: PUSH1 0xe0
000016f0: SHL
000016f1: DUP2
000016f2: MSTORE
000016f3: PUSH1 0x04
000016f5: ADD
000016f6: PUSH2 0x16ff
000016f9: SWAP2
000016fa: SWAP1
000016fb: PUSH2 0x4237
000016fe: JUMP
000016ff: JUMPDEST
00001700: PUSH1 0x20
00001702: PUSH1 0x40
00001704: MLOAD
00001705: DUP1
00001706: DUP4
00001707: SUB
00001708: DUP2
00001709: DUP7
0000170a: DUP1
0000170b: EXTCODESIZE
0000170c: ISZERO
0000170d: DUP1
0000170e: ISZERO
0000170f: PUSH2 0x1717
00001712: JUMPI
00001713: PUSH1 0x00
00001715: DUP1
00001716: REVERT
00001717: JUMPDEST
00001718: POP
00001719: GAS
0000171a: STATICCALL
0000171b: ISZERO
0000171c: DUP1
0000171d: ISZERO
0000171e: PUSH2 0x172b
00001721: JUMPI
00001722: RETURNDATASIZE
00001723: PUSH1 0x00
00001725: DUP1
00001726: RETURNDATACOPY
00001727: RETURNDATASIZE
00001728: PUSH1 0x00
0000172a: REVERT
0000172b: JUMPDEST
0000172c: POP
0000172d: POP
0000172e: POP
0000172f: POP
00001730: PUSH1 0x40
00001732: MLOAD
00001733: RETURNDATASIZE
00001734: PUSH1 0x1f
00001736: NOT
00001737: PUSH1 0x1f
00001739: DUP3
0000173a: ADD
0000173b: AND
0000173c: DUP3
0000173d: ADD
0000173e: DUP1
0000173f: PUSH1 0x40
00001741: MSTORE
00001742: POP
00001743: DUP2
00001744: ADD
00001745: SWAP1
00001746: PUSH2 0x15af
00001749: SWAP2
0000174a: SWAP1
0000174b: PUSH2 0x4158
0000174e: JUMP
0000174f: JUMPDEST
00001750: SWAP1
00001751: POP
00001752: SWAP1
00001753: JUMP
00001754: JUMPDEST
00001755: PUSH1 0x02
00001757: PUSH1 0x01
00001759: SLOAD
0000175a: EQ
0000175b: ISZERO
0000175c: PUSH2 0x1777
0000175f: JUMPI
00001760: PUSH1 0x40
00001762: MLOAD
00001763: PUSH3 0x461bcd
00001767: PUSH1 0xe5
00001769: SHL
0000176a: DUP2
0000176b: MSTORE
0000176c: PUSH1 0x04
0000176e: ADD
0000176f: PUSH2 0x0b47
00001772: SWAP1
00001773: PUSH2 0x4dab
00001776: JUMP
00001777: JUMPDEST
00001778: PUSH1 0x02
0000177a: PUSH1 0x01
0000177c: SSTORE
0000177d: PUSH2 0x17b1
00001780: PUSH1 0x01
00001782: PUSH1 0x01
00001784: PUSH1 0xa0
00001786: SHL
00001787: SUB
00001788: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000017a9: AND
000017aa: CALLER
000017ab: ADDRESS
000017ac: DUP5
000017ad: PUSH2 0x3049
000017b0: JUMP
000017b1: JUMPDEST
000017b2: PUSH2 0x17ba
000017b5: DUP2
000017b6: PUSH2 0x3070
000017b9: JUMP
000017ba: JUMPDEST
000017bb: POP
000017bc: PUSH1 0x01
000017be: DUP1
000017bf: SSTORE
000017c0: JUMP
000017c1: JUMPDEST
000017c2: PUSH1 0x00
000017c4: DUP1
000017c5: PUSH1 0x00
000017c7: PUSH2 0x17ce
000017ca: PUSH2 0x1d97
000017cd: JUMP
000017ce: JUMPDEST
000017cf: SWAP1
000017d0: POP
000017d1: PUSH1 0x00
000017d3: DUP1
000017d4: PUSH1 0x00
000017d6: PUSH2 0x17df
000017d9: DUP8
000017da: DUP6
000017db: PUSH2 0x2c17
000017de: JUMP
000017df: JUMPDEST
000017e0: SWAP3
000017e1: POP
000017e2: SWAP3
000017e3: POP
000017e4: SWAP3
000017e5: POP
000017e6: DUP4
000017e7: DUP4
000017e8: GT
000017e9: ISZERO
000017ea: PUSH2 0x1805
000017ed: JUMPI
000017ee: PUSH1 0x40
000017f0: MLOAD
000017f1: PUSH3 0x461bcd
000017f5: PUSH1 0xe5
000017f7: SHL
000017f8: DUP2
000017f9: MSTORE
000017fa: PUSH1 0x04
000017fc: ADD
000017fd: PUSH2 0x0b47
00001800: SWAP1
00001801: PUSH2 0x4e64
00001804: JUMP
00001805: JUMPDEST
00001806: PUSH32 0x00000000000000000000000000000000000000000000000000000002540be400
00001827: DUP2
00001828: LT
00001829: ISZERO
0000182a: PUSH2 0x1845
0000182d: JUMPI
0000182e: PUSH1 0x40
00001830: MLOAD
00001831: PUSH3 0x461bcd
00001835: PUSH1 0xe5
00001837: SHL
00001838: DUP2
00001839: MSTORE
0000183a: PUSH1 0x04
0000183c: ADD
0000183d: PUSH2 0x0b47
00001840: SWAP1
00001841: PUSH2 0x4445
00001844: JUMP
00001845: JUMPDEST
00001846: PUSH32 0x00000000000000000000000000000000000000000000000000000002540be400
00001867: DUP3
00001868: LT
00001869: ISZERO
0000186a: PUSH2 0x1885
0000186d: JUMPI
0000186e: PUSH1 0x40
00001870: MLOAD
00001871: PUSH3 0x461bcd
00001875: PUSH1 0xe5
00001877: SHL
00001878: DUP2
00001879: MSTORE
0000187a: PUSH1 0x04
0000187c: ADD
0000187d: PUSH2 0x0b47
00001880: SWAP1
00001881: PUSH2 0x4c18
00001884: JUMP
00001885: JUMPDEST
00001886: PUSH2 0x1891
00001889: DUP4
0000188a: PUSH1 0xd0
0000188c: SLOAD
0000188d: PUSH2 0x31ac
00001890: JUMP
00001891: JUMPDEST
00001892: SWAP5
00001893: POP
00001894: PUSH2 0x189d
00001897: DUP4
00001898: DUP7
00001899: PUSH2 0x31d9
0000189c: JUMP
0000189d: JUMPDEST
0000189e: SWAP6
0000189f: POP
000018a0: POP
000018a1: POP
000018a2: POP
000018a3: POP
000018a4: SWAP2
000018a5: POP
000018a6: SWAP2
000018a7: JUMP
000018a8: JUMPDEST
000018a9: PUSH1 0xca
000018ab: SLOAD
000018ac: PUSH1 0x01
000018ae: PUSH1 0x01
000018b0: PUSH1 0xa0
000018b2: SHL
000018b3: SUB
000018b4: AND
000018b5: CALLER
000018b6: EQ
000018b7: PUSH2 0x18d2
000018ba: JUMPI
000018bb: PUSH1 0x40
000018bd: MLOAD
000018be: PUSH3 0x461bcd
000018c2: PUSH1 0xe5
000018c4: SHL
000018c5: DUP2
000018c6: MSTORE
000018c7: PUSH1 0x04
000018c9: ADD
000018ca: PUSH2 0x0b47
000018cd: SWAP1
000018ce: PUSH2 0x493c
000018d1: JUMP
000018d2: JUMPDEST
000018d3: PUSH1 0x02
000018d5: PUSH1 0x01
000018d7: SLOAD
000018d8: EQ
000018d9: ISZERO
000018da: PUSH2 0x18f5
000018dd: JUMPI
000018de: PUSH1 0x40
000018e0: MLOAD
000018e1: PUSH3 0x461bcd
000018e5: PUSH1 0xe5
000018e7: SHL
000018e8: DUP2
000018e9: MSTORE
000018ea: PUSH1 0x04
000018ec: ADD
000018ed: PUSH2 0x0b47
000018f0: SWAP1
000018f1: PUSH2 0x4dab
000018f4: JUMP
000018f5: JUMPDEST
000018f6: PUSH1 0x02
000018f8: PUSH1 0x01
000018fa: SSTORE
000018fb: PUSH1 0xcc
000018fd: SLOAD
000018fe: TIMESTAMP
000018ff: LT
00001900: ISZERO
00001901: PUSH2 0x191c
00001904: JUMPI
00001905: PUSH1 0x40
00001907: MLOAD
00001908: PUSH3 0x461bcd
0000190c: PUSH1 0xe5
0000190e: SHL
0000190f: DUP2
00001910: MSTORE
00001911: PUSH1 0x04
00001913: ADD
00001914: PUSH2 0x0b47
00001917: SWAP1
00001918: PUSH2 0x4997
0000191b: JUMP
0000191c: JUMPDEST
0000191d: PUSH1 0xcb
0000191f: SLOAD
00001920: PUSH1 0x01
00001922: PUSH1 0x01
00001924: PUSH1 0xa0
00001926: SHL
00001927: SUB
00001928: AND
00001929: DUP1
0000192a: PUSH2 0x1945
0000192d: JUMPI
0000192e: PUSH1 0x40
00001930: MLOAD
00001931: PUSH3 0x461bcd
00001935: PUSH1 0xe5
00001937: SHL
00001938: DUP2
00001939: MSTORE
0000193a: PUSH1 0x04
0000193c: ADD
0000193d: PUSH2 0x0b47
00001940: SWAP1
00001941: PUSH2 0x49f2
00001944: JUMP
00001945: JUMPDEST
00001946: PUSH1 0xcd
00001948: DUP1
00001949: SLOAD
0000194a: PUSH1 0x01
0000194c: PUSH1 0x01
0000194e: PUSH1 0xa0
00001950: SHL
00001951: SUB
00001952: DUP4
00001953: AND
00001954: PUSH1 0x01
00001956: PUSH1 0x01
00001958: PUSH1 0xa0
0000195a: SHL
0000195b: SUB
0000195c: NOT
0000195d: SWAP2
0000195e: DUP3
0000195f: AND
00001960: OR
00001961: SWAP1
00001962: SWAP2
00001963: SSTORE
00001964: PUSH1 0xcb
00001966: DUP1
00001967: SLOAD
00001968: SWAP1
00001969: SWAP2
0000196a: AND
0000196b: SWAP1
0000196c: SSTORE
0000196d: PUSH1 0x00
0000196f: PUSH2 0x1976
00001972: PUSH2 0x1d97
00001975: JUMP
00001976: JUMPDEST
00001977: SWAP1
00001978: POP
00001979: PUSH1 0x00
0000197b: PUSH2 0x198c
0000197e: DUP3
0000197f: PUSH8 0x0c7d713b49da0000
00001988: PUSH2 0x31ac
0000198b: JUMP
0000198c: JUMPDEST
0000198d: PUSH1 0xce
0000198f: DUP2
00001990: SWAP1
00001991: SSTORE
00001992: SWAP1
00001993: POP
00001994: DUP3
00001995: PUSH2 0x199c
00001998: PUSH2 0x3e2f
0000199b: JUMP
0000199c: JUMPDEST
0000199d: PUSH1 0x40
0000199f: MLOAD
000019a0: DUP1
000019a1: PUSH1 0xe0
000019a3: ADD
000019a4: PUSH1 0x40
000019a6: MSTORE
000019a7: DUP1
000019a8: DUP4
000019a9: PUSH1 0x01
000019ab: PUSH1 0x01
000019ad: PUSH1 0xa0
000019af: SHL
000019b0: SUB
000019b1: AND
000019b2: PUSH4 0x7158da7c
000019b7: PUSH1 0x40
000019b9: MLOAD
000019ba: DUP2
000019bb: PUSH4 0xffffffff
000019c0: AND
000019c1: PUSH1 0xe0
000019c3: SHL
000019c4: DUP2
000019c5: MSTORE
000019c6: PUSH1 0x04
000019c8: ADD
000019c9: PUSH1 0x20
000019cb: PUSH1 0x40
000019cd: MLOAD
000019ce: DUP1
000019cf: DUP4
000019d0: SUB
000019d1: DUP2
000019d2: DUP7
000019d3: DUP1
000019d4: EXTCODESIZE
000019d5: ISZERO
000019d6: DUP1
000019d7: ISZERO
000019d8: PUSH2 0x19e0
000019db: JUMPI
000019dc: PUSH1 0x00
000019de: DUP1
000019df: REVERT
000019e0: JUMPDEST
000019e1: POP
000019e2: GAS
000019e3: STATICCALL
000019e4: ISZERO
000019e5: DUP1
000019e6: ISZERO
000019e7: PUSH2 0x19f4
000019ea: JUMPI
000019eb: RETURNDATASIZE
000019ec: PUSH1 0x00
000019ee: DUP1
000019ef: RETURNDATACOPY
000019f0: RETURNDATASIZE
000019f1: PUSH1 0x00
000019f3: REVERT
000019f4: JUMPDEST
000019f5: POP
000019f6: POP
000019f7: POP
000019f8: POP
000019f9: PUSH1 0x40
000019fb: MLOAD
000019fc: RETURNDATASIZE
000019fd: PUSH1 0x1f
000019ff: NOT
00001a00: PUSH1 0x1f
00001a02: DUP3
00001a03: ADD
00001a04: AND
00001a05: DUP3
00001a06: ADD
00001a07: DUP1
00001a08: PUSH1 0x40
00001a0a: MSTORE
00001a0b: POP
00001a0c: DUP2
00001a0d: ADD
00001a0e: SWAP1
00001a0f: PUSH2 0x1a18
00001a12: SWAP2
00001a13: SWAP1
00001a14: PUSH2 0x3f82
00001a17: JUMP
00001a18: JUMPDEST
00001a19: PUSH1 0x01
00001a1b: PUSH1 0x01
00001a1d: PUSH1 0xa0
00001a1f: SHL
00001a20: SUB
00001a21: AND
00001a22: DUP2
00001a23: MSTORE
00001a24: PUSH1 0x20
00001a26: ADD
00001a27: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00001a48: PUSH1 0x01
00001a4a: PUSH1 0x01
00001a4c: PUSH1 0xa0
00001a4e: SHL
00001a4f: SUB
00001a50: AND
00001a51: DUP2
00001a52: MSTORE
00001a53: PUSH1 0x20
00001a55: ADD
00001a56: DUP4
00001a57: PUSH1 0x01
00001a59: PUSH1 0x01
00001a5b: PUSH1 0xa0
00001a5d: SHL
00001a5e: SUB
00001a5f: AND
00001a60: PUSH4 0xaabaecd6
00001a65: PUSH1 0x40
00001a67: MLOAD
00001a68: DUP2
00001a69: PUSH4 0xffffffff
00001a6e: AND
00001a6f: PUSH1 0xe0
00001a71: SHL
00001a72: DUP2
00001a73: MSTORE
00001a74: PUSH1 0x04
00001a76: ADD
00001a77: PUSH1 0x20
00001a79: PUSH1 0x40
00001a7b: MLOAD
00001a7c: DUP1
00001a7d: DUP4
00001a7e: SUB
00001a7f: DUP2
00001a80: DUP7
00001a81: DUP1
00001a82: EXTCODESIZE
00001a83: ISZERO
00001a84: DUP1
00001a85: ISZERO
00001a86: PUSH2 0x1a8e
00001a89: JUMPI
00001a8a: PUSH1 0x00
00001a8c: DUP1
00001a8d: REVERT
00001a8e: JUMPDEST
00001a8f: POP
00001a90: GAS
00001a91: STATICCALL
00001a92: ISZERO
00001a93: DUP1
00001a94: ISZERO
00001a95: PUSH2 0x1aa2
00001a98: JUMPI
00001a99: RETURNDATASIZE
00001a9a: PUSH1 0x00
00001a9c: DUP1
00001a9d: RETURNDATACOPY
00001a9e: RETURNDATASIZE
00001a9f: PUSH1 0x00
00001aa1: REVERT
00001aa2: JUMPDEST
00001aa3: POP
00001aa4: POP
00001aa5: POP
00001aa6: POP
00001aa7: PUSH1 0x40
00001aa9: MLOAD
00001aaa: RETURNDATASIZE
00001aab: PUSH1 0x1f
00001aad: NOT
00001aae: PUSH1 0x1f
00001ab0: DUP3
00001ab1: ADD
00001ab2: AND
00001ab3: DUP3
00001ab4: ADD
00001ab5: DUP1
00001ab6: PUSH1 0x40
00001ab8: MSTORE
00001ab9: POP
00001aba: DUP2
00001abb: ADD
00001abc: SWAP1
00001abd: PUSH2 0x1ac6
00001ac0: SWAP2
00001ac1: SWAP1
00001ac2: PUSH2 0x3f82
00001ac5: JUMP
00001ac6: JUMPDEST
00001ac7: PUSH1 0x01
00001ac9: PUSH1 0x01
00001acb: PUSH1 0xa0
00001acd: SHL
00001ace: SUB
00001acf: AND
00001ad0: DUP2
00001ad1: MSTORE
00001ad2: PUSH1 0x20
00001ad4: ADD
00001ad5: DUP4
00001ad6: PUSH1 0x01
00001ad8: PUSH1 0x01
00001ada: PUSH1 0xa0
00001adc: SHL
00001add: SUB
00001ade: AND
00001adf: PUSH4 0xade6e2aa
00001ae4: PUSH1 0x40
00001ae6: MLOAD
00001ae7: DUP2
00001ae8: PUSH4 0xffffffff
00001aed: AND
00001aee: PUSH1 0xe0
00001af0: SHL
00001af1: DUP2
00001af2: MSTORE
00001af3: PUSH1 0x04
00001af5: ADD
00001af6: PUSH1 0x20
00001af8: PUSH1 0x40
00001afa: MLOAD
00001afb: DUP1
00001afc: DUP4
00001afd: SUB
00001afe: DUP2
00001aff: DUP7
00001b00: DUP1
00001b01: EXTCODESIZE
00001b02: ISZERO
00001b03: DUP1
00001b04: ISZERO
00001b05: PUSH2 0x1b0d
00001b08: JUMPI
00001b09: PUSH1 0x00
00001b0b: DUP1
00001b0c: REVERT
00001b0d: JUMPDEST
00001b0e: POP
00001b0f: GAS
00001b10: STATICCALL
00001b11: ISZERO
00001b12: DUP1
00001b13: ISZERO
00001b14: PUSH2 0x1b21
00001b17: JUMPI
00001b18: RETURNDATASIZE
00001b19: PUSH1 0x00
00001b1b: DUP1
00001b1c: RETURNDATACOPY
00001b1d: RETURNDATASIZE
00001b1e: PUSH1 0x00
00001b20: REVERT
00001b21: JUMPDEST
00001b22: POP
00001b23: POP
00001b24: POP
00001b25: POP
00001b26: PUSH1 0x40
00001b28: MLOAD
00001b29: RETURNDATASIZE
00001b2a: PUSH1 0x1f
00001b2c: NOT
00001b2d: PUSH1 0x1f
00001b2f: DUP3
00001b30: ADD
00001b31: AND
00001b32: DUP3
00001b33: ADD
00001b34: DUP1
00001b35: PUSH1 0x40
00001b37: MSTORE
00001b38: POP
00001b39: DUP2
00001b3a: ADD
00001b3b: SWAP1
00001b3c: PUSH2 0x1b45
00001b3f: SWAP2
00001b40: SWAP1
00001b41: PUSH2 0x4158
00001b44: JUMP
00001b45: JUMPDEST
00001b46: DUP2
00001b47: MSTORE
00001b48: PUSH1 0x20
00001b4a: ADD
00001b4b: PUSH2 0x1bca
00001b4e: PUSH5 0x02540be400
00001b54: DUP6
00001b55: PUSH1 0x01
00001b57: PUSH1 0x01
00001b59: PUSH1 0xa0
00001b5b: SHL
00001b5c: SUB
00001b5d: AND
00001b5e: PUSH4 0xc52987cf
00001b63: PUSH1 0x40
00001b65: MLOAD
00001b66: DUP2
00001b67: PUSH4 0xffffffff
00001b6c: AND
00001b6d: PUSH1 0xe0
00001b6f: SHL
00001b70: DUP2
00001b71: MSTORE
00001b72: PUSH1 0x04
00001b74: ADD
00001b75: PUSH1 0x20
00001b77: PUSH1 0x40
00001b79: MLOAD
00001b7a: DUP1
00001b7b: DUP4
00001b7c: SUB
00001b7d: DUP2
00001b7e: DUP7
00001b7f: DUP1
00001b80: EXTCODESIZE
00001b81: ISZERO
00001b82: DUP1
00001b83: ISZERO
00001b84: PUSH2 0x1b8c
00001b87: JUMPI
00001b88: PUSH1 0x00
00001b8a: DUP1
00001b8b: REVERT
00001b8c: JUMPDEST
00001b8d: POP
00001b8e: GAS
00001b8f: STATICCALL
00001b90: ISZERO
00001b91: DUP1
00001b92: ISZERO
00001b93: PUSH2 0x1ba0
00001b96: JUMPI
00001b97: RETURNDATASIZE
00001b98: PUSH1 0x00
00001b9a: DUP1
00001b9b: RETURNDATACOPY
00001b9c: RETURNDATASIZE
00001b9d: PUSH1 0x00
00001b9f: REVERT
00001ba0: JUMPDEST
00001ba1: POP
00001ba2: POP
00001ba3: POP
00001ba4: POP
00001ba5: PUSH1 0x40
00001ba7: MLOAD
00001ba8: RETURNDATASIZE
00001ba9: PUSH1 0x1f
00001bab: NOT
00001bac: PUSH1 0x1f
00001bae: DUP3
00001baf: ADD
00001bb0: AND
00001bb1: DUP3
00001bb2: ADD
00001bb3: DUP1
00001bb4: PUSH1 0x40
00001bb6: MSTORE
00001bb7: POP
00001bb8: DUP2
00001bb9: ADD
00001bba: SWAP1
00001bbb: PUSH2 0x1bc4
00001bbe: SWAP2
00001bbf: SWAP1
00001bc0: PUSH2 0x4158
00001bc3: JUMP
00001bc4: JUMPDEST
00001bc5: SWAP1
00001bc6: PUSH2 0x2fdd
00001bc9: JUMP
00001bca: JUMPDEST
00001bcb: DUP2
00001bcc: MSTORE
00001bcd: PUSH1 0x20
00001bcf: ADD
00001bd0: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00001bf1: PUSH2 0x1bfb
00001bf4: JUMPI
00001bf5: PUSH1 0x02
00001bf7: PUSH2 0x1bfe
00001bfa: JUMP
00001bfb: JUMPDEST
00001bfc: PUSH1 0x01
00001bfe: JUMPDEST
00001bff: PUSH1 0x02
00001c01: DUP2
00001c02: GT
00001c03: ISZERO
00001c04: PUSH2 0x1c09
00001c07: JUMPI
00001c08: INVALID
00001c09: JUMPDEST
00001c0a: DUP2
00001c0b: MSTORE
00001c0c: PUSH1 0x00
00001c0e: PUSH1 0x20
00001c10: SWAP1
00001c11: SWAP2
00001c12: ADD
00001c13: DUP2
00001c14: SWAP1
00001c15: MSTORE
00001c16: PUSH1 0x40
00001c18: MLOAD
00001c19: PUSH4 0x6780c049
00001c1e: PUSH1 0xe0
00001c20: SHL
00001c21: DUP2
00001c22: MSTORE
00001c23: SWAP2
00001c24: SWAP3
00001c25: POP
00001c26: SWAP1
00001c27: PUSH20 0x8b49fdd0cb50ba6d5c053d844fee55e5076f8504
00001c3c: SWAP1
00001c3d: PUSH4 0x6780c049
00001c42: SWAP1
00001c43: PUSH2 0x1c7d
00001c46: SWAP1
00001c47: PUSH32 0x000000000000000000000000cd99b092a5c08c33d09b3e72046a7ab42d8110d1
00001c68: PUSH1 0x01
00001c6a: PUSH1 0x01
00001c6c: PUSH1 0xa0
00001c6e: SHL
00001c6f: SUB
00001c70: AND
00001c71: SWAP1
00001c72: DUP7
00001c73: SWAP1
00001c74: DUP10
00001c75: SWAP1
00001c76: PUSH1 0x04
00001c78: ADD
00001c79: PUSH2 0x4300
00001c7c: JUMP
00001c7d: JUMPDEST
00001c7e: PUSH1 0x20
00001c80: PUSH1 0x40
00001c82: MLOAD
00001c83: DUP1
00001c84: DUP4
00001c85: SUB
00001c86: DUP2
00001c87: DUP7
00001c88: DUP1
00001c89: EXTCODESIZE
00001c8a: ISZERO
00001c8b: DUP1
00001c8c: ISZERO
00001c8d: PUSH2 0x1c95
00001c90: JUMPI
00001c91: PUSH1 0x00
00001c93: DUP1
00001c94: REVERT
00001c95: JUMPDEST
00001c96: POP
00001c97: GAS
00001c98: DELEGATECALL
00001c99: ISZERO
00001c9a: DUP1
00001c9b: ISZERO
00001c9c: PUSH2 0x1ca9
00001c9f: JUMPI
00001ca0: RETURNDATASIZE
00001ca1: PUSH1 0x00
00001ca3: DUP1
00001ca4: RETURNDATACOPY
00001ca5: RETURNDATASIZE
00001ca6: PUSH1 0x00
00001ca8: REVERT
00001ca9: JUMPDEST
00001caa: POP
00001cab: POP
00001cac: POP
00001cad: POP
00001cae: PUSH1 0x40
00001cb0: MLOAD
00001cb1: RETURNDATASIZE
00001cb2: PUSH1 0x1f
00001cb4: NOT
00001cb5: PUSH1 0x1f
00001cb7: DUP3
00001cb8: ADD
00001cb9: AND
00001cba: DUP3
00001cbb: ADD
00001cbc: DUP1
00001cbd: PUSH1 0x40
00001cbf: MSTORE
00001cc0: POP
00001cc1: DUP2
00001cc2: ADD
00001cc3: SWAP1
00001cc4: PUSH2 0x1ccd
00001cc7: SWAP2
00001cc8: SWAP1
00001cc9: PUSH2 0x4158
00001ccc: JUMP
00001ccd: JUMPDEST
00001cce: SWAP1
00001ccf: POP
00001cd0: DUP6
00001cd1: PUSH2 0x1d04
00001cd4: PUSH1 0x01
00001cd6: PUSH1 0x01
00001cd8: PUSH1 0xa0
00001cda: SHL
00001cdb: SUB
00001cdc: DUP3
00001cdd: AND
00001cde: PUSH32 0x0000000000000000000000004572f2554421bd64bef1c22c8a81840e8d496bea
00001cff: DUP5
00001d00: PUSH2 0x2d6a
00001d03: JUMP
00001d04: JUMPDEST
00001d05: DUP7
00001d06: PUSH1 0x01
00001d08: PUSH1 0x01
00001d0a: PUSH1 0xa0
00001d0c: SHL
00001d0d: SUB
00001d0e: AND
00001d0f: PUSH32 0x045c558fdce4714c5816d53820d27420f4cd860892df203fe636384d8d19aa01
00001d30: DUP7
00001d31: CALLER
00001d32: PUSH1 0x40
00001d34: MLOAD
00001d35: PUSH2 0x1d3f
00001d38: SWAP3
00001d39: SWAP2
00001d3a: SWAP1
00001d3b: PUSH2 0x50b0
00001d3e: JUMP
00001d3f: JUMPDEST
00001d40: PUSH1 0x40
00001d42: MLOAD
00001d43: DUP1
00001d44: SWAP2
00001d45: SUB
00001d46: SWAP1
00001d47: LOG2
00001d48: POP
00001d49: POP
00001d4a: PUSH1 0x01
00001d4c: DUP1
00001d4d: SSTORE
00001d4e: POP
00001d4f: POP
00001d50: POP
00001d51: POP
00001d52: POP
00001d53: JUMP
00001d54: JUMPDEST
00001d55: PUSH1 0x00
00001d57: DUP1
00001d58: PUSH2 0x1d5f
00001d5b: PUSH2 0x2406
00001d5e: JUMP
00001d5f: JUMPDEST
00001d60: SWAP1
00001d61: POP
00001d62: PUSH1 0x00
00001d64: PUSH2 0x1d6c
00001d67: DUP5
00001d68: PUSH2 0x0ee4
00001d6b: JUMP
00001d6c: JUMPDEST
00001d6d: SWAP1
00001d6e: POP
00001d6f: PUSH1 0x00
00001d71: PUSH2 0x1d7a
00001d74: DUP4
00001d75: DUP4
00001d76: PUSH2 0x2c71
00001d79: JUMP
00001d7a: JUMPDEST
00001d7b: SWAP1
00001d7c: POP
00001d7d: PUSH1 0x00
00001d7f: PUSH2 0x1d8a
00001d82: DUP3
00001d83: PUSH2 0x0c61
00001d86: PUSH2 0x1d97
00001d89: JUMP
00001d8a: JUMPDEST
00001d8b: POP
00001d8c: SWAP1
00001d8d: SWAP8
00001d8e: SWAP7
00001d8f: POP
00001d90: POP
00001d91: POP
00001d92: POP
00001d93: POP
00001d94: POP
00001d95: POP
00001d96: JUMP
00001d97: JUMPDEST
00001d98: PUSH1 0x40
00001d9a: MLOAD
00001d9b: PUSH4 0x70a08231
00001da0: PUSH1 0xe0
00001da2: SHL
00001da3: DUP2
00001da4: MSTORE
00001da5: PUSH1 0x00
00001da7: SWAP1
00001da8: PUSH1 0x01
00001daa: PUSH1 0x01
00001dac: PUSH1 0xa0
00001dae: SHL
00001daf: SUB
00001db0: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001dd1: AND
00001dd2: SWAP1
00001dd3: PUSH4 0x70a08231
00001dd8: SWAP1
00001dd9: PUSH2 0x1de6
00001ddc: SWAP1
00001ddd: ADDRESS
00001dde: SWAP1
00001ddf: PUSH1 0x04
00001de1: ADD
00001de2: PUSH2 0x4237
00001de5: JUMP
00001de6: JUMPDEST
00001de7: PUSH1 0x20
00001de9: PUSH1 0x40
00001deb: MLOAD
00001dec: DUP1
00001ded: DUP4
00001dee: SUB
00001def: DUP2
00001df0: DUP7
00001df1: DUP1
00001df2: EXTCODESIZE
00001df3: ISZERO
00001df4: DUP1
00001df5: ISZERO
00001df6: PUSH2 0x1dfe
00001df9: JUMPI
00001dfa: PUSH1 0x00
00001dfc: DUP1
00001dfd: REVERT
00001dfe: JUMPDEST
00001dff: POP
00001e00: GAS
00001e01: STATICCALL
00001e02: ISZERO
00001e03: DUP1
00001e04: ISZERO
00001e05: PUSH2 0x1e12
00001e08: JUMPI
00001e09: RETURNDATASIZE
00001e0a: PUSH1 0x00
00001e0c: DUP1
00001e0d: RETURNDATACOPY
00001e0e: RETURNDATASIZE
00001e0f: PUSH1 0x00
00001e11: REVERT
00001e12: JUMPDEST
00001e13: POP
00001e14: POP
00001e15: POP
00001e16: POP
00001e17: PUSH1 0x40
00001e19: MLOAD
00001e1a: RETURNDATASIZE
00001e1b: PUSH1 0x1f
00001e1d: NOT
00001e1e: PUSH1 0x1f
00001e20: DUP3
00001e21: ADD
00001e22: AND
00001e23: DUP3
00001e24: ADD
00001e25: DUP1
00001e26: PUSH1 0x40
00001e28: MSTORE
00001e29: POP
00001e2a: DUP2
00001e2b: ADD
00001e2c: SWAP1
00001e2d: PUSH2 0x174f
00001e30: SWAP2
00001e31: SWAP1
00001e32: PUSH2 0x4158
00001e35: JUMP
00001e36: JUMPDEST
00001e37: PUSH32 0x0000000000000000000000004572f2554421bd64bef1c22c8a81840e8d496bea
00001e58: DUP2
00001e59: JUMP
00001e5a: JUMPDEST
00001e5b: PUSH2 0x1e62
00001e5e: PUSH2 0x28e4
00001e61: JUMP
00001e62: JUMPDEST
00001e63: PUSH1 0x01
00001e65: PUSH1 0x01
00001e67: PUSH1 0xa0
00001e69: SHL
00001e6a: SUB
00001e6b: AND
00001e6c: PUSH2 0x1e73
00001e6f: PUSH2 0x0fdf
00001e72: JUMP
00001e73: JUMPDEST
00001e74: PUSH1 0x01
00001e76: PUSH1 0x01
00001e78: PUSH1 0xa0
00001e7a: SHL
00001e7b: SUB
00001e7c: AND
00001e7d: EQ
00001e7e: PUSH2 0x1e99
00001e81: JUMPI
00001e82: PUSH1 0x40
00001e84: MLOAD
00001e85: PUSH3 0x461bcd
00001e89: PUSH1 0xe5
00001e8b: SHL
00001e8c: DUP2
00001e8d: MSTORE
00001e8e: PUSH1 0x04
00001e90: ADD
00001e91: PUSH2 0x0b47
00001e94: SWAP1
00001e95: PUSH2 0x4962
00001e98: JUMP
00001e99: JUMPDEST
00001e9a: PUSH1 0x01
00001e9c: PUSH1 0x01
00001e9e: PUSH1 0xa0
00001ea0: SHL
00001ea1: SUB
00001ea2: DUP2
00001ea3: AND
00001ea4: PUSH2 0x1ebf
00001ea7: JUMPI
00001ea8: PUSH1 0x40
00001eaa: MLOAD
00001eab: PUSH3 0x461bcd
00001eaf: PUSH1 0xe5
00001eb1: SHL
00001eb2: DUP2
00001eb3: MSTORE
00001eb4: PUSH1 0x04
00001eb6: ADD
00001eb7: PUSH2 0x0b47
00001eba: SWAP1
00001ebb: PUSH2 0x46f0
00001ebe: JUMP
00001ebf: JUMPDEST
00001ec0: PUSH1 0xca
00001ec2: DUP1
00001ec3: SLOAD
00001ec4: PUSH1 0x01
00001ec6: PUSH1 0x01
00001ec8: PUSH1 0xa0
00001eca: SHL
00001ecb: SUB
00001ecc: DUP4
00001ecd: DUP2
00001ece: AND
00001ecf: PUSH1 0x01
00001ed1: PUSH1 0x01
00001ed3: PUSH1 0xa0
00001ed5: SHL
00001ed6: SUB
00001ed7: NOT
00001ed8: DUP4
00001ed9: AND
00001eda: OR
00001edb: SWAP1
00001edc: SWAP3
00001edd: SSTORE
00001ede: PUSH1 0x40
00001ee0: MLOAD
00001ee1: SWAP2
00001ee2: AND
00001ee3: SWAP1
00001ee4: PUSH32 0x605c2dbf762e5f7d60a546d42e7205dcb1b011ebc62a61736a57c9089d3a4350
00001f05: SWAP1
00001f06: PUSH2 0x0ce7
00001f09: SWAP1
00001f0a: DUP4
00001f0b: SWAP1
00001f0c: DUP6
00001f0d: SWAP1
00001f0e: PUSH2 0x429e
00001f11: JUMP
00001f12: JUMPDEST
00001f13: PUSH1 0xca
00001f15: SLOAD
00001f16: PUSH1 0x01
00001f18: PUSH1 0x01
00001f1a: PUSH1 0xa0
00001f1c: SHL
00001f1d: SUB
00001f1e: AND
00001f1f: CALLER
00001f20: EQ
00001f21: PUSH2 0x1f3c
00001f24: JUMPI
00001f25: PUSH1 0x40
00001f27: MLOAD
00001f28: PUSH3 0x461bcd
00001f2c: PUSH1 0xe5
00001f2e: SHL
00001f2f: DUP2
00001f30: MSTORE
00001f31: PUSH1 0x04
00001f33: ADD
00001f34: PUSH2 0x0b47
00001f37: SWAP1
00001f38: PUSH2 0x493c
00001f3b: JUMP
00001f3c: JUMPDEST
00001f3d: PUSH1 0x02
00001f3f: PUSH1 0x01
00001f41: SLOAD
00001f42: EQ
00001f43: ISZERO
00001f44: PUSH2 0x1f5f
00001f47: JUMPI
00001f48: PUSH1 0x40
00001f4a: MLOAD
00001f4b: PUSH3 0x461bcd
00001f4f: PUSH1 0xe5
00001f51: SHL
00001f52: DUP2
00001f53: MSTORE
00001f54: PUSH1 0x04
00001f56: ADD
00001f57: PUSH2 0x0b47
00001f5a: SWAP1
00001f5b: PUSH2 0x4dab
00001f5e: JUMP
00001f5f: JUMPDEST
00001f60: PUSH1 0x02
00001f62: PUSH1 0x01
00001f64: SSTORE
00001f65: PUSH2 0x1f6d
00001f68: DUP2
00001f69: PUSH2 0x3201
00001f6c: JUMP
00001f6d: JUMPDEST
00001f6e: PUSH2 0x17ba
00001f71: PUSH2 0x372a
00001f74: JUMP
00001f75: JUMPDEST
00001f76: PUSH1 0x01
00001f78: PUSH1 0x01
00001f7a: PUSH1 0xa0
00001f7c: SHL
00001f7d: SUB
00001f7e: SWAP2
00001f7f: DUP3
00001f80: AND
00001f81: PUSH1 0x00
00001f83: SWAP1
00001f84: DUP2
00001f85: MSTORE
00001f86: PUSH1 0x98
00001f88: PUSH1 0x20
00001f8a: SWAP1
00001f8b: DUP2
00001f8c: MSTORE
00001f8d: PUSH1 0x40
00001f8f: DUP1
00001f90: DUP4
00001f91: KECCAK256
00001f92: SWAP4
00001f93: SWAP1
00001f94: SWAP5
00001f95: AND
00001f96: DUP3
00001f97: MSTORE
00001f98: SWAP2
00001f99: SWAP1
00001f9a: SWAP2
00001f9b: MSTORE
00001f9c: KECCAK256
00001f9d: SLOAD
00001f9e: SWAP1
00001f9f: JUMP
00001fa0: JUMPDEST
00001fa1: PUSH8 0x0c7d713b49da0000
00001faa: DUP2
00001fab: JUMP
00001fac: JUMPDEST
00001fad: PUSH2 0x1fb4
00001fb0: PUSH2 0x28e4
00001fb3: JUMP
00001fb4: JUMPDEST
00001fb5: PUSH1 0x01
00001fb7: PUSH1 0x01
00001fb9: PUSH1 0xa0
00001fbb: SHL
00001fbc: SUB
00001fbd: AND
00001fbe: PUSH2 0x1fc5
00001fc1: PUSH2 0x0fdf
00001fc4: JUMP
00001fc5: JUMPDEST
00001fc6: PUSH1 0x01
00001fc8: PUSH1 0x01
00001fca: PUSH1 0xa0
00001fcc: SHL
00001fcd: SUB
00001fce: AND
00001fcf: EQ
00001fd0: PUSH2 0x1feb
00001fd3: JUMPI
00001fd4: PUSH1 0x40
00001fd6: MLOAD
00001fd7: PUSH3 0x461bcd
00001fdb: PUSH1 0xe5
00001fdd: SHL
00001fde: DUP2
00001fdf: MSTORE
00001fe0: PUSH1 0x04
00001fe2: ADD
00001fe3: PUSH2 0x0b47
00001fe6: SWAP1
00001fe7: PUSH2 0x4962
00001fea: JUMP
00001feb: JUMPDEST
00001fec: PUSH1 0x01
00001fee: PUSH1 0x01
00001ff0: PUSH1 0xa0
00001ff2: SHL
00001ff3: SUB
00001ff4: DUP2
00001ff5: AND
00001ff6: PUSH2 0x2011
00001ff9: JUMPI
00001ffa: PUSH1 0x40
00001ffc: MLOAD
00001ffd: PUSH3 0x461bcd
00002001: PUSH1 0xe5
00002003: SHL
00002004: DUP2
00002005: MSTORE
00002006: PUSH1 0x04
00002008: ADD
00002009: PUSH2 0x0b47
0000200c: SWAP1
0000200d: PUSH2 0x4823
00002010: JUMP
00002011: JUMPDEST
00002012: PUSH1 0xd1
00002014: DUP1
00002015: SLOAD
00002016: PUSH1 0x01
00002018: PUSH1 0x01
0000201a: PUSH1 0xa0
0000201c: SHL
0000201d: SUB
0000201e: NOT
0000201f: AND
00002020: PUSH1 0x01
00002022: PUSH1 0x01
00002024: PUSH1 0xa0
00002026: SHL
00002027: SUB
00002028: SWAP3
00002029: SWAP1
0000202a: SWAP3
0000202b: AND
0000202c: SWAP2
0000202d: SWAP1
0000202e: SWAP2
0000202f: OR
00002030: SWAP1
00002031: SSTORE
00002032: JUMP
00002033: JUMPDEST
00002034: PUSH1 0x02
00002036: PUSH1 0x01
00002038: SLOAD
00002039: EQ
0000203a: ISZERO
0000203b: PUSH2 0x2056
0000203e: JUMPI
0000203f: PUSH1 0x40
00002041: MLOAD
00002042: PUSH3 0x461bcd
00002046: PUSH1 0xe5
00002048: SHL
00002049: DUP2
0000204a: MSTORE
0000204b: PUSH1 0x04
0000204d: ADD
0000204e: PUSH2 0x0b47
00002051: SWAP1
00002052: PUSH2 0x4dab
00002055: JUMP
00002056: JUMPDEST
00002057: PUSH1 0x02
00002059: PUSH1 0x01
0000205b: DUP2
0000205c: SWAP1
0000205d: SSTORE
0000205e: POP
0000205f: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002080: PUSH1 0x01
00002082: PUSH1 0x01
00002084: PUSH1 0xa0
00002086: SHL
00002087: SUB
00002088: AND
00002089: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000020aa: PUSH1 0x01
000020ac: PUSH1 0x01
000020ae: PUSH1 0xa0
000020b0: SHL
000020b1: SUB
000020b2: AND
000020b3: EQ
000020b4: PUSH2 0x20cf
000020b7: JUMPI
000020b8: PUSH1 0x40
000020ba: MLOAD
000020bb: PUSH3 0x461bcd
000020bf: PUSH1 0xe5
000020c1: SHL
000020c2: DUP2
000020c3: MSTORE
000020c4: PUSH1 0x04
000020c6: ADD
000020c7: PUSH2 0x0b47
000020ca: SWAP1
000020cb: PUSH2 0x484d
000020ce: JUMP
000020cf: JUMPDEST
000020d0: PUSH1 0x00
000020d2: PUSH2 0x20dc
000020d5: DUP3
000020d6: PUSH1 0x00
000020d8: PUSH2 0x2add
000020db: JUMP
000020dc: JUMPDEST
000020dd: PUSH1 0x40
000020df: MLOAD
000020e0: PUSH4 0x2e1a7d4d
000020e5: PUSH1 0xe0
000020e7: SHL
000020e8: DUP2
000020e9: MSTORE
000020ea: SWAP1
000020eb: SWAP2
000020ec: POP
000020ed: PUSH1 0x01
000020ef: PUSH1 0x01
000020f1: PUSH1 0xa0
000020f3: SHL
000020f4: SUB
000020f5: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002116: AND
00002117: SWAP1
00002118: PUSH4 0x2e1a7d4d
0000211d: SWAP1
0000211e: PUSH2 0x212b
00002121: SWAP1
00002122: DUP5
00002123: SWAP1
00002124: PUSH1 0x04
00002126: ADD
00002127: PUSH2 0x50a7
0000212a: JUMP
0000212b: JUMPDEST
0000212c: PUSH1 0x00
0000212e: PUSH1 0x40
00002130: MLOAD
00002131: DUP1
00002132: DUP4
00002133: SUB
00002134: DUP2
00002135: PUSH1 0x00
00002137: DUP8
00002138: DUP1
00002139: EXTCODESIZE
0000213a: ISZERO
0000213b: DUP1
0000213c: ISZERO
0000213d: PUSH2 0x2145
00002140: JUMPI
00002141: PUSH1 0x00
00002143: DUP1
00002144: REVERT
00002145: JUMPDEST
00002146: POP
00002147: GAS
00002148: CALL
00002149: ISZERO
0000214a: DUP1
0000214b: ISZERO
0000214c: PUSH2 0x2159
0000214f: JUMPI
00002150: RETURNDATASIZE
00002151: PUSH1 0x00
00002153: DUP1
00002154: RETURNDATACOPY
00002155: RETURNDATASIZE
00002156: PUSH1 0x00
00002158: REVERT
00002159: JUMPDEST
0000215a: POP
0000215b: POP
0000215c: POP
0000215d: POP
0000215e: PUSH1 0x00
00002160: CALLER
00002161: PUSH1 0x01
00002163: PUSH1 0x01
00002165: PUSH1 0xa0
00002167: SHL
00002168: SUB
00002169: AND
0000216a: DUP3
0000216b: PUSH1 0x40
0000216d: MLOAD
0000216e: PUSH2 0x2176
00002171: SWAP1
00002172: PUSH2 0x0a75
00002175: JUMP
00002176: JUMPDEST
00002177: PUSH1 0x00
00002179: PUSH1 0x40
0000217b: MLOAD
0000217c: DUP1
0000217d: DUP4
0000217e: SUB
0000217f: DUP2
00002180: DUP6
00002181: DUP8
00002182: GAS
00002183: CALL
00002184: SWAP3
00002185: POP
00002186: POP
00002187: POP
00002188: RETURNDATASIZE
00002189: DUP1
0000218a: PUSH1 0x00
0000218c: DUP2
0000218d: EQ
0000218e: PUSH2 0x21b3
00002191: JUMPI
00002192: PUSH1 0x40
00002194: MLOAD
00002195: SWAP2
00002196: POP
00002197: PUSH1 0x1f
00002199: NOT
0000219a: PUSH1 0x3f
0000219c: RETURNDATASIZE
0000219d: ADD
0000219e: AND
0000219f: DUP3
000021a0: ADD
000021a1: PUSH1 0x40
000021a3: MSTORE
000021a4: RETURNDATASIZE
000021a5: DUP3
000021a6: MSTORE
000021a7: RETURNDATASIZE
000021a8: PUSH1 0x00
000021aa: PUSH1 0x20
000021ac: DUP5
000021ad: ADD
000021ae: RETURNDATACOPY
000021af: PUSH2 0x21b8
000021b2: JUMP
000021b3: JUMPDEST
000021b4: PUSH1 0x60
000021b6: SWAP2
000021b7: POP
000021b8: JUMPDEST
000021b9: POP
000021ba: POP
000021bb: SWAP1
000021bc: POP
000021bd: DUP1
000021be: PUSH2 0x21d9
000021c1: JUMPI
000021c2: PUSH1 0x40
000021c4: MLOAD
000021c5: PUSH3 0x461bcd
000021c9: PUSH1 0xe5
000021cb: SHL
000021cc: DUP2
000021cd: MSTORE
000021ce: PUSH1 0x04
000021d0: ADD
000021d1: PUSH2 0x0b47
000021d4: SWAP1
000021d5: PUSH2 0x4ba7
000021d8: JUMP
000021d9: JUMPDEST
000021da: POP
000021db: POP
000021dc: PUSH1 0x01
000021de: DUP1
000021df: SSTORE
000021e0: POP
000021e1: JUMP
000021e2: JUMPDEST
000021e3: PUSH2 0x21ea
000021e6: PUSH2 0x28e4
000021e9: JUMP
000021ea: JUMPDEST
000021eb: PUSH1 0x01
000021ed: PUSH1 0x01
000021ef: PUSH1 0xa0
000021f1: SHL
000021f2: SUB
000021f3: AND
000021f4: PUSH2 0x21fb
000021f7: PUSH2 0x0fdf
000021fa: JUMP
000021fb: JUMPDEST
000021fc: PUSH1 0x01
000021fe: PUSH1 0x01
00002200: PUSH1 0xa0
00002202: SHL
00002203: SUB
00002204: AND
00002205: EQ
00002206: PUSH2 0x2221
00002209: JUMPI
0000220a: PUSH1 0x40
0000220c: MLOAD
0000220d: PUSH3 0x461bcd
00002211: PUSH1 0xe5
00002213: SHL
00002214: DUP2
00002215: MSTORE
00002216: PUSH1 0x04
00002218: ADD
00002219: PUSH2 0x0b47
0000221c: SWAP1
0000221d: PUSH2 0x4962
00002220: JUMP
00002221: JUMPDEST
00002222: PUSH1 0x01
00002224: PUSH1 0x01
00002226: PUSH1 0xa0
00002228: SHL
00002229: SUB
0000222a: DUP2
0000222b: AND
0000222c: PUSH2 0x2247
0000222f: JUMPI
00002230: PUSH1 0x40
00002232: MLOAD
00002233: PUSH3 0x461bcd
00002237: PUSH1 0xe5
00002239: SHL
0000223a: DUP2
0000223b: MSTORE
0000223c: PUSH1 0x04
0000223e: ADD
0000223f: PUSH2 0x0b47
00002242: SWAP1
00002243: PUSH2 0x451d
00002246: JUMP
00002247: JUMPDEST
00002248: PUSH1 0x65
0000224a: SLOAD
0000224b: PUSH1 0x40
0000224d: MLOAD
0000224e: PUSH1 0x01
00002250: PUSH1 0x01
00002252: PUSH1 0xa0
00002254: SHL
00002255: SUB
00002256: DUP1
00002257: DUP5
00002258: AND
00002259: SWAP3
0000225a: AND
0000225b: SWAP1
0000225c: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0000227d: SWAP1
0000227e: PUSH1 0x00
00002280: SWAP1
00002281: LOG3
00002282: PUSH1 0x65
00002284: DUP1
00002285: SLOAD
00002286: PUSH1 0x01
00002288: PUSH1 0x01
0000228a: PUSH1 0xa0
0000228c: SHL
0000228d: SUB
0000228e: NOT
0000228f: AND
00002290: PUSH1 0x01
00002292: PUSH1 0x01
00002294: PUSH1 0xa0
00002296: SHL
00002297: SUB
00002298: SWAP3
00002299: SWAP1
0000229a: SWAP3
0000229b: AND
0000229c: SWAP2
0000229d: SWAP1
0000229e: SWAP2
0000229f: OR
000022a0: SWAP1
000022a1: SSTORE
000022a2: JUMP
000022a3: JUMPDEST
000022a4: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
000022c5: DUP2
000022c6: JUMP
000022c7: JUMPDEST
000022c8: PUSH1 0x02
000022ca: PUSH1 0x01
000022cc: SLOAD
000022cd: EQ
000022ce: ISZERO
000022cf: PUSH2 0x22ea
000022d2: JUMPI
000022d3: PUSH1 0x40
000022d5: MLOAD
000022d6: PUSH3 0x461bcd
000022da: PUSH1 0xe5
000022dc: SHL
000022dd: DUP2
000022de: MSTORE
000022df: PUSH1 0x04
000022e1: ADD
000022e2: PUSH2 0x0b47
000022e5: SWAP1
000022e6: PUSH2 0x4dab
000022e9: JUMP
000022ea: JUMPDEST
000022eb: PUSH1 0x02
000022ed: PUSH1 0x01
000022ef: DUP2
000022f0: SWAP1
000022f1: SSTORE
000022f2: POP
000022f3: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002314: PUSH1 0x01
00002316: PUSH1 0x01
00002318: PUSH1 0xa0
0000231a: SHL
0000231b: SUB
0000231c: AND
0000231d: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000233e: PUSH1 0x01
00002340: PUSH1 0x01
00002342: PUSH1 0xa0
00002344: SHL
00002345: SUB
00002346: AND
00002347: EQ
00002348: PUSH2 0x2363
0000234b: JUMPI
0000234c: PUSH1 0x40
0000234e: MLOAD
0000234f: PUSH3 0x461bcd
00002353: PUSH1 0xe5
00002355: SHL
00002356: DUP2
00002357: MSTORE
00002358: PUSH1 0x04
0000235a: ADD
0000235b: PUSH2 0x0b47
0000235e: SWAP1
0000235f: PUSH2 0x47f8
00002362: JUMP
00002363: JUMPDEST
00002364: PUSH1 0x00
00002366: CALLVALUE
00002367: GT
00002368: PUSH2 0x2383
0000236b: JUMPI
0000236c: PUSH1 0x40
0000236e: MLOAD
0000236f: PUSH3 0x461bcd
00002373: PUSH1 0xe5
00002375: SHL
00002376: DUP2
00002377: MSTORE
00002378: PUSH1 0x04
0000237a: ADD
0000237b: PUSH2 0x0b47
0000237e: SWAP1
0000237f: PUSH2 0x4a47
00002382: JUMP
00002383: JUMPDEST
00002384: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000023a5: PUSH1 0x01
000023a7: PUSH1 0x01
000023a9: PUSH1 0xa0
000023ab: SHL
000023ac: SUB
000023ad: AND
000023ae: PUSH4 0xd0e30db0
000023b3: CALLVALUE
000023b4: PUSH1 0x40
000023b6: MLOAD
000023b7: DUP3
000023b8: PUSH4 0xffffffff
000023bd: AND
000023be: PUSH1 0xe0
000023c0: SHL
000023c1: DUP2
000023c2: MSTORE
000023c3: PUSH1 0x04
000023c5: ADD
000023c6: PUSH1 0x00
000023c8: PUSH1 0x40
000023ca: MLOAD
000023cb: DUP1
000023cc: DUP4
000023cd: SUB
000023ce: DUP2
000023cf: DUP6
000023d0: DUP9
000023d1: DUP1
000023d2: EXTCODESIZE
000023d3: ISZERO
000023d4: DUP1
000023d5: ISZERO
000023d6: PUSH2 0x23de
000023d9: JUMPI
000023da: PUSH1 0x00
000023dc: DUP1
000023dd: REVERT
000023de: JUMPDEST
000023df: POP
000023e0: GAS
000023e1: CALL
000023e2: ISZERO
000023e3: DUP1
000023e4: ISZERO
000023e5: PUSH2 0x23f2
000023e8: JUMPI
000023e9: RETURNDATASIZE
000023ea: PUSH1 0x00
000023ec: DUP1
000023ed: RETURNDATACOPY
000023ee: RETURNDATASIZE
000023ef: PUSH1 0x00
000023f1: REVERT
000023f2: JUMPDEST
000023f3: POP
000023f4: POP
000023f5: POP
000023f6: POP
000023f7: POP
000023f8: PUSH2 0x2400
000023fb: CALLVALUE
000023fc: PUSH2 0x3070
000023ff: JUMP
00002400: JUMPDEST
00002401: PUSH1 0x01
00002403: DUP1
00002404: SSTORE
00002405: JUMP
00002406: JUMPDEST
00002407: PUSH1 0x00
00002409: DUP1
0000240a: PUSH2 0x2411
0000240d: PUSH2 0x1d97
00002410: JUMP
00002411: JUMPDEST
00002412: SWAP1
00002413: POP
00002414: PUSH1 0x00
00002416: PUSH2 0x242a
00002419: DUP3
0000241a: PUSH1 0xce
0000241c: SLOAD
0000241d: PUSH2 0x2bf2
00002420: SWAP1
00002421: SWAP2
00002422: SWAP1
00002423: PUSH4 0xffffffff
00002428: AND
00002429: JUMP
0000242a: JUMPDEST
0000242b: SWAP1
0000242c: POP
0000242d: PUSH2 0x1586
00002430: PUSH32 0x00000000000000000000000000000000000000000000000000000002540be400
00002451: PUSH2 0x2466
00002454: DUP4
00002455: PUSH2 0x15d0
00002458: PUSH2 0x245f
0000245b: PUSH2 0x0a96
0000245e: JUMP
0000245f: JUMPDEST
00002460: DUP8
00002461: SWAP1
00002462: PUSH2 0x2fdd
00002465: JUMP
00002466: JUMPDEST
00002467: SWAP1
00002468: PUSH2 0x31d9
0000246b: JUMP
0000246c: JUMPDEST
0000246d: PUSH1 0x02
0000246f: PUSH1 0x01
00002471: SLOAD
00002472: EQ
00002473: ISZERO
00002474: PUSH2 0x248f
00002477: JUMPI
00002478: PUSH1 0x40
0000247a: MLOAD
0000247b: PUSH3 0x461bcd
0000247f: PUSH1 0xe5
00002481: SHL
00002482: DUP2
00002483: MSTORE
00002484: PUSH1 0x04
00002486: ADD
00002487: PUSH2 0x0b47
0000248a: SWAP1
0000248b: PUSH2 0x4dab
0000248e: JUMP
0000248f: JUMPDEST
00002490: PUSH1 0x02
00002492: PUSH1 0x01
00002494: SSTORE
00002495: PUSH2 0x2400
00002498: PUSH2 0x372a
0000249b: JUMP
0000249c: JUMPDEST
0000249d: PUSH1 0x02
0000249f: PUSH1 0x01
000024a1: SLOAD
000024a2: EQ
000024a3: ISZERO
000024a4: PUSH2 0x24bf
000024a7: JUMPI
000024a8: PUSH1 0x40
000024aa: MLOAD
000024ab: PUSH3 0x461bcd
000024af: PUSH1 0xe5
000024b1: SHL
000024b2: DUP2
000024b3: MSTORE
000024b4: PUSH1 0x04
000024b6: ADD
000024b7: PUSH2 0x0b47
000024ba: SWAP1
000024bb: PUSH2 0x4dab
000024be: JUMP
000024bf: JUMPDEST
000024c0: PUSH1 0x02
000024c2: PUSH1 0x01
000024c4: SSTORE
000024c5: PUSH1 0x01
000024c7: PUSH1 0x01
000024c9: PUSH1 0xa0
000024cb: SHL
000024cc: SUB
000024cd: DUP2
000024ce: AND
000024cf: PUSH2 0x24ea
000024d2: JUMPI
000024d3: PUSH1 0x40
000024d5: MLOAD
000024d6: PUSH3 0x461bcd
000024da: PUSH1 0xe5
000024dc: SHL
000024dd: DUP2
000024de: MSTORE
000024df: PUSH1 0x04
000024e1: ADD
000024e2: PUSH2 0x0b47
000024e5: SWAP1
000024e6: PUSH2 0x491c
000024e9: JUMP
000024ea: JUMPDEST
000024eb: PUSH1 0x00
000024ed: DUP3
000024ee: GT
000024ef: PUSH2 0x250a
000024f2: JUMPI
000024f3: PUSH1 0x40
000024f5: MLOAD
000024f6: PUSH3 0x461bcd
000024fa: PUSH1 0xe5
000024fc: SHL
000024fd: DUP2
000024fe: MSTORE
000024ff: PUSH1 0x04
00002501: ADD
00002502: PUSH2 0x0b47
00002505: SWAP1
00002506: PUSH2 0x46d0
00002509: JUMP
0000250a: JUMPDEST
0000250b: PUSH1 0x40
0000250d: MLOAD
0000250e: PUSH4 0x5cae8ec1
00002513: PUSH1 0xe1
00002515: SHL
00002516: DUP2
00002517: MSTORE
00002518: PUSH1 0x00
0000251a: SWAP1
0000251b: PUSH1 0x01
0000251d: PUSH1 0x01
0000251f: PUSH1 0xa0
00002521: SHL
00002522: SUB
00002523: PUSH32 0x0000000000000000000000008d3d21536e025908683aec2633cec228e385c243
00002544: AND
00002545: SWAP1
00002546: PUSH4 0xb95d1d82
0000254b: SWAP1
0000254c: PUSH2 0x255b
0000254f: SWAP1
00002550: ADDRESS
00002551: SWAP1
00002552: DUP7
00002553: SWAP1
00002554: PUSH1 0x04
00002556: ADD
00002557: PUSH2 0x429e
0000255a: JUMP
0000255b: JUMPDEST
0000255c: PUSH1 0x20
0000255e: PUSH1 0x40
00002560: MLOAD
00002561: DUP1
00002562: DUP4
00002563: SUB
00002564: DUP2
00002565: PUSH1 0x00
00002567: DUP8
00002568: DUP1
00002569: EXTCODESIZE
0000256a: ISZERO
0000256b: DUP1
0000256c: ISZERO
0000256d: PUSH2 0x2575
00002570: JUMPI
00002571: PUSH1 0x00
00002573: DUP1
00002574: REVERT
00002575: JUMPDEST
00002576: POP
00002577: GAS
00002578: CALL
00002579: ISZERO
0000257a: DUP1
0000257b: ISZERO
0000257c: PUSH2 0x2589
0000257f: JUMPI
00002580: RETURNDATASIZE
00002581: PUSH1 0x00
00002583: DUP1
00002584: RETURNDATACOPY
00002585: RETURNDATASIZE
00002586: PUSH1 0x00
00002588: REVERT
00002589: JUMPDEST
0000258a: POP
0000258b: POP
0000258c: POP
0000258d: POP
0000258e: PUSH1 0x40
00002590: MLOAD
00002591: RETURNDATASIZE
00002592: PUSH1 0x1f
00002594: NOT
00002595: PUSH1 0x1f
00002597: DUP3
00002598: ADD
00002599: AND
0000259a: DUP3
0000259b: ADD
0000259c: DUP1
0000259d: PUSH1 0x40
0000259f: MSTORE
000025a0: POP
000025a1: DUP2
000025a2: ADD
000025a3: SWAP1
000025a4: PUSH2 0x25ad
000025a7: SWAP2
000025a8: SWAP1
000025a9: PUSH2 0x40dd
000025ac: JUMP
000025ad: JUMPDEST
000025ae: SWAP1
000025af: POP
000025b0: DUP1
000025b1: PUSH2 0x25cc
000025b4: JUMPI
000025b5: PUSH1 0x40
000025b7: MLOAD
000025b8: PUSH3 0x461bcd
000025bc: PUSH1 0xe5
000025be: SHL
000025bf: DUP2
000025c0: MSTORE
000025c1: PUSH1 0x04
000025c3: ADD
000025c4: PUSH2 0x0b47
000025c7: SWAP1
000025c8: PUSH2 0x4b62
000025cb: JUMP
000025cc: JUMPDEST
000025cd: PUSH1 0x00
000025cf: PUSH2 0x25d8
000025d2: DUP5
000025d3: DUP4
000025d4: PUSH2 0x2add
000025d7: JUMP
000025d8: JUMPDEST
000025d9: SWAP1
000025da: POP
000025db: PUSH2 0x260e
000025de: PUSH1 0x01
000025e0: PUSH1 0x01
000025e2: PUSH1 0xa0
000025e4: SHL
000025e5: SUB
000025e6: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002607: AND
00002608: DUP5
00002609: DUP4
0000260a: PUSH2 0x2d6a
0000260d: JUMP
0000260e: JUMPDEST
0000260f: PUSH1 0x40
00002611: MLOAD
00002612: PUSH4 0xb6b55f25
00002617: PUSH1 0xe0
00002619: SHL
0000261a: DUP2
0000261b: MSTORE
0000261c: PUSH1 0x01
0000261e: PUSH1 0x01
00002620: PUSH1 0xa0
00002622: SHL
00002623: SUB
00002624: DUP5
00002625: AND
00002626: SWAP1
00002627: PUSH4 0xb6b55f25
0000262c: SWAP1
0000262d: PUSH2 0x263a
00002630: SWAP1
00002631: DUP5
00002632: SWAP1
00002633: PUSH1 0x04
00002635: ADD
00002636: PUSH2 0x50a7
00002639: JUMP
0000263a: JUMPDEST
0000263b: PUSH1 0x00
0000263d: PUSH1 0x40
0000263f: MLOAD
00002640: DUP1
00002641: DUP4
00002642: SUB
00002643: DUP2
00002644: PUSH1 0x00
00002646: DUP8
00002647: DUP1
00002648: EXTCODESIZE
00002649: ISZERO
0000264a: DUP1
0000264b: ISZERO
0000264c: PUSH2 0x2654
0000264f: JUMPI
00002650: PUSH1 0x00
00002652: DUP1
00002653: REVERT
00002654: JUMPDEST
00002655: POP
00002656: GAS
00002657: CALL
00002658: ISZERO
00002659: DUP1
0000265a: ISZERO
0000265b: PUSH2 0x2668
0000265e: JUMPI
0000265f: RETURNDATASIZE
00002660: PUSH1 0x00
00002662: DUP1
00002663: RETURNDATACOPY
00002664: RETURNDATASIZE
00002665: PUSH1 0x00
00002667: REVERT
00002668: JUMPDEST
00002669: POP
0000266a: POP
0000266b: PUSH1 0x40
0000266d: MLOAD
0000266e: PUSH4 0x70a08231
00002673: PUSH1 0xe0
00002675: SHL
00002676: DUP2
00002677: MSTORE
00002678: PUSH1 0x00
0000267a: SWAP3
0000267b: POP
0000267c: PUSH1 0x01
0000267e: PUSH1 0x01
00002680: PUSH1 0xa0
00002682: SHL
00002683: SUB
00002684: DUP7
00002685: AND
00002686: SWAP2
00002687: POP
00002688: PUSH4 0x70a08231
0000268d: SWAP1
0000268e: PUSH2 0x269b
00002691: SWAP1
00002692: ADDRESS
00002693: SWAP1
00002694: PUSH1 0x04
00002696: ADD
00002697: PUSH2 0x4237
0000269a: JUMP
0000269b: JUMPDEST
0000269c: PUSH1 0x20
0000269e: PUSH1 0x40
000026a0: MLOAD
000026a1: DUP1
000026a2: DUP4
000026a3: SUB
000026a4: DUP2
000026a5: DUP7
000026a6: DUP1
000026a7: EXTCODESIZE
000026a8: ISZERO
000026a9: DUP1
000026aa: ISZERO
000026ab: PUSH2 0x26b3
000026ae: JUMPI
000026af: PUSH1 0x00
000026b1: DUP1
000026b2: REVERT
000026b3: JUMPDEST
000026b4: POP
000026b5: GAS
000026b6: STATICCALL
000026b7: ISZERO
000026b8: DUP1
000026b9: ISZERO
000026ba: PUSH2 0x26c7
000026bd: JUMPI
000026be: RETURNDATASIZE
000026bf: PUSH1 0x00
000026c1: DUP1
000026c2: RETURNDATACOPY
000026c3: RETURNDATASIZE
000026c4: PUSH1 0x00
000026c6: REVERT
000026c7: JUMPDEST
000026c8: POP
000026c9: POP
000026ca: POP
000026cb: POP
000026cc: PUSH1 0x40
000026ce: MLOAD
000026cf: RETURNDATASIZE
000026d0: PUSH1 0x1f
000026d2: NOT
000026d3: PUSH1 0x1f
000026d5: DUP3
000026d6: ADD
000026d7: AND
000026d8: DUP3
000026d9: ADD
000026da: DUP1
000026db: PUSH1 0x40
000026dd: MSTORE
000026de: POP
000026df: DUP2
000026e0: ADD
000026e1: SWAP1
000026e2: PUSH2 0x26eb
000026e5: SWAP2
000026e6: SWAP1
000026e7: PUSH2 0x4158
000026ea: JUMP
000026eb: JUMPDEST
000026ec: SWAP1
000026ed: POP
000026ee: PUSH2 0x2701
000026f1: PUSH1 0x01
000026f3: PUSH1 0x01
000026f5: PUSH1 0xa0
000026f7: SHL
000026f8: SUB
000026f9: DUP6
000026fa: AND
000026fb: CALLER
000026fc: DUP4
000026fd: PUSH2 0x2b97
00002700: JUMP
00002701: JUMPDEST
00002702: PUSH32 0x5f90971df3fde05a0e16e7c8443c9355874849fd9420a20689f967e82cce1847
00002723: CALLER
00002724: DUP7
00002725: DUP7
00002726: DUP5
00002727: PUSH1 0x40
00002729: MLOAD
0000272a: PUSH2 0x2736
0000272d: SWAP5
0000272e: SWAP4
0000272f: SWAP3
00002730: SWAP2
00002731: SWAP1
00002732: PUSH2 0x4274
00002735: JUMP
00002736: JUMPDEST
00002737: PUSH1 0x40
00002739: MLOAD
0000273a: DUP1
0000273b: SWAP2
0000273c: SUB
0000273d: SWAP1
0000273e: LOG1
0000273f: POP
00002740: POP
00002741: PUSH1 0x01
00002743: DUP1
00002744: SSTORE
00002745: POP
00002746: POP
00002747: POP
00002748: JUMP
00002749: JUMPDEST
0000274a: PUSH1 0xca
0000274c: SLOAD
0000274d: PUSH1 0x01
0000274f: PUSH1 0x01
00002751: PUSH1 0xa0
00002753: SHL
00002754: SUB
00002755: AND
00002756: CALLER
00002757: EQ
00002758: PUSH2 0x2773
0000275b: JUMPI
0000275c: PUSH1 0x40
0000275e: MLOAD
0000275f: PUSH3 0x461bcd
00002763: PUSH1 0xe5
00002765: SHL
00002766: DUP2
00002767: MSTORE
00002768: PUSH1 0x04
0000276a: ADD
0000276b: PUSH2 0x0b47
0000276e: SWAP1
0000276f: PUSH2 0x493c
00002772: JUMP
00002773: JUMPDEST
00002774: PUSH1 0x02
00002776: PUSH1 0x01
00002778: SLOAD
00002779: EQ
0000277a: ISZERO
0000277b: PUSH2 0x2796
0000277e: JUMPI
0000277f: PUSH1 0x40
00002781: MLOAD
00002782: PUSH3 0x461bcd
00002786: PUSH1 0xe5
00002788: SHL
00002789: DUP2
0000278a: MSTORE
0000278b: PUSH1 0x04
0000278d: ADD
0000278e: PUSH2 0x0b47
00002791: SWAP1
00002792: PUSH2 0x4dab
00002795: JUMP
00002796: JUMPDEST
00002797: PUSH1 0x02
00002799: PUSH1 0x01
0000279b: SSTORE
0000279c: PUSH1 0xcd
0000279e: SLOAD
0000279f: PUSH1 0x01
000027a1: PUSH1 0x01
000027a3: PUSH1 0xa0
000027a5: SHL
000027a6: SUB
000027a7: AND
000027a8: DUP1
000027a9: PUSH2 0x27c4
000027ac: JUMPI
000027ad: PUSH1 0x40
000027af: MLOAD
000027b0: PUSH3 0x461bcd
000027b4: PUSH1 0xe5
000027b6: SHL
000027b7: DUP2
000027b8: MSTORE
000027b9: PUSH1 0x04
000027bb: ADD
000027bc: PUSH2 0x0b47
000027bf: SWAP1
000027c0: PUSH2 0x4ea7
000027c3: JUMP
000027c4: JUMPDEST
000027c5: PUSH1 0xcd
000027c7: DUP1
000027c8: SLOAD
000027c9: PUSH1 0x01
000027cb: PUSH1 0x01
000027cd: PUSH1 0xa0
000027cf: SHL
000027d0: SUB
000027d1: NOT
000027d2: SWAP1
000027d3: DUP2
000027d4: AND
000027d5: SWAP1
000027d6: SWAP2
000027d7: SSTORE
000027d8: PUSH1 0xcb
000027da: DUP1
000027db: SLOAD
000027dc: SWAP1
000027dd: SWAP2
000027de: AND
000027df: SWAP1
000027e0: SSTORE
000027e1: PUSH1 0x00
000027e3: PUSH1 0xce
000027e5: DUP2
000027e6: SWAP1
000027e7: SSTORE
000027e8: PUSH1 0x40
000027ea: MLOAD
000027eb: PUSH4 0x813f2677
000027f0: PUSH1 0xe0
000027f2: SHL
000027f3: DUP2
000027f4: MSTORE
000027f5: PUSH20 0x8b49fdd0cb50ba6d5c053d844fee55e5076f8504
0000280a: SWAP1
0000280b: PUSH4 0x813f2677
00002810: SWAP1
00002811: PUSH2 0x2847
00002814: SWAP1
00002815: PUSH32 0x000000000000000000000000cd99b092a5c08c33d09b3e72046a7ab42d8110d1
00002836: PUSH1 0x01
00002838: PUSH1 0x01
0000283a: PUSH1 0xa0
0000283c: SHL
0000283d: SUB
0000283e: AND
0000283f: SWAP1
00002840: PUSH1 0x04
00002842: ADD
00002843: PUSH2 0x4237
00002846: JUMP
00002847: JUMPDEST
00002848: PUSH1 0x20
0000284a: PUSH1 0x40
0000284c: MLOAD
0000284d: DUP1
0000284e: DUP4
0000284f: SUB
00002850: DUP2
00002851: DUP7
00002852: DUP1
00002853: EXTCODESIZE
00002854: ISZERO
00002855: DUP1
00002856: ISZERO
00002857: PUSH2 0x285f
0000285a: JUMPI
0000285b: PUSH1 0x00
0000285d: DUP1
0000285e: REVERT
0000285f: JUMPDEST
00002860: POP
00002861: GAS
00002862: DELEGATECALL
00002863: ISZERO
00002864: DUP1
00002865: ISZERO
00002866: PUSH2 0x2873
00002869: JUMPI
0000286a: RETURNDATASIZE
0000286b: PUSH1 0x00
0000286d: DUP1
0000286e: RETURNDATACOPY
0000286f: RETURNDATASIZE
00002870: PUSH1 0x00
00002872: REVERT
00002873: JUMPDEST
00002874: POP
00002875: POP
00002876: POP
00002877: POP
00002878: PUSH1 0x40
0000287a: MLOAD
0000287b: RETURNDATASIZE
0000287c: PUSH1 0x1f
0000287e: NOT
0000287f: PUSH1 0x1f
00002881: DUP3
00002882: ADD
00002883: AND
00002884: DUP3
00002885: ADD
00002886: DUP1
00002887: PUSH1 0x40
00002889: MSTORE
0000288a: POP
0000288b: DUP2
0000288c: ADD
0000288d: SWAP1
0000288e: PUSH2 0x2897
00002891: SWAP2
00002892: SWAP1
00002893: PUSH2 0x4158
00002896: JUMP
00002897: JUMPDEST
00002898: SWAP1
00002899: POP
0000289a: DUP2
0000289b: PUSH1 0x01
0000289d: PUSH1 0x01
0000289f: PUSH1 0xa0
000028a1: SHL
000028a2: SUB
000028a3: AND
000028a4: PUSH32 0x7e830f7c1771deb1bdb35c4a7e6051bbac32b376f7f4e4976b8618b0b11997f7
000028c5: DUP3
000028c6: CALLER
000028c7: PUSH1 0x40
000028c9: MLOAD
000028ca: PUSH2 0x28d4
000028cd: SWAP3
000028ce: SWAP2
000028cf: SWAP1
000028d0: PUSH2 0x50b0
000028d3: JUMP
000028d4: JUMPDEST
000028d5: PUSH1 0x40
000028d7: MLOAD
000028d8: DUP1
000028d9: SWAP2
000028da: SUB
000028db: SWAP1
000028dc: LOG2
000028dd: POP
000028de: POP
000028df: PUSH1 0x01
000028e1: DUP1
000028e2: SSTORE
000028e3: JUMP
000028e4: JUMPDEST
000028e5: CALLER
000028e6: SWAP1
000028e7: JUMP
000028e8: JUMPDEST
000028e9: PUSH1 0x01
000028eb: PUSH1 0x01
000028ed: PUSH1 0xa0
000028ef: SHL
000028f0: SUB
000028f1: DUP4
000028f2: AND
000028f3: PUSH2 0x290e
000028f6: JUMPI
000028f7: PUSH1 0x40
000028f9: MLOAD
000028fa: PUSH3 0x461bcd
000028fe: PUSH1 0xe5
00002900: SHL
00002901: DUP2
00002902: MSTORE
00002903: PUSH1 0x04
00002905: ADD
00002906: PUSH2 0x0b47
00002909: SWAP1
0000290a: PUSH2 0x4bd4
0000290d: JUMP
0000290e: JUMPDEST
0000290f: PUSH1 0x01
00002911: PUSH1 0x01
00002913: PUSH1 0xa0
00002915: SHL
00002916: SUB
00002917: DUP3
00002918: AND
00002919: PUSH2 0x2934
0000291c: JUMPI
0000291d: PUSH1 0x40
0000291f: MLOAD
00002920: PUSH3 0x461bcd
00002924: PUSH1 0xe5
00002926: SHL
00002927: DUP2
00002928: MSTORE
00002929: PUSH1 0x04
0000292b: ADD
0000292c: PUSH2 0x0b47
0000292f: SWAP1
00002930: PUSH2 0x4563
00002933: JUMP
00002934: JUMPDEST
00002935: PUSH1 0x01
00002937: PUSH1 0x01
00002939: PUSH1 0xa0
0000293b: SHL
0000293c: SUB
0000293d: DUP1
0000293e: DUP5
0000293f: AND
00002940: PUSH1 0x00
00002942: DUP2
00002943: DUP2
00002944: MSTORE
00002945: PUSH1 0x98
00002947: PUSH1 0x20
00002949: SWAP1
0000294a: DUP2
0000294b: MSTORE
0000294c: PUSH1 0x40
0000294e: DUP1
0000294f: DUP4
00002950: KECCAK256
00002951: SWAP5
00002952: DUP8
00002953: AND
00002954: DUP1
00002955: DUP5
00002956: MSTORE
00002957: SWAP5
00002958: SWAP1
00002959: SWAP2
0000295a: MSTORE
0000295b: SWAP1
0000295c: DUP2
0000295d: SWAP1
0000295e: KECCAK256
0000295f: DUP5
00002960: SWAP1
00002961: SSTORE
00002962: MLOAD
00002963: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00002984: SWAP1
00002985: PUSH2 0x298f
00002988: SWAP1
00002989: DUP6
0000298a: SWAP1
0000298b: PUSH2 0x50a7
0000298e: JUMP
0000298f: JUMPDEST
00002990: PUSH1 0x40
00002992: MLOAD
00002993: DUP1
00002994: SWAP2
00002995: SUB
00002996: SWAP1
00002997: LOG3
00002998: POP
00002999: POP
0000299a: POP
0000299b: JUMP
0000299c: JUMPDEST
0000299d: PUSH1 0x01
0000299f: PUSH1 0x01
000029a1: PUSH1 0xa0
000029a3: SHL
000029a4: SUB
000029a5: DUP4
000029a6: AND
000029a7: PUSH2 0x29c2
000029aa: JUMPI
000029ab: PUSH1 0x40
000029ad: MLOAD
000029ae: PUSH3 0x461bcd
000029b2: PUSH1 0xe5
000029b4: SHL
000029b5: DUP2
000029b6: MSTORE
000029b7: PUSH1 0x04
000029b9: ADD
000029ba: PUSH2 0x0b47
000029bd: SWAP1
000029be: PUSH2 0x4ab1
000029c1: JUMP
000029c2: JUMPDEST
000029c3: PUSH1 0x01
000029c5: PUSH1 0x01
000029c7: PUSH1 0xa0
000029c9: SHL
000029ca: SUB
000029cb: DUP3
000029cc: AND
000029cd: PUSH2 0x29e8
000029d0: JUMPI
000029d1: PUSH1 0x40
000029d3: MLOAD
000029d4: PUSH3 0x461bcd
000029d8: PUSH1 0xe5
000029da: SHL
000029db: DUP2
000029dc: MSTORE
000029dd: PUSH1 0x04
000029df: ADD
000029e0: PUSH2 0x0b47
000029e3: SWAP1
000029e4: PUSH2 0x43cd
000029e7: JUMP
000029e8: JUMPDEST
000029e9: PUSH2 0x29f3
000029ec: DUP4
000029ed: DUP4
000029ee: DUP4
000029ef: PUSH2 0x2bed
000029f2: JUMP
000029f3: JUMPDEST
000029f4: PUSH2 0x2a30
000029f7: DUP2
000029f8: PUSH1 0x40
000029fa: MLOAD
000029fb: DUP1
000029fc: PUSH1 0x60
000029fe: ADD
000029ff: PUSH1 0x40
00002a01: MSTORE
00002a02: DUP1
00002a03: PUSH1 0x26
00002a05: DUP2
00002a06: MSTORE
00002a07: PUSH1 0x20
00002a09: ADD
00002a0a: PUSH2 0x517c
00002a0d: PUSH1 0x26
00002a0f: SWAP2
00002a10: CODECOPY
00002a11: PUSH1 0x01
00002a13: PUSH1 0x01
00002a15: PUSH1 0xa0
00002a17: SHL
00002a18: SUB
00002a19: DUP7
00002a1a: AND
00002a1b: PUSH1 0x00
00002a1d: SWAP1
00002a1e: DUP2
00002a1f: MSTORE
00002a20: PUSH1 0x97
00002a22: PUSH1 0x20
00002a24: MSTORE
00002a25: PUSH1 0x40
00002a27: SWAP1
00002a28: KECCAK256
00002a29: SLOAD
00002a2a: SWAP2
00002a2b: SWAP1
00002a2c: PUSH2 0x2ab1
00002a2f: JUMP
00002a30: JUMPDEST
00002a31: PUSH1 0x01
00002a33: PUSH1 0x01
00002a35: PUSH1 0xa0
00002a37: SHL
00002a38: SUB
00002a39: DUP1
00002a3a: DUP6
00002a3b: AND
00002a3c: PUSH1 0x00
00002a3e: SWAP1
00002a3f: DUP2
00002a40: MSTORE
00002a41: PUSH1 0x97
00002a43: PUSH1 0x20
00002a45: MSTORE
00002a46: PUSH1 0x40
00002a48: DUP1
00002a49: DUP3
00002a4a: KECCAK256
00002a4b: SWAP4
00002a4c: SWAP1
00002a4d: SWAP4
00002a4e: SSTORE
00002a4f: SWAP1
00002a50: DUP5
00002a51: AND
00002a52: DUP2
00002a53: MSTORE
00002a54: KECCAK256
00002a55: SLOAD
00002a56: PUSH2 0x2a5f
00002a59: SWAP1
00002a5a: DUP3
00002a5b: PUSH2 0x2bf2
00002a5e: JUMP
00002a5f: JUMPDEST
00002a60: PUSH1 0x01
00002a62: PUSH1 0x01
00002a64: PUSH1 0xa0
00002a66: SHL
00002a67: SUB
00002a68: DUP1
00002a69: DUP5
00002a6a: AND
00002a6b: PUSH1 0x00
00002a6d: DUP2
00002a6e: DUP2
00002a6f: MSTORE
00002a70: PUSH1 0x97
00002a72: PUSH1 0x20
00002a74: MSTORE
00002a75: PUSH1 0x40
00002a77: SWAP1
00002a78: DUP2
00002a79: SWAP1
00002a7a: KECCAK256
00002a7b: SWAP4
00002a7c: SWAP1
00002a7d: SWAP4
00002a7e: SSTORE
00002a7f: SWAP2
00002a80: MLOAD
00002a81: SWAP1
00002a82: DUP6
00002a83: AND
00002a84: SWAP1
00002a85: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00002aa6: SWAP1
00002aa7: PUSH2 0x298f
00002aaa: SWAP1
00002aab: DUP6
00002aac: SWAP1
00002aad: PUSH2 0x50a7
00002ab0: JUMP
00002ab1: JUMPDEST
00002ab2: PUSH1 0x00
00002ab4: DUP2
00002ab5: DUP5
00002ab6: DUP5
00002ab7: GT
00002ab8: ISZERO
00002ab9: PUSH2 0x2ad5
00002abc: JUMPI
00002abd: PUSH1 0x40
00002abf: MLOAD
00002ac0: PUSH3 0x461bcd
00002ac4: PUSH1 0xe5
00002ac6: SHL
00002ac7: DUP2
00002ac8: MSTORE
00002ac9: PUSH1 0x04
00002acb: ADD
00002acc: PUSH2 0x0b47
00002acf: SWAP2
00002ad0: SWAP1
00002ad1: PUSH2 0x4376
00002ad4: JUMP
00002ad5: JUMPDEST
00002ad6: POP
00002ad7: POP
00002ad8: POP
00002ad9: SWAP1
00002ada: SUB
00002adb: SWAP1
00002adc: JUMP
00002add: JUMPDEST
00002ade: PUSH1 0x00
00002ae0: DUP1
00002ae1: PUSH1 0x00
00002ae3: PUSH2 0x2aeb
00002ae6: DUP6
00002ae7: PUSH2 0x17c1
00002aea: JUMP
00002aeb: JUMPDEST
00002aec: SWAP2
00002aed: POP
00002aee: SWAP2
00002aef: POP
00002af0: DUP4
00002af1: ISZERO
00002af2: PUSH2 0x2b06
00002af5: JUMPI
00002af6: PUSH2 0x2aff
00002af9: DUP3
00002afa: DUP3
00002afb: PUSH2 0x2bf2
00002afe: JUMP
00002aff: JUMPDEST
00002b00: SWAP2
00002b01: POP
00002b02: PUSH1 0x00
00002b04: SWAP1
00002b05: POP
00002b06: JUMPDEST
00002b07: CALLER
00002b08: PUSH1 0x01
00002b0a: PUSH1 0x01
00002b0c: PUSH1 0xa0
00002b0e: SHL
00002b0f: SUB
00002b10: AND
00002b11: PUSH32 0x02f25270a4d87bea75db541cdfe559334a275b4a233520ed6c0a2429667cca94
00002b32: DUP4
00002b33: DUP8
00002b34: DUP5
00002b35: PUSH1 0x40
00002b37: MLOAD
00002b38: PUSH2 0x2b43
00002b3b: SWAP4
00002b3c: SWAP3
00002b3d: SWAP2
00002b3e: SWAP1
00002b3f: PUSH2 0x50f4
00002b42: JUMP
00002b43: JUMPDEST
00002b44: PUSH1 0x40
00002b46: MLOAD
00002b47: DUP1
00002b48: SWAP2
00002b49: SUB
00002b4a: SWAP1
00002b4b: LOG2
00002b4c: PUSH2 0x2b55
00002b4f: CALLER
00002b50: DUP7
00002b51: PUSH2 0x2c88
00002b54: JUMP
00002b55: JUMPDEST
00002b56: PUSH1 0xd1
00002b58: SLOAD
00002b59: PUSH2 0x2b8f
00002b5c: SWAP1
00002b5d: PUSH1 0x01
00002b5f: PUSH1 0x01
00002b61: PUSH1 0xa0
00002b63: SHL
00002b64: SUB
00002b65: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002b86: DUP2
00002b87: AND
00002b88: SWAP2
00002b89: AND
00002b8a: DUP4
00002b8b: PUSH2 0x2b97
00002b8e: JUMP
00002b8f: JUMPDEST
00002b90: POP
00002b91: SWAP4
00002b92: SWAP3
00002b93: POP
00002b94: POP
00002b95: POP
00002b96: JUMP
00002b97: JUMPDEST
00002b98: PUSH2 0x2bed
00002b9b: DUP4
00002b9c: PUSH4 0xa9059cbb
00002ba1: PUSH1 0xe0
00002ba3: SHL
00002ba4: DUP5
00002ba5: DUP5
00002ba6: PUSH1 0x40
00002ba8: MLOAD
00002ba9: PUSH1 0x24
00002bab: ADD
00002bac: PUSH2 0x2bb6
00002baf: SWAP3
00002bb0: SWAP2
00002bb1: SWAP1
00002bb2: PUSH2 0x42dc
00002bb5: JUMP
00002bb6: JUMPDEST
00002bb7: PUSH1 0x40
00002bb9: DUP1
00002bba: MLOAD
00002bbb: PUSH1 0x1f
00002bbd: NOT
00002bbe: DUP2
00002bbf: DUP5
00002bc0: SUB
00002bc1: ADD
00002bc2: DUP2
00002bc3: MSTORE
00002bc4: SWAP2
00002bc5: SWAP1
00002bc6: MSTORE
00002bc7: PUSH1 0x20
00002bc9: DUP2
00002bca: ADD
00002bcb: DUP1
00002bcc: MLOAD
00002bcd: PUSH1 0x01
00002bcf: PUSH1 0x01
00002bd1: PUSH1 0xe0
00002bd3: SHL
00002bd4: SUB
00002bd5: AND
00002bd6: PUSH1 0x01
00002bd8: PUSH1 0x01
00002bda: PUSH1 0xe0
00002bdc: SHL
00002bdd: SUB
00002bde: NOT
00002bdf: SWAP1
00002be0: SWAP4
00002be1: AND
00002be2: SWAP3
00002be3: SWAP1
00002be4: SWAP3
00002be5: OR
00002be6: SWAP1
00002be7: SWAP2
00002be8: MSTORE
00002be9: PUSH2 0x38e1
00002bec: JUMP
00002bed: JUMPDEST
00002bee: POP
00002bef: POP
00002bf0: POP
00002bf1: JUMP
00002bf2: JUMPDEST
00002bf3: PUSH1 0x00
00002bf5: DUP3
00002bf6: DUP3
00002bf7: ADD
00002bf8: DUP4
00002bf9: DUP2
00002bfa: LT
00002bfb: ISZERO
00002bfc: PUSH2 0x0b1d
00002bff: JUMPI
00002c00: PUSH1 0x40
00002c02: MLOAD
00002c03: PUSH3 0x461bcd
00002c07: PUSH1 0xe5
00002c09: SHL
00002c0a: DUP2
00002c0b: MSTORE
00002c0c: PUSH1 0x04
00002c0e: ADD
00002c0f: PUSH2 0x0b47
00002c12: SWAP1
00002c13: PUSH2 0x45d3
00002c16: JUMP
00002c17: JUMPDEST
00002c18: PUSH1 0x00
00002c1a: DUP1
00002c1b: PUSH1 0x00
00002c1d: DUP1
00002c1e: PUSH2 0x2c32
00002c21: DUP6
00002c22: PUSH1 0xce
00002c24: SLOAD
00002c25: PUSH2 0x2bf2
00002c28: SWAP1
00002c29: SWAP2
00002c2a: SWAP1
00002c2b: PUSH4 0xffffffff
00002c30: AND
00002c31: JUMP
00002c32: JUMPDEST
00002c33: SWAP1
00002c34: POP
00002c35: PUSH1 0x00
00002c37: PUSH2 0x2c3e
00002c3a: PUSH2 0x0a96
00002c3d: JUMP
00002c3e: JUMPDEST
00002c3f: SWAP1
00002c40: POP
00002c41: PUSH2 0x2c4e
00002c44: DUP2
00002c45: PUSH2 0x15d0
00002c48: DUP10
00002c49: DUP6
00002c4a: PUSH2 0x2fdd
00002c4d: JUMP
00002c4e: JUMPDEST
00002c4f: SWAP5
00002c50: POP
00002c51: PUSH2 0x2c5a
00002c54: DUP3
00002c55: DUP7
00002c56: PUSH2 0x31d9
00002c59: JUMP
00002c5a: JUMPDEST
00002c5b: SWAP4
00002c5c: POP
00002c5d: PUSH2 0x2c66
00002c60: DUP2
00002c61: DUP9
00002c62: PUSH2 0x31d9
00002c65: JUMP
00002c66: JUMPDEST
00002c67: SWAP3
00002c68: POP
00002c69: POP
00002c6a: POP
00002c6b: SWAP3
00002c6c: POP
00002c6d: SWAP3
00002c6e: POP
00002c6f: SWAP3
00002c70: JUMP
00002c71: JUMPDEST
00002c72: PUSH1 0x00
00002c74: DUP2
00002c75: DUP4
00002c76: GT
00002c77: ISZERO
00002c78: PUSH2 0x2c81
00002c7b: JUMPI
00002c7c: DUP2
00002c7d: PUSH2 0x0b1d
00002c80: JUMP
00002c81: JUMPDEST
00002c82: POP
00002c83: SWAP1
00002c84: SWAP2
00002c85: SWAP1
00002c86: POP
00002c87: JUMP
00002c88: JUMPDEST
00002c89: PUSH1 0x01
00002c8b: PUSH1 0x01
00002c8d: PUSH1 0xa0
00002c8f: SHL
00002c90: SUB
00002c91: DUP3
00002c92: AND
00002c93: PUSH2 0x2cae
00002c96: JUMPI
00002c97: PUSH1 0x40
00002c99: MLOAD
00002c9a: PUSH3 0x461bcd
00002c9e: PUSH1 0xe5
00002ca0: SHL
00002ca1: DUP2
00002ca2: MSTORE
00002ca3: PUSH1 0x04
00002ca5: ADD
00002ca6: PUSH2 0x0b47
00002ca9: SWAP1
00002caa: PUSH2 0x4a70
00002cad: JUMP
00002cae: JUMPDEST
00002caf: PUSH2 0x2cba
00002cb2: DUP3
00002cb3: PUSH1 0x00
00002cb5: DUP4
00002cb6: PUSH2 0x2bed
00002cb9: JUMP
00002cba: JUMPDEST
00002cbb: PUSH2 0x2cf7
00002cbe: DUP2
00002cbf: PUSH1 0x40
00002cc1: MLOAD
00002cc2: DUP1
00002cc3: PUSH1 0x60
00002cc5: ADD
00002cc6: PUSH1 0x40
00002cc8: MSTORE
00002cc9: DUP1
00002cca: PUSH1 0x22
00002ccc: DUP2
00002ccd: MSTORE
00002cce: PUSH1 0x20
00002cd0: ADD
00002cd1: PUSH2 0x515a
00002cd4: PUSH1 0x22
00002cd6: SWAP2
00002cd7: CODECOPY
00002cd8: PUSH1 0x01
00002cda: PUSH1 0x01
00002cdc: PUSH1 0xa0
00002cde: SHL
00002cdf: SUB
00002ce0: DUP6
00002ce1: AND
00002ce2: PUSH1 0x00
00002ce4: SWAP1
00002ce5: DUP2
00002ce6: MSTORE
00002ce7: PUSH1 0x97
00002ce9: PUSH1 0x20
00002ceb: MSTORE
00002cec: PUSH1 0x40
00002cee: SWAP1
00002cef: KECCAK256
00002cf0: SLOAD
00002cf1: SWAP2
00002cf2: SWAP1
00002cf3: PUSH2 0x2ab1
00002cf6: JUMP
00002cf7: JUMPDEST
00002cf8: PUSH1 0x01
00002cfa: PUSH1 0x01
00002cfc: PUSH1 0xa0
00002cfe: SHL
00002cff: SUB
00002d00: DUP4
00002d01: AND
00002d02: PUSH1 0x00
00002d04: SWAP1
00002d05: DUP2
00002d06: MSTORE
00002d07: PUSH1 0x97
00002d09: PUSH1 0x20
00002d0b: MSTORE
00002d0c: PUSH1 0x40
00002d0e: SWAP1
00002d0f: KECCAK256
00002d10: SSTORE
00002d11: PUSH1 0x99
00002d13: SLOAD
00002d14: PUSH2 0x2d1d
00002d17: SWAP1
00002d18: DUP3
00002d19: PUSH2 0x31d9
00002d1c: JUMP
00002d1d: JUMPDEST
00002d1e: PUSH1 0x99
00002d20: SSTORE
00002d21: PUSH1 0x40
00002d23: MLOAD
00002d24: PUSH1 0x00
00002d26: SWAP1
00002d27: PUSH1 0x01
00002d29: PUSH1 0x01
00002d2b: PUSH1 0xa0
00002d2d: SHL
00002d2e: SUB
00002d2f: DUP5
00002d30: AND
00002d31: SWAP1
00002d32: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00002d53: SWAP1
00002d54: PUSH2 0x2d5e
00002d57: SWAP1
00002d58: DUP6
00002d59: SWAP1
00002d5a: PUSH2 0x50a7
00002d5d: JUMP
00002d5e: JUMPDEST
00002d5f: PUSH1 0x40
00002d61: MLOAD
00002d62: DUP1
00002d63: SWAP2
00002d64: SUB
00002d65: SWAP1
00002d66: LOG3
00002d67: POP
00002d68: POP
00002d69: JUMP
00002d6a: JUMPDEST
00002d6b: DUP1
00002d6c: ISZERO
00002d6d: DUP1
00002d6e: PUSH2 0x2df2
00002d71: JUMPI
00002d72: POP
00002d73: PUSH1 0x40
00002d75: MLOAD
00002d76: PUSH4 0x6eb1769f
00002d7b: PUSH1 0xe1
00002d7d: SHL
00002d7e: DUP2
00002d7f: MSTORE
00002d80: PUSH1 0x01
00002d82: PUSH1 0x01
00002d84: PUSH1 0xa0
00002d86: SHL
00002d87: SUB
00002d88: DUP5
00002d89: AND
00002d8a: SWAP1
00002d8b: PUSH4 0xdd62ed3e
00002d90: SWAP1
00002d91: PUSH2 0x2da0
00002d94: SWAP1
00002d95: ADDRESS
00002d96: SWAP1
00002d97: DUP7
00002d98: SWAP1
00002d99: PUSH1 0x04
00002d9b: ADD
00002d9c: PUSH2 0x429e
00002d9f: JUMP
00002da0: JUMPDEST
00002da1: PUSH1 0x20
00002da3: PUSH1 0x40
00002da5: MLOAD
00002da6: DUP1
00002da7: DUP4
00002da8: SUB
00002da9: DUP2
00002daa: DUP7
00002dab: DUP1
00002dac: EXTCODESIZE
00002dad: ISZERO
00002dae: DUP1
00002daf: ISZERO
00002db0: PUSH2 0x2db8
00002db3: JUMPI
00002db4: PUSH1 0x00
00002db6: DUP1
00002db7: REVERT
00002db8: JUMPDEST
00002db9: POP
00002dba: GAS
00002dbb: STATICCALL
00002dbc: ISZERO
00002dbd: DUP1
00002dbe: ISZERO
00002dbf: PUSH2 0x2dcc
00002dc2: JUMPI
00002dc3: RETURNDATASIZE
00002dc4: PUSH1 0x00
00002dc6: DUP1
00002dc7: RETURNDATACOPY
00002dc8: RETURNDATASIZE
00002dc9: PUSH1 0x00
00002dcb: REVERT
00002dcc: JUMPDEST
00002dcd: POP
00002dce: POP
00002dcf: POP
00002dd0: POP
00002dd1: PUSH1 0x40
00002dd3: MLOAD
00002dd4: RETURNDATASIZE
00002dd5: PUSH1 0x1f
00002dd7: NOT
00002dd8: PUSH1 0x1f
00002dda: DUP3
00002ddb: ADD
00002ddc: AND
00002ddd: DUP3
00002dde: ADD
00002ddf: DUP1
00002de0: PUSH1 0x40
00002de2: MSTORE
00002de3: POP
00002de4: DUP2
00002de5: ADD
00002de6: SWAP1
00002de7: PUSH2 0x2df0
00002dea: SWAP2
00002deb: SWAP1
00002dec: PUSH2 0x4158
00002def: JUMP
00002df0: JUMPDEST
00002df1: ISZERO
00002df2: JUMPDEST
00002df3: PUSH2 0x2e0e
00002df6: JUMPI
00002df7: PUSH1 0x40
00002df9: MLOAD
00002dfa: PUSH3 0x461bcd
00002dfe: PUSH1 0xe5
00002e00: SHL
00002e01: DUP2
00002e02: MSTORE
00002e03: PUSH1 0x04
00002e05: ADD
00002e06: PUSH2 0x0b47
00002e09: SWAP1
00002e0a: PUSH2 0x4e0e
00002e0d: JUMP
00002e0e: JUMPDEST
00002e0f: PUSH2 0x2bed
00002e12: DUP4
00002e13: PUSH4 0x095ea7b3
00002e18: PUSH1 0xe0
00002e1a: SHL
00002e1b: DUP5
00002e1c: DUP5
00002e1d: PUSH1 0x40
00002e1f: MLOAD
00002e20: PUSH1 0x24
00002e22: ADD
00002e23: PUSH2 0x2bb6
00002e26: SWAP3
00002e27: SWAP2
00002e28: SWAP1
00002e29: PUSH2 0x42dc
00002e2c: JUMP
00002e2d: JUMPDEST
00002e2e: PUSH1 0x00
00002e30: PUSH2 0x2e38
00002e33: ADDRESS
00002e34: PUSH2 0x3970
00002e37: JUMP
00002e38: JUMPDEST
00002e39: ISZERO
00002e3a: SWAP1
00002e3b: POP
00002e3c: SWAP1
00002e3d: JUMP
00002e3e: JUMPDEST
00002e3f: PUSH1 0x00
00002e41: SLOAD
00002e42: PUSH2 0x0100
00002e45: SWAP1
00002e46: DIV
00002e47: PUSH1 0xff
00002e49: AND
00002e4a: DUP1
00002e4b: PUSH2 0x2e57
00002e4e: JUMPI
00002e4f: POP
00002e50: PUSH2 0x2e57
00002e53: PUSH2 0x2e2d
00002e56: JUMP
00002e57: JUMPDEST
00002e58: DUP1
00002e59: PUSH2 0x2e65
00002e5c: JUMPI
00002e5d: POP
00002e5e: PUSH1 0x00
00002e60: SLOAD
00002e61: PUSH1 0xff
00002e63: AND
00002e64: ISZERO
00002e65: JUMPDEST
00002e66: PUSH2 0x2e81
00002e69: JUMPI
00002e6a: PUSH1 0x40
00002e6c: MLOAD
00002e6d: PUSH3 0x461bcd
00002e71: PUSH1 0xe5
00002e73: SHL
00002e74: DUP2
00002e75: MSTORE
00002e76: PUSH1 0x04
00002e78: ADD
00002e79: PUSH2 0x0b47
00002e7c: SWAP1
00002e7d: PUSH2 0x486c
00002e80: JUMP
00002e81: JUMPDEST
00002e82: PUSH1 0x00
00002e84: SLOAD
00002e85: PUSH2 0x0100
00002e88: SWAP1
00002e89: DIV
00002e8a: PUSH1 0xff
00002e8c: AND
00002e8d: ISZERO
00002e8e: DUP1
00002e8f: ISZERO
00002e90: PUSH2 0x2eac
00002e93: JUMPI
00002e94: PUSH1 0x00
00002e96: DUP1
00002e97: SLOAD
00002e98: PUSH1 0xff
00002e9a: NOT
00002e9b: PUSH2 0xff00
00002e9e: NOT
00002e9f: SWAP1
00002ea0: SWAP2
00002ea1: AND
00002ea2: PUSH2 0x0100
00002ea5: OR
00002ea6: AND
00002ea7: PUSH1 0x01
00002ea9: OR
00002eaa: SWAP1
00002eab: SSTORE
00002eac: JUMPDEST
00002ead: PUSH2 0x2eb4
00002eb0: PUSH2 0x3976
00002eb3: JUMP
00002eb4: JUMPDEST
00002eb5: DUP1
00002eb6: ISZERO
00002eb7: PUSH2 0x2ec6
00002eba: JUMPI
00002ebb: PUSH1 0x00
00002ebd: DUP1
00002ebe: SLOAD
00002ebf: PUSH2 0xff00
00002ec2: NOT
00002ec3: AND
00002ec4: SWAP1
00002ec5: SSTORE
00002ec6: JUMPDEST
00002ec7: POP
00002ec8: JUMP
00002ec9: JUMPDEST
00002eca: PUSH1 0x00
00002ecc: SLOAD
00002ecd: PUSH2 0x0100
00002ed0: SWAP1
00002ed1: DIV
00002ed2: PUSH1 0xff
00002ed4: AND
00002ed5: DUP1
00002ed6: PUSH2 0x2ee2
00002ed9: JUMPI
00002eda: POP
00002edb: PUSH2 0x2ee2
00002ede: PUSH2 0x2e2d
00002ee1: JUMP
00002ee2: JUMPDEST
00002ee3: DUP1
00002ee4: PUSH2 0x2ef0
00002ee7: JUMPI
00002ee8: POP
00002ee9: PUSH1 0x00
00002eeb: SLOAD
00002eec: PUSH1 0xff
00002eee: AND
00002eef: ISZERO
00002ef0: JUMPDEST
00002ef1: PUSH2 0x2f0c
00002ef4: JUMPI
00002ef5: PUSH1 0x40
00002ef7: MLOAD
00002ef8: PUSH3 0x461bcd
00002efc: PUSH1 0xe5
00002efe: SHL
00002eff: DUP2
00002f00: MSTORE
00002f01: PUSH1 0x04
00002f03: ADD
00002f04: PUSH2 0x0b47
00002f07: SWAP1
00002f08: PUSH2 0x486c
00002f0b: JUMP
00002f0c: JUMPDEST
00002f0d: PUSH1 0x00
00002f0f: SLOAD
00002f10: PUSH2 0x0100
00002f13: SWAP1
00002f14: DIV
00002f15: PUSH1 0xff
00002f17: AND
00002f18: ISZERO
00002f19: DUP1
00002f1a: ISZERO
00002f1b: PUSH2 0x2f37
00002f1e: JUMPI
00002f1f: PUSH1 0x00
00002f21: DUP1
00002f22: SLOAD
00002f23: PUSH1 0xff
00002f25: NOT
00002f26: PUSH2 0xff00
00002f29: NOT
00002f2a: SWAP1
00002f2b: SWAP2
00002f2c: AND
00002f2d: PUSH2 0x0100
00002f30: OR
00002f31: AND
00002f32: PUSH1 0x01
00002f34: OR
00002f35: SWAP1
00002f36: SSTORE
00002f37: JUMPDEST
00002f38: PUSH2 0x2f3f
00002f3b: PUSH2 0x39fc
00002f3e: JUMP
00002f3f: JUMPDEST
00002f40: PUSH2 0x2f49
00002f43: DUP4
00002f44: DUP4
00002f45: PUSH2 0x3a7d
00002f48: JUMP
00002f49: JUMPDEST
00002f4a: DUP1
00002f4b: ISZERO
00002f4c: PUSH2 0x2bed
00002f4f: JUMPI
00002f50: PUSH1 0x00
00002f52: DUP1
00002f53: SLOAD
00002f54: PUSH2 0xff00
00002f57: NOT
00002f58: AND
00002f59: SWAP1
00002f5a: SSTORE
00002f5b: POP
00002f5c: POP
00002f5d: POP
00002f5e: JUMP
00002f5f: JUMPDEST
00002f60: PUSH1 0x00
00002f62: SLOAD
00002f63: PUSH2 0x0100
00002f66: SWAP1
00002f67: DIV
00002f68: PUSH1 0xff
00002f6a: AND
00002f6b: DUP1
00002f6c: PUSH2 0x2f78
00002f6f: JUMPI
00002f70: POP
00002f71: PUSH2 0x2f78
00002f74: PUSH2 0x2e2d
00002f77: JUMP
00002f78: JUMPDEST
00002f79: DUP1
00002f7a: PUSH2 0x2f86
00002f7d: JUMPI
00002f7e: POP
00002f7f: PUSH1 0x00
00002f81: SLOAD
00002f82: PUSH1 0xff
00002f84: AND
00002f85: ISZERO
00002f86: JUMPDEST
00002f87: PUSH2 0x2fa2
00002f8a: JUMPI
00002f8b: PUSH1 0x40
00002f8d: MLOAD
00002f8e: PUSH3 0x461bcd
00002f92: PUSH1 0xe5
00002f94: SHL
00002f95: DUP2
00002f96: MSTORE
00002f97: PUSH1 0x04
00002f99: ADD
00002f9a: PUSH2 0x0b47
00002f9d: SWAP1
00002f9e: PUSH2 0x486c
00002fa1: JUMP
00002fa2: JUMPDEST
00002fa3: PUSH1 0x00
00002fa5: SLOAD
00002fa6: PUSH2 0x0100
00002fa9: SWAP1
00002faa: DIV
00002fab: PUSH1 0xff
00002fad: AND
00002fae: ISZERO
00002faf: DUP1
00002fb0: ISZERO
00002fb1: PUSH2 0x2fcd
00002fb4: JUMPI
00002fb5: PUSH1 0x00
00002fb7: DUP1
00002fb8: SLOAD
00002fb9: PUSH1 0xff
00002fbb: NOT
00002fbc: PUSH2 0xff00
00002fbf: NOT
00002fc0: SWAP1
00002fc1: SWAP2
00002fc2: AND
00002fc3: PUSH2 0x0100
00002fc6: OR
00002fc7: AND
00002fc8: PUSH1 0x01
00002fca: OR
00002fcb: SWAP1
00002fcc: SSTORE
00002fcd: JUMPDEST
00002fce: PUSH2 0x2fd5
00002fd1: PUSH2 0x39fc
00002fd4: JUMP
00002fd5: JUMPDEST
00002fd6: PUSH2 0x2eb4
00002fd9: PUSH2 0x3b36
00002fdc: JUMP
00002fdd: JUMPDEST
00002fde: PUSH1 0x00
00002fe0: DUP3
00002fe1: PUSH2 0x2fec
00002fe4: JUMPI
00002fe5: POP
00002fe6: PUSH1 0x00
00002fe8: PUSH2 0x0a90
00002feb: JUMP
00002fec: JUMPDEST
00002fed: DUP3
00002fee: DUP3
00002fef: MUL
00002ff0: DUP3
00002ff1: DUP5
00002ff2: DUP3
00002ff3: DUP2
00002ff4: PUSH2 0x2ff9
00002ff7: JUMPI
00002ff8: INVALID
00002ff9: JUMPDEST
00002ffa: DIV
00002ffb: EQ
00002ffc: PUSH2 0x0b1d
00002fff: JUMPI
00003000: PUSH1 0x40
00003002: MLOAD
00003003: PUSH3 0x461bcd
00003007: PUSH1 0xe5
00003009: SHL
0000300a: DUP2
0000300b: MSTORE
0000300c: PUSH1 0x04
0000300e: ADD
0000300f: PUSH2 0x0b47
00003012: SWAP1
00003013: PUSH2 0x48db
00003016: JUMP
00003017: JUMPDEST
00003018: PUSH1 0x00
0000301a: DUP1
0000301b: DUP3
0000301c: GT
0000301d: PUSH2 0x3038
00003020: JUMPI
00003021: PUSH1 0x40
00003023: MLOAD
00003024: PUSH3 0x461bcd
00003028: PUSH1 0xe5
0000302a: SHL
0000302b: DUP2
0000302c: MSTORE
0000302d: PUSH1 0x04
0000302f: ADD
00003030: PUSH2 0x0b47
00003033: SWAP1
00003034: PUSH2 0x4792
00003037: JUMP
00003038: JUMPDEST
00003039: DUP2
0000303a: DUP4
0000303b: DUP2
0000303c: PUSH2 0x3041
0000303f: JUMPI
00003040: INVALID
00003041: JUMPDEST
00003042: DIV
00003043: SWAP4
00003044: SWAP3
00003045: POP
00003046: POP
00003047: POP
00003048: JUMP
00003049: JUMPDEST
0000304a: PUSH2 0x306a
0000304d: DUP5
0000304e: PUSH4 0x23b872dd
00003053: PUSH1 0xe0
00003055: SHL
00003056: DUP6
00003057: DUP6
00003058: DUP6
00003059: PUSH1 0x40
0000305b: MLOAD
0000305c: PUSH1 0x24
0000305e: ADD
0000305f: PUSH2 0x2bb6
00003062: SWAP4
00003063: SWAP3
00003064: SWAP2
00003065: SWAP1
00003066: PUSH2 0x42b8
00003069: JUMP
0000306a: JUMPDEST
0000306b: POP
0000306c: POP
0000306d: POP
0000306e: POP
0000306f: JUMP
00003070: JUMPDEST
00003071: PUSH1 0x00
00003073: PUSH2 0x307a
00003076: PUSH2 0x16ae
00003079: JUMP
0000307a: JUMPDEST
0000307b: SWAP1
0000307c: POP
0000307d: PUSH1 0xcf
0000307f: SLOAD
00003080: DUP2
00003081: LT
00003082: PUSH2 0x309d
00003085: JUMPI
00003086: PUSH1 0x40
00003088: MLOAD
00003089: PUSH3 0x461bcd
0000308d: PUSH1 0xe5
0000308f: SHL
00003090: DUP2
00003091: MSTORE
00003092: PUSH1 0x04
00003094: ADD
00003095: PUSH2 0x0b47
00003098: SWAP1
00003099: PUSH2 0x4d85
0000309c: JUMP
0000309d: JUMPDEST
0000309e: PUSH32 0x00000000000000000000000000000000000000000000000000000002540be400
000030bf: DUP2
000030c0: LT
000030c1: ISZERO
000030c2: PUSH2 0x30dd
000030c5: JUMPI
000030c6: PUSH1 0x40
000030c8: MLOAD
000030c9: PUSH3 0x461bcd
000030cd: PUSH1 0xe5
000030cf: SHL
000030d0: DUP2
000030d1: MSTORE
000030d2: PUSH1 0x04
000030d4: ADD
000030d5: PUSH2 0x0b47
000030d8: SWAP1
000030d9: PUSH2 0x4c18
000030dc: JUMP
000030dd: JUMPDEST
000030de: PUSH1 0x00
000030e0: PUSH2 0x30e9
000030e3: DUP3
000030e4: DUP5
000030e5: PUSH2 0x31d9
000030e8: JUMP
000030e9: JUMPDEST
000030ea: SWAP1
000030eb: POP
000030ec: PUSH1 0x00
000030ee: PUSH2 0x30f5
000030f1: PUSH2 0x0a96
000030f4: JUMP
000030f5: JUMPDEST
000030f6: SWAP1
000030f7: POP
000030f8: PUSH1 0x00
000030fa: DUP2
000030fb: ISZERO
000030fc: PUSH2 0x3112
000030ff: JUMPI
00003100: PUSH2 0x310d
00003103: DUP4
00003104: PUSH2 0x15d0
00003107: DUP8
00003108: DUP6
00003109: PUSH2 0x2fdd
0000310c: JUMP
0000310d: JUMPDEST
0000310e: PUSH2 0x3114
00003111: JUMP
00003112: JUMPDEST
00003113: DUP5
00003114: JUMPDEST
00003115: SWAP1
00003116: POP
00003117: PUSH32 0x00000000000000000000000000000000000000000000000000000002540be400
00003138: PUSH2 0x3141
0000313b: DUP4
0000313c: DUP4
0000313d: PUSH2 0x2bf2
00003140: JUMP
00003141: JUMPDEST
00003142: LT
00003143: ISZERO
00003144: PUSH2 0x315f
00003147: JUMPI
00003148: PUSH1 0x40
0000314a: MLOAD
0000314b: PUSH3 0x461bcd
0000314f: PUSH1 0xe5
00003151: SHL
00003152: DUP2
00003153: MSTORE
00003154: PUSH1 0x04
00003156: ADD
00003157: PUSH2 0x0b47
0000315a: SWAP1
0000315b: PUSH2 0x4445
0000315e: JUMP
0000315f: JUMPDEST
00003160: CALLER
00003161: PUSH1 0x01
00003163: PUSH1 0x01
00003165: PUSH1 0xa0
00003167: SHL
00003168: SUB
00003169: AND
0000316a: PUSH32 0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15
0000318b: DUP7
0000318c: DUP4
0000318d: PUSH1 0x40
0000318f: MLOAD
00003190: PUSH2 0x319a
00003193: SWAP3
00003194: SWAP2
00003195: SWAP1
00003196: PUSH2 0x50c7
00003199: JUMP
0000319a: JUMPDEST
0000319b: PUSH1 0x40
0000319d: MLOAD
0000319e: DUP1
0000319f: SWAP2
000031a0: SUB
000031a1: SWAP1
000031a2: LOG2
000031a3: PUSH2 0x0e83
000031a6: CALLER
000031a7: DUP3
000031a8: PUSH2 0x3c10
000031ab: JUMP
000031ac: JUMPDEST
000031ad: PUSH1 0x00
000031af: PUSH8 0x0de0b6b3a7640000
000031b8: PUSH2 0x31d2
000031bb: PUSH2 0x31c4
000031be: DUP6
000031bf: DUP6
000031c0: PUSH2 0x3cc4
000031c3: JUMP
000031c4: JUMPDEST
000031c5: PUSH8 0x06f05b59d3b20000
000031ce: PUSH2 0x3cfb
000031d1: JUMP
000031d2: JUMPDEST
000031d3: DUP2
000031d4: PUSH2 0x3041
000031d7: JUMPI
000031d8: INVALID
000031d9: JUMPDEST
000031da: PUSH1 0x00
000031dc: DUP3
000031dd: DUP3
000031de: GT
000031df: ISZERO
000031e0: PUSH2 0x31fb
000031e3: JUMPI
000031e4: PUSH1 0x40
000031e6: MLOAD
000031e7: PUSH3 0x461bcd
000031eb: PUSH1 0xe5
000031ed: SHL
000031ee: DUP2
000031ef: MSTORE
000031f0: PUSH1 0x04
000031f2: ADD
000031f3: PUSH2 0x0b47
000031f6: SWAP1
000031f7: PUSH2 0x4715
000031fa: JUMP
000031fb: JUMPDEST
000031fc: POP
000031fd: SWAP1
000031fe: SUB
000031ff: SWAP1
00003200: JUMP
00003201: JUMPDEST
00003202: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00003223: ISZERO
00003224: PUSH2 0x3266
00003227: JUMPI
00003228: PUSH1 0x01
0000322a: PUSH2 0x3239
0000322d: PUSH1 0xc0
0000322f: DUP4
00003230: ADD
00003231: PUSH1 0xa0
00003233: DUP5
00003234: ADD
00003235: PUSH2 0x40fd
00003238: JUMP
00003239: JUMPDEST
0000323a: PUSH1 0x02
0000323c: DUP2
0000323d: GT
0000323e: ISZERO
0000323f: PUSH2 0x3244
00003242: JUMPI
00003243: INVALID
00003244: JUMPDEST
00003245: EQ
00003246: PUSH2 0x3261
00003249: JUMPI
0000324a: PUSH1 0x40
0000324c: MLOAD
0000324d: PUSH3 0x461bcd
00003251: PUSH1 0xe5
00003253: SHL
00003254: DUP2
00003255: MSTORE
00003256: PUSH1 0x04
00003258: ADD
00003259: PUSH2 0x0b47
0000325c: SWAP1
0000325d: PUSH2 0x44b3
00003260: JUMP
00003261: JUMPDEST
00003262: PUSH2 0x32a0
00003265: JUMP
00003266: JUMPDEST
00003267: PUSH1 0x02
00003269: PUSH2 0x3278
0000326c: PUSH1 0xc0
0000326e: DUP4
0000326f: ADD
00003270: PUSH1 0xa0
00003272: DUP5
00003273: ADD
00003274: PUSH2 0x40fd
00003277: JUMP
00003278: JUMPDEST
00003279: PUSH1 0x02
0000327b: DUP2
0000327c: GT
0000327d: ISZERO
0000327e: PUSH2 0x3283
00003281: JUMPI
00003282: INVALID
00003283: JUMPDEST
00003284: EQ
00003285: PUSH2 0x32a0
00003288: JUMPI
00003289: PUSH1 0x40
0000328b: MLOAD
0000328c: PUSH3 0x461bcd
00003290: PUSH1 0xe5
00003292: SHL
00003293: DUP2
00003294: MSTORE
00003295: PUSH1 0x04
00003297: ADD
00003298: PUSH2 0x0b47
0000329b: SWAP1
0000329c: PUSH2 0x44fe
0000329f: JUMP
000032a0: JUMPDEST
000032a1: PUSH1 0x40
000032a3: MLOAD
000032a4: PUSH4 0x37166629
000032a9: PUSH1 0xe1
000032ab: SHL
000032ac: DUP2
000032ad: MSTORE
000032ae: PUSH1 0x00
000032b0: SWAP1
000032b1: PUSH1 0x01
000032b3: PUSH1 0x01
000032b5: PUSH1 0xa0
000032b7: SHL
000032b8: SUB
000032b9: PUSH32 0x000000000000000000000000cd99b092a5c08c33d09b3e72046a7ab42d8110d1
000032da: AND
000032db: SWAP1
000032dc: PUSH4 0x6e2ccc52
000032e1: SWAP1
000032e2: PUSH2 0x32ef
000032e5: SWAP1
000032e6: DUP6
000032e7: SWAP1
000032e8: PUSH1 0x04
000032ea: ADD
000032eb: PUSH2 0x4f2c
000032ee: JUMP
000032ef: JUMPDEST
000032f0: PUSH1 0x20
000032f2: PUSH1 0x40
000032f4: MLOAD
000032f5: DUP1
000032f6: DUP4
000032f7: SUB
000032f8: DUP2
000032f9: DUP7
000032fa: DUP1
000032fb: EXTCODESIZE
000032fc: ISZERO
000032fd: DUP1
000032fe: ISZERO
000032ff: PUSH2 0x3307
00003302: JUMPI
00003303: PUSH1 0x00
00003305: DUP1
00003306: REVERT
00003307: JUMPDEST
00003308: POP
00003309: GAS
0000330a: STATICCALL
0000330b: ISZERO
0000330c: DUP1
0000330d: ISZERO
0000330e: PUSH2 0x331b
00003311: JUMPI
00003312: RETURNDATASIZE
00003313: PUSH1 0x00
00003315: DUP1
00003316: RETURNDATACOPY
00003317: RETURNDATASIZE
00003318: PUSH1 0x00
0000331a: REVERT
0000331b: JUMPDEST
0000331c: POP
0000331d: POP
0000331e: POP
0000331f: POP
00003320: PUSH1 0x40
00003322: MLOAD
00003323: RETURNDATASIZE
00003324: PUSH1 0x1f
00003326: NOT
00003327: PUSH1 0x1f
00003329: DUP3
0000332a: ADD
0000332b: AND
0000332c: DUP3
0000332d: ADD
0000332e: DUP1
0000332f: PUSH1 0x40
00003331: MSTORE
00003332: POP
00003333: DUP2
00003334: ADD
00003335: SWAP1
00003336: PUSH2 0x333f
00003339: SWAP2
0000333a: SWAP1
0000333b: PUSH2 0x3f82
0000333e: JUMP
0000333f: JUMPDEST
00003340: SWAP1
00003341: POP
00003342: PUSH1 0x01
00003344: PUSH1 0x01
00003346: PUSH1 0xa0
00003348: SHL
00003349: SUB
0000334a: DUP2
0000334b: AND
0000334c: PUSH2 0x3367
0000334f: JUMPI
00003350: PUSH1 0x40
00003352: MLOAD
00003353: PUSH3 0x461bcd
00003357: PUSH1 0xe5
00003359: SHL
0000335a: DUP2
0000335b: MSTORE
0000335c: PUSH1 0x04
0000335e: ADD
0000335f: PUSH2 0x0b47
00003362: SWAP1
00003363: PUSH2 0x4d64
00003366: JUMP
00003367: JUMPDEST
00003368: PUSH1 0x00
0000336a: DUP2
0000336b: SWAP1
0000336c: POP
0000336d: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
0000338e: ISZERO
0000338f: ISZERO
00003390: DUP2
00003391: PUSH1 0x01
00003393: PUSH1 0x01
00003395: PUSH1 0xa0
00003397: SHL
00003398: SUB
00003399: AND
0000339a: PUSH4 0xf3c274a6
0000339f: PUSH1 0x40
000033a1: MLOAD
000033a2: DUP2
000033a3: PUSH4 0xffffffff
000033a8: AND
000033a9: PUSH1 0xe0
000033ab: SHL
000033ac: DUP2
000033ad: MSTORE
000033ae: PUSH1 0x04
000033b0: ADD
000033b1: PUSH1 0x20
000033b3: PUSH1 0x40
000033b5: MLOAD
000033b6: DUP1
000033b7: DUP4
000033b8: SUB
000033b9: DUP2
000033ba: DUP7
000033bb: DUP1
000033bc: EXTCODESIZE
000033bd: ISZERO
000033be: DUP1
000033bf: ISZERO
000033c0: PUSH2 0x33c8
000033c3: JUMPI
000033c4: PUSH1 0x00
000033c6: DUP1
000033c7: REVERT
000033c8: JUMPDEST
000033c9: POP
000033ca: GAS
000033cb: STATICCALL
000033cc: ISZERO
000033cd: DUP1
000033ce: ISZERO
000033cf: PUSH2 0x33dc
000033d2: JUMPI
000033d3: RETURNDATASIZE
000033d4: PUSH1 0x00
000033d6: DUP1
000033d7: RETURNDATACOPY
000033d8: RETURNDATASIZE
000033d9: PUSH1 0x00
000033db: REVERT
000033dc: JUMPDEST
000033dd: POP
000033de: POP
000033df: POP
000033e0: POP
000033e1: PUSH1 0x40
000033e3: MLOAD
000033e4: RETURNDATASIZE
000033e5: PUSH1 0x1f
000033e7: NOT
000033e8: PUSH1 0x1f
000033ea: DUP3
000033eb: ADD
000033ec: AND
000033ed: DUP3
000033ee: ADD
000033ef: DUP1
000033f0: PUSH1 0x40
000033f2: MSTORE
000033f3: POP
000033f4: DUP2
000033f5: ADD
000033f6: SWAP1
000033f7: PUSH2 0x3400
000033fa: SWAP2
000033fb: SWAP1
000033fc: PUSH2 0x40dd
000033ff: JUMP
00003400: JUMPDEST
00003401: ISZERO
00003402: ISZERO
00003403: EQ
00003404: PUSH2 0x341f
00003407: JUMPI
00003408: PUSH1 0x40
0000340a: MLOAD
0000340b: PUSH3 0x461bcd
0000340f: PUSH1 0xe5
00003411: SHL
00003412: DUP2
00003413: MSTORE
00003414: PUSH1 0x04
00003416: ADD
00003417: PUSH2 0x0b47
0000341a: SWAP1
0000341b: PUSH2 0x460a
0000341e: JUMP
0000341f: JUMPDEST
00003420: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00003441: PUSH1 0x01
00003443: PUSH1 0x01
00003445: PUSH1 0xa0
00003447: SHL
00003448: SUB
00003449: AND
0000344a: DUP2
0000344b: PUSH1 0x01
0000344d: PUSH1 0x01
0000344f: PUSH1 0xa0
00003451: SHL
00003452: SUB
00003453: AND
00003454: PUSH4 0x7158da7c
00003459: PUSH1 0x40
0000345b: MLOAD
0000345c: DUP2
0000345d: PUSH4 0xffffffff
00003462: AND
00003463: PUSH1 0xe0
00003465: SHL
00003466: DUP2
00003467: MSTORE
00003468: PUSH1 0x04
0000346a: ADD
0000346b: PUSH1 0x20
0000346d: PUSH1 0x40
0000346f: MLOAD
00003470: DUP1
00003471: DUP4
00003472: SUB
00003473: DUP2
00003474: DUP7
00003475: DUP1
00003476: EXTCODESIZE
00003477: ISZERO
00003478: DUP1
00003479: ISZERO
0000347a: PUSH2 0x3482
0000347d: JUMPI
0000347e: PUSH1 0x00
00003480: DUP1
00003481: REVERT
00003482: JUMPDEST
00003483: POP
00003484: GAS
00003485: STATICCALL
00003486: ISZERO
00003487: DUP1
00003488: ISZERO
00003489: PUSH2 0x3496
0000348c: JUMPI
0000348d: RETURNDATASIZE
0000348e: PUSH1 0x00
00003490: DUP1
00003491: RETURNDATACOPY
00003492: RETURNDATASIZE
00003493: PUSH1 0x00
00003495: REVERT
00003496: JUMPDEST
00003497: POP
00003498: POP
00003499: POP
0000349a: POP
0000349b: PUSH1 0x40
0000349d: MLOAD
0000349e: RETURNDATASIZE
0000349f: PUSH1 0x1f
000034a1: NOT
000034a2: PUSH1 0x1f
000034a4: DUP3
000034a5: ADD
000034a6: AND
000034a7: DUP3
000034a8: ADD
000034a9: DUP1
000034aa: PUSH1 0x40
000034ac: MSTORE
000034ad: POP
000034ae: DUP2
000034af: ADD
000034b0: SWAP1
000034b1: PUSH2 0x34ba
000034b4: SWAP2
000034b5: SWAP1
000034b6: PUSH2 0x3f82
000034b9: JUMP
000034ba: JUMPDEST
000034bb: PUSH1 0x01
000034bd: PUSH1 0x01
000034bf: PUSH1 0xa0
000034c1: SHL
000034c2: SUB
000034c3: AND
000034c4: EQ
000034c5: PUSH2 0x34e0
000034c8: JUMPI
000034c9: PUSH1 0x40
000034cb: MLOAD
000034cc: PUSH3 0x461bcd
000034d0: PUSH1 0xe5
000034d2: SHL
000034d3: DUP2
000034d4: MSTORE
000034d5: PUSH1 0x04
000034d7: ADD
000034d8: PUSH2 0x0b47
000034db: SWAP1
000034dc: PUSH2 0x47c9
000034df: JUMP
000034e0: JUMPDEST
000034e1: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00003502: PUSH1 0x01
00003504: PUSH1 0x01
00003506: PUSH1 0xa0
00003508: SHL
00003509: SUB
0000350a: AND
0000350b: DUP2
0000350c: PUSH1 0x01
0000350e: PUSH1 0x01
00003510: PUSH1 0xa0
00003512: SHL
00003513: SUB
00003514: AND
00003515: PUSH4 0xaabaecd6
0000351a: PUSH1 0x40
0000351c: MLOAD
0000351d: DUP2
0000351e: PUSH4 0xffffffff
00003523: AND
00003524: PUSH1 0xe0
00003526: SHL
00003527: DUP2
00003528: MSTORE
00003529: PUSH1 0x04
0000352b: ADD
0000352c: PUSH1 0x20
0000352e: PUSH1 0x40
00003530: MLOAD
00003531: DUP1
00003532: DUP4
00003533: SUB
00003534: DUP2
00003535: DUP7
00003536: DUP1
00003537: EXTCODESIZE
00003538: ISZERO
00003539: DUP1
0000353a: ISZERO
0000353b: PUSH2 0x3543
0000353e: JUMPI
0000353f: PUSH1 0x00
00003541: DUP1
00003542: REVERT
00003543: JUMPDEST
00003544: POP
00003545: GAS
00003546: STATICCALL
00003547: ISZERO
00003548: DUP1
00003549: ISZERO
0000354a: PUSH2 0x3557
0000354d: JUMPI
0000354e: RETURNDATASIZE
0000354f: PUSH1 0x00
00003551: DUP1
00003552: RETURNDATACOPY
00003553: RETURNDATASIZE
00003554: PUSH1 0x00
00003556: REVERT
00003557: JUMPDEST
00003558: POP
00003559: POP
0000355a: POP
0000355b: POP
0000355c: PUSH1 0x40
0000355e: MLOAD
0000355f: RETURNDATASIZE
00003560: PUSH1 0x1f
00003562: NOT
00003563: PUSH1 0x1f
00003565: DUP3
00003566: ADD
00003567: AND
00003568: DUP3
00003569: ADD
0000356a: DUP1
0000356b: PUSH1 0x40
0000356d: MSTORE
0000356e: POP
0000356f: DUP2
00003570: ADD
00003571: SWAP1
00003572: PUSH2 0x357b
00003575: SWAP2
00003576: SWAP1
00003577: PUSH2 0x3f82
0000357a: JUMP
0000357b: JUMPDEST
0000357c: PUSH1 0x01
0000357e: PUSH1 0x01
00003580: PUSH1 0xa0
00003582: SHL
00003583: SUB
00003584: AND
00003585: EQ
00003586: PUSH2 0x35a1
00003589: JUMPI
0000358a: PUSH1 0x40
0000358c: MLOAD
0000358d: PUSH3 0x461bcd
00003591: PUSH1 0xe5
00003593: SHL
00003594: DUP2
00003595: MSTORE
00003596: PUSH1 0x04
00003598: ADD
00003599: PUSH2 0x0b47
0000359c: SWAP1
0000359d: PUSH2 0x4d35
000035a0: JUMP
000035a1: JUMPDEST
000035a2: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
000035c3: PUSH1 0x01
000035c5: PUSH1 0x01
000035c7: PUSH1 0xa0
000035c9: SHL
000035ca: SUB
000035cb: AND
000035cc: DUP2
000035cd: PUSH1 0x01
000035cf: PUSH1 0x01
000035d1: PUSH1 0xa0
000035d3: SHL
000035d4: SUB
000035d5: AND
000035d6: PUSH4 0x17d69bc8
000035db: PUSH1 0x40
000035dd: MLOAD
000035de: DUP2
000035df: PUSH4 0xffffffff
000035e4: AND
000035e5: PUSH1 0xe0
000035e7: SHL
000035e8: DUP2
000035e9: MSTORE
000035ea: PUSH1 0x04
000035ec: ADD
000035ed: PUSH1 0x20
000035ef: PUSH1 0x40
000035f1: MLOAD
000035f2: DUP1
000035f3: DUP4
000035f4: SUB
000035f5: DUP2
000035f6: DUP7
000035f7: DUP1
000035f8: EXTCODESIZE
000035f9: ISZERO
000035fa: DUP1
000035fb: ISZERO
000035fc: PUSH2 0x3604
000035ff: JUMPI
00003600: PUSH1 0x00
00003602: DUP1
00003603: REVERT
00003604: JUMPDEST
00003605: POP
00003606: GAS
00003607: STATICCALL
00003608: ISZERO
00003609: DUP1
0000360a: ISZERO
0000360b: PUSH2 0x3618
0000360e: JUMPI
0000360f: RETURNDATASIZE
00003610: PUSH1 0x00
00003612: DUP1
00003613: RETURNDATACOPY
00003614: RETURNDATASIZE
00003615: PUSH1 0x00
00003617: REVERT
00003618: JUMPDEST
00003619: POP
0000361a: POP
0000361b: POP
0000361c: POP
0000361d: PUSH1 0x40
0000361f: MLOAD
00003620: RETURNDATASIZE
00003621: PUSH1 0x1f
00003623: NOT
00003624: PUSH1 0x1f
00003626: DUP3
00003627: ADD
00003628: AND
00003629: DUP3
0000362a: ADD
0000362b: DUP1
0000362c: PUSH1 0x40
0000362e: MSTORE
0000362f: POP
00003630: DUP2
00003631: ADD
00003632: SWAP1
00003633: PUSH2 0x363c
00003636: SWAP2
00003637: SWAP1
00003638: PUSH2 0x3f82
0000363b: JUMP
0000363c: JUMPDEST
0000363d: PUSH1 0x01
0000363f: PUSH1 0x01
00003641: PUSH1 0xa0
00003643: SHL
00003644: SUB
00003645: AND
00003646: EQ
00003647: PUSH2 0x3662
0000364a: JUMPI
0000364b: PUSH1 0x40
0000364d: MLOAD
0000364e: PUSH3 0x461bcd
00003652: PUSH1 0xe5
00003654: SHL
00003655: DUP2
00003656: MSTORE
00003657: PUSH1 0x04
00003659: ADD
0000365a: PUSH2 0x0b47
0000365d: SWAP1
0000365e: PUSH2 0x44d1
00003661: JUMP
00003662: JUMPDEST
00003663: PUSH1 0x00
00003665: PUSH2 0x3670
00003668: TIMESTAMP
00003669: PUSH2 0x0e10
0000366c: PUSH2 0x2bf2
0000366f: JUMP
00003670: JUMPDEST
00003671: SWAP1
00003672: POP
00003673: DUP1
00003674: DUP3
00003675: PUSH1 0x01
00003677: PUSH1 0x01
00003679: PUSH1 0xa0
0000367b: SHL
0000367c: SUB
0000367d: AND
0000367e: PUSH4 0xade6e2aa
00003683: PUSH1 0x40
00003685: MLOAD
00003686: DUP2
00003687: PUSH4 0xffffffff
0000368c: AND
0000368d: PUSH1 0xe0
0000368f: SHL
00003690: DUP2
00003691: MSTORE
00003692: PUSH1 0x04
00003694: ADD
00003695: PUSH1 0x20
00003697: PUSH1 0x40
00003699: MLOAD
0000369a: DUP1
0000369b: DUP4
0000369c: SUB
0000369d: DUP2
0000369e: DUP7
0000369f: DUP1
000036a0: EXTCODESIZE
000036a1: ISZERO
000036a2: DUP1
000036a3: ISZERO
000036a4: PUSH2 0x36ac
000036a7: JUMPI
000036a8: PUSH1 0x00
000036aa: DUP1
000036ab: REVERT
000036ac: JUMPDEST
000036ad: POP
000036ae: GAS
000036af: STATICCALL
000036b0: ISZERO
000036b1: DUP1
000036b2: ISZERO
000036b3: PUSH2 0x36c0
000036b6: JUMPI
000036b7: RETURNDATASIZE
000036b8: PUSH1 0x00
000036ba: DUP1
000036bb: RETURNDATACOPY
000036bc: RETURNDATASIZE
000036bd: PUSH1 0x00
000036bf: REVERT
000036c0: JUMPDEST
000036c1: POP
000036c2: POP
000036c3: POP
000036c4: POP
000036c5: PUSH1 0x40
000036c7: MLOAD
000036c8: RETURNDATASIZE
000036c9: PUSH1 0x1f
000036cb: NOT
000036cc: PUSH1 0x1f
000036ce: DUP3
000036cf: ADD
000036d0: AND
000036d1: DUP3
000036d2: ADD
000036d3: DUP1
000036d4: PUSH1 0x40
000036d6: MSTORE
000036d7: POP
000036d8: DUP2
000036d9: ADD
000036da: SWAP1
000036db: PUSH2 0x36e4
000036de: SWAP2
000036df: SWAP1
000036e0: PUSH2 0x4158
000036e3: JUMP
000036e4: JUMPDEST
000036e5: LT
000036e6: ISZERO
000036e7: PUSH2 0x3702
000036ea: JUMPI
000036eb: PUSH1 0x40
000036ed: MLOAD
000036ee: PUSH3 0x461bcd
000036f2: PUSH1 0xe5
000036f4: SHL
000036f5: DUP2
000036f6: MSTORE
000036f7: PUSH1 0x04
000036f9: ADD
000036fa: PUSH2 0x0b47
000036fd: SWAP1
000036fe: PUSH2 0x4b1e
00003701: JUMP
00003702: JUMPDEST
00003703: PUSH1 0xcb
00003705: DUP1
00003706: SLOAD
00003707: PUSH1 0x01
00003709: PUSH1 0x01
0000370b: PUSH1 0xa0
0000370d: SHL
0000370e: SUB
0000370f: NOT
00003710: AND
00003711: PUSH1 0x01
00003713: PUSH1 0x01
00003715: PUSH1 0xa0
00003717: SHL
00003718: SUB
00003719: SWAP5
0000371a: SWAP1
0000371b: SWAP5
0000371c: AND
0000371d: SWAP4
0000371e: SWAP1
0000371f: SWAP4
00003720: OR
00003721: SWAP1
00003722: SWAP3
00003723: SSTORE
00003724: POP
00003725: PUSH1 0xcc
00003727: SSTORE
00003728: POP
00003729: JUMP
0000372a: JUMPDEST
0000372b: PUSH1 0xcd
0000372d: DUP1
0000372e: SLOAD
0000372f: PUSH1 0x01
00003731: PUSH1 0x01
00003733: PUSH1 0xa0
00003735: SHL
00003736: SUB
00003737: NOT
00003738: DUP2
00003739: AND
0000373a: SWAP1
0000373b: SWAP2
0000373c: SSTORE
0000373d: PUSH1 0x00
0000373f: PUSH1 0xce
00003741: SSTORE
00003742: PUSH1 0x01
00003744: PUSH1 0x01
00003746: PUSH1 0xa0
00003748: SHL
00003749: SUB
0000374a: AND
0000374b: DUP1
0000374c: ISZERO
0000374d: PUSH2 0x2ec6
00003750: JUMPI
00003751: PUSH1 0x00
00003753: DUP2
00003754: SWAP1
00003755: POP
00003756: DUP1
00003757: PUSH1 0x01
00003759: PUSH1 0x01
0000375b: PUSH1 0xa0
0000375d: SHL
0000375e: SUB
0000375f: AND
00003760: PUSH4 0xade6e2aa
00003765: PUSH1 0x40
00003767: MLOAD
00003768: DUP2
00003769: PUSH4 0xffffffff
0000376e: AND
0000376f: PUSH1 0xe0
00003771: SHL
00003772: DUP2
00003773: MSTORE
00003774: PUSH1 0x04
00003776: ADD
00003777: PUSH1 0x20
00003779: PUSH1 0x40
0000377b: MLOAD
0000377c: DUP1
0000377d: DUP4
0000377e: SUB
0000377f: DUP2
00003780: DUP7
00003781: DUP1
00003782: EXTCODESIZE
00003783: ISZERO
00003784: DUP1
00003785: ISZERO
00003786: PUSH2 0x378e
00003789: JUMPI
0000378a: PUSH1 0x00
0000378c: DUP1
0000378d: REVERT
0000378e: JUMPDEST
0000378f: POP
00003790: GAS
00003791: STATICCALL
00003792: ISZERO
00003793: DUP1
00003794: ISZERO
00003795: PUSH2 0x37a2
00003798: JUMPI
00003799: RETURNDATASIZE
0000379a: PUSH1 0x00
0000379c: DUP1
0000379d: RETURNDATACOPY
0000379e: RETURNDATASIZE
0000379f: PUSH1 0x00
000037a1: REVERT
000037a2: JUMPDEST
000037a3: POP
000037a4: POP
000037a5: POP
000037a6: POP
000037a7: PUSH1 0x40
000037a9: MLOAD
000037aa: RETURNDATASIZE
000037ab: PUSH1 0x1f
000037ad: NOT
000037ae: PUSH1 0x1f
000037b0: DUP3
000037b1: ADD
000037b2: AND
000037b3: DUP3
000037b4: ADD
000037b5: DUP1
000037b6: PUSH1 0x40
000037b8: MSTORE
000037b9: POP
000037ba: DUP2
000037bb: ADD
000037bc: SWAP1
000037bd: PUSH2 0x37c6
000037c0: SWAP2
000037c1: SWAP1
000037c2: PUSH2 0x4158
000037c5: JUMP
000037c6: JUMPDEST
000037c7: TIMESTAMP
000037c8: GT
000037c9: PUSH2 0x37e4
000037cc: JUMPI
000037cd: PUSH1 0x40
000037cf: MLOAD
000037d0: PUSH3 0x461bcd
000037d4: PUSH1 0xe5
000037d6: SHL
000037d7: DUP2
000037d8: MSTORE
000037d9: PUSH1 0x04
000037db: ADD
000037dc: PUSH2 0x0b47
000037df: SWAP1
000037e0: PUSH2 0x4410
000037e3: JUMP
000037e4: JUMPDEST
000037e5: PUSH1 0x40
000037e7: MLOAD
000037e8: PUSH4 0x813f2677
000037ed: PUSH1 0xe0
000037ef: SHL
000037f0: DUP2
000037f1: MSTORE
000037f2: PUSH1 0x00
000037f4: SWAP1
000037f5: PUSH20 0x8b49fdd0cb50ba6d5c053d844fee55e5076f8504
0000380a: SWAP1
0000380b: PUSH4 0x813f2677
00003810: SWAP1
00003811: PUSH2 0x3847
00003814: SWAP1
00003815: PUSH1 0x01
00003817: PUSH1 0x01
00003819: PUSH1 0xa0
0000381b: SHL
0000381c: SUB
0000381d: PUSH32 0x000000000000000000000000cd99b092a5c08c33d09b3e72046a7ab42d8110d1
0000383e: AND
0000383f: SWAP1
00003840: PUSH1 0x04
00003842: ADD
00003843: PUSH2 0x4237
00003846: JUMP
00003847: JUMPDEST
00003848: PUSH1 0x20
0000384a: PUSH1 0x40
0000384c: MLOAD
0000384d: DUP1
0000384e: DUP4
0000384f: SUB
00003850: DUP2
00003851: DUP7
00003852: DUP1
00003853: EXTCODESIZE
00003854: ISZERO
00003855: DUP1
00003856: ISZERO
00003857: PUSH2 0x385f
0000385a: JUMPI
0000385b: PUSH1 0x00
0000385d: DUP1
0000385e: REVERT
0000385f: JUMPDEST
00003860: POP
00003861: GAS
00003862: DELEGATECALL
00003863: ISZERO
00003864: DUP1
00003865: ISZERO
00003866: PUSH2 0x3873
00003869: JUMPI
0000386a: RETURNDATASIZE
0000386b: PUSH1 0x00
0000386d: DUP1
0000386e: RETURNDATACOPY
0000386f: RETURNDATASIZE
00003870: PUSH1 0x00
00003872: REVERT
00003873: JUMPDEST
00003874: POP
00003875: POP
00003876: POP
00003877: POP
00003878: PUSH1 0x40
0000387a: MLOAD
0000387b: RETURNDATASIZE
0000387c: PUSH1 0x1f
0000387e: NOT
0000387f: PUSH1 0x1f
00003881: DUP3
00003882: ADD
00003883: AND
00003884: DUP3
00003885: ADD
00003886: DUP1
00003887: PUSH1 0x40
00003889: MSTORE
0000388a: POP
0000388b: DUP2
0000388c: ADD
0000388d: SWAP1
0000388e: PUSH2 0x3897
00003891: SWAP2
00003892: SWAP1
00003893: PUSH2 0x4158
00003896: JUMP
00003897: JUMPDEST
00003898: SWAP1
00003899: POP
0000389a: DUP3
0000389b: PUSH1 0x01
0000389d: PUSH1 0x01
0000389f: PUSH1 0xa0
000038a1: SHL
000038a2: SUB
000038a3: AND
000038a4: PUSH32 0x7e830f7c1771deb1bdb35c4a7e6051bbac32b376f7f4e4976b8618b0b11997f7
000038c5: DUP3
000038c6: CALLER
000038c7: PUSH1 0x40
000038c9: MLOAD
000038ca: PUSH2 0x38d4
000038cd: SWAP3
000038ce: SWAP2
000038cf: SWAP1
000038d0: PUSH2 0x50b0
000038d3: JUMP
000038d4: JUMPDEST
000038d5: PUSH1 0x40
000038d7: MLOAD
000038d8: DUP1
000038d9: SWAP2
000038da: SUB
000038db: SWAP1
000038dc: LOG2
000038dd: POP
000038de: POP
000038df: POP
000038e0: JUMP
000038e1: JUMPDEST
000038e2: PUSH1 0x60
000038e4: PUSH2 0x3936
000038e7: DUP3
000038e8: PUSH1 0x40
000038ea: MLOAD
000038eb: DUP1
000038ec: PUSH1 0x40
000038ee: ADD
000038ef: PUSH1 0x40
000038f1: MSTORE
000038f2: DUP1
000038f3: PUSH1 0x20
000038f5: DUP2
000038f6: MSTORE
000038f7: PUSH1 0x20
000038f9: ADD
000038fa: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
0000391b: DUP2
0000391c: MSTORE
0000391d: POP
0000391e: DUP6
0000391f: PUSH1 0x01
00003921: PUSH1 0x01
00003923: PUSH1 0xa0
00003925: SHL
00003926: SUB
00003927: AND
00003928: PUSH2 0x3d1e
0000392b: SWAP1
0000392c: SWAP3
0000392d: SWAP2
0000392e: SWAP1
0000392f: PUSH4 0xffffffff
00003934: AND
00003935: JUMP
00003936: JUMPDEST
00003937: DUP1
00003938: MLOAD
00003939: SWAP1
0000393a: SWAP2
0000393b: POP
0000393c: ISZERO
0000393d: PUSH2 0x2bed
00003940: JUMPI
00003941: DUP1
00003942: DUP1
00003943: PUSH1 0x20
00003945: ADD
00003946: SWAP1
00003947: MLOAD
00003948: DUP2
00003949: ADD
0000394a: SWAP1
0000394b: PUSH2 0x3954
0000394e: SWAP2
0000394f: SWAP1
00003950: PUSH2 0x40dd
00003953: JUMP
00003954: JUMPDEST
00003955: PUSH2 0x2bed
00003958: JUMPI
00003959: PUSH1 0x40
0000395b: MLOAD
0000395c: PUSH3 0x461bcd
00003960: PUSH1 0xe5
00003962: SHL
00003963: DUP2
00003964: MSTORE
00003965: PUSH1 0x04
00003967: ADD
00003968: PUSH2 0x0b47
0000396b: SWAP1
0000396c: PUSH2 0x4ceb
0000396f: JUMP
00003970: JUMPDEST
00003971: EXTCODESIZE
00003972: ISZERO
00003973: ISZERO
00003974: SWAP1
00003975: JUMP
00003976: JUMPDEST
00003977: PUSH1 0x00
00003979: SLOAD
0000397a: PUSH2 0x0100
0000397d: SWAP1
0000397e: DIV
0000397f: PUSH1 0xff
00003981: AND
00003982: DUP1
00003983: PUSH2 0x398f
00003986: JUMPI
00003987: POP
00003988: PUSH2 0x398f
0000398b: PUSH2 0x2e2d
0000398e: JUMP
0000398f: JUMPDEST
00003990: DUP1
00003991: PUSH2 0x399d
00003994: JUMPI
00003995: POP
00003996: PUSH1 0x00
00003998: SLOAD
00003999: PUSH1 0xff
0000399b: AND
0000399c: ISZERO
0000399d: JUMPDEST
0000399e: PUSH2 0x39b9
000039a1: JUMPI
000039a2: PUSH1 0x40
000039a4: MLOAD
000039a5: PUSH3 0x461bcd
000039a9: PUSH1 0xe5
000039ab: SHL
000039ac: DUP2
000039ad: MSTORE
000039ae: PUSH1 0x04
000039b0: ADD
000039b1: PUSH2 0x0b47
000039b4: SWAP1
000039b5: PUSH2 0x486c
000039b8: JUMP
000039b9: JUMPDEST
000039ba: PUSH1 0x00
000039bc: SLOAD
000039bd: PUSH2 0x0100
000039c0: SWAP1
000039c1: DIV
000039c2: PUSH1 0xff
000039c4: AND
000039c5: ISZERO
000039c6: DUP1
000039c7: ISZERO
000039c8: PUSH2 0x39e4
000039cb: JUMPI
000039cc: PUSH1 0x00
000039ce: DUP1
000039cf: SLOAD
000039d0: PUSH1 0xff
000039d2: NOT
000039d3: PUSH2 0xff00
000039d6: NOT
000039d7: SWAP1
000039d8: SWAP2
000039d9: AND
000039da: PUSH2 0x0100
000039dd: OR
000039de: AND
000039df: PUSH1 0x01
000039e1: OR
000039e2: SWAP1
000039e3: SSTORE
000039e4: JUMPDEST
000039e5: PUSH1 0x01
000039e7: DUP1
000039e8: SSTORE
000039e9: DUP1
000039ea: ISZERO
000039eb: PUSH2 0x2ec6
000039ee: JUMPI
000039ef: PUSH1 0x00
000039f1: DUP1
000039f2: SLOAD
000039f3: PUSH2 0xff00
000039f6: NOT
000039f7: AND
000039f8: SWAP1
000039f9: SSTORE
000039fa: POP
000039fb: JUMP
000039fc: JUMPDEST
000039fd: PUSH1 0x00
000039ff: SLOAD
00003a00: PUSH2 0x0100
00003a03: SWAP1
00003a04: DIV
00003a05: PUSH1 0xff
00003a07: AND
00003a08: DUP1
00003a09: PUSH2 0x3a15
00003a0c: JUMPI
00003a0d: POP
00003a0e: PUSH2 0x3a15
00003a11: PUSH2 0x2e2d
00003a14: JUMP
00003a15: JUMPDEST
00003a16: DUP1
00003a17: PUSH2 0x3a23
00003a1a: JUMPI
00003a1b: POP
00003a1c: PUSH1 0x00
00003a1e: SLOAD
00003a1f: PUSH1 0xff
00003a21: AND
00003a22: ISZERO
00003a23: JUMPDEST
00003a24: PUSH2 0x3a3f
00003a27: JUMPI
00003a28: PUSH1 0x40
00003a2a: MLOAD
00003a2b: PUSH3 0x461bcd
00003a2f: PUSH1 0xe5
00003a31: SHL
00003a32: DUP2
00003a33: MSTORE
00003a34: PUSH1 0x04
00003a36: ADD
00003a37: PUSH2 0x0b47
00003a3a: SWAP1
00003a3b: PUSH2 0x486c
00003a3e: JUMP
00003a3f: JUMPDEST
00003a40: PUSH1 0x00
00003a42: SLOAD
00003a43: PUSH2 0x0100
00003a46: SWAP1
00003a47: DIV
00003a48: PUSH1 0xff
00003a4a: AND
00003a4b: ISZERO
00003a4c: DUP1
00003a4d: ISZERO
00003a4e: PUSH2 0x2eb4
00003a51: JUMPI
00003a52: PUSH1 0x00
00003a54: DUP1
00003a55: SLOAD
00003a56: PUSH1 0xff
00003a58: NOT
00003a59: PUSH2 0xff00
00003a5c: NOT
00003a5d: SWAP1
00003a5e: SWAP2
00003a5f: AND
00003a60: PUSH2 0x0100
00003a63: OR
00003a64: AND
00003a65: PUSH1 0x01
00003a67: OR
00003a68: SWAP1
00003a69: SSTORE
00003a6a: DUP1
00003a6b: ISZERO
00003a6c: PUSH2 0x2ec6
00003a6f: JUMPI
00003a70: PUSH1 0x00
00003a72: DUP1
00003a73: SLOAD
00003a74: PUSH2 0xff00
00003a77: NOT
00003a78: AND
00003a79: SWAP1
00003a7a: SSTORE
00003a7b: POP
00003a7c: JUMP
00003a7d: JUMPDEST
00003a7e: PUSH1 0x00
00003a80: SLOAD
00003a81: PUSH2 0x0100
00003a84: SWAP1
00003a85: DIV
00003a86: PUSH1 0xff
00003a88: AND
00003a89: DUP1
00003a8a: PUSH2 0x3a96
00003a8d: JUMPI
00003a8e: POP
00003a8f: PUSH2 0x3a96
00003a92: PUSH2 0x2e2d
00003a95: JUMP
00003a96: JUMPDEST
00003a97: DUP1
00003a98: PUSH2 0x3aa4
00003a9b: JUMPI
00003a9c: POP
00003a9d: PUSH1 0x00
00003a9f: SLOAD
00003aa0: PUSH1 0xff
00003aa2: AND
00003aa3: ISZERO
00003aa4: JUMPDEST
00003aa5: PUSH2 0x3ac0
00003aa8: JUMPI
00003aa9: PUSH1 0x40
00003aab: MLOAD
00003aac: PUSH3 0x461bcd
00003ab0: PUSH1 0xe5
00003ab2: SHL
00003ab3: DUP2
00003ab4: MSTORE
00003ab5: PUSH1 0x04
00003ab7: ADD
00003ab8: PUSH2 0x0b47
00003abb: SWAP1
00003abc: PUSH2 0x486c
00003abf: JUMP
00003ac0: JUMPDEST
00003ac1: PUSH1 0x00
00003ac3: SLOAD
00003ac4: PUSH2 0x0100
00003ac7: SWAP1
00003ac8: DIV
00003ac9: PUSH1 0xff
00003acb: AND
00003acc: ISZERO
00003acd: DUP1
00003ace: ISZERO
00003acf: PUSH2 0x3aeb
00003ad2: JUMPI
00003ad3: PUSH1 0x00
00003ad5: DUP1
00003ad6: SLOAD
00003ad7: PUSH1 0xff
00003ad9: NOT
00003ada: PUSH2 0xff00
00003add: NOT
00003ade: SWAP1
00003adf: SWAP2
00003ae0: AND
00003ae1: PUSH2 0x0100
00003ae4: OR
00003ae5: AND
00003ae6: PUSH1 0x01
00003ae8: OR
00003ae9: SWAP1
00003aea: SSTORE
00003aeb: JUMPDEST
00003aec: DUP3
00003aed: MLOAD
00003aee: PUSH2 0x3afe
00003af1: SWAP1
00003af2: PUSH1 0x9a
00003af4: SWAP1
00003af5: PUSH1 0x20
00003af7: DUP7
00003af8: ADD
00003af9: SWAP1
00003afa: PUSH2 0x3e6c
00003afd: JUMP
00003afe: JUMPDEST
00003aff: POP
00003b00: DUP2
00003b01: MLOAD
00003b02: PUSH2 0x3b12
00003b05: SWAP1
00003b06: PUSH1 0x9b
00003b08: SWAP1
00003b09: PUSH1 0x20
00003b0b: DUP6
00003b0c: ADD
00003b0d: SWAP1
00003b0e: PUSH2 0x3e6c
00003b11: JUMP
00003b12: JUMPDEST
00003b13: POP
00003b14: PUSH1 0x9c
00003b16: DUP1
00003b17: SLOAD
00003b18: PUSH1 0xff
00003b1a: NOT
00003b1b: AND
00003b1c: PUSH1 0x12
00003b1e: OR
00003b1f: SWAP1
00003b20: SSTORE
00003b21: DUP1
00003b22: ISZERO
00003b23: PUSH2 0x2bed
00003b26: JUMPI
00003b27: PUSH1 0x00
00003b29: DUP1
00003b2a: SLOAD
00003b2b: PUSH2 0xff00
00003b2e: NOT
00003b2f: AND
00003b30: SWAP1
00003b31: SSTORE
00003b32: POP
00003b33: POP
00003b34: POP
00003b35: JUMP
00003b36: JUMPDEST
00003b37: PUSH1 0x00
00003b39: SLOAD
00003b3a: PUSH2 0x0100
00003b3d: SWAP1
00003b3e: DIV
00003b3f: PUSH1 0xff
00003b41: AND
00003b42: DUP1
00003b43: PUSH2 0x3b4f
00003b46: JUMPI
00003b47: POP
00003b48: PUSH2 0x3b4f
00003b4b: PUSH2 0x2e2d
00003b4e: JUMP
00003b4f: JUMPDEST
00003b50: DUP1
00003b51: PUSH2 0x3b5d
00003b54: JUMPI
00003b55: POP
00003b56: PUSH1 0x00
00003b58: SLOAD
00003b59: PUSH1 0xff
00003b5b: AND
00003b5c: ISZERO
00003b5d: JUMPDEST
00003b5e: PUSH2 0x3b79
00003b61: JUMPI
00003b62: PUSH1 0x40
00003b64: MLOAD
00003b65: PUSH3 0x461bcd
00003b69: PUSH1 0xe5
00003b6b: SHL
00003b6c: DUP2
00003b6d: MSTORE
00003b6e: PUSH1 0x04
00003b70: ADD
00003b71: PUSH2 0x0b47
00003b74: SWAP1
00003b75: PUSH2 0x486c
00003b78: JUMP
00003b79: JUMPDEST
00003b7a: PUSH1 0x00
00003b7c: SLOAD
00003b7d: PUSH2 0x0100
00003b80: SWAP1
00003b81: DIV
00003b82: PUSH1 0xff
00003b84: AND
00003b85: ISZERO
00003b86: DUP1
00003b87: ISZERO
00003b88: PUSH2 0x3ba4
00003b8b: JUMPI
00003b8c: PUSH1 0x00
00003b8e: DUP1
00003b8f: SLOAD
00003b90: PUSH1 0xff
00003b92: NOT
00003b93: PUSH2 0xff00
00003b96: NOT
00003b97: SWAP1
00003b98: SWAP2
00003b99: AND
00003b9a: PUSH2 0x0100
00003b9d: OR
00003b9e: AND
00003b9f: PUSH1 0x01
00003ba1: OR
00003ba2: SWAP1
00003ba3: SSTORE
00003ba4: JUMPDEST
00003ba5: PUSH1 0x00
00003ba7: PUSH2 0x3bae
00003baa: PUSH2 0x28e4
00003bad: JUMP
00003bae: JUMPDEST
00003baf: PUSH1 0x65
00003bb1: DUP1
00003bb2: SLOAD
00003bb3: PUSH1 0x01
00003bb5: PUSH1 0x01
00003bb7: PUSH1 0xa0
00003bb9: SHL
00003bba: SUB
00003bbb: NOT
00003bbc: AND
00003bbd: PUSH1 0x01
00003bbf: PUSH1 0x01
00003bc1: PUSH1 0xa0
00003bc3: SHL
00003bc4: SUB
00003bc5: DUP4
00003bc6: AND
00003bc7: SWAP1
00003bc8: DUP2
00003bc9: OR
00003bca: SWAP1
00003bcb: SWAP2
00003bcc: SSTORE
00003bcd: PUSH1 0x40
00003bcf: MLOAD
00003bd0: SWAP2
00003bd1: SWAP3
00003bd2: POP
00003bd3: SWAP1
00003bd4: PUSH1 0x00
00003bd6: SWAP1
00003bd7: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00003bf8: SWAP1
00003bf9: DUP3
00003bfa: SWAP1
00003bfb: LOG3
00003bfc: POP
00003bfd: DUP1
00003bfe: ISZERO
00003bff: PUSH2 0x2ec6
00003c02: JUMPI
00003c03: PUSH1 0x00
00003c05: DUP1
00003c06: SLOAD
00003c07: PUSH2 0xff00
00003c0a: NOT
00003c0b: AND
00003c0c: SWAP1
00003c0d: SSTORE
00003c0e: POP
00003c0f: JUMP
00003c10: JUMPDEST
00003c11: PUSH1 0x01
00003c13: PUSH1 0x01
00003c15: PUSH1 0xa0
00003c17: SHL
00003c18: SUB
00003c19: DUP3
00003c1a: AND
00003c1b: PUSH2 0x3c36
00003c1e: JUMPI
00003c1f: PUSH1 0x40
00003c21: MLOAD
00003c22: PUSH3 0x461bcd
00003c26: PUSH1 0xe5
00003c28: SHL
00003c29: DUP2
00003c2a: MSTORE
00003c2b: PUSH1 0x04
00003c2d: ADD
00003c2e: PUSH2 0x0b47
00003c31: SWAP1
00003c32: PUSH2 0x4ecf
00003c35: JUMP
00003c36: JUMPDEST
00003c37: PUSH2 0x3c42
00003c3a: PUSH1 0x00
00003c3c: DUP4
00003c3d: DUP4
00003c3e: PUSH2 0x2bed
00003c41: JUMP
00003c42: JUMPDEST
00003c43: PUSH1 0x99
00003c45: SLOAD
00003c46: PUSH2 0x3c4f
00003c49: SWAP1
00003c4a: DUP3
00003c4b: PUSH2 0x2bf2
00003c4e: JUMP
00003c4f: JUMPDEST
00003c50: PUSH1 0x99
00003c52: SSTORE
00003c53: PUSH1 0x01
00003c55: PUSH1 0x01
00003c57: PUSH1 0xa0
00003c59: SHL
00003c5a: SUB
00003c5b: DUP3
00003c5c: AND
00003c5d: PUSH1 0x00
00003c5f: SWAP1
00003c60: DUP2
00003c61: MSTORE
00003c62: PUSH1 0x97
00003c64: PUSH1 0x20
00003c66: MSTORE
00003c67: PUSH1 0x40
00003c69: SWAP1
00003c6a: KECCAK256
00003c6b: SLOAD
00003c6c: PUSH2 0x3c75
00003c6f: SWAP1
00003c70: DUP3
00003c71: PUSH2 0x2bf2
00003c74: JUMP
00003c75: JUMPDEST
00003c76: PUSH1 0x01
00003c78: PUSH1 0x01
00003c7a: PUSH1 0xa0
00003c7c: SHL
00003c7d: SUB
00003c7e: DUP4
00003c7f: AND
00003c80: PUSH1 0x00
00003c82: DUP2
00003c83: DUP2
00003c84: MSTORE
00003c85: PUSH1 0x97
00003c87: PUSH1 0x20
00003c89: MSTORE
00003c8a: PUSH1 0x40
00003c8c: DUP1
00003c8d: DUP3
00003c8e: KECCAK256
00003c8f: SWAP4
00003c90: SWAP1
00003c91: SWAP4
00003c92: SSTORE
00003c93: SWAP2
00003c94: MLOAD
00003c95: SWAP1
00003c96: SWAP2
00003c97: SWAP1
00003c98: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00003cb9: SWAP1
00003cba: PUSH2 0x2d5e
00003cbd: SWAP1
00003cbe: DUP6
00003cbf: SWAP1
00003cc0: PUSH2 0x50a7
00003cc3: JUMP
00003cc4: JUMPDEST
00003cc5: PUSH1 0x00
00003cc7: DUP2
00003cc8: ISZERO
00003cc9: DUP1
00003cca: PUSH2 0x3cdf
00003ccd: JUMPI
00003cce: POP
00003ccf: POP
00003cd0: DUP1
00003cd1: DUP3
00003cd2: MUL
00003cd3: DUP3
00003cd4: DUP3
00003cd5: DUP3
00003cd6: DUP2
00003cd7: PUSH2 0x3cdc
00003cda: JUMPI
00003cdb: INVALID
00003cdc: JUMPDEST
00003cdd: DIV
00003cde: EQ
00003cdf: JUMPDEST
00003ce0: PUSH2 0x0a90
00003ce3: JUMPI
00003ce4: PUSH1 0x40
00003ce6: MLOAD
00003ce7: PUSH3 0x461bcd
00003ceb: PUSH1 0xe5
00003ced: SHL
00003cee: DUP2
00003cef: MSTORE
00003cf0: PUSH1 0x04
00003cf2: ADD
00003cf3: PUSH2 0x0b47
00003cf6: SWAP1
00003cf7: PUSH2 0x45a5
00003cfa: JUMP
00003cfb: JUMPDEST
00003cfc: DUP1
00003cfd: DUP3
00003cfe: ADD
00003cff: DUP3
00003d00: DUP2
00003d01: LT
00003d02: ISZERO
00003d03: PUSH2 0x0a90
00003d06: JUMPI
00003d07: PUSH1 0x40
00003d09: MLOAD
00003d0a: PUSH3 0x461bcd
00003d0e: PUSH1 0xe5
00003d10: SHL
00003d11: DUP2
00003d12: MSTORE
00003d13: PUSH1 0x04
00003d15: ADD
00003d16: PUSH2 0x0b47
00003d19: SWAP1
00003d1a: PUSH2 0x4641
00003d1d: JUMP
00003d1e: JUMPDEST
00003d1f: PUSH1 0x60
00003d21: PUSH2 0x3d2d
00003d24: DUP5
00003d25: DUP5
00003d26: PUSH1 0x00
00003d28: DUP6
00003d29: PUSH2 0x3d35
00003d2c: JUMP
00003d2d: JUMPDEST
00003d2e: SWAP5
00003d2f: SWAP4
00003d30: POP
00003d31: POP
00003d32: POP
00003d33: POP
00003d34: JUMP
00003d35: JUMPDEST
00003d36: PUSH1 0x60
00003d38: DUP3
00003d39: SELFBALANCE
00003d3a: LT
00003d3b: ISZERO
00003d3c: PUSH2 0x3d57
00003d3f: JUMPI
00003d40: PUSH1 0x40
00003d42: MLOAD
00003d43: PUSH3 0x461bcd
00003d47: PUSH1 0xe5
00003d49: SHL
00003d4a: DUP2
00003d4b: MSTORE
00003d4c: PUSH1 0x04
00003d4e: ADD
00003d4f: PUSH2 0x0b47
00003d52: SWAP1
00003d53: PUSH2 0x474c
00003d56: JUMP
00003d57: JUMPDEST
00003d58: PUSH2 0x3d60
00003d5b: DUP6
00003d5c: PUSH2 0x3970
00003d5f: JUMP
00003d60: JUMPDEST
00003d61: PUSH2 0x3d7c
00003d64: JUMPI
00003d65: PUSH1 0x40
00003d67: MLOAD
00003d68: PUSH3 0x461bcd
00003d6c: PUSH1 0xe5
00003d6e: SHL
00003d6f: DUP2
00003d70: MSTORE
00003d71: PUSH1 0x04
00003d73: ADD
00003d74: PUSH2 0x0b47
00003d77: SWAP1
00003d78: PUSH2 0x4c4f
00003d7b: JUMP
00003d7c: JUMPDEST
00003d7d: PUSH1 0x00
00003d7f: PUSH1 0x60
00003d81: DUP7
00003d82: PUSH1 0x01
00003d84: PUSH1 0x01
00003d86: PUSH1 0xa0
00003d88: SHL
00003d89: SUB
00003d8a: AND
00003d8b: DUP6
00003d8c: DUP8
00003d8d: PUSH1 0x40
00003d8f: MLOAD
00003d90: PUSH2 0x3d99
00003d93: SWAP2
00003d94: SWAP1
00003d95: PUSH2 0x421b
00003d98: JUMP
00003d99: JUMPDEST
00003d9a: PUSH1 0x00
00003d9c: PUSH1 0x40
00003d9e: MLOAD
00003d9f: DUP1
00003da0: DUP4
00003da1: SUB
00003da2: DUP2
00003da3: DUP6
00003da4: DUP8
00003da5: GAS
00003da6: CALL
00003da7: SWAP3
00003da8: POP
00003da9: POP
00003daa: POP
00003dab: RETURNDATASIZE
00003dac: DUP1
00003dad: PUSH1 0x00
00003daf: DUP2
00003db0: EQ
00003db1: PUSH2 0x3dd6
00003db4: JUMPI
00003db5: PUSH1 0x40
00003db7: MLOAD
00003db8: SWAP2
00003db9: POP
00003dba: PUSH1 0x1f
00003dbc: NOT
00003dbd: PUSH1 0x3f
00003dbf: RETURNDATASIZE
00003dc0: ADD
00003dc1: AND
00003dc2: DUP3
00003dc3: ADD
00003dc4: PUSH1 0x40
00003dc6: MSTORE
00003dc7: RETURNDATASIZE
00003dc8: DUP3
00003dc9: MSTORE
00003dca: RETURNDATASIZE
00003dcb: PUSH1 0x00
00003dcd: PUSH1 0x20
00003dcf: DUP5
00003dd0: ADD
00003dd1: RETURNDATACOPY
00003dd2: PUSH2 0x3ddb
00003dd5: JUMP
00003dd6: JUMPDEST
00003dd7: PUSH1 0x60
00003dd9: SWAP2
00003dda: POP
00003ddb: JUMPDEST
00003ddc: POP
00003ddd: SWAP2
00003dde: POP
00003ddf: SWAP2
00003de0: POP
00003de1: PUSH2 0x3deb
00003de4: DUP3
00003de5: DUP3
00003de6: DUP7
00003de7: PUSH2 0x3df6
00003dea: JUMP
00003deb: JUMPDEST
00003dec: SWAP8
00003ded: SWAP7
00003dee: POP
00003def: POP
00003df0: POP
00003df1: POP
00003df2: POP
00003df3: POP
00003df4: POP
00003df5: JUMP
00003df6: JUMPDEST
00003df7: PUSH1 0x60
00003df9: DUP4
00003dfa: ISZERO
00003dfb: PUSH2 0x3e05
00003dfe: JUMPI
00003dff: POP
00003e00: DUP2
00003e01: PUSH2 0x0b1d
00003e04: JUMP
00003e05: JUMPDEST
00003e06: DUP3
00003e07: MLOAD
00003e08: ISZERO
00003e09: PUSH2 0x3e15
00003e0c: JUMPI
00003e0d: DUP3
00003e0e: MLOAD
00003e0f: DUP1
00003e10: DUP5
00003e11: PUSH1 0x20
00003e13: ADD
00003e14: REVERT
00003e15: JUMPDEST
00003e16: DUP2
00003e17: PUSH1 0x40
00003e19: MLOAD
00003e1a: PUSH3 0x461bcd
00003e1e: PUSH1 0xe5
00003e20: SHL
00003e21: DUP2
00003e22: MSTORE
00003e23: PUSH1 0x04
00003e25: ADD
00003e26: PUSH2 0x0b47
00003e29: SWAP2
00003e2a: SWAP1
00003e2b: PUSH2 0x4376
00003e2e: JUMP
00003e2f: JUMPDEST
00003e30: PUSH1 0x40
00003e32: DUP1
00003e33: MLOAD
00003e34: PUSH1 0xe0
00003e36: DUP2
00003e37: ADD
00003e38: DUP3
00003e39: MSTORE
00003e3a: PUSH1 0x00
00003e3c: DUP1
00003e3d: DUP3
00003e3e: MSTORE
00003e3f: PUSH1 0x20
00003e41: DUP3
00003e42: ADD
00003e43: DUP2
00003e44: SWAP1
00003e45: MSTORE
00003e46: SWAP2
00003e47: DUP2
00003e48: ADD
00003e49: DUP3
00003e4a: SWAP1
00003e4b: MSTORE
00003e4c: PUSH1 0x60
00003e4e: DUP2
00003e4f: ADD
00003e50: DUP3
00003e51: SWAP1
00003e52: MSTORE
00003e53: PUSH1 0x80
00003e55: DUP2
00003e56: ADD
00003e57: DUP3
00003e58: SWAP1
00003e59: MSTORE
00003e5a: SWAP1
00003e5b: PUSH1 0xa0
00003e5d: DUP3
00003e5e: ADD
00003e5f: SWAP1
00003e60: DUP2
00003e61: MSTORE
00003e62: PUSH1 0x00
00003e64: PUSH1 0x20
00003e66: SWAP1
00003e67: SWAP2
00003e68: ADD
00003e69: MSTORE
00003e6a: SWAP1
00003e6b: JUMP
00003e6c: JUMPDEST
00003e6d: DUP3
00003e6e: DUP1
00003e6f: SLOAD
00003e70: PUSH1 0x01
00003e72: DUP2
00003e73: PUSH1 0x01
00003e75: AND
00003e76: ISZERO
00003e77: PUSH2 0x0100
00003e7a: MUL
00003e7b: SUB
00003e7c: AND
00003e7d: PUSH1 0x02
00003e7f: SWAP1
00003e80: DIV
00003e81: SWAP1
00003e82: PUSH1 0x00
00003e84: MSTORE
00003e85: PUSH1 0x20
00003e87: PUSH1 0x00
00003e89: KECCAK256
00003e8a: SWAP1
00003e8b: PUSH1 0x1f
00003e8d: ADD
00003e8e: PUSH1 0x20
00003e90: SWAP1
00003e91: DIV
00003e92: DUP2
00003e93: ADD
00003e94: SWAP3
00003e95: DUP3
00003e96: PUSH1 0x1f
00003e98: LT
00003e99: PUSH2 0x3ead
00003e9c: JUMPI
00003e9d: DUP1
00003e9e: MLOAD
00003e9f: PUSH1 0xff
00003ea1: NOT
00003ea2: AND
00003ea3: DUP4
00003ea4: DUP1
00003ea5: ADD
00003ea6: OR
00003ea7: DUP6
00003ea8: SSTORE
00003ea9: PUSH2 0x3eda
00003eac: JUMP
00003ead: JUMPDEST
00003eae: DUP3
00003eaf: DUP1
00003eb0: ADD
00003eb1: PUSH1 0x01
00003eb3: ADD
00003eb4: DUP6
00003eb5: SSTORE
00003eb6: DUP3
00003eb7: ISZERO
00003eb8: PUSH2 0x3eda
00003ebb: JUMPI
00003ebc: SWAP2
00003ebd: DUP3
00003ebe: ADD
00003ebf: JUMPDEST
00003ec0: DUP3
00003ec1: DUP2
00003ec2: GT
00003ec3: ISZERO
00003ec4: PUSH2 0x3eda
00003ec7: JUMPI
00003ec8: DUP3
00003ec9: MLOAD
00003eca: DUP3
00003ecb: SSTORE
00003ecc: SWAP2
00003ecd: PUSH1 0x20
00003ecf: ADD
00003ed0: SWAP2
00003ed1: SWAP1
00003ed2: PUSH1 0x01
00003ed4: ADD
00003ed5: SWAP1
00003ed6: PUSH2 0x3ebf
00003ed9: JUMP
00003eda: JUMPDEST
00003edb: POP
00003edc: PUSH2 0x3ee6
00003edf: SWAP3
00003ee0: SWAP2
00003ee1: POP
00003ee2: PUSH2 0x3eea
00003ee5: JUMP
00003ee6: JUMPDEST
00003ee7: POP
00003ee8: SWAP1
00003ee9: JUMP
00003eea: JUMPDEST
00003eeb: JUMPDEST
00003eec: DUP1
00003eed: DUP3
00003eee: GT
00003eef: ISZERO
00003ef0: PUSH2 0x3ee6
00003ef3: JUMPI
00003ef4: PUSH1 0x00
00003ef6: DUP2
00003ef7: SSTORE
00003ef8: PUSH1 0x01
00003efa: ADD
00003efb: PUSH2 0x3eeb
00003efe: JUMP
00003eff: JUMPDEST
00003f00: DUP1
00003f01: CALLDATALOAD
00003f02: PUSH1 0x03
00003f04: DUP2
00003f05: LT
00003f06: PUSH2 0x0c6d
00003f09: JUMPI
00003f0a: PUSH1 0x00
00003f0c: DUP1
00003f0d: REVERT
00003f0e: JUMPDEST
00003f0f: PUSH1 0x00
00003f11: DUP1
00003f12: DUP4
00003f13: PUSH1 0x1f
00003f15: DUP5
00003f16: ADD
00003f17: SLT
00003f18: PUSH2 0x3f1f
00003f1b: JUMPI
00003f1c: DUP2
00003f1d: DUP3
00003f1e: REVERT
00003f1f: JUMPDEST
00003f20: POP
00003f21: DUP2
00003f22: CALLDATALOAD
00003f23: PUSH8 0xffffffffffffffff
00003f2c: DUP2
00003f2d: GT
00003f2e: ISZERO
00003f2f: PUSH2 0x3f36
00003f32: JUMPI
00003f33: DUP2
00003f34: DUP3
00003f35: REVERT
00003f36: JUMPDEST
00003f37: PUSH1 0x20
00003f39: DUP4
00003f3a: ADD
00003f3b: SWAP2
00003f3c: POP
00003f3d: DUP4
00003f3e: PUSH1 0x20
00003f40: DUP3
00003f41: DUP6
00003f42: ADD
00003f43: ADD
00003f44: GT
00003f45: ISZERO
00003f46: PUSH2 0x3f4e
00003f49: JUMPI
00003f4a: PUSH1 0x00
00003f4c: DUP1
00003f4d: REVERT
00003f4e: JUMPDEST
00003f4f: SWAP3
00003f50: POP
00003f51: SWAP3
00003f52: SWAP1
00003f53: POP
00003f54: JUMP
00003f55: JUMPDEST
00003f56: DUP1
00003f57: CALLDATALOAD
00003f58: PUSH1 0xff
00003f5a: DUP2
00003f5b: AND
00003f5c: DUP2
00003f5d: EQ
00003f5e: PUSH2 0x0c6d
00003f61: JUMPI
00003f62: PUSH1 0x00
00003f64: DUP1
00003f65: REVERT
00003f66: JUMPDEST
00003f67: PUSH1 0x00
00003f69: PUSH1 0x20
00003f6b: DUP3
00003f6c: DUP5
00003f6d: SUB
00003f6e: SLT
00003f6f: ISZERO
00003f70: PUSH2 0x3f77
00003f73: JUMPI
00003f74: DUP1
00003f75: DUP2
00003f76: REVERT
00003f77: JUMPDEST
00003f78: DUP2
00003f79: CALLDATALOAD
00003f7a: PUSH2 0x0b1d
00003f7d: DUP2
00003f7e: PUSH2 0x5144
00003f81: JUMP
00003f82: JUMPDEST
00003f83: PUSH1 0x00
00003f85: PUSH1 0x20
00003f87: DUP3
00003f88: DUP5
00003f89: SUB
00003f8a: SLT
00003f8b: ISZERO
00003f8c: PUSH2 0x3f93
00003f8f: JUMPI
00003f90: DUP1
00003f91: DUP2
00003f92: REVERT
00003f93: JUMPDEST
00003f94: DUP2
00003f95: MLOAD
00003f96: PUSH2 0x0b1d
00003f99: DUP2
00003f9a: PUSH2 0x5144
00003f9d: JUMP
00003f9e: JUMPDEST
00003f9f: PUSH1 0x00
00003fa1: DUP1
00003fa2: PUSH1 0x40
00003fa4: DUP4
00003fa5: DUP6
00003fa6: SUB
00003fa7: SLT
00003fa8: ISZERO
00003fa9: PUSH2 0x3fb0
00003fac: JUMPI
00003fad: DUP1
00003fae: DUP2
00003faf: REVERT
00003fb0: JUMPDEST
00003fb1: DUP3
00003fb2: CALLDATALOAD
00003fb3: PUSH2 0x3fbb
00003fb6: DUP2
00003fb7: PUSH2 0x5144
00003fba: JUMP
00003fbb: JUMPDEST
00003fbc: SWAP2
00003fbd: POP
00003fbe: PUSH1 0x20
00003fc0: DUP4
00003fc1: ADD
00003fc2: CALLDATALOAD
00003fc3: PUSH2 0x3fcb
00003fc6: DUP2
00003fc7: PUSH2 0x5144
00003fca: JUMP
00003fcb: JUMPDEST
00003fcc: DUP1
00003fcd: SWAP2
00003fce: POP
00003fcf: POP
00003fd0: SWAP3
00003fd1: POP
00003fd2: SWAP3
00003fd3: SWAP1
00003fd4: POP
00003fd5: JUMP
00003fd6: JUMPDEST
00003fd7: PUSH1 0x00
00003fd9: DUP1
00003fda: PUSH1 0x00
00003fdc: PUSH1 0x60
00003fde: DUP5
00003fdf: DUP7
00003fe0: SUB
00003fe1: SLT
00003fe2: ISZERO
00003fe3: PUSH2 0x3fea
00003fe6: JUMPI
00003fe7: DUP1
00003fe8: DUP2
00003fe9: REVERT
00003fea: JUMPDEST
00003feb: DUP4
00003fec: CALLDATALOAD
00003fed: PUSH2 0x3ff5
00003ff0: DUP2
00003ff1: PUSH2 0x5144
00003ff4: JUMP
00003ff5: JUMPDEST
00003ff6: SWAP3
00003ff7: POP
00003ff8: PUSH1 0x20
00003ffa: DUP5
00003ffb: ADD
00003ffc: CALLDATALOAD
00003ffd: PUSH2 0x4005
00004000: DUP2
00004001: PUSH2 0x5144
00004004: JUMP
00004005: JUMPDEST
00004006: SWAP3
00004007: SWAP6
00004008: SWAP3
00004009: SWAP5
0000400a: POP
0000400b: POP
0000400c: POP
0000400d: PUSH1 0x40
0000400f: SWAP2
00004010: SWAP1
00004011: SWAP2
00004012: ADD
00004013: CALLDATALOAD
00004014: SWAP1
00004015: JUMP
00004016: JUMPDEST
00004017: PUSH1 0x00
00004019: DUP1
0000401a: PUSH1 0x00
0000401c: DUP1
0000401d: PUSH1 0x00
0000401f: DUP1
00004020: PUSH1 0x00
00004022: PUSH1 0xa0
00004024: DUP9
00004025: DUP11
00004026: SUB
00004027: SLT
00004028: ISZERO
00004029: PUSH2 0x4030
0000402c: JUMPI
0000402d: DUP3
0000402e: DUP4
0000402f: REVERT
00004030: JUMPDEST
00004031: DUP8
00004032: CALLDATALOAD
00004033: PUSH2 0x403b
00004036: DUP2
00004037: PUSH2 0x5144
0000403a: JUMP
0000403b: JUMPDEST
0000403c: SWAP7
0000403d: POP
0000403e: PUSH1 0x20
00004040: DUP9
00004041: ADD
00004042: CALLDATALOAD
00004043: PUSH2 0x404b
00004046: DUP2
00004047: PUSH2 0x5144
0000404a: JUMP
0000404b: JUMPDEST
0000404c: SWAP6
0000404d: POP
0000404e: PUSH1 0x40
00004050: DUP9
00004051: ADD
00004052: CALLDATALOAD
00004053: SWAP5
00004054: POP
00004055: PUSH1 0x60
00004057: DUP9
00004058: ADD
00004059: CALLDATALOAD
0000405a: PUSH8 0xffffffffffffffff
00004063: DUP1
00004064: DUP3
00004065: GT
00004066: ISZERO
00004067: PUSH2 0x406e
0000406a: JUMPI
0000406b: DUP5
0000406c: DUP6
0000406d: REVERT
0000406e: JUMPDEST
0000406f: PUSH2 0x407a
00004072: DUP12
00004073: DUP4
00004074: DUP13
00004075: ADD
00004076: PUSH2 0x3f0e
00004079: JUMP
0000407a: JUMPDEST
0000407b: SWAP1
0000407c: SWAP7
0000407d: POP
0000407e: SWAP5
0000407f: POP
00004080: PUSH1 0x80
00004082: DUP11
00004083: ADD
00004084: CALLDATALOAD
00004085: SWAP2
00004086: POP
00004087: DUP1
00004088: DUP3
00004089: GT
0000408a: ISZERO
0000408b: PUSH2 0x4092
0000408e: JUMPI
0000408f: DUP4
00004090: DUP5
00004091: REVERT
00004092: JUMPDEST
00004093: POP
00004094: PUSH2 0x409f
00004097: DUP11
00004098: DUP3
00004099: DUP12
0000409a: ADD
0000409b: PUSH2 0x3f0e
0000409e: JUMP
0000409f: JUMPDEST
000040a0: SWAP9
000040a1: SWAP12
000040a2: SWAP8
000040a3: SWAP11
000040a4: POP
000040a5: SWAP6
000040a6: SWAP9
000040a7: POP
000040a8: SWAP4
000040a9: SWAP7
000040aa: SWAP3
000040ab: SWAP6
000040ac: SWAP3
000040ad: SWAP4
000040ae: POP
000040af: POP
000040b0: POP
000040b1: JUMP
000040b2: JUMPDEST
000040b3: PUSH1 0x00
000040b5: DUP1
000040b6: PUSH1 0x40
000040b8: DUP4
000040b9: DUP6
000040ba: SUB
000040bb: SLT
000040bc: ISZERO
000040bd: PUSH2 0x40c4
000040c0: JUMPI
000040c1: DUP2
000040c2: DUP3
000040c3: REVERT
000040c4: JUMPDEST
000040c5: DUP3
000040c6: CALLDATALOAD
000040c7: PUSH2 0x40cf
000040ca: DUP2
000040cb: PUSH2 0x5144
000040ce: JUMP
000040cf: JUMPDEST
000040d0: SWAP5
000040d1: PUSH1 0x20
000040d3: SWAP4
000040d4: SWAP1
000040d5: SWAP4
000040d6: ADD
000040d7: CALLDATALOAD
000040d8: SWAP4
000040d9: POP
000040da: POP
000040db: POP
000040dc: JUMP
000040dd: JUMPDEST
000040de: PUSH1 0x00
000040e0: PUSH1 0x20
000040e2: DUP3
000040e3: DUP5
000040e4: SUB
000040e5: SLT
000040e6: ISZERO
000040e7: PUSH2 0x40ee
000040ea: JUMPI
000040eb: DUP1
000040ec: DUP2
000040ed: REVERT
000040ee: JUMPDEST
000040ef: DUP2
000040f0: MLOAD
000040f1: DUP1
000040f2: ISZERO
000040f3: ISZERO
000040f4: DUP2
000040f5: EQ
000040f6: PUSH2 0x0b1d
000040f9: JUMPI
000040fa: DUP2
000040fb: DUP3
000040fc: REVERT
000040fd: JUMPDEST
000040fe: PUSH1 0x00
00004100: PUSH1 0x20
00004102: DUP3
00004103: DUP5
00004104: SUB
00004105: SLT
00004106: ISZERO
00004107: PUSH2 0x410e
0000410a: JUMPI
0000410b: DUP1
0000410c: DUP2
0000410d: REVERT
0000410e: JUMPDEST
0000410f: PUSH2 0x0b1d
00004112: DUP3
00004113: PUSH2 0x3eff
00004116: JUMP
00004117: JUMPDEST
00004118: PUSH1 0x00
0000411a: PUSH1 0xe0
0000411c: DUP3
0000411d: DUP5
0000411e: SUB
0000411f: SLT
00004120: ISZERO
00004121: PUSH2 0x4128
00004124: JUMPI
00004125: DUP1
00004126: DUP2
00004127: REVERT
00004128: JUMPDEST
00004129: POP
0000412a: SWAP2
0000412b: SWAP1
0000412c: POP
0000412d: JUMP
0000412e: JUMPDEST
0000412f: PUSH1 0x00
00004131: PUSH2 0x02e0
00004134: DUP3
00004135: DUP5
00004136: SUB
00004137: SLT
00004138: ISZERO
00004139: PUSH2 0x4128
0000413c: JUMPI
0000413d: DUP1
0000413e: DUP2
0000413f: REVERT
00004140: JUMPDEST
00004141: PUSH1 0x00
00004143: PUSH1 0x20
00004145: DUP3
00004146: DUP5
00004147: SUB
00004148: SLT
00004149: ISZERO
0000414a: PUSH2 0x4151
0000414d: JUMPI
0000414e: DUP1
0000414f: DUP2
00004150: REVERT
00004151: JUMPDEST
00004152: POP
00004153: CALLDATALOAD
00004154: SWAP2
00004155: SWAP1
00004156: POP
00004157: JUMP
00004158: JUMPDEST
00004159: PUSH1 0x00
0000415b: PUSH1 0x20
0000415d: DUP3
0000415e: DUP5
0000415f: SUB
00004160: SLT
00004161: ISZERO
00004162: PUSH2 0x4169
00004165: JUMPI
00004166: DUP1
00004167: DUP2
00004168: REVERT
00004169: JUMPDEST
0000416a: POP
0000416b: MLOAD
0000416c: SWAP2
0000416d: SWAP1
0000416e: POP
0000416f: JUMP
00004170: JUMPDEST
00004171: PUSH1 0x00
00004173: DUP1
00004174: PUSH1 0x40
00004176: DUP4
00004177: DUP6
00004178: SUB
00004179: SLT
0000417a: ISZERO
0000417b: PUSH2 0x4182
0000417e: JUMPI
0000417f: DUP2
00004180: DUP3
00004181: REVERT
00004182: JUMPDEST
00004183: DUP3
00004184: CALLDATALOAD
00004185: SWAP2
00004186: POP
00004187: PUSH1 0x20
00004189: DUP4
0000418a: ADD
0000418b: CALLDATALOAD
0000418c: PUSH2 0x3fcb
0000418f: DUP2
00004190: PUSH2 0x5144
00004193: JUMP
00004194: JUMPDEST
00004195: PUSH1 0x01
00004197: PUSH1 0x01
00004199: PUSH1 0xf8
0000419b: SHL
0000419c: SUB
0000419d: NOT
0000419e: AND
0000419f: SWAP1
000041a0: MSTORE
000041a1: JUMP
000041a2: JUMPDEST
000041a3: PUSH1 0x03
000041a5: DUP2
000041a6: LT
000041a7: PUSH2 0x41ac
000041aa: JUMPI
000041ab: INVALID
000041ac: JUMPDEST
000041ad: SWAP1
000041ae: MSTORE
000041af: JUMP
000041b0: JUMPDEST
000041b1: DUP1
000041b2: CALLDATALOAD
000041b3: PUSH1 0x01
000041b5: PUSH1 0x01
000041b7: PUSH1 0xe0
000041b9: SHL
000041ba: SUB
000041bb: NOT
000041bc: DUP2
000041bd: AND
000041be: DUP1
000041bf: DUP3
000041c0: EQ
000041c1: PUSH2 0x41c9
000041c4: JUMPI
000041c5: PUSH1 0x00
000041c7: DUP1
000041c8: REVERT
000041c9: JUMPDEST
000041ca: DUP4
000041cb: MSTORE
000041cc: POP
000041cd: PUSH1 0x20
000041cf: DUP2
000041d0: ADD
000041d1: CALLDATALOAD
000041d2: PUSH2 0x41da
000041d5: DUP2
000041d6: PUSH2 0x5144
000041d9: JUMP
000041da: JUMPDEST
000041db: PUSH1 0x01
000041dd: PUSH1 0x01
000041df: PUSH1 0xa0
000041e1: SHL
000041e2: SUB
000041e3: SWAP1
000041e4: DUP2
000041e5: AND
000041e6: PUSH1 0x20
000041e8: DUP5
000041e9: ADD
000041ea: MSTORE
000041eb: PUSH1 0x40
000041ed: DUP3
000041ee: ADD
000041ef: CALLDATALOAD
000041f0: SWAP1
000041f1: PUSH2 0x41f9
000041f4: DUP3
000041f5: PUSH2 0x5144
000041f8: JUMP
000041f9: JUMPDEST
000041fa: AND
000041fb: PUSH1 0x40
000041fd: DUP4
000041fe: ADD
000041ff: MSTORE
00004200: PUSH1 0x60
00004202: DUP2
00004203: DUP2
00004204: ADD
00004205: CALLDATALOAD
00004206: SWAP1
00004207: DUP4
00004208: ADD
00004209: MSTORE
0000420a: PUSH1 0x80
0000420c: SWAP1
0000420d: DUP2
0000420e: ADD
0000420f: CALLDATALOAD
00004210: SWAP2
00004211: ADD
00004212: MSTORE
00004213: JUMP
00004214: JUMPDEST
00004215: PUSH1 0xff
00004217: AND
00004218: SWAP1
00004219: MSTORE
0000421a: JUMP
0000421b: JUMPDEST
0000421c: PUSH1 0x00
0000421e: DUP3
0000421f: MLOAD
00004220: PUSH2 0x422d
00004223: DUP2
00004224: DUP5
00004225: PUSH1 0x20
00004227: DUP8
00004228: ADD
00004229: PUSH2 0x5118
0000422c: JUMP
0000422d: JUMPDEST
0000422e: SWAP2
0000422f: SWAP1
00004230: SWAP2
00004231: ADD
00004232: SWAP3
00004233: SWAP2
00004234: POP
00004235: POP
00004236: JUMP
00004237: JUMPDEST
00004238: PUSH1 0x01
0000423a: PUSH1 0x01
0000423c: PUSH1 0xa0
0000423e: SHL
0000423f: SUB
00004240: SWAP2
00004241: SWAP1
00004242: SWAP2
00004243: AND
00004244: DUP2
00004245: MSTORE
00004246: PUSH1 0x20
00004248: ADD
00004249: SWAP1
0000424a: JUMP
0000424b: JUMPDEST
0000424c: PUSH1 0x01
0000424e: PUSH1 0x01
00004250: PUSH1 0xa0
00004252: SHL
00004253: SUB
00004254: SWAP5
00004255: DUP6
00004256: AND
00004257: DUP2
00004258: MSTORE
00004259: SWAP3
0000425a: SWAP1
0000425b: SWAP4
0000425c: AND
0000425d: PUSH1 0x20
0000425f: DUP4
00004260: ADD
00004261: MSTORE
00004262: PUSH1 0x40
00004264: DUP3
00004265: ADD
00004266: MSTORE
00004267: PUSH1 0x60
00004269: DUP2
0000426a: ADD
0000426b: SWAP2
0000426c: SWAP1
0000426d: SWAP2
0000426e: MSTORE
0000426f: PUSH1 0x80
00004271: ADD
00004272: SWAP1
00004273: JUMP
00004274: JUMPDEST
00004275: PUSH1 0x01
00004277: PUSH1 0x01
00004279: PUSH1 0xa0
0000427b: SHL
0000427c: SUB
0000427d: SWAP5
0000427e: DUP6
0000427f: AND
00004280: DUP2
00004281: MSTORE
00004282: PUSH1 0x20
00004284: DUP2
00004285: ADD
00004286: SWAP4
00004287: SWAP1
00004288: SWAP4
00004289: MSTORE
0000428a: SWAP3
0000428b: AND
0000428c: PUSH1 0x40
0000428e: DUP3
0000428f: ADD
00004290: MSTORE
00004291: PUSH1 0x60
00004293: DUP2
00004294: ADD
00004295: SWAP2
00004296: SWAP1
00004297: SWAP2
00004298: MSTORE
00004299: PUSH1 0x80
0000429b: ADD
0000429c: SWAP1
0000429d: JUMP
0000429e: JUMPDEST
0000429f: PUSH1 0x01
000042a1: PUSH1 0x01
000042a3: PUSH1 0xa0
000042a5: SHL
000042a6: SUB
000042a7: SWAP3
000042a8: DUP4
000042a9: AND
000042aa: DUP2
000042ab: MSTORE
000042ac: SWAP2
000042ad: AND
000042ae: PUSH1 0x20
000042b0: DUP3
000042b1: ADD
000042b2: MSTORE
000042b3: PUSH1 0x40
000042b5: ADD
000042b6: SWAP1
000042b7: JUMP
000042b8: JUMPDEST
000042b9: PUSH1 0x01
000042bb: PUSH1 0x01
000042bd: PUSH1 0xa0
000042bf: SHL
000042c0: SUB
000042c1: SWAP4
000042c2: DUP5
000042c3: AND
000042c4: DUP2
000042c5: MSTORE
000042c6: SWAP2
000042c7: SWAP1
000042c8: SWAP3
000042c9: AND
000042ca: PUSH1 0x20
000042cc: DUP3
000042cd: ADD
000042ce: MSTORE
000042cf: PUSH1 0x40
000042d1: DUP2
000042d2: ADD
000042d3: SWAP2
000042d4: SWAP1
000042d5: SWAP2
000042d6: MSTORE
000042d7: PUSH1 0x60
000042d9: ADD
000042da: SWAP1
000042db: JUMP
000042dc: JUMPDEST
000042dd: PUSH1 0x01
000042df: PUSH1 0x01
000042e1: PUSH1 0xa0
000042e3: SHL
000042e4: SUB
000042e5: SWAP3
000042e6: SWAP1
000042e7: SWAP3
000042e8: AND
000042e9: DUP3
000042ea: MSTORE
000042eb: PUSH1 0x20
000042ed: DUP3
000042ee: ADD
000042ef: MSTORE
000042f0: PUSH1 0x40
000042f2: ADD
000042f3: SWAP1
000042f4: JUMP
000042f5: JUMPDEST
000042f6: SWAP1
000042f7: ISZERO
000042f8: ISZERO
000042f9: DUP2
000042fa: MSTORE
000042fb: PUSH1 0x20
000042fd: ADD
000042fe: SWAP1
000042ff: JUMP
00004300: JUMPDEST
00004301: PUSH1 0x00
00004303: PUSH2 0x0120
00004306: DUP3
00004307: ADD
00004308: SWAP1
00004309: POP
0000430a: PUSH1 0x01
0000430c: DUP1
0000430d: PUSH1 0xa0
0000430f: SHL
00004310: SUB
00004311: DUP1
00004312: DUP7
00004313: AND
00004314: DUP4
00004315: MSTORE
00004316: DUP1
00004317: DUP6
00004318: MLOAD
00004319: AND
0000431a: PUSH1 0x20
0000431c: DUP5
0000431d: ADD
0000431e: MSTORE
0000431f: DUP1
00004320: PUSH1 0x20
00004322: DUP7
00004323: ADD
00004324: MLOAD
00004325: AND
00004326: PUSH1 0x40
00004328: DUP5
00004329: ADD
0000432a: MSTORE
0000432b: DUP1
0000432c: PUSH1 0x40
0000432e: DUP7
0000432f: ADD
00004330: MLOAD
00004331: AND
00004332: PUSH1 0x60
00004334: DUP5
00004335: ADD
00004336: MSTORE
00004337: PUSH1 0x60
00004339: DUP6
0000433a: ADD
0000433b: MLOAD
0000433c: PUSH1 0x80
0000433e: DUP5
0000433f: ADD
00004340: MSTORE
00004341: PUSH1 0x80
00004343: DUP6
00004344: ADD
00004345: MLOAD
00004346: PUSH1 0xa0
00004348: DUP5
00004349: ADD
0000434a: MSTORE
0000434b: PUSH1 0xa0
0000434d: DUP6
0000434e: ADD
0000434f: MLOAD
00004350: PUSH2 0x435c
00004353: PUSH1 0xc0
00004355: DUP6
00004356: ADD
00004357: DUP3
00004358: PUSH2 0x41a2
0000435b: JUMP
0000435c: JUMPDEST
0000435d: POP
0000435e: PUSH1 0xc0
00004360: SWAP5
00004361: SWAP1
00004362: SWAP5
00004363: ADD
00004364: MLOAD
00004365: SWAP1
00004366: SWAP4
00004367: AND
00004368: PUSH1 0xe0
0000436a: DUP3
0000436b: ADD
0000436c: MSTORE
0000436d: PUSH2 0x0100
00004370: ADD
00004371: MSTORE
00004372: SWAP2
00004373: SWAP1
00004374: POP
00004375: JUMP
00004376: JUMPDEST
00004377: PUSH1 0x00
00004379: PUSH1 0x20
0000437b: DUP3
0000437c: MSTORE
0000437d: DUP3
0000437e: MLOAD
0000437f: DUP1
00004380: PUSH1 0x20
00004382: DUP5
00004383: ADD
00004384: MSTORE
00004385: PUSH2 0x4395
00004388: DUP2
00004389: PUSH1 0x40
0000438b: DUP6
0000438c: ADD
0000438d: PUSH1 0x20
0000438f: DUP8
00004390: ADD
00004391: PUSH2 0x5118
00004394: JUMP
00004395: JUMPDEST
00004396: PUSH1 0x1f
00004398: ADD
00004399: PUSH1 0x1f
0000439b: NOT
0000439c: AND
0000439d: SWAP2
0000439e: SWAP1
0000439f: SWAP2
000043a0: ADD
000043a1: PUSH1 0x40
000043a3: ADD
000043a4: SWAP3
000043a5: SWAP2
000043a6: POP
000043a7: POP
000043a8: JUMP
000043a9: JUMPDEST
000043aa: PUSH1 0x20
000043ac: DUP1
000043ad: DUP3
000043ae: MSTORE
000043af: PUSH1 0x0a
000043b1: SWAP1
000043b2: DUP3
000043b3: ADD
000043b4: MSTORE
000043b5: PUSH10 0x2175706772616465546f
000043c0: PUSH1 0xb0
000043c2: SHL
000043c3: PUSH1 0x40
000043c5: DUP3
000043c6: ADD
000043c7: MSTORE
000043c8: PUSH1 0x60
000043ca: ADD
000043cb: SWAP1
000043cc: JUMP
000043cd: JUMPDEST
000043ce: PUSH1 0x20
000043d0: DUP1
000043d1: DUP3
000043d2: MSTORE
000043d3: PUSH1 0x23
000043d5: SWAP1
000043d6: DUP3
000043d7: ADD
000043d8: MSTORE
000043d9: PUSH32 0x45524332303a207472616e7366657220746f20746865207a65726f2061646472
000043fa: PUSH1 0x40
000043fc: DUP3
000043fd: ADD
000043fe: MSTORE
000043ff: PUSH3 0x657373
00004403: PUSH1 0xe8
00004405: SHL
00004406: PUSH1 0x60
00004408: DUP3
00004409: ADD
0000440a: MSTORE
0000440b: PUSH1 0x80
0000440d: ADD
0000440e: SWAP1
0000440f: JUMP
00004410: JUMPDEST
00004411: PUSH1 0x20
00004413: DUP1
00004414: DUP3
00004415: MSTORE
00004416: DUP2
00004417: DUP2
00004418: ADD
00004419: MSTORE
0000441a: PUSH32 0x43616e6e6f7420636c6f73652073686f7274206265666f726520657870697279
0000443b: PUSH1 0x40
0000443d: DUP3
0000443e: ADD
0000443f: MSTORE
00004440: PUSH1 0x60
00004442: ADD
00004443: SWAP1
00004444: JUMP
00004445: JUMPDEST
00004446: PUSH1 0x20
00004448: DUP1
00004449: DUP3
0000444a: MSTORE
0000444b: PUSH1 0x19
0000444d: SWAP1
0000444e: DUP3
0000444f: ADD
00004450: MSTORE
00004451: PUSH32 0x496e73756666696369656e7420736861726520737570706c7900000000000000
00004472: PUSH1 0x40
00004474: DUP3
00004475: ADD
00004476: MSTORE
00004477: PUSH1 0x60
00004479: ADD
0000447a: SWAP1
0000447b: JUMP
0000447c: JUMPDEST
0000447d: PUSH1 0x20
0000447f: DUP1
00004480: DUP3
00004481: MSTORE
00004482: PUSH1 0x18
00004484: SWAP1
00004485: DUP3
00004486: ADD
00004487: MSTORE
00004488: PUSH32 0x53656e6465722063616e206f6e6c79206265207661756c740000000000000000
000044a9: PUSH1 0x40
000044ab: DUP3
000044ac: ADD
000044ad: MSTORE
000044ae: PUSH1 0x60
000044b0: ADD
000044b1: SWAP1
000044b2: JUMP
000044b3: JUMPDEST
000044b4: PUSH1 0x20
000044b6: DUP1
000044b7: DUP3
000044b8: MSTORE
000044b9: PUSH1 0x04
000044bb: SWAP1
000044bc: DUP3
000044bd: ADD
000044be: MSTORE
000044bf: PUSH4 0x085c1d5d
000044c4: PUSH1 0xe2
000044c6: SHL
000044c7: PUSH1 0x40
000044c9: DUP3
000044ca: ADD
000044cb: MSTORE
000044cc: PUSH1 0x60
000044ce: ADD
000044cf: SWAP1
000044d0: JUMP
000044d1: JUMPDEST
000044d2: PUSH1 0x20
000044d4: DUP1
000044d5: DUP3
000044d6: MSTORE
000044d7: PUSH1 0x13
000044d9: SWAP1
000044da: DUP3
000044db: ADD
000044dc: MSTORE
000044dd: PUSH19 0x737472696b65417373657420213d2055534443
000044f1: PUSH1 0x68
000044f3: SHL
000044f4: PUSH1 0x40
000044f6: DUP3
000044f7: ADD
000044f8: MSTORE
000044f9: PUSH1 0x60
000044fb: ADD
000044fc: SWAP1
000044fd: JUMP
000044fe: JUMPDEST
000044ff: PUSH1 0x20
00004501: DUP1
00004502: DUP3
00004503: MSTORE
00004504: PUSH1 0x05
00004506: SWAP1
00004507: DUP3
00004508: ADD
00004509: MSTORE
0000450a: PUSH5 0x0858d85b1b
00004510: PUSH1 0xda
00004512: SHL
00004513: PUSH1 0x40
00004515: DUP3
00004516: ADD
00004517: MSTORE
00004518: PUSH1 0x60
0000451a: ADD
0000451b: SWAP1
0000451c: JUMP
0000451d: JUMPDEST
0000451e: PUSH1 0x20
00004520: DUP1
00004521: DUP3
00004522: MSTORE
00004523: PUSH1 0x26
00004525: SWAP1
00004526: DUP3
00004527: ADD
00004528: MSTORE
00004529: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
0000454a: PUSH1 0x40
0000454c: DUP3
0000454d: ADD
0000454e: MSTORE
0000454f: PUSH6 0x646472657373
00004556: PUSH1 0xd0
00004558: SHL
00004559: PUSH1 0x60
0000455b: DUP3
0000455c: ADD
0000455d: MSTORE
0000455e: PUSH1 0x80
00004560: ADD
00004561: SWAP1
00004562: JUMP
00004563: JUMPDEST
00004564: PUSH1 0x20
00004566: DUP1
00004567: DUP3
00004568: MSTORE
00004569: PUSH1 0x22
0000456b: SWAP1
0000456c: DUP3
0000456d: ADD
0000456e: MSTORE
0000456f: PUSH32 0x45524332303a20617070726f766520746f20746865207a65726f206164647265
00004590: PUSH1 0x40
00004592: DUP3
00004593: ADD
00004594: MSTORE
00004595: PUSH2 0x7373
00004598: PUSH1 0xf0
0000459a: SHL
0000459b: PUSH1 0x60
0000459d: DUP3
0000459e: ADD
0000459f: MSTORE
000045a0: PUSH1 0x80
000045a2: ADD
000045a3: SWAP1
000045a4: JUMP
000045a5: JUMPDEST
000045a6: PUSH1 0x20
000045a8: DUP1
000045a9: DUP3
000045aa: MSTORE
000045ab: PUSH1 0x14
000045ad: SWAP1
000045ae: DUP3
000045af: ADD
000045b0: MSTORE
000045b1: PUSH20 0x64732d6d6174682d6d756c2d6f766572666c6f77
000045c6: PUSH1 0x60
000045c8: SHL
000045c9: PUSH1 0x40
000045cb: DUP3
000045cc: ADD
000045cd: MSTORE
000045ce: PUSH1 0x60
000045d0: ADD
000045d1: SWAP1
000045d2: JUMP
000045d3: JUMPDEST
000045d4: PUSH1 0x20
000045d6: DUP1
000045d7: DUP3
000045d8: MSTORE
000045d9: PUSH1 0x1b
000045db: SWAP1
000045dc: DUP3
000045dd: ADD
000045de: MSTORE
000045df: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000
00004600: PUSH1 0x40
00004602: DUP3
00004603: ADD
00004604: MSTORE
00004605: PUSH1 0x60
00004607: ADD
00004608: SWAP1
00004609: JUMP
0000460a: JUMPDEST
0000460b: PUSH1 0x20
0000460d: DUP1
0000460e: DUP3
0000460f: MSTORE
00004610: PUSH1 0x1a
00004612: SWAP1
00004613: DUP3
00004614: ADD
00004615: MSTORE
00004616: PUSH32 0x4f7074696f6e207479706520646f6573206e6f74206d61746368000000000000
00004637: PUSH1 0x40
00004639: DUP3
0000463a: ADD
0000463b: MSTORE
0000463c: PUSH1 0x60
0000463e: ADD
0000463f: SWAP1
00004640: JUMP
00004641: JUMPDEST
00004642: PUSH1 0x20
00004644: DUP1
00004645: DUP3
00004646: MSTORE
00004647: PUSH1 0x14
00004649: SWAP1
0000464a: DUP3
0000464b: ADD
0000464c: MSTORE
0000464d: PUSH20 0x64732d6d6174682d6164642d6f766572666c6f77
00004662: PUSH1 0x60
00004664: SHL
00004665: PUSH1 0x40
00004667: DUP3
00004668: ADD
00004669: MSTORE
0000466a: PUSH1 0x60
0000466c: ADD
0000466d: SWAP1
0000466e: JUMP
0000466f: JUMPDEST
00004670: PUSH1 0x20
00004672: DUP1
00004673: DUP3
00004674: MSTORE
00004675: PUSH1 0x10
00004677: SWAP1
00004678: DUP3
00004679: ADD
0000467a: MSTORE
0000467b: PUSH16 0x0bee8ded6cadc9cc2daca40427a4060f
0000468c: PUSH1 0x83
0000468e: SHL
0000468f: PUSH1 0x40
00004691: DUP3
00004692: ADD
00004693: MSTORE
00004694: PUSH1 0x60
00004696: ADD
00004697: SWAP1
00004698: JUMP
00004699: JUMPDEST
0000469a: PUSH1 0x20
0000469c: DUP1
0000469d: DUP3
0000469e: MSTORE
0000469f: PUSH1 0x1b
000046a1: SWAP1
000046a2: DUP3
000046a3: ADD
000046a4: MSTORE
000046a5: PUSH32 0x43616e206f6e6c792073656c6c2063757272656e744f7074696f6e0000000000
000046c6: PUSH1 0x40
000046c8: DUP3
000046c9: ADD
000046ca: MSTORE
000046cb: PUSH1 0x60
000046cd: ADD
000046ce: SWAP1
000046cf: JUMP
000046d0: JUMPDEST
000046d1: PUSH1 0x20
000046d3: DUP1
000046d4: DUP3
000046d5: MSTORE
000046d6: PUSH1 0x06
000046d8: SWAP1
000046d9: DUP3
000046da: ADD
000046db: MSTORE
000046dc: PUSH6 0x217368617265
000046e3: PUSH1 0xd0
000046e5: SHL
000046e6: PUSH1 0x40
000046e8: DUP3
000046e9: ADD
000046ea: MSTORE
000046eb: PUSH1 0x60
000046ed: ADD
000046ee: SWAP1
000046ef: JUMP
000046f0: JUMPDEST
000046f1: PUSH1 0x20
000046f3: DUP1
000046f4: DUP3
000046f5: MSTORE
000046f6: PUSH1 0x0b
000046f8: SWAP1
000046f9: DUP3
000046fa: ADD
000046fb: MSTORE
000046fc: PUSH11 0x10b732bba6b0b730b3b2b9
00004708: PUSH1 0xa9
0000470a: SHL
0000470b: PUSH1 0x40
0000470d: DUP3
0000470e: ADD
0000470f: MSTORE
00004710: PUSH1 0x60
00004712: ADD
00004713: SWAP1
00004714: JUMP
00004715: JUMPDEST
00004716: PUSH1 0x20
00004718: DUP1
00004719: DUP3
0000471a: MSTORE
0000471b: PUSH1 0x1e
0000471d: SWAP1
0000471e: DUP3
0000471f: ADD
00004720: MSTORE
00004721: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
00004742: PUSH1 0x40
00004744: DUP3
00004745: ADD
00004746: MSTORE
00004747: PUSH1 0x60
00004749: ADD
0000474a: SWAP1
0000474b: JUMP
0000474c: JUMPDEST
0000474d: PUSH1 0x20
0000474f: DUP1
00004750: DUP3
00004751: MSTORE
00004752: PUSH1 0x26
00004754: SWAP1
00004755: DUP3
00004756: ADD
00004757: MSTORE
00004758: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
00004779: PUSH1 0x40
0000477b: DUP3
0000477c: ADD
0000477d: MSTORE
0000477e: PUSH6 0x1c8818d85b1b
00004785: PUSH1 0xd2
00004787: SHL
00004788: PUSH1 0x60
0000478a: DUP3
0000478b: ADD
0000478c: MSTORE
0000478d: PUSH1 0x80
0000478f: ADD
00004790: SWAP1
00004791: JUMP
00004792: JUMPDEST
00004793: PUSH1 0x20
00004795: DUP1
00004796: DUP3
00004797: MSTORE
00004798: PUSH1 0x1a
0000479a: SWAP1
0000479b: DUP3
0000479c: ADD
0000479d: MSTORE
0000479e: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000
000047bf: PUSH1 0x40
000047c1: DUP3
000047c2: ADD
000047c3: MSTORE
000047c4: PUSH1 0x60
000047c6: ADD
000047c7: SWAP1
000047c8: JUMP
000047c9: JUMPDEST
000047ca: PUSH1 0x20
000047cc: DUP1
000047cd: DUP3
000047ce: MSTORE
000047cf: PUSH1 0x15
000047d1: SWAP1
000047d2: DUP3
000047d3: ADD
000047d4: MSTORE
000047d5: PUSH21 0x15dc9bdb99c81d5b99195c9b1e5a5b99d05cdcd95d
000047eb: PUSH1 0x5a
000047ed: SHL
000047ee: PUSH1 0x40
000047f0: DUP3
000047f1: ADD
000047f2: MSTORE
000047f3: PUSH1 0x60
000047f5: ADD
000047f6: SWAP1
000047f7: JUMP
000047f8: JUMPDEST
000047f9: PUSH1 0x20
000047fb: DUP1
000047fc: DUP3
000047fd: MSTORE
000047fe: PUSH1 0x11
00004800: SWAP1
00004801: DUP3
00004802: ADD
00004803: MSTORE
00004804: PUSH17 0x0c2e6e6cae840d2e640dcdee840ae8aa89
00004816: PUSH1 0x7b
00004818: SHL
00004819: PUSH1 0x40
0000481b: DUP3
0000481c: ADD
0000481d: MSTORE
0000481e: PUSH1 0x60
00004820: ADD
00004821: SWAP1
00004822: JUMP
00004823: JUMPDEST
00004824: PUSH1 0x20
00004826: DUP1
00004827: DUP3
00004828: MSTORE
00004829: PUSH1 0x10
0000482b: SWAP1
0000482c: DUP3
0000482d: ADD
0000482e: MSTORE
0000482f: PUSH16 0x085b995dd19959549958da5c1a595b9d
00004840: PUSH1 0x82
00004842: SHL
00004843: PUSH1 0x40
00004845: DUP3
00004846: ADD
00004847: MSTORE
00004848: PUSH1 0x60
0000484a: ADD
0000484b: SWAP1
0000484c: JUMP
0000484d: JUMPDEST
0000484e: PUSH1 0x20
00004850: DUP1
00004851: DUP3
00004852: MSTORE
00004853: PUSH1 0x05
00004855: SWAP1
00004856: DUP3
00004857: ADD
00004858: MSTORE
00004859: PUSH5 0x042ae8aa89
0000485f: PUSH1 0xdb
00004861: SHL
00004862: PUSH1 0x40
00004864: DUP3
00004865: ADD
00004866: MSTORE
00004867: PUSH1 0x60
00004869: ADD
0000486a: SWAP1
0000486b: JUMP
0000486c: JUMPDEST
0000486d: PUSH1 0x20
0000486f: DUP1
00004870: DUP3
00004871: MSTORE
00004872: PUSH1 0x2e
00004874: SWAP1
00004875: DUP3
00004876: ADD
00004877: MSTORE
00004878: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
00004899: PUSH1 0x40
0000489b: DUP3
0000489c: ADD
0000489d: MSTORE
0000489e: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
000048ad: PUSH1 0x92
000048af: SHL
000048b0: PUSH1 0x60
000048b2: DUP3
000048b3: ADD
000048b4: MSTORE
000048b5: PUSH1 0x80
000048b7: ADD
000048b8: SWAP1
000048b9: JUMP
000048ba: JUMPDEST
000048bb: PUSH1 0x20
000048bd: DUP1
000048be: DUP3
000048bf: MSTORE
000048c0: PUSH1 0x07
000048c2: SWAP1
000048c3: DUP3
000048c4: ADD
000048c5: MSTORE
000048c6: PUSH7 0x10afb7bbb732b9
000048ce: PUSH1 0xc9
000048d0: SHL
000048d1: PUSH1 0x40
000048d3: DUP3
000048d4: ADD
000048d5: MSTORE
000048d6: PUSH1 0x60
000048d8: ADD
000048d9: SWAP1
000048da: JUMP
000048db: JUMPDEST
000048dc: PUSH1 0x20
000048de: DUP1
000048df: DUP3
000048e0: MSTORE
000048e1: PUSH1 0x21
000048e3: SWAP1
000048e4: DUP3
000048e5: ADD
000048e6: MSTORE
000048e7: PUSH32 0x536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f
00004908: PUSH1 0x40
0000490a: DUP3
0000490b: ADD
0000490c: MSTORE
0000490d: PUSH1 0x77
0000490f: PUSH1 0xf8
00004911: SHL
00004912: PUSH1 0x60
00004914: DUP3
00004915: ADD
00004916: MSTORE
00004917: PUSH1 0x80
00004919: ADD
0000491a: SWAP1
0000491b: JUMP
0000491c: JUMPDEST
0000491d: PUSH1 0x20
0000491f: DUP1
00004920: DUP3
00004921: MSTORE
00004922: PUSH1 0x06
00004924: SWAP1
00004925: DUP3
00004926: ADD
00004927: MSTORE
00004928: PUSH6 0x085d985d5b1d
0000492f: PUSH1 0xd2
00004931: SHL
00004932: PUSH1 0x40
00004934: DUP3
00004935: ADD
00004936: MSTORE
00004937: PUSH1 0x60
00004939: ADD
0000493a: SWAP1
0000493b: JUMP
0000493c: JUMPDEST
0000493d: PUSH1 0x20
0000493f: DUP1
00004940: DUP3
00004941: MSTORE
00004942: PUSH1 0x0c
00004944: SWAP1
00004945: DUP3
00004946: ADD
00004947: MSTORE
00004948: PUSH12 0x27b7363c9036b0b730b3b2b9
00004955: PUSH1 0xa1
00004957: SHL
00004958: PUSH1 0x40
0000495a: DUP3
0000495b: ADD
0000495c: MSTORE
0000495d: PUSH1 0x60
0000495f: ADD
00004960: SWAP1
00004961: JUMP
00004962: JUMPDEST
00004963: PUSH1 0x20
00004965: DUP1
00004966: DUP3
00004967: MSTORE
00004968: DUP2
00004969: DUP2
0000496a: ADD
0000496b: MSTORE
0000496c: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
0000498d: PUSH1 0x40
0000498f: DUP3
00004990: ADD
00004991: MSTORE
00004992: PUSH1 0x60
00004994: ADD
00004995: SWAP1
00004996: JUMP
00004997: JUMPDEST
00004998: PUSH1 0x20
0000499a: DUP1
0000499b: DUP3
0000499c: MSTORE
0000499d: PUSH1 0x18
0000499f: SWAP1
000049a0: DUP3
000049a1: ADD
000049a2: MSTORE
000049a3: PUSH32 0x43616e6e6f7420726f6c6c206265666f72652064656c61790000000000000000
000049c4: PUSH1 0x40
000049c6: DUP3
000049c7: ADD
000049c8: MSTORE
000049c9: PUSH1 0x60
000049cb: ADD
000049cc: SWAP1
000049cd: JUMP
000049ce: JUMPDEST
000049cf: PUSH1 0x20
000049d1: DUP1
000049d2: DUP3
000049d3: MSTORE
000049d4: PUSH1 0x0a
000049d6: SWAP1
000049d7: DUP3
000049d8: ADD
000049d9: MSTORE
000049da: PUSH10 0x139bdd081cdd5b9cd95d
000049e5: PUSH1 0xb2
000049e7: SHL
000049e8: PUSH1 0x40
000049ea: DUP3
000049eb: ADD
000049ec: MSTORE
000049ed: PUSH1 0x60
000049ef: ADD
000049f0: SWAP1
000049f1: JUMP
000049f2: JUMPDEST
000049f3: PUSH1 0x20
000049f5: DUP1
000049f6: DUP3
000049f7: MSTORE
000049f8: PUSH1 0x0f
000049fa: SWAP1
000049fb: DUP3
000049fc: ADD
000049fd: MSTORE
000049fe: PUSH15 0x2737903337bab7321037b83a34b7b7
00004a0e: PUSH1 0x89
00004a10: SHL
00004a11: PUSH1 0x40
00004a13: DUP3
00004a14: ADD
00004a15: MSTORE
00004a16: PUSH1 0x60
00004a18: ADD
00004a19: SWAP1
00004a1a: JUMP
00004a1b: JUMPDEST
00004a1c: PUSH1 0x20
00004a1e: DUP1
00004a1f: DUP3
00004a20: MSTORE
00004a21: PUSH1 0x12
00004a23: SWAP1
00004a24: DUP3
00004a25: ADD
00004a26: MSTORE
00004a27: PUSH18 0x07769746864726177616c46656520213d203
00004a3a: PUSH1 0x74
00004a3c: SHL
00004a3d: PUSH1 0x40
00004a3f: DUP3
00004a40: ADD
00004a41: MSTORE
00004a42: PUSH1 0x60
00004a44: ADD
00004a45: SWAP1
00004a46: JUMP
00004a47: JUMPDEST
00004a48: PUSH1 0x20
00004a4a: DUP1
00004a4b: DUP3
00004a4c: MSTORE
00004a4d: PUSH1 0x0f
00004a4f: SWAP1
00004a50: DUP3
00004a51: ADD
00004a52: MSTORE
00004a53: PUSH15 0x139bc81d985b1d59481c185cdcd959
00004a63: PUSH1 0x8a
00004a65: SHL
00004a66: PUSH1 0x40
00004a68: DUP3
00004a69: ADD
00004a6a: MSTORE
00004a6b: PUSH1 0x60
00004a6d: ADD
00004a6e: SWAP1
00004a6f: JUMP
00004a70: JUMPDEST
00004a71: PUSH1 0x20
00004a73: DUP1
00004a74: DUP3
00004a75: MSTORE
00004a76: PUSH1 0x21
00004a78: SWAP1
00004a79: DUP3
00004a7a: ADD
00004a7b: MSTORE
00004a7c: PUSH32 0x45524332303a206275726e2066726f6d20746865207a65726f20616464726573
00004a9d: PUSH1 0x40
00004a9f: DUP3
00004aa0: ADD
00004aa1: MSTORE
00004aa2: PUSH1 0x73
00004aa4: PUSH1 0xf8
00004aa6: SHL
00004aa7: PUSH1 0x60
00004aa9: DUP3
00004aaa: ADD
00004aab: MSTORE
00004aac: PUSH1 0x80
00004aae: ADD
00004aaf: SWAP1
00004ab0: JUMP
00004ab1: JUMPDEST
00004ab2: PUSH1 0x20
00004ab4: DUP1
00004ab5: DUP3
00004ab6: MSTORE
00004ab7: PUSH1 0x25
00004ab9: SWAP1
00004aba: DUP3
00004abb: ADD
00004abc: MSTORE
00004abd: PUSH32 0x45524332303a207472616e736665722066726f6d20746865207a65726f206164
00004ade: PUSH1 0x40
00004ae0: DUP3
00004ae1: ADD
00004ae2: MSTORE
00004ae3: PUSH5 0x6472657373
00004ae9: PUSH1 0xd8
00004aeb: SHL
00004aec: PUSH1 0x60
00004aee: DUP3
00004aef: ADD
00004af0: MSTORE
00004af1: PUSH1 0x80
00004af3: ADD
00004af4: SWAP1
00004af5: JUMP
00004af6: JUMPDEST
00004af7: PUSH1 0x20
00004af9: DUP1
00004afa: DUP3
00004afb: MSTORE
00004afc: PUSH1 0x0e
00004afe: SWAP1
00004aff: DUP3
00004b00: ADD
00004b01: MSTORE
00004b02: PUSH14 0x0857d99959549958da5c1a595b9d
00004b11: PUSH1 0x92
00004b13: SHL
00004b14: PUSH1 0x40
00004b16: DUP3
00004b17: ADD
00004b18: MSTORE
00004b19: PUSH1 0x60
00004b1b: ADD
00004b1c: SWAP1
00004b1d: JUMP
00004b1e: JUMPDEST
00004b1f: PUSH1 0x20
00004b21: DUP1
00004b22: DUP3
00004b23: MSTORE
00004b24: PUSH1 0x24
00004b26: SWAP1
00004b27: DUP3
00004b28: ADD
00004b29: MSTORE
00004b2a: PUSH32 0x4f7074696f6e206578706972792063616e6e6f74206265206265666f72652064
00004b4b: PUSH1 0x40
00004b4d: DUP3
00004b4e: ADD
00004b4f: MSTORE
00004b50: PUSH4 0x656c6179
00004b55: PUSH1 0xe0
00004b57: SHL
00004b58: PUSH1 0x60
00004b5a: DUP3
00004b5b: ADD
00004b5c: MSTORE
00004b5d: PUSH1 0x80
00004b5f: ADD
00004b60: SWAP1
00004b61: JUMP
00004b62: JUMPDEST
00004b63: PUSH1 0x20
00004b65: DUP1
00004b66: DUP3
00004b67: MSTORE
00004b68: PUSH1 0x25
00004b6a: SWAP1
00004b6b: DUP3
00004b6c: ADD
00004b6d: MSTORE
00004b6e: PUSH32 0x4665656c65737320776974686472617720746f207661756c74206e6f7420616c
00004b8f: PUSH1 0x40
00004b91: DUP3
00004b92: ADD
00004b93: MSTORE
00004b94: PUSH5 0x1b1bddd959
00004b9a: PUSH1 0xda
00004b9c: SHL
00004b9d: PUSH1 0x60
00004b9f: DUP3
00004ba0: ADD
00004ba1: MSTORE
00004ba2: PUSH1 0x80
00004ba4: ADD
00004ba5: SWAP1
00004ba6: JUMP
00004ba7: JUMPDEST
00004ba8: PUSH1 0x20
00004baa: DUP1
00004bab: DUP3
00004bac: MSTORE
00004bad: PUSH1 0x13
00004baf: SWAP1
00004bb0: DUP3
00004bb1: ADD
00004bb2: MSTORE
00004bb3: PUSH19 0x115512081d1c985b9cd9995c8819985a5b1959
00004bc7: PUSH1 0x6a
00004bc9: SHL
00004bca: PUSH1 0x40
00004bcc: DUP3
00004bcd: ADD
00004bce: MSTORE
00004bcf: PUSH1 0x60
00004bd1: ADD
00004bd2: SWAP1
00004bd3: JUMP
00004bd4: JUMPDEST
00004bd5: PUSH1 0x20
00004bd7: DUP1
00004bd8: DUP3
00004bd9: MSTORE
00004bda: PUSH1 0x24
00004bdc: SWAP1
00004bdd: DUP3
00004bde: ADD
00004bdf: MSTORE
00004be0: PUSH32 0x45524332303a20617070726f76652066726f6d20746865207a65726f20616464
00004c01: PUSH1 0x40
00004c03: DUP3
00004c04: ADD
00004c05: MSTORE
00004c06: PUSH4 0x72657373
00004c0b: PUSH1 0xe0
00004c0d: SHL
00004c0e: PUSH1 0x60
00004c10: DUP3
00004c11: ADD
00004c12: MSTORE
00004c13: PUSH1 0x80
00004c15: ADD
00004c16: SWAP1
00004c17: JUMP
00004c18: JUMPDEST
00004c19: PUSH1 0x20
00004c1b: DUP1
00004c1c: DUP3
00004c1d: MSTORE
00004c1e: PUSH1 0x1a
00004c20: SWAP1
00004c21: DUP3
00004c22: ADD
00004c23: MSTORE
00004c24: PUSH32 0x496e73756666696369656e742061737365742062616c616e6365000000000000
00004c45: PUSH1 0x40
00004c47: DUP3
00004c48: ADD
00004c49: MSTORE
00004c4a: PUSH1 0x60
00004c4c: ADD
00004c4d: SWAP1
00004c4e: JUMP
00004c4f: JUMPDEST
00004c50: PUSH1 0x20
00004c52: DUP1
00004c53: DUP3
00004c54: MSTORE
00004c55: PUSH1 0x1d
00004c57: SWAP1
00004c58: DUP3
00004c59: ADD
00004c5a: MSTORE
00004c5b: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00004c7c: PUSH1 0x40
00004c7e: DUP3
00004c7f: ADD
00004c80: MSTORE
00004c81: PUSH1 0x60
00004c83: ADD
00004c84: SWAP1
00004c85: JUMP
00004c86: JUMPDEST
00004c87: PUSH1 0x20
00004c89: DUP1
00004c8a: DUP3
00004c8b: MSTORE
00004c8c: PUSH1 0x1d
00004c8e: SWAP1
00004c8f: DUP3
00004c90: ADD
00004c91: MSTORE
00004c92: PUSH32 0x43616e206f6e6c7920627579207769746820617373657420746f6b656e000000
00004cb3: PUSH1 0x40
00004cb5: DUP3
00004cb6: ADD
00004cb7: MSTORE
00004cb8: PUSH1 0x60
00004cba: ADD
00004cbb: SWAP1
00004cbc: JUMP
00004cbd: JUMPDEST
00004cbe: PUSH1 0x20
00004cc0: DUP1
00004cc1: DUP3
00004cc2: MSTORE
00004cc3: PUSH1 0x14
00004cc5: SWAP1
00004cc6: DUP3
00004cc7: ADD
00004cc8: MSTORE
00004cc9: PUSH20 0x7769746864726177616c466565203e3d20333025
00004cde: PUSH1 0x60
00004ce0: SHL
00004ce1: PUSH1 0x40
00004ce3: DUP3
00004ce4: ADD
00004ce5: MSTORE
00004ce6: PUSH1 0x60
00004ce8: ADD
00004ce9: SWAP1
00004cea: JUMP
00004ceb: JUMPDEST
00004cec: PUSH1 0x20
00004cee: DUP1
00004cef: DUP3
00004cf0: MSTORE
00004cf1: PUSH1 0x2a
00004cf3: SWAP1
00004cf4: DUP3
00004cf5: ADD
00004cf6: MSTORE
00004cf7: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00004d18: PUSH1 0x40
00004d1a: DUP3
00004d1b: ADD
00004d1c: MSTORE
00004d1d: PUSH10 0x1bdd081cdd58d8d95959
00004d28: PUSH1 0xb2
00004d2a: SHL
00004d2b: PUSH1 0x60
00004d2d: DUP3
00004d2e: ADD
00004d2f: MSTORE
00004d30: PUSH1 0x80
00004d32: ADD
00004d33: SWAP1
00004d34: JUMP
00004d35: JUMPDEST
00004d36: PUSH1 0x20
00004d38: DUP1
00004d39: DUP3
00004d3a: MSTORE
00004d3b: PUSH1 0x15
00004d3d: SWAP1
00004d3e: DUP3
00004d3f: ADD
00004d40: MSTORE
00004d41: PUSH21 0x15dc9bdb99c818dbdb1b185d195c985b105cdcd95d
00004d57: PUSH1 0x5a
00004d59: SHL
00004d5a: PUSH1 0x40
00004d5c: DUP3
00004d5d: ADD
00004d5e: MSTORE
00004d5f: PUSH1 0x60
00004d61: ADD
00004d62: SWAP1
00004d63: JUMP
00004d64: JUMPDEST
00004d65: PUSH1 0x20
00004d67: DUP1
00004d68: DUP3
00004d69: MSTORE
00004d6a: PUSH1 0x07
00004d6c: SWAP1
00004d6d: DUP3
00004d6e: ADD
00004d6f: MSTORE
00004d70: PUSH7 0x10b7b83a34b7b7
00004d78: PUSH1 0xc9
00004d7a: SHL
00004d7b: PUSH1 0x40
00004d7d: DUP3
00004d7e: ADD
00004d7f: MSTORE
00004d80: PUSH1 0x60
00004d82: ADD
00004d83: SWAP1
00004d84: JUMP
00004d85: JUMPDEST
00004d86: PUSH1 0x20
00004d88: DUP1
00004d89: DUP3
00004d8a: MSTORE
00004d8b: PUSH1 0x0c
00004d8d: SWAP1
00004d8e: DUP3
00004d8f: ADD
00004d90: MSTORE
00004d91: PUSH12 0x10d85c08195e18d959591959
00004d9e: PUSH1 0xa2
00004da0: SHL
00004da1: PUSH1 0x40
00004da3: DUP3
00004da4: ADD
00004da5: MSTORE
00004da6: PUSH1 0x60
00004da8: ADD
00004da9: SWAP1
00004daa: JUMP
00004dab: JUMPDEST
00004dac: PUSH1 0x20
00004dae: DUP1
00004daf: DUP3
00004db0: MSTORE
00004db1: PUSH1 0x1f
00004db3: SWAP1
00004db4: DUP3
00004db5: ADD
00004db6: MSTORE
00004db7: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
00004dd8: PUSH1 0x40
00004dda: DUP3
00004ddb: ADD
00004ddc: MSTORE
00004ddd: PUSH1 0x60
00004ddf: ADD
00004de0: SWAP1
00004de1: JUMP
00004de2: JUMPDEST
00004de3: PUSH1 0x20
00004de5: DUP1
00004de6: DUP3
00004de7: MSTORE
00004de8: PUSH1 0x12
00004dea: SWAP1
00004deb: DUP3
00004dec: ADD
00004ded: MSTORE
00004dee: PUSH18 0x0bee8ded6cadca6f2dac4ded840427a4060f
00004e01: PUSH1 0x73
00004e03: SHL
00004e04: PUSH1 0x40
00004e06: DUP3
00004e07: ADD
00004e08: MSTORE
00004e09: PUSH1 0x60
00004e0b: ADD
00004e0c: SWAP1
00004e0d: JUMP
00004e0e: JUMPDEST
00004e0f: PUSH1 0x20
00004e11: DUP1
00004e12: DUP3
00004e13: MSTORE
00004e14: PUSH1 0x36
00004e16: SWAP1
00004e17: DUP3
00004e18: ADD
00004e19: MSTORE
00004e1a: PUSH32 0x5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f
00004e3b: PUSH1 0x40
00004e3d: DUP3
00004e3e: ADD
00004e3f: MSTORE
00004e40: PUSH22 0x20746f206e6f6e2d7a65726f20616c6c6f77616e6365
00004e57: PUSH1 0x50
00004e59: SHL
00004e5a: PUSH1 0x60
00004e5c: DUP3
00004e5d: ADD
00004e5e: MSTORE
00004e5f: PUSH1 0x80
00004e61: ADD
00004e62: SWAP1
00004e63: JUMP
00004e64: JUMPDEST
00004e65: PUSH1 0x20
00004e67: DUP1
00004e68: DUP3
00004e69: MSTORE
00004e6a: PUSH1 0x23
00004e6c: SWAP1
00004e6d: DUP3
00004e6e: ADD
00004e6f: MSTORE
00004e70: PUSH32 0x43616e6e6f74207769746864726177206d6f7265207468616e20617661696c61
00004e91: PUSH1 0x40
00004e93: DUP3
00004e94: ADD
00004e95: MSTORE
00004e96: PUSH3 0x626c65
00004e9a: PUSH1 0xe8
00004e9c: SHL
00004e9d: PUSH1 0x60
00004e9f: DUP3
00004ea0: ADD
00004ea1: MSTORE
00004ea2: PUSH1 0x80
00004ea4: ADD
00004ea5: SWAP1
00004ea6: JUMP
00004ea7: JUMPDEST
00004ea8: PUSH1 0x20
00004eaa: DUP1
00004eab: DUP3
00004eac: MSTORE
00004ead: PUSH1 0x0e
00004eaf: SWAP1
00004eb0: DUP3
00004eb1: ADD
00004eb2: MSTORE
00004eb3: PUSH14 0x10b1bab93932b73a27b83a34b7b7
00004ec2: PUSH1 0x91
00004ec4: SHL
00004ec5: PUSH1 0x40
00004ec7: DUP3
00004ec8: ADD
00004ec9: MSTORE
00004eca: PUSH1 0x60
00004ecc: ADD
00004ecd: SWAP1
00004ece: JUMP
00004ecf: JUMPDEST
00004ed0: PUSH1 0x20
00004ed2: DUP1
00004ed3: DUP3
00004ed4: MSTORE
00004ed5: PUSH1 0x1f
00004ed7: SWAP1
00004ed8: DUP3
00004ed9: ADD
00004eda: MSTORE
00004edb: PUSH32 0x45524332303a206d696e7420746f20746865207a65726f206164647265737300
00004efc: PUSH1 0x40
00004efe: DUP3
00004eff: ADD
00004f00: MSTORE
00004f01: PUSH1 0x60
00004f03: ADD
00004f04: SWAP1
00004f05: JUMP
00004f06: JUMPDEST
00004f07: PUSH1 0x20
00004f09: DUP1
00004f0a: DUP3
00004f0b: MSTORE
00004f0c: PUSH1 0x0c
00004f0e: SWAP1
00004f0f: DUP3
00004f10: ADD
00004f11: MSTORE
00004f12: PUSH12 0x05f696e6974436170203e203
00004f1f: PUSH1 0xa4
00004f21: SHL
00004f22: PUSH1 0x40
00004f24: DUP3
00004f25: ADD
00004f26: MSTORE
00004f27: PUSH1 0x60
00004f29: ADD
00004f2a: SWAP1
00004f2b: JUMP
00004f2c: JUMPDEST
00004f2d: PUSH1 0xe0
00004f2f: DUP2
00004f30: ADD
00004f31: DUP3
00004f32: CALLDATALOAD
00004f33: PUSH2 0x4f3b
00004f36: DUP2
00004f37: PUSH2 0x5144
00004f3a: JUMP
00004f3b: JUMPDEST
00004f3c: PUSH1 0x01
00004f3e: PUSH1 0x01
00004f40: PUSH1 0xa0
00004f42: SHL
00004f43: SUB
00004f44: SWAP1
00004f45: DUP2
00004f46: AND
00004f47: DUP4
00004f48: MSTORE
00004f49: PUSH1 0x20
00004f4b: DUP5
00004f4c: ADD
00004f4d: CALLDATALOAD
00004f4e: SWAP1
00004f4f: PUSH2 0x4f57
00004f52: DUP3
00004f53: PUSH2 0x5144
00004f56: JUMP
00004f57: JUMPDEST
00004f58: SWAP1
00004f59: DUP2
00004f5a: AND
00004f5b: PUSH1 0x20
00004f5d: DUP5
00004f5e: ADD
00004f5f: MSTORE
00004f60: PUSH1 0x40
00004f62: DUP5
00004f63: ADD
00004f64: CALLDATALOAD
00004f65: SWAP1
00004f66: PUSH2 0x4f6e
00004f69: DUP3
00004f6a: PUSH2 0x5144
00004f6d: JUMP
00004f6e: JUMPDEST
00004f6f: DUP1
00004f70: DUP3
00004f71: AND
00004f72: PUSH1 0x40
00004f74: DUP6
00004f75: ADD
00004f76: MSTORE
00004f77: PUSH1 0x60
00004f79: DUP6
00004f7a: ADD
00004f7b: CALLDATALOAD
00004f7c: PUSH1 0x60
00004f7e: DUP6
00004f7f: ADD
00004f80: MSTORE
00004f81: PUSH1 0x80
00004f83: DUP6
00004f84: ADD
00004f85: CALLDATALOAD
00004f86: PUSH1 0x80
00004f88: DUP6
00004f89: ADD
00004f8a: MSTORE
00004f8b: PUSH2 0x4f96
00004f8e: PUSH1 0xa0
00004f90: DUP7
00004f91: ADD
00004f92: PUSH2 0x3eff
00004f95: JUMP
00004f96: JUMPDEST
00004f97: SWAP2
00004f98: POP
00004f99: PUSH2 0x4fa5
00004f9c: PUSH1 0xa0
00004f9e: DUP6
00004f9f: ADD
00004fa0: DUP4
00004fa1: PUSH2 0x41a2
00004fa4: JUMP
00004fa5: JUMPDEST
00004fa6: PUSH1 0xc0
00004fa8: DUP6
00004fa9: ADD
00004faa: CALLDATALOAD
00004fab: SWAP2
00004fac: POP
00004fad: PUSH2 0x4fb5
00004fb0: DUP3
00004fb1: PUSH2 0x5144
00004fb4: JUMP
00004fb5: JUMPDEST
00004fb6: DUP1
00004fb7: DUP3
00004fb8: AND
00004fb9: PUSH1 0xc0
00004fbb: DUP6
00004fbc: ADD
00004fbd: MSTORE
00004fbe: POP
00004fbf: POP
00004fc0: SWAP3
00004fc1: SWAP2
00004fc2: POP
00004fc3: POP
00004fc4: JUMP
00004fc5: JUMPDEST
00004fc6: DUP2
00004fc7: CALLDATALOAD
00004fc8: DUP2
00004fc9: MSTORE
00004fca: PUSH1 0x20
00004fcc: DUP1
00004fcd: DUP4
00004fce: ADD
00004fcf: CALLDATALOAD
00004fd0: SWAP1
00004fd1: DUP3
00004fd2: ADD
00004fd3: MSTORE
00004fd4: PUSH2 0x02e0
00004fd7: DUP2
00004fd8: ADD
00004fd9: PUSH2 0x4fe8
00004fdc: PUSH1 0x40
00004fde: DUP1
00004fdf: DUP5
00004fe0: ADD
00004fe1: SWAP1
00004fe2: DUP6
00004fe3: ADD
00004fe4: PUSH2 0x41b0
00004fe7: JUMP
00004fe8: JUMPDEST
00004fe9: PUSH2 0x4ff8
00004fec: PUSH1 0xe0
00004fee: DUP4
00004fef: ADD
00004ff0: PUSH1 0xe0
00004ff2: DUP6
00004ff3: ADD
00004ff4: PUSH2 0x41b0
00004ff7: JUMP
00004ff8: JUMPDEST
00004ff9: PUSH2 0x0180
00004ffc: PUSH2 0x5009
00004fff: DUP2
00005000: DUP5
00005001: ADD
00005002: DUP3
00005003: DUP7
00005004: ADD
00005005: PUSH2 0x41b0
00005008: JUMP
00005009: JUMPDEST
0000500a: POP
0000500b: PUSH2 0x0220
0000500e: DUP1
0000500f: DUP5
00005010: ADD
00005011: CALLDATALOAD
00005012: PUSH2 0x501a
00005015: DUP2
00005016: PUSH2 0x5144
00005019: JUMP
0000501a: JUMPDEST
0000501b: PUSH1 0x01
0000501d: PUSH1 0x01
0000501f: PUSH1 0xa0
00005021: SHL
00005022: SUB
00005023: SWAP1
00005024: DUP2
00005025: AND
00005026: SWAP2
00005027: DUP5
00005028: ADD
00005029: SWAP2
0000502a: SWAP1
0000502b: SWAP2
0000502c: MSTORE
0000502d: PUSH2 0x0240
00005030: SWAP1
00005031: DUP5
00005032: DUP3
00005033: ADD
00005034: CALLDATALOAD
00005035: SWAP1
00005036: PUSH2 0x503e
00005039: DUP3
0000503a: PUSH2 0x5144
0000503d: JUMP
0000503e: JUMPDEST
0000503f: AND
00005040: SWAP1
00005041: DUP4
00005042: ADD
00005043: MSTORE
00005044: PUSH2 0x0260
00005047: DUP4
00005048: DUP2
00005049: ADD
0000504a: CALLDATALOAD
0000504b: PUSH1 0x01
0000504d: PUSH1 0x01
0000504f: PUSH1 0xf8
00005051: SHL
00005052: SUB
00005053: NOT
00005054: DUP2
00005055: AND
00005056: DUP2
00005057: EQ
00005058: PUSH2 0x5060
0000505b: JUMPI
0000505c: PUSH1 0x00
0000505e: DUP1
0000505f: REVERT
00005060: JUMPDEST
00005061: PUSH2 0x506c
00005064: DUP3
00005065: DUP6
00005066: ADD
00005067: DUP3
00005068: PUSH2 0x4194
0000506b: JUMP
0000506c: JUMPDEST
0000506d: POP
0000506e: POP
0000506f: PUSH2 0x0280
00005072: PUSH2 0x507c
00005075: DUP2
00005076: DUP6
00005077: ADD
00005078: PUSH2 0x3f55
0000507b: JUMP
0000507c: JUMPDEST
0000507d: PUSH2 0x5088
00005080: DUP3
00005081: DUP6
00005082: ADD
00005083: DUP3
00005084: PUSH2 0x4214
00005087: JUMP
00005088: JUMPDEST
00005089: POP
0000508a: POP
0000508b: PUSH2 0x02a0
0000508e: DUP4
0000508f: DUP2
00005090: ADD
00005091: CALLDATALOAD
00005092: SWAP1
00005093: DUP4
00005094: ADD
00005095: MSTORE
00005096: PUSH2 0x02c0
00005099: SWAP3
0000509a: DUP4
0000509b: ADD
0000509c: CALLDATALOAD
0000509d: SWAP3
0000509e: SWAP1
0000509f: SWAP2
000050a0: ADD
000050a1: SWAP2
000050a2: SWAP1
000050a3: SWAP2
000050a4: MSTORE
000050a5: SWAP1
000050a6: JUMP
000050a7: JUMPDEST
000050a8: SWAP1
000050a9: DUP2
000050aa: MSTORE
000050ab: PUSH1 0x20
000050ad: ADD
000050ae: SWAP1
000050af: JUMP
000050b0: JUMPDEST
000050b1: SWAP2
000050b2: DUP3
000050b3: MSTORE
000050b4: PUSH1 0x01
000050b6: PUSH1 0x01
000050b8: PUSH1 0xa0
000050ba: SHL
000050bb: SUB
000050bc: AND
000050bd: PUSH1 0x20
000050bf: DUP3
000050c0: ADD
000050c1: MSTORE
000050c2: PUSH1 0x40
000050c4: ADD
000050c5: SWAP1
000050c6: JUMP
000050c7: JUMPDEST
000050c8: SWAP2
000050c9: DUP3
000050ca: MSTORE
000050cb: PUSH1 0x20
000050cd: DUP3
000050ce: ADD
000050cf: MSTORE
000050d0: PUSH1 0x40
000050d2: ADD
000050d3: SWAP1
000050d4: JUMP
000050d5: JUMPDEST
000050d6: SWAP3
000050d7: DUP4
000050d8: MSTORE
000050d9: PUSH1 0x20
000050db: DUP4
000050dc: ADD
000050dd: SWAP2
000050de: SWAP1
000050df: SWAP2
000050e0: MSTORE
000050e1: PUSH1 0x01
000050e3: PUSH1 0x01
000050e5: PUSH1 0xa0
000050e7: SHL
000050e8: SUB
000050e9: AND
000050ea: PUSH1 0x40
000050ec: DUP3
000050ed: ADD
000050ee: MSTORE
000050ef: PUSH1 0x60
000050f1: ADD
000050f2: SWAP1
000050f3: JUMP
000050f4: JUMPDEST
000050f5: SWAP3
000050f6: DUP4
000050f7: MSTORE
000050f8: PUSH1 0x20
000050fa: DUP4
000050fb: ADD
000050fc: SWAP2
000050fd: SWAP1
000050fe: SWAP2
000050ff: MSTORE
00005100: PUSH1 0x40
00005102: DUP3
00005103: ADD
00005104: MSTORE
00005105: PUSH1 0x60
00005107: ADD
00005108: SWAP1
00005109: JUMP
0000510a: JUMPDEST
0000510b: PUSH1 0xff
0000510d: SWAP2
0000510e: SWAP1
0000510f: SWAP2
00005110: AND
00005111: DUP2
00005112: MSTORE
00005113: PUSH1 0x20
00005115: ADD
00005116: SWAP1
00005117: JUMP
00005118: JUMPDEST
00005119: PUSH1 0x00
0000511b: JUMPDEST
0000511c: DUP4
0000511d: DUP2
0000511e: LT
0000511f: ISZERO
00005120: PUSH2 0x5133
00005123: JUMPI
00005124: DUP2
00005125: DUP2
00005126: ADD
00005127: MLOAD
00005128: DUP4
00005129: DUP3
0000512a: ADD
0000512b: MSTORE
0000512c: PUSH1 0x20
0000512e: ADD
0000512f: PUSH2 0x511b
00005132: JUMP
00005133: JUMPDEST
00005134: DUP4
00005135: DUP2
00005136: GT
00005137: ISZERO
00005138: PUSH2 0x306a
0000513b: JUMPI
0000513c: POP
0000513d: POP
0000513e: PUSH1 0x00
00005140: SWAP2
00005141: ADD
00005142: MSTORE
00005143: JUMP
00005144: JUMPDEST
00005145: PUSH1 0x01
00005147: PUSH1 0x01
00005149: PUSH1 0xa0
0000514b: SHL
0000514c: SUB
0000514d: DUP2
0000514e: AND
0000514f: DUP2
00005150: EQ
00005151: PUSH2 0x2ec6
00005154: JUMPI
00005155: PUSH1 0x00
00005157: DUP1
00005158: REVERT
00005159: INVALID
0000515a: GASLIMIT
0000515b: MSTORE
0000515c: NUMBER
0000515d: ORIGIN
0000515e: ADDRESS
0000515f: GASPRICE
00005160: KECCAK256
00005161: PUSH3 0x75726e
00005165: KECCAK256
00005166: PUSH2 0x6d6f
00005169: PUSH22 0x6e7420657863656564732062616c616e636545524332
00005180: ADDRESS
00005181: GASPRICE
00005182: KECCAK256
00005183: PUSH21 0x72616e7366657220616d6f756e7420657863656564
00005199: PUSH20 0x2062616c616e636545524332303a207472616e73
000051ae: PUSH7 0x657220616d6f75
000051b6: PUSH15 0x74206578636565647320616c6c6f77
000051c6: PUSH2 0x6e63
000051c9: PUSH6 0x45524332303a
000051d0: KECCAK256
000051d1: PUSH5 0x6563726561
000051d7: PUSH20 0x656420616c6c6f77616e63652062656c6f77207a
000051ec: PUSH6 0x726fa2646970
000051f3: PUSH7 0x7358221220a700
000051fb: UNKNOWN(0x2A)
000051fc: GASPRICE
000051fd: SWAP3
000051fe: UNKNOWN(0xCE)
000051ff: UNKNOWN(0xFC)
00005200: SSTORE
00005201: UNKNOWN(0xD9)
00005202: UNKNOWN(0xAA)
00005203: UNKNOWN(0x2C)
00005204: BLOBHASH
00005205: PUSH29 0x618c3c9d9a2b8d94fbcc05663e573a803f147a64736f6c634300070200
00005223: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other codex Delegatecall into adapter grants full vault control if adapter is compromised or upgradeable 85 no
view
evidence_json
{
    "evidence": "ProtocolAdapter uses delegatecall for create/close short operations, and RibbonThetaVault calls these delegatecall helpers during normal vault operations.",
    "locations": [
        "contracts/Contract.sol:958",
        "contracts/Contract.sol:975",
        "contracts/Contract.sol:2634",
        "contracts/Contract.sol:2673"
    ],
    "recommendation": "Treat the adapter as a critical trust boundary: use non-upgradeable, audited adapter implementations; enforce a code-hash allowlist; or replace delegatecall with explicit calls that return values and keep vault state changes in the vault. If upgradeable adapters are unavoidable, gate upgrades behind robust governance and timelocks.",
    "exploit_scenario": "If the adapter address points to an upgradeable proxy or a compromised adapter contract, an attacker can upgrade/replace the adapter with malicious code that executes via delegatecall, draining vault assets or selfdestructing the vault. Any call path that triggers adapter.delegateCreateShort/adapter.delegateCloseShort (e.g., rollToNextOption or closeShort/emergencyWithdraw) would execute attacker code in the vault context."
}
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
trace_id: 0x75b01f4f1af40d810108a6e64f825605d383ced3ff281e95b3a8aa56e131c806
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x75b01f4f1af40d810108a6e64f825605d383ced3ff281e95b3a8aa56e131c806",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf6bca120",
            "selector": "0xf6bca120",
            "calldata_variants": [
                "0xf6bca120",
                "0xf6bca1200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf8432a1b",
            "selector": "0xf8432a1b",
            "calldata_variants": [
                "0xf8432a1b",
                "0xf8432a1b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf870316f",
            "selector": "0xf870316f",
            "calldata_variants": [
                "0xf870316f",
                "0xf870316f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfaec2233",
            "selector": "0xfaec2233",
            "calldata_variants": [
                "0xfaec2233",
                "0xfaec22330000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf14210a6",
            "selector": "0xf14210a6",
            "calldata_variants": [
                "0xf14210a6",
                "0xf14210a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3c274a6",
            "selector": "0xf3c274a6",
            "calldata_variants": [
                "0xf3c274a6",
                "0xf3c274a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6326fb3",
            "selector": "0xf6326fb3",
            "calldata_variants": [
                "0xf6326fb3",
                "0xf6326fb30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 7320,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 10338,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 14434,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 20829,
            "type": "tx_origin_used"
        }
    ],
    "delegatecall_count": 3,
    "untrusted_delegatecall_count": 3
}
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf6bca120",
            "selector": "0xf6bca120",
            "calldata_variants": [
                "0xf6bca120",
                "0xf6bca1200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf8432a1b",
            "selector": "0xf8432a1b",
            "calldata_variants": [
                "0xf8432a1b",
                "0xf8432a1b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf870316f",
            "selector": "0xf870316f",
            "calldata_variants": [
                "0xf870316f",
                "0xf870316f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfaec2233",
            "selector": "0xfaec2233",
            "calldata_variants": [
                "0xfaec2233",
                "0xfaec22330000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf14210a6",
            "selector": "0xf14210a6",
            "calldata_variants": [
                "0xf14210a6",
                "0xf14210a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3c274a6",
            "selector": "0xf3c274a6",
            "calldata_variants": [
                "0xf3c274a6",
                "0xf3c274a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6326fb3",
            "selector": "0xf6326fb3",
            "calldata_variants": [
                "0xf6326fb3",
                "0xf6326fb30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 20829,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xaa6b8ec2eae64783be668ce06fa924c7d130f7361aebb062214e457f7697e2d7
call_targets: 0x7a477d6570386e2b9d0f14d03bd976b0c68b94b9
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xaa6b8ec2eae64783be668ce06fa924c7d130f7361aebb062214e457f7697e2d7",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x7a477d6570386e2b9d0f14d03bd976b0c68b94b9"
    ],
    "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": "0xf6bca120",
            "selector": "0xf6bca120",
            "calldata_variants": [
                "0xf6bca120",
                "0xf6bca1200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf8432a1b",
            "selector": "0xf8432a1b",
            "calldata_variants": [
                "0xf8432a1b",
                "0xf8432a1b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf870316f",
            "selector": "0xf870316f",
            "calldata_variants": [
                "0xf870316f",
                "0xf870316f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfaec2233",
            "selector": "0xfaec2233",
            "calldata_variants": [
                "0xfaec2233",
                "0xfaec22330000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf14210a6",
            "selector": "0xf14210a6",
            "calldata_variants": [
                "0xf14210a6",
                "0xf14210a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3c274a6",
            "selector": "0xf3c274a6",
            "calldata_variants": [
                "0xf3c274a6",
                "0xf3c274a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6326fb3",
            "selector": "0xf6326fb3",
            "calldata_variants": [
                "0xf6326fb3",
                "0xf6326fb30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3698,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4425,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8520,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 8,
    "guards_detected": [
        {
            "pc": 20829,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 8
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 3
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xaa6b8ec2eae64783be668ce06fa924c7d130f7361aebb062214e457f7697e2d7
call_targets: 0x7a477d6570386e2b9d0f14d03bd976b0c68b94b9
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xaa6b8ec2eae64783be668ce06fa924c7d130f7361aebb062214e457f7697e2d7",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x7a477d6570386e2b9d0f14d03bd976b0c68b94b9"
    ],
    "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": "0xf6bca120",
            "selector": "0xf6bca120",
            "calldata_variants": [
                "0xf6bca120",
                "0xf6bca1200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf8432a1b",
            "selector": "0xf8432a1b",
            "calldata_variants": [
                "0xf8432a1b",
                "0xf8432a1b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf870316f",
            "selector": "0xf870316f",
            "calldata_variants": [
                "0xf870316f",
                "0xf870316f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfaec2233",
            "selector": "0xfaec2233",
            "calldata_variants": [
                "0xfaec2233",
                "0xfaec22330000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf14210a6",
            "selector": "0xf14210a6",
            "calldata_variants": [
                "0xf14210a6",
                "0xf14210a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3c274a6",
            "selector": "0xf3c274a6",
            "calldata_variants": [
                "0xf3c274a6",
                "0xf3c274a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6326fb3",
            "selector": "0xf6326fb3",
            "calldata_variants": [
                "0xf6326fb3",
                "0xf6326fb30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3698,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4425,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8520,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 8,
    "guards_detected": [
        {
            "pc": 20829,
            "type": "tx_origin_used"
        }
    ]
}
medium upgradeability codex Initializer can be front‑run if deployment does not initialize atomically 75 no
view
evidence_json
{
    "evidence": "initialize is external and guarded only by the initializer modifier; it sets ownership and feeRecipient but has no access control.",
    "locations": [
        "contracts/Contract.sol:2338"
    ],
    "recommendation": "Initialize immediately at deployment (e.g., via proxy constructor or factory). Consider adding a constructor that calls _disableInitializers() on the implementation or otherwise restricting initialize to a trusted deployer/factory.",
    "exploit_scenario": "If the vault (or proxy) is deployed without calling initialize in the same transaction, any account can call initialize, set themselves as owner and feeRecipient, then set manager and adjust fees/cap or sunset to a malicious replacement, capturing withdrawal fees and control."
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 24
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 26
}