0bcec04f-71c6-45e6-b451-df0c2c08db21
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 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 |
No slither job recorded yet.
[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"]}]}
{
"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
}
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
| 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 | — |
viewevidence_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 |
viewtrace_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 | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "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 |
viewtrace_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 | — |
viewevidence_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 |
viewtrace_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 | — |
viewevidence_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 | — |
viewevidence_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 | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 26
}
|