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

Analysis Run

019c0ea9-71ec-7140-b362-268cfeffbc7f

complete
Chain ID
1
Address
Block Number
Created
Fri, Jan 30, 2026 11:28 AM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Authorization based on tx.origin
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
42201 artifact.fetch complete 1 / 3 2 months ago
42202 proxy.resolve complete 1 / 3 2 months ago
42203 tool.cast_disasm complete 1 / 3 2 months ago
42204 analysis.bundle complete 1 / 3 2 months ago
42205 capability.graph complete 1 / 3 2 months ago
42206 detector.run complete 1 / 3 2 months ago
42207 validation.fork complete 1 / 3 2 months ago
42479 report.consolidate complete 1 / 6 2 months ago
42480 tool.slither complete 1 / 2 2 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: yes
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither
Status
complete
Attempts
1 / 2
Findings
0
Solc
0.8.12 (solc-select)
View stderr
'forge clean' running (wd: /tmp/slither-zj237ijd)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-zj237ijd)

TaskTreasuryUpgradable._creditUser(address,address,uint256,uint256) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#259-285) uses a dangerous strict equality:
	- sharesTotal == 0 (contracts/taskTreasury/TaskTreasuryUpgradable.sol#273)
TaskTreasuryUpgradable._deductUser(address,address,uint256) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#287-312) uses a dangerous strict equality:
	- sharesOfUser == sharesToCharge (contracts/taskTreasury/TaskTreasuryUpgradable.sol#311)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities

TaskTreasuryUpgradable.getTotalCreditTokensByUser(address).tokensInOldOnlyLength (contracts/taskTreasury/TaskTreasuryUpgradable.sol#201) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables

TaskTreasuryUpgradable.updateWhitelistedService(address,bool) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#107-119) ignores return value by _whitelistedServices.add(_service) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#113)
TaskTreasuryUpgradable.updateWhitelistedService(address,bool) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#107-119) ignores return value by _whitelistedServices.remove(_service) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#115)
TaskTreasuryUpgradable._creditUser(address,address,uint256,uint256) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#259-285) ignores return value by _tokens[_user].add(_token) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#284)
TaskTreasuryUpgradable._deductUser(address,address,uint256) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#287-312) ignores return value by _tokens[_user].remove(_token) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#311)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return

Reentrancy in TaskTreasuryUpgradable.depositFunds(address,address,uint256) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#136-161):
	External calls:
	- token.safeTransferFrom(msg.sender,address(this),_amount) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#150)
	State variables written after the call(s):
	- _creditUser(_receiver,_token,depositAmount,totalBalance) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#158)
		- shares[_user][_token] += sharesToCredit (contracts/taskTreasury/TaskTreasuryUpgradable.sol#281)
	- _creditUser(_receiver,_token,depositAmount,totalBalance) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#158)
		- totalShares[_token] = sharesTotal + sharesToCredit (contracts/taskTreasury/TaskTreasuryUpgradable.sol#282)
Reentrancy in TaskTreasuryUpgradable.useFunds(address,address,uint256) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#74-94):
	External calls:
	- oldTreasury.useFunds(_token,balanceInOld,_user) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#88)
	State variables written after the call(s):
	- _pay(_user,_token,_amount - balanceInOld) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#90)
		- shares[_user][_token] -= sharesToPay (contracts/taskTreasury/TaskTreasuryUpgradable.sol#334)
		- shares[admin][_token] += sharesToPay (contracts/taskTreasury/TaskTreasuryUpgradable.sol#335)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2

Reentrancy in TaskTreasuryUpgradable.useFunds(address,address,uint256) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#74-94):
	External calls:
	- oldTreasury.useFunds(_token,_amount,_user) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#85)
	- oldTreasury.useFunds(_token,balanceInOld,_user) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#88)
	Event emitted after the call(s):
	- LogDeductFees(_user,tx.origin,_token,_amount,msg.sender) (contracts/taskTreasury/TaskTreasuryUpgradable.sol#93)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3

Address.verifyCallResult(bool,bytes,string) (@openzeppelin/contracts/utils/Address.sol#201-221) uses assembly
	- INLINE ASM (@openzeppelin/contracts/utils/Address.sol#213-216)
EnumerableSet.values(EnumerableSet.AddressSet) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#274-283) uses assembly
	- INLINE ASM (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#278-280)
EnumerableSet.values(EnumerableSet.UintSet) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#347-356) uses assembly
	- INLINE ASM (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#351-353)
AddressUpgradeable.isContract(address) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#27-37) uses assembly
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#33-35)
AddressUpgradeable.verifyCallResult(bool,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#169-189) uses assembly
	- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#181-184)
Proxied._proxyAdmin() (contracts/vendor/proxy/EIP173/Proxied.sol#36-43) uses assembly
	- INLINE ASM (contracts/vendor/proxy/EIP173/Proxied.sol#38-42)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage

3 different versions of Solidity are used:
	- Version constraint ^0.8.0 is used by:
		-^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#4)
		-^0.8.0 (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#4)
		-^0.8.0 (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#4)
		-^0.8.0 (@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#4)
		-^0.8.0 (@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol#4)
		-^0.8.0 (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#4)
		-^0.8.0 (contracts/interfaces/IERC20Extended.sol#4)
		-^0.8.0 (contracts/interfaces/ITaskTreasury.sol#2)
		-^0.8.0 (contracts/interfaces/ITaskTreasuryUpgradable.sol#2)
	- Version constraint ^0.8.1 is used by:
		-^0.8.1 (@openzeppelin/contracts/utils/Address.sol#4)
	- Version constraint ^0.8.12 is used by:
		-^0.8.12 (contracts/functions/FUtils.sol#2)
		-^0.8.12 (contracts/libraries/LibShares.sol#2)
		-^0.8.12 (contracts/taskTreasury/TaskTreasuryUpgradable.sol#2)
		-^0.8.12 (contracts/vendor/proxy/EIP173/Proxied.sol#2)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used

Version constraint ^0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- FullInlinerNonExpressionSplitArgumentEvaluationOrder
	- MissingSideEffectsOnSelectorAccess
	- AbiReencodingHeadOverflowWithStaticArrayCleanup
	- DirtyBytesArrayToStorage
	- DataLocationChangeInInternalOverride
	- NestedCalldataArrayAbiReencodingSizeValidation
	- SignedImmutables
	- ABIDecodeTwoDimensionalArrayMemory
	- KeccakCaching.
It is used by:
	- ^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#4)
	- ^0.8.0 (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#4)
	- ^0.8.0 (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#4)
	- ^0.8.0 (@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#4)
	- ^0.8.0 (@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol#4)
	- ^0.8.0 (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#4)
	- ^0.8.0 (contracts/interfaces/IERC20Extended.sol#4)
	- ^0.8.0 (contracts/interfaces/ITaskTreasury.sol#2)
	- ^0.8.0 (contracts/interfaces/ITaskTreasuryUpgradable.sol#2)
Version constraint ^0.8.1 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- FullInlinerNonExpressionSplitArgumentEvaluationOrder
	- MissingSideEffectsOnSelectorAccess
	- AbiReencodingHeadOverflowWithStaticArrayCleanup
	- DirtyBytesArrayToStorage
	- DataLocationChangeInInternalOverride
	- NestedCalldataArrayAbiReencodingSizeValidation
	- SignedImmutables
	- ABIDecodeTwoDimensionalArrayMemory
	- KeccakCaching.
It is used by:
	- ^0.8.1 (@openzeppelin/contracts/utils/Address.sol#4)
Version constraint ^0.8.12 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- VerbatimInvalidDeduplication
	- FullInlinerNonExpressionSplitArgumentEvaluationOrder
	- MissingSideEffectsOnSelectorAccess
	- AbiReencodingHeadOverflowWithStaticArrayCleanup
	- DirtyBytesArrayToStorage
	- DataLocationChangeInInternalOverride
	- NestedCalldataArrayAbiReencodingSizeValidation
	- AbiEncodeCallLiteralAsFixedBytesBug.
It is used by:
	- ^0.8.12 (contracts/functions/FUtils.sol#2)
	- ^0.8.12 (contracts/libraries/LibShares.sol#2)
	- ^0.8.12 (contracts/taskTreasury/TaskTreasuryUpgradable.sol#2)
	- ^0.8.12 (contracts/vendor/proxy/EIP173/Proxied.sol#2)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity

Low level call in Address.sendValue(address,uint256) (@openzeppelin/contracts/utils/Address.sol#60-65):
	- (success,None) = recipient.call{value: amount}() (@openzeppelin/contracts/utils/Address.sol#63)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts/utils/Address.sol#128-139):
	- (success,returndata) = target.call{value: value}(data) (@openzeppelin/contracts/utils/Address.sol#137)
Low level call in Address.functionStaticCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#157-166):
	- (success,returndata) = target.staticcall(data) (@openzeppelin/contracts/utils/Address.sol#164)
Low level call in Address.functionDelegateCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#184-193):
	- (success,returndata) = target.delegatecall(data) (@openzeppelin/contracts/utils/Address.sol#191)
Low level call in AddressUpgradeable.sendValue(address,uint256) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#55-60):
	- (success,None) = recipient.call{value: amount}() (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#58)
Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#123-134):
	- (success,returndata) = target.call{value: value}(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#132)
Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#152-161):
	- (success,returndata) = target.staticcall(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#159)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls

Function ReentrancyGuardUpgradeable.__ReentrancyGuard_init() (@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol#40-42) is not in mixedCase
Function ReentrancyGuardUpgradeable.__ReentrancyGuard_init_unchained() (@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol#44-46) is not in mixedCase
Variable ReentrancyGuardUpgradeable.__gap (@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol#68) is not in mixedCase
Parameter LibShares.contractBalance(address)._token (contracts/libraries/LibShares.sol#7) is not in mixedCase
Parameter LibShares.tokenToShares(address,uint256,uint256,uint256)._token (contracts/libraries/LibShares.sol#16) is not in mixedCase
Parameter LibShares.tokenToShares(address,uint256,uint256,uint256)._tokenAmount (contracts/libraries/LibShares.sol#17) is not in mixedCase
Parameter LibShares.tokenToShares(address,uint256,uint256,uint256)._totalShares (contracts/libraries/LibShares.sol#18) is not in mixedCase
Parameter LibShares.tokenToShares(address,uint256,uint256,uint256)._totalBalance (contracts/libraries/LibShares.sol#19) is not in mixedCase
Parameter LibShares.to18Dp(address,uint256)._token (contracts/libraries/LibShares.sol#39) is not in mixedCase
Parameter LibShares.to18Dp(address,uint256)._amount (contracts/libraries/LibShares.sol#39) is not in mixedCase
Parameter LibShares.sharesToToken(uint256,uint256,uint256)._shares (contracts/libraries/LibShares.sol#55) is not in mixedCase
Parameter LibShares.sharesToToken(uint256,uint256,uint256)._totalShares (contracts/libraries/LibShares.sol#56) is not in mixedCase
Parameter LibShares.sharesToToken(uint256,uint256,uint256)._totalBalance (contracts/libraries/LibShares.sol#57) is not in mixedCase
Parameter TaskTreasuryUpgradable.initialize(uint256)._maxFee (contracts/taskTreasury/TaskTreasuryUpgradable.sol#65) is not in mixedCase
Parameter TaskTreasuryUpgradable.useFunds(address,address,uint256)._user (contracts/taskTreasury/TaskTreasuryUpgradable.sol#75) is not in mixedCase
Parameter TaskTreasuryUpgradable.useFunds(address,address,uint256)._token (contracts/taskTreasury/TaskTreasuryUpgradable.sol#76) is not in mixedCase
Parameter TaskTreasuryUpgradable.useFunds(address,address,uint256)._amount (contracts/taskTreasury/TaskTreasuryUpgradable.sol#77) is not in mixedCase
Parameter TaskTreasuryUpgradable.updateMaxFee(uint256)._newMaxFee (contracts/taskTreasury/TaskTreasuryUpgradable.sol#98) is not in mixedCase
Parameter TaskTreasuryUpgradable.updateWhitelistedService(address,bool)._service (contracts/taskTreasury/TaskTreasuryUpgradable.sol#107) is not in mixedCase
Parameter TaskTreasuryUpgradable.updateWhitelistedService(address,bool)._add (contracts/taskTreasury/TaskTreasuryUpgradable.sol#107) is not in mixedCase
Parameter TaskTreasuryUpgradable.depositFunds(address,address,uint256)._receiver (contracts/taskTreasury/TaskTreasuryUpgradable.sol#137) is not in mixedCase
Parameter TaskTreasuryUpgradable.depositFunds(address,address,uint256)._token (contracts/taskTreasury/TaskTreasuryUpgradable.sol#138) is not in mixedCase
Parameter TaskTreasuryUpgradable.depositFunds(address,address,uint256)._amount (contracts/taskTreasury/TaskTreasuryUpgradable.sol#139) is not in mixedCase
Parameter TaskTreasuryUpgradable.withdrawFunds(address,address,uint256)._receiver (contracts/taskTreasury/TaskTreasuryUpgradable.sol#168) is not in mixedCase
Parameter TaskTreasuryUpgradable.withdrawFunds(address,address,uint256)._token (contracts/taskTreasury/TaskTreasuryUpgradable.sol#169) is not in mixedCase
Parameter TaskTreasuryUpgradable.withdrawFunds(address,address,uint256)._amount (contracts/taskTreasury/TaskTreasuryUpgradable.sol#170) is not in mixedCase
Parameter TaskTreasuryUpgradable.getCreditTokensByUser(address)._user (contracts/taskTreasury/TaskTreasuryUpgradable.sol#181) is not in mixedCase
Parameter TaskTreasuryUpgradable.getTotalCreditTokensByUser(address)._user (contracts/taskTreasury/TaskTreasuryUpgradable.sol#192) is not in mixedCase
Parameter TaskTreasuryUpgradable.userTokenBalance(address,address)._user (contracts/taskTreasury/TaskTreasuryUpgradable.sol#227) is not in mixedCase
Parameter TaskTreasuryUpgradable.userTokenBalance(address,address)._token (contracts/taskTreasury/TaskTreasuryUpgradable.sol#227) is not in mixedCase
Parameter TaskTreasuryUpgradable.totalUserTokenBalance(address,address)._user (contracts/taskTreasury/TaskTreasuryUpgradable.sol#245) is not in mixedCase
Parameter TaskTreasuryUpgradable.totalUserTokenBalance(address,address)._token (contracts/taskTreasury/TaskTreasuryUpgradable.sol#245) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
. analyzed (13 contracts with 100 detectors), 59 result(s) found
Metadata
{
    "solc": {
        "status": "ok",
        "use_rc": 0,
        "version": "0.8.12",
        "strategy": "solc-select",
        "solc_path": "/var/www/tripwire/.venv/bin/solc",
        "install_rc": 0,
        "use_stderr": null,
        "use_stdout": "Switched global version to 0.8.12",
        "install_stderr": null,
        "install_stdout": "Version '0.8.12' is already installed, skipping..."
    },
    "solc_args": "--base-path /tmp/slither-zj237ijd --allow-paths /tmp/slither-zj237ijd,/tmp/slither-zj237ijd/lib,/tmp/slither-zj237ijd/src",
    "remappings": [],
    "source_files": [
        "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol",
        "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol",
        "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol",
        "@openzeppelin/contracts/token/ERC20/IERC20.sol",
        "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
        "@openzeppelin/contracts/utils/Address.sol",
        "@openzeppelin/contracts/utils/structs/EnumerableSet.sol",
        "contracts/functions/FUtils.sol",
        "contracts/interfaces/IERC20Extended.sol",
        "contracts/interfaces/ITaskTreasury.sol",
        "contracts/interfaces/ITaskTreasuryUpgradable.sol",
        "contracts/libraries/LibShares.sol",
        "contracts/taskTreasury/TaskTreasuryUpgradable.sol",
        "contracts/vendor/proxy/EIP173/Proxied.sol"
    ],
    "contract_count": 0,
    "contract_names": [],
    "detector_count": 59,
    "workspace_hash": "75ec68eed710b4ebb44546ee9424539fbabe7b4aabb0ec2634814dbeed0b308f",
    "duration_seconds": 1.0129549503326416,
    "solc_version_requested": "0.8.14"
}

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
1
No findings?
no
Summary
One low-severity accounting issue: the minimum-shares invariant can prevent full withdrawals and permanently lock residual funds for a token.
View stdout
{"no_findings":false,"summary":"One low-severity accounting issue: the minimum-shares invariant can prevent full withdrawals and permanently lock residual funds for a token.","findings":[{"severity":"low","category":"math","title":"Minimum-shares invariant can lock the last withdrawal for a token","exploit_scenario":"If totalShares[_token] equals MIN_SHARES_IN_TREASURY, any withdrawal that would reduce totalShares below MIN reverts. The last user(s) for that token cannot fully withdraw, leaving at least MIN_SHARES worth of funds stuck unless someone else deposits to raise totalShares. A user who makes the first deposit at the MIN threshold can also become unable to fully withdraw without another depositor.","recommendation":"Allow full withdrawals when burning the final shares (e.g., permit totalShares to reach 0 when sharesToCharge == sharesTotal), or separate protocol-owned minimum shares from user shares so user withdrawals are not blocked.","evidence":"_creditUser enforces a minimum on the first mint, and _deductUser blocks withdrawals that would drop totalShares below MIN_SHARES_IN_TREASURY.","locations":["contracts/taskTreasury/TaskTreasuryUpgradable.sol:273","contracts/taskTreasury/TaskTreasuryUpgradable.sol:301"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-6k4taw55
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019c0f99-61bd-7ac0-87a8-43975499685e
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.

Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.

Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
exec
/bin/bash -lc ls in /tmp/codex-6k4taw55 succeeded in 7ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
@openzeppelin
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-6k4taw55 succeeded in 5ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: contracts/functions/FUtils.sol
================================================================================
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.12;

import {
    SafeERC20,
    IERC20
} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";

address constant ETH = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;

// solhint-disable private-vars-leading-underscore
// solhint-disable func-visibility
function _transfer(
    address payable _to,
exec
/bin/bash -lc "nl -ba contracts/taskTreasury/TaskTreasuryUpgradable.sol | sed -n '180,320p'" in /tmp/codex-6k4taw55 succeeded in 9ms:
   180	    /// @param _user User to get the balances from
   181	    function getCreditTokensByUser(address _user)
   182	        public
   183	        view
   184	        override
   185	        returns (address[] memory)
   186	    {
   187	        return _tokens[_user].values();
   188	    }
   189	
   190	    /// @notice Helper func to get all deposited tokens by a user across treasuries.
   191	    /// @param _user User to get the balances from
   192	    function getTotalCreditTokensByUser(address _user)
   193	        public
   194	        view
   195	        override
   196	        returns (address[] memory)
   197	    {
   198	        address[] memory tokensInNew = _tokens[_user].values();
   199	        address[] memory tokensInOld = oldTreasury.getCreditTokensByUser(_user);
codex
{"no_findings":false,"summary":"One low-severity accounting issue: the minimum-shares invariant can prevent full withdrawals and permanently lock residual funds for a token.","findings":[{"severity":"low","category":"math","title":"Minimum-shares invariant can lock the last withdrawal for a token","exploit_scenario":"If totalShares[_token] equals MIN_SHARES_IN_TREASURY, any withdrawal that would reduce totalShares below MIN reverts. The last user(s) for that token cannot fully withdraw, leaving at least MIN_SHARES worth of funds stuck unless someone else deposits to raise totalShares. A user who makes the first deposit at the MIN threshold can also become unable to fully withdraw without another depositor.","recommendation":"Allow full withdrawals when burning the final shares (e.g., permit totalShares to reach 0 when sharesToCharge == sharesTotal), or separate protocol-owned minimum shares from user shares so user withdrawals are not blocked.","evidence":"_creditUser enforces a minimum on the first mint, and _deductUser blocks withdrawals that would drop totalShares below MIN_SHARES_IN_TREASURY.","locations":["contracts/taskTreasury/TaskTreasuryUpgradable.sol:273","contracts/taskTreasury/TaskTreasuryUpgradable.sol:301"]}]}
tokens used
14,627
Metadata
{
    "codex": {
        "ran_at": "2026-01-30T15:52:39.737935+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 14,
        "import_count": 9,
        "first_party_contracts_count": 7
    },
    "summary": "One low-severity accounting issue: the minimum-shares invariant can prevent full withdrawals and permanently lock residual funds for a token.",
    "raw_final": {
        "summary": "One low-severity accounting issue: the minimum-shares invariant can prevent full withdrawals and permanently lock residual funds for a token.",
        "findings": [
            {
                "title": "Minimum-shares invariant can lock the last withdrawal for a token",
                "category": "math",
                "evidence": "_creditUser enforces a minimum on the first mint, and _deductUser blocks withdrawals that would drop totalShares below MIN_SHARES_IN_TREASURY.",
                "severity": "low",
                "locations": [
                    "contracts/taskTreasury/TaskTreasuryUpgradable.sol:273",
                    "contracts/taskTreasury/TaskTreasuryUpgradable.sol:301"
                ],
                "recommendation": "Allow full withdrawals when burning the final shares (e.g., permit totalShares to reach 0 when sharesToCharge == sharesTotal), or separate protocol-owned minimum shares from user shares so user withdrawals are not blocked.",
                "exploit_scenario": "If totalShares[_token] equals MIN_SHARES_IN_TREASURY, any withdrawal that would reduce totalShares below MIN reverts. The last user(s) for that token cannot fully withdraw, leaving at least MIN_SHARES worth of funds stuck unless someone else deposits to raise totalShares. A user who makes the first deposit at the MIN threshold can also become unable to fully withdraw without another depositor."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
11
EXT*/BALANCE
4
Total opcodes
7841
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x00f7
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0xa3f1233e
00000019: GT
0000001a: PUSH2 0x008a
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xc1461d57
00000024: GT
00000025: PUSH2 0x0059
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xc1461d57
0000002f: EQ
00000030: PUSH2 0x0378
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xcf0ef516
0000003a: EQ
0000003b: PUSH2 0x0394
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xd147adb9
00000045: EQ
00000046: PUSH2 0x03bf
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xfe4b84df
00000050: EQ
00000051: PUSH2 0x03fc
00000054: JUMPI
00000055: PUSH2 0x011d
00000058: JUMP
00000059: JUMPDEST
0000005a: DUP1
0000005b: PUSH4 0xa3f1233e
00000060: EQ
00000061: PUSH2 0x0298
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0xb0da8d0b
0000006b: EQ
0000006c: PUSH2 0x02c1
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xb47064c8
00000076: EQ
00000077: PUSH2 0x02fe
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xbf6b874e
00000081: EQ
00000082: PUSH2 0x033b
00000085: JUMPI
00000086: PUSH2 0x011d
00000089: JUMP
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0x2bf30a0e
00000091: GT
00000092: PUSH2 0x00c6
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0x2bf30a0e
0000009c: EQ
0000009d: PUSH2 0x01ca
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x550dddeb
000000a7: EQ
000000a8: PUSH2 0x0207
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0x5dfad06a
000000b2: EQ
000000b3: PUSH2 0x0230
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0x7df44647
000000bd: EQ
000000be: PUSH2 0x025b
000000c1: JUMPI
000000c2: PUSH2 0x011d
000000c5: JUMP
000000c6: JUMPDEST
000000c7: DUP1
000000c8: PUSH4 0x01f59d16
000000cd: EQ
000000ce: PUSH2 0x0122
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0x03c84596
000000d8: EQ
000000d9: PUSH2 0x014d
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0x0a9b1803
000000e3: EQ
000000e4: PUSH2 0x0178
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0x1c20fadd
000000ee: EQ
000000ef: PUSH2 0x01a1
000000f2: JUMPI
000000f3: PUSH2 0x011d
000000f6: JUMP
000000f7: JUMPDEST
000000f8: CALLDATASIZE
000000f9: PUSH2 0x011d
000000fc: JUMPI
000000fd: PUSH2 0x011b
00000100: CALLER
00000101: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00000116: CALLVALUE
00000117: PUSH2 0x0425
0000011a: JUMP
0000011b: JUMPDEST
0000011c: STOP
0000011d: JUMPDEST
0000011e: PUSH1 0x00
00000120: DUP1
00000121: REVERT
00000122: JUMPDEST
00000123: CALLVALUE
00000124: DUP1
00000125: ISZERO
00000126: PUSH2 0x012e
00000129: JUMPI
0000012a: PUSH1 0x00
0000012c: DUP1
0000012d: REVERT
0000012e: JUMPDEST
0000012f: POP
00000130: PUSH2 0x0137
00000133: PUSH2 0x06d2
00000136: JUMP
00000137: JUMPDEST
00000138: PUSH1 0x40
0000013a: MLOAD
0000013b: PUSH2 0x0144
0000013e: SWAP2
0000013f: SWAP1
00000140: PUSH2 0x260f
00000143: JUMP
00000144: JUMPDEST
00000145: PUSH1 0x40
00000147: MLOAD
00000148: DUP1
00000149: SWAP2
0000014a: SUB
0000014b: SWAP1
0000014c: RETURN
0000014d: JUMPDEST
0000014e: CALLVALUE
0000014f: DUP1
00000150: ISZERO
00000151: PUSH2 0x0159
00000154: JUMPI
00000155: PUSH1 0x00
00000157: DUP1
00000158: REVERT
00000159: JUMPDEST
0000015a: POP
0000015b: PUSH2 0x0162
0000015e: PUSH2 0x06d8
00000161: JUMP
00000162: JUMPDEST
00000163: PUSH1 0x40
00000165: MLOAD
00000166: PUSH2 0x016f
00000169: SWAP2
0000016a: SWAP1
0000016b: PUSH2 0x260f
0000016e: JUMP
0000016f: JUMPDEST
00000170: PUSH1 0x40
00000172: MLOAD
00000173: DUP1
00000174: SWAP2
00000175: SUB
00000176: SWAP1
00000177: RETURN
00000178: JUMPDEST
00000179: CALLVALUE
0000017a: DUP1
0000017b: ISZERO
0000017c: PUSH2 0x0184
0000017f: JUMPI
00000180: PUSH1 0x00
00000182: DUP1
00000183: REVERT
00000184: JUMPDEST
00000185: POP
00000186: PUSH2 0x019f
00000189: PUSH1 0x04
0000018b: DUP1
0000018c: CALLDATASIZE
0000018d: SUB
0000018e: DUP2
0000018f: ADD
00000190: SWAP1
00000191: PUSH2 0x019a
00000194: SWAP2
00000195: SWAP1
00000196: PUSH2 0x26d4
00000199: JUMP
0000019a: JUMPDEST
0000019b: PUSH2 0x06e1
0000019e: JUMP
0000019f: JUMPDEST
000001a0: STOP
000001a1: JUMPDEST
000001a2: CALLVALUE
000001a3: DUP1
000001a4: ISZERO
000001a5: PUSH2 0x01ad
000001a8: JUMPI
000001a9: PUSH1 0x00
000001ab: DUP1
000001ac: REVERT
000001ad: JUMPDEST
000001ae: POP
000001af: PUSH2 0x01c8
000001b2: PUSH1 0x04
000001b4: DUP1
000001b5: CALLDATASIZE
000001b6: SUB
000001b7: DUP2
000001b8: ADD
000001b9: SWAP1
000001ba: PUSH2 0x01c3
000001bd: SWAP2
000001be: SWAP1
000001bf: PUSH2 0x277e
000001c2: JUMP
000001c3: JUMPDEST
000001c4: PUSH2 0x07de
000001c7: JUMP
000001c8: JUMPDEST
000001c9: STOP
000001ca: JUMPDEST
000001cb: CALLVALUE
000001cc: DUP1
000001cd: ISZERO
000001ce: PUSH2 0x01d6
000001d1: JUMPI
000001d2: PUSH1 0x00
000001d4: DUP1
000001d5: REVERT
000001d6: JUMPDEST
000001d7: POP
000001d8: PUSH2 0x01f1
000001db: PUSH1 0x04
000001dd: DUP1
000001de: CALLDATASIZE
000001df: SUB
000001e0: DUP2
000001e1: ADD
000001e2: SWAP1
000001e3: PUSH2 0x01ec
000001e6: SWAP2
000001e7: SWAP1
000001e8: PUSH2 0x27d1
000001eb: JUMP
000001ec: JUMPDEST
000001ed: PUSH2 0x08c9
000001f0: JUMP
000001f1: JUMPDEST
000001f2: PUSH1 0x40
000001f4: MLOAD
000001f5: PUSH2 0x01fe
000001f8: SWAP2
000001f9: SWAP1
000001fa: PUSH2 0x28bc
000001fd: JUMP
000001fe: JUMPDEST
000001ff: PUSH1 0x40
00000201: MLOAD
00000202: DUP1
00000203: SWAP2
00000204: SUB
00000205: SWAP1
00000206: RETURN
00000207: JUMPDEST
00000208: CALLVALUE
00000209: DUP1
0000020a: ISZERO
0000020b: PUSH2 0x0213
0000020e: JUMPI
0000020f: PUSH1 0x00
00000211: DUP1
00000212: REVERT
00000213: JUMPDEST
00000214: POP
00000215: PUSH2 0x022e
00000218: PUSH1 0x04
0000021a: DUP1
0000021b: CALLDATASIZE
0000021c: SUB
0000021d: DUP2
0000021e: ADD
0000021f: SWAP1
00000220: PUSH2 0x0229
00000223: SWAP2
00000224: SWAP1
00000225: PUSH2 0x28de
00000228: JUMP
00000229: JUMPDEST
0000022a: PUSH2 0x0919
0000022d: JUMP
0000022e: JUMPDEST
0000022f: STOP
00000230: JUMPDEST
00000231: CALLVALUE
00000232: DUP1
00000233: ISZERO
00000234: PUSH2 0x023c
00000237: JUMPI
00000238: PUSH1 0x00
0000023a: DUP1
0000023b: REVERT
0000023c: JUMPDEST
0000023d: POP
0000023e: PUSH2 0x0245
00000241: PUSH2 0x09c5
00000244: JUMP
00000245: JUMPDEST
00000246: PUSH1 0x40
00000248: MLOAD
00000249: PUSH2 0x0252
0000024c: SWAP2
0000024d: SWAP1
0000024e: PUSH2 0x28bc
00000251: JUMP
00000252: JUMPDEST
00000253: PUSH1 0x40
00000255: MLOAD
00000256: DUP1
00000257: SWAP2
00000258: SUB
00000259: SWAP1
0000025a: RETURN
0000025b: JUMPDEST
0000025c: CALLVALUE
0000025d: DUP1
0000025e: ISZERO
0000025f: PUSH2 0x0267
00000262: JUMPI
00000263: PUSH1 0x00
00000265: DUP1
00000266: REVERT
00000267: JUMPDEST
00000268: POP
00000269: PUSH2 0x0282
0000026c: PUSH1 0x04
0000026e: DUP1
0000026f: CALLDATASIZE
00000270: SUB
00000271: DUP2
00000272: ADD
00000273: SWAP1
00000274: PUSH2 0x027d
00000277: SWAP2
00000278: SWAP1
00000279: PUSH2 0x290b
0000027c: JUMP
0000027d: JUMPDEST
0000027e: PUSH2 0x09d6
00000281: JUMP
00000282: JUMPDEST
00000283: PUSH1 0x40
00000285: MLOAD
00000286: PUSH2 0x028f
00000289: SWAP2
0000028a: SWAP1
0000028b: PUSH2 0x260f
0000028e: JUMP
0000028f: JUMPDEST
00000290: PUSH1 0x40
00000292: MLOAD
00000293: DUP1
00000294: SWAP2
00000295: SUB
00000296: SWAP1
00000297: RETURN
00000298: JUMPDEST
00000299: CALLVALUE
0000029a: DUP1
0000029b: ISZERO
0000029c: PUSH2 0x02a4
0000029f: JUMPI
000002a0: PUSH1 0x00
000002a2: DUP1
000002a3: REVERT
000002a4: JUMPDEST
000002a5: POP
000002a6: PUSH2 0x02bf
000002a9: PUSH1 0x04
000002ab: DUP1
000002ac: CALLDATASIZE
000002ad: SUB
000002ae: DUP2
000002af: ADD
000002b0: SWAP1
000002b1: PUSH2 0x02ba
000002b4: SWAP2
000002b5: SWAP1
000002b6: PUSH2 0x294b
000002b9: JUMP
000002ba: JUMPDEST
000002bb: PUSH2 0x09fb
000002be: JUMP
000002bf: JUMPDEST
000002c0: STOP
000002c1: JUMPDEST
000002c2: CALLVALUE
000002c3: DUP1
000002c4: ISZERO
000002c5: PUSH2 0x02cd
000002c8: JUMPI
000002c9: PUSH1 0x00
000002cb: DUP1
000002cc: REVERT
000002cd: JUMPDEST
000002ce: POP
000002cf: PUSH2 0x02e8
000002d2: PUSH1 0x04
000002d4: DUP1
000002d5: CALLDATASIZE
000002d6: SUB
000002d7: DUP2
000002d8: ADD
000002d9: SWAP1
000002da: PUSH2 0x02e3
000002dd: SWAP2
000002de: SWAP1
000002df: PUSH2 0x27d1
000002e2: JUMP
000002e3: JUMPDEST
000002e4: PUSH2 0x0d0d
000002e7: JUMP
000002e8: JUMPDEST
000002e9: PUSH1 0x40
000002eb: MLOAD
000002ec: PUSH2 0x02f5
000002ef: SWAP2
000002f0: SWAP1
000002f1: PUSH2 0x28bc
000002f4: JUMP
000002f5: JUMPDEST
000002f6: PUSH1 0x40
000002f8: MLOAD
000002f9: DUP1
000002fa: SWAP2
000002fb: SUB
000002fc: SWAP1
000002fd: RETURN
000002fe: JUMPDEST
000002ff: CALLVALUE
00000300: DUP1
00000301: ISZERO
00000302: PUSH2 0x030a
00000305: JUMPI
00000306: PUSH1 0x00
00000308: DUP1
00000309: REVERT
0000030a: JUMPDEST
0000030b: POP
0000030c: PUSH2 0x0325
0000030f: PUSH1 0x04
00000311: DUP1
00000312: CALLDATASIZE
00000313: SUB
00000314: DUP2
00000315: ADD
00000316: SWAP1
00000317: PUSH2 0x0320
0000031a: SWAP2
0000031b: SWAP1
0000031c: PUSH2 0x290b
0000031f: JUMP
00000320: JUMPDEST
00000321: PUSH2 0x107f
00000324: JUMP
00000325: JUMPDEST
00000326: PUSH1 0x40
00000328: MLOAD
00000329: PUSH2 0x0332
0000032c: SWAP2
0000032d: SWAP1
0000032e: PUSH2 0x260f
00000331: JUMP
00000332: JUMPDEST
00000333: PUSH1 0x40
00000335: MLOAD
00000336: DUP1
00000337: SWAP2
00000338: SUB
00000339: SWAP1
0000033a: RETURN
0000033b: JUMPDEST
0000033c: CALLVALUE
0000033d: DUP1
0000033e: ISZERO
0000033f: PUSH2 0x0347
00000342: JUMPI
00000343: PUSH1 0x00
00000345: DUP1
00000346: REVERT
00000347: JUMPDEST
00000348: POP
00000349: PUSH2 0x0362
0000034c: PUSH1 0x04
0000034e: DUP1
0000034f: CALLDATASIZE
00000350: SUB
00000351: DUP2
00000352: ADD
00000353: SWAP1
00000354: PUSH2 0x035d
00000357: SWAP2
00000358: SWAP1
00000359: PUSH2 0x27d1
0000035c: JUMP
0000035d: JUMPDEST
0000035e: PUSH2 0x115c
00000361: JUMP
00000362: JUMPDEST
00000363: PUSH1 0x40
00000365: MLOAD
00000366: PUSH2 0x036f
00000369: SWAP2
0000036a: SWAP1
0000036b: PUSH2 0x260f
0000036e: JUMP
0000036f: JUMPDEST
00000370: PUSH1 0x40
00000372: MLOAD
00000373: DUP1
00000374: SWAP2
00000375: SUB
00000376: SWAP1
00000377: RETURN
00000378: JUMPDEST
00000379: PUSH2 0x0392
0000037c: PUSH1 0x04
0000037e: DUP1
0000037f: CALLDATASIZE
00000380: SUB
00000381: DUP2
00000382: ADD
00000383: SWAP1
00000384: PUSH2 0x038d
00000387: SWAP2
00000388: SWAP1
00000389: PUSH2 0x294b
0000038c: JUMP
0000038d: JUMPDEST
0000038e: PUSH2 0x0425
00000391: JUMP
00000392: JUMPDEST
00000393: STOP
00000394: JUMPDEST
00000395: CALLVALUE
00000396: DUP1
00000397: ISZERO
00000398: PUSH2 0x03a0
0000039b: JUMPI
0000039c: PUSH1 0x00
0000039e: DUP1
0000039f: REVERT
000003a0: JUMPDEST
000003a1: POP
000003a2: PUSH2 0x03a9
000003a5: PUSH2 0x1174
000003a8: JUMP
000003a9: JUMPDEST
000003aa: PUSH1 0x40
000003ac: MLOAD
000003ad: PUSH2 0x03b6
000003b0: SWAP2
000003b1: SWAP1
000003b2: PUSH2 0x29fd
000003b5: JUMP
000003b6: JUMPDEST
000003b7: PUSH1 0x40
000003b9: MLOAD
000003ba: DUP1
000003bb: SWAP2
000003bc: SUB
000003bd: SWAP1
000003be: RETURN
000003bf: JUMPDEST
000003c0: CALLVALUE
000003c1: DUP1
000003c2: ISZERO
000003c3: PUSH2 0x03cb
000003c6: JUMPI
000003c7: PUSH1 0x00
000003c9: DUP1
000003ca: REVERT
000003cb: JUMPDEST
000003cc: POP
000003cd: PUSH2 0x03e6
000003d0: PUSH1 0x04
000003d2: DUP1
000003d3: CALLDATASIZE
000003d4: SUB
000003d5: DUP2
000003d6: ADD
000003d7: SWAP1
000003d8: PUSH2 0x03e1
000003db: SWAP2
000003dc: SWAP1
000003dd: PUSH2 0x290b
000003e0: JUMP
000003e1: JUMPDEST
000003e2: PUSH2 0x1198
000003e5: JUMP
000003e6: JUMPDEST
000003e7: PUSH1 0x40
000003e9: MLOAD
000003ea: PUSH2 0x03f3
000003ed: SWAP2
000003ee: SWAP1
000003ef: PUSH2 0x260f
000003f2: JUMP
000003f3: JUMPDEST
000003f4: PUSH1 0x40
000003f6: MLOAD
000003f7: DUP1
000003f8: SWAP2
000003f9: SUB
000003fa: SWAP1
000003fb: RETURN
000003fc: JUMPDEST
000003fd: CALLVALUE
000003fe: DUP1
000003ff: ISZERO
00000400: PUSH2 0x0408
00000403: JUMPI
00000404: PUSH1 0x00
00000406: DUP1
00000407: REVERT
00000408: JUMPDEST
00000409: POP
0000040a: PUSH2 0x0423
0000040d: PUSH1 0x04
0000040f: DUP1
00000410: CALLDATASIZE
00000411: SUB
00000412: DUP2
00000413: ADD
00000414: SWAP1
00000415: PUSH2 0x041e
00000418: SWAP2
00000419: SWAP1
0000041a: PUSH2 0x28de
0000041d: JUMP
0000041e: JUMPDEST
0000041f: PUSH2 0x1263
00000422: JUMP
00000423: JUMPDEST
00000424: STOP
00000425: JUMPDEST
00000426: PUSH1 0x02
00000428: PUSH1 0x01
0000042a: SLOAD
0000042b: SUB
0000042c: PUSH2 0x046a
0000042f: JUMPI
00000430: PUSH1 0x40
00000432: MLOAD
00000433: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000454: DUP2
00000455: MSTORE
00000456: PUSH1 0x04
00000458: ADD
00000459: PUSH2 0x0461
0000045c: SWAP1
0000045d: PUSH2 0x2a75
00000460: JUMP
00000461: JUMPDEST
00000462: PUSH1 0x40
00000464: MLOAD
00000465: DUP1
00000466: SWAP2
00000467: SUB
00000468: SWAP1
00000469: REVERT
0000046a: JUMPDEST
0000046b: PUSH1 0x02
0000046d: PUSH1 0x01
0000046f: DUP2
00000470: SWAP1
00000471: SSTORE
00000472: POP
00000473: PUSH1 0x00
00000475: DUP1
00000476: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
0000048b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004a0: AND
000004a1: DUP5
000004a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004b7: AND
000004b8: SUB
000004b9: PUSH2 0x04c4
000004bc: JUMPI
000004bd: CALLVALUE
000004be: SWAP2
000004bf: POP
000004c0: PUSH2 0x0647
000004c3: JUMP
000004c4: JUMPDEST
000004c5: PUSH1 0x00
000004c7: CALLVALUE
000004c8: EQ
000004c9: PUSH2 0x0507
000004cc: JUMPI
000004cd: PUSH1 0x40
000004cf: MLOAD
000004d0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000004f1: DUP2
000004f2: MSTORE
000004f3: PUSH1 0x04
000004f5: ADD
000004f6: PUSH2 0x04fe
000004f9: SWAP1
000004fa: PUSH2 0x2ae1
000004fd: JUMP
000004fe: JUMPDEST
000004ff: PUSH1 0x40
00000501: MLOAD
00000502: DUP1
00000503: SWAP2
00000504: SUB
00000505: SWAP1
00000506: REVERT
00000507: JUMPDEST
00000508: PUSH1 0x00
0000050a: DUP5
0000050b: SWAP1
0000050c: POP
0000050d: PUSH1 0x00
0000050f: DUP2
00000510: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000525: AND
00000526: PUSH4 0x70a08231
0000052b: ADDRESS
0000052c: PUSH1 0x40
0000052e: MLOAD
0000052f: DUP3
00000530: PUSH4 0xffffffff
00000535: AND
00000536: PUSH1 0xe0
00000538: SHL
00000539: DUP2
0000053a: MSTORE
0000053b: PUSH1 0x04
0000053d: ADD
0000053e: PUSH2 0x0547
00000541: SWAP2
00000542: SWAP1
00000543: PUSH2 0x2b10
00000546: JUMP
00000547: JUMPDEST
00000548: PUSH1 0x20
0000054a: PUSH1 0x40
0000054c: MLOAD
0000054d: DUP1
0000054e: DUP4
0000054f: SUB
00000550: DUP2
00000551: DUP7
00000552: GAS
00000553: STATICCALL
00000554: ISZERO
00000555: DUP1
00000556: ISZERO
00000557: PUSH2 0x0564
0000055a: JUMPI
0000055b: RETURNDATASIZE
0000055c: PUSH1 0x00
0000055e: DUP1
0000055f: RETURNDATACOPY
00000560: RETURNDATASIZE
00000561: PUSH1 0x00
00000563: REVERT
00000564: JUMPDEST
00000565: POP
00000566: POP
00000567: POP
00000568: POP
00000569: PUSH1 0x40
0000056b: MLOAD
0000056c: RETURNDATASIZE
0000056d: PUSH1 0x1f
0000056f: NOT
00000570: PUSH1 0x1f
00000572: DUP3
00000573: ADD
00000574: AND
00000575: DUP3
00000576: ADD
00000577: DUP1
00000578: PUSH1 0x40
0000057a: MSTORE
0000057b: POP
0000057c: DUP2
0000057d: ADD
0000057e: SWAP1
0000057f: PUSH2 0x0588
00000582: SWAP2
00000583: SWAP1
00000584: PUSH2 0x2b40
00000587: JUMP
00000588: JUMPDEST
00000589: SWAP1
0000058a: POP
0000058b: PUSH2 0x05b7
0000058e: CALLER
0000058f: ADDRESS
00000590: DUP8
00000591: DUP6
00000592: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005a7: AND
000005a8: PUSH2 0x1357
000005ab: SWAP1
000005ac: SWAP4
000005ad: SWAP3
000005ae: SWAP2
000005af: SWAP1
000005b0: PUSH4 0xffffffff
000005b5: AND
000005b6: JUMP
000005b7: JUMPDEST
000005b8: PUSH1 0x00
000005ba: DUP3
000005bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005d0: AND
000005d1: PUSH4 0x70a08231
000005d6: ADDRESS
000005d7: PUSH1 0x40
000005d9: MLOAD
000005da: DUP3
000005db: PUSH4 0xffffffff
000005e0: AND
000005e1: PUSH1 0xe0
000005e3: SHL
000005e4: DUP2
000005e5: MSTORE
000005e6: PUSH1 0x04
000005e8: ADD
000005e9: PUSH2 0x05f2
000005ec: SWAP2
000005ed: SWAP1
000005ee: PUSH2 0x2b10
000005f1: JUMP
000005f2: JUMPDEST
000005f3: PUSH1 0x20
000005f5: PUSH1 0x40
000005f7: MLOAD
000005f8: DUP1
000005f9: DUP4
000005fa: SUB
000005fb: DUP2
000005fc: DUP7
000005fd: GAS
000005fe: STATICCALL
000005ff: ISZERO
00000600: DUP1
00000601: ISZERO
00000602: PUSH2 0x060f
00000605: JUMPI
00000606: RETURNDATASIZE
00000607: PUSH1 0x00
00000609: DUP1
0000060a: RETURNDATACOPY
0000060b: RETURNDATASIZE
0000060c: PUSH1 0x00
0000060e: REVERT
0000060f: JUMPDEST
00000610: POP
00000611: POP
00000612: POP
00000613: POP
00000614: PUSH1 0x40
00000616: MLOAD
00000617: RETURNDATASIZE
00000618: PUSH1 0x1f
0000061a: NOT
0000061b: PUSH1 0x1f
0000061d: DUP3
0000061e: ADD
0000061f: AND
00000620: DUP3
00000621: ADD
00000622: DUP1
00000623: PUSH1 0x40
00000625: MSTORE
00000626: POP
00000627: DUP2
00000628: ADD
00000629: SWAP1
0000062a: PUSH2 0x0633
0000062d: SWAP2
0000062e: SWAP1
0000062f: PUSH2 0x2b40
00000632: JUMP
00000633: JUMPDEST
00000634: SWAP1
00000635: POP
00000636: DUP2
00000637: DUP2
00000638: PUSH2 0x0641
0000063b: SWAP2
0000063c: SWAP1
0000063d: PUSH2 0x2b9c
00000640: JUMP
00000641: JUMPDEST
00000642: SWAP5
00000643: POP
00000644: POP
00000645: POP
00000646: POP
00000647: JUMPDEST
00000648: DUP2
00000649: PUSH2 0x0651
0000064c: DUP6
0000064d: PUSH2 0x13e0
00000650: JUMP
00000651: JUMPDEST
00000652: PUSH2 0x065b
00000655: SWAP2
00000656: SWAP1
00000657: PUSH2 0x2b9c
0000065a: JUMP
0000065b: JUMPDEST
0000065c: SWAP1
0000065d: POP
0000065e: PUSH2 0x0669
00000661: DUP6
00000662: DUP6
00000663: DUP5
00000664: DUP5
00000665: PUSH2 0x14b3
00000668: JUMP
00000669: JUMPDEST
0000066a: DUP2
0000066b: DUP5
0000066c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000681: AND
00000682: DUP7
00000683: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000698: AND
00000699: PUSH32 0xf0d0e99cae184d0187b093b48894117462462379674a6e11d89c3fbb618e96b0
000006ba: PUSH1 0x40
000006bc: MLOAD
000006bd: PUSH1 0x40
000006bf: MLOAD
000006c0: DUP1
000006c1: SWAP2
000006c2: SUB
000006c3: SWAP1
000006c4: LOG4
000006c5: POP
000006c6: POP
000006c7: PUSH1 0x01
000006c9: DUP1
000006ca: DUP2
000006cb: SWAP1
000006cc: SSTORE
000006cd: POP
000006ce: POP
000006cf: POP
000006d0: POP
000006d1: JUMP
000006d2: JUMPDEST
000006d3: PUSH1 0x33
000006d5: SLOAD
000006d6: DUP2
000006d7: JUMP
000006d8: JUMPDEST
000006d9: PUSH5 0xe8d4a51000
000006df: DUP2
000006e0: JUMP
000006e1: JUMPDEST
000006e2: PUSH2 0x06e9
000006e5: PUSH2 0x16d7
000006e8: JUMP
000006e9: JUMPDEST
000006ea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006ff: AND
00000700: CALLER
00000701: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000716: AND
00000717: EQ
00000718: PUSH2 0x0756
0000071b: JUMPI
0000071c: PUSH1 0x40
0000071e: MLOAD
0000071f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000740: DUP2
00000741: MSTORE
00000742: PUSH1 0x04
00000744: ADD
00000745: PUSH2 0x074d
00000748: SWAP1
00000749: PUSH2 0x2c1c
0000074c: JUMP
0000074d: JUMPDEST
0000074e: PUSH1 0x40
00000750: MLOAD
00000751: DUP1
00000752: SWAP2
00000753: SUB
00000754: SWAP1
00000755: REVERT
00000756: JUMPDEST
00000757: DUP1
00000758: ISZERO
00000759: PUSH2 0x0776
0000075c: JUMPI
0000075d: PUSH2 0x0770
00000760: DUP3
00000761: PUSH1 0x37
00000763: PUSH2 0x1700
00000766: SWAP1
00000767: SWAP2
00000768: SWAP1
00000769: PUSH4 0xffffffff
0000076e: AND
0000076f: JUMP
00000770: JUMPDEST
00000771: POP
00000772: PUSH2 0x078c
00000775: JUMP
00000776: JUMPDEST
00000777: PUSH2 0x078a
0000077a: DUP3
0000077b: PUSH1 0x37
0000077d: PUSH2 0x1730
00000780: SWAP1
00000781: SWAP2
00000782: SWAP1
00000783: PUSH4 0xffffffff
00000788: AND
00000789: JUMP
0000078a: JUMPDEST
0000078b: POP
0000078c: JUMPDEST
0000078d: DUP2
0000078e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007a3: AND
000007a4: PUSH32 0x112acfcc345761cf642cf6d7086cc68572679c383746552dcf2f71b26623c158
000007c5: DUP3
000007c6: PUSH1 0x40
000007c8: MLOAD
000007c9: PUSH2 0x07d2
000007cc: SWAP2
000007cd: SWAP1
000007ce: PUSH2 0x2c4b
000007d1: JUMP
000007d2: JUMPDEST
000007d3: PUSH1 0x40
000007d5: MLOAD
000007d6: DUP1
000007d7: SWAP2
000007d8: SUB
000007d9: SWAP1
000007da: LOG2
000007db: POP
000007dc: POP
000007dd: JUMP
000007de: JUMPDEST
000007df: PUSH1 0x02
000007e1: PUSH1 0x01
000007e3: SLOAD
000007e4: SUB
000007e5: PUSH2 0x0823
000007e8: JUMPI
000007e9: PUSH1 0x40
000007eb: MLOAD
000007ec: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000080d: DUP2
0000080e: MSTORE
0000080f: PUSH1 0x04
00000811: ADD
00000812: PUSH2 0x081a
00000815: SWAP1
00000816: PUSH2 0x2a75
00000819: JUMP
0000081a: JUMPDEST
0000081b: PUSH1 0x40
0000081d: MLOAD
0000081e: DUP1
0000081f: SWAP2
00000820: SUB
00000821: SWAP1
00000822: REVERT
00000823: JUMPDEST
00000824: PUSH1 0x02
00000826: PUSH1 0x01
00000828: DUP2
00000829: SWAP1
0000082a: SSTORE
0000082b: POP
0000082c: PUSH2 0x0836
0000082f: CALLER
00000830: DUP4
00000831: DUP4
00000832: PUSH2 0x1760
00000835: JUMP
00000836: JUMPDEST
00000837: PUSH2 0x0841
0000083a: DUP4
0000083b: DUP4
0000083c: DUP4
0000083d: PUSH2 0x19d3
00000840: JUMP
00000841: JUMPDEST
00000842: DUP2
00000843: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000858: AND
00000859: CALLER
0000085a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000086f: AND
00000870: DUP5
00000871: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000886: AND
00000887: PUSH32 0xc322efa58c9cb2c39cfffdac61d35c8643f5cbf13c6a7d0034de2cf18923aff3
000008a8: DUP5
000008a9: PUSH1 0x40
000008ab: MLOAD
000008ac: PUSH2 0x08b5
000008af: SWAP2
000008b0: SWAP1
000008b1: PUSH2 0x260f
000008b4: JUMP
000008b5: JUMPDEST
000008b6: PUSH1 0x40
000008b8: MLOAD
000008b9: DUP1
000008ba: SWAP2
000008bb: SUB
000008bc: SWAP1
000008bd: LOG4
000008be: PUSH1 0x01
000008c0: DUP1
000008c1: DUP2
000008c2: SWAP1
000008c3: SSTORE
000008c4: POP
000008c5: POP
000008c6: POP
000008c7: POP
000008c8: JUMP
000008c9: JUMPDEST
000008ca: PUSH1 0x60
000008cc: PUSH2 0x0912
000008cf: PUSH1 0x36
000008d1: PUSH1 0x00
000008d3: DUP5
000008d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008e9: AND
000008ea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008ff: AND
00000900: DUP2
00000901: MSTORE
00000902: PUSH1 0x20
00000904: ADD
00000905: SWAP1
00000906: DUP2
00000907: MSTORE
00000908: PUSH1 0x20
0000090a: ADD
0000090b: PUSH1 0x00
0000090d: KECCAK256
0000090e: PUSH2 0x1add
00000911: JUMP
00000912: JUMPDEST
00000913: SWAP1
00000914: POP
00000915: SWAP2
00000916: SWAP1
00000917: POP
00000918: JUMP
00000919: JUMPDEST
0000091a: PUSH2 0x0921
0000091d: PUSH2 0x16d7
00000920: JUMP
00000921: JUMPDEST
00000922: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000937: AND
00000938: CALLER
00000939: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000094e: AND
0000094f: EQ
00000950: PUSH2 0x098e
00000953: JUMPI
00000954: PUSH1 0x40
00000956: MLOAD
00000957: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000978: DUP2
00000979: MSTORE
0000097a: PUSH1 0x04
0000097c: ADD
0000097d: PUSH2 0x0985
00000980: SWAP1
00000981: PUSH2 0x2c1c
00000984: JUMP
00000985: JUMPDEST
00000986: PUSH1 0x40
00000988: MLOAD
00000989: DUP1
0000098a: SWAP2
0000098b: SUB
0000098c: SWAP1
0000098d: REVERT
0000098e: JUMPDEST
0000098f: DUP1
00000990: PUSH1 0x33
00000992: DUP2
00000993: SWAP1
00000994: SSTORE
00000995: POP
00000996: DUP1
00000997: PUSH32 0xd4710696fc3761c070b614c80e5020d726828d5f75aa8a6b8287c4194dfe6da2
000009b8: PUSH1 0x40
000009ba: MLOAD
000009bb: PUSH1 0x40
000009bd: MLOAD
000009be: DUP1
000009bf: SWAP2
000009c0: SUB
000009c1: SWAP1
000009c2: LOG2
000009c3: POP
000009c4: JUMP
000009c5: JUMPDEST
000009c6: PUSH1 0x60
000009c8: PUSH2 0x09d1
000009cb: PUSH1 0x37
000009cd: PUSH2 0x1add
000009d0: JUMP
000009d1: JUMPDEST
000009d2: SWAP1
000009d3: POP
000009d4: SWAP1
000009d5: JUMP
000009d6: JUMPDEST
000009d7: PUSH1 0x34
000009d9: PUSH1 0x20
000009db: MSTORE
000009dc: DUP2
000009dd: PUSH1 0x00
000009df: MSTORE
000009e0: PUSH1 0x40
000009e2: PUSH1 0x00
000009e4: KECCAK256
000009e5: PUSH1 0x20
000009e7: MSTORE
000009e8: DUP1
000009e9: PUSH1 0x00
000009eb: MSTORE
000009ec: PUSH1 0x40
000009ee: PUSH1 0x00
000009f0: KECCAK256
000009f1: PUSH1 0x00
000009f3: SWAP2
000009f4: POP
000009f5: SWAP2
000009f6: POP
000009f7: POP
000009f8: SLOAD
000009f9: DUP2
000009fa: JUMP
000009fb: JUMPDEST
000009fc: PUSH2 0x0a0f
000009ff: CALLER
00000a00: PUSH1 0x37
00000a02: PUSH2 0x1afe
00000a05: SWAP1
00000a06: SWAP2
00000a07: SWAP1
00000a08: PUSH4 0xffffffff
00000a0d: AND
00000a0e: JUMP
00000a0f: JUMPDEST
00000a10: PUSH2 0x0a4e
00000a13: JUMPI
00000a14: PUSH1 0x40
00000a16: MLOAD
00000a17: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000a38: DUP2
00000a39: MSTORE
00000a3a: PUSH1 0x04
00000a3c: ADD
00000a3d: PUSH2 0x0a45
00000a40: SWAP1
00000a41: PUSH2 0x2cd8
00000a44: JUMP
00000a45: JUMPDEST
00000a46: PUSH1 0x40
00000a48: MLOAD
00000a49: DUP1
00000a4a: SWAP2
00000a4b: SUB
00000a4c: SWAP1
00000a4d: REVERT
00000a4e: JUMPDEST
00000a4f: PUSH1 0x00
00000a51: PUSH1 0x33
00000a53: SLOAD
00000a54: EQ
00000a55: PUSH2 0x0a9e
00000a58: JUMPI
00000a59: DUP1
00000a5a: PUSH1 0x33
00000a5c: SLOAD
00000a5d: LT
00000a5e: ISZERO
00000a5f: PUSH2 0x0a9d
00000a62: JUMPI
00000a63: PUSH1 0x40
00000a65: MLOAD
00000a66: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000a87: DUP2
00000a88: MSTORE
00000a89: PUSH1 0x04
00000a8b: ADD
00000a8c: PUSH2 0x0a94
00000a8f: SWAP1
00000a90: PUSH2 0x2d44
00000a93: JUMP
00000a94: JUMPDEST
00000a95: PUSH1 0x40
00000a97: MLOAD
00000a98: DUP1
00000a99: SWAP2
00000a9a: SUB
00000a9b: SWAP1
00000a9c: REVERT
00000a9d: JUMPDEST
00000a9e: JUMPDEST
00000a9f: PUSH1 0x00
00000aa1: PUSH32 0x000000000000000000000000115682745f38a926e4a8155509546c6cd16bce02
00000ac2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ad7: AND
00000ad8: PUSH4 0xb47064c8
00000add: DUP6
00000ade: DUP6
00000adf: PUSH1 0x40
00000ae1: MLOAD
00000ae2: DUP4
00000ae3: PUSH4 0xffffffff
00000ae8: AND
00000ae9: PUSH1 0xe0
00000aeb: SHL
00000aec: DUP2
00000aed: MSTORE
00000aee: PUSH1 0x04
00000af0: ADD
00000af1: PUSH2 0x0afb
00000af4: SWAP3
00000af5: SWAP2
00000af6: SWAP1
00000af7: PUSH2 0x2d64
00000afa: JUMP
00000afb: JUMPDEST
00000afc: PUSH1 0x20
00000afe: PUSH1 0x40
00000b00: MLOAD
00000b01: DUP1
00000b02: DUP4
00000b03: SUB
00000b04: DUP2
00000b05: DUP7
00000b06: GAS
00000b07: STATICCALL
00000b08: ISZERO
00000b09: DUP1
00000b0a: ISZERO
00000b0b: PUSH2 0x0b18
00000b0e: JUMPI
00000b0f: RETURNDATASIZE
00000b10: PUSH1 0x00
00000b12: DUP1
00000b13: RETURNDATACOPY
00000b14: RETURNDATASIZE
00000b15: PUSH1 0x00
00000b17: REVERT
00000b18: JUMPDEST
00000b19: POP
00000b1a: POP
00000b1b: POP
00000b1c: POP
00000b1d: PUSH1 0x40
00000b1f: MLOAD
00000b20: RETURNDATASIZE
00000b21: PUSH1 0x1f
00000b23: NOT
00000b24: PUSH1 0x1f
00000b26: DUP3
00000b27: ADD
00000b28: AND
00000b29: DUP3
00000b2a: ADD
00000b2b: DUP1
00000b2c: PUSH1 0x40
00000b2e: MSTORE
00000b2f: POP
00000b30: DUP2
00000b31: ADD
00000b32: SWAP1
00000b33: PUSH2 0x0b3c
00000b36: SWAP2
00000b37: SWAP1
00000b38: PUSH2 0x2b40
00000b3b: JUMP
00000b3c: JUMPDEST
00000b3d: SWAP1
00000b3e: POP
00000b3f: DUP1
00000b40: DUP3
00000b41: GT
00000b42: PUSH2 0x0bd9
00000b45: JUMPI
00000b46: PUSH32 0x000000000000000000000000115682745f38a926e4a8155509546c6cd16bce02
00000b67: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b7c: AND
00000b7d: PUSH4 0x6f192acc
00000b82: DUP5
00000b83: DUP5
00000b84: DUP8
00000b85: PUSH1 0x40
00000b87: MLOAD
00000b88: DUP5
00000b89: PUSH4 0xffffffff
00000b8e: AND
00000b8f: PUSH1 0xe0
00000b91: SHL
00000b92: DUP2
00000b93: MSTORE
00000b94: PUSH1 0x04
00000b96: ADD
00000b97: PUSH2 0x0ba2
00000b9a: SWAP4
00000b9b: SWAP3
00000b9c: SWAP2
00000b9d: SWAP1
00000b9e: PUSH2 0x2d8d
00000ba1: JUMP
00000ba2: JUMPDEST
00000ba3: PUSH1 0x00
00000ba5: PUSH1 0x40
00000ba7: MLOAD
00000ba8: DUP1
00000ba9: DUP4
00000baa: SUB
00000bab: DUP2
00000bac: PUSH1 0x00
00000bae: DUP8
00000baf: DUP1
00000bb0: EXTCODESIZE
00000bb1: ISZERO
00000bb2: DUP1
00000bb3: ISZERO
00000bb4: PUSH2 0x0bbc
00000bb7: JUMPI
00000bb8: PUSH1 0x00
00000bba: DUP1
00000bbb: REVERT
00000bbc: JUMPDEST
00000bbd: POP
00000bbe: GAS
00000bbf: CALL
00000bc0: ISZERO
00000bc1: DUP1
00000bc2: ISZERO
00000bc3: PUSH2 0x0bd0
00000bc6: JUMPI
00000bc7: RETURNDATASIZE
00000bc8: PUSH1 0x00
00000bca: DUP1
00000bcb: RETURNDATACOPY
00000bcc: RETURNDATASIZE
00000bcd: PUSH1 0x00
00000bcf: REVERT
00000bd0: JUMPDEST
00000bd1: POP
00000bd2: POP
00000bd3: POP
00000bd4: POP
00000bd5: PUSH2 0x0c89
00000bd8: JUMP
00000bd9: JUMPDEST
00000bda: PUSH1 0x00
00000bdc: DUP2
00000bdd: GT
00000bde: ISZERO
00000bdf: PUSH2 0x0c72
00000be2: JUMPI
00000be3: PUSH32 0x000000000000000000000000115682745f38a926e4a8155509546c6cd16bce02
00000c04: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c19: AND
00000c1a: PUSH4 0x6f192acc
00000c1f: DUP5
00000c20: DUP4
00000c21: DUP8
00000c22: PUSH1 0x40
00000c24: MLOAD
00000c25: DUP5
00000c26: PUSH4 0xffffffff
00000c2b: AND
00000c2c: PUSH1 0xe0
00000c2e: SHL
00000c2f: DUP2
00000c30: MSTORE
00000c31: PUSH1 0x04
00000c33: ADD
00000c34: PUSH2 0x0c3f
00000c37: SWAP4
00000c38: SWAP3
00000c39: SWAP2
00000c3a: SWAP1
00000c3b: PUSH2 0x2d8d
00000c3e: JUMP
00000c3f: JUMPDEST
00000c40: PUSH1 0x00
00000c42: PUSH1 0x40
00000c44: MLOAD
00000c45: DUP1
00000c46: DUP4
00000c47: SUB
00000c48: DUP2
00000c49: PUSH1 0x00
00000c4b: DUP8
00000c4c: DUP1
00000c4d: EXTCODESIZE
00000c4e: ISZERO
00000c4f: DUP1
00000c50: ISZERO
00000c51: PUSH2 0x0c59
00000c54: JUMPI
00000c55: PUSH1 0x00
00000c57: DUP1
00000c58: REVERT
00000c59: JUMPDEST
00000c5a: POP
00000c5b: GAS
00000c5c: CALL
00000c5d: ISZERO
00000c5e: DUP1
00000c5f: ISZERO
00000c60: PUSH2 0x0c6d
00000c63: JUMPI
00000c64: RETURNDATASIZE
00000c65: PUSH1 0x00
00000c67: DUP1
00000c68: RETURNDATACOPY
00000c69: RETURNDATASIZE
00000c6a: PUSH1 0x00
00000c6c: REVERT
00000c6d: JUMPDEST
00000c6e: POP
00000c6f: POP
00000c70: POP
00000c71: POP
00000c72: JUMPDEST
00000c73: PUSH2 0x0c88
00000c76: DUP5
00000c77: DUP5
00000c78: DUP4
00000c79: DUP6
00000c7a: PUSH2 0x0c83
00000c7d: SWAP2
00000c7e: SWAP1
00000c7f: PUSH2 0x2b9c
00000c82: JUMP
00000c83: JUMPDEST
00000c84: PUSH2 0x1b2e
00000c87: JUMP
00000c88: JUMPDEST
00000c89: JUMPDEST
00000c8a: DUP3
00000c8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ca0: AND
00000ca1: ORIGIN
00000ca2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cb7: AND
00000cb8: DUP6
00000cb9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cce: AND
00000ccf: PUSH32 0xe06da4bed68570a3adccb02d0aed523ccc1dd372f85808168917d1c4a7e78acb
00000cf0: DUP6
00000cf1: CALLER
00000cf2: PUSH1 0x40
00000cf4: MLOAD
00000cf5: PUSH2 0x0cff
00000cf8: SWAP3
00000cf9: SWAP2
00000cfa: SWAP1
00000cfb: PUSH2 0x2dc4
00000cfe: JUMP
00000cff: JUMPDEST
00000d00: PUSH1 0x40
00000d02: MLOAD
00000d03: DUP1
00000d04: SWAP2
00000d05: SUB
00000d06: SWAP1
00000d07: LOG4
00000d08: POP
00000d09: POP
00000d0a: POP
00000d0b: POP
00000d0c: JUMP
00000d0d: JUMPDEST
00000d0e: PUSH1 0x60
00000d10: PUSH1 0x00
00000d12: PUSH2 0x0d58
00000d15: PUSH1 0x36
00000d17: PUSH1 0x00
00000d19: DUP6
00000d1a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d2f: AND
00000d30: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d45: AND
00000d46: DUP2
00000d47: MSTORE
00000d48: PUSH1 0x20
00000d4a: ADD
00000d4b: SWAP1
00000d4c: DUP2
00000d4d: MSTORE
00000d4e: PUSH1 0x20
00000d50: ADD
00000d51: PUSH1 0x00
00000d53: KECCAK256
00000d54: PUSH2 0x1add
00000d57: JUMP
00000d58: JUMPDEST
00000d59: SWAP1
00000d5a: POP
00000d5b: PUSH1 0x00
00000d5d: PUSH32 0x000000000000000000000000115682745f38a926e4a8155509546c6cd16bce02
00000d7e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d93: AND
00000d94: PUSH4 0x2bf30a0e
00000d99: DUP6
00000d9a: PUSH1 0x40
00000d9c: MLOAD
00000d9d: DUP3
00000d9e: PUSH4 0xffffffff
00000da3: AND
00000da4: PUSH1 0xe0
00000da6: SHL
00000da7: DUP2
00000da8: MSTORE
00000da9: PUSH1 0x04
00000dab: ADD
00000dac: PUSH2 0x0db5
00000daf: SWAP2
00000db0: SWAP1
00000db1: PUSH2 0x2b10
00000db4: JUMP
00000db5: JUMPDEST
00000db6: PUSH1 0x00
00000db8: PUSH1 0x40
00000dba: MLOAD
00000dbb: DUP1
00000dbc: DUP4
00000dbd: SUB
00000dbe: DUP2
00000dbf: DUP7
00000dc0: GAS
00000dc1: STATICCALL
00000dc2: ISZERO
00000dc3: DUP1
00000dc4: ISZERO
00000dc5: PUSH2 0x0dd2
00000dc8: JUMPI
00000dc9: RETURNDATASIZE
00000dca: PUSH1 0x00
00000dcc: DUP1
00000dcd: RETURNDATACOPY
00000dce: RETURNDATASIZE
00000dcf: PUSH1 0x00
00000dd1: REVERT
00000dd2: JUMPDEST
00000dd3: POP
00000dd4: POP
00000dd5: POP
00000dd6: POP
00000dd7: PUSH1 0x40
00000dd9: MLOAD
00000dda: RETURNDATASIZE
00000ddb: PUSH1 0x00
00000ddd: DUP3
00000dde: RETURNDATACOPY
00000ddf: RETURNDATASIZE
00000de0: PUSH1 0x1f
00000de2: NOT
00000de3: PUSH1 0x1f
00000de5: DUP3
00000de6: ADD
00000de7: AND
00000de8: DUP3
00000de9: ADD
00000dea: DUP1
00000deb: PUSH1 0x40
00000ded: MSTORE
00000dee: POP
00000def: DUP2
00000df0: ADD
00000df1: SWAP1
00000df2: PUSH2 0x0dfb
00000df5: SWAP2
00000df6: SWAP1
00000df7: PUSH2 0x2f5b
00000dfa: JUMP
00000dfb: JUMPDEST
00000dfc: SWAP1
00000dfd: POP
00000dfe: PUSH1 0x00
00000e00: DUP1
00000e01: JUMPDEST
00000e02: DUP3
00000e03: MLOAD
00000e04: DUP2
00000e05: LT
00000e06: ISZERO
00000e07: PUSH2 0x0f03
00000e0a: JUMPI
00000e0b: PUSH2 0x0e75
00000e0e: DUP4
00000e0f: DUP3
00000e10: DUP2
00000e11: MLOAD
00000e12: DUP2
00000e13: LT
00000e14: PUSH2 0x0e20
00000e17: JUMPI
00000e18: PUSH2 0x0e1f
00000e1b: PUSH2 0x2fa4
00000e1e: JUMP
00000e1f: JUMPDEST
00000e20: JUMPDEST
00000e21: PUSH1 0x20
00000e23: MUL
00000e24: PUSH1 0x20
00000e26: ADD
00000e27: ADD
00000e28: MLOAD
00000e29: PUSH1 0x36
00000e2b: PUSH1 0x00
00000e2d: DUP10
00000e2e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e43: AND
00000e44: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e59: AND
00000e5a: DUP2
00000e5b: MSTORE
00000e5c: PUSH1 0x20
00000e5e: ADD
00000e5f: SWAP1
00000e60: DUP2
00000e61: MSTORE
00000e62: PUSH1 0x20
00000e64: ADD
00000e65: PUSH1 0x00
00000e67: KECCAK256
00000e68: PUSH2 0x1afe
00000e6b: SWAP1
00000e6c: SWAP2
00000e6d: SWAP1
00000e6e: PUSH4 0xffffffff
00000e73: AND
00000e74: JUMP
00000e75: JUMPDEST
00000e76: PUSH2 0x0ef0
00000e79: JUMPI
00000e7a: DUP3
00000e7b: DUP2
00000e7c: DUP2
00000e7d: MLOAD
00000e7e: DUP2
00000e7f: LT
00000e80: PUSH2 0x0e8c
00000e83: JUMPI
00000e84: PUSH2 0x0e8b
00000e87: PUSH2 0x2fa4
00000e8a: JUMP
00000e8b: JUMPDEST
00000e8c: JUMPDEST
00000e8d: PUSH1 0x20
00000e8f: MUL
00000e90: PUSH1 0x20
00000e92: ADD
00000e93: ADD
00000e94: MLOAD
00000e95: DUP4
00000e96: DUP4
00000e97: DUP2
00000e98: MLOAD
00000e99: DUP2
00000e9a: LT
00000e9b: PUSH2 0x0ea7
00000e9e: JUMPI
00000e9f: PUSH2 0x0ea6
00000ea2: PUSH2 0x2fa4
00000ea5: JUMP
00000ea6: JUMPDEST
00000ea7: JUMPDEST
00000ea8: PUSH1 0x20
00000eaa: MUL
00000eab: PUSH1 0x20
00000ead: ADD
00000eae: ADD
00000eaf: SWAP1
00000eb0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ec5: AND
00000ec6: SWAP1
00000ec7: DUP2
00000ec8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000edd: AND
00000ede: DUP2
00000edf: MSTORE
00000ee0: POP
00000ee1: POP
00000ee2: DUP2
00000ee3: DUP1
00000ee4: PUSH2 0x0eec
00000ee7: SWAP1
00000ee8: PUSH2 0x2fd3
00000eeb: JUMP
00000eec: JUMPDEST
00000eed: SWAP3
00000eee: POP
00000eef: POP
00000ef0: JUMPDEST
00000ef1: DUP1
00000ef2: DUP1
00000ef3: PUSH2 0x0efb
00000ef6: SWAP1
00000ef7: PUSH2 0x2fd3
00000efa: JUMP
00000efb: JUMPDEST
00000efc: SWAP2
00000efd: POP
00000efe: POP
00000eff: PUSH2 0x0e01
00000f02: JUMP
00000f03: JUMPDEST
00000f04: POP
00000f05: PUSH1 0x00
00000f07: DUP2
00000f08: DUP5
00000f09: MLOAD
00000f0a: PUSH2 0x0f13
00000f0d: SWAP2
00000f0e: SWAP1
00000f0f: PUSH2 0x301b
00000f12: JUMP
00000f13: JUMPDEST
00000f14: SWAP1
00000f15: POP
00000f16: PUSH1 0x00
00000f18: DUP2
00000f19: PUSH8 0xffffffffffffffff
00000f22: DUP2
00000f23: GT
00000f24: ISZERO
00000f25: PUSH2 0x0f31
00000f28: JUMPI
00000f29: PUSH2 0x0f30
00000f2c: PUSH2 0x2e03
00000f2f: JUMP
00000f30: JUMPDEST
00000f31: JUMPDEST
00000f32: PUSH1 0x40
00000f34: MLOAD
00000f35: SWAP1
00000f36: DUP1
00000f37: DUP3
00000f38: MSTORE
00000f39: DUP1
00000f3a: PUSH1 0x20
00000f3c: MUL
00000f3d: PUSH1 0x20
00000f3f: ADD
00000f40: DUP3
00000f41: ADD
00000f42: PUSH1 0x40
00000f44: MSTORE
00000f45: DUP1
00000f46: ISZERO
00000f47: PUSH2 0x0f5f
00000f4a: JUMPI
00000f4b: DUP2
00000f4c: PUSH1 0x20
00000f4e: ADD
00000f4f: PUSH1 0x20
00000f51: DUP3
00000f52: MUL
00000f53: DUP1
00000f54: CALLDATASIZE
00000f55: DUP4
00000f56: CALLDATACOPY
00000f57: DUP1
00000f58: DUP3
00000f59: ADD
00000f5a: SWAP2
00000f5b: POP
00000f5c: POP
00000f5d: SWAP1
00000f5e: POP
00000f5f: JUMPDEST
00000f60: POP
00000f61: SWAP1
00000f62: POP
00000f63: PUSH1 0x00
00000f65: JUMPDEST
00000f66: DUP3
00000f67: DUP2
00000f68: LT
00000f69: ISZERO
00000f6a: PUSH2 0x1071
00000f6d: JUMPI
00000f6e: DUP6
00000f6f: MLOAD
00000f70: DUP2
00000f71: LT
00000f72: ISZERO
00000f73: PUSH2 0x0fe3
00000f76: JUMPI
00000f77: DUP6
00000f78: DUP2
00000f79: DUP2
00000f7a: MLOAD
00000f7b: DUP2
00000f7c: LT
00000f7d: PUSH2 0x0f89
00000f80: JUMPI
00000f81: PUSH2 0x0f88
00000f84: PUSH2 0x2fa4
00000f87: JUMP
00000f88: JUMPDEST
00000f89: JUMPDEST
00000f8a: PUSH1 0x20
00000f8c: MUL
00000f8d: PUSH1 0x20
00000f8f: ADD
00000f90: ADD
00000f91: MLOAD
00000f92: DUP3
00000f93: DUP3
00000f94: DUP2
00000f95: MLOAD
00000f96: DUP2
00000f97: LT
00000f98: PUSH2 0x0fa4
00000f9b: JUMPI
00000f9c: PUSH2 0x0fa3
00000f9f: PUSH2 0x2fa4
00000fa2: JUMP
00000fa3: JUMPDEST
00000fa4: JUMPDEST
00000fa5: PUSH1 0x20
00000fa7: MUL
00000fa8: PUSH1 0x20
00000faa: ADD
00000fab: ADD
00000fac: SWAP1
00000fad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fc2: AND
00000fc3: SWAP1
00000fc4: DUP2
00000fc5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fda: AND
00000fdb: DUP2
00000fdc: MSTORE
00000fdd: POP
00000fde: POP
00000fdf: PUSH2 0x105e
00000fe2: JUMP
00000fe3: JUMPDEST
00000fe4: PUSH1 0x00
00000fe6: DUP7
00000fe7: MLOAD
00000fe8: DUP3
00000fe9: PUSH2 0x0ff2
00000fec: SWAP2
00000fed: SWAP1
00000fee: PUSH2 0x2b9c
00000ff1: JUMP
00000ff2: JUMPDEST
00000ff3: SWAP1
00000ff4: POP
00000ff5: DUP6
00000ff6: DUP2
00000ff7: DUP2
00000ff8: MLOAD
00000ff9: DUP2
00000ffa: LT
00000ffb: PUSH2 0x1007
00000ffe: JUMPI
00000fff: PUSH2 0x1006
00001002: PUSH2 0x2fa4
00001005: JUMP
00001006: JUMPDEST
00001007: JUMPDEST
00001008: PUSH1 0x20
0000100a: MUL
0000100b: PUSH1 0x20
0000100d: ADD
0000100e: ADD
0000100f: MLOAD
00001010: DUP4
00001011: DUP4
00001012: DUP2
00001013: MLOAD
00001014: DUP2
00001015: LT
00001016: PUSH2 0x1022
00001019: JUMPI
0000101a: PUSH2 0x1021
0000101d: PUSH2 0x2fa4
00001020: JUMP
00001021: JUMPDEST
00001022: JUMPDEST
00001023: PUSH1 0x20
00001025: MUL
00001026: PUSH1 0x20
00001028: ADD
00001029: ADD
0000102a: SWAP1
0000102b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001040: AND
00001041: SWAP1
00001042: DUP2
00001043: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001058: AND
00001059: DUP2
0000105a: MSTORE
0000105b: POP
0000105c: POP
0000105d: POP
0000105e: JUMPDEST
0000105f: DUP1
00001060: DUP1
00001061: PUSH2 0x1069
00001064: SWAP1
00001065: PUSH2 0x2fd3
00001068: JUMP
00001069: JUMPDEST
0000106a: SWAP2
0000106b: POP
0000106c: POP
0000106d: PUSH2 0x0f65
00001070: JUMP
00001071: JUMPDEST
00001072: POP
00001073: DUP1
00001074: SWAP6
00001075: POP
00001076: POP
00001077: POP
00001078: POP
00001079: POP
0000107a: POP
0000107b: SWAP2
0000107c: SWAP1
0000107d: POP
0000107e: JUMP
0000107f: JUMPDEST
00001080: PUSH1 0x00
00001082: DUP1
00001083: PUSH2 0x108b
00001086: DUP4
00001087: PUSH2 0x13e0
0000108a: JUMP
0000108b: JUMPDEST
0000108c: SWAP1
0000108d: POP
0000108e: PUSH2 0x1153
00001091: PUSH1 0x34
00001093: PUSH1 0x00
00001095: DUP7
00001096: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010ab: AND
000010ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010c1: AND
000010c2: DUP2
000010c3: MSTORE
000010c4: PUSH1 0x20
000010c6: ADD
000010c7: SWAP1
000010c8: DUP2
000010c9: MSTORE
000010ca: PUSH1 0x20
000010cc: ADD
000010cd: PUSH1 0x00
000010cf: KECCAK256
000010d0: PUSH1 0x00
000010d2: DUP6
000010d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010e8: AND
000010e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010fe: AND
000010ff: DUP2
00001100: MSTORE
00001101: PUSH1 0x20
00001103: ADD
00001104: SWAP1
00001105: DUP2
00001106: MSTORE
00001107: PUSH1 0x20
00001109: ADD
0000110a: PUSH1 0x00
0000110c: KECCAK256
0000110d: SLOAD
0000110e: PUSH1 0x35
00001110: PUSH1 0x00
00001112: DUP7
00001113: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001128: AND
00001129: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000113e: AND
0000113f: DUP2
00001140: MSTORE
00001141: PUSH1 0x20
00001143: ADD
00001144: SWAP1
00001145: DUP2
00001146: MSTORE
00001147: PUSH1 0x20
00001149: ADD
0000114a: PUSH1 0x00
0000114c: KECCAK256
0000114d: SLOAD
0000114e: DUP4
0000114f: PUSH2 0x1df1
00001152: JUMP
00001153: JUMPDEST
00001154: SWAP2
00001155: POP
00001156: POP
00001157: SWAP3
00001158: SWAP2
00001159: POP
0000115a: POP
0000115b: JUMP
0000115c: JUMPDEST
0000115d: PUSH1 0x35
0000115f: PUSH1 0x20
00001161: MSTORE
00001162: DUP1
00001163: PUSH1 0x00
00001165: MSTORE
00001166: PUSH1 0x40
00001168: PUSH1 0x00
0000116a: KECCAK256
0000116b: PUSH1 0x00
0000116d: SWAP2
0000116e: POP
0000116f: SWAP1
00001170: POP
00001171: SLOAD
00001172: DUP2
00001173: JUMP
00001174: JUMPDEST
00001175: PUSH32 0x000000000000000000000000115682745f38a926e4a8155509546c6cd16bce02
00001196: DUP2
00001197: JUMP
00001198: JUMPDEST
00001199: PUSH1 0x00
0000119b: DUP1
0000119c: PUSH2 0x11a5
0000119f: DUP5
000011a0: DUP5
000011a1: PUSH2 0x107f
000011a4: JUMP
000011a5: JUMPDEST
000011a6: SWAP1
000011a7: POP
000011a8: PUSH1 0x00
000011aa: PUSH32 0x000000000000000000000000115682745f38a926e4a8155509546c6cd16bce02
000011cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011e0: AND
000011e1: PUSH4 0xb47064c8
000011e6: DUP7
000011e7: DUP7
000011e8: PUSH1 0x40
000011ea: MLOAD
000011eb: DUP4
000011ec: PUSH4 0xffffffff
000011f1: AND
000011f2: PUSH1 0xe0
000011f4: SHL
000011f5: DUP2
000011f6: MSTORE
000011f7: PUSH1 0x04
000011f9: ADD
000011fa: PUSH2 0x1204
000011fd: SWAP3
000011fe: SWAP2
000011ff: SWAP1
00001200: PUSH2 0x2d64
00001203: JUMP
00001204: JUMPDEST
00001205: PUSH1 0x20
00001207: PUSH1 0x40
00001209: MLOAD
0000120a: DUP1
0000120b: DUP4
0000120c: SUB
0000120d: DUP2
0000120e: DUP7
0000120f: GAS
00001210: STATICCALL
00001211: ISZERO
00001212: DUP1
00001213: ISZERO
00001214: PUSH2 0x1221
00001217: JUMPI
00001218: RETURNDATASIZE
00001219: PUSH1 0x00
0000121b: DUP1
0000121c: RETURNDATACOPY
0000121d: RETURNDATASIZE
0000121e: PUSH1 0x00
00001220: REVERT
00001221: JUMPDEST
00001222: POP
00001223: POP
00001224: POP
00001225: POP
00001226: PUSH1 0x40
00001228: MLOAD
00001229: RETURNDATASIZE
0000122a: PUSH1 0x1f
0000122c: NOT
0000122d: PUSH1 0x1f
0000122f: DUP3
00001230: ADD
00001231: AND
00001232: DUP3
00001233: ADD
00001234: DUP1
00001235: PUSH1 0x40
00001237: MSTORE
00001238: POP
00001239: DUP2
0000123a: ADD
0000123b: SWAP1
0000123c: PUSH2 0x1245
0000123f: SWAP2
00001240: SWAP1
00001241: PUSH2 0x2b40
00001244: JUMP
00001245: JUMPDEST
00001246: SWAP1
00001247: POP
00001248: PUSH1 0x00
0000124a: DUP2
0000124b: DUP4
0000124c: PUSH2 0x1255
0000124f: SWAP2
00001250: SWAP1
00001251: PUSH2 0x301b
00001254: JUMP
00001255: JUMPDEST
00001256: SWAP1
00001257: POP
00001258: DUP1
00001259: SWAP4
0000125a: POP
0000125b: POP
0000125c: POP
0000125d: POP
0000125e: SWAP3
0000125f: SWAP2
00001260: POP
00001261: POP
00001262: JUMP
00001263: JUMPDEST
00001264: PUSH1 0x00
00001266: PUSH1 0x01
00001268: SWAP1
00001269: SLOAD
0000126a: SWAP1
0000126b: PUSH2 0x0100
0000126e: EXP
0000126f: SWAP1
00001270: DIV
00001271: PUSH1 0xff
00001273: AND
00001274: PUSH2 0x128b
00001277: JUMPI
00001278: PUSH1 0x00
0000127a: DUP1
0000127b: SLOAD
0000127c: SWAP1
0000127d: PUSH2 0x0100
00001280: EXP
00001281: SWAP1
00001282: DIV
00001283: PUSH1 0xff
00001285: AND
00001286: ISZERO
00001287: PUSH2 0x1294
0000128a: JUMP
0000128b: JUMPDEST
0000128c: PUSH2 0x1293
0000128f: PUSH2 0x1e36
00001292: JUMP
00001293: JUMPDEST
00001294: JUMPDEST
00001295: PUSH2 0x12d3
00001298: JUMPI
00001299: PUSH1 0x40
0000129b: MLOAD
0000129c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000012bd: DUP2
000012be: MSTORE
000012bf: PUSH1 0x04
000012c1: ADD
000012c2: PUSH2 0x12ca
000012c5: SWAP1
000012c6: PUSH2 0x30e3
000012c9: JUMP
000012ca: JUMPDEST
000012cb: PUSH1 0x40
000012cd: MLOAD
000012ce: DUP1
000012cf: SWAP2
000012d0: SUB
000012d1: SWAP1
000012d2: REVERT
000012d3: JUMPDEST
000012d4: PUSH1 0x00
000012d6: DUP1
000012d7: PUSH1 0x01
000012d9: SWAP1
000012da: SLOAD
000012db: SWAP1
000012dc: PUSH2 0x0100
000012df: EXP
000012e0: SWAP1
000012e1: DIV
000012e2: PUSH1 0xff
000012e4: AND
000012e5: ISZERO
000012e6: SWAP1
000012e7: POP
000012e8: DUP1
000012e9: ISZERO
000012ea: PUSH2 0x1323
000012ed: JUMPI
000012ee: PUSH1 0x01
000012f0: PUSH1 0x00
000012f2: PUSH1 0x01
000012f4: PUSH2 0x0100
000012f7: EXP
000012f8: DUP2
000012f9: SLOAD
000012fa: DUP2
000012fb: PUSH1 0xff
000012fd: MUL
000012fe: NOT
000012ff: AND
00001300: SWAP1
00001301: DUP4
00001302: ISZERO
00001303: ISZERO
00001304: MUL
00001305: OR
00001306: SWAP1
00001307: SSTORE
00001308: POP
00001309: PUSH1 0x01
0000130b: PUSH1 0x00
0000130d: DUP1
0000130e: PUSH2 0x0100
00001311: EXP
00001312: DUP2
00001313: SLOAD
00001314: DUP2
00001315: PUSH1 0xff
00001317: MUL
00001318: NOT
00001319: AND
0000131a: SWAP1
0000131b: DUP4
0000131c: ISZERO
0000131d: ISZERO
0000131e: MUL
0000131f: OR
00001320: SWAP1
00001321: SSTORE
00001322: POP
00001323: JUMPDEST
00001324: DUP2
00001325: PUSH1 0x33
00001327: DUP2
00001328: SWAP1
00001329: SSTORE
0000132a: POP
0000132b: PUSH2 0x1332
0000132e: PUSH2 0x1e47
00001331: JUMP
00001332: JUMPDEST
00001333: DUP1
00001334: ISZERO
00001335: PUSH2 0x1353
00001338: JUMPI
00001339: PUSH1 0x00
0000133b: DUP1
0000133c: PUSH1 0x01
0000133e: PUSH2 0x0100
00001341: EXP
00001342: DUP2
00001343: SLOAD
00001344: DUP2
00001345: PUSH1 0xff
00001347: MUL
00001348: NOT
00001349: AND
0000134a: SWAP1
0000134b: DUP4
0000134c: ISZERO
0000134d: ISZERO
0000134e: MUL
0000134f: OR
00001350: SWAP1
00001351: SSTORE
00001352: POP
00001353: JUMPDEST
00001354: POP
00001355: POP
00001356: JUMP
00001357: JUMPDEST
00001358: PUSH2 0x13da
0000135b: DUP5
0000135c: PUSH4 0x23b872dd
00001361: PUSH1 0xe0
00001363: SHL
00001364: DUP6
00001365: DUP6
00001366: DUP6
00001367: PUSH1 0x40
00001369: MLOAD
0000136a: PUSH1 0x24
0000136c: ADD
0000136d: PUSH2 0x1378
00001370: SWAP4
00001371: SWAP3
00001372: SWAP2
00001373: SWAP1
00001374: PUSH2 0x3103
00001377: JUMP
00001378: JUMPDEST
00001379: PUSH1 0x40
0000137b: MLOAD
0000137c: PUSH1 0x20
0000137e: DUP2
0000137f: DUP4
00001380: SUB
00001381: SUB
00001382: DUP2
00001383: MSTORE
00001384: SWAP1
00001385: PUSH1 0x40
00001387: MSTORE
00001388: SWAP1
00001389: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000013a6: NOT
000013a7: AND
000013a8: PUSH1 0x20
000013aa: DUP3
000013ab: ADD
000013ac: DUP1
000013ad: MLOAD
000013ae: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000013cb: DUP4
000013cc: DUP2
000013cd: DUP4
000013ce: AND
000013cf: OR
000013d0: DUP4
000013d1: MSTORE
000013d2: POP
000013d3: POP
000013d4: POP
000013d5: POP
000013d6: PUSH2 0x1ea0
000013d9: JUMP
000013da: JUMPDEST
000013db: POP
000013dc: POP
000013dd: POP
000013de: POP
000013df: JUMP
000013e0: JUMPDEST
000013e1: PUSH1 0x00
000013e3: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
000013f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000140d: AND
0000140e: DUP3
0000140f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001424: AND
00001425: SUB
00001426: PUSH2 0x1431
00001429: JUMPI
0000142a: SELFBALANCE
0000142b: SWAP1
0000142c: POP
0000142d: PUSH2 0x14ae
00001430: JUMP
00001431: JUMPDEST
00001432: DUP2
00001433: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001448: AND
00001449: PUSH4 0x70a08231
0000144e: ADDRESS
0000144f: PUSH1 0x40
00001451: MLOAD
00001452: DUP3
00001453: PUSH4 0xffffffff
00001458: AND
00001459: PUSH1 0xe0
0000145b: SHL
0000145c: DUP2
0000145d: MSTORE
0000145e: PUSH1 0x04
00001460: ADD
00001461: PUSH2 0x146a
00001464: SWAP2
00001465: SWAP1
00001466: PUSH2 0x2b10
00001469: JUMP
0000146a: JUMPDEST
0000146b: PUSH1 0x20
0000146d: PUSH1 0x40
0000146f: MLOAD
00001470: DUP1
00001471: DUP4
00001472: SUB
00001473: DUP2
00001474: DUP7
00001475: GAS
00001476: STATICCALL
00001477: ISZERO
00001478: DUP1
00001479: ISZERO
0000147a: PUSH2 0x1487
0000147d: JUMPI
0000147e: RETURNDATASIZE
0000147f: PUSH1 0x00
00001481: DUP1
00001482: RETURNDATACOPY
00001483: RETURNDATASIZE
00001484: PUSH1 0x00
00001486: REVERT
00001487: JUMPDEST
00001488: POP
00001489: POP
0000148a: POP
0000148b: POP
0000148c: PUSH1 0x40
0000148e: MLOAD
0000148f: RETURNDATASIZE
00001490: PUSH1 0x1f
00001492: NOT
00001493: PUSH1 0x1f
00001495: DUP3
00001496: ADD
00001497: AND
00001498: DUP3
00001499: ADD
0000149a: DUP1
0000149b: PUSH1 0x40
0000149d: MSTORE
0000149e: POP
0000149f: DUP2
000014a0: ADD
000014a1: SWAP1
000014a2: PUSH2 0x14ab
000014a5: SWAP2
000014a6: SWAP1
000014a7: PUSH2 0x2b40
000014aa: JUMP
000014ab: JUMPDEST
000014ac: SWAP1
000014ad: POP
000014ae: JUMPDEST
000014af: SWAP2
000014b0: SWAP1
000014b1: POP
000014b2: JUMP
000014b3: JUMPDEST
000014b4: PUSH1 0x00
000014b6: PUSH1 0x35
000014b8: PUSH1 0x00
000014ba: DUP6
000014bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014d0: AND
000014d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014e6: AND
000014e7: DUP2
000014e8: MSTORE
000014e9: PUSH1 0x20
000014eb: ADD
000014ec: SWAP1
000014ed: DUP2
000014ee: MSTORE
000014ef: PUSH1 0x20
000014f1: ADD
000014f2: PUSH1 0x00
000014f4: KECCAK256
000014f5: SLOAD
000014f6: SWAP1
000014f7: POP
000014f8: PUSH1 0x00
000014fa: PUSH2 0x1505
000014fd: DUP6
000014fe: DUP6
000014ff: DUP5
00001500: DUP7
00001501: PUSH2 0x1f67
00001504: JUMP
00001505: JUMPDEST
00001506: SWAP1
00001507: POP
00001508: PUSH1 0x00
0000150a: DUP3
0000150b: SUB
0000150c: PUSH2 0x1558
0000150f: JUMPI
00001510: PUSH5 0xe8d4a51000
00001516: DUP2
00001517: LT
00001518: ISZERO
00001519: PUSH2 0x1557
0000151c: JUMPI
0000151d: PUSH1 0x40
0000151f: MLOAD
00001520: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001541: DUP2
00001542: MSTORE
00001543: PUSH1 0x04
00001545: ADD
00001546: PUSH2 0x154e
00001549: SWAP1
0000154a: PUSH2 0x31ac
0000154d: JUMP
0000154e: JUMPDEST
0000154f: PUSH1 0x40
00001551: MLOAD
00001552: DUP1
00001553: SWAP2
00001554: SUB
00001555: SWAP1
00001556: REVERT
00001557: JUMPDEST
00001558: JUMPDEST
00001559: PUSH1 0x00
0000155b: DUP2
0000155c: GT
0000155d: PUSH2 0x159b
00001560: JUMPI
00001561: PUSH1 0x40
00001563: MLOAD
00001564: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001585: DUP2
00001586: MSTORE
00001587: PUSH1 0x04
00001589: ADD
0000158a: PUSH2 0x1592
0000158d: SWAP1
0000158e: PUSH2 0x323e
00001591: JUMP
00001592: JUMPDEST
00001593: PUSH1 0x40
00001595: MLOAD
00001596: DUP1
00001597: SWAP2
00001598: SUB
00001599: SWAP1
0000159a: REVERT
0000159b: JUMPDEST
0000159c: DUP1
0000159d: PUSH1 0x34
0000159f: PUSH1 0x00
000015a1: DUP9
000015a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015b7: AND
000015b8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015cd: AND
000015ce: DUP2
000015cf: MSTORE
000015d0: PUSH1 0x20
000015d2: ADD
000015d3: SWAP1
000015d4: DUP2
000015d5: MSTORE
000015d6: PUSH1 0x20
000015d8: ADD
000015d9: PUSH1 0x00
000015db: KECCAK256
000015dc: PUSH1 0x00
000015de: DUP8
000015df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015f4: AND
000015f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000160a: AND
0000160b: DUP2
0000160c: MSTORE
0000160d: PUSH1 0x20
0000160f: ADD
00001610: SWAP1
00001611: DUP2
00001612: MSTORE
00001613: PUSH1 0x20
00001615: ADD
00001616: PUSH1 0x00
00001618: KECCAK256
00001619: PUSH1 0x00
0000161b: DUP3
0000161c: DUP3
0000161d: SLOAD
0000161e: PUSH2 0x1627
00001621: SWAP2
00001622: SWAP1
00001623: PUSH2 0x301b
00001626: JUMP
00001627: JUMPDEST
00001628: SWAP3
00001629: POP
0000162a: POP
0000162b: DUP2
0000162c: SWAP1
0000162d: SSTORE
0000162e: POP
0000162f: DUP1
00001630: DUP3
00001631: PUSH2 0x163a
00001634: SWAP2
00001635: SWAP1
00001636: PUSH2 0x301b
00001639: JUMP
0000163a: JUMPDEST
0000163b: PUSH1 0x35
0000163d: PUSH1 0x00
0000163f: DUP8
00001640: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001655: AND
00001656: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000166b: AND
0000166c: DUP2
0000166d: MSTORE
0000166e: PUSH1 0x20
00001670: ADD
00001671: SWAP1
00001672: DUP2
00001673: MSTORE
00001674: PUSH1 0x20
00001676: ADD
00001677: PUSH1 0x00
00001679: KECCAK256
0000167a: DUP2
0000167b: SWAP1
0000167c: SSTORE
0000167d: POP
0000167e: PUSH2 0x16ce
00001681: DUP6
00001682: PUSH1 0x36
00001684: PUSH1 0x00
00001686: DUP10
00001687: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000169c: AND
0000169d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016b2: AND
000016b3: DUP2
000016b4: MSTORE
000016b5: PUSH1 0x20
000016b7: ADD
000016b8: SWAP1
000016b9: DUP2
000016ba: MSTORE
000016bb: PUSH1 0x20
000016bd: ADD
000016be: PUSH1 0x00
000016c0: KECCAK256
000016c1: PUSH2 0x1700
000016c4: SWAP1
000016c5: SWAP2
000016c6: SWAP1
000016c7: PUSH4 0xffffffff
000016cc: AND
000016cd: JUMP
000016ce: JUMPDEST
000016cf: POP
000016d0: POP
000016d1: POP
000016d2: POP
000016d3: POP
000016d4: POP
000016d5: POP
000016d6: JUMP
000016d7: JUMPDEST
000016d8: PUSH1 0x00
000016da: PUSH32 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
000016fb: SLOAD
000016fc: SWAP1
000016fd: POP
000016fe: SWAP1
000016ff: JUMP
00001700: JUMPDEST
00001701: PUSH1 0x00
00001703: PUSH2 0x1728
00001706: DUP4
00001707: PUSH1 0x00
00001709: ADD
0000170a: DUP4
0000170b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001720: AND
00001721: PUSH1 0x00
00001723: SHL
00001724: PUSH2 0x1fc8
00001727: JUMP
00001728: JUMPDEST
00001729: SWAP1
0000172a: POP
0000172b: SWAP3
0000172c: SWAP2
0000172d: POP
0000172e: POP
0000172f: JUMP
00001730: JUMPDEST
00001731: PUSH1 0x00
00001733: PUSH2 0x1758
00001736: DUP4
00001737: PUSH1 0x00
00001739: ADD
0000173a: DUP4
0000173b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001750: AND
00001751: PUSH1 0x00
00001753: SHL
00001754: PUSH2 0x2038
00001757: JUMP
00001758: JUMPDEST
00001759: SWAP1
0000175a: POP
0000175b: SWAP3
0000175c: SWAP2
0000175d: POP
0000175e: POP
0000175f: JUMP
00001760: JUMPDEST
00001761: PUSH1 0x00
00001763: PUSH2 0x176b
00001766: DUP4
00001767: PUSH2 0x13e0
0000176a: JUMP
0000176b: JUMPDEST
0000176c: SWAP1
0000176d: POP
0000176e: PUSH1 0x00
00001770: PUSH1 0x35
00001772: PUSH1 0x00
00001774: DUP6
00001775: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000178a: AND
0000178b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017a0: AND
000017a1: DUP2
000017a2: MSTORE
000017a3: PUSH1 0x20
000017a5: ADD
000017a6: SWAP1
000017a7: DUP2
000017a8: MSTORE
000017a9: PUSH1 0x20
000017ab: ADD
000017ac: PUSH1 0x00
000017ae: KECCAK256
000017af: SLOAD
000017b0: SWAP1
000017b1: POP
000017b2: PUSH1 0x00
000017b4: PUSH2 0x17bf
000017b7: DUP6
000017b8: DUP6
000017b9: DUP5
000017ba: DUP7
000017bb: PUSH2 0x1f67
000017be: JUMP
000017bf: JUMPDEST
000017c0: SWAP1
000017c1: POP
000017c2: PUSH5 0xe8d4a51000
000017c8: DUP2
000017c9: DUP4
000017ca: PUSH2 0x17d3
000017cd: SWAP2
000017ce: SWAP1
000017cf: PUSH2 0x2b9c
000017d2: JUMP
000017d3: JUMPDEST
000017d4: LT
000017d5: ISZERO
000017d6: PUSH2 0x1814
000017d9: JUMPI
000017da: PUSH1 0x40
000017dc: MLOAD
000017dd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000017fe: DUP2
000017ff: MSTORE
00001800: PUSH1 0x04
00001802: ADD
00001803: PUSH2 0x180b
00001806: SWAP1
00001807: PUSH2 0x32d0
0000180a: JUMP
0000180b: JUMPDEST
0000180c: PUSH1 0x40
0000180e: MLOAD
0000180f: DUP1
00001810: SWAP2
00001811: SUB
00001812: SWAP1
00001813: REVERT
00001814: JUMPDEST
00001815: PUSH1 0x00
00001817: PUSH1 0x34
00001819: PUSH1 0x00
0000181b: DUP9
0000181c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001831: AND
00001832: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001847: AND
00001848: DUP2
00001849: MSTORE
0000184a: PUSH1 0x20
0000184c: ADD
0000184d: SWAP1
0000184e: DUP2
0000184f: MSTORE
00001850: PUSH1 0x20
00001852: ADD
00001853: PUSH1 0x00
00001855: KECCAK256
00001856: PUSH1 0x00
00001858: DUP8
00001859: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000186e: AND
0000186f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001884: AND
00001885: DUP2
00001886: MSTORE
00001887: PUSH1 0x20
00001889: ADD
0000188a: SWAP1
0000188b: DUP2
0000188c: MSTORE
0000188d: PUSH1 0x20
0000188f: ADD
00001890: PUSH1 0x00
00001892: KECCAK256
00001893: SLOAD
00001894: SWAP1
00001895: POP
00001896: DUP2
00001897: DUP2
00001898: PUSH2 0x18a1
0000189b: SWAP2
0000189c: SWAP1
0000189d: PUSH2 0x2b9c
000018a0: JUMP
000018a1: JUMPDEST
000018a2: PUSH1 0x34
000018a4: PUSH1 0x00
000018a6: DUP10
000018a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018bc: AND
000018bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018d2: AND
000018d3: DUP2
000018d4: MSTORE
000018d5: PUSH1 0x20
000018d7: ADD
000018d8: SWAP1
000018d9: DUP2
000018da: MSTORE
000018db: PUSH1 0x20
000018dd: ADD
000018de: PUSH1 0x00
000018e0: KECCAK256
000018e1: PUSH1 0x00
000018e3: DUP9
000018e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018f9: AND
000018fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000190f: AND
00001910: DUP2
00001911: MSTORE
00001912: PUSH1 0x20
00001914: ADD
00001915: SWAP1
00001916: DUP2
00001917: MSTORE
00001918: PUSH1 0x20
0000191a: ADD
0000191b: PUSH1 0x00
0000191d: KECCAK256
0000191e: DUP2
0000191f: SWAP1
00001920: SSTORE
00001921: POP
00001922: DUP2
00001923: DUP4
00001924: PUSH2 0x192d
00001927: SWAP2
00001928: SWAP1
00001929: PUSH2 0x2b9c
0000192c: JUMP
0000192d: JUMPDEST
0000192e: PUSH1 0x35
00001930: PUSH1 0x00
00001932: DUP9
00001933: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001948: AND
00001949: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000195e: AND
0000195f: DUP2
00001960: MSTORE
00001961: PUSH1 0x20
00001963: ADD
00001964: SWAP1
00001965: DUP2
00001966: MSTORE
00001967: PUSH1 0x20
00001969: ADD
0000196a: PUSH1 0x00
0000196c: KECCAK256
0000196d: DUP2
0000196e: SWAP1
0000196f: SSTORE
00001970: POP
00001971: DUP2
00001972: DUP2
00001973: SUB
00001974: PUSH2 0x19ca
00001977: JUMPI
00001978: PUSH2 0x19c8
0000197b: DUP7
0000197c: PUSH1 0x36
0000197e: PUSH1 0x00
00001980: DUP11
00001981: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001996: AND
00001997: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019ac: AND
000019ad: DUP2
000019ae: MSTORE
000019af: PUSH1 0x20
000019b1: ADD
000019b2: SWAP1
000019b3: DUP2
000019b4: MSTORE
000019b5: PUSH1 0x20
000019b7: ADD
000019b8: PUSH1 0x00
000019ba: KECCAK256
000019bb: PUSH2 0x1730
000019be: SWAP1
000019bf: SWAP2
000019c0: SWAP1
000019c1: PUSH4 0xffffffff
000019c6: AND
000019c7: JUMP
000019c8: JUMPDEST
000019c9: POP
000019ca: JUMPDEST
000019cb: POP
000019cc: POP
000019cd: POP
000019ce: POP
000019cf: POP
000019d0: POP
000019d1: POP
000019d2: JUMP
000019d3: JUMPDEST
000019d4: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
000019e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019fe: AND
000019ff: DUP3
00001a00: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a15: AND
00001a16: SUB
00001a17: PUSH2 0x1acc
00001a1a: JUMPI
00001a1b: PUSH1 0x00
00001a1d: DUP4
00001a1e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a33: AND
00001a34: DUP3
00001a35: PUSH1 0x40
00001a37: MLOAD
00001a38: PUSH2 0x1a40
00001a3b: SWAP1
00001a3c: PUSH2 0x3321
00001a3f: JUMP
00001a40: JUMPDEST
00001a41: PUSH1 0x00
00001a43: PUSH1 0x40
00001a45: MLOAD
00001a46: DUP1
00001a47: DUP4
00001a48: SUB
00001a49: DUP2
00001a4a: DUP6
00001a4b: DUP8
00001a4c: GAS
00001a4d: CALL
00001a4e: SWAP3
00001a4f: POP
00001a50: POP
00001a51: POP
00001a52: RETURNDATASIZE
00001a53: DUP1
00001a54: PUSH1 0x00
00001a56: DUP2
00001a57: EQ
00001a58: PUSH2 0x1a7d
00001a5b: JUMPI
00001a5c: PUSH1 0x40
00001a5e: MLOAD
00001a5f: SWAP2
00001a60: POP
00001a61: PUSH1 0x1f
00001a63: NOT
00001a64: PUSH1 0x3f
00001a66: RETURNDATASIZE
00001a67: ADD
00001a68: AND
00001a69: DUP3
00001a6a: ADD
00001a6b: PUSH1 0x40
00001a6d: MSTORE
00001a6e: RETURNDATASIZE
00001a6f: DUP3
00001a70: MSTORE
00001a71: RETURNDATASIZE
00001a72: PUSH1 0x00
00001a74: PUSH1 0x20
00001a76: DUP5
00001a77: ADD
00001a78: RETURNDATACOPY
00001a79: PUSH2 0x1a82
00001a7c: JUMP
00001a7d: JUMPDEST
00001a7e: PUSH1 0x60
00001a80: SWAP2
00001a81: POP
00001a82: JUMPDEST
00001a83: POP
00001a84: POP
00001a85: SWAP1
00001a86: POP
00001a87: DUP1
00001a88: PUSH2 0x1ac6
00001a8b: JUMPI
00001a8c: PUSH1 0x40
00001a8e: MLOAD
00001a8f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001ab0: DUP2
00001ab1: MSTORE
00001ab2: PUSH1 0x04
00001ab4: ADD
00001ab5: PUSH2 0x1abd
00001ab8: SWAP1
00001ab9: PUSH2 0x3382
00001abc: JUMP
00001abd: JUMPDEST
00001abe: PUSH1 0x40
00001ac0: MLOAD
00001ac1: DUP1
00001ac2: SWAP2
00001ac3: SUB
00001ac4: SWAP1
00001ac5: REVERT
00001ac6: JUMPDEST
00001ac7: POP
00001ac8: PUSH2 0x1ad8
00001acb: JUMP
00001acc: JUMPDEST
00001acd: PUSH2 0x1ad7
00001ad0: DUP3
00001ad1: DUP5
00001ad2: DUP4
00001ad3: PUSH2 0x214c
00001ad6: JUMP
00001ad7: JUMPDEST
00001ad8: JUMPDEST
00001ad9: POP
00001ada: POP
00001adb: POP
00001adc: JUMP
00001add: JUMPDEST
00001ade: PUSH1 0x60
00001ae0: PUSH1 0x00
00001ae2: PUSH2 0x1aed
00001ae5: DUP4
00001ae6: PUSH1 0x00
00001ae8: ADD
00001ae9: PUSH2 0x21d2
00001aec: JUMP
00001aed: JUMPDEST
00001aee: SWAP1
00001aef: POP
00001af0: PUSH1 0x60
00001af2: DUP2
00001af3: SWAP1
00001af4: POP
00001af5: DUP1
00001af6: SWAP3
00001af7: POP
00001af8: POP
00001af9: POP
00001afa: SWAP2
00001afb: SWAP1
00001afc: POP
00001afd: JUMP
00001afe: JUMPDEST
00001aff: PUSH1 0x00
00001b01: PUSH2 0x1b26
00001b04: DUP4
00001b05: PUSH1 0x00
00001b07: ADD
00001b08: DUP4
00001b09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b1e: AND
00001b1f: PUSH1 0x00
00001b21: SHL
00001b22: PUSH2 0x222e
00001b25: JUMP
00001b26: JUMPDEST
00001b27: SWAP1
00001b28: POP
00001b29: SWAP3
00001b2a: SWAP2
00001b2b: POP
00001b2c: POP
00001b2d: JUMP
00001b2e: JUMPDEST
00001b2f: PUSH1 0x00
00001b31: PUSH2 0x1b38
00001b34: PUSH2 0x16d7
00001b37: JUMP
00001b38: JUMPDEST
00001b39: SWAP1
00001b3a: POP
00001b3b: DUP1
00001b3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b51: AND
00001b52: DUP5
00001b53: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b68: AND
00001b69: SUB
00001b6a: PUSH2 0x1ba8
00001b6d: JUMPI
00001b6e: PUSH1 0x40
00001b70: MLOAD
00001b71: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001b92: DUP2
00001b93: MSTORE
00001b94: PUSH1 0x04
00001b96: ADD
00001b97: PUSH2 0x1b9f
00001b9a: SWAP1
00001b9b: PUSH2 0x33ee
00001b9e: JUMP
00001b9f: JUMPDEST
00001ba0: PUSH1 0x40
00001ba2: MLOAD
00001ba3: DUP1
00001ba4: SWAP2
00001ba5: SUB
00001ba6: SWAP1
00001ba7: REVERT
00001ba8: JUMPDEST
00001ba9: PUSH1 0x00
00001bab: PUSH2 0x1bb3
00001bae: DUP5
00001baf: PUSH2 0x13e0
00001bb2: JUMP
00001bb3: JUMPDEST
00001bb4: SWAP1
00001bb5: POP
00001bb6: PUSH1 0x00
00001bb8: PUSH2 0x1c02
00001bbb: DUP6
00001bbc: DUP6
00001bbd: PUSH1 0x35
00001bbf: PUSH1 0x00
00001bc1: DUP10
00001bc2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bd7: AND
00001bd8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bed: AND
00001bee: DUP2
00001bef: MSTORE
00001bf0: PUSH1 0x20
00001bf2: ADD
00001bf3: SWAP1
00001bf4: DUP2
00001bf5: MSTORE
00001bf6: PUSH1 0x20
00001bf8: ADD
00001bf9: PUSH1 0x00
00001bfb: KECCAK256
00001bfc: SLOAD
00001bfd: DUP6
00001bfe: PUSH2 0x1f67
00001c01: JUMP
00001c02: JUMPDEST
00001c03: SWAP1
00001c04: POP
00001c05: DUP1
00001c06: PUSH1 0x34
00001c08: PUSH1 0x00
00001c0a: DUP9
00001c0b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c20: AND
00001c21: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c36: AND
00001c37: DUP2
00001c38: MSTORE
00001c39: PUSH1 0x20
00001c3b: ADD
00001c3c: SWAP1
00001c3d: DUP2
00001c3e: MSTORE
00001c3f: PUSH1 0x20
00001c41: ADD
00001c42: PUSH1 0x00
00001c44: KECCAK256
00001c45: PUSH1 0x00
00001c47: DUP8
00001c48: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c5d: AND
00001c5e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c73: AND
00001c74: DUP2
00001c75: MSTORE
00001c76: PUSH1 0x20
00001c78: ADD
00001c79: SWAP1
00001c7a: DUP2
00001c7b: MSTORE
00001c7c: PUSH1 0x20
00001c7e: ADD
00001c7f: PUSH1 0x00
00001c81: KECCAK256
00001c82: SLOAD
00001c83: LT
00001c84: ISZERO
00001c85: PUSH2 0x1cc3
00001c88: JUMPI
00001c89: PUSH1 0x40
00001c8b: MLOAD
00001c8c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001cad: DUP2
00001cae: MSTORE
00001caf: PUSH1 0x04
00001cb1: ADD
00001cb2: PUSH2 0x1cba
00001cb5: SWAP1
00001cb6: PUSH2 0x345a
00001cb9: JUMP
00001cba: JUMPDEST
00001cbb: PUSH1 0x40
00001cbd: MLOAD
00001cbe: DUP1
00001cbf: SWAP2
00001cc0: SUB
00001cc1: SWAP1
00001cc2: REVERT
00001cc3: JUMPDEST
00001cc4: DUP1
00001cc5: PUSH1 0x34
00001cc7: PUSH1 0x00
00001cc9: DUP9
00001cca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cdf: AND
00001ce0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cf5: AND
00001cf6: DUP2
00001cf7: MSTORE
00001cf8: PUSH1 0x20
00001cfa: ADD
00001cfb: SWAP1
00001cfc: DUP2
00001cfd: MSTORE
00001cfe: PUSH1 0x20
00001d00: ADD
00001d01: PUSH1 0x00
00001d03: KECCAK256
00001d04: PUSH1 0x00
00001d06: DUP8
00001d07: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d1c: AND
00001d1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d32: AND
00001d33: DUP2
00001d34: MSTORE
00001d35: PUSH1 0x20
00001d37: ADD
00001d38: SWAP1
00001d39: DUP2
00001d3a: MSTORE
00001d3b: PUSH1 0x20
00001d3d: ADD
00001d3e: PUSH1 0x00
00001d40: KECCAK256
00001d41: PUSH1 0x00
00001d43: DUP3
00001d44: DUP3
00001d45: SLOAD
00001d46: PUSH2 0x1d4f
00001d49: SWAP2
00001d4a: SWAP1
00001d4b: PUSH2 0x2b9c
00001d4e: JUMP
00001d4f: JUMPDEST
00001d50: SWAP3
00001d51: POP
00001d52: POP
00001d53: DUP2
00001d54: SWAP1
00001d55: SSTORE
00001d56: POP
00001d57: DUP1
00001d58: PUSH1 0x34
00001d5a: PUSH1 0x00
00001d5c: DUP6
00001d5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d72: AND
00001d73: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d88: AND
00001d89: DUP2
00001d8a: MSTORE
00001d8b: PUSH1 0x20
00001d8d: ADD
00001d8e: SWAP1
00001d8f: DUP2
00001d90: MSTORE
00001d91: PUSH1 0x20
00001d93: ADD
00001d94: PUSH1 0x00
00001d96: KECCAK256
00001d97: PUSH1 0x00
00001d99: DUP8
00001d9a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001daf: AND
00001db0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001dc5: AND
00001dc6: DUP2
00001dc7: MSTORE
00001dc8: PUSH1 0x20
00001dca: ADD
00001dcb: SWAP1
00001dcc: DUP2
00001dcd: MSTORE
00001dce: PUSH1 0x20
00001dd0: ADD
00001dd1: PUSH1 0x00
00001dd3: KECCAK256
00001dd4: PUSH1 0x00
00001dd6: DUP3
00001dd7: DUP3
00001dd8: SLOAD
00001dd9: PUSH2 0x1de2
00001ddc: SWAP2
00001ddd: SWAP1
00001dde: PUSH2 0x301b
00001de1: JUMP
00001de2: JUMPDEST
00001de3: SWAP3
00001de4: POP
00001de5: POP
00001de6: DUP2
00001de7: SWAP1
00001de8: SSTORE
00001de9: POP
00001dea: POP
00001deb: POP
00001dec: POP
00001ded: POP
00001dee: POP
00001def: POP
00001df0: JUMP
00001df1: JUMPDEST
00001df2: PUSH1 0x00
00001df4: DUP1
00001df5: PUSH1 0x00
00001df7: DUP5
00001df8: EQ
00001df9: DUP1
00001dfa: PUSH2 0x1e03
00001dfd: JUMPI
00001dfe: POP
00001dff: PUSH1 0x00
00001e01: DUP4
00001e02: EQ
00001e03: JUMPDEST
00001e04: ISZERO
00001e05: PUSH2 0x1e11
00001e08: JUMPI
00001e09: PUSH1 0x00
00001e0b: SWAP1
00001e0c: POP
00001e0d: PUSH2 0x1e2b
00001e10: JUMP
00001e11: JUMPDEST
00001e12: DUP4
00001e13: DUP4
00001e14: DUP7
00001e15: PUSH2 0x1e1e
00001e18: SWAP2
00001e19: SWAP1
00001e1a: PUSH2 0x347a
00001e1d: JUMP
00001e1e: JUMPDEST
00001e1f: PUSH2 0x1e28
00001e22: SWAP2
00001e23: SWAP1
00001e24: PUSH2 0x3503
00001e27: JUMP
00001e28: JUMPDEST
00001e29: SWAP1
00001e2a: POP
00001e2b: JUMPDEST
00001e2c: DUP1
00001e2d: SWAP2
00001e2e: POP
00001e2f: POP
00001e30: SWAP4
00001e31: SWAP3
00001e32: POP
00001e33: POP
00001e34: POP
00001e35: JUMP
00001e36: JUMPDEST
00001e37: PUSH1 0x00
00001e39: PUSH2 0x1e41
00001e3c: ADDRESS
00001e3d: PUSH2 0x2251
00001e40: JUMP
00001e41: JUMPDEST
00001e42: ISZERO
00001e43: SWAP1
00001e44: POP
00001e45: SWAP1
00001e46: JUMP
00001e47: JUMPDEST
00001e48: PUSH1 0x00
00001e4a: PUSH1 0x01
00001e4c: SWAP1
00001e4d: SLOAD
00001e4e: SWAP1
00001e4f: PUSH2 0x0100
00001e52: EXP
00001e53: SWAP1
00001e54: DIV
00001e55: PUSH1 0xff
00001e57: AND
00001e58: PUSH2 0x1e96
00001e5b: JUMPI
00001e5c: PUSH1 0x40
00001e5e: MLOAD
00001e5f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001e80: DUP2
00001e81: MSTORE
00001e82: PUSH1 0x04
00001e84: ADD
00001e85: PUSH2 0x1e8d
00001e88: SWAP1
00001e89: PUSH2 0x35a6
00001e8c: JUMP
00001e8d: JUMPDEST
00001e8e: PUSH1 0x40
00001e90: MLOAD
00001e91: DUP1
00001e92: SWAP2
00001e93: SUB
00001e94: SWAP1
00001e95: REVERT
00001e96: JUMPDEST
00001e97: PUSH2 0x1e9e
00001e9a: PUSH2 0x2264
00001e9d: JUMP
00001e9e: JUMPDEST
00001e9f: JUMP
00001ea0: JUMPDEST
00001ea1: PUSH1 0x00
00001ea3: PUSH2 0x1f02
00001ea6: DUP3
00001ea7: PUSH1 0x40
00001ea9: MLOAD
00001eaa: DUP1
00001eab: PUSH1 0x40
00001ead: ADD
00001eae: PUSH1 0x40
00001eb0: MSTORE
00001eb1: DUP1
00001eb2: PUSH1 0x20
00001eb4: DUP2
00001eb5: MSTORE
00001eb6: PUSH1 0x20
00001eb8: ADD
00001eb9: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00001eda: DUP2
00001edb: MSTORE
00001edc: POP
00001edd: DUP6
00001ede: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ef3: AND
00001ef4: PUSH2 0x22bc
00001ef7: SWAP1
00001ef8: SWAP3
00001ef9: SWAP2
00001efa: SWAP1
00001efb: PUSH4 0xffffffff
00001f00: AND
00001f01: JUMP
00001f02: JUMPDEST
00001f03: SWAP1
00001f04: POP
00001f05: PUSH1 0x00
00001f07: DUP2
00001f08: MLOAD
00001f09: GT
00001f0a: ISZERO
00001f0b: PUSH2 0x1f62
00001f0e: JUMPI
00001f0f: DUP1
00001f10: DUP1
00001f11: PUSH1 0x20
00001f13: ADD
00001f14: SWAP1
00001f15: MLOAD
00001f16: DUP2
00001f17: ADD
00001f18: SWAP1
00001f19: PUSH2 0x1f22
00001f1c: SWAP2
00001f1d: SWAP1
00001f1e: PUSH2 0x35db
00001f21: JUMP
00001f22: JUMPDEST
00001f23: PUSH2 0x1f61
00001f26: JUMPI
00001f27: PUSH1 0x40
00001f29: MLOAD
00001f2a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001f4b: DUP2
00001f4c: MSTORE
00001f4d: PUSH1 0x04
00001f4f: ADD
00001f50: PUSH2 0x1f58
00001f53: SWAP1
00001f54: PUSH2 0x367a
00001f57: JUMP
00001f58: JUMPDEST
00001f59: PUSH1 0x40
00001f5b: MLOAD
00001f5c: DUP1
00001f5d: SWAP2
00001f5e: SUB
00001f5f: SWAP1
00001f60: REVERT
00001f61: JUMPDEST
00001f62: JUMPDEST
00001f63: POP
00001f64: POP
00001f65: POP
00001f66: JUMP
00001f67: JUMPDEST
00001f68: PUSH1 0x00
00001f6a: DUP1
00001f6b: PUSH1 0x00
00001f6d: PUSH2 0x1f76
00001f70: DUP8
00001f71: DUP8
00001f72: PUSH2 0x22d4
00001f75: JUMP
00001f76: JUMPDEST
00001f77: SWAP1
00001f78: POP
00001f79: PUSH1 0x00
00001f7b: PUSH2 0x1f84
00001f7e: DUP9
00001f7f: DUP7
00001f80: PUSH2 0x22d4
00001f83: JUMP
00001f84: JUMPDEST
00001f85: SWAP1
00001f86: POP
00001f87: PUSH1 0x00
00001f89: DUP7
00001f8a: EQ
00001f8b: DUP1
00001f8c: PUSH2 0x1f95
00001f8f: JUMPI
00001f90: POP
00001f91: PUSH1 0x00
00001f93: DUP6
00001f94: EQ
00001f95: JUMPDEST
00001f96: ISZERO
00001f97: PUSH2 0x1fa2
00001f9a: JUMPI
00001f9b: DUP2
00001f9c: SWAP3
00001f9d: POP
00001f9e: PUSH2 0x1fba
00001fa1: JUMP
00001fa2: JUMPDEST
00001fa3: PUSH2 0x1fb7
00001fa6: DUP7
00001fa7: DUP4
00001fa8: PUSH2 0x1fb1
00001fab: SWAP2
00001fac: SWAP1
00001fad: PUSH2 0x347a
00001fb0: JUMP
00001fb1: JUMPDEST
00001fb2: DUP3
00001fb3: PUSH2 0x23fb
00001fb6: JUMP
00001fb7: JUMPDEST
00001fb8: SWAP3
00001fb9: POP
00001fba: JUMPDEST
00001fbb: DUP3
00001fbc: SWAP4
00001fbd: POP
00001fbe: POP
00001fbf: POP
00001fc0: POP
00001fc1: SWAP5
00001fc2: SWAP4
00001fc3: POP
00001fc4: POP
00001fc5: POP
00001fc6: POP
00001fc7: JUMP
00001fc8: JUMPDEST
00001fc9: PUSH1 0x00
00001fcb: PUSH2 0x1fd4
00001fce: DUP4
00001fcf: DUP4
00001fd0: PUSH2 0x222e
00001fd3: JUMP
00001fd4: JUMPDEST
00001fd5: PUSH2 0x202d
00001fd8: JUMPI
00001fd9: DUP3
00001fda: PUSH1 0x00
00001fdc: ADD
00001fdd: DUP3
00001fde: SWAP1
00001fdf: DUP1
00001fe0: PUSH1 0x01
00001fe2: DUP2
00001fe3: SLOAD
00001fe4: ADD
00001fe5: DUP1
00001fe6: DUP3
00001fe7: SSTORE
00001fe8: DUP1
00001fe9: SWAP2
00001fea: POP
00001feb: POP
00001fec: PUSH1 0x01
00001fee: SWAP1
00001fef: SUB
00001ff0: SWAP1
00001ff1: PUSH1 0x00
00001ff3: MSTORE
00001ff4: PUSH1 0x20
00001ff6: PUSH1 0x00
00001ff8: KECCAK256
00001ff9: ADD
00001ffa: PUSH1 0x00
00001ffc: SWAP1
00001ffd: SWAP2
00001ffe: SWAP1
00001fff: SWAP2
00002000: SWAP1
00002001: SWAP2
00002002: POP
00002003: SSTORE
00002004: DUP3
00002005: PUSH1 0x00
00002007: ADD
00002008: DUP1
00002009: SLOAD
0000200a: SWAP1
0000200b: POP
0000200c: DUP4
0000200d: PUSH1 0x01
0000200f: ADD
00002010: PUSH1 0x00
00002012: DUP5
00002013: DUP2
00002014: MSTORE
00002015: PUSH1 0x20
00002017: ADD
00002018: SWAP1
00002019: DUP2
0000201a: MSTORE
0000201b: PUSH1 0x20
0000201d: ADD
0000201e: PUSH1 0x00
00002020: KECCAK256
00002021: DUP2
00002022: SWAP1
00002023: SSTORE
00002024: POP
00002025: PUSH1 0x01
00002027: SWAP1
00002028: POP
00002029: PUSH2 0x2032
0000202c: JUMP
0000202d: JUMPDEST
0000202e: PUSH1 0x00
00002030: SWAP1
00002031: POP
00002032: JUMPDEST
00002033: SWAP3
00002034: SWAP2
00002035: POP
00002036: POP
00002037: JUMP
00002038: JUMPDEST
00002039: PUSH1 0x00
0000203b: DUP1
0000203c: DUP4
0000203d: PUSH1 0x01
0000203f: ADD
00002040: PUSH1 0x00
00002042: DUP5
00002043: DUP2
00002044: MSTORE
00002045: PUSH1 0x20
00002047: ADD
00002048: SWAP1
00002049: DUP2
0000204a: MSTORE
0000204b: PUSH1 0x20
0000204d: ADD
0000204e: PUSH1 0x00
00002050: KECCAK256
00002051: SLOAD
00002052: SWAP1
00002053: POP
00002054: PUSH1 0x00
00002056: DUP2
00002057: EQ
00002058: PUSH2 0x2140
0000205b: JUMPI
0000205c: PUSH1 0x00
0000205e: PUSH1 0x01
00002060: DUP3
00002061: PUSH2 0x206a
00002064: SWAP2
00002065: SWAP1
00002066: PUSH2 0x2b9c
00002069: JUMP
0000206a: JUMPDEST
0000206b: SWAP1
0000206c: POP
0000206d: PUSH1 0x00
0000206f: PUSH1 0x01
00002071: DUP7
00002072: PUSH1 0x00
00002074: ADD
00002075: DUP1
00002076: SLOAD
00002077: SWAP1
00002078: POP
00002079: PUSH2 0x2082
0000207c: SWAP2
0000207d: SWAP1
0000207e: PUSH2 0x2b9c
00002081: JUMP
00002082: JUMPDEST
00002083: SWAP1
00002084: POP
00002085: DUP2
00002086: DUP2
00002087: EQ
00002088: PUSH2 0x20f1
0000208b: JUMPI
0000208c: PUSH1 0x00
0000208e: DUP7
0000208f: PUSH1 0x00
00002091: ADD
00002092: DUP3
00002093: DUP2
00002094: SLOAD
00002095: DUP2
00002096: LT
00002097: PUSH2 0x20a3
0000209a: JUMPI
0000209b: PUSH2 0x20a2
0000209e: PUSH2 0x2fa4
000020a1: JUMP
000020a2: JUMPDEST
000020a3: JUMPDEST
000020a4: SWAP1
000020a5: PUSH1 0x00
000020a7: MSTORE
000020a8: PUSH1 0x20
000020aa: PUSH1 0x00
000020ac: KECCAK256
000020ad: ADD
000020ae: SLOAD
000020af: SWAP1
000020b0: POP
000020b1: DUP1
000020b2: DUP8
000020b3: PUSH1 0x00
000020b5: ADD
000020b6: DUP5
000020b7: DUP2
000020b8: SLOAD
000020b9: DUP2
000020ba: LT
000020bb: PUSH2 0x20c7
000020be: JUMPI
000020bf: PUSH2 0x20c6
000020c2: PUSH2 0x2fa4
000020c5: JUMP
000020c6: JUMPDEST
000020c7: JUMPDEST
000020c8: SWAP1
000020c9: PUSH1 0x00
000020cb: MSTORE
000020cc: PUSH1 0x20
000020ce: PUSH1 0x00
000020d0: KECCAK256
000020d1: ADD
000020d2: DUP2
000020d3: SWAP1
000020d4: SSTORE
000020d5: POP
000020d6: DUP4
000020d7: DUP8
000020d8: PUSH1 0x01
000020da: ADD
000020db: PUSH1 0x00
000020dd: DUP4
000020de: DUP2
000020df: MSTORE
000020e0: PUSH1 0x20
000020e2: ADD
000020e3: SWAP1
000020e4: DUP2
000020e5: MSTORE
000020e6: PUSH1 0x20
000020e8: ADD
000020e9: PUSH1 0x00
000020eb: KECCAK256
000020ec: DUP2
000020ed: SWAP1
000020ee: SSTORE
000020ef: POP
000020f0: POP
000020f1: JUMPDEST
000020f2: DUP6
000020f3: PUSH1 0x00
000020f5: ADD
000020f6: DUP1
000020f7: SLOAD
000020f8: DUP1
000020f9: PUSH2 0x2105
000020fc: JUMPI
000020fd: PUSH2 0x2104
00002100: PUSH2 0x369a
00002103: JUMP
00002104: JUMPDEST
00002105: JUMPDEST
00002106: PUSH1 0x01
00002108: SWAP1
00002109: SUB
0000210a: DUP2
0000210b: DUP2
0000210c: SWAP1
0000210d: PUSH1 0x00
0000210f: MSTORE
00002110: PUSH1 0x20
00002112: PUSH1 0x00
00002114: KECCAK256
00002115: ADD
00002116: PUSH1 0x00
00002118: SWAP1
00002119: SSTORE
0000211a: SWAP1
0000211b: SSTORE
0000211c: DUP6
0000211d: PUSH1 0x01
0000211f: ADD
00002120: PUSH1 0x00
00002122: DUP7
00002123: DUP2
00002124: MSTORE
00002125: PUSH1 0x20
00002127: ADD
00002128: SWAP1
00002129: DUP2
0000212a: MSTORE
0000212b: PUSH1 0x20
0000212d: ADD
0000212e: PUSH1 0x00
00002130: KECCAK256
00002131: PUSH1 0x00
00002133: SWAP1
00002134: SSTORE
00002135: PUSH1 0x01
00002137: SWAP4
00002138: POP
00002139: POP
0000213a: POP
0000213b: POP
0000213c: PUSH2 0x2146
0000213f: JUMP
00002140: JUMPDEST
00002141: PUSH1 0x00
00002143: SWAP2
00002144: POP
00002145: POP
00002146: JUMPDEST
00002147: SWAP3
00002148: SWAP2
00002149: POP
0000214a: POP
0000214b: JUMP
0000214c: JUMPDEST
0000214d: PUSH2 0x21cd
00002150: DUP4
00002151: PUSH4 0xa9059cbb
00002156: PUSH1 0xe0
00002158: SHL
00002159: DUP5
0000215a: DUP5
0000215b: PUSH1 0x40
0000215d: MLOAD
0000215e: PUSH1 0x24
00002160: ADD
00002161: PUSH2 0x216b
00002164: SWAP3
00002165: SWAP2
00002166: SWAP1
00002167: PUSH2 0x36c9
0000216a: JUMP
0000216b: JUMPDEST
0000216c: PUSH1 0x40
0000216e: MLOAD
0000216f: PUSH1 0x20
00002171: DUP2
00002172: DUP4
00002173: SUB
00002174: SUB
00002175: DUP2
00002176: MSTORE
00002177: SWAP1
00002178: PUSH1 0x40
0000217a: MSTORE
0000217b: SWAP1
0000217c: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002199: NOT
0000219a: AND
0000219b: PUSH1 0x20
0000219d: DUP3
0000219e: ADD
0000219f: DUP1
000021a0: MLOAD
000021a1: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000021be: DUP4
000021bf: DUP2
000021c0: DUP4
000021c1: AND
000021c2: OR
000021c3: DUP4
000021c4: MSTORE
000021c5: POP
000021c6: POP
000021c7: POP
000021c8: POP
000021c9: PUSH2 0x1ea0
000021cc: JUMP
000021cd: JUMPDEST
000021ce: POP
000021cf: POP
000021d0: POP
000021d1: JUMP
000021d2: JUMPDEST
000021d3: PUSH1 0x60
000021d5: DUP2
000021d6: PUSH1 0x00
000021d8: ADD
000021d9: DUP1
000021da: SLOAD
000021db: DUP1
000021dc: PUSH1 0x20
000021de: MUL
000021df: PUSH1 0x20
000021e1: ADD
000021e2: PUSH1 0x40
000021e4: MLOAD
000021e5: SWAP1
000021e6: DUP2
000021e7: ADD
000021e8: PUSH1 0x40
000021ea: MSTORE
000021eb: DUP1
000021ec: SWAP3
000021ed: SWAP2
000021ee: SWAP1
000021ef: DUP2
000021f0: DUP2
000021f1: MSTORE
000021f2: PUSH1 0x20
000021f4: ADD
000021f5: DUP3
000021f6: DUP1
000021f7: SLOAD
000021f8: DUP1
000021f9: ISZERO
000021fa: PUSH2 0x2222
000021fd: JUMPI
000021fe: PUSH1 0x20
00002200: MUL
00002201: DUP3
00002202: ADD
00002203: SWAP2
00002204: SWAP1
00002205: PUSH1 0x00
00002207: MSTORE
00002208: PUSH1 0x20
0000220a: PUSH1 0x00
0000220c: KECCAK256
0000220d: SWAP1
0000220e: JUMPDEST
0000220f: DUP2
00002210: SLOAD
00002211: DUP2
00002212: MSTORE
00002213: PUSH1 0x20
00002215: ADD
00002216: SWAP1
00002217: PUSH1 0x01
00002219: ADD
0000221a: SWAP1
0000221b: DUP1
0000221c: DUP4
0000221d: GT
0000221e: PUSH2 0x220e
00002221: JUMPI
00002222: JUMPDEST
00002223: POP
00002224: POP
00002225: POP
00002226: POP
00002227: POP
00002228: SWAP1
00002229: POP
0000222a: SWAP2
0000222b: SWAP1
0000222c: POP
0000222d: JUMP
0000222e: JUMPDEST
0000222f: PUSH1 0x00
00002231: DUP1
00002232: DUP4
00002233: PUSH1 0x01
00002235: ADD
00002236: PUSH1 0x00
00002238: DUP5
00002239: DUP2
0000223a: MSTORE
0000223b: PUSH1 0x20
0000223d: ADD
0000223e: SWAP1
0000223f: DUP2
00002240: MSTORE
00002241: PUSH1 0x20
00002243: ADD
00002244: PUSH1 0x00
00002246: KECCAK256
00002247: SLOAD
00002248: EQ
00002249: ISZERO
0000224a: SWAP1
0000224b: POP
0000224c: SWAP3
0000224d: SWAP2
0000224e: POP
0000224f: POP
00002250: JUMP
00002251: JUMPDEST
00002252: PUSH1 0x00
00002254: DUP1
00002255: DUP3
00002256: EXTCODESIZE
00002257: SWAP1
00002258: POP
00002259: PUSH1 0x00
0000225b: DUP2
0000225c: GT
0000225d: SWAP2
0000225e: POP
0000225f: POP
00002260: SWAP2
00002261: SWAP1
00002262: POP
00002263: JUMP
00002264: JUMPDEST
00002265: PUSH1 0x00
00002267: PUSH1 0x01
00002269: SWAP1
0000226a: SLOAD
0000226b: SWAP1
0000226c: PUSH2 0x0100
0000226f: EXP
00002270: SWAP1
00002271: DIV
00002272: PUSH1 0xff
00002274: AND
00002275: PUSH2 0x22b3
00002278: JUMPI
00002279: PUSH1 0x40
0000227b: MLOAD
0000227c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000229d: DUP2
0000229e: MSTORE
0000229f: PUSH1 0x04
000022a1: ADD
000022a2: PUSH2 0x22aa
000022a5: SWAP1
000022a6: PUSH2 0x35a6
000022a9: JUMP
000022aa: JUMPDEST
000022ab: PUSH1 0x40
000022ad: MLOAD
000022ae: DUP1
000022af: SWAP2
000022b0: SUB
000022b1: SWAP1
000022b2: REVERT
000022b3: JUMPDEST
000022b4: PUSH1 0x01
000022b6: DUP1
000022b7: DUP2
000022b8: SWAP1
000022b9: SSTORE
000022ba: POP
000022bb: JUMP
000022bc: JUMPDEST
000022bd: PUSH1 0x60
000022bf: PUSH2 0x22cb
000022c2: DUP5
000022c3: DUP5
000022c4: PUSH1 0x00
000022c6: DUP6
000022c7: PUSH2 0x2458
000022ca: JUMP
000022cb: JUMPDEST
000022cc: SWAP1
000022cd: POP
000022ce: SWAP4
000022cf: SWAP3
000022d0: POP
000022d1: POP
000022d2: POP
000022d3: JUMP
000022d4: JUMPDEST
000022d5: PUSH1 0x00
000022d7: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
000022ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002301: AND
00002302: DUP4
00002303: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002318: AND
00002319: SUB
0000231a: PUSH2 0x2325
0000231d: JUMPI
0000231e: DUP2
0000231f: SWAP1
00002320: POP
00002321: PUSH2 0x23f5
00002324: JUMP
00002325: JUMPDEST
00002326: PUSH1 0x00
00002328: DUP4
00002329: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000233e: AND
0000233f: PUSH4 0x313ce567
00002344: PUSH1 0x40
00002346: MLOAD
00002347: DUP2
00002348: PUSH4 0xffffffff
0000234d: AND
0000234e: PUSH1 0xe0
00002350: SHL
00002351: DUP2
00002352: MSTORE
00002353: PUSH1 0x04
00002355: ADD
00002356: PUSH1 0x20
00002358: PUSH1 0x40
0000235a: MLOAD
0000235b: DUP1
0000235c: DUP4
0000235d: SUB
0000235e: DUP2
0000235f: DUP7
00002360: GAS
00002361: STATICCALL
00002362: ISZERO
00002363: DUP1
00002364: ISZERO
00002365: PUSH2 0x2372
00002368: JUMPI
00002369: RETURNDATASIZE
0000236a: PUSH1 0x00
0000236c: DUP1
0000236d: RETURNDATACOPY
0000236e: RETURNDATASIZE
0000236f: PUSH1 0x00
00002371: REVERT
00002372: JUMPDEST
00002373: POP
00002374: POP
00002375: POP
00002376: POP
00002377: PUSH1 0x40
00002379: MLOAD
0000237a: RETURNDATASIZE
0000237b: PUSH1 0x1f
0000237d: NOT
0000237e: PUSH1 0x1f
00002380: DUP3
00002381: ADD
00002382: AND
00002383: DUP3
00002384: ADD
00002385: DUP1
00002386: PUSH1 0x40
00002388: MSTORE
00002389: POP
0000238a: DUP2
0000238b: ADD
0000238c: SWAP1
0000238d: PUSH2 0x2396
00002390: SWAP2
00002391: SWAP1
00002392: PUSH2 0x2b40
00002395: JUMP
00002396: JUMPDEST
00002397: SWAP1
00002398: POP
00002399: PUSH1 0x12
0000239b: DUP2
0000239c: LT
0000239d: ISZERO
0000239e: PUSH2 0x23cd
000023a1: JUMPI
000023a2: DUP1
000023a3: PUSH1 0x12
000023a5: PUSH2 0x23ae
000023a8: SWAP2
000023a9: SWAP1
000023aa: PUSH2 0x2b9c
000023ad: JUMP
000023ae: JUMPDEST
000023af: PUSH1 0x0a
000023b1: PUSH2 0x23ba
000023b4: SWAP2
000023b5: SWAP1
000023b6: PUSH2 0x3825
000023b9: JUMP
000023ba: JUMPDEST
000023bb: DUP4
000023bc: PUSH2 0x23c5
000023bf: SWAP2
000023c0: SWAP1
000023c1: PUSH2 0x347a
000023c4: JUMP
000023c5: JUMPDEST
000023c6: SWAP2
000023c7: POP
000023c8: POP
000023c9: PUSH2 0x23f5
000023cc: JUMP
000023cd: JUMPDEST
000023ce: PUSH1 0x12
000023d0: DUP2
000023d1: PUSH2 0x23da
000023d4: SWAP2
000023d5: SWAP1
000023d6: PUSH2 0x2b9c
000023d9: JUMP
000023da: JUMPDEST
000023db: PUSH1 0x0a
000023dd: PUSH2 0x23e6
000023e0: SWAP2
000023e1: SWAP1
000023e2: PUSH2 0x3825
000023e5: JUMP
000023e6: JUMPDEST
000023e7: DUP4
000023e8: PUSH2 0x23f1
000023eb: SWAP2
000023ec: SWAP1
000023ed: PUSH2 0x3503
000023f0: JUMP
000023f1: JUMPDEST
000023f2: SWAP2
000023f3: POP
000023f4: POP
000023f5: JUMPDEST
000023f6: SWAP3
000023f7: SWAP2
000023f8: POP
000023f9: POP
000023fa: JUMP
000023fb: JUMPDEST
000023fc: PUSH1 0x00
000023fe: DUP1
000023ff: DUP3
00002400: DUP5
00002401: PUSH2 0x240a
00002404: SWAP2
00002405: SWAP1
00002406: PUSH2 0x3870
00002409: JUMP
0000240a: JUMPDEST
0000240b: SWAP1
0000240c: POP
0000240d: PUSH1 0x00
0000240f: DUP1
00002410: DUP3
00002411: SUB
00002412: PUSH2 0x2428
00002415: JUMPI
00002416: DUP4
00002417: DUP6
00002418: PUSH2 0x2421
0000241b: SWAP2
0000241c: SWAP1
0000241d: PUSH2 0x3503
00002420: JUMP
00002421: JUMPDEST
00002422: SWAP1
00002423: POP
00002424: PUSH2 0x244d
00002427: JUMP
00002428: JUMPDEST
00002429: DUP4
0000242a: DUP5
0000242b: DUP4
0000242c: DUP8
0000242d: PUSH2 0x2436
00002430: SWAP2
00002431: SWAP1
00002432: PUSH2 0x2b9c
00002435: JUMP
00002436: JUMPDEST
00002437: PUSH2 0x2440
0000243a: SWAP2
0000243b: SWAP1
0000243c: PUSH2 0x301b
0000243f: JUMP
00002440: JUMPDEST
00002441: PUSH2 0x244a
00002444: SWAP2
00002445: SWAP1
00002446: PUSH2 0x3503
00002449: JUMP
0000244a: JUMPDEST
0000244b: SWAP1
0000244c: POP
0000244d: JUMPDEST
0000244e: DUP1
0000244f: SWAP3
00002450: POP
00002451: POP
00002452: POP
00002453: SWAP3
00002454: SWAP2
00002455: POP
00002456: POP
00002457: JUMP
00002458: JUMPDEST
00002459: PUSH1 0x60
0000245b: DUP3
0000245c: SELFBALANCE
0000245d: LT
0000245e: ISZERO
0000245f: PUSH2 0x249d
00002462: JUMPI
00002463: PUSH1 0x40
00002465: MLOAD
00002466: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002487: DUP2
00002488: MSTORE
00002489: PUSH1 0x04
0000248b: ADD
0000248c: PUSH2 0x2494
0000248f: SWAP1
00002490: PUSH2 0x3913
00002493: JUMP
00002494: JUMPDEST
00002495: PUSH1 0x40
00002497: MLOAD
00002498: DUP1
00002499: SWAP2
0000249a: SUB
0000249b: SWAP1
0000249c: REVERT
0000249d: JUMPDEST
0000249e: PUSH2 0x24a6
000024a1: DUP6
000024a2: PUSH2 0x256c
000024a5: JUMP
000024a6: JUMPDEST
000024a7: PUSH2 0x24e5
000024aa: JUMPI
000024ab: PUSH1 0x40
000024ad: MLOAD
000024ae: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000024cf: DUP2
000024d0: MSTORE
000024d1: PUSH1 0x04
000024d3: ADD
000024d4: PUSH2 0x24dc
000024d7: SWAP1
000024d8: PUSH2 0x397f
000024db: JUMP
000024dc: JUMPDEST
000024dd: PUSH1 0x40
000024df: MLOAD
000024e0: DUP1
000024e1: SWAP2
000024e2: SUB
000024e3: SWAP1
000024e4: REVERT
000024e5: JUMPDEST
000024e6: PUSH1 0x00
000024e8: DUP1
000024e9: DUP7
000024ea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024ff: AND
00002500: DUP6
00002501: DUP8
00002502: PUSH1 0x40
00002504: MLOAD
00002505: PUSH2 0x250e
00002508: SWAP2
00002509: SWAP1
0000250a: PUSH2 0x3a0e
0000250d: JUMP
0000250e: JUMPDEST
0000250f: PUSH1 0x00
00002511: PUSH1 0x40
00002513: MLOAD
00002514: DUP1
00002515: DUP4
00002516: SUB
00002517: DUP2
00002518: DUP6
00002519: DUP8
0000251a: GAS
0000251b: CALL
0000251c: SWAP3
0000251d: POP
0000251e: POP
0000251f: POP
00002520: RETURNDATASIZE
00002521: DUP1
00002522: PUSH1 0x00
00002524: DUP2
00002525: EQ
00002526: PUSH2 0x254b
00002529: JUMPI
0000252a: PUSH1 0x40
0000252c: MLOAD
0000252d: SWAP2
0000252e: POP
0000252f: PUSH1 0x1f
00002531: NOT
00002532: PUSH1 0x3f
00002534: RETURNDATASIZE
00002535: ADD
00002536: AND
00002537: DUP3
00002538: ADD
00002539: PUSH1 0x40
0000253b: MSTORE
0000253c: RETURNDATASIZE
0000253d: DUP3
0000253e: MSTORE
0000253f: RETURNDATASIZE
00002540: PUSH1 0x00
00002542: PUSH1 0x20
00002544: DUP5
00002545: ADD
00002546: RETURNDATACOPY
00002547: PUSH2 0x2550
0000254a: JUMP
0000254b: JUMPDEST
0000254c: PUSH1 0x60
0000254e: SWAP2
0000254f: POP
00002550: JUMPDEST
00002551: POP
00002552: SWAP2
00002553: POP
00002554: SWAP2
00002555: POP
00002556: PUSH2 0x2560
00002559: DUP3
0000255a: DUP3
0000255b: DUP7
0000255c: PUSH2 0x258f
0000255f: JUMP
00002560: JUMPDEST
00002561: SWAP3
00002562: POP
00002563: POP
00002564: POP
00002565: SWAP5
00002566: SWAP4
00002567: POP
00002568: POP
00002569: POP
0000256a: POP
0000256b: JUMP
0000256c: JUMPDEST
0000256d: PUSH1 0x00
0000256f: DUP1
00002570: DUP3
00002571: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002586: AND
00002587: EXTCODESIZE
00002588: GT
00002589: SWAP1
0000258a: POP
0000258b: SWAP2
0000258c: SWAP1
0000258d: POP
0000258e: JUMP
0000258f: JUMPDEST
00002590: PUSH1 0x60
00002592: DUP4
00002593: ISZERO
00002594: PUSH2 0x259f
00002597: JUMPI
00002598: DUP3
00002599: SWAP1
0000259a: POP
0000259b: PUSH2 0x25ef
0000259e: JUMP
0000259f: JUMPDEST
000025a0: PUSH1 0x00
000025a2: DUP4
000025a3: MLOAD
000025a4: GT
000025a5: ISZERO
000025a6: PUSH2 0x25b2
000025a9: JUMPI
000025aa: DUP3
000025ab: MLOAD
000025ac: DUP1
000025ad: DUP5
000025ae: PUSH1 0x20
000025b0: ADD
000025b1: REVERT
000025b2: JUMPDEST
000025b3: DUP2
000025b4: PUSH1 0x40
000025b6: MLOAD
000025b7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000025d8: DUP2
000025d9: MSTORE
000025da: PUSH1 0x04
000025dc: ADD
000025dd: PUSH2 0x25e6
000025e0: SWAP2
000025e1: SWAP1
000025e2: PUSH2 0x3a69
000025e5: JUMP
000025e6: JUMPDEST
000025e7: PUSH1 0x40
000025e9: MLOAD
000025ea: DUP1
000025eb: SWAP2
000025ec: SUB
000025ed: SWAP1
000025ee: REVERT
000025ef: JUMPDEST
000025f0: SWAP4
000025f1: SWAP3
000025f2: POP
000025f3: POP
000025f4: POP
000025f5: JUMP
000025f6: JUMPDEST
000025f7: PUSH1 0x00
000025f9: DUP2
000025fa: SWAP1
000025fb: POP
000025fc: SWAP2
000025fd: SWAP1
000025fe: POP
000025ff: JUMP
00002600: JUMPDEST
00002601: PUSH2 0x2609
00002604: DUP2
00002605: PUSH2 0x25f6
00002608: JUMP
00002609: JUMPDEST
0000260a: DUP3
0000260b: MSTORE
0000260c: POP
0000260d: POP
0000260e: JUMP
0000260f: JUMPDEST
00002610: PUSH1 0x00
00002612: PUSH1 0x20
00002614: DUP3
00002615: ADD
00002616: SWAP1
00002617: POP
00002618: PUSH2 0x2624
0000261b: PUSH1 0x00
0000261d: DUP4
0000261e: ADD
0000261f: DUP5
00002620: PUSH2 0x2600
00002623: JUMP
00002624: JUMPDEST
00002625: SWAP3
00002626: SWAP2
00002627: POP
00002628: POP
00002629: JUMP
0000262a: JUMPDEST
0000262b: PUSH1 0x00
0000262d: PUSH1 0x40
0000262f: MLOAD
00002630: SWAP1
00002631: POP
00002632: SWAP1
00002633: JUMP
00002634: JUMPDEST
00002635: PUSH1 0x00
00002637: DUP1
00002638: REVERT
00002639: JUMPDEST
0000263a: PUSH1 0x00
0000263c: DUP1
0000263d: REVERT
0000263e: JUMPDEST
0000263f: PUSH1 0x00
00002641: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002656: DUP3
00002657: AND
00002658: SWAP1
00002659: POP
0000265a: SWAP2
0000265b: SWAP1
0000265c: POP
0000265d: JUMP
0000265e: JUMPDEST
0000265f: PUSH1 0x00
00002661: PUSH2 0x2669
00002664: DUP3
00002665: PUSH2 0x263e
00002668: JUMP
00002669: JUMPDEST
0000266a: SWAP1
0000266b: POP
0000266c: SWAP2
0000266d: SWAP1
0000266e: POP
0000266f: JUMP
00002670: JUMPDEST
00002671: PUSH2 0x2679
00002674: DUP2
00002675: PUSH2 0x265e
00002678: JUMP
00002679: JUMPDEST
0000267a: DUP2
0000267b: EQ
0000267c: PUSH2 0x2684
0000267f: JUMPI
00002680: PUSH1 0x00
00002682: DUP1
00002683: REVERT
00002684: JUMPDEST
00002685: POP
00002686: JUMP
00002687: JUMPDEST
00002688: PUSH1 0x00
0000268a: DUP2
0000268b: CALLDATALOAD
0000268c: SWAP1
0000268d: POP
0000268e: PUSH2 0x2696
00002691: DUP2
00002692: PUSH2 0x2670
00002695: JUMP
00002696: JUMPDEST
00002697: SWAP3
00002698: SWAP2
00002699: POP
0000269a: POP
0000269b: JUMP
0000269c: JUMPDEST
0000269d: PUSH1 0x00
0000269f: DUP2
000026a0: ISZERO
000026a1: ISZERO
000026a2: SWAP1
000026a3: POP
000026a4: SWAP2
000026a5: SWAP1
000026a6: POP
000026a7: JUMP
000026a8: JUMPDEST
000026a9: PUSH2 0x26b1
000026ac: DUP2
000026ad: PUSH2 0x269c
000026b0: JUMP
000026b1: JUMPDEST
000026b2: DUP2
000026b3: EQ
000026b4: PUSH2 0x26bc
000026b7: JUMPI
000026b8: PUSH1 0x00
000026ba: DUP1
000026bb: REVERT
000026bc: JUMPDEST
000026bd: POP
000026be: JUMP
000026bf: JUMPDEST
000026c0: PUSH1 0x00
000026c2: DUP2
000026c3: CALLDATALOAD
000026c4: SWAP1
000026c5: POP
000026c6: PUSH2 0x26ce
000026c9: DUP2
000026ca: PUSH2 0x26a8
000026cd: JUMP
000026ce: JUMPDEST
000026cf: SWAP3
000026d0: SWAP2
000026d1: POP
000026d2: POP
000026d3: JUMP
000026d4: JUMPDEST
000026d5: PUSH1 0x00
000026d7: DUP1
000026d8: PUSH1 0x40
000026da: DUP4
000026db: DUP6
000026dc: SUB
000026dd: SLT
000026de: ISZERO
000026df: PUSH2 0x26eb
000026e2: JUMPI
000026e3: PUSH2 0x26ea
000026e6: PUSH2 0x2634
000026e9: JUMP
000026ea: JUMPDEST
000026eb: JUMPDEST
000026ec: PUSH1 0x00
000026ee: PUSH2 0x26f9
000026f1: DUP6
000026f2: DUP3
000026f3: DUP7
000026f4: ADD
000026f5: PUSH2 0x2687
000026f8: JUMP
000026f9: JUMPDEST
000026fa: SWAP3
000026fb: POP
000026fc: POP
000026fd: PUSH1 0x20
000026ff: PUSH2 0x270a
00002702: DUP6
00002703: DUP3
00002704: DUP7
00002705: ADD
00002706: PUSH2 0x26bf
00002709: JUMP
0000270a: JUMPDEST
0000270b: SWAP2
0000270c: POP
0000270d: POP
0000270e: SWAP3
0000270f: POP
00002710: SWAP3
00002711: SWAP1
00002712: POP
00002713: JUMP
00002714: JUMPDEST
00002715: PUSH1 0x00
00002717: PUSH2 0x271f
0000271a: DUP3
0000271b: PUSH2 0x263e
0000271e: JUMP
0000271f: JUMPDEST
00002720: SWAP1
00002721: POP
00002722: SWAP2
00002723: SWAP1
00002724: POP
00002725: JUMP
00002726: JUMPDEST
00002727: PUSH2 0x272f
0000272a: DUP2
0000272b: PUSH2 0x2714
0000272e: JUMP
0000272f: JUMPDEST
00002730: DUP2
00002731: EQ
00002732: PUSH2 0x273a
00002735: JUMPI
00002736: PUSH1 0x00
00002738: DUP1
00002739: REVERT
0000273a: JUMPDEST
0000273b: POP
0000273c: JUMP
0000273d: JUMPDEST
0000273e: PUSH1 0x00
00002740: DUP2
00002741: CALLDATALOAD
00002742: SWAP1
00002743: POP
00002744: PUSH2 0x274c
00002747: DUP2
00002748: PUSH2 0x2726
0000274b: JUMP
0000274c: JUMPDEST
0000274d: SWAP3
0000274e: SWAP2
0000274f: POP
00002750: POP
00002751: JUMP
00002752: JUMPDEST
00002753: PUSH2 0x275b
00002756: DUP2
00002757: PUSH2 0x25f6
0000275a: JUMP
0000275b: JUMPDEST
0000275c: DUP2
0000275d: EQ
0000275e: PUSH2 0x2766
00002761: JUMPI
00002762: PUSH1 0x00
00002764: DUP1
00002765: REVERT
00002766: JUMPDEST
00002767: POP
00002768: JUMP
00002769: JUMPDEST
0000276a: PUSH1 0x00
0000276c: DUP2
0000276d: CALLDATALOAD
0000276e: SWAP1
0000276f: POP
00002770: PUSH2 0x2778
00002773: DUP2
00002774: PUSH2 0x2752
00002777: JUMP
00002778: JUMPDEST
00002779: SWAP3
0000277a: SWAP2
0000277b: POP
0000277c: POP
0000277d: JUMP
0000277e: JUMPDEST
0000277f: PUSH1 0x00
00002781: DUP1
00002782: PUSH1 0x00
00002784: PUSH1 0x60
00002786: DUP5
00002787: DUP7
00002788: SUB
00002789: SLT
0000278a: ISZERO
0000278b: PUSH2 0x2797
0000278e: JUMPI
0000278f: PUSH2 0x2796
00002792: PUSH2 0x2634
00002795: JUMP
00002796: JUMPDEST
00002797: JUMPDEST
00002798: PUSH1 0x00
0000279a: PUSH2 0x27a5
0000279d: DUP7
0000279e: DUP3
0000279f: DUP8
000027a0: ADD
000027a1: PUSH2 0x273d
000027a4: JUMP
000027a5: JUMPDEST
000027a6: SWAP4
000027a7: POP
000027a8: POP
000027a9: PUSH1 0x20
000027ab: PUSH2 0x27b6
000027ae: DUP7
000027af: DUP3
000027b0: DUP8
000027b1: ADD
000027b2: PUSH2 0x2687
000027b5: JUMP
000027b6: JUMPDEST
000027b7: SWAP3
000027b8: POP
000027b9: POP
000027ba: PUSH1 0x40
000027bc: PUSH2 0x27c7
000027bf: DUP7
000027c0: DUP3
000027c1: DUP8
000027c2: ADD
000027c3: PUSH2 0x2769
000027c6: JUMP
000027c7: JUMPDEST
000027c8: SWAP2
000027c9: POP
000027ca: POP
000027cb: SWAP3
000027cc: POP
000027cd: SWAP3
000027ce: POP
000027cf: SWAP3
000027d0: JUMP
000027d1: JUMPDEST
000027d2: PUSH1 0x00
000027d4: PUSH1 0x20
000027d6: DUP3
000027d7: DUP5
000027d8: SUB
000027d9: SLT
000027da: ISZERO
000027db: PUSH2 0x27e7
000027de: JUMPI
000027df: PUSH2 0x27e6
000027e2: PUSH2 0x2634
000027e5: JUMP
000027e6: JUMPDEST
000027e7: JUMPDEST
000027e8: PUSH1 0x00
000027ea: PUSH2 0x27f5
000027ed: DUP5
000027ee: DUP3
000027ef: DUP6
000027f0: ADD
000027f1: PUSH2 0x2687
000027f4: JUMP
000027f5: JUMPDEST
000027f6: SWAP2
000027f7: POP
000027f8: POP
000027f9: SWAP3
000027fa: SWAP2
000027fb: POP
000027fc: POP
000027fd: JUMP
000027fe: JUMPDEST
000027ff: PUSH1 0x00
00002801: DUP2
00002802: MLOAD
00002803: SWAP1
00002804: POP
00002805: SWAP2
00002806: SWAP1
00002807: POP
00002808: JUMP
00002809: JUMPDEST
0000280a: PUSH1 0x00
0000280c: DUP3
0000280d: DUP3
0000280e: MSTORE
0000280f: PUSH1 0x20
00002811: DUP3
00002812: ADD
00002813: SWAP1
00002814: POP
00002815: SWAP3
00002816: SWAP2
00002817: POP
00002818: POP
00002819: JUMP
0000281a: JUMPDEST
0000281b: PUSH1 0x00
0000281d: DUP2
0000281e: SWAP1
0000281f: POP
00002820: PUSH1 0x20
00002822: DUP3
00002823: ADD
00002824: SWAP1
00002825: POP
00002826: SWAP2
00002827: SWAP1
00002828: POP
00002829: JUMP
0000282a: JUMPDEST
0000282b: PUSH2 0x2833
0000282e: DUP2
0000282f: PUSH2 0x265e
00002832: JUMP
00002833: JUMPDEST
00002834: DUP3
00002835: MSTORE
00002836: POP
00002837: POP
00002838: JUMP
00002839: JUMPDEST
0000283a: PUSH1 0x00
0000283c: PUSH2 0x2845
0000283f: DUP4
00002840: DUP4
00002841: PUSH2 0x282a
00002844: JUMP
00002845: JUMPDEST
00002846: PUSH1 0x20
00002848: DUP4
00002849: ADD
0000284a: SWAP1
0000284b: POP
0000284c: SWAP3
0000284d: SWAP2
0000284e: POP
0000284f: POP
00002850: JUMP
00002851: JUMPDEST
00002852: PUSH1 0x00
00002854: PUSH1 0x20
00002856: DUP3
00002857: ADD
00002858: SWAP1
00002859: POP
0000285a: SWAP2
0000285b: SWAP1
0000285c: POP
0000285d: JUMP
0000285e: JUMPDEST
0000285f: PUSH1 0x00
00002861: PUSH2 0x2869
00002864: DUP3
00002865: PUSH2 0x27fe
00002868: JUMP
00002869: JUMPDEST
0000286a: PUSH2 0x2873
0000286d: DUP2
0000286e: DUP6
0000286f: PUSH2 0x2809
00002872: JUMP
00002873: JUMPDEST
00002874: SWAP4
00002875: POP
00002876: PUSH2 0x287e
00002879: DUP4
0000287a: PUSH2 0x281a
0000287d: JUMP
0000287e: JUMPDEST
0000287f: DUP1
00002880: PUSH1 0x00
00002882: JUMPDEST
00002883: DUP4
00002884: DUP2
00002885: LT
00002886: ISZERO
00002887: PUSH2 0x28af
0000288a: JUMPI
0000288b: DUP2
0000288c: MLOAD
0000288d: PUSH2 0x2896
00002890: DUP9
00002891: DUP3
00002892: PUSH2 0x2839
00002895: JUMP
00002896: JUMPDEST
00002897: SWAP8
00002898: POP
00002899: PUSH2 0x28a1
0000289c: DUP4
0000289d: PUSH2 0x2851
000028a0: JUMP
000028a1: JUMPDEST
000028a2: SWAP3
000028a3: POP
000028a4: POP
000028a5: PUSH1 0x01
000028a7: DUP2
000028a8: ADD
000028a9: SWAP1
000028aa: POP
000028ab: PUSH2 0x2882
000028ae: JUMP
000028af: JUMPDEST
000028b0: POP
000028b1: DUP6
000028b2: SWAP4
000028b3: POP
000028b4: POP
000028b5: POP
000028b6: POP
000028b7: SWAP3
000028b8: SWAP2
000028b9: POP
000028ba: POP
000028bb: JUMP
000028bc: JUMPDEST
000028bd: PUSH1 0x00
000028bf: PUSH1 0x20
000028c1: DUP3
000028c2: ADD
000028c3: SWAP1
000028c4: POP
000028c5: DUP2
000028c6: DUP2
000028c7: SUB
000028c8: PUSH1 0x00
000028ca: DUP4
000028cb: ADD
000028cc: MSTORE
000028cd: PUSH2 0x28d6
000028d0: DUP2
000028d1: DUP5
000028d2: PUSH2 0x285e
000028d5: JUMP
000028d6: JUMPDEST
000028d7: SWAP1
000028d8: POP
000028d9: SWAP3
000028da: SWAP2
000028db: POP
000028dc: POP
000028dd: JUMP
000028de: JUMPDEST
000028df: PUSH1 0x00
000028e1: PUSH1 0x20
000028e3: DUP3
000028e4: DUP5
000028e5: SUB
000028e6: SLT
000028e7: ISZERO
000028e8: PUSH2 0x28f4
000028eb: JUMPI
000028ec: PUSH2 0x28f3
000028ef: PUSH2 0x2634
000028f2: JUMP
000028f3: JUMPDEST
000028f4: JUMPDEST
000028f5: PUSH1 0x00
000028f7: PUSH2 0x2902
000028fa: DUP5
000028fb: DUP3
000028fc: DUP6
000028fd: ADD
000028fe: PUSH2 0x2769
00002901: JUMP
00002902: JUMPDEST
00002903: SWAP2
00002904: POP
00002905: POP
00002906: SWAP3
00002907: SWAP2
00002908: POP
00002909: POP
0000290a: JUMP
0000290b: JUMPDEST
0000290c: PUSH1 0x00
0000290e: DUP1
0000290f: PUSH1 0x40
00002911: DUP4
00002912: DUP6
00002913: SUB
00002914: SLT
00002915: ISZERO
00002916: PUSH2 0x2922
00002919: JUMPI
0000291a: PUSH2 0x2921
0000291d: PUSH2 0x2634
00002920: JUMP
00002921: JUMPDEST
00002922: JUMPDEST
00002923: PUSH1 0x00
00002925: PUSH2 0x2930
00002928: DUP6
00002929: DUP3
0000292a: DUP7
0000292b: ADD
0000292c: PUSH2 0x2687
0000292f: JUMP
00002930: JUMPDEST
00002931: SWAP3
00002932: POP
00002933: POP
00002934: PUSH1 0x20
00002936: PUSH2 0x2941
00002939: DUP6
0000293a: DUP3
0000293b: DUP7
0000293c: ADD
0000293d: PUSH2 0x2687
00002940: JUMP
00002941: JUMPDEST
00002942: SWAP2
00002943: POP
00002944: POP
00002945: SWAP3
00002946: POP
00002947: SWAP3
00002948: SWAP1
00002949: POP
0000294a: JUMP
0000294b: JUMPDEST
0000294c: PUSH1 0x00
0000294e: DUP1
0000294f: PUSH1 0x00
00002951: PUSH1 0x60
00002953: DUP5
00002954: DUP7
00002955: SUB
00002956: SLT
00002957: ISZERO
00002958: PUSH2 0x2964
0000295b: JUMPI
0000295c: PUSH2 0x2963
0000295f: PUSH2 0x2634
00002962: JUMP
00002963: JUMPDEST
00002964: JUMPDEST
00002965: PUSH1 0x00
00002967: PUSH2 0x2972
0000296a: DUP7
0000296b: DUP3
0000296c: DUP8
0000296d: ADD
0000296e: PUSH2 0x2687
00002971: JUMP
00002972: JUMPDEST
00002973: SWAP4
00002974: POP
00002975: POP
00002976: PUSH1 0x20
00002978: PUSH2 0x2983
0000297b: DUP7
0000297c: DUP3
0000297d: DUP8
0000297e: ADD
0000297f: PUSH2 0x2687
00002982: JUMP
00002983: JUMPDEST
00002984: SWAP3
00002985: POP
00002986: POP
00002987: PUSH1 0x40
00002989: PUSH2 0x2994
0000298c: DUP7
0000298d: DUP3
0000298e: DUP8
0000298f: ADD
00002990: PUSH2 0x2769
00002993: JUMP
00002994: JUMPDEST
00002995: SWAP2
00002996: POP
00002997: POP
00002998: SWAP3
00002999: POP
0000299a: SWAP3
0000299b: POP
0000299c: SWAP3
0000299d: JUMP
0000299e: JUMPDEST
0000299f: PUSH1 0x00
000029a1: DUP2
000029a2: SWAP1
000029a3: POP
000029a4: SWAP2
000029a5: SWAP1
000029a6: POP
000029a7: JUMP
000029a8: JUMPDEST
000029a9: PUSH1 0x00
000029ab: PUSH2 0x29c3
000029ae: PUSH2 0x29be
000029b1: PUSH2 0x29b9
000029b4: DUP5
000029b5: PUSH2 0x263e
000029b8: JUMP
000029b9: JUMPDEST
000029ba: PUSH2 0x299e
000029bd: JUMP
000029be: JUMPDEST
000029bf: PUSH2 0x263e
000029c2: JUMP
000029c3: JUMPDEST
000029c4: SWAP1
000029c5: POP
000029c6: SWAP2
000029c7: SWAP1
000029c8: POP
000029c9: JUMP
000029ca: JUMPDEST
000029cb: PUSH1 0x00
000029cd: PUSH2 0x29d5
000029d0: DUP3
000029d1: PUSH2 0x29a8
000029d4: JUMP
000029d5: JUMPDEST
000029d6: SWAP1
000029d7: POP
000029d8: SWAP2
000029d9: SWAP1
000029da: POP
000029db: JUMP
000029dc: JUMPDEST
000029dd: PUSH1 0x00
000029df: PUSH2 0x29e7
000029e2: DUP3
000029e3: PUSH2 0x29ca
000029e6: JUMP
000029e7: JUMPDEST
000029e8: SWAP1
000029e9: POP
000029ea: SWAP2
000029eb: SWAP1
000029ec: POP
000029ed: JUMP
000029ee: JUMPDEST
000029ef: PUSH2 0x29f7
000029f2: DUP2
000029f3: PUSH2 0x29dc
000029f6: JUMP
000029f7: JUMPDEST
000029f8: DUP3
000029f9: MSTORE
000029fa: POP
000029fb: POP
000029fc: JUMP
000029fd: JUMPDEST
000029fe: PUSH1 0x00
00002a00: PUSH1 0x20
00002a02: DUP3
00002a03: ADD
00002a04: SWAP1
00002a05: POP
00002a06: PUSH2 0x2a12
00002a09: PUSH1 0x00
00002a0b: DUP4
00002a0c: ADD
00002a0d: DUP5
00002a0e: PUSH2 0x29ee
00002a11: JUMP
00002a12: JUMPDEST
00002a13: SWAP3
00002a14: SWAP2
00002a15: POP
00002a16: POP
00002a17: JUMP
00002a18: JUMPDEST
00002a19: PUSH1 0x00
00002a1b: DUP3
00002a1c: DUP3
00002a1d: MSTORE
00002a1e: PUSH1 0x20
00002a20: DUP3
00002a21: ADD
00002a22: SWAP1
00002a23: POP
00002a24: SWAP3
00002a25: SWAP2
00002a26: POP
00002a27: POP
00002a28: JUMP
00002a29: JUMPDEST
00002a2a: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
00002a4b: PUSH1 0x00
00002a4d: DUP3
00002a4e: ADD
00002a4f: MSTORE
00002a50: POP
00002a51: JUMP
00002a52: JUMPDEST
00002a53: PUSH1 0x00
00002a55: PUSH2 0x2a5f
00002a58: PUSH1 0x1f
00002a5a: DUP4
00002a5b: PUSH2 0x2a18
00002a5e: JUMP
00002a5f: JUMPDEST
00002a60: SWAP2
00002a61: POP
00002a62: PUSH2 0x2a6a
00002a65: DUP3
00002a66: PUSH2 0x2a29
00002a69: JUMP
00002a6a: JUMPDEST
00002a6b: PUSH1 0x20
00002a6d: DUP3
00002a6e: ADD
00002a6f: SWAP1
00002a70: POP
00002a71: SWAP2
00002a72: SWAP1
00002a73: POP
00002a74: JUMP
00002a75: JUMPDEST
00002a76: PUSH1 0x00
00002a78: PUSH1 0x20
00002a7a: DUP3
00002a7b: ADD
00002a7c: SWAP1
00002a7d: POP
00002a7e: DUP2
00002a7f: DUP2
00002a80: SUB
00002a81: PUSH1 0x00
00002a83: DUP4
00002a84: ADD
00002a85: MSTORE
00002a86: PUSH2 0x2a8e
00002a89: DUP2
00002a8a: PUSH2 0x2a52
00002a8d: JUMP
00002a8e: JUMPDEST
00002a8f: SWAP1
00002a90: POP
00002a91: SWAP2
00002a92: SWAP1
00002a93: POP
00002a94: JUMP
00002a95: JUMPDEST
00002a96: PUSH32 0x5461736b54726561737572793a204e6f20455448000000000000000000000000
00002ab7: PUSH1 0x00
00002ab9: DUP3
00002aba: ADD
00002abb: MSTORE
00002abc: POP
00002abd: JUMP
00002abe: JUMPDEST
00002abf: PUSH1 0x00
00002ac1: PUSH2 0x2acb
00002ac4: PUSH1 0x14
00002ac6: DUP4
00002ac7: PUSH2 0x2a18
00002aca: JUMP
00002acb: JUMPDEST
00002acc: SWAP2
00002acd: POP
00002ace: PUSH2 0x2ad6
00002ad1: DUP3
00002ad2: PUSH2 0x2a95
00002ad5: JUMP
00002ad6: JUMPDEST
00002ad7: PUSH1 0x20
00002ad9: DUP3
00002ada: ADD
00002adb: SWAP1
00002adc: POP
00002add: SWAP2
00002ade: SWAP1
00002adf: POP
00002ae0: JUMP
00002ae1: JUMPDEST
00002ae2: PUSH1 0x00
00002ae4: PUSH1 0x20
00002ae6: DUP3
00002ae7: ADD
00002ae8: SWAP1
00002ae9: POP
00002aea: DUP2
00002aeb: DUP2
00002aec: SUB
00002aed: PUSH1 0x00
00002aef: DUP4
00002af0: ADD
00002af1: MSTORE
00002af2: PUSH2 0x2afa
00002af5: DUP2
00002af6: PUSH2 0x2abe
00002af9: JUMP
00002afa: JUMPDEST
00002afb: SWAP1
00002afc: POP
00002afd: SWAP2
00002afe: SWAP1
00002aff: POP
00002b00: JUMP
00002b01: JUMPDEST
00002b02: PUSH2 0x2b0a
00002b05: DUP2
00002b06: PUSH2 0x265e
00002b09: JUMP
00002b0a: JUMPDEST
00002b0b: DUP3
00002b0c: MSTORE
00002b0d: POP
00002b0e: POP
00002b0f: JUMP
00002b10: JUMPDEST
00002b11: PUSH1 0x00
00002b13: PUSH1 0x20
00002b15: DUP3
00002b16: ADD
00002b17: SWAP1
00002b18: POP
00002b19: PUSH2 0x2b25
00002b1c: PUSH1 0x00
00002b1e: DUP4
00002b1f: ADD
00002b20: DUP5
00002b21: PUSH2 0x2b01
00002b24: JUMP
00002b25: JUMPDEST
00002b26: SWAP3
00002b27: SWAP2
00002b28: POP
00002b29: POP
00002b2a: JUMP
00002b2b: JUMPDEST
00002b2c: PUSH1 0x00
00002b2e: DUP2
00002b2f: MLOAD
00002b30: SWAP1
00002b31: POP
00002b32: PUSH2 0x2b3a
00002b35: DUP2
00002b36: PUSH2 0x2752
00002b39: JUMP
00002b3a: JUMPDEST
00002b3b: SWAP3
00002b3c: SWAP2
00002b3d: POP
00002b3e: POP
00002b3f: JUMP
00002b40: JUMPDEST
00002b41: PUSH1 0x00
00002b43: PUSH1 0x20
00002b45: DUP3
00002b46: DUP5
00002b47: SUB
00002b48: SLT
00002b49: ISZERO
00002b4a: PUSH2 0x2b56
00002b4d: JUMPI
00002b4e: PUSH2 0x2b55
00002b51: PUSH2 0x2634
00002b54: JUMP
00002b55: JUMPDEST
00002b56: JUMPDEST
00002b57: PUSH1 0x00
00002b59: PUSH2 0x2b64
00002b5c: DUP5
00002b5d: DUP3
00002b5e: DUP6
00002b5f: ADD
00002b60: PUSH2 0x2b2b
00002b63: JUMP
00002b64: JUMPDEST
00002b65: SWAP2
00002b66: POP
00002b67: POP
00002b68: SWAP3
00002b69: SWAP2
00002b6a: POP
00002b6b: POP
00002b6c: JUMP
00002b6d: JUMPDEST
00002b6e: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002b8f: PUSH1 0x00
00002b91: MSTORE
00002b92: PUSH1 0x11
00002b94: PUSH1 0x04
00002b96: MSTORE
00002b97: PUSH1 0x24
00002b99: PUSH1 0x00
00002b9b: REVERT
00002b9c: JUMPDEST
00002b9d: PUSH1 0x00
00002b9f: PUSH2 0x2ba7
00002ba2: DUP3
00002ba3: PUSH2 0x25f6
00002ba6: JUMP
00002ba7: JUMPDEST
00002ba8: SWAP2
00002ba9: POP
00002baa: PUSH2 0x2bb2
00002bad: DUP4
00002bae: PUSH2 0x25f6
00002bb1: JUMP
00002bb2: JUMPDEST
00002bb3: SWAP3
00002bb4: POP
00002bb5: DUP3
00002bb6: DUP3
00002bb7: LT
00002bb8: ISZERO
00002bb9: PUSH2 0x2bc5
00002bbc: JUMPI
00002bbd: PUSH2 0x2bc4
00002bc0: PUSH2 0x2b6d
00002bc3: JUMP
00002bc4: JUMPDEST
00002bc5: JUMPDEST
00002bc6: DUP3
00002bc7: DUP3
00002bc8: SUB
00002bc9: SWAP1
00002bca: POP
00002bcb: SWAP3
00002bcc: SWAP2
00002bcd: POP
00002bce: POP
00002bcf: JUMP
00002bd0: JUMPDEST
00002bd1: PUSH32 0x4e4f545f415554484f52495a4544000000000000000000000000000000000000
00002bf2: PUSH1 0x00
00002bf4: DUP3
00002bf5: ADD
00002bf6: MSTORE
00002bf7: POP
00002bf8: JUMP
00002bf9: JUMPDEST
00002bfa: PUSH1 0x00
00002bfc: PUSH2 0x2c06
00002bff: PUSH1 0x0e
00002c01: DUP4
00002c02: PUSH2 0x2a18
00002c05: JUMP
00002c06: JUMPDEST
00002c07: SWAP2
00002c08: POP
00002c09: PUSH2 0x2c11
00002c0c: DUP3
00002c0d: PUSH2 0x2bd0
00002c10: JUMP
00002c11: JUMPDEST
00002c12: PUSH1 0x20
00002c14: DUP3
00002c15: ADD
00002c16: SWAP1
00002c17: POP
00002c18: SWAP2
00002c19: SWAP1
00002c1a: POP
00002c1b: JUMP
00002c1c: JUMPDEST
00002c1d: PUSH1 0x00
00002c1f: PUSH1 0x20
00002c21: DUP3
00002c22: ADD
00002c23: SWAP1
00002c24: POP
00002c25: DUP2
00002c26: DUP2
00002c27: SUB
00002c28: PUSH1 0x00
00002c2a: DUP4
00002c2b: ADD
00002c2c: MSTORE
00002c2d: PUSH2 0x2c35
00002c30: DUP2
00002c31: PUSH2 0x2bf9
00002c34: JUMP
00002c35: JUMPDEST
00002c36: SWAP1
00002c37: POP
00002c38: SWAP2
00002c39: SWAP1
00002c3a: POP
00002c3b: JUMP
00002c3c: JUMPDEST
00002c3d: PUSH2 0x2c45
00002c40: DUP2
00002c41: PUSH2 0x269c
00002c44: JUMP
00002c45: JUMPDEST
00002c46: DUP3
00002c47: MSTORE
00002c48: POP
00002c49: POP
00002c4a: JUMP
00002c4b: JUMPDEST
00002c4c: PUSH1 0x00
00002c4e: PUSH1 0x20
00002c50: DUP3
00002c51: ADD
00002c52: SWAP1
00002c53: POP
00002c54: PUSH2 0x2c60
00002c57: PUSH1 0x00
00002c59: DUP4
00002c5a: ADD
00002c5b: DUP5
00002c5c: PUSH2 0x2c3c
00002c5f: JUMP
00002c60: JUMPDEST
00002c61: SWAP3
00002c62: SWAP2
00002c63: POP
00002c64: POP
00002c65: JUMP
00002c66: JUMPDEST
00002c67: PUSH32 0x5461736b54726561737572793a206f6e6c7957686974656c6973746564536572
00002c88: PUSH1 0x00
00002c8a: DUP3
00002c8b: ADD
00002c8c: MSTORE
00002c8d: PUSH32 0x7669636573000000000000000000000000000000000000000000000000000000
00002cae: PUSH1 0x20
00002cb0: DUP3
00002cb1: ADD
00002cb2: MSTORE
00002cb3: POP
00002cb4: JUMP
00002cb5: JUMPDEST
00002cb6: PUSH1 0x00
00002cb8: PUSH2 0x2cc2
00002cbb: PUSH1 0x25
00002cbd: DUP4
00002cbe: PUSH2 0x2a18
00002cc1: JUMP
00002cc2: JUMPDEST
00002cc3: SWAP2
00002cc4: POP
00002cc5: PUSH2 0x2ccd
00002cc8: DUP3
00002cc9: PUSH2 0x2c66
00002ccc: JUMP
00002ccd: JUMPDEST
00002cce: PUSH1 0x40
00002cd0: DUP3
00002cd1: ADD
00002cd2: SWAP1
00002cd3: POP
00002cd4: SWAP2
00002cd5: SWAP1
00002cd6: POP
00002cd7: JUMP
00002cd8: JUMPDEST
00002cd9: PUSH1 0x00
00002cdb: PUSH1 0x20
00002cdd: DUP3
00002cde: ADD
00002cdf: SWAP1
00002ce0: POP
00002ce1: DUP2
00002ce2: DUP2
00002ce3: SUB
00002ce4: PUSH1 0x00
00002ce6: DUP4
00002ce7: ADD
00002ce8: MSTORE
00002ce9: PUSH2 0x2cf1
00002cec: DUP2
00002ced: PUSH2 0x2cb5
00002cf0: JUMP
00002cf1: JUMPDEST
00002cf2: SWAP1
00002cf3: POP
00002cf4: SWAP2
00002cf5: SWAP1
00002cf6: POP
00002cf7: JUMP
00002cf8: JUMPDEST
00002cf9: PUSH32 0x5461736b54726561737572793a204f7665726368617267656400000000000000
00002d1a: PUSH1 0x00
00002d1c: DUP3
00002d1d: ADD
00002d1e: MSTORE
00002d1f: POP
00002d20: JUMP
00002d21: JUMPDEST
00002d22: PUSH1 0x00
00002d24: PUSH2 0x2d2e
00002d27: PUSH1 0x19
00002d29: DUP4
00002d2a: PUSH2 0x2a18
00002d2d: JUMP
00002d2e: JUMPDEST
00002d2f: SWAP2
00002d30: POP
00002d31: PUSH2 0x2d39
00002d34: DUP3
00002d35: PUSH2 0x2cf8
00002d38: JUMP
00002d39: JUMPDEST
00002d3a: PUSH1 0x20
00002d3c: DUP3
00002d3d: ADD
00002d3e: SWAP1
00002d3f: POP
00002d40: SWAP2
00002d41: SWAP1
00002d42: POP
00002d43: JUMP
00002d44: JUMPDEST
00002d45: PUSH1 0x00
00002d47: PUSH1 0x20
00002d49: DUP3
00002d4a: ADD
00002d4b: SWAP1
00002d4c: POP
00002d4d: DUP2
00002d4e: DUP2
00002d4f: SUB
00002d50: PUSH1 0x00
00002d52: DUP4
00002d53: ADD
00002d54: MSTORE
00002d55: PUSH2 0x2d5d
00002d58: DUP2
00002d59: PUSH2 0x2d21
00002d5c: JUMP
00002d5d: JUMPDEST
00002d5e: SWAP1
00002d5f: POP
00002d60: SWAP2
00002d61: SWAP1
00002d62: POP
00002d63: JUMP
00002d64: JUMPDEST
00002d65: PUSH1 0x00
00002d67: PUSH1 0x40
00002d69: DUP3
00002d6a: ADD
00002d6b: SWAP1
00002d6c: POP
00002d6d: PUSH2 0x2d79
00002d70: PUSH1 0x00
00002d72: DUP4
00002d73: ADD
00002d74: DUP6
00002d75: PUSH2 0x2b01
00002d78: JUMP
00002d79: JUMPDEST
00002d7a: PUSH2 0x2d86
00002d7d: PUSH1 0x20
00002d7f: DUP4
00002d80: ADD
00002d81: DUP5
00002d82: PUSH2 0x2b01
00002d85: JUMP
00002d86: JUMPDEST
00002d87: SWAP4
00002d88: SWAP3
00002d89: POP
00002d8a: POP
00002d8b: POP
00002d8c: JUMP
00002d8d: JUMPDEST
00002d8e: PUSH1 0x00
00002d90: PUSH1 0x60
00002d92: DUP3
00002d93: ADD
00002d94: SWAP1
00002d95: POP
00002d96: PUSH2 0x2da2
00002d99: PUSH1 0x00
00002d9b: DUP4
00002d9c: ADD
00002d9d: DUP7
00002d9e: PUSH2 0x2b01
00002da1: JUMP
00002da2: JUMPDEST
00002da3: PUSH2 0x2daf
00002da6: PUSH1 0x20
00002da8: DUP4
00002da9: ADD
00002daa: DUP6
00002dab: PUSH2 0x2600
00002dae: JUMP
00002daf: JUMPDEST
00002db0: PUSH2 0x2dbc
00002db3: PUSH1 0x40
00002db5: DUP4
00002db6: ADD
00002db7: DUP5
00002db8: PUSH2 0x2b01
00002dbb: JUMP
00002dbc: JUMPDEST
00002dbd: SWAP5
00002dbe: SWAP4
00002dbf: POP
00002dc0: POP
00002dc1: POP
00002dc2: POP
00002dc3: JUMP
00002dc4: JUMPDEST
00002dc5: PUSH1 0x00
00002dc7: PUSH1 0x40
00002dc9: DUP3
00002dca: ADD
00002dcb: SWAP1
00002dcc: POP
00002dcd: PUSH2 0x2dd9
00002dd0: PUSH1 0x00
00002dd2: DUP4
00002dd3: ADD
00002dd4: DUP6
00002dd5: PUSH2 0x2600
00002dd8: JUMP
00002dd9: JUMPDEST
00002dda: PUSH2 0x2de6
00002ddd: PUSH1 0x20
00002ddf: DUP4
00002de0: ADD
00002de1: DUP5
00002de2: PUSH2 0x2b01
00002de5: JUMP
00002de6: JUMPDEST
00002de7: SWAP4
00002de8: SWAP3
00002de9: POP
00002dea: POP
00002deb: POP
00002dec: JUMP
00002ded: JUMPDEST
00002dee: PUSH1 0x00
00002df0: DUP1
00002df1: REVERT
00002df2: JUMPDEST
00002df3: PUSH1 0x00
00002df5: PUSH1 0x1f
00002df7: NOT
00002df8: PUSH1 0x1f
00002dfa: DUP4
00002dfb: ADD
00002dfc: AND
00002dfd: SWAP1
00002dfe: POP
00002dff: SWAP2
00002e00: SWAP1
00002e01: POP
00002e02: JUMP
00002e03: JUMPDEST
00002e04: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002e25: PUSH1 0x00
00002e27: MSTORE
00002e28: PUSH1 0x41
00002e2a: PUSH1 0x04
00002e2c: MSTORE
00002e2d: PUSH1 0x24
00002e2f: PUSH1 0x00
00002e31: REVERT
00002e32: JUMPDEST
00002e33: PUSH2 0x2e3b
00002e36: DUP3
00002e37: PUSH2 0x2df2
00002e3a: JUMP
00002e3b: JUMPDEST
00002e3c: DUP2
00002e3d: ADD
00002e3e: DUP2
00002e3f: DUP2
00002e40: LT
00002e41: PUSH8 0xffffffffffffffff
00002e4a: DUP3
00002e4b: GT
00002e4c: OR
00002e4d: ISZERO
00002e4e: PUSH2 0x2e5a
00002e51: JUMPI
00002e52: PUSH2 0x2e59
00002e55: PUSH2 0x2e03
00002e58: JUMP
00002e59: JUMPDEST
00002e5a: JUMPDEST
00002e5b: DUP1
00002e5c: PUSH1 0x40
00002e5e: MSTORE
00002e5f: POP
00002e60: POP
00002e61: POP
00002e62: JUMP
00002e63: JUMPDEST
00002e64: PUSH1 0x00
00002e66: PUSH2 0x2e6d
00002e69: PUSH2 0x262a
00002e6c: JUMP
00002e6d: JUMPDEST
00002e6e: SWAP1
00002e6f: POP
00002e70: PUSH2 0x2e79
00002e73: DUP3
00002e74: DUP3
00002e75: PUSH2 0x2e32
00002e78: JUMP
00002e79: JUMPDEST
00002e7a: SWAP2
00002e7b: SWAP1
00002e7c: POP
00002e7d: JUMP
00002e7e: JUMPDEST
00002e7f: PUSH1 0x00
00002e81: PUSH8 0xffffffffffffffff
00002e8a: DUP3
00002e8b: GT
00002e8c: ISZERO
00002e8d: PUSH2 0x2e99
00002e90: JUMPI
00002e91: PUSH2 0x2e98
00002e94: PUSH2 0x2e03
00002e97: JUMP
00002e98: JUMPDEST
00002e99: JUMPDEST
00002e9a: PUSH1 0x20
00002e9c: DUP3
00002e9d: MUL
00002e9e: SWAP1
00002e9f: POP
00002ea0: PUSH1 0x20
00002ea2: DUP2
00002ea3: ADD
00002ea4: SWAP1
00002ea5: POP
00002ea6: SWAP2
00002ea7: SWAP1
00002ea8: POP
00002ea9: JUMP
00002eaa: JUMPDEST
00002eab: PUSH1 0x00
00002ead: DUP1
00002eae: REVERT
00002eaf: JUMPDEST
00002eb0: PUSH1 0x00
00002eb2: DUP2
00002eb3: MLOAD
00002eb4: SWAP1
00002eb5: POP
00002eb6: PUSH2 0x2ebe
00002eb9: DUP2
00002eba: PUSH2 0x2670
00002ebd: JUMP
00002ebe: JUMPDEST
00002ebf: SWAP3
00002ec0: SWAP2
00002ec1: POP
00002ec2: POP
00002ec3: JUMP
00002ec4: JUMPDEST
00002ec5: PUSH1 0x00
00002ec7: PUSH2 0x2ed7
00002eca: PUSH2 0x2ed2
00002ecd: DUP5
00002ece: PUSH2 0x2e7e
00002ed1: JUMP
00002ed2: JUMPDEST
00002ed3: PUSH2 0x2e63
00002ed6: JUMP
00002ed7: JUMPDEST
00002ed8: SWAP1
00002ed9: POP
00002eda: DUP1
00002edb: DUP4
00002edc: DUP3
00002edd: MSTORE
00002ede: PUSH1 0x20
00002ee0: DUP3
00002ee1: ADD
00002ee2: SWAP1
00002ee3: POP
00002ee4: PUSH1 0x20
00002ee6: DUP5
00002ee7: MUL
00002ee8: DUP4
00002ee9: ADD
00002eea: DUP6
00002eeb: DUP2
00002eec: GT
00002eed: ISZERO
00002eee: PUSH2 0x2efa
00002ef1: JUMPI
00002ef2: PUSH2 0x2ef9
00002ef5: PUSH2 0x2eaa
00002ef8: JUMP
00002ef9: JUMPDEST
00002efa: JUMPDEST
00002efb: DUP4
00002efc: JUMPDEST
00002efd: DUP2
00002efe: DUP2
00002eff: LT
00002f00: ISZERO
00002f01: PUSH2 0x2f23
00002f04: JUMPI
00002f05: DUP1
00002f06: PUSH2 0x2f0f
00002f09: DUP9
00002f0a: DUP3
00002f0b: PUSH2 0x2eaf
00002f0e: JUMP
00002f0f: JUMPDEST
00002f10: DUP5
00002f11: MSTORE
00002f12: PUSH1 0x20
00002f14: DUP5
00002f15: ADD
00002f16: SWAP4
00002f17: POP
00002f18: POP
00002f19: PUSH1 0x20
00002f1b: DUP2
00002f1c: ADD
00002f1d: SWAP1
00002f1e: POP
00002f1f: PUSH2 0x2efc
00002f22: JUMP
00002f23: JUMPDEST
00002f24: POP
00002f25: POP
00002f26: POP
00002f27: SWAP4
00002f28: SWAP3
00002f29: POP
00002f2a: POP
00002f2b: POP
00002f2c: JUMP
00002f2d: JUMPDEST
00002f2e: PUSH1 0x00
00002f30: DUP3
00002f31: PUSH1 0x1f
00002f33: DUP4
00002f34: ADD
00002f35: SLT
00002f36: PUSH2 0x2f42
00002f39: JUMPI
00002f3a: PUSH2 0x2f41
00002f3d: PUSH2 0x2ded
00002f40: JUMP
00002f41: JUMPDEST
00002f42: JUMPDEST
00002f43: DUP2
00002f44: MLOAD
00002f45: PUSH2 0x2f52
00002f48: DUP5
00002f49: DUP3
00002f4a: PUSH1 0x20
00002f4c: DUP7
00002f4d: ADD
00002f4e: PUSH2 0x2ec4
00002f51: JUMP
00002f52: JUMPDEST
00002f53: SWAP2
00002f54: POP
00002f55: POP
00002f56: SWAP3
00002f57: SWAP2
00002f58: POP
00002f59: POP
00002f5a: JUMP
00002f5b: JUMPDEST
00002f5c: PUSH1 0x00
00002f5e: PUSH1 0x20
00002f60: DUP3
00002f61: DUP5
00002f62: SUB
00002f63: SLT
00002f64: ISZERO
00002f65: PUSH2 0x2f71
00002f68: JUMPI
00002f69: PUSH2 0x2f70
00002f6c: PUSH2 0x2634
00002f6f: JUMP
00002f70: JUMPDEST
00002f71: JUMPDEST
00002f72: PUSH1 0x00
00002f74: DUP3
00002f75: ADD
00002f76: MLOAD
00002f77: PUSH8 0xffffffffffffffff
00002f80: DUP2
00002f81: GT
00002f82: ISZERO
00002f83: PUSH2 0x2f8f
00002f86: JUMPI
00002f87: PUSH2 0x2f8e
00002f8a: PUSH2 0x2639
00002f8d: JUMP
00002f8e: JUMPDEST
00002f8f: JUMPDEST
00002f90: PUSH2 0x2f9b
00002f93: DUP5
00002f94: DUP3
00002f95: DUP6
00002f96: ADD
00002f97: PUSH2 0x2f2d
00002f9a: JUMP
00002f9b: JUMPDEST
00002f9c: SWAP2
00002f9d: POP
00002f9e: POP
00002f9f: SWAP3
00002fa0: SWAP2
00002fa1: POP
00002fa2: POP
00002fa3: JUMP
00002fa4: JUMPDEST
00002fa5: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002fc6: PUSH1 0x00
00002fc8: MSTORE
00002fc9: PUSH1 0x32
00002fcb: PUSH1 0x04
00002fcd: MSTORE
00002fce: PUSH1 0x24
00002fd0: PUSH1 0x00
00002fd2: REVERT
00002fd3: JUMPDEST
00002fd4: PUSH1 0x00
00002fd6: PUSH2 0x2fde
00002fd9: DUP3
00002fda: PUSH2 0x25f6
00002fdd: JUMP
00002fde: JUMPDEST
00002fdf: SWAP2
00002fe0: POP
00002fe1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003002: DUP3
00003003: SUB
00003004: PUSH2 0x3010
00003007: JUMPI
00003008: PUSH2 0x300f
0000300b: PUSH2 0x2b6d
0000300e: JUMP
0000300f: JUMPDEST
00003010: JUMPDEST
00003011: PUSH1 0x01
00003013: DUP3
00003014: ADD
00003015: SWAP1
00003016: POP
00003017: SWAP2
00003018: SWAP1
00003019: POP
0000301a: JUMP
0000301b: JUMPDEST
0000301c: PUSH1 0x00
0000301e: PUSH2 0x3026
00003021: DUP3
00003022: PUSH2 0x25f6
00003025: JUMP
00003026: JUMPDEST
00003027: SWAP2
00003028: POP
00003029: PUSH2 0x3031
0000302c: DUP4
0000302d: PUSH2 0x25f6
00003030: JUMP
00003031: JUMPDEST
00003032: SWAP3
00003033: POP
00003034: DUP3
00003035: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003056: SUB
00003057: DUP3
00003058: GT
00003059: ISZERO
0000305a: PUSH2 0x3066
0000305d: JUMPI
0000305e: PUSH2 0x3065
00003061: PUSH2 0x2b6d
00003064: JUMP
00003065: JUMPDEST
00003066: JUMPDEST
00003067: DUP3
00003068: DUP3
00003069: ADD
0000306a: SWAP1
0000306b: POP
0000306c: SWAP3
0000306d: SWAP2
0000306e: POP
0000306f: POP
00003070: JUMP
00003071: JUMPDEST
00003072: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
00003093: PUSH1 0x00
00003095: DUP3
00003096: ADD
00003097: MSTORE
00003098: PUSH32 0x647920696e697469616c697a6564000000000000000000000000000000000000
000030b9: PUSH1 0x20
000030bb: DUP3
000030bc: ADD
000030bd: MSTORE
000030be: POP
000030bf: JUMP
000030c0: JUMPDEST
000030c1: PUSH1 0x00
000030c3: PUSH2 0x30cd
000030c6: PUSH1 0x2e
000030c8: DUP4
000030c9: PUSH2 0x2a18
000030cc: JUMP
000030cd: JUMPDEST
000030ce: SWAP2
000030cf: POP
000030d0: PUSH2 0x30d8
000030d3: DUP3
000030d4: PUSH2 0x3071
000030d7: JUMP
000030d8: JUMPDEST
000030d9: PUSH1 0x40
000030db: DUP3
000030dc: ADD
000030dd: SWAP1
000030de: POP
000030df: SWAP2
000030e0: SWAP1
000030e1: POP
000030e2: JUMP
000030e3: JUMPDEST
000030e4: PUSH1 0x00
000030e6: PUSH1 0x20
000030e8: DUP3
000030e9: ADD
000030ea: SWAP1
000030eb: POP
000030ec: DUP2
000030ed: DUP2
000030ee: SUB
000030ef: PUSH1 0x00
000030f1: DUP4
000030f2: ADD
000030f3: MSTORE
000030f4: PUSH2 0x30fc
000030f7: DUP2
000030f8: PUSH2 0x30c0
000030fb: JUMP
000030fc: JUMPDEST
000030fd: SWAP1
000030fe: POP
000030ff: SWAP2
00003100: SWAP1
00003101: POP
00003102: JUMP
00003103: JUMPDEST
00003104: PUSH1 0x00
00003106: PUSH1 0x60
00003108: DUP3
00003109: ADD
0000310a: SWAP1
0000310b: POP
0000310c: PUSH2 0x3118
0000310f: PUSH1 0x00
00003111: DUP4
00003112: ADD
00003113: DUP7
00003114: PUSH2 0x2b01
00003117: JUMP
00003118: JUMPDEST
00003119: PUSH2 0x3125
0000311c: PUSH1 0x20
0000311e: DUP4
0000311f: ADD
00003120: DUP6
00003121: PUSH2 0x2b01
00003124: JUMP
00003125: JUMPDEST
00003126: PUSH2 0x3132
00003129: PUSH1 0x40
0000312b: DUP4
0000312c: ADD
0000312d: DUP5
0000312e: PUSH2 0x2600
00003131: JUMP
00003132: JUMPDEST
00003133: SWAP5
00003134: SWAP4
00003135: POP
00003136: POP
00003137: POP
00003138: POP
00003139: JUMP
0000313a: JUMPDEST
0000313b: PUSH32 0x5461736b54726561737572793a2052657175697265204d494e5f534841524553
0000315c: PUSH1 0x00
0000315e: DUP3
0000315f: ADD
00003160: MSTORE
00003161: PUSH32 0x5f494e5f54524541535552590000000000000000000000000000000000000000
00003182: PUSH1 0x20
00003184: DUP3
00003185: ADD
00003186: MSTORE
00003187: POP
00003188: JUMP
00003189: JUMPDEST
0000318a: PUSH1 0x00
0000318c: PUSH2 0x3196
0000318f: PUSH1 0x2c
00003191: DUP4
00003192: PUSH2 0x2a18
00003195: JUMP
00003196: JUMPDEST
00003197: SWAP2
00003198: POP
00003199: PUSH2 0x31a1
0000319c: DUP3
0000319d: PUSH2 0x313a
000031a0: JUMP
000031a1: JUMPDEST
000031a2: PUSH1 0x40
000031a4: DUP3
000031a5: ADD
000031a6: SWAP1
000031a7: POP
000031a8: SWAP2
000031a9: SWAP1
000031aa: POP
000031ab: JUMP
000031ac: JUMPDEST
000031ad: PUSH1 0x00
000031af: PUSH1 0x20
000031b1: DUP3
000031b2: ADD
000031b3: SWAP1
000031b4: POP
000031b5: DUP2
000031b6: DUP2
000031b7: SUB
000031b8: PUSH1 0x00
000031ba: DUP4
000031bb: ADD
000031bc: MSTORE
000031bd: PUSH2 0x31c5
000031c0: DUP2
000031c1: PUSH2 0x3189
000031c4: JUMP
000031c5: JUMPDEST
000031c6: SWAP1
000031c7: POP
000031c8: SWAP2
000031c9: SWAP1
000031ca: POP
000031cb: JUMP
000031cc: JUMPDEST
000031cd: PUSH32 0x5461736b54726561737572793a205a65726f2073686172657320746f20637265
000031ee: PUSH1 0x00
000031f0: DUP3
000031f1: ADD
000031f2: MSTORE
000031f3: PUSH32 0x6469740000000000000000000000000000000000000000000000000000000000
00003214: PUSH1 0x20
00003216: DUP3
00003217: ADD
00003218: MSTORE
00003219: POP
0000321a: JUMP
0000321b: JUMPDEST
0000321c: PUSH1 0x00
0000321e: PUSH2 0x3228
00003221: PUSH1 0x23
00003223: DUP4
00003224: PUSH2 0x2a18
00003227: JUMP
00003228: JUMPDEST
00003229: SWAP2
0000322a: POP
0000322b: PUSH2 0x3233
0000322e: DUP3
0000322f: PUSH2 0x31cc
00003232: JUMP
00003233: JUMPDEST
00003234: PUSH1 0x40
00003236: DUP3
00003237: ADD
00003238: SWAP1
00003239: POP
0000323a: SWAP2
0000323b: SWAP1
0000323c: POP
0000323d: JUMP
0000323e: JUMPDEST
0000323f: PUSH1 0x00
00003241: PUSH1 0x20
00003243: DUP3
00003244: ADD
00003245: SWAP1
00003246: POP
00003247: DUP2
00003248: DUP2
00003249: SUB
0000324a: PUSH1 0x00
0000324c: DUP4
0000324d: ADD
0000324e: MSTORE
0000324f: PUSH2 0x3257
00003252: DUP2
00003253: PUSH2 0x321b
00003256: JUMP
00003257: JUMPDEST
00003258: SWAP1
00003259: POP
0000325a: SWAP2
0000325b: SWAP1
0000325c: POP
0000325d: JUMP
0000325e: JUMPDEST
0000325f: PUSH32 0x5461736b54726561737572793a2042656c6f77204d494e5f5348415245535f49
00003280: PUSH1 0x00
00003282: DUP3
00003283: ADD
00003284: MSTORE
00003285: PUSH32 0x4e5f545245415355525900000000000000000000000000000000000000000000
000032a6: PUSH1 0x20
000032a8: DUP3
000032a9: ADD
000032aa: MSTORE
000032ab: POP
000032ac: JUMP
000032ad: JUMPDEST
000032ae: PUSH1 0x00
000032b0: PUSH2 0x32ba
000032b3: PUSH1 0x2a
000032b5: DUP4
000032b6: PUSH2 0x2a18
000032b9: JUMP
000032ba: JUMPDEST
000032bb: SWAP2
000032bc: POP
000032bd: PUSH2 0x32c5
000032c0: DUP3
000032c1: PUSH2 0x325e
000032c4: JUMP
000032c5: JUMPDEST
000032c6: PUSH1 0x40
000032c8: DUP3
000032c9: ADD
000032ca: SWAP1
000032cb: POP
000032cc: SWAP2
000032cd: SWAP1
000032ce: POP
000032cf: JUMP
000032d0: JUMPDEST
000032d1: PUSH1 0x00
000032d3: PUSH1 0x20
000032d5: DUP3
000032d6: ADD
000032d7: SWAP1
000032d8: POP
000032d9: DUP2
000032da: DUP2
000032db: SUB
000032dc: PUSH1 0x00
000032de: DUP4
000032df: ADD
000032e0: MSTORE
000032e1: PUSH2 0x32e9
000032e4: DUP2
000032e5: PUSH2 0x32ad
000032e8: JUMP
000032e9: JUMPDEST
000032ea: SWAP1
000032eb: POP
000032ec: SWAP2
000032ed: SWAP1
000032ee: POP
000032ef: JUMP
000032f0: JUMPDEST
000032f1: PUSH1 0x00
000032f3: DUP2
000032f4: SWAP1
000032f5: POP
000032f6: SWAP3
000032f7: SWAP2
000032f8: POP
000032f9: POP
000032fa: JUMP
000032fb: JUMPDEST
000032fc: POP
000032fd: JUMP
000032fe: JUMPDEST
000032ff: PUSH1 0x00
00003301: PUSH2 0x330b
00003304: PUSH1 0x00
00003306: DUP4
00003307: PUSH2 0x32f0
0000330a: JUMP
0000330b: JUMPDEST
0000330c: SWAP2
0000330d: POP
0000330e: PUSH2 0x3316
00003311: DUP3
00003312: PUSH2 0x32fb
00003315: JUMP
00003316: JUMPDEST
00003317: PUSH1 0x00
00003319: DUP3
0000331a: ADD
0000331b: SWAP1
0000331c: POP
0000331d: SWAP2
0000331e: SWAP1
0000331f: POP
00003320: JUMP
00003321: JUMPDEST
00003322: PUSH1 0x00
00003324: PUSH2 0x332c
00003327: DUP3
00003328: PUSH2 0x32fe
0000332b: JUMP
0000332c: JUMPDEST
0000332d: SWAP2
0000332e: POP
0000332f: DUP2
00003330: SWAP1
00003331: POP
00003332: SWAP2
00003333: SWAP1
00003334: POP
00003335: JUMP
00003336: JUMPDEST
00003337: PUSH32 0x5f7472616e736665723a20455448207472616e73666572206661696c65640000
00003358: PUSH1 0x00
0000335a: DUP3
0000335b: ADD
0000335c: MSTORE
0000335d: POP
0000335e: JUMP
0000335f: JUMPDEST
00003360: PUSH1 0x00
00003362: PUSH2 0x336c
00003365: PUSH1 0x1e
00003367: DUP4
00003368: PUSH2 0x2a18
0000336b: JUMP
0000336c: JUMPDEST
0000336d: SWAP2
0000336e: POP
0000336f: PUSH2 0x3377
00003372: DUP3
00003373: PUSH2 0x3336
00003376: JUMP
00003377: JUMPDEST
00003378: PUSH1 0x20
0000337a: DUP3
0000337b: ADD
0000337c: SWAP1
0000337d: POP
0000337e: SWAP2
0000337f: SWAP1
00003380: POP
00003381: JUMP
00003382: JUMPDEST
00003383: PUSH1 0x00
00003385: PUSH1 0x20
00003387: DUP3
00003388: ADD
00003389: SWAP1
0000338a: POP
0000338b: DUP2
0000338c: DUP2
0000338d: SUB
0000338e: PUSH1 0x00
00003390: DUP4
00003391: ADD
00003392: MSTORE
00003393: PUSH2 0x339b
00003396: DUP2
00003397: PUSH2 0x335f
0000339a: JUMP
0000339b: JUMPDEST
0000339c: SWAP1
0000339d: POP
0000339e: SWAP2
0000339f: SWAP1
000033a0: POP
000033a1: JUMP
000033a2: JUMPDEST
000033a3: PUSH32 0x5461736b54726561737572793a204e6f2070726f78792061646d696e00000000
000033c4: PUSH1 0x00
000033c6: DUP3
000033c7: ADD
000033c8: MSTORE
000033c9: POP
000033ca: JUMP
000033cb: JUMPDEST
000033cc: PUSH1 0x00
000033ce: PUSH2 0x33d8
000033d1: PUSH1 0x1c
000033d3: DUP4
000033d4: PUSH2 0x2a18
000033d7: JUMP
000033d8: JUMPDEST
000033d9: SWAP2
000033da: POP
000033db: PUSH2 0x33e3
000033de: DUP3
000033df: PUSH2 0x33a2
000033e2: JUMP
000033e3: JUMPDEST
000033e4: PUSH1 0x20
000033e6: DUP3
000033e7: ADD
000033e8: SWAP1
000033e9: POP
000033ea: SWAP2
000033eb: SWAP1
000033ec: POP
000033ed: JUMP
000033ee: JUMPDEST
000033ef: PUSH1 0x00
000033f1: PUSH1 0x20
000033f3: DUP3
000033f4: ADD
000033f5: SWAP1
000033f6: POP
000033f7: DUP2
000033f8: DUP2
000033f9: SUB
000033fa: PUSH1 0x00
000033fc: DUP4
000033fd: ADD
000033fe: MSTORE
000033ff: PUSH2 0x3407
00003402: DUP2
00003403: PUSH2 0x33cb
00003406: JUMP
00003407: JUMPDEST
00003408: SWAP1
00003409: POP
0000340a: SWAP2
0000340b: SWAP1
0000340c: POP
0000340d: JUMP
0000340e: JUMPDEST
0000340f: PUSH32 0x5461736b54726561737572793a204e6f7420656e6f7567682066756e64730000
00003430: PUSH1 0x00
00003432: DUP3
00003433: ADD
00003434: MSTORE
00003435: POP
00003436: JUMP
00003437: JUMPDEST
00003438: PUSH1 0x00
0000343a: PUSH2 0x3444
0000343d: PUSH1 0x1e
0000343f: DUP4
00003440: PUSH2 0x2a18
00003443: JUMP
00003444: JUMPDEST
00003445: SWAP2
00003446: POP
00003447: PUSH2 0x344f
0000344a: DUP3
0000344b: PUSH2 0x340e
0000344e: JUMP
0000344f: JUMPDEST
00003450: PUSH1 0x20
00003452: DUP3
00003453: ADD
00003454: SWAP1
00003455: POP
00003456: SWAP2
00003457: SWAP1
00003458: POP
00003459: JUMP
0000345a: JUMPDEST
0000345b: PUSH1 0x00
0000345d: PUSH1 0x20
0000345f: DUP3
00003460: ADD
00003461: SWAP1
00003462: POP
00003463: DUP2
00003464: DUP2
00003465: SUB
00003466: PUSH1 0x00
00003468: DUP4
00003469: ADD
0000346a: MSTORE
0000346b: PUSH2 0x3473
0000346e: DUP2
0000346f: PUSH2 0x3437
00003472: JUMP
00003473: JUMPDEST
00003474: SWAP1
00003475: POP
00003476: SWAP2
00003477: SWAP1
00003478: POP
00003479: JUMP
0000347a: JUMPDEST
0000347b: PUSH1 0x00
0000347d: PUSH2 0x3485
00003480: DUP3
00003481: PUSH2 0x25f6
00003484: JUMP
00003485: JUMPDEST
00003486: SWAP2
00003487: POP
00003488: PUSH2 0x3490
0000348b: DUP4
0000348c: PUSH2 0x25f6
0000348f: JUMP
00003490: JUMPDEST
00003491: SWAP3
00003492: POP
00003493: DUP2
00003494: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000034b5: DIV
000034b6: DUP4
000034b7: GT
000034b8: DUP3
000034b9: ISZERO
000034ba: ISZERO
000034bb: AND
000034bc: ISZERO
000034bd: PUSH2 0x34c9
000034c0: JUMPI
000034c1: PUSH2 0x34c8
000034c4: PUSH2 0x2b6d
000034c7: JUMP
000034c8: JUMPDEST
000034c9: JUMPDEST
000034ca: DUP3
000034cb: DUP3
000034cc: MUL
000034cd: SWAP1
000034ce: POP
000034cf: SWAP3
000034d0: SWAP2
000034d1: POP
000034d2: POP
000034d3: JUMP
000034d4: JUMPDEST
000034d5: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000034f6: PUSH1 0x00
000034f8: MSTORE
000034f9: PUSH1 0x12
000034fb: PUSH1 0x04
000034fd: MSTORE
000034fe: PUSH1 0x24
00003500: PUSH1 0x00
00003502: REVERT
00003503: JUMPDEST
00003504: PUSH1 0x00
00003506: PUSH2 0x350e
00003509: DUP3
0000350a: PUSH2 0x25f6
0000350d: JUMP
0000350e: JUMPDEST
0000350f: SWAP2
00003510: POP
00003511: PUSH2 0x3519
00003514: DUP4
00003515: PUSH2 0x25f6
00003518: JUMP
00003519: JUMPDEST
0000351a: SWAP3
0000351b: POP
0000351c: DUP3
0000351d: PUSH2 0x3529
00003520: JUMPI
00003521: PUSH2 0x3528
00003524: PUSH2 0x34d4
00003527: JUMP
00003528: JUMPDEST
00003529: JUMPDEST
0000352a: DUP3
0000352b: DUP3
0000352c: DIV
0000352d: SWAP1
0000352e: POP
0000352f: SWAP3
00003530: SWAP2
00003531: POP
00003532: POP
00003533: JUMP
00003534: JUMPDEST
00003535: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
00003556: PUSH1 0x00
00003558: DUP3
00003559: ADD
0000355a: MSTORE
0000355b: PUSH32 0x6e697469616c697a696e67000000000000000000000000000000000000000000
0000357c: PUSH1 0x20
0000357e: DUP3
0000357f: ADD
00003580: MSTORE
00003581: POP
00003582: JUMP
00003583: JUMPDEST
00003584: PUSH1 0x00
00003586: PUSH2 0x3590
00003589: PUSH1 0x2b
0000358b: DUP4
0000358c: PUSH2 0x2a18
0000358f: JUMP
00003590: JUMPDEST
00003591: SWAP2
00003592: POP
00003593: PUSH2 0x359b
00003596: DUP3
00003597: PUSH2 0x3534
0000359a: JUMP
0000359b: JUMPDEST
0000359c: PUSH1 0x40
0000359e: DUP3
0000359f: ADD
000035a0: SWAP1
000035a1: POP
000035a2: SWAP2
000035a3: SWAP1
000035a4: POP
000035a5: JUMP
000035a6: JUMPDEST
000035a7: PUSH1 0x00
000035a9: PUSH1 0x20
000035ab: DUP3
000035ac: ADD
000035ad: SWAP1
000035ae: POP
000035af: DUP2
000035b0: DUP2
000035b1: SUB
000035b2: PUSH1 0x00
000035b4: DUP4
000035b5: ADD
000035b6: MSTORE
000035b7: PUSH2 0x35bf
000035ba: DUP2
000035bb: PUSH2 0x3583
000035be: JUMP
000035bf: JUMPDEST
000035c0: SWAP1
000035c1: POP
000035c2: SWAP2
000035c3: SWAP1
000035c4: POP
000035c5: JUMP
000035c6: JUMPDEST
000035c7: PUSH1 0x00
000035c9: DUP2
000035ca: MLOAD
000035cb: SWAP1
000035cc: POP
000035cd: PUSH2 0x35d5
000035d0: DUP2
000035d1: PUSH2 0x26a8
000035d4: JUMP
000035d5: JUMPDEST
000035d6: SWAP3
000035d7: SWAP2
000035d8: POP
000035d9: POP
000035da: JUMP
000035db: JUMPDEST
000035dc: PUSH1 0x00
000035de: PUSH1 0x20
000035e0: DUP3
000035e1: DUP5
000035e2: SUB
000035e3: SLT
000035e4: ISZERO
000035e5: PUSH2 0x35f1
000035e8: JUMPI
000035e9: PUSH2 0x35f0
000035ec: PUSH2 0x2634
000035ef: JUMP
000035f0: JUMPDEST
000035f1: JUMPDEST
000035f2: PUSH1 0x00
000035f4: PUSH2 0x35ff
000035f7: DUP5
000035f8: DUP3
000035f9: DUP6
000035fa: ADD
000035fb: PUSH2 0x35c6
000035fe: JUMP
000035ff: JUMPDEST
00003600: SWAP2
00003601: POP
00003602: POP
00003603: SWAP3
00003604: SWAP2
00003605: POP
00003606: POP
00003607: JUMP
00003608: JUMPDEST
00003609: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
0000362a: PUSH1 0x00
0000362c: DUP3
0000362d: ADD
0000362e: MSTORE
0000362f: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
00003650: PUSH1 0x20
00003652: DUP3
00003653: ADD
00003654: MSTORE
00003655: POP
00003656: JUMP
00003657: JUMPDEST
00003658: PUSH1 0x00
0000365a: PUSH2 0x3664
0000365d: PUSH1 0x2a
0000365f: DUP4
00003660: PUSH2 0x2a18
00003663: JUMP
00003664: JUMPDEST
00003665: SWAP2
00003666: POP
00003667: PUSH2 0x366f
0000366a: DUP3
0000366b: PUSH2 0x3608
0000366e: JUMP
0000366f: JUMPDEST
00003670: PUSH1 0x40
00003672: DUP3
00003673: ADD
00003674: SWAP1
00003675: POP
00003676: SWAP2
00003677: SWAP1
00003678: POP
00003679: JUMP
0000367a: JUMPDEST
0000367b: PUSH1 0x00
0000367d: PUSH1 0x20
0000367f: DUP3
00003680: ADD
00003681: SWAP1
00003682: POP
00003683: DUP2
00003684: DUP2
00003685: SUB
00003686: PUSH1 0x00
00003688: DUP4
00003689: ADD
0000368a: MSTORE
0000368b: PUSH2 0x3693
0000368e: DUP2
0000368f: PUSH2 0x3657
00003692: JUMP
00003693: JUMPDEST
00003694: SWAP1
00003695: POP
00003696: SWAP2
00003697: SWAP1
00003698: POP
00003699: JUMP
0000369a: JUMPDEST
0000369b: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000036bc: PUSH1 0x00
000036be: MSTORE
000036bf: PUSH1 0x31
000036c1: PUSH1 0x04
000036c3: MSTORE
000036c4: PUSH1 0x24
000036c6: PUSH1 0x00
000036c8: REVERT
000036c9: JUMPDEST
000036ca: PUSH1 0x00
000036cc: PUSH1 0x40
000036ce: DUP3
000036cf: ADD
000036d0: SWAP1
000036d1: POP
000036d2: PUSH2 0x36de
000036d5: PUSH1 0x00
000036d7: DUP4
000036d8: ADD
000036d9: DUP6
000036da: PUSH2 0x2b01
000036dd: JUMP
000036de: JUMPDEST
000036df: PUSH2 0x36eb
000036e2: PUSH1 0x20
000036e4: DUP4
000036e5: ADD
000036e6: DUP5
000036e7: PUSH2 0x2600
000036ea: JUMP
000036eb: JUMPDEST
000036ec: SWAP4
000036ed: SWAP3
000036ee: POP
000036ef: POP
000036f0: POP
000036f1: JUMP
000036f2: JUMPDEST
000036f3: PUSH1 0x00
000036f5: DUP2
000036f6: PUSH1 0x01
000036f8: SHR
000036f9: SWAP1
000036fa: POP
000036fb: SWAP2
000036fc: SWAP1
000036fd: POP
000036fe: JUMP
000036ff: JUMPDEST
00003700: PUSH1 0x00
00003702: DUP1
00003703: DUP3
00003704: SWAP2
00003705: POP
00003706: DUP4
00003707: SWAP1
00003708: POP
00003709: JUMPDEST
0000370a: PUSH1 0x01
0000370c: DUP6
0000370d: GT
0000370e: ISZERO
0000370f: PUSH2 0x3749
00003712: JUMPI
00003713: DUP1
00003714: DUP7
00003715: DIV
00003716: DUP2
00003717: GT
00003718: ISZERO
00003719: PUSH2 0x3725
0000371c: JUMPI
0000371d: PUSH2 0x3724
00003720: PUSH2 0x2b6d
00003723: JUMP
00003724: JUMPDEST
00003725: JUMPDEST
00003726: PUSH1 0x01
00003728: DUP6
00003729: AND
0000372a: ISZERO
0000372b: PUSH2 0x3734
0000372e: JUMPI
0000372f: DUP1
00003730: DUP3
00003731: MUL
00003732: SWAP2
00003733: POP
00003734: JUMPDEST
00003735: DUP1
00003736: DUP2
00003737: MUL
00003738: SWAP1
00003739: POP
0000373a: PUSH2 0x3742
0000373d: DUP6
0000373e: PUSH2 0x36f2
00003741: JUMP
00003742: JUMPDEST
00003743: SWAP5
00003744: POP
00003745: PUSH2 0x3709
00003748: JUMP
00003749: JUMPDEST
0000374a: SWAP5
0000374b: POP
0000374c: SWAP5
0000374d: SWAP3
0000374e: POP
0000374f: POP
00003750: POP
00003751: JUMP
00003752: JUMPDEST
00003753: PUSH1 0x00
00003755: DUP3
00003756: PUSH2 0x3762
00003759: JUMPI
0000375a: PUSH1 0x01
0000375c: SWAP1
0000375d: POP
0000375e: PUSH2 0x381e
00003761: JUMP
00003762: JUMPDEST
00003763: DUP2
00003764: PUSH2 0x3770
00003767: JUMPI
00003768: PUSH1 0x00
0000376a: SWAP1
0000376b: POP
0000376c: PUSH2 0x381e
0000376f: JUMP
00003770: JUMPDEST
00003771: DUP2
00003772: PUSH1 0x01
00003774: DUP2
00003775: EQ
00003776: PUSH2 0x3786
00003779: JUMPI
0000377a: PUSH1 0x02
0000377c: DUP2
0000377d: EQ
0000377e: PUSH2 0x3790
00003781: JUMPI
00003782: PUSH2 0x37bf
00003785: JUMP
00003786: JUMPDEST
00003787: PUSH1 0x01
00003789: SWAP2
0000378a: POP
0000378b: POP
0000378c: PUSH2 0x381e
0000378f: JUMP
00003790: JUMPDEST
00003791: PUSH1 0xff
00003793: DUP5
00003794: GT
00003795: ISZERO
00003796: PUSH2 0x37a2
00003799: JUMPI
0000379a: PUSH2 0x37a1
0000379d: PUSH2 0x2b6d
000037a0: JUMP
000037a1: JUMPDEST
000037a2: JUMPDEST
000037a3: DUP4
000037a4: PUSH1 0x02
000037a6: EXP
000037a7: SWAP2
000037a8: POP
000037a9: DUP5
000037aa: DUP3
000037ab: GT
000037ac: ISZERO
000037ad: PUSH2 0x37b9
000037b0: JUMPI
000037b1: PUSH2 0x37b8
000037b4: PUSH2 0x2b6d
000037b7: JUMP
000037b8: JUMPDEST
000037b9: JUMPDEST
000037ba: POP
000037bb: PUSH2 0x381e
000037be: JUMP
000037bf: JUMPDEST
000037c0: POP
000037c1: PUSH1 0x20
000037c3: DUP4
000037c4: LT
000037c5: PUSH2 0x0133
000037c8: DUP4
000037c9: LT
000037ca: AND
000037cb: PUSH1 0x4e
000037cd: DUP5
000037ce: LT
000037cf: PUSH1 0x0b
000037d1: DUP5
000037d2: LT
000037d3: AND
000037d4: OR
000037d5: ISZERO
000037d6: PUSH2 0x37f4
000037d9: JUMPI
000037da: DUP3
000037db: DUP3
000037dc: EXP
000037dd: SWAP1
000037de: POP
000037df: DUP4
000037e0: DUP2
000037e1: GT
000037e2: ISZERO
000037e3: PUSH2 0x37ef
000037e6: JUMPI
000037e7: PUSH2 0x37ee
000037ea: PUSH2 0x2b6d
000037ed: JUMP
000037ee: JUMPDEST
000037ef: JUMPDEST
000037f0: PUSH2 0x381e
000037f3: JUMP
000037f4: JUMPDEST
000037f5: PUSH2 0x3801
000037f8: DUP5
000037f9: DUP5
000037fa: DUP5
000037fb: PUSH1 0x01
000037fd: PUSH2 0x36ff
00003800: JUMP
00003801: JUMPDEST
00003802: SWAP3
00003803: POP
00003804: SWAP1
00003805: POP
00003806: DUP2
00003807: DUP5
00003808: DIV
00003809: DUP2
0000380a: GT
0000380b: ISZERO
0000380c: PUSH2 0x3818
0000380f: JUMPI
00003810: PUSH2 0x3817
00003813: PUSH2 0x2b6d
00003816: JUMP
00003817: JUMPDEST
00003818: JUMPDEST
00003819: DUP2
0000381a: DUP2
0000381b: MUL
0000381c: SWAP1
0000381d: POP
0000381e: JUMPDEST
0000381f: SWAP4
00003820: SWAP3
00003821: POP
00003822: POP
00003823: POP
00003824: JUMP
00003825: JUMPDEST
00003826: PUSH1 0x00
00003828: PUSH2 0x3830
0000382b: DUP3
0000382c: PUSH2 0x25f6
0000382f: JUMP
00003830: JUMPDEST
00003831: SWAP2
00003832: POP
00003833: PUSH2 0x383b
00003836: DUP4
00003837: PUSH2 0x25f6
0000383a: JUMP
0000383b: JUMPDEST
0000383c: SWAP3
0000383d: POP
0000383e: PUSH2 0x3868
00003841: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003862: DUP5
00003863: DUP5
00003864: PUSH2 0x3752
00003867: JUMP
00003868: JUMPDEST
00003869: SWAP1
0000386a: POP
0000386b: SWAP3
0000386c: SWAP2
0000386d: POP
0000386e: POP
0000386f: JUMP
00003870: JUMPDEST
00003871: PUSH1 0x00
00003873: PUSH2 0x387b
00003876: DUP3
00003877: PUSH2 0x25f6
0000387a: JUMP
0000387b: JUMPDEST
0000387c: SWAP2
0000387d: POP
0000387e: PUSH2 0x3886
00003881: DUP4
00003882: PUSH2 0x25f6
00003885: JUMP
00003886: JUMPDEST
00003887: SWAP3
00003888: POP
00003889: DUP3
0000388a: PUSH2 0x3896
0000388d: JUMPI
0000388e: PUSH2 0x3895
00003891: PUSH2 0x34d4
00003894: JUMP
00003895: JUMPDEST
00003896: JUMPDEST
00003897: DUP3
00003898: DUP3
00003899: MOD
0000389a: SWAP1
0000389b: POP
0000389c: SWAP3
0000389d: SWAP2
0000389e: POP
0000389f: POP
000038a0: JUMP
000038a1: JUMPDEST
000038a2: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
000038c3: PUSH1 0x00
000038c5: DUP3
000038c6: ADD
000038c7: MSTORE
000038c8: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000
000038e9: PUSH1 0x20
000038eb: DUP3
000038ec: ADD
000038ed: MSTORE
000038ee: POP
000038ef: JUMP
000038f0: JUMPDEST
000038f1: PUSH1 0x00
000038f3: PUSH2 0x38fd
000038f6: PUSH1 0x26
000038f8: DUP4
000038f9: PUSH2 0x2a18
000038fc: JUMP
000038fd: JUMPDEST
000038fe: SWAP2
000038ff: POP
00003900: PUSH2 0x3908
00003903: DUP3
00003904: PUSH2 0x38a1
00003907: JUMP
00003908: JUMPDEST
00003909: PUSH1 0x40
0000390b: DUP3
0000390c: ADD
0000390d: SWAP1
0000390e: POP
0000390f: SWAP2
00003910: SWAP1
00003911: POP
00003912: JUMP
00003913: JUMPDEST
00003914: PUSH1 0x00
00003916: PUSH1 0x20
00003918: DUP3
00003919: ADD
0000391a: SWAP1
0000391b: POP
0000391c: DUP2
0000391d: DUP2
0000391e: SUB
0000391f: PUSH1 0x00
00003921: DUP4
00003922: ADD
00003923: MSTORE
00003924: PUSH2 0x392c
00003927: DUP2
00003928: PUSH2 0x38f0
0000392b: JUMP
0000392c: JUMPDEST
0000392d: SWAP1
0000392e: POP
0000392f: SWAP2
00003930: SWAP1
00003931: POP
00003932: JUMP
00003933: JUMPDEST
00003934: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00003955: PUSH1 0x00
00003957: DUP3
00003958: ADD
00003959: MSTORE
0000395a: POP
0000395b: JUMP
0000395c: JUMPDEST
0000395d: PUSH1 0x00
0000395f: PUSH2 0x3969
00003962: PUSH1 0x1d
00003964: DUP4
00003965: PUSH2 0x2a18
00003968: JUMP
00003969: JUMPDEST
0000396a: SWAP2
0000396b: POP
0000396c: PUSH2 0x3974
0000396f: DUP3
00003970: PUSH2 0x3933
00003973: JUMP
00003974: JUMPDEST
00003975: PUSH1 0x20
00003977: DUP3
00003978: ADD
00003979: SWAP1
0000397a: POP
0000397b: SWAP2
0000397c: SWAP1
0000397d: POP
0000397e: JUMP
0000397f: JUMPDEST
00003980: PUSH1 0x00
00003982: PUSH1 0x20
00003984: DUP3
00003985: ADD
00003986: SWAP1
00003987: POP
00003988: DUP2
00003989: DUP2
0000398a: SUB
0000398b: PUSH1 0x00
0000398d: DUP4
0000398e: ADD
0000398f: MSTORE
00003990: PUSH2 0x3998
00003993: DUP2
00003994: PUSH2 0x395c
00003997: JUMP
00003998: JUMPDEST
00003999: SWAP1
0000399a: POP
0000399b: SWAP2
0000399c: SWAP1
0000399d: POP
0000399e: JUMP
0000399f: JUMPDEST
000039a0: PUSH1 0x00
000039a2: DUP2
000039a3: MLOAD
000039a4: SWAP1
000039a5: POP
000039a6: SWAP2
000039a7: SWAP1
000039a8: POP
000039a9: JUMP
000039aa: JUMPDEST
000039ab: PUSH1 0x00
000039ad: JUMPDEST
000039ae: DUP4
000039af: DUP2
000039b0: LT
000039b1: ISZERO
000039b2: PUSH2 0x39c8
000039b5: JUMPI
000039b6: DUP1
000039b7: DUP3
000039b8: ADD
000039b9: MLOAD
000039ba: DUP2
000039bb: DUP5
000039bc: ADD
000039bd: MSTORE
000039be: PUSH1 0x20
000039c0: DUP2
000039c1: ADD
000039c2: SWAP1
000039c3: POP
000039c4: PUSH2 0x39ad
000039c7: JUMP
000039c8: JUMPDEST
000039c9: DUP4
000039ca: DUP2
000039cb: GT
000039cc: ISZERO
000039cd: PUSH2 0x39d7
000039d0: JUMPI
000039d1: PUSH1 0x00
000039d3: DUP5
000039d4: DUP5
000039d5: ADD
000039d6: MSTORE
000039d7: JUMPDEST
000039d8: POP
000039d9: POP
000039da: POP
000039db: POP
000039dc: JUMP
000039dd: JUMPDEST
000039de: PUSH1 0x00
000039e0: PUSH2 0x39e8
000039e3: DUP3
000039e4: PUSH2 0x399f
000039e7: JUMP
000039e8: JUMPDEST
000039e9: PUSH2 0x39f2
000039ec: DUP2
000039ed: DUP6
000039ee: PUSH2 0x32f0
000039f1: JUMP
000039f2: JUMPDEST
000039f3: SWAP4
000039f4: POP
000039f5: PUSH2 0x3a02
000039f8: DUP2
000039f9: DUP6
000039fa: PUSH1 0x20
000039fc: DUP7
000039fd: ADD
000039fe: PUSH2 0x39aa
00003a01: JUMP
00003a02: JUMPDEST
00003a03: DUP1
00003a04: DUP5
00003a05: ADD
00003a06: SWAP2
00003a07: POP
00003a08: POP
00003a09: SWAP3
00003a0a: SWAP2
00003a0b: POP
00003a0c: POP
00003a0d: JUMP
00003a0e: JUMPDEST
00003a0f: PUSH1 0x00
00003a11: PUSH2 0x3a1a
00003a14: DUP3
00003a15: DUP5
00003a16: PUSH2 0x39dd
00003a19: JUMP
00003a1a: JUMPDEST
00003a1b: SWAP2
00003a1c: POP
00003a1d: DUP2
00003a1e: SWAP1
00003a1f: POP
00003a20: SWAP3
00003a21: SWAP2
00003a22: POP
00003a23: POP
00003a24: JUMP
00003a25: JUMPDEST
00003a26: PUSH1 0x00
00003a28: DUP2
00003a29: MLOAD
00003a2a: SWAP1
00003a2b: POP
00003a2c: SWAP2
00003a2d: SWAP1
00003a2e: POP
00003a2f: JUMP
00003a30: JUMPDEST
00003a31: PUSH1 0x00
00003a33: PUSH2 0x3a3b
00003a36: DUP3
00003a37: PUSH2 0x3a25
00003a3a: JUMP
00003a3b: JUMPDEST
00003a3c: PUSH2 0x3a45
00003a3f: DUP2
00003a40: DUP6
00003a41: PUSH2 0x2a18
00003a44: JUMP
00003a45: JUMPDEST
00003a46: SWAP4
00003a47: POP
00003a48: PUSH2 0x3a55
00003a4b: DUP2
00003a4c: DUP6
00003a4d: PUSH1 0x20
00003a4f: DUP7
00003a50: ADD
00003a51: PUSH2 0x39aa
00003a54: JUMP
00003a55: JUMPDEST
00003a56: PUSH2 0x3a5e
00003a59: DUP2
00003a5a: PUSH2 0x2df2
00003a5d: JUMP
00003a5e: JUMPDEST
00003a5f: DUP5
00003a60: ADD
00003a61: SWAP2
00003a62: POP
00003a63: POP
00003a64: SWAP3
00003a65: SWAP2
00003a66: POP
00003a67: POP
00003a68: JUMP
00003a69: JUMPDEST
00003a6a: PUSH1 0x00
00003a6c: PUSH1 0x20
00003a6e: DUP3
00003a6f: ADD
00003a70: SWAP1
00003a71: POP
00003a72: DUP2
00003a73: DUP2
00003a74: SUB
00003a75: PUSH1 0x00
00003a77: DUP4
00003a78: ADD
00003a79: MSTORE
00003a7a: PUSH2 0x3a83
00003a7d: DUP2
00003a7e: DUP5
00003a7f: PUSH2 0x3a30
00003a82: JUMP
00003a83: JUMPDEST
00003a84: SWAP1
00003a85: POP
00003a86: SWAP3
00003a87: SWAP2
00003a88: POP
00003a89: POP
00003a8a: JUMP
00003a8b: INVALID
00003a8c: LOG2
00003a8d: PUSH5 0x6970667358
00003a93: UNKNOWN(0x22)
00003a94: SLT
00003a95: KECCAK256
00003a96: DUP4
00003a97: LOG0
00003a98: DUP3
00003a99: AND
00003a9a: UNKNOWN(0x2F)
00003a9b: DUP8
00003a9c: MOD
00003a9d: UNKNOWN(0xB5)
00003a9e: CALLDATACOPY
00003a9f: MULMOD
00003aa0: LT
00003aa1: UNKNOWN(0x1F)
00003aa2: PUSH16 0xfc2ac0bd4614a21228577c24964f29c7
00003ab3: DUP3
00003ab4: SWAP15
00003ab5: PC
00003ab6: PUSH5 0x736f6c6343
00003abc: STOP
00003abd: ADDMOD
00003abe: UNKNOWN(0x0E)
00003abf: STOP
00003ac0: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xc1461d57",
            "selector": "0xc1461d57",
            "calldata_variants": [
                "0xc1461d57",
                "0xc1461d570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcf0ef516",
            "selector": "0xcf0ef516",
            "calldata_variants": [
                "0xcf0ef516",
                "0xcf0ef5160000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd147adb9",
            "selector": "0xd147adb9",
            "calldata_variants": [
                "0xd147adb9",
                "0xd147adb90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfe4b84df",
            "selector": "0xfe4b84df",
            "calldata_variants": [
                "0xfe4b84df",
                "0xfe4b84df0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa3f1233e",
            "selector": "0xa3f1233e",
            "calldata_variants": [
                "0xa3f1233e",
                "0xa3f1233e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb0da8d0b",
            "selector": "0xb0da8d0b",
            "calldata_variants": [
                "0xb0da8d0b",
                "0xb0da8d0b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb47064c8",
            "selector": "0xb47064c8",
            "calldata_variants": [
                "0xb47064c8",
                "0xb47064c80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbf6b874e",
            "selector": "0xbf6b874e",
            "calldata_variants": [
                "0xbf6b874e",
                "0xbf6b874e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 1792,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2360,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3233,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xd0c0e56071ff5c191411de73656ed0fb811f625c078931acd32957ffe8224067
call_targets: 0x28def88a5225fd50cdd081306be18fa7368e59f9
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd0c0e56071ff5c191411de73656ed0fb811f625c078931acd32957ffe8224067",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x28def88a5225fd50cdd081306be18fa7368e59f9"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xc1461d57",
            "selector": "0xc1461d57",
            "calldata_variants": [
                "0xc1461d57",
                "0xc1461d570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcf0ef516",
            "selector": "0xcf0ef516",
            "calldata_variants": [
                "0xcf0ef516",
                "0xcf0ef5160000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd147adb9",
            "selector": "0xd147adb9",
            "calldata_variants": [
                "0xd147adb9",
                "0xd147adb90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfe4b84df",
            "selector": "0xfe4b84df",
            "calldata_variants": [
                "0xfe4b84df",
                "0xfe4b84df0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa3f1233e",
            "selector": "0xa3f1233e",
            "calldata_variants": [
                "0xa3f1233e",
                "0xa3f1233e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb0da8d0b",
            "selector": "0xb0da8d0b",
            "calldata_variants": [
                "0xb0da8d0b",
                "0xb0da8d0b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb47064c8",
            "selector": "0xb47064c8",
            "calldata_variants": [
                "0xb47064c8",
                "0xb47064c80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbf6b874e",
            "selector": "0xbf6b874e",
            "calldata_variants": [
                "0xbf6b874e",
                "0xbf6b874e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3007,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3164,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6733,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 4,
    "guards_detected": [
        {
            "pc": 1792,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2360,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3233,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 4
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xd0c0e56071ff5c191411de73656ed0fb811f625c078931acd32957ffe8224067
call_targets: 0x28def88a5225fd50cdd081306be18fa7368e59f9
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd0c0e56071ff5c191411de73656ed0fb811f625c078931acd32957ffe8224067",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x28def88a5225fd50cdd081306be18fa7368e59f9"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xc1461d57",
            "selector": "0xc1461d57",
            "calldata_variants": [
                "0xc1461d57",
                "0xc1461d570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcf0ef516",
            "selector": "0xcf0ef516",
            "calldata_variants": [
                "0xcf0ef516",
                "0xcf0ef5160000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd147adb9",
            "selector": "0xd147adb9",
            "calldata_variants": [
                "0xd147adb9",
                "0xd147adb90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfe4b84df",
            "selector": "0xfe4b84df",
            "calldata_variants": [
                "0xfe4b84df",
                "0xfe4b84df0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa3f1233e",
            "selector": "0xa3f1233e",
            "calldata_variants": [
                "0xa3f1233e",
                "0xa3f1233e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb0da8d0b",
            "selector": "0xb0da8d0b",
            "calldata_variants": [
                "0xb0da8d0b",
                "0xb0da8d0b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb47064c8",
            "selector": "0xb47064c8",
            "calldata_variants": [
                "0xb47064c8",
                "0xb47064c80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbf6b874e",
            "selector": "0xbf6b874e",
            "calldata_variants": [
                "0xbf6b874e",
                "0xbf6b874e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3007,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3164,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6733,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 4,
    "guards_detected": [
        {
            "pc": 1792,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2360,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3233,
            "type": "tx_origin_used"
        }
    ]
}
low math codex Minimum-shares invariant can lock the last withdrawal for a token 65 no
view
evidence_json
{
    "evidence": "_creditUser enforces a minimum on the first mint, and _deductUser blocks withdrawals that would drop totalShares below MIN_SHARES_IN_TREASURY.",
    "locations": [
        "contracts/taskTreasury/TaskTreasuryUpgradable.sol:273",
        "contracts/taskTreasury/TaskTreasuryUpgradable.sol:301"
    ],
    "recommendation": "Allow full withdrawals when burning the final shares (e.g., permit totalShares to reach 0 when sharesToCharge == sharesTotal), or separate protocol-owned minimum shares from user shares so user withdrawals are not blocked.",
    "exploit_scenario": "If totalShares[_token] equals MIN_SHARES_IN_TREASURY, any withdrawal that would reduce totalShares below MIN reverts. The last user(s) for that token cannot fully withdraw, leaving at least MIN_SHARES worth of funds stuck unless someone else deposits to raise totalShares. A user who makes the first deposit at the MIN threshold can also become unable to fully withdraw without another depositor."
}