282352a2-0573-4737-ac0f-2601c2a3e40a
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 |
|---|---|---|---|---|
| 30315 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 74074 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 74075 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 74076 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 74077 | capability.graph | complete | 1 / 3 | 1 week ago |
| 74078 | detector.run | complete | 1 / 3 | 1 week ago |
| 74079 | validation.fork | complete | 1 / 3 | 1 week ago |
| 113559 | tool.slither | failed | 2 / 2 | 1 week ago |
Traceback (most recent call last):
File "/var/www/tripwire/worker/worker.py", line 198, in main
payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 1084, in run
stdout_text, stderr_text, result_json = _run_slither(
~~~~~~~~~~~~^
workspace,
^^^^^^^^^^
...<4 lines>...
target_path=target_path,
^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 958, in _run_slither
raise RuntimeError(f"slither failed (exit {result.returncode}): {stderr_text or stdout_text}")
RuntimeError: slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-wf0r5ic_)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-wf0r5ic_)
Traceback (most recent call last):
File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
sys.exit(main())
~~~~^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
main_impl(all_detector_classes=detectors, all_printer_classes=printers)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
) = process_all(filename, args, detector_classes, printer_classes)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
compilations = compile_all(target, **vars(args))
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
compilations.append(CryticCompile(target, **kwargs))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
self._compile(**kwargs)
~~~~~~~~~~~~~^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
self._platform.compile(self, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
hardhat_like_parsing(
~~~~~~~~~~~~~~~~~~~~^
crytic_compile, str(self._target), build_directory, str(self._project_root)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-wf0r5ic_/out/build-info is not a directory.
[codex:1338843] OpenAI Codex v0.77.0 (research preview)
[codex:1338843] --------
[codex:1338843] workdir: /tmp/codex-multi-ghohx5dz
[codex:1338843] model: gpt-5.2-codex
[codex:1338843] provider: openai
[codex:1338843] approval: never
[codex:1338843] sandbox: read-only
[codex:1338843] reasoning effort: xhigh
[codex:1338843] reasoning summaries: auto
[codex:1338843] session id: 019b6573-42f2-7180-a11e-65ec9100dfd2
[codex:1338843] --------
[codex:1338843] user
[codex:1338843] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1338843] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1338843] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1338843]
[codex:1338843] Scope rules:
[codex:1338843] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1338843] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1338843]
[codex:1338843] Output MUST be valid JSON matching the provided schema.
[codex:1338843] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1338843] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1338843]
[codex:1338843] Output constraints (IMPORTANT):
[codex:1338843] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1338843] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1338843] mcp startup: no servers
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Preparing to read AUDIT_BUNDLE.txt**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc ls in /tmp/codex-multi-ghohx5dz succeeded in 5ms:
[codex:1338843] AUDIT_BUNDLE.txt
[codex:1338843] codex-output-schema.json
[codex:1338843] contracts
[codex:1338843] exec
[codex:1338843] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1338843]
[codex:1338843] ================================================================================
[codex:1338843] FILE: contracts/@openzeppelin/contracts/GSN/Context.sol
[codex:1338843] ================================================================================
[codex:1338843] pragma solidity ^0.5.0;
[codex:1338843]
[codex:1338843] /*
[codex:1338843] * @dev Provides information about the current execution context, including the
[codex:1338843] * sender of the transaction and its data. While these are generally available
[codex:1338843] * via msg.sender and msg.data, they should not be accessed in such a direct
[codex:1338843] * manner, since when dealing with GSN meta-transactions the account sending and
[codex:1338843] * paying for execution may not be the actual sender (as far as an application
[codex:1338843] * is concerned).
[codex:1338843] *
[codex:1338843] * This contract is only required for intermediate, library-like contracts.
[codex:1338843] */
[codex:1338843] contract Context {
[codex:1338843] // Empty internal constructor, to prevent people from mistakenly deploying
[codex:1338843] // an instance of this contract, which should be used via inheritance.
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Planning segmented reading of AUDIT_BUNDLE.txt**
[codex:1338843]
[codex:1338843] I see the audit file is huge and truncated if read all at once, so I’m planning to read it in smaller segments using line ranges with sed to cover the entire content without overwhelming output. I want to map out file boundaries using ripgrep on "FILE:" lines to identify contracts and then selectively parse key first-party contracts, ensuring full compliance with the requirement to read the whole audit bundle carefully.
[codex:1338843] exec
[codex:1338843] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-ghohx5dz succeeded in 8ms:
[codex:1338843] 4:FILE: contracts/@openzeppelin/contracts/GSN/Context.sol
[codex:1338843] 35:FILE: contracts/@openzeppelin/contracts/math/Math.sol
[codex:1338843] 68:FILE: contracts/@openzeppelin/contracts/math/SafeMath.sol
[codex:1338843] 228:FILE: contracts/@openzeppelin/contracts/ownership/Ownable.sol
[codex:1338843] 309:FILE: contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:1338843] 389:FILE: contracts/@openzeppelin/contracts/utils/Address.sol
[codex:1338843] 463:FILE: contracts/@openzeppelin/contracts/utils/ReentrancyGuard.sol
[codex:1338843] 522:FILE: contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Admin.sol
[codex:1338843] 903:FILE: contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/DolomiteMargin.sol
[codex:1338843] 981:FILE: contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Getters.sol
[codex:1338843] 1610:FILE: contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/HasState.sol
[codex:1338843] 1648:FILE: contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Operation.sol
[codex:1338843] 1722:FILE: contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/Permission.sol
[codex:1338843] 1796:FILE: contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/AdminImpl.sol
[codex:1338843] 2479:FILE: contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/CallImpl.sol
[codex:1338843] 2538:FILE: contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/DepositImpl.sol
[codex:1338843] 2627:FILE: contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/GettersImpl.sol
[codex:1338843] 3417:FILE: contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/LiquidateOrVaporizeImpl.sol
[codex:1338843] 3864:FILE: contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/OperationImpl.sol
[codex:1338843] 4309:FILE: contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/TradeImpl.sol
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Planning to read large audit bundle in chunks**
[codex:1338843]
[codex:1338843] I'll read the entire AUDIT_BUNDLE.txt file sequentially in manageable 400-line chunks to comply with the requirement of fully reading it before concluding while avoiding truncated output. This way, I can process all first-party files comprehensively and look for vulnerabilities without writing new files.
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '1,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1338843]
[codex:1338843] ================================================================================
[codex:1338843] FILE: contracts/@openzeppelin/contracts/GSN/Context.sol
[codex:1338843] ================================================================================
[codex:1338843] pragma solidity ^0.5.0;
[codex:1338843]
[codex:1338843] /*
[codex:1338843] * @dev Provides information about the current execution context, including the
[codex:1338843] * sender of the transaction and its data. While these are generally available
[codex:1338843] * via msg.sender and msg.data, they should not be accessed in such a direct
[codex:1338843] * manner, since when dealing with GSN meta-transactions the account sending and
[codex:1338843] * paying for execution may not be the actual sender (as far as an application
[codex:1338843] * is concerned).
[codex:1338843] *
[codex:1338843] * This contract is only required for intermediate, library-like contracts.
[codex:1338843] */
[codex:1338843] contract Context {
[codex:1338843] // Empty internal constructor, to prevent people from mistakenly deploying
[codex:1338843] // an instance of this contract, which should be used via inheritance.
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing to read more lines**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '401,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] * ====
[codex:1338843] * It is unsafe to assume that an address for which this function returns
[codex:1338843] * false is an externally-owned account (EOA) and not a contract.
[codex:1338843] *
[codex:1338843] * Among others, `isContract` will return false for the following
[codex:1338843] * types of addresses:
[codex:1338843] *
[codex:1338843] * - an externally-owned account
[codex:1338843] * - a contract in construction
[codex:1338843] * - an address where a contract will be created
[codex:1338843] * - an address where a contract lived, but was destroyed
[codex:1338843] * ====
[codex:1338843] */
[codex:1338843] function isContract(address account) internal view returns (bool) {
[codex:1338843] // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
[codex:1338843] // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
[codex:1338843] // for accounts without code, i.e. `keccak256('')`
[codex:1338843] bytes32 codehash;
[codex:1338843] bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
[codex:1338843] // solhint-disable-next-line no-inline-assembly
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing to review lines 801-1200**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '801,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843]
[codex:1338843] function ownerSetMinBorrowedValue(
[codex:1338843] Monetary.Value memory minBorrowedValue
[codex:1338843] )
[codex:1338843] public
[codex:1338843] onlyOwner
[codex:1338843] nonReentrant
[codex:1338843] {
[codex:1338843] AdminImpl.ownerSetMinBorrowedValue(
[codex:1338843] g_state,
[codex:1338843] minBorrowedValue
[codex:1338843] );
[codex:1338843] }
[codex:1338843]
[codex:1338843] function ownerSetAccountMaxNumberOfMarketsWithBalances(
[codex:1338843] uint256 accountMaxNumberOfMarketsWithBalances
[codex:1338843] )
[codex:1338843] public
[codex:1338843] onlyOwner
[codex:1338843] nonReentrant
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing text reading**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '1201,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 8ms:
[codex:1338843]
[codex:1338843] function getRiskLimits()
[codex:1338843] public
[codex:1338843] view
[codex:1338843] returns (Storage.RiskLimits memory)
[codex:1338843] {
[codex:1338843] return GettersImpl.getRiskLimits(g_state);
[codex:1338843] }
[codex:1338843]
[codex:1338843] // ============ Getters for Markets ============
[codex:1338843]
[codex:1338843] function getNumMarkets()
[codex:1338843] public
[codex:1338843] view
[codex:1338843] returns (uint256)
[codex:1338843] {
[codex:1338843] return GettersImpl.getNumMarkets(g_state);
[codex:1338843] }
[codex:1338843]
[codex:1338843] function getMarketIdByTokenAddress(
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing the process**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '1601,2000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] public
[codex:1338843] view
[codex:1338843] returns (bool)
[codex:1338843] {
[codex:1338843] return GettersImpl.getIsAutoTraderSpecial(g_state, autoTrader);
[codex:1338843] }
[codex:1338843] }
[codex:1338843]
[codex:1338843] ================================================================================
[codex:1338843] FILE: contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/HasState.sol
[codex:1338843] ================================================================================
[codex:1338843] /*
[codex:1338843]
[codex:1338843] Copyright 2019 dYdX Trading Inc.
[codex:1338843]
[codex:1338843] Licensed under the Apache License, Version 2.0 (the "License");
[codex:1338843] you may not use this file except in compliance with the License.
[codex:1338843] You may obtain a copy of the License at
[codex:1338843]
[codex:1338843] http://www.apache.org/licenses/LICENSE-2.0
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing exploration**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '2001,2400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843]
[codex:1338843] uint256 balance = IERC20Detailed(token).balanceOf(address(this));
[codex:1338843] token.transfer(recipient, balance);
[codex:1338843]
[codex:1338843] emit LogWithdrawUnsupportedTokens(token, balance);
[codex:1338843]
[codex:1338843] return balance;
[codex:1338843] }
[codex:1338843]
[codex:1338843] // ============ Market Functions ============
[codex:1338843]
[codex:1338843] function ownerAddMarket(
[codex:1338843] Storage.State storage state,
[codex:1338843] address token,
[codex:1338843] IPriceOracle priceOracle,
[codex:1338843] IInterestSetter interestSetter,
[codex:1338843] Decimal.D256 memory marginPremium,
[codex:1338843] Decimal.D256 memory liquidationSpreadPremium,
[codex:1338843] uint256 maxSupplyWei,
[codex:1338843] uint256 maxBorrowWei,
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing exploration**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '2401,2800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] Storage.State storage state,
[codex:1338843] uint256 marketId,
[codex:1338843] uint256 maxBorrowWei
[codex:1338843] )
[codex:1338843] private
[codex:1338843] {
[codex:1338843] Types.Wei memory maxBorrowWeiStruct = Types.Wei(false, maxBorrowWei.to128());
[codex:1338843] state.markets[marketId].maxBorrowWei = maxBorrowWeiStruct;
[codex:1338843]
[codex:1338843] emit LogSetMaxBorrowWei(marketId, maxBorrowWeiStruct);
[codex:1338843] }
[codex:1338843]
[codex:1338843] function _setEarningsRateOverride(
[codex:1338843] Storage.State storage state,
[codex:1338843] uint256 marketId,
[codex:1338843] Decimal.D256 memory earningsRateOverride
[codex:1338843] )
[codex:1338843] private
[codex:1338843] {
[codex:1338843] Require.that(
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing process**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '2801,3200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] }
[codex:1338843]
[codex:1338843] function getAccountRiskOverrideSetterByAccountOwner(
[codex:1338843] Storage.State storage state,
[codex:1338843] address accountOwner
[codex:1338843] )
[codex:1338843] public
[codex:1338843] view
[codex:1338843] returns (IAccountRiskOverrideSetter)
[codex:1338843] {
[codex:1338843] return state.riskParams.accountRiskOverrideSetterMap[accountOwner];
[codex:1338843] }
[codex:1338843]
[codex:1338843] function getAccountRiskOverrideByAccount(
[codex:1338843] Storage.State storage state,
[codex:1338843] Account.Info memory account
[codex:1338843] )
[codex:1338843] public
[codex:1338843] view
[codex:1338843] returns (Decimal.D256 memory marginRatioOverride, Decimal.D256 memory liquidationSpreadOverride)
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing process**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '3201,3600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] state.getPar(account, marketId),
[codex:1338843] state.fetchNewIndex(marketId, state.getIndex(marketId))
[codex:1338843] );
[codex:1338843] }
[codex:1338843]
[codex:1338843] function getAccountStatus(
[codex:1338843] Storage.State storage state,
[codex:1338843] Account.Info memory account
[codex:1338843] )
[codex:1338843] public
[codex:1338843] view
[codex:1338843] returns (Account.Status)
[codex:1338843] {
[codex:1338843] return state.getStatus(account);
[codex:1338843] }
[codex:1338843]
[codex:1338843] function getAccountMarketsWithBalances(
[codex:1338843] Storage.State storage state,
[codex:1338843] Account.Info memory account
[codex:1338843] )
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing exploration**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '3601,4000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 7ms:
[codex:1338843] Events.logLiquidate(
[codex:1338843] state,
[codex:1338843] args,
[codex:1338843] heldWei,
[codex:1338843] owedWei
[codex:1338843] );
[codex:1338843] }
[codex:1338843]
[codex:1338843] function vaporize(
[codex:1338843] Storage.State storage state,
[codex:1338843] Cache.MarketCache memory cache,
[codex:1338843] Actions.VaporizeArgs memory args
[codex:1338843] )
[codex:1338843] public
[codex:1338843] {
[codex:1338843] state.requireIsOperator(args.solidAccount, msg.sender);
[codex:1338843]
[codex:1338843] // verify vaporizable
[codex:1338843] if (Account.Status.Vapor != state.getStatus(args.vaporAccount)) {
[codex:1338843] Require.that(
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing exploration**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '4001,4400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843]
[codex:1338843] function _runPreprocessing(
[codex:1338843] Storage.State storage state,
[codex:1338843] Account.Info[] memory accounts,
[codex:1338843] Actions.ActionArgs[] memory actions
[codex:1338843] )
[codex:1338843] private
[codex:1338843] returns (
[codex:1338843] bool[] memory,
[codex:1338843] uint256[] memory,
[codex:1338843] Cache.MarketCache memory
[codex:1338843] )
[codex:1338843] {
[codex:1338843] bool[] memory primaryAccounts = new bool[](accounts.length);
[codex:1338843] uint256[] memory numberOfMarketsWithBalancesPerAccount = new uint256[](accounts.length);
[codex:1338843] Cache.MarketCache memory cache = Cache.create(state.numMarkets);
[codex:1338843]
[codex:1338843] // keep track of primary accounts and indexes that need updating
[codex:1338843] uint256 actionsLength = actions.length;
[codex:1338843] for (uint256 i; i < actionsLength; ++i) {
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing exploration**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '4401,4800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] args.makerMarket,
[codex:1338843] makerIndex,
[codex:1338843] tokensReceived
[codex:1338843] );
[codex:1338843]
[codex:1338843] state.setParFromDeltaWei(
[codex:1338843] args.account,
[codex:1338843] args.takerMarket,
[codex:1338843] takerIndex,
[codex:1338843] takerWei
[codex:1338843] );
[codex:1338843]
[codex:1338843] Events.logBuy(
[codex:1338843] state,
[codex:1338843] args,
[codex:1338843] takerWei,
[codex:1338843] makerWei
[codex:1338843] );
[codex:1338843] }
[codex:1338843]
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing process**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '4801,5200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 8ms:
[codex:1338843] Copyright 2023 Dolomite.
[codex:1338843]
[codex:1338843] Licensed under the Apache License, Version 2.0 (the "License");
[codex:1338843] you may not use this file except in compliance with the License.
[codex:1338843] You may obtain a copy of the License at
[codex:1338843]
[codex:1338843] http://www.apache.org/licenses/LICENSE-2.0
[codex:1338843]
[codex:1338843] Unless required by applicable law or agreed to in writing, software
[codex:1338843] distributed under the License is distributed on an "AS IS" BASIS,
[codex:1338843] WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:1338843] See the License for the specific language governing permissions and
[codex:1338843] limitations under the License.
[codex:1338843]
[codex:1338843] */
[codex:1338843]
[codex:1338843] pragma solidity >=0.5.0;
[codex:1338843] pragma experimental ABIEncoderV2;
[codex:1338843]
[codex:1338843] import { Account } from "../lib/Account.sol";
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Proceeding with next steps**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '5201,5600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] * Get the ERC20 token address for a market.
[codex:1338843] *
[codex:1338843] * @param marketId The market to query
[codex:1338843] * @return The token address
[codex:1338843] */
[codex:1338843] function getMarketTokenAddress(
[codex:1338843] uint256 marketId
[codex:1338843] ) external view returns (address);
[codex:1338843]
[codex:1338843] /**
[codex:1338843] * Return true if a particular market is in closing mode. Additional borrows cannot be taken
[codex:1338843] * from a market that is closing.
[codex:1338843] *
[codex:1338843] * @param marketId The market to query
[codex:1338843] * @return True if the market is closing
[codex:1338843] */
[codex:1338843] function getMarketIsClosing(
[codex:1338843] uint256 marketId
[codex:1338843] )
[codex:1338843] external
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing exploration**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '5601,6000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] *
[codex:1338843] * @param operator The address to query
[codex:1338843] * @return True if operator is a global operator
[codex:1338843] */
[codex:1338843] function getIsGlobalOperator(
[codex:1338843] address operator
[codex:1338843] ) external view returns (bool);
[codex:1338843]
[codex:1338843] /**
[codex:1338843] * Checks if the autoTrader can only be called invoked by a global operator
[codex:1338843] *
[codex:1338843] * @param autoTrader The trader that should be checked for special call privileges.
[codex:1338843] */
[codex:1338843] function getIsAutoTraderSpecial(address autoTrader) external view returns (bool);
[codex:1338843]
[codex:1338843] // ============ Write Functions ============
[codex:1338843]
[codex:1338843] /**
[codex:1338843] * The main entry-point to DolomiteMargin that allows users and contracts to manage accounts.
[codex:1338843] * Take one or more actions on one or more accounts. The msg.sender must be the owner or
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing process**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '6001,6400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] address _receiver,
[codex:1338843] address _makerToken,
[codex:1338843] address _takerToken,
[codex:1338843] uint256 _requestedFillAmount,
[codex:1338843] bytes calldata _orderData
[codex:1338843] )
[codex:1338843] external
[codex:1338843] returns (uint256);
[codex:1338843]
[codex:1338843] /**
[codex:1338843] * Get amount of takerToken required to buy a certain amount of makerToken for a given trade.
[codex:1338843] * Should match the takerToken amount used in exchangeForAmount. If the order cannot provide
[codex:1338843] * exactly desiredMakerToken, then it must return the price to buy the minimum amount greater
[codex:1338843] * than desiredMakerToken
[codex:1338843] *
[codex:1338843] * @param _makerToken The token to receive (target asset; IE path[path.length - 1])
[codex:1338843] * @param _takerToken The token to pay (originator asset; IE path[0])
[codex:1338843] * @param _desiredMakerToken Amount of `_makerToken` requested
[codex:1338843] * @param _orderData Arbitrary bytes data for any information to pass to the exchange
[codex:1338843] * @return Amount of `_takerToken` the needed to complete the exchange
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing exploration**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '6401,6800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843]
[codex:1338843] // ============ Enums ============
[codex:1338843]
[codex:1338843] enum ActionType {
[codex:1338843] Deposit, // supply tokens
[codex:1338843] Withdraw, // borrow tokens
[codex:1338843] Transfer, // transfer balance between accounts
[codex:1338843] Buy, // buy an amount of some token (externally)
[codex:1338843] Sell, // sell an amount of some token (externally)
[codex:1338843] Trade, // trade tokens against another account
[codex:1338843] Liquidate, // liquidate an undercollateralized or expiring account
[codex:1338843] Vaporize, // use excess tokens to zero-out a completely negative account
[codex:1338843] Call // send arbitrary data to an address
[codex:1338843] }
[codex:1338843]
[codex:1338843] enum AccountLayout {
[codex:1338843] OnePrimary,
[codex:1338843] TwoPrimary,
[codex:1338843] PrimaryAndSecondary
[codex:1338843] }
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing task**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '6801,7200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843]
[codex:1338843]
[codex:1338843] /**
[codex:1338843] * @title Bits
[codex:1338843] * @author Dolomite
[codex:1338843] *
[codex:1338843] * Library for caching information about markets
[codex:1338843] */
[codex:1338843] library Bits {
[codex:1338843]
[codex:1338843] // ============ Constants ============
[codex:1338843]
[codex:1338843] uint256 internal constant ONE = 1;
[codex:1338843] uint256 internal constant MAX_UINT_BITS = 256;
[codex:1338843]
[codex:1338843] // ============ Functions ============
[codex:1338843]
[codex:1338843] function createBitmaps(uint256 maxLength) internal pure returns (uint256[] memory) {
[codex:1338843] return new uint256[]((maxLength / MAX_UINT_BITS) + ONE);
[codex:1338843] }
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing process**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '7201,7600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] returns (uint256)
[codex:1338843] {
[codex:1338843] return DolomiteMarginMath.getPartial(target, BASE, d.value);
[codex:1338843] }
[codex:1338843] }
[codex:1338843]
[codex:1338843] ================================================================================
[codex:1338843] FILE: contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/DolomiteMarginMath.sol
[codex:1338843] ================================================================================
[codex:1338843] /*
[codex:1338843]
[codex:1338843] Copyright 2019 dYdX Trading Inc.
[codex:1338843]
[codex:1338843] Licensed under the Apache License, Version 2.0 (the "License");
[codex:1338843] you may not use this file except in compliance with the License.
[codex:1338843] You may obtain a copy of the License at
[codex:1338843]
[codex:1338843] http://www.apache.org/licenses/LICENSE-2.0
[codex:1338843]
[codex:1338843] Unless required by applicable law or agreed to in writing, software
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing task**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '7601,8000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] uint256 outputMarket,
[codex:1338843] BalanceUpdate takerInputUpdate,
[codex:1338843] BalanceUpdate takerOutputUpdate,
[codex:1338843] BalanceUpdate makerInputUpdate,
[codex:1338843] BalanceUpdate makerOutputUpdate,
[codex:1338843] address autoTrader
[codex:1338843] );
[codex:1338843]
[codex:1338843] event LogCall(
[codex:1338843] address indexed accountOwner,
[codex:1338843] uint256 accountNumber,
[codex:1338843] address callee
[codex:1338843] );
[codex:1338843]
[codex:1338843] event LogLiquidate(
[codex:1338843] address indexed solidAccountOwner,
[codex:1338843] uint256 solidAccountNumber,
[codex:1338843] address indexed liquidAccountOwner,
[codex:1338843] uint256 liquidAccountNumber,
[codex:1338843] uint256 heldMarket,
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing exploration**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '8001,8400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 7ms:
[codex:1338843] distributed under the License is distributed on an "AS IS" BASIS,
[codex:1338843] WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:1338843] See the License for the specific language governing permissions and
[codex:1338843] limitations under the License.
[codex:1338843]
[codex:1338843] */
[codex:1338843]
[codex:1338843] pragma solidity ^0.5.7;
[codex:1338843]
[codex:1338843]
[codex:1338843] /**
[codex:1338843] * @author https://github.com/nomad-xyz
[codex:1338843] */
[codex:1338843] library ExcessivelySafeCall {
[codex:1338843]
[codex:1338843] function safeStaticCall(
[codex:1338843] address _target,
[codex:1338843] bytes4 _selector,
[codex:1338843] bytes memory _calldata
[codex:1338843] ) internal view returns (bool isSuccess, bytes memory returnData) {
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing current task**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '8401,8800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] } else {
[codex:1338843] return Types.Par({
[codex:1338843] sign: false,
[codex:1338843] value: input.value.getPartialRoundHalfUp(BASE, index.borrow).to128()
[codex:1338843] });
[codex:1338843] }
[codex:1338843] }
[codex:1338843]
[codex:1338843] /*
[codex:1338843] * Convert the total supply and borrow principal amounts of a market to total supply and borrow
[codex:1338843] * token amounts.
[codex:1338843] */
[codex:1338843] function totalParToWei(
[codex:1338843] Types.TotalPar memory totalPar,
[codex:1338843] Index memory index
[codex:1338843] )
[codex:1338843] internal
[codex:1338843] pure
[codex:1338843] returns (Types.Wei memory, Types.Wei memory)
[codex:1338843] {
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing process**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '8801,9200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 8ms:
[codex:1338843] j = input;
[codex:1338843] for (uint256 i = length; i != 0; ) {
[codex:1338843] // reverse-for-loops with unsigned integer
[codex:1338843] /* solium-disable-next-line security/no-modify-for-iter-var */
[codex:1338843] i--;
[codex:1338843]
[codex:1338843] // take last decimal digit
[codex:1338843] bstr[i] = byte(uint8(ASCII_ZERO + (j % 10)));
[codex:1338843]
[codex:1338843] // remove the last decimal digit
[codex:1338843] j /= 10;
[codex:1338843] }
[codex:1338843]
[codex:1338843] return bstr;
[codex:1338843] }
[codex:1338843]
[codex:1338843] function stringify(
[codex:1338843] address input
[codex:1338843] )
[codex:1338843] private
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing process**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '9201,9600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843]
[codex:1338843] // owner => account number => Account
[codex:1338843] mapping (address => mapping (uint256 => Account.Storage)) accounts;
[codex:1338843]
[codex:1338843] // Addresses that can control other users accounts
[codex:1338843] mapping (address => mapping (address => uint256)) operators;
[codex:1338843]
[codex:1338843] // Addresses that can control all users accounts
[codex:1338843] mapping (address => uint256) globalOperators;
[codex:1338843]
[codex:1338843] // Addresses of auto traders that can only be called by global operators. IE for expirations
[codex:1338843] mapping (address => uint256) specialAutoTraders;
[codex:1338843]
[codex:1338843] // mutable risk parameters of the system
[codex:1338843] RiskParams riskParams;
[codex:1338843]
[codex:1338843] // immutable risk limits of the system
[codex:1338843] RiskLimits riskLimits;
[codex:1338843] }
[codex:1338843]
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Continuing process**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '9601,10000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] address owner,
[codex:1338843] address operator
[codex:1338843] )
[codex:1338843] internal
[codex:1338843] view
[codex:1338843] returns (bool)
[codex:1338843] {
[codex:1338843] return state.operators[owner][operator] == 1;
[codex:1338843] }
[codex:1338843]
[codex:1338843] function requireIsGlobalOperator(
[codex:1338843] Storage.State storage state,
[codex:1338843] address operator
[codex:1338843] )
[codex:1338843] internal
[codex:1338843] view
[codex:1338843] {
[codex:1338843] bool isValidOperator = state.isGlobalOperator(operator);
[codex:1338843]
[codex:1338843] Require.that(
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Proceeding with next steps**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "sed -n '10001,10448p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] pragma experimental ABIEncoderV2;
[codex:1338843]
[codex:1338843] import { DolomiteMarginMath } from "./DolomiteMarginMath.sol";
[codex:1338843]
[codex:1338843]
[codex:1338843] /**
[codex:1338843] * @title Time
[codex:1338843] * @author dYdX
[codex:1338843] *
[codex:1338843] * Library for dealing with time, assuming timestamps fit within 32 bits (valid until year 2106)
[codex:1338843] */
[codex:1338843] library Time {
[codex:1338843]
[codex:1338843] // ============ Library Functions ============
[codex:1338843]
[codex:1338843] function currentTime()
[codex:1338843] internal
[codex:1338843] view
[codex:1338843] returns (uint32)
[codex:1338843] {
[codex:1338843]
[codex:1338843]
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Reviewing DolomiteMargin security considerations**
[codex:1338843] thinking
[codex:1338843] **Analyzing detailed protocol edge cases and risks**
[codex:1338843]
[codex:1338843] I’m carefully evaluating nuanced risks like stale interest index causing excess token miscalculation, potential reentrancy paths via external callbacks and setOperators, oracle trust assumptions, and subtle accounting behaviors. It’s complex but I’m narrowing down on real protocol implications and trust boundaries.
[codex:1338843] thinking
[codex:1338843] **Assessing token transfer mechanics and callback interactions**
[codex:1338843]
[codex:1338843] I’m inspecting how token transfers handle self-transfers, the roles of transferIn/out functions, and nuances around callbacks like `SafeExternalCallback`, focusing on whether any of these paths could let users manipulate balances or cause reentrancy despite protections.
[codex:1338843] exec
[codex:1338843] /bin/bash -lc 'rg -n "safeStaticCall" AUDIT_BUNDLE.txt' in /tmp/codex-multi-ghohx5dz succeeded in 7ms:
[codex:1338843] 8016: function safeStaticCall(
[codex:1338843]
[codex:1338843]
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Analyzing potential accounting inconsistencies**
[codex:1338843] thinking
[codex:1338843] **Evaluating detailed protocol logic and risks**
[codex:1338843]
[codex:1338843] I’m carefully checking various protocol mechanisms including excess token calculations, external calls, ownership initialization via tx.origin, operator permissions, and oracle sentinel usage. I’m concluding that most potential issues are either intentional design choices or mitigated by checks like nonReentrant and state update order, so no clear vulnerabilities stand out.
[codex:1338843] thinking
[codex:1338843] **Summarizing residual risks and minor concerns**
[codex:1338843]
[codex:1338843] I’m wrapping up with no exploitable vulnerabilities found, though I note low-severity issues like using tx.origin for ownership, reliance on admin to add valid tokens, and potential DoS via expensive external callbacks. Overall, these are design choices rather than clear security bugs.
[codex:1338843] exec
[codex:1338843] /bin/bash -lc 'rg -n "delegatecall" AUDIT_BUNDLE.txt' in /tmp/codex-multi-ghohx5dz exited 1 in 7ms:
[codex:1338843]
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Analyzing potential vulnerabilities and fee-on-transfer token risks**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc 'rg -n "function deposit" contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/DepositImpl.sol' in /tmp/codex-multi-ghohx5dz succeeded in 7ms:
[codex:1338843] 40: function deposit(
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Adding line number references**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc 'rg -n "function transferIn" contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Exchange.sol' in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] 64: function transferIn(
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Locating transferFrom method**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc 'rg -n "function transferFrom" contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol' in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] 55: function transferFrom(
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Analyzing fee-on-transfer token risks**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "nl -ba contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/DepositImpl.sol | sed -n '40,110p'" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] 40 function deposit(
[codex:1338843] 41 Storage.State storage state,
[codex:1338843] 42 Actions.DepositArgs memory args,
[codex:1338843] 43 Interest.Index memory index
[codex:1338843] 44 )
[codex:1338843] 45 public
[codex:1338843] 46 {
[codex:1338843] 47 state.requireIsOperator(args.account, msg.sender);
[codex:1338843] 48
[codex:1338843] 49 Require.that(
[codex:1338843] 50 args.from == msg.sender || args.from == args.account.owner,
[codex:1338843] 51 FILE,
[codex:1338843] 52 "Invalid deposit source",
[codex:1338843] 53 args.from
[codex:1338843] 54 );
[codex:1338843] 55
[codex:1338843] 56 (
[codex:1338843] 57 Types.Par memory newPar,
[codex:1338843] 58 Types.Wei memory deltaWei
[codex:1338843] 59 ) = state.getNewParAndDeltaWei(
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Checking Exchange.sol transferIn method**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "nl -ba contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Exchange.sol | sed -n '50,110p'" in /tmp/codex-multi-ghohx5dz succeeded in 7ms:
[codex:1338843] 50 Require.that(
[codex:1338843] 51 !deltaWei.isPositive(),
[codex:1338843] 52 FILE,
[codex:1338843] 53 "Cannot transferOut positive",
[codex:1338843] 54 deltaWei.value
[codex:1338843] 55 );
[codex:1338843] 56
[codex:1338843] 57 Token.transfer(
[codex:1338843] 58 token,
[codex:1338843] 59 to,
[codex:1338843] 60 deltaWei.value
[codex:1338843] 61 );
[codex:1338843] 62 }
[codex:1338843] 63
[codex:1338843] 64 function transferIn(
[codex:1338843] 65 address token,
[codex:1338843] 66 address from,
[codex:1338843] 67 Types.Wei memory deltaWei
[codex:1338843] 68 )
[codex:1338843] 69 internal
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Checking transferFrom in Token.sol**
[codex:1338843] exec
[codex:1338843] /bin/bash -lc "nl -ba contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol | sed -n '45,90p'" in /tmp/codex-multi-ghohx5dz succeeded in 6ms:
[codex:1338843] 45 return;
[codex:1338843] 46 }
[codex:1338843] 47
[codex:1338843] 48 _callOptionalReturn(
[codex:1338843] 49 token,
[codex:1338843] 50 abi.encodeWithSelector(IERC20Detailed(token).transfer.selector, to, amount),
[codex:1338843] 51 "Token: transfer failed"
[codex:1338843] 52 );
[codex:1338843] 53 }
[codex:1338843] 54
[codex:1338843] 55 function transferFrom(
[codex:1338843] 56 address token,
[codex:1338843] 57 address from,
[codex:1338843] 58 address to,
[codex:1338843] 59 uint256 amount
[codex:1338843] 60 )
[codex:1338843] 61 internal
[codex:1338843] 62 {
[codex:1338843] 63 if (amount == 0 || to == from) {
[codex:1338843] 64 return;
[codex:1338843]
[codex:1338843] thinking
[codex:1338843] **Preparing JSON report for accounting issue**
[codex:1338843]
[codex:1338843] I'll put together a JSON report outlining one medium-severity accounting finding about fee-on-transfer and rebasing tokens inflating internal balances, describing the exploit scenario, recommendations, and relevant code locations to provide clear evidence.
[codex:1338843] codex
[codex:1338843] {"no_findings":false,"summary":"Identified 1 medium-severity accounting issue: internal balances assume exact ERC20 transfer amounts, which can be exploited if fee-on-transfer or rebasing tokens are listed.","findings":[{"severity":"medium","category":"other","title":"Fee-on-transfer/rebasing tokens can inflate internal balances","exploit_scenario":"If a fee-on-transfer or rebasing token is listed as a market, an attacker can deposit 100 units, receive credit for the full 100, while the protocol only receives (e.g.) 90 after fees. The attacker can then borrow other assets against the inflated collateral, leaving a shortfall and potentially draining protocol funds.","recommendation":"Explicitly disallow fee-on-transfer/rebasing tokens at market listing or measure actual received amounts via balance-delta checks before/after transfers and use the observed amount when updating balances. Apply the same balance-delta validation for exchange/trade inflows.","evidence":"Deposits update account balances before calling `Exchange.transferIn`, which blindly calls `Token.transferFrom` for the requested amount without verifying the actual balance delta, so accounting assumes exact transfers.","locations":["contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/DepositImpl.sol:66","contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Exchange.sol:64","contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol:55"]}]}
[codex:1338843] tokens used
[codex:1338843] 118,282
[codex:1338843] {"no_findings":false,"summary":"Identified 1 medium-severity accounting issue: internal balances assume exact ERC20 transfer amounts, which can be exploited if fee-on-transfer or rebasing tokens are listed.","findings":[{"severity":"medium","category":"other","title":"Fee-on-transfer/rebasing tokens can inflate internal balances","exploit_scenario":"If a fee-on-transfer or rebasing token is listed as a market, an attacker can deposit 100 units, receive credit for the full 100, while the protocol only receives (e.g.) 90 after fees. The attacker can then borrow other assets against the inflated collateral, leaving a shortfall and potentially draining protocol funds.","recommendation":"Explicitly disallow fee-on-transfer/rebasing tokens at market listing or measure actual received amounts via balance-delta checks before/after transfers and use the observed amount when updating balances. Apply the same balance-delta validation for exchange/trade inflows.","evidence":"Deposits update account balances before calling `Exchange.transferIn`, which blindly calls `Token.transferFrom` for the requested amount without verifying the actual balance delta, so accounting assumes exact transfers.","locations":["contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/DepositImpl.sol:66","contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Exchange.sol:64","contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol:55"]}]}
{
"codex": {
"ran_at": "2025-12-28T15:03:33.366227+00:00",
"returncode": 0
},
"summary": "Identified 1 medium-severity accounting issue: internal balances assume exact ERC20 transfer amounts, which can be exploited if fee-on-transfer or rebasing tokens are listed.",
"raw_final": {
"summary": "Identified 1 medium-severity accounting issue: internal balances assume exact ERC20 transfer amounts, which can be exploited if fee-on-transfer or rebasing tokens are listed.",
"findings": [
{
"title": "Fee-on-transfer/rebasing tokens can inflate internal balances",
"category": "other",
"evidence": "Deposits update account balances before calling `Exchange.transferIn`, which blindly calls `Token.transferFrom` for the requested amount without verifying the actual balance delta, so accounting assumes exact transfers.",
"severity": "medium",
"locations": [
"contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/DepositImpl.sol:66",
"contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Exchange.sol:64",
"contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol:55"
],
"recommendation": "Explicitly disallow fee-on-transfer/rebasing tokens at market listing or measure actual received amounts via balance-delta checks before/after transfers and use the observed amount when updating balances. Apply the same balance-delta validation for exchange/trade inflows.",
"exploit_scenario": "If a fee-on-transfer or rebasing token is listed as a market, an attacker can deposit 100 units, receive credit for the full 100, while the protocol only receives (e.g.) 90 after fees. The attacker can then borrow other assets against the inflated collateral, leaving a shortfall and potentially draining protocol funds."
}
],
"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 0x05ac 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x8da5cb5b 00000026: GT 00000027: PUSH2 0x02ed 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0xdeec053d 00000031: GT 00000032: PUSH2 0x0191 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xec6e3987 0000003c: GT 0000003d: PUSH2 0x00ee 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xf2385be3 00000047: GT 00000048: PUSH2 0x00a2 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xf9416052 00000052: GT 00000053: PUSH2 0x007c 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xf9416052 0000005d: EQ 0000005e: PUSH2 0x0bcb 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0xfd04b606 00000068: EQ 00000069: PUSH2 0x0bde 0000006c: JUMPI 0000006d: DUP1 0000006e: PUSH4 0xfd47eda6 00000073: EQ 00000074: PUSH2 0x0956 00000077: JUMPI 00000078: PUSH2 0x05ac 0000007b: JUMP 0000007c: JUMPDEST 0000007d: DUP1 0000007e: PUSH4 0xf2385be3 00000083: EQ 00000084: PUSH2 0x0b9d 00000087: JUMPI 00000088: DUP1 00000089: PUSH4 0xf2901ae2 0000008e: EQ 0000008f: PUSH2 0x0ba5 00000092: JUMPI 00000093: DUP1 00000094: PUSH4 0xf2fde38b 00000099: EQ 0000009a: PUSH2 0x0bb8 0000009d: JUMPI 0000009e: PUSH2 0x05ac 000000a1: JUMP 000000a2: JUMPDEST 000000a3: DUP1 000000a4: PUSH4 0xed4d6f5c 000000a9: GT 000000aa: PUSH2 0x00d3 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0xed4d6f5c 000000b4: EQ 000000b5: PUSH2 0x0b64 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0xef6957d0 000000bf: EQ 000000c0: PUSH2 0x0b77 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0xf1061ba8 000000ca: EQ 000000cb: PUSH2 0x0b8a 000000ce: JUMPI 000000cf: PUSH2 0x05ac 000000d2: JUMP 000000d3: JUMPDEST 000000d4: DUP1 000000d5: PUSH4 0xec6e3987 000000da: EQ 000000db: PUSH2 0x0b3e 000000de: JUMPI 000000df: DUP1 000000e0: PUSH4 0xecef481f 000000e5: EQ 000000e6: PUSH2 0x0b51 000000e9: JUMPI 000000ea: PUSH2 0x05ac 000000ed: JUMP 000000ee: JUMPDEST 000000ef: DUP1 000000f0: PUSH4 0xe56659fc 000000f5: GT 000000f6: PUSH2 0x0145 000000f9: JUMPI 000000fa: DUP1 000000fb: PUSH4 0xe8e72f75 00000100: GT 00000101: PUSH2 0x012a 00000104: JUMPI 00000105: DUP1 00000106: PUSH4 0xe8e72f75 0000010b: EQ 0000010c: PUSH2 0x0af6 0000010f: JUMPI 00000110: DUP1 00000111: PUSH4 0xeb1c6e6b 00000116: EQ 00000117: PUSH2 0x0b09 0000011a: JUMPI 0000011b: DUP1 0000011c: PUSH4 0xeb44fdd3 00000121: EQ 00000122: PUSH2 0x0b1e 00000125: JUMPI 00000126: PUSH2 0x05ac 00000129: JUMP 0000012a: JUMPDEST 0000012b: DUP1 0000012c: PUSH4 0xe56659fc 00000131: EQ 00000132: PUSH2 0x0ad0 00000135: JUMPI 00000136: DUP1 00000137: PUSH4 0xe5e23ef2 0000013c: EQ 0000013d: PUSH2 0x0ae3 00000140: JUMPI 00000141: PUSH2 0x05ac 00000144: JUMP 00000145: JUMPDEST 00000146: DUP1 00000147: PUSH4 0xe51bfcb4 0000014c: GT 0000014d: PUSH2 0x0176 00000150: JUMPI 00000151: DUP1 00000152: PUSH4 0xe51bfcb4 00000157: EQ 00000158: PUSH2 0x0a95 0000015b: JUMPI 0000015c: DUP1 0000015d: PUSH4 0xe52828c7 00000162: EQ 00000163: PUSH2 0x0ab5 00000166: JUMPI 00000167: DUP1 00000168: PUSH4 0xe5520228 0000016d: EQ 0000016e: PUSH2 0x0ac8 00000171: JUMPI 00000172: PUSH2 0x05ac 00000175: JUMP 00000176: JUMPDEST 00000177: DUP1 00000178: PUSH4 0xdeec053d 0000017d: EQ 0000017e: PUSH2 0x0a6f 00000181: JUMPI 00000182: DUP1 00000183: PUSH4 0xe0e48d19 00000188: EQ 00000189: PUSH2 0x0a82 0000018c: JUMPI 0000018d: PUSH2 0x05ac 00000190: JUMP 00000191: JUMPDEST 00000192: DUP1 00000193: PUSH4 0xba77ea67 00000198: GT 00000199: PUSH2 0x024a 0000019c: JUMPI 0000019d: DUP1 0000019e: PUSH4 0xcb04a34c 000001a3: GT 000001a4: PUSH2 0x01fe 000001a7: JUMPI 000001a8: DUP1 000001a9: PUSH4 0xd93c9591 000001ae: GT 000001af: PUSH2 0x01d8 000001b2: JUMPI 000001b3: DUP1 000001b4: PUSH4 0xd93c9591 000001b9: EQ 000001ba: PUSH2 0x0796 000001bd: JUMPI 000001be: DUP1 000001bf: PUSH4 0xdc6d7846 000001c4: EQ 000001c5: PUSH2 0x0a54 000001c8: JUMPI 000001c9: DUP1 000001ca: PUSH4 0xde8be8e7 000001cf: EQ 000001d0: PUSH2 0x0a67 000001d3: JUMPI 000001d4: PUSH2 0x05ac 000001d7: JUMP 000001d8: JUMPDEST 000001d9: DUP1 000001da: PUSH4 0xcb04a34c 000001df: EQ 000001e0: PUSH2 0x0a0e 000001e3: JUMPI 000001e4: DUP1 000001e5: PUSH4 0xd24c48bc 000001ea: EQ 000001eb: PUSH2 0x0a2e 000001ee: JUMPI 000001ef: DUP1 000001f0: PUSH4 0xd5ecf7c5 000001f5: EQ 000001f6: PUSH2 0x0a41 000001f9: JUMPI 000001fa: PUSH2 0x05ac 000001fd: JUMP 000001fe: JUMPDEST 000001ff: DUP1 00000200: PUSH4 0xc0e044fc 00000205: GT 00000206: PUSH2 0x022f 00000209: JUMPI 0000020a: DUP1 0000020b: PUSH4 0xc0e044fc 00000210: EQ 00000211: PUSH2 0x09eb 00000214: JUMPI 00000215: DUP1 00000216: PUSH4 0xc1460942 0000021b: EQ 0000021c: PUSH2 0x09f3 0000021f: JUMPI 00000220: DUP1 00000221: PUSH4 0xc190c2ec 00000226: EQ 00000227: PUSH2 0x09fb 0000022a: JUMPI 0000022b: PUSH2 0x05ac 0000022e: JUMP 0000022f: JUMPDEST 00000230: DUP1 00000231: PUSH4 0xba77ea67 00000236: EQ 00000237: PUSH2 0x09c5 0000023a: JUMPI 0000023b: DUP1 0000023c: PUSH4 0xc0bb72b7 00000241: EQ 00000242: PUSH2 0x09d8 00000245: JUMPI 00000246: PUSH2 0x05ac 00000249: JUMP 0000024a: JUMPDEST 0000024b: DUP1 0000024c: PUSH4 0xac7bb20b 00000251: GT 00000252: PUSH2 0x02a1 00000255: JUMPI 00000256: DUP1 00000257: PUSH4 0xb306e4f8 0000025c: GT 0000025d: PUSH2 0x0286 00000260: JUMPI 00000261: DUP1 00000262: PUSH4 0xb306e4f8 00000267: EQ 00000268: PUSH2 0x097c 0000026b: JUMPI 0000026c: DUP1 0000026d: PUSH4 0xb548b892 00000272: EQ 00000273: PUSH2 0x098f 00000276: JUMPI 00000277: DUP1 00000278: PUSH4 0xb64e31ea 0000027d: EQ 0000027e: PUSH2 0x09b2 00000281: JUMPI 00000282: PUSH2 0x05ac 00000285: JUMP 00000286: JUMPDEST 00000287: DUP1 00000288: PUSH4 0xac7bb20b 0000028d: EQ 0000028e: PUSH2 0x0956 00000291: JUMPI 00000292: DUP1 00000293: PUSH4 0xb0dc49f8 00000298: EQ 00000299: PUSH2 0x0969 0000029c: JUMPI 0000029d: PUSH2 0x05ac 000002a0: JUMP 000002a1: JUMPDEST 000002a2: DUP1 000002a3: PUSH4 0x8f6bc659 000002a8: GT 000002a9: PUSH2 0x02d2 000002ac: JUMPI 000002ad: DUP1 000002ae: PUSH4 0x8f6bc659 000002b3: EQ 000002b4: PUSH2 0x091d 000002b7: JUMPI 000002b8: DUP1 000002b9: PUSH4 0x8fae3be1 000002be: EQ 000002bf: PUSH2 0x0930 000002c2: JUMPI 000002c3: DUP1 000002c4: PUSH4 0xa67a6a45 000002c9: EQ 000002ca: PUSH2 0x0943 000002cd: JUMPI 000002ce: PUSH2 0x05ac 000002d1: JUMP 000002d2: JUMPDEST 000002d3: DUP1 000002d4: PUSH4 0x8da5cb5b 000002d9: EQ 000002da: PUSH2 0x090d 000002dd: JUMPI 000002de: DUP1 000002df: PUSH4 0x8f32d59b 000002e4: EQ 000002e5: PUSH2 0x0915 000002e8: JUMPI 000002e9: PUSH2 0x05ac 000002ec: JUMP 000002ed: JUMPDEST 000002ee: DUP1 000002ef: PUSH4 0x38402762 000002f4: GT 000002f5: PUSH2 0x0454 000002f8: JUMPI 000002f9: DUP1 000002fa: PUSH4 0x56ea84b2 000002ff: GT 00000300: PUSH2 0x03b1 00000303: JUMPI 00000304: DUP1 00000305: PUSH4 0x6a8194e7 0000030a: GT 0000030b: PUSH2 0x0365 0000030e: JUMPI 0000030f: DUP1 00000310: PUSH4 0x7e9eaf41 00000315: GT 00000316: PUSH2 0x033f 00000319: JUMPI 0000031a: DUP1 0000031b: PUSH4 0x7e9eaf41 00000320: EQ 00000321: PUSH2 0x08df 00000324: JUMPI 00000325: DUP1 00000326: PUSH4 0x85b53fc8 0000032b: EQ 0000032c: PUSH2 0x08e7 0000032f: JUMPI 00000330: DUP1 00000331: PUSH4 0x8928378e 00000336: EQ 00000337: PUSH2 0x08fa 0000033a: JUMPI 0000033b: PUSH2 0x05ac 0000033e: JUMP 0000033f: JUMPDEST 00000340: DUP1 00000341: PUSH4 0x6a8194e7 00000346: EQ 00000347: PUSH2 0x08ac 0000034a: JUMPI 0000034b: DUP1 0000034c: PUSH4 0x715018a6 00000351: EQ 00000352: PUSH2 0x08cf 00000355: JUMPI 00000356: DUP1 00000357: PUSH4 0x770e43e0 0000035c: EQ 0000035d: PUSH2 0x08d7 00000360: JUMPI 00000361: PUSH2 0x05ac 00000364: JUMP 00000365: JUMPDEST 00000366: DUP1 00000367: PUSH4 0x5d3c0ce8 0000036c: GT 0000036d: PUSH2 0x0396 00000370: JUMPI 00000371: DUP1 00000372: PUSH4 0x5d3c0ce8 00000377: EQ 00000378: PUSH2 0x0873 0000037b: JUMPI 0000037c: DUP1 0000037d: PUSH4 0x63ae56b3 00000382: EQ 00000383: PUSH2 0x0886 00000386: JUMPI 00000387: DUP1 00000388: PUSH4 0x66411ff4 0000038d: EQ 0000038e: PUSH2 0x0899 00000391: JUMPI 00000392: PUSH2 0x05ac 00000395: JUMP 00000396: JUMPDEST 00000397: DUP1 00000398: PUSH4 0x56ea84b2 0000039d: EQ 0000039e: PUSH2 0x0840 000003a1: JUMPI 000003a2: DUP1 000003a3: PUSH4 0x5ac7d17c 000003a8: EQ 000003a9: PUSH2 0x0860 000003ac: JUMPI 000003ad: PUSH2 0x05ac 000003b0: JUMP 000003b1: JUMPDEST 000003b2: DUP1 000003b3: PUSH4 0x4be87414 000003b8: GT 000003b9: PUSH2 0x0408 000003bc: JUMPI 000003bd: DUP1 000003be: PUSH4 0x4e634067 000003c3: GT 000003c4: PUSH2 0x03ed 000003c7: JUMPI 000003c8: DUP1 000003c9: PUSH4 0x4e634067 000003ce: EQ 000003cf: PUSH2 0x081d 000003d2: JUMPI 000003d3: DUP1 000003d4: PUSH4 0x4f3c1542 000003d9: EQ 000003da: PUSH2 0x0825 000003dd: JUMPI 000003de: DUP1 000003df: PUSH4 0x4f4d66f6 000003e4: EQ 000003e5: PUSH2 0x082d 000003e8: JUMPI 000003e9: PUSH2 0x05ac 000003ec: JUMP 000003ed: JUMPDEST 000003ee: DUP1 000003ef: PUSH4 0x4be87414 000003f4: EQ 000003f5: PUSH2 0x0802 000003f8: JUMPI 000003f9: DUP1 000003fa: PUSH4 0x4db90d52 000003ff: EQ 00000400: PUSH2 0x0815 00000403: JUMPI 00000404: PUSH2 0x05ac 00000407: JUMP 00000408: JUMPDEST 00000409: DUP1 0000040a: PUSH4 0x3a031bf0 0000040f: GT 00000410: PUSH2 0x0439 00000413: JUMPI 00000414: DUP1 00000415: PUSH4 0x3a031bf0 0000041a: EQ 0000041b: PUSH2 0x07bc 0000041e: JUMPI 0000041f: DUP1 00000420: PUSH4 0x47d1b53c 00000425: EQ 00000426: PUSH2 0x07cf 00000429: JUMPI 0000042a: DUP1 0000042b: PUSH4 0x48e648ee 00000430: EQ 00000431: PUSH2 0x07ef 00000434: JUMPI 00000435: PUSH2 0x05ac 00000438: JUMP 00000439: JUMPDEST 0000043a: DUP1 0000043b: PUSH4 0x38402762 00000440: EQ 00000441: PUSH2 0x0796 00000444: JUMPI 00000445: DUP1 00000446: PUSH4 0x387a498a 0000044b: EQ 0000044c: PUSH2 0x07a9 0000044f: JUMPI 00000450: PUSH2 0x05ac 00000453: JUMP 00000454: JUMPDEST 00000455: DUP1 00000456: PUSH4 0x17b50525 0000045b: GT 0000045c: PUSH2 0x050d 0000045f: JUMPI 00000460: DUP1 00000461: PUSH4 0x20945e26 00000466: GT 00000467: PUSH2 0x04c1 0000046a: JUMPI 0000046b: DUP1 0000046c: PUSH4 0x2e822af3 00000471: GT 00000472: PUSH2 0x049b 00000475: JUMPI 00000476: DUP1 00000477: PUSH4 0x2e822af3 0000047c: EQ 0000047d: PUSH2 0x0770 00000480: JUMPI 00000481: DUP1 00000482: PUSH4 0x3063bce2 00000487: EQ 00000488: PUSH2 0x0783 0000048b: JUMPI 0000048c: DUP1 0000048d: PUSH4 0x3305e5bb 00000492: EQ 00000493: PUSH2 0x0709 00000496: JUMPI 00000497: PUSH2 0x05ac 0000049a: JUMP 0000049b: JUMPDEST 0000049c: DUP1 0000049d: PUSH4 0x20945e26 000004a2: EQ 000004a3: PUSH2 0x0742 000004a6: JUMPI 000004a7: DUP1 000004a8: PUSH4 0x295c39a5 000004ad: EQ 000004ae: PUSH2 0x0755 000004b1: JUMPI 000004b2: DUP1 000004b3: PUSH4 0x2a560845 000004b8: EQ 000004b9: PUSH2 0x075d 000004bc: JUMPI 000004bd: PUSH2 0x05ac 000004c0: JUMP 000004c1: JUMPDEST 000004c2: DUP1 000004c3: PUSH4 0x1a7777bb 000004c8: GT 000004c9: PUSH2 0x04f2 000004cc: JUMPI 000004cd: DUP1 000004ce: PUSH4 0x1a7777bb 000004d3: EQ 000004d4: PUSH2 0x0709 000004d7: JUMPI 000004d8: DUP1 000004d9: PUSH4 0x1ae4ec52 000004de: EQ 000004df: PUSH2 0x071c 000004e2: JUMPI 000004e3: DUP1 000004e4: PUSH4 0x1eb12076 000004e9: EQ 000004ea: PUSH2 0x072f 000004ed: JUMPI 000004ee: PUSH2 0x05ac 000004f1: JUMP 000004f2: JUMPDEST 000004f3: DUP1 000004f4: PUSH4 0x17b50525 000004f9: EQ 000004fa: PUSH2 0x06d6 000004fd: JUMPI 000004fe: DUP1 000004ff: PUSH4 0x197f0f05 00000504: EQ 00000505: PUSH2 0x06f6 00000508: JUMPI 00000509: PUSH2 0x05ac 0000050c: JUMP 0000050d: JUMPDEST 0000050e: DUP1 0000050f: PUSH4 0x0f47fab0 00000514: GT 00000515: PUSH2 0x0564 00000518: JUMPI 00000519: DUP1 0000051a: PUSH4 0x121fb72f 0000051f: GT 00000520: PUSH2 0x0549 00000523: JUMPI 00000524: DUP1 00000525: PUSH4 0x121fb72f 0000052a: EQ 0000052b: PUSH2 0x0682 0000052e: JUMPI 0000052f: DUP1 00000530: PUSH4 0x124f914c 00000535: EQ 00000536: PUSH2 0x0695 00000539: JUMPI 0000053a: DUP1 0000053b: PUSH4 0x13368364 00000540: EQ 00000541: PUSH2 0x06b6 00000544: JUMPI 00000545: PUSH2 0x05ac 00000548: JUMP 00000549: JUMPDEST 0000054a: DUP1 0000054b: PUSH4 0x0f47fab0 00000550: EQ 00000551: PUSH2 0x0642 00000554: JUMPI 00000555: DUP1 00000556: PUSH4 0x105de10c 0000055b: EQ 0000055c: PUSH2 0x0662 0000055f: JUMPI 00000560: PUSH2 0x05ac 00000563: JUMP 00000564: JUMPDEST 00000565: DUP1 00000566: PUSH4 0x0781d820 0000056b: GT 0000056c: PUSH2 0x0595 0000056f: JUMPI 00000570: DUP1 00000571: PUSH4 0x0781d820 00000576: EQ 00000577: PUSH2 0x05fa 0000057a: JUMPI 0000057b: DUP1 0000057c: PUSH4 0x07af1568 00000581: EQ 00000582: PUSH2 0x060f 00000585: JUMPI 00000586: DUP1 00000587: PUSH4 0x0b28fa3e 0000058c: EQ 0000058d: PUSH2 0x062f 00000590: JUMPI 00000591: PUSH2 0x05ac 00000594: JUMP 00000595: JUMPDEST 00000596: DUP1 00000597: PUSH4 0x052f72d7 0000059c: EQ 0000059d: PUSH2 0x05b1 000005a0: JUMPI 000005a1: DUP1 000005a2: PUSH4 0x062bd3e9 000005a7: EQ 000005a8: PUSH2 0x05da 000005ab: JUMPI 000005ac: JUMPDEST 000005ad: PUSH1 0x00 000005af: DUP1 000005b0: REVERT 000005b1: JUMPDEST 000005b2: PUSH2 0x05c4 000005b5: PUSH2 0x05bf 000005b8: CALLDATASIZE 000005b9: PUSH1 0x04 000005bb: PUSH2 0x44af 000005be: JUMP 000005bf: JUMPDEST 000005c0: PUSH2 0x0bf1 000005c3: JUMP 000005c4: JUMPDEST 000005c5: PUSH1 0x40 000005c7: MLOAD 000005c8: PUSH2 0x05d1 000005cb: SWAP2 000005cc: SWAP1 000005cd: PUSH2 0x52c8 000005d0: JUMP 000005d1: JUMPDEST 000005d2: PUSH1 0x40 000005d4: MLOAD 000005d5: DUP1 000005d6: SWAP2 000005d7: SUB 000005d8: SWAP1 000005d9: RETURN 000005da: JUMPDEST 000005db: PUSH2 0x05ed 000005de: PUSH2 0x05e8 000005e1: CALLDATASIZE 000005e2: PUSH1 0x04 000005e4: PUSH2 0x4a5f 000005e7: JUMP 000005e8: JUMPDEST 000005e9: PUSH2 0x0c9e 000005ec: JUMP 000005ed: JUMPDEST 000005ee: PUSH1 0x40 000005f0: MLOAD 000005f1: PUSH2 0x05d1 000005f4: SWAP2 000005f5: SWAP1 000005f6: PUSH2 0x5237 000005f9: JUMP 000005fa: JUMPDEST 000005fb: PUSH2 0x060d 000005fe: PUSH2 0x0608 00000601: CALLDATASIZE 00000602: PUSH1 0x04 00000604: PUSH2 0x4a5f 00000607: JUMP 00000608: JUMPDEST 00000609: PUSH2 0x0d43 0000060c: JUMP 0000060d: JUMPDEST 0000060e: STOP 0000060f: JUMPDEST 00000610: PUSH2 0x0622 00000613: PUSH2 0x061d 00000616: CALLDATASIZE 00000617: PUSH1 0x04 00000619: PUSH2 0x4a5f 0000061c: JUMP 0000061d: JUMPDEST 0000061e: PUSH2 0x0e3f 00000621: JUMP 00000622: JUMPDEST 00000623: PUSH1 0x40 00000625: MLOAD 00000626: PUSH2 0x05d1 00000629: SWAP2 0000062a: SWAP1 0000062b: PUSH2 0x5692 0000062e: JUMP 0000062f: JUMPDEST 00000630: PUSH2 0x060d 00000633: PUSH2 0x063d 00000636: CALLDATASIZE 00000637: PUSH1 0x04 00000639: PUSH2 0x4af8 0000063c: JUMP 0000063d: JUMPDEST 0000063e: PUSH2 0x0ee9 00000641: JUMP 00000642: JUMPDEST 00000643: PUSH2 0x0655 00000646: PUSH2 0x0650 00000649: CALLDATASIZE 0000064a: PUSH1 0x04 0000064c: PUSH2 0x48d4 0000064f: JUMP 00000650: JUMPDEST 00000651: PUSH2 0x0fdf 00000654: JUMP 00000655: JUMPDEST 00000656: PUSH1 0x40 00000658: MLOAD 00000659: PUSH2 0x05d1 0000065c: SWAP2 0000065d: SWAP1 0000065e: PUSH2 0x5260 00000661: JUMP 00000662: JUMPDEST 00000663: PUSH2 0x0675 00000666: PUSH2 0x0670 00000669: CALLDATASIZE 0000066a: PUSH1 0x04 0000066c: PUSH2 0x48d4 0000066f: JUMP 00000670: JUMPDEST 00000671: PUSH2 0x10a7 00000674: JUMP 00000675: JUMPDEST 00000676: PUSH1 0x40 00000678: MLOAD 00000679: PUSH2 0x05d1 0000067c: SWAP2 0000067d: SWAP1 0000067e: PUSH2 0x5322 00000681: JUMP 00000682: JUMPDEST 00000683: PUSH2 0x060d 00000686: PUSH2 0x0690 00000689: CALLDATASIZE 0000068a: PUSH1 0x04 0000068c: PUSH2 0x4ad9 0000068f: JUMP 00000690: JUMPDEST 00000691: PUSH2 0x1152 00000694: JUMP 00000695: JUMPDEST 00000696: PUSH2 0x06a8 00000699: PUSH2 0x06a3 0000069c: CALLDATASIZE 0000069d: PUSH1 0x04 0000069f: PUSH2 0x48d4 000006a2: JUMP 000006a3: JUMPDEST 000006a4: PUSH2 0x1201 000006a7: JUMP 000006a8: JUMPDEST 000006a9: PUSH1 0x40 000006ab: MLOAD 000006ac: PUSH2 0x05d1 000006af: SWAP3 000006b0: SWAP2 000006b1: SWAP1 000006b2: PUSH2 0x5330 000006b5: JUMP 000006b6: JUMPDEST 000006b7: PUSH2 0x06c9 000006ba: PUSH2 0x06c4 000006bd: CALLDATASIZE 000006be: PUSH1 0x04 000006c0: PUSH2 0x4a5f 000006c3: JUMP 000006c4: JUMPDEST 000006c5: PUSH2 0x12bc 000006c8: JUMP 000006c9: JUMPDEST 000006ca: PUSH1 0x40 000006cc: MLOAD 000006cd: PUSH2 0x05d1 000006d0: SWAP2 000006d1: SWAP1 000006d2: PUSH2 0x52d6 000006d5: JUMP 000006d6: JUMPDEST 000006d7: PUSH2 0x06e9 000006da: PUSH2 0x06e4 000006dd: CALLDATASIZE 000006de: PUSH1 0x04 000006e0: PUSH2 0x48d4 000006e3: JUMP 000006e4: JUMPDEST 000006e5: PUSH2 0x1361 000006e8: JUMP 000006e9: JUMPDEST 000006ea: PUSH1 0x40 000006ec: MLOAD 000006ed: PUSH2 0x05d1 000006f0: SWAP2 000006f1: SWAP1 000006f2: PUSH2 0x56a0 000006f5: JUMP 000006f6: JUMPDEST 000006f7: PUSH2 0x06c9 000006fa: PUSH2 0x0704 000006fd: CALLDATASIZE 000006fe: PUSH1 0x04 00000700: PUSH2 0x4a5f 00000703: JUMP 00000704: JUMPDEST 00000705: PUSH2 0x1406 00000708: JUMP 00000709: JUMPDEST 0000070a: PUSH2 0x0675 0000070d: PUSH2 0x0717 00000710: CALLDATASIZE 00000711: PUSH1 0x04 00000713: PUSH2 0x4a5f 00000716: JUMP 00000717: JUMPDEST 00000718: PUSH2 0x145b 0000071b: JUMP 0000071c: JUMPDEST 0000071d: PUSH2 0x060d 00000720: PUSH2 0x072a 00000723: CALLDATASIZE 00000724: PUSH1 0x04 00000726: PUSH2 0x4b28 00000729: JUMP 0000072a: JUMPDEST 0000072b: PUSH2 0x14b6 0000072e: JUMP 0000072f: JUMPDEST 00000730: PUSH2 0x0675 00000733: PUSH2 0x073d 00000736: CALLDATASIZE 00000737: PUSH1 0x04 00000739: PUSH2 0x4922 0000073c: JUMP 0000073d: JUMPDEST 0000073e: PUSH2 0x1565 00000741: JUMP 00000742: JUMPDEST 00000743: PUSH2 0x0675 00000746: PUSH2 0x0750 00000749: CALLDATASIZE 0000074a: PUSH1 0x04 0000074c: PUSH2 0x48d4 0000074f: JUMP 00000750: JUMPDEST 00000751: PUSH2 0x161e 00000754: JUMP 00000755: JUMPDEST 00000756: PUSH2 0x06e9 00000759: PUSH2 0x1679 0000075c: JUMP 0000075d: JUMPDEST 0000075e: PUSH2 0x06e9 00000761: PUSH2 0x076b 00000764: CALLDATASIZE 00000765: PUSH1 0x04 00000767: PUSH2 0x44eb 0000076a: JUMP 0000076b: JUMPDEST 0000076c: PUSH2 0x1721 0000076f: JUMP 00000770: JUMPDEST 00000771: PUSH2 0x060d 00000774: PUSH2 0x077e 00000777: CALLDATASIZE 00000778: PUSH1 0x04 0000077a: PUSH2 0x484a 0000077d: JUMP 0000077e: JUMPDEST 0000077f: PUSH2 0x183d 00000782: JUMP 00000783: JUMPDEST 00000784: PUSH2 0x060d 00000787: PUSH2 0x0791 0000078a: CALLDATASIZE 0000078b: PUSH1 0x04 0000078d: PUSH2 0x484a 00000790: JUMP 00000791: JUMPDEST 00000792: PUSH2 0x18ea 00000795: JUMP 00000796: JUMPDEST 00000797: PUSH2 0x0622 0000079a: PUSH2 0x07a4 0000079d: CALLDATASIZE 0000079e: PUSH1 0x04 000007a0: PUSH2 0x4a5f 000007a3: JUMP 000007a4: JUMPDEST 000007a5: PUSH2 0x1997 000007a8: JUMP 000007a9: JUMPDEST 000007aa: PUSH2 0x060d 000007ad: PUSH2 0x07b7 000007b0: CALLDATASIZE 000007b1: PUSH1 0x04 000007b3: PUSH2 0x484a 000007b6: JUMP 000007b7: JUMPDEST 000007b8: PUSH2 0x19f2 000007bb: JUMP 000007bc: JUMPDEST 000007bd: PUSH2 0x05c4 000007c0: PUSH2 0x07ca 000007c3: CALLDATASIZE 000007c4: PUSH1 0x04 000007c6: PUSH2 0x44eb 000007c9: JUMP 000007ca: JUMPDEST 000007cb: PUSH2 0x1a9f 000007ce: JUMP 000007cf: JUMPDEST 000007d0: PUSH2 0x07e2 000007d3: PUSH2 0x07dd 000007d6: CALLDATASIZE 000007d7: PUSH1 0x04 000007d9: PUSH2 0x48f2 000007dc: JUMP 000007dd: JUMPDEST 000007de: PUSH2 0x1b4f 000007e1: JUMP 000007e2: JUMPDEST 000007e3: PUSH1 0x40 000007e5: MLOAD 000007e6: PUSH2 0x05d1 000007e9: SWAP2 000007ea: SWAP1 000007eb: PUSH2 0x53a1 000007ee: JUMP 000007ef: JUMPDEST 000007f0: PUSH2 0x06c9 000007f3: PUSH2 0x07fd 000007f6: CALLDATASIZE 000007f7: PUSH1 0x04 000007f9: PUSH2 0x44af 000007fc: JUMP 000007fd: JUMPDEST 000007fe: PUSH2 0x1bfb 00000801: JUMP 00000802: JUMPDEST 00000803: PUSH2 0x060d 00000806: PUSH2 0x0810 00000809: CALLDATASIZE 0000080a: PUSH1 0x04 0000080c: PUSH2 0x4af8 0000080f: JUMP 00000810: JUMPDEST 00000811: PUSH2 0x1c50 00000814: JUMP 00000815: JUMPDEST 00000816: PUSH2 0x05c4 00000819: PUSH2 0x1cff 0000081c: JUMP 0000081d: JUMPDEST 0000081e: PUSH2 0x05c4 00000821: PUSH2 0x1da2 00000824: JUMP 00000825: JUMPDEST 00000826: PUSH2 0x0675 00000829: PUSH2 0x1df5 0000082c: JUMP 0000082d: JUMPDEST 0000082e: PUSH2 0x06e9 00000831: PUSH2 0x083b 00000834: CALLDATASIZE 00000835: PUSH1 0x04 00000837: PUSH2 0x48d4 0000083a: JUMP 0000083b: JUMPDEST 0000083c: PUSH2 0x1e9e 0000083f: JUMP 00000840: JUMPDEST 00000841: PUSH2 0x0853 00000844: PUSH2 0x084e 00000847: CALLDATASIZE 00000848: PUSH1 0x04 0000084a: PUSH2 0x4a5f 0000084d: JUMP 0000084e: JUMPDEST 0000084f: PUSH2 0x1ef3 00000852: JUMP 00000853: JUMPDEST 00000854: PUSH1 0x40 00000856: MLOAD 00000857: PUSH2 0x05d1 0000085a: SWAP2 0000085b: SWAP1 0000085c: PUSH2 0x534b 0000085f: JUMP 00000860: JUMPDEST 00000861: PUSH2 0x05c4 00000864: PUSH2 0x086e 00000867: CALLDATASIZE 00000868: PUSH1 0x04 0000086a: PUSH2 0x4a5f 0000086d: JUMP 0000086e: JUMPDEST 0000086f: PUSH2 0x1f9e 00000872: JUMP 00000873: JUMPDEST 00000874: PUSH2 0x0675 00000877: PUSH2 0x0881 0000087a: CALLDATASIZE 0000087b: PUSH1 0x04 0000087d: PUSH2 0x48d4 00000880: JUMP 00000881: JUMPDEST 00000882: PUSH2 0x1ff3 00000885: JUMP 00000886: JUMPDEST 00000887: PUSH2 0x060d 0000088a: PUSH2 0x0894 0000088d: CALLDATASIZE 0000088e: PUSH1 0x04 00000890: PUSH2 0x4a5f 00000893: JUMP 00000894: JUMPDEST 00000895: PUSH2 0x204e 00000898: JUMP 00000899: JUMPDEST 0000089a: PUSH2 0x060d 0000089d: PUSH2 0x08a7 000008a0: CALLDATASIZE 000008a1: PUSH1 0x04 000008a3: PUSH2 0x47f0 000008a6: JUMP 000008a7: JUMPDEST 000008a8: PUSH2 0x20fb 000008ab: JUMP 000008ac: JUMPDEST 000008ad: PUSH2 0x08bf 000008b0: PUSH2 0x08ba 000008b3: CALLDATASIZE 000008b4: PUSH1 0x04 000008b6: PUSH2 0x48d4 000008b9: JUMP 000008ba: JUMPDEST 000008bb: PUSH2 0x21a8 000008be: JUMP 000008bf: JUMPDEST 000008c0: PUSH1 0x40 000008c2: MLOAD 000008c3: PUSH2 0x05d1 000008c6: SWAP5 000008c7: SWAP4 000008c8: SWAP3 000008c9: SWAP2 000008ca: SWAP1 000008cb: PUSH2 0x5271 000008ce: JUMP 000008cf: JUMPDEST 000008d0: PUSH2 0x060d 000008d3: PUSH2 0x2269 000008d6: JUMP 000008d7: JUMPDEST 000008d8: PUSH2 0x06c9 000008db: PUSH2 0x22fc 000008de: JUMP 000008df: JUMPDEST 000008e0: PUSH2 0x0675 000008e3: PUSH2 0x239f 000008e6: JUMP 000008e7: JUMPDEST 000008e8: PUSH2 0x060d 000008eb: PUSH2 0x08f5 000008ee: CALLDATASIZE 000008ef: PUSH1 0x04 000008f1: PUSH2 0x46a8 000008f4: JUMP 000008f5: JUMPDEST 000008f6: PUSH2 0x23f8 000008f9: JUMP 000008fa: JUMPDEST 000008fb: PUSH2 0x0675 000008fe: PUSH2 0x0908 00000901: CALLDATASIZE 00000902: PUSH1 0x04 00000904: PUSH2 0x4a5f 00000907: JUMP 00000908: JUMPDEST 00000909: PUSH2 0x24cf 0000090c: JUMP 0000090d: JUMPDEST 0000090e: PUSH2 0x05ed 00000911: PUSH2 0x252a 00000914: JUMP 00000915: JUMPDEST 00000916: PUSH2 0x05c4 00000919: PUSH2 0x2546 0000091c: JUMP 0000091d: JUMPDEST 0000091e: PUSH2 0x06e9 00000921: PUSH2 0x092b 00000924: CALLDATASIZE 00000925: PUSH1 0x04 00000927: PUSH2 0x4a9b 0000092a: JUMP 0000092b: JUMPDEST 0000092c: PUSH2 0x2586 0000092f: JUMP 00000930: JUMPDEST 00000931: PUSH2 0x06e9 00000934: PUSH2 0x093e 00000937: CALLDATASIZE 00000938: PUSH1 0x04 0000093a: PUSH2 0x44af 0000093d: JUMP 0000093e: JUMPDEST 0000093f: PUSH2 0x2637 00000942: JUMP 00000943: JUMPDEST 00000944: PUSH2 0x060d 00000947: PUSH2 0x0951 0000094a: CALLDATASIZE 0000094b: PUSH1 0x04 0000094d: PUSH2 0x4649 00000950: JUMP 00000951: JUMPDEST 00000952: PUSH2 0x268c 00000955: JUMP 00000956: JUMPDEST 00000957: PUSH2 0x0675 0000095a: PUSH2 0x0964 0000095d: CALLDATASIZE 0000095e: PUSH1 0x04 00000960: PUSH2 0x4a5f 00000963: JUMP 00000964: JUMPDEST 00000965: PUSH2 0x2717 00000968: JUMP 00000969: JUMPDEST 0000096a: PUSH2 0x060d 0000096d: PUSH2 0x0977 00000970: CALLDATASIZE 00000971: PUSH1 0x04 00000973: PUSH2 0x4555 00000976: JUMP 00000977: JUMPDEST 00000978: PUSH2 0x2772 0000097b: JUMP 0000097c: JUMPDEST 0000097d: PUSH2 0x060d 00000980: PUSH2 0x098a 00000983: CALLDATASIZE 00000984: PUSH1 0x04 00000986: PUSH2 0x4b28 00000989: JUMP 0000098a: JUMPDEST 0000098b: PUSH2 0x2821 0000098e: JUMP 0000098f: JUMPDEST 00000990: PUSH2 0x09a2 00000993: PUSH2 0x099d 00000996: CALLDATASIZE 00000997: PUSH1 0x04 00000999: PUSH2 0x4a5f 0000099c: JUMP 0000099d: JUMPDEST 0000099e: PUSH2 0x28d0 000009a1: JUMP 000009a2: JUMPDEST 000009a3: PUSH1 0x40 000009a5: MLOAD 000009a6: PUSH2 0x05d1 000009a9: SWAP5 000009aa: SWAP4 000009ab: SWAP3 000009ac: SWAP2 000009ad: SWAP1 000009ae: PUSH2 0x5368 000009b1: JUMP 000009b2: JUMPDEST 000009b3: PUSH2 0x0675 000009b6: PUSH2 0x09c0 000009b9: CALLDATASIZE 000009ba: PUSH1 0x04 000009bc: PUSH2 0x4a5f 000009bf: JUMP 000009c0: JUMPDEST 000009c1: PUSH2 0x2994 000009c4: JUMP 000009c5: JUMPDEST 000009c6: PUSH2 0x06a8 000009c9: PUSH2 0x09d3 000009cc: CALLDATASIZE 000009cd: PUSH1 0x04 000009cf: PUSH2 0x48d4 000009d2: JUMP 000009d3: JUMPDEST 000009d4: PUSH2 0x29ef 000009d7: JUMP 000009d8: JUMPDEST 000009d9: PUSH2 0x060d 000009dc: PUSH2 0x09e6 000009df: CALLDATASIZE 000009e0: PUSH1 0x04 000009e2: PUSH2 0x484a 000009e5: JUMP 000009e6: JUMPDEST 000009e7: PUSH2 0x2aab 000009ea: JUMP 000009eb: JUMPDEST 000009ec: PUSH2 0x06e9 000009ef: PUSH2 0x2b58 000009f2: JUMP 000009f3: JUMPDEST 000009f4: PUSH2 0x0675 000009f7: PUSH2 0x2bab 000009fa: JUMP 000009fb: JUMPDEST 000009fc: PUSH2 0x0622 000009ff: PUSH2 0x0a09 00000a02: CALLDATASIZE 00000a03: PUSH1 0x04 00000a05: PUSH2 0x48f2 00000a08: JUMP 00000a09: JUMPDEST 00000a0a: PUSH2 0x2c04 00000a0d: JUMP 00000a0e: JUMPDEST 00000a0f: PUSH2 0x0a21 00000a12: PUSH2 0x0a1c 00000a15: CALLDATASIZE 00000a16: PUSH1 0x04 00000a18: PUSH2 0x4a5f 00000a1b: JUMP 00000a1c: JUMPDEST 00000a1d: PUSH2 0x2cb0 00000a20: JUMP 00000a21: JUMPDEST 00000a22: PUSH1 0x40 00000a24: MLOAD 00000a25: PUSH2 0x05d1 00000a28: SWAP2 00000a29: SWAP1 00000a2a: PUSH2 0x5684 00000a2d: JUMP 00000a2e: JUMPDEST 00000a2f: PUSH2 0x0675 00000a32: PUSH2 0x0a3c 00000a35: CALLDATASIZE 00000a36: PUSH1 0x04 00000a38: PUSH2 0x4b28 00000a3b: JUMP 00000a3c: JUMPDEST 00000a3d: PUSH2 0x2d5a 00000a40: JUMP 00000a41: JUMPDEST 00000a42: PUSH2 0x0622 00000a45: PUSH2 0x0a4f 00000a48: CALLDATASIZE 00000a49: PUSH1 0x04 00000a4b: PUSH2 0x4a5f 00000a4e: JUMP 00000a4f: JUMPDEST 00000a50: PUSH2 0x2e2d 00000a53: JUMP 00000a54: JUMPDEST 00000a55: PUSH2 0x0a21 00000a58: PUSH2 0x0a62 00000a5b: CALLDATASIZE 00000a5c: PUSH1 0x04 00000a5e: PUSH2 0x4a5f 00000a61: JUMP 00000a62: JUMPDEST 00000a63: PUSH2 0x2e88 00000a66: JUMP 00000a67: JUMPDEST 00000a68: PUSH2 0x06e9 00000a6b: PUSH2 0x2ee3 00000a6e: JUMP 00000a6f: JUMPDEST 00000a70: PUSH2 0x0853 00000a73: PUSH2 0x0a7d 00000a76: CALLDATASIZE 00000a77: PUSH1 0x04 00000a79: PUSH2 0x4a5f 00000a7c: JUMP 00000a7d: JUMPDEST 00000a7e: PUSH2 0x2f36 00000a81: JUMP 00000a82: JUMPDEST 00000a83: PUSH2 0x06e9 00000a86: PUSH2 0x0a90 00000a89: CALLDATASIZE 00000a8a: PUSH1 0x04 00000a8c: PUSH2 0x48f2 00000a8f: JUMP 00000a90: JUMPDEST 00000a91: PUSH2 0x2f91 00000a94: JUMP 00000a95: JUMPDEST 00000a96: PUSH2 0x0aa8 00000a99: PUSH2 0x0aa3 00000a9c: CALLDATASIZE 00000a9d: PUSH1 0x04 00000a9f: PUSH2 0x48d4 00000aa2: JUMP 00000aa3: JUMPDEST 00000aa4: PUSH2 0x3038 00000aa7: JUMP 00000aa8: JUMPDEST 00000aa9: PUSH1 0x40 00000aab: MLOAD 00000aac: PUSH2 0x05d1 00000aaf: SWAP2 00000ab0: SWAP1 00000ab1: PUSH2 0x52e4 00000ab4: JUMP 00000ab5: JUMPDEST 00000ab6: PUSH2 0x0675 00000ab9: PUSH2 0x0ac3 00000abc: CALLDATASIZE 00000abd: PUSH1 0x04 00000abf: PUSH2 0x4a5f 00000ac2: JUMP 00000ac3: JUMPDEST 00000ac4: PUSH2 0x30dd 00000ac7: JUMP 00000ac8: JUMPDEST 00000ac9: PUSH2 0x0675 00000acc: PUSH2 0x3138 00000acf: JUMP 00000ad0: JUMPDEST 00000ad1: PUSH2 0x060d 00000ad4: PUSH2 0x0ade 00000ad7: CALLDATASIZE 00000ad8: PUSH1 0x04 00000ada: PUSH2 0x47f0 00000add: JUMP 00000ade: JUMPDEST 00000adf: PUSH2 0x3191 00000ae2: JUMP 00000ae3: JUMPDEST 00000ae4: PUSH2 0x060d 00000ae7: PUSH2 0x0af1 00000aea: CALLDATASIZE 00000aeb: PUSH1 0x04 00000aed: PUSH2 0x4af8 00000af0: JUMP 00000af1: JUMPDEST 00000af2: PUSH2 0x323e 00000af5: JUMP 00000af6: JUMPDEST 00000af7: PUSH2 0x060d 00000afa: PUSH2 0x0b04 00000afd: CALLDATASIZE 00000afe: PUSH1 0x04 00000b00: PUSH2 0x4ad9 00000b03: JUMP 00000b04: JUMPDEST 00000b05: PUSH2 0x32ed 00000b08: JUMP 00000b09: JUMPDEST 00000b0a: PUSH2 0x0b11 00000b0d: PUSH2 0x339c 00000b10: JUMP 00000b11: JUMPDEST 00000b12: PUSH1 0x40 00000b14: MLOAD 00000b15: PUSH2 0x05d1 00000b18: SWAP2 00000b19: SWAP1 00000b1a: PUSH2 0x53af 00000b1d: JUMP 00000b1e: JUMPDEST 00000b1f: PUSH2 0x0b31 00000b22: PUSH2 0x0b2c 00000b25: CALLDATASIZE 00000b26: PUSH1 0x04 00000b28: PUSH2 0x4a5f 00000b2b: JUMP 00000b2c: JUMPDEST 00000b2d: PUSH2 0x3445 00000b30: JUMP 00000b31: JUMPDEST 00000b32: PUSH1 0x40 00000b34: MLOAD 00000b35: PUSH2 0x05d1 00000b38: SWAP2 00000b39: SWAP1 00000b3a: PUSH2 0x5359 00000b3d: JUMP 00000b3e: JUMPDEST 00000b3f: PUSH2 0x060d 00000b42: PUSH2 0x0b4c 00000b45: CALLDATASIZE 00000b46: PUSH1 0x04 00000b48: PUSH2 0x4525 00000b4b: JUMP 00000b4c: JUMPDEST 00000b4d: PUSH2 0x34f1 00000b50: JUMP 00000b51: JUMPDEST 00000b52: PUSH2 0x0675 00000b55: PUSH2 0x0b5f 00000b58: CALLDATASIZE 00000b59: PUSH1 0x04 00000b5b: PUSH2 0x4a5f 00000b5e: JUMP 00000b5f: JUMPDEST 00000b60: PUSH2 0x35a0 00000b63: JUMP 00000b64: JUMPDEST 00000b65: PUSH2 0x060d 00000b68: PUSH2 0x0b72 00000b6b: CALLDATASIZE 00000b6c: PUSH1 0x04 00000b6e: PUSH2 0x4585 00000b71: JUMP 00000b72: JUMPDEST 00000b73: PUSH2 0x35fb 00000b76: JUMP 00000b77: JUMPDEST 00000b78: PUSH2 0x060d 00000b7b: PUSH2 0x0b85 00000b7e: CALLDATASIZE 00000b7f: PUSH1 0x04 00000b81: PUSH2 0x4aba 00000b84: JUMP 00000b85: JUMPDEST 00000b86: PUSH2 0x3706 00000b89: JUMP 00000b8a: JUMPDEST 00000b8b: PUSH2 0x05c4 00000b8e: PUSH2 0x0b98 00000b91: CALLDATASIZE 00000b92: PUSH1 0x04 00000b94: PUSH2 0x44af 00000b97: JUMP 00000b98: JUMPDEST 00000b99: PUSH2 0x37b5 00000b9c: JUMP 00000b9d: JUMPDEST 00000b9e: PUSH2 0x06c9 00000ba1: PUSH2 0x380a 00000ba4: JUMP 00000ba5: JUMPDEST 00000ba6: PUSH2 0x060d 00000ba9: PUSH2 0x0bb3 00000bac: CALLDATASIZE 00000bad: PUSH1 0x04 00000baf: PUSH2 0x4525 00000bb2: JUMP 00000bb3: JUMPDEST 00000bb4: PUSH2 0x385d 00000bb7: JUMP 00000bb8: JUMPDEST 00000bb9: PUSH2 0x060d 00000bbc: PUSH2 0x0bc6 00000bbf: CALLDATASIZE 00000bc0: PUSH1 0x04 00000bc2: PUSH2 0x44af 00000bc5: JUMP 00000bc6: JUMPDEST 00000bc7: PUSH2 0x390c 00000bca: JUMP 00000bcb: JUMPDEST 00000bcc: PUSH2 0x06a8 00000bcf: PUSH2 0x0bd9 00000bd2: CALLDATASIZE 00000bd3: PUSH1 0x04 00000bd5: PUSH2 0x48d4 00000bd8: JUMP 00000bd9: JUMPDEST 00000bda: PUSH2 0x393c 00000bdd: JUMP 00000bde: JUMPDEST 00000bdf: PUSH2 0x0675 00000be2: PUSH2 0x0bec 00000be5: CALLDATASIZE 00000be6: PUSH1 0x04 00000be8: PUSH2 0x4a5f 00000beb: JUMP 00000bec: JUMPDEST 00000bed: PUSH2 0x399f 00000bf0: JUMP 00000bf1: JUMPDEST 00000bf2: PUSH1 0x40 00000bf4: MLOAD 00000bf5: PUSH32 0x288afc6200000000000000000000000000000000000000000000000000000000 00000c16: DUP2 00000c17: MSTORE 00000c18: PUSH1 0x00 00000c1a: SWAP1 00000c1b: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00000c30: SWAP1 00000c31: PUSH4 0x288afc62 00000c36: SWAP1 00000c37: PUSH2 0x0c46 00000c3a: SWAP1 00000c3b: DUP5 00000c3c: SWAP1 00000c3d: DUP7 00000c3e: SWAP1 00000c3f: PUSH1 0x04 00000c41: ADD 00000c42: PUSH2 0x53cb 00000c45: JUMP 00000c46: JUMPDEST 00000c47: PUSH1 0x20 00000c49: PUSH1 0x40 00000c4b: MLOAD 00000c4c: DUP1 00000c4d: DUP4 00000c4e: SUB 00000c4f: DUP2 00000c50: DUP7 00000c51: DUP1 00000c52: EXTCODESIZE 00000c53: ISZERO 00000c54: DUP1 00000c55: ISZERO 00000c56: PUSH2 0x0c5e 00000c59: JUMPI 00000c5a: PUSH1 0x00 00000c5c: DUP1 00000c5d: REVERT 00000c5e: JUMPDEST 00000c5f: POP 00000c60: GAS 00000c61: DELEGATECALL 00000c62: ISZERO 00000c63: DUP1 00000c64: ISZERO 00000c65: PUSH2 0x0c72 00000c68: JUMPI 00000c69: RETURNDATASIZE 00000c6a: PUSH1 0x00 00000c6c: DUP1 00000c6d: RETURNDATACOPY 00000c6e: RETURNDATASIZE 00000c6f: PUSH1 0x00 00000c71: REVERT 00000c72: JUMPDEST 00000c73: POP 00000c74: POP 00000c75: POP 00000c76: POP 00000c77: PUSH1 0x40 00000c79: MLOAD 00000c7a: RETURNDATASIZE 00000c7b: PUSH1 0x1f 00000c7d: NOT 00000c7e: PUSH1 0x1f 00000c80: DUP3 00000c81: ADD 00000c82: AND 00000c83: DUP3 00000c84: ADD 00000c85: DUP1 00000c86: PUSH1 0x40 00000c88: MSTORE 00000c89: POP 00000c8a: PUSH2 0x0c96 00000c8d: SWAP2 00000c8e: SWAP1 00000c8f: DUP2 00000c90: ADD 00000c91: SWAP1 00000c92: PUSH2 0x47d2 00000c95: JUMP 00000c96: JUMPDEST 00000c97: SWAP1 00000c98: POP 00000c99: JUMPDEST 00000c9a: SWAP2 00000c9b: SWAP1 00000c9c: POP 00000c9d: JUMP 00000c9e: JUMPDEST 00000c9f: PUSH1 0x40 00000ca1: MLOAD 00000ca2: PUSH32 0xa2169a3a00000000000000000000000000000000000000000000000000000000 00000cc3: DUP2 00000cc4: MSTORE 00000cc5: PUSH1 0x00 00000cc7: SWAP1 00000cc8: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00000cdd: SWAP1 00000cde: PUSH4 0xa2169a3a 00000ce3: SWAP1 00000ce4: PUSH2 0x0cf3 00000ce7: SWAP1 00000ce8: DUP5 00000ce9: SWAP1 00000cea: DUP7 00000ceb: SWAP1 00000cec: PUSH1 0x04 00000cee: ADD 00000cef: PUSH2 0x55c8 00000cf2: JUMP 00000cf3: JUMPDEST 00000cf4: PUSH1 0x20 00000cf6: PUSH1 0x40 00000cf8: MLOAD 00000cf9: DUP1 00000cfa: DUP4 00000cfb: SUB 00000cfc: DUP2 00000cfd: DUP7 00000cfe: DUP1 00000cff: EXTCODESIZE 00000d00: ISZERO 00000d01: DUP1 00000d02: ISZERO 00000d03: PUSH2 0x0d0b 00000d06: JUMPI 00000d07: PUSH1 0x00 00000d09: DUP1 00000d0a: REVERT 00000d0b: JUMPDEST 00000d0c: POP 00000d0d: GAS 00000d0e: DELEGATECALL 00000d0f: ISZERO 00000d10: DUP1 00000d11: ISZERO 00000d12: PUSH2 0x0d1f 00000d15: JUMPI 00000d16: RETURNDATASIZE 00000d17: PUSH1 0x00 00000d19: DUP1 00000d1a: RETURNDATACOPY 00000d1b: RETURNDATASIZE 00000d1c: PUSH1 0x00 00000d1e: REVERT 00000d1f: JUMPDEST 00000d20: POP 00000d21: POP 00000d22: POP 00000d23: POP 00000d24: PUSH1 0x40 00000d26: MLOAD 00000d27: RETURNDATASIZE 00000d28: PUSH1 0x1f 00000d2a: NOT 00000d2b: PUSH1 0x1f 00000d2d: DUP3 00000d2e: ADD 00000d2f: AND 00000d30: DUP3 00000d31: ADD 00000d32: DUP1 00000d33: PUSH1 0x40 00000d35: MSTORE 00000d36: POP 00000d37: PUSH2 0x0c96 00000d3a: SWAP2 00000d3b: SWAP1 00000d3c: DUP2 00000d3d: ADD 00000d3e: SWAP1 00000d3f: PUSH2 0x44cd 00000d42: JUMP 00000d43: JUMPDEST 00000d44: PUSH2 0x0d4b 00000d47: PUSH2 0x2546 00000d4a: JUMP 00000d4b: JUMPDEST 00000d4c: PUSH2 0x0d70 00000d4f: JUMPI 00000d50: PUSH1 0x40 00000d52: MLOAD 00000d53: PUSH3 0x461bcd 00000d57: PUSH1 0xe5 00000d59: SHL 00000d5a: DUP2 00000d5b: MSTORE 00000d5c: PUSH1 0x04 00000d5e: ADD 00000d5f: PUSH2 0x0d67 00000d62: SWAP1 00000d63: PUSH2 0x5302 00000d66: JUMP 00000d67: JUMPDEST 00000d68: PUSH1 0x40 00000d6a: MLOAD 00000d6b: DUP1 00000d6c: SWAP2 00000d6d: SUB 00000d6e: SWAP1 00000d6f: REVERT 00000d70: JUMPDEST 00000d71: PUSH1 0x13 00000d73: SLOAD 00000d74: PUSH1 0x01 00000d76: PUSH1 0xa0 00000d78: SHL 00000d79: SWAP1 00000d7a: DIV 00000d7b: PUSH1 0xff 00000d7d: AND 00000d7e: PUSH2 0x0d99 00000d81: JUMPI 00000d82: PUSH1 0x40 00000d84: MLOAD 00000d85: PUSH3 0x461bcd 00000d89: PUSH1 0xe5 00000d8b: SHL 00000d8c: DUP2 00000d8d: MSTORE 00000d8e: PUSH1 0x04 00000d90: ADD 00000d91: PUSH2 0x0d67 00000d94: SWAP1 00000d95: PUSH2 0x5312 00000d98: JUMP 00000d99: JUMPDEST 00000d9a: PUSH1 0x13 00000d9c: DUP1 00000d9d: SLOAD 00000d9e: PUSH1 0xff 00000da0: PUSH1 0xa0 00000da2: SHL 00000da3: NOT 00000da4: AND 00000da5: SWAP1 00000da6: SSTORE 00000da7: PUSH1 0x40 00000da9: MLOAD 00000daa: PUSH32 0x70b6151c00000000000000000000000000000000000000000000000000000000 00000dcb: DUP2 00000dcc: MSTORE 00000dcd: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 00000de2: SWAP1 00000de3: PUSH4 0x70b6151c 00000de8: SWAP1 00000de9: PUSH2 0x0df9 00000dec: SWAP1 00000ded: PUSH1 0x00 00000def: SWAP1 00000df0: DUP6 00000df1: SWAP1 00000df2: PUSH1 0x04 00000df4: ADD 00000df5: PUSH2 0x55c8 00000df8: JUMP 00000df9: JUMPDEST 00000dfa: PUSH1 0x00 00000dfc: PUSH1 0x40 00000dfe: MLOAD 00000dff: DUP1 00000e00: DUP4 00000e01: SUB 00000e02: DUP2 00000e03: DUP7 00000e04: DUP1 00000e05: EXTCODESIZE 00000e06: ISZERO 00000e07: DUP1 00000e08: ISZERO 00000e09: PUSH2 0x0e11 00000e0c: JUMPI 00000e0d: PUSH1 0x00 00000e0f: DUP1 00000e10: REVERT 00000e11: JUMPDEST 00000e12: POP 00000e13: GAS 00000e14: DELEGATECALL 00000e15: ISZERO 00000e16: DUP1 00000e17: ISZERO 00000e18: PUSH2 0x0e25 00000e1b: JUMPI 00000e1c: RETURNDATASIZE 00000e1d: PUSH1 0x00 00000e1f: DUP1 00000e20: RETURNDATACOPY 00000e21: RETURNDATASIZE 00000e22: PUSH1 0x00 00000e24: REVERT 00000e25: JUMPDEST 00000e26: POP 00000e27: POP 00000e28: PUSH1 0x13 00000e2a: DUP1 00000e2b: SLOAD 00000e2c: PUSH1 0xff 00000e2e: PUSH1 0xa0 00000e30: SHL 00000e31: NOT 00000e32: AND 00000e33: PUSH1 0x01 00000e35: PUSH1 0xa0 00000e37: SHL 00000e38: OR 00000e39: SWAP1 00000e3a: SSTORE 00000e3b: POP 00000e3c: POP 00000e3d: POP 00000e3e: JUMP 00000e3f: JUMPDEST 00000e40: PUSH2 0x0e47 00000e43: PUSH2 0x3abf 00000e46: JUMP 00000e47: JUMPDEST 00000e48: PUSH1 0x40 00000e4a: MLOAD 00000e4b: PUSH32 0x7462482a00000000000000000000000000000000000000000000000000000000 00000e6c: DUP2 00000e6d: MSTORE 00000e6e: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00000e83: SWAP1 00000e84: PUSH4 0x7462482a 00000e89: SWAP1 00000e8a: PUSH2 0x0e9a 00000e8d: SWAP1 00000e8e: PUSH1 0x00 00000e90: SWAP1 00000e91: DUP7 00000e92: SWAP1 00000e93: PUSH1 0x04 00000e95: ADD 00000e96: PUSH2 0x55c8 00000e99: JUMP 00000e9a: JUMPDEST 00000e9b: PUSH1 0x40 00000e9d: DUP1 00000e9e: MLOAD 00000e9f: DUP1 00000ea0: DUP4 00000ea1: SUB 00000ea2: DUP2 00000ea3: DUP7 00000ea4: DUP1 00000ea5: EXTCODESIZE 00000ea6: ISZERO 00000ea7: DUP1 00000ea8: ISZERO 00000ea9: PUSH2 0x0eb1 00000eac: JUMPI 00000ead: PUSH1 0x00 00000eaf: DUP1 00000eb0: REVERT 00000eb1: JUMPDEST 00000eb2: POP 00000eb3: GAS 00000eb4: DELEGATECALL 00000eb5: ISZERO 00000eb6: DUP1 00000eb7: ISZERO 00000eb8: PUSH2 0x0ec5 00000ebb: JUMPI 00000ebc: RETURNDATASIZE 00000ebd: PUSH1 0x00 00000ebf: DUP1 00000ec0: RETURNDATACOPY 00000ec1: RETURNDATASIZE 00000ec2: PUSH1 0x00 00000ec4: REVERT 00000ec5: JUMPDEST 00000ec6: POP 00000ec7: POP 00000ec8: POP 00000ec9: POP 00000eca: PUSH1 0x40 00000ecc: MLOAD 00000ecd: RETURNDATASIZE 00000ece: PUSH1 0x1f 00000ed0: NOT 00000ed1: PUSH1 0x1f 00000ed3: DUP3 00000ed4: ADD 00000ed5: AND 00000ed6: DUP3 00000ed7: ADD 00000ed8: DUP1 00000ed9: PUSH1 0x40 00000edb: MSTORE 00000edc: POP 00000edd: PUSH2 0x0c96 00000ee0: SWAP2 00000ee1: SWAP1 00000ee2: DUP2 00000ee3: ADD 00000ee4: SWAP1 00000ee5: PUSH2 0x4a41 00000ee8: JUMP 00000ee9: JUMPDEST 00000eea: PUSH2 0x0ef1 00000eed: PUSH2 0x2546 00000ef0: JUMP 00000ef1: JUMPDEST 00000ef2: PUSH2 0x0f0d 00000ef5: JUMPI 00000ef6: PUSH1 0x40 00000ef8: MLOAD 00000ef9: PUSH3 0x461bcd 00000efd: PUSH1 0xe5 00000eff: SHL 00000f00: DUP2 00000f01: MSTORE 00000f02: PUSH1 0x04 00000f04: ADD 00000f05: PUSH2 0x0d67 00000f08: SWAP1 00000f09: PUSH2 0x5302 00000f0c: JUMP 00000f0d: JUMPDEST 00000f0e: PUSH1 0x13 00000f10: SLOAD 00000f11: PUSH1 0x01 00000f13: PUSH1 0xa0 00000f15: SHL 00000f16: SWAP1 00000f17: DIV 00000f18: PUSH1 0xff 00000f1a: AND 00000f1b: PUSH2 0x0f36 00000f1e: JUMPI 00000f1f: PUSH1 0x40 00000f21: MLOAD 00000f22: PUSH3 0x461bcd 00000f26: PUSH1 0xe5 00000f28: SHL 00000f29: DUP2 00000f2a: MSTORE 00000f2b: PUSH1 0x04 00000f2d: ADD 00000f2e: PUSH2 0x0d67 00000f31: SWAP1 00000f32: PUSH2 0x5312 00000f35: JUMP 00000f36: JUMPDEST 00000f37: PUSH1 0x13 00000f39: DUP1 00000f3a: SLOAD 00000f3b: PUSH1 0xff 00000f3d: PUSH1 0xa0 00000f3f: SHL 00000f40: NOT 00000f41: AND 00000f42: SWAP1 00000f43: SSTORE 00000f44: PUSH1 0x40 00000f46: MLOAD 00000f47: PUSH32 0x1c90d82400000000000000000000000000000000000000000000000000000000 00000f68: DUP2 00000f69: MSTORE 00000f6a: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 00000f7f: SWAP1 00000f80: PUSH4 0x1c90d824 00000f85: SWAP1 00000f86: PUSH2 0x0f98 00000f89: SWAP1 00000f8a: PUSH1 0x00 00000f8c: SWAP1 00000f8d: DUP7 00000f8e: SWAP1 00000f8f: DUP7 00000f90: SWAP1 00000f91: PUSH1 0x04 00000f93: ADD 00000f94: PUSH2 0x5634 00000f97: JUMP 00000f98: JUMPDEST 00000f99: PUSH1 0x00 00000f9b: PUSH1 0x40 00000f9d: MLOAD 00000f9e: DUP1 00000f9f: DUP4 00000fa0: SUB 00000fa1: DUP2 00000fa2: DUP7 00000fa3: DUP1 00000fa4: EXTCODESIZE 00000fa5: ISZERO 00000fa6: DUP1 00000fa7: ISZERO 00000fa8: PUSH2 0x0fb0 00000fab: JUMPI 00000fac: PUSH1 0x00 00000fae: DUP1 00000faf: REVERT 00000fb0: JUMPDEST 00000fb1: POP 00000fb2: GAS 00000fb3: DELEGATECALL 00000fb4: ISZERO 00000fb5: DUP1 00000fb6: ISZERO 00000fb7: PUSH2 0x0fc4 00000fba: JUMPI 00000fbb: RETURNDATASIZE 00000fbc: PUSH1 0x00 00000fbe: DUP1 00000fbf: RETURNDATACOPY 00000fc0: RETURNDATASIZE 00000fc1: PUSH1 0x00 00000fc3: REVERT 00000fc4: JUMPDEST 00000fc5: POP 00000fc6: POP 00000fc7: PUSH1 0x13 00000fc9: DUP1 00000fca: SLOAD 00000fcb: PUSH1 0xff 00000fcd: PUSH1 0xa0 00000fcf: SHL 00000fd0: NOT 00000fd1: AND 00000fd2: PUSH1 0x01 00000fd4: PUSH1 0xa0 00000fd6: SHL 00000fd7: OR 00000fd8: SWAP1 00000fd9: SSTORE 00000fda: POP 00000fdb: POP 00000fdc: POP 00000fdd: POP 00000fde: JUMP 00000fdf: JUMPDEST 00000fe0: PUSH1 0x40 00000fe2: MLOAD 00000fe3: PUSH32 0xbbf7039800000000000000000000000000000000000000000000000000000000 00001004: DUP2 00001005: MSTORE 00001006: PUSH1 0x60 00001008: SWAP1 00001009: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 0000101e: SWAP1 0000101f: PUSH4 0xbbf70398 00001024: SWAP1 00001025: PUSH2 0x1035 00001028: SWAP1 00001029: PUSH1 0x00 0000102b: SWAP1 0000102c: DUP7 0000102d: SWAP1 0000102e: PUSH1 0x04 00001030: ADD 00001031: PUSH2 0x5550 00001034: JUMP 00001035: JUMPDEST 00001036: PUSH1 0x00 00001038: PUSH1 0x40 0000103a: MLOAD 0000103b: DUP1 0000103c: DUP4 0000103d: SUB 0000103e: DUP2 0000103f: DUP7 00001040: DUP1 00001041: EXTCODESIZE 00001042: ISZERO 00001043: DUP1 00001044: ISZERO 00001045: PUSH2 0x104d 00001048: JUMPI 00001049: PUSH1 0x00 0000104b: DUP1 0000104c: REVERT 0000104d: JUMPDEST 0000104e: POP 0000104f: GAS 00001050: DELEGATECALL 00001051: ISZERO 00001052: DUP1 00001053: ISZERO 00001054: PUSH2 0x1061 00001057: JUMPI 00001058: RETURNDATASIZE 00001059: PUSH1 0x00 0000105b: DUP1 0000105c: RETURNDATACOPY 0000105d: RETURNDATASIZE 0000105e: PUSH1 0x00 00001060: REVERT 00001061: JUMPDEST 00001062: POP 00001063: POP 00001064: POP 00001065: POP 00001066: PUSH1 0x40 00001068: MLOAD 00001069: RETURNDATASIZE 0000106a: PUSH1 0x00 0000106c: DUP3 0000106d: RETURNDATACOPY 0000106e: PUSH1 0x1f 00001070: RETURNDATASIZE 00001071: SWAP1 00001072: DUP2 00001073: ADD 00001074: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001095: AND 00001096: DUP3 00001097: ADD 00001098: PUSH1 0x40 0000109a: MSTORE 0000109b: PUSH2 0x0c96 0000109e: SWAP2 0000109f: SWAP1 000010a0: DUP2 000010a1: ADD 000010a2: SWAP1 000010a3: PUSH2 0x46dd 000010a6: JUMP 000010a7: JUMPDEST 000010a8: PUSH2 0x10af 000010ab: PUSH2 0x3ad6 000010ae: JUMP 000010af: JUMPDEST 000010b0: PUSH1 0x40 000010b2: MLOAD 000010b3: PUSH32 0xc61f66b400000000000000000000000000000000000000000000000000000000 000010d4: DUP2 000010d5: MSTORE 000010d6: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 000010eb: SWAP1 000010ec: PUSH4 0xc61f66b4 000010f1: SWAP1 000010f2: PUSH2 0x1102 000010f5: SWAP1 000010f6: PUSH1 0x00 000010f8: SWAP1 000010f9: DUP7 000010fa: SWAP1 000010fb: PUSH1 0x04 000010fd: ADD 000010fe: PUSH2 0x5550 00001101: JUMP 00001102: JUMPDEST 00001103: PUSH1 0x20 00001105: PUSH1 0x40 00001107: MLOAD 00001108: DUP1 00001109: DUP4 0000110a: SUB 0000110b: DUP2 0000110c: DUP7 0000110d: DUP1 0000110e: EXTCODESIZE 0000110f: ISZERO 00001110: DUP1 00001111: ISZERO 00001112: PUSH2 0x111a 00001115: JUMPI 00001116: PUSH1 0x00 00001118: DUP1 00001119: REVERT 0000111a: JUMPDEST 0000111b: POP 0000111c: GAS 0000111d: DELEGATECALL 0000111e: ISZERO 0000111f: DUP1 00001120: ISZERO 00001121: PUSH2 0x112e 00001124: JUMPI 00001125: RETURNDATASIZE 00001126: PUSH1 0x00 00001128: DUP1 00001129: RETURNDATACOPY 0000112a: RETURNDATASIZE 0000112b: PUSH1 0x00 0000112d: REVERT 0000112e: JUMPDEST 0000112f: POP 00001130: POP 00001131: POP 00001132: POP 00001133: PUSH1 0x40 00001135: MLOAD 00001136: RETURNDATASIZE 00001137: PUSH1 0x1f 00001139: NOT 0000113a: PUSH1 0x1f 0000113c: DUP3 0000113d: ADD 0000113e: AND 0000113f: DUP3 00001140: ADD 00001141: DUP1 00001142: PUSH1 0x40 00001144: MSTORE 00001145: POP 00001146: PUSH2 0x0c96 00001149: SWAP2 0000114a: SWAP1 0000114b: DUP2 0000114c: ADD 0000114d: SWAP1 0000114e: PUSH2 0x4868 00001151: JUMP 00001152: JUMPDEST 00001153: PUSH2 0x115a 00001156: PUSH2 0x2546 00001159: JUMP 0000115a: JUMPDEST 0000115b: PUSH2 0x1176 0000115e: JUMPI 0000115f: PUSH1 0x40 00001161: MLOAD 00001162: PUSH3 0x461bcd 00001166: PUSH1 0xe5 00001168: SHL 00001169: DUP2 0000116a: MSTORE 0000116b: PUSH1 0x04 0000116d: ADD 0000116e: PUSH2 0x0d67 00001171: SWAP1 00001172: PUSH2 0x5302 00001175: JUMP 00001176: JUMPDEST 00001177: PUSH1 0x13 00001179: SLOAD 0000117a: PUSH1 0x01 0000117c: PUSH1 0xa0 0000117e: SHL 0000117f: SWAP1 00001180: DIV 00001181: PUSH1 0xff 00001183: AND 00001184: PUSH2 0x119f 00001187: JUMPI 00001188: PUSH1 0x40 0000118a: MLOAD 0000118b: PUSH3 0x461bcd 0000118f: PUSH1 0xe5 00001191: SHL 00001192: DUP2 00001193: MSTORE 00001194: PUSH1 0x04 00001196: ADD 00001197: PUSH2 0x0d67 0000119a: SWAP1 0000119b: PUSH2 0x5312 0000119e: JUMP 0000119f: JUMPDEST 000011a0: PUSH1 0x13 000011a2: DUP1 000011a3: SLOAD 000011a4: PUSH1 0xff 000011a6: PUSH1 0xa0 000011a8: SHL 000011a9: NOT 000011aa: AND 000011ab: SWAP1 000011ac: SSTORE 000011ad: PUSH1 0x40 000011af: MLOAD 000011b0: PUSH32 0xaa92e34800000000000000000000000000000000000000000000000000000000 000011d1: DUP2 000011d2: MSTORE 000011d3: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 000011e8: SWAP1 000011e9: PUSH4 0xaa92e348 000011ee: SWAP1 000011ef: PUSH2 0x0f98 000011f2: SWAP1 000011f3: PUSH1 0x00 000011f5: SWAP1 000011f6: DUP7 000011f7: SWAP1 000011f8: DUP7 000011f9: SWAP1 000011fa: PUSH1 0x04 000011fc: ADD 000011fd: PUSH2 0x5619 00001200: JUMP 00001201: JUMPDEST 00001202: PUSH2 0x1209 00001205: PUSH2 0x3ad6 00001208: JUMP 00001209: JUMPDEST 0000120a: PUSH2 0x1211 0000120d: PUSH2 0x3ad6 00001210: JUMP 00001211: JUMPDEST 00001212: PUSH1 0x40 00001214: MLOAD 00001215: PUSH32 0xddc7c6f000000000000000000000000000000000000000000000000000000000 00001236: DUP2 00001237: MSTORE 00001238: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 0000124d: SWAP1 0000124e: PUSH4 0xddc7c6f0 00001253: SWAP1 00001254: PUSH2 0x1264 00001257: SWAP1 00001258: PUSH1 0x00 0000125a: SWAP1 0000125b: DUP8 0000125c: SWAP1 0000125d: PUSH1 0x04 0000125f: ADD 00001260: PUSH2 0x5550 00001263: JUMP 00001264: JUMPDEST 00001265: PUSH1 0x40 00001267: DUP1 00001268: MLOAD 00001269: DUP1 0000126a: DUP4 0000126b: SUB 0000126c: DUP2 0000126d: DUP7 0000126e: DUP1 0000126f: EXTCODESIZE 00001270: ISZERO 00001271: DUP1 00001272: ISZERO 00001273: PUSH2 0x127b 00001276: JUMPI 00001277: PUSH1 0x00 00001279: DUP1 0000127a: REVERT 0000127b: JUMPDEST 0000127c: POP 0000127d: GAS 0000127e: DELEGATECALL 0000127f: ISZERO 00001280: DUP1 00001281: ISZERO 00001282: PUSH2 0x128f 00001285: JUMPI 00001286: RETURNDATASIZE 00001287: PUSH1 0x00 00001289: DUP1 0000128a: RETURNDATACOPY 0000128b: RETURNDATASIZE 0000128c: PUSH1 0x00 0000128e: REVERT 0000128f: JUMPDEST 00001290: POP 00001291: POP 00001292: POP 00001293: POP 00001294: PUSH1 0x40 00001296: MLOAD 00001297: RETURNDATASIZE 00001298: PUSH1 0x1f 0000129a: NOT 0000129b: PUSH1 0x1f 0000129d: DUP3 0000129e: ADD 0000129f: AND 000012a0: DUP3 000012a1: ADD 000012a2: DUP1 000012a3: PUSH1 0x40 000012a5: MSTORE 000012a6: POP 000012a7: PUSH2 0x12b3 000012aa: SWAP2 000012ab: SWAP1 000012ac: DUP2 000012ad: ADD 000012ae: SWAP1 000012af: PUSH2 0x4886 000012b2: JUMP 000012b3: JUMPDEST 000012b4: SWAP2 000012b5: POP 000012b6: SWAP2 000012b7: POP 000012b8: SWAP2 000012b9: POP 000012ba: SWAP2 000012bb: JUMP 000012bc: JUMPDEST 000012bd: PUSH1 0x40 000012bf: MLOAD 000012c0: PUSH32 0xa18862fc00000000000000000000000000000000000000000000000000000000 000012e1: DUP2 000012e2: MSTORE 000012e3: PUSH1 0x00 000012e5: SWAP1 000012e6: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 000012fb: SWAP1 000012fc: PUSH4 0xa18862fc 00001301: SWAP1 00001302: PUSH2 0x1311 00001305: SWAP1 00001306: DUP5 00001307: SWAP1 00001308: DUP7 00001309: SWAP1 0000130a: PUSH1 0x04 0000130c: ADD 0000130d: PUSH2 0x55c8 00001310: JUMP 00001311: JUMPDEST 00001312: PUSH1 0x20 00001314: PUSH1 0x40 00001316: MLOAD 00001317: DUP1 00001318: DUP4 00001319: SUB 0000131a: DUP2 0000131b: DUP7 0000131c: DUP1 0000131d: EXTCODESIZE 0000131e: ISZERO 0000131f: DUP1 00001320: ISZERO 00001321: PUSH2 0x1329 00001324: JUMPI 00001325: PUSH1 0x00 00001327: DUP1 00001328: REVERT 00001329: JUMPDEST 0000132a: POP 0000132b: GAS 0000132c: DELEGATECALL 0000132d: ISZERO 0000132e: DUP1 0000132f: ISZERO 00001330: PUSH2 0x133d 00001333: JUMPI 00001334: RETURNDATASIZE 00001335: PUSH1 0x00 00001337: DUP1 00001338: RETURNDATACOPY 00001339: RETURNDATASIZE 0000133a: PUSH1 0x00 0000133c: REVERT 0000133d: JUMPDEST 0000133e: POP 0000133f: POP 00001340: POP 00001341: POP 00001342: PUSH1 0x40 00001344: MLOAD 00001345: RETURNDATASIZE 00001346: PUSH1 0x1f 00001348: NOT 00001349: PUSH1 0x1f 0000134b: DUP3 0000134c: ADD 0000134d: AND 0000134e: DUP3 0000134f: ADD 00001350: DUP1 00001351: PUSH1 0x40 00001353: MSTORE 00001354: POP 00001355: PUSH2 0x0c96 00001358: SWAP2 00001359: SWAP1 0000135a: DUP2 0000135b: ADD 0000135c: SWAP1 0000135d: PUSH2 0x480e 00001360: JUMP 00001361: JUMPDEST 00001362: PUSH1 0x40 00001364: MLOAD 00001365: PUSH32 0x6a0e643300000000000000000000000000000000000000000000000000000000 00001386: DUP2 00001387: MSTORE 00001388: PUSH1 0x00 0000138a: SWAP1 0000138b: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 000013a0: SWAP1 000013a1: PUSH4 0x6a0e6433 000013a6: SWAP1 000013a7: PUSH2 0x13b6 000013aa: SWAP1 000013ab: DUP5 000013ac: SWAP1 000013ad: DUP7 000013ae: SWAP1 000013af: PUSH1 0x04 000013b1: ADD 000013b2: PUSH2 0x5550 000013b5: JUMP 000013b6: JUMPDEST 000013b7: PUSH1 0x20 000013b9: PUSH1 0x40 000013bb: MLOAD 000013bc: DUP1 000013bd: DUP4 000013be: SUB 000013bf: DUP2 000013c0: DUP7 000013c1: DUP1 000013c2: EXTCODESIZE 000013c3: ISZERO 000013c4: DUP1 000013c5: ISZERO 000013c6: PUSH2 0x13ce 000013c9: JUMPI 000013ca: PUSH1 0x00 000013cc: DUP1 000013cd: REVERT 000013ce: JUMPDEST 000013cf: POP 000013d0: GAS 000013d1: DELEGATECALL 000013d2: ISZERO 000013d3: DUP1 000013d4: ISZERO 000013d5: PUSH2 0x13e2 000013d8: JUMPI 000013d9: RETURNDATASIZE 000013da: PUSH1 0x00 000013dc: DUP1 000013dd: RETURNDATACOPY 000013de: RETURNDATASIZE 000013df: PUSH1 0x00 000013e1: REVERT 000013e2: JUMPDEST 000013e3: POP 000013e4: POP 000013e5: POP 000013e6: POP 000013e7: PUSH1 0x40 000013e9: MLOAD 000013ea: RETURNDATASIZE 000013eb: PUSH1 0x1f 000013ed: NOT 000013ee: PUSH1 0x1f 000013f0: DUP3 000013f1: ADD 000013f2: AND 000013f3: DUP3 000013f4: ADD 000013f5: DUP1 000013f6: PUSH1 0x40 000013f8: MSTORE 000013f9: POP 000013fa: PUSH2 0x0c96 000013fd: SWAP2 000013fe: SWAP1 000013ff: DUP2 00001400: ADD 00001401: SWAP1 00001402: PUSH2 0x4a7d 00001405: JUMP 00001406: JUMPDEST 00001407: PUSH1 0x40 00001409: MLOAD 0000140a: PUSH32 0x35b5d1f600000000000000000000000000000000000000000000000000000000 0000142b: DUP2 0000142c: MSTORE 0000142d: PUSH1 0x00 0000142f: SWAP1 00001430: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00001445: SWAP1 00001446: PUSH4 0x35b5d1f6 0000144b: SWAP1 0000144c: PUSH2 0x1311 0000144f: SWAP1 00001450: DUP5 00001451: SWAP1 00001452: DUP7 00001453: SWAP1 00001454: PUSH1 0x04 00001456: ADD 00001457: PUSH2 0x55c8 0000145a: JUMP 0000145b: JUMPDEST 0000145c: PUSH2 0x1463 0000145f: PUSH2 0x3ad6 00001462: JUMP 00001463: JUMPDEST 00001464: PUSH1 0x40 00001466: MLOAD 00001467: PUSH32 0x063bf37300000000000000000000000000000000000000000000000000000000 00001488: DUP2 00001489: MSTORE 0000148a: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 0000149f: SWAP1 000014a0: PUSH4 0x063bf373 000014a5: SWAP1 000014a6: PUSH2 0x1102 000014a9: SWAP1 000014aa: PUSH1 0x00 000014ac: SWAP1 000014ad: DUP7 000014ae: SWAP1 000014af: PUSH1 0x04 000014b1: ADD 000014b2: PUSH2 0x55c8 000014b5: JUMP 000014b6: JUMPDEST 000014b7: PUSH2 0x14be 000014ba: PUSH2 0x2546 000014bd: JUMP 000014be: JUMPDEST 000014bf: PUSH2 0x14da 000014c2: JUMPI 000014c3: PUSH1 0x40 000014c5: MLOAD 000014c6: PUSH3 0x461bcd 000014ca: PUSH1 0xe5 000014cc: SHL 000014cd: DUP2 000014ce: MSTORE 000014cf: PUSH1 0x04 000014d1: ADD 000014d2: PUSH2 0x0d67 000014d5: SWAP1 000014d6: PUSH2 0x5302 000014d9: JUMP 000014da: JUMPDEST 000014db: PUSH1 0x13 000014dd: SLOAD 000014de: PUSH1 0x01 000014e0: PUSH1 0xa0 000014e2: SHL 000014e3: SWAP1 000014e4: DIV 000014e5: PUSH1 0xff 000014e7: AND 000014e8: PUSH2 0x1503 000014eb: JUMPI 000014ec: PUSH1 0x40 000014ee: MLOAD 000014ef: PUSH3 0x461bcd 000014f3: PUSH1 0xe5 000014f5: SHL 000014f6: DUP2 000014f7: MSTORE 000014f8: PUSH1 0x04 000014fa: ADD 000014fb: PUSH2 0x0d67 000014fe: SWAP1 000014ff: PUSH2 0x5312 00001502: JUMP 00001503: JUMPDEST 00001504: PUSH1 0x13 00001506: DUP1 00001507: SLOAD 00001508: PUSH1 0xff 0000150a: PUSH1 0xa0 0000150c: SHL 0000150d: NOT 0000150e: AND 0000150f: SWAP1 00001510: SSTORE 00001511: PUSH1 0x40 00001513: MLOAD 00001514: PUSH32 0x3ea4188300000000000000000000000000000000000000000000000000000000 00001535: DUP2 00001536: MSTORE 00001537: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 0000154c: SWAP1 0000154d: PUSH4 0x3ea41883 00001552: SWAP1 00001553: PUSH2 0x0f98 00001556: SWAP1 00001557: PUSH1 0x00 00001559: SWAP1 0000155a: DUP7 0000155b: SWAP1 0000155c: DUP7 0000155d: SWAP1 0000155e: PUSH1 0x04 00001560: ADD 00001561: PUSH2 0x565c 00001564: JUMP 00001565: JUMPDEST 00001566: PUSH2 0x156d 00001569: PUSH2 0x3ad6 0000156c: JUMP 0000156d: JUMPDEST 0000156e: PUSH1 0x40 00001570: MLOAD 00001571: PUSH32 0xfef3d3cb00000000000000000000000000000000000000000000000000000000 00001592: DUP2 00001593: MSTORE 00001594: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 000015a9: SWAP1 000015aa: PUSH4 0xfef3d3cb 000015af: SWAP1 000015b0: PUSH2 0x15c4 000015b3: SWAP1 000015b4: PUSH1 0x00 000015b6: SWAP1 000015b7: DUP9 000015b8: SWAP1 000015b9: DUP9 000015ba: SWAP1 000015bb: DUP9 000015bc: SWAP1 000015bd: PUSH1 0x04 000015bf: ADD 000015c0: PUSH2 0x5593 000015c3: JUMP 000015c4: JUMPDEST 000015c5: PUSH1 0x20 000015c7: PUSH1 0x40 000015c9: MLOAD 000015ca: DUP1 000015cb: DUP4 000015cc: SUB 000015cd: DUP2 000015ce: DUP7 000015cf: DUP1 000015d0: EXTCODESIZE 000015d1: ISZERO 000015d2: DUP1 000015d3: ISZERO 000015d4: PUSH2 0x15dc 000015d7: JUMPI 000015d8: PUSH1 0x00 000015da: DUP1 000015db: REVERT 000015dc: JUMPDEST 000015dd: POP 000015de: GAS 000015df: DELEGATECALL 000015e0: ISZERO 000015e1: DUP1 000015e2: ISZERO 000015e3: PUSH2 0x15f0 000015e6: JUMPI 000015e7: RETURNDATASIZE 000015e8: PUSH1 0x00 000015ea: DUP1 000015eb: RETURNDATACOPY 000015ec: RETURNDATASIZE 000015ed: PUSH1 0x00 000015ef: REVERT 000015f0: JUMPDEST 000015f1: POP 000015f2: POP 000015f3: POP 000015f4: POP 000015f5: PUSH1 0x40 000015f7: MLOAD 000015f8: RETURNDATASIZE 000015f9: PUSH1 0x1f 000015fb: NOT 000015fc: PUSH1 0x1f 000015fe: DUP3 000015ff: ADD 00001600: AND 00001601: DUP3 00001602: ADD 00001603: DUP1 00001604: PUSH1 0x40 00001606: MSTORE 00001607: POP 00001608: PUSH2 0x1614 0000160b: SWAP2 0000160c: SWAP1 0000160d: DUP2 0000160e: ADD 0000160f: SWAP1 00001610: PUSH2 0x4868 00001613: JUMP 00001614: JUMPDEST 00001615: SWAP1 00001616: POP 00001617: JUMPDEST 00001618: SWAP4 00001619: SWAP3 0000161a: POP 0000161b: POP 0000161c: POP 0000161d: JUMP 0000161e: JUMPDEST 0000161f: PUSH2 0x1626 00001622: PUSH2 0x3ad6 00001625: JUMP 00001626: JUMPDEST 00001627: PUSH1 0x40 00001629: MLOAD 0000162a: PUSH32 0x62f8e1b300000000000000000000000000000000000000000000000000000000 0000164b: DUP2 0000164c: MSTORE 0000164d: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00001662: SWAP1 00001663: PUSH4 0x62f8e1b3 00001668: SWAP1 00001669: PUSH2 0x1102 0000166c: SWAP1 0000166d: PUSH1 0x00 0000166f: SWAP1 00001670: DUP7 00001671: SWAP1 00001672: PUSH1 0x04 00001674: ADD 00001675: PUSH2 0x5550 00001678: JUMP 00001679: JUMPDEST 0000167a: PUSH1 0x40 0000167c: MLOAD 0000167d: PUSH32 0xe99388d300000000000000000000000000000000000000000000000000000000 0000169e: DUP2 0000169f: MSTORE 000016a0: PUSH1 0x00 000016a2: SWAP1 000016a3: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 000016b8: SWAP1 000016b9: PUSH4 0xe99388d3 000016be: SWAP1 000016bf: PUSH2 0x16cc 000016c2: SWAP1 000016c3: DUP5 000016c4: SWAP1 000016c5: PUSH1 0x04 000016c7: ADD 000016c8: PUSH2 0x53bd 000016cb: JUMP 000016cc: JUMPDEST 000016cd: PUSH1 0x20 000016cf: PUSH1 0x40 000016d1: MLOAD 000016d2: DUP1 000016d3: DUP4 000016d4: SUB 000016d5: DUP2 000016d6: DUP7 000016d7: DUP1 000016d8: EXTCODESIZE 000016d9: ISZERO 000016da: DUP1 000016db: ISZERO 000016dc: PUSH2 0x16e4 000016df: JUMPI 000016e0: PUSH1 0x00 000016e2: DUP1 000016e3: REVERT 000016e4: JUMPDEST 000016e5: POP 000016e6: GAS 000016e7: DELEGATECALL 000016e8: ISZERO 000016e9: DUP1 000016ea: ISZERO 000016eb: PUSH2 0x16f8 000016ee: JUMPI 000016ef: RETURNDATASIZE 000016f0: PUSH1 0x00 000016f2: DUP1 000016f3: RETURNDATACOPY 000016f4: RETURNDATASIZE 000016f5: PUSH1 0x00 000016f7: REVERT 000016f8: JUMPDEST 000016f9: POP 000016fa: POP 000016fb: POP 000016fc: POP 000016fd: PUSH1 0x40 000016ff: MLOAD 00001700: RETURNDATASIZE 00001701: PUSH1 0x1f 00001703: NOT 00001704: PUSH1 0x1f 00001706: DUP3 00001707: ADD 00001708: AND 00001709: DUP3 0000170a: ADD 0000170b: DUP1 0000170c: PUSH1 0x40 0000170e: MSTORE 0000170f: POP 00001710: PUSH2 0x171c 00001713: SWAP2 00001714: SWAP1 00001715: DUP2 00001716: ADD 00001717: SWAP1 00001718: PUSH2 0x4a7d 0000171b: JUMP 0000171c: JUMPDEST 0000171d: SWAP1 0000171e: POP 0000171f: SWAP1 00001720: JUMP 00001721: JUMPDEST 00001722: PUSH1 0x00 00001724: PUSH2 0x172b 00001727: PUSH2 0x2546 0000172a: JUMP 0000172b: JUMPDEST 0000172c: PUSH2 0x1747 0000172f: JUMPI 00001730: PUSH1 0x40 00001732: MLOAD 00001733: PUSH3 0x461bcd 00001737: PUSH1 0xe5 00001739: SHL 0000173a: DUP2 0000173b: MSTORE 0000173c: PUSH1 0x04 0000173e: ADD 0000173f: PUSH2 0x0d67 00001742: SWAP1 00001743: PUSH2 0x5302 00001746: JUMP 00001747: JUMPDEST 00001748: PUSH1 0x13 0000174a: SLOAD 0000174b: PUSH1 0x01 0000174d: PUSH1 0xa0 0000174f: SHL 00001750: SWAP1 00001751: DIV 00001752: PUSH1 0xff 00001754: AND 00001755: PUSH2 0x1770 00001758: JUMPI 00001759: PUSH1 0x40 0000175b: MLOAD 0000175c: PUSH3 0x461bcd 00001760: PUSH1 0xe5 00001762: SHL 00001763: DUP2 00001764: MSTORE 00001765: PUSH1 0x04 00001767: ADD 00001768: PUSH2 0x0d67 0000176b: SWAP1 0000176c: PUSH2 0x5312 0000176f: JUMP 00001770: JUMPDEST 00001771: PUSH1 0x13 00001773: DUP1 00001774: SLOAD 00001775: PUSH1 0xff 00001777: PUSH1 0xa0 00001779: SHL 0000177a: NOT 0000177b: AND 0000177c: SWAP1 0000177d: SSTORE 0000177e: PUSH1 0x40 00001780: MLOAD 00001781: PUSH32 0xdd32998a00000000000000000000000000000000000000000000000000000000 000017a2: DUP2 000017a3: MSTORE 000017a4: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 000017b9: SWAP1 000017ba: PUSH4 0xdd32998a 000017bf: SWAP1 000017c0: PUSH2 0x17d2 000017c3: SWAP1 000017c4: PUSH1 0x00 000017c6: SWAP1 000017c7: DUP8 000017c8: SWAP1 000017c9: DUP8 000017ca: SWAP1 000017cb: PUSH1 0x04 000017cd: ADD 000017ce: PUSH2 0x53e6 000017d1: JUMP 000017d2: JUMPDEST 000017d3: PUSH1 0x20 000017d5: PUSH1 0x40 000017d7: MLOAD 000017d8: DUP1 000017d9: DUP4 000017da: SUB 000017db: DUP2 000017dc: DUP7 000017dd: DUP1 000017de: EXTCODESIZE 000017df: ISZERO 000017e0: DUP1 000017e1: ISZERO 000017e2: PUSH2 0x17ea 000017e5: JUMPI 000017e6: PUSH1 0x00 000017e8: DUP1 000017e9: REVERT 000017ea: JUMPDEST 000017eb: POP 000017ec: GAS 000017ed: DELEGATECALL 000017ee: ISZERO 000017ef: DUP1 000017f0: ISZERO 000017f1: PUSH2 0x17fe 000017f4: JUMPI 000017f5: RETURNDATASIZE 000017f6: PUSH1 0x00 000017f8: DUP1 000017f9: RETURNDATACOPY 000017fa: RETURNDATASIZE 000017fb: PUSH1 0x00 000017fd: REVERT 000017fe: JUMPDEST 000017ff: POP 00001800: POP 00001801: POP 00001802: POP 00001803: PUSH1 0x40 00001805: MLOAD 00001806: RETURNDATASIZE 00001807: PUSH1 0x1f 00001809: NOT 0000180a: PUSH1 0x1f 0000180c: DUP3 0000180d: ADD 0000180e: AND 0000180f: DUP3 00001810: ADD 00001811: DUP1 00001812: PUSH1 0x40 00001814: MSTORE 00001815: POP 00001816: PUSH2 0x1822 00001819: SWAP2 0000181a: SWAP1 0000181b: DUP2 0000181c: ADD 0000181d: SWAP1 0000181e: PUSH2 0x4a7d 00001821: JUMP 00001822: JUMPDEST 00001823: SWAP1 00001824: POP 00001825: PUSH1 0x13 00001827: DUP1 00001828: SLOAD 00001829: PUSH1 0xff 0000182b: PUSH1 0xa0 0000182d: SHL 0000182e: NOT 0000182f: AND 00001830: PUSH1 0x01 00001832: PUSH1 0xa0 00001834: SHL 00001835: OR 00001836: SWAP1 00001837: SSTORE 00001838: SWAP3 00001839: SWAP2 0000183a: POP 0000183b: POP 0000183c: JUMP 0000183d: JUMPDEST 0000183e: PUSH2 0x1845 00001841: PUSH2 0x2546 00001844: JUMP 00001845: JUMPDEST 00001846: PUSH2 0x1861 00001849: JUMPI 0000184a: PUSH1 0x40 0000184c: MLOAD 0000184d: PUSH3 0x461bcd 00001851: PUSH1 0xe5 00001853: SHL 00001854: DUP2 00001855: MSTORE 00001856: PUSH1 0x04 00001858: ADD 00001859: PUSH2 0x0d67 0000185c: SWAP1 0000185d: PUSH2 0x5302 00001860: JUMP 00001861: JUMPDEST 00001862: PUSH1 0x13 00001864: SLOAD 00001865: PUSH1 0x01 00001867: PUSH1 0xa0 00001869: SHL 0000186a: SWAP1 0000186b: DIV 0000186c: PUSH1 0xff 0000186e: AND 0000186f: PUSH2 0x188a 00001872: JUMPI 00001873: PUSH1 0x40 00001875: MLOAD 00001876: PUSH3 0x461bcd 0000187a: PUSH1 0xe5 0000187c: SHL 0000187d: DUP2 0000187e: MSTORE 0000187f: PUSH1 0x04 00001881: ADD 00001882: PUSH2 0x0d67 00001885: SWAP1 00001886: PUSH2 0x5312 00001889: JUMP 0000188a: JUMPDEST 0000188b: PUSH1 0x13 0000188d: DUP1 0000188e: SLOAD 0000188f: PUSH1 0xff 00001891: PUSH1 0xa0 00001893: SHL 00001894: NOT 00001895: AND 00001896: SWAP1 00001897: SSTORE 00001898: PUSH1 0x40 0000189a: MLOAD 0000189b: PUSH32 0xf9cacc4c00000000000000000000000000000000000000000000000000000000 000018bc: DUP2 000018bd: MSTORE 000018be: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 000018d3: SWAP1 000018d4: PUSH4 0xf9cacc4c 000018d9: SWAP1 000018da: PUSH2 0x0df9 000018dd: SWAP1 000018de: PUSH1 0x00 000018e0: SWAP1 000018e1: DUP6 000018e2: SWAP1 000018e3: PUSH1 0x04 000018e5: ADD 000018e6: PUSH2 0x5542 000018e9: JUMP 000018ea: JUMPDEST 000018eb: PUSH2 0x18f2 000018ee: PUSH2 0x2546 000018f1: JUMP 000018f2: JUMPDEST 000018f3: PUSH2 0x190e 000018f6: JUMPI 000018f7: PUSH1 0x40 000018f9: MLOAD 000018fa: PUSH3 0x461bcd 000018fe: PUSH1 0xe5 00001900: SHL 00001901: DUP2 00001902: MSTORE 00001903: PUSH1 0x04 00001905: ADD 00001906: PUSH2 0x0d67 00001909: SWAP1 0000190a: PUSH2 0x5302 0000190d: JUMP 0000190e: JUMPDEST 0000190f: PUSH1 0x13 00001911: SLOAD 00001912: PUSH1 0x01 00001914: PUSH1 0xa0 00001916: SHL 00001917: SWAP1 00001918: DIV 00001919: PUSH1 0xff 0000191b: AND 0000191c: PUSH2 0x1937 0000191f: JUMPI 00001920: PUSH1 0x40 00001922: MLOAD 00001923: PUSH3 0x461bcd 00001927: PUSH1 0xe5 00001929: SHL 0000192a: DUP2 0000192b: MSTORE 0000192c: PUSH1 0x04 0000192e: ADD 0000192f: PUSH2 0x0d67 00001932: SWAP1 00001933: PUSH2 0x5312 00001936: JUMP 00001937: JUMPDEST 00001938: PUSH1 0x13 0000193a: DUP1 0000193b: SLOAD 0000193c: PUSH1 0xff 0000193e: PUSH1 0xa0 00001940: SHL 00001941: NOT 00001942: AND 00001943: SWAP1 00001944: SSTORE 00001945: PUSH1 0x40 00001947: MLOAD 00001948: PUSH32 0x0f44e6bc00000000000000000000000000000000000000000000000000000000 00001969: DUP2 0000196a: MSTORE 0000196b: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 00001980: SWAP1 00001981: PUSH4 0x0f44e6bc 00001986: SWAP1 00001987: PUSH2 0x0df9 0000198a: SWAP1 0000198b: PUSH1 0x00 0000198d: SWAP1 0000198e: DUP6 0000198f: SWAP1 00001990: PUSH1 0x04 00001992: ADD 00001993: PUSH2 0x5542 00001996: JUMP 00001997: JUMPDEST 00001998: PUSH2 0x199f 0000199b: PUSH2 0x3abf 0000199e: JUMP 0000199f: JUMPDEST 000019a0: PUSH1 0x40 000019a2: MLOAD 000019a3: PUSH32 0xc641ccd100000000000000000000000000000000000000000000000000000000 000019c4: DUP2 000019c5: MSTORE 000019c6: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 000019db: SWAP1 000019dc: PUSH4 0xc641ccd1 000019e1: SWAP1 000019e2: PUSH2 0x0e9a 000019e5: SWAP1 000019e6: PUSH1 0x00 000019e8: SWAP1 000019e9: DUP7 000019ea: SWAP1 000019eb: PUSH1 0x04 000019ed: ADD 000019ee: PUSH2 0x55c8 000019f1: JUMP 000019f2: JUMPDEST 000019f3: PUSH2 0x19fa 000019f6: PUSH2 0x2546 000019f9: JUMP 000019fa: JUMPDEST 000019fb: PUSH2 0x1a16 000019fe: JUMPI 000019ff: PUSH1 0x40 00001a01: MLOAD 00001a02: PUSH3 0x461bcd 00001a06: PUSH1 0xe5 00001a08: SHL 00001a09: DUP2 00001a0a: MSTORE 00001a0b: PUSH1 0x04 00001a0d: ADD 00001a0e: PUSH2 0x0d67 00001a11: SWAP1 00001a12: PUSH2 0x5302 00001a15: JUMP 00001a16: JUMPDEST 00001a17: PUSH1 0x13 00001a19: SLOAD 00001a1a: PUSH1 0x01 00001a1c: PUSH1 0xa0 00001a1e: SHL 00001a1f: SWAP1 00001a20: DIV 00001a21: PUSH1 0xff 00001a23: AND 00001a24: PUSH2 0x1a3f 00001a27: JUMPI 00001a28: PUSH1 0x40 00001a2a: MLOAD 00001a2b: PUSH3 0x461bcd 00001a2f: PUSH1 0xe5 00001a31: SHL 00001a32: DUP2 00001a33: MSTORE 00001a34: PUSH1 0x04 00001a36: ADD 00001a37: PUSH2 0x0d67 00001a3a: SWAP1 00001a3b: PUSH2 0x5312 00001a3e: JUMP 00001a3f: JUMPDEST 00001a40: PUSH1 0x13 00001a42: DUP1 00001a43: SLOAD 00001a44: PUSH1 0xff 00001a46: PUSH1 0xa0 00001a48: SHL 00001a49: NOT 00001a4a: AND 00001a4b: SWAP1 00001a4c: SSTORE 00001a4d: PUSH1 0x40 00001a4f: MLOAD 00001a50: PUSH32 0x311401d000000000000000000000000000000000000000000000000000000000 00001a71: DUP2 00001a72: MSTORE 00001a73: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 00001a88: SWAP1 00001a89: PUSH4 0x311401d0 00001a8e: SWAP1 00001a8f: PUSH2 0x0df9 00001a92: SWAP1 00001a93: PUSH1 0x00 00001a95: SWAP1 00001a96: DUP6 00001a97: SWAP1 00001a98: PUSH1 0x04 00001a9a: ADD 00001a9b: PUSH2 0x5542 00001a9e: JUMP 00001a9f: JUMPDEST 00001aa0: PUSH1 0x40 00001aa2: MLOAD 00001aa3: PUSH32 0x75bcaa4800000000000000000000000000000000000000000000000000000000 00001ac4: DUP2 00001ac5: MSTORE 00001ac6: PUSH1 0x00 00001ac8: SWAP1 00001ac9: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00001ade: SWAP1 00001adf: PUSH4 0x75bcaa48 00001ae4: SWAP1 00001ae5: PUSH2 0x1af6 00001ae8: SWAP1 00001ae9: DUP5 00001aea: SWAP1 00001aeb: DUP8 00001aec: SWAP1 00001aed: DUP8 00001aee: SWAP1 00001aef: PUSH1 0x04 00001af1: ADD 00001af2: PUSH2 0x53e6 00001af5: JUMP 00001af6: JUMPDEST 00001af7: PUSH1 0x20 00001af9: PUSH1 0x40 00001afb: MLOAD 00001afc: DUP1 00001afd: DUP4 00001afe: SUB 00001aff: DUP2 00001b00: DUP7 00001b01: DUP1 00001b02: EXTCODESIZE 00001b03: ISZERO 00001b04: DUP1 00001b05: ISZERO 00001b06: PUSH2 0x1b0e 00001b09: JUMPI 00001b0a: PUSH1 0x00 00001b0c: DUP1 00001b0d: REVERT 00001b0e: JUMPDEST 00001b0f: POP 00001b10: GAS 00001b11: DELEGATECALL 00001b12: ISZERO 00001b13: DUP1 00001b14: ISZERO 00001b15: PUSH2 0x1b22 00001b18: JUMPI 00001b19: RETURNDATASIZE 00001b1a: PUSH1 0x00 00001b1c: DUP1 00001b1d: RETURNDATACOPY 00001b1e: RETURNDATASIZE 00001b1f: PUSH1 0x00 00001b21: REVERT 00001b22: JUMPDEST 00001b23: POP 00001b24: POP 00001b25: POP 00001b26: POP 00001b27: PUSH1 0x40 00001b29: MLOAD 00001b2a: RETURNDATASIZE 00001b2b: PUSH1 0x1f 00001b2d: NOT 00001b2e: PUSH1 0x1f 00001b30: DUP3 00001b31: ADD 00001b32: AND 00001b33: DUP3 00001b34: ADD 00001b35: DUP1 00001b36: PUSH1 0x40 00001b38: MSTORE 00001b39: POP 00001b3a: PUSH2 0x1b46 00001b3d: SWAP2 00001b3e: SWAP1 00001b3f: DUP2 00001b40: ADD 00001b41: SWAP1 00001b42: PUSH2 0x47d2 00001b45: JUMP 00001b46: JUMPDEST 00001b47: SWAP1 00001b48: POP 00001b49: JUMPDEST 00001b4a: SWAP3 00001b4b: SWAP2 00001b4c: POP 00001b4d: POP 00001b4e: JUMP 00001b4f: JUMPDEST 00001b50: PUSH2 0x1b57 00001b53: PUSH2 0x3abf 00001b56: JUMP 00001b57: JUMPDEST 00001b58: PUSH1 0x40 00001b5a: MLOAD 00001b5b: PUSH32 0x787f772700000000000000000000000000000000000000000000000000000000 00001b7c: DUP2 00001b7d: MSTORE 00001b7e: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00001b93: SWAP1 00001b94: PUSH4 0x787f7727 00001b99: SWAP1 00001b9a: PUSH2 0x1bac 00001b9d: SWAP1 00001b9e: PUSH1 0x00 00001ba0: SWAP1 00001ba1: DUP8 00001ba2: SWAP1 00001ba3: DUP8 00001ba4: SWAP1 00001ba5: PUSH1 0x04 00001ba7: ADD 00001ba8: PUSH2 0x556b 00001bab: JUMP 00001bac: JUMPDEST 00001bad: PUSH1 0x40 00001baf: DUP1 00001bb0: MLOAD 00001bb1: DUP1 00001bb2: DUP4 00001bb3: SUB 00001bb4: DUP2 00001bb5: DUP7 00001bb6: DUP1 00001bb7: EXTCODESIZE 00001bb8: ISZERO 00001bb9: DUP1 00001bba: ISZERO 00001bbb: PUSH2 0x1bc3 00001bbe: JUMPI 00001bbf: PUSH1 0x00 00001bc1: DUP1 00001bc2: REVERT 00001bc3: JUMPDEST 00001bc4: POP 00001bc5: GAS 00001bc6: DELEGATECALL 00001bc7: ISZERO 00001bc8: DUP1 00001bc9: ISZERO 00001bca: PUSH2 0x1bd7 00001bcd: JUMPI 00001bce: RETURNDATASIZE 00001bcf: PUSH1 0x00 00001bd1: DUP1 00001bd2: RETURNDATACOPY 00001bd3: RETURNDATASIZE 00001bd4: PUSH1 0x00 00001bd6: REVERT 00001bd7: JUMPDEST 00001bd8: POP 00001bd9: POP 00001bda: POP 00001bdb: POP 00001bdc: PUSH1 0x40 00001bde: MLOAD 00001bdf: RETURNDATASIZE 00001be0: PUSH1 0x1f 00001be2: NOT 00001be3: PUSH1 0x1f 00001be5: DUP3 00001be6: ADD 00001be7: AND 00001be8: DUP3 00001be9: ADD 00001bea: DUP1 00001beb: PUSH1 0x40 00001bed: MSTORE 00001bee: POP 00001bef: PUSH2 0x1b46 00001bf2: SWAP2 00001bf3: SWAP1 00001bf4: DUP2 00001bf5: ADD 00001bf6: SWAP1 00001bf7: PUSH2 0x49e7 00001bfa: JUMP 00001bfb: JUMPDEST 00001bfc: PUSH1 0x40 00001bfe: MLOAD 00001bff: PUSH32 0x2e19a6ea00000000000000000000000000000000000000000000000000000000 00001c20: DUP2 00001c21: MSTORE 00001c22: PUSH1 0x00 00001c24: SWAP1 00001c25: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00001c3a: SWAP1 00001c3b: PUSH4 0x2e19a6ea 00001c40: SWAP1 00001c41: PUSH2 0x1311 00001c44: SWAP1 00001c45: DUP5 00001c46: SWAP1 00001c47: DUP7 00001c48: SWAP1 00001c49: PUSH1 0x04 00001c4b: ADD 00001c4c: PUSH2 0x53cb 00001c4f: JUMP 00001c50: JUMPDEST 00001c51: PUSH2 0x1c58 00001c54: PUSH2 0x2546 00001c57: JUMP 00001c58: JUMPDEST 00001c59: PUSH2 0x1c74 00001c5c: JUMPI 00001c5d: PUSH1 0x40 00001c5f: MLOAD 00001c60: PUSH3 0x461bcd 00001c64: PUSH1 0xe5 00001c66: SHL 00001c67: DUP2 00001c68: MSTORE 00001c69: PUSH1 0x04 00001c6b: ADD 00001c6c: PUSH2 0x0d67 00001c6f: SWAP1 00001c70: PUSH2 0x5302 00001c73: JUMP 00001c74: JUMPDEST 00001c75: PUSH1 0x13 00001c77: SLOAD 00001c78: PUSH1 0x01 00001c7a: PUSH1 0xa0 00001c7c: SHL 00001c7d: SWAP1 00001c7e: DIV 00001c7f: PUSH1 0xff 00001c81: AND 00001c82: PUSH2 0x1c9d 00001c85: JUMPI 00001c86: PUSH1 0x40 00001c88: MLOAD 00001c89: PUSH3 0x461bcd 00001c8d: PUSH1 0xe5 00001c8f: SHL 00001c90: DUP2 00001c91: MSTORE 00001c92: PUSH1 0x04 00001c94: ADD 00001c95: PUSH2 0x0d67 00001c98: SWAP1 00001c99: PUSH2 0x5312 00001c9c: JUMP 00001c9d: JUMPDEST 00001c9e: PUSH1 0x13 00001ca0: DUP1 00001ca1: SLOAD 00001ca2: PUSH1 0xff 00001ca4: PUSH1 0xa0 00001ca6: SHL 00001ca7: NOT 00001ca8: AND 00001ca9: SWAP1 00001caa: SSTORE 00001cab: PUSH1 0x40 00001cad: MLOAD 00001cae: PUSH32 0x7335079b00000000000000000000000000000000000000000000000000000000 00001ccf: DUP2 00001cd0: MSTORE 00001cd1: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 00001ce6: SWAP1 00001ce7: PUSH4 0x7335079b 00001cec: SWAP1 00001ced: PUSH2 0x0f98 00001cf0: SWAP1 00001cf1: PUSH1 0x00 00001cf3: SWAP1 00001cf4: DUP7 00001cf5: SWAP1 00001cf6: DUP7 00001cf7: SWAP1 00001cf8: PUSH1 0x04 00001cfa: ADD 00001cfb: PUSH2 0x5634 00001cfe: JUMP 00001cff: JUMPDEST 00001d00: PUSH1 0x40 00001d02: MLOAD 00001d03: PUSH32 0x83fe9e1400000000000000000000000000000000000000000000000000000000 00001d24: DUP2 00001d25: MSTORE 00001d26: PUSH1 0x00 00001d28: SWAP1 00001d29: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00001d3e: SWAP1 00001d3f: PUSH4 0x83fe9e14 00001d44: SWAP1 00001d45: PUSH2 0x1d52 00001d48: SWAP1 00001d49: DUP5 00001d4a: SWAP1 00001d4b: PUSH1 0x04 00001d4d: ADD 00001d4e: PUSH2 0x53bd 00001d51: JUMP 00001d52: JUMPDEST 00001d53: PUSH1 0x20 00001d55: PUSH1 0x40 00001d57: MLOAD 00001d58: DUP1 00001d59: DUP4 00001d5a: SUB 00001d5b: DUP2 00001d5c: DUP7 00001d5d: DUP1 00001d5e: EXTCODESIZE 00001d5f: ISZERO 00001d60: DUP1 00001d61: ISZERO 00001d62: PUSH2 0x1d6a 00001d65: JUMPI 00001d66: PUSH1 0x00 00001d68: DUP1 00001d69: REVERT 00001d6a: JUMPDEST 00001d6b: POP 00001d6c: GAS 00001d6d: DELEGATECALL 00001d6e: ISZERO 00001d6f: DUP1 00001d70: ISZERO 00001d71: PUSH2 0x1d7e 00001d74: JUMPI 00001d75: RETURNDATASIZE 00001d76: PUSH1 0x00 00001d78: DUP1 00001d79: RETURNDATACOPY 00001d7a: RETURNDATASIZE 00001d7b: PUSH1 0x00 00001d7d: REVERT 00001d7e: JUMPDEST 00001d7f: POP 00001d80: POP 00001d81: POP 00001d82: POP 00001d83: PUSH1 0x40 00001d85: MLOAD 00001d86: RETURNDATASIZE 00001d87: PUSH1 0x1f 00001d89: NOT 00001d8a: PUSH1 0x1f 00001d8c: DUP3 00001d8d: ADD 00001d8e: AND 00001d8f: DUP3 00001d90: ADD 00001d91: DUP1 00001d92: PUSH1 0x40 00001d94: MSTORE 00001d95: POP 00001d96: PUSH2 0x171c 00001d99: SWAP2 00001d9a: SWAP1 00001d9b: DUP2 00001d9c: ADD 00001d9d: SWAP1 00001d9e: PUSH2 0x47d2 00001da1: JUMP 00001da2: JUMPDEST 00001da3: PUSH1 0x40 00001da5: MLOAD 00001da6: PUSH32 0x6861138d00000000000000000000000000000000000000000000000000000000 00001dc7: DUP2 00001dc8: MSTORE 00001dc9: PUSH1 0x00 00001dcb: SWAP1 00001dcc: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00001de1: SWAP1 00001de2: PUSH4 0x6861138d 00001de7: SWAP1 00001de8: PUSH2 0x1d52 00001deb: SWAP1 00001dec: DUP5 00001ded: SWAP1 00001dee: PUSH1 0x04 00001df0: ADD 00001df1: PUSH2 0x53bd 00001df4: JUMP 00001df5: JUMPDEST 00001df6: PUSH2 0x1dfd 00001df9: PUSH2 0x3ad6 00001dfc: JUMP 00001dfd: JUMPDEST 00001dfe: PUSH1 0x40 00001e00: MLOAD 00001e01: PUSH32 0x4f820bd600000000000000000000000000000000000000000000000000000000 00001e22: DUP2 00001e23: MSTORE 00001e24: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00001e39: SWAP1 00001e3a: PUSH4 0x4f820bd6 00001e3f: SWAP1 00001e40: PUSH2 0x1e4e 00001e43: SWAP1 00001e44: PUSH1 0x00 00001e46: SWAP1 00001e47: PUSH1 0x04 00001e49: ADD 00001e4a: PUSH2 0x53bd 00001e4d: JUMP 00001e4e: JUMPDEST 00001e4f: PUSH1 0x20 00001e51: PUSH1 0x40 00001e53: MLOAD 00001e54: DUP1 00001e55: DUP4 00001e56: SUB 00001e57: DUP2 00001e58: DUP7 00001e59: DUP1 00001e5a: EXTCODESIZE 00001e5b: ISZERO 00001e5c: DUP1 00001e5d: ISZERO 00001e5e: PUSH2 0x1e66 00001e61: JUMPI 00001e62: PUSH1 0x00 00001e64: DUP1 00001e65: REVERT 00001e66: JUMPDEST 00001e67: POP 00001e68: GAS 00001e69: DELEGATECALL 00001e6a: ISZERO 00001e6b: DUP1 00001e6c: ISZERO 00001e6d: PUSH2 0x1e7a 00001e70: JUMPI 00001e71: RETURNDATASIZE 00001e72: PUSH1 0x00 00001e74: DUP1 00001e75: RETURNDATACOPY 00001e76: RETURNDATASIZE 00001e77: PUSH1 0x00 00001e79: REVERT 00001e7a: JUMPDEST 00001e7b: POP 00001e7c: POP 00001e7d: POP 00001e7e: POP 00001e7f: PUSH1 0x40 00001e81: MLOAD 00001e82: RETURNDATASIZE 00001e83: PUSH1 0x1f 00001e85: NOT 00001e86: PUSH1 0x1f 00001e88: DUP3 00001e89: ADD 00001e8a: AND 00001e8b: DUP3 00001e8c: ADD 00001e8d: DUP1 00001e8e: PUSH1 0x40 00001e90: MSTORE 00001e91: POP 00001e92: PUSH2 0x171c 00001e95: SWAP2 00001e96: SWAP1 00001e97: DUP2 00001e98: ADD 00001e99: SWAP1 00001e9a: PUSH2 0x4868 00001e9d: JUMP 00001e9e: JUMPDEST 00001e9f: PUSH1 0x40 00001ea1: MLOAD 00001ea2: PUSH32 0xe647a68700000000000000000000000000000000000000000000000000000000 00001ec3: DUP2 00001ec4: MSTORE 00001ec5: PUSH1 0x00 00001ec7: SWAP1 00001ec8: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00001edd: SWAP1 00001ede: PUSH4 0xe647a687 00001ee3: SWAP1 00001ee4: PUSH2 0x13b6 00001ee7: SWAP1 00001ee8: DUP5 00001ee9: SWAP1 00001eea: DUP7 00001eeb: SWAP1 00001eec: PUSH1 0x04 00001eee: ADD 00001eef: PUSH2 0x5550 00001ef2: JUMP 00001ef3: JUMPDEST 00001ef4: PUSH2 0x1efb 00001ef7: PUSH2 0x3ae9 00001efa: JUMP 00001efb: JUMPDEST 00001efc: PUSH1 0x40 00001efe: MLOAD 00001eff: PUSH32 0xd23406b600000000000000000000000000000000000000000000000000000000 00001f20: DUP2 00001f21: MSTORE 00001f22: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00001f37: SWAP1 00001f38: PUSH4 0xd23406b6 00001f3d: SWAP1 00001f3e: PUSH2 0x1f4e 00001f41: SWAP1 00001f42: PUSH1 0x00 00001f44: SWAP1 00001f45: DUP7 00001f46: SWAP1 00001f47: PUSH1 0x04 00001f49: ADD 00001f4a: PUSH2 0x55c8 00001f4d: JUMP 00001f4e: JUMPDEST 00001f4f: PUSH1 0x60 00001f51: PUSH1 0x40 00001f53: MLOAD 00001f54: DUP1 00001f55: DUP4 00001f56: SUB 00001f57: DUP2 00001f58: DUP7 00001f59: DUP1 00001f5a: EXTCODESIZE 00001f5b: ISZERO 00001f5c: DUP1 00001f5d: ISZERO 00001f5e: PUSH2 0x1f66 00001f61: JUMPI 00001f62: PUSH1 0x00 00001f64: DUP1 00001f65: REVERT 00001f66: JUMPDEST 00001f67: POP 00001f68: GAS 00001f69: DELEGATECALL 00001f6a: ISZERO 00001f6b: DUP1 00001f6c: ISZERO 00001f6d: PUSH2 0x1f7a 00001f70: JUMPI 00001f71: RETURNDATASIZE 00001f72: PUSH1 0x00 00001f74: DUP1 00001f75: RETURNDATACOPY 00001f76: RETURNDATASIZE 00001f77: PUSH1 0x00 00001f79: REVERT 00001f7a: JUMPDEST 00001f7b: POP 00001f7c: POP 00001f7d: POP 00001f7e: POP 00001f7f: PUSH1 0x40 00001f81: MLOAD 00001f82: RETURNDATASIZE 00001f83: PUSH1 0x1f 00001f85: NOT 00001f86: PUSH1 0x1f 00001f88: DUP3 00001f89: ADD 00001f8a: AND 00001f8b: DUP3 00001f8c: ADD 00001f8d: DUP1 00001f8e: PUSH1 0x40 00001f90: MSTORE 00001f91: POP 00001f92: PUSH2 0x0c96 00001f95: SWAP2 00001f96: SWAP1 00001f97: DUP2 00001f98: ADD 00001f99: SWAP1 00001f9a: PUSH2 0x48b6 00001f9d: JUMP 00001f9e: JUMPDEST 00001f9f: PUSH1 0x40 00001fa1: MLOAD 00001fa2: PUSH32 0xd09657e100000000000000000000000000000000000000000000000000000000 00001fc3: DUP2 00001fc4: MSTORE 00001fc5: PUSH1 0x00 00001fc7: SWAP1 00001fc8: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00001fdd: SWAP1 00001fde: PUSH4 0xd09657e1 00001fe3: SWAP1 00001fe4: PUSH2 0x0c46 00001fe7: SWAP1 00001fe8: DUP5 00001fe9: SWAP1 00001fea: DUP7 00001feb: SWAP1 00001fec: PUSH1 0x04 00001fee: ADD 00001fef: PUSH2 0x55c8 00001ff2: JUMP 00001ff3: JUMPDEST 00001ff4: PUSH2 0x1ffb 00001ff7: PUSH2 0x3ad6 00001ffa: JUMP 00001ffb: JUMPDEST 00001ffc: PUSH1 0x40 00001ffe: MLOAD 00001fff: PUSH32 0x58105e3500000000000000000000000000000000000000000000000000000000 00002020: DUP2 00002021: MSTORE 00002022: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00002037: SWAP1 00002038: PUSH4 0x58105e35 0000203d: SWAP1 0000203e: PUSH2 0x1102 00002041: SWAP1 00002042: PUSH1 0x00 00002044: SWAP1 00002045: DUP7 00002046: SWAP1 00002047: PUSH1 0x04 00002049: ADD 0000204a: PUSH2 0x5550 0000204d: JUMP 0000204e: JUMPDEST 0000204f: PUSH2 0x2056 00002052: PUSH2 0x2546 00002055: JUMP 00002056: JUMPDEST 00002057: PUSH2 0x2072 0000205a: JUMPI 0000205b: PUSH1 0x40 0000205d: MLOAD 0000205e: PUSH3 0x461bcd 00002062: PUSH1 0xe5 00002064: SHL 00002065: DUP2 00002066: MSTORE 00002067: PUSH1 0x04 00002069: ADD 0000206a: PUSH2 0x0d67 0000206d: SWAP1 0000206e: PUSH2 0x5302 00002071: JUMP 00002072: JUMPDEST 00002073: PUSH1 0x13 00002075: SLOAD 00002076: PUSH1 0x01 00002078: PUSH1 0xa0 0000207a: SHL 0000207b: SWAP1 0000207c: DIV 0000207d: PUSH1 0xff 0000207f: AND 00002080: PUSH2 0x209b 00002083: JUMPI 00002084: PUSH1 0x40 00002086: MLOAD 00002087: PUSH3 0x461bcd 0000208b: PUSH1 0xe5 0000208d: SHL 0000208e: DUP2 0000208f: MSTORE 00002090: PUSH1 0x04 00002092: ADD 00002093: PUSH2 0x0d67 00002096: SWAP1 00002097: PUSH2 0x5312 0000209a: JUMP 0000209b: JUMPDEST 0000209c: PUSH1 0x13 0000209e: DUP1 0000209f: SLOAD 000020a0: PUSH1 0xff 000020a2: PUSH1 0xa0 000020a4: SHL 000020a5: NOT 000020a6: AND 000020a7: SWAP1 000020a8: SSTORE 000020a9: PUSH1 0x40 000020ab: MLOAD 000020ac: PUSH32 0x0e7cd6f800000000000000000000000000000000000000000000000000000000 000020cd: DUP2 000020ce: MSTORE 000020cf: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 000020e4: SWAP1 000020e5: PUSH4 0x0e7cd6f8 000020ea: SWAP1 000020eb: PUSH2 0x0df9 000020ee: SWAP1 000020ef: PUSH1 0x00 000020f1: SWAP1 000020f2: DUP6 000020f3: SWAP1 000020f4: PUSH1 0x04 000020f6: ADD 000020f7: PUSH2 0x55c8 000020fa: JUMP 000020fb: JUMPDEST 000020fc: PUSH2 0x2103 000020ff: PUSH2 0x2546 00002102: JUMP 00002103: JUMPDEST 00002104: PUSH2 0x211f 00002107: JUMPI 00002108: PUSH1 0x40 0000210a: MLOAD 0000210b: PUSH3 0x461bcd 0000210f: PUSH1 0xe5 00002111: SHL 00002112: DUP2 00002113: MSTORE 00002114: PUSH1 0x04 00002116: ADD 00002117: PUSH2 0x0d67 0000211a: SWAP1 0000211b: PUSH2 0x5302 0000211e: JUMP 0000211f: JUMPDEST 00002120: PUSH1 0x13 00002122: SLOAD 00002123: PUSH1 0x01 00002125: PUSH1 0xa0 00002127: SHL 00002128: SWAP1 00002129: DIV 0000212a: PUSH1 0xff 0000212c: AND 0000212d: PUSH2 0x2148 00002130: JUMPI 00002131: PUSH1 0x40 00002133: MLOAD 00002134: PUSH3 0x461bcd 00002138: PUSH1 0xe5 0000213a: SHL 0000213b: DUP2 0000213c: MSTORE 0000213d: PUSH1 0x04 0000213f: ADD 00002140: PUSH2 0x0d67 00002143: SWAP1 00002144: PUSH2 0x5312 00002147: JUMP 00002148: JUMPDEST 00002149: PUSH1 0x13 0000214b: DUP1 0000214c: SLOAD 0000214d: PUSH1 0xff 0000214f: PUSH1 0xa0 00002151: SHL 00002152: NOT 00002153: AND 00002154: SWAP1 00002155: SSTORE 00002156: PUSH1 0x40 00002158: MLOAD 00002159: PUSH32 0xa289756d00000000000000000000000000000000000000000000000000000000 0000217a: DUP2 0000217b: MSTORE 0000217c: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 00002191: SWAP1 00002192: PUSH4 0xa289756d 00002197: SWAP1 00002198: PUSH2 0x0df9 0000219b: SWAP1 0000219c: PUSH1 0x00 0000219e: SWAP1 0000219f: DUP6 000021a0: SWAP1 000021a1: PUSH1 0x04 000021a3: ADD 000021a4: PUSH2 0x5527 000021a7: JUMP 000021a8: JUMPDEST 000021a9: PUSH1 0x60 000021ab: DUP1 000021ac: PUSH1 0x60 000021ae: DUP1 000021af: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 000021c4: PUSH4 0xedf9c1ec 000021c9: PUSH1 0x00 000021cb: DUP8 000021cc: PUSH1 0x40 000021ce: MLOAD 000021cf: DUP4 000021d0: PUSH4 0xffffffff 000021d5: AND 000021d6: PUSH1 0xe0 000021d8: SHL 000021d9: DUP2 000021da: MSTORE 000021db: PUSH1 0x04 000021dd: ADD 000021de: PUSH2 0x21e8 000021e1: SWAP3 000021e2: SWAP2 000021e3: SWAP1 000021e4: PUSH2 0x5550 000021e7: JUMP 000021e8: JUMPDEST 000021e9: PUSH1 0x00 000021eb: PUSH1 0x40 000021ed: MLOAD 000021ee: DUP1 000021ef: DUP4 000021f0: SUB 000021f1: DUP2 000021f2: DUP7 000021f3: DUP1 000021f4: EXTCODESIZE 000021f5: ISZERO 000021f6: DUP1 000021f7: ISZERO 000021f8: PUSH2 0x2200 000021fb: JUMPI 000021fc: PUSH1 0x00 000021fe: DUP1 000021ff: REVERT 00002200: JUMPDEST 00002201: POP 00002202: GAS 00002203: DELEGATECALL 00002204: ISZERO 00002205: DUP1 00002206: ISZERO 00002207: PUSH2 0x2214 0000220a: JUMPI 0000220b: RETURNDATASIZE 0000220c: PUSH1 0x00 0000220e: DUP1 0000220f: RETURNDATACOPY 00002210: RETURNDATASIZE 00002211: PUSH1 0x00 00002213: REVERT 00002214: JUMPDEST 00002215: POP 00002216: POP 00002217: POP 00002218: POP 00002219: PUSH1 0x40 0000221b: MLOAD 0000221c: RETURNDATASIZE 0000221d: PUSH1 0x00 0000221f: DUP3 00002220: RETURNDATACOPY 00002221: PUSH1 0x1f 00002223: RETURNDATASIZE 00002224: SWAP1 00002225: DUP2 00002226: ADD 00002227: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00002248: AND 00002249: DUP3 0000224a: ADD 0000224b: PUSH1 0x40 0000224d: MSTORE 0000224e: PUSH2 0x225a 00002251: SWAP2 00002252: SWAP1 00002253: DUP2 00002254: ADD 00002255: SWAP1 00002256: PUSH2 0x4712 00002259: JUMP 0000225a: JUMPDEST 0000225b: SWAP4 0000225c: POP 0000225d: SWAP4 0000225e: POP 0000225f: SWAP4 00002260: POP 00002261: SWAP4 00002262: POP 00002263: SWAP2 00002264: SWAP4 00002265: POP 00002266: SWAP2 00002267: SWAP4 00002268: JUMP 00002269: JUMPDEST 0000226a: PUSH2 0x2271 0000226d: PUSH2 0x2546 00002270: JUMP 00002271: JUMPDEST 00002272: PUSH2 0x228d 00002275: JUMPI 00002276: PUSH1 0x40 00002278: MLOAD 00002279: PUSH3 0x461bcd 0000227d: PUSH1 0xe5 0000227f: SHL 00002280: DUP2 00002281: MSTORE 00002282: PUSH1 0x04 00002284: ADD 00002285: PUSH2 0x0d67 00002288: SWAP1 00002289: PUSH2 0x5302 0000228c: JUMP 0000228d: JUMPDEST 0000228e: PUSH1 0x13 00002290: SLOAD 00002291: PUSH1 0x40 00002293: MLOAD 00002294: PUSH1 0x00 00002296: SWAP2 00002297: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022ac: AND 000022ad: SWAP1 000022ae: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 000022cf: SWAP1 000022d0: DUP4 000022d1: SWAP1 000022d2: LOG3 000022d3: PUSH1 0x13 000022d5: DUP1 000022d6: SLOAD 000022d7: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000022f8: AND 000022f9: SWAP1 000022fa: SSTORE 000022fb: JUMP 000022fc: JUMPDEST 000022fd: PUSH1 0x40 000022ff: MLOAD 00002300: PUSH32 0x5ebcae4c00000000000000000000000000000000000000000000000000000000 00002321: DUP2 00002322: MSTORE 00002323: PUSH1 0x00 00002325: SWAP1 00002326: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 0000233b: SWAP1 0000233c: PUSH4 0x5ebcae4c 00002341: SWAP1 00002342: PUSH2 0x234f 00002345: SWAP1 00002346: DUP5 00002347: SWAP1 00002348: PUSH1 0x04 0000234a: ADD 0000234b: PUSH2 0x53bd 0000234e: JUMP 0000234f: JUMPDEST 00002350: PUSH1 0x20 00002352: PUSH1 0x40 00002354: MLOAD 00002355: DUP1 00002356: DUP4 00002357: SUB 00002358: DUP2 00002359: DUP7 0000235a: DUP1 0000235b: EXTCODESIZE 0000235c: ISZERO 0000235d: DUP1 0000235e: ISZERO 0000235f: PUSH2 0x2367 00002362: JUMPI 00002363: PUSH1 0x00 00002365: DUP1 00002366: REVERT 00002367: JUMPDEST 00002368: POP 00002369: GAS 0000236a: DELEGATECALL 0000236b: ISZERO 0000236c: DUP1 0000236d: ISZERO 0000236e: PUSH2 0x237b 00002371: JUMPI 00002372: RETURNDATASIZE 00002373: PUSH1 0x00 00002375: DUP1 00002376: RETURNDATACOPY 00002377: RETURNDATASIZE 00002378: PUSH1 0x00 0000237a: REVERT 0000237b: JUMPDEST 0000237c: POP 0000237d: POP 0000237e: POP 0000237f: POP 00002380: PUSH1 0x40 00002382: MLOAD 00002383: RETURNDATASIZE 00002384: PUSH1 0x1f 00002386: NOT 00002387: PUSH1 0x1f 00002389: DUP3 0000238a: ADD 0000238b: AND 0000238c: DUP3 0000238d: ADD 0000238e: DUP1 0000238f: PUSH1 0x40 00002391: MSTORE 00002392: POP 00002393: PUSH2 0x171c 00002396: SWAP2 00002397: SWAP1 00002398: DUP2 00002399: ADD 0000239a: SWAP1 0000239b: PUSH2 0x480e 0000239e: JUMP 0000239f: JUMPDEST 000023a0: PUSH2 0x23a7 000023a3: PUSH2 0x3ad6 000023a6: JUMP 000023a7: JUMPDEST 000023a8: PUSH1 0x40 000023aa: MLOAD 000023ab: PUSH32 0x136a1dc700000000000000000000000000000000000000000000000000000000 000023cc: DUP2 000023cd: MSTORE 000023ce: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 000023e3: SWAP1 000023e4: PUSH4 0x136a1dc7 000023e9: SWAP1 000023ea: PUSH2 0x1e4e 000023ed: SWAP1 000023ee: PUSH1 0x00 000023f0: SWAP1 000023f1: PUSH1 0x04 000023f3: ADD 000023f4: PUSH2 0x53bd 000023f7: JUMP 000023f8: JUMPDEST 000023f9: DUP1 000023fa: MLOAD 000023fb: PUSH1 0x00 000023fd: JUMPDEST 000023fe: DUP2 000023ff: DUP2 00002400: LT 00002401: ISZERO 00002402: PUSH2 0x24ca 00002405: JUMPI 00002406: PUSH1 0x00 00002408: DUP4 00002409: DUP3 0000240a: DUP2 0000240b: MLOAD 0000240c: DUP2 0000240d: LT 0000240e: PUSH2 0x2413 00002411: JUMPI 00002412: INVALID 00002413: JUMPDEST 00002414: PUSH1 0x20 00002416: MUL 00002417: PUSH1 0x20 00002419: ADD 0000241a: ADD 0000241b: MLOAD 0000241c: PUSH1 0x00 0000241e: ADD 0000241f: MLOAD 00002420: SWAP1 00002421: POP 00002422: PUSH1 0x00 00002424: DUP5 00002425: DUP4 00002426: DUP2 00002427: MLOAD 00002428: DUP2 00002429: LT 0000242a: PUSH2 0x242f 0000242d: JUMPI 0000242e: INVALID 0000242f: JUMPDEST 00002430: PUSH1 0x20 00002432: MUL 00002433: PUSH1 0x20 00002435: ADD 00002436: ADD 00002437: MLOAD 00002438: PUSH1 0x20 0000243a: ADD 0000243b: MLOAD 0000243c: SWAP1 0000243d: POP 0000243e: DUP1 0000243f: PUSH2 0x2449 00002442: JUMPI 00002443: PUSH1 0x02 00002445: PUSH2 0x244c 00002448: JUMP 00002449: JUMPDEST 0000244a: PUSH1 0x01 0000244c: JUMPDEST 0000244d: CALLER 0000244e: PUSH1 0x00 00002450: DUP2 00002451: DUP2 00002452: MSTORE 00002453: PUSH1 0x04 00002455: PUSH1 0x20 00002457: SWAP1 00002458: DUP2 00002459: MSTORE 0000245a: PUSH1 0x40 0000245c: DUP1 0000245d: DUP4 0000245e: KECCAK256 0000245f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002474: DUP9 00002475: AND 00002476: DUP5 00002477: MSTORE 00002478: SWAP1 00002479: SWAP2 0000247a: MSTORE 0000247b: SWAP1 0000247c: DUP2 0000247d: SWAP1 0000247e: KECCAK256 0000247f: PUSH1 0xff 00002481: SWAP4 00002482: SWAP1 00002483: SWAP4 00002484: AND 00002485: SWAP1 00002486: SWAP3 00002487: SSTORE 00002488: SWAP1 00002489: MLOAD 0000248a: PUSH32 0x4d7f317d2088d039c2a95a09fcbf9cc9191fad5905f883c937cc3d317c4a6327 000024ab: SWAP1 000024ac: PUSH2 0x24b8 000024af: SWAP1 000024b0: DUP6 000024b1: SWAP1 000024b2: DUP6 000024b3: SWAP1 000024b4: PUSH2 0x5245 000024b7: JUMP 000024b8: JUMPDEST 000024b9: PUSH1 0x40 000024bb: MLOAD 000024bc: DUP1 000024bd: SWAP2 000024be: SUB 000024bf: SWAP1 000024c0: LOG2 000024c1: POP 000024c2: POP 000024c3: PUSH1 0x01 000024c5: ADD 000024c6: PUSH2 0x23fd 000024c9: JUMP 000024ca: JUMPDEST 000024cb: POP 000024cc: POP 000024cd: POP 000024ce: JUMP 000024cf: JUMPDEST 000024d0: PUSH2 0x24d7 000024d3: PUSH2 0x3ad6 000024d6: JUMP 000024d7: JUMPDEST 000024d8: PUSH1 0x40 000024da: MLOAD 000024db: PUSH32 0x8828244f00000000000000000000000000000000000000000000000000000000 000024fc: DUP2 000024fd: MSTORE 000024fe: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00002513: SWAP1 00002514: PUSH4 0x8828244f 00002519: SWAP1 0000251a: PUSH2 0x1102 0000251d: SWAP1 0000251e: PUSH1 0x00 00002520: SWAP1 00002521: DUP7 00002522: SWAP1 00002523: PUSH1 0x04 00002525: ADD 00002526: PUSH2 0x55c8 00002529: JUMP 0000252a: JUMPDEST 0000252b: PUSH1 0x13 0000252d: SLOAD 0000252e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002543: AND 00002544: SWAP1 00002545: JUMP 00002546: JUMPDEST 00002547: PUSH1 0x13 00002549: SLOAD 0000254a: PUSH1 0x00 0000254c: SWAP1 0000254d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002562: AND 00002563: PUSH2 0x256a 00002566: PUSH2 0x39fa 00002569: JUMP 0000256a: JUMPDEST 0000256b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002580: AND 00002581: EQ 00002582: SWAP1 00002583: POP 00002584: SWAP1 00002585: JUMP 00002586: JUMPDEST 00002587: PUSH1 0x00 00002589: PUSH2 0x2590 0000258c: PUSH2 0x2546 0000258f: JUMP 00002590: JUMPDEST 00002591: PUSH2 0x25ac 00002594: JUMPI 00002595: PUSH1 0x40 00002597: MLOAD 00002598: PUSH3 0x461bcd 0000259c: PUSH1 0xe5 0000259e: SHL 0000259f: DUP2 000025a0: MSTORE 000025a1: PUSH1 0x04 000025a3: ADD 000025a4: PUSH2 0x0d67 000025a7: SWAP1 000025a8: PUSH2 0x5302 000025ab: JUMP 000025ac: JUMPDEST 000025ad: PUSH1 0x13 000025af: SLOAD 000025b0: PUSH1 0x01 000025b2: PUSH1 0xa0 000025b4: SHL 000025b5: SWAP1 000025b6: DIV 000025b7: PUSH1 0xff 000025b9: AND 000025ba: PUSH2 0x25d5 000025bd: JUMPI 000025be: PUSH1 0x40 000025c0: MLOAD 000025c1: PUSH3 0x461bcd 000025c5: PUSH1 0xe5 000025c7: SHL 000025c8: DUP2 000025c9: MSTORE 000025ca: PUSH1 0x04 000025cc: ADD 000025cd: PUSH2 0x0d67 000025d0: SWAP1 000025d1: PUSH2 0x5312 000025d4: JUMP 000025d5: JUMPDEST 000025d6: PUSH1 0x13 000025d8: DUP1 000025d9: SLOAD 000025da: PUSH1 0xff 000025dc: PUSH1 0xa0 000025de: SHL 000025df: NOT 000025e0: AND 000025e1: SWAP1 000025e2: SSTORE 000025e3: PUSH1 0x40 000025e5: MLOAD 000025e6: PUSH32 0xb25328e000000000000000000000000000000000000000000000000000000000 00002607: DUP2 00002608: MSTORE 00002609: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 0000261e: SWAP1 0000261f: PUSH4 0xb25328e0 00002624: SWAP1 00002625: PUSH2 0x17d2 00002628: SWAP1 00002629: PUSH1 0x00 0000262b: SWAP1 0000262c: DUP8 0000262d: SWAP1 0000262e: DUP8 0000262f: SWAP1 00002630: PUSH1 0x04 00002632: ADD 00002633: PUSH2 0x55e3 00002636: JUMP 00002637: JUMPDEST 00002638: PUSH1 0x40 0000263a: MLOAD 0000263b: PUSH32 0x92108b1e00000000000000000000000000000000000000000000000000000000 0000265c: DUP2 0000265d: MSTORE 0000265e: PUSH1 0x00 00002660: SWAP1 00002661: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00002676: SWAP1 00002677: PUSH4 0x92108b1e 0000267c: SWAP1 0000267d: PUSH2 0x13b6 00002680: SWAP1 00002681: DUP5 00002682: SWAP1 00002683: DUP7 00002684: SWAP1 00002685: PUSH1 0x04 00002687: ADD 00002688: PUSH2 0x53cb 0000268b: JUMP 0000268c: JUMPDEST 0000268d: PUSH1 0x13 0000268f: SLOAD 00002690: PUSH1 0x01 00002692: PUSH1 0xa0 00002694: SHL 00002695: SWAP1 00002696: DIV 00002697: PUSH1 0xff 00002699: AND 0000269a: PUSH2 0x26b5 0000269d: JUMPI 0000269e: PUSH1 0x40 000026a0: MLOAD 000026a1: PUSH3 0x461bcd 000026a5: PUSH1 0xe5 000026a7: SHL 000026a8: DUP2 000026a9: MSTORE 000026aa: PUSH1 0x04 000026ac: ADD 000026ad: PUSH2 0x0d67 000026b0: SWAP1 000026b1: PUSH2 0x5312 000026b4: JUMP 000026b5: JUMPDEST 000026b6: PUSH1 0x13 000026b8: DUP1 000026b9: SLOAD 000026ba: PUSH1 0xff 000026bc: PUSH1 0xa0 000026be: SHL 000026bf: NOT 000026c0: AND 000026c1: SWAP1 000026c2: SSTORE 000026c3: PUSH1 0x40 000026c5: MLOAD 000026c6: PUSH32 0xbd76ecfd00000000000000000000000000000000000000000000000000000000 000026e7: DUP2 000026e8: MSTORE 000026e9: PUSH20 0x460dfe88b642705c588bd55660cc2c4c6578ee64 000026fe: SWAP1 000026ff: PUSH4 0xbd76ecfd 00002704: SWAP1 00002705: PUSH2 0x0f98 00002708: SWAP1 00002709: PUSH1 0x00 0000270b: SWAP1 0000270c: DUP7 0000270d: SWAP1 0000270e: DUP7 0000270f: SWAP1 00002710: PUSH1 0x04 00002712: ADD 00002713: PUSH2 0x54f3 00002716: JUMP 00002717: JUMPDEST 00002718: PUSH2 0x271f 0000271b: PUSH2 0x3ad6 0000271e: JUMP 0000271f: JUMPDEST 00002720: PUSH1 0x40 00002722: MLOAD 00002723: PUSH32 0x2bdf1cf200000000000000000000000000000000000000000000000000000000 00002744: DUP2 00002745: MSTORE 00002746: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 0000275b: SWAP1 0000275c: PUSH4 0x2bdf1cf2 00002761: SWAP1 00002762: PUSH2 0x1102 00002765: SWAP1 00002766: PUSH1 0x00 00002768: SWAP1 00002769: DUP7 0000276a: SWAP1 0000276b: PUSH1 0x04 0000276d: ADD 0000276e: PUSH2 0x55c8 00002771: JUMP 00002772: JUMPDEST 00002773: PUSH2 0x277a 00002776: PUSH2 0x2546 00002779: JUMP 0000277a: JUMPDEST 0000277b: PUSH2 0x2796 0000277e: JUMPI 0000277f: PUSH1 0x40 00002781: MLOAD 00002782: PUSH3 0x461bcd 00002786: PUSH1 0xe5 00002788: SHL 00002789: DUP2 0000278a: MSTORE 0000278b: PUSH1 0x04 0000278d: ADD 0000278e: PUSH2 0x0d67 00002791: SWAP1 00002792: PUSH2 0x5302 00002795: JUMP 00002796: JUMPDEST 00002797: PUSH1 0x13 00002799: SLOAD 0000279a: PUSH1 0x01 0000279c: PUSH1 0xa0 0000279e: SHL 0000279f: SWAP1 000027a0: DIV 000027a1: PUSH1 0xff 000027a3: AND 000027a4: PUSH2 0x27bf 000027a7: JUMPI 000027a8: PUSH1 0x40 000027aa: MLOAD 000027ab: PUSH3 0x461bcd 000027af: PUSH1 0xe5 000027b1: SHL 000027b2: DUP2 000027b3: MSTORE 000027b4: PUSH1 0x04 000027b6: ADD 000027b7: PUSH2 0x0d67 000027ba: SWAP1 000027bb: PUSH2 0x5312 000027be: JUMP 000027bf: JUMPDEST 000027c0: PUSH1 0x13 000027c2: DUP1 000027c3: SLOAD 000027c4: PUSH1 0xff 000027c6: PUSH1 0xa0 000027c8: SHL 000027c9: NOT 000027ca: AND 000027cb: SWAP1 000027cc: SSTORE 000027cd: PUSH1 0x40 000027cf: MLOAD 000027d0: PUSH32 0xdf7ff36300000000000000000000000000000000000000000000000000000000 000027f1: DUP2 000027f2: MSTORE 000027f3: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 00002808: SWAP1 00002809: PUSH4 0xdf7ff363 0000280e: SWAP1 0000280f: PUSH2 0x0f98 00002812: SWAP1 00002813: PUSH1 0x00 00002815: SWAP1 00002816: DUP7 00002817: SWAP1 00002818: DUP7 00002819: SWAP1 0000281a: PUSH1 0x04 0000281c: ADD 0000281d: PUSH2 0x5436 00002820: JUMP 00002821: JUMPDEST 00002822: PUSH2 0x2829 00002825: PUSH2 0x2546 00002828: JUMP 00002829: JUMPDEST 0000282a: PUSH2 0x2845 0000282d: JUMPI 0000282e: PUSH1 0x40 00002830: MLOAD 00002831: PUSH3 0x461bcd 00002835: PUSH1 0xe5 00002837: SHL 00002838: DUP2 00002839: MSTORE 0000283a: PUSH1 0x04 0000283c: ADD 0000283d: PUSH2 0x0d67 00002840: SWAP1 00002841: PUSH2 0x5302 00002844: JUMP 00002845: JUMPDEST 00002846: PUSH1 0x13 00002848: SLOAD 00002849: PUSH1 0x01 0000284b: PUSH1 0xa0 0000284d: SHL 0000284e: SWAP1 0000284f: DIV 00002850: PUSH1 0xff 00002852: AND 00002853: PUSH2 0x286e 00002856: JUMPI 00002857: PUSH1 0x40 00002859: MLOAD 0000285a: PUSH3 0x461bcd 0000285e: PUSH1 0xe5 00002860: SHL 00002861: DUP2 00002862: MSTORE 00002863: PUSH1 0x04 00002865: ADD 00002866: PUSH2 0x0d67 00002869: SWAP1 0000286a: PUSH2 0x5312 0000286d: JUMP 0000286e: JUMPDEST 0000286f: PUSH1 0x13 00002871: DUP1 00002872: SLOAD 00002873: PUSH1 0xff 00002875: PUSH1 0xa0 00002877: SHL 00002878: NOT 00002879: AND 0000287a: SWAP1 0000287b: SSTORE 0000287c: PUSH1 0x40 0000287e: MLOAD 0000287f: PUSH32 0x6f48141000000000000000000000000000000000000000000000000000000000 000028a0: DUP2 000028a1: MSTORE 000028a2: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 000028b7: SWAP1 000028b8: PUSH4 0x6f481410 000028bd: SWAP1 000028be: PUSH2 0x0f98 000028c1: SWAP1 000028c2: PUSH1 0x00 000028c4: SWAP1 000028c5: DUP7 000028c6: SWAP1 000028c7: DUP7 000028c8: SWAP1 000028c9: PUSH1 0x04 000028cb: ADD 000028cc: PUSH2 0x565c 000028cf: JUMP 000028d0: JUMPDEST 000028d1: PUSH2 0x28d8 000028d4: PUSH2 0x3b09 000028d7: JUMP 000028d8: JUMPDEST 000028d9: PUSH2 0x28e0 000028dc: PUSH2 0x3ae9 000028df: JUMP 000028e0: JUMPDEST 000028e1: PUSH2 0x28e8 000028e4: PUSH2 0x3ad6 000028e7: JUMP 000028e8: JUMPDEST 000028e9: PUSH2 0x28f0 000028ec: PUSH2 0x3ad6 000028ef: JUMP 000028f0: JUMPDEST 000028f1: PUSH1 0x40 000028f3: MLOAD 000028f4: PUSH32 0xba25f9d600000000000000000000000000000000000000000000000000000000 00002915: DUP2 00002916: MSTORE 00002917: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 0000292c: SWAP1 0000292d: PUSH4 0xba25f9d6 00002932: SWAP1 00002933: PUSH2 0x2943 00002936: SWAP1 00002937: PUSH1 0x00 00002939: SWAP1 0000293a: DUP10 0000293b: SWAP1 0000293c: PUSH1 0x04 0000293e: ADD 0000293f: PUSH2 0x55c8 00002942: JUMP 00002943: JUMPDEST 00002944: PUSH2 0x02a0 00002947: PUSH1 0x40 00002949: MLOAD 0000294a: DUP1 0000294b: DUP4 0000294c: SUB 0000294d: DUP2 0000294e: DUP7 0000294f: DUP1 00002950: EXTCODESIZE 00002951: ISZERO 00002952: DUP1 00002953: ISZERO 00002954: PUSH2 0x295c 00002957: JUMPI 00002958: PUSH1 0x00 0000295a: DUP1 0000295b: REVERT 0000295c: JUMPDEST 0000295d: POP 0000295e: GAS 0000295f: DELEGATECALL 00002960: ISZERO 00002961: DUP1 00002962: ISZERO 00002963: PUSH2 0x2970 00002966: JUMPI 00002967: RETURNDATASIZE 00002968: PUSH1 0x00 0000296a: DUP1 0000296b: RETURNDATACOPY 0000296c: RETURNDATASIZE 0000296d: PUSH1 0x00 0000296f: REVERT 00002970: JUMPDEST 00002971: POP 00002972: POP 00002973: POP 00002974: POP 00002975: PUSH1 0x40 00002977: MLOAD 00002978: RETURNDATASIZE 00002979: PUSH1 0x1f 0000297b: NOT 0000297c: PUSH1 0x1f 0000297e: DUP3 0000297f: ADD 00002980: AND 00002981: DUP3 00002982: ADD 00002983: DUP1 00002984: PUSH1 0x40 00002986: MSTORE 00002987: POP 00002988: PUSH2 0x225a 0000298b: SWAP2 0000298c: SWAP1 0000298d: DUP2 0000298e: ADD 0000298f: SWAP1 00002990: PUSH2 0x498e 00002993: JUMP 00002994: JUMPDEST 00002995: PUSH2 0x299c 00002998: PUSH2 0x3ad6 0000299b: JUMP 0000299c: JUMPDEST 0000299d: PUSH1 0x40 0000299f: MLOAD 000029a0: PUSH32 0xa16184f600000000000000000000000000000000000000000000000000000000 000029c1: DUP2 000029c2: MSTORE 000029c3: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 000029d8: SWAP1 000029d9: PUSH4 0xa16184f6 000029de: SWAP1 000029df: PUSH2 0x1102 000029e2: SWAP1 000029e3: PUSH1 0x00 000029e5: SWAP1 000029e6: DUP7 000029e7: SWAP1 000029e8: PUSH1 0x04 000029ea: ADD 000029eb: PUSH2 0x55c8 000029ee: JUMP 000029ef: JUMPDEST 000029f0: PUSH2 0x29f7 000029f3: PUSH2 0x3ad6 000029f6: JUMP 000029f7: JUMPDEST 000029f8: PUSH2 0x29ff 000029fb: PUSH2 0x3ad6 000029fe: JUMP 000029ff: JUMPDEST 00002a00: PUSH1 0x40 00002a02: MLOAD 00002a03: PUSH32 0xd933f84400000000000000000000000000000000000000000000000000000000 00002a24: DUP2 00002a25: MSTORE 00002a26: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00002a3b: SWAP1 00002a3c: PUSH4 0xd933f844 00002a41: SWAP1 00002a42: PUSH2 0x2a52 00002a45: SWAP1 00002a46: PUSH1 0x00 00002a48: SWAP1 00002a49: DUP8 00002a4a: SWAP1 00002a4b: PUSH1 0x04 00002a4d: ADD 00002a4e: PUSH2 0x5550 00002a51: JUMP 00002a52: JUMPDEST 00002a53: PUSH1 0x40 00002a55: DUP1 00002a56: MLOAD 00002a57: DUP1 00002a58: DUP4 00002a59: SUB 00002a5a: DUP2 00002a5b: DUP7 00002a5c: DUP1 00002a5d: EXTCODESIZE 00002a5e: ISZERO 00002a5f: DUP1 00002a60: ISZERO 00002a61: PUSH2 0x2a69 00002a64: JUMPI 00002a65: PUSH1 0x00 00002a67: DUP1 00002a68: REVERT 00002a69: JUMPDEST 00002a6a: POP 00002a6b: GAS 00002a6c: DELEGATECALL 00002a6d: ISZERO 00002a6e: DUP1 00002a6f: ISZERO 00002a70: PUSH2 0x2a7d 00002a73: JUMPI 00002a74: RETURNDATASIZE 00002a75: PUSH1 0x00 00002a77: DUP1 00002a78: RETURNDATACOPY 00002a79: RETURNDATASIZE 00002a7a: PUSH1 0x00 00002a7c: REVERT 00002a7d: JUMPDEST 00002a7e: POP 00002a7f: POP 00002a80: POP 00002a81: POP 00002a82: PUSH1 0x40 00002a84: MLOAD 00002a85: RETURNDATASIZE 00002a86: PUSH1 0x1f 00002a88: NOT 00002a89: PUSH1 0x1f 00002a8b: DUP3 00002a8c: ADD 00002a8d: AND 00002a8e: DUP3 00002a8f: ADD 00002a90: DUP1 00002a91: PUSH1 0x40 00002a93: MSTORE 00002a94: POP 00002a95: PUSH2 0x2aa1 00002a98: SWAP2 00002a99: SWAP1 00002a9a: DUP2 00002a9b: ADD 00002a9c: SWAP1 00002a9d: PUSH2 0x4886 00002aa0: JUMP 00002aa1: JUMPDEST 00002aa2: SWAP1 00002aa3: SWAP5 00002aa4: SWAP1 00002aa5: SWAP4 00002aa6: POP 00002aa7: SWAP2 00002aa8: POP 00002aa9: POP 00002aaa: JUMP 00002aab: JUMPDEST 00002aac: PUSH2 0x2ab3 00002aaf: PUSH2 0x2546 00002ab2: JUMP 00002ab3: JUMPDEST 00002ab4: PUSH2 0x2acf 00002ab7: JUMPI 00002ab8: PUSH1 0x40 00002aba: MLOAD 00002abb: PUSH3 0x461bcd 00002abf: PUSH1 0xe5 00002ac1: SHL 00002ac2: DUP2 00002ac3: MSTORE 00002ac4: PUSH1 0x04 00002ac6: ADD 00002ac7: PUSH2 0x0d67 00002aca: SWAP1 00002acb: PUSH2 0x5302 00002ace: JUMP 00002acf: JUMPDEST 00002ad0: PUSH1 0x13 00002ad2: SLOAD 00002ad3: PUSH1 0x01 00002ad5: PUSH1 0xa0 00002ad7: SHL 00002ad8: SWAP1 00002ad9: DIV 00002ada: PUSH1 0xff 00002adc: AND 00002add: PUSH2 0x2af8 00002ae0: JUMPI 00002ae1: PUSH1 0x40 00002ae3: MLOAD 00002ae4: PUSH3 0x461bcd 00002ae8: PUSH1 0xe5 00002aea: SHL 00002aeb: DUP2 00002aec: MSTORE 00002aed: PUSH1 0x04 00002aef: ADD 00002af0: PUSH2 0x0d67 00002af3: SWAP1 00002af4: PUSH2 0x5312 00002af7: JUMP 00002af8: JUMPDEST 00002af9: PUSH1 0x13 00002afb: DUP1 00002afc: SLOAD 00002afd: PUSH1 0xff 00002aff: PUSH1 0xa0 00002b01: SHL 00002b02: NOT 00002b03: AND 00002b04: SWAP1 00002b05: SSTORE 00002b06: PUSH1 0x40 00002b08: MLOAD 00002b09: PUSH32 0x54dd351600000000000000000000000000000000000000000000000000000000 00002b2a: DUP2 00002b2b: MSTORE 00002b2c: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 00002b41: SWAP1 00002b42: PUSH4 0x54dd3516 00002b47: SWAP1 00002b48: PUSH2 0x0df9 00002b4b: SWAP1 00002b4c: PUSH1 0x00 00002b4e: SWAP1 00002b4f: DUP6 00002b50: SWAP1 00002b51: PUSH1 0x04 00002b53: ADD 00002b54: PUSH2 0x5542 00002b57: JUMP 00002b58: JUMPDEST 00002b59: PUSH1 0x40 00002b5b: MLOAD 00002b5c: PUSH32 0x4a451be200000000000000000000000000000000000000000000000000000000 00002b7d: DUP2 00002b7e: MSTORE 00002b7f: PUSH1 0x00 00002b81: SWAP1 00002b82: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00002b97: SWAP1 00002b98: PUSH4 0x4a451be2 00002b9d: SWAP1 00002b9e: PUSH2 0x16cc 00002ba1: SWAP1 00002ba2: DUP5 00002ba3: SWAP1 00002ba4: PUSH1 0x04 00002ba6: ADD 00002ba7: PUSH2 0x53bd 00002baa: JUMP 00002bab: JUMPDEST 00002bac: PUSH2 0x2bb3 00002baf: PUSH2 0x3ad6 00002bb2: JUMP 00002bb3: JUMPDEST 00002bb4: PUSH1 0x40 00002bb6: MLOAD 00002bb7: PUSH32 0x8339c50f00000000000000000000000000000000000000000000000000000000 00002bd8: DUP2 00002bd9: MSTORE 00002bda: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00002bef: SWAP1 00002bf0: PUSH4 0x8339c50f 00002bf5: SWAP1 00002bf6: PUSH2 0x1e4e 00002bf9: SWAP1 00002bfa: PUSH1 0x00 00002bfc: SWAP1 00002bfd: PUSH1 0x04 00002bff: ADD 00002c00: PUSH2 0x53bd 00002c03: JUMP 00002c04: JUMPDEST 00002c05: PUSH2 0x2c0c 00002c08: PUSH2 0x3abf 00002c0b: JUMP 00002c0c: JUMPDEST 00002c0d: PUSH1 0x40 00002c0f: MLOAD 00002c10: PUSH32 0x634c50ce00000000000000000000000000000000000000000000000000000000 00002c31: DUP2 00002c32: MSTORE 00002c33: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00002c48: SWAP1 00002c49: PUSH4 0x634c50ce 00002c4e: SWAP1 00002c4f: PUSH2 0x2c61 00002c52: SWAP1 00002c53: PUSH1 0x00 00002c55: SWAP1 00002c56: DUP8 00002c57: SWAP1 00002c58: DUP8 00002c59: SWAP1 00002c5a: PUSH1 0x04 00002c5c: ADD 00002c5d: PUSH2 0x556b 00002c60: JUMP 00002c61: JUMPDEST 00002c62: PUSH1 0x40 00002c64: DUP1 00002c65: MLOAD 00002c66: DUP1 00002c67: DUP4 00002c68: SUB 00002c69: DUP2 00002c6a: DUP7 00002c6b: DUP1 00002c6c: EXTCODESIZE 00002c6d: ISZERO 00002c6e: DUP1 00002c6f: ISZERO 00002c70: PUSH2 0x2c78 00002c73: JUMPI 00002c74: PUSH1 0x00 00002c76: DUP1 00002c77: REVERT 00002c78: JUMPDEST 00002c79: POP 00002c7a: GAS 00002c7b: DELEGATECALL 00002c7c: ISZERO 00002c7d: DUP1 00002c7e: ISZERO 00002c7f: PUSH2 0x2c8c 00002c82: JUMPI 00002c83: RETURNDATASIZE 00002c84: PUSH1 0x00 00002c86: DUP1 00002c87: RETURNDATACOPY 00002c88: RETURNDATASIZE 00002c89: PUSH1 0x00 00002c8b: REVERT 00002c8c: JUMPDEST 00002c8d: POP 00002c8e: POP 00002c8f: POP 00002c90: POP 00002c91: PUSH1 0x40 00002c93: MLOAD 00002c94: RETURNDATASIZE 00002c95: PUSH1 0x1f 00002c97: NOT 00002c98: PUSH1 0x1f 00002c9a: DUP3 00002c9b: ADD 00002c9c: AND 00002c9d: DUP3 00002c9e: ADD 00002c9f: DUP1 00002ca0: PUSH1 0x40 00002ca2: MSTORE 00002ca3: POP 00002ca4: PUSH2 0x1b46 00002ca7: SWAP2 00002ca8: SWAP1 00002ca9: DUP2 00002caa: ADD 00002cab: SWAP1 00002cac: PUSH2 0x4a41 00002caf: JUMP 00002cb0: JUMPDEST 00002cb1: PUSH2 0x2cb8 00002cb4: PUSH2 0x3abf 00002cb7: JUMP 00002cb8: JUMPDEST 00002cb9: PUSH1 0x40 00002cbb: MLOAD 00002cbc: PUSH32 0x055369d700000000000000000000000000000000000000000000000000000000 00002cdd: DUP2 00002cde: MSTORE 00002cdf: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00002cf4: SWAP1 00002cf5: PUSH4 0x055369d7 00002cfa: SWAP1 00002cfb: PUSH2 0x2d0b 00002cfe: SWAP1 00002cff: PUSH1 0x00 00002d01: SWAP1 00002d02: DUP7 00002d03: SWAP1 00002d04: PUSH1 0x04 00002d06: ADD 00002d07: PUSH2 0x55c8 00002d0a: JUMP 00002d0b: JUMPDEST 00002d0c: PUSH1 0x40 00002d0e: DUP1 00002d0f: MLOAD 00002d10: DUP1 00002d11: DUP4 00002d12: SUB 00002d13: DUP2 00002d14: DUP7 00002d15: DUP1 00002d16: EXTCODESIZE 00002d17: ISZERO 00002d18: DUP1 00002d19: ISZERO 00002d1a: PUSH2 0x2d22 00002d1d: JUMPI 00002d1e: PUSH1 0x00 00002d20: DUP1 00002d21: REVERT 00002d22: JUMPDEST 00002d23: POP 00002d24: GAS 00002d25: DELEGATECALL 00002d26: ISZERO 00002d27: DUP1 00002d28: ISZERO 00002d29: PUSH2 0x2d36 00002d2c: JUMPI 00002d2d: RETURNDATASIZE 00002d2e: PUSH1 0x00 00002d30: DUP1 00002d31: RETURNDATACOPY 00002d32: RETURNDATASIZE 00002d33: PUSH1 0x00 00002d35: REVERT 00002d36: JUMPDEST 00002d37: POP 00002d38: POP 00002d39: POP 00002d3a: POP 00002d3b: PUSH1 0x40 00002d3d: MLOAD 00002d3e: RETURNDATASIZE 00002d3f: PUSH1 0x1f 00002d41: NOT 00002d42: PUSH1 0x1f 00002d44: DUP3 00002d45: ADD 00002d46: AND 00002d47: DUP3 00002d48: ADD 00002d49: DUP1 00002d4a: PUSH1 0x40 00002d4c: MSTORE 00002d4d: POP 00002d4e: PUSH2 0x0c96 00002d51: SWAP2 00002d52: SWAP1 00002d53: DUP2 00002d54: ADD 00002d55: SWAP1 00002d56: PUSH2 0x4a23 00002d59: JUMP 00002d5a: JUMPDEST 00002d5b: PUSH2 0x2d62 00002d5e: PUSH2 0x3ad6 00002d61: JUMP 00002d62: JUMPDEST 00002d63: PUSH2 0x2d6a 00002d66: PUSH2 0x3abf 00002d69: JUMP 00002d6a: JUMPDEST 00002d6b: POP 00002d6c: PUSH1 0x40 00002d6e: DUP1 00002d6f: MLOAD 00002d70: DUP1 00002d71: DUP3 00002d72: ADD 00002d73: DUP3 00002d74: MSTORE 00002d75: PUSH1 0x00 00002d77: DUP1 00002d78: DUP3 00002d79: MSTORE 00002d7a: PUSH1 0x20 00002d7c: DUP3 00002d7d: ADD 00002d7e: DUP2 00002d7f: SWAP1 00002d80: MSTORE 00002d81: SWAP2 00002d82: MLOAD 00002d83: PUSH32 0xfef3d3cb00000000000000000000000000000000000000000000000000000000 00002da4: DUP2 00002da5: MSTORE 00002da6: SWAP1 00002da7: SWAP2 00002da8: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00002dbd: SWAP2 00002dbe: PUSH4 0xfef3d3cb 00002dc3: SWAP2 00002dc4: PUSH2 0x2dd5 00002dc7: SWAP2 00002dc8: DUP6 00002dc9: SWAP1 00002dca: DUP10 00002dcb: SWAP1 00002dcc: DUP10 00002dcd: SWAP1 00002dce: PUSH1 0x04 00002dd0: ADD 00002dd1: PUSH2 0x5593 00002dd4: JUMP 00002dd5: JUMPDEST 00002dd6: PUSH1 0x20 00002dd8: PUSH1 0x40 00002dda: MLOAD 00002ddb: DUP1 00002ddc: DUP4 00002ddd: SUB 00002dde: DUP2 00002ddf: DUP7 00002de0: DUP1 00002de1: EXTCODESIZE 00002de2: ISZERO 00002de3: DUP1 00002de4: ISZERO 00002de5: PUSH2 0x2ded 00002de8: JUMPI 00002de9: PUSH1 0x00 00002deb: DUP1 00002dec: REVERT 00002ded: JUMPDEST 00002dee: POP 00002def: GAS 00002df0: DELEGATECALL 00002df1: ISZERO 00002df2: DUP1 00002df3: ISZERO 00002df4: PUSH2 0x2e01 00002df7: JUMPI 00002df8: RETURNDATASIZE 00002df9: PUSH1 0x00 00002dfb: DUP1 00002dfc: RETURNDATACOPY 00002dfd: RETURNDATASIZE 00002dfe: PUSH1 0x00 00002e00: REVERT 00002e01: JUMPDEST 00002e02: POP 00002e03: POP 00002e04: POP 00002e05: POP 00002e06: PUSH1 0x40 00002e08: MLOAD 00002e09: RETURNDATASIZE 00002e0a: PUSH1 0x1f 00002e0c: NOT 00002e0d: PUSH1 0x1f 00002e0f: DUP3 00002e10: ADD 00002e11: AND 00002e12: DUP3 00002e13: ADD 00002e14: DUP1 00002e15: PUSH1 0x40 00002e17: MSTORE 00002e18: POP 00002e19: PUSH2 0x2e25 00002e1c: SWAP2 00002e1d: SWAP1 00002e1e: DUP2 00002e1f: ADD 00002e20: SWAP1 00002e21: PUSH2 0x4868 00002e24: JUMP 00002e25: JUMPDEST 00002e26: SWAP5 00002e27: SWAP4 00002e28: POP 00002e29: POP 00002e2a: POP 00002e2b: POP 00002e2c: JUMP 00002e2d: JUMPDEST 00002e2e: PUSH2 0x2e35 00002e31: PUSH2 0x3abf 00002e34: JUMP 00002e35: JUMPDEST 00002e36: PUSH1 0x40 00002e38: MLOAD 00002e39: PUSH32 0xd2c9ee0000000000000000000000000000000000000000000000000000000000 00002e5a: DUP2 00002e5b: MSTORE 00002e5c: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00002e71: SWAP1 00002e72: PUSH4 0xd2c9ee00 00002e77: SWAP1 00002e78: PUSH2 0x0e9a 00002e7b: SWAP1 00002e7c: PUSH1 0x00 00002e7e: SWAP1 00002e7f: DUP7 00002e80: SWAP1 00002e81: PUSH1 0x04 00002e83: ADD 00002e84: PUSH2 0x55c8 00002e87: JUMP 00002e88: JUMPDEST 00002e89: PUSH2 0x2e90 00002e8c: PUSH2 0x3abf 00002e8f: JUMP 00002e90: JUMPDEST 00002e91: PUSH1 0x40 00002e93: MLOAD 00002e94: PUSH32 0x485df94f00000000000000000000000000000000000000000000000000000000 00002eb5: DUP2 00002eb6: MSTORE 00002eb7: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00002ecc: SWAP1 00002ecd: PUSH4 0x485df94f 00002ed2: SWAP1 00002ed3: PUSH2 0x2d0b 00002ed6: SWAP1 00002ed7: PUSH1 0x00 00002ed9: SWAP1 00002eda: DUP7 00002edb: SWAP1 00002edc: PUSH1 0x04 00002ede: ADD 00002edf: PUSH2 0x55c8 00002ee2: JUMP 00002ee3: JUMPDEST 00002ee4: PUSH1 0x40 00002ee6: MLOAD 00002ee7: PUSH32 0x10b9711c00000000000000000000000000000000000000000000000000000000 00002f08: DUP2 00002f09: MSTORE 00002f0a: PUSH1 0x00 00002f0c: SWAP1 00002f0d: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00002f22: SWAP1 00002f23: PUSH4 0x10b9711c 00002f28: SWAP1 00002f29: PUSH2 0x16cc 00002f2c: SWAP1 00002f2d: DUP5 00002f2e: SWAP1 00002f2f: PUSH1 0x04 00002f31: ADD 00002f32: PUSH2 0x53bd 00002f35: JUMP 00002f36: JUMPDEST 00002f37: PUSH2 0x2f3e 00002f3a: PUSH2 0x3ae9 00002f3d: JUMP 00002f3e: JUMPDEST 00002f3f: PUSH1 0x40 00002f41: MLOAD 00002f42: PUSH32 0x4aaee58500000000000000000000000000000000000000000000000000000000 00002f63: DUP2 00002f64: MSTORE 00002f65: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00002f7a: SWAP1 00002f7b: PUSH4 0x4aaee585 00002f80: SWAP1 00002f81: PUSH2 0x1f4e 00002f84: SWAP1 00002f85: PUSH1 0x00 00002f87: SWAP1 00002f88: DUP7 00002f89: SWAP1 00002f8a: PUSH1 0x04 00002f8c: ADD 00002f8d: PUSH2 0x55c8 00002f90: JUMP 00002f91: JUMPDEST 00002f92: PUSH1 0x40 00002f94: MLOAD 00002f95: PUSH32 0x99c4c00900000000000000000000000000000000000000000000000000000000 00002fb6: DUP2 00002fb7: MSTORE 00002fb8: PUSH1 0x00 00002fba: SWAP1 00002fbb: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00002fd0: SWAP1 00002fd1: PUSH4 0x99c4c009 00002fd6: SWAP1 00002fd7: PUSH2 0x2fe8 00002fda: SWAP1 00002fdb: DUP5 00002fdc: SWAP1 00002fdd: DUP8 00002fde: SWAP1 00002fdf: DUP8 00002fe0: SWAP1 00002fe1: PUSH1 0x04 00002fe3: ADD 00002fe4: PUSH2 0x556b 00002fe7: JUMP 00002fe8: JUMPDEST 00002fe9: PUSH1 0x20 00002feb: PUSH1 0x40 00002fed: MLOAD 00002fee: DUP1 00002fef: DUP4 00002ff0: SUB 00002ff1: DUP2 00002ff2: DUP7 00002ff3: DUP1 00002ff4: EXTCODESIZE 00002ff5: ISZERO 00002ff6: DUP1 00002ff7: ISZERO 00002ff8: PUSH2 0x3000 00002ffb: JUMPI 00002ffc: PUSH1 0x00 00002ffe: DUP1 00002fff: REVERT 00003000: JUMPDEST 00003001: POP 00003002: GAS 00003003: DELEGATECALL 00003004: ISZERO 00003005: DUP1 00003006: ISZERO 00003007: PUSH2 0x3014 0000300a: JUMPI 0000300b: RETURNDATASIZE 0000300c: PUSH1 0x00 0000300e: DUP1 0000300f: RETURNDATACOPY 00003010: RETURNDATASIZE 00003011: PUSH1 0x00 00003013: REVERT 00003014: JUMPDEST 00003015: POP 00003016: POP 00003017: POP 00003018: POP 00003019: PUSH1 0x40 0000301b: MLOAD 0000301c: RETURNDATASIZE 0000301d: PUSH1 0x1f 0000301f: NOT 00003020: PUSH1 0x1f 00003022: DUP3 00003023: ADD 00003024: AND 00003025: DUP3 00003026: ADD 00003027: DUP1 00003028: PUSH1 0x40 0000302a: MSTORE 0000302b: POP 0000302c: PUSH2 0x1b46 0000302f: SWAP2 00003030: SWAP1 00003031: DUP2 00003032: ADD 00003033: SWAP1 00003034: PUSH2 0x4a7d 00003037: JUMP 00003038: JUMPDEST 00003039: PUSH1 0x40 0000303b: MLOAD 0000303c: PUSH32 0x4af71ebc00000000000000000000000000000000000000000000000000000000 0000305d: DUP2 0000305e: MSTORE 0000305f: PUSH1 0x00 00003061: SWAP1 00003062: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00003077: SWAP1 00003078: PUSH4 0x4af71ebc 0000307d: SWAP1 0000307e: PUSH2 0x308d 00003081: SWAP1 00003082: DUP5 00003083: SWAP1 00003084: DUP7 00003085: SWAP1 00003086: PUSH1 0x04 00003088: ADD 00003089: PUSH2 0x5550 0000308c: JUMP 0000308d: JUMPDEST 0000308e: PUSH1 0x20 00003090: PUSH1 0x40 00003092: MLOAD 00003093: DUP1 00003094: DUP4 00003095: SUB 00003096: DUP2 00003097: DUP7 00003098: DUP1 00003099: EXTCODESIZE 0000309a: ISZERO 0000309b: DUP1 0000309c: ISZERO 0000309d: PUSH2 0x30a5 000030a0: JUMPI 000030a1: PUSH1 0x00 000030a3: DUP1 000030a4: REVERT 000030a5: JUMPDEST 000030a6: POP 000030a7: GAS 000030a8: DELEGATECALL 000030a9: ISZERO 000030aa: DUP1 000030ab: ISZERO 000030ac: PUSH2 0x30b9 000030af: JUMPI 000030b0: RETURNDATASIZE 000030b1: PUSH1 0x00 000030b3: DUP1 000030b4: RETURNDATACOPY 000030b5: RETURNDATASIZE 000030b6: PUSH1 0x00 000030b8: REVERT 000030b9: JUMPDEST 000030ba: POP 000030bb: POP 000030bc: POP 000030bd: POP 000030be: PUSH1 0x40 000030c0: MLOAD 000030c1: RETURNDATASIZE 000030c2: PUSH1 0x1f 000030c4: NOT 000030c5: PUSH1 0x1f 000030c7: DUP3 000030c8: ADD 000030c9: AND 000030ca: DUP3 000030cb: ADD 000030cc: DUP1 000030cd: PUSH1 0x40 000030cf: MSTORE 000030d0: POP 000030d1: PUSH2 0x0c96 000030d4: SWAP2 000030d5: SWAP1 000030d6: DUP2 000030d7: ADD 000030d8: SWAP1 000030d9: PUSH2 0x482c 000030dc: JUMP 000030dd: JUMPDEST 000030de: PUSH2 0x30e5 000030e1: PUSH2 0x3ad6 000030e4: JUMP 000030e5: JUMPDEST 000030e6: PUSH1 0x40 000030e8: MLOAD 000030e9: PUSH32 0x041f229400000000000000000000000000000000000000000000000000000000 0000310a: DUP2 0000310b: MSTORE 0000310c: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00003121: SWAP1 00003122: PUSH4 0x041f2294 00003127: SWAP1 00003128: PUSH2 0x1102 0000312b: SWAP1 0000312c: PUSH1 0x00 0000312e: SWAP1 0000312f: DUP7 00003130: SWAP1 00003131: PUSH1 0x04 00003133: ADD 00003134: PUSH2 0x55c8 00003137: JUMP 00003138: JUMPDEST 00003139: PUSH2 0x3140 0000313c: PUSH2 0x3ad6 0000313f: JUMP 00003140: JUMPDEST 00003141: PUSH1 0x40 00003143: MLOAD 00003144: PUSH32 0x22ef216100000000000000000000000000000000000000000000000000000000 00003165: DUP2 00003166: MSTORE 00003167: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 0000317c: SWAP1 0000317d: PUSH4 0x22ef2161 00003182: SWAP1 00003183: PUSH2 0x1e4e 00003186: SWAP1 00003187: PUSH1 0x00 00003189: SWAP1 0000318a: PUSH1 0x04 0000318c: ADD 0000318d: PUSH2 0x53bd 00003190: JUMP 00003191: JUMPDEST 00003192: PUSH2 0x3199 00003195: PUSH2 0x2546 00003198: JUMP 00003199: JUMPDEST 0000319a: PUSH2 0x31b5 0000319d: JUMPI 0000319e: PUSH1 0x40 000031a0: MLOAD 000031a1: PUSH3 0x461bcd 000031a5: PUSH1 0xe5 000031a7: SHL 000031a8: DUP2 000031a9: MSTORE 000031aa: PUSH1 0x04 000031ac: ADD 000031ad: PUSH2 0x0d67 000031b0: SWAP1 000031b1: PUSH2 0x5302 000031b4: JUMP 000031b5: JUMPDEST 000031b6: PUSH1 0x13 000031b8: SLOAD 000031b9: PUSH1 0x01 000031bb: PUSH1 0xa0 000031bd: SHL 000031be: SWAP1 000031bf: DIV 000031c0: PUSH1 0xff 000031c2: AND 000031c3: PUSH2 0x31de 000031c6: JUMPI 000031c7: PUSH1 0x40 000031c9: MLOAD 000031ca: PUSH3 0x461bcd 000031ce: PUSH1 0xe5 000031d0: SHL 000031d1: DUP2 000031d2: MSTORE 000031d3: PUSH1 0x04 000031d5: ADD 000031d6: PUSH2 0x0d67 000031d9: SWAP1 000031da: PUSH2 0x5312 000031dd: JUMP 000031de: JUMPDEST 000031df: PUSH1 0x13 000031e1: DUP1 000031e2: SLOAD 000031e3: PUSH1 0xff 000031e5: PUSH1 0xa0 000031e7: SHL 000031e8: NOT 000031e9: AND 000031ea: SWAP1 000031eb: SSTORE 000031ec: PUSH1 0x40 000031ee: MLOAD 000031ef: PUSH32 0x5cb90a6a00000000000000000000000000000000000000000000000000000000 00003210: DUP2 00003211: MSTORE 00003212: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 00003227: SWAP1 00003228: PUSH4 0x5cb90a6a 0000322d: SWAP1 0000322e: PUSH2 0x0df9 00003231: SWAP1 00003232: PUSH1 0x00 00003234: SWAP1 00003235: DUP6 00003236: SWAP1 00003237: PUSH1 0x04 00003239: ADD 0000323a: PUSH2 0x5527 0000323d: JUMP 0000323e: JUMPDEST 0000323f: PUSH2 0x3246 00003242: PUSH2 0x2546 00003245: JUMP 00003246: JUMPDEST 00003247: PUSH2 0x3262 0000324a: JUMPI 0000324b: PUSH1 0x40 0000324d: MLOAD 0000324e: PUSH3 0x461bcd 00003252: PUSH1 0xe5 00003254: SHL 00003255: DUP2 00003256: MSTORE 00003257: PUSH1 0x04 00003259: ADD 0000325a: PUSH2 0x0d67 0000325d: SWAP1 0000325e: PUSH2 0x5302 00003261: JUMP 00003262: JUMPDEST 00003263: PUSH1 0x13 00003265: SLOAD 00003266: PUSH1 0x01 00003268: PUSH1 0xa0 0000326a: SHL 0000326b: SWAP1 0000326c: DIV 0000326d: PUSH1 0xff 0000326f: AND 00003270: PUSH2 0x328b 00003273: JUMPI 00003274: PUSH1 0x40 00003276: MLOAD 00003277: PUSH3 0x461bcd 0000327b: PUSH1 0xe5 0000327d: SHL 0000327e: DUP2 0000327f: MSTORE 00003280: PUSH1 0x04 00003282: ADD 00003283: PUSH2 0x0d67 00003286: SWAP1 00003287: PUSH2 0x5312 0000328a: JUMP 0000328b: JUMPDEST 0000328c: PUSH1 0x13 0000328e: DUP1 0000328f: SLOAD 00003290: PUSH1 0xff 00003292: PUSH1 0xa0 00003294: SHL 00003295: NOT 00003296: AND 00003297: SWAP1 00003298: SSTORE 00003299: PUSH1 0x40 0000329b: MLOAD 0000329c: PUSH32 0x6928084500000000000000000000000000000000000000000000000000000000 000032bd: DUP2 000032be: MSTORE 000032bf: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 000032d4: SWAP1 000032d5: PUSH4 0x69280845 000032da: SWAP1 000032db: PUSH2 0x0f98 000032de: SWAP1 000032df: PUSH1 0x00 000032e1: SWAP1 000032e2: DUP7 000032e3: SWAP1 000032e4: DUP7 000032e5: SWAP1 000032e6: PUSH1 0x04 000032e8: ADD 000032e9: PUSH2 0x5634 000032ec: JUMP 000032ed: JUMPDEST 000032ee: PUSH2 0x32f5 000032f1: PUSH2 0x2546 000032f4: JUMP 000032f5: JUMPDEST 000032f6: PUSH2 0x3311 000032f9: JUMPI 000032fa: PUSH1 0x40 000032fc: MLOAD 000032fd: PUSH3 0x461bcd 00003301: PUSH1 0xe5 00003303: SHL 00003304: DUP2 00003305: MSTORE 00003306: PUSH1 0x04 00003308: ADD 00003309: PUSH2 0x0d67 0000330c: SWAP1 0000330d: PUSH2 0x5302 00003310: JUMP 00003311: JUMPDEST 00003312: PUSH1 0x13 00003314: SLOAD 00003315: PUSH1 0x01 00003317: PUSH1 0xa0 00003319: SHL 0000331a: SWAP1 0000331b: DIV 0000331c: PUSH1 0xff 0000331e: AND 0000331f: PUSH2 0x333a 00003322: JUMPI 00003323: PUSH1 0x40 00003325: MLOAD 00003326: PUSH3 0x461bcd 0000332a: PUSH1 0xe5 0000332c: SHL 0000332d: DUP2 0000332e: MSTORE 0000332f: PUSH1 0x04 00003331: ADD 00003332: PUSH2 0x0d67 00003335: SWAP1 00003336: PUSH2 0x5312 00003339: JUMP 0000333a: JUMPDEST 0000333b: PUSH1 0x13 0000333d: DUP1 0000333e: SLOAD 0000333f: PUSH1 0xff 00003341: PUSH1 0xa0 00003343: SHL 00003344: NOT 00003345: AND 00003346: SWAP1 00003347: SSTORE 00003348: PUSH1 0x40 0000334a: MLOAD 0000334b: PUSH32 0x8c5dabd100000000000000000000000000000000000000000000000000000000 0000336c: DUP2 0000336d: MSTORE 0000336e: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 00003383: SWAP1 00003384: PUSH4 0x8c5dabd1 00003389: SWAP1 0000338a: PUSH2 0x0f98 0000338d: SWAP1 0000338e: PUSH1 0x00 00003390: SWAP1 00003391: DUP7 00003392: SWAP1 00003393: DUP7 00003394: SWAP1 00003395: PUSH1 0x04 00003397: ADD 00003398: PUSH2 0x5619 0000339b: JUMP 0000339c: JUMPDEST 0000339d: PUSH2 0x33a4 000033a0: PUSH2 0x3b8a 000033a3: JUMP 000033a4: JUMPDEST 000033a5: PUSH1 0x40 000033a7: MLOAD 000033a8: PUSH32 0x8b19f9e800000000000000000000000000000000000000000000000000000000 000033c9: DUP2 000033ca: MSTORE 000033cb: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 000033e0: SWAP1 000033e1: PUSH4 0x8b19f9e8 000033e6: SWAP1 000033e7: PUSH2 0x33f5 000033ea: SWAP1 000033eb: PUSH1 0x00 000033ed: SWAP1 000033ee: PUSH1 0x04 000033f0: ADD 000033f1: PUSH2 0x53bd 000033f4: JUMP 000033f5: JUMPDEST 000033f6: PUSH1 0xe0 000033f8: PUSH1 0x40 000033fa: MLOAD 000033fb: DUP1 000033fc: DUP4 000033fd: SUB 000033fe: DUP2 000033ff: DUP7 00003400: DUP1 00003401: EXTCODESIZE 00003402: ISZERO 00003403: DUP1 00003404: ISZERO 00003405: PUSH2 0x340d 00003408: JUMPI 00003409: PUSH1 0x00 0000340b: DUP1 0000340c: REVERT 0000340d: JUMPDEST 0000340e: POP 0000340f: GAS 00003410: DELEGATECALL 00003411: ISZERO 00003412: DUP1 00003413: ISZERO 00003414: PUSH2 0x3421 00003417: JUMPI 00003418: RETURNDATASIZE 00003419: PUSH1 0x00 0000341b: DUP1 0000341c: RETURNDATACOPY 0000341d: RETURNDATASIZE 0000341e: PUSH1 0x00 00003420: REVERT 00003421: JUMPDEST 00003422: POP 00003423: POP 00003424: POP 00003425: POP 00003426: PUSH1 0x40 00003428: MLOAD 00003429: RETURNDATASIZE 0000342a: PUSH1 0x1f 0000342c: NOT 0000342d: PUSH1 0x1f 0000342f: DUP3 00003430: ADD 00003431: AND 00003432: DUP3 00003433: ADD 00003434: DUP1 00003435: PUSH1 0x40 00003437: MSTORE 00003438: POP 00003439: PUSH2 0x171c 0000343c: SWAP2 0000343d: SWAP1 0000343e: DUP2 0000343f: ADD 00003440: SWAP1 00003441: PUSH2 0x4a05 00003444: JUMP 00003445: JUMPDEST 00003446: PUSH2 0x344d 00003449: PUSH2 0x3b09 0000344c: JUMP 0000344d: JUMPDEST 0000344e: PUSH1 0x40 00003450: MLOAD 00003451: PUSH32 0x0b48557f00000000000000000000000000000000000000000000000000000000 00003472: DUP2 00003473: MSTORE 00003474: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00003489: SWAP1 0000348a: PUSH4 0x0b48557f 0000348f: SWAP1 00003490: PUSH2 0x34a0 00003493: SWAP1 00003494: PUSH1 0x00 00003496: SWAP1 00003497: DUP7 00003498: SWAP1 00003499: PUSH1 0x04 0000349b: ADD 0000349c: PUSH2 0x55c8 0000349f: JUMP 000034a0: JUMPDEST 000034a1: PUSH2 0x0200 000034a4: PUSH1 0x40 000034a6: MLOAD 000034a7: DUP1 000034a8: DUP4 000034a9: SUB 000034aa: DUP2 000034ab: DUP7 000034ac: DUP1 000034ad: EXTCODESIZE 000034ae: ISZERO 000034af: DUP1 000034b0: ISZERO 000034b1: PUSH2 0x34b9 000034b4: JUMPI 000034b5: PUSH1 0x00 000034b7: DUP1 000034b8: REVERT 000034b9: JUMPDEST 000034ba: POP 000034bb: GAS 000034bc: DELEGATECALL 000034bd: ISZERO 000034be: DUP1 000034bf: ISZERO 000034c0: PUSH2 0x34cd 000034c3: JUMPI 000034c4: RETURNDATASIZE 000034c5: PUSH1 0x00 000034c7: DUP1 000034c8: RETURNDATACOPY 000034c9: RETURNDATASIZE 000034ca: PUSH1 0x00 000034cc: REVERT 000034cd: JUMPDEST 000034ce: POP 000034cf: POP 000034d0: POP 000034d1: POP 000034d2: PUSH1 0x40 000034d4: MLOAD 000034d5: RETURNDATASIZE 000034d6: PUSH1 0x1f 000034d8: NOT 000034d9: PUSH1 0x1f 000034db: DUP3 000034dc: ADD 000034dd: AND 000034de: DUP3 000034df: ADD 000034e0: DUP1 000034e1: PUSH1 0x40 000034e3: MSTORE 000034e4: POP 000034e5: PUSH2 0x0c96 000034e8: SWAP2 000034e9: SWAP1 000034ea: DUP2 000034eb: ADD 000034ec: SWAP1 000034ed: PUSH2 0x496f 000034f0: JUMP 000034f1: JUMPDEST 000034f2: PUSH2 0x34f9 000034f5: PUSH2 0x2546 000034f8: JUMP 000034f9: JUMPDEST 000034fa: PUSH2 0x3515 000034fd: JUMPI 000034fe: PUSH1 0x40 00003500: MLOAD 00003501: PUSH3 0x461bcd 00003505: PUSH1 0xe5 00003507: SHL 00003508: DUP2 00003509: MSTORE 0000350a: PUSH1 0x04 0000350c: ADD 0000350d: PUSH2 0x0d67 00003510: SWAP1 00003511: PUSH2 0x5302 00003514: JUMP 00003515: JUMPDEST 00003516: PUSH1 0x13 00003518: SLOAD 00003519: PUSH1 0x01 0000351b: PUSH1 0xa0 0000351d: SHL 0000351e: SWAP1 0000351f: DIV 00003520: PUSH1 0xff 00003522: AND 00003523: PUSH2 0x353e 00003526: JUMPI 00003527: PUSH1 0x40 00003529: MLOAD 0000352a: PUSH3 0x461bcd 0000352e: PUSH1 0xe5 00003530: SHL 00003531: DUP2 00003532: MSTORE 00003533: PUSH1 0x04 00003535: ADD 00003536: PUSH2 0x0d67 00003539: SWAP1 0000353a: PUSH2 0x5312 0000353d: JUMP 0000353e: JUMPDEST 0000353f: PUSH1 0x13 00003541: DUP1 00003542: SLOAD 00003543: PUSH1 0xff 00003545: PUSH1 0xa0 00003547: SHL 00003548: NOT 00003549: AND 0000354a: SWAP1 0000354b: SSTORE 0000354c: PUSH1 0x40 0000354e: MLOAD 0000354f: PUSH32 0x3c0c9ddc00000000000000000000000000000000000000000000000000000000 00003570: DUP2 00003571: MSTORE 00003572: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 00003587: SWAP1 00003588: PUSH4 0x3c0c9ddc 0000358d: SWAP1 0000358e: PUSH2 0x0f98 00003591: SWAP1 00003592: PUSH1 0x00 00003594: SWAP1 00003595: DUP7 00003596: SWAP1 00003597: DUP7 00003598: SWAP1 00003599: PUSH1 0x04 0000359b: ADD 0000359c: PUSH2 0x540e 0000359f: JUMP 000035a0: JUMPDEST 000035a1: PUSH2 0x35a8 000035a4: PUSH2 0x3ad6 000035a7: JUMP 000035a8: JUMPDEST 000035a9: PUSH1 0x40 000035ab: MLOAD 000035ac: PUSH32 0xdb32b3ca00000000000000000000000000000000000000000000000000000000 000035cd: DUP2 000035ce: MSTORE 000035cf: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 000035e4: SWAP1 000035e5: PUSH4 0xdb32b3ca 000035ea: SWAP1 000035eb: PUSH2 0x1102 000035ee: SWAP1 000035ef: PUSH1 0x00 000035f1: SWAP1 000035f2: DUP7 000035f3: SWAP1 000035f4: PUSH1 0x04 000035f6: ADD 000035f7: PUSH2 0x55c8 000035fa: JUMP 000035fb: JUMPDEST 000035fc: PUSH2 0x3603 000035ff: PUSH2 0x2546 00003602: JUMP 00003603: JUMPDEST 00003604: PUSH2 0x361f 00003607: JUMPI 00003608: PUSH1 0x40 0000360a: MLOAD 0000360b: PUSH3 0x461bcd 0000360f: PUSH1 0xe5 00003611: SHL 00003612: DUP2 00003613: MSTORE 00003614: PUSH1 0x04 00003616: ADD 00003617: PUSH2 0x0d67 0000361a: SWAP1 0000361b: PUSH2 0x5302 0000361e: JUMP 0000361f: JUMPDEST 00003620: PUSH1 0x13 00003622: SLOAD 00003623: PUSH1 0x01 00003625: PUSH1 0xa0 00003627: SHL 00003628: SWAP1 00003629: DIV 0000362a: PUSH1 0xff 0000362c: AND 0000362d: PUSH2 0x3648 00003630: JUMPI 00003631: PUSH1 0x40 00003633: MLOAD 00003634: PUSH3 0x461bcd 00003638: PUSH1 0xe5 0000363a: SHL 0000363b: DUP2 0000363c: MSTORE 0000363d: PUSH1 0x04 0000363f: ADD 00003640: PUSH2 0x0d67 00003643: SWAP1 00003644: PUSH2 0x5312 00003647: JUMP 00003648: JUMPDEST 00003649: PUSH1 0x13 0000364b: DUP1 0000364c: SLOAD 0000364d: PUSH1 0xff 0000364f: PUSH1 0xa0 00003651: SHL 00003652: NOT 00003653: AND 00003654: SWAP1 00003655: SSTORE 00003656: PUSH1 0x40 00003658: MLOAD 00003659: PUSH32 0xbc54053f00000000000000000000000000000000000000000000000000000000 0000367a: DUP2 0000367b: MSTORE 0000367c: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 00003691: SWAP1 00003692: PUSH4 0xbc54053f 00003697: SWAP1 00003698: PUSH2 0x36b8 0000369b: SWAP1 0000369c: PUSH1 0x00 0000369e: SWAP1 0000369f: DUP14 000036a0: SWAP1 000036a1: DUP14 000036a2: SWAP1 000036a3: DUP14 000036a4: SWAP1 000036a5: DUP14 000036a6: SWAP1 000036a7: DUP14 000036a8: SWAP1 000036a9: DUP14 000036aa: SWAP1 000036ab: DUP14 000036ac: SWAP1 000036ad: DUP14 000036ae: SWAP1 000036af: DUP14 000036b0: SWAP1 000036b1: PUSH1 0x04 000036b3: ADD 000036b4: PUSH2 0x545e 000036b7: JUMP 000036b8: JUMPDEST 000036b9: PUSH1 0x00 000036bb: PUSH1 0x40 000036bd: MLOAD 000036be: DUP1 000036bf: DUP4 000036c0: SUB 000036c1: DUP2 000036c2: DUP7 000036c3: DUP1 000036c4: EXTCODESIZE 000036c5: ISZERO 000036c6: DUP1 000036c7: ISZERO 000036c8: PUSH2 0x36d0 000036cb: JUMPI 000036cc: PUSH1 0x00 000036ce: DUP1 000036cf: REVERT 000036d0: JUMPDEST 000036d1: POP 000036d2: GAS 000036d3: DELEGATECALL 000036d4: ISZERO 000036d5: DUP1 000036d6: ISZERO 000036d7: PUSH2 0x36e4 000036da: JUMPI 000036db: RETURNDATASIZE 000036dc: PUSH1 0x00 000036de: DUP1 000036df: RETURNDATACOPY 000036e0: RETURNDATASIZE 000036e1: PUSH1 0x00 000036e3: REVERT 000036e4: JUMPDEST 000036e5: POP 000036e6: POP 000036e7: PUSH1 0x13 000036e9: DUP1 000036ea: SLOAD 000036eb: PUSH1 0xff 000036ed: PUSH1 0xa0 000036ef: SHL 000036f0: NOT 000036f1: AND 000036f2: PUSH1 0x01 000036f4: PUSH1 0xa0 000036f6: SHL 000036f7: OR 000036f8: SWAP1 000036f9: SSTORE 000036fa: POP 000036fb: POP 000036fc: POP 000036fd: POP 000036fe: POP 000036ff: POP 00003700: POP 00003701: POP 00003702: POP 00003703: POP 00003704: POP 00003705: JUMP 00003706: JUMPDEST 00003707: PUSH2 0x370e 0000370a: PUSH2 0x2546 0000370d: JUMP 0000370e: JUMPDEST 0000370f: PUSH2 0x372a 00003712: JUMPI 00003713: PUSH1 0x40 00003715: MLOAD 00003716: PUSH3 0x461bcd 0000371a: PUSH1 0xe5 0000371c: SHL 0000371d: DUP2 0000371e: MSTORE 0000371f: PUSH1 0x04 00003721: ADD 00003722: PUSH2 0x0d67 00003725: SWAP1 00003726: PUSH2 0x5302 00003729: JUMP 0000372a: JUMPDEST 0000372b: PUSH1 0x13 0000372d: SLOAD 0000372e: PUSH1 0x01 00003730: PUSH1 0xa0 00003732: SHL 00003733: SWAP1 00003734: DIV 00003735: PUSH1 0xff 00003737: AND 00003738: PUSH2 0x3753 0000373b: JUMPI 0000373c: PUSH1 0x40 0000373e: MLOAD 0000373f: PUSH3 0x461bcd 00003743: PUSH1 0xe5 00003745: SHL 00003746: DUP2 00003747: MSTORE 00003748: PUSH1 0x04 0000374a: ADD 0000374b: PUSH2 0x0d67 0000374e: SWAP1 0000374f: PUSH2 0x5312 00003752: JUMP 00003753: JUMPDEST 00003754: PUSH1 0x13 00003756: DUP1 00003757: SLOAD 00003758: PUSH1 0xff 0000375a: PUSH1 0xa0 0000375c: SHL 0000375d: NOT 0000375e: AND 0000375f: SWAP1 00003760: SSTORE 00003761: PUSH1 0x40 00003763: MLOAD 00003764: PUSH32 0x10c87b0600000000000000000000000000000000000000000000000000000000 00003785: DUP2 00003786: MSTORE 00003787: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 0000379c: SWAP1 0000379d: PUSH4 0x10c87b06 000037a2: SWAP1 000037a3: PUSH2 0x0f98 000037a6: SWAP1 000037a7: PUSH1 0x00 000037a9: SWAP1 000037aa: DUP7 000037ab: SWAP1 000037ac: DUP7 000037ad: SWAP1 000037ae: PUSH1 0x04 000037b0: ADD 000037b1: PUSH2 0x55fe 000037b4: JUMP 000037b5: JUMPDEST 000037b6: PUSH1 0x40 000037b8: MLOAD 000037b9: PUSH32 0x3808f21700000000000000000000000000000000000000000000000000000000 000037da: DUP2 000037db: MSTORE 000037dc: PUSH1 0x00 000037de: SWAP1 000037df: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 000037f4: SWAP1 000037f5: PUSH4 0x3808f217 000037fa: SWAP1 000037fb: PUSH2 0x0c46 000037fe: SWAP1 000037ff: DUP5 00003800: SWAP1 00003801: DUP7 00003802: SWAP1 00003803: PUSH1 0x04 00003805: ADD 00003806: PUSH2 0x53cb 00003809: JUMP 0000380a: JUMPDEST 0000380b: PUSH1 0x40 0000380d: MLOAD 0000380e: PUSH32 0x10f1b88c00000000000000000000000000000000000000000000000000000000 0000382f: DUP2 00003830: MSTORE 00003831: PUSH1 0x00 00003833: SWAP1 00003834: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00003849: SWAP1 0000384a: PUSH4 0x10f1b88c 0000384f: SWAP1 00003850: PUSH2 0x234f 00003853: SWAP1 00003854: DUP5 00003855: SWAP1 00003856: PUSH1 0x04 00003858: ADD 00003859: PUSH2 0x53bd 0000385c: JUMP 0000385d: JUMPDEST 0000385e: PUSH2 0x3865 00003861: PUSH2 0x2546 00003864: JUMP 00003865: JUMPDEST 00003866: PUSH2 0x3881 00003869: JUMPI 0000386a: PUSH1 0x40 0000386c: MLOAD 0000386d: PUSH3 0x461bcd 00003871: PUSH1 0xe5 00003873: SHL 00003874: DUP2 00003875: MSTORE 00003876: PUSH1 0x04 00003878: ADD 00003879: PUSH2 0x0d67 0000387c: SWAP1 0000387d: PUSH2 0x5302 00003880: JUMP 00003881: JUMPDEST 00003882: PUSH1 0x13 00003884: SLOAD 00003885: PUSH1 0x01 00003887: PUSH1 0xa0 00003889: SHL 0000388a: SWAP1 0000388b: DIV 0000388c: PUSH1 0xff 0000388e: AND 0000388f: PUSH2 0x38aa 00003892: JUMPI 00003893: PUSH1 0x40 00003895: MLOAD 00003896: PUSH3 0x461bcd 0000389a: PUSH1 0xe5 0000389c: SHL 0000389d: DUP2 0000389e: MSTORE 0000389f: PUSH1 0x04 000038a1: ADD 000038a2: PUSH2 0x0d67 000038a5: SWAP1 000038a6: PUSH2 0x5312 000038a9: JUMP 000038aa: JUMPDEST 000038ab: PUSH1 0x13 000038ad: DUP1 000038ae: SLOAD 000038af: PUSH1 0xff 000038b1: PUSH1 0xa0 000038b3: SHL 000038b4: NOT 000038b5: AND 000038b6: SWAP1 000038b7: SSTORE 000038b8: PUSH1 0x40 000038ba: MLOAD 000038bb: PUSH32 0xe80f802400000000000000000000000000000000000000000000000000000000 000038dc: DUP2 000038dd: MSTORE 000038de: PUSH20 0x08243969ddd1f038473fe0b56172468a91070616 000038f3: SWAP1 000038f4: PUSH4 0xe80f8024 000038f9: SWAP1 000038fa: PUSH2 0x0f98 000038fd: SWAP1 000038fe: PUSH1 0x00 00003900: SWAP1 00003901: DUP7 00003902: SWAP1 00003903: DUP7 00003904: SWAP1 00003905: PUSH1 0x04 00003907: ADD 00003908: PUSH2 0x540e 0000390b: JUMP 0000390c: JUMPDEST 0000390d: PUSH2 0x3914 00003910: PUSH2 0x2546 00003913: JUMP 00003914: JUMPDEST 00003915: PUSH2 0x3930 00003918: JUMPI 00003919: PUSH1 0x40 0000391b: MLOAD 0000391c: PUSH3 0x461bcd 00003920: PUSH1 0xe5 00003922: SHL 00003923: DUP2 00003924: MSTORE 00003925: PUSH1 0x04 00003927: ADD 00003928: PUSH2 0x0d67 0000392b: SWAP1 0000392c: PUSH2 0x5302 0000392f: JUMP 00003930: JUMPDEST 00003931: PUSH2 0x3939 00003934: DUP2 00003935: PUSH2 0x39fe 00003938: JUMP 00003939: JUMPDEST 0000393a: POP 0000393b: JUMP 0000393c: JUMPDEST 0000393d: PUSH2 0x3944 00003940: PUSH2 0x3ad6 00003943: JUMP 00003944: JUMPDEST 00003945: PUSH2 0x394c 00003948: PUSH2 0x3ad6 0000394b: JUMP 0000394c: JUMPDEST 0000394d: PUSH1 0x40 0000394f: MLOAD 00003950: PUSH32 0xebec2e6c00000000000000000000000000000000000000000000000000000000 00003971: DUP2 00003972: MSTORE 00003973: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 00003988: SWAP1 00003989: PUSH4 0xebec2e6c 0000398e: SWAP1 0000398f: PUSH2 0x1264 00003992: SWAP1 00003993: PUSH1 0x00 00003995: SWAP1 00003996: DUP8 00003997: SWAP1 00003998: PUSH1 0x04 0000399a: ADD 0000399b: PUSH2 0x5550 0000399e: JUMP 0000399f: JUMPDEST 000039a0: PUSH2 0x39a7 000039a3: PUSH2 0x3ad6 000039a6: JUMP 000039a7: JUMPDEST 000039a8: PUSH1 0x40 000039aa: MLOAD 000039ab: PUSH32 0xa335f47a00000000000000000000000000000000000000000000000000000000 000039cc: DUP2 000039cd: MSTORE 000039ce: PUSH20 0xba33d91764c06ac4c3e38dcb66567c2d09575009 000039e3: SWAP1 000039e4: PUSH4 0xa335f47a 000039e9: SWAP1 000039ea: PUSH2 0x1102 000039ed: SWAP1 000039ee: PUSH1 0x00 000039f0: SWAP1 000039f1: DUP7 000039f2: SWAP1 000039f3: PUSH1 0x04 000039f5: ADD 000039f6: PUSH2 0x55c8 000039f9: JUMP 000039fa: JUMPDEST 000039fb: CALLER 000039fc: SWAP1 000039fd: JUMP 000039fe: JUMPDEST 000039ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003a14: DUP2 00003a15: AND 00003a16: PUSH2 0x3a31 00003a19: JUMPI 00003a1a: PUSH1 0x40 00003a1c: MLOAD 00003a1d: PUSH3 0x461bcd 00003a21: PUSH1 0xe5 00003a23: SHL 00003a24: DUP2 00003a25: MSTORE 00003a26: PUSH1 0x04 00003a28: ADD 00003a29: PUSH2 0x0d67 00003a2c: SWAP1 00003a2d: PUSH2 0x52f2 00003a30: JUMP 00003a31: JUMPDEST 00003a32: PUSH1 0x13 00003a34: SLOAD 00003a35: PUSH1 0x40 00003a37: MLOAD 00003a38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003a4d: DUP1 00003a4e: DUP5 00003a4f: AND 00003a50: SWAP3 00003a51: AND 00003a52: SWAP1 00003a53: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00003a74: SWAP1 00003a75: PUSH1 0x00 00003a77: SWAP1 00003a78: LOG3 00003a79: PUSH1 0x13 00003a7b: DUP1 00003a7c: SLOAD 00003a7d: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00003a9e: AND 00003a9f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003ab4: SWAP3 00003ab5: SWAP1 00003ab6: SWAP3 00003ab7: AND 00003ab8: SWAP2 00003ab9: SWAP1 00003aba: SWAP2 00003abb: OR 00003abc: SWAP1 00003abd: SSTORE 00003abe: JUMP 00003abf: JUMPDEST 00003ac0: PUSH1 0x40 00003ac2: DUP1 00003ac3: MLOAD 00003ac4: DUP1 00003ac5: DUP3 00003ac6: ADD 00003ac7: SWAP1 00003ac8: SWAP2 00003ac9: MSTORE 00003aca: PUSH1 0x00 00003acc: DUP1 00003acd: DUP3 00003ace: MSTORE 00003acf: PUSH1 0x20 00003ad1: DUP3 00003ad2: ADD 00003ad3: MSTORE 00003ad4: SWAP1 00003ad5: JUMP 00003ad6: JUMPDEST 00003ad7: PUSH1 0x40 00003ad9: MLOAD 00003ada: DUP1 00003adb: PUSH1 0x20 00003add: ADD 00003ade: PUSH1 0x40 00003ae0: MSTORE 00003ae1: DUP1 00003ae2: PUSH1 0x00 00003ae4: DUP2 00003ae5: MSTORE 00003ae6: POP 00003ae7: SWAP1 00003ae8: JUMP 00003ae9: JUMPDEST 00003aea: PUSH1 0x40 00003aec: DUP1 00003aed: MLOAD 00003aee: PUSH1 0x60 00003af0: DUP2 00003af1: ADD 00003af2: DUP3 00003af3: MSTORE 00003af4: PUSH1 0x00 00003af6: DUP1 00003af7: DUP3 00003af8: MSTORE 00003af9: PUSH1 0x20 00003afb: DUP3 00003afc: ADD 00003afd: DUP2 00003afe: SWAP1 00003aff: MSTORE 00003b00: SWAP2 00003b01: DUP2 00003b02: ADD 00003b03: SWAP2 00003b04: SWAP1 00003b05: SWAP2 00003b06: MSTORE 00003b07: SWAP1 00003b08: JUMP 00003b09: JUMPDEST 00003b0a: PUSH1 0x40 00003b0c: DUP1 00003b0d: MLOAD 00003b0e: PUSH2 0x0160 00003b11: DUP2 00003b12: ADD 00003b13: DUP3 00003b14: MSTORE 00003b15: PUSH1 0x00 00003b17: DUP1 00003b18: DUP3 00003b19: MSTORE 00003b1a: PUSH1 0x20 00003b1c: DUP3 00003b1d: ADD 00003b1e: MSTORE 00003b1f: SWAP1 00003b20: DUP2 00003b21: ADD 00003b22: PUSH2 0x3b29 00003b25: PUSH2 0x3abf 00003b28: JUMP 00003b29: JUMPDEST 00003b2a: DUP2 00003b2b: MSTORE 00003b2c: PUSH1 0x20 00003b2e: ADD 00003b2f: PUSH2 0x3b36 00003b32: PUSH2 0x3ae9 00003b35: JUMP 00003b36: JUMPDEST 00003b37: DUP2 00003b38: MSTORE 00003b39: PUSH1 0x00 00003b3b: PUSH1 0x20 00003b3d: DUP3 00003b3e: ADD 00003b3f: DUP2 00003b40: SWAP1 00003b41: MSTORE 00003b42: PUSH1 0x40 00003b44: DUP3 00003b45: ADD 00003b46: MSTORE 00003b47: PUSH1 0x60 00003b49: ADD 00003b4a: PUSH2 0x3b51 00003b4d: PUSH2 0x3ad6 00003b50: JUMP 00003b51: JUMPDEST 00003b52: DUP2 00003b53: MSTORE 00003b54: PUSH1 0x20 00003b56: ADD 00003b57: PUSH2 0x3b5e 00003b5a: PUSH2 0x3ad6 00003b5d: JUMP 00003b5e: JUMPDEST 00003b5f: DUP2 00003b60: MSTORE 00003b61: PUSH1 0x20 00003b63: ADD 00003b64: PUSH2 0x3b6b 00003b67: PUSH2 0x3abf 00003b6a: JUMP 00003b6b: JUMPDEST 00003b6c: DUP2 00003b6d: MSTORE 00003b6e: PUSH1 0x20 00003b70: ADD 00003b71: PUSH2 0x3b78 00003b74: PUSH2 0x3abf 00003b77: JUMP 00003b78: JUMPDEST 00003b79: DUP2 00003b7a: MSTORE 00003b7b: PUSH1 0x20 00003b7d: ADD 00003b7e: PUSH2 0x3b85 00003b81: PUSH2 0x3ad6 00003b84: JUMP 00003b85: JUMPDEST 00003b86: SWAP1 00003b87: MSTORE 00003b88: SWAP1 00003b89: JUMP 00003b8a: JUMPDEST 00003b8b: PUSH1 0x40 00003b8d: DUP1 00003b8e: MLOAD 00003b8f: PUSH1 0xe0 00003b91: DUP2 00003b92: ADD 00003b93: DUP3 00003b94: MSTORE 00003b95: PUSH1 0x00 00003b97: DUP1 00003b98: DUP3 00003b99: MSTORE 00003b9a: PUSH1 0x20 00003b9c: DUP3 00003b9d: ADD 00003b9e: DUP2 00003b9f: SWAP1 00003ba0: MSTORE 00003ba1: SWAP2 00003ba2: DUP2 00003ba3: ADD 00003ba4: DUP3 00003ba5: SWAP1 00003ba6: MSTORE 00003ba7: PUSH1 0x60 00003ba9: DUP2 00003baa: ADD 00003bab: DUP3 00003bac: SWAP1 00003bad: MSTORE 00003bae: PUSH1 0x80 00003bb0: DUP2 00003bb1: ADD 00003bb2: DUP3 00003bb3: SWAP1 00003bb4: MSTORE 00003bb5: PUSH1 0xa0 00003bb7: DUP2 00003bb8: ADD 00003bb9: DUP3 00003bba: SWAP1 00003bbb: MSTORE 00003bbc: PUSH1 0xc0 00003bbe: DUP2 00003bbf: ADD 00003bc0: SWAP2 00003bc1: SWAP1 00003bc2: SWAP2 00003bc3: MSTORE 00003bc4: SWAP1 00003bc5: JUMP 00003bc6: JUMPDEST 00003bc7: DUP1 00003bc8: CALLDATALOAD 00003bc9: PUSH2 0x1b49 00003bcc: DUP2 00003bcd: PUSH2 0x5892 00003bd0: JUMP 00003bd1: JUMPDEST 00003bd2: DUP1 00003bd3: MLOAD 00003bd4: PUSH2 0x1b49 00003bd7: DUP2 00003bd8: PUSH2 0x5892 00003bdb: JUMP 00003bdc: JUMPDEST 00003bdd: PUSH1 0x00 00003bdf: DUP3 00003be0: PUSH1 0x1f 00003be2: DUP4 00003be3: ADD 00003be4: SLT 00003be5: PUSH2 0x3bed 00003be8: JUMPI 00003be9: PUSH1 0x00 00003beb: DUP1 00003bec: REVERT 00003bed: JUMPDEST 00003bee: DUP2 00003bef: MLOAD 00003bf0: PUSH2 0x3c00 00003bf3: PUSH2 0x3bfb 00003bf6: DUP3 00003bf7: PUSH2 0x56d5 00003bfa: JUMP 00003bfb: JUMPDEST 00003bfc: PUSH2 0x56ae 00003bff: JUMP 00003c00: JUMPDEST 00003c01: SWAP2 00003c02: POP 00003c03: DUP2 00003c04: DUP2 00003c05: DUP4 00003c06: MSTORE 00003c07: PUSH1 0x20 00003c09: DUP5 00003c0a: ADD 00003c0b: SWAP4 00003c0c: POP 00003c0d: PUSH1 0x20 00003c0f: DUP2 00003c10: ADD 00003c11: SWAP1 00003c12: POP 00003c13: DUP4 00003c14: DUP6 00003c15: PUSH1 0x20 00003c17: DUP5 00003c18: MUL 00003c19: DUP3 00003c1a: ADD 00003c1b: GT 00003c1c: ISZERO 00003c1d: PUSH2 0x3c25 00003c20: JUMPI 00003c21: PUSH1 0x00 00003c23: DUP1 00003c24: REVERT 00003c25: JUMPDEST 00003c26: PUSH1 0x00 00003c28: JUMPDEST 00003c29: DUP4 00003c2a: DUP2 00003c2b: LT 00003c2c: ISZERO 00003c2d: PUSH2 0x3c51 00003c30: JUMPI 00003c31: DUP2 00003c32: PUSH2 0x3c3b 00003c35: DUP9 00003c36: DUP3 00003c37: PUSH2 0x3bd1 00003c3a: JUMP 00003c3b: JUMPDEST 00003c3c: DUP5 00003c3d: MSTORE 00003c3e: POP 00003c3f: PUSH1 0x20 00003c41: SWAP3 00003c42: DUP4 00003c43: ADD 00003c44: SWAP3 00003c45: SWAP2 00003c46: SWAP1 00003c47: SWAP2 00003c48: ADD 00003c49: SWAP1 00003c4a: PUSH1 0x01 00003c4c: ADD 00003c4d: PUSH2 0x3c28 00003c50: JUMP 00003c51: JUMPDEST 00003c52: POP 00003c53: POP 00003c54: POP 00003c55: POP 00003c56: SWAP3 00003c57: SWAP2 00003c58: POP 00003c59: POP 00003c5a: JUMP 00003c5b: JUMPDEST 00003c5c: PUSH1 0x00 00003c5e: DUP3 00003c5f: PUSH1 0x1f 00003c61: DUP4 00003c62: ADD 00003c63: SLT 00003c64: PUSH2 0x3c6c 00003c67: JUMPI 00003c68: PUSH1 0x00 00003c6a: DUP1 00003c6b: REVERT 00003c6c: JUMPDEST 00003c6d: DUP2 00003c6e: CALLDATALOAD 00003c6f: PUSH2 0x3c7a 00003c72: PUSH2 0x3bfb 00003c75: DUP3 00003c76: PUSH2 0x56d5 00003c79: JUMP 00003c7a: JUMPDEST 00003c7b: DUP2 00003c7c: DUP2 00003c7d: MSTORE 00003c7e: PUSH1 0x20 00003c80: SWAP4 00003c81: DUP5 00003c82: ADD 00003c83: SWAP4 00003c84: SWAP1 00003c85: SWAP3 00003c86: POP 00003c87: DUP3 00003c88: ADD 00003c89: DUP4 00003c8a: PUSH1 0x00 00003c8c: JUMPDEST 00003c8d: DUP4 00003c8e: DUP2 00003c8f: LT 00003c90: ISZERO 00003c91: PUSH2 0x3c51 00003c94: JUMPI 00003c95: DUP2 00003c96: CALLDATALOAD 00003c97: DUP7 00003c98: ADD 00003c99: PUSH2 0x3ca2 00003c9c: DUP9 00003c9d: DUP3 00003c9e: PUSH2 0x3f8c 00003ca1: JUMP 00003ca2: JUMPDEST 00003ca3: DUP5 00003ca4: MSTORE 00003ca5: POP 00003ca6: PUSH1 0x20 00003ca8: SWAP3 00003ca9: DUP4 00003caa: ADD 00003cab: SWAP3 00003cac: SWAP2 00003cad: SWAP1 00003cae: SWAP2 00003caf: ADD 00003cb0: SWAP1 00003cb1: PUSH1 0x01 00003cb3: ADD 00003cb4: PUSH2 0x3c8c 00003cb7: JUMP 00003cb8: JUMPDEST 00003cb9: PUSH1 0x00 00003cbb: DUP3 00003cbc: PUSH1 0x1f 00003cbe: DUP4 00003cbf: ADD 00003cc0: SLT 00003cc1: PUSH2 0x3cc9 00003cc4: JUMPI 00003cc5: PUSH1 0x00 00003cc7: DUP1 00003cc8: REVERT 00003cc9: JUMPDEST 00003cca: DUP2 00003ccb: CALLDATALOAD 00003ccc: PUSH2 0x3cd7 00003ccf: PUSH2 0x3bfb 00003cd2: DUP3 00003cd3: PUSH2 0x56d5 00003cd6: JUMP 00003cd7: JUMPDEST 00003cd8: SWAP2 00003cd9: POP 00003cda: DUP2 00003cdb: DUP2 00003cdc: DUP4 00003cdd: MSTORE 00003cde: PUSH1 0x20 00003ce0: DUP5 00003ce1: ADD 00003ce2: SWAP4 00003ce3: POP 00003ce4: PUSH1 0x20 00003ce6: DUP2 00003ce7: ADD 00003ce8: SWAP1 00003ce9: POP 00003cea: DUP4 00003ceb: DUP6 00003cec: PUSH1 0x40 00003cee: DUP5 00003cef: MUL 00003cf0: DUP3 00003cf1: ADD 00003cf2: GT 00003cf3: ISZERO 00003cf4: PUSH2 0x3cfc 00003cf7: JUMPI 00003cf8: PUSH1 0x00 00003cfa: DUP1 00003cfb: REVERT 00003cfc: JUMPDEST 00003cfd: PUSH1 0x00 00003cff: JUMPDEST 00003d00: DUP4 00003d01: DUP2 00003d02: LT 00003d03: ISZERO 00003d04: PUSH2 0x3c51 00003d07: JUMPI 00003d08: DUP2 00003d09: PUSH2 0x3d12 00003d0c: DUP9 00003d0d: DUP3 00003d0e: PUSH2 0x418f 00003d11: JUMP 00003d12: JUMPDEST 00003d13: DUP5 00003d14: MSTORE 00003d15: POP 00003d16: PUSH1 0x20 00003d18: SWAP1 00003d19: SWAP3 00003d1a: ADD 00003d1b: SWAP2 00003d1c: PUSH1 0x40 00003d1e: SWAP2 00003d1f: SWAP1 00003d20: SWAP2 00003d21: ADD 00003d22: SWAP1 00003d23: PUSH1 0x01 00003d25: ADD 00003d26: PUSH2 0x3cff 00003d29: JUMP 00003d2a: JUMPDEST 00003d2b: PUSH1 0x00 00003d2d: DUP3 00003d2e: PUSH1 0x1f 00003d30: DUP4 00003d31: ADD 00003d32: SLT 00003d33: PUSH2 0x3d3b 00003d36: JUMPI 00003d37: PUSH1 0x00 00003d39: DUP1 00003d3a: REVERT 00003d3b: JUMPDEST 00003d3c: DUP2 00003d3d: CALLDATALOAD 00003d3e: PUSH2 0x3d49 00003d41: PUSH2 0x3bfb 00003d44: DUP3 00003d45: PUSH2 0x56d5 00003d48: JUMP 00003d49: JUMPDEST 00003d4a: SWAP2 00003d4b: POP 00003d4c: DUP2 00003d4d: DUP2 00003d4e: DUP4 00003d4f: MSTORE 00003d50: PUSH1 0x20 00003d52: DUP5 00003d53: ADD 00003d54: SWAP4 00003d55: POP 00003d56: PUSH1 0x20 00003d58: DUP2 00003d59: ADD 00003d5a: SWAP1 00003d5b: POP 00003d5c: DUP4 00003d5d: DUP6 00003d5e: PUSH1 0x40 00003d60: DUP5 00003d61: MUL 00003d62: DUP3 00003d63: ADD 00003d64: GT 00003d65: ISZERO 00003d66: PUSH2 0x3d6e 00003d69: JUMPI 00003d6a: PUSH1 0x00 00003d6c: DUP1 00003d6d: REVERT 00003d6e: JUMPDEST 00003d6f: PUSH1 0x00 00003d71: JUMPDEST 00003d72: DUP4 00003d73: DUP2 00003d74: LT 00003d75: ISZERO 00003d76: PUSH2 0x3c51 00003d79: JUMPI 00003d7a: DUP2 00003d7b: PUSH2 0x3d84 00003d7e: DUP9 00003d7f: DUP3 00003d80: PUSH2 0x42dc 00003d83: JUMP 00003d84: JUMPDEST 00003d85: DUP5 00003d86: MSTORE 00003d87: POP 00003d88: PUSH1 0x20 00003d8a: SWAP1 00003d8b: SWAP3 00003d8c: ADD 00003d8d: SWAP2 00003d8e: PUSH1 0x40 00003d90: SWAP2 00003d91: SWAP1 00003d92: SWAP2 00003d93: ADD 00003d94: SWAP1 00003d95: PUSH1 0x01 00003d97: ADD 00003d98: PUSH2 0x3d71 00003d9b: JUMP 00003d9c: JUMPDEST 00003d9d: PUSH1 0x00 00003d9f: DUP3 00003da0: PUSH1 0x1f 00003da2: DUP4 00003da3: ADD 00003da4: SLT 00003da5: PUSH2 0x3dad 00003da8: JUMPI 00003da9: PUSH1 0x00 00003dab: DUP1 00003dac: REVERT 00003dad: JUMPDEST 00003dae: DUP2 00003daf: MLOAD 00003db0: PUSH2 0x3dbb 00003db3: PUSH2 0x3bfb 00003db6: DUP3 00003db7: PUSH2 0x56d5 00003dba: JUMP 00003dbb: JUMPDEST 00003dbc: SWAP2 00003dbd: POP 00003dbe: DUP2 00003dbf: DUP2 00003dc0: DUP4 00003dc1: MSTORE 00003dc2: PUSH1 0x20 00003dc4: DUP5 00003dc5: ADD 00003dc6: SWAP4 00003dc7: POP 00003dc8: PUSH1 0x20 00003dca: DUP2 00003dcb: ADD 00003dcc: SWAP1 00003dcd: POP 00003dce: DUP4 00003dcf: DUP6 00003dd0: PUSH1 0x40 00003dd2: DUP5 00003dd3: MUL 00003dd4: DUP3 00003dd5: ADD 00003dd6: GT 00003dd7: ISZERO 00003dd8: PUSH2 0x3de0 00003ddb: JUMPI 00003ddc: PUSH1 0x00 00003dde: DUP1 00003ddf: REVERT 00003de0: JUMPDEST 00003de1: PUSH1 0x00 00003de3: JUMPDEST 00003de4: DUP4 00003de5: DUP2 00003de6: LT 00003de7: ISZERO 00003de8: PUSH2 0x3c51 00003deb: JUMPI 00003dec: DUP2 00003ded: PUSH2 0x3df6 00003df0: DUP9 00003df1: DUP3 00003df2: PUSH2 0x4317 00003df5: JUMP 00003df6: JUMPDEST 00003df7: DUP5 00003df8: MSTORE 00003df9: POP 00003dfa: PUSH1 0x20 00003dfc: SWAP1 00003dfd: SWAP3 00003dfe: ADD 00003dff: SWAP2 00003e00: PUSH1 0x40 00003e02: SWAP2 00003e03: SWAP1 00003e04: SWAP2 00003e05: ADD 00003e06: SWAP1 00003e07: PUSH1 0x01 00003e09: ADD 00003e0a: PUSH2 0x3de3 00003e0d: JUMP 00003e0e: JUMPDEST 00003e0f: PUSH1 0x00 00003e11: DUP3 00003e12: PUSH1 0x1f 00003e14: DUP4 00003e15: ADD 00003e16: SLT 00003e17: PUSH2 0x3e1f 00003e1a: JUMPI 00003e1b: PUSH1 0x00 00003e1d: DUP1 00003e1e: REVERT 00003e1f: JUMPDEST 00003e20: DUP2 00003e21: MLOAD 00003e22: PUSH2 0x3e2d 00003e25: PUSH2 0x3bfb 00003e28: DUP3 00003e29: PUSH2 0x56d5 00003e2c: JUMP 00003e2d: JUMPDEST 00003e2e: SWAP2 00003e2f: POP 00003e30: DUP2 00003e31: DUP2 00003e32: DUP4 00003e33: MSTORE 00003e34: PUSH1 0x20 00003e36: DUP5 00003e37: ADD 00003e38: SWAP4 00003e39: POP 00003e3a: PUSH1 0x20 00003e3c: DUP2 00003e3d: ADD 00003e3e: SWAP1 00003e3f: POP 00003e40: DUP4 00003e41: DUP6 00003e42: PUSH1 0x40 00003e44: DUP5 00003e45: MUL 00003e46: DUP3 00003e47: ADD 00003e48: GT 00003e49: ISZERO 00003e4a: PUSH2 0x3e52 00003e4d: JUMPI 00003e4e: PUSH1 0x00 00003e50: DUP1 00003e51: REVERT 00003e52: JUMPDEST 00003e53: PUSH1 0x00 00003e55: JUMPDEST 00003e56: DUP4 00003e57: DUP2 00003e58: LT 00003e59: ISZERO 00003e5a: PUSH2 0x3c51 00003e5d: JUMPI 00003e5e: DUP2 00003e5f: PUSH2 0x3e68 00003e62: DUP9 00003e63: DUP3 00003e64: PUSH2 0x4427 00003e67: JUMP 00003e68: JUMPDEST 00003e69: DUP5 00003e6a: MSTORE 00003e6b: POP 00003e6c: PUSH1 0x20 00003e6e: SWAP1 00003e6f: SWAP3 00003e70: ADD 00003e71: SWAP2 00003e72: PUSH1 0x40 00003e74: SWAP2 00003e75: SWAP1 00003e76: SWAP2 00003e77: ADD 00003e78: SWAP1 00003e79: PUSH1 0x01 00003e7b: ADD 00003e7c: PUSH2 0x3e55 00003e7f: JUMP 00003e80: JUMPDEST 00003e81: PUSH1 0x00 00003e83: DUP3 00003e84: PUSH1 0x1f 00003e86: DUP4 00003e87: ADD 00003e88: SLT 00003e89: PUSH2 0x3e91 00003e8c: JUMPI 00003e8d: PUSH1 0x00 00003e8f: DUP1 00003e90: REVERT 00003e91: JUMPDEST 00003e92: DUP2 00003e93: MLOAD 00003e94: PUSH2 0x3e9f 00003e97: PUSH2 0x3bfb 00003e9a: DUP3 00003e9b: PUSH2 0x56d5 00003e9e: JUMP 00003e9f: JUMPDEST 00003ea0: SWAP2 00003ea1: POP 00003ea2: DUP2 00003ea3: DUP2 00003ea4: DUP4 00003ea5: MSTORE 00003ea6: PUSH1 0x20 00003ea8: DUP5 00003ea9: ADD 00003eaa: SWAP4 00003eab: POP 00003eac: PUSH1 0x20 00003eae: DUP2 00003eaf: ADD 00003eb0: SWAP1 00003eb1: POP 00003eb2: DUP4 00003eb3: DUP6 00003eb4: PUSH1 0x20 00003eb6: DUP5 00003eb7: MUL 00003eb8: DUP3 00003eb9: ADD 00003eba: GT 00003ebb: ISZERO 00003ebc: PUSH2 0x3ec4 00003ebf: JUMPI 00003ec0: PUSH1 0x00 00003ec2: DUP1 00003ec3: REVERT 00003ec4: JUMPDEST 00003ec5: PUSH1 0x00 00003ec7: JUMPDEST 00003ec8: DUP4 00003ec9: DUP2 00003eca: LT 00003ecb: ISZERO 00003ecc: PUSH2 0x3c51 00003ecf: JUMPI 00003ed0: DUP2 00003ed1: PUSH2 0x3eda 00003ed4: DUP9 00003ed5: DUP3 00003ed6: PUSH2 0x4483 00003ed9: JUMP 00003eda: JUMPDEST 00003edb: DUP5 00003edc: MSTORE 00003edd: POP 00003ede: PUSH1 0x20 00003ee0: SWAP3 00003ee1: DUP4 00003ee2: ADD 00003ee3: SWAP3 00003ee4: SWAP2 00003ee5: SWAP1 00003ee6: SWAP2 00003ee7: ADD 00003ee8: SWAP1 00003ee9: PUSH1 0x01 00003eeb: ADD 00003eec: PUSH2 0x3ec7 00003eef: JUMP 00003ef0: JUMPDEST 00003ef1: DUP1 00003ef2: CALLDATALOAD 00003ef3: PUSH2 0x1b49 00003ef6: DUP2 00003ef7: PUSH2 0x58a6 00003efa: JUMP 00003efb: JUMPDEST 00003efc: DUP1 00003efd: MLOAD 00003efe: PUSH2 0x1b49 00003f01: DUP2 00003f02: PUSH2 0x58a6 00003f05: JUMP 00003f06: JUMPDEST 00003f07: PUSH1 0x00 00003f09: DUP3 00003f0a: PUSH1 0x1f 00003f0c: DUP4 00003f0d: ADD 00003f0e: SLT 00003f0f: PUSH2 0x3f17 00003f12: JUMPI 00003f13: PUSH1 0x00 00003f15: DUP1 00003f16: REVERT 00003f17: JUMPDEST 00003f18: DUP2 00003f19: CALLDATALOAD 00003f1a: PUSH2 0x3f25 00003f1d: PUSH2 0x3bfb 00003f20: DUP3 00003f21: PUSH2 0x56f6 00003f24: JUMP 00003f25: JUMPDEST 00003f26: SWAP2 00003f27: POP 00003f28: DUP1 00003f29: DUP3 00003f2a: MSTORE 00003f2b: PUSH1 0x20 00003f2d: DUP4 00003f2e: ADD 00003f2f: PUSH1 0x20 00003f31: DUP4 00003f32: ADD 00003f33: DUP6 00003f34: DUP4 00003f35: DUP4 00003f36: ADD 00003f37: GT 00003f38: ISZERO 00003f39: PUSH2 0x3f41 00003f3c: JUMPI 00003f3d: PUSH1 0x00 00003f3f: DUP1 00003f40: REVERT 00003f41: JUMPDEST 00003f42: PUSH2 0x3f4c 00003f45: DUP4 00003f46: DUP3 00003f47: DUP5 00003f48: PUSH2 0x5814 00003f4b: JUMP 00003f4c: JUMPDEST 00003f4d: POP 00003f4e: POP 00003f4f: POP 00003f50: SWAP3 00003f51: SWAP2 00003f52: POP 00003f53: POP 00003f54: JUMP 00003f55: JUMPDEST 00003f56: DUP1 00003f57: CALLDATALOAD 00003f58: PUSH2 0x1b49 00003f5b: DUP2 00003f5c: PUSH2 0x58af 00003f5f: JUMP 00003f60: JUMPDEST 00003f61: DUP1 00003f62: MLOAD 00003f63: PUSH2 0x1b49 00003f66: DUP2 00003f67: PUSH2 0x58af 00003f6a: JUMP 00003f6b: JUMPDEST 00003f6c: DUP1 00003f6d: CALLDATALOAD 00003f6e: PUSH2 0x1b49 00003f71: DUP2 00003f72: PUSH2 0x58b8 00003f75: JUMP 00003f76: JUMPDEST 00003f77: DUP1 00003f78: CALLDATALOAD 00003f79: PUSH2 0x1b49 00003f7c: DUP2 00003f7d: PUSH2 0x58c5 00003f80: JUMP 00003f81: JUMPDEST 00003f82: DUP1 00003f83: MLOAD 00003f84: PUSH2 0x1b49 00003f87: DUP2 00003f88: PUSH2 0x58d2 00003f8b: JUMP 00003f8c: JUMPDEST 00003f8d: PUSH1 0x00 00003f8f: PUSH2 0x0160 00003f92: DUP3 00003f93: DUP5 00003f94: SUB 00003f95: SLT 00003f96: ISZERO 00003f97: PUSH2 0x3f9f 00003f9a: JUMPI 00003f9b: PUSH1 0x00 00003f9d: DUP1 00003f9e: REVERT 00003f9f: JUMPDEST 00003fa0: PUSH2 0x3faa 00003fa3: PUSH2 0x0100 00003fa6: PUSH2 0x56ae 00003fa9: JUMP 00003faa: JUMPDEST 00003fab: SWAP1 00003fac: POP 00003fad: PUSH1 0x00 00003faf: PUSH2 0x3fb8 00003fb2: DUP5 00003fb3: DUP5 00003fb4: PUSH2 0x3f6b 00003fb7: JUMP 00003fb8: JUMPDEST 00003fb9: DUP3 00003fba: MSTORE 00003fbb: POP 00003fbc: PUSH1 0x20 00003fbe: PUSH2 0x3fc9 00003fc1: DUP5 00003fc2: DUP5 00003fc3: DUP4 00003fc4: ADD 00003fc5: PUSH2 0x4478 00003fc8: JUMP 00003fc9: JUMPDEST 00003fca: PUSH1 0x20 00003fcc: DUP4 00003fcd: ADD 00003fce: MSTORE 00003fcf: POP 00003fd0: PUSH1 0x40 00003fd2: PUSH2 0x3fdd 00003fd5: DUP5 00003fd6: DUP3 00003fd7: DUP6 00003fd8: ADD 00003fd9: PUSH2 0x4068 00003fdc: JUMP 00003fdd: JUMPDEST 00003fde: PUSH1 0x40 00003fe0: DUP4 00003fe1: ADD 00003fe2: MSTORE 00003fe3: POP 00003fe4: PUSH1 0xc0 00003fe6: PUSH2 0x3ff1 00003fe9: DUP5 00003fea: DUP3 00003feb: DUP6 00003fec: ADD 00003fed: PUSH2 0x4478 00003ff0: JUMP 00003ff1: JUMPDEST 00003ff2: PUSH1 0x60 00003ff4: DUP4 00003ff5: ADD 00003ff6: MSTORE 00003ff7: POP 00003ff8: PUSH1 0xe0 00003ffa: PUSH2 0x4005 00003ffd: DUP5 00003ffe: DUP3 00003fff: DUP6 00004000: ADD 00004001: PUSH2 0x4478 00004004: JUMP 00004005: JUMPDEST 00004006: PUSH1 0x80 00004008: DUP4 00004009: ADD 0000400a: MSTORE 0000400b: POP 0000400c: PUSH2 0x0100 0000400f: PUSH2 0x401a 00004012: DUP5 00004013: DUP3 00004014: DUP6 00004015: ADD 00004016: PUSH2 0x3bc6 00004019: JUMP 0000401a: JUMPDEST 0000401b: PUSH1 0xa0 0000401d: DUP4 0000401e: ADD 0000401f: MSTORE 00004020: POP 00004021: PUSH2 0x0120 00004024: PUSH2 0x402f 00004027: DUP5 00004028: DUP3 00004029: DUP6 0000402a: ADD 0000402b: PUSH2 0x4478 0000402e: JUMP 0000402f: JUMPDEST 00004030: PUSH1 0xc0 00004032: DUP4 00004033: ADD 00004034: MSTORE 00004035: POP 00004036: PUSH2 0x0140 00004039: DUP3 0000403a: ADD 0000403b: CALLDATALOAD 0000403c: PUSH8 0xffffffffffffffff 00004045: DUP2 00004046: GT 00004047: ISZERO 00004048: PUSH2 0x4050 0000404b: JUMPI 0000404c: PUSH1 0x00 0000404e: DUP1 0000404f: REVERT 00004050: JUMPDEST 00004051: PUSH2 0x405c 00004054: DUP5 00004055: DUP3 00004056: DUP6 00004057: ADD 00004058: PUSH2 0x3f06 0000405b: JUMP 0000405c: JUMPDEST 0000405d: PUSH1 0xe0 0000405f: DUP4 00004060: ADD 00004061: MSTORE 00004062: POP 00004063: SWAP3 00004064: SWAP2 00004065: POP 00004066: POP 00004067: JUMP 00004068: JUMPDEST 00004069: PUSH1 0x00 0000406b: PUSH1 0x80 0000406d: DUP3 0000406e: DUP5 0000406f: SUB 00004070: SLT 00004071: ISZERO 00004072: PUSH2 0x407a 00004075: JUMPI 00004076: PUSH1 0x00 00004078: DUP1 00004079: REVERT 0000407a: JUMPDEST 0000407b: PUSH2 0x4084 0000407e: PUSH1 0x80 00004080: PUSH2 0x56ae 00004083: JUMP 00004084: JUMPDEST 00004085: SWAP1 00004086: POP 00004087: PUSH1 0x00 00004089: PUSH2 0x4092 0000408c: DUP5 0000408d: DUP5 0000408e: PUSH2 0x3ef0 00004091: JUMP 00004092: JUMPDEST 00004093: DUP3 00004094: MSTORE 00004095: POP 00004096: PUSH1 0x20 00004098: PUSH2 0x40a3 0000409b: DUP5 0000409c: DUP5 0000409d: DUP4 0000409e: ADD 0000409f: PUSH2 0x3f76 000040a2: JUMP 000040a3: JUMPDEST 000040a4: PUSH1 0x20 000040a6: DUP4 000040a7: ADD 000040a8: MSTORE 000040a9: POP 000040aa: PUSH1 0x40 000040ac: PUSH2 0x40b7 000040af: DUP5 000040b0: DUP3 000040b1: DUP6 000040b2: ADD 000040b3: PUSH2 0x3f76 000040b6: JUMP 000040b7: JUMPDEST 000040b8: PUSH1 0x40 000040ba: DUP4 000040bb: ADD 000040bc: MSTORE 000040bd: POP 000040be: PUSH1 0x60 000040c0: PUSH2 0x40cb 000040c3: DUP5 000040c4: DUP3 000040c5: DUP6 000040c6: ADD 000040c7: PUSH2 0x4478 000040ca: JUMP 000040cb: JUMPDEST 000040cc: PUSH1 0x60 000040ce: DUP4 000040cf: ADD 000040d0: MSTORE 000040d1: POP 000040d2: SWAP3 000040d3: SWAP2 000040d4: POP 000040d5: POP 000040d6: JUMP 000040d7: JUMPDEST 000040d8: PUSH1 0x00 000040da: PUSH1 0x20 000040dc: DUP3 000040dd: DUP5 000040de: SUB 000040df: SLT 000040e0: ISZERO 000040e1: PUSH2 0x40e9 000040e4: JUMPI 000040e5: PUSH1 0x00 000040e7: DUP1 000040e8: REVERT 000040e9: JUMPDEST 000040ea: PUSH2 0x40f3 000040ed: PUSH1 0x20 000040ef: PUSH2 0x56ae 000040f2: JUMP 000040f3: JUMPDEST 000040f4: SWAP1 000040f5: POP 000040f6: PUSH1 0x00 000040f8: PUSH2 0x4101 000040fb: DUP5 000040fc: DUP5 000040fd: PUSH2 0x4483 00004100: JUMP 00004101: JUMPDEST 00004102: DUP3 00004103: MSTORE 00004104: POP 00004105: SWAP3 00004106: SWAP2 00004107: POP 00004108: POP 00004109: JUMP 0000410a: JUMPDEST 0000410b: PUSH1 0x00 0000410d: PUSH1 0x20 0000410f: DUP3 00004110: DUP5 00004111: SUB 00004112: SLT 00004113: ISZERO 00004114: PUSH2 0x411c 00004117: JUMPI 00004118: PUSH1 0x00 0000411a: DUP1 0000411b: REVERT 0000411c: JUMPDEST 0000411d: PUSH2 0x4126 00004120: PUSH1 0x20 00004122: PUSH2 0x56ae 00004125: JUMP 00004126: JUMPDEST 00004127: SWAP1 00004128: POP 00004129: PUSH1 0x00 0000412b: PUSH2 0x4101 0000412e: DUP5 0000412f: DUP5 00004130: PUSH2 0x4478 00004133: JUMP 00004134: JUMPDEST 00004135: PUSH1 0x00 00004137: PUSH1 0x60 00004139: DUP3 0000413a: DUP5 0000413b: SUB 0000413c: SLT 0000413d: ISZERO 0000413e: PUSH2 0x4146 00004141: JUMPI 00004142: PUSH1 0x00 00004144: DUP1 00004145: REVERT 00004146: JUMPDEST 00004147: PUSH2 0x4150 0000414a: PUSH1 0x60 0000414c: PUSH2 0x56ae 0000414f: JUMP 00004150: JUMPDEST 00004151: SWAP1 00004152: POP 00004153: PUSH1 0x00 00004155: PUSH2 0x415e 00004158: DUP5 00004159: DUP5 0000415a: PUSH2 0x4462 0000415d: JUMP 0000415e: JUMPDEST 0000415f: DUP3 00004160: MSTORE 00004161: POP 00004162: PUSH1 0x20 00004164: PUSH2 0x416f 00004167: DUP5 00004168: DUP5 00004169: DUP4 0000416a: ADD 0000416b: PUSH2 0x4462 0000416e: JUMP 0000416f: JUMPDEST 00004170: PUSH1 0x20 00004172: DUP4 00004173: ADD 00004174: MSTORE 00004175: POP 00004176: PUSH1 0x40 00004178: PUSH2 0x4183 0000417b: DUP5 0000417c: DUP3 0000417d: DUP6 0000417e: ADD 0000417f: PUSH2 0x448e 00004182: JUMP 00004183: JUMPDEST 00004184: PUSH1 0x40 00004186: DUP4 00004187: ADD 00004188: MSTORE 00004189: POP 0000418a: SWAP3 0000418b: SWAP2 0000418c: POP 0000418d: POP 0000418e: JUMP 0000418f: JUMPDEST 00004190: PUSH1 0x00 00004192: PUSH1 0x40 00004194: DUP3 00004195: DUP5 00004196: SUB 00004197: SLT 00004198: ISZERO 00004199: PUSH2 0x41a1 0000419c: JUMPI 0000419d: PUSH1 0x00 0000419f: DUP1 000041a0: REVERT 000041a1: JUMPDEST 000041a2: PUSH2 0x41ab 000041a5: PUSH1 0x40 000041a7: PUSH2 0x56ae 000041aa: JUMP 000041ab: JUMPDEST 000041ac: SWAP1 000041ad: POP 000041ae: PUSH1 0x00 000041b0: PUSH2 0x41b9 000041b3: DUP5 000041b4: DUP5 000041b5: PUSH2 0x3bc6 000041b8: JUMP 000041b9: JUMPDEST 000041ba: DUP3 000041bb: MSTORE 000041bc: POP 000041bd: PUSH1 0x20 000041bf: PUSH2 0x41ca 000041c2: DUP5 000041c3: DUP5 000041c4: DUP4 000041c5: ADD 000041c6: PUSH2 0x4478 000041c9: JUMP 000041ca: JUMPDEST 000041cb: PUSH1 0x20 000041cd: DUP4 000041ce: ADD 000041cf: MSTORE 000041d0: POP 000041d1: SWAP3 000041d2: SWAP2 000041d3: POP 000041d4: POP 000041d5: JUMP 000041d6: JUMPDEST 000041d7: PUSH1 0x00 000041d9: PUSH2 0x0200 000041dc: DUP3 000041dd: DUP5 000041de: SUB 000041df: SLT 000041e0: ISZERO 000041e1: PUSH2 0x41e9 000041e4: JUMPI 000041e5: PUSH1 0x00 000041e7: DUP1 000041e8: REVERT 000041e9: JUMPDEST 000041ea: PUSH2 0x41f4 000041ed: PUSH2 0x0160 000041f0: PUSH2 0x56ae 000041f3: JUMP 000041f4: JUMPDEST 000041f5: SWAP1 000041f6: POP 000041f7: PUSH1 0x00 000041f9: PUSH2 0x4202 000041fc: DUP5 000041fd: DUP5 000041fe: PUSH2 0x3bd1 00004201: JUMP 00004202: JUMPDEST 00004203: DUP3 00004204: MSTORE 00004205: POP 00004206: PUSH1 0x20 00004208: PUSH2 0x4213 0000420b: DUP5 0000420c: DUP5 0000420d: DUP4 0000420e: ADD 0000420f: PUSH2 0x3efb 00004212: JUMP 00004213: JUMPDEST 00004214: PUSH1 0x20 00004216: DUP4 00004217: ADD 00004218: MSTORE 00004219: POP 0000421a: PUSH1 0x40 0000421c: PUSH2 0x4227 0000421f: DUP5 00004220: DUP3 00004221: DUP6 00004222: ADD 00004223: PUSH2 0x43fd 00004226: JUMP 00004227: JUMPDEST 00004228: PUSH1 0x40 0000422a: DUP4 0000422b: ADD 0000422c: MSTORE 0000422d: POP 0000422e: PUSH1 0x80 00004230: PUSH2 0x423b 00004233: DUP5 00004234: DUP3 00004235: DUP6 00004236: ADD 00004237: PUSH2 0x4134 0000423a: JUMP 0000423b: JUMPDEST 0000423c: PUSH1 0x60 0000423e: DUP4 0000423f: ADD 00004240: MSTORE 00004241: POP 00004242: PUSH1 0xe0 00004244: PUSH2 0x424f 00004247: DUP5 00004248: DUP3 00004249: DUP6 0000424a: ADD 0000424b: PUSH2 0x3f60 0000424e: JUMP 0000424f: JUMPDEST 00004250: PUSH1 0x80 00004252: DUP4 00004253: ADD 00004254: MSTORE 00004255: POP 00004256: PUSH2 0x0100 00004259: PUSH2 0x4264 0000425c: DUP5 0000425d: DUP3 0000425e: DUP6 0000425f: ADD 00004260: PUSH2 0x3f60 00004263: JUMP 00004264: JUMPDEST 00004265: PUSH1 0xa0 00004267: DUP4 00004268: ADD 00004269: MSTORE 0000426a: POP 0000426b: PUSH2 0x0120 0000426e: PUSH2 0x4279 00004271: DUP5 00004272: DUP3 00004273: DUP6 00004274: ADD 00004275: PUSH2 0x40d7 00004278: JUMP 00004279: JUMPDEST 0000427a: PUSH1 0xc0 0000427c: DUP4 0000427d: ADD 0000427e: MSTORE 0000427f: POP 00004280: PUSH2 0x0140 00004283: PUSH2 0x428e 00004286: DUP5 00004287: DUP3 00004288: DUP6 00004289: ADD 0000428a: PUSH2 0x40d7 0000428d: JUMP 0000428e: JUMPDEST 0000428f: PUSH1 0xe0 00004291: DUP4 00004292: ADD 00004293: MSTORE 00004294: POP 00004295: PUSH2 0x0160 00004298: PUSH2 0x42a3 0000429b: DUP5 0000429c: DUP3 0000429d: DUP6 0000429e: ADD 0000429f: PUSH2 0x4427 000042a2: JUMP 000042a3: JUMPDEST 000042a4: PUSH2 0x0100 000042a7: DUP4 000042a8: ADD 000042a9: MSTORE 000042aa: POP 000042ab: PUSH2 0x01a0 000042ae: PUSH2 0x42b9 000042b1: DUP5 000042b2: DUP3 000042b3: DUP6 000042b4: ADD 000042b5: PUSH2 0x4427 000042b8: JUMP 000042b9: JUMPDEST 000042ba: PUSH2 0x0120 000042bd: DUP4 000042be: ADD 000042bf: MSTORE 000042c0: POP 000042c1: PUSH2 0x01e0 000042c4: PUSH2 0x42cf 000042c7: DUP5 000042c8: DUP3 000042c9: DUP6 000042ca: ADD 000042cb: PUSH2 0x40d7 000042ce: JUMP 000042cf: JUMPDEST 000042d0: PUSH2 0x0140 000042d3: DUP4 000042d4: ADD 000042d5: MSTORE 000042d6: POP 000042d7: SWAP3 000042d8: SWAP2 000042d9: POP 000042da: POP 000042db: JUMP 000042dc: JUMPDEST 000042dd: PUSH1 0x00 000042df: PUSH1 0x40 000042e1: DUP3 000042e2: DUP5 000042e3: SUB 000042e4: SLT 000042e5: ISZERO 000042e6: PUSH2 0x42ee 000042e9: JUMPI 000042ea: PUSH1 0x00 000042ec: DUP1 000042ed: REVERT 000042ee: JUMPDEST 000042ef: PUSH2 0x42f8 000042f2: PUSH1 0x40 000042f4: PUSH2 0x56ae 000042f7: JUMP 000042f8: JUMPDEST 000042f9: SWAP1 000042fa: POP 000042fb: PUSH1 0x00 000042fd: PUSH2 0x4306 00004300: DUP5 00004301: DUP5 00004302: PUSH2 0x3bc6 00004305: JUMP 00004306: JUMPDEST 00004307: DUP3 00004308: MSTORE 00004309: POP 0000430a: PUSH1 0x20 0000430c: PUSH2 0x41ca 0000430f: DUP5 00004310: DUP5 00004311: DUP4 00004312: ADD 00004313: PUSH2 0x3ef0 00004316: JUMP 00004317: JUMPDEST 00004318: PUSH1 0x00 0000431a: PUSH1 0x40 0000431c: DUP3 0000431d: DUP5 0000431e: SUB 0000431f: SLT 00004320: ISZERO 00004321: PUSH2 0x4329 00004324: JUMPI 00004325: PUSH1 0x00 00004327: DUP1 00004328: REVERT 00004329: JUMPDEST 0000432a: PUSH2 0x4333 0000432d: PUSH1 0x40 0000432f: PUSH2 0x56ae 00004332: JUMP 00004333: JUMPDEST 00004334: SWAP1 00004335: POP 00004336: PUSH1 0x00 00004338: PUSH2 0x4341 0000433b: DUP5 0000433c: DUP5 0000433d: PUSH2 0x3efb 00004340: JUMP 00004341: JUMPDEST 00004342: DUP3 00004343: MSTORE 00004344: POP 00004345: PUSH1 0x20 00004347: PUSH2 0x41ca 0000434a: DUP5 0000434b: DUP5 0000434c: DUP4 0000434d: ADD 0000434e: PUSH2 0x446d 00004351: JUMP 00004352: JUMPDEST 00004353: PUSH1 0x00 00004355: PUSH1 0xe0 00004357: DUP3 00004358: DUP5 00004359: SUB 0000435a: SLT 0000435b: ISZERO 0000435c: PUSH2 0x4364 0000435f: JUMPI 00004360: PUSH1 0x00 00004362: DUP1 00004363: REVERT 00004364: JUMPDEST 00004365: PUSH2 0x436e 00004368: PUSH1 0xe0 0000436a: PUSH2 0x56ae 0000436d: JUMP 0000436e: JUMPDEST 0000436f: SWAP1 00004370: POP 00004371: PUSH1 0x00 00004373: PUSH2 0x437c 00004376: DUP5 00004377: DUP5 00004378: PUSH2 0x4499 0000437b: JUMP 0000437c: JUMPDEST 0000437d: DUP3 0000437e: MSTORE 0000437f: POP 00004380: PUSH1 0x20 00004382: PUSH2 0x438d 00004385: DUP5 00004386: DUP5 00004387: DUP4 00004388: ADD 00004389: PUSH2 0x4499 0000438c: JUMP 0000438d: JUMPDEST 0000438e: PUSH1 0x20 00004390: DUP4 00004391: ADD 00004392: MSTORE 00004393: POP 00004394: PUSH1 0x40 00004396: PUSH2 0x43a1 00004399: DUP5 0000439a: DUP3 0000439b: DUP6 0000439c: ADD 0000439d: PUSH2 0x4499 000043a0: JUMP 000043a1: JUMPDEST 000043a2: PUSH1 0x40 000043a4: DUP4 000043a5: ADD 000043a6: MSTORE 000043a7: POP 000043a8: PUSH1 0x60 000043aa: PUSH2 0x43b5 000043ad: DUP5 000043ae: DUP3 000043af: DUP6 000043b0: ADD 000043b1: PUSH2 0x4499 000043b4: JUMP 000043b5: JUMPDEST 000043b6: PUSH1 0x60 000043b8: DUP4 000043b9: ADD 000043ba: MSTORE 000043bb: POP 000043bc: PUSH1 0x80 000043be: PUSH2 0x43c9 000043c1: DUP5 000043c2: DUP3 000043c3: DUP6 000043c4: ADD 000043c5: PUSH2 0x4499 000043c8: JUMP 000043c9: JUMPDEST 000043ca: PUSH1 0x80 000043cc: DUP4 000043cd: ADD 000043ce: MSTORE 000043cf: POP 000043d0: PUSH1 0xa0 000043d2: PUSH2 0x43dd 000043d5: DUP5 000043d6: DUP3 000043d7: DUP6 000043d8: ADD 000043d9: PUSH2 0x44a4 000043dc: JUMP 000043dd: JUMPDEST 000043de: PUSH1 0xa0 000043e0: DUP4 000043e1: ADD 000043e2: MSTORE 000043e3: POP 000043e4: PUSH1 0xc0 000043e6: PUSH2 0x43f1 000043e9: DUP5 000043ea: DUP3 000043eb: DUP6 000043ec: ADD 000043ed: PUSH2 0x446d 000043f0: JUMP 000043f1: JUMPDEST 000043f2: PUSH1 0xc0 000043f4: DUP4 000043f5: ADD 000043f6: MSTORE 000043f7: POP 000043f8: SWAP3 000043f9: SWAP2 000043fa: POP 000043fb: POP 000043fc: JUMP 000043fd: JUMPDEST 000043fe: PUSH1 0x00 00004400: PUSH1 0x40 00004402: DUP3 00004403: DUP5 00004404: SUB 00004405: SLT 00004406: ISZERO 00004407: PUSH2 0x440f 0000440a: JUMPI 0000440b: PUSH1 0x00 0000440d: DUP1 0000440e: REVERT 0000440f: JUMPDEST 00004410: PUSH2 0x4419 00004413: PUSH1 0x40 00004415: PUSH2 0x56ae 00004418: JUMP 00004419: JUMPDEST 0000441a: SWAP1 0000441b: POP 0000441c: PUSH1 0x00 0000441e: PUSH2 0x4341 00004421: DUP5 00004422: DUP5 00004423: PUSH2 0x446d 00004426: JUMP 00004427: JUMPDEST 00004428: PUSH1 0x00 0000442a: PUSH1 0x40 0000442c: DUP3 0000442d: DUP5 0000442e: SUB 0000442f: SLT 00004430: ISZERO 00004431: PUSH2 0x4439 00004434: JUMPI 00004435: PUSH1 0x00 00004437: DUP1 00004438: REVERT 00004439: JUMPDEST 0000443a: PUSH2 0x4443 0000443d: PUSH1 0x40 0000443f: PUSH2 0x56ae 00004442: JUMP 00004443: JUMPDEST 00004444: SWAP1 00004445: POP 00004446: PUSH1 0x00 00004448: PUSH2 0x4451 0000444b: DUP5 0000444c: DUP5 0000444d: PUSH2 0x3efb 00004450: JUMP 00004451: JUMPDEST 00004452: DUP3 00004453: MSTORE 00004454: POP 00004455: PUSH1 0x20 00004457: PUSH2 0x41ca 0000445a: DUP5 0000445b: DUP5 0000445c: DUP4 0000445d: ADD 0000445e: PUSH2 0x4483 00004461: JUMP 00004462: JUMPDEST 00004463: DUP1 00004464: MLOAD 00004465: PUSH2 0x1b49 00004468: DUP2 00004469: PUSH2 0x58df 0000446c: JUMP 0000446d: JUMPDEST 0000446e: DUP1 0000446f: MLOAD 00004470: PUSH2 0x1b49 00004473: DUP2 00004474: PUSH2 0x58e8 00004477: JUMP 00004478: JUMPDEST 00004479: DUP1 0000447a: CALLDATALOAD 0000447b: PUSH2 0x1b49 0000447e: DUP2 0000447f: PUSH2 0x58f1 00004482: JUMP 00004483: JUMPDEST 00004484: DUP1 00004485: MLOAD 00004486: PUSH2 0x1b49 00004489: DUP2 0000448a: PUSH2 0x58f1 0000448d: JUMP 0000448e: JUMPDEST 0000448f: DUP1 00004490: MLOAD 00004491: PUSH2 0x1b49 00004494: DUP2 00004495: PUSH2 0x58fa 00004498: JUMP 00004499: JUMPDEST 0000449a: DUP1 0000449b: MLOAD 0000449c: PUSH2 0x1b49 0000449f: DUP2 000044a0: PUSH2 0x5903 000044a3: JUMP 000044a4: JUMPDEST 000044a5: DUP1 000044a6: MLOAD 000044a7: PUSH2 0x1b49 000044aa: DUP2 000044ab: PUSH2 0x590c 000044ae: JUMP 000044af: JUMPDEST 000044b0: PUSH1 0x00 000044b2: PUSH1 0x20 000044b4: DUP3 000044b5: DUP5 000044b6: SUB 000044b7: SLT 000044b8: ISZERO 000044b9: PUSH2 0x44c1 000044bc: JUMPI 000044bd: PUSH1 0x00 000044bf: DUP1 000044c0: REVERT 000044c1: JUMPDEST 000044c2: PUSH1 0x00 000044c4: PUSH2 0x2e25 000044c7: DUP5 000044c8: DUP5 000044c9: PUSH2 0x3bc6 000044cc: JUMP 000044cd: JUMPDEST 000044ce: PUSH1 0x00 000044d0: PUSH1 0x20 000044d2: DUP3 000044d3: DUP5 000044d4: SUB 000044d5: SLT 000044d6: ISZERO 000044d7: PUSH2 0x44df 000044da: JUMPI 000044db: PUSH1 0x00 000044dd: DUP1 000044de: REVERT 000044df: JUMPDEST 000044e0: PUSH1 0x00 000044e2: PUSH2 0x2e25 000044e5: DUP5 000044e6: DUP5 000044e7: PUSH2 0x3bd1 000044ea: JUMP 000044eb: JUMPDEST 000044ec: PUSH1 0x00 000044ee: DUP1 000044ef: PUSH1 0x40 000044f1: DUP4 000044f2: DUP6 000044f3: SUB 000044f4: SLT 000044f5: ISZERO 000044f6: PUSH2 0x44fe 000044f9: JUMPI 000044fa: PUSH1 0x00 000044fc: DUP1 000044fd: REVERT 000044fe: JUMPDEST 000044ff: PUSH1 0x00 00004501: PUSH2 0x450a 00004504: DUP6 00004505: DUP6 00004506: PUSH2 0x3bc6 00004509: JUMP 0000450a: JUMPDEST 0000450b: SWAP3 0000450c: POP 0000450d: POP 0000450e: PUSH1 0x20 00004510: PUSH2 0x451b 00004513: DUP6 00004514: DUP3 00004515: DUP7 00004516: ADD 00004517: PUSH2 0x3bc6 0000451a: JUMP 0000451b: JUMPDEST 0000451c: SWAP2 0000451d: POP 0000451e: POP 0000451f: SWAP3 00004520: POP 00004521: SWAP3 00004522: SWAP1 00004523: POP 00004524: JUMP 00004525: JUMPDEST 00004526: PUSH1 0x00 00004528: DUP1 00004529: PUSH1 0x40 0000452b: DUP4 0000452c: DUP6 0000452d: SUB 0000452e: SLT 0000452f: ISZERO 00004530: PUSH2 0x4538 00004533: JUMPI 00004534: PUSH1 0x00 00004536: DUP1 00004537: REVERT 00004538: JUMPDEST 00004539: PUSH1 0x00 0000453b: PUSH2 0x4544 0000453e: DUP6 0000453f: DUP6 00004540: PUSH2 0x3bc6 00004543: JUMP 00004544: JUMPDEST 00004545: SWAP3 00004546: POP 00004547: POP 00004548: PUSH1 0x20 0000454a: PUSH2 0x451b 0000454d: DUP6 0000454e: DUP3 0000454f: DUP7 00004550: ADD 00004551: PUSH2 0x3ef0 00004554: JUMP 00004555: JUMPDEST 00004556: PUSH1 0x00 00004558: DUP1 00004559: PUSH1 0x40 0000455b: DUP4 0000455c: DUP6 0000455d: SUB 0000455e: SLT 0000455f: ISZERO 00004560: PUSH2 0x4568 00004563: JUMPI 00004564: PUSH1 0x00 00004566: DUP1 00004567: REVERT 00004568: JUMPDEST 00004569: PUSH1 0x00 0000456b: PUSH2 0x4574 0000456e: DUP6 0000456f: DUP6 00004570: PUSH2 0x3bc6 00004573: JUMP 00004574: JUMPDEST 00004575: SWAP3 00004576: POP 00004577: POP 00004578: PUSH1 0x20 0000457a: PUSH2 0x451b 0000457d: DUP6 0000457e: DUP3 0000457f: DUP7 00004580: ADD 00004581: PUSH2 0x3f55 00004584: JUMP 00004585: JUMPDEST 00004586: PUSH1 0x00 00004588: DUP1 00004589: PUSH1 0x00 0000458b: DUP1 0000458c: PUSH1 0x00 0000458e: DUP1 0000458f: PUSH1 0x00 00004591: DUP1 00004592: PUSH1 0x00 00004594: PUSH2 0x0120 00004597: DUP11 00004598: DUP13 00004599: SUB 0000459a: SLT 0000459b: ISZERO 0000459c: PUSH2 0x45a4 0000459f: JUMPI 000045a0: PUSH1 0x00 000045a2: DUP1 000045a3: REVERT 000045a4: JUMPDEST 000045a5: PUSH1 0x00 000045a7: PUSH2 0x45b0 000045aa: DUP13 000045ab: DUP13 000045ac: PUSH2 0x3bc6 000045af: JUMP 000045b0: JUMPDEST 000045b1: SWAP10 000045b2: POP 000045b3: POP 000045b4: PUSH1 0x20 000045b6: PUSH2 0x45c1 000045b9: DUP13 000045ba: DUP3 000045bb: DUP14 000045bc: ADD 000045bd: PUSH2 0x3f55 000045c0: JUMP 000045c1: JUMPDEST 000045c2: SWAP9 000045c3: POP 000045c4: POP 000045c5: PUSH1 0x40 000045c7: PUSH2 0x45d2 000045ca: DUP13 000045cb: DUP3 000045cc: DUP14 000045cd: ADD 000045ce: PUSH2 0x3f55 000045d1: JUMP 000045d2: JUMPDEST 000045d3: SWAP8 000045d4: POP 000045d5: POP 000045d6: PUSH1 0x60 000045d8: PUSH2 0x45e3 000045db: DUP13 000045dc: DUP3 000045dd: DUP14 000045de: ADD 000045df: PUSH2 0x410a 000045e2: JUMP 000045e3: JUMPDEST 000045e4: SWAP7 000045e5: POP 000045e6: POP 000045e7: PUSH1 0x80 000045e9: PUSH2 0x45f4 000045ec: DUP13 000045ed: DUP3 000045ee: DUP14 000045ef: ADD 000045f0: PUSH2 0x410a 000045f3: JUMP 000045f4: JUMPDEST 000045f5: SWAP6 000045f6: POP 000045f7: POP 000045f8: PUSH1 0xa0 000045fa: PUSH2 0x4605 000045fd: DUP13 000045fe: DUP3 000045ff: DUP14 00004600: ADD 00004601: PUSH2 0x4478 00004604: JUMP 00004605: JUMPDEST 00004606: SWAP5 00004607: POP 00004608: POP 00004609: PUSH1 0xc0 0000460b: PUSH2 0x4616 0000460e: DUP13 0000460f: DUP3 00004610: DUP14 00004611: ADD 00004612: PUSH2 0x4478 00004615: JUMP 00004616: JUMPDEST 00004617: SWAP4 00004618: POP 00004619: POP 0000461a: PUSH1 0xe0 0000461c: PUSH2 0x4627 0000461f: DUP13 00004620: DUP3 00004621: DUP14 00004622: ADD 00004623: PUSH2 0x410a 00004626: JUMP 00004627: JUMPDEST 00004628: SWAP3 00004629: POP 0000462a: POP 0000462b: PUSH2 0x0100 0000462e: PUSH2 0x4639 00004631: DUP13 00004632: DUP3 00004633: DUP14 00004634: ADD 00004635: PUSH2 0x3ef0 00004638: JUMP 00004639: JUMPDEST 0000463a: SWAP2 0000463b: POP 0000463c: POP 0000463d: SWAP3 0000463e: SWAP6 0000463f: SWAP9 00004640: POP 00004641: SWAP3 00004642: SWAP6 00004643: SWAP9 00004644: POP 00004645: SWAP3 00004646: SWAP6 00004647: SWAP9 00004648: JUMP 00004649: JUMPDEST 0000464a: PUSH1 0x00 0000464c: DUP1 0000464d: PUSH1 0x40 0000464f: DUP4 00004650: DUP6 00004651: SUB 00004652: SLT 00004653: ISZERO 00004654: PUSH2 0x465c 00004657: JUMPI 00004658: PUSH1 0x00 0000465a: DUP1 0000465b: REVERT 0000465c: JUMPDEST 0000465d: DUP3 0000465e: CALLDATALOAD 0000465f: PUSH8 0xffffffffffffffff 00004668: DUP2 00004669: GT 0000466a: ISZERO 0000466b: PUSH2 0x4673 0000466e: JUMPI 0000466f: PUSH1 0x00 00004671: DUP1 00004672: REVERT 00004673: JUMPDEST 00004674: PUSH2 0x467f 00004677: DUP6 00004678: DUP3 00004679: DUP7 0000467a: ADD 0000467b: PUSH2 0x3cb8 0000467e: JUMP 0000467f: JUMPDEST 00004680: SWAP3 00004681: POP 00004682: POP 00004683: PUSH1 0x20 00004685: DUP4 00004686: ADD 00004687: CALLDATALOAD 00004688: PUSH8 0xffffffffffffffff 00004691: DUP2 00004692: GT 00004693: ISZERO 00004694: PUSH2 0x469c 00004697: JUMPI 00004698: PUSH1 0x00 0000469a: DUP1 0000469b: REVERT 0000469c: JUMPDEST 0000469d: PUSH2 0x451b 000046a0: DUP6 000046a1: DUP3 000046a2: DUP7 000046a3: ADD 000046a4: PUSH2 0x3c5b 000046a7: JUMP 000046a8: JUMPDEST 000046a9: PUSH1 0x00 000046ab: PUSH1 0x20 000046ad: DUP3 000046ae: DUP5 000046af: SUB 000046b0: SLT 000046b1: ISZERO 000046b2: PUSH2 0x46ba 000046b5: JUMPI 000046b6: PUSH1 0x00 000046b8: DUP1 000046b9: REVERT 000046ba: JUMPDEST 000046bb: DUP2 000046bc: CALLDATALOAD 000046bd: PUSH8 0xffffffffffffffff 000046c6: DUP2 000046c7: GT 000046c8: ISZERO 000046c9: PUSH2 0x46d1 000046cc: JUMPI 000046cd: PUSH1 0x00 000046cf: DUP1 000046d0: REVERT 000046d1: JUMPDEST 000046d2: PUSH2 0x2e25 000046d5: DUP5 000046d6: DUP3 000046d7: DUP6 000046d8: ADD 000046d9: PUSH2 0x3d2a 000046dc: JUMP 000046dd: JUMPDEST 000046de: PUSH1 0x00 000046e0: PUSH1 0x20 000046e2: DUP3 000046e3: DUP5 000046e4: SUB 000046e5: SLT 000046e6: ISZERO 000046e7: PUSH2 0x46ef 000046ea: JUMPI 000046eb: PUSH1 0x00 000046ed: DUP1 000046ee: REVERT 000046ef: JUMPDEST 000046f0: DUP2 000046f1: MLOAD 000046f2: PUSH8 0xffffffffffffffff 000046fb: DUP2 000046fc: GT 000046fd: ISZERO 000046fe: PUSH2 0x4706 00004701: JUMPI 00004702: PUSH1 0x00 00004704: DUP1 00004705: REVERT 00004706: JUMPDEST 00004707: PUSH2 0x2e25 0000470a: DUP5 0000470b: DUP3 0000470c: DUP6 0000470d: ADD 0000470e: PUSH2 0x3e80 00004711: JUMP 00004712: JUMPDEST 00004713: PUSH1 0x00 00004715: DUP1 00004716: PUSH1 0x00 00004718: DUP1 00004719: PUSH1 0x80 0000471b: DUP6 0000471c: DUP8 0000471d: SUB 0000471e: SLT 0000471f: ISZERO 00004720: PUSH2 0x4728 00004723: JUMPI 00004724: PUSH1 0x00 00004726: DUP1 00004727: REVERT 00004728: JUMPDEST 00004729: DUP5 0000472a: MLOAD 0000472b: PUSH8 0xffffffffffffffff 00004734: DUP2 00004735: GT 00004736: ISZERO 00004737: PUSH2 0x473f 0000473a: JUMPI 0000473b: PUSH1 0x00 0000473d: DUP1 0000473e: REVERT 0000473f: JUMPDEST 00004740: PUSH2 0x474b 00004743: DUP8 00004744: DUP3 00004745: DUP9 00004746: ADD 00004747: PUSH2 0x3e80 0000474a: JUMP 0000474b: JUMPDEST 0000474c: SWAP5 0000474d: POP 0000474e: POP 0000474f: PUSH1 0x20 00004751: DUP6 00004752: ADD 00004753: MLOAD 00004754: PUSH8 0xffffffffffffffff 0000475d: DUP2 0000475e: GT 0000475f: ISZERO 00004760: PUSH2 0x4768 00004763: JUMPI 00004764: PUSH1 0x00 00004766: DUP1 00004767: REVERT 00004768: JUMPDEST 00004769: PUSH2 0x4774 0000476c: DUP8 0000476d: DUP3 0000476e: DUP9 0000476f: ADD 00004770: PUSH2 0x3bdc 00004773: JUMP 00004774: JUMPDEST 00004775: SWAP4 00004776: POP 00004777: POP 00004778: PUSH1 0x40 0000477a: DUP6 0000477b: ADD 0000477c: MLOAD 0000477d: PUSH8 0xffffffffffffffff 00004786: DUP2 00004787: GT 00004788: ISZERO 00004789: PUSH2 0x4791 0000478c: JUMPI 0000478d: PUSH1 0x00 0000478f: DUP1 00004790: REVERT 00004791: JUMPDEST 00004792: PUSH2 0x479d 00004795: DUP8 00004796: DUP3 00004797: DUP9 00004798: ADD 00004799: PUSH2 0x3d9c 0000479c: JUMP 0000479d: JUMPDEST 0000479e: SWAP3 0000479f: POP 000047a0: POP 000047a1: PUSH1 0x60 000047a3: DUP6 000047a4: ADD 000047a5: MLOAD 000047a6: PUSH8 0xffffffffffffffff 000047af: DUP2 000047b0: GT 000047b1: ISZERO 000047b2: PUSH2 0x47ba 000047b5: JUMPI 000047b6: PUSH1 0x00 000047b8: DUP1 000047b9: REVERT 000047ba: JUMPDEST 000047bb: PUSH2 0x47c6 000047be: DUP8 000047bf: DUP3 000047c0: DUP9 000047c1: ADD 000047c2: PUSH2 0x3e0e 000047c5: JUMP 000047c6: JUMPDEST 000047c7: SWAP2 000047c8: POP 000047c9: POP 000047ca: SWAP3 000047cb: SWAP6 000047cc: SWAP2 000047cd: SWAP5 000047ce: POP 000047cf: SWAP3 000047d0: POP 000047d1: JUMP 000047d2: JUMPDEST 000047d3: PUSH1 0x00 000047d5: PUSH1 0x20 000047d7: DUP3 000047d8: DUP5 000047d9: SUB 000047da: SLT 000047db: ISZERO 000047dc: PUSH2 0x47e4 000047df: JUMPI 000047e0: PUSH1 0x00 000047e2: DUP1 000047e3: REVERT 000047e4: JUMPDEST 000047e5: PUSH1 0x00 000047e7: PUSH2 0x2e25 000047ea: DUP5 000047eb: DUP5 000047ec: PUSH2 0x3efb 000047ef: JUMP 000047f0: JUMPDEST 000047f1: PUSH1 0x00 000047f3: PUSH1 0x20 000047f5: DUP3 000047f6: DUP5 000047f7: SUB 000047f8: SLT 000047f9: ISZERO 000047fa: PUSH2 0x4802 000047fd: JUMPI 000047fe: PUSH1 0x00 00004800: DUP1 00004801: REVERT 00004802: JUMPDEST 00004803: PUSH1 0x00 00004805: PUSH2 0x2e25 00004808: DUP5 00004809: DUP5 0000480a: PUSH2 0x3f55 0000480d: JUMP 0000480e: JUMPDEST 0000480f: PUSH1 0x00 00004811: PUSH1 0x20 00004813: DUP3 00004814: DUP5 00004815: SUB 00004816: SLT 00004817: ISZERO 00004818: PUSH2 0x4820 0000481b: JUMPI 0000481c: PUSH1 0x00 0000481e: DUP1 0000481f: REVERT 00004820: JUMPDEST 00004821: PUSH1 0x00 00004823: PUSH2 0x2e25 00004826: DUP5 00004827: DUP5 00004828: PUSH2 0x3f60 0000482b: JUMP 0000482c: JUMPDEST 0000482d: PUSH1 0x00 0000482f: PUSH1 0x20 00004831: DUP3 00004832: DUP5 00004833: SUB 00004834: SLT 00004835: ISZERO 00004836: PUSH2 0x483e 00004839: JUMPI 0000483a: PUSH1 0x00 0000483c: DUP1 0000483d: REVERT 0000483e: JUMPDEST 0000483f: PUSH1 0x00 00004841: PUSH2 0x2e25 00004844: DUP5 00004845: DUP5 00004846: PUSH2 0x3f81 00004849: JUMP 0000484a: JUMPDEST 0000484b: PUSH1 0x00 0000484d: PUSH1 0x20 0000484f: DUP3 00004850: DUP5 00004851: SUB 00004852: SLT 00004853: ISZERO 00004854: PUSH2 0x485c 00004857: JUMPI 00004858: PUSH1 0x00 0000485a: DUP1 0000485b: REVERT 0000485c: JUMPDEST 0000485d: PUSH1 0x00 0000485f: PUSH2 0x2e25 00004862: DUP5 00004863: DUP5 00004864: PUSH2 0x410a 00004867: JUMP 00004868: JUMPDEST 00004869: PUSH1 0x00 0000486b: PUSH1 0x20 0000486d: DUP3 0000486e: DUP5 0000486f: SUB 00004870: SLT 00004871: ISZERO 00004872: PUSH2 0x487a 00004875: JUMPI 00004876: PUSH1 0x00 00004878: DUP1 00004879: REVERT 0000487a: JUMPDEST 0000487b: PUSH1 0x00 0000487d: PUSH2 0x2e25 00004880: DUP5 00004881: DUP5 00004882: PUSH2 0x40d7 00004885: JUMP 00004886: JUMPDEST 00004887: PUSH1 0x00 00004889: DUP1 0000488a: PUSH1 0x40 0000488c: DUP4 0000488d: DUP6 0000488e: SUB 0000488f: SLT 00004890: ISZERO 00004891: PUSH2 0x4899 00004894: JUMPI 00004895: PUSH1 0x00 00004897: DUP1 00004898: REVERT 00004899: JUMPDEST 0000489a: PUSH1 0x00 0000489c: PUSH2 0x48a5 0000489f: DUP6 000048a0: DUP6 000048a1: PUSH2 0x40d7 000048a4: JUMP 000048a5: JUMPDEST 000048a6: SWAP3 000048a7: POP 000048a8: POP 000048a9: PUSH1 0x20 000048ab: PUSH2 0x451b 000048ae: DUP6 000048af: DUP3 000048b0: DUP7 000048b1: ADD 000048b2: PUSH2 0x40d7 000048b5: JUMP 000048b6: JUMPDEST 000048b7: PUSH1 0x00 000048b9: PUSH1 0x60 000048bb: DUP3 000048bc: DUP5 000048bd: SUB 000048be: SLT 000048bf: ISZERO 000048c0: PUSH2 0x48c8 000048c3: JUMPI 000048c4: PUSH1 0x00 000048c6: DUP1 000048c7: REVERT 000048c8: JUMPDEST 000048c9: PUSH1 0x00 000048cb: PUSH2 0x2e25 000048ce: DUP5 000048cf: DUP5 000048d0: PUSH2 0x4134 000048d3: JUMP 000048d4: JUMPDEST 000048d5: PUSH1 0x00 000048d7: PUSH1 0x40 000048d9: DUP3 000048da: DUP5 000048db: SUB 000048dc: SLT 000048dd: ISZERO 000048de: PUSH2 0x48e6 000048e1: JUMPI 000048e2: PUSH1 0x00 000048e4: DUP1 000048e5: REVERT 000048e6: JUMPDEST 000048e7: PUSH1 0x00 000048e9: PUSH2 0x2e25 000048ec: DUP5 000048ed: DUP5 000048ee: PUSH2 0x418f 000048f1: JUMP 000048f2: JUMPDEST 000048f3: PUSH1 0x00 000048f5: DUP1 000048f6: PUSH1 0x60 000048f8: DUP4 000048f9: DUP6 000048fa: SUB 000048fb: SLT 000048fc: ISZERO 000048fd: PUSH2 0x4905 00004900: JUMPI 00004901: PUSH1 0x00 00004903: DUP1 00004904: REVERT 00004905: JUMPDEST 00004906: PUSH1 0x00 00004908: PUSH2 0x4911 0000490b: DUP6 0000490c: DUP6 0000490d: PUSH2 0x418f 00004910: JUMP 00004911: JUMPDEST 00004912: SWAP3 00004913: POP 00004914: POP 00004915: PUSH1 0x40 00004917: PUSH2 0x451b 0000491a: DUP6 0000491b: DUP3 0000491c: DUP7 0000491d: ADD 0000491e: PUSH2 0x4478 00004921: JUMP 00004922: JUMPDEST 00004923: PUSH1 0x00 00004925: DUP1 00004926: PUSH1 0x00 00004928: PUSH1 0x80 0000492a: DUP5 0000492b: DUP7 0000492c: SUB 0000492d: SLT 0000492e: ISZERO 0000492f: PUSH2 0x4937 00004932: JUMPI 00004933: PUSH1 0x00 00004935: DUP1 00004936: REVERT 00004937: JUMPDEST 00004938: PUSH1 0x00 0000493a: PUSH2 0x4943 0000493d: DUP7 0000493e: DUP7 0000493f: PUSH2 0x418f 00004942: JUMP 00004943: JUMPDEST 00004944: SWAP4 00004945: POP 00004946: POP 00004947: PUSH1 0x40 00004949: PUSH2 0x4954 0000494c: DUP7 0000494d: DUP3 0000494e: DUP8 0000494f: ADD 00004950: PUSH2 0x4478 00004953: JUMP 00004954: JUMPDEST 00004955: SWAP3 00004956: POP 00004957: POP 00004958: PUSH1 0x60 0000495a: PUSH2 0x4965 0000495d: DUP7 0000495e: DUP3 0000495f: DUP8 00004960: ADD 00004961: PUSH2 0x4478 00004964: JUMP 00004965: JUMPDEST 00004966: SWAP2 00004967: POP 00004968: POP 00004969: SWAP3 0000496a: POP 0000496b: SWAP3 0000496c: POP 0000496d: SWAP3 0000496e: JUMP 0000496f: JUMPDEST 00004970: PUSH1 0x00 00004972: PUSH2 0x0200 00004975: DUP3 00004976: DUP5 00004977: SUB 00004978: SLT 00004979: ISZERO 0000497a: PUSH2 0x4982 0000497d: JUMPI 0000497e: PUSH1 0x00 00004980: DUP1 00004981: REVERT 00004982: JUMPDEST 00004983: PUSH1 0x00 00004985: PUSH2 0x2e25 00004988: DUP5 00004989: DUP5 0000498a: PUSH2 0x41d6 0000498d: JUMP 0000498e: JUMPDEST 0000498f: PUSH1 0x00 00004991: DUP1 00004992: PUSH1 0x00 00004994: DUP1 00004995: PUSH2 0x02a0 00004998: DUP6 00004999: DUP8 0000499a: SUB 0000499b: SLT 0000499c: ISZERO 0000499d: PUSH2 0x49a5 000049a0: JUMPI 000049a1: PUSH1 0x00 000049a3: DUP1 000049a4: REVERT 000049a5: JUMPDEST 000049a6: PUSH1 0x00 000049a8: PUSH2 0x49b1 000049ab: DUP8 000049ac: DUP8 000049ad: PUSH2 0x41d6 000049b0: JUMP 000049b1: JUMPDEST 000049b2: SWAP5 000049b3: POP 000049b4: POP 000049b5: PUSH2 0x0200 000049b8: PUSH2 0x49c3 000049bb: DUP8 000049bc: DUP3 000049bd: DUP9 000049be: ADD 000049bf: PUSH2 0x4134 000049c2: JUMP 000049c3: JUMPDEST 000049c4: SWAP4 000049c5: POP 000049c6: POP 000049c7: PUSH2 0x0260 000049ca: PUSH2 0x49d5 000049cd: DUP8 000049ce: DUP3 000049cf: DUP9 000049d0: ADD 000049d1: PUSH2 0x40d7 000049d4: JUMP 000049d5: JUMPDEST 000049d6: SWAP3 000049d7: POP 000049d8: POP 000049d9: PUSH2 0x0280 000049dc: PUSH2 0x47c6 000049df: DUP8 000049e0: DUP3 000049e1: DUP9 000049e2: ADD 000049e3: PUSH2 0x40d7 000049e6: JUMP 000049e7: JUMPDEST 000049e8: PUSH1 0x00 000049ea: PUSH1 0x40 000049ec: DUP3 000049ed: DUP5 000049ee: SUB 000049ef: SLT 000049f0: ISZERO 000049f1: PUSH2 0x49f9 000049f4: JUMPI 000049f5: PUSH1 0x00 000049f7: DUP1 000049f8: REVERT 000049f9: JUMPDEST 000049fa: PUSH1 0x00 000049fc: PUSH2 0x2e25 000049ff: DUP5 00004a00: DUP5 00004a01: PUSH2 0x4317 00004a04: JUMP 00004a05: JUMPDEST 00004a06: PUSH1 0x00 00004a08: PUSH1 0xe0 00004a0a: DUP3 00004a0b: DUP5 00004a0c: SUB 00004a0d: SLT 00004a0e: ISZERO 00004a0f: PUSH2 0x4a17 00004a12: JUMPI 00004a13: PUSH1 0x00 00004a15: DUP1 00004a16: REVERT 00004a17: JUMPDEST 00004a18: PUSH1 0x00 00004a1a: PUSH2 0x2e25 00004a1d: DUP5 00004a1e: DUP5 00004a1f: PUSH2 0x4352 00004a22: JUMP 00004a23: JUMPDEST 00004a24: PUSH1 0x00 00004a26: PUSH1 0x40 00004a28: DUP3 00004a29: DUP5 00004a2a: SUB 00004a2b: SLT 00004a2c: ISZERO 00004a2d: PUSH2 0x4a35 00004a30: JUMPI 00004a31: PUSH1 0x00 00004a33: DUP1 00004a34: REVERT 00004a35: JUMPDEST 00004a36: PUSH1 0x00 00004a38: PUSH2 0x2e25 00004a3b: DUP5 00004a3c: DUP5 00004a3d: PUSH2 0x43fd 00004a40: JUMP 00004a41: JUMPDEST 00004a42: PUSH1 0x00 00004a44: PUSH1 0x40 00004a46: DUP3 00004a47: DUP5 00004a48: SUB 00004a49: SLT 00004a4a: ISZERO 00004a4b: PUSH2 0x4a53 00004a4e: JUMPI 00004a4f: PUSH1 0x00 00004a51: DUP1 00004a52: REVERT 00004a53: JUMPDEST 00004a54: PUSH1 0x00 00004a56: PUSH2 0x2e25 00004a59: DUP5 00004a5a: DUP5 00004a5b: PUSH2 0x4427 00004a5e: JUMP 00004a5f: JUMPDEST 00004a60: PUSH1 0x00 00004a62: PUSH1 0x20 00004a64: DUP3 00004a65: DUP5 00004a66: SUB 00004a67: SLT 00004a68: ISZERO 00004a69: PUSH2 0x4a71 00004a6c: JUMPI 00004a6d: PUSH1 0x00 00004a6f: DUP1 00004a70: REVERT 00004a71: JUMPDEST 00004a72: PUSH1 0x00 00004a74: PUSH2 0x2e25 00004a77: DUP5 00004a78: DUP5 00004a79: PUSH2 0x4478 00004a7c: JUMP 00004a7d: JUMPDEST 00004a7e: PUSH1 0x00 00004a80: PUSH1 0x20 00004a82: DUP3 00004a83: DUP5 00004a84: SUB 00004a85: SLT 00004a86: ISZERO 00004a87: PUSH2 0x4a8f 00004a8a: JUMPI 00004a8b: PUSH1 0x00 00004a8d: DUP1 00004a8e: REVERT 00004a8f: JUMPDEST 00004a90: PUSH1 0x00 00004a92: PUSH2 0x2e25 00004a95: DUP5 00004a96: DUP5 00004a97: PUSH2 0x4483 00004a9a: JUMP 00004a9b: JUMPDEST 00004a9c: PUSH1 0x00 00004a9e: DUP1 00004a9f: PUSH1 0x40 00004aa1: DUP4 00004aa2: DUP6 00004aa3: SUB 00004aa4: SLT 00004aa5: ISZERO 00004aa6: PUSH2 0x4aae 00004aa9: JUMPI 00004aaa: PUSH1 0x00 00004aac: DUP1 00004aad: REVERT 00004aae: JUMPDEST 00004aaf: PUSH1 0x00 00004ab1: PUSH2 0x450a 00004ab4: DUP6 00004ab5: DUP6 00004ab6: PUSH2 0x4478 00004ab9: JUMP 00004aba: JUMPDEST 00004abb: PUSH1 0x00 00004abd: DUP1 00004abe: PUSH1 0x40 00004ac0: DUP4 00004ac1: DUP6 00004ac2: SUB 00004ac3: SLT 00004ac4: ISZERO 00004ac5: PUSH2 0x4acd 00004ac8: JUMPI 00004ac9: PUSH1 0x00 00004acb: DUP1 00004acc: REVERT 00004acd: JUMPDEST 00004ace: PUSH1 0x00 00004ad0: PUSH2 0x4544 00004ad3: DUP6 00004ad4: DUP6 00004ad5: PUSH2 0x4478 00004ad8: JUMP 00004ad9: JUMPDEST 00004ada: PUSH1 0x00 00004adc: DUP1 00004add: PUSH1 0x40 00004adf: DUP4 00004ae0: DUP6 00004ae1: SUB 00004ae2: SLT 00004ae3: ISZERO 00004ae4: PUSH2 0x4aec 00004ae7: JUMPI 00004ae8: PUSH1 0x00 00004aea: DUP1 00004aeb: REVERT 00004aec: JUMPDEST 00004aed: PUSH1 0x00 00004aef: PUSH2 0x4574 00004af2: DUP6 00004af3: DUP6 00004af4: PUSH2 0x4478 00004af7: JUMP 00004af8: JUMPDEST 00004af9: PUSH1 0x00 00004afb: DUP1 00004afc: PUSH1 0x40 00004afe: DUP4 00004aff: DUP6 00004b00: SUB 00004b01: SLT 00004b02: ISZERO 00004b03: PUSH2 0x4b0b 00004b06: JUMPI 00004b07: PUSH1 0x00 00004b09: DUP1 00004b0a: REVERT 00004b0b: JUMPDEST 00004b0c: PUSH1 0x00 00004b0e: PUSH2 0x4b17 00004b11: DUP6 00004b12: DUP6 00004b13: PUSH2 0x4478 00004b16: JUMP 00004b17: JUMPDEST 00004b18: SWAP3 00004b19: POP 00004b1a: POP 00004b1b: PUSH1 0x20 00004b1d: PUSH2 0x451b 00004b20: DUP6 00004b21: DUP3 00004b22: DUP7 00004b23: ADD 00004b24: PUSH2 0x410a 00004b27: JUMP 00004b28: JUMPDEST 00004b29: PUSH1 0x00 00004b2b: DUP1 00004b2c: PUSH1 0x40 00004b2e: DUP4 00004b2f: DUP6 00004b30: SUB 00004b31: SLT 00004b32: ISZERO 00004b33: PUSH2 0x4b3b 00004b36: JUMPI 00004b37: PUSH1 0x00 00004b39: DUP1 00004b3a: REVERT 00004b3b: JUMPDEST 00004b3c: PUSH1 0x00 00004b3e: PUSH2 0x4b47 00004b41: DUP6 00004b42: DUP6 00004b43: PUSH2 0x4478 00004b46: JUMP 00004b47: JUMPDEST 00004b48: SWAP3 00004b49: POP 00004b4a: POP 00004b4b: PUSH1 0x20 00004b4d: PUSH2 0x451b 00004b50: DUP6 00004b51: DUP3 00004b52: DUP7 00004b53: ADD 00004b54: PUSH2 0x4478 00004b57: JUMP 00004b58: JUMPDEST 00004b59: PUSH1 0x00 00004b5b: PUSH2 0x4b64 00004b5e: DUP4 00004b5f: DUP4 00004b60: PUSH2 0x4bb0 00004b63: JUMP 00004b64: JUMPDEST 00004b65: POP 00004b66: POP 00004b67: PUSH1 0x20 00004b69: ADD 00004b6a: SWAP1 00004b6b: JUMP 00004b6c: JUMPDEST 00004b6d: PUSH1 0x00 00004b6f: PUSH2 0x1b46 00004b72: DUP4 00004b73: DUP4 00004b74: PUSH2 0x4ef4 00004b77: JUMP 00004b78: JUMPDEST 00004b79: PUSH1 0x00 00004b7b: PUSH2 0x4b84 00004b7e: DUP4 00004b7f: DUP4 00004b80: PUSH2 0x5037 00004b83: JUMP 00004b84: JUMPDEST 00004b85: POP 00004b86: POP 00004b87: PUSH1 0x40 00004b89: ADD 00004b8a: SWAP1 00004b8b: JUMP 00004b8c: JUMPDEST 00004b8d: PUSH1 0x00 00004b8f: PUSH2 0x4b84 00004b92: DUP4 00004b93: DUP4 00004b94: PUSH2 0x5134 00004b97: JUMP 00004b98: JUMPDEST 00004b99: PUSH1 0x00 00004b9b: PUSH2 0x4b84 00004b9e: DUP4 00004b9f: DUP4 00004ba0: PUSH2 0x51f0 00004ba3: JUMP 00004ba4: JUMPDEST 00004ba5: PUSH1 0x00 00004ba7: PUSH2 0x4b64 00004baa: DUP4 00004bab: DUP4 00004bac: PUSH2 0x5213 00004baf: JUMP 00004bb0: JUMPDEST 00004bb1: PUSH2 0x4bb9 00004bb4: DUP2 00004bb5: PUSH2 0x574f 00004bb8: JUMP 00004bb9: JUMPDEST 00004bba: DUP3 00004bbb: MSTORE 00004bbc: POP 00004bbd: POP 00004bbe: JUMP 00004bbf: JUMPDEST 00004bc0: PUSH1 0x00 00004bc2: PUSH2 0x4bca 00004bc5: DUP3 00004bc6: PUSH2 0x5742 00004bc9: JUMP 00004bca: JUMPDEST 00004bcb: PUSH2 0x4bd4 00004bce: DUP2 00004bcf: DUP6 00004bd0: PUSH2 0x5746 00004bd3: JUMP 00004bd4: JUMPDEST 00004bd5: SWAP4 00004bd6: POP 00004bd7: PUSH2 0x4bdf 00004bda: DUP4 00004bdb: PUSH2 0x573c 00004bde: JUMP 00004bdf: JUMPDEST 00004be0: DUP1 00004be1: PUSH1 0x00 00004be3: JUMPDEST 00004be4: DUP4 00004be5: DUP2 00004be6: LT 00004be7: ISZERO 00004be8: PUSH2 0x4c0d 00004beb: JUMPI 00004bec: DUP2 00004bed: MLOAD 00004bee: PUSH2 0x4bf7 00004bf1: DUP9 00004bf2: DUP3 00004bf3: PUSH2 0x4b58 00004bf6: JUMP 00004bf7: JUMPDEST 00004bf8: SWAP8 00004bf9: POP 00004bfa: PUSH2 0x4c02 00004bfd: DUP4 00004bfe: PUSH2 0x573c 00004c01: JUMP 00004c02: JUMPDEST 00004c03: SWAP3 00004c04: POP 00004c05: POP 00004c06: PUSH1 0x01 00004c08: ADD 00004c09: PUSH2 0x4be3 00004c0c: JUMP 00004c0d: JUMPDEST 00004c0e: POP 00004c0f: SWAP5 00004c10: SWAP6 00004c11: SWAP5 00004c12: POP 00004c13: POP 00004c14: POP 00004c15: POP 00004c16: POP 00004c17: JUMP 00004c18: JUMPDEST 00004c19: PUSH1 0x00 00004c1b: PUSH2 0x4c23 00004c1e: DUP3 00004c1f: PUSH2 0x5742 00004c22: JUMP 00004c23: JUMPDEST 00004c24: PUSH2 0x4c2d 00004c27: DUP2 00004c28: DUP6 00004c29: PUSH2 0x5746 00004c2c: JUMP 00004c2d: JUMPDEST 00004c2e: SWAP4 00004c2f: POP 00004c30: DUP4 00004c31: PUSH1 0x20 00004c33: DUP3 00004c34: MUL 00004c35: DUP6 00004c36: ADD 00004c37: PUSH2 0x4c3f 00004c3a: DUP6 00004c3b: PUSH2 0x573c 00004c3e: JUMP 00004c3f: JUMPDEST 00004c40: DUP1 00004c41: PUSH1 0x00 00004c43: JUMPDEST 00004c44: DUP6 00004c45: DUP2 00004c46: LT 00004c47: ISZERO 00004c48: PUSH2 0x4c79 00004c4b: JUMPI 00004c4c: DUP5 00004c4d: DUP5 00004c4e: SUB 00004c4f: DUP10 00004c50: MSTORE 00004c51: DUP2 00004c52: MLOAD 00004c53: PUSH2 0x4c5c 00004c56: DUP6 00004c57: DUP3 00004c58: PUSH2 0x4b6c 00004c5b: JUMP 00004c5c: JUMPDEST 00004c5d: SWAP5 00004c5e: POP 00004c5f: PUSH2 0x4c67 00004c62: DUP4 00004c63: PUSH2 0x573c 00004c66: JUMP 00004c67: JUMPDEST 00004c68: PUSH1 0x20 00004c6a: SWAP11 00004c6b: SWAP1 00004c6c: SWAP11 00004c6d: ADD 00004c6e: SWAP10 00004c6f: SWAP3 00004c70: POP 00004c71: POP 00004c72: PUSH1 0x01 00004c74: ADD 00004c75: PUSH2 0x4c43 00004c78: JUMP 00004c79: JUMPDEST 00004c7a: POP 00004c7b: SWAP2 00004c7c: SWAP8 00004c7d: SWAP7 00004c7e: POP 00004c7f: POP 00004c80: POP 00004c81: POP 00004c82: POP 00004c83: POP 00004c84: POP 00004c85: JUMP 00004c86: JUMPDEST 00004c87: PUSH1 0x00 00004c89: PUSH2 0x4c91 00004c8c: DUP3 00004c8d: PUSH2 0x5742 00004c90: JUMP 00004c91: JUMPDEST 00004c92: PUSH2 0x4c9b 00004c95: DUP2 00004c96: DUP6 00004c97: PUSH2 0x5746 00004c9a: JUMP 00004c9b: JUMPDEST 00004c9c: SWAP4 00004c9d: POP 00004c9e: PUSH2 0x4ca6 00004ca1: DUP4 00004ca2: PUSH2 0x573c 00004ca5: JUMP 00004ca6: JUMPDEST 00004ca7: DUP1 00004ca8: PUSH1 0x00 00004caa: JUMPDEST 00004cab: DUP4 00004cac: DUP2 00004cad: LT 00004cae: ISZERO 00004caf: PUSH2 0x4c0d 00004cb2: JUMPI 00004cb3: DUP2 00004cb4: MLOAD 00004cb5: PUSH2 0x4cbe 00004cb8: DUP9 00004cb9: DUP3 00004cba: PUSH2 0x4b78 00004cbd: JUMP 00004cbe: JUMPDEST 00004cbf: SWAP8 00004cc0: POP 00004cc1: PUSH2 0x4cc9 00004cc4: DUP4 00004cc5: PUSH2 0x573c 00004cc8: JUMP 00004cc9: JUMPDEST 00004cca: SWAP3 00004ccb: POP 00004ccc: POP 00004ccd: PUSH1 0x01 00004ccf: ADD 00004cd0: PUSH2 0x4caa 00004cd3: JUMP 00004cd4: JUMPDEST 00004cd5: PUSH1 0x00 00004cd7: PUSH2 0x4cdf 00004cda: DUP3 00004cdb: PUSH2 0x5742 00004cde: JUMP 00004cdf: JUMPDEST 00004ce0: PUSH2 0x4ce9 00004ce3: DUP2 00004ce4: DUP6 00004ce5: PUSH2 0x5746 00004ce8: JUMP 00004ce9: JUMPDEST 00004cea: SWAP4 00004ceb: POP 00004cec: PUSH2 0x4cf4 00004cef: DUP4 00004cf0: PUSH2 0x573c 00004cf3: JUMP 00004cf4: JUMPDEST 00004cf5: DUP1 00004cf6: PUSH1 0x00 00004cf8: JUMPDEST 00004cf9: DUP4 00004cfa: DUP2 00004cfb: LT 00004cfc: ISZERO 00004cfd: PUSH2 0x4c0d 00004d00: JUMPI 00004d01: DUP2 00004d02: MLOAD 00004d03: PUSH2 0x4d0c 00004d06: DUP9 00004d07: DUP3 00004d08: PUSH2 0x4b8c 00004d0b: JUMP 00004d0c: JUMPDEST 00004d0d: SWAP8 00004d0e: POP 00004d0f: PUSH2 0x4d17 00004d12: DUP4 00004d13: PUSH2 0x573c 00004d16: JUMP 00004d17: JUMPDEST 00004d18: SWAP3 00004d19: POP 00004d1a: POP 00004d1b: PUSH1 0x01 00004d1d: ADD 00004d1e: PUSH2 0x4cf8 00004d21: JUMP 00004d22: JUMPDEST 00004d23: PUSH1 0x00 00004d25: PUSH2 0x4d2d 00004d28: DUP3 00004d29: PUSH2 0x5742 00004d2c: JUMP 00004d2d: JUMPDEST 00004d2e: PUSH2 0x4d37 00004d31: DUP2 00004d32: DUP6 00004d33: PUSH2 0x5746 00004d36: JUMP 00004d37: JUMPDEST 00004d38: SWAP4 00004d39: POP 00004d3a: PUSH2 0x4d42 00004d3d: DUP4 00004d3e: PUSH2 0x573c 00004d41: JUMP 00004d42: JUMPDEST 00004d43: DUP1 00004d44: PUSH1 0x00 00004d46: JUMPDEST 00004d47: DUP4 00004d48: DUP2 00004d49: LT 00004d4a: ISZERO 00004d4b: PUSH2 0x4c0d 00004d4e: JUMPI 00004d4f: DUP2 00004d50: MLOAD 00004d51: PUSH2 0x4d5a 00004d54: DUP9 00004d55: DUP3 00004d56: PUSH2 0x4b98 00004d59: JUMP 00004d5a: JUMPDEST 00004d5b: SWAP8 00004d5c: POP 00004d5d: PUSH2 0x4d65 00004d60: DUP4 00004d61: PUSH2 0x573c 00004d64: JUMP 00004d65: JUMPDEST 00004d66: SWAP3 00004d67: POP 00004d68: POP 00004d69: PUSH1 0x01 00004d6b: ADD 00004d6c: PUSH2 0x4d46 00004d6f: JUMP 00004d70: JUMPDEST 00004d71: PUSH1 0x00 00004d73: PUSH2 0x4d7b 00004d76: DUP3 00004d77: PUSH2 0x5742 00004d7a: JUMP 00004d7b: JUMPDEST 00004d7c: PUSH2 0x4d85 00004d7f: DUP2 00004d80: DUP6 00004d81: PUSH2 0x5746 00004d84: JUMP 00004d85: JUMPDEST 00004d86: SWAP4 00004d87: POP 00004d88: PUSH2 0x4d90 00004d8b: DUP4 00004d8c: PUSH2 0x573c 00004d8f: JUMP 00004d90: JUMPDEST 00004d91: DUP1 00004d92: PUSH1 0x00 00004d94: JUMPDEST 00004d95: DUP4 00004d96: DUP2 00004d97: LT 00004d98: ISZERO 00004d99: PUSH2 0x4c0d 00004d9c: JUMPI 00004d9d: DUP2 00004d9e: MLOAD 00004d9f: PUSH2 0x4da8 00004da2: DUP9 00004da3: DUP3 00004da4: PUSH2 0x4ba4 00004da7: JUMP 00004da8: JUMPDEST 00004da9: SWAP8 00004daa: POP 00004dab: PUSH2 0x4db3 00004dae: DUP4 00004daf: PUSH2 0x573c 00004db2: JUMP 00004db3: JUMPDEST 00004db4: SWAP3 00004db5: POP 00004db6: POP 00004db7: PUSH1 0x01 00004db9: ADD 00004dba: PUSH2 0x4d94 00004dbd: JUMP 00004dbe: JUMPDEST 00004dbf: PUSH2 0x4bb9 00004dc2: DUP2 00004dc3: PUSH2 0x575a 00004dc6: JUMP 00004dc7: JUMPDEST 00004dc8: PUSH1 0x00 00004dca: PUSH2 0x4dd2 00004dcd: DUP3 00004dce: PUSH2 0x5742 00004dd1: JUMP 00004dd2: JUMPDEST 00004dd3: PUSH2 0x4ddc 00004dd6: DUP2 00004dd7: DUP6 00004dd8: PUSH2 0x5746 00004ddb: JUMP 00004ddc: JUMPDEST 00004ddd: SWAP4 00004dde: POP 00004ddf: PUSH2 0x4dec 00004de2: DUP2 00004de3: DUP6 00004de4: PUSH1 0x20 00004de6: DUP7 00004de7: ADD 00004de8: PUSH2 0x5820 00004deb: JUMP 00004dec: JUMPDEST 00004ded: PUSH2 0x4df5 00004df0: DUP2 00004df1: PUSH2 0x584c 00004df4: JUMP 00004df5: JUMPDEST 00004df6: SWAP1 00004df7: SWAP4 00004df8: ADD 00004df9: SWAP4 00004dfa: SWAP3 00004dfb: POP 00004dfc: POP 00004dfd: POP 00004dfe: JUMP 00004dff: JUMPDEST 00004e00: PUSH2 0x4bb9 00004e03: DUP2 00004e04: PUSH2 0x575f 00004e07: JUMP 00004e08: JUMPDEST 00004e09: PUSH2 0x4bb9 00004e0c: DUP2 00004e0d: PUSH2 0x57f3 00004e10: JUMP 00004e11: JUMPDEST 00004e12: PUSH2 0x4bb9 00004e15: DUP2 00004e16: PUSH2 0x57fe 00004e19: JUMP 00004e1a: JUMPDEST 00004e1b: PUSH2 0x4bb9 00004e1e: DUP2 00004e1f: PUSH2 0x5809 00004e22: JUMP 00004e23: JUMPDEST 00004e24: PUSH1 0x00 00004e26: PUSH2 0x4e30 00004e29: PUSH1 0x26 00004e2b: DUP4 00004e2c: PUSH2 0x5746 00004e2f: JUMP 00004e30: JUMPDEST 00004e31: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 00004e52: DUP2 00004e53: MSTORE 00004e54: PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 00004e75: PUSH1 0x20 00004e77: DUP3 00004e78: ADD 00004e79: MSTORE 00004e7a: PUSH1 0x40 00004e7c: ADD 00004e7d: SWAP3 00004e7e: SWAP2 00004e7f: POP 00004e80: POP 00004e81: JUMP 00004e82: JUMPDEST 00004e83: PUSH1 0x00 00004e85: PUSH2 0x4e8f 00004e88: PUSH1 0x20 00004e8a: DUP4 00004e8b: PUSH2 0x5746 00004e8e: JUMP 00004e8f: JUMPDEST 00004e90: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00004eb1: DUP2 00004eb2: MSTORE 00004eb3: PUSH1 0x20 00004eb5: ADD 00004eb6: SWAP3 00004eb7: SWAP2 00004eb8: POP 00004eb9: POP 00004eba: JUMP 00004ebb: JUMPDEST 00004ebc: PUSH1 0x00 00004ebe: PUSH2 0x4ec8 00004ec1: PUSH1 0x1f 00004ec3: DUP4 00004ec4: PUSH2 0x5746 00004ec7: JUMP 00004ec8: JUMPDEST 00004ec9: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 00004eea: DUP2 00004eeb: MSTORE 00004eec: PUSH1 0x20 00004eee: ADD 00004eef: SWAP3 00004ef0: SWAP2 00004ef1: POP 00004ef2: POP 00004ef3: JUMP 00004ef4: JUMPDEST 00004ef5: DUP1 00004ef6: MLOAD 00004ef7: PUSH1 0x00 00004ef9: SWAP1 00004efa: PUSH2 0x0160 00004efd: DUP5 00004efe: ADD 00004eff: SWAP1 00004f00: PUSH2 0x4f09 00004f03: DUP6 00004f04: DUP3 00004f05: PUSH2 0x4e08 00004f08: JUMP 00004f09: JUMPDEST 00004f0a: POP 00004f0b: PUSH1 0x20 00004f0d: DUP4 00004f0e: ADD 00004f0f: MLOAD 00004f10: PUSH2 0x4f1c 00004f13: PUSH1 0x20 00004f15: DUP7 00004f16: ADD 00004f17: DUP3 00004f18: PUSH2 0x5213 00004f1b: JUMP 00004f1c: JUMPDEST 00004f1d: POP 00004f1e: PUSH1 0x40 00004f20: DUP4 00004f21: ADD 00004f22: MLOAD 00004f23: PUSH2 0x4f2f 00004f26: PUSH1 0x40 00004f28: DUP7 00004f29: ADD 00004f2a: DUP3 00004f2b: PUSH2 0x4f9f 00004f2e: JUMP 00004f2f: JUMPDEST 00004f30: POP 00004f31: PUSH1 0x60 00004f33: DUP4 00004f34: ADD 00004f35: MLOAD 00004f36: PUSH2 0x4f42 00004f39: PUSH1 0xc0 00004f3b: DUP7 00004f3c: ADD 00004f3d: DUP3 00004f3e: PUSH2 0x5213 00004f41: JUMP 00004f42: JUMPDEST 00004f43: POP 00004f44: PUSH1 0x80 00004f46: DUP4 00004f47: ADD 00004f48: MLOAD 00004f49: PUSH2 0x4f55 00004f4c: PUSH1 0xe0 00004f4e: DUP7 00004f4f: ADD 00004f50: DUP3 00004f51: PUSH2 0x5213 00004f54: JUMP 00004f55: JUMPDEST 00004f56: POP 00004f57: PUSH1 0xa0 00004f59: DUP4 00004f5a: ADD 00004f5b: MLOAD 00004f5c: PUSH2 0x4f69 00004f5f: PUSH2 0x0100 00004f62: DUP7 00004f63: ADD 00004f64: DUP3 00004f65: PUSH2 0x4bb0 00004f68: JUMP 00004f69: JUMPDEST 00004f6a: POP 00004f6b: PUSH1 0xc0 00004f6d: DUP4 00004f6e: ADD 00004f6f: MLOAD 00004f70: PUSH2 0x4f7d 00004f73: PUSH2 0x0120 00004f76: DUP7 00004f77: ADD 00004f78: DUP3 00004f79: PUSH2 0x5213 00004f7c: JUMP 00004f7d: JUMPDEST 00004f7e: POP 00004f7f: PUSH1 0xe0 00004f81: DUP4 00004f82: ADD 00004f83: MLOAD 00004f84: DUP5 00004f85: DUP3 00004f86: SUB 00004f87: PUSH2 0x0140 00004f8a: DUP7 00004f8b: ADD 00004f8c: MSTORE 00004f8d: PUSH2 0x4f96 00004f90: DUP3 00004f91: DUP3 00004f92: PUSH2 0x4dc7 00004f95: JUMP 00004f96: JUMPDEST 00004f97: SWAP6 00004f98: SWAP5 00004f99: POP 00004f9a: POP 00004f9b: POP 00004f9c: POP 00004f9d: POP 00004f9e: JUMP 00004f9f: JUMPDEST 00004fa0: DUP1 00004fa1: MLOAD 00004fa2: PUSH1 0x80 00004fa4: DUP4 00004fa5: ADD 00004fa6: SWAP1 00004fa7: PUSH2 0x4fb0 00004faa: DUP5 00004fab: DUP3 00004fac: PUSH2 0x4dbe 00004faf: JUMP 00004fb0: JUMPDEST 00004fb1: POP 00004fb2: PUSH1 0x20 00004fb4: DUP3 00004fb5: ADD 00004fb6: MLOAD 00004fb7: PUSH2 0x4fc3 00004fba: PUSH1 0x20 00004fbc: DUP6 00004fbd: ADD 00004fbe: DUP3 00004fbf: PUSH2 0x4e11 00004fc2: JUMP 00004fc3: JUMPDEST 00004fc4: POP 00004fc5: PUSH1 0x40 00004fc7: DUP3 00004fc8: ADD 00004fc9: MLOAD 00004fca: PUSH2 0x4fd6 00004fcd: PUSH1 0x40 00004fcf: DUP6 00004fd0: ADD 00004fd1: DUP3 00004fd2: PUSH2 0x4e11 00004fd5: JUMP 00004fd6: JUMPDEST 00004fd7: POP 00004fd8: PUSH1 0x60 00004fda: DUP3 00004fdb: ADD 00004fdc: MLOAD 00004fdd: PUSH2 0x4fe9 00004fe0: PUSH1 0x60 00004fe2: DUP6 00004fe3: ADD 00004fe4: DUP3 00004fe5: PUSH2 0x5213 00004fe8: JUMP 00004fe9: JUMPDEST 00004fea: POP 00004feb: POP 00004fec: POP 00004fed: POP 00004fee: JUMP 00004fef: JUMPDEST 00004ff0: DUP1 00004ff1: MLOAD 00004ff2: PUSH1 0x20 00004ff4: DUP4 00004ff5: ADD 00004ff6: SWAP1 00004ff7: PUSH2 0x4fe9 00004ffa: DUP5 00004ffb: DUP3 00004ffc: PUSH2 0x5213 00004fff: JUMP 00005000: JUMPDEST 00005001: DUP1 00005002: MLOAD 00005003: PUSH1 0x60 00005005: DUP4 00005006: ADD 00005007: SWAP1 00005008: PUSH2 0x5011 0000500b: DUP5 0000500c: DUP3 0000500d: PUSH2 0x5201 00005010: JUMP 00005011: JUMPDEST 00005012: POP 00005013: PUSH1 0x20 00005015: DUP3 00005016: ADD 00005017: MLOAD 00005018: PUSH2 0x5024 0000501b: PUSH1 0x20 0000501d: DUP6 0000501e: ADD 0000501f: DUP3 00005020: PUSH2 0x5201 00005023: JUMP 00005024: JUMPDEST 00005025: POP 00005026: PUSH1 0x40 00005028: DUP3 00005029: ADD 0000502a: MLOAD 0000502b: PUSH2 0x4fe9 0000502e: PUSH1 0x40 00005030: DUP6 00005031: ADD 00005032: DUP3 00005033: PUSH2 0x521c 00005036: JUMP 00005037: JUMPDEST 00005038: DUP1 00005039: MLOAD 0000503a: PUSH1 0x40 0000503c: DUP4 0000503d: ADD 0000503e: SWAP1 0000503f: PUSH2 0x5048 00005042: DUP5 00005043: DUP3 00005044: PUSH2 0x4bb0 00005047: JUMP 00005048: JUMPDEST 00005049: POP 0000504a: PUSH1 0x20 0000504c: DUP3 0000504d: ADD 0000504e: MLOAD 0000504f: PUSH2 0x4fe9 00005052: PUSH1 0x20 00005054: DUP6 00005055: ADD 00005056: DUP3 00005057: PUSH2 0x5213 0000505a: JUMP 0000505b: JUMPDEST 0000505c: DUP1 0000505d: MLOAD 0000505e: PUSH2 0x0200 00005061: DUP4 00005062: ADD 00005063: SWAP1 00005064: PUSH2 0x506d 00005067: DUP5 00005068: DUP3 00005069: PUSH2 0x4bb0 0000506c: JUMP 0000506d: JUMPDEST 0000506e: POP 0000506f: PUSH1 0x20 00005071: DUP3 00005072: ADD 00005073: MLOAD 00005074: PUSH2 0x5080 00005077: PUSH1 0x20 00005079: DUP6 0000507a: ADD 0000507b: DUP3 0000507c: PUSH2 0x4dbe 0000507f: JUMP 00005080: JUMPDEST 00005081: POP 00005082: PUSH1 0x40 00005084: DUP3 00005085: ADD 00005086: MLOAD 00005087: PUSH2 0x5093 0000508a: PUSH1 0x40 0000508c: DUP6 0000508d: ADD 0000508e: DUP3 0000508f: PUSH2 0x51df 00005092: JUMP 00005093: JUMPDEST 00005094: POP 00005095: PUSH1 0x60 00005097: DUP3 00005098: ADD 00005099: MLOAD 0000509a: PUSH2 0x50a6 0000509d: PUSH1 0x80 0000509f: DUP6 000050a0: ADD 000050a1: DUP3 000050a2: PUSH2 0x5000 000050a5: JUMP 000050a6: JUMPDEST 000050a7: POP 000050a8: PUSH1 0x80 000050aa: DUP3 000050ab: ADD 000050ac: MLOAD 000050ad: PUSH2 0x50b9 000050b0: PUSH1 0xe0 000050b2: DUP6 000050b3: ADD 000050b4: DUP3 000050b5: PUSH2 0x4dff 000050b8: JUMP 000050b9: JUMPDEST 000050ba: POP 000050bb: PUSH1 0xa0 000050bd: DUP3 000050be: ADD 000050bf: MLOAD 000050c0: PUSH2 0x50cd 000050c3: PUSH2 0x0100 000050c6: DUP6 000050c7: ADD 000050c8: DUP3 000050c9: PUSH2 0x4dff 000050cc: JUMP 000050cd: JUMPDEST 000050ce: POP 000050cf: PUSH1 0xc0 000050d1: DUP3 000050d2: ADD 000050d3: MLOAD 000050d4: PUSH2 0x50e1 000050d7: PUSH2 0x0120 000050da: DUP6 000050db: ADD 000050dc: DUP3 000050dd: PUSH2 0x4fef 000050e0: JUMP 000050e1: JUMPDEST 000050e2: POP 000050e3: PUSH1 0xe0 000050e5: DUP3 000050e6: ADD 000050e7: MLOAD 000050e8: PUSH2 0x50f5 000050eb: PUSH2 0x0140 000050ee: DUP6 000050ef: ADD 000050f0: DUP3 000050f1: PUSH2 0x4fef 000050f4: JUMP 000050f5: JUMPDEST 000050f6: POP 000050f7: PUSH2 0x0100 000050fa: DUP3 000050fb: ADD 000050fc: MLOAD 000050fd: PUSH2 0x510a 00005100: PUSH2 0x0160 00005103: DUP6 00005104: ADD 00005105: DUP3 00005106: PUSH2 0x51f0 00005109: JUMP 0000510a: JUMPDEST 0000510b: POP 0000510c: PUSH2 0x0120 0000510f: DUP3 00005110: ADD 00005111: MLOAD 00005112: PUSH2 0x511f 00005115: PUSH2 0x01a0 00005118: DUP6 00005119: ADD 0000511a: DUP3 0000511b: PUSH2 0x51f0 0000511e: JUMP 0000511f: JUMPDEST 00005120: POP 00005121: PUSH2 0x0140 00005124: DUP3 00005125: ADD 00005126: MLOAD 00005127: PUSH2 0x4fe9 0000512a: PUSH2 0x01e0 0000512d: DUP6 0000512e: ADD 0000512f: DUP3 00005130: PUSH2 0x4fef 00005133: JUMP 00005134: JUMPDEST 00005135: DUP1 00005136: MLOAD 00005137: PUSH1 0x40 00005139: DUP4 0000513a: ADD 0000513b: SWAP1 0000513c: PUSH2 0x5145 0000513f: DUP5 00005140: DUP3 00005141: PUSH2 0x4dbe 00005144: JUMP 00005145: JUMPDEST 00005146: POP 00005147: PUSH1 0x20 00005149: DUP3 0000514a: ADD 0000514b: MLOAD 0000514c: PUSH2 0x4fe9 0000514f: PUSH1 0x20 00005151: DUP6 00005152: ADD 00005153: DUP3 00005154: PUSH2 0x520a 00005157: JUMP 00005158: JUMPDEST 00005159: DUP1 0000515a: MLOAD 0000515b: PUSH1 0xe0 0000515d: DUP4 0000515e: ADD 0000515f: SWAP1 00005160: PUSH2 0x5169 00005163: DUP5 00005164: DUP3 00005165: PUSH2 0x5225 00005168: JUMP 00005169: JUMPDEST 0000516a: POP 0000516b: PUSH1 0x20 0000516d: DUP3 0000516e: ADD 0000516f: MLOAD 00005170: PUSH2 0x517c 00005173: PUSH1 0x20 00005175: DUP6 00005176: ADD 00005177: DUP3 00005178: PUSH2 0x5225 0000517b: JUMP 0000517c: JUMPDEST 0000517d: POP 0000517e: PUSH1 0x40 00005180: DUP3 00005181: ADD 00005182: MLOAD 00005183: PUSH2 0x518f 00005186: PUSH1 0x40 00005188: DUP6 00005189: ADD 0000518a: DUP3 0000518b: PUSH2 0x5225 0000518e: JUMP 0000518f: JUMPDEST 00005190: POP 00005191: PUSH1 0x60 00005193: DUP3 00005194: ADD 00005195: MLOAD 00005196: PUSH2 0x51a2 00005199: PUSH1 0x60 0000519b: DUP6 0000519c: ADD 0000519d: DUP3 0000519e: PUSH2 0x5225 000051a1: JUMP 000051a2: JUMPDEST 000051a3: POP 000051a4: PUSH1 0x80 000051a6: DUP3 000051a7: ADD 000051a8: MLOAD 000051a9: PUSH2 0x51b5 000051ac: PUSH1 0x80 000051ae: DUP6 000051af: ADD 000051b0: DUP3 000051b1: PUSH2 0x5225 000051b4: JUMP 000051b5: JUMPDEST 000051b6: POP 000051b7: PUSH1 0xa0 000051b9: DUP3 000051ba: ADD 000051bb: MLOAD 000051bc: PUSH2 0x51c8 000051bf: PUSH1 0xa0 000051c1: DUP6 000051c2: ADD 000051c3: DUP3 000051c4: PUSH2 0x522e 000051c7: JUMP 000051c8: JUMPDEST 000051c9: POP 000051ca: PUSH1 0xc0 000051cc: DUP3 000051cd: ADD 000051ce: MLOAD 000051cf: PUSH2 0x4fe9 000051d2: PUSH1 0xc0 000051d4: DUP6 000051d5: ADD 000051d6: DUP3 000051d7: PUSH2 0x520a 000051da: JUMP 000051db: JUMPDEST 000051dc: SWAP1 000051dd: MSTORE 000051de: JUMP 000051df: JUMPDEST 000051e0: DUP1 000051e1: MLOAD 000051e2: PUSH1 0x40 000051e4: DUP4 000051e5: ADD 000051e6: SWAP1 000051e7: PUSH2 0x5145 000051ea: DUP5 000051eb: DUP3 000051ec: PUSH2 0x520a 000051ef: JUMP 000051f0: JUMPDEST 000051f1: DUP1 000051f2: MLOAD 000051f3: PUSH1 0x40 000051f5: DUP4 000051f6: ADD 000051f7: SWAP1 000051f8: PUSH2 0x5048 000051fb: DUP5 000051fc: DUP3 000051fd: PUSH2 0x4dbe 00005200: JUMP 00005201: JUMPDEST 00005202: PUSH2 0x4bb9 00005205: DUP2 00005206: PUSH2 0x5788 00005209: JUMP 0000520a: JUMPDEST 0000520b: PUSH2 0x4bb9 0000520e: DUP2 0000520f: PUSH2 0x579b 00005212: JUMP 00005213: JUMPDEST 00005214: PUSH2 0x4bb9 00005217: DUP2 00005218: PUSH2 0x57c9 0000521b: JUMP 0000521c: JUMPDEST 0000521d: PUSH2 0x4bb9 00005220: DUP2 00005221: PUSH2 0x57cc 00005224: JUMP 00005225: JUMPDEST 00005226: PUSH2 0x4bb9 00005229: DUP2 0000522a: PUSH2 0x57d5 0000522d: JUMP 0000522e: JUMPDEST 0000522f: PUSH2 0x4bb9 00005232: DUP2 00005233: PUSH2 0x57e2 00005236: JUMP 00005237: JUMPDEST 00005238: PUSH1 0x20 0000523a: DUP2 0000523b: ADD 0000523c: PUSH2 0x1b49 0000523f: DUP3 00005240: DUP5 00005241: PUSH2 0x4bb0 00005244: JUMP 00005245: JUMPDEST 00005246: PUSH1 0x40 00005248: DUP2 00005249: ADD 0000524a: PUSH2 0x5253 0000524d: DUP3 0000524e: DUP6 0000524f: PUSH2 0x4bb0 00005252: JUMP 00005253: JUMPDEST 00005254: PUSH2 0x1617 00005257: PUSH1 0x20 00005259: DUP4 0000525a: ADD 0000525b: DUP5 0000525c: PUSH2 0x4dbe 0000525f: JUMP 00005260: JUMPDEST 00005261: PUSH1 0x20 00005263: DUP1 00005264: DUP3 00005265: MSTORE 00005266: DUP2 00005267: ADD 00005268: PUSH2 0x1b46 0000526b: DUP2 0000526c: DUP5 0000526d: PUSH2 0x4d70 00005270: JUMP 00005271: JUMPDEST 00005272: PUSH1 0x80 00005274: DUP1 00005275: DUP3 00005276: MSTORE 00005277: DUP2 00005278: ADD 00005279: PUSH2 0x5282 0000527c: DUP2 0000527d: DUP8 0000527e: PUSH2 0x4d70 00005281: JUMP 00005282: JUMPDEST 00005283: SWAP1 00005284: POP 00005285: DUP2 00005286: DUP2 00005287: SUB 00005288: PUSH1 0x20 0000528a: DUP4 0000528b: ADD 0000528c: MSTORE 0000528d: PUSH2 0x5296 00005290: DUP2 00005291: DUP7 00005292: PUSH2 0x4bbf 00005295: JUMP 00005296: JUMPDEST 00005297: SWAP1 00005298: POP 00005299: DUP2 0000529a: DUP2 0000529b: SUB 0000529c: PUSH1 0x40 0000529e: DUP4 0000529f: ADD 000052a0: MSTORE 000052a1: PUSH2 0x52aa 000052a4: DUP2 000052a5: DUP6 000052a6: PUSH2 0x4cd4 000052a9: JUMP 000052aa: JUMPDEST 000052ab: SWAP1 000052ac: POP 000052ad: DUP2 000052ae: DUP2 000052af: SUB 000052b0: PUSH1 0x60 000052b2: DUP4 000052b3: ADD 000052b4: MSTORE 000052b5: PUSH2 0x52be 000052b8: DUP2 000052b9: DUP5 000052ba: PUSH2 0x4d22 000052bd: JUMP 000052be: JUMPDEST 000052bf: SWAP7 000052c0: SWAP6 000052c1: POP 000052c2: POP 000052c3: POP 000052c4: POP 000052c5: POP 000052c6: POP 000052c7: JUMP 000052c8: JUMPDEST 000052c9: PUSH1 0x20 000052cb: DUP2 000052cc: ADD 000052cd: PUSH2 0x1b49 000052d0: DUP3 000052d1: DUP5 000052d2: PUSH2 0x4dbe 000052d5: JUMP 000052d6: JUMPDEST 000052d7: PUSH1 0x20 000052d9: DUP2 000052da: ADD 000052db: PUSH2 0x1b49 000052de: DUP3 000052df: DUP5 000052e0: PUSH2 0x4dff 000052e3: JUMP 000052e4: JUMPDEST 000052e5: PUSH1 0x20 000052e7: DUP2 000052e8: ADD 000052e9: PUSH2 0x1b49 000052ec: DUP3 000052ed: DUP5 000052ee: PUSH2 0x4e1a 000052f1: JUMP 000052f2: JUMPDEST 000052f3: PUSH1 0x20 000052f5: DUP1 000052f6: DUP3 000052f7: MSTORE 000052f8: DUP2 000052f9: ADD 000052fa: PUSH2 0x0c96 000052fd: DUP2 000052fe: PUSH2 0x4e23 00005301: JUMP 00005302: JUMPDEST 00005303: PUSH1 0x20 00005305: DUP1 00005306: DUP3 00005307: MSTORE 00005308: DUP2 00005309: ADD 0000530a: PUSH2 0x0c96 0000530d: DUP2 0000530e: PUSH2 0x4e82 00005311: JUMP 00005312: JUMPDEST 00005313: PUSH1 0x20 00005315: DUP1 00005316: DUP3 00005317: MSTORE 00005318: DUP2 00005319: ADD 0000531a: PUSH2 0x0c96 0000531d: DUP2 0000531e: PUSH2 0x4ebb 00005321: JUMP 00005322: JUMPDEST 00005323: PUSH1 0x20 00005325: DUP2 00005326: ADD 00005327: PUSH2 0x1b49 0000532a: DUP3 0000532b: DUP5 0000532c: PUSH2 0x4fef 0000532f: JUMP 00005330: JUMPDEST 00005331: PUSH1 0x40 00005333: DUP2 00005334: ADD 00005335: PUSH2 0x533e 00005338: DUP3 00005339: DUP6 0000533a: PUSH2 0x4fef 0000533d: JUMP 0000533e: JUMPDEST 0000533f: PUSH2 0x1617 00005342: PUSH1 0x20 00005344: DUP4 00005345: ADD 00005346: DUP5 00005347: PUSH2 0x4fef 0000534a: JUMP 0000534b: JUMPDEST 0000534c: PUSH1 0x60 0000534e: DUP2 0000534f: ADD 00005350: PUSH2 0x1b49 00005353: DUP3 00005354: DUP5 00005355: PUSH2 0x5000 00005358: JUMP 00005359: JUMPDEST 0000535a: PUSH2 0x0200 0000535d: DUP2 0000535e: ADD 0000535f: PUSH2 0x1b49 00005362: DUP3 00005363: DUP5 00005364: PUSH2 0x505b 00005367: JUMP 00005368: JUMPDEST 00005369: PUSH2 0x02a0 0000536c: DUP2 0000536d: ADD 0000536e: PUSH2 0x5377 00005371: DUP3 00005372: DUP8 00005373: PUSH2 0x505b 00005376: JUMP 00005377: JUMPDEST 00005378: PUSH2 0x5385 0000537b: PUSH2 0x0200 0000537e: DUP4 0000537f: ADD 00005380: DUP7 00005381: PUSH2 0x5000 00005384: JUMP 00005385: JUMPDEST 00005386: PUSH2 0x5393 00005389: PUSH2 0x0260 0000538c: DUP4 0000538d: ADD 0000538e: DUP6 0000538f: PUSH2 0x4fef 00005392: JUMP 00005393: JUMPDEST 00005394: PUSH2 0x4f96 00005397: PUSH2 0x0280 0000539a: DUP4 0000539b: ADD 0000539c: DUP5 0000539d: PUSH2 0x4fef 000053a0: JUMP 000053a1: JUMPDEST 000053a2: PUSH1 0x40 000053a4: DUP2 000053a5: ADD 000053a6: PUSH2 0x1b49 000053a9: DUP3 000053aa: DUP5 000053ab: PUSH2 0x5134 000053ae: JUMP 000053af: JUMPDEST 000053b0: PUSH1 0xe0 000053b2: DUP2 000053b3: ADD 000053b4: PUSH2 0x1b49 000053b7: DUP3 000053b8: DUP5 000053b9: PUSH2 0x5158 000053bc: JUMP 000053bd: JUMPDEST 000053be: PUSH1 0x20 000053c0: DUP2 000053c1: ADD 000053c2: PUSH2 0x1b49 000053c5: DUP3 000053c6: DUP5 000053c7: PUSH2 0x51db 000053ca: JUMP 000053cb: JUMPDEST 000053cc: PUSH1 0x40 000053ce: DUP2 000053cf: ADD 000053d0: PUSH2 0x53d9 000053d3: DUP3 000053d4: DUP6 000053d5: PUSH2 0x51db 000053d8: JUMP 000053d9: JUMPDEST 000053da: PUSH2 0x1617 000053dd: PUSH1 0x20 000053df: DUP4 000053e0: ADD 000053e1: DUP5 000053e2: PUSH2 0x4bb0 000053e5: JUMP 000053e6: JUMPDEST 000053e7: PUSH1 0x60 000053e9: DUP2 000053ea: ADD 000053eb: PUSH2 0x53f4 000053ee: DUP3 000053ef: DUP7 000053f0: PUSH2 0x51db 000053f3: JUMP 000053f4: JUMPDEST 000053f5: PUSH2 0x5401 000053f8: PUSH1 0x20 000053fa: DUP4 000053fb: ADD 000053fc: DUP6 000053fd: PUSH2 0x4bb0 00005400: JUMP 00005401: JUMPDEST 00005402: PUSH2 0x2e25 00005405: PUSH1 0x40 00005407: DUP4 00005408: ADD 00005409: DUP5 0000540a: PUSH2 0x4bb0 0000540d: JUMP 0000540e: JUMPDEST 0000540f: PUSH1 0x60 00005411: DUP2 00005412: ADD 00005413: PUSH2 0x541c 00005416: DUP3 00005417: DUP7 00005418: PUSH2 0x51db 0000541b: JUMP 0000541c: JUMPDEST 0000541d: PUSH2 0x5429 00005420: PUSH1 0x20 00005422: DUP4 00005423: ADD 00005424: DUP6 00005425: PUSH2 0x4bb0 00005428: JUMP 00005429: JUMPDEST 0000542a: PUSH2 0x2e25 0000542d: PUSH1 0x40 0000542f: DUP4 00005430: ADD 00005431: DUP5 00005432: PUSH2 0x4dbe 00005435: JUMP 00005436: JUMPDEST 00005437: PUSH1 0x60 00005439: DUP2 0000543a: ADD 0000543b: PUSH2 0x5444 0000543e: DUP3 0000543f: DUP7 00005440: PUSH2 0x51db 00005443: JUMP 00005444: JUMPDEST 00005445: PUSH2 0x5451 00005448: PUSH1 0x20 0000544a: DUP4 0000544b: ADD 0000544c: DUP6 0000544d: PUSH2 0x4bb0 00005450: JUMP 00005451: JUMPDEST 00005452: PUSH2 0x2e25 00005455: PUSH1 0x40 00005457: DUP4 00005458: ADD 00005459: DUP5 0000545a: PUSH2 0x4dff 0000545d: JUMP 0000545e: JUMPDEST 0000545f: PUSH2 0x0140 00005462: DUP2 00005463: ADD 00005464: PUSH2 0x546d 00005467: DUP3 00005468: DUP14 00005469: PUSH2 0x51db 0000546c: JUMP 0000546d: JUMPDEST 0000546e: PUSH2 0x547a 00005471: PUSH1 0x20 00005473: DUP4 00005474: ADD 00005475: DUP13 00005476: PUSH2 0x4bb0 00005479: JUMP 0000547a: JUMPDEST 0000547b: PUSH2 0x5487 0000547e: PUSH1 0x40 00005480: DUP4 00005481: ADD 00005482: DUP12 00005483: PUSH2 0x4dff 00005486: JUMP 00005487: JUMPDEST 00005488: PUSH2 0x5494 0000548b: PUSH1 0x60 0000548d: DUP4 0000548e: ADD 0000548f: DUP11 00005490: PUSH2 0x4dff 00005493: JUMP 00005494: JUMPDEST 00005495: PUSH2 0x54a1 00005498: PUSH1 0x80 0000549a: DUP4 0000549b: ADD 0000549c: DUP10 0000549d: PUSH2 0x4fef 000054a0: JUMP 000054a1: JUMPDEST 000054a2: PUSH2 0x54ae 000054a5: PUSH1 0xa0 000054a7: DUP4 000054a8: ADD 000054a9: DUP9 000054aa: PUSH2 0x4fef 000054ad: JUMP 000054ae: JUMPDEST 000054af: PUSH2 0x54bb 000054b2: PUSH1 0xc0 000054b4: DUP4 000054b5: ADD 000054b6: DUP8 000054b7: PUSH2 0x5213 000054ba: JUMP 000054bb: JUMPDEST 000054bc: PUSH2 0x54c8 000054bf: PUSH1 0xe0 000054c1: DUP4 000054c2: ADD 000054c3: DUP7 000054c4: PUSH2 0x5213 000054c7: JUMP 000054c8: JUMPDEST 000054c9: PUSH2 0x54d6 000054cc: PUSH2 0x0100 000054cf: DUP4 000054d0: ADD 000054d1: DUP6 000054d2: PUSH2 0x4fef 000054d5: JUMP 000054d6: JUMPDEST 000054d7: PUSH2 0x54e4 000054da: PUSH2 0x0120 000054dd: DUP4 000054de: ADD 000054df: DUP5 000054e0: PUSH2 0x4dbe 000054e3: JUMP 000054e4: JUMPDEST 000054e5: SWAP12 000054e6: SWAP11 000054e7: POP 000054e8: POP 000054e9: POP 000054ea: POP 000054eb: POP 000054ec: POP 000054ed: POP 000054ee: POP 000054ef: POP 000054f0: POP 000054f1: POP 000054f2: JUMP 000054f3: JUMPDEST 000054f4: PUSH1 0x60 000054f6: DUP2 000054f7: ADD 000054f8: PUSH2 0x5501 000054fb: DUP3 000054fc: DUP7 000054fd: PUSH2 0x51db 00005500: JUMP 00005501: JUMPDEST 00005502: DUP2 00005503: DUP2 00005504: SUB 00005505: PUSH1 0x20 00005507: DUP4 00005508: ADD 00005509: MSTORE 0000550a: PUSH2 0x5513 0000550d: DUP2 0000550e: DUP6 0000550f: PUSH2 0x4c86 00005512: JUMP 00005513: JUMPDEST 00005514: SWAP1 00005515: POP 00005516: DUP2 00005517: DUP2 00005518: SUB 00005519: PUSH1 0x40 0000551b: DUP4 0000551c: ADD 0000551d: MSTORE 0000551e: PUSH2 0x4f96 00005521: DUP2 00005522: DUP5 00005523: PUSH2 0x4c18 00005526: JUMP 00005527: JUMPDEST 00005528: PUSH1 0x40 0000552a: DUP2 0000552b: ADD 0000552c: PUSH2 0x5535 0000552f: DUP3 00005530: DUP6 00005531: PUSH2 0x51db 00005534: JUMP 00005535: JUMPDEST 00005536: PUSH2 0x1617 00005539: PUSH1 0x20 0000553b: DUP4 0000553c: ADD 0000553d: DUP5 0000553e: PUSH2 0x4dff 00005541: JUMP 00005542: JUMPDEST 00005543: PUSH1 0x40 00005545: DUP2 00005546: ADD 00005547: PUSH2 0x533e 0000554a: DUP3 0000554b: DUP6 0000554c: PUSH2 0x51db 0000554f: JUMP 00005550: JUMPDEST 00005551: PUSH1 0x60 00005553: DUP2 00005554: ADD 00005555: PUSH2 0x555e 00005558: DUP3 00005559: DUP6 0000555a: PUSH2 0x51db 0000555d: JUMP 0000555e: JUMPDEST 0000555f: PUSH2 0x1617 00005562: PUSH1 0x20 00005564: DUP4 00005565: ADD 00005566: DUP5 00005567: PUSH2 0x5037 0000556a: JUMP 0000556b: JUMPDEST 0000556c: PUSH1 0x80 0000556e: DUP2 0000556f: ADD 00005570: PUSH2 0x5579 00005573: DUP3 00005574: DUP7 00005575: PUSH2 0x51db 00005578: JUMP 00005579: JUMPDEST 0000557a: PUSH2 0x5586 0000557d: PUSH1 0x20 0000557f: DUP4 00005580: ADD 00005581: DUP6 00005582: PUSH2 0x5037 00005585: JUMP 00005586: JUMPDEST 00005587: PUSH2 0x2e25 0000558a: PUSH1 0x60 0000558c: DUP4 0000558d: ADD 0000558e: DUP5 0000558f: PUSH2 0x5213 00005592: JUMP 00005593: JUMPDEST 00005594: PUSH1 0xa0 00005596: DUP2 00005597: ADD 00005598: PUSH2 0x55a1 0000559b: DUP3 0000559c: DUP8 0000559d: PUSH2 0x51db 000055a0: JUMP 000055a1: JUMPDEST 000055a2: PUSH2 0x55ae 000055a5: PUSH1 0x20 000055a7: DUP4 000055a8: ADD 000055a9: DUP7 000055aa: PUSH2 0x5037 000055ad: JUMP 000055ae: JUMPDEST 000055af: PUSH2 0x55bb 000055b2: PUSH1 0x60 000055b4: DUP4 000055b5: ADD 000055b6: DUP6 000055b7: PUSH2 0x5213 000055ba: JUMP 000055bb: JUMPDEST 000055bc: PUSH2 0x4f96 000055bf: PUSH1 0x80 000055c1: DUP4 000055c2: ADD 000055c3: DUP5 000055c4: PUSH2 0x5213 000055c7: JUMP 000055c8: JUMPDEST 000055c9: PUSH1 0x40 000055cb: DUP2 000055cc: ADD 000055cd: PUSH2 0x55d6 000055d0: DUP3 000055d1: DUP6 000055d2: PUSH2 0x51db 000055d5: JUMP 000055d6: JUMPDEST 000055d7: PUSH2 0x1617 000055da: PUSH1 0x20 000055dc: DUP4 000055dd: ADD 000055de: DUP5 000055df: PUSH2 0x5213 000055e2: JUMP 000055e3: JUMPDEST 000055e4: PUSH1 0x60 000055e6: DUP2 000055e7: ADD 000055e8: PUSH2 0x55f1 000055eb: DUP3 000055ec: DUP7 000055ed: PUSH2 0x51db 000055f0: JUMP 000055f1: JUMPDEST 000055f2: PUSH2 0x5401 000055f5: PUSH1 0x20 000055f7: DUP4 000055f8: ADD 000055f9: DUP6 000055fa: PUSH2 0x5213 000055fd: JUMP 000055fe: JUMPDEST 000055ff: PUSH1 0x60 00005601: DUP2 00005602: ADD 00005603: PUSH2 0x560c 00005606: DUP3 00005607: DUP7 00005608: PUSH2 0x51db 0000560b: JUMP 0000560c: JUMPDEST 0000560d: PUSH2 0x5429 00005610: PUSH1 0x20 00005612: DUP4 00005613: ADD 00005614: DUP6 00005615: PUSH2 0x5213 00005618: JUMP 00005619: JUMPDEST 0000561a: PUSH1 0x60 0000561c: DUP2 0000561d: ADD 0000561e: PUSH2 0x5627 00005621: DUP3 00005622: DUP7 00005623: PUSH2 0x51db 00005626: JUMP 00005627: JUMPDEST 00005628: PUSH2 0x5451 0000562b: PUSH1 0x20 0000562d: DUP4 0000562e: ADD 0000562f: DUP6 00005630: PUSH2 0x5213 00005633: JUMP 00005634: JUMPDEST 00005635: PUSH1 0x60 00005637: DUP2 00005638: ADD 00005639: PUSH2 0x5642 0000563c: DUP3 0000563d: DUP7 0000563e: PUSH2 0x51db 00005641: JUMP 00005642: JUMPDEST 00005643: PUSH2 0x564f 00005646: PUSH1 0x20 00005648: DUP4 00005649: ADD 0000564a: DUP6 0000564b: PUSH2 0x5213 0000564e: JUMP 0000564f: JUMPDEST 00005650: PUSH2 0x2e25 00005653: PUSH1 0x40 00005655: DUP4 00005656: ADD 00005657: DUP5 00005658: PUSH2 0x4fef 0000565b: JUMP 0000565c: JUMPDEST 0000565d: PUSH1 0x60 0000565f: DUP2 00005660: ADD 00005661: PUSH2 0x566a 00005664: DUP3 00005665: DUP7 00005666: PUSH2 0x51db 00005669: JUMP 0000566a: JUMPDEST 0000566b: PUSH2 0x5677 0000566e: PUSH1 0x20 00005670: DUP4 00005671: ADD 00005672: DUP6 00005673: PUSH2 0x5213 00005676: JUMP 00005677: JUMPDEST 00005678: PUSH2 0x2e25 0000567b: PUSH1 0x40 0000567d: DUP4 0000567e: ADD 0000567f: DUP5 00005680: PUSH2 0x5213 00005683: JUMP 00005684: JUMPDEST 00005685: PUSH1 0x40 00005687: DUP2 00005688: ADD 00005689: PUSH2 0x1b49 0000568c: DUP3 0000568d: DUP5 0000568e: PUSH2 0x51df 00005691: JUMP 00005692: JUMPDEST 00005693: PUSH1 0x40 00005695: DUP2 00005696: ADD 00005697: PUSH2 0x1b49 0000569a: DUP3 0000569b: DUP5 0000569c: PUSH2 0x51f0 0000569f: JUMP 000056a0: JUMPDEST 000056a1: PUSH1 0x20 000056a3: DUP2 000056a4: ADD 000056a5: PUSH2 0x1b49 000056a8: DUP3 000056a9: DUP5 000056aa: PUSH2 0x5213 000056ad: JUMP 000056ae: JUMPDEST 000056af: PUSH1 0x40 000056b1: MLOAD 000056b2: DUP2 000056b3: DUP2 000056b4: ADD 000056b5: PUSH8 0xffffffffffffffff 000056be: DUP2 000056bf: GT 000056c0: DUP3 000056c1: DUP3 000056c2: LT 000056c3: OR 000056c4: ISZERO 000056c5: PUSH2 0x56cd 000056c8: JUMPI 000056c9: PUSH1 0x00 000056cb: DUP1 000056cc: REVERT 000056cd: JUMPDEST 000056ce: PUSH1 0x40 000056d0: MSTORE 000056d1: SWAP2 000056d2: SWAP1 000056d3: POP 000056d4: JUMP 000056d5: JUMPDEST 000056d6: PUSH1 0x00 000056d8: PUSH8 0xffffffffffffffff 000056e1: DUP3 000056e2: GT 000056e3: ISZERO 000056e4: PUSH2 0x56ec 000056e7: JUMPI 000056e8: PUSH1 0x00 000056ea: DUP1 000056eb: REVERT 000056ec: JUMPDEST 000056ed: POP 000056ee: PUSH1 0x20 000056f0: SWAP1 000056f1: DUP2 000056f2: MUL 000056f3: ADD 000056f4: SWAP1 000056f5: JUMP 000056f6: JUMPDEST 000056f7: PUSH1 0x00 000056f9: PUSH8 0xffffffffffffffff 00005702: DUP3 00005703: GT 00005704: ISZERO 00005705: PUSH2 0x570d 00005708: JUMPI 00005709: PUSH1 0x00 0000570b: DUP1 0000570c: REVERT 0000570d: JUMPDEST 0000570e: POP 0000570f: PUSH1 0x20 00005711: PUSH1 0x1f 00005713: SWAP2 00005714: SWAP1 00005715: SWAP2 00005716: ADD 00005717: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00005738: AND 00005739: ADD 0000573a: SWAP1 0000573b: JUMP 0000573c: JUMPDEST 0000573d: PUSH1 0x20 0000573f: ADD 00005740: SWAP1 00005741: JUMP 00005742: JUMPDEST 00005743: MLOAD 00005744: SWAP1 00005745: JUMP 00005746: JUMPDEST 00005747: SWAP1 00005748: DUP2 00005749: MSTORE 0000574a: PUSH1 0x20 0000574c: ADD 0000574d: SWAP1 0000574e: JUMP 0000574f: JUMPDEST 00005750: PUSH1 0x00 00005752: PUSH2 0x0c96 00005755: DUP3 00005756: PUSH2 0x57b0 00005759: JUMP 0000575a: JUMPDEST 0000575b: ISZERO 0000575c: ISZERO 0000575d: SWAP1 0000575e: JUMP 0000575f: JUMPDEST 00005760: PUSH1 0x00 00005762: PUSH2 0x0c96 00005765: DUP3 00005766: PUSH2 0x574f 00005769: JUMP 0000576a: JUMPDEST 0000576b: DUP1 0000576c: PUSH2 0x0c99 0000576f: DUP2 00005770: PUSH2 0x5874 00005773: JUMP 00005774: JUMPDEST 00005775: DUP1 00005776: PUSH2 0x0c99 00005779: DUP2 0000577a: PUSH2 0x587e 0000577d: JUMP 0000577e: JUMPDEST 0000577f: DUP1 00005780: PUSH2 0x0c99 00005783: DUP2 00005784: PUSH2 0x5888 00005787: JUMP 00005788: JUMPDEST 00005789: PUSH14 0xffffffffffffffffffffffffffff 00005798: AND 00005799: SWAP1 0000579a: JUMP 0000579b: JUMPDEST 0000579c: PUSH16 0xffffffffffffffffffffffffffffffff 000057ad: AND 000057ae: SWAP1 000057af: JUMP 000057b0: JUMPDEST 000057b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000057c6: AND 000057c7: SWAP1 000057c8: JUMP 000057c9: JUMPDEST 000057ca: SWAP1 000057cb: JUMP 000057cc: JUMPDEST 000057cd: PUSH4 0xffffffff 000057d2: AND 000057d3: SWAP1 000057d4: JUMP 000057d5: JUMPDEST 000057d6: PUSH8 0xffffffffffffffff 000057df: AND 000057e0: SWAP1 000057e1: JUMP 000057e2: JUMPDEST 000057e3: PUSH12 0xffffffffffffffffffffffff 000057f0: AND 000057f1: SWAP1 000057f2: JUMP 000057f3: JUMPDEST 000057f4: PUSH1 0x00 000057f6: PUSH2 0x0c96 000057f9: DUP3 000057fa: PUSH2 0x576a 000057fd: JUMP 000057fe: JUMPDEST 000057ff: PUSH1 0x00 00005801: PUSH2 0x0c96 00005804: DUP3 00005805: PUSH2 0x5774 00005808: JUMP 00005809: JUMPDEST 0000580a: PUSH1 0x00 0000580c: PUSH2 0x0c96 0000580f: DUP3 00005810: PUSH2 0x577e 00005813: JUMP 00005814: JUMPDEST 00005815: DUP3 00005816: DUP2 00005817: DUP4 00005818: CALLDATACOPY 00005819: POP 0000581a: PUSH1 0x00 0000581c: SWAP2 0000581d: ADD 0000581e: MSTORE 0000581f: JUMP 00005820: JUMPDEST 00005821: PUSH1 0x00 00005823: JUMPDEST 00005824: DUP4 00005825: DUP2 00005826: LT 00005827: ISZERO 00005828: PUSH2 0x583b 0000582b: JUMPI 0000582c: DUP2 0000582d: DUP2 0000582e: ADD 0000582f: MLOAD 00005830: DUP4 00005831: DUP3 00005832: ADD 00005833: MSTORE 00005834: PUSH1 0x20 00005836: ADD 00005837: PUSH2 0x5823 0000583a: JUMP 0000583b: JUMPDEST 0000583c: DUP4 0000583d: DUP2 0000583e: GT 0000583f: ISZERO 00005840: PUSH2 0x4fe9 00005843: JUMPI 00005844: POP 00005845: POP 00005846: PUSH1 0x00 00005848: SWAP2 00005849: ADD 0000584a: MSTORE 0000584b: JUMP 0000584c: JUMPDEST 0000584d: PUSH1 0x1f 0000584f: ADD 00005850: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00005871: AND 00005872: SWAP1 00005873: JUMP 00005874: JUMPDEST 00005875: PUSH1 0x09 00005877: DUP2 00005878: LT 00005879: PUSH2 0x3939 0000587c: JUMPI 0000587d: INVALID 0000587e: JUMPDEST 0000587f: PUSH1 0x02 00005881: DUP2 00005882: LT 00005883: PUSH2 0x3939 00005886: JUMPI 00005887: INVALID 00005888: JUMPDEST 00005889: PUSH1 0x03 0000588b: DUP2 0000588c: LT 0000588d: PUSH2 0x3939 00005890: JUMPI 00005891: INVALID 00005892: JUMPDEST 00005893: PUSH2 0x589b 00005896: DUP2 00005897: PUSH2 0x574f 0000589a: JUMP 0000589b: JUMPDEST 0000589c: DUP2 0000589d: EQ 0000589e: PUSH2 0x3939 000058a1: JUMPI 000058a2: PUSH1 0x00 000058a4: DUP1 000058a5: REVERT 000058a6: JUMPDEST 000058a7: PUSH2 0x589b 000058aa: DUP2 000058ab: PUSH2 0x575a 000058ae: JUMP 000058af: JUMPDEST 000058b0: PUSH2 0x589b 000058b3: DUP2 000058b4: PUSH2 0x575f 000058b7: JUMP 000058b8: JUMPDEST 000058b9: PUSH1 0x09 000058bb: DUP2 000058bc: LT 000058bd: PUSH2 0x3939 000058c0: JUMPI 000058c1: PUSH1 0x00 000058c3: DUP1 000058c4: REVERT 000058c5: JUMPDEST 000058c6: PUSH1 0x02 000058c8: DUP2 000058c9: LT 000058ca: PUSH2 0x3939 000058cd: JUMPI 000058ce: PUSH1 0x00 000058d0: DUP1 000058d1: REVERT 000058d2: JUMPDEST 000058d3: PUSH1 0x03 000058d5: DUP2 000058d6: LT 000058d7: PUSH2 0x3939 000058da: JUMPI 000058db: PUSH1 0x00 000058dd: DUP1 000058de: REVERT 000058df: JUMPDEST 000058e0: PUSH2 0x589b 000058e3: DUP2 000058e4: PUSH2 0x5788 000058e7: JUMP 000058e8: JUMPDEST 000058e9: PUSH2 0x589b 000058ec: DUP2 000058ed: PUSH2 0x579b 000058f0: JUMP 000058f1: JUMPDEST 000058f2: PUSH2 0x589b 000058f5: DUP2 000058f6: PUSH2 0x57c9 000058f9: JUMP 000058fa: JUMPDEST 000058fb: PUSH2 0x589b 000058fe: DUP2 000058ff: PUSH2 0x57cc 00005902: JUMP 00005903: JUMPDEST 00005904: PUSH2 0x589b 00005907: DUP2 00005908: PUSH2 0x57d5 0000590b: JUMP 0000590c: JUMPDEST 0000590d: PUSH2 0x589b 00005910: DUP2 00005911: PUSH2 0x57e2 00005914: JUMP 00005915: INVALID 00005916: LOG3 00005917: PUSH6 0x627a7a723158 0000591e: KECCAK256 0000591f: UNKNOWN(0xB6) 00005920: UNKNOWN(0xB9) 00005921: UNKNOWN(0x29) 00005922: SWAP16 00005923: PUSH12 0xa71130e3c11c3a97950c3fc2 00005930: CALLDATALOAD 00005931: UNKNOWN(0xD4) 00005932: CODECOPY 00005933: DUP4 00005934: PUSH6 0x69f0b6823866 0000593b: PUSH31
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | yes | yes |
viewtrace_id: 0x83ce8c9cc4abb76c732014c2846f676c928e07ee2c8359e63d66ceae7f3505da
call_targets:
0x099f15813c2c306e92581c758a4b0e5c125a94d6, 0xba33d91764c06ac4c3e38dcb66567c2d09575009
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "confirmed",
"attempts": 3,
"trace_id": "0x83ce8c9cc4abb76c732014c2846f676c928e07ee2c8359e63d66ceae7f3505da",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x099f15813c2c306e92581c758a4b0e5c125a94d6",
"0xba33d91764c06ac4c3e38dcb66567c2d09575009"
],
"matched_probe": null,
"target_varies": true,
"classification": "target_varies"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xf9416052",
"selector": "0xf9416052",
"calldata_variants": [
"0xf9416052",
"0xf94160520000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfd04b606",
"selector": "0xfd04b606",
"calldata_variants": [
"0xfd04b606",
"0xfd04b6060000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfd47eda6",
"selector": "0xfd47eda6",
"calldata_variants": [
"0xfd47eda6",
"0xfd47eda60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2385be3",
"selector": "0xf2385be3",
"calldata_variants": [
"0xf2385be3",
"0xf2385be30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2901ae2",
"selector": "0xf2901ae2",
"calldata_variants": [
"0xf2901ae2",
"0xf2901ae20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xed4d6f5c",
"selector": "0xed4d6f5c",
"calldata_variants": [
"0xed4d6f5c",
"0xed4d6f5c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef6957d0",
"selector": "0xef6957d0",
"calldata_variants": [
"0xef6957d0",
"0xef6957d00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3169,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 3342,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 3604,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 30,
"untrusted_delegatecall_count": 30
}
|
| medium | other | codex | Fee-on-transfer/rebasing tokens can inflate internal balances | 75 | no | — |
viewevidence_json{
"evidence": "Deposits update account balances before calling `Exchange.transferIn`, which blindly calls `Token.transferFrom` for the requested amount without verifying the actual balance delta, so accounting assumes exact transfers.",
"locations": [
"contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/DepositImpl.sol:66",
"contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Exchange.sol:64",
"contracts/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol:55"
],
"recommendation": "Explicitly disallow fee-on-transfer/rebasing tokens at market listing or measure actual received amounts via balance-delta checks before/after transfers and use the observed amount when updating balances. Apply the same balance-delta validation for exchange/trade inflows.",
"exploit_scenario": "If a fee-on-transfer or rebasing token is listed as a market, an attacker can deposit 100 units, receive credit for the full 100, while the protocol only receives (e.g.) 90 after fees. The attacker can then borrow other assets against the inflated collateral, leaving a shortfall and potentially draining protocol funds."
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 30
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 30
}
|