3c876ae7-8ac4-47da-9c32-04123766eae8
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 |
|---|---|---|---|---|
| 30357 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 74326 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 74327 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 74328 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 74329 | capability.graph | complete | 1 / 3 | 1 week ago |
| 74330 | detector.run | complete | 1 / 3 | 1 week ago |
| 74331 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:541634] OpenAI Codex v0.77.0 (research preview)
[codex:541634] --------
[codex:541634] workdir: /tmp/codex-multi-4xrwn7kg
[codex:541634] model: gpt-5.2-codex
[codex:541634] provider: openai
[codex:541634] approval: never
[codex:541634] sandbox: read-only
[codex:541634] reasoning effort: xhigh
[codex:541634] reasoning summaries: auto
[codex:541634] session id: 019b6655-495f-7603-94f2-7464f384ce0d
[codex:541634] --------
[codex:541634] user
[codex:541634] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:541634] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:541634] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:541634]
[codex:541634] Scope rules:
[codex:541634] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:541634] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:541634]
[codex:541634] Output MUST be valid JSON matching the provided schema.
[codex:541634] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:541634] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:541634]
[codex:541634] Output constraints (IMPORTANT):
[codex:541634] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:541634] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:541634] mcp startup: no servers
[codex:541634]
[codex:541634] thinking
[codex:541634] **Reading AUDIT_BUNDLE.txt**
[codex:541634] exec
[codex:541634] /bin/bash -lc ls in /tmp/codex-multi-4xrwn7kg succeeded in 7ms:
[codex:541634] AUDIT_BUNDLE.txt
[codex:541634] codex-output-schema.json
[codex:541634] contracts
[codex:541634] exec
[codex:541634] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-4xrwn7kg succeeded in 5ms:
[codex:541634] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:541634]
[codex:541634] ================================================================================
[codex:541634] FILE: contracts/@openzeppelin/contracts/GSN/Context.sol
[codex:541634] ================================================================================
[codex:541634] // SPDX-License-Identifier: MIT
[codex:541634]
[codex:541634] pragma solidity >=0.6.0 <0.8.0;
[codex:541634]
[codex:541634] /*
[codex:541634] * @dev Provides information about the current execution context, including the
[codex:541634] * sender of the transaction and its data. While these are generally available
[codex:541634] * via msg.sender and msg.data, they should not be accessed in such a direct
[codex:541634] * manner, since when dealing with GSN meta-transactions the account sending and
[codex:541634] * paying for execution may not be the actual sender (as far as an application
[codex:541634] * is concerned).
[codex:541634] *
[codex:541634] * This contract is only required for intermediate, library-like contracts.
[codex:541634] */
[codex:541634] abstract contract Context {
[codex:541634]
[codex:541634] thinking
[codex:541634] **Analyzing audit bundle file strategy**
[codex:541634] exec
[codex:541634] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-4xrwn7kg succeeded in 7ms:
[codex:541634] 4:FILE: contracts/@openzeppelin/contracts/GSN/Context.sol
[codex:541634] 32:FILE: contracts/@openzeppelin/contracts/access/Ownable.sol
[codex:541634] 104:FILE: contracts/@openzeppelin/contracts/math/Math.sol
[codex:541634] 139:FILE: contracts/@openzeppelin/contracts/math/SafeMath.sol
[codex:541634] 302:FILE: contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:541634] 383:FILE: contracts/@openzeppelin/contracts/token/ERC20/SafeERC20.sol
[codex:541634] 462:FILE: contracts/@openzeppelin/contracts/utils/Address.sol
[codex:541634] 631:FILE: contracts/contracts/EasyAuction.sol
[codex:541634] 1383:FILE: contracts/contracts/allowListExamples/AllowListOffChainManaged.sol
[codex:541634] 1472:FILE: contracts/contracts/interfaces/AllowListVerifier.sol
[codex:541634] 1498:FILE: contracts/contracts/interfaces/IWETH.sol
[codex:541634] 1511:FILE: contracts/contracts/libraries/IdToAddressBiMap.sol
[codex:541634] 1578:FILE: contracts/contracts/libraries/IterableOrderedOrderSet.sol
[codex:541634] 1815:FILE: contracts/contracts/libraries/SafeCast.sol
[codex:541634] 1840:FILE: contracts/contracts/test/IterableOrderedOrderSetWrapper.sol
[codex:541634] 1926:FILE: contracts/contracts/wrappers/DepositAndPlaceOrder.sol
[codex:541634]
[codex:541634] thinking
[codex:541634] **Preparing to review contract sections**
[codex:541634] exec
[codex:541634] /bin/bash -lc "sed -n '631,1382p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-4xrwn7kg succeeded in 6ms:
[codex:541634] FILE: contracts/contracts/EasyAuction.sol
[codex:541634] ================================================================================
[codex:541634] pragma solidity >=0.6.8;
[codex:541634] import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:541634] import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
[codex:541634] import "./libraries/IterableOrderedOrderSet.sol";
[codex:541634] import "@openzeppelin/contracts/math/Math.sol";
[codex:541634] import "@openzeppelin/contracts/math/SafeMath.sol";
[codex:541634] import "./libraries/IdToAddressBiMap.sol";
[codex:541634] import "./libraries/SafeCast.sol";
[codex:541634] import "@openzeppelin/contracts/access/Ownable.sol";
[codex:541634] import "./interfaces/AllowListVerifier.sol";
[codex:541634]
[codex:541634] contract EasyAuction is Ownable {
[codex:541634] using SafeERC20 for IERC20;
[codex:541634] using SafeMath for uint64;
[codex:541634] using SafeMath for uint96;
[codex:541634] using SafeMath for uint256;
[codex:541634] using SafeCast for uint256;
[codex:541634] using IterableOrderedOrderSet for IterableOrderedOrderSet.Data;
[codex:541634]
[codex:541634] thinking
[codex:541634] **Continuing to gather information**
[codex:541634] exec
[codex:541634] /bin/bash -lc "sed -n '1383,1577p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-4xrwn7kg succeeded in 6ms:
[codex:541634] FILE: contracts/contracts/allowListExamples/AllowListOffChainManaged.sol
[codex:541634] ================================================================================
[codex:541634] pragma solidity >=0.6.8;
[codex:541634] import "../interfaces/AllowListVerifier.sol";
[codex:541634] import "../EasyAuction.sol";
[codex:541634]
[codex:541634] // Idea was first mentioned in the blog:
[codex:541634] // https://medium.com/@PhABC/off-chain-whitelist-with-on-chain-verification-for-ethereum-smart-contracts-1563ca4b8f11
[codex:541634]
[codex:541634] contract AllowListOffChainManaged {
[codex:541634] /// @dev The EIP-712 domain type hash used for computing the domain
[codex:541634] /// separator.
[codex:541634] bytes32 private constant DOMAIN_TYPE_HASH =
[codex:541634] keccak256(
[codex:541634] "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"
[codex:541634] );
[codex:541634]
[codex:541634] /// @dev The EIP-712 domain name used for computing the domain separator.
[codex:541634] bytes32 private constant DOMAIN_NAME = keccak256("AccessManager");
[codex:541634]
[codex:541634]
[codex:541634] thinking
[codex:541634] **Requesting remaining sections**
[codex:541634] exec
[codex:541634] /bin/bash -lc "sed -n '1578,1840p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-4xrwn7kg succeeded in 5ms:
[codex:541634] FILE: contracts/contracts/libraries/IterableOrderedOrderSet.sol
[codex:541634] ================================================================================
[codex:541634] pragma solidity >=0.6.8;
[codex:541634]
[codex:541634] import "@openzeppelin/contracts/math/SafeMath.sol";
[codex:541634]
[codex:541634] library IterableOrderedOrderSet {
[codex:541634] using SafeMath for uint96;
[codex:541634] using IterableOrderedOrderSet for bytes32;
[codex:541634]
[codex:541634] // represents smallest possible value for an order under comparison of fn smallerThan()
[codex:541634] bytes32 internal constant QUEUE_START =
[codex:541634] 0x0000000000000000000000000000000000000000000000000000000000000001;
[codex:541634] // represents highest possible value for an order under comparison of fn smallerThan()
[codex:541634] bytes32 internal constant QUEUE_END =
[codex:541634] 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000001;
[codex:541634]
[codex:541634] /// The struct is used to implement a modified version of a doubly linked
[codex:541634] /// list with sorted elements. The list starts from QUEUE_START to
[codex:541634] /// QUEUE_END, and each node keeps track of its predecessor and successor.
[codex:541634] exec
[codex:541634] /bin/bash -lc "sed -n '1840,1926p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-4xrwn7kg succeeded in 5ms:
[codex:541634] FILE: contracts/contracts/test/IterableOrderedOrderSetWrapper.sol
[codex:541634] ================================================================================
[codex:541634] // SPDX-License-Identifier: LGPL-3.0-or-newer
[codex:541634] pragma solidity ^0.6.0;
[codex:541634] import "../libraries/IterableOrderedOrderSet.sol";
[codex:541634]
[codex:541634] contract IterableOrderedOrderSetWrapper {
[codex:541634] using IterableOrderedOrderSet for IterableOrderedOrderSet.Data;
[codex:541634]
[codex:541634] IterableOrderedOrderSet.Data internal data;
[codex:541634]
[codex:541634] function initializeEmptyList() public {
[codex:541634] data.initializeEmptyList();
[codex:541634] }
[codex:541634]
[codex:541634] function insert(bytes32 value) public returns (bool) {
[codex:541634] return data.insert(value, IterableOrderedOrderSet.QUEUE_START);
[codex:541634] }
[codex:541634]
[codex:541634] function insertAt(bytes32 value, bytes32 at) public returns (bool) {
[codex:541634] exec
[codex:541634] /bin/bash -lc "sed -n '1926,2100p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-4xrwn7kg succeeded in 5ms:
[codex:541634] FILE: contracts/contracts/wrappers/DepositAndPlaceOrder.sol
[codex:541634] ================================================================================
[codex:541634] pragma solidity >=0.6.8;
[codex:541634] import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:541634] import "../EasyAuction.sol";
[codex:541634] import "../interfaces/IWETH.sol";
[codex:541634]
[codex:541634] contract DepositAndPlaceOrder {
[codex:541634] EasyAuction public immutable easyAuction;
[codex:541634] IWETH public immutable nativeTokenWrapper;
[codex:541634]
[codex:541634] constructor(address easyAuctionAddress, address _nativeTokenWrapper)
[codex:541634] public
[codex:541634] {
[codex:541634] nativeTokenWrapper = IWETH(_nativeTokenWrapper);
[codex:541634] easyAuction = EasyAuction(easyAuctionAddress);
[codex:541634] IERC20(_nativeTokenWrapper).approve(easyAuctionAddress, uint256(-1));
[codex:541634] }
[codex:541634]
[codex:541634] function depositAndPlaceOrder(
[codex:541634]
[codex:541634] thinking
[codex:541634] **Deciding how much of AUDIT_BUNDLE.txt to read**
[codex:541634] exec
[codex:541634] /bin/bash -lc "sed -n '1,630p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-4xrwn7kg succeeded in 5ms:
[codex:541634] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:541634]
[codex:541634] ================================================================================
[codex:541634] FILE: contracts/@openzeppelin/contracts/GSN/Context.sol
[codex:541634] ================================================================================
[codex:541634] // SPDX-License-Identifier: MIT
[codex:541634]
[codex:541634] pragma solidity >=0.6.0 <0.8.0;
[codex:541634]
[codex:541634] /*
[codex:541634] * @dev Provides information about the current execution context, including the
[codex:541634] * sender of the transaction and its data. While these are generally available
[codex:541634] * via msg.sender and msg.data, they should not be accessed in such a direct
[codex:541634] * manner, since when dealing with GSN meta-transactions the account sending and
[codex:541634] * paying for execution may not be the actual sender (as far as an application
[codex:541634] * is concerned).
[codex:541634] *
[codex:541634] * This contract is only required for intermediate, library-like contracts.
[codex:541634] */
[codex:541634] abstract contract Context {
[codex:541634]
[codex:541634]
[codex:541634]
[codex:541634]
[codex:541634] thinking
[codex:541634] **Analyzing EasyAuction contract security**
[codex:541634] thinking
[codex:541634] **Examining array length and overflow risks**
[codex:541634]
[codex:541634] I’m carefully analyzing how the contract handles potentially mismatched array lengths and numeric limits, especially around order arrays and uint96 sums. There are no explicit length checks, but mismatched arrays cause safe reverts without leaks. However, the lack of enforcement on total bidding amounts exceeding 2^96 looks like a real risk that could block settlement due to overflow on casts, allowing participants to disrupt the auction by oversizing orders. Let’s consider implications of that more closely!
[codex:541634] thinking
[codex:541634] **Analyzing numeric limits and signature nuances**
[codex:541634]
[codex:541634] I’m diving deeper into the implications of the uint96 sum limit on order sizes and the design trade-offs around that. The huge numeric cap is unlikely to be exceeded in practice but still theoretically enables denial conditions if hit. I’m also exploring subtle signature replay possibilities across contracts sharing the same allowlist and how order placement on behalf might affect user registration and token flows. There are intricate details about access management and order sorting that seem thoughtfully guarded, but I want to keep a close eye on potential edge cases!
[codex:541634] thinking
[codex:541634] **Examining signature checks and order insertion logic**
[codex:541634]
[codex:541634] I’m parsing through issues around allowList signature handling, including possible replay attacks across different auction deployments sharing the same allowList contract, and subtle signature malleability. I’m also considering how failed order insertions are silently ignored, which might enable griefing via incorrect `prevSellOrders` but without direct harm. Additionally, the manipulation potential of `interimSumBidAmount` and `interimOrder` via public `precalculateSellAmountSum` calls is under review, but safeguards seem in place to maintain auction correctness.
[codex:541634] exec
[codex:541634] /bin/bash -lc "nl -ba contracts/contracts/EasyAuction.sol | sed -n '1,220p'" in /tmp/codex-multi-4xrwn7kg succeeded in 6ms:
[codex:541634] 1 pragma solidity >=0.6.8;
[codex:541634] 2 import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:541634] 3 import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
[codex:541634] 4 import "./libraries/IterableOrderedOrderSet.sol";
[codex:541634] 5 import "@openzeppelin/contracts/math/Math.sol";
[codex:541634] 6 import "@openzeppelin/contracts/math/SafeMath.sol";
[codex:541634] 7 import "./libraries/IdToAddressBiMap.sol";
[codex:541634] 8 import "./libraries/SafeCast.sol";
[codex:541634] 9 import "@openzeppelin/contracts/access/Ownable.sol";
[codex:541634] 10 import "./interfaces/AllowListVerifier.sol";
[codex:541634] 11
[codex:541634] 12 contract EasyAuction is Ownable {
[codex:541634] 13 using SafeERC20 for IERC20;
[codex:541634] 14 using SafeMath for uint64;
[codex:541634] 15 using SafeMath for uint96;
[codex:541634] 16 using SafeMath for uint256;
[codex:541634] 17 using SafeCast for uint256;
[codex:541634] 18 using IterableOrderedOrderSet for IterableOrderedOrderSet.Data;
[codex:541634] 19 using IterableOrderedOrderSet for bytes32;
[codex:541634] 20 using IdToAddressBiMap for IdToAddressBiMap.Data;
[codex:541634]
[codex:541634] thinking
[codex:541634] **Preparing to add line numbers**
[codex:541634] exec
[codex:541634] /bin/bash -lc "nl -ba contracts/contracts/EasyAuction.sol | sed -n '220,520p'" in /tmp/codex-multi-4xrwn7kg succeeded in 6ms:
[codex:541634] 220 _minBuyAmount,
[codex:541634] 221 minimumBiddingAmountPerOrder,
[codex:541634] 222 minFundingThreshold,
[codex:541634] 223 accessManagerContract,
[codex:541634] 224 accessManagerContractData
[codex:541634] 225 );
[codex:541634] 226 return auctionCounter;
[codex:541634] 227 }
[codex:541634] 228
[codex:541634] 229 function placeSellOrders(
[codex:541634] 230 uint256 auctionId,
[codex:541634] 231 uint96[] memory _minBuyAmounts,
[codex:541634] 232 uint96[] memory _sellAmounts,
[codex:541634] 233 bytes32[] memory _prevSellOrders,
[codex:541634] 234 bytes calldata allowListCallData
[codex:541634] 235 ) external atStageOrderPlacement(auctionId) returns (uint64 userId) {
[codex:541634] 236 return
[codex:541634] 237 _placeSellOrders(
[codex:541634] 238 auctionId,
[codex:541634] 239 _minBuyAmounts,
[codex:541634] exec
[codex:541634] /bin/bash -lc "nl -ba contracts/contracts/EasyAuction.sol | sed -n '520,880p'" in /tmp/codex-multi-4xrwn7kg succeeded in 6ms:
[codex:541634] 520 if (currentBidSum > minAuctionedBuyAmount) {
[codex:541634] 521 //[15]
[codex:541634] 522 // Price higher than last order would fill the auction
[codex:541634] 523 clearingOrder = IterableOrderedOrderSet.encodeOrder(
[codex:541634] 524 0,
[codex:541634] 525 fullAuctionedAmount,
[codex:541634] 526 currentBidSum.toUint96()
[codex:541634] 527 );
[codex:541634] 528 } else {
[codex:541634] 529 //[16]
[codex:541634] 530 // Even at the initial auction price, the auction is partially filled
[codex:541634] 531 clearingOrder = IterableOrderedOrderSet.encodeOrder(
[codex:541634] 532 0,
[codex:541634] 533 fullAuctionedAmount,
[codex:541634] 534 minAuctionedBuyAmount
[codex:541634] 535 );
[codex:541634] 536 fillVolumeOfAuctioneerOrder = currentBidSum
[codex:541634] 537 .mul(fullAuctionedAmount)
[codex:541634] 538 .div(minAuctionedBuyAmount)
[codex:541634] 539 .toUint96();
[codex:541634]
[codex:541634] thinking
[codex:541634] **Locating specific function and class lines**
[codex:541634] exec
[codex:541634] /bin/bash -lc 'nl -ba contracts/contracts/allowListExamples/AllowListOffChainManaged.sol' in /tmp/codex-multi-4xrwn7kg succeeded in 5ms:
[codex:541634] 1 pragma solidity >=0.6.8;
[codex:541634] 2 import "../interfaces/AllowListVerifier.sol";
[codex:541634] 3 import "../EasyAuction.sol";
[codex:541634] 4
[codex:541634] 5 // Idea was first mentioned in the blog:
[codex:541634] 6 // https://medium.com/@PhABC/off-chain-whitelist-with-on-chain-verification-for-ethereum-smart-contracts-1563ca4b8f11
[codex:541634] 7
[codex:541634] 8 contract AllowListOffChainManaged {
[codex:541634] 9 /// @dev The EIP-712 domain type hash used for computing the domain
[codex:541634] 10 /// separator.
[codex:541634] 11 bytes32 private constant DOMAIN_TYPE_HASH =
[codex:541634] 12 keccak256(
[codex:541634] 13 "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"
[codex:541634] 14 );
[codex:541634] 15
[codex:541634] 16 /// @dev The EIP-712 domain name used for computing the domain separator.
[codex:541634] 17 bytes32 private constant DOMAIN_NAME = keccak256("AccessManager");
[codex:541634] 18
[codex:541634] 19 /// @dev The EIP-712 domain version used for computing the domain separator.
[codex:541634] 20 bytes32 private constant DOMAIN_VERSION = keccak256("v1");
[codex:541634]
[codex:541634]
[codex:541634] thinking
[codex:541634] **Analyzing multiple potential vulnerabilities and design nuances**
[codex:541634]
[codex:541634] I’m reviewing various aspects of the contract for issues like unchecked return values, reentrancy concerns, signature validation gaps, and access control subtleties. I see mostly minor or non-exploitable concerns, such as unchecked `approve` return and potential reentrancy via ERC777 tokens that don’t break safety. The biggest possible problem is a settlement denial of service if bids push sums beyond the uint96 limit, causing transaction reverts and locked tokens. Also, some call patterns and signature checks could lead to griefing or minor logic quirks but not exploitable vulnerabilities. Overall, it’s a detailed sweep with a few low-severity findings and one plausible DoS risk in settlement due to numeric overflow.
[codex:541634] thinking
[codex:541634] **Highlighting signature replay and bidding sum risks**
[codex:541634]
[codex:541634] I’m unpacking issues around silent uint96 truncation in events versus reverts on explicit toUint96 casting, showing how bids exceeding uint96 caps can cause settlement DoS. Also, I see signature replay risk across multiple EasyAuction deployments due to allowList signatures missing binding to the auction contract, enabling cross-deployment reuse under some conditions. Plus, unchecked ERC20 approve return in DepositAndPlaceOrder could cause functional failures but not theft. These form a trio of medium-to-low severity findings with clear recommendations to strengthen checks and signing scopes.
[codex:541634] exec
[codex:541634] /bin/bash -lc 'nl -ba contracts/contracts/wrappers/DepositAndPlaceOrder.sol' in /tmp/codex-multi-4xrwn7kg succeeded in 5ms:
[codex:541634] 1 pragma solidity >=0.6.8;
[codex:541634] 2 import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:541634] 3 import "../EasyAuction.sol";
[codex:541634] 4 import "../interfaces/IWETH.sol";
[codex:541634] 5
[codex:541634] 6 contract DepositAndPlaceOrder {
[codex:541634] 7 EasyAuction public immutable easyAuction;
[codex:541634] 8 IWETH public immutable nativeTokenWrapper;
[codex:541634] 9
[codex:541634] 10 constructor(address easyAuctionAddress, address _nativeTokenWrapper)
[codex:541634] 11 public
[codex:541634] 12 {
[codex:541634] 13 nativeTokenWrapper = IWETH(_nativeTokenWrapper);
[codex:541634] 14 easyAuction = EasyAuction(easyAuctionAddress);
[codex:541634] 15 IERC20(_nativeTokenWrapper).approve(easyAuctionAddress, uint256(-1));
[codex:541634] 16 }
[codex:541634] 17
[codex:541634] 18 function depositAndPlaceOrder(
[codex:541634] 19 uint256 auctionId,
[codex:541634] 20 uint96[] memory _minBuyAmounts,
[codex:541634]
[codex:541634] thinking
[codex:541634] **Preparing detailed vulnerability report**
[codex:541634]
[codex:541634] I'm outlining three findings with categories like math and auth, detailing severity, exploit scenarios, recommendations, evidence, and locations. I'll carefully format a JSON summary capturing a medium-severity DoS, two low issues including replayable signatures and unchecked approve calls, ensuring valid JSON output with all required fields.
[codex:541634] codex
[codex:541634] {"no_findings":false,"summary":"Identified 3 issues: a settlement DoS edge case when bid totals exceed the uint96 cap, allowlist signatures that can be replayed across EasyAuction deployments, and an unchecked approve return value in the wrapper.","findings":[{"severity":"medium","category":"math","title":"Settlement can be blocked if total bids exceed uint96 limit","exploit_scenario":"A bidder (or multiple bidders) submits very large orders such that the cumulative bid sum exceeds 2^96. During settlement, `currentBidSum.toUint96()` reverts, preventing `settleAuction` from completing and leaving both auctioning and bidding tokens locked in the contract.","recommendation":"Enforce an upper bound on cumulative bid amounts at order placement (reject when sum would exceed 2^96-1), or redesign the order encoding/clearing logic to use larger types so settlement does not require uint96 casts.","evidence":"The contract warns about >2^96 bids being unsettlable and later casts `currentBidSum` to uint96 during settlement, which will revert when the cap is exceeded.","locations":["contracts/contracts/EasyAuction.sol:144","contracts/contracts/EasyAuction.sol:510","contracts/contracts/EasyAuction.sol:523","contracts/contracts/EasyAuction.sol:536"]},{"severity":"low","category":"auth","title":"Allowlist signatures can be replayed across EasyAuction instances","exploit_scenario":"If the same allowlist contract and signer are reused across multiple EasyAuction deployments, a signature for `(user, auctionId)` on one deployment is valid on another deployment that uses the same auctionId value, allowing unintended participation.","recommendation":"Bind signatures to the EasyAuction address (or `allower`) by including it in the signed hash, or switch to full EIP-712 typed data that includes the auction contract address and nonce/expiry as needed.","evidence":"The signed hash only commits to `domainSeparator`, `user`, and `auctionId`; it does not include the auction contract address, so signatures are not deployment-specific.","locations":["contracts/contracts/allowListExamples/AllowListOffChainManaged.sol:67","contracts/contracts/allowListExamples/AllowListOffChainManaged.sol:77"]},{"severity":"low","category":"other","title":"Unchecked ERC20 approve return value in wrapper constructor","exploit_scenario":"If the wrapped native token implements `approve` in a non-standard way (returns false without reverting), the constructor completes but the allowance is not set, causing `depositAndPlaceOrder` to revert later and making the wrapper unusable for that token.","recommendation":"Use `SafeERC20.safeApprove` or check the returned boolean and revert on failure; consider setting allowance to zero before setting max allowance for compatibility.","evidence":"The constructor calls `approve` directly without checking the return value.","locations":["contracts/contracts/wrappers/DepositAndPlaceOrder.sol:15"]}]}
[codex:541634] tokens used
[codex:541634] 89,032
[codex:541634] {"no_findings":false,"summary":"Identified 3 issues: a settlement DoS edge case when bid totals exceed the uint96 cap, allowlist signatures that can be replayed across EasyAuction deployments, and an unchecked approve return value in the wrapper.","findings":[{"severity":"medium","category":"math","title":"Settlement can be blocked if total bids exceed uint96 limit","exploit_scenario":"A bidder (or multiple bidders) submits very large orders such that the cumulative bid sum exceeds 2^96. During settlement, `currentBidSum.toUint96()` reverts, preventing `settleAuction` from completing and leaving both auctioning and bidding tokens locked in the contract.","recommendation":"Enforce an upper bound on cumulative bid amounts at order placement (reject when sum would exceed 2^96-1), or redesign the order encoding/clearing logic to use larger types so settlement does not require uint96 casts.","evidence":"The contract warns about >2^96 bids being unsettlable and later casts `currentBidSum` to uint96 during settlement, which will revert when the cap is exceeded.","locations":["contracts/contracts/EasyAuction.sol:144","contracts/contracts/EasyAuction.sol:510","contracts/contracts/EasyAuction.sol:523","contracts/contracts/EasyAuction.sol:536"]},{"severity":"low","category":"auth","title":"Allowlist signatures can be replayed across EasyAuction instances","exploit_scenario":"If the same allowlist contract and signer are reused across multiple EasyAuction deployments, a signature for `(user, auctionId)` on one deployment is valid on another deployment that uses the same auctionId value, allowing unintended participation.","recommendation":"Bind signatures to the EasyAuction address (or `allower`) by including it in the signed hash, or switch to full EIP-712 typed data that includes the auction contract address and nonce/expiry as needed.","evidence":"The signed hash only commits to `domainSeparator`, `user`, and `auctionId`; it does not include the auction contract address, so signatures are not deployment-specific.","locations":["contracts/contracts/allowListExamples/AllowListOffChainManaged.sol:67","contracts/contracts/allowListExamples/AllowListOffChainManaged.sol:77"]},{"severity":"low","category":"other","title":"Unchecked ERC20 approve return value in wrapper constructor","exploit_scenario":"If the wrapped native token implements `approve` in a non-standard way (returns false without reverting), the constructor completes but the allowance is not set, causing `depositAndPlaceOrder` to revert later and making the wrapper unusable for that token.","recommendation":"Use `SafeERC20.safeApprove` or check the returned boolean and revert on failure; consider setting allowance to zero before setting max allowance for compatibility.","evidence":"The constructor calls `approve` directly without checking the return value.","locations":["contracts/contracts/wrappers/DepositAndPlaceOrder.sol:15"]}]}
{
"codex": {
"ran_at": "2025-12-28T19:07:56.654597+00:00",
"returncode": 0
},
"summary": "Identified 3 issues: a settlement DoS edge case when bid totals exceed the uint96 cap, allowlist signatures that can be replayed across EasyAuction deployments, and an unchecked approve return value in the wrapper.",
"raw_final": {
"summary": "Identified 3 issues: a settlement DoS edge case when bid totals exceed the uint96 cap, allowlist signatures that can be replayed across EasyAuction deployments, and an unchecked approve return value in the wrapper.",
"findings": [
{
"title": "Settlement can be blocked if total bids exceed uint96 limit",
"category": "math",
"evidence": "The contract warns about >2^96 bids being unsettlable and later casts `currentBidSum` to uint96 during settlement, which will revert when the cap is exceeded.",
"severity": "medium",
"locations": [
"contracts/contracts/EasyAuction.sol:144",
"contracts/contracts/EasyAuction.sol:510",
"contracts/contracts/EasyAuction.sol:523",
"contracts/contracts/EasyAuction.sol:536"
],
"recommendation": "Enforce an upper bound on cumulative bid amounts at order placement (reject when sum would exceed 2^96-1), or redesign the order encoding/clearing logic to use larger types so settlement does not require uint96 casts.",
"exploit_scenario": "A bidder (or multiple bidders) submits very large orders such that the cumulative bid sum exceeds 2^96. During settlement, `currentBidSum.toUint96()` reverts, preventing `settleAuction` from completing and leaving both auctioning and bidding tokens locked in the contract."
},
{
"title": "Allowlist signatures can be replayed across EasyAuction instances",
"category": "auth",
"evidence": "The signed hash only commits to `domainSeparator`, `user`, and `auctionId`; it does not include the auction contract address, so signatures are not deployment-specific.",
"severity": "low",
"locations": [
"contracts/contracts/allowListExamples/AllowListOffChainManaged.sol:67",
"contracts/contracts/allowListExamples/AllowListOffChainManaged.sol:77"
],
"recommendation": "Bind signatures to the EasyAuction address (or `allower`) by including it in the signed hash, or switch to full EIP-712 typed data that includes the auction contract address and nonce/expiry as needed.",
"exploit_scenario": "If the same allowlist contract and signer are reused across multiple EasyAuction deployments, a signature for `(user, auctionId)` on one deployment is valid on another deployment that uses the same auctionId value, allowing unintended participation."
},
{
"title": "Unchecked ERC20 approve return value in wrapper constructor",
"category": "other",
"evidence": "The constructor calls `approve` directly without checking the return value.",
"severity": "low",
"locations": [
"contracts/contracts/wrappers/DepositAndPlaceOrder.sol:15"
],
"recommendation": "Use `SafeERC20.safeApprove` or check the returned boolean and revert on failure; consider setting allowance to zero before setting max allowance for compatibility.",
"exploit_scenario": "If the wrapped native token implements `approve` in a non-standard way (returns false without reverting), the constructor completes but the allowance is not set, causing `depositAndPlaceOrder` to revert later and making the wrapper unusable for that token."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x0158 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x7882deaf 00000026: GT 00000027: PUSH2 0x00c3 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0xd73792a9 00000031: GT 00000032: PUSH2 0x007c 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xd73792a9 0000003c: EQ 0000003d: PUSH2 0x0ccf 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xe4a59ef4 00000047: EQ 00000048: PUSH2 0x0ced 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xe86dea4a 00000052: EQ 00000053: PUSH2 0x0d45 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xec20d0bb 0000005d: EQ 0000005e: PUSH2 0x0d63 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0xf2fde38b 00000068: EQ 00000069: PUSH2 0x0fe0 0000006c: JUMPI 0000006d: DUP1 0000006e: PUSH4 0xf59c2f06 00000073: EQ 00000074: PUSH2 0x1024 00000077: JUMPI 00000078: PUSH2 0x0158 0000007b: JUMP 0000007c: JUMPDEST 0000007d: DUP1 0000007e: PUSH4 0x7882deaf 00000083: EQ 00000084: PUSH2 0x0642 00000087: JUMPI 00000088: DUP1 00000089: PUSH4 0x7ed18b70 0000008e: EQ 0000008f: PUSH2 0x071f 00000092: JUMPI 00000093: DUP1 00000094: PUSH4 0x8da5cb5b 00000099: EQ 0000009a: PUSH2 0x07e1 0000009d: JUMPI 0000009e: DUP1 0000009f: PUSH4 0x91cfc1d4 000000a4: EQ 000000a5: PUSH2 0x0815 000000a8: JUMPI 000000a9: DUP1 000000aa: PUSH4 0xa7e76644 000000af: EQ 000000b0: PUSH2 0x0a54 000000b3: JUMPI 000000b4: DUP1 000000b5: PUSH4 0xd225269c 000000ba: EQ 000000bb: PUSH2 0x0a72 000000be: JUMPI 000000bf: PUSH2 0x0158 000000c2: JUMP 000000c3: JUMPDEST 000000c4: DUP1 000000c5: PUSH4 0x3e12905f 000000ca: GT 000000cb: PUSH2 0x0115 000000ce: JUMPI 000000cf: DUP1 000000d0: PUSH4 0x3e12905f 000000d5: EQ 000000d6: PUSH2 0x0461 000000d9: JUMPI 000000da: DUP1 000000db: PUSH4 0x40b20b09 000000e0: EQ 000000e1: PUSH2 0x0499 000000e4: JUMPI 000000e5: DUP1 000000e6: PUSH4 0x55fc62d2 000000eb: EQ 000000ec: PUSH2 0x04e7 000000ef: JUMPI 000000f0: DUP1 000000f1: PUSH4 0x5cefb291 000000f6: EQ 000000f7: PUSH2 0x05c2 000000fa: JUMPI 000000fb: DUP1 000000fc: PUSH4 0x63c699a4 00000101: EQ 00000102: PUSH2 0x05ea 00000105: JUMPI 00000106: DUP1 00000107: PUSH4 0x715018a6 0000010c: EQ 0000010d: PUSH2 0x0638 00000110: JUMPI 00000111: PUSH2 0x0158 00000114: JUMP 00000115: JUMPDEST 00000116: DUP1 00000117: PUSH4 0x0a4cd6c9 0000011c: EQ 0000011d: PUSH2 0x015d 00000120: JUMPI 00000121: DUP1 00000122: PUSH4 0x15d37b4b 00000127: EQ 00000128: PUSH2 0x02f1 0000012b: JUMPI 0000012c: DUP1 0000012d: PUSH4 0x19a50f49 00000132: EQ 00000133: PUSH2 0x0333 00000136: JUMPI 00000137: DUP1 00000138: PUSH4 0x2199d5cd 0000013d: EQ 0000013e: PUSH2 0x035b 00000141: JUMPI 00000142: DUP1 00000143: PUSH4 0x2b956ff7 00000148: EQ 00000149: PUSH2 0x03bd 0000014c: JUMPI 0000014d: DUP1 0000014e: PUSH4 0x2e993611 00000153: EQ 00000154: PUSH2 0x041f 00000157: JUMPI 00000158: JUMPDEST 00000159: PUSH1 0x00 0000015b: DUP1 0000015c: REVERT 0000015d: JUMPDEST 0000015e: PUSH2 0x02db 00000161: PUSH1 0x04 00000163: DUP1 00000164: CALLDATASIZE 00000165: SUB 00000166: PUSH2 0x0160 00000169: DUP2 0000016a: LT 0000016b: ISZERO 0000016c: PUSH2 0x0174 0000016f: JUMPI 00000170: PUSH1 0x00 00000172: DUP1 00000173: REVERT 00000174: JUMPDEST 00000175: DUP2 00000176: ADD 00000177: SWAP1 00000178: DUP1 00000179: DUP1 0000017a: CALLDATALOAD 0000017b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000190: AND 00000191: SWAP1 00000192: PUSH1 0x20 00000194: ADD 00000195: SWAP1 00000196: SWAP3 00000197: SWAP2 00000198: SWAP1 00000199: DUP1 0000019a: CALLDATALOAD 0000019b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001b0: AND 000001b1: SWAP1 000001b2: PUSH1 0x20 000001b4: ADD 000001b5: SWAP1 000001b6: SWAP3 000001b7: SWAP2 000001b8: SWAP1 000001b9: DUP1 000001ba: CALLDATALOAD 000001bb: SWAP1 000001bc: PUSH1 0x20 000001be: ADD 000001bf: SWAP1 000001c0: SWAP3 000001c1: SWAP2 000001c2: SWAP1 000001c3: DUP1 000001c4: CALLDATALOAD 000001c5: SWAP1 000001c6: PUSH1 0x20 000001c8: ADD 000001c9: SWAP1 000001ca: SWAP3 000001cb: SWAP2 000001cc: SWAP1 000001cd: DUP1 000001ce: CALLDATALOAD 000001cf: PUSH12 0xffffffffffffffffffffffff 000001dc: AND 000001dd: SWAP1 000001de: PUSH1 0x20 000001e0: ADD 000001e1: SWAP1 000001e2: SWAP3 000001e3: SWAP2 000001e4: SWAP1 000001e5: DUP1 000001e6: CALLDATALOAD 000001e7: PUSH12 0xffffffffffffffffffffffff 000001f4: AND 000001f5: SWAP1 000001f6: PUSH1 0x20 000001f8: ADD 000001f9: SWAP1 000001fa: SWAP3 000001fb: SWAP2 000001fc: SWAP1 000001fd: DUP1 000001fe: CALLDATALOAD 000001ff: SWAP1 00000200: PUSH1 0x20 00000202: ADD 00000203: SWAP1 00000204: SWAP3 00000205: SWAP2 00000206: SWAP1 00000207: DUP1 00000208: CALLDATALOAD 00000209: SWAP1 0000020a: PUSH1 0x20 0000020c: ADD 0000020d: SWAP1 0000020e: SWAP3 0000020f: SWAP2 00000210: SWAP1 00000211: DUP1 00000212: CALLDATALOAD 00000213: ISZERO 00000214: ISZERO 00000215: SWAP1 00000216: PUSH1 0x20 00000218: ADD 00000219: SWAP1 0000021a: SWAP3 0000021b: SWAP2 0000021c: SWAP1 0000021d: DUP1 0000021e: CALLDATALOAD 0000021f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000234: AND 00000235: SWAP1 00000236: PUSH1 0x20 00000238: ADD 00000239: SWAP1 0000023a: SWAP3 0000023b: SWAP2 0000023c: SWAP1 0000023d: DUP1 0000023e: CALLDATALOAD 0000023f: SWAP1 00000240: PUSH1 0x20 00000242: ADD 00000243: SWAP1 00000244: PUSH5 0x0100000000 0000024a: DUP2 0000024b: GT 0000024c: ISZERO 0000024d: PUSH2 0x0255 00000250: JUMPI 00000251: PUSH1 0x00 00000253: DUP1 00000254: REVERT 00000255: JUMPDEST 00000256: DUP3 00000257: ADD 00000258: DUP4 00000259: PUSH1 0x20 0000025b: DUP3 0000025c: ADD 0000025d: GT 0000025e: ISZERO 0000025f: PUSH2 0x0267 00000262: JUMPI 00000263: PUSH1 0x00 00000265: DUP1 00000266: REVERT 00000267: JUMPDEST 00000268: DUP1 00000269: CALLDATALOAD 0000026a: SWAP1 0000026b: PUSH1 0x20 0000026d: ADD 0000026e: SWAP2 0000026f: DUP5 00000270: PUSH1 0x01 00000272: DUP4 00000273: MUL 00000274: DUP5 00000275: ADD 00000276: GT 00000277: PUSH5 0x0100000000 0000027d: DUP4 0000027e: GT 0000027f: OR 00000280: ISZERO 00000281: PUSH2 0x0289 00000284: JUMPI 00000285: PUSH1 0x00 00000287: DUP1 00000288: REVERT 00000289: JUMPDEST 0000028a: SWAP2 0000028b: SWAP1 0000028c: DUP1 0000028d: DUP1 0000028e: PUSH1 0x1f 00000290: ADD 00000291: PUSH1 0x20 00000293: DUP1 00000294: SWAP2 00000295: DIV 00000296: MUL 00000297: PUSH1 0x20 00000299: ADD 0000029a: PUSH1 0x40 0000029c: MLOAD 0000029d: SWAP1 0000029e: DUP2 0000029f: ADD 000002a0: PUSH1 0x40 000002a2: MSTORE 000002a3: DUP1 000002a4: SWAP4 000002a5: SWAP3 000002a6: SWAP2 000002a7: SWAP1 000002a8: DUP2 000002a9: DUP2 000002aa: MSTORE 000002ab: PUSH1 0x20 000002ad: ADD 000002ae: DUP4 000002af: DUP4 000002b0: DUP1 000002b1: DUP3 000002b2: DUP5 000002b3: CALLDATACOPY 000002b4: PUSH1 0x00 000002b6: DUP2 000002b7: DUP5 000002b8: ADD 000002b9: MSTORE 000002ba: PUSH1 0x1f 000002bc: NOT 000002bd: PUSH1 0x1f 000002bf: DUP3 000002c0: ADD 000002c1: AND 000002c2: SWAP1 000002c3: POP 000002c4: DUP1 000002c5: DUP4 000002c6: ADD 000002c7: SWAP3 000002c8: POP 000002c9: POP 000002ca: POP 000002cb: POP 000002cc: POP 000002cd: POP 000002ce: POP 000002cf: SWAP2 000002d0: SWAP3 000002d1: SWAP2 000002d2: SWAP3 000002d3: SWAP1 000002d4: POP 000002d5: POP 000002d6: POP 000002d7: PUSH2 0x10cb 000002da: JUMP 000002db: JUMPDEST 000002dc: PUSH1 0x40 000002de: MLOAD 000002df: DUP1 000002e0: DUP3 000002e1: DUP2 000002e2: MSTORE 000002e3: PUSH1 0x20 000002e5: ADD 000002e6: SWAP2 000002e7: POP 000002e8: POP 000002e9: PUSH1 0x40 000002eb: MLOAD 000002ec: DUP1 000002ed: SWAP2 000002ee: SUB 000002ef: SWAP1 000002f0: RETURN 000002f1: JUMPDEST 000002f2: PUSH2 0x031d 000002f5: PUSH1 0x04 000002f7: DUP1 000002f8: CALLDATASIZE 000002f9: SUB 000002fa: PUSH1 0x20 000002fc: DUP2 000002fd: LT 000002fe: ISZERO 000002ff: PUSH2 0x0307 00000302: JUMPI 00000303: PUSH1 0x00 00000305: DUP1 00000306: REVERT 00000307: JUMPDEST 00000308: DUP2 00000309: ADD 0000030a: SWAP1 0000030b: DUP1 0000030c: DUP1 0000030d: CALLDATALOAD 0000030e: SWAP1 0000030f: PUSH1 0x20 00000311: ADD 00000312: SWAP1 00000313: SWAP3 00000314: SWAP2 00000315: SWAP1 00000316: POP 00000317: POP 00000318: POP 00000319: PUSH2 0x178a 0000031c: JUMP 0000031d: JUMPDEST 0000031e: PUSH1 0x40 00000320: MLOAD 00000321: DUP1 00000322: DUP3 00000323: DUP2 00000324: MSTORE 00000325: PUSH1 0x20 00000327: ADD 00000328: SWAP2 00000329: POP 0000032a: POP 0000032b: PUSH1 0x40 0000032d: MLOAD 0000032e: DUP1 0000032f: SWAP2 00000330: SUB 00000331: SWAP1 00000332: RETURN 00000333: JUMPDEST 00000334: PUSH2 0x033b 00000337: PUSH2 0x17e4 0000033a: JUMP 0000033b: JUMPDEST 0000033c: PUSH1 0x40 0000033e: MLOAD 0000033f: DUP1 00000340: DUP3 00000341: PUSH8 0xffffffffffffffff 0000034a: AND 0000034b: DUP2 0000034c: MSTORE 0000034d: PUSH1 0x20 0000034f: ADD 00000350: SWAP2 00000351: POP 00000352: POP 00000353: PUSH1 0x40 00000355: MLOAD 00000356: DUP1 00000357: SWAP2 00000358: SUB 00000359: SWAP1 0000035a: RETURN 0000035b: JUMPDEST 0000035c: PUSH2 0x039d 0000035f: PUSH1 0x04 00000361: DUP1 00000362: CALLDATASIZE 00000363: SUB 00000364: PUSH1 0x20 00000366: DUP2 00000367: LT 00000368: ISZERO 00000369: PUSH2 0x0371 0000036c: JUMPI 0000036d: PUSH1 0x00 0000036f: DUP1 00000370: REVERT 00000371: JUMPDEST 00000372: DUP2 00000373: ADD 00000374: SWAP1 00000375: DUP1 00000376: DUP1 00000377: CALLDATALOAD 00000378: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000038d: AND 0000038e: SWAP1 0000038f: PUSH1 0x20 00000391: ADD 00000392: SWAP1 00000393: SWAP3 00000394: SWAP2 00000395: SWAP1 00000396: POP 00000397: POP 00000398: POP 00000399: PUSH2 0x17fe 0000039c: JUMP 0000039d: JUMPDEST 0000039e: PUSH1 0x40 000003a0: MLOAD 000003a1: DUP1 000003a2: DUP3 000003a3: PUSH8 0xffffffffffffffff 000003ac: AND 000003ad: DUP2 000003ae: MSTORE 000003af: PUSH1 0x20 000003b1: ADD 000003b2: SWAP2 000003b3: POP 000003b4: POP 000003b5: PUSH1 0x40 000003b7: MLOAD 000003b8: DUP1 000003b9: SWAP2 000003ba: SUB 000003bb: SWAP1 000003bc: RETURN 000003bd: JUMPDEST 000003be: PUSH2 0x03ff 000003c1: PUSH1 0x04 000003c3: DUP1 000003c4: CALLDATASIZE 000003c5: SUB 000003c6: PUSH1 0x20 000003c8: DUP2 000003c9: LT 000003ca: ISZERO 000003cb: PUSH2 0x03d3 000003ce: JUMPI 000003cf: PUSH1 0x00 000003d1: DUP1 000003d2: REVERT 000003d3: JUMPDEST 000003d4: DUP2 000003d5: ADD 000003d6: SWAP1 000003d7: DUP1 000003d8: DUP1 000003d9: CALLDATALOAD 000003da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003ef: AND 000003f0: SWAP1 000003f1: PUSH1 0x20 000003f3: ADD 000003f4: SWAP1 000003f5: SWAP3 000003f6: SWAP2 000003f7: SWAP1 000003f8: POP 000003f9: POP 000003fa: POP 000003fb: PUSH2 0x1978 000003fe: JUMP 000003ff: JUMPDEST 00000400: PUSH1 0x40 00000402: MLOAD 00000403: DUP1 00000404: DUP3 00000405: PUSH8 0xffffffffffffffff 0000040e: AND 0000040f: DUP2 00000410: MSTORE 00000411: PUSH1 0x20 00000413: ADD 00000414: SWAP2 00000415: POP 00000416: POP 00000417: PUSH1 0x40 00000419: MLOAD 0000041a: DUP1 0000041b: SWAP2 0000041c: SUB 0000041d: SWAP1 0000041e: RETURN 0000041f: JUMPDEST 00000420: PUSH2 0x044b 00000423: PUSH1 0x04 00000425: DUP1 00000426: CALLDATASIZE 00000427: SUB 00000428: PUSH1 0x20 0000042a: DUP2 0000042b: LT 0000042c: ISZERO 0000042d: PUSH2 0x0435 00000430: JUMPI 00000431: PUSH1 0x00 00000433: DUP1 00000434: REVERT 00000435: JUMPDEST 00000436: DUP2 00000437: ADD 00000438: SWAP1 00000439: DUP1 0000043a: DUP1 0000043b: CALLDATALOAD 0000043c: SWAP1 0000043d: PUSH1 0x20 0000043f: ADD 00000440: SWAP1 00000441: SWAP3 00000442: SWAP2 00000443: SWAP1 00000444: POP 00000445: POP 00000446: POP 00000447: PUSH2 0x1a0d 0000044a: JUMP 0000044b: JUMPDEST 0000044c: PUSH1 0x40 0000044e: MLOAD 0000044f: DUP1 00000450: DUP3 00000451: DUP2 00000452: MSTORE 00000453: PUSH1 0x20 00000455: ADD 00000456: SWAP2 00000457: POP 00000458: POP 00000459: PUSH1 0x40 0000045b: MLOAD 0000045c: DUP1 0000045d: SWAP2 0000045e: SUB 0000045f: SWAP1 00000460: RETURN 00000461: JUMPDEST 00000462: PUSH2 0x0497 00000465: PUSH1 0x04 00000467: DUP1 00000468: CALLDATASIZE 00000469: SUB 0000046a: PUSH1 0x40 0000046c: DUP2 0000046d: LT 0000046e: ISZERO 0000046f: PUSH2 0x0477 00000472: JUMPI 00000473: PUSH1 0x00 00000475: DUP1 00000476: REVERT 00000477: JUMPDEST 00000478: DUP2 00000479: ADD 0000047a: SWAP1 0000047b: DUP1 0000047c: DUP1 0000047d: CALLDATALOAD 0000047e: SWAP1 0000047f: PUSH1 0x20 00000481: ADD 00000482: SWAP1 00000483: SWAP3 00000484: SWAP2 00000485: SWAP1 00000486: DUP1 00000487: CALLDATALOAD 00000488: SWAP1 00000489: PUSH1 0x20 0000048b: ADD 0000048c: SWAP1 0000048d: SWAP3 0000048e: SWAP2 0000048f: SWAP1 00000490: POP 00000491: POP 00000492: POP 00000493: PUSH2 0x1fb4 00000496: JUMP 00000497: JUMPDEST 00000498: STOP 00000499: JUMPDEST 0000049a: PUSH2 0x04e5 0000049d: PUSH1 0x04 0000049f: DUP1 000004a0: CALLDATASIZE 000004a1: SUB 000004a2: PUSH1 0x40 000004a4: DUP2 000004a5: LT 000004a6: ISZERO 000004a7: PUSH2 0x04af 000004aa: JUMPI 000004ab: PUSH1 0x00 000004ad: DUP1 000004ae: REVERT 000004af: JUMPDEST 000004b0: DUP2 000004b1: ADD 000004b2: SWAP1 000004b3: DUP1 000004b4: DUP1 000004b5: CALLDATALOAD 000004b6: SWAP1 000004b7: PUSH1 0x20 000004b9: ADD 000004ba: SWAP1 000004bb: SWAP3 000004bc: SWAP2 000004bd: SWAP1 000004be: DUP1 000004bf: CALLDATALOAD 000004c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004d5: AND 000004d6: SWAP1 000004d7: PUSH1 0x20 000004d9: ADD 000004da: SWAP1 000004db: SWAP3 000004dc: SWAP2 000004dd: SWAP1 000004de: POP 000004df: POP 000004e0: POP 000004e1: PUSH2 0x22d6 000004e4: JUMP 000004e5: JUMPDEST 000004e6: STOP 000004e7: JUMPDEST 000004e8: PUSH2 0x0513 000004eb: PUSH1 0x04 000004ed: DUP1 000004ee: CALLDATASIZE 000004ef: SUB 000004f0: PUSH1 0x20 000004f2: DUP2 000004f3: LT 000004f4: ISZERO 000004f5: PUSH2 0x04fd 000004f8: JUMPI 000004f9: PUSH1 0x00 000004fb: DUP1 000004fc: REVERT 000004fd: JUMPDEST 000004fe: DUP2 000004ff: ADD 00000500: SWAP1 00000501: DUP1 00000502: DUP1 00000503: CALLDATALOAD 00000504: SWAP1 00000505: PUSH1 0x20 00000507: ADD 00000508: SWAP1 00000509: SWAP3 0000050a: SWAP2 0000050b: SWAP1 0000050c: POP 0000050d: POP 0000050e: POP 0000050f: PUSH2 0x2434 00000512: JUMP 00000513: JUMPDEST 00000514: PUSH1 0x40 00000516: MLOAD 00000517: DUP1 00000518: DUP16 00000519: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000052e: AND 0000052f: DUP2 00000530: MSTORE 00000531: PUSH1 0x20 00000533: ADD 00000534: DUP15 00000535: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000054a: AND 0000054b: DUP2 0000054c: MSTORE 0000054d: PUSH1 0x20 0000054f: ADD 00000550: DUP14 00000551: DUP2 00000552: MSTORE 00000553: PUSH1 0x20 00000555: ADD 00000556: DUP13 00000557: DUP2 00000558: MSTORE 00000559: PUSH1 0x20 0000055b: ADD 0000055c: DUP12 0000055d: DUP2 0000055e: MSTORE 0000055f: PUSH1 0x20 00000561: ADD 00000562: DUP11 00000563: DUP2 00000564: MSTORE 00000565: PUSH1 0x20 00000567: ADD 00000568: DUP10 00000569: DUP2 0000056a: MSTORE 0000056b: PUSH1 0x20 0000056d: ADD 0000056e: DUP9 0000056f: DUP2 00000570: MSTORE 00000571: PUSH1 0x20 00000573: ADD 00000574: DUP8 00000575: DUP2 00000576: MSTORE 00000577: PUSH1 0x20 00000579: ADD 0000057a: DUP7 0000057b: PUSH12 0xffffffffffffffffffffffff 00000588: AND 00000589: DUP2 0000058a: MSTORE 0000058b: PUSH1 0x20 0000058d: ADD 0000058e: DUP6 0000058f: ISZERO 00000590: ISZERO 00000591: DUP2 00000592: MSTORE 00000593: PUSH1 0x20 00000595: ADD 00000596: DUP5 00000597: ISZERO 00000598: ISZERO 00000599: DUP2 0000059a: MSTORE 0000059b: PUSH1 0x20 0000059d: ADD 0000059e: DUP4 0000059f: DUP2 000005a0: MSTORE 000005a1: PUSH1 0x20 000005a3: ADD 000005a4: DUP3 000005a5: DUP2 000005a6: MSTORE 000005a7: PUSH1 0x20 000005a9: ADD 000005aa: SWAP15 000005ab: POP 000005ac: POP 000005ad: POP 000005ae: POP 000005af: POP 000005b0: POP 000005b1: POP 000005b2: POP 000005b3: POP 000005b4: POP 000005b5: POP 000005b6: POP 000005b7: POP 000005b8: POP 000005b9: POP 000005ba: PUSH1 0x40 000005bc: MLOAD 000005bd: DUP1 000005be: SWAP2 000005bf: SUB 000005c0: SWAP1 000005c1: RETURN 000005c2: JUMPDEST 000005c3: PUSH2 0x05ca 000005c6: PUSH2 0x2512 000005c9: JUMP 000005ca: JUMPDEST 000005cb: PUSH1 0x40 000005cd: MLOAD 000005ce: DUP1 000005cf: DUP3 000005d0: PUSH8 0xffffffffffffffff 000005d9: AND 000005da: DUP2 000005db: MSTORE 000005dc: PUSH1 0x20 000005de: ADD 000005df: SWAP2 000005e0: POP 000005e1: POP 000005e2: PUSH1 0x40 000005e4: MLOAD 000005e5: DUP1 000005e6: SWAP2 000005e7: SUB 000005e8: SWAP1 000005e9: RETURN 000005ea: JUMPDEST 000005eb: PUSH2 0x0620 000005ee: PUSH1 0x04 000005f0: DUP1 000005f1: CALLDATASIZE 000005f2: SUB 000005f3: PUSH1 0x40 000005f5: DUP2 000005f6: LT 000005f7: ISZERO 000005f8: PUSH2 0x0600 000005fb: JUMPI 000005fc: PUSH1 0x00 000005fe: DUP1 000005ff: REVERT 00000600: JUMPDEST 00000601: DUP2 00000602: ADD 00000603: SWAP1 00000604: DUP1 00000605: DUP1 00000606: CALLDATALOAD 00000607: SWAP1 00000608: PUSH1 0x20 0000060a: ADD 0000060b: SWAP1 0000060c: SWAP3 0000060d: SWAP2 0000060e: SWAP1 0000060f: DUP1 00000610: CALLDATALOAD 00000611: SWAP1 00000612: PUSH1 0x20 00000614: ADD 00000615: SWAP1 00000616: SWAP3 00000617: SWAP2 00000618: SWAP1 00000619: POP 0000061a: POP 0000061b: POP 0000061c: PUSH2 0x252c 0000061f: JUMP 00000620: JUMPDEST 00000621: PUSH1 0x40 00000623: MLOAD 00000624: DUP1 00000625: DUP3 00000626: ISZERO 00000627: ISZERO 00000628: DUP2 00000629: MSTORE 0000062a: PUSH1 0x20 0000062c: ADD 0000062d: SWAP2 0000062e: POP 0000062f: POP 00000630: PUSH1 0x40 00000632: MLOAD 00000633: DUP1 00000634: SWAP2 00000635: SUB 00000636: SWAP1 00000637: RETURN 00000638: JUMPDEST 00000639: PUSH2 0x0640 0000063c: PUSH2 0x255b 0000063f: JUMP 00000640: JUMPDEST 00000641: STOP 00000642: JUMPDEST 00000643: PUSH2 0x0702 00000646: PUSH1 0x04 00000648: DUP1 00000649: CALLDATASIZE 0000064a: SUB 0000064b: PUSH1 0x40 0000064d: DUP2 0000064e: LT 0000064f: ISZERO 00000650: PUSH2 0x0658 00000653: JUMPI 00000654: PUSH1 0x00 00000656: DUP1 00000657: REVERT 00000658: JUMPDEST 00000659: DUP2 0000065a: ADD 0000065b: SWAP1 0000065c: DUP1 0000065d: DUP1 0000065e: CALLDATALOAD 0000065f: SWAP1 00000660: PUSH1 0x20 00000662: ADD 00000663: SWAP1 00000664: SWAP3 00000665: SWAP2 00000666: SWAP1 00000667: DUP1 00000668: CALLDATALOAD 00000669: SWAP1 0000066a: PUSH1 0x20 0000066c: ADD 0000066d: SWAP1 0000066e: PUSH5 0x0100000000 00000674: DUP2 00000675: GT 00000676: ISZERO 00000677: PUSH2 0x067f 0000067a: JUMPI 0000067b: PUSH1 0x00 0000067d: DUP1 0000067e: REVERT 0000067f: JUMPDEST 00000680: DUP3 00000681: ADD 00000682: DUP4 00000683: PUSH1 0x20 00000685: DUP3 00000686: ADD 00000687: GT 00000688: ISZERO 00000689: PUSH2 0x0691 0000068c: JUMPI 0000068d: PUSH1 0x00 0000068f: DUP1 00000690: REVERT 00000691: JUMPDEST 00000692: DUP1 00000693: CALLDATALOAD 00000694: SWAP1 00000695: PUSH1 0x20 00000697: ADD 00000698: SWAP2 00000699: DUP5 0000069a: PUSH1 0x20 0000069c: DUP4 0000069d: MUL 0000069e: DUP5 0000069f: ADD 000006a0: GT 000006a1: PUSH5 0x0100000000 000006a7: DUP4 000006a8: GT 000006a9: OR 000006aa: ISZERO 000006ab: PUSH2 0x06b3 000006ae: JUMPI 000006af: PUSH1 0x00 000006b1: DUP1 000006b2: REVERT 000006b3: JUMPDEST 000006b4: SWAP2 000006b5: SWAP1 000006b6: DUP1 000006b7: DUP1 000006b8: PUSH1 0x20 000006ba: MUL 000006bb: PUSH1 0x20 000006bd: ADD 000006be: PUSH1 0x40 000006c0: MLOAD 000006c1: SWAP1 000006c2: DUP2 000006c3: ADD 000006c4: PUSH1 0x40 000006c6: MSTORE 000006c7: DUP1 000006c8: SWAP4 000006c9: SWAP3 000006ca: SWAP2 000006cb: SWAP1 000006cc: DUP2 000006cd: DUP2 000006ce: MSTORE 000006cf: PUSH1 0x20 000006d1: ADD 000006d2: DUP4 000006d3: DUP4 000006d4: PUSH1 0x20 000006d6: MUL 000006d7: DUP1 000006d8: DUP3 000006d9: DUP5 000006da: CALLDATACOPY 000006db: PUSH1 0x00 000006dd: DUP2 000006de: DUP5 000006df: ADD 000006e0: MSTORE 000006e1: PUSH1 0x1f 000006e3: NOT 000006e4: PUSH1 0x1f 000006e6: DUP3 000006e7: ADD 000006e8: AND 000006e9: SWAP1 000006ea: POP 000006eb: DUP1 000006ec: DUP4 000006ed: ADD 000006ee: SWAP3 000006ef: POP 000006f0: POP 000006f1: POP 000006f2: POP 000006f3: POP 000006f4: POP 000006f5: POP 000006f6: SWAP2 000006f7: SWAP3 000006f8: SWAP2 000006f9: SWAP3 000006fa: SWAP1 000006fb: POP 000006fc: POP 000006fd: POP 000006fe: PUSH2 0x26e1 00000701: JUMP 00000702: JUMPDEST 00000703: PUSH1 0x40 00000705: MLOAD 00000706: DUP1 00000707: DUP4 00000708: DUP2 00000709: MSTORE 0000070a: PUSH1 0x20 0000070c: ADD 0000070d: DUP3 0000070e: DUP2 0000070f: MSTORE 00000710: PUSH1 0x20 00000712: ADD 00000713: SWAP3 00000714: POP 00000715: POP 00000716: POP 00000717: PUSH1 0x40 00000719: MLOAD 0000071a: DUP1 0000071b: SWAP2 0000071c: SUB 0000071d: SWAP1 0000071e: RETURN 0000071f: JUMPDEST 00000720: PUSH2 0x07df 00000723: PUSH1 0x04 00000725: DUP1 00000726: CALLDATASIZE 00000727: SUB 00000728: PUSH1 0x40 0000072a: DUP2 0000072b: LT 0000072c: ISZERO 0000072d: PUSH2 0x0735 00000730: JUMPI 00000731: PUSH1 0x00 00000733: DUP1 00000734: REVERT 00000735: JUMPDEST 00000736: DUP2 00000737: ADD 00000738: SWAP1 00000739: DUP1 0000073a: DUP1 0000073b: CALLDATALOAD 0000073c: SWAP1 0000073d: PUSH1 0x20 0000073f: ADD 00000740: SWAP1 00000741: SWAP3 00000742: SWAP2 00000743: SWAP1 00000744: DUP1 00000745: CALLDATALOAD 00000746: SWAP1 00000747: PUSH1 0x20 00000749: ADD 0000074a: SWAP1 0000074b: PUSH5 0x0100000000 00000751: DUP2 00000752: GT 00000753: ISZERO 00000754: PUSH2 0x075c 00000757: JUMPI 00000758: PUSH1 0x00 0000075a: DUP1 0000075b: REVERT 0000075c: JUMPDEST 0000075d: DUP3 0000075e: ADD 0000075f: DUP4 00000760: PUSH1 0x20 00000762: DUP3 00000763: ADD 00000764: GT 00000765: ISZERO 00000766: PUSH2 0x076e 00000769: JUMPI 0000076a: PUSH1 0x00 0000076c: DUP1 0000076d: REVERT 0000076e: JUMPDEST 0000076f: DUP1 00000770: CALLDATALOAD 00000771: SWAP1 00000772: PUSH1 0x20 00000774: ADD 00000775: SWAP2 00000776: DUP5 00000777: PUSH1 0x20 00000779: DUP4 0000077a: MUL 0000077b: DUP5 0000077c: ADD 0000077d: GT 0000077e: PUSH5 0x0100000000 00000784: DUP4 00000785: GT 00000786: OR 00000787: ISZERO 00000788: PUSH2 0x0790 0000078b: JUMPI 0000078c: PUSH1 0x00 0000078e: DUP1 0000078f: REVERT 00000790: JUMPDEST 00000791: SWAP2 00000792: SWAP1 00000793: DUP1 00000794: DUP1 00000795: PUSH1 0x20 00000797: MUL 00000798: PUSH1 0x20 0000079a: ADD 0000079b: PUSH1 0x40 0000079d: MLOAD 0000079e: SWAP1 0000079f: DUP2 000007a0: ADD 000007a1: PUSH1 0x40 000007a3: MSTORE 000007a4: DUP1 000007a5: SWAP4 000007a6: SWAP3 000007a7: SWAP2 000007a8: SWAP1 000007a9: DUP2 000007aa: DUP2 000007ab: MSTORE 000007ac: PUSH1 0x20 000007ae: ADD 000007af: DUP4 000007b0: DUP4 000007b1: PUSH1 0x20 000007b3: MUL 000007b4: DUP1 000007b5: DUP3 000007b6: DUP5 000007b7: CALLDATACOPY 000007b8: PUSH1 0x00 000007ba: DUP2 000007bb: DUP5 000007bc: ADD 000007bd: MSTORE 000007be: PUSH1 0x1f 000007c0: NOT 000007c1: PUSH1 0x1f 000007c3: DUP3 000007c4: ADD 000007c5: AND 000007c6: SWAP1 000007c7: POP 000007c8: DUP1 000007c9: DUP4 000007ca: ADD 000007cb: SWAP3 000007cc: POP 000007cd: POP 000007ce: POP 000007cf: POP 000007d0: POP 000007d1: POP 000007d2: POP 000007d3: SWAP2 000007d4: SWAP3 000007d5: SWAP2 000007d6: SWAP3 000007d7: SWAP1 000007d8: POP 000007d9: POP 000007da: POP 000007db: PUSH2 0x2d2d 000007de: JUMP 000007df: JUMPDEST 000007e0: STOP 000007e1: JUMPDEST 000007e2: PUSH2 0x07e9 000007e5: PUSH2 0x2f90 000007e8: JUMP 000007e9: JUMPDEST 000007ea: PUSH1 0x40 000007ec: MLOAD 000007ed: DUP1 000007ee: DUP3 000007ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000804: AND 00000805: DUP2 00000806: MSTORE 00000807: PUSH1 0x20 00000809: ADD 0000080a: SWAP2 0000080b: POP 0000080c: POP 0000080d: PUSH1 0x40 0000080f: MLOAD 00000810: DUP1 00000811: SWAP2 00000812: SUB 00000813: SWAP1 00000814: RETURN 00000815: JUMPDEST 00000816: PUSH2 0x0a52 00000819: PUSH1 0x04 0000081b: DUP1 0000081c: CALLDATASIZE 0000081d: SUB 0000081e: PUSH1 0xa0 00000820: DUP2 00000821: LT 00000822: ISZERO 00000823: PUSH2 0x082b 00000826: JUMPI 00000827: PUSH1 0x00 00000829: DUP1 0000082a: REVERT 0000082b: JUMPDEST 0000082c: DUP2 0000082d: ADD 0000082e: SWAP1 0000082f: DUP1 00000830: DUP1 00000831: CALLDATALOAD 00000832: SWAP1 00000833: PUSH1 0x20 00000835: ADD 00000836: SWAP1 00000837: SWAP3 00000838: SWAP2 00000839: SWAP1 0000083a: DUP1 0000083b: CALLDATALOAD 0000083c: SWAP1 0000083d: PUSH1 0x20 0000083f: ADD 00000840: SWAP1 00000841: PUSH5 0x0100000000 00000847: DUP2 00000848: GT 00000849: ISZERO 0000084a: PUSH2 0x0852 0000084d: JUMPI 0000084e: PUSH1 0x00 00000850: DUP1 00000851: REVERT 00000852: JUMPDEST 00000853: DUP3 00000854: ADD 00000855: DUP4 00000856: PUSH1 0x20 00000858: DUP3 00000859: ADD 0000085a: GT 0000085b: ISZERO 0000085c: PUSH2 0x0864 0000085f: JUMPI 00000860: PUSH1 0x00 00000862: DUP1 00000863: REVERT 00000864: JUMPDEST 00000865: DUP1 00000866: CALLDATALOAD 00000867: SWAP1 00000868: PUSH1 0x20 0000086a: ADD 0000086b: SWAP2 0000086c: DUP5 0000086d: PUSH1 0x20 0000086f: DUP4 00000870: MUL 00000871: DUP5 00000872: ADD 00000873: GT 00000874: PUSH5 0x0100000000 0000087a: DUP4 0000087b: GT 0000087c: OR 0000087d: ISZERO 0000087e: PUSH2 0x0886 00000881: JUMPI 00000882: PUSH1 0x00 00000884: DUP1 00000885: REVERT 00000886: JUMPDEST 00000887: SWAP2 00000888: SWAP1 00000889: DUP1 0000088a: DUP1 0000088b: PUSH1 0x20 0000088d: MUL 0000088e: PUSH1 0x20 00000890: ADD 00000891: PUSH1 0x40 00000893: MLOAD 00000894: SWAP1 00000895: DUP2 00000896: ADD 00000897: PUSH1 0x40 00000899: MSTORE 0000089a: DUP1 0000089b: SWAP4 0000089c: SWAP3 0000089d: SWAP2 0000089e: SWAP1 0000089f: DUP2 000008a0: DUP2 000008a1: MSTORE 000008a2: PUSH1 0x20 000008a4: ADD 000008a5: DUP4 000008a6: DUP4 000008a7: PUSH1 0x20 000008a9: MUL 000008aa: DUP1 000008ab: DUP3 000008ac: DUP5 000008ad: CALLDATACOPY 000008ae: PUSH1 0x00 000008b0: DUP2 000008b1: DUP5 000008b2: ADD 000008b3: MSTORE 000008b4: PUSH1 0x1f 000008b6: NOT 000008b7: PUSH1 0x1f 000008b9: DUP3 000008ba: ADD 000008bb: AND 000008bc: SWAP1 000008bd: POP 000008be: DUP1 000008bf: DUP4 000008c0: ADD 000008c1: SWAP3 000008c2: POP 000008c3: POP 000008c4: POP 000008c5: POP 000008c6: POP 000008c7: POP 000008c8: POP 000008c9: SWAP2 000008ca: SWAP3 000008cb: SWAP2 000008cc: SWAP3 000008cd: SWAP1 000008ce: DUP1 000008cf: CALLDATALOAD 000008d0: SWAP1 000008d1: PUSH1 0x20 000008d3: ADD 000008d4: SWAP1 000008d5: PUSH5 0x0100000000 000008db: DUP2 000008dc: GT 000008dd: ISZERO 000008de: PUSH2 0x08e6 000008e1: JUMPI 000008e2: PUSH1 0x00 000008e4: DUP1 000008e5: REVERT 000008e6: JUMPDEST 000008e7: DUP3 000008e8: ADD 000008e9: DUP4 000008ea: PUSH1 0x20 000008ec: DUP3 000008ed: ADD 000008ee: GT 000008ef: ISZERO 000008f0: PUSH2 0x08f8 000008f3: JUMPI 000008f4: PUSH1 0x00 000008f6: DUP1 000008f7: REVERT 000008f8: JUMPDEST 000008f9: DUP1 000008fa: CALLDATALOAD 000008fb: SWAP1 000008fc: PUSH1 0x20 000008fe: ADD 000008ff: SWAP2 00000900: DUP5 00000901: PUSH1 0x20 00000903: DUP4 00000904: MUL 00000905: DUP5 00000906: ADD 00000907: GT 00000908: PUSH5 0x0100000000 0000090e: DUP4 0000090f: GT 00000910: OR 00000911: ISZERO 00000912: PUSH2 0x091a 00000915: JUMPI 00000916: PUSH1 0x00 00000918: DUP1 00000919: REVERT 0000091a: JUMPDEST 0000091b: SWAP2 0000091c: SWAP1 0000091d: DUP1 0000091e: DUP1 0000091f: PUSH1 0x20 00000921: MUL 00000922: PUSH1 0x20 00000924: ADD 00000925: PUSH1 0x40 00000927: MLOAD 00000928: SWAP1 00000929: DUP2 0000092a: ADD 0000092b: PUSH1 0x40 0000092d: MSTORE 0000092e: DUP1 0000092f: SWAP4 00000930: SWAP3 00000931: SWAP2 00000932: SWAP1 00000933: DUP2 00000934: DUP2 00000935: MSTORE 00000936: PUSH1 0x20 00000938: ADD 00000939: DUP4 0000093a: DUP4 0000093b: PUSH1 0x20 0000093d: MUL 0000093e: DUP1 0000093f: DUP3 00000940: DUP5 00000941: CALLDATACOPY 00000942: PUSH1 0x00 00000944: DUP2 00000945: DUP5 00000946: ADD 00000947: MSTORE 00000948: PUSH1 0x1f 0000094a: NOT 0000094b: PUSH1 0x1f 0000094d: DUP3 0000094e: ADD 0000094f: AND 00000950: SWAP1 00000951: POP 00000952: DUP1 00000953: DUP4 00000954: ADD 00000955: SWAP3 00000956: POP 00000957: POP 00000958: POP 00000959: POP 0000095a: POP 0000095b: POP 0000095c: POP 0000095d: SWAP2 0000095e: SWAP3 0000095f: SWAP2 00000960: SWAP3 00000961: SWAP1 00000962: DUP1 00000963: CALLDATALOAD 00000964: SWAP1 00000965: PUSH1 0x20 00000967: ADD 00000968: SWAP1 00000969: PUSH5 0x0100000000 0000096f: DUP2 00000970: GT 00000971: ISZERO 00000972: PUSH2 0x097a 00000975: JUMPI 00000976: PUSH1 0x00 00000978: DUP1 00000979: REVERT 0000097a: JUMPDEST 0000097b: DUP3 0000097c: ADD 0000097d: DUP4 0000097e: PUSH1 0x20 00000980: DUP3 00000981: ADD 00000982: GT 00000983: ISZERO 00000984: PUSH2 0x098c 00000987: JUMPI 00000988: PUSH1 0x00 0000098a: DUP1 0000098b: REVERT 0000098c: JUMPDEST 0000098d: DUP1 0000098e: CALLDATALOAD 0000098f: SWAP1 00000990: PUSH1 0x20 00000992: ADD 00000993: SWAP2 00000994: DUP5 00000995: PUSH1 0x20 00000997: DUP4 00000998: MUL 00000999: DUP5 0000099a: ADD 0000099b: GT 0000099c: PUSH5 0x0100000000 000009a2: DUP4 000009a3: GT 000009a4: OR 000009a5: ISZERO 000009a6: PUSH2 0x09ae 000009a9: JUMPI 000009aa: PUSH1 0x00 000009ac: DUP1 000009ad: REVERT 000009ae: JUMPDEST 000009af: SWAP2 000009b0: SWAP1 000009b1: DUP1 000009b2: DUP1 000009b3: PUSH1 0x20 000009b5: MUL 000009b6: PUSH1 0x20 000009b8: ADD 000009b9: PUSH1 0x40 000009bb: MLOAD 000009bc: SWAP1 000009bd: DUP2 000009be: ADD 000009bf: PUSH1 0x40 000009c1: MSTORE 000009c2: DUP1 000009c3: SWAP4 000009c4: SWAP3 000009c5: SWAP2 000009c6: SWAP1 000009c7: DUP2 000009c8: DUP2 000009c9: MSTORE 000009ca: PUSH1 0x20 000009cc: ADD 000009cd: DUP4 000009ce: DUP4 000009cf: PUSH1 0x20 000009d1: MUL 000009d2: DUP1 000009d3: DUP3 000009d4: DUP5 000009d5: CALLDATACOPY 000009d6: PUSH1 0x00 000009d8: DUP2 000009d9: DUP5 000009da: ADD 000009db: MSTORE 000009dc: PUSH1 0x1f 000009de: NOT 000009df: PUSH1 0x1f 000009e1: DUP3 000009e2: ADD 000009e3: AND 000009e4: SWAP1 000009e5: POP 000009e6: DUP1 000009e7: DUP4 000009e8: ADD 000009e9: SWAP3 000009ea: POP 000009eb: POP 000009ec: POP 000009ed: POP 000009ee: POP 000009ef: POP 000009f0: POP 000009f1: SWAP2 000009f2: SWAP3 000009f3: SWAP2 000009f4: SWAP3 000009f5: SWAP1 000009f6: DUP1 000009f7: CALLDATALOAD 000009f8: SWAP1 000009f9: PUSH1 0x20 000009fb: ADD 000009fc: SWAP1 000009fd: PUSH5 0x0100000000 00000a03: DUP2 00000a04: GT 00000a05: ISZERO 00000a06: PUSH2 0x0a0e 00000a09: JUMPI 00000a0a: PUSH1 0x00 00000a0c: DUP1 00000a0d: REVERT 00000a0e: JUMPDEST 00000a0f: DUP3 00000a10: ADD 00000a11: DUP4 00000a12: PUSH1 0x20 00000a14: DUP3 00000a15: ADD 00000a16: GT 00000a17: ISZERO 00000a18: PUSH2 0x0a20 00000a1b: JUMPI 00000a1c: PUSH1 0x00 00000a1e: DUP1 00000a1f: REVERT 00000a20: JUMPDEST 00000a21: DUP1 00000a22: CALLDATALOAD 00000a23: SWAP1 00000a24: PUSH1 0x20 00000a26: ADD 00000a27: SWAP2 00000a28: DUP5 00000a29: PUSH1 0x01 00000a2b: DUP4 00000a2c: MUL 00000a2d: DUP5 00000a2e: ADD 00000a2f: GT 00000a30: PUSH5 0x0100000000 00000a36: DUP4 00000a37: GT 00000a38: OR 00000a39: ISZERO 00000a3a: PUSH2 0x0a42 00000a3d: JUMPI 00000a3e: PUSH1 0x00 00000a40: DUP1 00000a41: REVERT 00000a42: JUMPDEST 00000a43: SWAP1 00000a44: SWAP2 00000a45: SWAP3 00000a46: SWAP4 00000a47: SWAP2 00000a48: SWAP3 00000a49: SWAP4 00000a4a: SWAP1 00000a4b: POP 00000a4c: POP 00000a4d: POP 00000a4e: PUSH2 0x2fb9 00000a51: JUMP 00000a52: JUMPDEST 00000a53: STOP 00000a54: JUMPDEST 00000a55: PUSH2 0x0a5c 00000a58: PUSH2 0x3221 00000a5b: JUMP 00000a5c: JUMPDEST 00000a5d: PUSH1 0x40 00000a5f: MLOAD 00000a60: DUP1 00000a61: DUP3 00000a62: DUP2 00000a63: MSTORE 00000a64: PUSH1 0x20 00000a66: ADD 00000a67: SWAP2 00000a68: POP 00000a69: POP 00000a6a: PUSH1 0x40 00000a6c: MLOAD 00000a6d: DUP1 00000a6e: SWAP2 00000a6f: SUB 00000a70: SWAP1 00000a71: RETURN 00000a72: JUMPDEST 00000a73: PUSH2 0x0caf 00000a76: PUSH1 0x04 00000a78: DUP1 00000a79: CALLDATASIZE 00000a7a: SUB 00000a7b: PUSH1 0xa0 00000a7d: DUP2 00000a7e: LT 00000a7f: ISZERO 00000a80: PUSH2 0x0a88 00000a83: JUMPI 00000a84: PUSH1 0x00 00000a86: DUP1 00000a87: REVERT 00000a88: JUMPDEST 00000a89: DUP2 00000a8a: ADD 00000a8b: SWAP1 00000a8c: DUP1 00000a8d: DUP1 00000a8e: CALLDATALOAD 00000a8f: SWAP1 00000a90: PUSH1 0x20 00000a92: ADD 00000a93: SWAP1 00000a94: SWAP3 00000a95: SWAP2 00000a96: SWAP1 00000a97: DUP1 00000a98: CALLDATALOAD 00000a99: SWAP1 00000a9a: PUSH1 0x20 00000a9c: ADD 00000a9d: SWAP1 00000a9e: PUSH5 0x0100000000 00000aa4: DUP2 00000aa5: GT 00000aa6: ISZERO 00000aa7: PUSH2 0x0aaf 00000aaa: JUMPI 00000aab: PUSH1 0x00 00000aad: DUP1 00000aae: REVERT 00000aaf: JUMPDEST 00000ab0: DUP3 00000ab1: ADD 00000ab2: DUP4 00000ab3: PUSH1 0x20 00000ab5: DUP3 00000ab6: ADD 00000ab7: GT 00000ab8: ISZERO 00000ab9: PUSH2 0x0ac1 00000abc: JUMPI 00000abd: PUSH1 0x00 00000abf: DUP1 00000ac0: REVERT 00000ac1: JUMPDEST 00000ac2: DUP1 00000ac3: CALLDATALOAD 00000ac4: SWAP1 00000ac5: PUSH1 0x20 00000ac7: ADD 00000ac8: SWAP2 00000ac9: DUP5 00000aca: PUSH1 0x20 00000acc: DUP4 00000acd: MUL 00000ace: DUP5 00000acf: ADD 00000ad0: GT 00000ad1: PUSH5 0x0100000000 00000ad7: DUP4 00000ad8: GT 00000ad9: OR 00000ada: ISZERO 00000adb: PUSH2 0x0ae3 00000ade: JUMPI 00000adf: PUSH1 0x00 00000ae1: DUP1 00000ae2: REVERT 00000ae3: JUMPDEST 00000ae4: SWAP2 00000ae5: SWAP1 00000ae6: DUP1 00000ae7: DUP1 00000ae8: PUSH1 0x20 00000aea: MUL 00000aeb: PUSH1 0x20 00000aed: ADD 00000aee: PUSH1 0x40 00000af0: MLOAD 00000af1: SWAP1 00000af2: DUP2 00000af3: ADD 00000af4: PUSH1 0x40 00000af6: MSTORE 00000af7: DUP1 00000af8: SWAP4 00000af9: SWAP3 00000afa: SWAP2 00000afb: SWAP1 00000afc: DUP2 00000afd: DUP2 00000afe: MSTORE 00000aff: PUSH1 0x20 00000b01: ADD 00000b02: DUP4 00000b03: DUP4 00000b04: PUSH1 0x20 00000b06: MUL 00000b07: DUP1 00000b08: DUP3 00000b09: DUP5 00000b0a: CALLDATACOPY 00000b0b: PUSH1 0x00 00000b0d: DUP2 00000b0e: DUP5 00000b0f: ADD 00000b10: MSTORE 00000b11: PUSH1 0x1f 00000b13: NOT 00000b14: PUSH1 0x1f 00000b16: DUP3 00000b17: ADD 00000b18: AND 00000b19: SWAP1 00000b1a: POP 00000b1b: DUP1 00000b1c: DUP4 00000b1d: ADD 00000b1e: SWAP3 00000b1f: POP 00000b20: POP 00000b21: POP 00000b22: POP 00000b23: POP 00000b24: POP 00000b25: POP 00000b26: SWAP2 00000b27: SWAP3 00000b28: SWAP2 00000b29: SWAP3 00000b2a: SWAP1 00000b2b: DUP1 00000b2c: CALLDATALOAD 00000b2d: SWAP1 00000b2e: PUSH1 0x20 00000b30: ADD 00000b31: SWAP1 00000b32: PUSH5 0x0100000000 00000b38: DUP2 00000b39: GT 00000b3a: ISZERO 00000b3b: PUSH2 0x0b43 00000b3e: JUMPI 00000b3f: PUSH1 0x00 00000b41: DUP1 00000b42: REVERT 00000b43: JUMPDEST 00000b44: DUP3 00000b45: ADD 00000b46: DUP4 00000b47: PUSH1 0x20 00000b49: DUP3 00000b4a: ADD 00000b4b: GT 00000b4c: ISZERO 00000b4d: PUSH2 0x0b55 00000b50: JUMPI 00000b51: PUSH1 0x00 00000b53: DUP1 00000b54: REVERT 00000b55: JUMPDEST 00000b56: DUP1 00000b57: CALLDATALOAD 00000b58: SWAP1 00000b59: PUSH1 0x20 00000b5b: ADD 00000b5c: SWAP2 00000b5d: DUP5 00000b5e: PUSH1 0x20 00000b60: DUP4 00000b61: MUL 00000b62: DUP5 00000b63: ADD 00000b64: GT 00000b65: PUSH5 0x0100000000 00000b6b: DUP4 00000b6c: GT 00000b6d: OR 00000b6e: ISZERO 00000b6f: PUSH2 0x0b77 00000b72: JUMPI 00000b73: PUSH1 0x00 00000b75: DUP1 00000b76: REVERT 00000b77: JUMPDEST 00000b78: SWAP2 00000b79: SWAP1 00000b7a: DUP1 00000b7b: DUP1 00000b7c: PUSH1 0x20 00000b7e: MUL 00000b7f: PUSH1 0x20 00000b81: ADD 00000b82: PUSH1 0x40 00000b84: MLOAD 00000b85: SWAP1 00000b86: DUP2 00000b87: ADD 00000b88: PUSH1 0x40 00000b8a: MSTORE 00000b8b: DUP1 00000b8c: SWAP4 00000b8d: SWAP3 00000b8e: SWAP2 00000b8f: SWAP1 00000b90: DUP2 00000b91: DUP2 00000b92: MSTORE 00000b93: PUSH1 0x20 00000b95: ADD 00000b96: DUP4 00000b97: DUP4 00000b98: PUSH1 0x20 00000b9a: MUL 00000b9b: DUP1 00000b9c: DUP3 00000b9d: DUP5 00000b9e: CALLDATACOPY 00000b9f: PUSH1 0x00 00000ba1: DUP2 00000ba2: DUP5 00000ba3: ADD 00000ba4: MSTORE 00000ba5: PUSH1 0x1f 00000ba7: NOT 00000ba8: PUSH1 0x1f 00000baa: DUP3 00000bab: ADD 00000bac: AND 00000bad: SWAP1 00000bae: POP 00000baf: DUP1 00000bb0: DUP4 00000bb1: ADD 00000bb2: SWAP3 00000bb3: POP 00000bb4: POP 00000bb5: POP 00000bb6: POP 00000bb7: POP 00000bb8: POP 00000bb9: POP 00000bba: SWAP2 00000bbb: SWAP3 00000bbc: SWAP2 00000bbd: SWAP3 00000bbe: SWAP1 00000bbf: DUP1 00000bc0: CALLDATALOAD 00000bc1: SWAP1 00000bc2: PUSH1 0x20 00000bc4: ADD 00000bc5: SWAP1 00000bc6: PUSH5 0x0100000000 00000bcc: DUP2 00000bcd: GT 00000bce: ISZERO 00000bcf: PUSH2 0x0bd7 00000bd2: JUMPI 00000bd3: PUSH1 0x00 00000bd5: DUP1 00000bd6: REVERT 00000bd7: JUMPDEST 00000bd8: DUP3 00000bd9: ADD 00000bda: DUP4 00000bdb: PUSH1 0x20 00000bdd: DUP3 00000bde: ADD 00000bdf: GT 00000be0: ISZERO 00000be1: PUSH2 0x0be9 00000be4: JUMPI 00000be5: PUSH1 0x00 00000be7: DUP1 00000be8: REVERT 00000be9: JUMPDEST 00000bea: DUP1 00000beb: CALLDATALOAD 00000bec: SWAP1 00000bed: PUSH1 0x20 00000bef: ADD 00000bf0: SWAP2 00000bf1: DUP5 00000bf2: PUSH1 0x20 00000bf4: DUP4 00000bf5: MUL 00000bf6: DUP5 00000bf7: ADD 00000bf8: GT 00000bf9: PUSH5 0x0100000000 00000bff: DUP4 00000c00: GT 00000c01: OR 00000c02: ISZERO 00000c03: PUSH2 0x0c0b 00000c06: JUMPI 00000c07: PUSH1 0x00 00000c09: DUP1 00000c0a: REVERT 00000c0b: JUMPDEST 00000c0c: SWAP2 00000c0d: SWAP1 00000c0e: DUP1 00000c0f: DUP1 00000c10: PUSH1 0x20 00000c12: MUL 00000c13: PUSH1 0x20 00000c15: ADD 00000c16: PUSH1 0x40 00000c18: MLOAD 00000c19: SWAP1 00000c1a: DUP2 00000c1b: ADD 00000c1c: PUSH1 0x40 00000c1e: MSTORE 00000c1f: DUP1 00000c20: SWAP4 00000c21: SWAP3 00000c22: SWAP2 00000c23: SWAP1 00000c24: DUP2 00000c25: DUP2 00000c26: MSTORE 00000c27: PUSH1 0x20 00000c29: ADD 00000c2a: DUP4 00000c2b: DUP4 00000c2c: PUSH1 0x20 00000c2e: MUL 00000c2f: DUP1 00000c30: DUP3 00000c31: DUP5 00000c32: CALLDATACOPY 00000c33: PUSH1 0x00 00000c35: DUP2 00000c36: DUP5 00000c37: ADD 00000c38: MSTORE 00000c39: PUSH1 0x1f 00000c3b: NOT 00000c3c: PUSH1 0x1f 00000c3e: DUP3 00000c3f: ADD 00000c40: AND 00000c41: SWAP1 00000c42: POP 00000c43: DUP1 00000c44: DUP4 00000c45: ADD 00000c46: SWAP3 00000c47: POP 00000c48: POP 00000c49: POP 00000c4a: POP 00000c4b: POP 00000c4c: POP 00000c4d: POP 00000c4e: SWAP2 00000c4f: SWAP3 00000c50: SWAP2 00000c51: SWAP3 00000c52: SWAP1 00000c53: DUP1 00000c54: CALLDATALOAD 00000c55: SWAP1 00000c56: PUSH1 0x20 00000c58: ADD 00000c59: SWAP1 00000c5a: PUSH5 0x0100000000 00000c60: DUP2 00000c61: GT 00000c62: ISZERO 00000c63: PUSH2 0x0c6b 00000c66: JUMPI 00000c67: PUSH1 0x00 00000c69: DUP1 00000c6a: REVERT 00000c6b: JUMPDEST 00000c6c: DUP3 00000c6d: ADD 00000c6e: DUP4 00000c6f: PUSH1 0x20 00000c71: DUP3 00000c72: ADD 00000c73: GT 00000c74: ISZERO 00000c75: PUSH2 0x0c7d 00000c78: JUMPI 00000c79: PUSH1 0x00 00000c7b: DUP1 00000c7c: REVERT 00000c7d: JUMPDEST 00000c7e: DUP1 00000c7f: CALLDATALOAD 00000c80: SWAP1 00000c81: PUSH1 0x20 00000c83: ADD 00000c84: SWAP2 00000c85: DUP5 00000c86: PUSH1 0x01 00000c88: DUP4 00000c89: MUL 00000c8a: DUP5 00000c8b: ADD 00000c8c: GT 00000c8d: PUSH5 0x0100000000 00000c93: DUP4 00000c94: GT 00000c95: OR 00000c96: ISZERO 00000c97: PUSH2 0x0c9f 00000c9a: JUMPI 00000c9b: PUSH1 0x00 00000c9d: DUP1 00000c9e: REVERT 00000c9f: JUMPDEST 00000ca0: SWAP1 00000ca1: SWAP2 00000ca2: SWAP3 00000ca3: SWAP4 00000ca4: SWAP2 00000ca5: SWAP3 00000ca6: SWAP4 00000ca7: SWAP1 00000ca8: POP 00000ca9: POP 00000caa: POP 00000cab: PUSH2 0x3227 00000cae: JUMP 00000caf: JUMPDEST 00000cb0: PUSH1 0x40 00000cb2: MLOAD 00000cb3: DUP1 00000cb4: DUP3 00000cb5: PUSH8 0xffffffffffffffff 00000cbe: AND 00000cbf: DUP2 00000cc0: MSTORE 00000cc1: PUSH1 0x20 00000cc3: ADD 00000cc4: SWAP2 00000cc5: POP 00000cc6: POP 00000cc7: PUSH1 0x40 00000cc9: MLOAD 00000cca: DUP1 00000ccb: SWAP2 00000ccc: SUB 00000ccd: SWAP1 00000cce: RETURN 00000ccf: JUMPDEST 00000cd0: PUSH2 0x0cd7 00000cd3: PUSH2 0x32b4 00000cd6: JUMP 00000cd7: JUMPDEST 00000cd8: PUSH1 0x40 00000cda: MLOAD 00000cdb: DUP1 00000cdc: DUP3 00000cdd: DUP2 00000cde: MSTORE 00000cdf: PUSH1 0x20 00000ce1: ADD 00000ce2: SWAP2 00000ce3: POP 00000ce4: POP 00000ce5: PUSH1 0x40 00000ce7: MLOAD 00000ce8: DUP1 00000ce9: SWAP2 00000cea: SUB 00000ceb: SWAP1 00000cec: RETURN 00000ced: JUMPDEST 00000cee: PUSH2 0x0d19 00000cf1: PUSH1 0x04 00000cf3: DUP1 00000cf4: CALLDATASIZE 00000cf5: SUB 00000cf6: PUSH1 0x20 00000cf8: DUP2 00000cf9: LT 00000cfa: ISZERO 00000cfb: PUSH2 0x0d03 00000cfe: JUMPI 00000cff: PUSH1 0x00 00000d01: DUP1 00000d02: REVERT 00000d03: JUMPDEST 00000d04: DUP2 00000d05: ADD 00000d06: SWAP1 00000d07: DUP1 00000d08: DUP1 00000d09: CALLDATALOAD 00000d0a: SWAP1 00000d0b: PUSH1 0x20 00000d0d: ADD 00000d0e: SWAP1 00000d0f: SWAP3 00000d10: SWAP2 00000d11: SWAP1 00000d12: POP 00000d13: POP 00000d14: POP 00000d15: PUSH2 0x32ba 00000d18: JUMP 00000d19: JUMPDEST 00000d1a: PUSH1 0x40 00000d1c: MLOAD 00000d1d: DUP1 00000d1e: DUP3 00000d1f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d34: AND 00000d35: DUP2 00000d36: MSTORE 00000d37: PUSH1 0x20 00000d39: ADD 00000d3a: SWAP2 00000d3b: POP 00000d3c: POP 00000d3d: PUSH1 0x40 00000d3f: MLOAD 00000d40: DUP1 00000d41: SWAP2 00000d42: SUB 00000d43: SWAP1 00000d44: RETURN 00000d45: JUMPDEST 00000d46: PUSH2 0x0d4d 00000d49: PUSH2 0x32ed 00000d4c: JUMP 00000d4d: JUMPDEST 00000d4e: PUSH1 0x40 00000d50: MLOAD 00000d51: DUP1 00000d52: DUP3 00000d53: DUP2 00000d54: MSTORE 00000d55: PUSH1 0x20 00000d57: ADD 00000d58: SWAP2 00000d59: POP 00000d5a: POP 00000d5b: PUSH1 0x40 00000d5d: MLOAD 00000d5e: DUP1 00000d5f: SWAP2 00000d60: SUB 00000d61: SWAP1 00000d62: RETURN 00000d63: JUMPDEST 00000d64: PUSH2 0x0fc0 00000d67: PUSH1 0x04 00000d69: DUP1 00000d6a: CALLDATASIZE 00000d6b: SUB 00000d6c: PUSH1 0xc0 00000d6e: DUP2 00000d6f: LT 00000d70: ISZERO 00000d71: PUSH2 0x0d79 00000d74: JUMPI 00000d75: PUSH1 0x00 00000d77: DUP1 00000d78: REVERT 00000d79: JUMPDEST 00000d7a: DUP2 00000d7b: ADD 00000d7c: SWAP1 00000d7d: DUP1 00000d7e: DUP1 00000d7f: CALLDATALOAD 00000d80: SWAP1 00000d81: PUSH1 0x20 00000d83: ADD 00000d84: SWAP1 00000d85: SWAP3 00000d86: SWAP2 00000d87: SWAP1 00000d88: DUP1 00000d89: CALLDATALOAD 00000d8a: SWAP1 00000d8b: PUSH1 0x20 00000d8d: ADD 00000d8e: SWAP1 00000d8f: PUSH5 0x0100000000 00000d95: DUP2 00000d96: GT 00000d97: ISZERO 00000d98: PUSH2 0x0da0 00000d9b: JUMPI 00000d9c: PUSH1 0x00 00000d9e: DUP1 00000d9f: REVERT 00000da0: JUMPDEST 00000da1: DUP3 00000da2: ADD 00000da3: DUP4 00000da4: PUSH1 0x20 00000da6: DUP3 00000da7: ADD 00000da8: GT 00000da9: ISZERO 00000daa: PUSH2 0x0db2 00000dad: JUMPI 00000dae: PUSH1 0x00 00000db0: DUP1 00000db1: REVERT 00000db2: JUMPDEST 00000db3: DUP1 00000db4: CALLDATALOAD 00000db5: SWAP1 00000db6: PUSH1 0x20 00000db8: ADD 00000db9: SWAP2 00000dba: DUP5 00000dbb: PUSH1 0x20 00000dbd: DUP4 00000dbe: MUL 00000dbf: DUP5 00000dc0: ADD 00000dc1: GT 00000dc2: PUSH5 0x0100000000 00000dc8: DUP4 00000dc9: GT 00000dca: OR 00000dcb: ISZERO 00000dcc: PUSH2 0x0dd4 00000dcf: JUMPI 00000dd0: PUSH1 0x00 00000dd2: DUP1 00000dd3: REVERT 00000dd4: JUMPDEST 00000dd5: SWAP2 00000dd6: SWAP1 00000dd7: DUP1 00000dd8: DUP1 00000dd9: PUSH1 0x20 00000ddb: MUL 00000ddc: PUSH1 0x20 00000dde: ADD 00000ddf: PUSH1 0x40 00000de1: MLOAD 00000de2: SWAP1 00000de3: DUP2 00000de4: ADD 00000de5: PUSH1 0x40 00000de7: MSTORE 00000de8: DUP1 00000de9: SWAP4 00000dea: SWAP3 00000deb: SWAP2 00000dec: SWAP1 00000ded: DUP2 00000dee: DUP2 00000def: MSTORE 00000df0: PUSH1 0x20 00000df2: ADD 00000df3: DUP4 00000df4: DUP4 00000df5: PUSH1 0x20 00000df7: MUL 00000df8: DUP1 00000df9: DUP3 00000dfa: DUP5 00000dfb: CALLDATACOPY 00000dfc: PUSH1 0x00 00000dfe: DUP2 00000dff: DUP5 00000e00: ADD 00000e01: MSTORE 00000e02: PUSH1 0x1f 00000e04: NOT 00000e05: PUSH1 0x1f 00000e07: DUP3 00000e08: ADD 00000e09: AND 00000e0a: SWAP1 00000e0b: POP 00000e0c: DUP1 00000e0d: DUP4 00000e0e: ADD 00000e0f: SWAP3 00000e10: POP 00000e11: POP 00000e12: POP 00000e13: POP 00000e14: POP 00000e15: POP 00000e16: POP 00000e17: SWAP2 00000e18: SWAP3 00000e19: SWAP2 00000e1a: SWAP3 00000e1b: SWAP1 00000e1c: DUP1 00000e1d: CALLDATALOAD 00000e1e: SWAP1 00000e1f: PUSH1 0x20 00000e21: ADD 00000e22: SWAP1 00000e23: PUSH5 0x0100000000 00000e29: DUP2 00000e2a: GT 00000e2b: ISZERO 00000e2c: PUSH2 0x0e34 00000e2f: JUMPI 00000e30: PUSH1 0x00 00000e32: DUP1 00000e33: REVERT 00000e34: JUMPDEST 00000e35: DUP3 00000e36: ADD 00000e37: DUP4 00000e38: PUSH1 0x20 00000e3a: DUP3 00000e3b: ADD 00000e3c: GT 00000e3d: ISZERO 00000e3e: PUSH2 0x0e46 00000e41: JUMPI 00000e42: PUSH1 0x00 00000e44: DUP1 00000e45: REVERT 00000e46: JUMPDEST 00000e47: DUP1 00000e48: CALLDATALOAD 00000e49: SWAP1 00000e4a: PUSH1 0x20 00000e4c: ADD 00000e4d: SWAP2 00000e4e: DUP5 00000e4f: PUSH1 0x20 00000e51: DUP4 00000e52: MUL 00000e53: DUP5 00000e54: ADD 00000e55: GT 00000e56: PUSH5 0x0100000000 00000e5c: DUP4 00000e5d: GT 00000e5e: OR 00000e5f: ISZERO 00000e60: PUSH2 0x0e68 00000e63: JUMPI 00000e64: PUSH1 0x00 00000e66: DUP1 00000e67: REVERT 00000e68: JUMPDEST 00000e69: SWAP2 00000e6a: SWAP1 00000e6b: DUP1 00000e6c: DUP1 00000e6d: PUSH1 0x20 00000e6f: MUL 00000e70: PUSH1 0x20 00000e72: ADD 00000e73: PUSH1 0x40 00000e75: MLOAD 00000e76: SWAP1 00000e77: DUP2 00000e78: ADD 00000e79: PUSH1 0x40 00000e7b: MSTORE 00000e7c: DUP1 00000e7d: SWAP4 00000e7e: SWAP3 00000e7f: SWAP2 00000e80: SWAP1 00000e81: DUP2 00000e82: DUP2 00000e83: MSTORE 00000e84: PUSH1 0x20 00000e86: ADD 00000e87: DUP4 00000e88: DUP4 00000e89: PUSH1 0x20 00000e8b: MUL 00000e8c: DUP1 00000e8d: DUP3 00000e8e: DUP5 00000e8f: CALLDATACOPY 00000e90: PUSH1 0x00 00000e92: DUP2 00000e93: DUP5 00000e94: ADD 00000e95: MSTORE 00000e96: PUSH1 0x1f 00000e98: NOT 00000e99: PUSH1 0x1f 00000e9b: DUP3 00000e9c: ADD 00000e9d: AND 00000e9e: SWAP1 00000e9f: POP 00000ea0: DUP1 00000ea1: DUP4 00000ea2: ADD 00000ea3: SWAP3 00000ea4: POP 00000ea5: POP 00000ea6: POP 00000ea7: POP 00000ea8: POP 00000ea9: POP 00000eaa: POP 00000eab: SWAP2 00000eac: SWAP3 00000ead: SWAP2 00000eae: SWAP3 00000eaf: SWAP1 00000eb0: DUP1 00000eb1: CALLDATALOAD 00000eb2: SWAP1 00000eb3: PUSH1 0x20 00000eb5: ADD 00000eb6: SWAP1 00000eb7: PUSH5 0x0100000000 00000ebd: DUP2 00000ebe: GT 00000ebf: ISZERO 00000ec0: PUSH2 0x0ec8 00000ec3: JUMPI 00000ec4: PUSH1 0x00 00000ec6: DUP1 00000ec7: REVERT 00000ec8: JUMPDEST 00000ec9: DUP3 00000eca: ADD 00000ecb: DUP4 00000ecc: PUSH1 0x20 00000ece: DUP3 00000ecf: ADD 00000ed0: GT 00000ed1: ISZERO 00000ed2: PUSH2 0x0eda 00000ed5: JUMPI 00000ed6: PUSH1 0x00 00000ed8: DUP1 00000ed9: REVERT 00000eda: JUMPDEST 00000edb: DUP1 00000edc: CALLDATALOAD 00000edd: SWAP1 00000ede: PUSH1 0x20 00000ee0: ADD 00000ee1: SWAP2 00000ee2: DUP5 00000ee3: PUSH1 0x20 00000ee5: DUP4 00000ee6: MUL 00000ee7: DUP5 00000ee8: ADD 00000ee9: GT 00000eea: PUSH5 0x0100000000 00000ef0: DUP4 00000ef1: GT 00000ef2: OR 00000ef3: ISZERO 00000ef4: PUSH2 0x0efc 00000ef7: JUMPI 00000ef8: PUSH1 0x00 00000efa: DUP1 00000efb: REVERT 00000efc: JUMPDEST 00000efd: SWAP2 00000efe: SWAP1 00000eff: DUP1 00000f00: DUP1 00000f01: PUSH1 0x20 00000f03: MUL 00000f04: PUSH1 0x20 00000f06: ADD 00000f07: PUSH1 0x40 00000f09: MLOAD 00000f0a: SWAP1 00000f0b: DUP2 00000f0c: ADD 00000f0d: PUSH1 0x40 00000f0f: MSTORE 00000f10: DUP1 00000f11: SWAP4 00000f12: SWAP3 00000f13: SWAP2 00000f14: SWAP1 00000f15: DUP2 00000f16: DUP2 00000f17: MSTORE 00000f18: PUSH1 0x20 00000f1a: ADD 00000f1b: DUP4 00000f1c: DUP4 00000f1d: PUSH1 0x20 00000f1f: MUL 00000f20: DUP1 00000f21: DUP3 00000f22: DUP5 00000f23: CALLDATACOPY 00000f24: PUSH1 0x00 00000f26: DUP2 00000f27: DUP5 00000f28: ADD 00000f29: MSTORE 00000f2a: PUSH1 0x1f 00000f2c: NOT 00000f2d: PUSH1 0x1f 00000f2f: DUP3 00000f30: ADD 00000f31: AND 00000f32: SWAP1 00000f33: POP 00000f34: DUP1 00000f35: DUP4 00000f36: ADD 00000f37: SWAP3 00000f38: POP 00000f39: POP 00000f3a: POP 00000f3b: POP 00000f3c: POP 00000f3d: POP 00000f3e: POP 00000f3f: SWAP2 00000f40: SWAP3 00000f41: SWAP2 00000f42: SWAP3 00000f43: SWAP1 00000f44: DUP1 00000f45: CALLDATALOAD 00000f46: SWAP1 00000f47: PUSH1 0x20 00000f49: ADD 00000f4a: SWAP1 00000f4b: PUSH5 0x0100000000 00000f51: DUP2 00000f52: GT 00000f53: ISZERO 00000f54: PUSH2 0x0f5c 00000f57: JUMPI 00000f58: PUSH1 0x00 00000f5a: DUP1 00000f5b: REVERT 00000f5c: JUMPDEST 00000f5d: DUP3 00000f5e: ADD 00000f5f: DUP4 00000f60: PUSH1 0x20 00000f62: DUP3 00000f63: ADD 00000f64: GT 00000f65: ISZERO 00000f66: PUSH2 0x0f6e 00000f69: JUMPI 00000f6a: PUSH1 0x00 00000f6c: DUP1 00000f6d: REVERT 00000f6e: JUMPDEST 00000f6f: DUP1 00000f70: CALLDATALOAD 00000f71: SWAP1 00000f72: PUSH1 0x20 00000f74: ADD 00000f75: SWAP2 00000f76: DUP5 00000f77: PUSH1 0x01 00000f79: DUP4 00000f7a: MUL 00000f7b: DUP5 00000f7c: ADD 00000f7d: GT 00000f7e: PUSH5 0x0100000000 00000f84: DUP4 00000f85: GT 00000f86: OR 00000f87: ISZERO 00000f88: PUSH2 0x0f90 00000f8b: JUMPI 00000f8c: PUSH1 0x00 00000f8e: DUP1 00000f8f: REVERT 00000f90: JUMPDEST 00000f91: SWAP1 00000f92: SWAP2 00000f93: SWAP3 00000f94: SWAP4 00000f95: SWAP2 00000f96: SWAP3 00000f97: SWAP4 00000f98: SWAP1 00000f99: DUP1 00000f9a: CALLDATALOAD 00000f9b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fb0: AND 00000fb1: SWAP1 00000fb2: PUSH1 0x20 00000fb4: ADD 00000fb5: SWAP1 00000fb6: SWAP3 00000fb7: SWAP2 00000fb8: SWAP1 00000fb9: POP 00000fba: POP 00000fbb: POP 00000fbc: PUSH2 0x32f3 00000fbf: JUMP 00000fc0: JUMPDEST 00000fc1: PUSH1 0x40 00000fc3: MLOAD 00000fc4: DUP1 00000fc5: DUP3 00000fc6: PUSH8 0xffffffffffffffff 00000fcf: AND 00000fd0: DUP2 00000fd1: MSTORE 00000fd2: PUSH1 0x20 00000fd4: ADD 00000fd5: SWAP2 00000fd6: POP 00000fd7: POP 00000fd8: PUSH1 0x40 00000fda: MLOAD 00000fdb: DUP1 00000fdc: SWAP2 00000fdd: SUB 00000fde: SWAP1 00000fdf: RETURN 00000fe0: JUMPDEST 00000fe1: PUSH2 0x1022 00000fe4: PUSH1 0x04 00000fe6: DUP1 00000fe7: CALLDATASIZE 00000fe8: SUB 00000fe9: PUSH1 0x20 00000feb: DUP2 00000fec: LT 00000fed: ISZERO 00000fee: PUSH2 0x0ff6 00000ff1: JUMPI 00000ff2: PUSH1 0x00 00000ff4: DUP1 00000ff5: REVERT 00000ff6: JUMPDEST 00000ff7: DUP2 00000ff8: ADD 00000ff9: SWAP1 00000ffa: DUP1 00000ffb: DUP1 00000ffc: CALLDATALOAD 00000ffd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001012: AND 00001013: SWAP1 00001014: PUSH1 0x20 00001016: ADD 00001017: SWAP1 00001018: SWAP3 00001019: SWAP2 0000101a: SWAP1 0000101b: POP 0000101c: POP 0000101d: POP 0000101e: PUSH2 0x3381 00001021: JUMP 00001022: JUMPDEST 00001023: STOP 00001024: JUMPDEST 00001025: PUSH2 0x1050 00001028: PUSH1 0x04 0000102a: DUP1 0000102b: CALLDATASIZE 0000102c: SUB 0000102d: PUSH1 0x20 0000102f: DUP2 00001030: LT 00001031: ISZERO 00001032: PUSH2 0x103a 00001035: JUMPI 00001036: PUSH1 0x00 00001038: DUP1 00001039: REVERT 0000103a: JUMPDEST 0000103b: DUP2 0000103c: ADD 0000103d: SWAP1 0000103e: DUP1 0000103f: DUP1 00001040: CALLDATALOAD 00001041: SWAP1 00001042: PUSH1 0x20 00001044: ADD 00001045: SWAP1 00001046: SWAP3 00001047: SWAP2 00001048: SWAP1 00001049: POP 0000104a: POP 0000104b: POP 0000104c: PUSH2 0x358c 0000104f: JUMP 00001050: JUMPDEST 00001051: PUSH1 0x40 00001053: MLOAD 00001054: DUP1 00001055: DUP1 00001056: PUSH1 0x20 00001058: ADD 00001059: DUP3 0000105a: DUP2 0000105b: SUB 0000105c: DUP3 0000105d: MSTORE 0000105e: DUP4 0000105f: DUP2 00001060: DUP2 00001061: MLOAD 00001062: DUP2 00001063: MSTORE 00001064: PUSH1 0x20 00001066: ADD 00001067: SWAP2 00001068: POP 00001069: DUP1 0000106a: MLOAD 0000106b: SWAP1 0000106c: PUSH1 0x20 0000106e: ADD 0000106f: SWAP1 00001070: DUP1 00001071: DUP4 00001072: DUP4 00001073: PUSH1 0x00 00001075: JUMPDEST 00001076: DUP4 00001077: DUP2 00001078: LT 00001079: ISZERO 0000107a: PUSH2 0x1090 0000107d: JUMPI 0000107e: DUP1 0000107f: DUP3 00001080: ADD 00001081: MLOAD 00001082: DUP2 00001083: DUP5 00001084: ADD 00001085: MSTORE 00001086: PUSH1 0x20 00001088: DUP2 00001089: ADD 0000108a: SWAP1 0000108b: POP 0000108c: PUSH2 0x1075 0000108f: JUMP 00001090: JUMPDEST 00001091: POP 00001092: POP 00001093: POP 00001094: POP 00001095: SWAP1 00001096: POP 00001097: SWAP1 00001098: DUP2 00001099: ADD 0000109a: SWAP1 0000109b: PUSH1 0x1f 0000109d: AND 0000109e: DUP1 0000109f: ISZERO 000010a0: PUSH2 0x10bd 000010a3: JUMPI 000010a4: DUP1 000010a5: DUP3 000010a6: SUB 000010a7: DUP1 000010a8: MLOAD 000010a9: PUSH1 0x01 000010ab: DUP4 000010ac: PUSH1 0x20 000010ae: SUB 000010af: PUSH2 0x0100 000010b2: EXP 000010b3: SUB 000010b4: NOT 000010b5: AND 000010b6: DUP2 000010b7: MSTORE 000010b8: PUSH1 0x20 000010ba: ADD 000010bb: SWAP2 000010bc: POP 000010bd: JUMPDEST 000010be: POP 000010bf: SWAP3 000010c0: POP 000010c1: POP 000010c2: POP 000010c3: PUSH1 0x40 000010c5: MLOAD 000010c6: DUP1 000010c7: SWAP2 000010c8: SUB 000010c9: SWAP1 000010ca: RETURN 000010cb: JUMPDEST 000010cc: PUSH1 0x00 000010ce: PUSH2 0x1144 000010d1: CALLER 000010d2: ADDRESS 000010d3: PUSH2 0x111d 000010d6: PUSH2 0x03e8 000010d9: PUSH2 0x110f 000010dc: PUSH2 0x10f2 000010df: PUSH1 0x09 000010e1: SLOAD 000010e2: PUSH2 0x03e8 000010e5: PUSH2 0x363c 000010e8: SWAP1 000010e9: SWAP2 000010ea: SWAP1 000010eb: PUSH4 0xffffffff 000010f0: AND 000010f1: JUMP 000010f2: JUMPDEST 000010f3: DUP15 000010f4: PUSH12 0xffffffffffffffffffffffff 00001101: AND 00001102: PUSH2 0x36c4 00001105: SWAP1 00001106: SWAP2 00001107: SWAP1 00001108: PUSH4 0xffffffff 0000110d: AND 0000110e: JUMP 0000110f: JUMPDEST 00001110: PUSH2 0x374a 00001113: SWAP1 00001114: SWAP2 00001115: SWAP1 00001116: PUSH4 0xffffffff 0000111b: AND 0000111c: JUMP 0000111d: JUMPDEST 0000111e: DUP16 0000111f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001134: AND 00001135: PUSH2 0x3794 00001138: SWAP1 00001139: SWAP4 0000113a: SWAP3 0000113b: SWAP2 0000113c: SWAP1 0000113d: PUSH4 0xffffffff 00001142: AND 00001143: JUMP 00001144: JUMPDEST 00001145: PUSH1 0x00 00001147: DUP9 00001148: PUSH12 0xffffffffffffffffffffffff 00001155: AND 00001156: GT 00001157: PUSH2 0x11c8 0000115a: JUMPI 0000115b: PUSH1 0x40 0000115d: MLOAD 0000115e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000117f: DUP2 00001180: MSTORE 00001181: PUSH1 0x04 00001183: ADD 00001184: DUP1 00001185: DUP1 00001186: PUSH1 0x20 00001188: ADD 00001189: DUP3 0000118a: DUP2 0000118b: SUB 0000118c: DUP3 0000118d: MSTORE 0000118e: PUSH1 0x1a 00001190: DUP2 00001191: MSTORE 00001192: PUSH1 0x20 00001194: ADD 00001195: DUP1 00001196: PUSH32 0x63616e6e6f742061756374696f6e207a65726f20746f6b656e73000000000000 000011b7: DUP2 000011b8: MSTORE 000011b9: POP 000011ba: PUSH1 0x20 000011bc: ADD 000011bd: SWAP2 000011be: POP 000011bf: POP 000011c0: PUSH1 0x40 000011c2: MLOAD 000011c3: DUP1 000011c4: SWAP2 000011c5: SUB 000011c6: SWAP1 000011c7: REVERT 000011c8: JUMPDEST 000011c9: PUSH1 0x00 000011cb: DUP8 000011cc: PUSH12 0xffffffffffffffffffffffff 000011d9: AND 000011da: GT 000011db: PUSH2 0x122f 000011de: JUMPI 000011df: PUSH1 0x40 000011e1: MLOAD 000011e2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001203: DUP2 00001204: MSTORE 00001205: PUSH1 0x04 00001207: ADD 00001208: DUP1 00001209: DUP1 0000120a: PUSH1 0x20 0000120c: ADD 0000120d: DUP3 0000120e: DUP2 0000120f: SUB 00001210: DUP3 00001211: MSTORE 00001212: PUSH1 0x23 00001214: DUP2 00001215: MSTORE 00001216: PUSH1 0x20 00001218: ADD 00001219: DUP1 0000121a: PUSH2 0x5840 0000121d: PUSH1 0x23 0000121f: SWAP2 00001220: CODECOPY 00001221: PUSH1 0x40 00001223: ADD 00001224: SWAP2 00001225: POP 00001226: POP 00001227: PUSH1 0x40 00001229: MLOAD 0000122a: DUP1 0000122b: SWAP2 0000122c: SUB 0000122d: SWAP1 0000122e: REVERT 0000122f: JUMPDEST 00001230: PUSH1 0x00 00001232: DUP7 00001233: GT 00001234: PUSH2 0x1288 00001237: JUMPI 00001238: PUSH1 0x40 0000123a: MLOAD 0000123b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000125c: DUP2 0000125d: MSTORE 0000125e: PUSH1 0x04 00001260: ADD 00001261: DUP1 00001262: DUP1 00001263: PUSH1 0x20 00001265: ADD 00001266: DUP3 00001267: DUP2 00001268: SUB 00001269: DUP3 0000126a: MSTORE 0000126b: PUSH1 0x36 0000126d: DUP2 0000126e: MSTORE 0000126f: PUSH1 0x20 00001271: ADD 00001272: DUP1 00001273: PUSH2 0x59a6 00001276: PUSH1 0x36 00001278: SWAP2 00001279: CODECOPY 0000127a: PUSH1 0x40 0000127c: ADD 0000127d: SWAP2 0000127e: POP 0000127f: POP 00001280: PUSH1 0x40 00001282: MLOAD 00001283: DUP1 00001284: SWAP2 00001285: SUB 00001286: SWAP1 00001287: REVERT 00001288: JUMPDEST 00001289: DUP9 0000128a: DUP11 0000128b: GT 0000128c: ISZERO 0000128d: PUSH2 0x12e1 00001290: JUMPI 00001291: PUSH1 0x40 00001293: MLOAD 00001294: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000012b5: DUP2 000012b6: MSTORE 000012b7: PUSH1 0x04 000012b9: ADD 000012ba: DUP1 000012bb: DUP1 000012bc: PUSH1 0x20 000012be: ADD 000012bf: DUP3 000012c0: DUP2 000012c1: SUB 000012c2: DUP3 000012c3: MSTORE 000012c4: PUSH1 0x29 000012c6: DUP2 000012c7: MSTORE 000012c8: PUSH1 0x20 000012ca: ADD 000012cb: DUP1 000012cc: PUSH2 0x5ac4 000012cf: PUSH1 0x29 000012d1: SWAP2 000012d2: CODECOPY 000012d3: PUSH1 0x40 000012d5: ADD 000012d6: SWAP2 000012d7: POP 000012d8: POP 000012d9: PUSH1 0x40 000012db: MLOAD 000012dc: DUP1 000012dd: SWAP2 000012de: SUB 000012df: SWAP1 000012e0: REVERT 000012e1: JUMPDEST 000012e2: TIMESTAMP 000012e3: DUP10 000012e4: GT 000012e5: PUSH2 0x1339 000012e8: JUMPI 000012e9: PUSH1 0x40 000012eb: MLOAD 000012ec: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000130d: DUP2 0000130e: MSTORE 0000130f: PUSH1 0x04 00001311: ADD 00001312: DUP1 00001313: DUP1 00001314: PUSH1 0x20 00001316: ADD 00001317: DUP3 00001318: DUP2 00001319: SUB 0000131a: DUP3 0000131b: MSTORE 0000131c: PUSH1 0x26 0000131e: DUP2 0000131f: MSTORE 00001320: PUSH1 0x20 00001322: ADD 00001323: DUP1 00001324: PUSH2 0x592f 00001327: PUSH1 0x26 00001329: SWAP2 0000132a: CODECOPY 0000132b: PUSH1 0x40 0000132d: ADD 0000132e: SWAP2 0000132f: POP 00001330: POP 00001331: PUSH1 0x40 00001333: MLOAD 00001334: DUP1 00001335: SWAP2 00001336: SUB 00001337: SWAP1 00001338: REVERT 00001339: JUMPDEST 0000133a: PUSH2 0x134f 0000133d: PUSH1 0x01 0000133f: PUSH1 0x08 00001341: SLOAD 00001342: PUSH2 0x363c 00001345: SWAP1 00001346: SWAP2 00001347: SWAP1 00001348: PUSH4 0xffffffff 0000134d: AND 0000134e: JUMP 0000134f: JUMPDEST 00001350: PUSH1 0x08 00001352: DUP2 00001353: SWAP1 00001354: SSTORE 00001355: POP 00001356: PUSH2 0x1372 00001359: PUSH1 0x01 0000135b: PUSH1 0x00 0000135d: PUSH1 0x08 0000135f: SLOAD 00001360: DUP2 00001361: MSTORE 00001362: PUSH1 0x20 00001364: ADD 00001365: SWAP1 00001366: DUP2 00001367: MSTORE 00001368: PUSH1 0x20 0000136a: ADD 0000136b: PUSH1 0x00 0000136d: KECCAK256 0000136e: PUSH2 0x3855 00001371: JUMP 00001372: JUMPDEST 00001373: PUSH1 0x00 00001375: PUSH2 0x137d 00001378: CALLER 00001379: PUSH2 0x1978 0000137c: JUMP 0000137d: JUMPDEST 0000137e: SWAP1 0000137f: POP 00001380: PUSH1 0x40 00001382: MLOAD 00001383: DUP1 00001384: PUSH2 0x01c0 00001387: ADD 00001388: PUSH1 0x40 0000138a: MSTORE 0000138b: DUP1 0000138c: DUP15 0000138d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013a2: AND 000013a3: DUP2 000013a4: MSTORE 000013a5: PUSH1 0x20 000013a7: ADD 000013a8: DUP14 000013a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013be: AND 000013bf: DUP2 000013c0: MSTORE 000013c1: PUSH1 0x20 000013c3: ADD 000013c4: DUP13 000013c5: DUP2 000013c6: MSTORE 000013c7: PUSH1 0x20 000013c9: ADD 000013ca: DUP12 000013cb: DUP2 000013cc: MSTORE 000013cd: PUSH1 0x20 000013cf: ADD 000013d0: PUSH2 0x13da 000013d3: DUP4 000013d4: DUP12 000013d5: DUP14 000013d6: PUSH2 0x38da 000013d9: JUMP 000013da: JUMPDEST 000013db: DUP2 000013dc: MSTORE 000013dd: PUSH1 0x20 000013df: ADD 000013e0: DUP9 000013e1: DUP2 000013e2: MSTORE 000013e3: PUSH1 0x20 000013e5: ADD 000013e6: PUSH1 0x00 000013e8: DUP2 000013e9: MSTORE 000013ea: PUSH1 0x20 000013ec: ADD 000013ed: PUSH1 0x01 000013ef: PUSH1 0x00 000013f1: SHL 000013f2: DUP2 000013f3: MSTORE 000013f4: PUSH1 0x20 000013f6: ADD 000013f7: PUSH1 0x00 000013f9: DUP1 000013fa: SHL 000013fb: DUP2 000013fc: MSTORE 000013fd: PUSH1 0x20 000013ff: ADD 00001400: PUSH1 0x00 00001402: PUSH12 0xffffffffffffffffffffffff 0000140f: AND 00001410: DUP2 00001411: MSTORE 00001412: PUSH1 0x20 00001414: ADD 00001415: PUSH1 0x00 00001417: ISZERO 00001418: ISZERO 00001419: DUP2 0000141a: MSTORE 0000141b: PUSH1 0x20 0000141d: ADD 0000141e: DUP7 0000141f: ISZERO 00001420: ISZERO 00001421: DUP2 00001422: MSTORE 00001423: PUSH1 0x20 00001425: ADD 00001426: PUSH1 0x09 00001428: SLOAD 00001429: DUP2 0000142a: MSTORE 0000142b: PUSH1 0x20 0000142d: ADD 0000142e: DUP8 0000142f: DUP2 00001430: MSTORE 00001431: POP 00001432: PUSH1 0x02 00001434: PUSH1 0x00 00001436: PUSH1 0x08 00001438: SLOAD 00001439: DUP2 0000143a: MSTORE 0000143b: PUSH1 0x20 0000143d: ADD 0000143e: SWAP1 0000143f: DUP2 00001440: MSTORE 00001441: PUSH1 0x20 00001443: ADD 00001444: PUSH1 0x00 00001446: KECCAK256 00001447: PUSH1 0x00 00001449: DUP3 0000144a: ADD 0000144b: MLOAD 0000144c: DUP2 0000144d: PUSH1 0x00 0000144f: ADD 00001450: PUSH1 0x00 00001452: PUSH2 0x0100 00001455: EXP 00001456: DUP2 00001457: SLOAD 00001458: DUP2 00001459: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000146e: MUL 0000146f: NOT 00001470: AND 00001471: SWAP1 00001472: DUP4 00001473: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001488: AND 00001489: MUL 0000148a: OR 0000148b: SWAP1 0000148c: SSTORE 0000148d: POP 0000148e: PUSH1 0x20 00001490: DUP3 00001491: ADD 00001492: MLOAD 00001493: DUP2 00001494: PUSH1 0x01 00001496: ADD 00001497: PUSH1 0x00 00001499: PUSH2 0x0100 0000149c: EXP 0000149d: DUP2 0000149e: SLOAD 0000149f: DUP2 000014a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014b5: MUL 000014b6: NOT 000014b7: AND 000014b8: SWAP1 000014b9: DUP4 000014ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014cf: AND 000014d0: MUL 000014d1: OR 000014d2: SWAP1 000014d3: SSTORE 000014d4: POP 000014d5: PUSH1 0x40 000014d7: DUP3 000014d8: ADD 000014d9: MLOAD 000014da: DUP2 000014db: PUSH1 0x02 000014dd: ADD 000014de: SSTORE 000014df: PUSH1 0x60 000014e1: DUP3 000014e2: ADD 000014e3: MLOAD 000014e4: DUP2 000014e5: PUSH1 0x03 000014e7: ADD 000014e8: SSTORE 000014e9: PUSH1 0x80 000014eb: DUP3 000014ec: ADD 000014ed: MLOAD 000014ee: DUP2 000014ef: PUSH1 0x04 000014f1: ADD 000014f2: SSTORE 000014f3: PUSH1 0xa0 000014f5: DUP3 000014f6: ADD 000014f7: MLOAD 000014f8: DUP2 000014f9: PUSH1 0x05 000014fb: ADD 000014fc: SSTORE 000014fd: PUSH1 0xc0 000014ff: DUP3 00001500: ADD 00001501: MLOAD 00001502: DUP2 00001503: PUSH1 0x06 00001505: ADD 00001506: SSTORE 00001507: PUSH1 0xe0 00001509: DUP3 0000150a: ADD 0000150b: MLOAD 0000150c: DUP2 0000150d: PUSH1 0x07 0000150f: ADD 00001510: SSTORE 00001511: PUSH2 0x0100 00001514: DUP3 00001515: ADD 00001516: MLOAD 00001517: DUP2 00001518: PUSH1 0x08 0000151a: ADD 0000151b: SSTORE 0000151c: PUSH2 0x0120 0000151f: DUP3 00001520: ADD 00001521: MLOAD 00001522: DUP2 00001523: PUSH1 0x09 00001525: ADD 00001526: PUSH1 0x00 00001528: PUSH2 0x0100 0000152b: EXP 0000152c: DUP2 0000152d: SLOAD 0000152e: DUP2 0000152f: PUSH12 0xffffffffffffffffffffffff 0000153c: MUL 0000153d: NOT 0000153e: AND 0000153f: SWAP1 00001540: DUP4 00001541: PUSH12 0xffffffffffffffffffffffff 0000154e: AND 0000154f: MUL 00001550: OR 00001551: SWAP1 00001552: SSTORE 00001553: POP 00001554: PUSH2 0x0140 00001557: DUP3 00001558: ADD 00001559: MLOAD 0000155a: DUP2 0000155b: PUSH1 0x09 0000155d: ADD 0000155e: PUSH1 0x0c 00001560: PUSH2 0x0100 00001563: EXP 00001564: DUP2 00001565: SLOAD 00001566: DUP2 00001567: PUSH1 0xff 00001569: MUL 0000156a: NOT 0000156b: AND 0000156c: SWAP1 0000156d: DUP4 0000156e: ISZERO 0000156f: ISZERO 00001570: MUL 00001571: OR 00001572: SWAP1 00001573: SSTORE 00001574: POP 00001575: PUSH2 0x0160 00001578: DUP3 00001579: ADD 0000157a: MLOAD 0000157b: DUP2 0000157c: PUSH1 0x09 0000157e: ADD 0000157f: PUSH1 0x0d 00001581: PUSH2 0x0100 00001584: EXP 00001585: DUP2 00001586: SLOAD 00001587: DUP2 00001588: PUSH1 0xff 0000158a: MUL 0000158b: NOT 0000158c: AND 0000158d: SWAP1 0000158e: DUP4 0000158f: ISZERO 00001590: ISZERO 00001591: MUL 00001592: OR 00001593: SWAP1 00001594: SSTORE 00001595: POP 00001596: PUSH2 0x0180 00001599: DUP3 0000159a: ADD 0000159b: MLOAD 0000159c: DUP2 0000159d: PUSH1 0x0a 0000159f: ADD 000015a0: SSTORE 000015a1: PUSH2 0x01a0 000015a4: DUP3 000015a5: ADD 000015a6: MLOAD 000015a7: DUP2 000015a8: PUSH1 0x0b 000015aa: ADD 000015ab: SSTORE 000015ac: SWAP1 000015ad: POP 000015ae: POP 000015af: DUP4 000015b0: PUSH1 0x03 000015b2: PUSH1 0x00 000015b4: PUSH1 0x08 000015b6: SLOAD 000015b7: DUP2 000015b8: MSTORE 000015b9: PUSH1 0x20 000015bb: ADD 000015bc: SWAP1 000015bd: DUP2 000015be: MSTORE 000015bf: PUSH1 0x20 000015c1: ADD 000015c2: PUSH1 0x00 000015c4: KECCAK256 000015c5: PUSH1 0x00 000015c7: PUSH2 0x0100 000015ca: EXP 000015cb: DUP2 000015cc: SLOAD 000015cd: DUP2 000015ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015e3: MUL 000015e4: NOT 000015e5: AND 000015e6: SWAP1 000015e7: DUP4 000015e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015fd: AND 000015fe: MUL 000015ff: OR 00001600: SWAP1 00001601: SSTORE 00001602: POP 00001603: DUP3 00001604: PUSH1 0x04 00001606: PUSH1 0x00 00001608: PUSH1 0x08 0000160a: SLOAD 0000160b: DUP2 0000160c: MSTORE 0000160d: PUSH1 0x20 0000160f: ADD 00001610: SWAP1 00001611: DUP2 00001612: MSTORE 00001613: PUSH1 0x20 00001615: ADD 00001616: PUSH1 0x00 00001618: KECCAK256 00001619: SWAP1 0000161a: DUP1 0000161b: MLOAD 0000161c: SWAP1 0000161d: PUSH1 0x20 0000161f: ADD 00001620: SWAP1 00001621: PUSH2 0x162b 00001624: SWAP3 00001625: SWAP2 00001626: SWAP1 00001627: PUSH2 0x55dc 0000162a: JUMP 0000162b: JUMPDEST 0000162c: POP 0000162d: DUP12 0000162e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001643: AND 00001644: DUP14 00001645: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000165a: AND 0000165b: PUSH1 0x08 0000165d: SLOAD 0000165e: PUSH32 0x728d0fed13687f1840de94f5ae640eae49b43eda26b7ffe97e55e79a0de6e40c 0000167f: DUP15 00001680: DUP15 00001681: DUP7 00001682: DUP16 00001683: DUP16 00001684: DUP16 00001685: DUP16 00001686: DUP15 00001687: DUP15 00001688: PUSH1 0x40 0000168a: MLOAD 0000168b: DUP1 0000168c: DUP11 0000168d: DUP2 0000168e: MSTORE 0000168f: PUSH1 0x20 00001691: ADD 00001692: DUP10 00001693: DUP2 00001694: MSTORE 00001695: PUSH1 0x20 00001697: ADD 00001698: DUP9 00001699: PUSH8 0xffffffffffffffff 000016a2: AND 000016a3: DUP2 000016a4: MSTORE 000016a5: PUSH1 0x20 000016a7: ADD 000016a8: DUP8 000016a9: PUSH12 0xffffffffffffffffffffffff 000016b6: AND 000016b7: DUP2 000016b8: MSTORE 000016b9: PUSH1 0x20 000016bb: ADD 000016bc: DUP7 000016bd: PUSH12 0xffffffffffffffffffffffff 000016ca: AND 000016cb: DUP2 000016cc: MSTORE 000016cd: PUSH1 0x20 000016cf: ADD 000016d0: DUP6 000016d1: DUP2 000016d2: MSTORE 000016d3: PUSH1 0x20 000016d5: ADD 000016d6: DUP5 000016d7: DUP2 000016d8: MSTORE 000016d9: PUSH1 0x20 000016db: ADD 000016dc: DUP4 000016dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016f2: AND 000016f3: DUP2 000016f4: MSTORE 000016f5: PUSH1 0x20 000016f7: ADD 000016f8: DUP1 000016f9: PUSH1 0x20 000016fb: ADD 000016fc: DUP3 000016fd: DUP2 000016fe: SUB 000016ff: DUP3 00001700: MSTORE 00001701: DUP4 00001702: DUP2 00001703: DUP2 00001704: MLOAD 00001705: DUP2 00001706: MSTORE 00001707: PUSH1 0x20 00001709: ADD 0000170a: SWAP2 0000170b: POP 0000170c: DUP1 0000170d: MLOAD 0000170e: SWAP1 0000170f: PUSH1 0x20 00001711: ADD 00001712: SWAP1 00001713: DUP1 00001714: DUP4 00001715: DUP4 00001716: PUSH1 0x00 00001718: JUMPDEST 00001719: DUP4 0000171a: DUP2 0000171b: LT 0000171c: ISZERO 0000171d: PUSH2 0x1733 00001720: JUMPI 00001721: DUP1 00001722: DUP3 00001723: ADD 00001724: MLOAD 00001725: DUP2 00001726: DUP5 00001727: ADD 00001728: MSTORE 00001729: PUSH1 0x20 0000172b: DUP2 0000172c: ADD 0000172d: SWAP1 0000172e: POP 0000172f: PUSH2 0x1718 00001732: JUMP 00001733: JUMPDEST 00001734: POP 00001735: POP 00001736: POP 00001737: POP 00001738: SWAP1 00001739: POP 0000173a: SWAP1 0000173b: DUP2 0000173c: ADD 0000173d: SWAP1 0000173e: PUSH1 0x1f 00001740: AND 00001741: DUP1 00001742: ISZERO 00001743: PUSH2 0x1760 00001746: JUMPI 00001747: DUP1 00001748: DUP3 00001749: SUB 0000174a: DUP1 0000174b: MLOAD 0000174c: PUSH1 0x01 0000174e: DUP4 0000174f: PUSH1 0x20 00001751: SUB 00001752: PUSH2 0x0100 00001755: EXP 00001756: SUB 00001757: NOT 00001758: AND 00001759: DUP2 0000175a: MSTORE 0000175b: PUSH1 0x20 0000175d: ADD 0000175e: SWAP2 0000175f: POP 00001760: JUMPDEST 00001761: POP 00001762: SWAP11 00001763: POP 00001764: POP 00001765: POP 00001766: POP 00001767: POP 00001768: POP 00001769: POP 0000176a: POP 0000176b: POP 0000176c: POP 0000176d: POP 0000176e: PUSH1 0x40 00001770: MLOAD 00001771: DUP1 00001772: SWAP2 00001773: SUB 00001774: SWAP1 00001775: LOG4 00001776: PUSH1 0x08 00001778: SLOAD 00001779: SWAP2 0000177a: POP 0000177b: POP 0000177c: SWAP12 0000177d: SWAP11 0000177e: POP 0000177f: POP 00001780: POP 00001781: POP 00001782: POP 00001783: POP 00001784: POP 00001785: POP 00001786: POP 00001787: POP 00001788: POP 00001789: JUMP 0000178a: JUMPDEST 0000178b: PUSH1 0x00 0000178d: TIMESTAMP 0000178e: PUSH1 0x02 00001790: PUSH1 0x00 00001792: DUP5 00001793: DUP2 00001794: MSTORE 00001795: PUSH1 0x20 00001797: ADD 00001798: SWAP1 00001799: DUP2 0000179a: MSTORE 0000179b: PUSH1 0x20 0000179d: ADD 0000179e: PUSH1 0x00 000017a0: KECCAK256 000017a1: PUSH1 0x03 000017a3: ADD 000017a4: SLOAD 000017a5: LT 000017a6: ISZERO 000017a7: PUSH2 0x17b3 000017aa: JUMPI 000017ab: PUSH1 0x00 000017ad: SWAP1 000017ae: POP 000017af: PUSH2 0x17df 000017b2: JUMP 000017b3: JUMPDEST 000017b4: PUSH2 0x17dc 000017b7: TIMESTAMP 000017b8: PUSH1 0x02 000017ba: PUSH1 0x00 000017bc: DUP6 000017bd: DUP2 000017be: MSTORE 000017bf: PUSH1 0x20 000017c1: ADD 000017c2: SWAP1 000017c3: DUP2 000017c4: MSTORE 000017c5: PUSH1 0x20 000017c7: ADD 000017c8: PUSH1 0x00 000017ca: KECCAK256 000017cb: PUSH1 0x03 000017cd: ADD 000017ce: SLOAD 000017cf: PUSH2 0x391b 000017d2: SWAP1 000017d3: SWAP2 000017d4: SWAP1 000017d5: PUSH4 0xffffffff 000017da: AND 000017db: JUMP 000017dc: JUMPDEST 000017dd: SWAP1 000017de: POP 000017df: JUMPDEST 000017e0: SWAP2 000017e1: SWAP1 000017e2: POP 000017e3: JUMP 000017e4: JUMPDEST 000017e5: PUSH1 0x07 000017e7: PUSH1 0x00 000017e9: SWAP1 000017ea: SLOAD 000017eb: SWAP1 000017ec: PUSH2 0x0100 000017ef: EXP 000017f0: SWAP1 000017f1: DIV 000017f2: PUSH8 0xffffffffffffffff 000017fb: AND 000017fc: DUP2 000017fd: JUMP 000017fe: JUMPDEST 000017ff: PUSH1 0x00 00001801: PUSH2 0x183c 00001804: PUSH2 0x1837 00001807: PUSH1 0x01 00001809: PUSH1 0x07 0000180b: PUSH1 0x00 0000180d: SWAP1 0000180e: SLOAD 0000180f: SWAP1 00001810: PUSH2 0x0100 00001813: EXP 00001814: SWAP1 00001815: DIV 00001816: PUSH8 0xffffffffffffffff 0000181f: AND 00001820: PUSH8 0xffffffffffffffff 00001829: AND 0000182a: PUSH2 0x363c 0000182d: SWAP1 0000182e: SWAP2 0000182f: SWAP1 00001830: PUSH4 0xffffffff 00001835: AND 00001836: JUMP 00001837: JUMPDEST 00001838: PUSH2 0x3965 0000183b: JUMP 0000183c: JUMPDEST 0000183d: PUSH1 0x07 0000183f: PUSH1 0x00 00001841: PUSH2 0x0100 00001844: EXP 00001845: DUP2 00001846: SLOAD 00001847: DUP2 00001848: PUSH8 0xffffffffffffffff 00001851: MUL 00001852: NOT 00001853: AND 00001854: SWAP1 00001855: DUP4 00001856: PUSH8 0xffffffffffffffff 0000185f: AND 00001860: MUL 00001861: OR 00001862: SWAP1 00001863: SSTORE 00001864: POP 00001865: PUSH2 0x1890 00001868: PUSH1 0x07 0000186a: PUSH1 0x00 0000186c: SWAP1 0000186d: SLOAD 0000186e: SWAP1 0000186f: PUSH2 0x0100 00001872: EXP 00001873: SWAP1 00001874: DIV 00001875: PUSH8 0xffffffffffffffff 0000187e: AND 0000187f: DUP4 00001880: PUSH1 0x05 00001882: PUSH2 0x39d0 00001885: SWAP1 00001886: SWAP3 00001887: SWAP2 00001888: SWAP1 00001889: PUSH4 0xffffffff 0000188e: AND 0000188f: JUMP 00001890: JUMPDEST 00001891: PUSH2 0x1902 00001894: JUMPI 00001895: PUSH1 0x40 00001897: MLOAD 00001898: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000018b9: DUP2 000018ba: MSTORE 000018bb: PUSH1 0x04 000018bd: ADD 000018be: DUP1 000018bf: DUP1 000018c0: PUSH1 0x20 000018c2: ADD 000018c3: DUP3 000018c4: DUP2 000018c5: SUB 000018c6: DUP3 000018c7: MSTORE 000018c8: PUSH1 0x17 000018ca: DUP2 000018cb: MSTORE 000018cc: PUSH1 0x20 000018ce: ADD 000018cf: DUP1 000018d0: PUSH32 0x5573657220616c72656164792072656769737465726564000000000000000000 000018f1: DUP2 000018f2: MSTORE 000018f3: POP 000018f4: PUSH1 0x20 000018f6: ADD 000018f7: SWAP2 000018f8: POP 000018f9: POP 000018fa: PUSH1 0x40 000018fc: MLOAD 000018fd: DUP1 000018fe: SWAP2 000018ff: SUB 00001900: SWAP1 00001901: REVERT 00001902: JUMPDEST 00001903: PUSH1 0x07 00001905: PUSH1 0x00 00001907: SWAP1 00001908: SLOAD 00001909: SWAP1 0000190a: PUSH2 0x0100 0000190d: EXP 0000190e: SWAP1 0000190f: DIV 00001910: PUSH8 0xffffffffffffffff 00001919: AND 0000191a: SWAP1 0000191b: POP 0000191c: DUP2 0000191d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001932: AND 00001933: PUSH32 0x6838f67cb358c332087b73dbe769a6c869a5f87225236c16dda5d0013a77074c 00001954: DUP3 00001955: PUSH1 0x40 00001957: MLOAD 00001958: DUP1 00001959: DUP3 0000195a: PUSH8 0xffffffffffffffff 00001963: AND 00001964: DUP2 00001965: MSTORE 00001966: PUSH1 0x20 00001968: ADD 00001969: SWAP2 0000196a: POP 0000196b: POP 0000196c: PUSH1 0x40 0000196e: MLOAD 0000196f: DUP1 00001970: SWAP2 00001971: SUB 00001972: SWAP1 00001973: LOG2 00001974: SWAP2 00001975: SWAP1 00001976: POP 00001977: JUMP 00001978: JUMPDEST 00001979: PUSH1 0x00 0000197b: PUSH2 0x198e 0000197e: DUP3 0000197f: PUSH1 0x05 00001981: PUSH2 0x3cf6 00001984: SWAP1 00001985: SWAP2 00001986: SWAP1 00001987: PUSH4 0xffffffff 0000198c: AND 0000198d: JUMP 0000198e: JUMPDEST 0000198f: ISZERO 00001990: PUSH2 0x19ae 00001993: JUMPI 00001994: PUSH2 0x19a7 00001997: DUP3 00001998: PUSH1 0x05 0000199a: PUSH2 0x3d63 0000199d: SWAP1 0000199e: SWAP2 0000199f: SWAP1 000019a0: PUSH4 0xffffffff 000019a5: AND 000019a6: JUMP 000019a7: JUMPDEST 000019a8: SWAP1 000019a9: POP 000019aa: PUSH2 0x1a08 000019ad: JUMP 000019ae: JUMPDEST 000019af: PUSH2 0x19b7 000019b2: DUP3 000019b3: PUSH2 0x17fe 000019b6: JUMP 000019b7: JUMPDEST 000019b8: SWAP1 000019b9: POP 000019ba: DUP2 000019bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019d0: AND 000019d1: DUP2 000019d2: PUSH8 0xffffffffffffffff 000019db: AND 000019dc: PUSH32 0x969d438b19b6b5fb3c0d3c6f16867e519fcec4233799d6be29d1c00f2045ba26 000019fd: PUSH1 0x40 000019ff: MLOAD 00001a00: PUSH1 0x40 00001a02: MLOAD 00001a03: DUP1 00001a04: SWAP2 00001a05: SUB 00001a06: SWAP1 00001a07: LOG3 00001a08: JUMPDEST 00001a09: SWAP2 00001a0a: SWAP1 00001a0b: POP 00001a0c: JUMP 00001a0d: JUMPDEST 00001a0e: PUSH1 0x00 00001a10: DUP2 00001a11: PUSH1 0x00 00001a13: PUSH1 0x02 00001a15: PUSH1 0x00 00001a17: DUP4 00001a18: DUP2 00001a19: MSTORE 00001a1a: PUSH1 0x20 00001a1c: ADD 00001a1d: SWAP1 00001a1e: DUP2 00001a1f: MSTORE 00001a20: PUSH1 0x20 00001a22: ADD 00001a23: PUSH1 0x00 00001a25: KECCAK256 00001a26: PUSH1 0x03 00001a28: ADD 00001a29: SLOAD 00001a2a: SWAP1 00001a2b: POP 00001a2c: PUSH1 0x00 00001a2e: DUP2 00001a2f: EQ 00001a30: ISZERO 00001a31: DUP1 00001a32: ISZERO 00001a33: PUSH2 0x1a3c 00001a36: JUMPI 00001a37: POP 00001a38: DUP1 00001a39: TIMESTAMP 00001a3a: LT 00001a3b: ISZERO 00001a3c: JUMPDEST 00001a3d: DUP1 00001a3e: ISZERO 00001a3f: PUSH2 0x1a60 00001a42: JUMPI 00001a43: POP 00001a44: PUSH1 0x00 00001a46: DUP1 00001a47: SHL 00001a48: PUSH1 0x02 00001a4a: PUSH1 0x00 00001a4c: DUP5 00001a4d: DUP2 00001a4e: MSTORE 00001a4f: PUSH1 0x20 00001a51: ADD 00001a52: SWAP1 00001a53: DUP2 00001a54: MSTORE 00001a55: PUSH1 0x20 00001a57: ADD 00001a58: PUSH1 0x00 00001a5a: KECCAK256 00001a5b: PUSH1 0x08 00001a5d: ADD 00001a5e: SLOAD 00001a5f: EQ 00001a60: JUMPDEST 00001a61: PUSH2 0x1ab5 00001a64: JUMPI 00001a65: PUSH1 0x40 00001a67: MLOAD 00001a68: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001a89: DUP2 00001a8a: MSTORE 00001a8b: PUSH1 0x04 00001a8d: ADD 00001a8e: DUP1 00001a8f: DUP1 00001a90: PUSH1 0x20 00001a92: ADD 00001a93: DUP3 00001a94: DUP2 00001a95: SUB 00001a96: DUP3 00001a97: MSTORE 00001a98: PUSH1 0x28 00001a9a: DUP2 00001a9b: MSTORE 00001a9c: PUSH1 0x20 00001a9e: ADD 00001a9f: DUP1 00001aa0: PUSH2 0x5a46 00001aa3: PUSH1 0x28 00001aa5: SWAP2 00001aa6: CODECOPY 00001aa7: PUSH1 0x40 00001aa9: ADD 00001aaa: SWAP2 00001aab: POP 00001aac: POP 00001aad: PUSH1 0x40 00001aaf: MLOAD 00001ab0: DUP1 00001ab1: SWAP2 00001ab2: SUB 00001ab3: SWAP1 00001ab4: REVERT 00001ab5: JUMPDEST 00001ab6: POP 00001ab7: PUSH1 0x00 00001ab9: DUP1 00001aba: PUSH1 0x00 00001abc: PUSH2 0x1ada 00001abf: PUSH1 0x02 00001ac1: PUSH1 0x00 00001ac3: DUP9 00001ac4: DUP2 00001ac5: MSTORE 00001ac6: PUSH1 0x20 00001ac8: ADD 00001ac9: SWAP1 00001aca: DUP2 00001acb: MSTORE 00001acc: PUSH1 0x20 00001ace: ADD 00001acf: PUSH1 0x00 00001ad1: KECCAK256 00001ad2: PUSH1 0x04 00001ad4: ADD 00001ad5: SLOAD 00001ad6: PUSH2 0x3e42 00001ad9: JUMP 00001ada: JUMPDEST 00001adb: SWAP3 00001adc: POP 00001add: SWAP3 00001ade: POP 00001adf: SWAP3 00001ae0: POP 00001ae1: PUSH1 0x00 00001ae3: PUSH1 0x02 00001ae5: PUSH1 0x00 00001ae7: DUP9 00001ae8: DUP2 00001ae9: MSTORE 00001aea: PUSH1 0x20 00001aec: ADD 00001aed: SWAP1 00001aee: DUP2 00001aef: MSTORE 00001af0: PUSH1 0x20 00001af2: ADD 00001af3: PUSH1 0x00 00001af5: KECCAK256 00001af6: PUSH1 0x06 00001af8: ADD 00001af9: SLOAD 00001afa: SWAP1 00001afb: POP 00001afc: PUSH1 0x00 00001afe: PUSH1 0x02 00001b00: PUSH1 0x00 00001b02: DUP10 00001b03: DUP2 00001b04: MSTORE 00001b05: PUSH1 0x20 00001b07: ADD 00001b08: SWAP1 00001b09: DUP2 00001b0a: MSTORE 00001b0b: PUSH1 0x20 00001b0d: ADD 00001b0e: PUSH1 0x00 00001b10: KECCAK256 00001b11: PUSH1 0x07 00001b13: ADD 00001b14: SLOAD 00001b15: SWAP1 00001b16: POP 00001b17: PUSH1 0x00 00001b19: DUP1 00001b1a: PUSH1 0x00 00001b1c: DUP6 00001b1d: SWAP1 00001b1e: POP 00001b1f: JUMPDEST 00001b20: PUSH1 0x00 00001b22: PUSH2 0x1b46 00001b25: DUP6 00001b26: PUSH1 0x01 00001b28: PUSH1 0x00 00001b2a: DUP16 00001b2b: DUP2 00001b2c: MSTORE 00001b2d: PUSH1 0x20 00001b2f: ADD 00001b30: SWAP1 00001b31: DUP2 00001b32: MSTORE 00001b33: PUSH1 0x20 00001b35: ADD 00001b36: PUSH1 0x00 00001b38: KECCAK256 00001b39: PUSH2 0x3e68 00001b3c: SWAP1 00001b3d: SWAP2 00001b3e: SWAP1 00001b3f: PUSH4 0xffffffff 00001b44: AND 00001b45: JUMP 00001b46: JUMPDEST 00001b47: SWAP1 00001b48: POP 00001b49: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000001 00001b6a: PUSH1 0x00 00001b6c: SHL 00001b6d: DUP2 00001b6e: EQ 00001b6f: ISZERO 00001b70: PUSH2 0x1b79 00001b73: JUMPI 00001b74: POP 00001b75: PUSH2 0x1c02 00001b78: JUMP 00001b79: JUMPDEST 00001b7a: DUP1 00001b7b: SWAP5 00001b7c: POP 00001b7d: PUSH2 0x1b85 00001b80: DUP6 00001b81: PUSH2 0x3e42 00001b84: JUMP 00001b85: JUMPDEST 00001b86: SWAP1 00001b87: SWAP2 00001b88: POP 00001b89: DUP2 00001b8a: PUSH12 0xffffffffffffffffffffffff 00001b97: AND 00001b98: SWAP2 00001b99: POP 00001b9a: DUP1 00001b9b: PUSH12 0xffffffffffffffffffffffff 00001ba8: AND 00001ba9: SWAP1 00001baa: POP 00001bab: DUP1 00001bac: SWAP5 00001bad: POP 00001bae: DUP2 00001baf: SWAP6 00001bb0: POP 00001bb1: POP 00001bb2: POP 00001bb3: PUSH2 0x1bc5 00001bb6: DUP4 00001bb7: DUP8 00001bb8: PUSH2 0x363c 00001bbb: SWAP1 00001bbc: SWAP2 00001bbd: SWAP1 00001bbe: PUSH4 0xffffffff 00001bc3: AND 00001bc4: JUMP 00001bc5: JUMPDEST 00001bc6: SWAP6 00001bc7: POP 00001bc8: POP 00001bc9: PUSH2 0x1be9 00001bcc: DUP3 00001bcd: DUP8 00001bce: PUSH12 0xffffffffffffffffffffffff 00001bdb: AND 00001bdc: PUSH2 0x36c4 00001bdf: SWAP1 00001be0: SWAP2 00001be1: SWAP1 00001be2: PUSH4 0xffffffff 00001be7: AND 00001be8: JUMP 00001be9: JUMPDEST 00001bea: PUSH2 0x1bfc 00001bed: DUP5 00001bee: DUP8 00001bef: PUSH2 0x36c4 00001bf2: SWAP1 00001bf3: SWAP2 00001bf4: SWAP1 00001bf5: PUSH4 0xffffffff 00001bfa: AND 00001bfb: JUMP 00001bfc: JUMPDEST 00001bfd: LT 00001bfe: PUSH2 0x1b1f 00001c01: JUMPI 00001c02: JUMPDEST 00001c03: PUSH1 0x00 00001c05: DUP6 00001c06: GT 00001c07: DUP1 00001c08: ISZERO 00001c09: PUSH2 0x1c44 00001c0c: JUMPI 00001c0d: POP 00001c0e: PUSH2 0x1c2e 00001c11: DUP3 00001c12: DUP8 00001c13: PUSH12 0xffffffffffffffffffffffff 00001c20: AND 00001c21: PUSH2 0x36c4 00001c24: SWAP1 00001c25: SWAP2 00001c26: SWAP1 00001c27: PUSH4 0xffffffff 00001c2c: AND 00001c2d: JUMP 00001c2e: JUMPDEST 00001c2f: PUSH2 0x1c41 00001c32: DUP5 00001c33: DUP8 00001c34: PUSH2 0x36c4 00001c37: SWAP1 00001c38: SWAP2 00001c39: SWAP1 00001c3a: PUSH4 0xffffffff 00001c3f: AND 00001c40: JUMP 00001c41: JUMPDEST 00001c42: LT 00001c43: ISZERO 00001c44: JUMPDEST 00001c45: ISZERO 00001c46: PUSH2 0x1d4d 00001c49: JUMPI 00001c4a: PUSH1 0x00 00001c4c: PUSH2 0x1c90 00001c4f: PUSH2 0x1c81 00001c52: DUP6 00001c53: PUSH2 0x1c73 00001c56: DUP7 00001c57: DUP12 00001c58: PUSH12 0xffffffffffffffffffffffff 00001c65: AND 00001c66: PUSH2 0x36c4 00001c69: SWAP1 00001c6a: SWAP2 00001c6b: SWAP1 00001c6c: PUSH4 0xffffffff 00001c71: AND 00001c72: JUMP 00001c73: JUMPDEST 00001c74: PUSH2 0x374a 00001c77: SWAP1 00001c78: SWAP2 00001c79: SWAP1 00001c7a: PUSH4 0xffffffff 00001c7f: AND 00001c80: JUMP 00001c81: JUMPDEST 00001c82: DUP8 00001c83: PUSH2 0x391b 00001c86: SWAP1 00001c87: SWAP2 00001c88: SWAP1 00001c89: PUSH4 0xffffffff 00001c8e: AND 00001c8f: JUMP 00001c90: JUMPDEST 00001c91: SWAP1 00001c92: POP 00001c93: DUP1 00001c94: DUP4 00001c95: LT 00001c96: PUSH2 0x1d1b 00001c99: JUMPI 00001c9a: PUSH1 0x00 00001c9c: PUSH2 0x1cae 00001c9f: DUP3 00001ca0: DUP6 00001ca1: PUSH2 0x391b 00001ca4: SWAP1 00001ca5: SWAP2 00001ca6: SWAP1 00001ca7: PUSH4 0xffffffff 00001cac: AND 00001cad: JUMP 00001cae: JUMPDEST 00001caf: SWAP1 00001cb0: POP 00001cb1: PUSH2 0x1cb9 00001cb4: DUP2 00001cb5: PUSH2 0x3f66 00001cb8: JUMP 00001cb9: JUMPDEST 00001cba: PUSH1 0x02 00001cbc: PUSH1 0x00 00001cbe: DUP16 00001cbf: DUP2 00001cc0: MSTORE 00001cc1: PUSH1 0x20 00001cc3: ADD 00001cc4: SWAP1 00001cc5: DUP2 00001cc6: MSTORE 00001cc7: PUSH1 0x20 00001cc9: ADD 00001cca: PUSH1 0x00 00001ccc: KECCAK256 00001ccd: PUSH1 0x09 00001ccf: ADD 00001cd0: PUSH1 0x00 00001cd2: PUSH2 0x0100 00001cd5: EXP 00001cd6: DUP2 00001cd7: SLOAD 00001cd8: DUP2 00001cd9: PUSH12 0xffffffffffffffffffffffff 00001ce6: MUL 00001ce7: NOT 00001ce8: AND 00001ce9: SWAP1 00001cea: DUP4 00001ceb: PUSH12 0xffffffffffffffffffffffff 00001cf8: AND 00001cf9: MUL 00001cfa: OR 00001cfb: SWAP1 00001cfc: SSTORE 00001cfd: POP 00001cfe: PUSH2 0x1d10 00001d01: DUP3 00001d02: DUP9 00001d03: PUSH2 0x391b 00001d06: SWAP1 00001d07: SWAP2 00001d08: SWAP1 00001d09: PUSH4 0xffffffff 00001d0e: AND 00001d0f: JUMP 00001d10: JUMPDEST 00001d11: SWAP7 00001d12: POP 00001d13: DUP6 00001d14: SWAP12 00001d15: POP 00001d16: POP 00001d17: PUSH2 0x1d47 00001d1a: JUMP 00001d1b: JUMPDEST 00001d1c: PUSH2 0x1d2e 00001d1f: DUP4 00001d20: DUP8 00001d21: PUSH2 0x391b 00001d24: SWAP1 00001d25: SWAP2 00001d26: SWAP1 00001d27: PUSH4 0xffffffff 00001d2c: AND 00001d2d: JUMP 00001d2e: JUMPDEST 00001d2f: SWAP6 00001d30: POP 00001d31: PUSH2 0x1d44 00001d34: PUSH1 0x00 00001d36: DUP9 00001d37: PUSH2 0x1d3f 00001d3a: DUP10 00001d3b: PUSH2 0x3f66 00001d3e: JUMP 00001d3f: JUMPDEST 00001d40: PUSH2 0x38da 00001d43: JUMP 00001d44: JUMPDEST 00001d45: SWAP11 00001d46: POP 00001d47: JUMPDEST 00001d48: POP 00001d49: PUSH2 0x1dd9 00001d4c: JUMP 00001d4d: JUMPDEST 00001d4e: DUP7 00001d4f: PUSH12 0xffffffffffffffffffffffff 00001d5c: AND 00001d5d: DUP6 00001d5e: GT 00001d5f: ISZERO 00001d60: PUSH2 0x1d7e 00001d63: JUMPI 00001d64: PUSH2 0x1d77 00001d67: PUSH1 0x00 00001d69: DUP8 00001d6a: PUSH2 0x1d72 00001d6d: DUP9 00001d6e: PUSH2 0x3f66 00001d71: JUMP 00001d72: JUMPDEST 00001d73: PUSH2 0x38da 00001d76: JUMP 00001d77: JUMPDEST 00001d78: SWAP10 00001d79: POP 00001d7a: PUSH2 0x1dd8 00001d7d: JUMP 00001d7e: JUMPDEST 00001d7f: PUSH2 0x1d8a 00001d82: PUSH1 0x00 00001d84: DUP8 00001d85: DUP10 00001d86: PUSH2 0x38da 00001d89: JUMP 00001d8a: JUMPDEST 00001d8b: SWAP10 00001d8c: POP 00001d8d: PUSH2 0x1dd5 00001d90: PUSH2 0x1dd0 00001d93: DUP9 00001d94: PUSH12 0xffffffffffffffffffffffff 00001da1: AND 00001da2: PUSH2 0x1dc2 00001da5: DUP10 00001da6: PUSH12 0xffffffffffffffffffffffff 00001db3: AND 00001db4: DUP10 00001db5: PUSH2 0x36c4 00001db8: SWAP1 00001db9: SWAP2 00001dba: SWAP1 00001dbb: PUSH4 0xffffffff 00001dc0: AND 00001dc1: JUMP 00001dc2: JUMPDEST 00001dc3: PUSH2 0x374a 00001dc6: SWAP1 00001dc7: SWAP2 00001dc8: SWAP1 00001dc9: PUSH4 0xffffffff 00001dce: AND 00001dcf: JUMP 00001dd0: JUMPDEST 00001dd1: PUSH2 0x3f66 00001dd4: JUMP 00001dd5: JUMPDEST 00001dd6: SWAP1 00001dd7: POP 00001dd8: JUMPDEST 00001dd9: JUMPDEST 00001dda: DUP10 00001ddb: PUSH1 0x02 00001ddd: PUSH1 0x00 00001ddf: DUP14 00001de0: DUP2 00001de1: MSTORE 00001de2: PUSH1 0x20 00001de4: ADD 00001de5: SWAP1 00001de6: DUP2 00001de7: MSTORE 00001de8: PUSH1 0x20 00001dea: ADD 00001deb: PUSH1 0x00 00001ded: KECCAK256 00001dee: PUSH1 0x08 00001df0: ADD 00001df1: DUP2 00001df2: SWAP1 00001df3: SSTORE 00001df4: POP 00001df5: DUP5 00001df6: PUSH1 0x02 00001df8: PUSH1 0x00 00001dfa: DUP14 00001dfb: DUP2 00001dfc: MSTORE 00001dfd: PUSH1 0x20 00001dff: ADD 00001e00: SWAP1 00001e01: DUP2 00001e02: MSTORE 00001e03: PUSH1 0x20 00001e05: ADD 00001e06: PUSH1 0x00 00001e08: KECCAK256 00001e09: PUSH1 0x0b 00001e0b: ADD 00001e0c: SLOAD 00001e0d: GT 00001e0e: ISZERO 00001e0f: PUSH2 0x1e42 00001e12: JUMPI 00001e13: PUSH1 0x01 00001e15: PUSH1 0x02 00001e17: PUSH1 0x00 00001e19: DUP14 00001e1a: DUP2 00001e1b: MSTORE 00001e1c: PUSH1 0x20 00001e1e: ADD 00001e1f: SWAP1 00001e20: DUP2 00001e21: MSTORE 00001e22: PUSH1 0x20 00001e24: ADD 00001e25: PUSH1 0x00 00001e27: KECCAK256 00001e28: PUSH1 0x09 00001e2a: ADD 00001e2b: PUSH1 0x0c 00001e2d: PUSH2 0x0100 00001e30: EXP 00001e31: DUP2 00001e32: SLOAD 00001e33: DUP2 00001e34: PUSH1 0xff 00001e36: MUL 00001e37: NOT 00001e38: AND 00001e39: SWAP1 00001e3a: DUP4 00001e3b: ISZERO 00001e3c: ISZERO 00001e3d: MUL 00001e3e: OR 00001e3f: SWAP1 00001e40: SSTORE 00001e41: POP 00001e42: JUMPDEST 00001e43: PUSH2 0x1e5c 00001e46: DUP12 00001e47: DUP3 00001e48: PUSH12 0xffffffffffffffffffffffff 00001e55: AND 00001e56: DUP11 00001e57: DUP10 00001e58: PUSH2 0x3fd5 00001e5b: JUMP 00001e5c: JUMPDEST 00001e5d: DUP11 00001e5e: PUSH32 0x4d160a2a345f2faeb9ac2e65272820b8ca5473b80aabef416bdf7e07ee7f5910 00001e7f: DUP3 00001e80: DUP8 00001e81: DUP14 00001e82: PUSH1 0x40 00001e84: MLOAD 00001e85: DUP1 00001e86: DUP5 00001e87: PUSH12 0xffffffffffffffffffffffff 00001e94: AND 00001e95: DUP2 00001e96: MSTORE 00001e97: PUSH1 0x20 00001e99: ADD 00001e9a: DUP4 00001e9b: PUSH12 0xffffffffffffffffffffffff 00001ea8: AND 00001ea9: DUP2 00001eaa: MSTORE 00001eab: PUSH1 0x20 00001ead: ADD 00001eae: DUP3 00001eaf: DUP2 00001eb0: MSTORE 00001eb1: PUSH1 0x20 00001eb3: ADD 00001eb4: SWAP4 00001eb5: POP 00001eb6: POP 00001eb7: POP 00001eb8: POP 00001eb9: PUSH1 0x40 00001ebb: MLOAD 00001ebc: DUP1 00001ebd: SWAP2 00001ebe: SUB 00001ebf: SWAP1 00001ec0: LOG2 00001ec1: PUSH1 0x00 00001ec3: PUSH1 0x03 00001ec5: PUSH1 0x00 00001ec7: DUP14 00001ec8: DUP2 00001ec9: MSTORE 00001eca: PUSH1 0x20 00001ecc: ADD 00001ecd: SWAP1 00001ece: DUP2 00001ecf: MSTORE 00001ed0: PUSH1 0x20 00001ed2: ADD 00001ed3: PUSH1 0x00 00001ed5: KECCAK256 00001ed6: PUSH1 0x00 00001ed8: PUSH2 0x0100 00001edb: EXP 00001edc: DUP2 00001edd: SLOAD 00001ede: DUP2 00001edf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ef4: MUL 00001ef5: NOT 00001ef6: AND 00001ef7: SWAP1 00001ef8: DUP4 00001ef9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f0e: AND 00001f0f: MUL 00001f10: OR 00001f11: SWAP1 00001f12: SSTORE 00001f13: POP 00001f14: PUSH1 0x04 00001f16: PUSH1 0x00 00001f18: DUP13 00001f19: DUP2 00001f1a: MSTORE 00001f1b: PUSH1 0x20 00001f1d: ADD 00001f1e: SWAP1 00001f1f: DUP2 00001f20: MSTORE 00001f21: PUSH1 0x20 00001f23: ADD 00001f24: PUSH1 0x00 00001f26: KECCAK256 00001f27: PUSH1 0x00 00001f29: PUSH2 0x1f32 00001f2c: SWAP2 00001f2d: SWAP1 00001f2e: PUSH2 0x565c 00001f31: JUMP 00001f32: JUMPDEST 00001f33: PUSH1 0x00 00001f35: DUP1 00001f36: SHL 00001f37: PUSH1 0x02 00001f39: PUSH1 0x00 00001f3b: DUP14 00001f3c: DUP2 00001f3d: MSTORE 00001f3e: PUSH1 0x20 00001f40: ADD 00001f41: SWAP1 00001f42: DUP2 00001f43: MSTORE 00001f44: PUSH1 0x20 00001f46: ADD 00001f47: PUSH1 0x00 00001f49: KECCAK256 00001f4a: PUSH1 0x04 00001f4c: ADD 00001f4d: DUP2 00001f4e: SWAP1 00001f4f: SSTORE 00001f50: POP 00001f51: PUSH1 0x00 00001f53: DUP1 00001f54: SHL 00001f55: PUSH1 0x02 00001f57: PUSH1 0x00 00001f59: DUP14 00001f5a: DUP2 00001f5b: MSTORE 00001f5c: PUSH1 0x20 00001f5e: ADD 00001f5f: SWAP1 00001f60: DUP2 00001f61: MSTORE 00001f62: PUSH1 0x20 00001f64: ADD 00001f65: PUSH1 0x00 00001f67: KECCAK256 00001f68: PUSH1 0x07 00001f6a: ADD 00001f6b: DUP2 00001f6c: SWAP1 00001f6d: SSTORE 00001f6e: POP 00001f6f: PUSH1 0x00 00001f71: PUSH1 0x02 00001f73: PUSH1 0x00 00001f75: DUP14 00001f76: DUP2 00001f77: MSTORE 00001f78: PUSH1 0x20 00001f7a: ADD 00001f7b: SWAP1 00001f7c: DUP2 00001f7d: MSTORE 00001f7e: PUSH1 0x20 00001f80: ADD 00001f81: PUSH1 0x00 00001f83: KECCAK256 00001f84: PUSH1 0x06 00001f86: ADD 00001f87: DUP2 00001f88: SWAP1 00001f89: SSTORE 00001f8a: POP 00001f8b: PUSH1 0x00 00001f8d: PUSH1 0x02 00001f8f: PUSH1 0x00 00001f91: DUP14 00001f92: DUP2 00001f93: MSTORE 00001f94: PUSH1 0x20 00001f96: ADD 00001f97: SWAP1 00001f98: DUP2 00001f99: MSTORE 00001f9a: PUSH1 0x20 00001f9c: ADD 00001f9d: PUSH1 0x00 00001f9f: KECCAK256 00001fa0: PUSH1 0x05 00001fa2: ADD 00001fa3: DUP2 00001fa4: SWAP1 00001fa5: SSTORE 00001fa6: POP 00001fa7: POP 00001fa8: POP 00001fa9: POP 00001faa: POP 00001fab: POP 00001fac: POP 00001fad: POP 00001fae: POP 00001faf: POP 00001fb0: SWAP2 00001fb1: SWAP1 00001fb2: POP 00001fb3: JUMP 00001fb4: JUMPDEST 00001fb5: DUP2 00001fb6: PUSH1 0x00 00001fb8: PUSH1 0x02 00001fba: PUSH1 0x00 00001fbc: DUP4 00001fbd: DUP2 00001fbe: MSTORE 00001fbf: PUSH1 0x20 00001fc1: ADD 00001fc2: SWAP1 00001fc3: DUP2 00001fc4: MSTORE 00001fc5: PUSH1 0x20 00001fc7: ADD 00001fc8: PUSH1 0x00 00001fca: KECCAK256 00001fcb: PUSH1 0x03 00001fcd: ADD 00001fce: SLOAD 00001fcf: SWAP1 00001fd0: POP 00001fd1: PUSH1 0x00 00001fd3: DUP2 00001fd4: EQ 00001fd5: ISZERO 00001fd6: DUP1 00001fd7: ISZERO 00001fd8: PUSH2 0x1fe1 00001fdb: JUMPI 00001fdc: POP 00001fdd: DUP1 00001fde: TIMESTAMP 00001fdf: LT 00001fe0: ISZERO 00001fe1: JUMPDEST 00001fe2: DUP1 00001fe3: ISZERO 00001fe4: PUSH2 0x2005 00001fe7: JUMPI 00001fe8: POP 00001fe9: PUSH1 0x00 00001feb: DUP1 00001fec: SHL 00001fed: PUSH1 0x02 00001fef: PUSH1 0x00 00001ff1: DUP5 00001ff2: DUP2 00001ff3: MSTORE 00001ff4: PUSH1 0x20 00001ff6: ADD 00001ff7: SWAP1 00001ff8: DUP2 00001ff9: MSTORE 00001ffa: PUSH1 0x20 00001ffc: ADD 00001ffd: PUSH1 0x00 00001fff: KECCAK256 00002000: PUSH1 0x08 00002002: ADD 00002003: SLOAD 00002004: EQ 00002005: JUMPDEST 00002006: PUSH2 0x205a 00002009: JUMPI 0000200a: PUSH1 0x40 0000200c: MLOAD 0000200d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000202e: DUP2 0000202f: MSTORE 00002030: PUSH1 0x04 00002032: ADD 00002033: DUP1 00002034: DUP1 00002035: PUSH1 0x20 00002037: ADD 00002038: DUP3 00002039: DUP2 0000203a: SUB 0000203b: DUP3 0000203c: MSTORE 0000203d: PUSH1 0x28 0000203f: DUP2 00002040: MSTORE 00002041: PUSH1 0x20 00002043: ADD 00002044: DUP1 00002045: PUSH2 0x5a46 00002048: PUSH1 0x28 0000204a: SWAP2 0000204b: CODECOPY 0000204c: PUSH1 0x40 0000204e: ADD 0000204f: SWAP2 00002050: POP 00002051: POP 00002052: PUSH1 0x40 00002054: MLOAD 00002055: DUP1 00002056: SWAP2 00002057: SUB 00002058: SWAP1 00002059: REVERT 0000205a: JUMPDEST 0000205b: POP 0000205c: PUSH1 0x00 0000205e: PUSH2 0x207c 00002061: PUSH1 0x02 00002063: PUSH1 0x00 00002065: DUP7 00002066: DUP2 00002067: MSTORE 00002068: PUSH1 0x20 0000206a: ADD 0000206b: SWAP1 0000206c: DUP2 0000206d: MSTORE 0000206e: PUSH1 0x20 00002070: ADD 00002071: PUSH1 0x00 00002073: KECCAK256 00002074: PUSH1 0x04 00002076: ADD 00002077: SLOAD 00002078: PUSH2 0x3e42 0000207b: JUMP 0000207c: JUMPDEST 0000207d: SWAP3 0000207e: POP 0000207f: POP 00002080: POP 00002081: PUSH1 0x00 00002083: PUSH1 0x02 00002085: PUSH1 0x00 00002087: DUP7 00002088: DUP2 00002089: MSTORE 0000208a: PUSH1 0x20 0000208c: ADD 0000208d: SWAP1 0000208e: DUP2 0000208f: MSTORE 00002090: PUSH1 0x20 00002092: ADD 00002093: PUSH1 0x00 00002095: KECCAK256 00002096: PUSH1 0x06 00002098: ADD 00002099: SLOAD 0000209a: SWAP1 0000209b: POP 0000209c: PUSH1 0x00 0000209e: PUSH1 0x02 000020a0: PUSH1 0x00 000020a2: DUP8 000020a3: DUP2 000020a4: MSTORE 000020a5: PUSH1 0x20 000020a7: ADD 000020a8: SWAP1 000020a9: DUP2 000020aa: MSTORE 000020ab: PUSH1 0x20 000020ad: ADD 000020ae: PUSH1 0x00 000020b0: KECCAK256 000020b1: PUSH1 0x07 000020b3: ADD 000020b4: SLOAD 000020b5: SWAP1 000020b6: POP 000020b7: PUSH1 0x00 000020b9: JUMPDEST 000020ba: DUP6 000020bb: DUP2 000020bc: LT 000020bd: ISZERO 000020be: PUSH2 0x2128 000020c1: JUMPI 000020c2: PUSH2 0x20e6 000020c5: DUP3 000020c6: PUSH1 0x01 000020c8: PUSH1 0x00 000020ca: DUP11 000020cb: DUP2 000020cc: MSTORE 000020cd: PUSH1 0x20 000020cf: ADD 000020d0: SWAP1 000020d1: DUP2 000020d2: MSTORE 000020d3: PUSH1 0x20 000020d5: ADD 000020d6: PUSH1 0x00 000020d8: KECCAK256 000020d9: PUSH2 0x3e68 000020dc: SWAP1 000020dd: SWAP2 000020de: SWAP1 000020df: PUSH4 0xffffffff 000020e4: AND 000020e5: JUMP 000020e6: JUMPDEST 000020e7: SWAP2 000020e8: POP 000020e9: PUSH1 0x00 000020eb: PUSH2 0x20f3 000020ee: DUP4 000020ef: PUSH2 0x3e42 000020f2: JUMP 000020f3: JUMPDEST 000020f4: SWAP3 000020f5: POP 000020f6: POP 000020f7: POP 000020f8: PUSH2 0x2118 000020fb: DUP2 000020fc: PUSH12 0xffffffffffffffffffffffff 00002109: AND 0000210a: DUP6 0000210b: PUSH2 0x363c 0000210e: SWAP1 0000210f: SWAP2 00002110: SWAP1 00002111: PUSH4 0xffffffff 00002116: AND 00002117: JUMP 00002118: JUMPDEST 00002119: SWAP4 0000211a: POP 0000211b: POP 0000211c: DUP1 0000211d: DUP1 0000211e: PUSH1 0x01 00002120: ADD 00002121: SWAP2 00002122: POP 00002123: POP 00002124: PUSH2 0x20b9 00002127: JUMP 00002128: JUMPDEST 00002129: POP 0000212a: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000001 0000214b: PUSH1 0x00 0000214d: SHL 0000214e: DUP2 0000214f: EQ 00002150: ISZERO 00002151: PUSH2 0x21c2 00002154: JUMPI 00002155: PUSH1 0x40 00002157: MLOAD 00002158: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002179: DUP2 0000217a: MSTORE 0000217b: PUSH1 0x04 0000217d: ADD 0000217e: DUP1 0000217f: DUP1 00002180: PUSH1 0x20 00002182: ADD 00002183: DUP3 00002184: DUP2 00002185: SUB 00002186: DUP3 00002187: MSTORE 00002188: PUSH1 0x19 0000218a: DUP2 0000218b: MSTORE 0000218c: PUSH1 0x20 0000218e: ADD 0000218f: DUP1 00002190: PUSH32 0x7265616368656420656e64206f66206f72646572206c69737400000000000000 000021b1: DUP2 000021b2: MSTORE 000021b3: POP 000021b4: PUSH1 0x20 000021b6: ADD 000021b7: SWAP2 000021b8: POP 000021b9: POP 000021ba: PUSH1 0x40 000021bc: MLOAD 000021bd: DUP1 000021be: SWAP2 000021bf: SUB 000021c0: SWAP1 000021c1: REVERT 000021c2: JUMPDEST 000021c3: PUSH1 0x00 000021c5: DUP1 000021c6: PUSH2 0x21ce 000021c9: DUP4 000021ca: PUSH2 0x3e42 000021cd: JUMP 000021ce: JUMPDEST 000021cf: SWAP3 000021d0: POP 000021d1: SWAP3 000021d2: POP 000021d3: POP 000021d4: PUSH2 0x2202 000021d7: DUP2 000021d8: PUSH12 0xffffffffffffffffffffffff 000021e5: AND 000021e6: DUP7 000021e7: PUSH12 0xffffffffffffffffffffffff 000021f4: AND 000021f5: PUSH2 0x36c4 000021f8: SWAP1 000021f9: SWAP2 000021fa: SWAP1 000021fb: PUSH4 0xffffffff 00002200: AND 00002201: JUMP 00002202: JUMPDEST 00002203: PUSH2 0x2223 00002206: DUP4 00002207: PUSH12 0xffffffffffffffffffffffff 00002214: AND 00002215: DUP7 00002216: PUSH2 0x36c4 00002219: SWAP1 0000221a: SWAP2 0000221b: SWAP1 0000221c: PUSH4 0xffffffff 00002221: AND 00002222: JUMP 00002223: JUMPDEST 00002224: LT 00002225: PUSH2 0x2296 00002228: JUMPI 00002229: PUSH1 0x40 0000222b: MLOAD 0000222c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000224d: DUP2 0000224e: MSTORE 0000224f: PUSH1 0x04 00002251: ADD 00002252: DUP1 00002253: DUP1 00002254: PUSH1 0x20 00002256: ADD 00002257: DUP3 00002258: DUP2 00002259: SUB 0000225a: DUP3 0000225b: MSTORE 0000225c: PUSH1 0x19 0000225e: DUP2 0000225f: MSTORE 00002260: PUSH1 0x20 00002262: ADD 00002263: DUP1 00002264: PUSH32 0x746f6f206d616e79206f72646572732073756d6d656420757000000000000000 00002285: DUP2 00002286: MSTORE 00002287: POP 00002288: PUSH1 0x20 0000228a: ADD 0000228b: SWAP2 0000228c: POP 0000228d: POP 0000228e: PUSH1 0x40 00002290: MLOAD 00002291: DUP1 00002292: SWAP2 00002293: SUB 00002294: SWAP1 00002295: REVERT 00002296: JUMPDEST 00002297: DUP4 00002298: PUSH1 0x02 0000229a: PUSH1 0x00 0000229c: DUP11 0000229d: DUP2 0000229e: MSTORE 0000229f: PUSH1 0x20 000022a1: ADD 000022a2: SWAP1 000022a3: DUP2 000022a4: MSTORE 000022a5: PUSH1 0x20 000022a7: ADD 000022a8: PUSH1 0x00 000022aa: KECCAK256 000022ab: PUSH1 0x06 000022ad: ADD 000022ae: DUP2 000022af: SWAP1 000022b0: SSTORE 000022b1: POP 000022b2: DUP3 000022b3: PUSH1 0x02 000022b5: PUSH1 0x00 000022b7: DUP11 000022b8: DUP2 000022b9: MSTORE 000022ba: PUSH1 0x20 000022bc: ADD 000022bd: SWAP1 000022be: DUP2 000022bf: MSTORE 000022c0: PUSH1 0x20 000022c2: ADD 000022c3: PUSH1 0x00 000022c5: KECCAK256 000022c6: PUSH1 0x07 000022c8: ADD 000022c9: DUP2 000022ca: SWAP1 000022cb: SSTORE 000022cc: POP 000022cd: POP 000022ce: POP 000022cf: POP 000022d0: POP 000022d1: POP 000022d2: POP 000022d3: POP 000022d4: POP 000022d5: JUMP 000022d6: JUMPDEST 000022d7: PUSH2 0x22de 000022da: PUSH2 0x41c7 000022dd: JUMP 000022de: JUMPDEST 000022df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022f4: AND 000022f5: PUSH1 0x00 000022f7: DUP1 000022f8: SLOAD 000022f9: SWAP1 000022fa: PUSH2 0x0100 000022fd: EXP 000022fe: SWAP1 000022ff: DIV 00002300: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002315: AND 00002316: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000232b: AND 0000232c: EQ 0000232d: PUSH2 0x239e 00002330: JUMPI 00002331: PUSH1 0x40 00002333: MLOAD 00002334: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002355: DUP2 00002356: MSTORE 00002357: PUSH1 0x04 00002359: ADD 0000235a: DUP1 0000235b: DUP1 0000235c: PUSH1 0x20 0000235e: ADD 0000235f: DUP3 00002360: DUP2 00002361: SUB 00002362: DUP3 00002363: MSTORE 00002364: PUSH1 0x20 00002366: DUP2 00002367: MSTORE 00002368: PUSH1 0x20 0000236a: ADD 0000236b: DUP1 0000236c: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 0000238d: DUP2 0000238e: MSTORE 0000238f: POP 00002390: PUSH1 0x20 00002392: ADD 00002393: SWAP2 00002394: POP 00002395: POP 00002396: PUSH1 0x40 00002398: MLOAD 00002399: DUP1 0000239a: SWAP2 0000239b: SUB 0000239c: SWAP1 0000239d: REVERT 0000239e: JUMPDEST 0000239f: PUSH1 0x0f 000023a1: DUP3 000023a2: GT 000023a3: ISZERO 000023a4: PUSH2 0x23f8 000023a7: JUMPI 000023a8: PUSH1 0x40 000023aa: MLOAD 000023ab: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000023cc: DUP2 000023cd: MSTORE 000023ce: PUSH1 0x04 000023d0: ADD 000023d1: DUP1 000023d2: DUP1 000023d3: PUSH1 0x20 000023d5: ADD 000023d6: DUP3 000023d7: DUP2 000023d8: SUB 000023d9: DUP3 000023da: MSTORE 000023db: PUSH1 0x2d 000023dd: DUP2 000023de: MSTORE 000023df: PUSH1 0x20 000023e1: ADD 000023e2: DUP1 000023e3: PUSH2 0x5902 000023e6: PUSH1 0x2d 000023e8: SWAP2 000023e9: CODECOPY 000023ea: PUSH1 0x40 000023ec: ADD 000023ed: SWAP2 000023ee: POP 000023ef: POP 000023f0: PUSH1 0x40 000023f2: MLOAD 000023f3: DUP1 000023f4: SWAP2 000023f5: SUB 000023f6: SWAP1 000023f7: REVERT 000023f8: JUMPDEST 000023f9: PUSH2 0x2401 000023fc: DUP2 000023fd: PUSH2 0x1978 00002400: JUMP 00002401: JUMPDEST 00002402: PUSH1 0x0a 00002404: PUSH1 0x00 00002406: PUSH2 0x0100 00002409: EXP 0000240a: DUP2 0000240b: SLOAD 0000240c: DUP2 0000240d: PUSH8 0xffffffffffffffff 00002416: MUL 00002417: NOT 00002418: AND 00002419: SWAP1 0000241a: DUP4 0000241b: PUSH8 0xffffffffffffffff 00002424: AND 00002425: MUL 00002426: OR 00002427: SWAP1 00002428: SSTORE 00002429: POP 0000242a: DUP2 0000242b: PUSH1 0x09 0000242d: DUP2 0000242e: SWAP1 0000242f: SSTORE 00002430: POP 00002431: POP 00002432: POP 00002433: JUMP 00002434: JUMPDEST 00002435: PUSH1 0x02 00002437: PUSH1 0x20 00002439: MSTORE 0000243a: DUP1 0000243b: PUSH1 0x00 0000243d: MSTORE 0000243e: PUSH1 0x40 00002440: PUSH1 0x00 00002442: KECCAK256 00002443: PUSH1 0x00 00002445: SWAP2 00002446: POP 00002447: SWAP1 00002448: POP 00002449: DUP1 0000244a: PUSH1 0x00 0000244c: ADD 0000244d: PUSH1 0x00 0000244f: SWAP1 00002450: SLOAD 00002451: SWAP1 00002452: PUSH2 0x0100 00002455: EXP 00002456: SWAP1 00002457: DIV 00002458: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000246d: AND 0000246e: SWAP1 0000246f: DUP1 00002470: PUSH1 0x01 00002472: ADD 00002473: PUSH1 0x00 00002475: SWAP1 00002476: SLOAD 00002477: SWAP1 00002478: PUSH2 0x0100 0000247b: EXP 0000247c: SWAP1 0000247d: DIV 0000247e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002493: AND 00002494: SWAP1 00002495: DUP1 00002496: PUSH1 0x02 00002498: ADD 00002499: SLOAD 0000249a: SWAP1 0000249b: DUP1 0000249c: PUSH1 0x03 0000249e: ADD 0000249f: SLOAD 000024a0: SWAP1 000024a1: DUP1 000024a2: PUSH1 0x04 000024a4: ADD 000024a5: SLOAD 000024a6: SWAP1 000024a7: DUP1 000024a8: PUSH1 0x05 000024aa: ADD 000024ab: SLOAD 000024ac: SWAP1 000024ad: DUP1 000024ae: PUSH1 0x06 000024b0: ADD 000024b1: SLOAD 000024b2: SWAP1 000024b3: DUP1 000024b4: PUSH1 0x07 000024b6: ADD 000024b7: SLOAD 000024b8: SWAP1 000024b9: DUP1 000024ba: PUSH1 0x08 000024bc: ADD 000024bd: SLOAD 000024be: SWAP1 000024bf: DUP1 000024c0: PUSH1 0x09 000024c2: ADD 000024c3: PUSH1 0x00 000024c5: SWAP1 000024c6: SLOAD 000024c7: SWAP1 000024c8: PUSH2 0x0100 000024cb: EXP 000024cc: SWAP1 000024cd: DIV 000024ce: PUSH12 0xffffffffffffffffffffffff 000024db: AND 000024dc: SWAP1 000024dd: DUP1 000024de: PUSH1 0x09 000024e0: ADD 000024e1: PUSH1 0x0c 000024e3: SWAP1 000024e4: SLOAD 000024e5: SWAP1 000024e6: PUSH2 0x0100 000024e9: EXP 000024ea: SWAP1 000024eb: DIV 000024ec: PUSH1 0xff 000024ee: AND 000024ef: SWAP1 000024f0: DUP1 000024f1: PUSH1 0x09 000024f3: ADD 000024f4: PUSH1 0x0d 000024f6: SWAP1 000024f7: SLOAD 000024f8: SWAP1 000024f9: PUSH2 0x0100 000024fc: EXP 000024fd: SWAP1 000024fe: DIV 000024ff: PUSH1 0xff 00002501: AND 00002502: SWAP1 00002503: DUP1 00002504: PUSH1 0x0a 00002506: ADD 00002507: SLOAD 00002508: SWAP1 00002509: DUP1 0000250a: PUSH1 0x0b 0000250c: ADD 0000250d: SLOAD 0000250e: SWAP1 0000250f: POP 00002510: DUP15 00002511: JUMP 00002512: JUMPDEST 00002513: PUSH1 0x0a 00002515: PUSH1 0x00 00002517: SWAP1 00002518: SLOAD 00002519: SWAP1 0000251a: PUSH2 0x0100 0000251d: EXP 0000251e: SWAP1 0000251f: DIV 00002520: PUSH8 0xffffffffffffffff 00002529: AND 0000252a: DUP2 0000252b: JUMP 0000252c: JUMPDEST 0000252d: PUSH1 0x00 0000252f: PUSH2 0x2553 00002532: DUP3 00002533: PUSH1 0x01 00002535: PUSH1 0x00 00002537: DUP7 00002538: DUP2 00002539: MSTORE 0000253a: PUSH1 0x20 0000253c: ADD 0000253d: SWAP1 0000253e: DUP2 0000253f: MSTORE 00002540: PUSH1 0x20 00002542: ADD 00002543: PUSH1 0x00 00002545: KECCAK256 00002546: PUSH2 0x41cf 00002549: SWAP1 0000254a: SWAP2 0000254b: SWAP1 0000254c: PUSH4 0xffffffff 00002551: AND 00002552: JUMP 00002553: JUMPDEST 00002554: SWAP1 00002555: POP 00002556: SWAP3 00002557: SWAP2 00002558: POP 00002559: POP 0000255a: JUMP 0000255b: JUMPDEST 0000255c: PUSH2 0x2563 0000255f: PUSH2 0x41c7 00002562: JUMP 00002563: JUMPDEST 00002564: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002579: AND 0000257a: PUSH1 0x00 0000257c: DUP1 0000257d: SLOAD 0000257e: SWAP1 0000257f: PUSH2 0x0100 00002582: EXP 00002583: SWAP1 00002584: DIV 00002585: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000259a: AND 0000259b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025b0: AND 000025b1: EQ 000025b2: PUSH2 0x2623 000025b5: JUMPI 000025b6: PUSH1 0x40 000025b8: MLOAD 000025b9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000025da: DUP2 000025db: MSTORE 000025dc: PUSH1 0x04 000025de: ADD 000025df: DUP1 000025e0: DUP1 000025e1: PUSH1 0x20 000025e3: ADD 000025e4: DUP3 000025e5: DUP2 000025e6: SUB 000025e7: DUP3 000025e8: MSTORE 000025e9: PUSH1 0x20 000025eb: DUP2 000025ec: MSTORE 000025ed: PUSH1 0x20 000025ef: ADD 000025f0: DUP1 000025f1: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00002612: DUP2 00002613: MSTORE 00002614: POP 00002615: PUSH1 0x20 00002617: ADD 00002618: SWAP2 00002619: POP 0000261a: POP 0000261b: PUSH1 0x40 0000261d: MLOAD 0000261e: DUP1 0000261f: SWAP2 00002620: SUB 00002621: SWAP1 00002622: REVERT 00002623: JUMPDEST 00002624: PUSH1 0x00 00002626: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000263b: AND 0000263c: PUSH1 0x00 0000263e: DUP1 0000263f: SLOAD 00002640: SWAP1 00002641: PUSH2 0x0100 00002644: EXP 00002645: SWAP1 00002646: DIV 00002647: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000265c: AND 0000265d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002672: AND 00002673: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00002694: PUSH1 0x40 00002696: MLOAD 00002697: PUSH1 0x40 00002699: MLOAD 0000269a: DUP1 0000269b: SWAP2 0000269c: SUB 0000269d: SWAP1 0000269e: LOG3 0000269f: PUSH1 0x00 000026a1: DUP1 000026a2: PUSH1 0x00 000026a4: PUSH2 0x0100 000026a7: EXP 000026a8: DUP2 000026a9: SLOAD 000026aa: DUP2 000026ab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026c0: MUL 000026c1: NOT 000026c2: AND 000026c3: SWAP1 000026c4: DUP4 000026c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026da: AND 000026db: MUL 000026dc: OR 000026dd: SWAP1 000026de: SSTORE 000026df: POP 000026e0: JUMP 000026e1: JUMPDEST 000026e2: PUSH1 0x00 000026e4: DUP1 000026e5: DUP4 000026e6: PUSH1 0x00 000026e8: DUP1 000026e9: SHL 000026ea: PUSH1 0x02 000026ec: PUSH1 0x00 000026ee: DUP4 000026ef: DUP2 000026f0: MSTORE 000026f1: PUSH1 0x20 000026f3: ADD 000026f4: SWAP1 000026f5: DUP2 000026f6: MSTORE 000026f7: PUSH1 0x20 000026f9: ADD 000026fa: PUSH1 0x00 000026fc: KECCAK256 000026fd: PUSH1 0x08 000026ff: ADD 00002700: SLOAD 00002701: EQ 00002702: ISZERO 00002703: PUSH2 0x2774 00002706: JUMPI 00002707: PUSH1 0x40 00002709: MLOAD 0000270a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000272b: DUP2 0000272c: MSTORE 0000272d: PUSH1 0x04 0000272f: ADD 00002730: DUP1 00002731: DUP1 00002732: PUSH1 0x20 00002734: ADD 00002735: DUP3 00002736: DUP2 00002737: SUB 00002738: DUP3 00002739: MSTORE 0000273a: PUSH1 0x18 0000273c: DUP2 0000273d: MSTORE 0000273e: PUSH1 0x20 00002740: ADD 00002741: DUP1 00002742: PUSH32 0x41756374696f6e206e6f74207965742066696e69736865640000000000000000 00002763: DUP2 00002764: MSTORE 00002765: POP 00002766: PUSH1 0x20 00002768: ADD 00002769: SWAP2 0000276a: POP 0000276b: POP 0000276c: PUSH1 0x40 0000276e: MLOAD 0000276f: DUP1 00002770: SWAP2 00002771: SUB 00002772: SWAP1 00002773: REVERT 00002774: JUMPDEST 00002775: PUSH1 0x00 00002777: JUMPDEST 00002778: DUP5 00002779: MLOAD 0000277a: DUP2 0000277b: LT 0000277c: ISZERO 0000277d: PUSH2 0x2837 00002780: JUMPI 00002781: PUSH2 0x27b8 00002784: DUP6 00002785: DUP3 00002786: DUP2 00002787: MLOAD 00002788: DUP2 00002789: LT 0000278a: PUSH2 0x278f 0000278d: JUMPI 0000278e: INVALID 0000278f: JUMPDEST 00002790: PUSH1 0x20 00002792: MUL 00002793: PUSH1 0x20 00002795: ADD 00002796: ADD 00002797: MLOAD 00002798: PUSH1 0x01 0000279a: PUSH1 0x00 0000279c: DUP10 0000279d: DUP2 0000279e: MSTORE 0000279f: PUSH1 0x20 000027a1: ADD 000027a2: SWAP1 000027a3: DUP2 000027a4: MSTORE 000027a5: PUSH1 0x20 000027a7: ADD 000027a8: PUSH1 0x00 000027aa: KECCAK256 000027ab: PUSH2 0x420b 000027ae: SWAP1 000027af: SWAP2 000027b0: SWAP1 000027b1: PUSH4 0xffffffff 000027b6: AND 000027b7: JUMP 000027b8: JUMPDEST 000027b9: PUSH2 0x282a 000027bc: JUMPI 000027bd: PUSH1 0x40 000027bf: MLOAD 000027c0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000027e1: DUP2 000027e2: MSTORE 000027e3: PUSH1 0x04 000027e5: ADD 000027e6: DUP1 000027e7: DUP1 000027e8: PUSH1 0x20 000027ea: ADD 000027eb: DUP3 000027ec: DUP2 000027ed: SUB 000027ee: DUP3 000027ef: MSTORE 000027f0: PUSH1 0x1c 000027f2: DUP2 000027f3: MSTORE 000027f4: PUSH1 0x20 000027f6: ADD 000027f7: DUP1 000027f8: PUSH32 0x6f72646572206973206e6f206c6f6e67657220636c61696d61626c6500000000 00002819: DUP2 0000281a: MSTORE 0000281b: POP 0000281c: PUSH1 0x20 0000281e: ADD 0000281f: SWAP2 00002820: POP 00002821: POP 00002822: PUSH1 0x40 00002824: MLOAD 00002825: DUP1 00002826: SWAP2 00002827: SUB 00002828: SWAP1 00002829: REVERT 0000282a: JUMPDEST 0000282b: DUP1 0000282c: DUP1 0000282d: PUSH1 0x01 0000282f: ADD 00002830: SWAP2 00002831: POP 00002832: POP 00002833: PUSH2 0x2777 00002836: JUMP 00002837: JUMPDEST 00002838: POP 00002839: PUSH2 0x2840 0000283c: PUSH2 0x56a4 0000283f: JUMP 00002840: JUMPDEST 00002841: PUSH1 0x02 00002843: PUSH1 0x00 00002845: DUP8 00002846: DUP2 00002847: MSTORE 00002848: PUSH1 0x20 0000284a: ADD 0000284b: SWAP1 0000284c: DUP2 0000284d: MSTORE 0000284e: PUSH1 0x20 00002850: ADD 00002851: PUSH1 0x00 00002853: KECCAK256 00002854: PUSH1 0x40 00002856: MLOAD 00002857: DUP1 00002858: PUSH2 0x01c0 0000285b: ADD 0000285c: PUSH1 0x40 0000285e: MSTORE 0000285f: SWAP1 00002860: DUP2 00002861: PUSH1 0x00 00002863: DUP3 00002864: ADD 00002865: PUSH1 0x00 00002867: SWAP1 00002868: SLOAD 00002869: SWAP1 0000286a: PUSH2 0x0100 0000286d: EXP 0000286e: SWAP1 0000286f: DIV 00002870: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002885: AND 00002886: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000289b: AND 0000289c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000028b1: AND 000028b2: DUP2 000028b3: MSTORE 000028b4: PUSH1 0x20 000028b6: ADD 000028b7: PUSH1 0x01 000028b9: DUP3 000028ba: ADD 000028bb: PUSH1 0x00 000028bd: SWAP1 000028be: SLOAD 000028bf: SWAP1 000028c0: PUSH2 0x0100 000028c3: EXP 000028c4: SWAP1 000028c5: DIV 000028c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000028db: AND 000028dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000028f1: AND 000028f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002907: AND 00002908: DUP2 00002909: MSTORE 0000290a: PUSH1 0x20 0000290c: ADD 0000290d: PUSH1 0x02 0000290f: DUP3 00002910: ADD 00002911: SLOAD 00002912: DUP2 00002913: MSTORE 00002914: PUSH1 0x20 00002916: ADD 00002917: PUSH1 0x03 00002919: DUP3 0000291a: ADD 0000291b: SLOAD 0000291c: DUP2 0000291d: MSTORE 0000291e: PUSH1 0x20 00002920: ADD 00002921: PUSH1 0x04 00002923: DUP3 00002924: ADD 00002925: SLOAD 00002926: DUP2 00002927: MSTORE 00002928: PUSH1 0x20 0000292a: ADD 0000292b: PUSH1 0x05 0000292d: DUP3 0000292e: ADD 0000292f: SLOAD 00002930: DUP2 00002931: MSTORE 00002932: PUSH1 0x20 00002934: ADD 00002935: PUSH1 0x06 00002937: DUP3 00002938: ADD 00002939: SLOAD 0000293a: DUP2 0000293b: MSTORE 0000293c: PUSH1 0x20 0000293e: ADD 0000293f: PUSH1 0x07 00002941: DUP3 00002942: ADD 00002943: SLOAD 00002944: DUP2 00002945: MSTORE 00002946: PUSH1 0x20 00002948: ADD 00002949: PUSH1 0x08 0000294b: DUP3 0000294c: ADD 0000294d: SLOAD 0000294e: DUP2 0000294f: MSTORE 00002950: PUSH1 0x20 00002952: ADD 00002953: PUSH1 0x09 00002955: DUP3 00002956: ADD 00002957: PUSH1 0x00 00002959: SWAP1 0000295a: SLOAD 0000295b: SWAP1 0000295c: PUSH2 0x0100 0000295f: EXP 00002960: SWAP1 00002961: DIV 00002962: PUSH12 0xffffffffffffffffffffffff 0000296f: AND 00002970: PUSH12 0xffffffffffffffffffffffff 0000297d: AND 0000297e: PUSH12 0xffffffffffffffffffffffff 0000298b: AND 0000298c: DUP2 0000298d: MSTORE 0000298e: PUSH1 0x20 00002990: ADD 00002991: PUSH1 0x09 00002993: DUP3 00002994: ADD 00002995: PUSH1 0x0c 00002997: SWAP1 00002998: SLOAD 00002999: SWAP1 0000299a: PUSH2 0x0100 0000299d: EXP 0000299e: SWAP1 0000299f: DIV 000029a0: PUSH1 0xff 000029a2: AND 000029a3: ISZERO 000029a4: ISZERO 000029a5: ISZERO 000029a6: ISZERO 000029a7: DUP2 000029a8: MSTORE 000029a9: PUSH1 0x20 000029ab: ADD 000029ac: PUSH1 0x09 000029ae: DUP3 000029af: ADD 000029b0: PUSH1 0x0d 000029b2: SWAP1 000029b3: SLOAD 000029b4: SWAP1 000029b5: PUSH2 0x0100 000029b8: EXP 000029b9: SWAP1 000029ba: DIV 000029bb: PUSH1 0xff 000029bd: AND 000029be: ISZERO 000029bf: ISZERO 000029c0: ISZERO 000029c1: ISZERO 000029c2: DUP2 000029c3: MSTORE 000029c4: PUSH1 0x20 000029c6: ADD 000029c7: PUSH1 0x0a 000029c9: DUP3 000029ca: ADD 000029cb: SLOAD 000029cc: DUP2 000029cd: MSTORE 000029ce: PUSH1 0x20 000029d0: ADD 000029d1: PUSH1 0x0b 000029d3: DUP3 000029d4: ADD 000029d5: SLOAD 000029d6: DUP2 000029d7: MSTORE 000029d8: POP 000029d9: POP 000029da: SWAP1 000029db: POP 000029dc: PUSH1 0x00 000029de: DUP1 000029df: PUSH2 0x29ec 000029e2: DUP4 000029e3: PUSH2 0x0100 000029e6: ADD 000029e7: MLOAD 000029e8: PUSH2 0x3e42 000029eb: JUMP 000029ec: JUMPDEST 000029ed: SWAP3 000029ee: POP 000029ef: SWAP3 000029f0: POP 000029f1: POP 000029f2: PUSH1 0x00 000029f4: PUSH2 0x2a10 000029f7: DUP9 000029f8: PUSH1 0x00 000029fa: DUP2 000029fb: MLOAD 000029fc: DUP2 000029fd: LT 000029fe: PUSH2 0x2a03 00002a01: JUMPI 00002a02: INVALID 00002a03: JUMPDEST 00002a04: PUSH1 0x20 00002a06: MUL 00002a07: PUSH1 0x20 00002a09: ADD 00002a0a: ADD 00002a0b: MLOAD 00002a0c: PUSH2 0x3e42 00002a0f: JUMP 00002a10: JUMPDEST 00002a11: POP 00002a12: POP 00002a13: SWAP1 00002a14: POP 00002a15: PUSH1 0x00 00002a17: PUSH1 0x02 00002a19: PUSH1 0x00 00002a1b: DUP12 00002a1c: DUP2 00002a1d: MSTORE 00002a1e: PUSH1 0x20 00002a20: ADD 00002a21: SWAP1 00002a22: DUP2 00002a23: MSTORE 00002a24: PUSH1 0x20 00002a26: ADD 00002a27: PUSH1 0x00 00002a29: KECCAK256 00002a2a: PUSH1 0x09 00002a2c: ADD 00002a2d: PUSH1 0x0c 00002a2f: SWAP1 00002a30: SLOAD 00002a31: SWAP1 00002a32: PUSH2 0x0100 00002a35: EXP 00002a36: SWAP1 00002a37: DIV 00002a38: PUSH1 0xff 00002a3a: AND 00002a3b: SWAP1 00002a3c: POP 00002a3d: PUSH1 0x00 00002a3f: JUMPDEST 00002a40: DUP10 00002a41: MLOAD 00002a42: DUP2 00002a43: LT 00002a44: ISZERO 00002a45: PUSH2 0x2d13 00002a48: JUMPI 00002a49: PUSH1 0x00 00002a4b: DUP1 00002a4c: PUSH1 0x00 00002a4e: PUSH2 0x2a69 00002a51: DUP14 00002a52: DUP6 00002a53: DUP2 00002a54: MLOAD 00002a55: DUP2 00002a56: LT 00002a57: PUSH2 0x2a5c 00002a5a: JUMPI 00002a5b: INVALID 00002a5c: JUMPDEST 00002a5d: PUSH1 0x20 00002a5f: MUL 00002a60: PUSH1 0x20 00002a62: ADD 00002a63: ADD 00002a64: MLOAD 00002a65: PUSH2 0x3e42 00002a68: JUMP 00002a69: JUMPDEST 00002a6a: SWAP3 00002a6b: POP 00002a6c: SWAP3 00002a6d: POP 00002a6e: SWAP3 00002a6f: POP 00002a70: DUP6 00002a71: PUSH8 0xffffffffffffffff 00002a7a: AND 00002a7b: DUP4 00002a7c: PUSH8 0xffffffffffffffff 00002a85: AND 00002a86: EQ 00002a87: PUSH2 0x2adb 00002a8a: JUMPI 00002a8b: PUSH1 0x40 00002a8d: MLOAD 00002a8e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002aaf: DUP2 00002ab0: MSTORE 00002ab1: PUSH1 0x04 00002ab3: ADD 00002ab4: DUP1 00002ab5: DUP1 00002ab6: PUSH1 0x20 00002ab8: ADD 00002ab9: DUP3 00002aba: DUP2 00002abb: SUB 00002abc: DUP3 00002abd: MSTORE 00002abe: PUSH1 0x23 00002ac0: DUP2 00002ac1: MSTORE 00002ac2: PUSH1 0x20 00002ac4: ADD 00002ac5: DUP1 00002ac6: PUSH2 0x5a23 00002ac9: PUSH1 0x23 00002acb: SWAP2 00002acc: CODECOPY 00002acd: PUSH1 0x40 00002acf: ADD 00002ad0: SWAP2 00002ad1: POP 00002ad2: POP 00002ad3: PUSH1 0x40 00002ad5: MLOAD 00002ad6: DUP1 00002ad7: SWAP2 00002ad8: SUB 00002ad9: SWAP1 00002ada: REVERT 00002adb: JUMPDEST 00002adc: DUP5 00002add: ISZERO 00002ade: PUSH2 0x2b09 00002ae1: JUMPI 00002ae2: PUSH2 0x2b02 00002ae5: DUP2 00002ae6: PUSH12 0xffffffffffffffffffffffff 00002af3: AND 00002af4: DUP13 00002af5: PUSH2 0x363c 00002af8: SWAP1 00002af9: SWAP2 00002afa: SWAP1 00002afb: PUSH4 0xffffffff 00002b00: AND 00002b01: JUMP 00002b02: JUMPDEST 00002b03: SWAP11 00002b04: POP 00002b05: PUSH2 0x2c9c 00002b08: JUMP 00002b09: JUMPDEST 00002b0a: DUP9 00002b0b: PUSH2 0x0100 00002b0e: ADD 00002b0f: MLOAD 00002b10: DUP14 00002b11: DUP6 00002b12: DUP2 00002b13: MLOAD 00002b14: DUP2 00002b15: LT 00002b16: PUSH2 0x2b1b 00002b19: JUMPI 00002b1a: INVALID 00002b1b: JUMPDEST 00002b1c: PUSH1 0x20 00002b1e: MUL 00002b1f: PUSH1 0x20 00002b21: ADD 00002b22: ADD 00002b23: MLOAD 00002b24: EQ 00002b25: ISZERO 00002b26: PUSH2 0x2bde 00002b29: JUMPI 00002b2a: PUSH2 0x2b8f 00002b2d: PUSH2 0x2b80 00002b30: DUP9 00002b31: PUSH12 0xffffffffffffffffffffffff 00002b3e: AND 00002b3f: PUSH2 0x2b72 00002b42: DUP12 00002b43: PUSH12 0xffffffffffffffffffffffff 00002b50: AND 00002b51: DUP14 00002b52: PUSH2 0x0120 00002b55: ADD 00002b56: MLOAD 00002b57: PUSH12 0xffffffffffffffffffffffff 00002b64: AND 00002b65: PUSH2 0x36c4 00002b68: SWAP1 00002b69: SWAP2 00002b6a: SWAP1 00002b6b: PUSH4 0xffffffff 00002b70: AND 00002b71: JUMP 00002b72: JUMPDEST 00002b73: PUSH2 0x374a 00002b76: SWAP1 00002b77: SWAP2 00002b78: SWAP1 00002b79: PUSH4 0xffffffff 00002b7e: AND 00002b7f: JUMP 00002b80: JUMPDEST 00002b81: DUP14 00002b82: PUSH2 0x363c 00002b85: SWAP1 00002b86: SWAP2 00002b87: SWAP1 00002b88: PUSH4 0xffffffff 00002b8d: AND 00002b8e: JUMP 00002b8f: JUMPDEST 00002b90: SWAP12 00002b91: POP 00002b92: PUSH2 0x2bd7 00002b95: PUSH2 0x2bc8 00002b98: DUP11 00002b99: PUSH2 0x0120 00002b9c: ADD 00002b9d: MLOAD 00002b9e: PUSH12 0xffffffffffffffffffffffff 00002bab: AND 00002bac: DUP4 00002bad: PUSH12 0xffffffffffffffffffffffff 00002bba: AND 00002bbb: PUSH2 0x391b 00002bbe: SWAP1 00002bbf: SWAP2 00002bc0: SWAP1 00002bc1: PUSH4 0xffffffff 00002bc6: AND 00002bc7: JUMP 00002bc8: JUMPDEST 00002bc9: DUP13 00002bca: PUSH2 0x363c 00002bcd: SWAP1 00002bce: SWAP2 00002bcf: SWAP1 00002bd0: PUSH4 0xffffffff 00002bd5: AND 00002bd6: JUMP 00002bd7: JUMPDEST 00002bd8: SWAP11 00002bd9: POP 00002bda: PUSH2 0x2c9b 00002bdd: JUMP 00002bde: JUMPDEST 00002bdf: PUSH2 0x2c09 00002be2: DUP10 00002be3: PUSH2 0x0100 00002be6: ADD 00002be7: MLOAD 00002be8: DUP15 00002be9: DUP7 00002bea: DUP2 00002beb: MLOAD 00002bec: DUP2 00002bed: LT 00002bee: PUSH2 0x2bf3 00002bf1: JUMPI 00002bf2: INVALID 00002bf3: JUMPDEST 00002bf4: PUSH1 0x20 00002bf6: MUL 00002bf7: PUSH1 0x20 00002bf9: ADD 00002bfa: ADD 00002bfb: MLOAD 00002bfc: PUSH2 0x4248 00002bff: SWAP1 00002c00: SWAP2 00002c01: SWAP1 00002c02: PUSH4 0xffffffff 00002c07: AND 00002c08: JUMP 00002c09: JUMPDEST 00002c0a: ISZERO 00002c0b: PUSH2 0x2c76 00002c0e: JUMPI 00002c0f: PUSH2 0x2c6f 00002c12: PUSH2 0x2c60 00002c15: DUP9 00002c16: PUSH12 0xffffffffffffffffffffffff 00002c23: AND 00002c24: PUSH2 0x2c52 00002c27: DUP12 00002c28: PUSH12 0xffffffffffffffffffffffff 00002c35: AND 00002c36: DUP6 00002c37: PUSH12 0xffffffffffffffffffffffff 00002c44: AND 00002c45: PUSH2 0x36c4 00002c48: SWAP1 00002c49: SWAP2 00002c4a: SWAP1 00002c4b: PUSH4 0xffffffff 00002c50: AND 00002c51: JUMP 00002c52: JUMPDEST 00002c53: PUSH2 0x374a 00002c56: SWAP1 00002c57: SWAP2 00002c58: SWAP1 00002c59: PUSH4 0xffffffff 00002c5e: AND 00002c5f: JUMP 00002c60: JUMPDEST 00002c61: DUP14 00002c62: PUSH2 0x363c 00002c65: SWAP1 00002c66: SWAP2 00002c67: SWAP1 00002c68: PUSH4 0xffffffff 00002c6d: AND 00002c6e: JUMP 00002c6f: JUMPDEST 00002c70: SWAP12 00002c71: POP 00002c72: PUSH2 0x2c9a 00002c75: JUMP 00002c76: JUMPDEST 00002c77: PUSH2 0x2c97 00002c7a: DUP2 00002c7b: PUSH12 0xffffffffffffffffffffffff 00002c88: AND 00002c89: DUP13 00002c8a: PUSH2 0x363c 00002c8d: SWAP1 00002c8e: SWAP2 00002c8f: SWAP1 00002c90: PUSH4 0xffffffff 00002c95: AND 00002c96: JUMP 00002c97: JUMPDEST 00002c98: SWAP11 00002c99: POP 00002c9a: JUMPDEST 00002c9b: JUMPDEST 00002c9c: JUMPDEST 00002c9d: DUP6 00002c9e: PUSH8 0xffffffffffffffff 00002ca7: AND 00002ca8: DUP15 00002ca9: PUSH32 0x3f2c83616e48a2f8b3c9cc26499e2e5c61643714dac49027d82cf6732f96a91a 00002cca: DUP5 00002ccb: DUP5 00002ccc: PUSH1 0x40 00002cce: MLOAD 00002ccf: DUP1 00002cd0: DUP4 00002cd1: PUSH12 0xffffffffffffffffffffffff 00002cde: AND 00002cdf: DUP2 00002ce0: MSTORE 00002ce1: PUSH1 0x20 00002ce3: ADD 00002ce4: DUP3 00002ce5: PUSH12 0xffffffffffffffffffffffff 00002cf2: AND 00002cf3: DUP2 00002cf4: MSTORE 00002cf5: PUSH1 0x20 00002cf7: ADD 00002cf8: SWAP3 00002cf9: POP 00002cfa: POP 00002cfb: POP 00002cfc: PUSH1 0x40 00002cfe: MLOAD 00002cff: DUP1 00002d00: SWAP2 00002d01: SUB 00002d02: SWAP1 00002d03: LOG3 00002d04: POP 00002d05: POP 00002d06: POP 00002d07: DUP1 00002d08: DUP1 00002d09: PUSH1 0x01 00002d0b: ADD 00002d0c: SWAP2 00002d0d: POP 00002d0e: POP 00002d0f: PUSH2 0x2a3f 00002d12: JUMP 00002d13: JUMPDEST 00002d14: POP 00002d15: PUSH2 0x2d20 00002d18: DUP11 00002d19: DUP10 00002d1a: DUP10 00002d1b: DUP6 00002d1c: PUSH2 0x4466 00002d1f: JUMP 00002d20: JUMPDEST 00002d21: POP 00002d22: POP 00002d23: POP 00002d24: POP 00002d25: POP 00002d26: POP 00002d27: SWAP3 00002d28: POP 00002d29: SWAP3 00002d2a: SWAP1 00002d2b: POP 00002d2c: JUMP 00002d2d: JUMPDEST 00002d2e: DUP2 00002d2f: PUSH1 0x02 00002d31: PUSH1 0x00 00002d33: DUP3 00002d34: DUP2 00002d35: MSTORE 00002d36: PUSH1 0x20 00002d38: ADD 00002d39: SWAP1 00002d3a: DUP2 00002d3b: MSTORE 00002d3c: PUSH1 0x20 00002d3e: ADD 00002d3f: PUSH1 0x00 00002d41: KECCAK256 00002d42: PUSH1 0x02 00002d44: ADD 00002d45: SLOAD 00002d46: TIMESTAMP 00002d47: LT 00002d48: PUSH2 0x2d9c 00002d4b: JUMPI 00002d4c: PUSH1 0x40 00002d4e: MLOAD 00002d4f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002d70: DUP2 00002d71: MSTORE 00002d72: PUSH1 0x04 00002d74: ADD 00002d75: DUP1 00002d76: DUP1 00002d77: PUSH1 0x20 00002d79: ADD 00002d7a: DUP3 00002d7b: DUP2 00002d7c: SUB 00002d7d: DUP3 00002d7e: MSTORE 00002d7f: PUSH1 0x32 00002d81: DUP2 00002d82: MSTORE 00002d83: PUSH1 0x20 00002d85: ADD 00002d86: DUP1 00002d87: PUSH2 0x5863 00002d8a: PUSH1 0x32 00002d8c: SWAP2 00002d8d: CODECOPY 00002d8e: PUSH1 0x40 00002d90: ADD 00002d91: SWAP2 00002d92: POP 00002d93: POP 00002d94: PUSH1 0x40 00002d96: MLOAD 00002d97: DUP1 00002d98: SWAP2 00002d99: SUB 00002d9a: SWAP1 00002d9b: REVERT 00002d9c: JUMPDEST 00002d9d: PUSH1 0x00 00002d9f: PUSH2 0x2da7 00002da2: CALLER 00002da3: PUSH2 0x1978 00002da6: JUMP 00002da7: JUMPDEST 00002da8: SWAP1 00002da9: POP 00002daa: PUSH1 0x00 00002dac: DUP1 00002dad: JUMPDEST 00002dae: DUP5 00002daf: MLOAD 00002db0: DUP2 00002db1: LT 00002db2: ISZERO 00002db3: PUSH2 0x2f27 00002db6: JUMPI 00002db7: PUSH1 0x00 00002db9: PUSH2 0x2df0 00002dbc: DUP7 00002dbd: DUP4 00002dbe: DUP2 00002dbf: MLOAD 00002dc0: DUP2 00002dc1: LT 00002dc2: PUSH2 0x2dc7 00002dc5: JUMPI 00002dc6: INVALID 00002dc7: JUMPDEST 00002dc8: PUSH1 0x20 00002dca: MUL 00002dcb: PUSH1 0x20 00002dcd: ADD 00002dce: ADD 00002dcf: MLOAD 00002dd0: PUSH1 0x01 00002dd2: PUSH1 0x00 00002dd4: DUP11 00002dd5: DUP2 00002dd6: MSTORE 00002dd7: PUSH1 0x20 00002dd9: ADD 00002dda: SWAP1 00002ddb: DUP2 00002ddc: MSTORE 00002ddd: PUSH1 0x20 00002ddf: ADD 00002de0: PUSH1 0x00 00002de2: KECCAK256 00002de3: PUSH2 0x455b 00002de6: SWAP1 00002de7: SWAP2 00002de8: SWAP1 00002de9: PUSH4 0xffffffff 00002dee: AND 00002def: JUMP 00002df0: JUMPDEST 00002df1: SWAP1 00002df2: POP 00002df3: DUP1 00002df4: ISZERO 00002df5: PUSH2 0x2f19 00002df8: JUMPI 00002df9: PUSH1 0x00 00002dfb: DUP1 00002dfc: PUSH1 0x00 00002dfe: PUSH2 0x2e19 00002e01: DUP10 00002e02: DUP7 00002e03: DUP2 00002e04: MLOAD 00002e05: DUP2 00002e06: LT 00002e07: PUSH2 0x2e0c 00002e0a: JUMPI 00002e0b: INVALID 00002e0c: JUMPDEST 00002e0d: PUSH1 0x20 00002e0f: MUL 00002e10: PUSH1 0x20 00002e12: ADD 00002e13: ADD 00002e14: MLOAD 00002e15: PUSH2 0x3e42 00002e18: JUMP 00002e19: JUMPDEST 00002e1a: SWAP3 00002e1b: POP 00002e1c: SWAP3 00002e1d: POP 00002e1e: SWAP3 00002e1f: POP 00002e20: DUP7 00002e21: PUSH8 0xffffffffffffffff 00002e2a: AND 00002e2b: DUP4 00002e2c: PUSH8 0xffffffffffffffff 00002e35: AND 00002e36: EQ 00002e37: PUSH2 0x2e8b 00002e3a: JUMPI 00002e3b: PUSH1 0x40 00002e3d: MLOAD 00002e3e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002e5f: DUP2 00002e60: MSTORE 00002e61: PUSH1 0x04 00002e63: ADD 00002e64: DUP1 00002e65: DUP1 00002e66: PUSH1 0x20 00002e68: ADD 00002e69: DUP3 00002e6a: DUP2 00002e6b: SUB 00002e6c: DUP3 00002e6d: MSTORE 00002e6e: PUSH1 0x23 00002e70: DUP2 00002e71: MSTORE 00002e72: PUSH1 0x20 00002e74: ADD 00002e75: DUP1 00002e76: PUSH2 0x57f7 00002e79: PUSH1 0x23 00002e7b: SWAP2 00002e7c: CODECOPY 00002e7d: PUSH1 0x40 00002e7f: ADD 00002e80: SWAP2 00002e81: POP 00002e82: POP 00002e83: PUSH1 0x40 00002e85: MLOAD 00002e86: DUP1 00002e87: SWAP2 00002e88: SUB 00002e89: SWAP1 00002e8a: REVERT 00002e8b: JUMPDEST 00002e8c: PUSH2 0x2eac 00002e8f: DUP2 00002e90: PUSH12 0xffffffffffffffffffffffff 00002e9d: AND 00002e9e: DUP8 00002e9f: PUSH2 0x363c 00002ea2: SWAP1 00002ea3: SWAP2 00002ea4: SWAP1 00002ea5: PUSH4 0xffffffff 00002eaa: AND 00002eab: JUMP 00002eac: JUMPDEST 00002ead: SWAP6 00002eae: POP 00002eaf: DUP7 00002eb0: PUSH8 0xffffffffffffffff 00002eb9: AND 00002eba: DUP11 00002ebb: PUSH32 0x7edae327fe79804b2f38bd490d874a0d188d3ae8911b303205abe47400086ac4 00002edc: DUP5 00002edd: DUP5 00002ede: PUSH1 0x40 00002ee0: MLOAD 00002ee1: DUP1 00002ee2: DUP4 00002ee3: PUSH12 0xffffffffffffffffffffffff 00002ef0: AND 00002ef1: DUP2 00002ef2: MSTORE 00002ef3: PUSH1 0x20 00002ef5: ADD 00002ef6: DUP3 00002ef7: PUSH12 0xffffffffffffffffffffffff 00002f04: AND 00002f05: DUP2 00002f06: MSTORE 00002f07: PUSH1 0x20 00002f09: ADD 00002f0a: SWAP3 00002f0b: POP 00002f0c: POP 00002f0d: POP 00002f0e: PUSH1 0x40 00002f10: MLOAD 00002f11: DUP1 00002f12: SWAP2 00002f13: SUB 00002f14: SWAP1 00002f15: LOG3 00002f16: POP 00002f17: POP 00002f18: POP 00002f19: JUMPDEST 00002f1a: POP 00002f1b: DUP1 00002f1c: DUP1 00002f1d: PUSH1 0x01 00002f1f: ADD 00002f20: SWAP2 00002f21: POP 00002f22: POP 00002f23: PUSH2 0x2dad 00002f26: JUMP 00002f27: JUMPDEST 00002f28: POP 00002f29: PUSH2 0x2f89 00002f2c: CALLER 00002f2d: DUP3 00002f2e: PUSH1 0x02 00002f30: PUSH1 0x00 00002f32: DUP10 00002f33: DUP2 00002f34: MSTORE 00002f35: PUSH1 0x20 00002f37: ADD 00002f38: SWAP1 00002f39: DUP2 00002f3a: MSTORE 00002f3b: PUSH1 0x20 00002f3d: ADD 00002f3e: PUSH1 0x00 00002f40: KECCAK256 00002f41: PUSH1 0x01 00002f43: ADD 00002f44: PUSH1 0x00 00002f46: SWAP1 00002f47: SLOAD 00002f48: SWAP1 00002f49: PUSH2 0x0100 00002f4c: EXP 00002f4d: SWAP1 00002f4e: DIV 00002f4f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002f64: AND 00002f65: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002f7a: AND 00002f7b: PUSH2 0x4606 00002f7e: SWAP1 00002f7f: SWAP3 00002f80: SWAP2 00002f81: SWAP1 00002f82: PUSH4 0xffffffff 00002f87: AND 00002f88: JUMP 00002f89: JUMPDEST 00002f8a: POP 00002f8b: POP 00002f8c: POP 00002f8d: POP 00002f8e: POP 00002f8f: JUMP 00002f90: JUMPDEST 00002f91: PUSH1 0x00 00002f93: DUP1 00002f94: PUSH1 0x00 00002f96: SWAP1 00002f97: SLOAD 00002f98: SWAP1 00002f99: PUSH2 0x0100 00002f9c: EXP 00002f9d: SWAP1 00002f9e: DIV 00002f9f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002fb4: AND 00002fb5: SWAP1 00002fb6: POP 00002fb7: SWAP1 00002fb8: JUMP 00002fb9: JUMPDEST 00002fba: DUP6 00002fbb: PUSH1 0x00 00002fbd: PUSH1 0x02 00002fbf: PUSH1 0x00 00002fc1: DUP4 00002fc2: DUP2 00002fc3: MSTORE 00002fc4: PUSH1 0x20 00002fc6: ADD 00002fc7: SWAP1 00002fc8: DUP2 00002fc9: MSTORE 00002fca: PUSH1 0x20 00002fcc: ADD 00002fcd: PUSH1 0x00 00002fcf: KECCAK256 00002fd0: PUSH1 0x03 00002fd2: ADD 00002fd3: SLOAD 00002fd4: SWAP1 00002fd5: POP 00002fd6: PUSH1 0x00 00002fd8: DUP2 00002fd9: EQ 00002fda: ISZERO 00002fdb: DUP1 00002fdc: ISZERO 00002fdd: PUSH2 0x2fe6 00002fe0: JUMPI 00002fe1: POP 00002fe2: DUP1 00002fe3: TIMESTAMP 00002fe4: LT 00002fe5: ISZERO 00002fe6: JUMPDEST 00002fe7: DUP1 00002fe8: ISZERO 00002fe9: PUSH2 0x300a 00002fec: JUMPI 00002fed: POP 00002fee: PUSH1 0x00 00002ff0: DUP1 00002ff1: SHL 00002ff2: PUSH1 0x02 00002ff4: PUSH1 0x00 00002ff6: DUP5 00002ff7: DUP2 00002ff8: MSTORE 00002ff9: PUSH1 0x20 00002ffb: ADD 00002ffc: SWAP1 00002ffd: DUP2 00002ffe: MSTORE 00002fff: PUSH1 0x20 00003001: ADD 00003002: PUSH1 0x00 00003004: KECCAK256 00003005: PUSH1 0x08 00003007: ADD 00003008: SLOAD 00003009: EQ 0000300a: JUMPDEST 0000300b: PUSH2 0x305f 0000300e: JUMPI 0000300f: PUSH1 0x40 00003011: MLOAD 00003012: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003033: DUP2 00003034: MSTORE 00003035: PUSH1 0x04 00003037: ADD 00003038: DUP1 00003039: DUP1 0000303a: PUSH1 0x20 0000303c: ADD 0000303d: DUP3 0000303e: DUP2 0000303f: SUB 00003040: DUP3 00003041: MSTORE 00003042: PUSH1 0x28 00003044: DUP2 00003045: MSTORE 00003046: PUSH1 0x20 00003048: ADD 00003049: DUP1 0000304a: PUSH2 0x5a46 0000304d: PUSH1 0x28 0000304f: SWAP2 00003050: CODECOPY 00003051: PUSH1 0x40 00003053: ADD 00003054: SWAP2 00003055: POP 00003056: POP 00003057: PUSH1 0x40 00003059: MLOAD 0000305a: DUP1 0000305b: SWAP2 0000305c: SUB 0000305d: SWAP1 0000305e: REVERT 0000305f: JUMPDEST 00003060: POP 00003061: PUSH1 0x02 00003063: PUSH1 0x00 00003065: DUP9 00003066: DUP2 00003067: MSTORE 00003068: PUSH1 0x20 0000306a: ADD 0000306b: SWAP1 0000306c: DUP2 0000306d: MSTORE 0000306e: PUSH1 0x20 00003070: ADD 00003071: PUSH1 0x00 00003073: KECCAK256 00003074: PUSH1 0x09 00003076: ADD 00003077: PUSH1 0x0d 00003079: SWAP1 0000307a: SLOAD 0000307b: SWAP1 0000307c: PUSH2 0x0100 0000307f: EXP 00003080: SWAP1 00003081: DIV 00003082: PUSH1 0xff 00003084: AND 00003085: PUSH2 0x30d9 00003088: JUMPI 00003089: PUSH1 0x40 0000308b: MLOAD 0000308c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000030ad: DUP2 000030ae: MSTORE 000030af: PUSH1 0x04 000030b1: ADD 000030b2: DUP1 000030b3: DUP1 000030b4: PUSH1 0x20 000030b6: ADD 000030b7: DUP3 000030b8: DUP2 000030b9: SUB 000030ba: DUP3 000030bb: MSTORE 000030bc: PUSH1 0x28 000030be: DUP2 000030bf: MSTORE 000030c0: PUSH1 0x20 000030c2: ADD 000030c3: DUP1 000030c4: PUSH2 0x579e 000030c7: PUSH1 0x28 000030c9: SWAP2 000030ca: CODECOPY 000030cb: PUSH1 0x40 000030cd: ADD 000030ce: SWAP2 000030cf: POP 000030d0: POP 000030d1: PUSH1 0x40 000030d3: MLOAD 000030d4: DUP1 000030d5: SWAP2 000030d6: SUB 000030d7: SWAP1 000030d8: REVERT 000030d9: JUMPDEST 000030da: PUSH1 0x01 000030dc: DUP7 000030dd: MLOAD 000030de: EQ 000030df: DUP1 000030e0: ISZERO 000030e1: PUSH2 0x30eb 000030e4: JUMPI 000030e5: POP 000030e6: PUSH1 0x01 000030e8: DUP6 000030e9: MLOAD 000030ea: EQ 000030eb: JUMPDEST 000030ec: PUSH2 0x3140 000030ef: JUMPI 000030f0: PUSH1 0x40 000030f2: MLOAD 000030f3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003114: DUP2 00003115: MSTORE 00003116: PUSH1 0x04 00003118: ADD 00003119: DUP1 0000311a: DUP1 0000311b: PUSH1 0x20 0000311d: ADD 0000311e: DUP3 0000311f: DUP2 00003120: SUB 00003121: DUP3 00003122: MSTORE 00003123: PUSH1 0x27 00003125: DUP2 00003126: MSTORE 00003127: PUSH1 0x20 00003129: ADD 0000312a: DUP1 0000312b: PUSH2 0x5955 0000312e: PUSH1 0x27 00003130: SWAP2 00003131: CODECOPY 00003132: PUSH1 0x40 00003134: ADD 00003135: SWAP2 00003136: POP 00003137: POP 00003138: PUSH1 0x40 0000313a: MLOAD 0000313b: DUP1 0000313c: SWAP2 0000313d: SUB 0000313e: SWAP1 0000313f: REVERT 00003140: JUMPDEST 00003141: PUSH1 0x00 00003143: PUSH2 0x314b 00003146: CALLER 00003147: PUSH2 0x1978 0000314a: JUMP 0000314b: JUMPDEST 0000314c: SWAP1 0000314d: POP 0000314e: PUSH2 0x31a8 00003151: PUSH2 0x3183 00003154: DUP3 00003155: DUP10 00003156: PUSH1 0x00 00003158: DUP2 00003159: MLOAD 0000315a: DUP2 0000315b: LT 0000315c: PUSH2 0x3161 0000315f: JUMPI 00003160: INVALID 00003161: JUMPDEST 00003162: PUSH1 0x20 00003164: MUL 00003165: PUSH1 0x20 00003167: ADD 00003168: ADD 00003169: MLOAD 0000316a: DUP10 0000316b: PUSH1 0x00 0000316d: DUP2 0000316e: MLOAD 0000316f: DUP2 00003170: LT 00003171: PUSH2 0x3176 00003174: JUMPI 00003175: INVALID 00003176: JUMPDEST 00003177: PUSH1 0x20 00003179: MUL 0000317a: PUSH1 0x20 0000317c: ADD 0000317d: ADD 0000317e: MLOAD 0000317f: PUSH2 0x38da 00003182: JUMP 00003183: JUMPDEST 00003184: PUSH1 0x02 00003186: PUSH1 0x00 00003188: DUP12 00003189: DUP2 0000318a: MSTORE 0000318b: PUSH1 0x20 0000318d: ADD 0000318e: SWAP1 0000318f: DUP2 00003190: MSTORE 00003191: PUSH1 0x20 00003193: ADD 00003194: PUSH1 0x00 00003196: KECCAK256 00003197: PUSH1 0x07 00003199: ADD 0000319a: SLOAD 0000319b: PUSH2 0x4248 0000319e: SWAP1 0000319f: SWAP2 000031a0: SWAP1 000031a1: PUSH4 0xffffffff 000031a6: AND 000031a7: JUMP 000031a8: JUMPDEST 000031a9: PUSH2 0x31fd 000031ac: JUMPI 000031ad: PUSH1 0x40 000031af: MLOAD 000031b0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000031d1: DUP2 000031d2: MSTORE 000031d3: PUSH1 0x04 000031d5: ADD 000031d6: DUP1 000031d7: DUP1 000031d8: PUSH1 0x20 000031da: ADD 000031db: DUP3 000031dc: DUP2 000031dd: SUB 000031de: DUP3 000031df: MSTORE 000031e0: PUSH1 0x31 000031e2: DUP2 000031e3: MSTORE 000031e4: PUSH1 0x20 000031e6: ADD 000031e7: DUP1 000031e8: PUSH2 0x57c6 000031eb: PUSH1 0x31 000031ed: SWAP2 000031ee: CODECOPY 000031ef: PUSH1 0x40 000031f1: ADD 000031f2: SWAP2 000031f3: POP 000031f4: POP 000031f5: PUSH1 0x40 000031f7: MLOAD 000031f8: DUP1 000031f9: SWAP2 000031fa: SUB 000031fb: SWAP1 000031fc: REVERT 000031fd: JUMPDEST 000031fe: PUSH2 0x320c 00003201: DUP9 00003202: DUP9 00003203: DUP9 00003204: DUP9 00003205: DUP9 00003206: DUP9 00003207: CALLER 00003208: PUSH2 0x46a8 0000320b: JUMP 0000320c: JUMPDEST 0000320d: POP 0000320e: PUSH2 0x3216 00003211: DUP9 00003212: PUSH2 0x1a0d 00003215: JUMP 00003216: JUMPDEST 00003217: POP 00003218: POP 00003219: POP 0000321a: POP 0000321b: POP 0000321c: POP 0000321d: POP 0000321e: POP 0000321f: POP 00003220: JUMP 00003221: JUMPDEST 00003222: PUSH1 0x08 00003224: SLOAD 00003225: DUP2 00003226: JUMP 00003227: JUMPDEST 00003228: PUSH1 0x00 0000322a: DUP7 0000322b: PUSH1 0x02 0000322d: PUSH1 0x00 0000322f: DUP3 00003230: DUP2 00003231: MSTORE 00003232: PUSH1 0x20 00003234: ADD 00003235: SWAP1 00003236: DUP2 00003237: MSTORE 00003238: PUSH1 0x20 0000323a: ADD 0000323b: PUSH1 0x00 0000323d: KECCAK256 0000323e: PUSH1 0x03 00003240: ADD 00003241: SLOAD 00003242: TIMESTAMP 00003243: LT 00003244: PUSH2 0x3298 00003247: JUMPI 00003248: PUSH1 0x40 0000324a: MLOAD 0000324b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000326c: DUP2 0000326d: MSTORE 0000326e: PUSH1 0x04 00003270: ADD 00003271: DUP1 00003272: DUP1 00003273: PUSH1 0x20 00003275: ADD 00003276: DUP3 00003277: DUP2 00003278: SUB 00003279: DUP3 0000327a: MSTORE 0000327b: PUSH1 0x22 0000327d: DUP2 0000327e: MSTORE 0000327f: PUSH1 0x20 00003281: ADD 00003282: DUP1 00003283: PUSH2 0x5b17 00003286: PUSH1 0x22 00003288: SWAP2 00003289: CODECOPY 0000328a: PUSH1 0x40 0000328c: ADD 0000328d: SWAP2 0000328e: POP 0000328f: POP 00003290: PUSH1 0x40 00003292: MLOAD 00003293: DUP1 00003294: SWAP2 00003295: SUB 00003296: SWAP1 00003297: REVERT 00003298: JUMPDEST 00003299: PUSH2 0x32a7 0000329c: DUP9 0000329d: DUP9 0000329e: DUP9 0000329f: DUP9 000032a0: DUP9 000032a1: DUP9 000032a2: CALLER 000032a3: PUSH2 0x46a8 000032a6: JUMP 000032a7: JUMPDEST 000032a8: SWAP2 000032a9: POP 000032aa: POP 000032ab: SWAP7 000032ac: SWAP6 000032ad: POP 000032ae: POP 000032af: POP 000032b0: POP 000032b1: POP 000032b2: POP 000032b3: JUMP 000032b4: JUMPDEST 000032b5: PUSH2 0x03e8 000032b8: DUP2 000032b9: JUMP 000032ba: JUMPDEST 000032bb: PUSH1 0x03 000032bd: PUSH1 0x20 000032bf: MSTORE 000032c0: DUP1 000032c1: PUSH1 0x00 000032c3: MSTORE 000032c4: PUSH1 0x40 000032c6: PUSH1 0x00 000032c8: KECCAK256 000032c9: PUSH1 0x00 000032cb: SWAP2 000032cc: POP 000032cd: SLOAD 000032ce: SWAP1 000032cf: PUSH2 0x0100 000032d2: EXP 000032d3: SWAP1 000032d4: DIV 000032d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000032ea: AND 000032eb: DUP2 000032ec: JUMP 000032ed: JUMPDEST 000032ee: PUSH1 0x09 000032f0: SLOAD 000032f1: DUP2 000032f2: JUMP 000032f3: JUMPDEST 000032f4: PUSH1 0x00 000032f6: DUP8 000032f7: PUSH1 0x02 000032f9: PUSH1 0x00 000032fb: DUP3 000032fc: DUP2 000032fd: MSTORE 000032fe: PUSH1 0x20 00003300: ADD 00003301: SWAP1 00003302: DUP2 00003303: MSTORE 00003304: PUSH1 0x20 00003306: ADD 00003307: PUSH1 0x00 00003309: KECCAK256 0000330a: PUSH1 0x03 0000330c: ADD 0000330d: SLOAD 0000330e: TIMESTAMP 0000330f: LT 00003310: PUSH2 0x3364 00003313: JUMPI 00003314: PUSH1 0x40 00003316: MLOAD 00003317: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003338: DUP2 00003339: MSTORE 0000333a: PUSH1 0x04 0000333c: ADD 0000333d: DUP1 0000333e: DUP1 0000333f: PUSH1 0x20 00003341: ADD 00003342: DUP3 00003343: DUP2 00003344: SUB 00003345: DUP3 00003346: MSTORE 00003347: PUSH1 0x22 00003349: DUP2 0000334a: MSTORE 0000334b: PUSH1 0x20 0000334d: ADD 0000334e: DUP1 0000334f: PUSH2 0x5b17 00003352: PUSH1 0x22 00003354: SWAP2 00003355: CODECOPY 00003356: PUSH1 0x40 00003358: ADD 00003359: SWAP2 0000335a: POP 0000335b: POP 0000335c: PUSH1 0x40 0000335e: MLOAD 0000335f: DUP1 00003360: SWAP2 00003361: SUB 00003362: SWAP1 00003363: REVERT 00003364: JUMPDEST 00003365: PUSH2 0x3373 00003368: DUP10 00003369: DUP10 0000336a: DUP10 0000336b: DUP10 0000336c: DUP10 0000336d: DUP10 0000336e: DUP10 0000336f: PUSH2 0x46a8 00003372: JUMP 00003373: JUMPDEST 00003374: SWAP2 00003375: POP 00003376: POP 00003377: SWAP8 00003378: SWAP7 00003379: POP 0000337a: POP 0000337b: POP 0000337c: POP 0000337d: POP 0000337e: POP 0000337f: POP 00003380: JUMP 00003381: JUMPDEST 00003382: PUSH2 0x3389 00003385: PUSH2 0x41c7 00003388: JUMP 00003389: JUMPDEST 0000338a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000339f: AND 000033a0: PUSH1 0x00 000033a2: DUP1 000033a3: SLOAD 000033a4: SWAP1 000033a5: PUSH2 0x0100 000033a8: EXP 000033a9: SWAP1 000033aa: DIV 000033ab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000033c0: AND 000033c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000033d6: AND 000033d7: EQ 000033d8: PUSH2 0x3449 000033db: JUMPI 000033dc: PUSH1 0x40 000033de: MLOAD 000033df: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003400: DUP2 00003401: MSTORE 00003402: PUSH1 0x04 00003404: ADD 00003405: DUP1 00003406: DUP1 00003407: PUSH1 0x20 00003409: ADD 0000340a: DUP3 0000340b: DUP2 0000340c: SUB 0000340d: DUP3 0000340e: MSTORE 0000340f: PUSH1 0x20 00003411: DUP2 00003412: MSTORE 00003413: PUSH1 0x20 00003415: ADD 00003416: DUP1 00003417: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00003438: DUP2 00003439: MSTORE 0000343a: POP 0000343b: PUSH1 0x20 0000343d: ADD 0000343e: SWAP2 0000343f: POP 00003440: POP 00003441: PUSH1 0x40 00003443: MLOAD 00003444: DUP1 00003445: SWAP2 00003446: SUB 00003447: SWAP1 00003448: REVERT 00003449: JUMPDEST 0000344a: PUSH1 0x00 0000344c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003461: AND 00003462: DUP2 00003463: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003478: AND 00003479: EQ 0000347a: ISZERO 0000347b: PUSH2 0x34cf 0000347e: JUMPI 0000347f: PUSH1 0x40 00003481: MLOAD 00003482: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000034a3: DUP2 000034a4: MSTORE 000034a5: PUSH1 0x04 000034a7: ADD 000034a8: DUP1 000034a9: DUP1 000034aa: PUSH1 0x20 000034ac: ADD 000034ad: DUP3 000034ae: DUP2 000034af: SUB 000034b0: DUP3 000034b1: MSTORE 000034b2: PUSH1 0x26 000034b4: DUP2 000034b5: MSTORE 000034b6: PUSH1 0x20 000034b8: ADD 000034b9: DUP1 000034ba: PUSH2 0x581a 000034bd: PUSH1 0x26 000034bf: SWAP2 000034c0: CODECOPY 000034c1: PUSH1 0x40 000034c3: ADD 000034c4: SWAP2 000034c5: POP 000034c6: POP 000034c7: PUSH1 0x40 000034c9: MLOAD 000034ca: DUP1 000034cb: SWAP2 000034cc: SUB 000034cd: SWAP1 000034ce: REVERT 000034cf: JUMPDEST 000034d0: DUP1 000034d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000034e6: AND 000034e7: PUSH1 0x00 000034e9: DUP1 000034ea: SLOAD 000034eb: SWAP1 000034ec: PUSH2 0x0100 000034ef: EXP 000034f0: SWAP1 000034f1: DIV 000034f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003507: AND 00003508: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000351d: AND 0000351e: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 0000353f: PUSH1 0x40 00003541: MLOAD 00003542: PUSH1 0x40 00003544: MLOAD 00003545: DUP1 00003546: SWAP2 00003547: SUB 00003548: SWAP1 00003549: LOG3 0000354a: DUP1 0000354b: PUSH1 0x00 0000354d: DUP1 0000354e: PUSH2 0x0100 00003551: EXP 00003552: DUP2 00003553: SLOAD 00003554: DUP2 00003555: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000356a: MUL 0000356b: NOT 0000356c: AND 0000356d: SWAP1 0000356e: DUP4 0000356f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003584: AND 00003585: MUL 00003586: OR 00003587: SWAP1 00003588: SSTORE 00003589: POP 0000358a: POP 0000358b: JUMP 0000358c: JUMPDEST 0000358d: PUSH1 0x04 0000358f: PUSH1 0x20 00003591: MSTORE 00003592: DUP1 00003593: PUSH1 0x00 00003595: MSTORE 00003596: PUSH1 0x40 00003598: PUSH1 0x00 0000359a: KECCAK256 0000359b: PUSH1 0x00 0000359d: SWAP2 0000359e: POP 0000359f: SWAP1 000035a0: POP 000035a1: DUP1 000035a2: SLOAD 000035a3: PUSH1 0x01 000035a5: DUP2 000035a6: PUSH1 0x01 000035a8: AND 000035a9: ISZERO 000035aa: PUSH2 0x0100 000035ad: MUL 000035ae: SUB 000035af: AND 000035b0: PUSH1 0x02 000035b2: SWAP1 000035b3: DIV 000035b4: DUP1 000035b5: PUSH1 0x1f 000035b7: ADD 000035b8: PUSH1 0x20 000035ba: DUP1 000035bb: SWAP2 000035bc: DIV 000035bd: MUL 000035be: PUSH1 0x20 000035c0: ADD 000035c1: PUSH1 0x40 000035c3: MLOAD 000035c4: SWAP1 000035c5: DUP2 000035c6: ADD 000035c7: PUSH1 0x40 000035c9: MSTORE 000035ca: DUP1 000035cb: SWAP3 000035cc: SWAP2 000035cd: SWAP1 000035ce: DUP2 000035cf: DUP2 000035d0: MSTORE 000035d1: PUSH1 0x20 000035d3: ADD 000035d4: DUP3 000035d5: DUP1 000035d6: SLOAD 000035d7: PUSH1 0x01 000035d9: DUP2 000035da: PUSH1 0x01 000035dc: AND 000035dd: ISZERO 000035de: PUSH2 0x0100 000035e1: MUL 000035e2: SUB 000035e3: AND 000035e4: PUSH1 0x02 000035e6: SWAP1 000035e7: DIV 000035e8: DUP1 000035e9: ISZERO 000035ea: PUSH2 0x3634 000035ed: JUMPI 000035ee: DUP1 000035ef: PUSH1 0x1f 000035f1: LT 000035f2: PUSH2 0x3609 000035f5: JUMPI 000035f6: PUSH2 0x0100 000035f9: DUP1 000035fa: DUP4 000035fb: SLOAD 000035fc: DIV 000035fd: MUL 000035fe: DUP4 000035ff: MSTORE 00003600: SWAP2 00003601: PUSH1 0x20 00003603: ADD 00003604: SWAP2 00003605: PUSH2 0x3634 00003608: JUMP 00003609: JUMPDEST 0000360a: DUP3 0000360b: ADD 0000360c: SWAP2 0000360d: SWAP1 0000360e: PUSH1 0x00 00003610: MSTORE 00003611: PUSH1 0x20 00003613: PUSH1 0x00 00003615: KECCAK256 00003616: SWAP1 00003617: JUMPDEST 00003618: DUP2 00003619: SLOAD 0000361a: DUP2 0000361b: MSTORE 0000361c: SWAP1 0000361d: PUSH1 0x01 0000361f: ADD 00003620: SWAP1 00003621: PUSH1 0x20 00003623: ADD 00003624: DUP1 00003625: DUP4 00003626: GT 00003627: PUSH2 0x3617 0000362a: JUMPI 0000362b: DUP3 0000362c: SWAP1 0000362d: SUB 0000362e: PUSH1 0x1f 00003630: AND 00003631: DUP3 00003632: ADD 00003633: SWAP2 00003634: JUMPDEST 00003635: POP 00003636: POP 00003637: POP 00003638: POP 00003639: POP 0000363a: DUP2 0000363b: JUMP 0000363c: JUMPDEST 0000363d: PUSH1 0x00 0000363f: DUP1 00003640: DUP3 00003641: DUP5 00003642: ADD 00003643: SWAP1 00003644: POP 00003645: DUP4 00003646: DUP2 00003647: LT 00003648: ISZERO 00003649: PUSH2 0x36ba 0000364c: JUMPI 0000364d: PUSH1 0x40 0000364f: MLOAD 00003650: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003671: DUP2 00003672: MSTORE 00003673: PUSH1 0x04 00003675: ADD 00003676: DUP1 00003677: DUP1 00003678: PUSH1 0x20 0000367a: ADD 0000367b: DUP3 0000367c: DUP2 0000367d: SUB 0000367e: DUP3 0000367f: MSTORE 00003680: PUSH1 0x1b 00003682: DUP2 00003683: MSTORE 00003684: PUSH1 0x20 00003686: ADD 00003687: DUP1 00003688: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000 000036a9: DUP2 000036aa: MSTORE 000036ab: POP 000036ac: PUSH1 0x20 000036ae: ADD 000036af: SWAP2 000036b0: POP 000036b1: POP 000036b2: PUSH1 0x40 000036b4: MLOAD 000036b5: DUP1 000036b6: SWAP2 000036b7: SUB 000036b8: SWAP1 000036b9: REVERT 000036ba: JUMPDEST 000036bb: DUP1 000036bc: SWAP2 000036bd: POP 000036be: POP 000036bf: SWAP3 000036c0: SWAP2 000036c1: POP 000036c2: POP 000036c3: JUMP 000036c4: JUMPDEST 000036c5: PUSH1 0x00 000036c7: DUP1 000036c8: DUP4 000036c9: EQ 000036ca: ISZERO 000036cb: PUSH2 0x36d7 000036ce: JUMPI 000036cf: PUSH1 0x00 000036d1: SWAP1 000036d2: POP 000036d3: PUSH2 0x3744 000036d6: JUMP 000036d7: JUMPDEST 000036d8: PUSH1 0x00 000036da: DUP3 000036db: DUP5 000036dc: MUL 000036dd: SWAP1 000036de: POP 000036df: DUP3 000036e0: DUP5 000036e1: DUP3 000036e2: DUP2 000036e3: PUSH2 0x36e8 000036e6: JUMPI 000036e7: INVALID 000036e8: JUMPDEST 000036e9: DIV 000036ea: EQ 000036eb: PUSH2 0x373f 000036ee: JUMPI 000036ef: PUSH1 0x40 000036f1: MLOAD 000036f2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003713: DUP2 00003714: MSTORE 00003715: PUSH1 0x04 00003717: ADD 00003718: DUP1 00003719: DUP1 0000371a: PUSH1 0x20 0000371c: ADD 0000371d: DUP3 0000371e: DUP2 0000371f: SUB 00003720: DUP3 00003721: MSTORE 00003722: PUSH1 0x21 00003724: DUP2 00003725: MSTORE 00003726: PUSH1 0x20 00003728: ADD 00003729: DUP1 0000372a: PUSH2 0x59dc 0000372d: PUSH1 0x21 0000372f: SWAP2 00003730: CODECOPY 00003731: PUSH1 0x40 00003733: ADD 00003734: SWAP2 00003735: POP 00003736: POP 00003737: PUSH1 0x40 00003739: MLOAD 0000373a: DUP1 0000373b: SWAP2 0000373c: SUB 0000373d: SWAP1 0000373e: REVERT 0000373f: JUMPDEST 00003740: DUP1 00003741: SWAP2 00003742: POP 00003743: POP 00003744: JUMPDEST 00003745: SWAP3 00003746: SWAP2 00003747: POP 00003748: POP 00003749: JUMP 0000374a: JUMPDEST 0000374b: PUSH1 0x00 0000374d: PUSH2 0x378c 00003750: DUP4 00003751: DUP4 00003752: PUSH1 0x40 00003754: MLOAD 00003755: DUP1 00003756: PUSH1 0x40 00003758: ADD 00003759: PUSH1 0x40 0000375b: MSTORE 0000375c: DUP1 0000375d: PUSH1 0x1a 0000375f: DUP2 00003760: MSTORE 00003761: PUSH1 0x20 00003763: ADD 00003764: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000 00003785: DUP2 00003786: MSTORE 00003787: POP 00003788: PUSH2 0x4cc0 0000378b: JUMP 0000378c: JUMPDEST 0000378d: SWAP1 0000378e: POP 0000378f: SWAP3 00003790: SWAP2 00003791: POP 00003792: POP 00003793: JUMP 00003794: JUMPDEST 00003795: PUSH2 0x384f 00003798: DUP5 00003799: PUSH4 0x23b872dd 0000379e: PUSH1 0xe0 000037a0: SHL 000037a1: DUP6 000037a2: DUP6 000037a3: DUP6 000037a4: PUSH1 0x40 000037a6: MLOAD 000037a7: PUSH1 0x24 000037a9: ADD 000037aa: DUP1 000037ab: DUP5 000037ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000037c1: AND 000037c2: DUP2 000037c3: MSTORE 000037c4: PUSH1 0x20 000037c6: ADD 000037c7: DUP4 000037c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000037dd: AND 000037de: DUP2 000037df: MSTORE 000037e0: PUSH1 0x20 000037e2: ADD 000037e3: DUP3 000037e4: DUP2 000037e5: MSTORE 000037e6: PUSH1 0x20 000037e8: ADD 000037e9: SWAP4 000037ea: POP 000037eb: POP 000037ec: POP 000037ed: POP 000037ee: PUSH1 0x40 000037f0: MLOAD 000037f1: PUSH1 0x20 000037f3: DUP2 000037f4: DUP4 000037f5: SUB 000037f6: SUB 000037f7: DUP2 000037f8: MSTORE 000037f9: SWAP1 000037fa: PUSH1 0x40 000037fc: MSTORE 000037fd: SWAP1 000037fe: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000381b: NOT 0000381c: AND 0000381d: PUSH1 0x20 0000381f: DUP3 00003820: ADD 00003821: DUP1 00003822: MLOAD 00003823: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003840: DUP4 00003841: DUP2 00003842: DUP4 00003843: AND 00003844: OR 00003845: DUP4 00003846: MSTORE 00003847: POP 00003848: POP 00003849: POP 0000384a: POP 0000384b: PUSH2 0x4d86 0000384e: JUMP 0000384f: JUMPDEST 00003850: POP 00003851: POP 00003852: POP 00003853: POP 00003854: JUMP 00003855: JUMPDEST 00003856: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000001 00003877: PUSH1 0x00 00003879: SHL 0000387a: DUP2 0000387b: PUSH1 0x00 0000387d: ADD 0000387e: PUSH1 0x00 00003880: PUSH1 0x01 00003882: PUSH1 0x00 00003884: SHL 00003885: DUP2 00003886: MSTORE 00003887: PUSH1 0x20 00003889: ADD 0000388a: SWAP1 0000388b: DUP2 0000388c: MSTORE 0000388d: PUSH1 0x20 0000388f: ADD 00003890: PUSH1 0x00 00003892: KECCAK256 00003893: DUP2 00003894: SWAP1 00003895: SSTORE 00003896: POP 00003897: PUSH1 0x01 00003899: PUSH1 0x00 0000389b: SHL 0000389c: DUP2 0000389d: PUSH1 0x01 0000389f: ADD 000038a0: PUSH1 0x00 000038a2: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000001 000038c3: PUSH1 0x00 000038c5: SHL 000038c6: DUP2 000038c7: MSTORE 000038c8: PUSH1 0x20 000038ca: ADD 000038cb: SWAP1 000038cc: DUP2 000038cd: MSTORE 000038ce: PUSH1 0x20 000038d0: ADD 000038d1: PUSH1 0x00 000038d3: KECCAK256 000038d4: DUP2 000038d5: SWAP1 000038d6: SSTORE 000038d7: POP 000038d8: POP 000038d9: JUMP 000038da: JUMPDEST 000038db: PUSH1 0x00 000038dd: DUP2 000038de: PUSH12 0xffffffffffffffffffffffff 000038eb: AND 000038ec: PUSH1 0x60 000038ee: DUP5 000038ef: PUSH12 0xffffffffffffffffffffffff 000038fc: AND 000038fd: SWAP1 000038fe: SHL 000038ff: PUSH1 0xc0 00003901: DUP7 00003902: PUSH8 0xffffffffffffffff 0000390b: AND 0000390c: SWAP1 0000390d: SHL 0000390e: ADD 0000390f: ADD 00003910: PUSH1 0x00 00003912: SHL 00003913: SWAP1 00003914: POP 00003915: SWAP4 00003916: SWAP3 00003917: POP 00003918: POP 00003919: POP 0000391a: JUMP 0000391b: JUMPDEST 0000391c: PUSH1 0x00 0000391e: PUSH2 0x395d 00003921: DUP4 00003922: DUP4 00003923: PUSH1 0x40 00003925: MLOAD 00003926: DUP1 00003927: PUSH1 0x40 00003929: ADD 0000392a: PUSH1 0x40 0000392c: MSTORE 0000392d: DUP1 0000392e: PUSH1 0x1e 00003930: DUP2 00003931: MSTORE 00003932: PUSH1 0x20 00003934: ADD 00003935: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000 00003956: DUP2 00003957: MSTORE 00003958: POP 00003959: PUSH2 0x4e75 0000395c: JUMP 0000395d: JUMPDEST 0000395e: SWAP1 0000395f: POP 00003960: SWAP3 00003961: SWAP2 00003962: POP 00003963: POP 00003964: JUMP 00003965: JUMPDEST 00003966: PUSH1 0x00 00003968: PUSH9 0x010000000000000000 00003972: DUP3 00003973: LT 00003974: PUSH2 0x39c8 00003977: JUMPI 00003978: PUSH1 0x40 0000397a: MLOAD 0000397b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000399c: DUP2 0000399d: MSTORE 0000399e: PUSH1 0x04 000039a0: ADD 000039a1: DUP1 000039a2: DUP1 000039a3: PUSH1 0x20 000039a5: ADD 000039a6: DUP3 000039a7: DUP2 000039a8: SUB 000039a9: DUP3 000039aa: MSTORE 000039ab: PUSH1 0x26 000039ad: DUP2 000039ae: MSTORE 000039af: PUSH1 0x20 000039b1: ADD 000039b2: DUP1 000039b3: PUSH2 0x59fd 000039b6: PUSH1 0x26 000039b8: SWAP2 000039b9: CODECOPY 000039ba: PUSH1 0x40 000039bc: ADD 000039bd: SWAP2 000039be: POP 000039bf: POP 000039c0: PUSH1 0x40 000039c2: MLOAD 000039c3: DUP1 000039c4: SWAP2 000039c5: SUB 000039c6: SWAP1 000039c7: REVERT 000039c8: JUMPDEST 000039c9: DUP2 000039ca: SWAP1 000039cb: POP 000039cc: SWAP2 000039cd: SWAP1 000039ce: POP 000039cf: JUMP 000039d0: JUMPDEST 000039d1: PUSH1 0x00 000039d3: DUP1 000039d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000039e9: AND 000039ea: DUP3 000039eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003a00: AND 00003a01: EQ 00003a02: ISZERO 00003a03: PUSH2 0x3a74 00003a06: JUMPI 00003a07: PUSH1 0x40 00003a09: MLOAD 00003a0a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003a2b: DUP2 00003a2c: MSTORE 00003a2d: PUSH1 0x04 00003a2f: ADD 00003a30: DUP1 00003a31: DUP1 00003a32: PUSH1 0x20 00003a34: ADD 00003a35: DUP3 00003a36: DUP2 00003a37: SUB 00003a38: DUP3 00003a39: MSTORE 00003a3a: PUSH1 0x1a 00003a3c: DUP2 00003a3d: MSTORE 00003a3e: PUSH1 0x20 00003a40: ADD 00003a41: DUP1 00003a42: PUSH32 0x43616e6e6f7420696e73657274207a65726f2061646472657373000000000000 00003a63: DUP2 00003a64: MSTORE 00003a65: POP 00003a66: PUSH1 0x20 00003a68: ADD 00003a69: SWAP2 00003a6a: POP 00003a6b: POP 00003a6c: PUSH1 0x40 00003a6e: MLOAD 00003a6f: DUP1 00003a70: SWAP2 00003a71: SUB 00003a72: SWAP1 00003a73: REVERT 00003a74: JUMPDEST 00003a75: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003a96: PUSH8 0xffffffffffffffff 00003a9f: AND 00003aa0: DUP4 00003aa1: PUSH8 0xffffffffffffffff 00003aaa: AND 00003aab: EQ 00003aac: ISZERO 00003aad: PUSH2 0x3b1e 00003ab0: JUMPI 00003ab1: PUSH1 0x40 00003ab3: MLOAD 00003ab4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003ad5: DUP2 00003ad6: MSTORE 00003ad7: PUSH1 0x04 00003ad9: ADD 00003ada: DUP1 00003adb: DUP1 00003adc: PUSH1 0x20 00003ade: ADD 00003adf: DUP3 00003ae0: DUP2 00003ae1: SUB 00003ae2: DUP3 00003ae3: MSTORE 00003ae4: PUSH1 0x18 00003ae6: DUP2 00003ae7: MSTORE 00003ae8: PUSH1 0x20 00003aea: ADD 00003aeb: DUP1 00003aec: PUSH32 0x43616e6e6f7420696e73657274206d61782075696e7436340000000000000000 00003b0d: DUP2 00003b0e: MSTORE 00003b0f: POP 00003b10: PUSH1 0x20 00003b12: ADD 00003b13: SWAP2 00003b14: POP 00003b15: POP 00003b16: PUSH1 0x40 00003b18: MLOAD 00003b19: DUP1 00003b1a: SWAP2 00003b1b: SUB 00003b1c: SWAP1 00003b1d: REVERT 00003b1e: JUMPDEST 00003b1f: PUSH1 0x00 00003b21: DUP5 00003b22: PUSH1 0x01 00003b24: ADD 00003b25: PUSH1 0x00 00003b27: DUP5 00003b28: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003b3d: AND 00003b3e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003b53: AND 00003b54: DUP2 00003b55: MSTORE 00003b56: PUSH1 0x20 00003b58: ADD 00003b59: SWAP1 00003b5a: DUP2 00003b5b: MSTORE 00003b5c: PUSH1 0x20 00003b5e: ADD 00003b5f: PUSH1 0x00 00003b61: KECCAK256 00003b62: PUSH1 0x00 00003b64: SWAP1 00003b65: SLOAD 00003b66: SWAP1 00003b67: PUSH2 0x0100 00003b6a: EXP 00003b6b: SWAP1 00003b6c: DIV 00003b6d: PUSH8 0xffffffffffffffff 00003b76: AND 00003b77: PUSH8 0xffffffffffffffff 00003b80: AND 00003b81: EQ 00003b82: ISZERO 00003b83: DUP1 00003b84: PUSH2 0x3c06 00003b87: JUMPI 00003b88: POP 00003b89: PUSH1 0x00 00003b8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003ba0: AND 00003ba1: DUP5 00003ba2: PUSH1 0x00 00003ba4: ADD 00003ba5: PUSH1 0x00 00003ba7: PUSH1 0x01 00003ba9: DUP7 00003baa: ADD 00003bab: PUSH8 0xffffffffffffffff 00003bb4: AND 00003bb5: PUSH8 0xffffffffffffffff 00003bbe: AND 00003bbf: DUP2 00003bc0: MSTORE 00003bc1: PUSH1 0x20 00003bc3: ADD 00003bc4: SWAP1 00003bc5: DUP2 00003bc6: MSTORE 00003bc7: PUSH1 0x20 00003bc9: ADD 00003bca: PUSH1 0x00 00003bcc: KECCAK256 00003bcd: PUSH1 0x00 00003bcf: SWAP1 00003bd0: SLOAD 00003bd1: SWAP1 00003bd2: PUSH2 0x0100 00003bd5: EXP 00003bd6: SWAP1 00003bd7: DIV 00003bd8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003bed: AND 00003bee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003c03: AND 00003c04: EQ 00003c05: ISZERO 00003c06: JUMPDEST 00003c07: ISZERO 00003c08: PUSH2 0x3c14 00003c0b: JUMPI 00003c0c: PUSH1 0x00 00003c0e: SWAP1 00003c0f: POP 00003c10: PUSH2 0x3cef 00003c13: JUMP 00003c14: JUMPDEST 00003c15: DUP2 00003c16: DUP5 00003c17: PUSH1 0x00 00003c19: ADD 00003c1a: PUSH1 0x00 00003c1c: PUSH1 0x01 00003c1e: DUP7 00003c1f: ADD 00003c20: PUSH8 0xffffffffffffffff 00003c29: AND 00003c2a: PUSH8 0xffffffffffffffff 00003c33: AND 00003c34: DUP2 00003c35: MSTORE 00003c36: PUSH1 0x20 00003c38: ADD 00003c39: SWAP1 00003c3a: DUP2 00003c3b: MSTORE 00003c3c: PUSH1 0x20 00003c3e: ADD 00003c3f: PUSH1 0x00 00003c41: KECCAK256 00003c42: PUSH1 0x00 00003c44: PUSH2 0x0100 00003c47: EXP 00003c48: DUP2 00003c49: SLOAD 00003c4a: DUP2 00003c4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003c60: MUL 00003c61: NOT 00003c62: AND 00003c63: SWAP1 00003c64: DUP4 00003c65: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003c7a: AND 00003c7b: MUL 00003c7c: OR 00003c7d: SWAP1 00003c7e: SSTORE 00003c7f: POP 00003c80: PUSH1 0x01 00003c82: DUP4 00003c83: ADD 00003c84: DUP5 00003c85: PUSH1 0x01 00003c87: ADD 00003c88: PUSH1 0x00 00003c8a: DUP5 00003c8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003ca0: AND 00003ca1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003cb6: AND 00003cb7: DUP2 00003cb8: MSTORE 00003cb9: PUSH1 0x20 00003cbb: ADD 00003cbc: SWAP1 00003cbd: DUP2 00003cbe: MSTORE 00003cbf: PUSH1 0x20 00003cc1: ADD 00003cc2: PUSH1 0x00 00003cc4: KECCAK256 00003cc5: PUSH1 0x00 00003cc7: PUSH2 0x0100 00003cca: EXP 00003ccb: DUP2 00003ccc: SLOAD 00003ccd: DUP2 00003cce: PUSH8 0xffffffffffffffff 00003cd7: MUL 00003cd8: NOT 00003cd9: AND 00003cda: SWAP1 00003cdb: DUP4 00003cdc: PUSH8 0xffffffffffffffff 00003ce5: AND 00003ce6: MUL 00003ce7: OR 00003ce8: SWAP1 00003ce9: SSTORE 00003cea: POP 00003ceb: PUSH1 0x01 00003ced: SWAP1 00003cee: POP 00003cef: JUMPDEST 00003cf0: SWAP4 00003cf1: SWAP3 00003cf2: POP 00003cf3: POP 00003cf4: POP 00003cf5: JUMP 00003cf6: JUMPDEST 00003cf7: PUSH1 0x00 00003cf9: DUP1 00003cfa: DUP4 00003cfb: PUSH1 0x01 00003cfd: ADD 00003cfe: PUSH1 0x00 00003d00: DUP5 00003d01: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003d16: AND 00003d17: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003d2c: AND 00003d2d: DUP2 00003d2e: MSTORE 00003d2f: PUSH1 0x20 00003d31: ADD 00003d32: SWAP1 00003d33: DUP2 00003d34: MSTORE 00003d35: PUSH1 0x20 00003d37: ADD 00003d38: PUSH1 0x00 00003d3a: KECCAK256 00003d3b: PUSH1 0x00 00003d3d: SWAP1 00003d3e: SLOAD 00003d3f: SWAP1 00003d40: PUSH2 0x0100 00003d43: EXP 00003d44: SWAP1 00003d45: DIV 00003d46: PUSH8 0xffffffffffffffff 00003d4f: AND 00003d50: PUSH8 0xffffffffffffffff 00003d59: AND 00003d5a: EQ 00003d5b: ISZERO 00003d5c: SWAP1 00003d5d: POP 00003d5e: SWAP3 00003d5f: SWAP2 00003d60: POP 00003d61: POP 00003d62: JUMP 00003d63: JUMPDEST 00003d64: PUSH1 0x00 00003d66: PUSH2 0x3d6f 00003d69: DUP4 00003d6a: DUP4 00003d6b: PUSH2 0x3cf6 00003d6e: JUMP 00003d6f: JUMPDEST 00003d70: PUSH2 0x3de1 00003d73: JUMPI 00003d74: PUSH1 0x40 00003d76: MLOAD 00003d77: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003d98: DUP2 00003d99: MSTORE 00003d9a: PUSH1 0x04 00003d9c: ADD 00003d9d: DUP1 00003d9e: DUP1 00003d9f: PUSH1 0x20 00003da1: ADD 00003da2: DUP3 00003da3: DUP2 00003da4: SUB 00003da5: DUP3 00003da6: MSTORE 00003da7: PUSH1 0x1b 00003da9: DUP2 00003daa: MSTORE 00003dab: PUSH1 0x20 00003dad: ADD 00003dae: DUP1 00003daf: PUSH32 0x4d7573742068617665204164647265737320746f206765742049440000000000 00003dd0: DUP2 00003dd1: MSTORE 00003dd2: POP 00003dd3: PUSH1 0x20 00003dd5: ADD 00003dd6: SWAP2 00003dd7: POP 00003dd8: POP 00003dd9: PUSH1 0x40 00003ddb: MLOAD 00003ddc: DUP1 00003ddd: SWAP2 00003dde: SUB 00003ddf: SWAP1 00003de0: REVERT 00003de1: JUMPDEST 00003de2: PUSH1 0x01 00003de4: DUP4 00003de5: PUSH1 0x01 00003de7: ADD 00003de8: PUSH1 0x00 00003dea: DUP5 00003deb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003e00: AND 00003e01: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003e16: AND 00003e17: DUP2 00003e18: MSTORE 00003e19: PUSH1 0x20 00003e1b: ADD 00003e1c: SWAP1 00003e1d: DUP2 00003e1e: MSTORE 00003e1f: PUSH1 0x20 00003e21: ADD 00003e22: PUSH1 0x00 00003e24: KECCAK256 00003e25: PUSH1 0x00 00003e27: SWAP1 00003e28: SLOAD 00003e29: SWAP1 00003e2a: PUSH2 0x0100 00003e2d: EXP 00003e2e: SWAP1 00003e2f: DIV 00003e30: PUSH8 0xffffffffffffffff 00003e39: AND 00003e3a: SUB 00003e3b: SWAP1 00003e3c: POP 00003e3d: SWAP3 00003e3e: SWAP2 00003e3f: POP 00003e40: POP 00003e41: JUMP 00003e42: JUMPDEST 00003e43: PUSH1 0x00 00003e45: DUP1 00003e46: PUSH1 0x00 00003e48: PUSH1 0xc0 00003e4a: DUP5 00003e4b: PUSH1 0x00 00003e4d: SHR 00003e4e: SWAP1 00003e4f: SHR 00003e50: SWAP3 00003e51: POP 00003e52: PUSH1 0x60 00003e54: DUP5 00003e55: PUSH1 0x00 00003e57: SHR 00003e58: SWAP1 00003e59: SHR 00003e5a: SWAP2 00003e5b: POP 00003e5c: DUP4 00003e5d: PUSH1 0x00 00003e5f: SHR 00003e60: SWAP1 00003e61: POP 00003e62: SWAP2 00003e63: SWAP4 00003e64: SWAP1 00003e65: SWAP3 00003e66: POP 00003e67: JUMP 00003e68: JUMPDEST 00003e69: PUSH1 0x00 00003e6b: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000001 00003e8c: PUSH1 0x00 00003e8e: SHL 00003e8f: DUP3 00003e90: EQ 00003e91: ISZERO 00003e92: PUSH2 0x3ee6 00003e95: JUMPI 00003e96: PUSH1 0x40 00003e98: MLOAD 00003e99: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003eba: DUP2 00003ebb: MSTORE 00003ebc: PUSH1 0x04 00003ebe: ADD 00003ebf: DUP1 00003ec0: DUP1 00003ec1: PUSH1 0x20 00003ec3: ADD 00003ec4: DUP3 00003ec5: DUP2 00003ec6: SUB 00003ec7: DUP3 00003ec8: MSTORE 00003ec9: PUSH1 0x22 00003ecb: DUP2 00003ecc: MSTORE 00003ecd: PUSH1 0x20 00003ecf: ADD 00003ed0: DUP1 00003ed1: PUSH2 0x58ba 00003ed4: PUSH1 0x22 00003ed6: SWAP2 00003ed7: CODECOPY 00003ed8: PUSH1 0x40 00003eda: ADD 00003edb: SWAP2 00003edc: POP 00003edd: POP 00003ede: PUSH1 0x40 00003ee0: MLOAD 00003ee1: DUP1 00003ee2: SWAP2 00003ee3: SUB 00003ee4: SWAP1 00003ee5: REVERT 00003ee6: JUMPDEST 00003ee7: PUSH1 0x00 00003ee9: DUP4 00003eea: PUSH1 0x00 00003eec: ADD 00003eed: PUSH1 0x00 00003eef: DUP5 00003ef0: DUP2 00003ef1: MSTORE 00003ef2: PUSH1 0x20 00003ef4: ADD 00003ef5: SWAP1 00003ef6: DUP2 00003ef7: MSTORE 00003ef8: PUSH1 0x20 00003efa: ADD 00003efb: PUSH1 0x00 00003efd: KECCAK256 00003efe: SLOAD 00003eff: SWAP1 00003f00: POP 00003f01: PUSH1 0x00 00003f03: DUP1 00003f04: SHL 00003f05: DUP2 00003f06: EQ 00003f07: ISZERO 00003f08: PUSH2 0x3f5c 00003f0b: JUMPI 00003f0c: PUSH1 0x40 00003f0e: MLOAD 00003f0f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003f30: DUP2 00003f31: MSTORE 00003f32: PUSH1 0x04 00003f34: ADD 00003f35: DUP1 00003f36: DUP1 00003f37: PUSH1 0x20 00003f39: ADD 00003f3a: DUP3 00003f3b: DUP2 00003f3c: SUB 00003f3d: DUP3 00003f3e: MSTORE 00003f3f: PUSH1 0x2a 00003f41: DUP2 00003f42: MSTORE 00003f43: PUSH1 0x20 00003f45: ADD 00003f46: DUP1 00003f47: PUSH2 0x597c 00003f4a: PUSH1 0x2a 00003f4c: SWAP2 00003f4d: CODECOPY 00003f4e: PUSH1 0x40 00003f50: ADD 00003f51: SWAP2 00003f52: POP 00003f53: POP 00003f54: PUSH1 0x40 00003f56: MLOAD 00003f57: DUP1 00003f58: SWAP2 00003f59: SUB 00003f5a: SWAP1 00003f5b: REVERT 00003f5c: JUMPDEST 00003f5d: DUP1 00003f5e: SWAP2 00003f5f: POP 00003f60: POP 00003f61: SWAP3 00003f62: SWAP2 00003f63: POP 00003f64: POP 00003f65: JUMP 00003f66: JUMPDEST 00003f67: PUSH1 0x00 00003f69: PUSH13 0x01000000000000000000000000 00003f77: DUP3 00003f78: LT 00003f79: PUSH2 0x3fcd 00003f7c: JUMPI 00003f7d: PUSH1 0x40 00003f7f: MLOAD 00003f80: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003fa1: DUP2 00003fa2: MSTORE 00003fa3: PUSH1 0x04 00003fa5: ADD 00003fa6: DUP1 00003fa7: DUP1 00003fa8: PUSH1 0x20 00003faa: ADD 00003fab: DUP3 00003fac: DUP2 00003fad: SUB 00003fae: DUP3 00003faf: MSTORE 00003fb0: PUSH1 0x26 00003fb2: DUP2 00003fb3: MSTORE 00003fb4: PUSH1 0x20 00003fb6: ADD 00003fb7: DUP1 00003fb8: PUSH2 0x5778 00003fbb: PUSH1 0x26 00003fbd: SWAP2 00003fbe: CODECOPY 00003fbf: PUSH1 0x40 00003fc1: ADD 00003fc2: SWAP2 00003fc3: POP 00003fc4: POP 00003fc5: PUSH1 0x40 00003fc7: MLOAD 00003fc8: DUP1 00003fc9: SWAP2 00003fca: SUB 00003fcb: SWAP1 00003fcc: REVERT 00003fcd: JUMPDEST 00003fce: DUP2 00003fcf: SWAP1 00003fd0: POP 00003fd1: SWAP2 00003fd2: SWAP1 00003fd3: POP 00003fd4: JUMP 00003fd5: JUMPDEST 00003fd6: PUSH1 0x00 00003fd8: PUSH2 0x4022 00003fdb: PUSH2 0x03e8 00003fde: PUSH2 0x4014 00003fe1: PUSH1 0x02 00003fe3: PUSH1 0x00 00003fe5: DUP10 00003fe6: DUP2 00003fe7: MSTORE 00003fe8: PUSH1 0x20 00003fea: ADD 00003feb: SWAP1 00003fec: DUP2 00003fed: MSTORE 00003fee: PUSH1 0x20 00003ff0: ADD 00003ff1: PUSH1 0x00 00003ff3: KECCAK256 00003ff4: PUSH1 0x0a 00003ff6: ADD 00003ff7: SLOAD 00003ff8: DUP6 00003ff9: PUSH12 0xffffffffffffffffffffffff 00004006: AND 00004007: PUSH2 0x36c4 0000400a: SWAP1 0000400b: SWAP2 0000400c: SWAP1 0000400d: PUSH4 0xffffffff 00004012: AND 00004013: JUMP 00004014: JUMPDEST 00004015: PUSH2 0x374a 00004018: SWAP1 00004019: SWAP2 0000401a: SWAP1 0000401b: PUSH4 0xffffffff 00004020: AND 00004021: JUMP 00004022: JUMPDEST 00004023: SWAP1 00004024: POP 00004025: PUSH1 0x02 00004027: PUSH1 0x00 00004029: DUP7 0000402a: DUP2 0000402b: MSTORE 0000402c: PUSH1 0x20 0000402e: ADD 0000402f: SWAP1 00004030: DUP2 00004031: MSTORE 00004032: PUSH1 0x20 00004034: ADD 00004035: PUSH1 0x00 00004037: KECCAK256 00004038: PUSH1 0x09 0000403a: ADD 0000403b: PUSH1 0x0c 0000403d: SWAP1 0000403e: SLOAD 0000403f: SWAP1 00004040: PUSH2 0x0100 00004043: EXP 00004044: SWAP1 00004045: DIV 00004046: PUSH1 0xff 00004048: AND 00004049: ISZERO 0000404a: PUSH2 0x407f 0000404d: JUMPI 0000404e: PUSH2 0x407a 00004051: DUP6 00004052: PUSH2 0x4072 00004055: DUP4 00004056: DUP6 00004057: PUSH12 0xffffffffffffffffffffffff 00004064: AND 00004065: PUSH2 0x363c 00004068: SWAP1 00004069: SWAP2 0000406a: SWAP1 0000406b: PUSH4 0xffffffff 00004070: AND 00004071: JUMP 00004072: JUMPDEST 00004073: PUSH1 0x00 00004075: DUP7 00004076: PUSH2 0x4466 00004079: JUMP 0000407a: JUMPDEST 0000407b: PUSH2 0x41c0 0000407e: JUMP 0000407f: JUMPDEST 00004080: PUSH1 0x00 00004082: DUP1 00004083: PUSH2 0x40a1 00004086: PUSH1 0x02 00004088: PUSH1 0x00 0000408a: DUP10 0000408b: DUP2 0000408c: MSTORE 0000408d: PUSH1 0x20 0000408f: ADD 00004090: SWAP1 00004091: DUP2 00004092: MSTORE 00004093: PUSH1 0x20 00004095: ADD 00004096: PUSH1 0x00 00004098: KECCAK256 00004099: PUSH1 0x08 0000409b: ADD 0000409c: SLOAD 0000409d: PUSH2 0x3e42 000040a0: JUMP 000040a1: JUMPDEST 000040a2: SWAP3 000040a3: POP 000040a4: SWAP3 000040a5: POP 000040a6: POP 000040a7: PUSH1 0x00 000040a9: PUSH2 0x40c9 000040ac: DUP8 000040ad: DUP7 000040ae: PUSH12 0xffffffffffffffffffffffff 000040bb: AND 000040bc: PUSH2 0x391b 000040bf: SWAP1 000040c0: SWAP2 000040c1: SWAP1 000040c2: PUSH4 0xffffffff 000040c7: AND 000040c8: JUMP 000040c9: JUMPDEST 000040ca: SWAP1 000040cb: POP 000040cc: PUSH1 0x00 000040ce: PUSH2 0x4112 000040d1: PUSH2 0x4103 000040d4: DUP8 000040d5: PUSH12 0xffffffffffffffffffffffff 000040e2: AND 000040e3: PUSH2 0x40f5 000040e6: DUP6 000040e7: DUP10 000040e8: PUSH2 0x36c4 000040eb: SWAP1 000040ec: SWAP2 000040ed: SWAP1 000040ee: PUSH4 0xffffffff 000040f3: AND 000040f4: JUMP 000040f5: JUMPDEST 000040f6: PUSH2 0x374a 000040f9: SWAP1 000040fa: SWAP2 000040fb: SWAP1 000040fc: PUSH4 0xffffffff 00004101: AND 00004102: JUMP 00004103: JUMPDEST 00004104: DUP4 00004105: PUSH2 0x363c 00004108: SWAP1 00004109: SWAP2 0000410a: SWAP1 0000410b: PUSH4 0xffffffff 00004110: AND 00004111: JUMP 00004112: JUMPDEST 00004113: SWAP1 00004114: POP 00004115: PUSH1 0x00 00004117: PUSH2 0x4157 0000411a: DUP6 0000411b: PUSH12 0xffffffffffffffffffffffff 00004128: AND 00004129: PUSH2 0x4149 0000412c: DUP7 0000412d: PUSH12 0xffffffffffffffffffffffff 0000413a: AND 0000413b: DUP13 0000413c: PUSH2 0x36c4 0000413f: SWAP1 00004140: SWAP2 00004141: SWAP1 00004142: PUSH4 0xffffffff 00004147: AND 00004148: JUMP 00004149: JUMPDEST 0000414a: PUSH2 0x374a 0000414d: SWAP1 0000414e: SWAP2 0000414f: SWAP1 00004150: PUSH4 0xffffffff 00004155: AND 00004156: JUMP 00004157: JUMPDEST 00004158: SWAP1 00004159: POP 0000415a: PUSH2 0x4165 0000415d: DUP11 0000415e: DUP4 0000415f: DUP4 00004160: DUP12 00004161: PUSH2 0x4466 00004164: JUMP 00004165: JUMPDEST 00004166: PUSH2 0x41ba 00004169: DUP11 0000416a: PUSH2 0x419c 0000416d: DUP10 0000416e: PUSH12 0xffffffffffffffffffffffff 0000417b: AND 0000417c: PUSH2 0x418e 0000417f: DUP14 00004180: DUP12 00004181: PUSH2 0x36c4 00004184: SWAP1 00004185: SWAP2 00004186: SWAP1 00004187: PUSH4 0xffffffff 0000418c: AND 0000418d: JUMP 0000418e: JUMPDEST 0000418f: PUSH2 0x374a 00004192: SWAP1 00004193: SWAP2 00004194: SWAP1 00004195: PUSH4 0xffffffff 0000419a: AND 0000419b: JUMP 0000419c: JUMPDEST 0000419d: PUSH1 0x00 0000419f: PUSH1 0x0a 000041a1: PUSH1 0x00 000041a3: SWAP1 000041a4: SLOAD 000041a5: SWAP1 000041a6: PUSH2 0x0100 000041a9: EXP 000041aa: SWAP1 000041ab: DIV 000041ac: PUSH8 0xffffffffffffffff 000041b5: AND 000041b6: PUSH2 0x4466 000041b9: JUMP 000041ba: JUMPDEST 000041bb: POP 000041bc: POP 000041bd: POP 000041be: POP 000041bf: POP 000041c0: JUMPDEST 000041c1: POP 000041c2: POP 000041c3: POP 000041c4: POP 000041c5: POP 000041c6: JUMP 000041c7: JUMPDEST 000041c8: PUSH1 0x00 000041ca: CALLER 000041cb: SWAP1 000041cc: POP 000041cd: SWAP1 000041ce: JUMP 000041cf: JUMPDEST 000041d0: PUSH1 0x00 000041d2: PUSH1 0x01 000041d4: PUSH1 0x00 000041d6: SHL 000041d7: DUP3 000041d8: EQ 000041d9: ISZERO 000041da: PUSH2 0x41e6 000041dd: JUMPI 000041de: PUSH1 0x00 000041e0: SWAP1 000041e1: POP 000041e2: PUSH2 0x4205 000041e5: JUMP 000041e6: JUMPDEST 000041e7: PUSH1 0x00 000041e9: DUP1 000041ea: SHL 000041eb: DUP4 000041ec: PUSH1 0x00 000041ee: ADD 000041ef: PUSH1 0x00 000041f1: DUP5 000041f2: DUP2 000041f3: MSTORE 000041f4: PUSH1 0x20 000041f6: ADD 000041f7: SWAP1 000041f8: DUP2 000041f9: MSTORE 000041fa: PUSH1 0x20 000041fc: ADD 000041fd: PUSH1 0x00 000041ff: KECCAK256 00004200: SLOAD 00004201: EQ 00004202: ISZERO 00004203: SWAP1 00004204: POP 00004205: JUMPDEST 00004206: SWAP3 00004207: SWAP2 00004208: POP 00004209: POP 0000420a: JUMP 0000420b: JUMPDEST 0000420c: PUSH1 0x00 0000420e: DUP1 0000420f: PUSH2 0x4218 00004212: DUP5 00004213: DUP5 00004214: PUSH2 0x455b 00004217: JUMP 00004218: JUMPDEST 00004219: SWAP1 0000421a: POP 0000421b: DUP1 0000421c: ISZERO 0000421d: PUSH2 0x423e 00004220: JUMPI 00004221: PUSH1 0x00 00004223: DUP1 00004224: SHL 00004225: DUP5 00004226: PUSH1 0x01 00004228: ADD 00004229: PUSH1 0x00 0000422b: DUP6 0000422c: DUP2 0000422d: MSTORE 0000422e: PUSH1 0x20 00004230: ADD 00004231: SWAP1 00004232: DUP2 00004233: MSTORE 00004234: PUSH1 0x20 00004236: ADD 00004237: PUSH1 0x00 00004239: KECCAK256 0000423a: DUP2 0000423b: SWAP1 0000423c: SSTORE 0000423d: POP 0000423e: JUMPDEST 0000423f: DUP1 00004240: SWAP2 00004241: POP 00004242: POP 00004243: SWAP3 00004244: SWAP2 00004245: POP 00004246: POP 00004247: JUMP 00004248: JUMPDEST 00004249: PUSH1 0x00 0000424b: DUP1 0000424c: PUSH1 0x00 0000424e: DUP1 0000424f: PUSH2 0x4257 00004252: DUP7 00004253: PUSH2 0x3e42 00004256: JUMP 00004257: JUMPDEST 00004258: SWAP3 00004259: POP 0000425a: SWAP3 0000425b: POP 0000425c: SWAP3 0000425d: POP 0000425e: PUSH1 0x00 00004260: DUP1 00004261: PUSH1 0x00 00004263: PUSH2 0x426b 00004266: DUP9 00004267: PUSH2 0x3e42 0000426a: JUMP 0000426b: JUMPDEST 0000426c: SWAP3 0000426d: POP 0000426e: SWAP3 0000426f: POP 00004270: SWAP3 00004271: POP 00004272: PUSH2 0x42a0 00004275: DUP5 00004276: PUSH12 0xffffffffffffffffffffffff 00004283: AND 00004284: DUP4 00004285: PUSH12 0xffffffffffffffffffffffff 00004292: AND 00004293: PUSH2 0x36c4 00004296: SWAP1 00004297: SWAP2 00004298: SWAP1 00004299: PUSH4 0xffffffff 0000429e: AND 0000429f: JUMP 000042a0: JUMPDEST 000042a1: PUSH2 0x42cf 000042a4: DUP3 000042a5: PUSH12 0xffffffffffffffffffffffff 000042b2: AND 000042b3: DUP8 000042b4: PUSH12 0xffffffffffffffffffffffff 000042c1: AND 000042c2: PUSH2 0x36c4 000042c5: SWAP1 000042c6: SWAP2 000042c7: SWAP1 000042c8: PUSH4 0xffffffff 000042cd: AND 000042ce: JUMP 000042cf: JUMPDEST 000042d0: LT 000042d1: ISZERO 000042d2: PUSH2 0x42e4 000042d5: JUMPI 000042d6: PUSH1 0x01 000042d8: SWAP7 000042d9: POP 000042da: POP 000042db: POP 000042dc: POP 000042dd: POP 000042de: POP 000042df: POP 000042e0: PUSH2 0x4460 000042e3: JUMP 000042e4: JUMPDEST 000042e5: PUSH2 0x4313 000042e8: DUP5 000042e9: PUSH12 0xffffffffffffffffffffffff 000042f6: AND 000042f7: DUP4 000042f8: PUSH12 0xffffffffffffffffffffffff 00004305: AND 00004306: PUSH2 0x36c4 00004309: SWAP1 0000430a: SWAP2 0000430b: SWAP1 0000430c: PUSH4 0xffffffff 00004311: AND 00004312: JUMP 00004313: JUMPDEST 00004314: PUSH2 0x4342 00004317: DUP3 00004318: PUSH12 0xffffffffffffffffffffffff 00004325: AND 00004326: DUP8 00004327: PUSH12 0xffffffffffffffffffffffff 00004334: AND 00004335: PUSH2 0x36c4 00004338: SWAP1 00004339: SWAP2 0000433a: SWAP1 0000433b: PUSH4 0xffffffff 00004340: AND 00004341: JUMP 00004342: JUMPDEST 00004343: GT 00004344: ISZERO 00004345: PUSH2 0x4357 00004348: JUMPI 00004349: PUSH1 0x00 0000434b: SWAP7 0000434c: POP 0000434d: POP 0000434e: POP 0000434f: POP 00004350: POP 00004351: POP 00004352: POP 00004353: PUSH2 0x4460 00004356: JUMP 00004357: JUMPDEST 00004358: DUP2 00004359: PUSH12 0xffffffffffffffffffffffff 00004366: AND 00004367: DUP6 00004368: PUSH12 0xffffffffffffffffffffffff 00004375: AND 00004376: LT 00004377: ISZERO 00004378: PUSH2 0x438a 0000437b: JUMPI 0000437c: PUSH1 0x01 0000437e: SWAP7 0000437f: POP 00004380: POP 00004381: POP 00004382: POP 00004383: POP 00004384: POP 00004385: POP 00004386: PUSH2 0x4460 00004389: JUMP 0000438a: JUMPDEST 0000438b: DUP2 0000438c: PUSH12 0xffffffffffffffffffffffff 00004399: AND 0000439a: DUP6 0000439b: PUSH12 0xffffffffffffffffffffffff 000043a8: AND 000043a9: GT 000043aa: ISZERO 000043ab: PUSH2 0x43bd 000043ae: JUMPI 000043af: PUSH1 0x00 000043b1: SWAP7 000043b2: POP 000043b3: POP 000043b4: POP 000043b5: POP 000043b6: POP 000043b7: POP 000043b8: POP 000043b9: PUSH2 0x4460 000043bc: JUMP 000043bd: JUMPDEST 000043be: DUP3 000043bf: PUSH8 0xffffffffffffffff 000043c8: AND 000043c9: DUP7 000043ca: PUSH8 0xffffffffffffffff 000043d3: AND 000043d4: EQ 000043d5: ISZERO 000043d6: PUSH2 0x442a 000043d9: JUMPI 000043da: PUSH1 0x40 000043dc: MLOAD 000043dd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000043fe: DUP2 000043ff: MSTORE 00004400: PUSH1 0x04 00004402: ADD 00004403: DUP1 00004404: DUP1 00004405: PUSH1 0x20 00004407: ADD 00004408: DUP3 00004409: DUP2 0000440a: SUB 0000440b: DUP3 0000440c: MSTORE 0000440d: PUSH1 0x2d 0000440f: DUP2 00004410: MSTORE 00004411: PUSH1 0x20 00004413: ADD 00004414: DUP1 00004415: PUSH2 0x5a6e 00004418: PUSH1 0x2d 0000441a: SWAP2 0000441b: CODECOPY 0000441c: PUSH1 0x40 0000441e: ADD 0000441f: SWAP2 00004420: POP 00004421: POP 00004422: PUSH1 0x40 00004424: MLOAD 00004425: DUP1 00004426: SWAP2 00004427: SUB 00004428: SWAP1 00004429: REVERT 0000442a: JUMPDEST 0000442b: DUP3 0000442c: PUSH8 0xffffffffffffffff 00004435: AND 00004436: DUP7 00004437: PUSH8 0xffffffffffffffff 00004440: AND 00004441: LT 00004442: ISZERO 00004443: PUSH2 0x4455 00004446: JUMPI 00004447: PUSH1 0x01 00004449: SWAP7 0000444a: POP 0000444b: POP 0000444c: POP 0000444d: POP 0000444e: POP 0000444f: POP 00004450: POP 00004451: PUSH2 0x4460 00004454: JUMP 00004455: JUMPDEST 00004456: PUSH1 0x00 00004458: SWAP7 00004459: POP 0000445a: POP 0000445b: POP 0000445c: POP 0000445d: POP 0000445e: POP 0000445f: POP 00004460: JUMPDEST 00004461: SWAP3 00004462: SWAP2 00004463: POP 00004464: POP 00004465: JUMP 00004466: JUMPDEST 00004467: PUSH1 0x00 00004469: PUSH2 0x447c 0000446c: DUP3 0000446d: PUSH1 0x05 0000446f: PUSH2 0x4f35 00004472: SWAP1 00004473: SWAP2 00004474: SWAP1 00004475: PUSH4 0xffffffff 0000447a: AND 0000447b: JUMP 0000447c: JUMPDEST 0000447d: SWAP1 0000447e: POP 0000447f: PUSH1 0x00 00004481: DUP5 00004482: GT 00004483: ISZERO 00004484: PUSH2 0x44e9 00004487: JUMPI 00004488: PUSH2 0x44e8 0000448b: DUP2 0000448c: DUP6 0000448d: PUSH1 0x02 0000448f: PUSH1 0x00 00004491: DUP10 00004492: DUP2 00004493: MSTORE 00004494: PUSH1 0x20 00004496: ADD 00004497: SWAP1 00004498: DUP2 00004499: MSTORE 0000449a: PUSH1 0x20 0000449c: ADD 0000449d: PUSH1 0x00 0000449f: KECCAK256 000044a0: PUSH1 0x00 000044a2: ADD 000044a3: PUSH1 0x00 000044a5: SWAP1 000044a6: SLOAD 000044a7: SWAP1 000044a8: PUSH2 0x0100 000044ab: EXP 000044ac: SWAP1 000044ad: DIV 000044ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000044c3: AND 000044c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000044d9: AND 000044da: PUSH2 0x4606 000044dd: SWAP1 000044de: SWAP3 000044df: SWAP2 000044e0: SWAP1 000044e1: PUSH4 0xffffffff 000044e6: AND 000044e7: JUMP 000044e8: JUMPDEST 000044e9: JUMPDEST 000044ea: PUSH1 0x00 000044ec: DUP4 000044ed: GT 000044ee: ISZERO 000044ef: PUSH2 0x4554 000044f2: JUMPI 000044f3: PUSH2 0x4553 000044f6: DUP2 000044f7: DUP5 000044f8: PUSH1 0x02 000044fa: PUSH1 0x00 000044fc: DUP10 000044fd: DUP2 000044fe: MSTORE 000044ff: PUSH1 0x20 00004501: ADD 00004502: SWAP1 00004503: DUP2 00004504: MSTORE 00004505: PUSH1 0x20 00004507: ADD 00004508: PUSH1 0x00 0000450a: KECCAK256 0000450b: PUSH1 0x01 0000450d: ADD 0000450e: PUSH1 0x00 00004510: SWAP1 00004511: SLOAD 00004512: SWAP1 00004513: PUSH2 0x0100 00004516: EXP 00004517: SWAP1 00004518: DIV 00004519: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000452e: AND 0000452f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004544: AND 00004545: PUSH2 0x4606 00004548: SWAP1 00004549: SWAP3 0000454a: SWAP2 0000454b: SWAP1 0000454c: PUSH4 0xffffffff 00004551: AND 00004552: JUMP 00004553: JUMPDEST 00004554: JUMPDEST 00004555: POP 00004556: POP 00004557: POP 00004558: POP 00004559: POP 0000455a: JUMP 0000455b: JUMPDEST 0000455c: PUSH1 0x00 0000455e: PUSH2 0x4567 00004561: DUP4 00004562: DUP4 00004563: PUSH2 0x41cf 00004566: JUMP 00004567: JUMPDEST 00004568: PUSH2 0x4574 0000456b: JUMPI 0000456c: PUSH1 0x00 0000456e: SWAP1 0000456f: POP 00004570: PUSH2 0x4600 00004573: JUMP 00004574: JUMPDEST 00004575: PUSH1 0x00 00004577: DUP4 00004578: PUSH1 0x01 0000457a: ADD 0000457b: PUSH1 0x00 0000457d: DUP5 0000457e: DUP2 0000457f: MSTORE 00004580: PUSH1 0x20 00004582: ADD 00004583: SWAP1 00004584: DUP2 00004585: MSTORE 00004586: PUSH1 0x20 00004588: ADD 00004589: PUSH1 0x00 0000458b: KECCAK256 0000458c: SLOAD 0000458d: SWAP1 0000458e: POP 0000458f: PUSH1 0x00 00004591: DUP5 00004592: PUSH1 0x00 00004594: ADD 00004595: PUSH1 0x00 00004597: DUP6 00004598: DUP2 00004599: MSTORE 0000459a: PUSH1 0x20 0000459c: ADD 0000459d: SWAP1 0000459e: DUP2 0000459f: MSTORE 000045a0: PUSH1 0x20 000045a2: ADD 000045a3: PUSH1 0x00 000045a5: KECCAK256 000045a6: SLOAD 000045a7: SWAP1 000045a8: POP 000045a9: DUP1 000045aa: DUP6 000045ab: PUSH1 0x00 000045ad: ADD 000045ae: PUSH1 0x00 000045b0: DUP5 000045b1: DUP2 000045b2: MSTORE 000045b3: PUSH1 0x20 000045b5: ADD 000045b6: SWAP1 000045b7: DUP2 000045b8: MSTORE 000045b9: PUSH1 0x20 000045bb: ADD 000045bc: PUSH1 0x00 000045be: KECCAK256 000045bf: DUP2 000045c0: SWAP1 000045c1: SSTORE 000045c2: POP 000045c3: DUP2 000045c4: DUP6 000045c5: PUSH1 0x01 000045c7: ADD 000045c8: PUSH1 0x00 000045ca: DUP4 000045cb: DUP2 000045cc: MSTORE 000045cd: PUSH1 0x20 000045cf: ADD 000045d0: SWAP1 000045d1: DUP2 000045d2: MSTORE 000045d3: PUSH1 0x20 000045d5: ADD 000045d6: PUSH1 0x00 000045d8: KECCAK256 000045d9: DUP2 000045da: SWAP1 000045db: SSTORE 000045dc: POP 000045dd: PUSH1 0x00 000045df: DUP1 000045e0: SHL 000045e1: DUP6 000045e2: PUSH1 0x00 000045e4: ADD 000045e5: PUSH1 0x00 000045e7: DUP7 000045e8: DUP2 000045e9: MSTORE 000045ea: PUSH1 0x20 000045ec: ADD 000045ed: SWAP1 000045ee: DUP2 000045ef: MSTORE 000045f0: PUSH1 0x20 000045f2: ADD 000045f3: PUSH1 0x00 000045f5: KECCAK256 000045f6: DUP2 000045f7: SWAP1 000045f8: SSTORE 000045f9: POP 000045fa: PUSH1 0x01 000045fc: SWAP3 000045fd: POP 000045fe: POP 000045ff: POP 00004600: JUMPDEST 00004601: SWAP3 00004602: SWAP2 00004603: POP 00004604: POP 00004605: JUMP 00004606: JUMPDEST 00004607: PUSH2 0x46a3 0000460a: DUP4 0000460b: PUSH4 0xa9059cbb 00004610: PUSH1 0xe0 00004612: SHL 00004613: DUP5 00004614: DUP5 00004615: PUSH1 0x40 00004617: MLOAD 00004618: PUSH1 0x24 0000461a: ADD 0000461b: DUP1 0000461c: DUP4 0000461d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004632: AND 00004633: DUP2 00004634: MSTORE 00004635: PUSH1 0x20 00004637: ADD 00004638: DUP3 00004639: DUP2 0000463a: MSTORE 0000463b: PUSH1 0x20 0000463d: ADD 0000463e: SWAP3 0000463f: POP 00004640: POP 00004641: POP 00004642: PUSH1 0x40 00004644: MLOAD 00004645: PUSH1 0x20 00004647: DUP2 00004648: DUP4 00004649: SUB 0000464a: SUB 0000464b: DUP2 0000464c: MSTORE 0000464d: SWAP1 0000464e: PUSH1 0x40 00004650: MSTORE 00004651: SWAP1 00004652: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000466f: NOT 00004670: AND 00004671: PUSH1 0x20 00004673: DUP3 00004674: ADD 00004675: DUP1 00004676: MLOAD 00004677: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00004694: DUP4 00004695: DUP2 00004696: DUP4 00004697: AND 00004698: OR 00004699: DUP4 0000469a: MSTORE 0000469b: POP 0000469c: POP 0000469d: POP 0000469e: POP 0000469f: PUSH2 0x4d86 000046a2: JUMP 000046a3: JUMPDEST 000046a4: POP 000046a5: POP 000046a6: POP 000046a7: JUMP 000046a8: JUMPDEST 000046a9: PUSH1 0x00 000046ab: DUP1 000046ac: PUSH1 0x03 000046ae: PUSH1 0x00 000046b0: DUP11 000046b1: DUP2 000046b2: MSTORE 000046b3: PUSH1 0x20 000046b5: ADD 000046b6: SWAP1 000046b7: DUP2 000046b8: MSTORE 000046b9: PUSH1 0x20 000046bb: ADD 000046bc: PUSH1 0x00 000046be: KECCAK256 000046bf: PUSH1 0x00 000046c1: SWAP1 000046c2: SLOAD 000046c3: SWAP1 000046c4: PUSH2 0x0100 000046c7: EXP 000046c8: SWAP1 000046c9: DIV 000046ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000046df: AND 000046e0: SWAP1 000046e1: POP 000046e2: PUSH1 0x00 000046e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000046f9: AND 000046fa: DUP2 000046fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004710: AND 00004711: EQ 00004712: PUSH2 0x48ad 00004715: JUMPI 00004716: PUSH4 0x19a05a7e 0000471b: PUSH1 0xe0 0000471d: SHL 0000471e: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000473b: NOT 0000473c: AND 0000473d: DUP2 0000473e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004753: AND 00004754: PUSH4 0x19a05a7e 00004759: DUP6 0000475a: DUP13 0000475b: DUP10 0000475c: DUP10 0000475d: PUSH1 0x40 0000475f: MLOAD 00004760: DUP6 00004761: PUSH4 0xffffffff 00004766: AND 00004767: PUSH1 0xe0 00004769: SHL 0000476a: DUP2 0000476b: MSTORE 0000476c: PUSH1 0x04 0000476e: ADD 0000476f: DUP1 00004770: DUP6 00004771: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004786: AND 00004787: DUP2 00004788: MSTORE 00004789: PUSH1 0x20 0000478b: ADD 0000478c: DUP5 0000478d: DUP2 0000478e: MSTORE 0000478f: PUSH1 0x20 00004791: ADD 00004792: DUP1 00004793: PUSH1 0x20 00004795: ADD 00004796: DUP3 00004797: DUP2 00004798: SUB 00004799: DUP3 0000479a: MSTORE 0000479b: DUP5 0000479c: DUP5 0000479d: DUP3 0000479e: DUP2 0000479f: DUP2 000047a0: MSTORE 000047a1: PUSH1 0x20 000047a3: ADD 000047a4: SWAP3 000047a5: POP 000047a6: DUP1 000047a7: DUP3 000047a8: DUP5 000047a9: CALLDATACOPY 000047aa: PUSH1 0x00 000047ac: DUP2 000047ad: DUP5 000047ae: ADD 000047af: MSTORE 000047b0: PUSH1 0x1f 000047b2: NOT 000047b3: PUSH1 0x1f 000047b5: DUP3 000047b6: ADD 000047b7: AND 000047b8: SWAP1 000047b9: POP 000047ba: DUP1 000047bb: DUP4 000047bc: ADD 000047bd: SWAP3 000047be: POP 000047bf: POP 000047c0: POP 000047c1: SWAP6 000047c2: POP 000047c3: POP 000047c4: POP 000047c5: POP 000047c6: POP 000047c7: POP 000047c8: PUSH1 0x20 000047ca: PUSH1 0x40 000047cc: MLOAD 000047cd: DUP1 000047ce: DUP4 000047cf: SUB 000047d0: DUP2 000047d1: DUP7 000047d2: DUP1 000047d3: EXTCODESIZE 000047d4: ISZERO 000047d5: DUP1 000047d6: ISZERO 000047d7: PUSH2 0x47df 000047da: JUMPI 000047db: PUSH1 0x00 000047dd: DUP1 000047de: REVERT 000047df: JUMPDEST 000047e0: POP 000047e1: GAS 000047e2: STATICCALL 000047e3: ISZERO 000047e4: DUP1 000047e5: ISZERO 000047e6: PUSH2 0x47f3 000047e9: JUMPI 000047ea: RETURNDATASIZE 000047eb: PUSH1 0x00 000047ed: DUP1 000047ee: RETURNDATACOPY 000047ef: RETURNDATASIZE 000047f0: PUSH1 0x00 000047f2: REVERT 000047f3: JUMPDEST 000047f4: POP 000047f5: POP 000047f6: POP 000047f7: POP 000047f8: PUSH1 0x40 000047fa: MLOAD 000047fb: RETURNDATASIZE 000047fc: PUSH1 0x20 000047fe: DUP2 000047ff: LT 00004800: ISZERO 00004801: PUSH2 0x4809 00004804: JUMPI 00004805: PUSH1 0x00 00004807: DUP1 00004808: REVERT 00004809: JUMPDEST 0000480a: DUP2 0000480b: ADD 0000480c: SWAP1 0000480d: DUP1 0000480e: DUP1 0000480f: MLOAD 00004810: SWAP1 00004811: PUSH1 0x20 00004813: ADD 00004814: SWAP1 00004815: SWAP3 00004816: SWAP2 00004817: SWAP1 00004818: POP 00004819: POP 0000481a: POP 0000481b: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00004838: NOT 00004839: AND 0000483a: EQ 0000483b: PUSH2 0x48ac 0000483e: JUMPI 0000483f: PUSH1 0x40 00004841: MLOAD 00004842: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00004863: DUP2 00004864: MSTORE 00004865: PUSH1 0x04 00004867: ADD 00004868: DUP1 00004869: DUP1 0000486a: PUSH1 0x20 0000486c: ADD 0000486d: DUP3 0000486e: DUP2 0000486f: SUB 00004870: DUP3 00004871: MSTORE 00004872: PUSH1 0x1f 00004874: DUP2 00004875: MSTORE 00004876: PUSH1 0x20 00004878: ADD 00004879: DUP1 0000487a: PUSH32 0x75736572206e6f7420616c6c6f77656420746f20706c616365206f7264657200 0000489b: DUP2 0000489c: MSTORE 0000489d: POP 0000489e: PUSH1 0x20 000048a0: ADD 000048a1: SWAP2 000048a2: POP 000048a3: POP 000048a4: PUSH1 0x40 000048a6: MLOAD 000048a7: DUP1 000048a8: SWAP2 000048a9: SUB 000048aa: SWAP1 000048ab: REVERT 000048ac: JUMPDEST 000048ad: JUMPDEST 000048ae: POP 000048af: PUSH1 0x00 000048b1: DUP1 000048b2: PUSH2 0x48d0 000048b5: PUSH1 0x02 000048b7: PUSH1 0x00 000048b9: DUP13 000048ba: DUP2 000048bb: MSTORE 000048bc: PUSH1 0x20 000048be: ADD 000048bf: SWAP1 000048c0: DUP2 000048c1: MSTORE 000048c2: PUSH1 0x20 000048c4: ADD 000048c5: PUSH1 0x00 000048c7: KECCAK256 000048c8: PUSH1 0x04 000048ca: ADD 000048cb: SLOAD 000048cc: PUSH2 0x3e42 000048cf: JUMP 000048d0: JUMPDEST 000048d1: SWAP3 000048d2: POP 000048d3: SWAP3 000048d4: POP 000048d5: POP 000048d6: PUSH1 0x00 000048d8: JUMPDEST 000048d9: DUP10 000048da: MLOAD 000048db: DUP2 000048dc: LT 000048dd: ISZERO 000048de: PUSH2 0x49c8 000048e1: JUMPI 000048e2: PUSH2 0x4923 000048e5: DUP10 000048e6: DUP3 000048e7: DUP2 000048e8: MLOAD 000048e9: DUP2 000048ea: LT 000048eb: PUSH2 0x48f0 000048ee: JUMPI 000048ef: INVALID 000048f0: JUMPDEST 000048f1: PUSH1 0x20 000048f3: MUL 000048f4: PUSH1 0x20 000048f6: ADD 000048f7: ADD 000048f8: MLOAD 000048f9: PUSH12 0xffffffffffffffffffffffff 00004906: AND 00004907: DUP4 00004908: PUSH12 0xffffffffffffffffffffffff 00004915: AND 00004916: PUSH2 0x36c4 00004919: SWAP1 0000491a: SWAP2 0000491b: SWAP1 0000491c: PUSH4 0xffffffff 00004921: AND 00004922: JUMP 00004923: JUMPDEST 00004924: PUSH2 0x4965 00004927: DUP5 00004928: PUSH12 0xffffffffffffffffffffffff 00004935: AND 00004936: DUP13 00004937: DUP5 00004938: DUP2 00004939: MLOAD 0000493a: DUP2 0000493b: LT 0000493c: PUSH2 0x4941 0000493f: JUMPI 00004940: INVALID 00004941: JUMPDEST 00004942: PUSH1 0x20 00004944: MUL 00004945: PUSH1 0x20 00004947: ADD 00004948: ADD 00004949: MLOAD 0000494a: PUSH12 0xffffffffffffffffffffffff 00004957: AND 00004958: PUSH2 0x36c4 0000495b: SWAP1 0000495c: SWAP2 0000495d: SWAP1 0000495e: PUSH4 0xffffffff 00004963: AND 00004964: JUMP 00004965: JUMPDEST 00004966: LT 00004967: PUSH2 0x49bb 0000496a: JUMPI 0000496b: PUSH1 0x40 0000496d: MLOAD 0000496e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000498f: DUP2 00004990: MSTORE 00004991: PUSH1 0x04 00004993: ADD 00004994: DUP1 00004995: DUP1 00004996: PUSH1 0x20 00004998: ADD 00004999: DUP3 0000499a: DUP2 0000499b: SUB 0000499c: DUP3 0000499d: MSTORE 0000499e: PUSH1 0x29 000049a0: DUP2 000049a1: MSTORE 000049a2: PUSH1 0x20 000049a4: ADD 000049a5: DUP1 000049a6: PUSH2 0x5a9b 000049a9: PUSH1 0x29 000049ab: SWAP2 000049ac: CODECOPY 000049ad: PUSH1 0x40 000049af: ADD 000049b0: SWAP2 000049b1: POP 000049b2: POP 000049b3: PUSH1 0x40 000049b5: MLOAD 000049b6: DUP1 000049b7: SWAP2 000049b8: SUB 000049b9: SWAP1 000049ba: REVERT 000049bb: JUMPDEST 000049bc: DUP1 000049bd: DUP1 000049be: PUSH1 0x01 000049c0: ADD 000049c1: SWAP2 000049c2: POP 000049c3: POP 000049c4: PUSH2 0x48d8 000049c7: JUMP 000049c8: JUMPDEST 000049c9: POP 000049ca: POP 000049cb: POP 000049cc: PUSH1 0x00 000049ce: PUSH2 0x49d6 000049d1: DUP4 000049d2: PUSH2 0x1978 000049d5: JUMP 000049d6: JUMPDEST 000049d7: SWAP2 000049d8: POP 000049d9: PUSH1 0x00 000049db: PUSH1 0x02 000049dd: PUSH1 0x00 000049df: DUP12 000049e0: DUP2 000049e1: MSTORE 000049e2: PUSH1 0x20 000049e4: ADD 000049e5: SWAP1 000049e6: DUP2 000049e7: MSTORE 000049e8: PUSH1 0x20 000049ea: ADD 000049eb: PUSH1 0x00 000049ed: KECCAK256 000049ee: PUSH1 0x05 000049f0: ADD 000049f1: SLOAD 000049f2: SWAP1 000049f3: POP 000049f4: PUSH1 0x00 000049f6: JUMPDEST 000049f7: DUP10 000049f8: MLOAD 000049f9: DUP2 000049fa: LT 000049fb: ISZERO 000049fc: PUSH2 0x4c4f 000049ff: JUMPI 00004a00: PUSH1 0x00 00004a02: DUP11 00004a03: DUP3 00004a04: DUP2 00004a05: MLOAD 00004a06: DUP2 00004a07: LT 00004a08: PUSH2 0x4a0d 00004a0b: JUMPI 00004a0c: INVALID 00004a0d: JUMPDEST 00004a0e: PUSH1 0x20 00004a10: MUL 00004a11: PUSH1 0x20 00004a13: ADD 00004a14: ADD 00004a15: MLOAD 00004a16: PUSH12 0xffffffffffffffffffffffff 00004a23: AND 00004a24: GT 00004a25: PUSH2 0x4a79 00004a28: JUMPI 00004a29: PUSH1 0x40 00004a2b: MLOAD 00004a2c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00004a4d: DUP2 00004a4e: MSTORE 00004a4f: PUSH1 0x04 00004a51: ADD 00004a52: DUP1 00004a53: DUP1 00004a54: PUSH1 0x20 00004a56: ADD 00004a57: DUP3 00004a58: DUP2 00004a59: SUB 00004a5a: DUP3 00004a5b: MSTORE 00004a5c: PUSH1 0x25 00004a5e: DUP2 00004a5f: MSTORE 00004a60: PUSH1 0x20 00004a62: ADD 00004a63: DUP1 00004a64: PUSH2 0x5895 00004a67: PUSH1 0x25 00004a69: SWAP2 00004a6a: CODECOPY 00004a6b: PUSH1 0x40 00004a6d: ADD 00004a6e: SWAP2 00004a6f: POP 00004a70: POP 00004a71: PUSH1 0x40 00004a73: MLOAD 00004a74: DUP1 00004a75: SWAP2 00004a76: SUB 00004a77: SWAP1 00004a78: REVERT 00004a79: JUMPDEST 00004a7a: DUP2 00004a7b: DUP10 00004a7c: DUP3 00004a7d: DUP2 00004a7e: MLOAD 00004a7f: DUP2 00004a80: LT 00004a81: PUSH2 0x4a86 00004a84: JUMPI 00004a85: INVALID 00004a86: JUMPDEST 00004a87: PUSH1 0x20 00004a89: MUL 00004a8a: PUSH1 0x20 00004a8c: ADD 00004a8d: ADD 00004a8e: MLOAD 00004a8f: PUSH12 0xffffffffffffffffffffffff 00004a9c: AND 00004a9d: GT 00004a9e: PUSH2 0x4b0f 00004aa1: JUMPI 00004aa2: PUSH1 0x40 00004aa4: MLOAD 00004aa5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00004ac6: DUP2 00004ac7: MSTORE 00004ac8: PUSH1 0x04 00004aca: ADD 00004acb: DUP1 00004acc: DUP1 00004acd: PUSH1 0x20 00004acf: ADD 00004ad0: DUP3 00004ad1: DUP2 00004ad2: SUB 00004ad3: DUP3 00004ad4: MSTORE 00004ad5: PUSH1 0x0f 00004ad7: DUP2 00004ad8: MSTORE 00004ad9: PUSH1 0x20 00004adb: ADD 00004adc: DUP1 00004add: PUSH32 0x6f7264657220746f6f20736d616c6c0000000000000000000000000000000000 00004afe: DUP2 00004aff: MSTORE 00004b00: POP 00004b01: PUSH1 0x20 00004b03: ADD 00004b04: SWAP2 00004b05: POP 00004b06: POP 00004b07: PUSH1 0x40 00004b09: MLOAD 00004b0a: DUP1 00004b0b: SWAP2 00004b0c: SUB 00004b0d: SWAP1 00004b0e: REVERT 00004b0f: JUMPDEST 00004b10: PUSH2 0x4b79 00004b13: PUSH2 0x4b43 00004b16: DUP6 00004b17: DUP13 00004b18: DUP5 00004b19: DUP2 00004b1a: MLOAD 00004b1b: DUP2 00004b1c: LT 00004b1d: PUSH2 0x4b22 00004b20: JUMPI 00004b21: INVALID 00004b22: JUMPDEST 00004b23: PUSH1 0x20 00004b25: MUL 00004b26: PUSH1 0x20 00004b28: ADD 00004b29: ADD 00004b2a: MLOAD 00004b2b: DUP13 00004b2c: DUP6 00004b2d: DUP2 00004b2e: MLOAD 00004b2f: DUP2 00004b30: LT 00004b31: PUSH2 0x4b36 00004b34: JUMPI 00004b35: INVALID 00004b36: JUMPDEST 00004b37: PUSH1 0x20 00004b39: MUL 00004b3a: PUSH1 0x20 00004b3c: ADD 00004b3d: ADD 00004b3e: MLOAD 00004b3f: PUSH2 0x38da 00004b42: JUMP 00004b43: JUMPDEST 00004b44: DUP10 00004b45: DUP4 00004b46: DUP2 00004b47: MLOAD 00004b48: DUP2 00004b49: LT 00004b4a: PUSH2 0x4b4f 00004b4d: JUMPI 00004b4e: INVALID 00004b4f: JUMPDEST 00004b50: PUSH1 0x20 00004b52: MUL 00004b53: PUSH1 0x20 00004b55: ADD 00004b56: ADD 00004b57: MLOAD 00004b58: PUSH1 0x01 00004b5a: PUSH1 0x00 00004b5c: DUP16 00004b5d: DUP2 00004b5e: MSTORE 00004b5f: PUSH1 0x20 00004b61: ADD 00004b62: SWAP1 00004b63: DUP2 00004b64: MSTORE 00004b65: PUSH1 0x20 00004b67: ADD 00004b68: PUSH1 0x00 00004b6a: KECCAK256 00004b6b: PUSH2 0x5008 00004b6e: SWAP1 00004b6f: SWAP3 00004b70: SWAP2 00004b71: SWAP1 00004b72: PUSH4 0xffffffff 00004b77: AND 00004b78: JUMP 00004b79: JUMPDEST 00004b7a: ISZERO 00004b7b: PUSH2 0x4c42 00004b7e: JUMPI 00004b7f: PUSH2 0x4bb2 00004b82: DUP10 00004b83: DUP3 00004b84: DUP2 00004b85: MLOAD 00004b86: DUP2 00004b87: LT 00004b88: PUSH2 0x4b8d 00004b8b: JUMPI 00004b8c: INVALID 00004b8d: JUMPDEST 00004b8e: PUSH1 0x20 00004b90: MUL 00004b91: PUSH1 0x20 00004b93: ADD 00004b94: ADD 00004b95: MLOAD 00004b96: PUSH12 0xffffffffffffffffffffffff 00004ba3: AND 00004ba4: DUP5 00004ba5: PUSH2 0x363c 00004ba8: SWAP1 00004ba9: SWAP2 00004baa: SWAP1 00004bab: PUSH4 0xffffffff 00004bb0: AND 00004bb1: JUMP 00004bb2: JUMPDEST 00004bb3: SWAP3 00004bb4: POP 00004bb5: DUP4 00004bb6: PUSH8 0xffffffffffffffff 00004bbf: AND 00004bc0: DUP12 00004bc1: PUSH32 0x9304f2fc7ed6d42c0400e678dbc7283e1e9054889c3afea5f965adff66ef9eac 00004be2: DUP13 00004be3: DUP5 00004be4: DUP2 00004be5: MLOAD 00004be6: DUP2 00004be7: LT 00004be8: PUSH2 0x4bed 00004beb: JUMPI 00004bec: INVALID 00004bed: JUMPDEST 00004bee: PUSH1 0x20 00004bf0: MUL 00004bf1: PUSH1 0x20 00004bf3: ADD 00004bf4: ADD 00004bf5: MLOAD 00004bf6: DUP13 00004bf7: DUP6 00004bf8: DUP2 00004bf9: MLOAD 00004bfa: DUP2 00004bfb: LT 00004bfc: PUSH2 0x4c01 00004bff: JUMPI 00004c00: INVALID 00004c01: JUMPDEST 00004c02: PUSH1 0x20 00004c04: MUL 00004c05: PUSH1 0x20 00004c07: ADD 00004c08: ADD 00004c09: MLOAD 00004c0a: PUSH1 0x40 00004c0c: MLOAD 00004c0d: DUP1 00004c0e: DUP4 00004c0f: PUSH12 0xffffffffffffffffffffffff 00004c1c: AND 00004c1d: DUP2 00004c1e: MSTORE 00004c1f: PUSH1 0x20 00004c21: ADD 00004c22: DUP3 00004c23: PUSH12 0xffffffffffffffffffffffff 00004c30: AND 00004c31: DUP2 00004c32: MSTORE 00004c33: PUSH1 0x20 00004c35: ADD 00004c36: SWAP3 00004c37: POP 00004c38: POP 00004c39: POP 00004c3a: PUSH1 0x40 00004c3c: MLOAD 00004c3d: DUP1 00004c3e: SWAP2 00004c3f: SUB 00004c40: SWAP1 00004c41: LOG3 00004c42: JUMPDEST 00004c43: DUP1 00004c44: DUP1 00004c45: PUSH1 0x01 00004c47: ADD 00004c48: SWAP2 00004c49: POP 00004c4a: POP 00004c4b: PUSH2 0x49f6 00004c4e: JUMP 00004c4f: JUMPDEST 00004c50: POP 00004c51: PUSH2 0x4cb3 00004c54: CALLER 00004c55: ADDRESS 00004c56: DUP5 00004c57: PUSH1 0x02 00004c59: PUSH1 0x00 00004c5b: DUP16 00004c5c: DUP2 00004c5d: MSTORE 00004c5e: PUSH1 0x20 00004c60: ADD 00004c61: SWAP1 00004c62: DUP2 00004c63: MSTORE 00004c64: PUSH1 0x20 00004c66: ADD 00004c67: PUSH1 0x00 00004c69: KECCAK256 00004c6a: PUSH1 0x01 00004c6c: ADD 00004c6d: PUSH1 0x00 00004c6f: SWAP1 00004c70: SLOAD 00004c71: SWAP1 00004c72: PUSH2 0x0100 00004c75: EXP 00004c76: SWAP1 00004c77: DIV 00004c78: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004c8d: AND 00004c8e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004ca3: AND 00004ca4: PUSH2 0x3794 00004ca7: SWAP1 00004ca8: SWAP4 00004ca9: SWAP3 00004caa: SWAP2 00004cab: SWAP1 00004cac: PUSH4 0xffffffff 00004cb1: AND 00004cb2: JUMP 00004cb3: JUMPDEST 00004cb4: POP 00004cb5: POP 00004cb6: SWAP8 00004cb7: SWAP7 00004cb8: POP 00004cb9: POP 00004cba: POP 00004cbb: POP 00004cbc: POP 00004cbd: POP 00004cbe: POP 00004cbf: JUMP 00004cc0: JUMPDEST 00004cc1: PUSH1 0x00 00004cc3: DUP1 00004cc4: DUP4 00004cc5: GT 00004cc6: DUP3 00004cc7: SWAP1 00004cc8: PUSH2 0x4d6c 00004ccb: JUMPI 00004ccc: PUSH1 0x40 00004cce: MLOAD 00004ccf: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00004cf0: DUP2 00004cf1: MSTORE 00004cf2: PUSH1 0x04 00004cf4: ADD 00004cf5: DUP1 00004cf6: DUP1 00004cf7: PUSH1 0x20 00004cf9: ADD 00004cfa: DUP3 00004cfb: DUP2 00004cfc: SUB 00004cfd: DUP3 00004cfe: MSTORE 00004cff: DUP4 00004d00: DUP2 00004d01: DUP2 00004d02: MLOAD 00004d03: DUP2 00004d04: MSTORE 00004d05: PUSH1 0x20 00004d07: ADD 00004d08: SWAP2 00004d09: POP 00004d0a: DUP1 00004d0b: MLOAD 00004d0c: SWAP1 00004d0d: PUSH1 0x20 00004d0f: ADD 00004d10: SWAP1 00004d11: DUP1 00004d12: DUP4 00004d13: DUP4 00004d14: PUSH1 0x00 00004d16: JUMPDEST 00004d17: DUP4 00004d18: DUP2 00004d19: LT 00004d1a: ISZERO 00004d1b: PUSH2 0x4d31 00004d1e: JUMPI 00004d1f: DUP1 00004d20: DUP3 00004d21: ADD 00004d22: MLOAD 00004d23: DUP2 00004d24: DUP5 00004d25: ADD 00004d26: MSTORE 00004d27: PUSH1 0x20 00004d29: DUP2 00004d2a: ADD 00004d2b: SWAP1 00004d2c: POP 00004d2d: PUSH2 0x4d16 00004d30: JUMP 00004d31: JUMPDEST 00004d32: POP 00004d33: POP 00004d34: POP 00004d35: POP 00004d36: SWAP1 00004d37: POP 00004d38: SWAP1 00004d39: DUP2 00004d3a: ADD 00004d3b: SWAP1 00004d3c: PUSH1 0x1f 00004d3e: AND 00004d3f: DUP1 00004d40: ISZERO 00004d41: PUSH2 0x4d5e 00004d44: JUMPI 00004d45: DUP1 00004d46: DUP3 00004d47: SUB 00004d48: DUP1 00004d49: MLOAD 00004d4a: PUSH1 0x01 00004d4c: DUP4 00004d4d: PUSH1 0x20 00004d4f: SUB 00004d50: PUSH2 0x0100 00004d53: EXP 00004d54: SUB 00004d55: NOT 00004d56: AND 00004d57: DUP2 00004d58: MSTORE 00004d59: PUSH1 0x20 00004d5b: ADD 00004d5c: SWAP2 00004d5d: POP 00004d5e: JUMPDEST 00004d5f: POP 00004d60: SWAP3 00004d61: POP 00004d62: POP 00004d63: POP 00004d64: PUSH1 0x40 00004d66: MLOAD 00004d67: DUP1 00004d68: SWAP2 00004d69: SUB 00004d6a: SWAP1 00004d6b: REVERT 00004d6c: JUMPDEST 00004d6d: POP 00004d6e: PUSH1 0x00 00004d70: DUP4 00004d71: DUP6 00004d72: DUP2 00004d73: PUSH2 0x4d78 00004d76: JUMPI 00004d77: INVALID 00004d78: JUMPDEST 00004d79: DIV 00004d7a: SWAP1 00004d7b: POP 00004d7c: DUP1 00004d7d: SWAP2 00004d7e: POP 00004d7f: POP 00004d80: SWAP4 00004d81: SWAP3 00004d82: POP 00004d83: POP 00004d84: POP 00004d85: JUMP 00004d86: JUMPDEST 00004d87: PUSH1 0x60 00004d89: PUSH2 0x4de8 00004d8c: DUP3 00004d8d: PUSH1 0x40 00004d8f: MLOAD 00004d90: DUP1 00004d91: PUSH1 0x40 00004d93: ADD 00004d94: PUSH1 0x40 00004d96: MSTORE 00004d97: DUP1 00004d98: PUSH1 0x20 00004d9a: DUP2 00004d9b: MSTORE 00004d9c: PUSH1 0x20 00004d9e: ADD 00004d9f: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 00004dc0: DUP2 00004dc1: MSTORE 00004dc2: POP 00004dc3: DUP6 00004dc4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004dd9: AND 00004dda: PUSH2 0x52b6 00004ddd: SWAP1 00004dde: SWAP3 00004ddf: SWAP2 00004de0: SWAP1 00004de1: PUSH4 0xffffffff 00004de6: AND 00004de7: JUMP 00004de8: JUMPDEST 00004de9: SWAP1 00004dea: POP 00004deb: PUSH1 0x00 00004ded: DUP2 00004dee: MLOAD 00004def: GT 00004df0: ISZERO 00004df1: PUSH2 0x4e70 00004df4: JUMPI 00004df5: DUP1 00004df6: DUP1 00004df7: PUSH1 0x20 00004df9: ADD 00004dfa: SWAP1 00004dfb: MLOAD 00004dfc: PUSH1 0x20 00004dfe: DUP2 00004dff: LT 00004e00: ISZERO 00004e01: PUSH2 0x4e09 00004e04: JUMPI 00004e05: PUSH1 0x00 00004e07: DUP1 00004e08: REVERT 00004e09: JUMPDEST 00004e0a: DUP2 00004e0b: ADD 00004e0c: SWAP1 00004e0d: DUP1 00004e0e: DUP1 00004e0f: MLOAD 00004e10: SWAP1 00004e11: PUSH1 0x20 00004e13: ADD 00004e14: SWAP1 00004e15: SWAP3 00004e16: SWAP2 00004e17: SWAP1 00004e18: POP 00004e19: POP 00004e1a: POP 00004e1b: PUSH2 0x4e6f 00004e1e: JUMPI 00004e1f: PUSH1 0x40 00004e21: MLOAD 00004e22: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00004e43: DUP2 00004e44: MSTORE 00004e45: PUSH1 0x04 00004e47: ADD 00004e48: DUP1 00004e49: DUP1 00004e4a: PUSH1 0x20 00004e4c: ADD 00004e4d: DUP3 00004e4e: DUP2 00004e4f: SUB 00004e50: DUP3 00004e51: MSTORE 00004e52: PUSH1 0x2a 00004e54: DUP2 00004e55: MSTORE 00004e56: PUSH1 0x20 00004e58: ADD 00004e59: DUP1 00004e5a: PUSH2 0x5aed 00004e5d: PUSH1 0x2a 00004e5f: SWAP2 00004e60: CODECOPY 00004e61: PUSH1 0x40 00004e63: ADD 00004e64: SWAP2 00004e65: POP 00004e66: POP 00004e67: PUSH1 0x40 00004e69: MLOAD 00004e6a: DUP1 00004e6b: SWAP2 00004e6c: SUB 00004e6d: SWAP1 00004e6e: REVERT 00004e6f: JUMPDEST 00004e70: JUMPDEST 00004e71: POP 00004e72: POP 00004e73: POP 00004e74: JUMP 00004e75: JUMPDEST 00004e76: PUSH1 0x00 00004e78: DUP4 00004e79: DUP4 00004e7a: GT 00004e7b: ISZERO 00004e7c: DUP3 00004e7d: SWAP1 00004e7e: PUSH2 0x4f22 00004e81: JUMPI 00004e82: PUSH1 0x40 00004e84: MLOAD 00004e85: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00004ea6: DUP2 00004ea7: MSTORE 00004ea8: PUSH1 0x04 00004eaa: ADD 00004eab: DUP1 00004eac: DUP1 00004ead: PUSH1 0x20 00004eaf: ADD 00004eb0: DUP3 00004eb1: DUP2 00004eb2: SUB 00004eb3: DUP3 00004eb4: MSTORE 00004eb5: DUP4 00004eb6: DUP2 00004eb7: DUP2 00004eb8: MLOAD 00004eb9: DUP2 00004eba: MSTORE 00004ebb: PUSH1 0x20 00004ebd: ADD 00004ebe: SWAP2 00004ebf: POP 00004ec0: DUP1 00004ec1: MLOAD 00004ec2: SWAP1 00004ec3: PUSH1 0x20 00004ec5: ADD 00004ec6: SWAP1 00004ec7: DUP1 00004ec8: DUP4 00004ec9: DUP4 00004eca: PUSH1 0x00 00004ecc: JUMPDEST 00004ecd: DUP4 00004ece: DUP2 00004ecf: LT 00004ed0: ISZERO 00004ed1: PUSH2 0x4ee7 00004ed4: JUMPI 00004ed5: DUP1 00004ed6: DUP3 00004ed7: ADD 00004ed8: MLOAD 00004ed9: DUP2 00004eda: DUP5 00004edb: ADD 00004edc: MSTORE 00004edd: PUSH1 0x20 00004edf: DUP2 00004ee0: ADD 00004ee1: SWAP1 00004ee2: POP 00004ee3: PUSH2 0x4ecc 00004ee6: JUMP 00004ee7: JUMPDEST 00004ee8: POP 00004ee9: POP 00004eea: POP 00004eeb: POP 00004eec: SWAP1 00004eed: POP 00004eee: SWAP1 00004eef: DUP2 00004ef0: ADD 00004ef1: SWAP1 00004ef2: PUSH1 0x1f 00004ef4: AND 00004ef5: DUP1 00004ef6: ISZERO 00004ef7: PUSH2 0x4f14 00004efa: JUMPI 00004efb: DUP1 00004efc: DUP3 00004efd: SUB 00004efe: DUP1 00004eff: MLOAD 00004f00: PUSH1 0x01 00004f02: DUP4 00004f03: PUSH1 0x20 00004f05: SUB 00004f06: PUSH2 0x0100 00004f09: EXP 00004f0a: SUB 00004f0b: NOT 00004f0c: AND 00004f0d: DUP2 00004f0e: MSTORE 00004f0f: PUSH1 0x20 00004f11: ADD 00004f12: SWAP2 00004f13: POP 00004f14: JUMPDEST 00004f15: POP 00004f16: SWAP3 00004f17: POP 00004f18: POP 00004f19: POP 00004f1a: PUSH1 0x40 00004f1c: MLOAD 00004f1d: DUP1 00004f1e: SWAP2 00004f1f: SUB 00004f20: SWAP1 00004f21: REVERT 00004f22: JUMPDEST 00004f23: POP 00004f24: PUSH1 0x00 00004f26: DUP4 00004f27: DUP6 00004f28: SUB 00004f29: SWAP1 00004f2a: POP 00004f2b: DUP1 00004f2c: SWAP2 00004f2d: POP 00004f2e: POP 00004f2f: SWAP4 00004f30: SWAP3 00004f31: POP 00004f32: POP 00004f33: POP 00004f34: JUMP 00004f35: JUMPDEST 00004f36: PUSH1 0x00 00004f38: PUSH2 0x4f41 00004f3b: DUP4 00004f3c: DUP4 00004f3d: PUSH2 0x52ce 00004f40: JUMP 00004f41: JUMPDEST 00004f42: PUSH2 0x4fb3 00004f45: JUMPI 00004f46: PUSH1 0x40 00004f48: MLOAD 00004f49: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00004f6a: DUP2 00004f6b: MSTORE 00004f6c: PUSH1 0x04 00004f6e: ADD 00004f6f: DUP1 00004f70: DUP1 00004f71: PUSH1 0x20 00004f73: ADD 00004f74: DUP3 00004f75: DUP2 00004f76: SUB 00004f77: DUP3 00004f78: MSTORE 00004f79: PUSH1 0x1b 00004f7b: DUP2 00004f7c: MSTORE 00004f7d: PUSH1 0x20 00004f7f: ADD 00004f80: DUP1 00004f81: PUSH32 0x4d757374206861766520494420746f2067657420416464726573730000000000 00004fa2: DUP2 00004fa3: MSTORE 00004fa4: POP 00004fa5: PUSH1 0x20 00004fa7: ADD 00004fa8: SWAP2 00004fa9: POP 00004faa: POP 00004fab: PUSH1 0x40 00004fad: MLOAD 00004fae: DUP1 00004faf: SWAP2 00004fb0: SUB 00004fb1: SWAP1 00004fb2: REVERT 00004fb3: JUMPDEST 00004fb4: DUP3 00004fb5: PUSH1 0x00 00004fb7: ADD 00004fb8: PUSH1 0x00 00004fba: PUSH1 0x01 00004fbc: DUP5 00004fbd: ADD 00004fbe: PUSH8 0xffffffffffffffff 00004fc7: AND 00004fc8: PUSH8 0xffffffffffffffff 00004fd1: AND 00004fd2: DUP2 00004fd3: MSTORE 00004fd4: PUSH1 0x20 00004fd6: ADD 00004fd7: SWAP1 00004fd8: DUP2 00004fd9: MSTORE 00004fda: PUSH1 0x20 00004fdc: ADD 00004fdd: PUSH1 0x00 00004fdf: KECCAK256 00004fe0: PUSH1 0x00 00004fe2: SWAP1 00004fe3: SLOAD 00004fe4: SWAP1 00004fe5: PUSH2 0x0100 00004fe8: EXP 00004fe9: SWAP1 00004fea: DIV 00004feb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00005000: AND 00005001: SWAP1 00005002: POP 00005003: SWAP3 00005004: SWAP2 00005005: POP 00005006: POP 00005007: JUMP 00005008: JUMPDEST 00005009: PUSH1 0x00 0000500b: DUP1 0000500c: PUSH2 0x5014 0000500f: DUP5 00005010: PUSH2 0x3e42 00005013: JUMP 00005014: JUMPDEST 00005015: SWAP3 00005016: POP 00005017: POP 00005018: POP 00005019: PUSH1 0x00 0000501b: PUSH12 0xffffffffffffffffffffffff 00005028: AND 00005029: DUP2 0000502a: PUSH12 0xffffffffffffffffffffffff 00005037: AND 00005038: EQ 00005039: ISZERO 0000503a: PUSH2 0x50ab 0000503d: JUMPI 0000503e: PUSH1 0x40 00005040: MLOAD 00005041: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00005062: DUP2 00005063: MSTORE 00005064: PUSH1 0x04 00005066: ADD 00005067: DUP1 00005068: DUP1 00005069: PUSH1 0x20 0000506b: ADD 0000506c: DUP3 0000506d: DUP2 0000506e: SUB 0000506f: DUP3 00005070: MSTORE 00005071: PUSH1 0x1f 00005073: DUP2 00005074: MSTORE 00005075: PUSH1 0x20 00005077: ADD 00005078: DUP1 00005079: PUSH32 0x496e73657274696e67207a65726f206973206e6f7420737570706f7274656400 0000509a: DUP2 0000509b: MSTORE 0000509c: POP 0000509d: PUSH1 0x20 0000509f: ADD 000050a0: SWAP2 000050a1: POP 000050a2: POP 000050a3: PUSH1 0x40 000050a5: MLOAD 000050a6: DUP1 000050a7: SWAP2 000050a8: SUB 000050a9: SWAP1 000050aa: REVERT 000050ab: JUMPDEST 000050ac: PUSH1 0x01 000050ae: PUSH1 0x00 000050b0: SHL 000050b1: DUP5 000050b2: EQ 000050b3: ISZERO 000050b4: DUP1 000050b5: ISZERO 000050b6: PUSH2 0x50e2 000050b9: JUMPI 000050ba: POP 000050bb: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000001 000050dc: PUSH1 0x00 000050de: SHL 000050df: DUP5 000050e0: EQ 000050e1: ISZERO 000050e2: JUMPDEST 000050e3: PUSH2 0x5154 000050e6: JUMPI 000050e7: PUSH1 0x40 000050e9: MLOAD 000050ea: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000510b: DUP2 0000510c: MSTORE 0000510d: PUSH1 0x04 0000510f: ADD 00005110: DUP1 00005111: DUP1 00005112: PUSH1 0x20 00005114: ADD 00005115: DUP3 00005116: DUP2 00005117: SUB 00005118: DUP3 00005119: MSTORE 0000511a: PUSH1 0x1e 0000511c: DUP2 0000511d: MSTORE 0000511e: PUSH1 0x20 00005120: ADD 00005121: DUP1 00005122: PUSH32 0x496e73657274696e6720656c656d656e74206973206e6f742076616c69640000 00005143: DUP2 00005144: MSTORE 00005145: POP 00005146: PUSH1 0x20 00005148: ADD 00005149: SWAP2 0000514a: POP 0000514b: POP 0000514c: PUSH1 0x40 0000514e: MLOAD 0000514f: DUP1 00005150: SWAP2 00005151: SUB 00005152: SWAP1 00005153: REVERT 00005154: JUMPDEST 00005155: PUSH2 0x515e 00005158: DUP6 00005159: DUP6 0000515a: PUSH2 0x41cf 0000515d: JUMP 0000515e: JUMPDEST 0000515f: ISZERO 00005160: PUSH2 0x516d 00005163: JUMPI 00005164: PUSH1 0x00 00005166: SWAP2 00005167: POP 00005168: POP 00005169: PUSH2 0x52af 0000516c: JUMP 0000516d: JUMPDEST 0000516e: PUSH1 0x01 00005170: PUSH1 0x00 00005172: SHL 00005173: DUP4 00005174: EQ 00005175: ISZERO 00005176: DUP1 00005177: ISZERO 00005178: PUSH2 0x5198 0000517b: JUMPI 0000517c: POP 0000517d: PUSH1 0x00 0000517f: DUP1 00005180: SHL 00005181: DUP6 00005182: PUSH1 0x01 00005184: ADD 00005185: PUSH1 0x00 00005187: DUP6 00005188: DUP2 00005189: MSTORE 0000518a: PUSH1 0x20 0000518c: ADD 0000518d: SWAP1 0000518e: DUP2 0000518f: MSTORE 00005190: PUSH1 0x20 00005192: ADD 00005193: PUSH1 0x00 00005195: KECCAK256 00005196: SLOAD 00005197: EQ 00005198: JUMPDEST 00005199: ISZERO 0000519a: PUSH2 0x51a7 0000519d: JUMPI 0000519e: PUSH1 0x00 000051a0: SWAP2 000051a1: POP 000051a2: POP 000051a3: PUSH2 0x52af 000051a6: JUMP 000051a7: JUMPDEST 000051a8: PUSH2 0x51ba 000051ab: DUP5 000051ac: DUP5 000051ad: PUSH2 0x4248 000051b0: SWAP1 000051b1: SWAP2 000051b2: SWAP1 000051b3: PUSH4 0xffffffff 000051b8: AND 000051b9: JUMP 000051ba: JUMPDEST 000051bb: PUSH2 0x51c8 000051be: JUMPI 000051bf: PUSH1 0x00 000051c1: SWAP2 000051c2: POP 000051c3: POP 000051c4: PUSH2 0x52af 000051c7: JUMP 000051c8: JUMPDEST 000051c9: JUMPDEST 000051ca: PUSH1 0x00 000051cc: DUP1 000051cd: SHL 000051ce: DUP6 000051cf: PUSH1 0x00 000051d1: ADD 000051d2: PUSH1 0x00 000051d4: DUP6 000051d5: DUP2 000051d6: MSTORE 000051d7: PUSH1 0x20 000051d9: ADD 000051da: SWAP1 000051db: DUP2 000051dc: MSTORE 000051dd: PUSH1 0x20 000051df: ADD 000051e0: PUSH1 0x00 000051e2: KECCAK256 000051e3: SLOAD 000051e4: EQ 000051e5: ISZERO 000051e6: PUSH2 0x5206 000051e9: JUMPI 000051ea: DUP5 000051eb: PUSH1 0x01 000051ed: ADD 000051ee: PUSH1 0x00 000051f0: DUP5 000051f1: DUP2 000051f2: MSTORE 000051f3: PUSH1 0x20 000051f5: ADD 000051f6: SWAP1 000051f7: DUP2 000051f8: MSTORE 000051f9: PUSH1 0x20 000051fb: ADD 000051fc: PUSH1 0x00 000051fe: KECCAK256 000051ff: SLOAD 00005200: SWAP3 00005201: POP 00005202: PUSH2 0x51c9 00005205: JUMP 00005206: JUMPDEST 00005207: PUSH1 0x00 00005209: DUP1 0000520a: DUP5 0000520b: SWAP1 0000520c: POP 0000520d: JUMPDEST 0000520e: DUP1 0000520f: SWAP2 00005210: POP 00005211: DUP7 00005212: PUSH1 0x00 00005214: ADD 00005215: PUSH1 0x00 00005217: DUP3 00005218: DUP2 00005219: MSTORE 0000521a: PUSH1 0x20 0000521c: ADD 0000521d: SWAP1 0000521e: DUP2 0000521f: MSTORE 00005220: PUSH1 0x20 00005222: ADD 00005223: PUSH1 0x00 00005225: KECCAK256 00005226: SLOAD 00005227: SWAP1 00005228: POP 00005229: PUSH2 0x523b 0000522c: DUP7 0000522d: DUP3 0000522e: PUSH2 0x4248 00005231: SWAP1 00005232: SWAP2 00005233: SWAP1 00005234: PUSH4 0xffffffff 00005239: AND 0000523a: JUMP 0000523b: JUMPDEST 0000523c: PUSH2 0x520d 0000523f: JUMPI 00005240: DUP6 00005241: DUP8 00005242: PUSH1 0x00 00005244: ADD 00005245: PUSH1 0x00 00005247: DUP5 00005248: DUP2 00005249: MSTORE 0000524a: PUSH1 0x20 0000524c: ADD 0000524d: SWAP1 0000524e: DUP2 0000524f: MSTORE 00005250: PUSH1 0x20 00005252: ADD 00005253: PUSH1 0x00 00005255: KECCAK256 00005256: DUP2 00005257: SWAP1 00005258: SSTORE 00005259: POP 0000525a: DUP6 0000525b: DUP8 0000525c: PUSH1 0x01 0000525e: ADD 0000525f: PUSH1 0x00 00005261: DUP4 00005262: DUP2 00005263: MSTORE 00005264: PUSH1 0x20 00005266: ADD 00005267: SWAP1 00005268: DUP2 00005269: MSTORE 0000526a: PUSH1 0x20 0000526c: ADD 0000526d: PUSH1 0x00 0000526f: KECCAK256 00005270: DUP2 00005271: SWAP1 00005272: SSTORE 00005273: POP 00005274: DUP2 00005275: DUP8 00005276: PUSH1 0x01 00005278: ADD 00005279: PUSH1 0x00 0000527b: DUP9 0000527c: DUP2 0000527d: MSTORE 0000527e: PUSH1 0x20 00005280: ADD 00005281: SWAP1 00005282: DUP2 00005283: MSTORE 00005284: PUSH1 0x20 00005286: ADD 00005287: PUSH1 0x00 00005289: KECCAK256 0000528a: DUP2 0000528b: SWAP1 0000528c: SSTORE 0000528d: POP 0000528e: DUP1 0000528f: DUP8 00005290: PUSH1 0x00 00005292: ADD 00005293: PUSH1 0x00 00005295: DUP9 00005296: DUP2 00005297: MSTORE 00005298: PUSH1 0x20 0000529a: ADD 0000529b: SWAP1 0000529c: DUP2 0000529d: MSTORE 0000529e: PUSH1 0x20 000052a0: ADD 000052a1: PUSH1 0x00 000052a3: KECCAK256 000052a4: DUP2 000052a5: SWAP1 000052a6: SSTORE 000052a7: POP 000052a8: PUSH1 0x01 000052aa: SWAP4 000052ab: POP 000052ac: POP 000052ad: POP 000052ae: POP 000052af: JUMPDEST 000052b0: SWAP4 000052b1: SWAP3 000052b2: POP 000052b3: POP 000052b4: POP 000052b5: JUMP 000052b6: JUMPDEST 000052b7: PUSH1 0x60 000052b9: PUSH2 0x52c5 000052bc: DUP5 000052bd: DUP5 000052be: PUSH1 0x00 000052c0: DUP6 000052c1: PUSH2 0x5354 000052c4: JUMP 000052c5: JUMPDEST 000052c6: SWAP1 000052c7: POP 000052c8: SWAP4 000052c9: SWAP3 000052ca: POP 000052cb: POP 000052cc: POP 000052cd: JUMP 000052ce: JUMPDEST 000052cf: PUSH1 0x00 000052d1: DUP1 000052d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000052e7: AND 000052e8: DUP4 000052e9: PUSH1 0x00 000052eb: ADD 000052ec: PUSH1 0x00 000052ee: PUSH1 0x01 000052f0: DUP6 000052f1: ADD 000052f2: PUSH8 0xffffffffffffffff 000052fb: AND 000052fc: PUSH8 0xffffffffffffffff 00005305: AND 00005306: DUP2 00005307: MSTORE 00005308: PUSH1 0x20 0000530a: ADD 0000530b: SWAP1 0000530c: DUP2 0000530d: MSTORE 0000530e: PUSH1 0x20 00005310: ADD 00005311: PUSH1 0x00 00005313: KECCAK256 00005314: PUSH1 0x00 00005316: SWAP1 00005317: SLOAD 00005318: SWAP1 00005319: PUSH2 0x0100 0000531c: EXP 0000531d: SWAP1 0000531e: DIV 0000531f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00005334: AND 00005335: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000534a: AND 0000534b: EQ 0000534c: ISZERO 0000534d: SWAP1 0000534e: POP 0000534f: SWAP3 00005350: SWAP2 00005351: POP 00005352: POP 00005353: JUMP 00005354: JUMPDEST 00005355: PUSH1 0x60 00005357: DUP3 00005358: SELFBALANCE 00005359: LT 0000535a: ISZERO 0000535b: PUSH2 0x53af 0000535e: JUMPI 0000535f: PUSH1 0x40 00005361: MLOAD 00005362: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00005383: DUP2 00005384: MSTORE 00005385: PUSH1 0x04 00005387: ADD 00005388: DUP1 00005389: DUP1 0000538a: PUSH1 0x20 0000538c: ADD 0000538d: DUP3 0000538e: DUP2 0000538f: SUB 00005390: DUP3 00005391: MSTORE 00005392: PUSH1 0x26 00005394: DUP2 00005395: MSTORE 00005396: PUSH1 0x20 00005398: ADD 00005399: DUP1 0000539a: PUSH2 0x58dc 0000539d: PUSH1 0x26 0000539f: SWAP2 000053a0: CODECOPY 000053a1: PUSH1 0x40 000053a3: ADD 000053a4: SWAP2 000053a5: POP 000053a6: POP 000053a7: PUSH1 0x40 000053a9: MLOAD 000053aa: DUP1 000053ab: SWAP2 000053ac: SUB 000053ad: SWAP1 000053ae: REVERT 000053af: JUMPDEST 000053b0: PUSH2 0x53b8 000053b3: DUP6 000053b4: PUSH2 0x54fd 000053b7: JUMP 000053b8: JUMPDEST 000053b9: PUSH2 0x542a 000053bc: JUMPI 000053bd: PUSH1 0x40 000053bf: MLOAD 000053c0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000053e1: DUP2 000053e2: MSTORE 000053e3: PUSH1 0x04 000053e5: ADD 000053e6: DUP1 000053e7: DUP1 000053e8: PUSH1 0x20 000053ea: ADD 000053eb: DUP3 000053ec: DUP2 000053ed: SUB 000053ee: DUP3 000053ef: MSTORE 000053f0: PUSH1 0x1d 000053f2: DUP2 000053f3: MSTORE 000053f4: PUSH1 0x20 000053f6: ADD 000053f7: DUP1 000053f8: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00005419: DUP2 0000541a: MSTORE 0000541b: POP 0000541c: PUSH1 0x20 0000541e: ADD 0000541f: SWAP2 00005420: POP 00005421: POP 00005422: PUSH1 0x40 00005424: MLOAD 00005425: DUP1 00005426: SWAP2 00005427: SUB 00005428: SWAP1 00005429: REVERT 0000542a: JUMPDEST 0000542b: PUSH1 0x00 0000542d: PUSH1 0x60 0000542f: DUP7 00005430: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00005445: AND 00005446: DUP6 00005447: DUP8 00005448: PUSH1 0x40 0000544a: MLOAD 0000544b: DUP1 0000544c: DUP3 0000544d: DUP1 0000544e: MLOAD 0000544f: SWAP1 00005450: PUSH1 0x20 00005452: ADD 00005453: SWAP1 00005454: DUP1 00005455: DUP4 00005456: DUP4 00005457: JUMPDEST 00005458: PUSH1 0x20 0000545a: DUP4 0000545b: LT 0000545c: PUSH2 0x547a 0000545f: JUMPI 00005460: DUP1 00005461: MLOAD 00005462: DUP3 00005463: MSTORE 00005464: PUSH1 0x20 00005466: DUP3 00005467: ADD 00005468: SWAP2 00005469: POP 0000546a: PUSH1 0x20 0000546c: DUP2 0000546d: ADD 0000546e: SWAP1 0000546f: POP 00005470: PUSH1 0x20 00005472: DUP4 00005473: SUB 00005474: SWAP3 00005475: POP 00005476: PUSH2 0x5457 00005479: JUMP 0000547a: JUMPDEST 0000547b: PUSH1 0x01 0000547d: DUP4 0000547e: PUSH1 0x20 00005480: SUB 00005481: PUSH2 0x0100 00005484: EXP 00005485: SUB 00005486: DUP1 00005487: NOT 00005488: DUP3 00005489: MLOAD 0000548a: AND 0000548b: DUP2 0000548c: DUP5 0000548d: MLOAD 0000548e: AND 0000548f: DUP1 00005490: DUP3 00005491: OR 00005492: DUP6 00005493: MSTORE 00005494: POP 00005495: POP 00005496: POP 00005497: POP 00005498: POP 00005499: POP 0000549a: SWAP1 0000549b: POP 0000549c: ADD 0000549d: SWAP2 0000549e: POP 0000549f: POP 000054a0: PUSH1 0x00 000054a2: PUSH1 0x40 000054a4: MLOAD 000054a5: DUP1 000054a6: DUP4 000054a7: SUB 000054a8: DUP2 000054a9: DUP6 000054aa: DUP8 000054ab: GAS 000054ac: CALL 000054ad: SWAP3 000054ae: POP 000054af: POP 000054b0: POP 000054b1: RETURNDATASIZE 000054b2: DUP1 000054b3: PUSH1 0x00 000054b5: DUP2 000054b6: EQ 000054b7: PUSH2 0x54dc 000054ba: JUMPI 000054bb: PUSH1 0x40 000054bd: MLOAD 000054be: SWAP2 000054bf: POP 000054c0: PUSH1 0x1f 000054c2: NOT 000054c3: PUSH1 0x3f 000054c5: RETURNDATASIZE 000054c6: ADD 000054c7: AND 000054c8: DUP3 000054c9: ADD 000054ca: PUSH1 0x40 000054cc: MSTORE 000054cd: RETURNDATASIZE 000054ce: DUP3 000054cf: MSTORE 000054d0: RETURNDATASIZE 000054d1: PUSH1 0x00 000054d3: PUSH1 0x20 000054d5: DUP5 000054d6: ADD 000054d7: RETURNDATACOPY 000054d8: PUSH2 0x54e1 000054db: JUMP 000054dc: JUMPDEST 000054dd: PUSH1 0x60 000054df: SWAP2 000054e0: POP 000054e1: JUMPDEST 000054e2: POP 000054e3: SWAP2 000054e4: POP 000054e5: SWAP2 000054e6: POP 000054e7: PUSH2 0x54f1 000054ea: DUP3 000054eb: DUP3 000054ec: DUP7 000054ed: PUSH2 0x5510 000054f0: JUMP 000054f1: JUMPDEST 000054f2: SWAP3 000054f3: POP 000054f4: POP 000054f5: POP 000054f6: SWAP5 000054f7: SWAP4 000054f8: POP 000054f9: POP 000054fa: POP 000054fb: POP 000054fc: JUMP 000054fd: JUMPDEST 000054fe: PUSH1 0x00 00005500: DUP1 00005501: DUP3 00005502: EXTCODESIZE 00005503: SWAP1 00005504: POP 00005505: PUSH1 0x00 00005507: DUP2 00005508: GT 00005509: SWAP2 0000550a: POP 0000550b: POP 0000550c: SWAP2 0000550d: SWAP1 0000550e: POP 0000550f: JUMP 00005510: JUMPDEST 00005511: PUSH1 0x60 00005513: DUP4 00005514: ISZERO 00005515: PUSH2 0x5520 00005518: JUMPI 00005519: DUP3 0000551a: SWAP1 0000551b: POP 0000551c: PUSH2 0x55d5 0000551f: JUMP 00005520: JUMPDEST 00005521: PUSH1 0x00 00005523: DUP4 00005524: MLOAD 00005525: GT 00005526: ISZERO 00005527: PUSH2 0x5533 0000552a: JUMPI 0000552b: DUP3 0000552c: MLOAD 0000552d: DUP1 0000552e: DUP5 0000552f: PUSH1 0x20 00005531: ADD 00005532: REVERT 00005533: JUMPDEST 00005534: DUP2 00005535: PUSH1 0x40 00005537: MLOAD 00005538: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00005559: DUP2 0000555a: MSTORE 0000555b: PUSH1 0x04 0000555d: ADD 0000555e: DUP1 0000555f: DUP1 00005560: PUSH1 0x20 00005562: ADD 00005563: DUP3 00005564: DUP2 00005565: SUB 00005566: DUP3 00005567: MSTORE 00005568: DUP4 00005569: DUP2 0000556a: DUP2 0000556b: MLOAD 0000556c: DUP2 0000556d: MSTORE 0000556e: PUSH1 0x20 00005570: ADD 00005571: SWAP2 00005572: POP 00005573: DUP1 00005574: MLOAD 00005575: SWAP1 00005576: PUSH1 0x20 00005578: ADD 00005579: SWAP1 0000557a: DUP1 0000557b: DUP4 0000557c: DUP4 0000557d: PUSH1 0x00 0000557f: JUMPDEST 00005580: DUP4 00005581: DUP2 00005582: LT 00005583: ISZERO 00005584: PUSH2 0x559a 00005587: JUMPI 00005588: DUP1 00005589: DUP3 0000558a: ADD 0000558b: MLOAD 0000558c: DUP2 0000558d: DUP5 0000558e: ADD 0000558f: MSTORE 00005590: PUSH1 0x20 00005592: DUP2 00005593: ADD 00005594: SWAP1 00005595: POP 00005596: PUSH2 0x557f 00005599: JUMP 0000559a: JUMPDEST 0000559b: POP 0000559c: POP 0000559d: POP 0000559e: POP 0000559f: SWAP1 000055a0: POP 000055a1: SWAP1 000055a2: DUP2 000055a3: ADD 000055a4: SWAP1 000055a5: PUSH1 0x1f 000055a7: AND 000055a8: DUP1 000055a9: ISZERO 000055aa: PUSH2 0x55c7 000055ad: JUMPI 000055ae: DUP1 000055af: DUP3 000055b0: SUB 000055b1: DUP1 000055b2: MLOAD 000055b3: PUSH1 0x01 000055b5: DUP4 000055b6: PUSH1 0x20 000055b8: SUB 000055b9: PUSH2 0x0100 000055bc: EXP 000055bd: SUB 000055be: NOT 000055bf: AND 000055c0: DUP2 000055c1: MSTORE 000055c2: PUSH1 0x20 000055c4: ADD 000055c5: SWAP2 000055c6: POP 000055c7: JUMPDEST 000055c8: POP 000055c9: SWAP3 000055ca: POP 000055cb: POP 000055cc: POP 000055cd: PUSH1 0x40 000055cf: MLOAD 000055d0: DUP1 000055d1: SWAP2 000055d2: SUB 000055d3: SWAP1 000055d4: REVERT 000055d5: JUMPDEST 000055d6: SWAP4 000055d7: SWAP3 000055d8: POP 000055d9: POP 000055da: POP 000055db: JUMP 000055dc: JUMPDEST 000055dd: DUP3 000055de: DUP1 000055df: SLOAD 000055e0: PUSH1 0x01 000055e2: DUP2 000055e3: PUSH1 0x01 000055e5: AND 000055e6: ISZERO 000055e7: PUSH2 0x0100 000055ea: MUL 000055eb: SUB 000055ec: AND 000055ed: PUSH1 0x02 000055ef: SWAP1 000055f0: DIV 000055f1: SWAP1 000055f2: PUSH1 0x00 000055f4: MSTORE 000055f5: PUSH1 0x20 000055f7: PUSH1 0x00 000055f9: KECCAK256 000055fa: SWAP1 000055fb: PUSH1 0x1f 000055fd: ADD 000055fe: PUSH1 0x20 00005600: SWAP1 00005601: DIV 00005602: DUP2 00005603: ADD 00005604: SWAP3 00005605: DUP3 00005606: PUSH1 0x1f 00005608: LT 00005609: PUSH2 0x561d 0000560c: JUMPI 0000560d: DUP1 0000560e: MLOAD 0000560f: PUSH1 0xff 00005611: NOT 00005612: AND 00005613: DUP4 00005614: DUP1 00005615: ADD 00005616: OR 00005617: DUP6 00005618: SSTORE 00005619: PUSH2 0x564b 0000561c: JUMP 0000561d: JUMPDEST 0000561e: DUP3 0000561f: DUP1 00005620: ADD 00005621: PUSH1 0x01 00005623: ADD 00005624: DUP6 00005625: SSTORE 00005626: DUP3 00005627: ISZERO 00005628: PUSH2 0x564b 0000562b: JUMPI 0000562c: SWAP2 0000562d: DUP3 0000562e: ADD 0000562f: JUMPDEST 00005630: DUP3 00005631: DUP2 00005632: GT 00005633: ISZERO 00005634: PUSH2 0x564a 00005637: JUMPI 00005638: DUP3 00005639: MLOAD 0000563a: DUP3 0000563b: SSTORE 0000563c: SWAP2 0000563d: PUSH1 0x20 0000563f: ADD 00005640: SWAP2 00005641: SWAP1 00005642: PUSH1 0x01 00005644: ADD 00005645: SWAP1 00005646: PUSH2 0x562f 00005649: JUMP 0000564a: JUMPDEST 0000564b: JUMPDEST 0000564c: POP 0000564d: SWAP1 0000564e: POP 0000564f: PUSH2 0x5658 00005652: SWAP2 00005653: SWAP1 00005654: PUSH2 0x575a 00005657: JUMP 00005658: JUMPDEST 00005659: POP 0000565a: SWAP1 0000565b: JUMP 0000565c: JUMPDEST 0000565d: POP 0000565e: DUP1 0000565f: SLOAD 00005660: PUSH1 0x01 00005662: DUP2 00005663: PUSH1 0x01 00005665: AND 00005666: ISZERO 00005667: PUSH2 0x0100 0000566a: MUL 0000566b: SUB 0000566c: AND 0000566d: PUSH1 0x02 0000566f: SWAP1 00005670: DIV 00005671: PUSH1 0x00 00005673: DUP3 00005674: SSTORE 00005675: DUP1 00005676: PUSH1 0x1f 00005678: LT 00005679: PUSH2 0x5682 0000567c: JUMPI 0000567d: POP 0000567e: PUSH2 0x56a1 00005681: JUMP 00005682: JUMPDEST 00005683: PUSH1 0x1f 00005685: ADD 00005686: PUSH1 0x20 00005688: SWAP1 00005689: DIV 0000568a: SWAP1 0000568b: PUSH1 0x00 0000568d: MSTORE 0000568e: PUSH1 0x20 00005690: PUSH1 0x00 00005692: KECCAK256 00005693: SWAP1 00005694: DUP2 00005695: ADD 00005696: SWAP1 00005697: PUSH2 0x56a0 0000569a: SWAP2 0000569b: SWAP1 0000569c: PUSH2 0x575a 0000569f: JUMP 000056a0: JUMPDEST 000056a1: JUMPDEST 000056a2: POP 000056a3: JUMP 000056a4: JUMPDEST 000056a5: PUSH1 0x40 000056a7: MLOAD 000056a8: DUP1 000056a9: PUSH2 0x01c0 000056ac: ADD 000056ad: PUSH1 0x40 000056af: MSTORE 000056b0: DUP1 000056b1: PUSH1 0x00 000056b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000056c8: AND 000056c9: DUP2 000056ca: MSTORE 000056cb: PUSH1 0x20 000056cd: ADD 000056ce: PUSH1 0x00 000056d0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000056e5: AND 000056e6: DUP2 000056e7: MSTORE 000056e8: PUSH1 0x20 000056ea: ADD 000056eb: PUSH1 0x00 000056ed: DUP2 000056ee: MSTORE 000056ef: PUSH1 0x20 000056f1: ADD 000056f2: PUSH1 0x00 000056f4: DUP2 000056f5: MSTORE 000056f6: PUSH1 0x20 000056f8: ADD 000056f9: PUSH1 0x00 000056fb: DUP1 000056fc: NOT 000056fd: AND 000056fe: DUP2 000056ff: MSTORE 00005700: PUSH1 0x20 00005702: ADD 00005703: PUSH1 0x00 00005705: DUP2 00005706: MSTORE 00005707: PUSH1 0x20 00005709: ADD 0000570a: PUSH1 0x00 0000570c: DUP2 0000570d: MSTORE 0000570e: PUSH1 0x20 00005710: ADD 00005711: PUSH1 0x00 00005713: DUP1 00005714: NOT 00005715: AND 00005716: DUP2 00005717: MSTORE 00005718: PUSH1 0x20 0000571a: ADD 0000571b: PUSH1 0x00 0000571d: DUP1 0000571e: NOT 0000571f: AND 00005720: DUP2 00005721: MSTORE 00005722: PUSH1 0x20 00005724: ADD 00005725: PUSH1 0x00 00005727: PUSH12 0xffffffffffffffffffffffff 00005734: AND 00005735: DUP2 00005736: MSTORE 00005737: PUSH1 0x20 00005739: ADD 0000573a: PUSH1 0x00 0000573c: ISZERO 0000573d: ISZERO 0000573e: DUP2 0000573f: MSTORE 00005740: PUSH1 0x20 00005742: ADD 00005743: PUSH1 0x00 00005745: ISZERO 00005746: ISZERO 00005747: DUP2 00005748: MSTORE 00005749: PUSH1 0x20 0000574b: ADD 0000574c: PUSH1 0x00 0000574e: DUP2 0000574f: MSTORE 00005750: PUSH1 0x20 00005752: ADD 00005753: PUSH1 0x00 00005755: DUP2 00005756: MSTORE 00005757: POP 00005758: SWAP1 00005759: JUMP 0000575a: JUMPDEST 0000575b: JUMPDEST 0000575c: DUP1 0000575d: DUP3 0000575e: GT 0000575f: ISZERO 00005760: PUSH2 0x5773 00005763: JUMPI 00005764: PUSH1 0x00 00005766: DUP2 00005767: PUSH1 0x00 00005769: SWAP1 0000576a: SSTORE 0000576b: POP 0000576c: PUSH1 0x01 0000576e: ADD 0000576f: PUSH2 0x575b 00005772: JUMP 00005773: JUMPDEST 00005774: POP 00005775: SWAP1 00005776: JUMP 00005777: INVALID 00005778: MSTORE8 00005779: PUSH2 0x6665 0000577c: NUMBER 0000577d: PUSH2 0x7374 00005780: GASPRICE 00005781: KECCAK256 00005782: PUSH23 0x616c756520646f65736e27742066697420696e20393620 0000579a: PUSH3 0x697473 0000579e: PUSH15 0x6f7420616c6c6f77656420746f2073 000057ae: PUSH6 0x74746c652061 000057b5: PUSH22 0x6374696f6e2061746f6d6963616c6c7970726563616c 000057cc: PUSH4 0x756c6174 000057d1: PUSH6 0x53656c6c416d 000057d8: PUSH16 0x756e7453756d20697320616c72656164 000057e9: PUSH26 0x20746f6f20616476616e6365644f6e6c79207468652075736572 00005804: KECCAK256 00005805: PUSH4 0x616e2063 0000580a: PUSH2 0x6e63 0000580d: PUSH6 0x6c2068697320 00005814: PUSH16 0x72646572734f776e61626c653a206e65 00005825: PUSH24 0x206f776e657220697320746865207a65726f206164647265 0000583e: PUSH20 0x73746f6b656e732063616e6e6f74206265206175 00005853: PUSH4 0x74696f6e 00005858: PUSH6 0x6420666f7220 0000585f: PUSH7 0x7265656e6f206c 00005867: PUSH16 0x6e67657220696e206f7264657220706c 00005878: PUSH2 0x6365 0000587b: PUSH14 0x656e7420616e642063616e63656c 0000588a: PUSH2 0x7469 0000588d: PUSH16 0x6e2070686173655f6d696e427579416d 0000589e: PUSH16 0x756e7473206d75737420626520677265 000058af: PUSH2 0x7465 000058b2: PUSH19 0x207468616e2030547279696e6720746f206765 000058c6: PUSH21 0x206e657874206f66206c61737420656c656d656e74 000058dc: COINBASE 000058dd: PUSH5 0x6472657373 000058e3: GASPRICE 000058e4: KECCAK256 000058e5: PUSH10 0x6e73756666696369656e 000058f0: PUSH21 0x2062616c616e636520666f722063616c6c46656520 00005906: PUSH10 0x73206e6f7420616c6c6f 00005911: PUSH24 0x656420746f2062652073657420686967686572207468616e 0000592a: KECCAK256 0000592b: BALANCE 0000592c: UNKNOWN(0x2E) 0000592d: CALLDATALOAD 0000592e: UNKNOWN(0x25) 0000592f: PUSH2 0x7563 00005932: PUSH21 0x696f6e20656e642064617465206d75737420626520 00005948: PUSH10 0x6e207468652066757475 00005953: PUSH19 0x654f6e6c79206f6e65206f726465722063616e 00005967: KECCAK256 00005968: PUSH3 0x652070 0000596c: PUSH13 0x616365642061746f6d6963616c 0000597a: PUSH13 0x79547279696e6720746f206765 00005988: PUSH21 0x206e657874206f66206e6f6e2d6578697374656e74 0000599e: KECCAK256 0000599f: PUSH6 0x6c656d656e74 000059a6: PUSH14 0x696e696d756d42696464696e6741 000059b5: PUSH14 0x6f756e745065724f726465722069 000059c4: PUSH20 0x206e6f7420616c6c6f77656420746f206265207a 000059d9: PUSH6 0x726f53616665 000059e0: UNKNOWN(0x4D) 000059e1: PUSH2 0x7468 000059e4: GASPRICE 000059e5: KECCAK256 000059e6: PUSH14 0x756c7469706c69636174696f6e20 000059f5: PUSH16 0x766572666c6f7753616665436173743a 00005a06: KECCAK256 00005a07: PUSH23 0x616c756520646f65736e27742066697420696e20363420 00005a1f: PUSH3 0x697473 00005a23: PUSH16 0x6e6c7920616c6c6f77656420746f2063 00005a34: PUSH13 0x61696d20666f722073616d6520 00005a42: PUSH22 0x73657241756374696f6e206e6f7420696e20736f6c75 00005a59: PUSH21 0x696f6e207375626d697373696f6e20706861736575 00005a6f: PUSH20 0x6572206973206e6f7420616c6c6f77656420746f 00005a84: KECCAK256 00005a85: PUSH17 0x6c6163652073616d65206f726465722074 00005a97: PUSH24 0x6963656c696d6974207072696365206e6f74206265747465 00005ab0: PUSH19 0x207468616e206d696d696d616c206f66666572 00005ac4: PUSH21 0x696d6520706572696f647320617265206e6f742063 00005ada: PUSH16 0x6e6669677572656420636f7272656374 00005aeb: PUSH13 0x795361666545524332303a2045 00005af9: MSTORE 00005afa: NUMBER 00005afb: ORIGIN 00005afc: ADDRESS 00005afd: KECCAK256 00005afe: PUSH16 0x7065726174696f6e20646964206e6f74 00005b0f: KECCAK256 00005b10: PUSH20 0x7563636565646e6f206c6f6e67657220696e206f 00005b25: PUSH19 0x64657220706c6163656d656e74207068617365 00005b39: LOG2 00005b3a: PUSH5 0x6970667358 00005b40: UNKNOWN(0x22) 00005b41: SLT 00005b42: KECCAK256 00005b43: SWAP14 00005b44: EXTCODEHASH 00005b45: CALLDATALOAD 00005b46: DUP6 00005b47: UNKNOWN(0xDA) 00005b48: UNKNOWN(0x1F) 00005b49: INVALID 00005b4a: SWAP8 00005b4b: JUMP 00005b4c: UNKNOWN(0xC8) 00005b4d: LOG2 00005b4e: UNKNOWN(0xE5) 00005b4f: CALLCODE 00005b50: DUP10 00005b51: SWAP2 00005b52: PUSH7 0x2e7f098068faf7 00005b5a: UNKNOWN(0x2D) 00005b5b: UNKNOWN(0xD2) 00005b5c: UNKNOWN(0xEC) 00005b5d: ADD 00005b5e: UNKNOWN(0x4B) 00005b5f: PUSH12 0xd536c964736f6c634300060c 00005b6c: STOP 00005b6d: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xd73792a9",
"selector": "0xd73792a9",
"calldata_variants": [
"0xd73792a9",
"0xd73792a90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe4a59ef4",
"selector": "0xe4a59ef4",
"calldata_variants": [
"0xe4a59ef4",
"0xe4a59ef40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe86dea4a",
"selector": "0xe86dea4a",
"calldata_variants": [
"0xe86dea4a",
"0xe86dea4a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec20d0bb",
"selector": "0xec20d0bb",
"calldata_variants": [
"0xec20d0bb",
"0xec20d0bb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf59c2f06",
"selector": "0xf59c2f06",
"calldata_variants": [
"0xf59c2f06",
"0xf59c2f060000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7882deaf",
"selector": "0x7882deaf",
"calldata_variants": [
"0x7882deaf",
"0x7882deaf0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7ed18b70",
"selector": "0x7ed18b70",
"calldata_variants": [
"0x7ed18b70",
"0x7ed18b700000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 23291,
"type": "tx_origin_used"
}
]
}
|
| medium | math | codex | Settlement can be blocked if total bids exceed uint96 limit | 75 | no | — |
viewevidence_json{
"evidence": "The contract warns about >2^96 bids being unsettlable and later casts `currentBidSum` to uint96 during settlement, which will revert when the cap is exceeded.",
"locations": [
"contracts/contracts/EasyAuction.sol:144",
"contracts/contracts/EasyAuction.sol:510",
"contracts/contracts/EasyAuction.sol:523",
"contracts/contracts/EasyAuction.sol:536"
],
"recommendation": "Enforce an upper bound on cumulative bid amounts at order placement (reject when sum would exceed 2^96-1), or redesign the order encoding/clearing logic to use larger types so settlement does not require uint96 casts.",
"exploit_scenario": "A bidder (or multiple bidders) submits very large orders such that the cumulative bid sum exceeds 2^96. During settlement, `currentBidSum.toUint96()` reverts, preventing `settleAuction` from completing and leaving both auctioning and bidding tokens locked in the contract."
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0xc2678b07103aba68c79627f3adc1be6427756e51b0c33a923b23be5388878367
call_targets:
0x0b7ffc1f4ad541a4ed16b40d8c37f0929158d101
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xc2678b07103aba68c79627f3adc1be6427756e51b0c33a923b23be5388878367",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x0b7ffc1f4ad541a4ed16b40d8c37f0929158d101"
],
"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": "0xd73792a9",
"selector": "0xd73792a9",
"calldata_variants": [
"0xd73792a9",
"0xd73792a90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe4a59ef4",
"selector": "0xe4a59ef4",
"calldata_variants": [
"0xe4a59ef4",
"0xe4a59ef40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe86dea4a",
"selector": "0xe86dea4a",
"calldata_variants": [
"0xe86dea4a",
"0xe86dea4a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec20d0bb",
"selector": "0xec20d0bb",
"calldata_variants": [
"0xec20d0bb",
"0xec20d0bb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf59c2f06",
"selector": "0xf59c2f06",
"calldata_variants": [
"0xf59c2f06",
"0xf59c2f060000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7882deaf",
"selector": "0x7882deaf",
"calldata_variants": [
"0x7882deaf",
"0x7882deaf0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7ed18b70",
"selector": "0x7ed18b70",
"calldata_variants": [
"0x7ed18b70",
"0x7ed18b700000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 21676,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 23375,
"opcode": "CALLCODE",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [
{
"pc": 23291,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 2
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0xc2678b07103aba68c79627f3adc1be6427756e51b0c33a923b23be5388878367
call_targets:
0x0b7ffc1f4ad541a4ed16b40d8c37f0929158d101
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xc2678b07103aba68c79627f3adc1be6427756e51b0c33a923b23be5388878367",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x0b7ffc1f4ad541a4ed16b40d8c37f0929158d101"
],
"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": "0xd73792a9",
"selector": "0xd73792a9",
"calldata_variants": [
"0xd73792a9",
"0xd73792a90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe4a59ef4",
"selector": "0xe4a59ef4",
"calldata_variants": [
"0xe4a59ef4",
"0xe4a59ef40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe86dea4a",
"selector": "0xe86dea4a",
"calldata_variants": [
"0xe86dea4a",
"0xe86dea4a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec20d0bb",
"selector": "0xec20d0bb",
"calldata_variants": [
"0xec20d0bb",
"0xec20d0bb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf59c2f06",
"selector": "0xf59c2f06",
"calldata_variants": [
"0xf59c2f06",
"0xf59c2f060000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7882deaf",
"selector": "0x7882deaf",
"calldata_variants": [
"0x7882deaf",
"0x7882deaf0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7ed18b70",
"selector": "0x7ed18b70",
"calldata_variants": [
"0x7ed18b70",
"0x7ed18b700000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 21676,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 23375,
"opcode": "CALLCODE",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": [
{
"pc": 23291,
"type": "tx_origin_used"
}
]
}
|
| low | auth | codex | Allowlist signatures can be replayed across EasyAuction instances | 65 | no | — |
viewevidence_json{
"evidence": "The signed hash only commits to `domainSeparator`, `user`, and `auctionId`; it does not include the auction contract address, so signatures are not deployment-specific.",
"locations": [
"contracts/contracts/allowListExamples/AllowListOffChainManaged.sol:67",
"contracts/contracts/allowListExamples/AllowListOffChainManaged.sol:77"
],
"recommendation": "Bind signatures to the EasyAuction address (or `allower`) by including it in the signed hash, or switch to full EIP-712 typed data that includes the auction contract address and nonce/expiry as needed.",
"exploit_scenario": "If the same allowlist contract and signer are reused across multiple EasyAuction deployments, a signature for `(user, auctionId)` on one deployment is valid on another deployment that uses the same auctionId value, allowing unintended participation."
}
|
| low | other | codex | Unchecked ERC20 approve return value in wrapper constructor | 65 | no | — |
viewevidence_json{
"evidence": "The constructor calls `approve` directly without checking the return value.",
"locations": [
"contracts/contracts/wrappers/DepositAndPlaceOrder.sol:15"
],
"recommendation": "Use `SafeERC20.safeApprove` or check the returned boolean and revert on failure; consider setting allowance to zero before setting max allowance for compatibility.",
"exploit_scenario": "If the wrapped native token implements `approve` in a non-standard way (returns false without reverting), the constructor completes but the allowance is not set, causing `depositAndPlaceOrder` to revert later and making the wrapper unusable for that token."
}
|