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

Analysis Run

019be3d6-8451-73ae-9304-bf01aa16f7fb

complete
Chain ID
1
Address
Block Number
Created
Thu, Jan 22, 2026 3:54 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
Untrusted DELEGATECALL target reachable
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
41037 artifact.fetch complete 1 / 3 2 months ago
41038 proxy.resolve complete 1 / 3 2 months ago
41039 tool.cast_disasm complete 1 / 3 2 months ago
41040 analysis.bundle complete 1 / 3 2 months ago
41041 capability.graph complete 1 / 3 2 months ago
41042 detector.run complete 1 / 3 2 months ago
41043 validation.fork complete 1 / 3 2 months ago
41409 report.consolidate complete 1 / 6 2 months ago
41410 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
4
Solc
0.8.22 (solc-select)
View stderr
'forge clean' running (wd: /tmp/slither-xhisbld2)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-xhisbld2)
Impossible to generate IR for SablierFlow.depletionTimeOf (src/SablierFlow.sol#88-135):
 'NoneType' object has no attribute 'parameters'
Impossible to generate IR for SablierFlow.adjustRatePerSecond (src/SablierFlow.sol#231-261):
 'NoneType' object has no attribute 'parameters'
Impossible to generate IR for SablierFlow.recover (src/SablierFlow.sol#364-376):
 'NoneType' object has no attribute 'parameters'
Impossible to generate IR for SablierFlow.setNativeToken (src/SablierFlow.sol#474-490):
 'NoneType' object has no attribute 'parameters'
Impossible to generate IR for SablierFlow._update (src/SablierFlow.sol#591-608):
 'NoneType' object has no attribute 'parameters'
Impossible to generate IR for SablierFlow._verifyStreamSenderRecipient (src/SablierFlow.sol#695-703):
 'NoneType' object has no attribute 'parameters'
Impossible to generate IR for SablierFlow._adjustRatePerSecond (src/SablierFlow.sol#710-734):
 'NoneType' object has no attribute 'parameters'
Impossible to generate IR for SablierFlow._create (src/SablierFlow.sol#737-819):
 'NoneType' object has no attribute 'parameters'
Impossible to generate IR for SablierFlow._deposit (src/SablierFlow.sol#822-843):
 'NoneType' object has no attribute 'parameters'
Impossible to generate IR for SablierFlow._pause (src/SablierFlow.sol#846-862):
 'NoneType' object has no attribute 'parameters'
Impossible to generate IR for SablierFlow._refund (src/SablierFlow.sol#865-902):
 'NoneType' object has no attribute 'parameters'
Impossible to generate IR for SablierFlow._restart (src/SablierFlow.sol#905-916):
 'NoneType' object has no attribute 'parameters'
Impossible to generate IR for SablierFlow._void (src/SablierFlow.sol#919-963):
 'NoneType' object has no attribute 'parameters'
Impossible to generate IR for SablierFlow._withdraw (src/SablierFlow.sol#966-1066):
 'NoneType' object has no attribute 'parameters'

Comptrollerable.transferFeesToComptroller() (node_modules/@sablier/evm-utils/src/Comptrollerable.sol#62-74) sends eth to arbitrary user
	Dangerous calls:
	- (success,None) = address(comptroller).call{value: feeAmount}() (node_modules/@sablier/evm-utils/src/Comptrollerable.sol#66)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations

Batch.batch(bytes[]) (node_modules/@sablier/evm-utils/src/Batch.sol#13-34) has delegatecall inside a loop in a payable function: (success,result) = address(this).delegatecall(calls[i]) (node_modules/@sablier/evm-utils/src/Batch.sol#18)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#payable-functions-using-delegatecall-inside-a-loop

Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#204-275) has bitwise-xor operator ^ instead of the exponentiation operator **: 
	 - inverse = (3 * denominator) ^ 2 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#257)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation

SablierFlowState.aggregateAmount (src/abstracts/SablierFlowState.sol#20) is never initialized. It is used in:
	- SablierFlow.recover(IERC20,address) (src/SablierFlow.sol#364-376)
SablierFlowState._streams (src/abstracts/SablierFlowState.sol#32) is never initialized. It is used in:
	- SablierFlowState.getBalance(uint256) (src/abstracts/SablierFlowState.sol#84-86)
	- SablierFlowState.getRatePerSecond(uint256) (src/abstracts/SablierFlowState.sol#89-97)
	- SablierFlowState.getSender(uint256) (src/abstracts/SablierFlowState.sol#100-102)
	- SablierFlowState.getSnapshotDebtScaled(uint256) (src/abstracts/SablierFlowState.sol#105-113)
	- SablierFlowState.getSnapshotTime(uint256) (src/abstracts/SablierFlowState.sol#116-118)
	- SablierFlowState.getStream(uint256) (src/abstracts/SablierFlowState.sol#121-123)
	- SablierFlowState.getToken(uint256) (src/abstracts/SablierFlowState.sol#126-128)
	- SablierFlowState.getTokenDecimals(uint256) (src/abstracts/SablierFlowState.sol#131-139)
	- SablierFlowState.isStream(uint256) (src/abstracts/SablierFlowState.sol#142-144)
	- SablierFlowState.isTransferable(uint256) (src/abstracts/SablierFlowState.sol#147-149)
	- SablierFlowState.isVoided(uint256) (src/abstracts/SablierFlowState.sol#152-154)
	- SablierFlowState._notNull(uint256) (src/abstracts/SablierFlowState.sol#162-166)
	- SablierFlow.calculateMinFeeWei(uint256) (src/SablierFlow.sol#68-80)
	- SablierFlow.depletionTimeOf(uint256) (src/SablierFlow.sol#88-135)
	- SablierFlow.statusOf(uint256) (src/SablierFlow.sol#166-197)
	- SablierFlow._update(address,uint256,address) (src/SablierFlow.sol#591-608)
	- SablierFlow._coveredDebtOf(uint256) (src/SablierFlow.sol#615-632)
	- SablierFlow._ongoingDebtScaledOf(uint256) (src/SablierFlow.sol#642-667)
	- SablierFlow._refundableAmountOf(uint256) (src/SablierFlow.sol#670-672)
	- SablierFlow._totalDebtOf(uint256) (src/SablierFlow.sol#676-679)
	- SablierFlow._uncoveredDebtOf(uint256) (src/SablierFlow.sol#682-692)
	- SablierFlow._verifyStreamSenderRecipient(uint256,address,address) (src/SablierFlow.sol#695-703)
	- SablierFlow._adjustRatePerSecond(uint256,UD21x18) (src/SablierFlow.sol#710-734)
	- SablierFlow._pause(uint256) (src/SablierFlow.sol#846-862)
	- SablierFlow._restart(uint256,UD21x18) (src/SablierFlow.sol#905-916)
	- SablierFlow._void(uint256) (src/SablierFlow.sol#919-963)
	- SablierFlow._withdraw(uint256,address,uint128) (src/SablierFlow.sol#966-1066)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-state-variables

Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#204-275) performs a multiplication on the result of a division:
	- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#242)
	- inverse = (3 * denominator) ^ 2 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#257)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#204-275) performs a multiplication on the result of a division:
	- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#242)
	- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#261)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#204-275) performs a multiplication on the result of a division:
	- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#242)
	- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#262)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#204-275) performs a multiplication on the result of a division:
	- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#242)
	- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#263)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#204-275) performs a multiplication on the result of a division:
	- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#242)
	- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#264)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#204-275) performs a multiplication on the result of a division:
	- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#242)
	- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#265)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#204-275) performs a multiplication on the result of a division:
	- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#242)
	- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#266)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#204-275) performs a multiplication on the result of a division:
	- low = low / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#245)
	- result = low * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#272)
Math.invMod(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#315-361) performs a multiplication on the result of a division:
	- quotient = gcd / remainder (node_modules/@openzeppelin/contracts/utils/math/Math.sol#337)
	- (gcd,remainder) = (remainder,gcd - remainder * quotient) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#339-346)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply

Batch.batch(bytes[]) (node_modules/@sablier/evm-utils/src/Batch.sol#13-34) has external calls inside a loop: (success,result) = address(this).delegatecall(calls[i]) (node_modules/@sablier/evm-utils/src/Batch.sol#18)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop

Reentrancy in Comptrollerable.transferFeesToComptroller() (node_modules/@sablier/evm-utils/src/Comptrollerable.sol#62-74):
	External calls:
	- (success,None) = address(comptroller).call{value: feeAmount}() (node_modules/@sablier/evm-utils/src/Comptrollerable.sol#66)
	Event emitted after the call(s):
	- IComptrollerable.TransferFeesToComptroller(comptroller,feeAmount) (node_modules/@sablier/evm-utils/src/Comptrollerable.sol#73)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3

SablierFlow.statusOf(uint256) (src/SablierFlow.sol#166-197) uses timestamp for comparisons
	Dangerous comparisons:
	- _streams[streamId].snapshotTime > block.timestamp (src/SablierFlow.sol#168)
SablierFlow._pause(uint256) (src/SablierFlow.sol#846-862) uses timestamp for comparisons
	Dangerous comparisons:
	- _streams[streamId].snapshotTime > block.timestamp (src/SablierFlow.sol#848)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp

SafeERC20._callOptionalReturn(IERC20,bytes) (node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#173-191) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#176-186)
SafeERC20._callOptionalReturnBool(IERC20,bytes) (node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#201-211) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#205-209)
ERC721Utils.checkOnERC721Received(address,address,address,uint256,bytes) (node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol#25-49) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol#43-45)
Panic.panic(uint256) (node_modules/@openzeppelin/contracts/utils/Panic.sol#50-56) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/Panic.sol#51-55)
Strings.toString(uint256) (node_modules/@openzeppelin/contracts/utils/Strings.sol#45-63) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/Strings.sol#50-52)
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/Strings.sol#55-57)
Strings.toChecksumHexString(address) (node_modules/@openzeppelin/contracts/utils/Strings.sol#111-129) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/Strings.sol#116-118)
Strings.escapeJSON(string) (node_modules/@openzeppelin/contracts/utils/Strings.sol#446-476) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/Strings.sol#470-473)
Strings._unsafeReadBytesOffset(bytes,uint256) (node_modules/@openzeppelin/contracts/utils/Strings.sol#484-489) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/Strings.sol#486-488)
Math.add512(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#25-30) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#26-29)
Math.mul512(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#37-46) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#41-45)
Math.tryMul(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#73-84) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#76-80)
Math.tryDiv(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#89-97) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#92-95)
Math.tryMod(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102-110) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#105-108)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#204-275) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#227-234)
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#240-249)
Math.tryModExp(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#409-433) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#411-432)
Math.tryModExp(bytes,bytes,bytes) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#449-471) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#461-470)
Math.log2(uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#612-651) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#648-650)
SafeCast.toUint(bool) (node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol#1157-1161) uses assembly
	- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol#1158-1160)
Batch.batch(bytes[]) (node_modules/@sablier/evm-utils/src/Batch.sol#13-34) uses assembly
	- INLINE ASM (node_modules/@sablier/evm-utils/src/Batch.sol#22-28)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage

3 different versions of Solidity are used:
	- Version constraint ^0.8.20 is used by:
		-^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/IERC165.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/IERC20.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/IERC4906.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/IERC721.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol#3)
		-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/Context.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/Panic.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/Strings.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#4)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol#5)
		-^0.8.20 (node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol#4)
	- Version constraint >=0.8.19 is used by:
		->=0.8.19 (node_modules/@prb/math/src/Common.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/UD21x18.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/sd1x18/Casting.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/sd1x18/Constants.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/sd1x18/Errors.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/sd1x18/ValueType.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/sd21x18/Casting.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/sd21x18/Constants.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/sd21x18/Errors.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/sd21x18/ValueType.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/sd59x18/Casting.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/sd59x18/Constants.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/sd59x18/Errors.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/sd59x18/Helpers.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/sd59x18/Math.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/sd59x18/ValueType.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/ud21x18/Casting.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/ud21x18/Constants.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/ud21x18/Errors.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/ud21x18/ValueType.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/ud2x18/Casting.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/ud2x18/Constants.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/ud2x18/Errors.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/ud2x18/ValueType.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/ud60x18/Casting.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/ud60x18/Constants.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/ud60x18/Errors.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/ud60x18/Helpers.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/ud60x18/Math.sol#2)
		->=0.8.19 (node_modules/@prb/math/src/ud60x18/ValueType.sol#2)
	- Version constraint >=0.8.22 is used by:
		->=0.8.22 (node_modules/@sablier/evm-utils/src/Batch.sol#3)
		->=0.8.22 (node_modules/@sablier/evm-utils/src/Comptrollerable.sol#2)
		->=0.8.22 (node_modules/@sablier/evm-utils/src/NoDelegateCall.sol#2)
		->=0.8.22 (node_modules/@sablier/evm-utils/src/interfaces/IAdminable.sol#2)
		->=0.8.22 (node_modules/@sablier/evm-utils/src/interfaces/IBatch.sol#2)
		->=0.8.22 (node_modules/@sablier/evm-utils/src/interfaces/IComptrollerable.sol#2)
		->=0.8.22 (node_modules/@sablier/evm-utils/src/interfaces/IRoleAdminable.sol#2)
		->=0.8.22 (node_modules/@sablier/evm-utils/src/interfaces/ISablierComptroller.sol#2)
		->=0.8.22 (node_modules/@sablier/evm-utils/src/libraries/Errors.sol#2)
		->=0.8.22 (src/SablierFlow.sol#2)
		->=0.8.22 (src/abstracts/SablierFlowState.sol#2)
		->=0.8.22 (src/interfaces/IFlowNFTDescriptor.sol#2)
		->=0.8.22 (src/interfaces/ISablierFlow.sol#2)
		->=0.8.22 (src/interfaces/ISablierFlowState.sol#2)
		->=0.8.22 (src/libraries/Errors.sol#2)
		->=0.8.22 (src/libraries/Helpers.sol#2)
		->=0.8.22 (src/types/DataTypes.sol#2)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used

exp2(uint256) (node_modules/@prb/math/src/Common.sol#57-295) has a high cyclomatic complexity (73).
log10(SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#371-467) has a high cyclomatic complexity (80).
log10(UD60x18) (node_modules/@prb/math/src/ud60x18/Math.sol#270-367) has a high cyclomatic complexity (81).
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#cyclomatic-complexity

SablierFlow._adjustRatePerSecond(uint256,UD21x18) (src/SablierFlow.sol#710-734) is never used and should be removed
SablierFlow._isCallerStreamRecipientOrApproved(uint256,address) (src/SablierFlow.sol#636-638) is never used and should be removed
abs(SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#34-40) is never used and should be removed
add(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#8-10) is never used and should be removed
add(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Helpers.sol#8-10) is never used and should be removed
and(SD59x18,int256) (node_modules/@prb/math/src/sd59x18/Helpers.sol#13-15) is never used and should be removed
and(UD60x18,uint256) (node_modules/@prb/math/src/ud60x18/Helpers.sol#13-15) is never used and should be removed
and2(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#18-20) is never used and should be removed
and2(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Helpers.sol#18-20) is never used and should be removed
avg(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#51-70) is never used and should be removed
avg(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Math.sol#48-54) is never used and should be removed
ceil(SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#83-102) is never used and should be removed
ceil(UD60x18) (node_modules/@prb/math/src/ud60x18/Math.sol#67-83) is never used and should be removed
div(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#123-152) is never used and should be removed
div(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Math.sol#99-101) is never used and should be removed
eq(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#23-25) is never used and should be removed
eq(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Helpers.sol#23-25) is never used and should be removed
exp(SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#170-189) is never used and should be removed
exp(UD60x18) (node_modules/@prb/math/src/ud60x18/Math.sol#115-128) is never used and should be removed
exp2(SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#209-235) is never used and should be removed
exp2(UD60x18) (node_modules/@prb/math/src/ud60x18/Math.sol#141-154) is never used and should be removed
exp2(uint256) (node_modules/@prb/math/src/Common.sol#57-295) is never used and should be removed
floor(SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#248-267) is never used and should be removed
floor(UD60x18) (node_modules/@prb/math/src/ud60x18/Math.sol#162-170) is never used and should be removed
frac(SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#274-276) is never used and should be removed
frac(UD60x18) (node_modules/@prb/math/src/ud60x18/Math.sol#177-181) is never used and should be removed
gm(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#291-315) is never used and should be removed
gm(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Math.sol#192-210) is never used and should be removed
gt(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#28-30) is never used and should be removed
gt(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Helpers.sol#28-30) is never used and should be removed
gte(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#33-35) is never used and should be removed
gte(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Helpers.sol#33-35) is never used and should be removed
intoInt256(SD59x18) (node_modules/@prb/math/src/sd59x18/Casting.sol#19-21) is never used and should be removed
intoSD1x18(SD59x18) (node_modules/@prb/math/src/sd59x18/Casting.sol#27-36) is never used and should be removed
intoSD1x18(UD60x18) (node_modules/@prb/math/src/ud60x18/Casting.sol#21-27) is never used and should be removed
intoSD21x18(SD59x18) (node_modules/@prb/math/src/sd59x18/Casting.sol#42-51) is never used and should be removed
intoSD21x18(UD60x18) (node_modules/@prb/math/src/ud60x18/Casting.sol#32-38) is never used and should be removed
intoSD59x18(SD1x18) (node_modules/@prb/math/src/sd1x18/Casting.sol#12-14) is never used and should be removed
intoSD59x18(SD21x18) (node_modules/@prb/math/src/sd21x18/Casting.sol#12-14) is never used and should be removed
intoSD59x18(UD21x18) (node_modules/@prb/math/src/ud21x18/Casting.sol#12-14) is never used and should be removed
intoSD59x18(UD2x18) (node_modules/@prb/math/src/ud2x18/Casting.sol#12-14) is never used and should be removed
intoSD59x18(UD60x18) (node_modules/@prb/math/src/ud60x18/Casting.sol#65-71) is never used and should be removed
intoUD21x18(SD59x18) (node_modules/@prb/math/src/sd59x18/Casting.sol#72-81) is never used and should be removed
intoUD21x18(UD60x18) (node_modules/@prb/math/src/ud60x18/Casting.sol#54-60) is never used and should be removed
intoUD2x18(SD59x18) (node_modules/@prb/math/src/sd59x18/Casting.sol#57-66) is never used and should be removed
intoUD2x18(UD60x18) (node_modules/@prb/math/src/ud60x18/Casting.sol#43-49) is never used and should be removed
intoUD60x18(SD1x18) (node_modules/@prb/math/src/sd1x18/Casting.sol#19-25) is never used and should be removed
intoUD60x18(SD21x18) (node_modules/@prb/math/src/sd21x18/Casting.sol#19-25) is never used and should be removed
intoUD60x18(SD59x18) (node_modules/@prb/math/src/sd59x18/Casting.sol#86-92) is never used and should be removed
intoUD60x18(UD21x18) (node_modules/@prb/math/src/ud21x18/Casting.sol#18-20) is never used and should be removed
intoUD60x18(UD2x18) (node_modules/@prb/math/src/ud2x18/Casting.sol#18-20) is never used and should be removed
intoUint128(SD1x18) (node_modules/@prb/math/src/sd1x18/Casting.sol#30-36) is never used and should be removed
intoUint128(SD21x18) (node_modules/@prb/math/src/sd21x18/Casting.sol#30-36) is never used and should be removed
intoUint128(SD59x18) (node_modules/@prb/math/src/sd59x18/Casting.sol#109-118) is never used and should be removed
intoUint128(UD21x18) (node_modules/@prb/math/src/ud21x18/Casting.sol#24-26) is never used and should be removed
intoUint128(UD2x18) (node_modules/@prb/math/src/ud2x18/Casting.sol#24-26) is never used and should be removed
intoUint128(UD60x18) (node_modules/@prb/math/src/ud60x18/Casting.sol#82-88) is never used and should be removed
intoUint256(SD1x18) (node_modules/@prb/math/src/sd1x18/Casting.sol#41-47) is never used and should be removed
intoUint256(SD21x18) (node_modules/@prb/math/src/sd21x18/Casting.sol#41-47) is never used and should be removed
intoUint256(SD59x18) (node_modules/@prb/math/src/sd59x18/Casting.sol#97-103) is never used and should be removed
intoUint256(UD21x18) (node_modules/@prb/math/src/ud21x18/Casting.sol#30-32) is never used and should be removed
intoUint256(UD2x18) (node_modules/@prb/math/src/ud2x18/Casting.sol#30-32) is never used and should be removed
intoUint256(UD60x18) (node_modules/@prb/math/src/ud60x18/Casting.sol#75-77) is never used and should be removed
intoUint40(SD1x18) (node_modules/@prb/math/src/sd1x18/Casting.sol#53-62) is never used and should be removed
intoUint40(SD21x18) (node_modules/@prb/math/src/sd21x18/Casting.sol#53-62) is never used and should be removed
intoUint40(SD59x18) (node_modules/@prb/math/src/sd59x18/Casting.sol#124-133) is never used and should be removed
intoUint40(UD21x18) (node_modules/@prb/math/src/ud21x18/Casting.sol#37-43) is never used and should be removed
intoUint40(UD2x18) (node_modules/@prb/math/src/ud2x18/Casting.sol#37-43) is never used and should be removed
intoUint40(UD60x18) (node_modules/@prb/math/src/ud60x18/Casting.sol#93-99) is never used and should be removed
inv(SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#328-330) is never used and should be removed
inv(UD60x18) (node_modules/@prb/math/src/ud60x18/Math.sol#223-227) is never used and should be removed
isZero(SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#38-40) is never used and should be removed
isZero(UD60x18) (node_modules/@prb/math/src/ud60x18/Helpers.sol#38-41) is never used and should be removed
ln(SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#348-352) is never used and should be removed
ln(UD60x18) (node_modules/@prb/math/src/ud60x18/Math.sol#245-251) is never used and should be removed
log10(SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#371-467) is never used and should be removed
log10(UD60x18) (node_modules/@prb/math/src/ud60x18/Math.sol#270-367) is never used and should be removed
log2(SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#492-541) is never used and should be removed
log2(UD60x18) (node_modules/@prb/math/src/ud60x18/Math.sol#392-432) is never used and should be removed
lshift(SD59x18,uint256) (node_modules/@prb/math/src/sd59x18/Helpers.sol#43-45) is never used and should be removed
lshift(UD60x18,uint256) (node_modules/@prb/math/src/ud60x18/Helpers.sol#44-46) is never used and should be removed
lt(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#48-50) is never used and should be removed
lt(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Helpers.sol#49-51) is never used and should be removed
lte(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#53-55) is never used and should be removed
lte(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Helpers.sol#54-56) is never used and should be removed
mod(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#58-60) is never used and should be removed
mod(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Helpers.sol#59-61) is never used and should be removed
msb(uint256) (node_modules/@prb/math/src/Common.sol#323-372) is never used and should be removed
mul(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#557-586) is never used and should be removed
mul(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Math.sol#449-451) is never used and should be removed
mulDiv(uint256,uint256,uint256) (node_modules/@prb/math/src/Common.sol#390-472) is never used and should be removed
mulDiv18(uint256,uint256) (node_modules/@prb/math/src/Common.sol#498-529) is never used and should be removed
mulDivSigned(int256,int256,int256) (node_modules/@prb/math/src/Common.sol#548-585) is never used and should be removed
neq(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#63-65) is never used and should be removed
neq(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Helpers.sol#64-66) is never used and should be removed
not(SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#68-70) is never used and should be removed
not(UD60x18) (node_modules/@prb/math/src/ud60x18/Helpers.sol#69-71) is never used and should be removed
or(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#73-75) is never used and should be removed
or(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Helpers.sol#74-76) is never used and should be removed
pow(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#605-629) is never used and should be removed
pow(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Math.sol#481-513) is never used and should be removed
powu(SD59x18,uint256) (node_modules/@prb/math/src/sd59x18/Math.sol#648-679) is never used and should be removed
powu(UD60x18,uint256) (node_modules/@prb/math/src/ud60x18/Math.sol#531-546) is never used and should be removed
rshift(SD59x18,uint256) (node_modules/@prb/math/src/sd59x18/Helpers.sol#78-80) is never used and should be removed
rshift(UD60x18,uint256) (node_modules/@prb/math/src/ud60x18/Helpers.sol#79-81) is never used and should be removed
sd(int256) (node_modules/@prb/math/src/sd59x18/Casting.sol#136-138) is never used and should be removed
sd1x18(int64) (node_modules/@prb/math/src/sd1x18/Casting.sol#65-67) is never used and should be removed
sd21x18(int128) (node_modules/@prb/math/src/sd21x18/Casting.sol#65-67) is never used and should be removed
sd59x18(int256) (node_modules/@prb/math/src/sd59x18/Casting.sol#141-143) is never used and should be removed
sqrt(SD59x18) (node_modules/@prb/math/src/sd59x18/Math.sol#696-711) is never used and should be removed
sqrt(UD60x18) (node_modules/@prb/math/src/ud60x18/Math.sol#561-572) is never used and should be removed
sqrt(uint256) (node_modules/@prb/math/src/Common.sol#598-675) is never used and should be removed
sub(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#83-85) is never used and should be removed
sub(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Helpers.sol#84-86) is never used and should be removed
ud(uint256) (node_modules/@prb/math/src/ud60x18/Casting.sol#102-104) is never used and should be removed
ud21x18(uint128) (node_modules/@prb/math/src/ud21x18/Casting.sol#46-48) is never used and should be removed
ud2x18(uint64) (node_modules/@prb/math/src/ud2x18/Casting.sol#46-48) is never used and should be removed
ud60x18(uint256) (node_modules/@prb/math/src/ud60x18/Casting.sol#107-109) is never used and should be removed
unary(SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#88-90) is never used and should be removed
uncheckedAdd(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#93-97) is never used and should be removed
uncheckedAdd(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Helpers.sol#89-93) is never used and should be removed
uncheckedSub(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#100-104) is never used and should be removed
uncheckedSub(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Helpers.sol#96-100) is never used and should be removed
uncheckedUnary(SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#107-111) is never used and should be removed
unwrap(SD1x18) (node_modules/@prb/math/src/sd1x18/Casting.sol#70-72) is never used and should be removed
unwrap(SD21x18) (node_modules/@prb/math/src/sd21x18/Casting.sol#70-72) is never used and should be removed
unwrap(SD59x18) (node_modules/@prb/math/src/sd59x18/Casting.sol#146-148) is never used and should be removed
unwrap(UD2x18) (node_modules/@prb/math/src/ud2x18/Casting.sol#51-53) is never used and should be removed
unwrap(UD60x18) (node_modules/@prb/math/src/ud60x18/Casting.sol#112-114) is never used and should be removed
wrap(int128) (node_modules/@prb/math/src/sd21x18/Casting.sol#75-77) is never used and should be removed
wrap(int256) (node_modules/@prb/math/src/sd59x18/Casting.sol#151-153) is never used and should be removed
wrap(int64) (node_modules/@prb/math/src/sd1x18/Casting.sol#75-77) is never used and should be removed
wrap(uint128) (node_modules/@prb/math/src/ud21x18/Casting.sol#56-58) is never used and should be removed
wrap(uint256) (node_modules/@prb/math/src/ud60x18/Casting.sol#117-119) is never used and should be removed
wrap(uint64) (node_modules/@prb/math/src/ud2x18/Casting.sol#56-58) is never used and should be removed
xor(SD59x18,SD59x18) (node_modules/@prb/math/src/sd59x18/Helpers.sol#114-116) is never used and should be removed
xor(UD60x18,UD60x18) (node_modules/@prb/math/src/ud60x18/Helpers.sol#103-105) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code

Version constraint ^0.8.20 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- VerbatimInvalidDeduplication
	- FullInlinerNonExpressionSplitArgumentEvaluationOrder
	- MissingSideEffectsOnSelectorAccess.
It is used by:
	- ^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/IERC165.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/IERC20.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/IERC4906.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/IERC721.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol#3)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/Context.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/Panic.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/Strings.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#4)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol#5)
	- ^0.8.20 (node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol#4)
Version constraint >=0.8.19 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- VerbatimInvalidDeduplication
	- FullInlinerNonExpressionSplitArgumentEvaluationOrder
	- MissingSideEffectsOnSelectorAccess.
It is used by:
	- >=0.8.19 (node_modules/@prb/math/src/Common.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/UD21x18.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/sd1x18/Casting.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/sd1x18/Constants.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/sd1x18/Errors.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/sd1x18/ValueType.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/sd21x18/Casting.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/sd21x18/Constants.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/sd21x18/Errors.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/sd21x18/ValueType.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/sd59x18/Casting.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/sd59x18/Constants.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/sd59x18/Errors.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/sd59x18/Helpers.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/sd59x18/Math.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/sd59x18/ValueType.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/ud21x18/Casting.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/ud21x18/Constants.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/ud21x18/Errors.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/ud21x18/ValueType.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/ud2x18/Casting.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/ud2x18/Constants.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/ud2x18/Errors.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/ud2x18/ValueType.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/ud60x18/Casting.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/ud60x18/Constants.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/ud60x18/Errors.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/ud60x18/Helpers.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/ud60x18/Math.sol#2)
	- >=0.8.19 (node_modules/@prb/math/src/ud60x18/ValueType.sol#2)
Version constraint >=0.8.22 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- VerbatimInvalidDeduplication.
It is used by:
	- >=0.8.22 (node_modules/@sablier/evm-utils/src/Batch.sol#3)
	- >=0.8.22 (node_modules/@sablier/evm-utils/src/Comptrollerable.sol#2)
	- >=0.8.22 (node_modules/@sablier/evm-utils/src/NoDelegateCall.sol#2)
	- >=0.8.22 (node_modules/@sablier/evm-utils/src/interfaces/IAdminable.sol#2)
	- >=0.8.22 (node_modules/@sablier/evm-utils/src/interfaces/IBatch.sol#2)
	- >=0.8.22 (node_modules/@sablier/evm-utils/src/interfaces/IComptrollerable.sol#2)
	- >=0.8.22 (node_modules/@sablier/evm-utils/src/interfaces/IRoleAdminable.sol#2)
	- >=0.8.22 (node_modules/@sablier/evm-utils/src/interfaces/ISablierComptroller.sol#2)
	- >=0.8.22 (node_modules/@sablier/evm-utils/src/libraries/Errors.sol#2)
	- >=0.8.22 (src/SablierFlow.sol#2)
	- >=0.8.22 (src/abstracts/SablierFlowState.sol#2)
	- >=0.8.22 (src/interfaces/IFlowNFTDescriptor.sol#2)
	- >=0.8.22 (src/interfaces/ISablierFlow.sol#2)
	- >=0.8.22 (src/interfaces/ISablierFlowState.sol#2)
	- >=0.8.22 (src/libraries/Errors.sol#2)
	- >=0.8.22 (src/libraries/Helpers.sol#2)
	- >=0.8.22 (src/types/DataTypes.sol#2)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity

Low level call in Batch.batch(bytes[]) (node_modules/@sablier/evm-utils/src/Batch.sol#13-34):
	- (success,result) = address(this).delegatecall(calls[i]) (node_modules/@sablier/evm-utils/src/Batch.sol#18)
Low level call in Comptrollerable.transferFeesToComptroller() (node_modules/@sablier/evm-utils/src/Comptrollerable.sol#62-74):
	- (success,None) = address(comptroller).call{value: feeAmount}() (node_modules/@sablier/evm-utils/src/Comptrollerable.sol#66)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls

Variable NoDelegateCall.ORIGINAL (node_modules/@sablier/evm-utils/src/NoDelegateCall.sol#14) is not in mixedCase
Function IRoleAdminable.FEE_COLLECTOR_ROLE() (node_modules/@sablier/evm-utils/src/interfaces/IRoleAdminable.sol#31) is not in mixedCase
Function IRoleAdminable.FEE_MANAGEMENT_ROLE() (node_modules/@sablier/evm-utils/src/interfaces/IRoleAdminable.sol#34) is not in mixedCase
Function ISablierComptroller.MAX_FEE_USD() (node_modules/@sablier/evm-utils/src/interfaces/ISablierComptroller.sol#73) is not in mixedCase
Function ISablierComptroller.MINIMAL_INTERFACE_ID() (node_modules/@sablier/evm-utils/src/interfaces/ISablierComptroller.sol#81) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions

Redundant expression "success (node_modules/@sablier/evm-utils/src/Comptrollerable.sol#70)" inComptrollerable (node_modules/@sablier/evm-utils/src/Comptrollerable.sol#10-114)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements

Math.log2(uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#612-651) uses literals with too many digits:
	- r = r | byte(uint256,uint256)(x >> r,0x0000010102020202030303030303030300000000000000000000000000000000) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#649)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits

SablierFlow (src/SablierFlow.sol#27-1067) does not implement functions:
	- ISablierFlowState.aggregateAmount(IERC20) (src/interfaces/ISablierFlowState.sol#22)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unimplemented-functions

SablierFlowState.nativeToken (src/abstracts/SablierFlowState.sol#23) should be constant 
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant

SablierFlowState.nextStreamId (src/abstracts/SablierFlowState.sol#26) should be immutable 
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable
. analyzed (39 contracts with 100 detectors), 193 result(s) found
Metadata
{
    "solc": {
        "status": "ok",
        "use_rc": 0,
        "version": "0.8.22",
        "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.22",
        "install_stderr": null,
        "install_stdout": "Version '0.8.22' is already installed, skipping..."
    },
    "solc_args": "--base-path /tmp/slither-xhisbld2 --include-path /tmp/slither-xhisbld2/lib --include-path /tmp/slither-xhisbld2/lib/openzeppelin-contracts --include-path /tmp/slither-xhisbld2/node_modules --allow-paths /tmp/slither-xhisbld2,/tmp/slither-xhisbld2/lib,/tmp/slither-xhisbld2/lib/openzeppelin-contracts,/tmp/slither-xhisbld2/node_modules,/tmp/slither-xhisbld2/src",
    "remappings": [
        "@arbitrum/=node_modules/@arbitrum/",
        "@chainlink/=node_modules/@chainlink/",
        "@eth-optimism/=node_modules/@eth-optimism/",
        "@offchainlabs/=node_modules/@offchainlabs/",
        "@openzeppelin/=node_modules/@openzeppelin/",
        "@prb/=node_modules/@prb/",
        "@sablier/=node_modules/@sablier/",
        "@scroll-tech/=node_modules/@scroll-tech/",
        "@zksync/=node_modules/@zksync/",
        "forge-std/=node_modules/forge-std/",
        "solady/=node_modules/solady/",
        "src/=src/",
        "openzeppelin-contracts/=lib/openzeppelin-contracts/",
        "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/"
    ],
    "source_files": [
        "src/SablierFlow.sol",
        "node_modules/@openzeppelin/contracts/interfaces/IERC4906.sol",
        "node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol",
        "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol",
        "node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
        "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol",
        "node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol",
        "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol",
        "node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol",
        "node_modules/@prb/math/src/UD21x18.sol",
        "node_modules/@sablier/evm-utils/src/Batch.sol",
        "node_modules/@sablier/evm-utils/src/Comptrollerable.sol",
        "node_modules/@sablier/evm-utils/src/interfaces/ISablierComptroller.sol",
        "node_modules/@sablier/evm-utils/src/NoDelegateCall.sol",
        "src/abstracts/SablierFlowState.sol",
        "src/interfaces/IFlowNFTDescriptor.sol",
        "src/interfaces/ISablierFlow.sol",
        "src/libraries/Errors.sol",
        "src/libraries/Helpers.sol",
        "src/types/DataTypes.sol",
        "node_modules/@openzeppelin/contracts/interfaces/IERC165.sol",
        "node_modules/@openzeppelin/contracts/interfaces/IERC721.sol",
        "node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol",
        "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol",
        "node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol",
        "node_modules/@openzeppelin/contracts/utils/Context.sol",
        "node_modules/@openzeppelin/contracts/utils/Strings.sol",
        "node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol",
        "node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol",
        "node_modules/@prb/math/src/ud21x18/Casting.sol",
        "node_modules/@prb/math/src/ud21x18/Constants.sol",
        "node_modules/@prb/math/src/ud21x18/Errors.sol",
        "node_modules/@prb/math/src/ud21x18/ValueType.sol",
        "node_modules/@sablier/evm-utils/src/interfaces/IBatch.sol",
        "node_modules/@sablier/evm-utils/src/interfaces/IComptrollerable.sol",
        "node_modules/@sablier/evm-utils/src/libraries/Errors.sol",
        "node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol",
        "node_modules/@sablier/evm-utils/src/interfaces/IRoleAdminable.sol",
        "src/interfaces/ISablierFlowState.sol",
        "node_modules/@openzeppelin/contracts/interfaces/IERC20.sol",
        "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol",
        "node_modules/@openzeppelin/contracts/utils/math/Math.sol",
        "node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol",
        "node_modules/@prb/math/src/Common.sol",
        "node_modules/@prb/math/src/sd59x18/ValueType.sol",
        "node_modules/@prb/math/src/ud60x18/ValueType.sol",
        "node_modules/@sablier/evm-utils/src/interfaces/IAdminable.sol",
        "node_modules/@openzeppelin/contracts/utils/Panic.sol",
        "node_modules/@prb/math/src/sd59x18/Casting.sol",
        "node_modules/@prb/math/src/sd59x18/Helpers.sol",
        "node_modules/@prb/math/src/sd59x18/Math.sol",
        "node_modules/@prb/math/src/ud60x18/Casting.sol",
        "node_modules/@prb/math/src/ud60x18/Helpers.sol",
        "node_modules/@prb/math/src/ud60x18/Math.sol",
        "node_modules/@prb/math/src/sd59x18/Errors.sol",
        "node_modules/@prb/math/src/sd1x18/Constants.sol",
        "node_modules/@prb/math/src/sd1x18/ValueType.sol",
        "node_modules/@prb/math/src/sd21x18/Constants.sol",
        "node_modules/@prb/math/src/sd21x18/ValueType.sol",
        "node_modules/@prb/math/src/ud2x18/Constants.sol",
        "node_modules/@prb/math/src/ud2x18/ValueType.sol",
        "node_modules/@prb/math/src/sd59x18/Constants.sol",
        "node_modules/@prb/math/src/ud60x18/Errors.sol",
        "node_modules/@prb/math/src/ud60x18/Constants.sol",
        "node_modules/@prb/math/src/sd1x18/Casting.sol",
        "node_modules/@prb/math/src/sd21x18/Casting.sol",
        "node_modules/@prb/math/src/ud2x18/Casting.sol",
        "node_modules/@prb/math/src/sd1x18/Errors.sol",
        "node_modules/@prb/math/src/sd21x18/Errors.sol",
        "node_modules/@prb/math/src/ud2x18/Errors.sol"
    ],
    "contract_count": 0,
    "contract_names": [],
    "detector_count": 193,
    "workspace_hash": "5b9d19514600267865380366f4f01f7af3ee5d4db4d492e3e4c8aa54857c9a53",
    "duration_seconds": 4.617359161376953,
    "solc_version_requested": "0.8.29"
}

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
0
No findings?
yes
Summary
No exploitable vulnerabilities found in the first‑party SablierFlow contracts within scope; assessment assumes standard ERC‑20 behavior and a trusted comptroller implementation.
View stdout
{"no_findings":true,"summary":"No exploitable vulnerabilities found in the first‑party SablierFlow contracts within scope; assessment assumes standard ERC‑20 behavior and a trusted comptroller implementation.","findings":[]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-dyk2dcm3
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be477-80dc-7d61-8686-27399e53ac47
--------
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

thinking
**Reading bundle file**
exec
/bin/bash -lc ls in /tmp/codex-dyk2dcm3 succeeded in 6ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
node_modules
src
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-dyk2dcm3 succeeded in 16ms:
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: src/SablierFlow.sol
================================================================================
// SPDX-License-Identifier: BUSL-1.1
pragma solidity >=0.8.22;

import { IERC4906 } from "@openzeppelin/contracts/interfaces/IERC4906.sol";
import { IERC20Metadata } from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import { ERC721 } from "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import { IERC721Metadata } from "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol";
import { IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
import { SafeCast } from "@openzeppelin/contracts/utils/math/SafeCast.sol";
import { ud21x18, UD21x18 } from "@prb/math/src/UD21x18.sol";
import { Batch } from "@sablier/evm-utils/src/Batch.sol";
import { Comptrollerable } from "@sablier/evm-utils/src/Comptrollerable.sol";


thinking
**Noticing audit bundle output is truncated**

The audit bundle output cuts off after 2097 lines, stopping midway through a large file with an internal truncation note indicating token limits; this means the full content isn't loaded yet and requires accessing the complete file another way.
thinking
**Noting suspicious truncation marker in file**

The unexpected truncation string appears inside the file content, likely inserted by the tool or dataset rather than original code, so the full audit bundle file still needs to be fully read or parsed to confirm completeness before moving on to workspace searches.
exec
/bin/bash -lc 'rg --files src' in /tmp/codex-dyk2dcm3 succeeded in 9ms:
src/interfaces/ISablierFlow.sol
src/interfaces/IFlowNFTDescriptor.sol
src/interfaces/ISablierFlowState.sol
src/SablierFlow.sol
src/abstracts/SablierFlowState.sol
src/libraries/Helpers.sol
src/libraries/Errors.sol
src/types/DataTypes.sol

thinking
**Inspecting core flow-related interfaces**

I'm opening the files defining SablierFlowState, IFlowNFTDescriptor, and ISablierFlow to understand their structure and interactions, focusing on these interfaces will clarify the flow logic and NFT descriptor relationships.
exec
/bin/bash -lc "sed -n '1,220p' src/abstracts/SablierFlowState.sol" in /tmp/codex-dyk2dcm3 succeeded in 12ms:
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.22;

import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import { UD21x18 } from "@prb/math/src/UD21x18.sol";

import { IFlowNFTDescriptor } from "./../interfaces/IFlowNFTDescriptor.sol";
import { ISablierFlowState } from "./../interfaces/ISablierFlowState.sol";
import { Errors } from "./../libraries/Errors.sol";
import { Flow } from "./../types/DataTypes.sol";

/// @title SablierFlowState
/// @notice See the documentation in {ISablierFlowState}.
abstract contract SablierFlowState is ISablierFlowState {
    /*//////////////////////////////////////////////////////////////////////////
                                  STATE VARIABLES
    //////////////////////////////////////////////////////////////////////////*/

    /// @inheritdoc ISablierFlowState
    mapping(IERC20 token => uint256 amount) public override aggregateAmount;

thinking
**Preparing to review full SablierFlow.sol**

I'll gather the entire SablierFlow.sol code to enable thorough inspection of its functions for vulnerabilities.
exec
/bin/bash -lc "sed -n '1,260p' src/SablierFlow.sol" in /tmp/codex-dyk2dcm3 succeeded in 7ms:
// SPDX-License-Identifier: BUSL-1.1
pragma solidity >=0.8.22;

import { IERC4906 } from "@openzeppelin/contracts/interfaces/IERC4906.sol";
import { IERC20Metadata } from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import { ERC721 } from "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import { IERC721Metadata } from "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol";
import { IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
import { SafeCast } from "@openzeppelin/contracts/utils/math/SafeCast.sol";
import { ud21x18, UD21x18 } from "@prb/math/src/UD21x18.sol";
import { Batch } from "@sablier/evm-utils/src/Batch.sol";
import { Comptrollerable } from "@sablier/evm-utils/src/Comptrollerable.sol";
import { ISablierComptroller } from "@sablier/evm-utils/src/interfaces/ISablierComptroller.sol";
import { NoDelegateCall } from "@sablier/evm-utils/src/NoDelegateCall.sol";

import { SablierFlowState } from "./abstracts/SablierFlowState.sol";
import { IFlowNFTDescriptor } from "./interfaces/IFlowNFTDescriptor.sol";
import { ISablierFlow } from "./interfaces/ISablierFlow.sol";

thinking
**Continuing examination of SablierFlow internals**
exec
/bin/bash -lc "sed -n '260,520p' src/SablierFlow.sol" in /tmp/codex-dyk2dcm3 succeeded in 7ms:
        });
    }

    /// @inheritdoc ISablierFlow
    function create(
        address sender,
        address recipient,
        UD21x18 ratePerSecond,
        uint40 startTime,
        IERC20 token,
        bool transferable
    )
        external
        payable
        override
        noDelegateCall
        returns (uint256 streamId)
    {
        // Checks, Effects, and Interactions: create the stream.
        streamId = _create(sender, recipient, ratePerSecond, startTime, token, transferable);
exec
/bin/bash -lc "sed -n '520,1040p' src/SablierFlow.sol" in /tmp/codex-dyk2dcm3 succeeded in 6ms:
    /// @inheritdoc ISablierFlow
    function transferTokens(IERC20 token, address to, uint128 amount) external payable {
        // Interaction: transfer the amount.
        token.safeTransferFrom({ from: msg.sender, to: to, value: amount });
    }

    /// @inheritdoc ISablierFlow
    function void(uint256 streamId)
        external
        payable
        override
        noDelegateCall
        notNull(streamId)
        notVoided(streamId)
        updateMetadata(streamId)
    {
        // Checks, Effects, and Interactions: void the stream.
        _void(streamId);
    }

exec
/bin/bash -lc "sed -n '1040,1560p' src/SablierFlow.sol" in /tmp/codex-dyk2dcm3 succeeded in 6ms:
            // Effect: update the stream balance.
            _streams[streamId].balance -= amount;
        }

        // Load the variables in memory.
        IERC20 token = _streams[streamId].token;

        unchecked {
            // Effect: update the aggregate amount.
            aggregateAmount[token] -= amount;
        }

        // Interaction: perform the ERC-20 transfer.
        token.safeTransfer({ to: to, value: amount });

        // Protocol Invariant: the difference in total debt should be equal to the difference in the stream balance.
        assert(totalDebt - _totalDebtOf(streamId) == balance - _streams[streamId].balance);

        // Log the withdrawal.
        emit ISablierFlow.WithdrawFromFlowStream({

thinking
**Finishing core flow and opening interface files**
exec
/bin/bash -lc "sed -n '1,260p' src/interfaces/ISablierFlow.sol" in /tmp/codex-dyk2dcm3 succeeded in 5ms:
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.22;

import { IERC4906 } from "@openzeppelin/contracts/interfaces/IERC4906.sol";
import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import { IERC721Metadata } from "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol";
import { UD21x18 } from "@prb/math/src/UD21x18.sol";
import { IBatch } from "@sablier/evm-utils/src/interfaces/IBatch.sol";
import { IComptrollerable } from "@sablier/evm-utils/src/interfaces/IComptrollerable.sol";
import { ISablierComptroller } from "@sablier/evm-utils/src/interfaces/ISablierComptroller.sol";

import { Flow } from "../types/DataTypes.sol";
import { IFlowNFTDescriptor } from "./IFlowNFTDescriptor.sol";
import { ISablierFlowState } from "./ISablierFlowState.sol";

/// @title ISablierFlow
/// @notice Creates and manages Flow streams with linear streaming functions.
interface ISablierFlow is
    IBatch, // 0 inherited components
    IComptrollerable, // 0 inherited components

thinking
**Inspecting NFT descriptor interface**
exec
/bin/bash -lc "sed -n '1,200p' src/interfaces/IFlowNFTDescriptor.sol" in /tmp/codex-dyk2dcm3 succeeded in 12ms:
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.22;

import { IERC721Metadata } from "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol";

/// @title IFlowNFTDescriptor
/// @notice This contract generates the URI describing the Sablier Flow stream NFTs.
interface IFlowNFTDescriptor {
    /// @notice Produces the URI describing a particular stream NFT.
    ///
    /// @dev Currently it returns the Sablier logo as an SVG. In the future, it will return an NFT SVG.
    ///
    /// @param sablierFlow The address of the Sablier Flow the stream was created in.
    /// @param streamId The ID of the stream for which to produce a description.
    ///
    /// @return uri The URI of the ERC721-compliant metadata.
    function tokenURI(IERC721Metadata sablierFlow, uint256 streamId) external view returns (string memory uri);
}



thinking
**Auditing external calls for reentrancy**

Noticed external ERC20 calls happen after state updates without a reentrancy guard; this order likely prevents classic reentrancy, but ERC777-style reentrant callbacks could still pose nuanced risks. Need to verify if state and invariants like aggregateAmount fully prevent exploit during such callbacks.
thinking
**Identifying nuanced reentrancy and fee-on-transfer token risks**

Confirmed state updates precede external calls, mitigating classic reentrancy, but complex scenarios with ERC777 tokens or malicious comptroller calls could allow subtle reentrancy paths if minFee is zero or approvals exist. Fee-on-transfer tokens cause accounting mismatches that may block withdrawals or recoveries, posing a medium-risk invariant break rather than direct exploit.
thinking
**Confirming no critical findings**

Detailed review found no exploitable vulnerabilities; reentrancy paths are mitigated by state updates before external calls, and access controls align with expected design. Noted fee-on-transfer tokens can disrupt accounting but this is a known integration limitation rather than a vulnerability.
codex
{"no_findings":true,"summary":"No exploitable vulnerabilities found in the first‑party SablierFlow contracts within scope; assessment assumes standard ERC‑20 behavior and a trusted comptroller implementation.","findings":[]}
tokens used
36,169
Metadata
{
    "codex": {
        "ran_at": "2026-01-22T06:53:19.982294+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 70,
        "import_count": 79,
        "first_party_contracts_count": 8
    },
    "summary": "No exploitable vulnerabilities found in the first\u2011party SablierFlow contracts within scope; assessment assumes standard ERC\u201120 behavior and a trusted comptroller implementation.",
    "raw_final": {
        "summary": "No exploitable vulnerabilities found in the first\u2011party SablierFlow contracts within scope; assessment assumes standard ERC\u201120 behavior and a trusted comptroller implementation.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
10
EXT*/BALANCE
2
Total opcodes
8960
Flags
delegatecall_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: ISZERO
0000000a: PUSH2 0x0011
0000000d: JUMPI
0000000e: PUSH0
0000000f: DUP1
00000010: REVERT
00000011: JUMPDEST
00000012: PUSH0
00000013: CALLDATALOAD
00000014: PUSH1 0xe0
00000016: SHR
00000017: DUP1
00000018: PUSH4 0x01ffc9a7
0000001d: EQ
0000001e: PUSH2 0x03cf
00000021: JUMPI
00000022: DUP1
00000023: PUSH4 0x06fdde03
00000028: EQ
00000029: PUSH2 0x03ca
0000002c: JUMPI
0000002d: DUP1
0000002e: PUSH4 0x081812fc
00000033: EQ
00000034: PUSH2 0x03c5
00000037: JUMPI
00000038: DUP1
00000039: PUSH4 0x08b87923
0000003e: EQ
0000003f: PUSH2 0x03c0
00000042: JUMPI
00000043: DUP1
00000044: PUSH4 0x095ea7b3
00000049: EQ
0000004a: PUSH2 0x03bb
0000004d: JUMPI
0000004e: DUP1
0000004f: PUSH4 0x0c699624
00000054: EQ
00000055: PUSH2 0x03b6
00000058: JUMPI
00000059: DUP1
0000005a: PUSH4 0x136439dd
0000005f: EQ
00000060: PUSH2 0x03b1
00000063: JUMPI
00000064: DUP1
00000065: PUSH4 0x1400ecec
0000006a: EQ
0000006b: PUSH2 0x03ac
0000006e: JUMPI
0000006f: DUP1
00000070: PUSH4 0x1e010439
00000075: EQ
00000076: PUSH2 0x03a7
00000079: JUMPI
0000007a: DUP1
0000007b: PUSH4 0x1e897afb
00000080: EQ
00000081: PUSH2 0x03a2
00000084: JUMPI
00000085: DUP1
00000086: PUSH4 0x1e99d569
0000008b: EQ
0000008c: PUSH2 0x039d
0000008f: JUMPI
00000090: DUP1
00000091: PUSH4 0x1f0cce58
00000096: EQ
00000097: PUSH2 0x0398
0000009a: JUMPI
0000009b: DUP1
0000009c: PUSH4 0x23b872dd
000000a1: EQ
000000a2: PUSH2 0x0393
000000a5: JUMPI
000000a6: DUP1
000000a7: PUSH4 0x28f8b77d
000000ac: EQ
000000ad: PUSH2 0x038e
000000b0: JUMPI
000000b1: DUP1
000000b2: PUSH4 0x36af277f
000000b7: EQ
000000b8: PUSH2 0x0389
000000bb: JUMPI
000000bc: DUP1
000000bd: PUSH4 0x379d871a
000000c2: EQ
000000c3: PUSH2 0x0384
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0x42842e0e
000000cd: EQ
000000ce: PUSH2 0x037f
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0x42e3e23d
000000d8: EQ
000000d9: PUSH2 0x02d5
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0x44267570
000000e3: EQ
000000e4: PUSH2 0x037a
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0x450ac908
000000ee: EQ
000000ef: PUSH2 0x0375
000000f2: JUMPI
000000f3: DUP1
000000f4: PUSH4 0x569f4c59
000000f9: EQ
000000fa: PUSH2 0x0370
000000fd: JUMPI
000000fe: DUP1
000000ff: PUSH4 0x5ea2145b
00000104: EQ
00000105: PUSH2 0x036b
00000108: JUMPI
00000109: DUP1
0000010a: PUSH4 0x5f2a0beb
0000010f: EQ
00000110: PUSH2 0x0366
00000113: JUMPI
00000114: DUP1
00000115: PUSH4 0x5fe3b567
0000011a: EQ
0000011b: PUSH2 0x0361
0000011e: JUMPI
0000011f: DUP1
00000120: PUSH4 0x6352211e
00000125: EQ
00000126: PUSH2 0x035c
00000129: JUMPI
0000012a: DUP1
0000012b: PUSH4 0x648bf774
00000130: EQ
00000131: PUSH2 0x0357
00000134: JUMPI
00000135: DUP1
00000136: PUSH4 0x6d0cee75
0000013b: EQ
0000013c: PUSH2 0x0352
0000013f: JUMPI
00000140: DUP1
00000141: PUSH4 0x6da1e102
00000146: EQ
00000147: PUSH2 0x034d
0000014a: JUMPI
0000014b: DUP1
0000014c: PUSH4 0x70a08231
00000151: EQ
00000152: PUSH2 0x0348
00000155: JUMPI
00000156: DUP1
00000157: PUSH4 0x78f82ce7
0000015c: EQ
0000015d: PUSH2 0x0343
00000160: JUMPI
00000161: DUP1
00000162: PUSH4 0x7cad6cd1
00000167: EQ
00000168: PUSH2 0x033e
0000016b: JUMPI
0000016c: DUP1
0000016d: PUSH4 0x7ddf9228
00000172: EQ
00000173: PUSH2 0x0339
00000176: JUMPI
00000177: DUP1
00000178: PUSH4 0x80448da3
0000017d: EQ
0000017e: PUSH2 0x0334
00000181: JUMPI
00000182: DUP1
00000183: PUSH4 0x81632a86
00000188: EQ
00000189: PUSH2 0x032f
0000018c: JUMPI
0000018d: DUP1
0000018e: PUSH4 0x894e9a0d
00000193: EQ
00000194: PUSH2 0x032a
00000197: JUMPI
00000198: DUP1
00000199: PUSH4 0x8bad38dd
0000019e: EQ
0000019f: PUSH2 0x0325
000001a2: JUMPI
000001a3: DUP1
000001a4: PUSH4 0x95d89b41
000001a9: EQ
000001aa: PUSH2 0x0320
000001ad: JUMPI
000001ae: DUP1
000001af: PUSH4 0xa22cb465
000001b4: EQ
000001b5: PUSH2 0x031b
000001b8: JUMPI
000001b9: DUP1
000001ba: PUSH4 0xa7de07cd
000001bf: EQ
000001c0: PUSH2 0x0316
000001c3: JUMPI
000001c4: DUP1
000001c5: PUSH4 0xa8a482a6
000001ca: EQ
000001cb: PUSH2 0x0311
000001ce: JUMPI
000001cf: DUP1
000001d0: PUSH4 0xad35efd4
000001d5: EQ
000001d6: PUSH2 0x030c
000001d9: JUMPI
000001da: DUP1
000001db: PUSH4 0xb2564569
000001e0: EQ
000001e1: PUSH2 0x0307
000001e4: JUMPI
000001e5: DUP1
000001e6: PUSH4 0xb61f7583
000001eb: EQ
000001ec: PUSH2 0x0302
000001ef: JUMPI
000001f0: DUP1
000001f1: PUSH4 0xb88d4fde
000001f6: EQ
000001f7: PUSH2 0x02fd
000001fa: JUMPI
000001fb: DUP1
000001fc: PUSH4 0xb8a3be66
00000201: EQ
00000202: PUSH2 0x02f8
00000205: JUMPI
00000206: DUP1
00000207: PUSH4 0xb971302a
0000020c: EQ
0000020d: PUSH2 0x02f3
00000210: JUMPI
00000211: DUP1
00000212: PUSH4 0xbc7a2d6c
00000217: EQ
00000218: PUSH2 0x02ee
0000021b: JUMPI
0000021c: DUP1
0000021d: PUSH4 0xbcbd019e
00000222: EQ
00000223: PUSH2 0x02e9
00000226: JUMPI
00000227: DUP1
00000228: PUSH4 0xc87b56dd
0000022d: EQ
0000022e: PUSH2 0x02e4
00000231: JUMPI
00000232: DUP1
00000233: PUSH4 0xcca138e5
00000238: EQ
00000239: PUSH2 0x02df
0000023c: JUMPI
0000023d: DUP1
0000023e: PUSH4 0xd4b80884
00000243: EQ
00000244: PUSH2 0x02da
00000247: JUMPI
00000248: DUP1
00000249: PUSH4 0xd975dfed
0000024e: EQ
0000024f: PUSH2 0x02d5
00000252: JUMPI
00000253: DUP1
00000254: PUSH4 0xe1758bd8
00000259: EQ
0000025a: PUSH2 0x02d0
0000025d: JUMPI
0000025e: DUP1
0000025f: PUSH4 0xe4b50cb8
00000264: EQ
00000265: PUSH2 0x02cb
00000268: JUMPI
00000269: DUP1
0000026a: PUSH4 0xe985e9c5
0000026f: EQ
00000270: PUSH2 0x02c6
00000273: JUMPI
00000274: DUP1
00000275: PUSH4 0xea5ead19
0000027a: EQ
0000027b: PUSH2 0x02c1
0000027e: JUMPI
0000027f: DUP1
00000280: PUSH4 0xeb5710d8
00000285: EQ
00000286: PUSH2 0x02bc
00000289: JUMPI
0000028a: DUP1
0000028b: PUSH4 0xebb6f79a
00000290: EQ
00000291: PUSH2 0x02b7
00000294: JUMPI
00000295: DUP1
00000296: PUSH4 0xec01da3b
0000029b: EQ
0000029c: PUSH2 0x02b2
0000029f: JUMPI
000002a0: PUSH4 0xfdd46d60
000002a5: EQ
000002a6: PUSH2 0x02ad
000002a9: JUMPI
000002aa: PUSH0
000002ab: DUP1
000002ac: REVERT
000002ad: JUMPDEST
000002ae: PUSH2 0x3591
000002b1: JUMP
000002b2: JUMPDEST
000002b3: PUSH2 0x352a
000002b6: JUMP
000002b7: JUMPDEST
000002b8: PUSH2 0x3440
000002bb: JUMP
000002bc: JUMPDEST
000002bd: PUSH2 0x33e2
000002c0: JUMP
000002c1: JUMPDEST
000002c2: PUSH2 0x333f
000002c5: JUMP
000002c6: JUMPDEST
000002c7: PUSH2 0x32a1
000002ca: JUMP
000002cb: JUMPDEST
000002cc: PUSH2 0x3237
000002cf: JUMP
000002d0: JUMPDEST
000002d1: PUSH2 0x31e6
000002d4: JUMP
000002d5: JUMPDEST
000002d6: PUSH2 0x11ff
000002d9: JUMP
000002da: JUMPDEST
000002db: PUSH2 0x3182
000002de: JUMP
000002df: JUMPDEST
000002e0: PUSH2 0x3067
000002e3: JUMP
000002e4: JUMPDEST
000002e5: PUSH2 0x2f3d
000002e8: JUMP
000002e9: JUMPDEST
000002ea: PUSH2 0x2e84
000002ed: JUMP
000002ee: JUMPDEST
000002ef: PUSH2 0x2e3f
000002f2: JUMP
000002f3: JUMPDEST
000002f4: PUSH2 0x2dd5
000002f7: JUMP
000002f8: JUMPDEST
000002f9: PUSH2 0x2d82
000002fc: JUMP
000002fd: JUMPDEST
000002fe: PUSH2 0x2cd4
00000301: JUMP
00000302: JUMPDEST
00000303: PUSH2 0x29d7
00000306: JUMP
00000307: JUMPDEST
00000308: PUSH2 0x297b
0000030b: JUMP
0000030c: JUMPDEST
0000030d: PUSH2 0x28f8
00000310: JUMP
00000311: JUMPDEST
00000312: PUSH2 0x2798
00000315: JUMP
00000316: JUMPDEST
00000317: PUSH2 0x273e
0000031a: JUMP
0000031b: JUMPDEST
0000031c: PUSH2 0x2614
0000031f: JUMP
00000320: JUMPDEST
00000321: PUSH2 0x2541
00000324: JUMP
00000325: JUMPDEST
00000326: PUSH2 0x22c4
00000329: JUMP
0000032a: JUMPDEST
0000032b: PUSH2 0x200a
0000032e: JUMP
0000032f: JUMPDEST
00000330: PUSH2 0x1f66
00000333: JUMP
00000334: JUMPDEST
00000335: PUSH2 0x1efa
00000338: JUMP
00000339: JUMPDEST
0000033a: PUSH2 0x1eb5
0000033d: JUMP
0000033e: JUMPDEST
0000033f: PUSH2 0x1d8b
00000342: JUMP
00000343: JUMPDEST
00000344: PUSH2 0x1cee
00000347: JUMP
00000348: JUMPDEST
00000349: PUSH2 0x1c55
0000034c: JUMP
0000034d: JUMPDEST
0000034e: PUSH2 0x1aba
00000351: JUMP
00000352: JUMPDEST
00000353: PUSH2 0x1a75
00000356: JUMP
00000357: JUMPDEST
00000358: PUSH2 0x1887
0000035b: JUMP
0000035c: JUMPDEST
0000035d: PUSH2 0x182d
00000360: JUMP
00000361: JUMPDEST
00000362: PUSH2 0x17dd
00000365: JUMP
00000366: JUMPDEST
00000367: PUSH2 0x1767
0000036a: JUMP
0000036b: JUMPDEST
0000036c: PUSH2 0x1345
0000036f: JUMP
00000370: JUMPDEST
00000371: PUSH2 0x12e9
00000374: JUMP
00000375: JUMPDEST
00000376: PUSH2 0x1295
00000379: JUMP
0000037a: JUMPDEST
0000037b: PUSH2 0x1244
0000037e: JUMP
0000037f: JUMPDEST
00000380: PUSH2 0x11d6
00000383: JUMP
00000384: JUMPDEST
00000385: PUSH2 0x10b8
00000388: JUMP
00000389: JUMPDEST
0000038a: PUSH2 0x101f
0000038d: JUMP
0000038e: JUMPDEST
0000038f: PUSH2 0x0f96
00000392: JUMP
00000393: JUMPDEST
00000394: PUSH2 0x0f7f
00000397: JUMP
00000398: JUMPDEST
00000399: PUSH2 0x0e04
0000039c: JUMP
0000039d: JUMPDEST
0000039e: PUSH2 0x0daf
000003a1: JUMP
000003a2: JUMPDEST
000003a3: PUSH2 0x0c6f
000003a6: JUMP
000003a7: JUMPDEST
000003a8: PUSH2 0x0b8f
000003ab: JUMP
000003ac: JUMPDEST
000003ad: PUSH2 0x0b30
000003b0: JUMP
000003b1: JUMPDEST
000003b2: PUSH2 0x0a50
000003b5: JUMP
000003b6: JUMPDEST
000003b7: PUSH2 0x0952
000003ba: JUMP
000003bb: JUMPDEST
000003bc: PUSH2 0x07b9
000003bf: JUMP
000003c0: JUMPDEST
000003c1: PUSH2 0x074e
000003c4: JUMP
000003c5: JUMPDEST
000003c6: PUSH2 0x06e6
000003c9: JUMP
000003ca: JUMPDEST
000003cb: PUSH2 0x059e
000003ce: JUMP
000003cf: JUMPDEST
000003d0: PUSH2 0x0402
000003d3: JUMP
000003d4: JUMPDEST
000003d5: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000003f6: DUP2
000003f7: AND
000003f8: SUB
000003f9: PUSH2 0x03fe
000003fc: JUMPI
000003fd: JUMP
000003fe: JUMPDEST
000003ff: PUSH0
00000400: DUP1
00000401: REVERT
00000402: JUMPDEST
00000403: CALLVALUE
00000404: PUSH2 0x03fe
00000407: JUMPI
00000408: PUSH1 0x20
0000040a: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000042b: CALLDATASIZE
0000042c: ADD
0000042d: SLT
0000042e: PUSH2 0x03fe
00000431: JUMPI
00000432: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00000453: PUSH1 0x04
00000455: CALLDATALOAD
00000456: PUSH2 0x045e
00000459: DUP2
0000045a: PUSH2 0x03d4
0000045d: JUMP
0000045e: JUMPDEST
0000045f: AND
00000460: PUSH32 0x4906490600000000000000000000000000000000000000000000000000000000
00000481: DUP2
00000482: EQ
00000483: SWAP1
00000484: DUP2
00000485: ISZERO
00000486: PUSH2 0x0498
00000489: JUMPI
0000048a: JUMPDEST
0000048b: POP
0000048c: PUSH1 0x40
0000048e: MLOAD
0000048f: SWAP1
00000490: ISZERO
00000491: ISZERO
00000492: DUP2
00000493: MSTORE
00000494: PUSH1 0x20
00000496: SWAP1
00000497: RETURN
00000498: JUMPDEST
00000499: PUSH32 0x80ac58cd00000000000000000000000000000000000000000000000000000000
000004ba: DUP2
000004bb: EQ
000004bc: SWAP2
000004bd: POP
000004be: DUP2
000004bf: ISZERO
000004c0: PUSH2 0x04fc
000004c3: JUMPI
000004c4: JUMPDEST
000004c5: DUP2
000004c6: ISZERO
000004c7: PUSH2 0x04d2
000004ca: JUMPI
000004cb: JUMPDEST
000004cc: POP
000004cd: PUSH0
000004ce: PUSH2 0x048a
000004d1: JUMP
000004d2: JUMPDEST
000004d3: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
000004f4: SWAP2
000004f5: POP
000004f6: EQ
000004f7: PUSH0
000004f8: PUSH2 0x04cb
000004fb: JUMP
000004fc: JUMPDEST
000004fd: PUSH32 0x5b5e139f00000000000000000000000000000000000000000000000000000000
0000051e: DUP2
0000051f: EQ
00000520: SWAP2
00000521: POP
00000522: PUSH2 0x04c4
00000525: JUMP
00000526: JUMPDEST
00000527: PUSH0
00000528: JUMPDEST
00000529: DUP4
0000052a: DUP2
0000052b: LT
0000052c: PUSH2 0x0537
0000052f: JUMPI
00000530: POP
00000531: POP
00000532: PUSH0
00000533: SWAP2
00000534: ADD
00000535: MSTORE
00000536: JUMP
00000537: JUMPDEST
00000538: DUP2
00000539: DUP2
0000053a: ADD
0000053b: MLOAD
0000053c: DUP4
0000053d: DUP3
0000053e: ADD
0000053f: MSTORE
00000540: PUSH1 0x20
00000542: ADD
00000543: PUSH2 0x0528
00000546: JUMP
00000547: JUMPDEST
00000548: SWAP1
00000549: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000056a: PUSH1 0x1f
0000056c: PUSH1 0x20
0000056e: SWAP4
0000056f: PUSH2 0x0583
00000572: DUP2
00000573: MLOAD
00000574: DUP1
00000575: SWAP3
00000576: DUP2
00000577: DUP8
00000578: MSTORE
00000579: DUP8
0000057a: DUP1
0000057b: DUP9
0000057c: ADD
0000057d: SWAP2
0000057e: ADD
0000057f: PUSH2 0x0526
00000582: JUMP
00000583: JUMPDEST
00000584: ADD
00000585: AND
00000586: ADD
00000587: ADD
00000588: SWAP1
00000589: JUMP
0000058a: JUMPDEST
0000058b: SWAP1
0000058c: PUSH1 0x20
0000058e: PUSH2 0x059b
00000591: SWAP3
00000592: DUP2
00000593: DUP2
00000594: MSTORE
00000595: ADD
00000596: SWAP1
00000597: PUSH2 0x0547
0000059a: JUMP
0000059b: JUMPDEST
0000059c: SWAP1
0000059d: JUMP
0000059e: JUMPDEST
0000059f: CALLVALUE
000005a0: PUSH2 0x03fe
000005a3: JUMPI
000005a4: PUSH0
000005a5: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000005c6: CALLDATASIZE
000005c7: ADD
000005c8: SLT
000005c9: PUSH2 0x03fe
000005cc: JUMPI
000005cd: PUSH1 0x40
000005cf: MLOAD
000005d0: PUSH0
000005d1: PUSH1 0x01
000005d3: SLOAD
000005d4: DUP1
000005d5: PUSH1 0x01
000005d7: SHR
000005d8: SWAP1
000005d9: PUSH1 0x01
000005db: DUP2
000005dc: AND
000005dd: SWAP1
000005de: DUP2
000005df: ISZERO
000005e0: PUSH2 0x06dc
000005e3: JUMPI
000005e4: JUMPDEST
000005e5: PUSH1 0x20
000005e7: DUP4
000005e8: LT
000005e9: DUP3
000005ea: EQ
000005eb: PUSH2 0x06af
000005ee: JUMPI
000005ef: DUP3
000005f0: DUP6
000005f1: MSTORE
000005f2: PUSH1 0x20
000005f4: DUP6
000005f5: ADD
000005f6: SWAP2
000005f7: SWAP1
000005f8: DUP2
000005f9: ISZERO
000005fa: PUSH2 0x0678
000005fd: JUMPI
000005fe: POP
000005ff: PUSH1 0x01
00000601: EQ
00000602: PUSH2 0x0626
00000605: JUMPI
00000606: JUMPDEST
00000607: PUSH2 0x0622
0000060a: DUP5
0000060b: PUSH2 0x0616
0000060e: DUP2
0000060f: DUP7
00000610: SUB
00000611: DUP3
00000612: PUSH2 0x2c47
00000615: JUMP
00000616: JUMPDEST
00000617: PUSH1 0x40
00000619: MLOAD
0000061a: SWAP2
0000061b: DUP3
0000061c: SWAP2
0000061d: DUP3
0000061e: PUSH2 0x058a
00000621: JUMP
00000622: JUMPDEST
00000623: SUB
00000624: SWAP1
00000625: RETURN
00000626: JUMPDEST
00000627: PUSH1 0x01
00000629: PUSH0
0000062a: SWAP1
0000062b: DUP2
0000062c: MSTORE
0000062d: SWAP3
0000062e: POP
0000062f: SWAP1
00000630: PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6
00000651: JUMPDEST
00000652: DUP2
00000653: DUP5
00000654: LT
00000655: PUSH2 0x0664
00000658: JUMPI
00000659: POP
0000065a: POP
0000065b: ADD
0000065c: PUSH2 0x0616
0000065f: DUP3
00000660: PUSH2 0x0606
00000663: JUMP
00000664: JUMPDEST
00000665: DUP1
00000666: SLOAD
00000667: DUP5
00000668: DUP5
00000669: ADD
0000066a: MSTORE
0000066b: PUSH1 0x20
0000066d: SWAP1
0000066e: SWAP4
0000066f: ADD
00000670: SWAP3
00000671: PUSH1 0x01
00000673: ADD
00000674: PUSH2 0x0651
00000677: JUMP
00000678: JUMPDEST
00000679: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
0000069a: AND
0000069b: DUP3
0000069c: MSTORE
0000069d: POP
0000069e: SWAP1
0000069f: ISZERO
000006a0: ISZERO
000006a1: PUSH1 0x05
000006a3: SHL
000006a4: ADD
000006a5: SWAP1
000006a6: POP
000006a7: PUSH2 0x0616
000006aa: DUP3
000006ab: PUSH2 0x0606
000006ae: JUMP
000006af: JUMPDEST
000006b0: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000006d1: PUSH0
000006d2: MSTORE
000006d3: PUSH1 0x22
000006d5: PUSH1 0x04
000006d7: MSTORE
000006d8: PUSH1 0x24
000006da: PUSH0
000006db: REVERT
000006dc: JUMPDEST
000006dd: SWAP2
000006de: PUSH1 0x7f
000006e0: AND
000006e1: SWAP2
000006e2: PUSH2 0x05e4
000006e5: JUMP
000006e6: JUMPDEST
000006e7: CALLVALUE
000006e8: PUSH2 0x03fe
000006eb: JUMPI
000006ec: PUSH1 0x20
000006ee: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000070f: CALLDATASIZE
00000710: ADD
00000711: SLT
00000712: PUSH2 0x03fe
00000715: JUMPI
00000716: PUSH1 0x04
00000718: CALLDATALOAD
00000719: PUSH2 0x0721
0000071c: DUP2
0000071d: PUSH2 0x3d04
00000720: JUMP
00000721: JUMPDEST
00000722: POP
00000723: PUSH0
00000724: MSTORE
00000725: PUSH1 0x05
00000727: PUSH1 0x20
00000729: MSTORE
0000072a: PUSH1 0x20
0000072c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000741: PUSH1 0x40
00000743: PUSH0
00000744: KECCAK256
00000745: SLOAD
00000746: AND
00000747: PUSH1 0x40
00000749: MLOAD
0000074a: SWAP1
0000074b: DUP2
0000074c: MSTORE
0000074d: RETURN
0000074e: JUMPDEST
0000074f: CALLVALUE
00000750: PUSH2 0x03fe
00000753: JUMPI
00000754: PUSH1 0x20
00000756: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000777: CALLDATASIZE
00000778: ADD
00000779: SLT
0000077a: PUSH2 0x03fe
0000077d: JUMPI
0000077e: PUSH1 0x20
00000780: PUSH2 0x0793
00000783: PUSH1 0x04
00000785: CALLDATALOAD
00000786: PUSH2 0x078e
00000789: DUP2
0000078a: PUSH2 0x3d5d
0000078d: JUMP
0000078e: JUMPDEST
0000078f: PUSH2 0x3da6
00000792: JUMP
00000793: JUMPDEST
00000794: PUSH1 0x40
00000796: MLOAD
00000797: SWAP1
00000798: DUP2
00000799: MSTORE
0000079a: RETURN
0000079b: JUMPDEST
0000079c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007b1: DUP2
000007b2: AND
000007b3: SUB
000007b4: PUSH2 0x03fe
000007b7: JUMPI
000007b8: JUMP
000007b9: JUMPDEST
000007ba: CALLVALUE
000007bb: PUSH2 0x03fe
000007be: JUMPI
000007bf: PUSH1 0x40
000007c1: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000007e2: CALLDATASIZE
000007e3: ADD
000007e4: SLT
000007e5: PUSH2 0x03fe
000007e8: JUMPI
000007e9: PUSH1 0x04
000007eb: CALLDATALOAD
000007ec: PUSH2 0x07f4
000007ef: DUP2
000007f0: PUSH2 0x079b
000007f3: JUMP
000007f4: JUMPDEST
000007f5: PUSH1 0x24
000007f7: CALLDATALOAD
000007f8: SWAP1
000007f9: PUSH2 0x0801
000007fc: DUP3
000007fd: PUSH2 0x3d04
00000800: JUMP
00000801: JUMPDEST
00000802: CALLER
00000803: ISZERO
00000804: ISZERO
00000805: DUP1
00000806: PUSH2 0x0932
00000809: JUMPI
0000080a: JUMPDEST
0000080b: DUP1
0000080c: PUSH2 0x08d8
0000080f: JUMPI
00000810: JUMPDEST
00000811: PUSH2 0x08ab
00000814: JUMPI
00000815: DUP3
00000816: PUSH2 0x08a9
00000819: SWAP4
0000081a: PUSH2 0x0869
0000081d: SWAP3
0000081e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000833: DUP1
00000834: DUP7
00000835: AND
00000836: SWAP2
00000837: AND
00000838: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00000859: PUSH0
0000085a: DUP1
0000085b: LOG4
0000085c: PUSH0
0000085d: MSTORE
0000085e: PUSH1 0x05
00000860: PUSH1 0x20
00000862: MSTORE
00000863: PUSH1 0x40
00000865: PUSH0
00000866: KECCAK256
00000867: SWAP1
00000868: JUMP
00000869: JUMPDEST
0000086a: SWAP1
0000086b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000880: AND
00000881: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000008a2: DUP3
000008a3: SLOAD
000008a4: AND
000008a5: OR
000008a6: SWAP1
000008a7: SSTORE
000008a8: JUMP
000008a9: JUMPDEST
000008aa: STOP
000008ab: JUMPDEST
000008ac: PUSH32 0xa9fbf51f00000000000000000000000000000000000000000000000000000000
000008cd: PUSH0
000008ce: MSTORE
000008cf: CALLER
000008d0: PUSH1 0x04
000008d2: MSTORE
000008d3: PUSH1 0x24
000008d5: JUMPDEST
000008d6: PUSH0
000008d7: REVERT
000008d8: JUMPDEST
000008d9: POP
000008da: PUSH1 0xff
000008dc: PUSH2 0x092a
000008df: CALLER
000008e0: PUSH2 0x0907
000008e3: DUP5
000008e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008f9: AND
000008fa: PUSH0
000008fb: MSTORE
000008fc: PUSH1 0x06
000008fe: PUSH1 0x20
00000900: MSTORE
00000901: PUSH1 0x40
00000903: PUSH0
00000904: KECCAK256
00000905: SWAP1
00000906: JUMP
00000907: JUMPDEST
00000908: SWAP1
00000909: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000091e: AND
0000091f: PUSH0
00000920: MSTORE
00000921: PUSH1 0x20
00000923: MSTORE
00000924: PUSH1 0x40
00000926: PUSH0
00000927: KECCAK256
00000928: SWAP1
00000929: JUMP
0000092a: JUMPDEST
0000092b: SLOAD
0000092c: AND
0000092d: ISZERO
0000092e: PUSH2 0x0810
00000931: JUMP
00000932: JUMPDEST
00000933: POP
00000934: CALLER
00000935: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000094a: DUP3
0000094b: AND
0000094c: EQ
0000094d: ISZERO
0000094e: PUSH2 0x080a
00000951: JUMP
00000952: JUMPDEST
00000953: PUSH1 0x20
00000955: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000976: CALLDATASIZE
00000977: ADD
00000978: SLT
00000979: PUSH2 0x03fe
0000097c: JUMPI
0000097d: PUSH1 0x04
0000097f: CALLDATALOAD
00000980: PUSH2 0x0987
00000983: PUSH2 0x3de7
00000986: JUMP
00000987: JUMPDEST
00000988: PUSH2 0x0990
0000098b: DUP2
0000098c: PUSH2 0x3d5d
0000098f: JUMP
00000990: JUMPDEST
00000991: DUP1
00000992: PUSH0
00000993: MSTORE
00000994: PUSH1 0x0b
00000996: PUSH1 0x20
00000998: MSTORE
00000999: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009ae: PUSH1 0x01
000009b0: PUSH1 0x40
000009b2: PUSH0
000009b3: KECCAK256
000009b4: ADD
000009b5: SLOAD
000009b6: AND
000009b7: CALLER
000009b8: SUB
000009b9: PUSH2 0x0a21
000009bc: JUMPI
000009bd: DUP1
000009be: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
000009df: PUSH1 0x20
000009e1: PUSH2 0x09ec
000009e4: PUSH2 0x0622
000009e7: SWAP5
000009e8: PUSH2 0x3e80
000009eb: JUMP
000009ec: JUMPDEST
000009ed: SWAP3
000009ee: PUSH2 0x09f7
000009f1: DUP5
000009f2: DUP3
000009f3: PUSH2 0x3eb2
000009f6: JUMP
000009f7: JUMPDEST
000009f8: PUSH1 0x40
000009fa: MLOAD
000009fb: SWAP1
000009fc: DUP2
000009fd: MSTORE
000009fe: LOG1
000009ff: PUSH1 0x40
00000a01: MLOAD
00000a02: PUSH16 0xffffffffffffffffffffffffffffffff
00000a13: SWAP1
00000a14: SWAP2
00000a15: AND
00000a16: DUP2
00000a17: MSTORE
00000a18: SWAP1
00000a19: DUP2
00000a1a: SWAP1
00000a1b: PUSH1 0x20
00000a1d: DUP3
00000a1e: ADD
00000a1f: SWAP1
00000a20: JUMP
00000a21: JUMPDEST
00000a22: PUSH32 0x87cca8a800000000000000000000000000000000000000000000000000000000
00000a43: PUSH0
00000a44: MSTORE
00000a45: PUSH1 0x04
00000a47: MSTORE
00000a48: CALLER
00000a49: PUSH1 0x24
00000a4b: MSTORE
00000a4c: PUSH1 0x44
00000a4e: PUSH0
00000a4f: REVERT
00000a50: JUMPDEST
00000a51: PUSH1 0x20
00000a53: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000a74: CALLDATASIZE
00000a75: ADD
00000a76: SLT
00000a77: PUSH2 0x03fe
00000a7a: JUMPI
00000a7b: PUSH1 0x04
00000a7d: CALLDATALOAD
00000a7e: PUSH2 0x0a85
00000a81: PUSH2 0x3de7
00000a84: JUMP
00000a85: JUMPDEST
00000a86: PUSH2 0x0a8e
00000a89: DUP2
00000a8a: PUSH2 0x3d5d
00000a8d: JUMP
00000a8e: JUMPDEST
00000a8f: DUP1
00000a90: PUSH0
00000a91: MSTORE
00000a92: PUSH1 0x0b
00000a94: PUSH1 0x20
00000a96: MSTORE
00000a97: PUSH1 0x40
00000a99: PUSH0
00000a9a: KECCAK256
00000a9b: SLOAD
00000a9c: PUSH1 0x80
00000a9e: SHR
00000a9f: ISZERO
00000aa0: PUSH2 0x0b05
00000aa3: JUMPI
00000aa4: DUP1
00000aa5: PUSH0
00000aa6: MSTORE
00000aa7: PUSH1 0x0b
00000aa9: PUSH1 0x20
00000aab: MSTORE
00000aac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ac1: PUSH1 0x01
00000ac3: PUSH1 0x40
00000ac5: PUSH0
00000ac6: KECCAK256
00000ac7: ADD
00000ac8: SLOAD
00000ac9: AND
00000aca: CALLER
00000acb: SUB
00000acc: PUSH2 0x0a21
00000acf: JUMPI
00000ad0: PUSH1 0x20
00000ad2: DUP2
00000ad3: PUSH2 0x0afc
00000ad6: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00000af7: SWAP4
00000af8: PUSH2 0x412c
00000afb: JUMP
00000afc: JUMPDEST
00000afd: PUSH1 0x40
00000aff: MLOAD
00000b00: SWAP1
00000b01: DUP2
00000b02: MSTORE
00000b03: LOG1
00000b04: STOP
00000b05: JUMPDEST
00000b06: PUSH32 0x28a1df1c00000000000000000000000000000000000000000000000000000000
00000b27: PUSH0
00000b28: MSTORE
00000b29: PUSH1 0x04
00000b2b: MSTORE
00000b2c: PUSH1 0x24
00000b2e: PUSH0
00000b2f: REVERT
00000b30: JUMPDEST
00000b31: CALLVALUE
00000b32: PUSH2 0x03fe
00000b35: JUMPI
00000b36: PUSH1 0x20
00000b38: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000b59: CALLDATASIZE
00000b5a: ADD
00000b5b: SLT
00000b5c: PUSH2 0x03fe
00000b5f: JUMPI
00000b60: PUSH1 0x20
00000b62: PUSH2 0x0b75
00000b65: PUSH1 0x04
00000b67: CALLDATALOAD
00000b68: PUSH2 0x0b70
00000b6b: DUP2
00000b6c: PUSH2 0x3d5d
00000b6f: JUMP
00000b70: JUMPDEST
00000b71: PUSH2 0x3e80
00000b74: JUMP
00000b75: JUMPDEST
00000b76: PUSH16 0xffffffffffffffffffffffffffffffff
00000b87: PUSH1 0x40
00000b89: MLOAD
00000b8a: SWAP2
00000b8b: AND
00000b8c: DUP2
00000b8d: MSTORE
00000b8e: RETURN
00000b8f: JUMPDEST
00000b90: CALLVALUE
00000b91: PUSH2 0x03fe
00000b94: JUMPI
00000b95: PUSH1 0x20
00000b97: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000bb8: CALLDATASIZE
00000bb9: ADD
00000bba: SLT
00000bbb: PUSH2 0x03fe
00000bbe: JUMPI
00000bbf: PUSH1 0x04
00000bc1: CALLDATALOAD
00000bc2: PUSH2 0x0bca
00000bc5: DUP2
00000bc6: PUSH2 0x3d5d
00000bc9: JUMP
00000bca: JUMPDEST
00000bcb: PUSH0
00000bcc: MSTORE
00000bcd: PUSH1 0x0b
00000bcf: PUSH1 0x20
00000bd1: MSTORE
00000bd2: PUSH1 0x20
00000bd4: PUSH16 0xffffffffffffffffffffffffffffffff
00000be5: PUSH1 0x40
00000be7: PUSH0
00000be8: KECCAK256
00000be9: SLOAD
00000bea: AND
00000beb: PUSH1 0x40
00000bed: MLOAD
00000bee: SWAP1
00000bef: DUP2
00000bf0: MSTORE
00000bf1: RETURN
00000bf2: JUMPDEST
00000bf3: PUSH1 0x20
00000bf5: DUP2
00000bf6: ADD
00000bf7: PUSH1 0x20
00000bf9: DUP3
00000bfa: MSTORE
00000bfb: DUP3
00000bfc: MLOAD
00000bfd: DUP1
00000bfe: SWAP2
00000bff: MSTORE
00000c00: PUSH1 0x40
00000c02: DUP3
00000c03: ADD
00000c04: SWAP2
00000c05: PUSH1 0x20
00000c07: PUSH1 0x40
00000c09: DUP4
00000c0a: PUSH1 0x05
00000c0c: SHL
00000c0d: DUP4
00000c0e: ADD
00000c0f: ADD
00000c10: SWAP5
00000c11: ADD
00000c12: SWAP3
00000c13: PUSH0
00000c14: SWAP2
00000c15: JUMPDEST
00000c16: DUP4
00000c17: DUP4
00000c18: LT
00000c19: PUSH2 0x0c24
00000c1c: JUMPI
00000c1d: POP
00000c1e: POP
00000c1f: POP
00000c20: POP
00000c21: POP
00000c22: SWAP1
00000c23: JUMP
00000c24: JUMPDEST
00000c25: SWAP1
00000c26: SWAP2
00000c27: SWAP3
00000c28: SWAP4
00000c29: SWAP5
00000c2a: PUSH1 0x20
00000c2c: DUP1
00000c2d: PUSH2 0x0c60
00000c30: DUP4
00000c31: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0
00000c52: DUP7
00000c53: PUSH1 0x01
00000c55: SWAP7
00000c56: SUB
00000c57: ADD
00000c58: DUP8
00000c59: MSTORE
00000c5a: DUP10
00000c5b: MLOAD
00000c5c: PUSH2 0x0547
00000c5f: JUMP
00000c60: JUMPDEST
00000c61: SWAP8
00000c62: ADD
00000c63: SWAP4
00000c64: ADD
00000c65: SWAP4
00000c66: ADD
00000c67: SWAP2
00000c68: SWAP4
00000c69: SWAP3
00000c6a: SWAP1
00000c6b: PUSH2 0x0c15
00000c6e: JUMP
00000c6f: JUMPDEST
00000c70: PUSH1 0x20
00000c72: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000c93: CALLDATASIZE
00000c94: ADD
00000c95: SLT
00000c96: PUSH2 0x03fe
00000c99: JUMPI
00000c9a: PUSH1 0x04
00000c9c: CALLDATALOAD
00000c9d: PUSH8 0xffffffffffffffff
00000ca6: DUP2
00000ca7: GT
00000ca8: PUSH2 0x03fe
00000cab: JUMPI
00000cac: CALLDATASIZE
00000cad: PUSH1 0x23
00000caf: DUP3
00000cb0: ADD
00000cb1: SLT
00000cb2: ISZERO
00000cb3: PUSH2 0x03fe
00000cb6: JUMPI
00000cb7: DUP1
00000cb8: PUSH1 0x04
00000cba: ADD
00000cbb: CALLDATALOAD
00000cbc: SWAP1
00000cbd: PUSH8 0xffffffffffffffff
00000cc6: DUP3
00000cc7: GT
00000cc8: PUSH2 0x03fe
00000ccb: JUMPI
00000ccc: PUSH1 0x24
00000cce: DUP2
00000ccf: ADD
00000cd0: SWAP1
00000cd1: PUSH1 0x24
00000cd3: CALLDATASIZE
00000cd4: SWAP2
00000cd5: DUP5
00000cd6: PUSH1 0x05
00000cd8: SHL
00000cd9: ADD
00000cda: ADD
00000cdb: GT
00000cdc: PUSH2 0x03fe
00000cdf: JUMPI
00000ce0: PUSH2 0x0ce8
00000ce3: DUP3
00000ce4: PUSH2 0x3614
00000ce7: JUMP
00000ce8: JUMPDEST
00000ce9: SWAP2
00000cea: PUSH2 0x0cf6
00000ced: PUSH1 0x40
00000cef: MLOAD
00000cf0: SWAP4
00000cf1: DUP5
00000cf2: PUSH2 0x2c47
00000cf5: JUMP
00000cf6: JUMPDEST
00000cf7: DUP1
00000cf8: DUP4
00000cf9: MSTORE
00000cfa: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00000d1b: PUSH2 0x0d23
00000d1e: DUP3
00000d1f: PUSH2 0x3614
00000d22: JUMP
00000d23: JUMPDEST
00000d24: ADD
00000d25: PUSH0
00000d26: JUMPDEST
00000d27: DUP2
00000d28: DUP2
00000d29: LT
00000d2a: PUSH2 0x0d9e
00000d2d: JUMPI
00000d2e: POP
00000d2f: POP
00000d30: PUSH0
00000d31: JUMPDEST
00000d32: DUP2
00000d33: DUP2
00000d34: LT
00000d35: PUSH2 0x0d46
00000d38: JUMPI
00000d39: PUSH1 0x40
00000d3b: MLOAD
00000d3c: DUP1
00000d3d: PUSH2 0x0622
00000d40: DUP7
00000d41: DUP3
00000d42: PUSH2 0x0bf2
00000d45: JUMP
00000d46: JUMPDEST
00000d47: PUSH0
00000d48: DUP1
00000d49: PUSH2 0x0d53
00000d4c: DUP4
00000d4d: DUP6
00000d4e: DUP8
00000d4f: PUSH2 0x3659
00000d52: JUMP
00000d53: JUMPDEST
00000d54: SWAP1
00000d55: PUSH2 0x0d63
00000d58: PUSH1 0x40
00000d5a: MLOAD
00000d5b: DUP1
00000d5c: SWAP4
00000d5d: DUP2
00000d5e: SWAP4
00000d5f: PUSH2 0x36be
00000d62: JUMP
00000d63: JUMPDEST
00000d64: SUB
00000d65: SWAP1
00000d66: ADDRESS
00000d67: GAS
00000d68: DELEGATECALL
00000d69: PUSH2 0x0d70
00000d6c: PUSH2 0x36cb
00000d6f: JUMP
00000d70: JUMPDEST
00000d71: SWAP1
00000d72: ISZERO
00000d73: PUSH2 0x0d96
00000d76: JUMPI
00000d77: SWAP1
00000d78: PUSH1 0x01
00000d7a: SWAP2
00000d7b: PUSH2 0x0d84
00000d7e: DUP3
00000d7f: DUP8
00000d80: PUSH2 0x36fa
00000d83: JUMP
00000d84: JUMPDEST
00000d85: MSTORE
00000d86: PUSH2 0x0d8f
00000d89: DUP2
00000d8a: DUP7
00000d8b: PUSH2 0x36fa
00000d8e: JUMP
00000d8f: JUMPDEST
00000d90: POP
00000d91: ADD
00000d92: PUSH2 0x0d31
00000d95: JUMP
00000d96: JUMPDEST
00000d97: DUP1
00000d98: MLOAD
00000d99: SWAP1
00000d9a: PUSH1 0x20
00000d9c: ADD
00000d9d: REVERT
00000d9e: JUMPDEST
00000d9f: DUP1
00000da0: PUSH1 0x60
00000da2: PUSH1 0x20
00000da4: DUP1
00000da5: SWAP4
00000da6: DUP9
00000da7: ADD
00000da8: ADD
00000da9: MSTORE
00000daa: ADD
00000dab: PUSH2 0x0d26
00000dae: JUMP
00000daf: JUMPDEST
00000db0: CALLVALUE
00000db1: PUSH2 0x03fe
00000db4: JUMPI
00000db5: PUSH0
00000db6: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000dd7: CALLDATASIZE
00000dd8: ADD
00000dd9: SLT
00000dda: PUSH2 0x03fe
00000ddd: JUMPI
00000dde: PUSH1 0x20
00000de0: PUSH1 0x09
00000de2: SLOAD
00000de3: PUSH1 0x40
00000de5: MLOAD
00000de6: SWAP1
00000de7: DUP2
00000de8: MSTORE
00000de9: RETURN
00000dea: JUMPDEST
00000deb: PUSH16 0xffffffffffffffffffffffffffffffff
00000dfc: DUP2
00000dfd: AND
00000dfe: SUB
00000dff: PUSH2 0x03fe
00000e02: JUMPI
00000e03: JUMP
00000e04: JUMPDEST
00000e05: PUSH1 0x60
00000e07: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000e28: CALLDATASIZE
00000e29: ADD
00000e2a: SLT
00000e2b: PUSH2 0x03fe
00000e2e: JUMPI
00000e2f: PUSH1 0x04
00000e31: CALLDATALOAD
00000e32: PUSH1 0x24
00000e34: CALLDATALOAD
00000e35: PUSH2 0x0e3d
00000e38: DUP2
00000e39: PUSH2 0x0dea
00000e3c: JUMP
00000e3d: JUMPDEST
00000e3e: PUSH1 0x44
00000e40: CALLDATALOAD
00000e41: SWAP1
00000e42: PUSH2 0x0e4a
00000e45: DUP3
00000e46: PUSH2 0x0dea
00000e49: JUMP
00000e4a: JUMPDEST
00000e4b: PUSH2 0x0e52
00000e4e: PUSH2 0x3de7
00000e51: JUMP
00000e52: JUMPDEST
00000e53: PUSH2 0x0e5b
00000e56: DUP4
00000e57: PUSH2 0x3d5d
00000e5a: JUMP
00000e5b: JUMPDEST
00000e5c: DUP3
00000e5d: PUSH0
00000e5e: MSTORE
00000e5f: PUSH1 0x0b
00000e61: PUSH1 0x20
00000e63: MSTORE
00000e64: PUSH1 0xff
00000e66: PUSH1 0x01
00000e68: PUSH1 0x40
00000e6a: PUSH0
00000e6b: KECCAK256
00000e6c: ADD
00000e6d: SLOAD
00000e6e: PUSH1 0xd8
00000e70: SHR
00000e71: AND
00000e72: PUSH2 0x0f09
00000e75: JUMPI
00000e76: DUP3
00000e77: PUSH0
00000e78: MSTORE
00000e79: PUSH1 0x0b
00000e7b: PUSH1 0x20
00000e7d: MSTORE
00000e7e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e93: PUSH1 0x01
00000e95: PUSH1 0x40
00000e97: PUSH0
00000e98: KECCAK256
00000e99: ADD
00000e9a: SLOAD
00000e9b: AND
00000e9c: CALLER
00000e9d: SUB
00000e9e: PUSH2 0x0ed9
00000ea1: JUMPI
00000ea2: SWAP2
00000ea3: PUSH2 0x0afc
00000ea6: PUSH1 0x20
00000ea8: SWAP3
00000ea9: PUSH2 0x0ed3
00000eac: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00000ecd: SWAP6
00000ece: DUP5
00000ecf: PUSH2 0x4235
00000ed2: JUMP
00000ed3: JUMPDEST
00000ed4: DUP3
00000ed5: PUSH2 0x42c2
00000ed8: JUMP
00000ed9: JUMPDEST
00000eda: DUP3
00000edb: PUSH32 0x87cca8a800000000000000000000000000000000000000000000000000000000
00000efc: PUSH0
00000efd: MSTORE
00000efe: PUSH1 0x04
00000f00: MSTORE
00000f01: CALLER
00000f02: PUSH1 0x24
00000f04: MSTORE
00000f05: PUSH1 0x44
00000f07: PUSH0
00000f08: REVERT
00000f09: JUMPDEST
00000f0a: DUP3
00000f0b: PUSH32 0x271c0f9d00000000000000000000000000000000000000000000000000000000
00000f2c: PUSH0
00000f2d: MSTORE
00000f2e: PUSH1 0x04
00000f30: MSTORE
00000f31: PUSH1 0x24
00000f33: PUSH0
00000f34: REVERT
00000f35: JUMPDEST
00000f36: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000f57: PUSH1 0x60
00000f59: SWAP2
00000f5a: ADD
00000f5b: SLT
00000f5c: PUSH2 0x03fe
00000f5f: JUMPI
00000f60: PUSH1 0x04
00000f62: CALLDATALOAD
00000f63: PUSH2 0x0f6b
00000f66: DUP2
00000f67: PUSH2 0x079b
00000f6a: JUMP
00000f6b: JUMPDEST
00000f6c: SWAP1
00000f6d: PUSH1 0x24
00000f6f: CALLDATALOAD
00000f70: PUSH2 0x0f78
00000f73: DUP2
00000f74: PUSH2 0x079b
00000f77: JUMP
00000f78: JUMPDEST
00000f79: SWAP1
00000f7a: PUSH1 0x44
00000f7c: CALLDATALOAD
00000f7d: SWAP1
00000f7e: JUMP
00000f7f: JUMPDEST
00000f80: CALLVALUE
00000f81: PUSH2 0x03fe
00000f84: JUMPI
00000f85: PUSH2 0x08a9
00000f88: PUSH2 0x0f90
00000f8b: CALLDATASIZE
00000f8c: PUSH2 0x0f35
00000f8f: JUMP
00000f90: JUMPDEST
00000f91: SWAP2
00000f92: PUSH2 0x370e
00000f95: JUMP
00000f96: JUMPDEST
00000f97: PUSH1 0x60
00000f99: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000fba: CALLDATASIZE
00000fbb: ADD
00000fbc: SLT
00000fbd: PUSH2 0x03fe
00000fc0: JUMPI
00000fc1: PUSH2 0x08a9
00000fc4: PUSH1 0x04
00000fc6: CALLDATALOAD
00000fc7: PUSH2 0x0fcf
00000fca: DUP2
00000fcb: PUSH2 0x079b
00000fce: JUMP
00000fcf: JUMPDEST
00000fd0: PUSH1 0x24
00000fd2: CALLDATALOAD
00000fd3: PUSH2 0x0fdb
00000fd6: DUP2
00000fd7: PUSH2 0x079b
00000fda: JUMP
00000fdb: JUMPDEST
00000fdc: PUSH16 0xffffffffffffffffffffffffffffffff
00000fed: PUSH1 0x44
00000fef: CALLDATALOAD
00000ff0: PUSH2 0x0ff8
00000ff3: DUP2
00000ff4: PUSH2 0x0dea
00000ff7: JUMP
00000ff8: JUMPDEST
00000ff9: AND
00000ffa: SWAP2
00000ffb: CALLER
00000ffc: SWAP1
00000ffd: PUSH2 0x4424
00001000: JUMP
00001001: JUMPDEST
00001002: PUSH1 0x64
00001004: CALLDATALOAD
00001005: SWAP1
00001006: PUSH5 0xffffffffff
0000100c: DUP3
0000100d: AND
0000100e: DUP3
0000100f: SUB
00001010: PUSH2 0x03fe
00001013: JUMPI
00001014: JUMP
00001015: JUMPDEST
00001016: DUP1
00001017: ISZERO
00001018: ISZERO
00001019: SUB
0000101a: PUSH2 0x03fe
0000101d: JUMPI
0000101e: JUMP
0000101f: JUMPDEST
00001020: PUSH1 0xe0
00001022: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001043: CALLDATASIZE
00001044: ADD
00001045: SLT
00001046: PUSH2 0x03fe
00001049: JUMPI
0000104a: PUSH1 0x20
0000104c: PUSH1 0x04
0000104e: CALLDATALOAD
0000104f: PUSH2 0x1057
00001052: DUP2
00001053: PUSH2 0x079b
00001056: JUMP
00001057: JUMPDEST
00001058: PUSH2 0x0793
0000105b: PUSH2 0x10b1
0000105e: PUSH1 0x24
00001060: CALLDATALOAD
00001061: PUSH2 0x1069
00001064: DUP2
00001065: PUSH2 0x079b
00001068: JUMP
00001069: JUMPDEST
0000106a: PUSH1 0x44
0000106c: CALLDATALOAD
0000106d: PUSH2 0x1075
00001070: DUP2
00001071: PUSH2 0x0dea
00001074: JUMP
00001075: JUMPDEST
00001076: PUSH2 0x107d
00001079: PUSH2 0x1001
0000107c: JUMP
0000107d: JUMPDEST
0000107e: PUSH1 0x84
00001080: CALLDATALOAD
00001081: SWAP2
00001082: PUSH2 0x108a
00001085: DUP4
00001086: PUSH2 0x079b
00001089: JUMP
0000108a: JUMPDEST
0000108b: PUSH1 0xa4
0000108d: CALLDATALOAD
0000108e: SWAP4
0000108f: PUSH2 0x1097
00001092: DUP6
00001093: PUSH2 0x1015
00001096: JUMP
00001097: JUMPDEST
00001098: PUSH1 0xc4
0000109a: CALLDATALOAD
0000109b: SWAP8
0000109c: PUSH2 0x10a4
0000109f: DUP10
000010a0: PUSH2 0x0dea
000010a3: JUMP
000010a4: JUMPDEST
000010a5: PUSH2 0x10ac
000010a8: PUSH2 0x3de7
000010ab: JUMP
000010ac: JUMPDEST
000010ad: PUSH2 0x47bf
000010b0: JUMP
000010b1: JUMPDEST
000010b2: SWAP2
000010b3: DUP3
000010b4: PUSH2 0x42c2
000010b7: JUMP
000010b8: JUMPDEST
000010b9: PUSH1 0x40
000010bb: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000010dc: CALLDATASIZE
000010dd: ADD
000010de: SLT
000010df: PUSH2 0x03fe
000010e2: JUMPI
000010e3: PUSH1 0x04
000010e5: CALLDATALOAD
000010e6: PUSH1 0x24
000010e8: CALLDATALOAD
000010e9: PUSH2 0x10f1
000010ec: DUP2
000010ed: PUSH2 0x0dea
000010f0: JUMP
000010f1: JUMPDEST
000010f2: PUSH2 0x10f9
000010f5: PUSH2 0x3de7
000010f8: JUMP
000010f9: JUMPDEST
000010fa: PUSH2 0x1102
000010fd: DUP3
000010fe: PUSH2 0x3d5d
00001101: JUMP
00001102: JUMPDEST
00001103: DUP2
00001104: PUSH0
00001105: MSTORE
00001106: PUSH1 0x0b
00001108: PUSH1 0x20
0000110a: MSTORE
0000110b: PUSH1 0x40
0000110d: PUSH0
0000110e: KECCAK256
0000110f: SLOAD
00001110: PUSH1 0x80
00001112: SHR
00001113: ISZERO
00001114: PUSH2 0x11aa
00001117: JUMPI
00001118: DUP2
00001119: PUSH0
0000111a: MSTORE
0000111b: PUSH1 0x0b
0000111d: PUSH1 0x20
0000111f: MSTORE
00001120: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001135: PUSH1 0x01
00001137: PUSH1 0x40
00001139: PUSH0
0000113a: KECCAK256
0000113b: ADD
0000113c: SLOAD
0000113d: AND
0000113e: CALLER
0000113f: SUB
00001140: PUSH2 0x117a
00001143: JUMPI
00001144: DUP2
00001145: PUSH2 0x1171
00001148: PUSH1 0x20
0000114a: SWAP3
0000114b: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
0000116c: SWAP5
0000116d: PUSH2 0x3eb2
00001170: JUMP
00001171: JUMPDEST
00001172: PUSH2 0x0afc
00001175: DUP2
00001176: PUSH2 0x412c
00001179: JUMP
0000117a: JUMPDEST
0000117b: POP
0000117c: PUSH32 0x87cca8a800000000000000000000000000000000000000000000000000000000
0000119d: PUSH0
0000119e: MSTORE
0000119f: PUSH1 0x04
000011a1: MSTORE
000011a2: CALLER
000011a3: PUSH1 0x24
000011a5: MSTORE
000011a6: PUSH1 0x44
000011a8: PUSH0
000011a9: REVERT
000011aa: JUMPDEST
000011ab: POP
000011ac: PUSH32 0x28a1df1c00000000000000000000000000000000000000000000000000000000
000011cd: PUSH0
000011ce: MSTORE
000011cf: PUSH1 0x04
000011d1: MSTORE
000011d2: PUSH1 0x24
000011d4: PUSH0
000011d5: REVERT
000011d6: JUMPDEST
000011d7: CALLVALUE
000011d8: PUSH2 0x03fe
000011db: JUMPI
000011dc: PUSH2 0x08a9
000011df: PUSH2 0x11e7
000011e2: CALLDATASIZE
000011e3: PUSH2 0x0f35
000011e6: JUMP
000011e7: JUMPDEST
000011e8: SWAP1
000011e9: PUSH1 0x40
000011eb: MLOAD
000011ec: SWAP3
000011ed: PUSH2 0x11f7
000011f0: PUSH1 0x20
000011f2: DUP6
000011f3: PUSH2 0x2c47
000011f6: JUMP
000011f7: JUMPDEST
000011f8: PUSH0
000011f9: DUP5
000011fa: MSTORE
000011fb: PUSH2 0x39de
000011fe: JUMP
000011ff: JUMPDEST
00001200: CALLVALUE
00001201: PUSH2 0x03fe
00001204: JUMPI
00001205: PUSH1 0x20
00001207: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001228: CALLDATASIZE
00001229: ADD
0000122a: SLT
0000122b: PUSH2 0x03fe
0000122e: JUMPI
0000122f: PUSH1 0x20
00001231: PUSH2 0x0b75
00001234: PUSH1 0x04
00001236: CALLDATALOAD
00001237: PUSH2 0x123f
0000123a: DUP2
0000123b: PUSH2 0x3d5d
0000123e: JUMP
0000123f: JUMPDEST
00001240: PUSH2 0x4b05
00001243: JUMP
00001244: JUMPDEST
00001245: CALLVALUE
00001246: PUSH2 0x03fe
00001249: JUMPI
0000124a: PUSH0
0000124b: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000126c: CALLDATASIZE
0000126d: ADD
0000126e: SLT
0000126f: PUSH2 0x03fe
00001272: JUMPI
00001273: PUSH1 0x20
00001275: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000128a: PUSH1 0x0a
0000128c: SLOAD
0000128d: AND
0000128e: PUSH1 0x40
00001290: MLOAD
00001291: SWAP1
00001292: DUP2
00001293: MSTORE
00001294: RETURN
00001295: JUMPDEST
00001296: CALLVALUE
00001297: PUSH2 0x03fe
0000129a: JUMPI
0000129b: PUSH1 0x20
0000129d: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000012be: CALLDATASIZE
000012bf: ADD
000012c0: SLT
000012c1: PUSH2 0x03fe
000012c4: JUMPI
000012c5: PUSH1 0x04
000012c7: CALLDATALOAD
000012c8: PUSH2 0x12d0
000012cb: DUP2
000012cc: PUSH2 0x3d5d
000012cf: JUMP
000012d0: JUMPDEST
000012d1: PUSH0
000012d2: MSTORE
000012d3: PUSH1 0x0b
000012d5: PUSH1 0x20
000012d7: MSTORE
000012d8: PUSH1 0x20
000012da: PUSH1 0x03
000012dc: PUSH1 0x40
000012de: PUSH0
000012df: KECCAK256
000012e0: ADD
000012e1: SLOAD
000012e2: PUSH1 0x40
000012e4: MLOAD
000012e5: SWAP1
000012e6: DUP2
000012e7: MSTORE
000012e8: RETURN
000012e9: JUMPDEST
000012ea: CALLVALUE
000012eb: PUSH2 0x03fe
000012ee: JUMPI
000012ef: PUSH1 0x20
000012f1: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001312: CALLDATASIZE
00001313: ADD
00001314: SLT
00001315: PUSH2 0x03fe
00001318: JUMPI
00001319: PUSH1 0x04
0000131b: CALLDATALOAD
0000131c: PUSH2 0x1324
0000131f: DUP2
00001320: PUSH2 0x3d5d
00001323: JUMP
00001324: JUMPDEST
00001325: PUSH0
00001326: MSTORE
00001327: PUSH1 0x0b
00001329: PUSH1 0x20
0000132b: MSTORE
0000132c: PUSH1 0x20
0000132e: PUSH1 0xff
00001330: PUSH1 0x01
00001332: PUSH1 0x40
00001334: PUSH0
00001335: KECCAK256
00001336: ADD
00001337: SLOAD
00001338: PUSH1 0xd8
0000133a: SHR
0000133b: AND
0000133c: PUSH1 0x40
0000133e: MLOAD
0000133f: SWAP1
00001340: ISZERO
00001341: ISZERO
00001342: DUP2
00001343: MSTORE
00001344: RETURN
00001345: JUMPDEST
00001346: PUSH1 0x20
00001348: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001369: CALLDATASIZE
0000136a: ADD
0000136b: SLT
0000136c: PUSH2 0x03fe
0000136f: JUMPI
00001370: PUSH1 0x04
00001372: CALLDATALOAD
00001373: PUSH2 0x137a
00001376: PUSH2 0x3de7
00001379: JUMP
0000137a: JUMPDEST
0000137b: PUSH2 0x1383
0000137e: DUP2
0000137f: PUSH2 0x3d5d
00001382: JUMP
00001383: JUMPDEST
00001384: DUP1
00001385: PUSH0
00001386: MSTORE
00001387: PUSH1 0x0b
00001389: PUSH1 0x20
0000138b: MSTORE
0000138c: PUSH1 0xff
0000138e: PUSH1 0x01
00001390: PUSH1 0x40
00001392: PUSH0
00001393: KECCAK256
00001394: ADD
00001395: SLOAD
00001396: PUSH1 0xd8
00001398: SHR
00001399: AND
0000139a: PUSH2 0x173c
0000139d: JUMPI
0000139e: PUSH2 0x13eb
000013a1: PUSH2 0x13d2
000013a4: PUSH1 0x01
000013a6: PUSH2 0x13b7
000013a9: DUP5
000013aa: PUSH0
000013ab: MSTORE
000013ac: PUSH1 0x0b
000013ae: PUSH1 0x20
000013b0: MSTORE
000013b1: PUSH1 0x40
000013b3: PUSH0
000013b4: KECCAK256
000013b5: SWAP1
000013b6: JUMP
000013b7: JUMPDEST
000013b8: ADD
000013b9: SLOAD
000013ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013cf: AND
000013d0: SWAP1
000013d1: JUMP
000013d2: JUMPDEST
000013d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013e8: AND
000013e9: SWAP1
000013ea: JUMP
000013eb: JUMPDEST
000013ec: CALLER
000013ed: EQ
000013ee: ISZERO
000013ef: DUP1
000013f0: PUSH2 0x1711
000013f3: JUMPI
000013f4: JUMPDEST
000013f5: PUSH2 0x16e2
000013f8: JUMPI
000013f9: PUSH2 0x1632
000013fc: DUP2
000013fd: PUSH2 0x1426
00001400: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00001421: SWAP4
00001422: PUSH2 0x4d78
00001425: JUMP
00001426: JUMPDEST
00001427: DUP1
00001428: PUSH2 0x165f
0000142b: JUMPI
0000142c: PUSH2 0x1434
0000142f: DUP3
00001430: PUSH2 0x4c02
00001433: JUMP
00001434: JUMPDEST
00001435: DUP1
00001436: PUSH2 0x1637
00001439: JUMPI
0000143a: JUMPDEST
0000143b: POP
0000143c: JUMPDEST
0000143d: PUSH2 0x14a6
00001440: PUSH5 0xffffffffff
00001446: TIMESTAMP
00001447: AND
00001448: PUSH1 0x01
0000144a: PUSH2 0x145b
0000144d: DUP6
0000144e: PUSH0
0000144f: MSTORE
00001450: PUSH1 0x0b
00001452: PUSH1 0x20
00001454: MSTORE
00001455: PUSH1 0x40
00001457: PUSH0
00001458: KECCAK256
00001459: SWAP1
0000145a: JUMP
0000145b: JUMPDEST
0000145c: ADD
0000145d: SWAP1
0000145e: PUSH32 0xffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff
0000147f: PUSH25 0xffffffffff0000000000000000000000000000000000000000
00001499: DUP4
0000149a: SLOAD
0000149b: SWAP3
0000149c: PUSH1 0xa0
0000149e: SHL
0000149f: AND
000014a0: SWAP2
000014a1: AND
000014a2: OR
000014a3: SWAP1
000014a4: SSTORE
000014a5: JUMP
000014a6: JUMPDEST
000014a7: PUSH2 0x14fd
000014aa: PUSH0
000014ab: PUSH2 0x14bc
000014ae: DUP5
000014af: PUSH0
000014b0: MSTORE
000014b1: PUSH1 0x0b
000014b3: PUSH1 0x20
000014b5: MSTORE
000014b6: PUSH1 0x40
000014b8: PUSH0
000014b9: KECCAK256
000014ba: SWAP1
000014bb: JUMP
000014bc: JUMPDEST
000014bd: SWAP1
000014be: PUSH16 0xffffffffffffffffffffffffffffffff
000014cf: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
000014f0: DUP4
000014f1: SLOAD
000014f2: SWAP3
000014f3: PUSH1 0x80
000014f5: SHL
000014f6: AND
000014f7: SWAP2
000014f8: AND
000014f9: OR
000014fa: SWAP1
000014fb: SSTORE
000014fc: JUMP
000014fd: JUMPDEST
000014fe: PUSH2 0x155b
00001501: PUSH1 0x01
00001503: PUSH2 0x1514
00001506: DUP5
00001507: PUSH0
00001508: MSTORE
00001509: PUSH1 0x0b
0000150b: PUSH1 0x20
0000150d: MSTORE
0000150e: PUSH1 0x40
00001510: PUSH0
00001511: KECCAK256
00001512: SWAP1
00001513: JUMP
00001514: JUMPDEST
00001515: ADD
00001516: PUSH28 0x01000000000000000000000000000000000000000000000000000000
00001533: PUSH32 0xffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001554: DUP3
00001555: SLOAD
00001556: AND
00001557: OR
00001558: SWAP1
00001559: SSTORE
0000155a: JUMP
0000155b: JUMPDEST
0000155c: PUSH2 0x1572
0000155f: PUSH1 0x01
00001561: PUSH2 0x13b7
00001564: DUP5
00001565: PUSH0
00001566: MSTORE
00001567: PUSH1 0x0b
00001569: PUSH1 0x20
0000156b: MSTORE
0000156c: PUSH1 0x40
0000156e: PUSH0
0000156f: KECCAK256
00001570: SWAP1
00001571: JUMP
00001572: JUMPDEST
00001573: SWAP1
00001574: DUP3
00001575: PUSH32 0xa8e3d71a6c0c719305004b430f6d17f12536f7b803db23a4d7016f5b52699a8c
00001596: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015ab: PUSH2 0x15d9
000015ae: PUSH2 0x15bf
000015b1: DUP5
000015b2: PUSH0
000015b3: MSTORE
000015b4: PUSH1 0x03
000015b6: PUSH1 0x20
000015b8: MSTORE
000015b9: PUSH1 0x40
000015bb: PUSH0
000015bc: KECCAK256
000015bd: SWAP1
000015be: JUMP
000015bf: JUMPDEST
000015c0: SLOAD
000015c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015d6: AND
000015d7: SWAP1
000015d8: JUMP
000015d9: JUMPDEST
000015da: PUSH2 0x161f
000015dd: PUSH2 0x15e5
000015e0: DUP6
000015e1: PUSH2 0x3da6
000015e4: JUMP
000015e5: JUMPDEST
000015e6: SWAP6
000015e7: DUP4
000015e8: PUSH1 0x40
000015ea: MLOAD
000015eb: SWAP5
000015ec: DUP6
000015ed: SWAP5
000015ee: AND
000015ef: SWAP9
000015f0: AND
000015f1: SWAP7
000015f2: CALLER
000015f3: DUP5
000015f4: PUSH1 0x40
000015f6: SWAP2
000015f7: SWAP5
000015f8: SWAP4
000015f9: SWAP3
000015fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000160f: PUSH1 0x60
00001611: DUP4
00001612: ADD
00001613: SWAP7
00001614: AND
00001615: DUP3
00001616: MSTORE
00001617: PUSH1 0x20
00001619: DUP3
0000161a: ADD
0000161b: MSTORE
0000161c: ADD
0000161d: MSTORE
0000161e: JUMP
0000161f: JUMPDEST
00001620: SUB
00001621: SWAP1
00001622: LOG4
00001623: PUSH1 0x40
00001625: MLOAD
00001626: SWAP1
00001627: DUP2
00001628: MSTORE
00001629: SWAP1
0000162a: DUP2
0000162b: SWAP1
0000162c: PUSH1 0x20
0000162e: DUP3
0000162f: ADD
00001630: SWAP1
00001631: JUMP
00001632: JUMPDEST
00001633: SUB
00001634: SWAP1
00001635: LOG1
00001636: STOP
00001637: JUMPDEST
00001638: PUSH2 0x1657
0000163b: PUSH1 0x03
0000163d: PUSH2 0x164e
00001640: DUP6
00001641: PUSH0
00001642: MSTORE
00001643: PUSH1 0x0b
00001645: PUSH1 0x20
00001647: MSTORE
00001648: PUSH1 0x40
0000164a: PUSH0
0000164b: KECCAK256
0000164c: SWAP1
0000164d: JUMP
0000164e: JUMPDEST
0000164f: ADD
00001650: SWAP2
00001651: DUP3
00001652: SLOAD
00001653: PUSH2 0x3b6d
00001656: JUMP
00001657: JUMPDEST
00001658: SWAP1
00001659: SSTORE
0000165a: PUSH0
0000165b: PUSH2 0x143a
0000165e: JUMP
0000165f: JUMPDEST
00001660: PUSH2 0x16c7
00001663: PUSH2 0x168d
00001666: PUSH2 0x1677
00001669: DUP5
0000166a: PUSH0
0000166b: MSTORE
0000166c: PUSH1 0x0b
0000166e: PUSH1 0x20
00001670: MSTORE
00001671: PUSH1 0x40
00001673: PUSH0
00001674: KECCAK256
00001675: SWAP1
00001676: JUMP
00001677: JUMPDEST
00001678: SLOAD
00001679: PUSH16 0xffffffffffffffffffffffffffffffff
0000168a: AND
0000168b: SWAP1
0000168c: JUMP
0000168d: JUMPDEST
0000168e: PUSH16 0xffffffffffffffffffffffffffffffff
0000169f: PUSH2 0x16c0
000016a2: PUSH1 0x02
000016a4: PUSH2 0x16b5
000016a7: DUP8
000016a8: PUSH0
000016a9: MSTORE
000016aa: PUSH1 0x0b
000016ac: PUSH1 0x20
000016ae: MSTORE
000016af: PUSH1 0x40
000016b1: PUSH0
000016b2: KECCAK256
000016b3: SWAP1
000016b4: JUMP
000016b5: JUMPDEST
000016b6: ADD
000016b7: SLOAD
000016b8: PUSH1 0xa0
000016ba: SHR
000016bb: PUSH1 0xff
000016bd: AND
000016be: SWAP1
000016bf: JUMP
000016c0: JUMPDEST
000016c1: SWAP2
000016c2: AND
000016c3: PUSH2 0x4e0d
000016c6: JUMP
000016c7: JUMPDEST
000016c8: PUSH1 0x03
000016ca: PUSH2 0x16db
000016cd: DUP5
000016ce: PUSH0
000016cf: MSTORE
000016d0: PUSH1 0x0b
000016d2: PUSH1 0x20
000016d4: MSTORE
000016d5: PUSH1 0x40
000016d7: PUSH0
000016d8: KECCAK256
000016d9: SWAP1
000016da: JUMP
000016db: JUMPDEST
000016dc: ADD
000016dd: SSTORE
000016de: PUSH2 0x143c
000016e1: JUMP
000016e2: JUMPDEST
000016e3: PUSH32 0xa9ad2a2200000000000000000000000000000000000000000000000000000000
00001704: PUSH0
00001705: MSTORE
00001706: PUSH1 0x04
00001708: MSTORE
00001709: CALLER
0000170a: PUSH1 0x24
0000170c: MSTORE
0000170d: PUSH1 0x44
0000170f: PUSH0
00001710: REVERT
00001711: JUMPDEST
00001712: POP
00001713: PUSH2 0x1737
00001716: PUSH2 0x1733
00001719: PUSH2 0x172d
0000171c: PUSH2 0x15bf
0000171f: DUP5
00001720: PUSH0
00001721: MSTORE
00001722: PUSH1 0x03
00001724: PUSH1 0x20
00001726: MSTORE
00001727: PUSH1 0x40
00001729: PUSH0
0000172a: KECCAK256
0000172b: SWAP1
0000172c: JUMP
0000172d: JUMPDEST
0000172e: DUP4
0000172f: PUSH2 0x5734
00001732: JUMP
00001733: JUMPDEST
00001734: ISZERO
00001735: SWAP1
00001736: JUMP
00001737: JUMPDEST
00001738: PUSH2 0x13f4
0000173b: JUMP
0000173c: JUMPDEST
0000173d: PUSH32 0x271c0f9d00000000000000000000000000000000000000000000000000000000
0000175e: PUSH0
0000175f: MSTORE
00001760: PUSH1 0x04
00001762: MSTORE
00001763: PUSH1 0x24
00001765: PUSH0
00001766: REVERT
00001767: JUMPDEST
00001768: PUSH1 0xc0
0000176a: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000178b: CALLDATASIZE
0000178c: ADD
0000178d: SLT
0000178e: PUSH2 0x03fe
00001791: JUMPI
00001792: PUSH1 0x20
00001794: PUSH2 0x0793
00001797: PUSH1 0x04
00001799: CALLDATALOAD
0000179a: PUSH2 0x17a2
0000179d: DUP2
0000179e: PUSH2 0x079b
000017a1: JUMP
000017a2: JUMPDEST
000017a3: PUSH1 0x24
000017a5: CALLDATALOAD
000017a6: PUSH2 0x17ae
000017a9: DUP2
000017aa: PUSH2 0x079b
000017ad: JUMP
000017ae: JUMPDEST
000017af: PUSH1 0x44
000017b1: CALLDATALOAD
000017b2: PUSH2 0x17ba
000017b5: DUP2
000017b6: PUSH2 0x0dea
000017b9: JUMP
000017ba: JUMPDEST
000017bb: PUSH2 0x17c2
000017be: PUSH2 0x1001
000017c1: JUMP
000017c2: JUMPDEST
000017c3: SWAP1
000017c4: PUSH1 0x84
000017c6: CALLDATALOAD
000017c7: SWAP3
000017c8: PUSH2 0x17d0
000017cb: DUP5
000017cc: PUSH2 0x079b
000017cf: JUMP
000017d0: JUMPDEST
000017d1: PUSH1 0xa4
000017d3: CALLDATALOAD
000017d4: SWAP5
000017d5: PUSH2 0x10a4
000017d8: DUP7
000017d9: PUSH2 0x1015
000017dc: JUMP
000017dd: JUMPDEST
000017de: CALLVALUE
000017df: PUSH2 0x03fe
000017e2: JUMPI
000017e3: PUSH0
000017e4: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001805: CALLDATASIZE
00001806: ADD
00001807: SLT
00001808: PUSH2 0x03fe
0000180b: JUMPI
0000180c: PUSH1 0x20
0000180e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001823: PUSH0
00001824: SLOAD
00001825: AND
00001826: PUSH1 0x40
00001828: MLOAD
00001829: SWAP1
0000182a: DUP2
0000182b: MSTORE
0000182c: RETURN
0000182d: JUMPDEST
0000182e: CALLVALUE
0000182f: PUSH2 0x03fe
00001832: JUMPI
00001833: PUSH1 0x20
00001835: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001856: CALLDATASIZE
00001857: ADD
00001858: SLT
00001859: PUSH2 0x03fe
0000185c: JUMPI
0000185d: PUSH1 0x20
0000185f: PUSH2 0x1869
00001862: PUSH1 0x04
00001864: CALLDATALOAD
00001865: PUSH2 0x3d04
00001868: JUMP
00001869: JUMPDEST
0000186a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000187f: PUSH1 0x40
00001881: MLOAD
00001882: SWAP2
00001883: AND
00001884: DUP2
00001885: MSTORE
00001886: RETURN
00001887: JUMPDEST
00001888: CALLVALUE
00001889: PUSH2 0x03fe
0000188c: JUMPI
0000188d: PUSH1 0x40
0000188f: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000018b0: CALLDATASIZE
000018b1: ADD
000018b2: SLT
000018b3: PUSH2 0x03fe
000018b6: JUMPI
000018b7: PUSH1 0x04
000018b9: CALLDATALOAD
000018ba: PUSH2 0x18c2
000018bd: DUP2
000018be: PUSH2 0x079b
000018c1: JUMP
000018c2: JUMPDEST
000018c3: PUSH1 0x24
000018c5: CALLDATALOAD
000018c6: PUSH2 0x18ce
000018c9: DUP2
000018ca: PUSH2 0x079b
000018cd: JUMP
000018ce: JUMPDEST
000018cf: PUSH2 0x18d6
000018d2: PUSH2 0x4b4f
000018d5: JUMP
000018d6: JUMPDEST
000018d7: PUSH1 0x40
000018d9: MLOAD
000018da: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
000018fb: DUP2
000018fc: MSTORE
000018fd: ADDRESS
000018fe: PUSH1 0x04
00001900: DUP3
00001901: ADD
00001902: MSTORE
00001903: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001918: DUP4
00001919: AND
0000191a: SWAP3
0000191b: SWAP1
0000191c: PUSH1 0x20
0000191e: DUP2
0000191f: PUSH1 0x24
00001921: DUP2
00001922: DUP8
00001923: GAS
00001924: STATICCALL
00001925: DUP1
00001926: ISZERO
00001927: PUSH2 0x1a70
0000192a: JUMPI
0000192b: PUSH2 0x1965
0000192e: SWAP2
0000192f: PUSH0
00001930: SWAP2
00001931: PUSH2 0x1a41
00001934: JUMPI
00001935: JUMPDEST
00001936: POP
00001937: PUSH2 0x195e
0000193a: DUP4
0000193b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001950: AND
00001951: PUSH0
00001952: MSTORE
00001953: PUSH1 0x07
00001955: PUSH1 0x20
00001957: MSTORE
00001958: PUSH1 0x40
0000195a: PUSH0
0000195b: KECCAK256
0000195c: SWAP1
0000195d: JUMP
0000195e: JUMPDEST
0000195f: SLOAD
00001960: SWAP1
00001961: PUSH2 0x38e5
00001964: JUMP
00001965: JUMPDEST
00001966: SWAP1
00001967: DUP2
00001968: ISZERO
00001969: PUSH2 0x19ff
0000196c: JUMPI
0000196d: SWAP1
0000196e: PUSH2 0x1999
00001971: DUP2
00001972: DUP5
00001973: PUSH32 0x21252411d5a999da4bc6a490f7143b61ba690edceb4577a2800eab8dfbb1e92c
00001994: SWAP5
00001995: PUSH2 0x4ba0
00001998: JUMP
00001999: JUMPDEST
0000199a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019af: PUSH2 0x19cc
000019b2: PUSH0
000019b3: SLOAD
000019b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019c9: AND
000019ca: SWAP1
000019cb: JUMP
000019cc: JUMPDEST
000019cd: PUSH1 0x40
000019cf: DUP1
000019d0: MLOAD
000019d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019e6: SWAP1
000019e7: SWAP7
000019e8: AND
000019e9: DUP7
000019ea: MSTORE
000019eb: PUSH1 0x20
000019ed: DUP7
000019ee: ADD
000019ef: SWAP4
000019f0: SWAP1
000019f1: SWAP4
000019f2: MSTORE
000019f3: AND
000019f4: SWAP3
000019f5: SWAP1
000019f6: DUP2
000019f7: SWAP1
000019f8: DUP2
000019f9: ADD
000019fa: JUMPDEST
000019fb: SUB
000019fc: SWAP1
000019fd: LOG3
000019fe: STOP
000019ff: JUMPDEST
00001a00: PUSH32 0x9d00036900000000000000000000000000000000000000000000000000000000
00001a21: PUSH0
00001a22: MSTORE
00001a23: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a38: DUP5
00001a39: AND
00001a3a: PUSH1 0x04
00001a3c: MSTORE
00001a3d: PUSH1 0x24
00001a3f: PUSH0
00001a40: REVERT
00001a41: JUMPDEST
00001a42: PUSH2 0x1a63
00001a45: SWAP2
00001a46: POP
00001a47: PUSH1 0x20
00001a49: RETURNDATASIZE
00001a4a: PUSH1 0x20
00001a4c: GT
00001a4d: PUSH2 0x1a69
00001a50: JUMPI
00001a51: JUMPDEST
00001a52: PUSH2 0x1a5b
00001a55: DUP2
00001a56: DUP4
00001a57: PUSH2 0x2c47
00001a5a: JUMP
00001a5b: JUMPDEST
00001a5c: DUP2
00001a5d: ADD
00001a5e: SWAP1
00001a5f: PUSH2 0x386c
00001a62: JUMP
00001a63: JUMPDEST
00001a64: PUSH0
00001a65: PUSH2 0x1935
00001a68: JUMP
00001a69: JUMPDEST
00001a6a: POP
00001a6b: RETURNDATASIZE
00001a6c: PUSH2 0x1a51
00001a6f: JUMP
00001a70: JUMPDEST
00001a71: PUSH2 0x387b
00001a74: JUMP
00001a75: JUMPDEST
00001a76: CALLVALUE
00001a77: PUSH2 0x03fe
00001a7a: JUMPI
00001a7b: PUSH1 0x20
00001a7d: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001a9e: CALLDATASIZE
00001a9f: ADD
00001aa0: SLT
00001aa1: PUSH2 0x03fe
00001aa4: JUMPI
00001aa5: PUSH1 0x20
00001aa7: PUSH2 0x1869
00001aaa: PUSH1 0x04
00001aac: CALLDATALOAD
00001aad: PUSH2 0x1ab5
00001ab0: DUP2
00001ab1: PUSH2 0x3d5d
00001ab4: JUMP
00001ab5: JUMPDEST
00001ab6: PUSH2 0x3d04
00001ab9: JUMP
00001aba: JUMPDEST
00001abb: CALLVALUE
00001abc: PUSH2 0x03fe
00001abf: JUMPI
00001ac0: PUSH1 0x20
00001ac2: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001ae3: CALLDATASIZE
00001ae4: ADD
00001ae5: SLT
00001ae6: PUSH2 0x03fe
00001ae9: JUMPI
00001aea: PUSH1 0x04
00001aec: CALLDATALOAD
00001aed: PUSH2 0x1af5
00001af0: DUP2
00001af1: PUSH2 0x079b
00001af4: JUMP
00001af5: JUMPDEST
00001af6: PUSH2 0x1afd
00001af9: PUSH2 0x4b4f
00001afc: JUMP
00001afd: JUMPDEST
00001afe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b13: DUP2
00001b14: AND
00001b15: ISZERO
00001b16: PUSH2 0x1c2d
00001b19: JUMPI
00001b1a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b2f: PUSH1 0x08
00001b31: SLOAD
00001b32: AND
00001b33: DUP1
00001b34: PUSH2 0x1c02
00001b37: JUMPI
00001b38: POP
00001b39: PUSH2 0x1b7d
00001b3c: DUP2
00001b3d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b52: AND
00001b53: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00001b74: PUSH1 0x08
00001b76: SLOAD
00001b77: AND
00001b78: OR
00001b79: PUSH1 0x08
00001b7b: SSTORE
00001b7c: JUMP
00001b7d: JUMPDEST
00001b7e: PUSH32 0x7b0a5ae0a2e8f0dc2ec7555098e00dd4af1418ee3fd1bcf9bb14f6990c10fa92
00001b9f: PUSH2 0x1bfd
00001ba2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bb7: PUSH2 0x1bd4
00001bba: PUSH0
00001bbb: SLOAD
00001bbc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bd1: AND
00001bd2: SWAP1
00001bd3: JUMP
00001bd4: JUMPDEST
00001bd5: PUSH1 0x40
00001bd7: MLOAD
00001bd8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bed: SWAP1
00001bee: SWAP6
00001bef: AND
00001bf0: DUP6
00001bf1: MSTORE
00001bf2: AND
00001bf3: SWAP3
00001bf4: SWAP1
00001bf5: DUP2
00001bf6: SWAP1
00001bf7: PUSH1 0x20
00001bf9: DUP3
00001bfa: ADD
00001bfb: SWAP1
00001bfc: JUMP
00001bfd: JUMPDEST
00001bfe: SUB
00001bff: SWAP1
00001c00: LOG2
00001c01: STOP
00001c02: JUMPDEST
00001c03: PUSH32 0x25139c2b00000000000000000000000000000000000000000000000000000000
00001c24: PUSH0
00001c25: MSTORE
00001c26: PUSH1 0x04
00001c28: MSTORE
00001c29: PUSH1 0x24
00001c2b: PUSH0
00001c2c: REVERT
00001c2d: JUMPDEST
00001c2e: PUSH32 0xa20dc5d200000000000000000000000000000000000000000000000000000000
00001c4f: PUSH0
00001c50: MSTORE
00001c51: PUSH1 0x04
00001c53: PUSH0
00001c54: REVERT
00001c55: JUMPDEST
00001c56: CALLVALUE
00001c57: PUSH2 0x03fe
00001c5a: JUMPI
00001c5b: PUSH1 0x20
00001c5d: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001c7e: CALLDATASIZE
00001c7f: ADD
00001c80: SLT
00001c81: PUSH2 0x03fe
00001c84: JUMPI
00001c85: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c9a: PUSH1 0x04
00001c9c: CALLDATALOAD
00001c9d: PUSH2 0x1ca5
00001ca0: DUP2
00001ca1: PUSH2 0x079b
00001ca4: JUMP
00001ca5: JUMPDEST
00001ca6: AND
00001ca7: DUP1
00001ca8: ISZERO
00001ca9: PUSH2 0x1cc2
00001cac: JUMPI
00001cad: PUSH0
00001cae: MSTORE
00001caf: PUSH1 0x04
00001cb1: PUSH1 0x20
00001cb3: MSTORE
00001cb4: PUSH1 0x20
00001cb6: PUSH1 0x40
00001cb8: PUSH0
00001cb9: KECCAK256
00001cba: SLOAD
00001cbb: PUSH1 0x40
00001cbd: MLOAD
00001cbe: SWAP1
00001cbf: DUP2
00001cc0: MSTORE
00001cc1: RETURN
00001cc2: JUMPDEST
00001cc3: PUSH32 0x89c62b6400000000000000000000000000000000000000000000000000000000
00001ce4: PUSH0
00001ce5: MSTORE
00001ce6: PUSH0
00001ce7: PUSH1 0x04
00001ce9: MSTORE
00001cea: PUSH1 0x24
00001cec: PUSH0
00001ced: REVERT
00001cee: JUMPDEST
00001cef: CALLVALUE
00001cf0: PUSH2 0x03fe
00001cf3: JUMPI
00001cf4: PUSH0
00001cf5: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001d16: CALLDATASIZE
00001d17: ADD
00001d18: SLT
00001d19: PUSH2 0x03fe
00001d1c: JUMPI
00001d1d: SELFBALANCE
00001d1e: PUSH0
00001d1f: DUP1
00001d20: DUP1
00001d21: DUP1
00001d22: DUP5
00001d23: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d38: DUP3
00001d39: SLOAD
00001d3a: AND
00001d3b: GAS
00001d3c: CALL
00001d3d: POP
00001d3e: PUSH2 0x1d45
00001d41: PUSH2 0x36cb
00001d44: JUMP
00001d45: JUMPDEST
00001d46: POP
00001d47: PUSH32 0x56dedb874d4fc0f70753f281fa2c25e82085163206086fe826cf834b51701f6c
00001d68: PUSH1 0x20
00001d6a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d7f: PUSH0
00001d80: SLOAD
00001d81: AND
00001d82: SWAP3
00001d83: PUSH1 0x40
00001d85: MLOAD
00001d86: SWAP1
00001d87: DUP2
00001d88: MSTORE
00001d89: LOG2
00001d8a: STOP
00001d8b: JUMPDEST
00001d8c: CALLVALUE
00001d8d: PUSH2 0x03fe
00001d90: JUMPI
00001d91: PUSH1 0x20
00001d93: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001db4: CALLDATASIZE
00001db5: ADD
00001db6: SLT
00001db7: PUSH2 0x03fe
00001dba: JUMPI
00001dbb: PUSH1 0x04
00001dbd: CALLDATALOAD
00001dbe: PUSH2 0x1dc6
00001dc1: DUP2
00001dc2: PUSH2 0x079b
00001dc5: JUMP
00001dc6: JUMPDEST
00001dc7: PUSH2 0x1dce
00001dca: PUSH2 0x4b4f
00001dcd: JUMP
00001dce: JUMPDEST
00001dcf: PUSH32 0xa2548bd4b805e907c1558a47b5858324fe8bb4a2e1ddfca647eecbf65610eebc
00001df0: PUSH1 0x40
00001df2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e07: PUSH1 0x0a
00001e09: SLOAD
00001e0a: SWAP4
00001e0b: AND
00001e0c: SWAP3
00001e0d: DUP4
00001e0e: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00001e2f: DUP3
00001e30: AND
00001e31: OR
00001e32: PUSH1 0x0a
00001e34: SSTORE
00001e35: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e4a: PUSH0
00001e4b: SLOAD
00001e4c: AND
00001e4d: SWAP4
00001e4e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e63: DUP4
00001e64: MLOAD
00001e65: SWAP3
00001e66: AND
00001e67: DUP3
00001e68: MSTORE
00001e69: PUSH1 0x20
00001e6b: DUP3
00001e6c: ADD
00001e6d: MSTORE
00001e6e: LOG2
00001e6f: PUSH32 0x6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c
00001e90: PUSH2 0x1632
00001e93: PUSH2 0x1e9d
00001e96: PUSH1 0x09
00001e98: SLOAD
00001e99: PUSH2 0x38b3
00001e9c: JUMP
00001e9d: JUMPDEST
00001e9e: PUSH1 0x40
00001ea0: MLOAD
00001ea1: SWAP2
00001ea2: DUP3
00001ea3: SWAP2
00001ea4: DUP3
00001ea5: SWAP2
00001ea6: SWAP1
00001ea7: PUSH1 0x20
00001ea9: PUSH1 0x40
00001eab: DUP5
00001eac: ADD
00001ead: SWAP4
00001eae: PUSH1 0x01
00001eb0: DUP2
00001eb1: MSTORE
00001eb2: ADD
00001eb3: MSTORE
00001eb4: JUMP
00001eb5: JUMPDEST
00001eb6: CALLVALUE
00001eb7: PUSH2 0x03fe
00001eba: JUMPI
00001ebb: PUSH1 0x20
00001ebd: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001ede: CALLDATASIZE
00001edf: ADD
00001ee0: SLT
00001ee1: PUSH2 0x03fe
00001ee4: JUMPI
00001ee5: PUSH1 0x20
00001ee7: PUSH2 0x0793
00001eea: PUSH1 0x04
00001eec: CALLDATALOAD
00001eed: PUSH2 0x1ef5
00001ef0: DUP2
00001ef1: PUSH2 0x3d5d
00001ef4: JUMP
00001ef5: JUMPDEST
00001ef6: PUSH2 0x4c02
00001ef9: JUMP
00001efa: JUMPDEST
00001efb: CALLVALUE
00001efc: PUSH2 0x03fe
00001eff: JUMPI
00001f00: PUSH1 0x20
00001f02: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001f23: CALLDATASIZE
00001f24: ADD
00001f25: SLT
00001f26: PUSH2 0x03fe
00001f29: JUMPI
00001f2a: PUSH1 0x04
00001f2c: CALLDATALOAD
00001f2d: PUSH2 0x1f35
00001f30: DUP2
00001f31: PUSH2 0x3d5d
00001f34: JUMP
00001f35: JUMPDEST
00001f36: PUSH0
00001f37: MSTORE
00001f38: PUSH1 0x0b
00001f3a: PUSH1 0x20
00001f3c: MSTORE
00001f3d: PUSH1 0x40
00001f3f: PUSH0
00001f40: KECCAK256
00001f41: SLOAD
00001f42: PUSH1 0x80
00001f44: SHR
00001f45: PUSH1 0x40
00001f47: MLOAD
00001f48: DUP1
00001f49: SWAP2
00001f4a: PUSH16 0xffffffffffffffffffffffffffffffff
00001f5b: PUSH1 0x20
00001f5d: DUP4
00001f5e: ADD
00001f5f: SWAP2
00001f60: AND
00001f61: DUP3
00001f62: MSTORE
00001f63: SUB
00001f64: SWAP1
00001f65: RETURN
00001f66: JUMPDEST
00001f67: PUSH1 0x40
00001f69: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001f8a: CALLDATASIZE
00001f8b: ADD
00001f8c: SLT
00001f8d: PUSH2 0x03fe
00001f90: JUMPI
00001f91: PUSH1 0x04
00001f93: CALLDATALOAD
00001f94: PUSH1 0x24
00001f96: CALLDATALOAD
00001f97: PUSH2 0x1f9f
00001f9a: DUP2
00001f9b: PUSH2 0x0dea
00001f9e: JUMP
00001f9f: JUMPDEST
00001fa0: PUSH2 0x1fa7
00001fa3: PUSH2 0x3de7
00001fa6: JUMP
00001fa7: JUMPDEST
00001fa8: PUSH2 0x1fb0
00001fab: DUP3
00001fac: PUSH2 0x3d5d
00001faf: JUMP
00001fb0: JUMPDEST
00001fb1: DUP2
00001fb2: PUSH0
00001fb3: MSTORE
00001fb4: PUSH1 0x0b
00001fb6: PUSH1 0x20
00001fb8: MSTORE
00001fb9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fce: PUSH1 0x01
00001fd0: PUSH1 0x40
00001fd2: PUSH0
00001fd3: KECCAK256
00001fd4: ADD
00001fd5: SLOAD
00001fd6: AND
00001fd7: CALLER
00001fd8: SUB
00001fd9: PUSH2 0x117a
00001fdc: JUMPI
00001fdd: DUP2
00001fde: PUSH2 0x0afc
00001fe1: PUSH1 0x20
00001fe3: SWAP3
00001fe4: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00002005: SWAP5
00002006: PUSH2 0x3eb2
00002009: JUMP
0000200a: JUMPDEST
0000200b: CALLVALUE
0000200c: PUSH2 0x03fe
0000200f: JUMPI
00002010: PUSH1 0x20
00002012: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002033: CALLDATASIZE
00002034: ADD
00002035: SLT
00002036: PUSH2 0x03fe
00002039: JUMPI
0000203a: PUSH1 0x04
0000203c: CALLDATALOAD
0000203d: PUSH0
0000203e: PUSH2 0x0120
00002041: PUSH1 0x40
00002043: MLOAD
00002044: PUSH2 0x204c
00002047: DUP2
00002048: PUSH2 0x2c25
0000204b: JUMP
0000204c: JUMPDEST
0000204d: DUP3
0000204e: DUP2
0000204f: MSTORE
00002050: DUP3
00002051: PUSH1 0x20
00002053: DUP3
00002054: ADD
00002055: MSTORE
00002056: DUP3
00002057: PUSH1 0x40
00002059: DUP3
0000205a: ADD
0000205b: MSTORE
0000205c: DUP3
0000205d: PUSH1 0x60
0000205f: DUP3
00002060: ADD
00002061: MSTORE
00002062: DUP3
00002063: PUSH1 0x80
00002065: DUP3
00002066: ADD
00002067: MSTORE
00002068: DUP3
00002069: PUSH1 0xa0
0000206b: DUP3
0000206c: ADD
0000206d: MSTORE
0000206e: DUP3
0000206f: PUSH1 0xc0
00002071: DUP3
00002072: ADD
00002073: MSTORE
00002074: DUP3
00002075: PUSH1 0xe0
00002077: DUP3
00002078: ADD
00002079: MSTORE
0000207a: DUP3
0000207b: PUSH2 0x0100
0000207e: DUP3
0000207f: ADD
00002080: MSTORE
00002081: ADD
00002082: MSTORE
00002083: PUSH2 0x208b
00002086: DUP2
00002087: PUSH2 0x3d5d
0000208a: JUMP
0000208b: JUMPDEST
0000208c: PUSH0
0000208d: MSTORE
0000208e: PUSH1 0x0b
00002090: PUSH1 0x20
00002092: MSTORE
00002093: PUSH2 0x0622
00002096: PUSH1 0x40
00002098: PUSH0
00002099: KECCAK256
0000209a: PUSH1 0x03
0000209c: PUSH2 0x20a3
0000209f: PUSH2 0x2c88
000020a2: JUMP
000020a3: JUMPDEST
000020a4: SWAP2
000020a5: PUSH2 0x20fd
000020a8: PUSH2 0x20e4
000020ab: DUP3
000020ac: SLOAD
000020ad: PUSH2 0x20de
000020b0: PUSH2 0x20c8
000020b3: DUP3
000020b4: PUSH16 0xffffffffffffffffffffffffffffffff
000020c5: AND
000020c6: SWAP1
000020c7: JUMP
000020c8: JUMPDEST
000020c9: PUSH16 0xffffffffffffffffffffffffffffffff
000020da: AND
000020db: DUP8
000020dc: MSTORE
000020dd: JUMP
000020de: JUMPDEST
000020df: PUSH1 0x80
000020e1: SHR
000020e2: SWAP1
000020e3: JUMP
000020e4: JUMPDEST
000020e5: PUSH16 0xffffffffffffffffffffffffffffffff
000020f6: AND
000020f7: PUSH1 0x20
000020f9: DUP6
000020fa: ADD
000020fb: MSTORE
000020fc: JUMP
000020fd: JUMPDEST
000020fe: PUSH2 0x2190
00002101: PUSH2 0x2187
00002104: PUSH1 0x01
00002106: DUP4
00002107: ADD
00002108: SLOAD
00002109: PUSH2 0x2145
0000210c: PUSH2 0x2128
0000210f: DUP3
00002110: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002125: AND
00002126: SWAP1
00002127: JUMP
00002128: JUMPDEST
00002129: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000213e: AND
0000213f: PUSH1 0x40
00002141: DUP9
00002142: ADD
00002143: MSTORE
00002144: JUMP
00002145: JUMPDEST
00002146: PUSH5 0xffffffffff
0000214c: PUSH1 0xa0
0000214e: DUP3
0000214f: SWAP1
00002150: SHR
00002151: AND
00002152: PUSH1 0x60
00002154: DUP8
00002155: ADD
00002156: MSTORE
00002157: PUSH2 0x216a
0000215a: PUSH1 0xc8
0000215c: DUP3
0000215d: SWAP1
0000215e: SHR
0000215f: PUSH1 0xff
00002161: AND
00002162: ISZERO
00002163: ISZERO
00002164: PUSH1 0x80
00002166: DUP9
00002167: ADD
00002168: MSTORE
00002169: JUMP
0000216a: JUMPDEST
0000216b: PUSH2 0x217e
0000216e: PUSH1 0xd0
00002170: DUP3
00002171: SWAP1
00002172: SHR
00002173: PUSH1 0xff
00002175: AND
00002176: ISZERO
00002177: ISZERO
00002178: PUSH1 0xa0
0000217a: DUP9
0000217b: ADD
0000217c: MSTORE
0000217d: JUMP
0000217e: JUMPDEST
0000217f: PUSH1 0xd8
00002181: SHR
00002182: PUSH1 0xff
00002184: AND
00002185: SWAP1
00002186: JUMP
00002187: JUMPDEST
00002188: ISZERO
00002189: ISZERO
0000218a: PUSH1 0xc0
0000218c: DUP6
0000218d: ADD
0000218e: MSTORE
0000218f: JUMP
00002190: JUMPDEST
00002191: PUSH2 0x21ec
00002194: PUSH2 0x21e1
00002197: PUSH1 0x02
00002199: DUP4
0000219a: ADD
0000219b: SLOAD
0000219c: PUSH2 0x21d8
0000219f: PUSH2 0x21bb
000021a2: DUP3
000021a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021b8: AND
000021b9: SWAP1
000021ba: JUMP
000021bb: JUMPDEST
000021bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021d1: AND
000021d2: PUSH1 0xe0
000021d4: DUP9
000021d5: ADD
000021d6: MSTORE
000021d7: JUMP
000021d8: JUMPDEST
000021d9: PUSH1 0xa0
000021db: SHR
000021dc: PUSH1 0xff
000021de: AND
000021df: SWAP1
000021e0: JUMP
000021e1: JUMPDEST
000021e2: PUSH1 0xff
000021e4: AND
000021e5: PUSH2 0x0100
000021e8: DUP6
000021e9: ADD
000021ea: MSTORE
000021eb: JUMP
000021ec: JUMPDEST
000021ed: ADD
000021ee: SLOAD
000021ef: PUSH2 0x0120
000021f2: DUP3
000021f3: ADD
000021f4: MSTORE
000021f5: PUSH1 0x40
000021f7: MLOAD
000021f8: SWAP2
000021f9: DUP3
000021fa: SWAP2
000021fb: DUP3
000021fc: DUP2
000021fd: MLOAD
000021fe: PUSH16 0xffffffffffffffffffffffffffffffff
0000220f: AND
00002210: DUP2
00002211: MSTORE
00002212: PUSH2 0x0140
00002215: DUP2
00002216: ADD
00002217: SWAP3
00002218: SWAP2
00002219: PUSH2 0x0120
0000221c: SWAP1
0000221d: DUP2
0000221e: SWAP1
0000221f: PUSH1 0x20
00002221: DUP2
00002222: DUP2
00002223: ADD
00002224: MLOAD
00002225: PUSH16 0xffffffffffffffffffffffffffffffff
00002236: AND
00002237: SWAP1
00002238: DUP6
00002239: ADD
0000223a: MSTORE
0000223b: PUSH1 0x40
0000223d: DUP2
0000223e: DUP2
0000223f: ADD
00002240: MLOAD
00002241: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002256: AND
00002257: SWAP1
00002258: DUP6
00002259: ADD
0000225a: MSTORE
0000225b: PUSH1 0x60
0000225d: DUP2
0000225e: DUP2
0000225f: ADD
00002260: MLOAD
00002261: PUSH5 0xffffffffff
00002267: AND
00002268: SWAP1
00002269: DUP6
0000226a: ADD
0000226b: MSTORE
0000226c: PUSH1 0x80
0000226e: DUP2
0000226f: DUP2
00002270: ADD
00002271: MLOAD
00002272: ISZERO
00002273: ISZERO
00002274: SWAP1
00002275: DUP6
00002276: ADD
00002277: MSTORE
00002278: PUSH1 0xa0
0000227a: DUP2
0000227b: DUP2
0000227c: ADD
0000227d: MLOAD
0000227e: ISZERO
0000227f: ISZERO
00002280: SWAP1
00002281: DUP6
00002282: ADD
00002283: MSTORE
00002284: PUSH1 0xc0
00002286: DUP2
00002287: DUP2
00002288: ADD
00002289: MLOAD
0000228a: ISZERO
0000228b: ISZERO
0000228c: SWAP1
0000228d: DUP6
0000228e: ADD
0000228f: MSTORE
00002290: PUSH1 0xe0
00002292: DUP2
00002293: DUP2
00002294: ADD
00002295: MLOAD
00002296: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022ab: AND
000022ac: SWAP1
000022ad: DUP6
000022ae: ADD
000022af: MSTORE
000022b0: PUSH2 0x0100
000022b3: DUP2
000022b4: DUP2
000022b5: ADD
000022b6: MLOAD
000022b7: PUSH1 0xff
000022b9: AND
000022ba: SWAP1
000022bb: DUP6
000022bc: ADD
000022bd: MSTORE
000022be: ADD
000022bf: MLOAD
000022c0: SWAP2
000022c1: ADD
000022c2: MSTORE
000022c3: JUMP
000022c4: JUMPDEST
000022c5: CALLVALUE
000022c6: PUSH2 0x03fe
000022c9: JUMPI
000022ca: PUSH1 0x20
000022cc: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000022ed: CALLDATASIZE
000022ee: ADD
000022ef: SLT
000022f0: PUSH2 0x03fe
000022f3: JUMPI
000022f4: PUSH1 0x04
000022f6: CALLDATALOAD
000022f7: PUSH2 0x22ff
000022fa: DUP2
000022fb: PUSH2 0x079b
000022fe: JUMP
000022ff: JUMPDEST
00002300: PUSH2 0x2307
00002303: PUSH2 0x4b4f
00002306: JUMP
00002307: JUMPDEST
00002308: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000231d: PUSH0
0000231e: SLOAD
0000231f: AND
00002320: SWAP1
00002321: PUSH1 0x40
00002323: MLOAD
00002324: PUSH32 0xc34df33e00000000000000000000000000000000000000000000000000000000
00002345: DUP2
00002346: MSTORE
00002347: PUSH1 0x20
00002349: DUP2
0000234a: PUSH1 0x04
0000234c: DUP2
0000234d: DUP7
0000234e: GAS
0000234f: STATICCALL
00002350: SWAP1
00002351: DUP2
00002352: ISZERO
00002353: PUSH2 0x1a70
00002356: JUMPI
00002357: PUSH0
00002358: SWAP2
00002359: PUSH2 0x2512
0000235c: JUMPI
0000235d: JUMPDEST
0000235e: POP
0000235f: PUSH1 0x40
00002361: MLOAD
00002362: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
00002383: DUP2
00002384: MSTORE
00002385: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000023a6: DUP3
000023a7: AND
000023a8: PUSH1 0x04
000023aa: DUP3
000023ab: ADD
000023ac: MSTORE
000023ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023c2: DUP4
000023c3: AND
000023c4: SWAP1
000023c5: PUSH1 0x20
000023c7: DUP2
000023c8: PUSH1 0x24
000023ca: DUP2
000023cb: DUP6
000023cc: GAS
000023cd: STATICCALL
000023ce: SWAP1
000023cf: DUP2
000023d0: ISZERO
000023d1: PUSH2 0x1a70
000023d4: JUMPI
000023d5: PUSH0
000023d6: SWAP2
000023d7: PUSH2 0x24e3
000023da: JUMPI
000023db: JUMPDEST
000023dc: POP
000023dd: ISZERO
000023de: PUSH2 0x2477
000023e1: JUMPI
000023e2: PUSH32 0xf45d882a72fce9d8d7a7e2e196a338d4d9d4057510b4b9ddf91a7066104d2eaf
00002403: DUP4
00002404: DUP6
00002405: PUSH2 0x2447
00002408: DUP3
00002409: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000241e: AND
0000241f: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00002440: PUSH0
00002441: SLOAD
00002442: AND
00002443: OR
00002444: PUSH0
00002445: SSTORE
00002446: JUMP
00002447: JUMPDEST
00002448: PUSH1 0x40
0000244a: DUP1
0000244b: MLOAD
0000244c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002461: SWAP3
00002462: DUP4
00002463: AND
00002464: DUP2
00002465: MSTORE
00002466: SWAP3
00002467: SWAP1
00002468: SWAP2
00002469: AND
0000246a: PUSH1 0x20
0000246c: DUP4
0000246d: ADD
0000246e: MSTORE
0000246f: DUP2
00002470: SWAP1
00002471: DUP2
00002472: ADD
00002473: PUSH2 0x1632
00002476: JUMP
00002477: JUMPDEST
00002478: PUSH32 0xc9947bc200000000000000000000000000000000000000000000000000000000
00002499: PUSH0
0000249a: MSTORE
0000249b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024b0: DUP1
000024b1: DUP6
000024b2: AND
000024b3: PUSH1 0x04
000024b5: MSTORE
000024b6: AND
000024b7: PUSH1 0x24
000024b9: MSTORE
000024ba: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000024db: AND
000024dc: PUSH1 0x44
000024de: MSTORE
000024df: PUSH1 0x64
000024e1: PUSH0
000024e2: REVERT
000024e3: JUMPDEST
000024e4: PUSH2 0x2505
000024e7: SWAP2
000024e8: POP
000024e9: PUSH1 0x20
000024eb: RETURNDATASIZE
000024ec: PUSH1 0x20
000024ee: GT
000024ef: PUSH2 0x250b
000024f2: JUMPI
000024f3: JUMPDEST
000024f4: PUSH2 0x24fd
000024f7: DUP2
000024f8: DUP4
000024f9: PUSH2 0x2c47
000024fc: JUMP
000024fd: JUMPDEST
000024fe: DUP2
000024ff: ADD
00002500: SWAP1
00002501: PUSH2 0x4c62
00002504: JUMP
00002505: JUMPDEST
00002506: PUSH0
00002507: PUSH2 0x23db
0000250a: JUMP
0000250b: JUMPDEST
0000250c: POP
0000250d: RETURNDATASIZE
0000250e: PUSH2 0x24f3
00002511: JUMP
00002512: JUMPDEST
00002513: PUSH2 0x2534
00002516: SWAP2
00002517: POP
00002518: PUSH1 0x20
0000251a: RETURNDATASIZE
0000251b: PUSH1 0x20
0000251d: GT
0000251e: PUSH2 0x253a
00002521: JUMPI
00002522: JUMPDEST
00002523: PUSH2 0x252c
00002526: DUP2
00002527: DUP4
00002528: PUSH2 0x2c47
0000252b: JUMP
0000252c: JUMPDEST
0000252d: DUP2
0000252e: ADD
0000252f: SWAP1
00002530: PUSH2 0x38f2
00002533: JUMP
00002534: JUMPDEST
00002535: PUSH0
00002536: PUSH2 0x235d
00002539: JUMP
0000253a: JUMPDEST
0000253b: POP
0000253c: RETURNDATASIZE
0000253d: PUSH2 0x2522
00002540: JUMP
00002541: JUMPDEST
00002542: CALLVALUE
00002543: PUSH2 0x03fe
00002546: JUMPI
00002547: PUSH0
00002548: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002569: CALLDATASIZE
0000256a: ADD
0000256b: SLT
0000256c: PUSH2 0x03fe
0000256f: JUMPI
00002570: PUSH1 0x40
00002572: MLOAD
00002573: PUSH0
00002574: PUSH1 0x02
00002576: SLOAD
00002577: DUP1
00002578: PUSH1 0x01
0000257a: SHR
0000257b: SWAP1
0000257c: PUSH1 0x01
0000257e: DUP2
0000257f: AND
00002580: SWAP1
00002581: DUP2
00002582: ISZERO
00002583: PUSH2 0x260a
00002586: JUMPI
00002587: JUMPDEST
00002588: PUSH1 0x20
0000258a: DUP4
0000258b: LT
0000258c: DUP3
0000258d: EQ
0000258e: PUSH2 0x06af
00002591: JUMPI
00002592: DUP3
00002593: DUP6
00002594: MSTORE
00002595: PUSH1 0x20
00002597: DUP6
00002598: ADD
00002599: SWAP2
0000259a: SWAP1
0000259b: DUP2
0000259c: ISZERO
0000259d: PUSH2 0x0678
000025a0: JUMPI
000025a1: POP
000025a2: PUSH1 0x01
000025a4: EQ
000025a5: PUSH2 0x25b8
000025a8: JUMPI
000025a9: PUSH2 0x0622
000025ac: DUP5
000025ad: PUSH2 0x0616
000025b0: DUP2
000025b1: DUP7
000025b2: SUB
000025b3: DUP3
000025b4: PUSH2 0x2c47
000025b7: JUMP
000025b8: JUMPDEST
000025b9: PUSH1 0x02
000025bb: PUSH0
000025bc: SWAP1
000025bd: DUP2
000025be: MSTORE
000025bf: SWAP3
000025c0: POP
000025c1: SWAP1
000025c2: PUSH32 0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace
000025e3: JUMPDEST
000025e4: DUP2
000025e5: DUP5
000025e6: LT
000025e7: PUSH2 0x25f6
000025ea: JUMPI
000025eb: POP
000025ec: POP
000025ed: ADD
000025ee: PUSH2 0x0616
000025f1: DUP3
000025f2: PUSH2 0x0606
000025f5: JUMP
000025f6: JUMPDEST
000025f7: DUP1
000025f8: SLOAD
000025f9: DUP5
000025fa: DUP5
000025fb: ADD
000025fc: MSTORE
000025fd: PUSH1 0x20
000025ff: SWAP1
00002600: SWAP4
00002601: ADD
00002602: SWAP3
00002603: PUSH1 0x01
00002605: ADD
00002606: PUSH2 0x25e3
00002609: JUMP
0000260a: JUMPDEST
0000260b: SWAP2
0000260c: PUSH1 0x7f
0000260e: AND
0000260f: SWAP2
00002610: PUSH2 0x2587
00002613: JUMP
00002614: JUMPDEST
00002615: CALLVALUE
00002616: PUSH2 0x03fe
00002619: JUMPI
0000261a: PUSH1 0x40
0000261c: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000263d: CALLDATASIZE
0000263e: ADD
0000263f: SLT
00002640: PUSH2 0x03fe
00002643: JUMPI
00002644: PUSH1 0x04
00002646: CALLDATALOAD
00002647: PUSH2 0x264f
0000264a: DUP2
0000264b: PUSH2 0x079b
0000264e: JUMP
0000264f: JUMPDEST
00002650: PUSH1 0x24
00002652: CALLDATALOAD
00002653: PUSH2 0x265b
00002656: DUP2
00002657: PUSH2 0x1015
0000265a: JUMP
0000265b: JUMPDEST
0000265c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002671: DUP3
00002672: AND
00002673: SWAP2
00002674: DUP3
00002675: ISZERO
00002676: PUSH2 0x2712
00002679: JUMPI
0000267a: PUSH2 0x26ac
0000267d: SWAP1
0000267e: CALLER
0000267f: PUSH0
00002680: MSTORE
00002681: PUSH1 0x06
00002683: PUSH1 0x20
00002685: MSTORE
00002686: PUSH1 0x40
00002688: PUSH0
00002689: KECCAK256
0000268a: SWAP1
0000268b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026a0: AND
000026a1: PUSH0
000026a2: MSTORE
000026a3: PUSH1 0x20
000026a5: MSTORE
000026a6: PUSH1 0x40
000026a8: PUSH0
000026a9: KECCAK256
000026aa: SWAP1
000026ab: JUMP
000026ac: JUMPDEST
000026ad: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000026ce: DUP2
000026cf: SLOAD
000026d0: AND
000026d1: PUSH1 0xff
000026d3: DUP4
000026d4: ISZERO
000026d5: ISZERO
000026d6: AND
000026d7: OR
000026d8: SWAP1
000026d9: SSTORE
000026da: PUSH32 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31
000026fb: PUSH1 0x40
000026fd: MLOAD
000026fe: DUP1
000026ff: PUSH2 0x19fa
00002702: CALLER
00002703: SWAP5
00002704: DUP3
00002705: SWAP2
00002706: SWAP1
00002707: SWAP2
00002708: PUSH1 0x20
0000270a: DUP2
0000270b: ADD
0000270c: SWAP3
0000270d: ISZERO
0000270e: ISZERO
0000270f: SWAP1
00002710: MSTORE
00002711: JUMP
00002712: JUMPDEST
00002713: DUP3
00002714: PUSH32 0x5b08ba1800000000000000000000000000000000000000000000000000000000
00002735: PUSH0
00002736: MSTORE
00002737: PUSH1 0x04
00002739: MSTORE
0000273a: PUSH1 0x24
0000273c: PUSH0
0000273d: REVERT
0000273e: JUMPDEST
0000273f: CALLVALUE
00002740: PUSH2 0x03fe
00002743: JUMPI
00002744: PUSH1 0x20
00002746: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002767: CALLDATASIZE
00002768: ADD
00002769: SLT
0000276a: PUSH2 0x03fe
0000276d: JUMPI
0000276e: PUSH1 0x04
00002770: CALLDATALOAD
00002771: PUSH2 0x2779
00002774: DUP2
00002775: PUSH2 0x3d5d
00002778: JUMP
00002779: JUMPDEST
0000277a: PUSH0
0000277b: MSTORE
0000277c: PUSH1 0x0b
0000277e: PUSH1 0x20
00002780: MSTORE
00002781: PUSH1 0x20
00002783: PUSH1 0xff
00002785: PUSH1 0x02
00002787: PUSH1 0x40
00002789: PUSH0
0000278a: KECCAK256
0000278b: ADD
0000278c: SLOAD
0000278d: PUSH1 0xa0
0000278f: SHR
00002790: AND
00002791: PUSH1 0x40
00002793: MLOAD
00002794: SWAP1
00002795: DUP2
00002796: MSTORE
00002797: RETURN
00002798: JUMPDEST
00002799: PUSH1 0x40
0000279b: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000027bc: CALLDATASIZE
000027bd: ADD
000027be: SLT
000027bf: PUSH2 0x03fe
000027c2: JUMPI
000027c3: PUSH1 0x04
000027c5: CALLDATALOAD
000027c6: PUSH1 0x24
000027c8: CALLDATALOAD
000027c9: PUSH2 0x27d1
000027cc: DUP2
000027cd: PUSH2 0x0dea
000027d0: JUMP
000027d1: JUMPDEST
000027d2: PUSH2 0x27d9
000027d5: PUSH2 0x3de7
000027d8: JUMP
000027d9: JUMPDEST
000027da: PUSH2 0x27e2
000027dd: DUP3
000027de: PUSH2 0x3d5d
000027e1: JUMP
000027e2: JUMPDEST
000027e3: DUP2
000027e4: PUSH0
000027e5: MSTORE
000027e6: PUSH1 0x0b
000027e8: PUSH1 0x20
000027ea: MSTORE
000027eb: PUSH1 0x40
000027ed: PUSH0
000027ee: KECCAK256
000027ef: SLOAD
000027f0: PUSH1 0x80
000027f2: SHR
000027f3: ISZERO
000027f4: PUSH2 0x11aa
000027f7: JUMPI
000027f8: DUP2
000027f9: PUSH0
000027fa: MSTORE
000027fb: PUSH1 0x0b
000027fd: PUSH1 0x20
000027ff: MSTORE
00002800: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002815: PUSH1 0x01
00002817: PUSH1 0x40
00002819: PUSH0
0000281a: KECCAK256
0000281b: ADD
0000281c: SLOAD
0000281d: AND
0000281e: CALLER
0000281f: SUB
00002820: PUSH2 0x117a
00002823: JUMPI
00002824: PUSH16 0xffffffffffffffffffffffffffffffff
00002835: DUP2
00002836: AND
00002837: DUP1
00002838: ISZERO
00002839: PUSH2 0x28cc
0000283c: JUMPI
0000283d: SWAP2
0000283e: DUP1
0000283f: PUSH32 0xfddf01d0842635e80929251f6862b3baf136a29f2b2fb148968e8b236d5785fe
00002860: PUSH1 0x60
00002862: PUSH2 0x1632
00002865: SWAP5
00002866: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00002887: SWAP7
00002888: DUP5
00002889: PUSH0
0000288a: MSTORE
0000288b: PUSH1 0x0b
0000288d: PUSH1 0x20
0000288f: MSTORE
00002890: PUSH2 0x28a1
00002893: PUSH1 0x40
00002895: PUSH0
00002896: KECCAK256
00002897: SLOAD
00002898: PUSH1 0x80
0000289a: SHR
0000289b: SWAP3
0000289c: DUP7
0000289d: PUSH2 0x4c77
000028a0: JUMP
000028a1: JUMPDEST
000028a2: PUSH2 0x28aa
000028a5: DUP6
000028a6: PUSH2 0x3da6
000028a9: JUMP
000028aa: JUMPDEST
000028ab: SWAP2
000028ac: PUSH1 0x40
000028ae: MLOAD
000028af: SWAP3
000028b0: DUP4
000028b1: MSTORE
000028b2: PUSH1 0x20
000028b4: DUP4
000028b5: ADD
000028b6: MSTORE
000028b7: PUSH1 0x40
000028b9: DUP3
000028ba: ADD
000028bb: MSTORE
000028bc: LOG2
000028bd: PUSH1 0x40
000028bf: MLOAD
000028c0: SWAP1
000028c1: DUP2
000028c2: MSTORE
000028c3: SWAP1
000028c4: DUP2
000028c5: SWAP1
000028c6: PUSH1 0x20
000028c8: DUP3
000028c9: ADD
000028ca: SWAP1
000028cb: JUMP
000028cc: JUMPDEST
000028cd: DUP3
000028ce: PUSH32 0x4513d39000000000000000000000000000000000000000000000000000000000
000028ef: PUSH0
000028f0: MSTORE
000028f1: PUSH1 0x04
000028f3: MSTORE
000028f4: PUSH1 0x24
000028f6: PUSH0
000028f7: REVERT
000028f8: JUMPDEST
000028f9: CALLVALUE
000028fa: PUSH2 0x03fe
000028fd: JUMPI
000028fe: PUSH1 0x20
00002900: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002921: CALLDATASIZE
00002922: ADD
00002923: SLT
00002924: PUSH2 0x03fe
00002927: JUMPI
00002928: PUSH2 0x293b
0000292b: PUSH1 0x04
0000292d: CALLDATALOAD
0000292e: PUSH2 0x2936
00002931: DUP2
00002932: PUSH2 0x3d5d
00002935: JUMP
00002936: JUMPDEST
00002937: PUSH2 0x3907
0000293a: JUMP
0000293b: JUMPDEST
0000293c: PUSH1 0x40
0000293e: MLOAD
0000293f: PUSH1 0x06
00002941: DUP3
00002942: LT
00002943: ISZERO
00002944: PUSH2 0x294e
00002947: JUMPI
00002948: PUSH1 0x20
0000294a: SWAP2
0000294b: DUP2
0000294c: MSTORE
0000294d: RETURN
0000294e: JUMPDEST
0000294f: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002970: PUSH0
00002971: MSTORE
00002972: PUSH1 0x21
00002974: PUSH1 0x04
00002976: MSTORE
00002977: PUSH1 0x24
00002979: PUSH0
0000297a: REVERT
0000297b: JUMPDEST
0000297c: CALLVALUE
0000297d: PUSH2 0x03fe
00002980: JUMPI
00002981: PUSH1 0x20
00002983: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000029a4: CALLDATASIZE
000029a5: ADD
000029a6: SLT
000029a7: PUSH2 0x03fe
000029aa: JUMPI
000029ab: PUSH1 0x04
000029ad: CALLDATALOAD
000029ae: PUSH2 0x29b6
000029b1: DUP2
000029b2: PUSH2 0x3d5d
000029b5: JUMP
000029b6: JUMPDEST
000029b7: PUSH0
000029b8: MSTORE
000029b9: PUSH1 0x0b
000029bb: PUSH1 0x20
000029bd: MSTORE
000029be: PUSH1 0x20
000029c0: PUSH1 0xff
000029c2: PUSH1 0x01
000029c4: PUSH1 0x40
000029c6: PUSH0
000029c7: KECCAK256
000029c8: ADD
000029c9: SLOAD
000029ca: PUSH1 0xd0
000029cc: SHR
000029cd: AND
000029ce: PUSH1 0x40
000029d0: MLOAD
000029d1: SWAP1
000029d2: ISZERO
000029d3: ISZERO
000029d4: DUP2
000029d5: MSTORE
000029d6: RETURN
000029d7: JUMPDEST
000029d8: PUSH1 0x80
000029da: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000029fb: CALLDATASIZE
000029fc: ADD
000029fd: SLT
000029fe: PUSH2 0x03fe
00002a01: JUMPI
00002a02: PUSH1 0x04
00002a04: CALLDATALOAD
00002a05: PUSH1 0x24
00002a07: CALLDATALOAD
00002a08: PUSH2 0x2a10
00002a0b: DUP2
00002a0c: PUSH2 0x0dea
00002a0f: JUMP
00002a10: JUMPDEST
00002a11: PUSH1 0x44
00002a13: CALLDATALOAD
00002a14: PUSH2 0x2a1c
00002a17: DUP2
00002a18: PUSH2 0x079b
00002a1b: JUMP
00002a1c: JUMPDEST
00002a1d: PUSH1 0x64
00002a1f: CALLDATALOAD
00002a20: SWAP1
00002a21: PUSH2 0x2a29
00002a24: DUP3
00002a25: PUSH2 0x079b
00002a28: JUMP
00002a29: JUMPDEST
00002a2a: PUSH2 0x2a31
00002a2d: PUSH2 0x3de7
00002a30: JUMP
00002a31: JUMPDEST
00002a32: PUSH2 0x2a3a
00002a35: DUP5
00002a36: PUSH2 0x3d5d
00002a39: JUMP
00002a3a: JUMPDEST
00002a3b: DUP4
00002a3c: PUSH0
00002a3d: MSTORE
00002a3e: PUSH1 0x0b
00002a40: PUSH1 0x20
00002a42: MSTORE
00002a43: PUSH1 0xff
00002a45: PUSH1 0x01
00002a47: PUSH1 0x40
00002a49: PUSH0
00002a4a: KECCAK256
00002a4b: ADD
00002a4c: SLOAD
00002a4d: PUSH1 0xd8
00002a4f: SHR
00002a50: AND
00002a51: PUSH2 0x2bcc
00002a54: JUMPI
00002a55: DUP4
00002a56: PUSH0
00002a57: MSTORE
00002a58: PUSH1 0x0b
00002a5a: PUSH1 0x20
00002a5c: MSTORE
00002a5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a72: PUSH1 0x01
00002a74: PUSH1 0x40
00002a76: PUSH0
00002a77: KECCAK256
00002a78: ADD
00002a79: SLOAD
00002a7a: AND
00002a7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a90: DUP3
00002a91: AND
00002a92: SUB
00002a93: PUSH2 0x2b6a
00002a96: JUMPI
00002a97: POP
00002a98: PUSH2 0x2aaf
00002a9b: PUSH2 0x13d2
00002a9e: PUSH2 0x15bf
00002aa1: DUP6
00002aa2: PUSH0
00002aa3: MSTORE
00002aa4: PUSH1 0x03
00002aa6: PUSH1 0x20
00002aa8: MSTORE
00002aa9: PUSH1 0x40
00002aab: PUSH0
00002aac: KECCAK256
00002aad: SWAP1
00002aae: JUMP
00002aaf: JUMPDEST
00002ab0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ac5: DUP3
00002ac6: AND
00002ac7: SUB
00002ac8: PUSH2 0x2b0a
00002acb: JUMPI
00002acc: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00002aed: PUSH2 0x1632
00002af0: DUP5
00002af1: PUSH2 0x2afa
00002af4: DUP6
00002af5: DUP3
00002af6: PUSH2 0x42c2
00002af9: JUMP
00002afa: JUMPDEST
00002afb: PUSH1 0x40
00002afd: MLOAD
00002afe: SWAP1
00002aff: DUP2
00002b00: MSTORE
00002b01: SWAP1
00002b02: DUP2
00002b03: SWAP1
00002b04: PUSH1 0x20
00002b06: DUP3
00002b07: ADD
00002b08: SWAP1
00002b09: JUMP
00002b0a: JUMPDEST
00002b0b: PUSH2 0x08d5
00002b0e: SWAP1
00002b0f: PUSH2 0x2b23
00002b12: PUSH2 0x15bf
00002b15: DUP6
00002b16: PUSH0
00002b17: MSTORE
00002b18: PUSH1 0x03
00002b1a: PUSH1 0x20
00002b1c: MSTORE
00002b1d: PUSH1 0x40
00002b1f: PUSH0
00002b20: KECCAK256
00002b21: SWAP1
00002b22: JUMP
00002b23: JUMPDEST
00002b24: PUSH32 0x5bdb8ad700000000000000000000000000000000000000000000000000000000
00002b45: PUSH0
00002b46: MSTORE
00002b47: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b5c: SWAP2
00002b5d: DUP3
00002b5e: AND
00002b5f: PUSH1 0x04
00002b61: MSTORE
00002b62: AND
00002b63: PUSH1 0x24
00002b65: MSTORE
00002b66: PUSH1 0x44
00002b68: SWAP1
00002b69: JUMP
00002b6a: JUMPDEST
00002b6b: PUSH2 0x08d5
00002b6e: SWAP1
00002b6f: PUSH2 0x2b85
00002b72: PUSH1 0x01
00002b74: PUSH2 0x13b7
00002b77: DUP8
00002b78: PUSH0
00002b79: MSTORE
00002b7a: PUSH1 0x0b
00002b7c: PUSH1 0x20
00002b7e: MSTORE
00002b7f: PUSH1 0x40
00002b81: PUSH0
00002b82: KECCAK256
00002b83: SWAP1
00002b84: JUMP
00002b85: JUMPDEST
00002b86: PUSH32 0xc8bac88d00000000000000000000000000000000000000000000000000000000
00002ba7: PUSH0
00002ba8: MSTORE
00002ba9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002bbe: SWAP2
00002bbf: DUP3
00002bc0: AND
00002bc1: PUSH1 0x04
00002bc3: MSTORE
00002bc4: AND
00002bc5: PUSH1 0x24
00002bc7: MSTORE
00002bc8: PUSH1 0x44
00002bca: SWAP1
00002bcb: JUMP
00002bcc: JUMPDEST
00002bcd: DUP4
00002bce: PUSH32 0x271c0f9d00000000000000000000000000000000000000000000000000000000
00002bef: PUSH0
00002bf0: MSTORE
00002bf1: PUSH1 0x04
00002bf3: MSTORE
00002bf4: PUSH1 0x24
00002bf6: PUSH0
00002bf7: REVERT
00002bf8: JUMPDEST
00002bf9: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002c1a: PUSH0
00002c1b: MSTORE
00002c1c: PUSH1 0x41
00002c1e: PUSH1 0x04
00002c20: MSTORE
00002c21: PUSH1 0x24
00002c23: PUSH0
00002c24: REVERT
00002c25: JUMPDEST
00002c26: PUSH2 0x0140
00002c29: DUP2
00002c2a: ADD
00002c2b: SWAP1
00002c2c: DUP2
00002c2d: LT
00002c2e: PUSH8 0xffffffffffffffff
00002c37: DUP3
00002c38: GT
00002c39: OR
00002c3a: PUSH2 0x2c42
00002c3d: JUMPI
00002c3e: PUSH1 0x40
00002c40: MSTORE
00002c41: JUMP
00002c42: JUMPDEST
00002c43: PUSH2 0x2bf8
00002c46: JUMP
00002c47: JUMPDEST
00002c48: SWAP1
00002c49: PUSH1 0x1f
00002c4b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002c6c: SWAP2
00002c6d: ADD
00002c6e: AND
00002c6f: DUP2
00002c70: ADD
00002c71: SWAP1
00002c72: DUP2
00002c73: LT
00002c74: PUSH8 0xffffffffffffffff
00002c7d: DUP3
00002c7e: GT
00002c7f: OR
00002c80: PUSH2 0x2c42
00002c83: JUMPI
00002c84: PUSH1 0x40
00002c86: MSTORE
00002c87: JUMP
00002c88: JUMPDEST
00002c89: PUSH1 0x40
00002c8b: MLOAD
00002c8c: SWAP1
00002c8d: PUSH2 0x2c98
00002c90: PUSH2 0x0140
00002c93: DUP4
00002c94: PUSH2 0x2c47
00002c97: JUMP
00002c98: JUMPDEST
00002c99: JUMP
00002c9a: JUMPDEST
00002c9b: PUSH8 0xffffffffffffffff
00002ca4: DUP2
00002ca5: GT
00002ca6: PUSH2 0x2c42
00002ca9: JUMPI
00002caa: PUSH1 0x1f
00002cac: ADD
00002cad: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002cce: AND
00002ccf: PUSH1 0x20
00002cd1: ADD
00002cd2: SWAP1
00002cd3: JUMP
00002cd4: JUMPDEST
00002cd5: CALLVALUE
00002cd6: PUSH2 0x03fe
00002cd9: JUMPI
00002cda: PUSH1 0x80
00002cdc: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002cfd: CALLDATASIZE
00002cfe: ADD
00002cff: SLT
00002d00: PUSH2 0x03fe
00002d03: JUMPI
00002d04: PUSH1 0x04
00002d06: CALLDATALOAD
00002d07: PUSH2 0x2d0f
00002d0a: DUP2
00002d0b: PUSH2 0x079b
00002d0e: JUMP
00002d0f: JUMPDEST
00002d10: PUSH1 0x24
00002d12: CALLDATALOAD
00002d13: SWAP1
00002d14: PUSH2 0x2d1c
00002d17: DUP3
00002d18: PUSH2 0x079b
00002d1b: JUMP
00002d1c: JUMPDEST
00002d1d: PUSH1 0x44
00002d1f: CALLDATALOAD
00002d20: PUSH1 0x64
00002d22: CALLDATALOAD
00002d23: SWAP3
00002d24: PUSH8 0xffffffffffffffff
00002d2d: DUP5
00002d2e: GT
00002d2f: PUSH2 0x03fe
00002d32: JUMPI
00002d33: CALLDATASIZE
00002d34: PUSH1 0x23
00002d36: DUP6
00002d37: ADD
00002d38: SLT
00002d39: ISZERO
00002d3a: PUSH2 0x03fe
00002d3d: JUMPI
00002d3e: DUP4
00002d3f: PUSH1 0x04
00002d41: ADD
00002d42: CALLDATALOAD
00002d43: SWAP3
00002d44: PUSH2 0x2d4c
00002d47: DUP5
00002d48: PUSH2 0x2c9a
00002d4b: JUMP
00002d4c: JUMPDEST
00002d4d: SWAP4
00002d4e: PUSH2 0x2d5a
00002d51: PUSH1 0x40
00002d53: MLOAD
00002d54: SWAP6
00002d55: DUP7
00002d56: PUSH2 0x2c47
00002d59: JUMP
00002d5a: JUMPDEST
00002d5b: DUP1
00002d5c: DUP6
00002d5d: MSTORE
00002d5e: CALLDATASIZE
00002d5f: PUSH1 0x24
00002d61: DUP3
00002d62: DUP9
00002d63: ADD
00002d64: ADD
00002d65: GT
00002d66: PUSH2 0x03fe
00002d69: JUMPI
00002d6a: PUSH1 0x20
00002d6c: DUP2
00002d6d: PUSH0
00002d6e: SWAP3
00002d6f: PUSH1 0x24
00002d71: PUSH2 0x08a9
00002d74: SWAP10
00002d75: ADD
00002d76: DUP4
00002d77: DUP10
00002d78: ADD
00002d79: CALLDATACOPY
00002d7a: DUP7
00002d7b: ADD
00002d7c: ADD
00002d7d: MSTORE
00002d7e: PUSH2 0x39de
00002d81: JUMP
00002d82: JUMPDEST
00002d83: CALLVALUE
00002d84: PUSH2 0x03fe
00002d87: JUMPI
00002d88: PUSH1 0x20
00002d8a: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002dab: CALLDATASIZE
00002dac: ADD
00002dad: SLT
00002dae: PUSH2 0x03fe
00002db1: JUMPI
00002db2: PUSH1 0x04
00002db4: CALLDATALOAD
00002db5: PUSH0
00002db6: MSTORE
00002db7: PUSH1 0x0b
00002db9: PUSH1 0x20
00002dbb: MSTORE
00002dbc: PUSH1 0x20
00002dbe: PUSH1 0xff
00002dc0: PUSH1 0x01
00002dc2: PUSH1 0x40
00002dc4: PUSH0
00002dc5: KECCAK256
00002dc6: ADD
00002dc7: SLOAD
00002dc8: PUSH1 0xc8
00002dca: SHR
00002dcb: AND
00002dcc: PUSH1 0x40
00002dce: MLOAD
00002dcf: SWAP1
00002dd0: ISZERO
00002dd1: ISZERO
00002dd2: DUP2
00002dd3: MSTORE
00002dd4: RETURN
00002dd5: JUMPDEST
00002dd6: CALLVALUE
00002dd7: PUSH2 0x03fe
00002dda: JUMPI
00002ddb: PUSH1 0x20
00002ddd: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002dfe: CALLDATASIZE
00002dff: ADD
00002e00: SLT
00002e01: PUSH2 0x03fe
00002e04: JUMPI
00002e05: PUSH1 0x04
00002e07: CALLDATALOAD
00002e08: PUSH2 0x2e10
00002e0b: DUP2
00002e0c: PUSH2 0x3d5d
00002e0f: JUMP
00002e10: JUMPDEST
00002e11: PUSH0
00002e12: MSTORE
00002e13: PUSH1 0x0b
00002e15: PUSH1 0x20
00002e17: MSTORE
00002e18: PUSH1 0x20
00002e1a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e2f: PUSH1 0x01
00002e31: PUSH1 0x40
00002e33: PUSH0
00002e34: KECCAK256
00002e35: ADD
00002e36: SLOAD
00002e37: AND
00002e38: PUSH1 0x40
00002e3a: MLOAD
00002e3b: SWAP1
00002e3c: DUP2
00002e3d: MSTORE
00002e3e: RETURN
00002e3f: JUMPDEST
00002e40: CALLVALUE
00002e41: PUSH2 0x03fe
00002e44: JUMPI
00002e45: PUSH1 0x20
00002e47: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002e68: CALLDATASIZE
00002e69: ADD
00002e6a: SLT
00002e6b: PUSH2 0x03fe
00002e6e: JUMPI
00002e6f: PUSH1 0x20
00002e71: PUSH2 0x0793
00002e74: PUSH1 0x04
00002e76: CALLDATALOAD
00002e77: PUSH2 0x2e7f
00002e7a: DUP2
00002e7b: PUSH2 0x3d5d
00002e7e: JUMP
00002e7f: JUMPDEST
00002e80: PUSH2 0x4d78
00002e83: JUMP
00002e84: JUMPDEST
00002e85: PUSH1 0x40
00002e87: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002ea8: CALLDATASIZE
00002ea9: ADD
00002eaa: SLT
00002eab: PUSH2 0x03fe
00002eae: JUMPI
00002eaf: PUSH1 0x04
00002eb1: CALLDATALOAD
00002eb2: PUSH1 0x24
00002eb4: CALLDATALOAD
00002eb5: PUSH2 0x2ebd
00002eb8: DUP2
00002eb9: PUSH2 0x0dea
00002ebc: JUMP
00002ebd: JUMPDEST
00002ebe: PUSH2 0x2ec5
00002ec1: PUSH2 0x3de7
00002ec4: JUMP
00002ec5: JUMPDEST
00002ec6: PUSH2 0x2ece
00002ec9: DUP3
00002eca: PUSH2 0x3d5d
00002ecd: JUMP
00002ece: JUMPDEST
00002ecf: DUP2
00002ed0: PUSH0
00002ed1: MSTORE
00002ed2: PUSH1 0x0b
00002ed4: PUSH1 0x20
00002ed6: MSTORE
00002ed7: PUSH1 0x40
00002ed9: PUSH0
00002eda: KECCAK256
00002edb: SLOAD
00002edc: PUSH1 0x80
00002ede: SHR
00002edf: ISZERO
00002ee0: PUSH2 0x11aa
00002ee3: JUMPI
00002ee4: DUP2
00002ee5: PUSH0
00002ee6: MSTORE
00002ee7: PUSH1 0x0b
00002ee9: PUSH1 0x20
00002eeb: MSTORE
00002eec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f01: PUSH1 0x01
00002f03: PUSH1 0x40
00002f05: PUSH0
00002f06: KECCAK256
00002f07: ADD
00002f08: SLOAD
00002f09: AND
00002f0a: CALLER
00002f0b: SUB
00002f0c: PUSH2 0x117a
00002f0f: JUMPI
00002f10: DUP2
00002f11: PUSH2 0x1171
00002f14: PUSH1 0x20
00002f16: SWAP3
00002f17: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00002f38: SWAP5
00002f39: PUSH2 0x42c2
00002f3c: JUMP
00002f3d: JUMPDEST
00002f3e: CALLVALUE
00002f3f: PUSH2 0x03fe
00002f42: JUMPI
00002f43: PUSH1 0x20
00002f45: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002f66: CALLDATASIZE
00002f67: ADD
00002f68: SLT
00002f69: PUSH2 0x03fe
00002f6c: JUMPI
00002f6d: PUSH1 0x04
00002f6f: CALLDATALOAD
00002f70: PUSH2 0x2f78
00002f73: DUP2
00002f74: PUSH2 0x3d04
00002f77: JUMP
00002f78: JUMPDEST
00002f79: POP
00002f7a: PUSH0
00002f7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f90: PUSH1 0x0a
00002f92: SLOAD
00002f93: AND
00002f94: SWAP2
00002f95: PUSH1 0x44
00002f97: PUSH1 0x40
00002f99: MLOAD
00002f9a: DUP1
00002f9b: SWAP5
00002f9c: DUP2
00002f9d: SWAP4
00002f9e: PUSH32 0xe9dc637500000000000000000000000000000000000000000000000000000000
00002fbf: DUP4
00002fc0: MSTORE
00002fc1: ADDRESS
00002fc2: PUSH1 0x04
00002fc4: DUP5
00002fc5: ADD
00002fc6: MSTORE
00002fc7: PUSH1 0x24
00002fc9: DUP4
00002fca: ADD
00002fcb: MSTORE
00002fcc: GAS
00002fcd: STATICCALL
00002fce: DUP1
00002fcf: ISZERO
00002fd0: PUSH2 0x1a70
00002fd3: JUMPI
00002fd4: PUSH0
00002fd5: SWAP1
00002fd6: PUSH2 0x2fea
00002fd9: JUMPI
00002fda: JUMPDEST
00002fdb: PUSH2 0x0622
00002fde: SWAP1
00002fdf: PUSH1 0x40
00002fe1: MLOAD
00002fe2: SWAP2
00002fe3: DUP3
00002fe4: SWAP2
00002fe5: DUP3
00002fe6: PUSH2 0x058a
00002fe9: JUMP
00002fea: JUMPDEST
00002feb: POP
00002fec: RETURNDATASIZE
00002fed: DUP1
00002fee: PUSH0
00002fef: DUP4
00002ff0: RETURNDATACOPY
00002ff1: PUSH2 0x2ffa
00002ff4: DUP2
00002ff5: DUP4
00002ff6: PUSH2 0x2c47
00002ff9: JUMP
00002ffa: JUMPDEST
00002ffb: DUP2
00002ffc: ADD
00002ffd: SWAP1
00002ffe: PUSH1 0x20
00003000: DUP2
00003001: DUP4
00003002: SUB
00003003: SLT
00003004: PUSH2 0x03fe
00003007: JUMPI
00003008: DUP1
00003009: MLOAD
0000300a: SWAP1
0000300b: PUSH8 0xffffffffffffffff
00003014: DUP3
00003015: GT
00003016: PUSH2 0x03fe
00003019: JUMPI
0000301a: ADD
0000301b: SWAP1
0000301c: DUP1
0000301d: PUSH1 0x1f
0000301f: DUP4
00003020: ADD
00003021: SLT
00003022: ISZERO
00003023: PUSH2 0x03fe
00003026: JUMPI
00003027: DUP2
00003028: MLOAD
00003029: SWAP2
0000302a: PUSH2 0x3032
0000302d: DUP4
0000302e: PUSH2 0x2c9a
00003031: JUMP
00003032: JUMPDEST
00003033: SWAP2
00003034: PUSH2 0x3040
00003037: PUSH1 0x40
00003039: MLOAD
0000303a: SWAP4
0000303b: DUP5
0000303c: PUSH2 0x2c47
0000303f: JUMP
00003040: JUMPDEST
00003041: DUP4
00003042: DUP4
00003043: MSTORE
00003044: PUSH1 0x20
00003046: DUP5
00003047: DUP4
00003048: ADD
00003049: ADD
0000304a: GT
0000304b: PUSH2 0x03fe
0000304e: JUMPI
0000304f: PUSH2 0x0622
00003052: SWAP3
00003053: PUSH2 0x3062
00003056: SWAP2
00003057: PUSH1 0x20
00003059: DUP1
0000305a: DUP6
0000305b: ADD
0000305c: SWAP2
0000305d: ADD
0000305e: PUSH2 0x0526
00003061: JUMP
00003062: JUMPDEST
00003063: PUSH2 0x2fda
00003066: JUMP
00003067: JUMPDEST
00003068: CALLVALUE
00003069: PUSH2 0x03fe
0000306c: JUMPI
0000306d: PUSH1 0x20
0000306f: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00003090: CALLDATASIZE
00003091: ADD
00003092: SLT
00003093: PUSH2 0x03fe
00003096: JUMPI
00003097: PUSH2 0x313d
0000309a: PUSH1 0x20
0000309c: PUSH1 0x04
0000309e: CALLDATALOAD
0000309f: PUSH2 0x30a7
000030a2: DUP2
000030a3: PUSH2 0x3d5d
000030a6: JUMP
000030a7: JUMPDEST
000030a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000030bd: PUSH0
000030be: SLOAD
000030bf: AND
000030c0: SWAP1
000030c1: PUSH0
000030c2: MSTORE
000030c3: PUSH1 0x0b
000030c5: DUP3
000030c6: MSTORE
000030c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000030dc: PUSH1 0x01
000030de: PUSH1 0x40
000030e0: PUSH0
000030e1: KECCAK256
000030e2: ADD
000030e3: SLOAD
000030e4: AND
000030e5: SWAP1
000030e6: PUSH1 0x40
000030e8: MLOAD
000030e9: DUP1
000030ea: DUP1
000030eb: SWAP6
000030ec: DUP2
000030ed: SWAP5
000030ee: PUSH32 0x419d289d00000000000000000000000000000000000000000000000000000000
0000310f: DUP4
00003110: MSTORE
00003111: PUSH1 0x04
00003113: DUP4
00003114: ADD
00003115: SWAP2
00003116: SWAP1
00003117: SWAP2
00003118: PUSH1 0x20
0000311a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000312f: PUSH1 0x40
00003131: DUP4
00003132: ADD
00003133: SWAP5
00003134: PUSH1 0x01
00003136: DUP5
00003137: MSTORE
00003138: AND
00003139: SWAP2
0000313a: ADD
0000313b: MSTORE
0000313c: JUMP
0000313d: JUMPDEST
0000313e: SUB
0000313f: SWAP2
00003140: GAS
00003141: STATICCALL
00003142: DUP1
00003143: ISZERO
00003144: PUSH2 0x1a70
00003147: JUMPI
00003148: PUSH2 0x0622
0000314b: SWAP2
0000314c: PUSH0
0000314d: SWAP2
0000314e: PUSH2 0x3163
00003151: JUMPI
00003152: JUMPDEST
00003153: POP
00003154: PUSH1 0x40
00003156: MLOAD
00003157: SWAP1
00003158: DUP2
00003159: MSTORE
0000315a: SWAP1
0000315b: DUP2
0000315c: SWAP1
0000315d: PUSH1 0x20
0000315f: DUP3
00003160: ADD
00003161: SWAP1
00003162: JUMP
00003163: JUMPDEST
00003164: PUSH2 0x317c
00003167: SWAP2
00003168: POP
00003169: PUSH1 0x20
0000316b: RETURNDATASIZE
0000316c: PUSH1 0x20
0000316e: GT
0000316f: PUSH2 0x1a69
00003172: JUMPI
00003173: PUSH2 0x1a5b
00003176: DUP2
00003177: DUP4
00003178: PUSH2 0x2c47
0000317b: JUMP
0000317c: JUMPDEST
0000317d: PUSH0
0000317e: PUSH2 0x3152
00003181: JUMP
00003182: JUMPDEST
00003183: CALLVALUE
00003184: PUSH2 0x03fe
00003187: JUMPI
00003188: PUSH1 0x20
0000318a: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000031ab: CALLDATASIZE
000031ac: ADD
000031ad: SLT
000031ae: PUSH2 0x03fe
000031b1: JUMPI
000031b2: PUSH1 0x04
000031b4: CALLDATALOAD
000031b5: PUSH2 0x31bd
000031b8: DUP2
000031b9: PUSH2 0x3d5d
000031bc: JUMP
000031bd: JUMPDEST
000031be: DUP1
000031bf: PUSH0
000031c0: MSTORE
000031c1: PUSH1 0x0b
000031c3: PUSH1 0x20
000031c5: MSTORE
000031c6: PUSH1 0x40
000031c8: PUSH0
000031c9: KECCAK256
000031ca: SLOAD
000031cb: PUSH1 0x80
000031cd: SHR
000031ce: ISZERO
000031cf: PUSH2 0x0b05
000031d2: JUMPI
000031d3: PUSH2 0x31db
000031d6: SWAP1
000031d7: PUSH2 0x3bc0
000031da: JUMP
000031db: JUMPDEST
000031dc: PUSH1 0x40
000031de: MLOAD
000031df: SWAP1
000031e0: DUP2
000031e1: MSTORE
000031e2: PUSH1 0x20
000031e4: SWAP1
000031e5: RETURN
000031e6: JUMPDEST
000031e7: CALLVALUE
000031e8: PUSH2 0x03fe
000031eb: JUMPI
000031ec: PUSH0
000031ed: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000320e: CALLDATASIZE
0000320f: ADD
00003210: SLT
00003211: PUSH2 0x03fe
00003214: JUMPI
00003215: PUSH1 0x20
00003217: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000322c: PUSH1 0x08
0000322e: SLOAD
0000322f: AND
00003230: PUSH1 0x40
00003232: MLOAD
00003233: SWAP1
00003234: DUP2
00003235: MSTORE
00003236: RETURN
00003237: JUMPDEST
00003238: CALLVALUE
00003239: PUSH2 0x03fe
0000323c: JUMPI
0000323d: PUSH1 0x20
0000323f: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00003260: CALLDATASIZE
00003261: ADD
00003262: SLT
00003263: PUSH2 0x03fe
00003266: JUMPI
00003267: PUSH1 0x04
00003269: CALLDATALOAD
0000326a: PUSH2 0x3272
0000326d: DUP2
0000326e: PUSH2 0x3d5d
00003271: JUMP
00003272: JUMPDEST
00003273: PUSH0
00003274: MSTORE
00003275: PUSH1 0x0b
00003277: PUSH1 0x20
00003279: MSTORE
0000327a: PUSH1 0x20
0000327c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003291: PUSH1 0x02
00003293: PUSH1 0x40
00003295: PUSH0
00003296: KECCAK256
00003297: ADD
00003298: SLOAD
00003299: AND
0000329a: PUSH1 0x40
0000329c: MLOAD
0000329d: SWAP1
0000329e: DUP2
0000329f: MSTORE
000032a0: RETURN
000032a1: JUMPDEST
000032a2: CALLVALUE
000032a3: PUSH2 0x03fe
000032a6: JUMPI
000032a7: PUSH1 0x40
000032a9: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000032ca: CALLDATASIZE
000032cb: ADD
000032cc: SLT
000032cd: PUSH2 0x03fe
000032d0: JUMPI
000032d1: PUSH1 0x20
000032d3: PUSH1 0xff
000032d5: PUSH2 0x3333
000032d8: PUSH1 0x04
000032da: CALLDATALOAD
000032db: PUSH2 0x32e3
000032de: DUP2
000032df: PUSH2 0x079b
000032e2: JUMP
000032e3: JUMPDEST
000032e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000032f9: PUSH1 0x24
000032fb: CALLDATALOAD
000032fc: SWAP2
000032fd: PUSH2 0x3305
00003300: DUP4
00003301: PUSH2 0x079b
00003304: JUMP
00003305: JUMPDEST
00003306: AND
00003307: PUSH0
00003308: MSTORE
00003309: PUSH1 0x06
0000330b: DUP5
0000330c: MSTORE
0000330d: PUSH1 0x40
0000330f: PUSH0
00003310: KECCAK256
00003311: SWAP1
00003312: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003327: AND
00003328: PUSH0
00003329: MSTORE
0000332a: PUSH1 0x20
0000332c: MSTORE
0000332d: PUSH1 0x40
0000332f: PUSH0
00003330: KECCAK256
00003331: SWAP1
00003332: JUMP
00003333: JUMPDEST
00003334: SLOAD
00003335: AND
00003336: PUSH1 0x40
00003338: MLOAD
00003339: SWAP1
0000333a: ISZERO
0000333b: ISZERO
0000333c: DUP2
0000333d: MSTORE
0000333e: RETURN
0000333f: JUMPDEST
00003340: PUSH1 0x40
00003342: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00003363: CALLDATASIZE
00003364: ADD
00003365: SLT
00003366: PUSH2 0x03fe
00003369: JUMPI
0000336a: PUSH1 0x20
0000336c: PUSH1 0x24
0000336e: CALLDATALOAD
0000336f: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00003390: DUP3
00003391: PUSH1 0x04
00003393: CALLDATALOAD
00003394: PUSH2 0x339c
00003397: DUP5
00003398: PUSH2 0x079b
0000339b: JUMP
0000339c: JUMPDEST
0000339d: PUSH2 0x33a4
000033a0: PUSH2 0x3de7
000033a3: JUMP
000033a4: JUMPDEST
000033a5: PUSH2 0x33ad
000033a8: DUP2
000033a9: PUSH2 0x3d5d
000033ac: JUMP
000033ad: JUMPDEST
000033ae: PUSH2 0x33c1
000033b1: PUSH2 0x33b9
000033b4: DUP3
000033b5: PUSH2 0x4b05
000033b8: JUMP
000033b9: JUMPDEST
000033ba: DUP1
000033bb: SWAP6
000033bc: DUP4
000033bd: PUSH2 0x4e5a
000033c0: JUMP
000033c1: JUMPDEST
000033c2: PUSH1 0x40
000033c4: MLOAD
000033c5: SWAP1
000033c6: DUP2
000033c7: MSTORE
000033c8: LOG1
000033c9: PUSH16 0xffffffffffffffffffffffffffffffff
000033da: PUSH1 0x40
000033dc: MLOAD
000033dd: SWAP2
000033de: AND
000033df: DUP2
000033e0: MSTORE
000033e1: RETURN
000033e2: JUMPDEST
000033e3: CALLVALUE
000033e4: PUSH2 0x03fe
000033e7: JUMPI
000033e8: PUSH1 0x20
000033ea: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000340b: CALLDATASIZE
0000340c: ADD
0000340d: SLT
0000340e: PUSH2 0x03fe
00003411: JUMPI
00003412: PUSH1 0x04
00003414: CALLDATALOAD
00003415: PUSH2 0x341d
00003418: DUP2
00003419: PUSH2 0x3d5d
0000341c: JUMP
0000341d: JUMPDEST
0000341e: PUSH0
0000341f: MSTORE
00003420: PUSH1 0x0b
00003422: PUSH1 0x20
00003424: MSTORE
00003425: PUSH1 0x20
00003427: PUSH5 0xffffffffff
0000342d: PUSH1 0x01
0000342f: PUSH1 0x40
00003431: PUSH0
00003432: KECCAK256
00003433: ADD
00003434: SLOAD
00003435: PUSH1 0xa0
00003437: SHR
00003438: AND
00003439: PUSH1 0x40
0000343b: MLOAD
0000343c: SWAP1
0000343d: DUP2
0000343e: MSTORE
0000343f: RETURN
00003440: JUMPDEST
00003441: PUSH1 0x40
00003443: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00003464: CALLDATASIZE
00003465: ADD
00003466: SLT
00003467: PUSH2 0x03fe
0000346a: JUMPI
0000346b: PUSH1 0x04
0000346d: CALLDATALOAD
0000346e: PUSH1 0x24
00003470: CALLDATALOAD
00003471: PUSH2 0x3479
00003474: DUP2
00003475: PUSH2 0x0dea
00003478: JUMP
00003479: JUMPDEST
0000347a: PUSH2 0x3481
0000347d: PUSH2 0x3de7
00003480: JUMP
00003481: JUMPDEST
00003482: PUSH2 0x348a
00003485: DUP3
00003486: PUSH2 0x3d5d
00003489: JUMP
0000348a: JUMPDEST
0000348b: DUP2
0000348c: PUSH0
0000348d: MSTORE
0000348e: PUSH1 0x0b
00003490: PUSH1 0x20
00003492: MSTORE
00003493: PUSH1 0xff
00003495: PUSH1 0x01
00003497: PUSH1 0x40
00003499: PUSH0
0000349a: KECCAK256
0000349b: ADD
0000349c: SLOAD
0000349d: PUSH1 0xd8
0000349f: SHR
000034a0: AND
000034a1: PUSH2 0x34fe
000034a4: JUMPI
000034a5: DUP2
000034a6: PUSH0
000034a7: MSTORE
000034a8: PUSH1 0x0b
000034aa: PUSH1 0x20
000034ac: MSTORE
000034ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000034c2: PUSH1 0x01
000034c4: PUSH1 0x40
000034c6: PUSH0
000034c7: KECCAK256
000034c8: ADD
000034c9: SLOAD
000034ca: AND
000034cb: CALLER
000034cc: SUB
000034cd: PUSH2 0x117a
000034d0: JUMPI
000034d1: DUP2
000034d2: PUSH2 0x0afc
000034d5: PUSH1 0x20
000034d7: SWAP3
000034d8: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
000034f9: SWAP5
000034fa: PUSH2 0x4235
000034fd: JUMP
000034fe: JUMPDEST
000034ff: POP
00003500: PUSH32 0x271c0f9d00000000000000000000000000000000000000000000000000000000
00003521: PUSH0
00003522: MSTORE
00003523: PUSH1 0x04
00003525: MSTORE
00003526: PUSH1 0x24
00003528: PUSH0
00003529: REVERT
0000352a: JUMPDEST
0000352b: CALLVALUE
0000352c: PUSH2 0x03fe
0000352f: JUMPI
00003530: PUSH1 0x20
00003532: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00003553: CALLDATASIZE
00003554: ADD
00003555: SLT
00003556: PUSH2 0x03fe
00003559: JUMPI
0000355a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000356f: PUSH1 0x04
00003571: CALLDATALOAD
00003572: PUSH2 0x357a
00003575: DUP2
00003576: PUSH2 0x079b
00003579: JUMP
0000357a: JUMPDEST
0000357b: AND
0000357c: PUSH0
0000357d: MSTORE
0000357e: PUSH1 0x07
00003580: PUSH1 0x20
00003582: MSTORE
00003583: PUSH1 0x20
00003585: PUSH1 0x40
00003587: PUSH0
00003588: KECCAK256
00003589: SLOAD
0000358a: PUSH1 0x40
0000358c: MLOAD
0000358d: SWAP1
0000358e: DUP2
0000358f: MSTORE
00003590: RETURN
00003591: JUMPDEST
00003592: PUSH1 0x60
00003594: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000035b5: CALLDATASIZE
000035b6: ADD
000035b7: SLT
000035b8: PUSH2 0x03fe
000035bb: JUMPI
000035bc: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
000035dd: PUSH1 0x20
000035df: PUSH1 0x04
000035e1: CALLDATALOAD
000035e2: PUSH2 0x0afc
000035e5: PUSH1 0x24
000035e7: CALLDATALOAD
000035e8: PUSH2 0x35f0
000035eb: DUP2
000035ec: PUSH2 0x079b
000035ef: JUMP
000035f0: JUMPDEST
000035f1: PUSH1 0x44
000035f3: CALLDATALOAD
000035f4: SWAP1
000035f5: PUSH2 0x35fd
000035f8: DUP3
000035f9: PUSH2 0x0dea
000035fc: JUMP
000035fd: JUMPDEST
000035fe: PUSH2 0x3605
00003601: PUSH2 0x3de7
00003604: JUMP
00003605: JUMPDEST
00003606: PUSH2 0x360e
00003609: DUP5
0000360a: PUSH2 0x3d5d
0000360d: JUMP
0000360e: JUMPDEST
0000360f: DUP4
00003610: PUSH2 0x4e5a
00003613: JUMP
00003614: JUMPDEST
00003615: PUSH8 0xffffffffffffffff
0000361e: DUP2
0000361f: GT
00003620: PUSH2 0x2c42
00003623: JUMPI
00003624: PUSH1 0x05
00003626: SHL
00003627: PUSH1 0x20
00003629: ADD
0000362a: SWAP1
0000362b: JUMP
0000362c: JUMPDEST
0000362d: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
0000364e: PUSH0
0000364f: MSTORE
00003650: PUSH1 0x32
00003652: PUSH1 0x04
00003654: MSTORE
00003655: PUSH1 0x24
00003657: PUSH0
00003658: REVERT
00003659: JUMPDEST
0000365a: SWAP2
0000365b: SWAP1
0000365c: DUP2
0000365d: LT
0000365e: ISZERO
0000365f: PUSH2 0x36b9
00003662: JUMPI
00003663: PUSH1 0x05
00003665: SHL
00003666: DUP2
00003667: ADD
00003668: CALLDATALOAD
00003669: SWAP1
0000366a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1
0000368b: DUP2
0000368c: CALLDATASIZE
0000368d: SUB
0000368e: ADD
0000368f: DUP3
00003690: SLT
00003691: ISZERO
00003692: PUSH2 0x03fe
00003695: JUMPI
00003696: ADD
00003697: SWAP1
00003698: DUP2
00003699: CALLDATALOAD
0000369a: SWAP2
0000369b: PUSH8 0xffffffffffffffff
000036a4: DUP4
000036a5: GT
000036a6: PUSH2 0x03fe
000036a9: JUMPI
000036aa: PUSH1 0x20
000036ac: ADD
000036ad: DUP3
000036ae: CALLDATASIZE
000036af: SUB
000036b0: DUP2
000036b1: SGT
000036b2: PUSH2 0x03fe
000036b5: JUMPI
000036b6: SWAP2
000036b7: SWAP1
000036b8: JUMP
000036b9: JUMPDEST
000036ba: PUSH2 0x362c
000036bd: JUMP
000036be: JUMPDEST
000036bf: SWAP1
000036c0: DUP1
000036c1: SWAP3
000036c2: SWAP2
000036c3: DUP3
000036c4: CALLDATACOPY
000036c5: ADD
000036c6: PUSH0
000036c7: DUP2
000036c8: MSTORE
000036c9: SWAP1
000036ca: JUMP
000036cb: JUMPDEST
000036cc: RETURNDATASIZE
000036cd: ISZERO
000036ce: PUSH2 0x36f5
000036d1: JUMPI
000036d2: RETURNDATASIZE
000036d3: SWAP1
000036d4: PUSH2 0x36dc
000036d7: DUP3
000036d8: PUSH2 0x2c9a
000036db: JUMP
000036dc: JUMPDEST
000036dd: SWAP2
000036de: PUSH2 0x36ea
000036e1: PUSH1 0x40
000036e3: MLOAD
000036e4: SWAP4
000036e5: DUP5
000036e6: PUSH2 0x2c47
000036e9: JUMP
000036ea: JUMPDEST
000036eb: DUP3
000036ec: MSTORE
000036ed: RETURNDATASIZE
000036ee: PUSH0
000036ef: PUSH1 0x20
000036f1: DUP5
000036f2: ADD
000036f3: RETURNDATACOPY
000036f4: JUMP
000036f5: JUMPDEST
000036f6: PUSH1 0x60
000036f8: SWAP1
000036f9: JUMP
000036fa: JUMPDEST
000036fb: DUP1
000036fc: MLOAD
000036fd: DUP3
000036fe: LT
000036ff: ISZERO
00003700: PUSH2 0x36b9
00003703: JUMPI
00003704: PUSH1 0x20
00003706: SWAP2
00003707: PUSH1 0x05
00003709: SHL
0000370a: ADD
0000370b: ADD
0000370c: SWAP1
0000370d: JUMP
0000370e: JUMPDEST
0000370f: SWAP2
00003710: SWAP1
00003711: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003726: DUP2
00003727: AND
00003728: ISZERO
00003729: PUSH2 0x3840
0000372c: JUMPI
0000372d: DUP2
0000372e: PUSH0
0000372f: MSTORE
00003730: PUSH1 0x03
00003732: PUSH1 0x20
00003734: MSTORE
00003735: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000374a: PUSH1 0x40
0000374c: PUSH0
0000374d: KECCAK256
0000374e: SLOAD
0000374f: AND
00003750: ISZERO
00003751: ISZERO
00003752: DUP1
00003753: PUSH2 0x3823
00003756: JUMPI
00003757: JUMPDEST
00003758: PUSH2 0x37f6
0000375b: JUMPI
0000375c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003771: PUSH2 0x377d
00003774: DUP2
00003775: SWAP3
00003776: DUP5
00003777: CALLER
00003778: SWAP2
00003779: PUSH2 0x5378
0000377c: JUMP
0000377d: JUMPDEST
0000377e: SWAP4
0000377f: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
000037a0: PUSH1 0x40
000037a2: MLOAD
000037a3: DUP1
000037a4: PUSH2 0x37b2
000037a7: DUP8
000037a8: DUP3
000037a9: SWAP2
000037aa: SWAP1
000037ab: PUSH1 0x20
000037ad: DUP4
000037ae: ADD
000037af: SWAP3
000037b0: MSTORE
000037b1: JUMP
000037b2: JUMPDEST
000037b3: SUB
000037b4: SWAP1
000037b5: LOG1
000037b6: AND
000037b7: SWAP3
000037b8: AND
000037b9: SWAP2
000037ba: DUP1
000037bb: DUP4
000037bc: SUB
000037bd: PUSH2 0x37c5
000037c0: JUMPI
000037c1: POP
000037c2: POP
000037c3: POP
000037c4: JUMP
000037c5: JUMPDEST
000037c6: PUSH32 0x64283d7b00000000000000000000000000000000000000000000000000000000
000037e7: PUSH0
000037e8: MSTORE
000037e9: PUSH1 0x04
000037eb: MSTORE
000037ec: PUSH1 0x24
000037ee: MSTORE
000037ef: PUSH1 0x44
000037f1: MSTORE
000037f2: PUSH1 0x64
000037f4: PUSH0
000037f5: REVERT
000037f6: JUMPDEST
000037f7: PUSH32 0xf53e751a00000000000000000000000000000000000000000000000000000000
00003818: PUSH0
00003819: MSTORE
0000381a: PUSH1 0x04
0000381c: DUP3
0000381d: SWAP1
0000381e: MSTORE
0000381f: PUSH1 0x24
00003821: PUSH0
00003822: REVERT
00003823: JUMPDEST
00003824: POP
00003825: DUP2
00003826: PUSH0
00003827: MSTORE
00003828: PUSH1 0x0b
0000382a: PUSH1 0x20
0000382c: MSTORE
0000382d: PUSH1 0xff
0000382f: PUSH1 0x01
00003831: PUSH1 0x40
00003833: PUSH0
00003834: KECCAK256
00003835: ADD
00003836: SLOAD
00003837: PUSH1 0xd0
00003839: SHR
0000383a: AND
0000383b: ISZERO
0000383c: PUSH2 0x3757
0000383f: JUMP
00003840: JUMPDEST
00003841: PUSH32 0x64a0ae9200000000000000000000000000000000000000000000000000000000
00003862: PUSH0
00003863: MSTORE
00003864: PUSH0
00003865: PUSH1 0x04
00003867: MSTORE
00003868: PUSH1 0x24
0000386a: PUSH0
0000386b: REVERT
0000386c: JUMPDEST
0000386d: SWAP1
0000386e: DUP2
0000386f: PUSH1 0x20
00003871: SWAP2
00003872: SUB
00003873: SLT
00003874: PUSH2 0x03fe
00003877: JUMPI
00003878: MLOAD
00003879: SWAP1
0000387a: JUMP
0000387b: JUMPDEST
0000387c: PUSH1 0x40
0000387e: MLOAD
0000387f: RETURNDATASIZE
00003880: PUSH0
00003881: DUP3
00003882: RETURNDATACOPY
00003883: RETURNDATASIZE
00003884: SWAP1
00003885: REVERT
00003886: JUMPDEST
00003887: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000038a8: PUSH0
000038a9: MSTORE
000038aa: PUSH1 0x11
000038ac: PUSH1 0x04
000038ae: MSTORE
000038af: PUSH1 0x24
000038b1: PUSH0
000038b2: REVERT
000038b3: JUMPDEST
000038b4: SWAP1
000038b5: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000038d6: DUP3
000038d7: ADD
000038d8: SWAP2
000038d9: DUP3
000038da: GT
000038db: PUSH2 0x38e0
000038de: JUMPI
000038df: JUMP
000038e0: JUMPDEST
000038e1: PUSH2 0x3886
000038e4: JUMP
000038e5: JUMPDEST
000038e6: SWAP2
000038e7: SWAP1
000038e8: DUP3
000038e9: SUB
000038ea: SWAP2
000038eb: DUP3
000038ec: GT
000038ed: PUSH2 0x38e0
000038f0: JUMPI
000038f1: JUMP
000038f2: JUMPDEST
000038f3: SWAP1
000038f4: DUP2
000038f5: PUSH1 0x20
000038f7: SWAP2
000038f8: SUB
000038f9: SLT
000038fa: PUSH2 0x03fe
000038fd: JUMPI
000038fe: MLOAD
000038ff: PUSH2 0x059b
00003902: DUP2
00003903: PUSH2 0x03d4
00003906: JUMP
00003907: JUMPDEST
00003908: PUSH2 0x392d
0000390b: PUSH1 0x01
0000390d: PUSH2 0x391e
00003910: DUP4
00003911: PUSH0
00003912: MSTORE
00003913: PUSH1 0x0b
00003915: PUSH1 0x20
00003917: MSTORE
00003918: PUSH1 0x40
0000391a: PUSH0
0000391b: KECCAK256
0000391c: SWAP1
0000391d: JUMP
0000391e: JUMPDEST
0000391f: ADD
00003920: SLOAD
00003921: PUSH1 0xa0
00003923: SHR
00003924: PUSH5 0xffffffffff
0000392a: AND
0000392b: SWAP1
0000392c: JUMP
0000392d: JUMPDEST
0000392e: PUSH5 0xffffffffff
00003934: TIMESTAMP
00003935: SWAP2
00003936: AND
00003937: GT
00003938: PUSH2 0x39d9
0000393b: JUMPI
0000393c: PUSH2 0x395d
0000393f: PUSH1 0x01
00003941: PUSH2 0x3952
00003944: DUP4
00003945: PUSH0
00003946: MSTORE
00003947: PUSH1 0x0b
00003949: PUSH1 0x20
0000394b: MSTORE
0000394c: PUSH1 0x40
0000394e: PUSH0
0000394f: KECCAK256
00003950: SWAP1
00003951: JUMP
00003952: JUMPDEST
00003953: ADD
00003954: SLOAD
00003955: PUSH1 0xd8
00003957: SHR
00003958: PUSH1 0xff
0000395a: AND
0000395b: SWAP1
0000395c: JUMP
0000395d: JUMPDEST
0000395e: PUSH2 0x39d3
00003961: JUMPI
00003962: PUSH16 0xffffffffffffffffffffffffffffffff
00003973: PUSH2 0x39b1
00003976: PUSH2 0x399c
00003979: PUSH2 0x3995
0000397c: PUSH2 0x3984
0000397f: DUP6
00003980: PUSH2 0x4d78
00003983: JUMP
00003984: JUMPDEST
00003985: ISZERO
00003986: ISZERO
00003987: SWAP5
00003988: PUSH0
00003989: MSTORE
0000398a: PUSH1 0x0b
0000398c: PUSH1 0x20
0000398e: MSTORE
0000398f: PUSH1 0x40
00003991: PUSH0
00003992: KECCAK256
00003993: SWAP1
00003994: JUMP
00003995: JUMPDEST
00003996: SLOAD
00003997: PUSH1 0x80
00003999: SHR
0000399a: SWAP1
0000399b: JUMP
0000399c: JUMPDEST
0000399d: PUSH16 0xffffffffffffffffffffffffffffffff
000039ae: AND
000039af: SWAP1
000039b0: JUMP
000039b1: JUMPDEST
000039b2: AND
000039b3: ISZERO
000039b4: PUSH2 0x39c5
000039b7: JUMPI
000039b8: PUSH2 0x39c0
000039bb: JUMPI
000039bc: PUSH1 0x01
000039be: SWAP1
000039bf: JUMP
000039c0: JUMPDEST
000039c1: PUSH1 0x02
000039c3: SWAP1
000039c4: JUMP
000039c5: JUMPDEST
000039c6: PUSH2 0x39ce
000039c9: JUMPI
000039ca: PUSH1 0x03
000039cc: SWAP1
000039cd: JUMP
000039ce: JUMPDEST
000039cf: PUSH1 0x04
000039d1: SWAP1
000039d2: JUMP
000039d3: JUMPDEST
000039d4: POP
000039d5: PUSH1 0x05
000039d7: SWAP1
000039d8: JUMP
000039d9: JUMPDEST
000039da: POP
000039db: PUSH0
000039dc: SWAP1
000039dd: JUMP
000039de: JUMPDEST
000039df: SWAP1
000039e0: SWAP3
000039e1: SWAP2
000039e2: PUSH2 0x39ec
000039e5: DUP2
000039e6: DUP6
000039e7: DUP5
000039e8: PUSH2 0x370e
000039eb: JUMP
000039ec: JUMPDEST
000039ed: DUP4
000039ee: EXTCODESIZE
000039ef: PUSH2 0x39f9
000039f2: JUMPI
000039f3: JUMPDEST
000039f4: POP
000039f5: POP
000039f6: POP
000039f7: POP
000039f8: JUMP
000039f9: JUMPDEST
000039fa: PUSH1 0x20
000039fc: SWAP2
000039fd: PUSH2 0x3a34
00003a00: PUSH1 0x40
00003a02: MLOAD
00003a03: SWAP5
00003a04: DUP6
00003a05: SWAP4
00003a06: DUP5
00003a07: SWAP4
00003a08: PUSH32 0x150b7a0200000000000000000000000000000000000000000000000000000000
00003a29: DUP6
00003a2a: MSTORE
00003a2b: CALLER
00003a2c: PUSH1 0x04
00003a2e: DUP7
00003a2f: ADD
00003a30: PUSH2 0x4db5
00003a33: JUMP
00003a34: JUMPDEST
00003a35: SUB
00003a36: DUP2
00003a37: PUSH0
00003a38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003a4d: DUP8
00003a4e: AND
00003a4f: GAS
00003a50: CALL
00003a51: PUSH0
00003a52: SWAP2
00003a53: DUP2
00003a54: PUSH2 0x3b4c
00003a57: JUMPI
00003a58: JUMPDEST
00003a59: POP
00003a5a: PUSH2 0x3ab8
00003a5d: JUMPI
00003a5e: POP
00003a5f: PUSH2 0x3a66
00003a62: PUSH2 0x36cb
00003a65: JUMP
00003a66: JUMPDEST
00003a67: DUP1
00003a68: MLOAD
00003a69: SWAP2
00003a6a: SWAP1
00003a6b: DUP3
00003a6c: PUSH2 0x3ab1
00003a6f: JUMPI
00003a70: PUSH32 0x64a0ae9200000000000000000000000000000000000000000000000000000000
00003a91: PUSH0
00003a92: MSTORE
00003a93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003aa8: DUP3
00003aa9: AND
00003aaa: PUSH1 0x04
00003aac: MSTORE
00003aad: PUSH1 0x24
00003aaf: PUSH0
00003ab0: REVERT
00003ab1: JUMPDEST
00003ab2: SWAP1
00003ab3: POP
00003ab4: PUSH1 0x20
00003ab6: ADD
00003ab7: REVERT
00003ab8: JUMPDEST
00003ab9: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00003ada: PUSH32 0x150b7a0200000000000000000000000000000000000000000000000000000000
00003afb: SWAP2
00003afc: AND
00003afd: SUB
00003afe: PUSH2 0x3b0b
00003b01: JUMPI
00003b02: POP
00003b03: PUSH0
00003b04: DUP1
00003b05: DUP1
00003b06: DUP1
00003b07: PUSH2 0x39f3
00003b0a: JUMP
00003b0b: JUMPDEST
00003b0c: PUSH32 0x64a0ae9200000000000000000000000000000000000000000000000000000000
00003b2d: PUSH0
00003b2e: MSTORE
00003b2f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003b44: AND
00003b45: PUSH1 0x04
00003b47: MSTORE
00003b48: PUSH1 0x24
00003b4a: PUSH0
00003b4b: REVERT
00003b4c: JUMPDEST
00003b4d: PUSH2 0x3b66
00003b50: SWAP2
00003b51: SWAP3
00003b52: POP
00003b53: PUSH1 0x20
00003b55: RETURNDATASIZE
00003b56: PUSH1 0x20
00003b58: GT
00003b59: PUSH2 0x253a
00003b5c: JUMPI
00003b5d: PUSH2 0x252c
00003b60: DUP2
00003b61: DUP4
00003b62: PUSH2 0x2c47
00003b65: JUMP
00003b66: JUMPDEST
00003b67: SWAP1
00003b68: PUSH0
00003b69: PUSH2 0x3a58
00003b6c: JUMP
00003b6d: JUMPDEST
00003b6e: SWAP2
00003b6f: SWAP1
00003b70: DUP3
00003b71: ADD
00003b72: DUP1
00003b73: SWAP3
00003b74: GT
00003b75: PUSH2 0x38e0
00003b78: JUMPI
00003b79: JUMP
00003b7a: JUMPDEST
00003b7b: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00003b9c: PUSH0
00003b9d: MSTORE
00003b9e: PUSH1 0x12
00003ba0: PUSH1 0x04
00003ba2: MSTORE
00003ba3: PUSH1 0x24
00003ba5: PUSH0
00003ba6: REVERT
00003ba7: JUMPDEST
00003ba8: DUP2
00003ba9: ISZERO
00003baa: PUSH2 0x3bb1
00003bad: JUMPI
00003bae: DIV
00003baf: SWAP1
00003bb0: JUMP
00003bb1: JUMPDEST
00003bb2: PUSH2 0x3b7a
00003bb5: JUMP
00003bb6: JUMPDEST
00003bb7: DUP2
00003bb8: ISZERO
00003bb9: PUSH2 0x3bb1
00003bbc: JUMPI
00003bbd: MOD
00003bbe: SWAP1
00003bbf: JUMP
00003bc0: JUMPDEST
00003bc1: PUSH16 0xffffffffffffffffffffffffffffffff
00003bd2: PUSH2 0x3be6
00003bd5: PUSH2 0x1677
00003bd8: DUP4
00003bd9: PUSH0
00003bda: MSTORE
00003bdb: PUSH1 0x0b
00003bdd: PUSH1 0x20
00003bdf: MSTORE
00003be0: PUSH1 0x40
00003be2: PUSH0
00003be3: KECCAK256
00003be4: SWAP1
00003be5: JUMP
00003be6: JUMPDEST
00003be7: AND
00003be8: SWAP1
00003be9: DUP2
00003bea: ISZERO
00003beb: PUSH2 0x3cd9
00003bee: JUMPI
00003bef: PUSH2 0x3c0f
00003bf2: PUSH2 0x3c08
00003bf5: PUSH1 0x02
00003bf7: PUSH2 0x16b5
00003bfa: DUP5
00003bfb: PUSH0
00003bfc: MSTORE
00003bfd: PUSH1 0x0b
00003bff: PUSH1 0x20
00003c01: MSTORE
00003c02: PUSH1 0x40
00003c04: PUSH0
00003c05: KECCAK256
00003c06: SWAP1
00003c07: JUMP
00003c08: JUMPDEST
00003c09: DUP1
00003c0a: SWAP4
00003c0b: PUSH2 0x4e0d
00003c0e: JUMP
00003c0f: JUMPDEST
00003c10: SWAP2
00003c11: PUSH2 0x3c2f
00003c14: PUSH1 0x03
00003c16: PUSH2 0x3c27
00003c19: DUP5
00003c1a: PUSH0
00003c1b: MSTORE
00003c1c: PUSH1 0x0b
00003c1e: PUSH1 0x20
00003c20: MSTORE
00003c21: PUSH1 0x40
00003c23: PUSH0
00003c24: KECCAK256
00003c25: SWAP1
00003c26: JUMP
00003c27: JUMPDEST
00003c28: ADD
00003c29: SLOAD
00003c2a: SWAP2
00003c2b: PUSH2 0x4df0
00003c2e: JUMP
00003c2f: JUMPDEST
00003c30: PUSH2 0x3c41
00003c33: PUSH2 0x3c3b
00003c36: DUP5
00003c37: PUSH2 0x4c02
00003c3a: JUMP
00003c3b: JUMPDEST
00003c3c: DUP4
00003c3d: PUSH2 0x3b6d
00003c40: JUMP
00003c41: JUMPDEST
00003c42: PUSH2 0x3c4b
00003c45: DUP3
00003c46: DUP7
00003c47: PUSH2 0x3b6d
00003c4a: JUMP
00003c4b: JUMPDEST
00003c4c: GT
00003c4d: ISZERO
00003c4e: PUSH2 0x3cd1
00003c51: JUMPI
00003c52: PUSH2 0x3c84
00003c55: SWAP2
00003c56: PUSH2 0x3c70
00003c59: PUSH2 0x399c
00003c5c: PUSH2 0x399c
00003c5f: PUSH2 0x3995
00003c62: DUP8
00003c63: PUSH0
00003c64: MSTORE
00003c65: PUSH1 0x0b
00003c67: PUSH1 0x20
00003c69: MSTORE
00003c6a: PUSH1 0x40
00003c6c: PUSH0
00003c6d: KECCAK256
00003c6e: SWAP1
00003c6f: JUMP
00003c70: JUMPDEST
00003c71: SWAP5
00003c72: SUB
00003c73: ADD
00003c74: SWAP3
00003c75: PUSH2 0x3c7e
00003c78: DUP2
00003c79: DUP6
00003c7a: PUSH2 0x3ba7
00003c7d: JUMP
00003c7e: JUMPDEST
00003c7f: SWAP4
00003c80: PUSH2 0x3bb6
00003c83: JUMP
00003c84: JUMPDEST
00003c85: PUSH2 0x3cb0
00003c88: JUMPI
00003c89: PUSH2 0x3ca2
00003c8c: PUSH1 0x01
00003c8e: PUSH2 0x391e
00003c91: PUSH2 0x3cac
00003c94: SWAP4
00003c95: PUSH0
00003c96: MSTORE
00003c97: PUSH1 0x0b
00003c99: PUSH1 0x20
00003c9b: MSTORE
00003c9c: PUSH1 0x40
00003c9e: PUSH0
00003c9f: KECCAK256
00003ca0: SWAP1
00003ca1: JUMP
00003ca2: JUMPDEST
00003ca3: PUSH5 0xffffffffff
00003ca9: AND
00003caa: SWAP1
00003cab: JUMP
00003cac: JUMPDEST
00003cad: ADD
00003cae: SWAP1
00003caf: JUMP
00003cb0: JUMPDEST
00003cb1: SWAP1
00003cb2: PUSH2 0x3ccc
00003cb5: PUSH2 0x3ca2
00003cb8: PUSH1 0x01
00003cba: PUSH2 0x391e
00003cbd: DUP2
00003cbe: SWAP6
00003cbf: PUSH0
00003cc0: MSTORE
00003cc1: PUSH1 0x0b
00003cc3: PUSH1 0x20
00003cc5: MSTORE
00003cc6: PUSH1 0x40
00003cc8: PUSH0
00003cc9: KECCAK256
00003cca: SWAP1
00003ccb: JUMP
00003ccc: JUMPDEST
00003ccd: ADD
00003cce: ADD
00003ccf: SWAP1
00003cd0: JUMP
00003cd1: JUMPDEST
00003cd2: POP
00003cd3: POP
00003cd4: POP
00003cd5: POP
00003cd6: PUSH0
00003cd7: SWAP1
00003cd8: JUMP
00003cd9: JUMPDEST
00003cda: PUSH32 0x0f04b2a100000000000000000000000000000000000000000000000000000000
00003cfb: PUSH0
00003cfc: MSTORE
00003cfd: PUSH1 0x04
00003cff: MSTORE
00003d00: PUSH1 0x24
00003d02: PUSH0
00003d03: REVERT
00003d04: JUMPDEST
00003d05: DUP1
00003d06: PUSH0
00003d07: MSTORE
00003d08: PUSH1 0x03
00003d0a: PUSH1 0x20
00003d0c: MSTORE
00003d0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003d22: PUSH1 0x40
00003d24: PUSH0
00003d25: KECCAK256
00003d26: SLOAD
00003d27: AND
00003d28: SWAP1
00003d29: DUP2
00003d2a: ISZERO
00003d2b: PUSH2 0x3d32
00003d2e: JUMPI
00003d2f: POP
00003d30: SWAP1
00003d31: JUMP
00003d32: JUMPDEST
00003d33: PUSH32 0x7e27328900000000000000000000000000000000000000000000000000000000
00003d54: PUSH0
00003d55: MSTORE
00003d56: PUSH1 0x04
00003d58: MSTORE
00003d59: PUSH1 0x24
00003d5b: PUSH0
00003d5c: REVERT
00003d5d: JUMPDEST
00003d5e: DUP1
00003d5f: PUSH0
00003d60: MSTORE
00003d61: PUSH1 0x0b
00003d63: PUSH1 0x20
00003d65: MSTORE
00003d66: PUSH1 0xff
00003d68: PUSH1 0x01
00003d6a: PUSH1 0x40
00003d6c: PUSH0
00003d6d: KECCAK256
00003d6e: ADD
00003d6f: SLOAD
00003d70: PUSH1 0xc8
00003d72: SHR
00003d73: AND
00003d74: ISZERO
00003d75: PUSH2 0x3d7b
00003d78: JUMPI
00003d79: POP
00003d7a: JUMP
00003d7b: JUMPDEST
00003d7c: PUSH32 0x92c3843400000000000000000000000000000000000000000000000000000000
00003d9d: PUSH0
00003d9e: MSTORE
00003d9f: PUSH1 0x04
00003da1: MSTORE
00003da2: PUSH1 0x24
00003da4: PUSH0
00003da5: REVERT
00003da6: JUMPDEST
00003da7: PUSH2 0x3daf
00003daa: DUP2
00003dab: PUSH2 0x4c02
00003dae: JUMP
00003daf: JUMPDEST
00003db0: DUP2
00003db1: PUSH0
00003db2: MSTORE
00003db3: PUSH1 0x0b
00003db5: PUSH1 0x20
00003db7: MSTORE
00003db8: PUSH1 0x03
00003dba: PUSH1 0x40
00003dbc: PUSH0
00003dbd: KECCAK256
00003dbe: ADD
00003dbf: SLOAD
00003dc0: DUP2
00003dc1: ADD
00003dc2: DUP1
00003dc3: SWAP2
00003dc4: GT
00003dc5: PUSH2 0x38e0
00003dc8: JUMPI
00003dc9: PUSH2 0x059b
00003dcc: SWAP2
00003dcd: PUSH0
00003dce: MSTORE
00003dcf: PUSH1 0x0b
00003dd1: PUSH1 0x20
00003dd3: MSTORE
00003dd4: PUSH1 0xff
00003dd6: PUSH1 0x02
00003dd8: PUSH1 0x40
00003dda: PUSH0
00003ddb: KECCAK256
00003ddc: ADD
00003ddd: SLOAD
00003dde: PUSH1 0xa0
00003de0: SHR
00003de1: AND
00003de2: SWAP1
00003de3: PUSH2 0x531e
00003de6: JUMP
00003de7: JUMPDEST
00003de8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003dfd: PUSH32 0x0000000000000000000000007a86d3e6894f9c5b5f25ffbdaae658cfc7569623
00003e1e: AND
00003e1f: ADDRESS
00003e20: SUB
00003e21: PUSH2 0x3e26
00003e24: JUMPI
00003e25: JUMP
00003e26: JUMPDEST
00003e27: PUSH32 0xa1c0d6e500000000000000000000000000000000000000000000000000000000
00003e48: PUSH0
00003e49: MSTORE
00003e4a: PUSH1 0x04
00003e4c: PUSH0
00003e4d: REVERT
00003e4e: JUMPDEST
00003e4f: SWAP1
00003e50: PUSH16 0xffffffffffffffffffffffffffffffff
00003e61: DUP1
00003e62: SWAP2
00003e63: AND
00003e64: SWAP2
00003e65: AND
00003e66: SUB
00003e67: SWAP1
00003e68: PUSH16 0xffffffffffffffffffffffffffffffff
00003e79: DUP3
00003e7a: GT
00003e7b: PUSH2 0x38e0
00003e7e: JUMPI
00003e7f: JUMP
00003e80: JUMPDEST
00003e81: PUSH2 0x059b
00003e84: SWAP1
00003e85: DUP1
00003e86: PUSH0
00003e87: MSTORE
00003e88: PUSH1 0x0b
00003e8a: PUSH1 0x20
00003e8c: MSTORE
00003e8d: PUSH2 0x3eac
00003e90: PUSH16 0xffffffffffffffffffffffffffffffff
00003ea1: PUSH1 0x40
00003ea3: PUSH0
00003ea4: KECCAK256
00003ea5: SLOAD
00003ea6: AND
00003ea7: SWAP2
00003ea8: PUSH2 0x4b05
00003eab: JUMP
00003eac: JUMPDEST
00003ead: SWAP1
00003eae: PUSH2 0x3e4e
00003eb1: JUMP
00003eb2: JUMPDEST
00003eb3: PUSH16 0xffffffffffffffffffffffffffffffff
00003ec4: DUP3
00003ec5: AND
00003ec6: DUP1
00003ec7: ISZERO
00003ec8: PUSH2 0x40ff
00003ecb: JUMPI
00003ecc: PUSH2 0x3ed4
00003ecf: DUP3
00003ed0: PUSH2 0x3e80
00003ed3: JUMP
00003ed4: JUMPDEST
00003ed5: PUSH16 0xffffffffffffffffffffffffffffffff
00003ee6: DUP2
00003ee7: AND
00003ee8: SWAP1
00003ee9: DUP2
00003eea: DUP4
00003eeb: GT
00003eec: PUSH2 0x40b7
00003eef: JUMPI
00003ef0: POP
00003ef1: PUSH2 0x3f08
00003ef4: PUSH2 0x399c
00003ef7: PUSH2 0x1677
00003efa: DUP6
00003efb: PUSH0
00003efc: MSTORE
00003efd: PUSH1 0x0b
00003eff: PUSH1 0x20
00003f01: MSTORE
00003f02: PUSH1 0x40
00003f04: PUSH0
00003f05: KECCAK256
00003f06: SWAP1
00003f07: JUMP
00003f08: JUMPDEST
00003f09: LT
00003f0a: PUSH2 0x4054
00003f0d: JUMPI
00003f0e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003f23: PUSH32 0xe31f2d40d5780915b1e656a67e11bdf09b0a4a925ec42bbeae220c8ca937ab49
00003f44: SWAP2
00003f45: PUSH2 0x402e
00003f48: PUSH2 0x3f5e
00003f4b: PUSH1 0x01
00003f4d: PUSH2 0x13b7
00003f50: DUP8
00003f51: PUSH0
00003f52: MSTORE
00003f53: PUSH1 0x0b
00003f55: PUSH1 0x20
00003f57: MSTORE
00003f58: PUSH1 0x40
00003f5a: PUSH0
00003f5b: KECCAK256
00003f5c: SWAP1
00003f5d: JUMP
00003f5e: JUMPDEST
00003f5f: SWAP2
00003f60: DUP3
00003f61: PUSH2 0x3f77
00003f64: PUSH1 0x02
00003f66: PUSH2 0x13b7
00003f69: DUP10
00003f6a: PUSH0
00003f6b: MSTORE
00003f6c: PUSH1 0x0b
00003f6e: PUSH1 0x20
00003f70: MSTORE
00003f71: PUSH1 0x40
00003f73: PUSH0
00003f74: KECCAK256
00003f75: SWAP1
00003f76: JUMP
00003f77: JUMPDEST
00003f78: PUSH2 0x3ffb
00003f7b: PUSH2 0x3f8c
00003f7e: DUP10
00003f7f: PUSH0
00003f80: MSTORE
00003f81: PUSH1 0x0b
00003f83: PUSH1 0x20
00003f85: MSTORE
00003f86: PUSH1 0x40
00003f88: PUSH0
00003f89: KECCAK256
00003f8a: SWAP1
00003f8b: JUMP
00003f8c: JUMPDEST
00003f8d: PUSH2 0x3fc0
00003f90: DUP12
00003f91: PUSH2 0x3faa
00003f94: DUP4
00003f95: SLOAD
00003f96: PUSH16 0xffffffffffffffffffffffffffffffff
00003fa7: AND
00003fa8: SWAP1
00003fa9: JUMP
00003faa: JUMPDEST
00003fab: SUB
00003fac: PUSH16 0xffffffffffffffffffffffffffffffff
00003fbd: AND
00003fbe: SWAP1
00003fbf: JUMP
00003fc0: JUMPDEST
00003fc1: PUSH16 0xffffffffffffffffffffffffffffffff
00003fd2: AND
00003fd3: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00003ff4: DUP3
00003ff5: SLOAD
00003ff6: AND
00003ff7: OR
00003ff8: SWAP1
00003ff9: SSTORE
00003ffa: JUMP
00003ffb: JUMPDEST
00003ffc: PUSH2 0x4023
00003fff: DUP2
00004000: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004015: AND
00004016: PUSH0
00004017: MSTORE
00004018: PUSH1 0x07
0000401a: PUSH1 0x20
0000401c: MSTORE
0000401d: PUSH1 0x40
0000401f: PUSH0
00004020: KECCAK256
00004021: SWAP1
00004022: JUMP
00004023: JUMPDEST
00004024: DUP4
00004025: DUP2
00004026: SLOAD
00004027: SUB
00004028: SWAP1
00004029: SSTORE
0000402a: PUSH2 0x4ba0
0000402d: JUMP
0000402e: JUMPDEST
0000402f: PUSH1 0x40
00004031: MLOAD
00004032: PUSH16 0xffffffffffffffffffffffffffffffff
00004043: SWAP1
00004044: SWAP6
00004045: AND
00004046: DUP6
00004047: MSTORE
00004048: AND
00004049: SWAP3
0000404a: DUP1
0000404b: PUSH1 0x20
0000404d: DUP2
0000404e: ADD
0000404f: JUMPDEST
00004050: SUB
00004051: SWAP1
00004052: LOG3
00004053: JUMP
00004054: JUMPDEST
00004055: PUSH2 0x08d5
00004058: DUP4
00004059: DUP4
0000405a: PUSH2 0x406e
0000405d: PUSH2 0x1677
00004060: DUP3
00004061: PUSH0
00004062: MSTORE
00004063: PUSH1 0x0b
00004065: PUSH1 0x20
00004067: MSTORE
00004068: PUSH1 0x40
0000406a: PUSH0
0000406b: KECCAK256
0000406c: SWAP1
0000406d: JUMP
0000406e: JUMPDEST
0000406f: SWAP1
00004070: PUSH32 0xcb5f605f00000000000000000000000000000000000000000000000000000000
00004091: PUSH0
00004092: MSTORE
00004093: SWAP3
00004094: SWAP2
00004095: PUSH16 0xffffffffffffffffffffffffffffffff
000040a6: DUP1
000040a7: SWAP3
000040a8: PUSH1 0x64
000040aa: SWAP6
000040ab: PUSH1 0x04
000040ad: MSTORE
000040ae: AND
000040af: PUSH1 0x24
000040b1: MSTORE
000040b2: AND
000040b3: PUSH1 0x44
000040b5: MSTORE
000040b6: JUMP
000040b7: JUMPDEST
000040b8: PUSH32 0xe977140100000000000000000000000000000000000000000000000000000000
000040d9: PUSH0
000040da: MSTORE
000040db: PUSH1 0x04
000040dd: DUP5
000040de: SWAP1
000040df: MSTORE
000040e0: PUSH16 0xffffffffffffffffffffffffffffffff
000040f1: DUP1
000040f2: DUP7
000040f3: AND
000040f4: PUSH1 0x24
000040f6: MSTORE
000040f7: AND
000040f8: PUSH1 0x44
000040fa: MSTORE
000040fb: PUSH1 0x64
000040fd: PUSH0
000040fe: REVERT
000040ff: JUMPDEST
00004100: PUSH32 0xea66b87100000000000000000000000000000000000000000000000000000000
00004121: PUSH0
00004122: MSTORE
00004123: PUSH1 0x04
00004125: DUP3
00004126: SWAP1
00004127: MSTORE
00004128: PUSH1 0x24
0000412a: PUSH0
0000412b: REVERT
0000412c: JUMPDEST
0000412d: DUP1
0000412e: PUSH0
0000412f: MSTORE
00004130: PUSH1 0x0b
00004132: PUSH1 0x20
00004134: MSTORE
00004135: PUSH5 0xffffffffff
0000413b: PUSH1 0x01
0000413d: PUSH1 0x40
0000413f: PUSH0
00004140: KECCAK256
00004141: ADD
00004142: SLOAD
00004143: PUSH1 0xa0
00004145: SHR
00004146: AND
00004147: PUSH5 0xffffffffff
0000414d: TIMESTAMP
0000414e: SWAP2
0000414f: AND
00004150: GT
00004151: PUSH2 0x41e2
00004154: JUMPI
00004155: PUSH2 0x415e
00004158: PUSH0
00004159: DUP3
0000415a: PUSH2 0x4c77
0000415d: JUMP
0000415e: JUMPDEST
0000415f: PUSH2 0x4175
00004162: PUSH1 0x01
00004164: PUSH2 0x13b7
00004167: DUP4
00004168: PUSH0
00004169: MSTORE
0000416a: PUSH1 0x0b
0000416c: PUSH1 0x20
0000416e: MSTORE
0000416f: PUSH1 0x40
00004171: PUSH0
00004172: KECCAK256
00004173: SWAP1
00004174: JUMP
00004175: JUMPDEST
00004176: SWAP1
00004177: PUSH2 0x418b
0000417a: PUSH2 0x15bf
0000417d: DUP3
0000417e: PUSH0
0000417f: MSTORE
00004180: PUSH1 0x03
00004182: PUSH1 0x20
00004184: MSTORE
00004185: PUSH1 0x40
00004187: PUSH0
00004188: KECCAK256
00004189: SWAP1
0000418a: JUMP
0000418b: JUMPDEST
0000418c: SWAP1
0000418d: PUSH32 0xda83bf669c651406e02062769e01d14cccb5625ea685fd95e0e56d29597dac47
000041ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000041c3: PUSH2 0x41cb
000041c6: DUP4
000041c7: PUSH2 0x3da6
000041ca: JUMP
000041cb: JUMPDEST
000041cc: PUSH1 0x40
000041ce: MLOAD
000041cf: SWAP1
000041d0: DUP2
000041d1: MSTORE
000041d2: SWAP4
000041d3: DUP2
000041d4: AND
000041d5: SWAP5
000041d6: AND
000041d7: SWAP3
000041d8: DUP1
000041d9: PUSH1 0x20
000041db: DUP2
000041dc: ADD
000041dd: JUMPDEST
000041de: SUB
000041df: SWAP1
000041e0: LOG4
000041e1: JUMP
000041e2: JUMPDEST
000041e3: DUP1
000041e4: PUSH2 0x41fd
000041e7: PUSH1 0x01
000041e9: PUSH2 0x391e
000041ec: PUSH2 0x08d5
000041ef: SWAP5
000041f0: PUSH0
000041f1: MSTORE
000041f2: PUSH1 0x0b
000041f4: PUSH1 0x20
000041f6: MSTORE
000041f7: PUSH1 0x40
000041f9: PUSH0
000041fa: KECCAK256
000041fb: SWAP1
000041fc: JUMP
000041fd: JUMPDEST
000041fe: PUSH32 0x54ae995a00000000000000000000000000000000000000000000000000000000
0000421f: PUSH0
00004220: MSTORE
00004221: PUSH1 0x04
00004223: SWAP2
00004224: SWAP1
00004225: SWAP2
00004226: MSTORE
00004227: PUSH5 0xffffffffff
0000422d: AND
0000422e: PUSH1 0x24
00004230: MSTORE
00004231: PUSH1 0x44
00004233: SWAP1
00004234: JUMP
00004235: JUMPDEST
00004236: DUP1
00004237: PUSH0
00004238: MSTORE
00004239: PUSH1 0x0b
0000423b: PUSH1 0x20
0000423d: MSTORE
0000423e: PUSH1 0x40
00004240: PUSH0
00004241: KECCAK256
00004242: SLOAD
00004243: PUSH1 0x80
00004245: SHR
00004246: PUSH2 0x4297
00004249: JUMPI
0000424a: PUSH2 0x4253
0000424d: DUP3
0000424e: DUP3
0000424f: PUSH2 0x4c77
00004252: JUMP
00004253: JUMPDEST
00004254: PUSH1 0x40
00004256: MLOAD
00004257: PUSH16 0xffffffffffffffffffffffffffffffff
00004268: SWAP3
00004269: SWAP1
0000426a: SWAP3
0000426b: AND
0000426c: DUP3
0000426d: MSTORE
0000426e: CALLER
0000426f: SWAP2
00004270: PUSH32 0xc2a543cfadbf862642247e28711aaa30e3460384be5712be6557fee3384454fd
00004291: SWAP1
00004292: PUSH1 0x20
00004294: SWAP1
00004295: LOG3
00004296: JUMP
00004297: JUMPDEST
00004298: PUSH32 0xdc6fbbbc00000000000000000000000000000000000000000000000000000000
000042b9: PUSH0
000042ba: MSTORE
000042bb: PUSH1 0x04
000042bd: MSTORE
000042be: PUSH1 0x24
000042c0: PUSH0
000042c1: REVERT
000042c2: JUMPDEST
000042c3: PUSH16 0xffffffffffffffffffffffffffffffff
000042d4: DUP3
000042d5: AND
000042d6: DUP1
000042d7: ISZERO
000042d8: PUSH2 0x43f8
000042db: JUMPI
000042dc: PUSH0
000042dd: DUP3
000042de: DUP2
000042df: MSTORE
000042e0: PUSH1 0x0b
000042e2: PUSH1 0x20
000042e4: MSTORE
000042e5: PUSH1 0x40
000042e7: SWAP1
000042e8: KECCAK256
000042e9: PUSH1 0x02
000042eb: DUP2
000042ec: ADD
000042ed: SLOAD
000042ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004303: AND
00004304: SWAP2
00004305: SWAP1
00004306: SWAP2
00004307: DUP2
00004308: PUSH16 0xffffffffffffffffffffffffffffffff
00004319: DUP1
0000431a: DUP6
0000431b: SLOAD
0000431c: AND
0000431d: AND
0000431e: ADD
0000431f: SWAP3
00004320: PUSH16 0xffffffffffffffffffffffffffffffff
00004331: DUP5
00004332: GT
00004333: PUSH2 0x38e0
00004336: JUMPI
00004337: PUSH2 0x43b1
0000433a: SWAP4
0000433b: PUSH2 0x437a
0000433e: SWAP2
0000433f: SWAP1
00004340: PUSH16 0xffffffffffffffffffffffffffffffff
00004351: AND
00004352: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00004373: DUP3
00004374: SLOAD
00004375: AND
00004376: OR
00004377: SWAP1
00004378: SSTORE
00004379: JUMP
0000437a: JUMPDEST
0000437b: PUSH2 0x43a2
0000437e: DUP2
0000437f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004394: AND
00004395: PUSH0
00004396: MSTORE
00004397: PUSH1 0x07
00004399: PUSH1 0x20
0000439b: MSTORE
0000439c: PUSH1 0x40
0000439e: PUSH0
0000439f: KECCAK256
000043a0: SWAP1
000043a1: JUMP
000043a2: JUMPDEST
000043a3: DUP3
000043a4: DUP2
000043a5: SLOAD
000043a6: ADD
000043a7: SWAP1
000043a8: SSTORE
000043a9: ADDRESS
000043aa: SWAP1
000043ab: CALLER
000043ac: SWAP1
000043ad: PUSH2 0x4424
000043b0: JUMP
000043b1: JUMPDEST
000043b2: PUSH1 0x40
000043b4: MLOAD
000043b5: PUSH16 0xffffffffffffffffffffffffffffffff
000043c6: SWAP1
000043c7: SWAP3
000043c8: AND
000043c9: DUP3
000043ca: MSTORE
000043cb: CALLER
000043cc: SWAP2
000043cd: PUSH32 0xa06c1466b3c9751408a5ac337a2e8808e5ee0ceed1fd70635d041b21174eb6b4
000043ee: SWAP1
000043ef: DUP1
000043f0: PUSH1 0x20
000043f2: DUP2
000043f3: ADD
000043f4: PUSH2 0x404f
000043f7: JUMP
000043f8: JUMPDEST
000043f9: POP
000043fa: PUSH32 0x33f2df5a00000000000000000000000000000000000000000000000000000000
0000441b: PUSH0
0000441c: MSTORE
0000441d: PUSH1 0x04
0000441f: MSTORE
00004420: PUSH1 0x24
00004422: PUSH0
00004423: REVERT
00004424: JUMPDEST
00004425: SWAP1
00004426: SWAP2
00004427: SWAP3
00004428: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000443d: PUSH2 0x2c98
00004440: SWAP5
00004441: DUP2
00004442: PUSH1 0x40
00004444: MLOAD
00004445: SWAP6
00004446: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00004467: PUSH1 0x20
00004469: DUP9
0000446a: ADD
0000446b: MSTORE
0000446c: AND
0000446d: PUSH1 0x24
0000446f: DUP7
00004470: ADD
00004471: MSTORE
00004472: AND
00004473: PUSH1 0x44
00004475: DUP5
00004476: ADD
00004477: MSTORE
00004478: PUSH1 0x64
0000447a: DUP4
0000447b: ADD
0000447c: MSTORE
0000447d: PUSH1 0x64
0000447f: DUP3
00004480: MSTORE
00004481: PUSH2 0x448b
00004484: PUSH1 0x84
00004486: DUP4
00004487: PUSH2 0x2c47
0000448a: JUMP
0000448b: JUMPDEST
0000448c: PUSH2 0x555d
0000448f: JUMP
00004490: JUMPDEST
00004491: SWAP1
00004492: DUP2
00004493: PUSH1 0x20
00004495: SWAP2
00004496: SUB
00004497: SLT
00004498: PUSH2 0x03fe
0000449b: JUMPI
0000449c: MLOAD
0000449d: PUSH1 0xff
0000449f: DUP2
000044a0: AND
000044a1: DUP2
000044a2: SUB
000044a3: PUSH2 0x03fe
000044a6: JUMPI
000044a7: SWAP1
000044a8: JUMP
000044a9: JUMPDEST
000044aa: SWAP1
000044ab: PUSH2 0x0120
000044ae: PUSH1 0x03
000044b0: SWAP2
000044b1: PUSH2 0x450a
000044b4: PUSH2 0x44cd
000044b7: DUP3
000044b8: MLOAD
000044b9: PUSH16 0xffffffffffffffffffffffffffffffff
000044ca: AND
000044cb: SWAP1
000044cc: JUMP
000044cd: JUMPDEST
000044ce: DUP6
000044cf: SWAP1
000044d0: PUSH16 0xffffffffffffffffffffffffffffffff
000044e1: AND
000044e2: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00004503: DUP3
00004504: SLOAD
00004505: AND
00004506: OR
00004507: SWAP1
00004508: SSTORE
00004509: JUMP
0000450a: JUMPDEST
0000450b: PUSH2 0x456b
0000450e: PUSH2 0x452a
00004511: PUSH1 0x20
00004513: DUP4
00004514: ADD
00004515: MLOAD
00004516: PUSH16 0xffffffffffffffffffffffffffffffff
00004527: AND
00004528: SWAP1
00004529: JUMP
0000452a: JUMPDEST
0000452b: DUP6
0000452c: SLOAD
0000452d: PUSH16 0xffffffffffffffffffffffffffffffff
0000453e: AND
0000453f: PUSH1 0x80
00004541: SWAP2
00004542: SWAP1
00004543: SWAP2
00004544: SHL
00004545: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00004566: AND
00004567: OR
00004568: DUP6
00004569: SSTORE
0000456a: JUMP
0000456b: JUMPDEST
0000456c: PUSH2 0x4741
0000456f: PUSH1 0x01
00004571: DUP6
00004572: ADD
00004573: PUSH2 0x45d7
00004576: PUSH2 0x4596
00004579: PUSH1 0x40
0000457b: DUP6
0000457c: ADD
0000457d: MLOAD
0000457e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004593: AND
00004594: SWAP1
00004595: JUMP
00004596: JUMPDEST
00004597: DUP3
00004598: SWAP1
00004599: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000045ae: AND
000045af: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000045d0: DUP3
000045d1: SLOAD
000045d2: AND
000045d3: OR
000045d4: SWAP1
000045d5: SSTORE
000045d6: JUMP
000045d7: JUMPDEST
000045d8: PUSH2 0x4636
000045db: PUSH2 0x45ec
000045de: PUSH1 0x60
000045e0: DUP6
000045e1: ADD
000045e2: MLOAD
000045e3: PUSH5 0xffffffffff
000045e9: AND
000045ea: SWAP1
000045eb: JUMP
000045ec: JUMPDEST
000045ed: DUP3
000045ee: SLOAD
000045ef: PUSH32 0xffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff
00004610: AND
00004611: PUSH1 0xa0
00004613: SWAP2
00004614: SWAP1
00004615: SWAP2
00004616: SHL
00004617: PUSH25 0xffffffffff0000000000000000000000000000000000000000
00004631: AND
00004632: OR
00004633: DUP3
00004634: SSTORE
00004635: JUMP
00004636: JUMPDEST
00004637: PUSH2 0x4691
0000463a: PUSH2 0x4646
0000463d: PUSH1 0x80
0000463f: DUP6
00004640: ADD
00004641: MLOAD
00004642: ISZERO
00004643: ISZERO
00004644: SWAP1
00004645: JUMP
00004646: JUMPDEST
00004647: DUP3
00004648: SLOAD
00004649: PUSH32 0xffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffff
0000466a: AND
0000466b: SWAP1
0000466c: ISZERO
0000466d: ISZERO
0000466e: PUSH1 0xc8
00004670: SHL
00004671: PUSH26 0xff00000000000000000000000000000000000000000000000000
0000468c: AND
0000468d: OR
0000468e: DUP3
0000468f: SSTORE
00004690: JUMP
00004691: JUMPDEST
00004692: PUSH2 0x46ed
00004695: PUSH2 0x46a1
00004698: PUSH1 0xa0
0000469a: DUP6
0000469b: ADD
0000469c: MLOAD
0000469d: ISZERO
0000469e: ISZERO
0000469f: SWAP1
000046a0: JUMP
000046a1: JUMPDEST
000046a2: DUP3
000046a3: SLOAD
000046a4: PUSH32 0xffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffff
000046c5: AND
000046c6: SWAP1
000046c7: ISZERO
000046c8: ISZERO
000046c9: PUSH1 0xd0
000046cb: SHL
000046cc: PUSH27 0xff0000000000000000000000000000000000000000000000000000
000046e8: AND
000046e9: OR
000046ea: DUP3
000046eb: SSTORE
000046ec: JUMP
000046ed: JUMPDEST
000046ee: PUSH1 0xc0
000046f0: DUP4
000046f1: ADD
000046f2: MLOAD
000046f3: ISZERO
000046f4: ISZERO
000046f5: DUP2
000046f6: SLOAD
000046f7: PUSH32 0xffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004718: AND
00004719: SWAP1
0000471a: ISZERO
0000471b: ISZERO
0000471c: PUSH1 0xd8
0000471e: SHL
0000471f: PUSH28 0xff000000000000000000000000000000000000000000000000000000
0000473c: AND
0000473d: OR
0000473e: SWAP1
0000473f: SSTORE
00004740: JUMP
00004741: JUMPDEST
00004742: PUSH2 0x47b8
00004745: PUSH1 0x02
00004747: DUP6
00004748: ADD
00004749: PUSH2 0x476c
0000474c: PUSH2 0x4596
0000474f: PUSH1 0xe0
00004751: DUP6
00004752: ADD
00004753: MLOAD
00004754: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004769: AND
0000476a: SWAP1
0000476b: JUMP
0000476c: JUMPDEST
0000476d: PUSH2 0x0100
00004770: DUP4
00004771: ADD
00004772: MLOAD
00004773: DUP2
00004774: SLOAD
00004775: PUSH32 0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff
00004796: AND
00004797: PUSH1 0xa0
00004799: SWAP2
0000479a: SWAP1
0000479b: SWAP2
0000479c: SHL
0000479d: PUSH21 0xff0000000000000000000000000000000000000000
000047b3: AND
000047b4: OR
000047b5: SWAP1
000047b6: SSTORE
000047b7: JUMP
000047b8: JUMPDEST
000047b9: ADD
000047ba: MLOAD
000047bb: SWAP2
000047bc: ADD
000047bd: SSTORE
000047be: JUMP
000047bf: JUMPDEST
000047c0: SWAP4
000047c1: SWAP6
000047c2: SWAP5
000047c3: SWAP1
000047c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000047d9: DUP6
000047da: AND
000047db: SWAP3
000047dc: DUP4
000047dd: ISZERO
000047de: PUSH2 0x4add
000047e1: JUMPI
000047e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000047f7: DUP9
000047f8: AND
000047f9: SWAP6
000047fa: PUSH2 0x4818
000047fd: PUSH1 0x08
000047ff: SLOAD
00004800: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004815: AND
00004816: SWAP1
00004817: JUMP
00004818: JUMPDEST
00004819: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000482e: DUP2
0000482f: AND
00004830: DUP9
00004831: EQ
00004832: PUSH2 0x4a9c
00004835: JUMPI
00004836: POP
00004837: PUSH1 0x40
00004839: MLOAD
0000483a: SWAP6
0000483b: PUSH32 0x313ce56700000000000000000000000000000000000000000000000000000000
0000485c: DUP8
0000485d: MSTORE
0000485e: PUSH1 0x20
00004860: DUP8
00004861: PUSH1 0x04
00004863: DUP2
00004864: DUP12
00004865: GAS
00004866: STATICCALL
00004867: SWAP7
00004868: DUP8
00004869: ISZERO
0000486a: PUSH2 0x1a70
0000486d: JUMPI
0000486e: PUSH0
0000486f: SWAP8
00004870: PUSH2 0x4a6b
00004873: JUMPI
00004874: JUMPDEST
00004875: POP
00004876: PUSH1 0x12
00004878: PUSH1 0xff
0000487a: DUP9
0000487b: AND
0000487c: GT
0000487d: PUSH2 0x4a29
00004880: JUMPI
00004881: PUSH5 0xffffffffff
00004887: TIMESTAMP
00004888: AND
00004889: SWAP1
0000488a: PUSH5 0xffffffffff
00004890: DUP2
00004891: AND
00004892: DUP3
00004893: DUP2
00004894: GT
00004895: DUP1
00004896: PUSH2 0x4a0f
00004899: JUMPI
0000489a: JUMPDEST
0000489b: PUSH2 0x49e7
0000489e: JUMPI
0000489f: PUSH2 0x49df
000048a2: JUMPI
000048a3: POP
000048a4: SWAP6
000048a5: JUMPDEST
000048a6: PUSH1 0x09
000048a8: SLOAD
000048a9: SWAP10
000048aa: PUSH2 0x48b1
000048ad: PUSH2 0x2c88
000048b0: JUMP
000048b1: JUMPDEST
000048b2: PUSH0
000048b3: DUP2
000048b4: MSTORE
000048b5: PUSH16 0xffffffffffffffffffffffffffffffff
000048c6: DUP6
000048c7: AND
000048c8: PUSH1 0x20
000048ca: DUP3
000048cb: ADD
000048cc: MSTORE
000048cd: SWAP3
000048ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000048e3: AND
000048e4: PUSH1 0x40
000048e6: DUP5
000048e7: ADD
000048e8: MSTORE
000048e9: PUSH5 0xffffffffff
000048ef: DUP9
000048f0: AND
000048f1: PUSH1 0x60
000048f3: DUP5
000048f4: ADD
000048f5: MSTORE
000048f6: PUSH1 0x01
000048f8: PUSH1 0x80
000048fa: DUP5
000048fb: ADD
000048fc: MSTORE
000048fd: DUP6
000048fe: ISZERO
000048ff: ISZERO
00004900: PUSH1 0xa0
00004902: DUP5
00004903: ADD
00004904: MSTORE
00004905: PUSH0
00004906: PUSH1 0xc0
00004908: DUP5
00004909: ADD
0000490a: MSTORE
0000490b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004920: AND
00004921: PUSH1 0xe0
00004923: DUP4
00004924: ADD
00004925: MSTORE
00004926: PUSH1 0xff
00004928: AND
00004929: PUSH2 0x0100
0000492c: DUP3
0000492d: ADD
0000492e: MSTORE
0000492f: PUSH2 0x0120
00004932: DUP2
00004933: ADD
00004934: PUSH0
00004935: SWAP1
00004936: MSTORE
00004937: PUSH2 0x4948
0000493a: DUP10
0000493b: PUSH0
0000493c: MSTORE
0000493d: PUSH1 0x0b
0000493f: PUSH1 0x20
00004941: MSTORE
00004942: PUSH1 0x40
00004944: PUSH0
00004945: KECCAK256
00004946: SWAP1
00004947: JUMP
00004948: JUMPDEST
00004949: SWAP1
0000494a: PUSH2 0x4952
0000494d: SWAP2
0000494e: PUSH2 0x44a9
00004951: JUMP
00004952: JUMPDEST
00004953: PUSH2 0x495c
00004956: DUP9
00004957: DUP4
00004958: PUSH2 0x55e4
0000495b: JUMP
0000495c: JUMPDEST
0000495d: PUSH1 0x01
0000495f: DUP9
00004960: ADD
00004961: PUSH1 0x09
00004963: SSTORE
00004964: PUSH1 0x40
00004966: DUP1
00004967: MLOAD
00004968: DUP10
00004969: DUP2
0000496a: MSTORE
0000496b: CALLER
0000496c: PUSH1 0x20
0000496e: DUP3
0000496f: ADD
00004970: MSTORE
00004971: PUSH16 0xffffffffffffffffffffffffffffffff
00004982: SWAP3
00004983: SWAP1
00004984: SWAP3
00004985: AND
00004986: SWAP1
00004987: DUP3
00004988: ADD
00004989: MSTORE
0000498a: PUSH5 0xffffffffff
00004990: SWAP5
00004991: SWAP1
00004992: SWAP5
00004993: AND
00004994: PUSH1 0x60
00004996: DUP6
00004997: ADD
00004998: MSTORE
00004999: SWAP1
0000499a: ISZERO
0000499b: ISZERO
0000499c: PUSH1 0x80
0000499e: DUP5
0000499f: ADD
000049a0: MSTORE
000049a1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000049b6: AND
000049b7: SWAP2
000049b8: PUSH32 0xedec8afa4eeca64243a519c152eab5c4f9da1bded6fbb72cba74cd128de68369
000049d9: SWAP1
000049da: PUSH1 0xa0
000049dc: SWAP1
000049dd: LOG4
000049de: JUMP
000049df: JUMPDEST
000049e0: SWAP1
000049e1: POP
000049e2: SWAP6
000049e3: PUSH2 0x48a5
000049e6: JUMP
000049e7: JUMPDEST
000049e8: PUSH32 0xd6d8693d00000000000000000000000000000000000000000000000000000000
00004a09: PUSH0
00004a0a: MSTORE
00004a0b: PUSH1 0x04
00004a0d: PUSH0
00004a0e: REVERT
00004a0f: JUMPDEST
00004a10: POP
00004a11: PUSH16 0xffffffffffffffffffffffffffffffff
00004a22: DUP6
00004a23: AND
00004a24: ISZERO
00004a25: PUSH2 0x489a
00004a28: JUMP
00004a29: JUMPDEST
00004a2a: PUSH32 0xc9f5539200000000000000000000000000000000000000000000000000000000
00004a4b: PUSH0
00004a4c: MSTORE
00004a4d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004a62: DUP9
00004a63: AND
00004a64: PUSH1 0x04
00004a66: MSTORE
00004a67: PUSH1 0x24
00004a69: PUSH0
00004a6a: REVERT
00004a6b: JUMPDEST
00004a6c: PUSH2 0x4a8e
00004a6f: SWAP2
00004a70: SWAP8
00004a71: POP
00004a72: PUSH1 0x20
00004a74: RETURNDATASIZE
00004a75: PUSH1 0x20
00004a77: GT
00004a78: PUSH2 0x4a95
00004a7b: JUMPI
00004a7c: JUMPDEST
00004a7d: PUSH2 0x4a86
00004a80: DUP2
00004a81: DUP4
00004a82: PUSH2 0x2c47
00004a85: JUMP
00004a86: JUMPDEST
00004a87: DUP2
00004a88: ADD
00004a89: SWAP1
00004a8a: PUSH2 0x4490
00004a8d: JUMP
00004a8e: JUMPDEST
00004a8f: SWAP6
00004a90: PUSH0
00004a91: PUSH2 0x4874
00004a94: JUMP
00004a95: JUMPDEST
00004a96: POP
00004a97: RETURNDATASIZE
00004a98: PUSH2 0x4a7c
00004a9b: JUMP
00004a9c: JUMPDEST
00004a9d: PUSH32 0x987f548900000000000000000000000000000000000000000000000000000000
00004abe: PUSH0
00004abf: MSTORE
00004ac0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004ad5: AND
00004ad6: PUSH1 0x04
00004ad8: MSTORE
00004ad9: PUSH1 0x24
00004adb: PUSH0
00004adc: REVERT
00004add: JUMPDEST
00004ade: PUSH32 0xf9bb0fb300000000000000000000000000000000000000000000000000000000
00004aff: PUSH0
00004b00: MSTORE
00004b01: PUSH1 0x04
00004b03: PUSH0
00004b04: REVERT
00004b05: JUMPDEST
00004b06: DUP1
00004b07: PUSH0
00004b08: MSTORE
00004b09: PUSH1 0x0b
00004b0b: PUSH1 0x20
00004b0d: MSTORE
00004b0e: PUSH16 0xffffffffffffffffffffffffffffffff
00004b1f: PUSH1 0x40
00004b21: PUSH0
00004b22: KECCAK256
00004b23: SLOAD
00004b24: AND
00004b25: SWAP1
00004b26: DUP2
00004b27: ISZERO
00004b28: PUSH2 0x4b49
00004b2b: JUMPI
00004b2c: PUSH2 0x4b34
00004b2f: SWAP1
00004b30: PUSH2 0x3da6
00004b33: JUMP
00004b34: JUMPDEST
00004b35: DUP1
00004b36: DUP3
00004b37: LT
00004b38: PUSH2 0x4b45
00004b3b: JUMPI
00004b3c: PUSH2 0x059b
00004b3f: SWAP2
00004b40: POP
00004b41: PUSH2 0x56d8
00004b44: JUMP
00004b45: JUMPDEST
00004b46: POP
00004b47: SWAP1
00004b48: JUMP
00004b49: JUMPDEST
00004b4a: POP
00004b4b: POP
00004b4c: PUSH0
00004b4d: SWAP1
00004b4e: JUMP
00004b4f: JUMPDEST
00004b50: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004b65: PUSH0
00004b66: SLOAD
00004b67: AND
00004b68: DUP1
00004b69: CALLER
00004b6a: SUB
00004b6b: PUSH2 0x4b71
00004b6e: JUMPI
00004b6f: POP
00004b70: JUMP
00004b71: JUMPDEST
00004b72: PUSH32 0xa7e1519e00000000000000000000000000000000000000000000000000000000
00004b93: PUSH0
00004b94: MSTORE
00004b95: PUSH1 0x04
00004b97: MSTORE
00004b98: CALLER
00004b99: PUSH1 0x24
00004b9b: MSTORE
00004b9c: PUSH1 0x44
00004b9e: PUSH0
00004b9f: REVERT
00004ba0: JUMPDEST
00004ba1: PUSH1 0x40
00004ba3: MLOAD
00004ba4: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00004bc5: PUSH1 0x20
00004bc7: DUP3
00004bc8: ADD
00004bc9: MSTORE
00004bca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004bdf: SWAP3
00004be0: SWAP1
00004be1: SWAP3
00004be2: AND
00004be3: PUSH1 0x24
00004be5: DUP4
00004be6: ADD
00004be7: MSTORE
00004be8: PUSH1 0x44
00004bea: DUP1
00004beb: DUP4
00004bec: ADD
00004bed: SWAP4
00004bee: SWAP1
00004bef: SWAP4
00004bf0: MSTORE
00004bf1: SWAP2
00004bf2: DUP2
00004bf3: MSTORE
00004bf4: PUSH2 0x2c98
00004bf7: SWAP2
00004bf8: PUSH2 0x448b
00004bfb: PUSH1 0x64
00004bfd: DUP4
00004bfe: PUSH2 0x2c47
00004c01: JUMP
00004c02: JUMPDEST
00004c03: DUP1
00004c04: PUSH0
00004c05: MSTORE
00004c06: PUSH1 0x0b
00004c08: PUSH1 0x20
00004c0a: MSTORE
00004c0b: PUSH5 0xffffffffff
00004c11: PUSH1 0x01
00004c13: PUSH1 0x40
00004c15: PUSH0
00004c16: KECCAK256
00004c17: ADD
00004c18: SLOAD
00004c19: PUSH1 0xa0
00004c1b: SHR
00004c1c: AND
00004c1d: SWAP1
00004c1e: TIMESTAMP
00004c1f: DUP3
00004c20: LT
00004c21: ISZERO
00004c22: PUSH2 0x4b49
00004c25: JUMPI
00004c26: PUSH0
00004c27: MSTORE
00004c28: PUSH1 0x0b
00004c2a: PUSH1 0x20
00004c2c: MSTORE
00004c2d: PUSH16 0xffffffffffffffffffffffffffffffff
00004c3e: PUSH1 0x40
00004c40: PUSH0
00004c41: KECCAK256
00004c42: SLOAD
00004c43: PUSH1 0x80
00004c45: SHR
00004c46: AND
00004c47: SWAP1
00004c48: DUP2
00004c49: ISZERO
00004c4a: PUSH2 0x4b49
00004c4d: JUMPI
00004c4e: TIMESTAMP
00004c4f: SUB
00004c50: DUP2
00004c51: DUP2
00004c52: MUL
00004c53: SWAP2
00004c54: DUP2
00004c55: DUP4
00004c56: DIV
00004c57: EQ
00004c58: SWAP1
00004c59: ISZERO
00004c5a: OR
00004c5b: ISZERO
00004c5c: PUSH2 0x38e0
00004c5f: JUMPI
00004c60: SWAP1
00004c61: JUMP
00004c62: JUMPDEST
00004c63: SWAP1
00004c64: DUP2
00004c65: PUSH1 0x20
00004c67: SWAP2
00004c68: SUB
00004c69: SLT
00004c6a: PUSH2 0x03fe
00004c6d: JUMPI
00004c6e: MLOAD
00004c6f: PUSH2 0x059b
00004c72: DUP2
00004c73: PUSH2 0x1015
00004c76: JUMP
00004c77: JUMPDEST
00004c78: PUSH2 0x4c8f
00004c7b: PUSH2 0x399c
00004c7e: PUSH2 0x3995
00004c81: DUP4
00004c82: PUSH0
00004c83: MSTORE
00004c84: PUSH1 0x0b
00004c86: PUSH1 0x20
00004c88: MSTORE
00004c89: PUSH1 0x40
00004c8b: PUSH0
00004c8c: KECCAK256
00004c8d: SWAP1
00004c8e: JUMP
00004c8f: JUMPDEST
00004c90: PUSH16 0xffffffffffffffffffffffffffffffff
00004ca1: DUP4
00004ca2: AND
00004ca3: EQ
00004ca4: PUSH2 0x4d38
00004ca7: JUMPI
00004ca8: SWAP1
00004ca9: PUSH2 0x14bc
00004cac: PUSH2 0x2c98
00004caf: SWAP3
00004cb0: PUSH5 0xffffffffff
00004cb6: TIMESTAMP
00004cb7: AND
00004cb8: DUP1
00004cb9: PUSH5 0xffffffffff
00004cbf: PUSH2 0x4cd5
00004cc2: PUSH1 0x01
00004cc4: PUSH2 0x391e
00004cc7: DUP7
00004cc8: PUSH0
00004cc9: MSTORE
00004cca: PUSH1 0x0b
00004ccc: PUSH1 0x20
00004cce: MSTORE
00004ccf: PUSH1 0x40
00004cd1: PUSH0
00004cd2: KECCAK256
00004cd3: SWAP1
00004cd4: JUMP
00004cd5: JUMPDEST
00004cd6: AND
00004cd7: LT
00004cd8: PUSH2 0x4ceb
00004cdb: JUMPI
00004cdc: JUMPDEST
00004cdd: POP
00004cde: PUSH0
00004cdf: MSTORE
00004ce0: PUSH1 0x0b
00004ce2: PUSH1 0x20
00004ce4: MSTORE
00004ce5: PUSH1 0x40
00004ce7: PUSH0
00004ce8: KECCAK256
00004ce9: SWAP1
00004cea: JUMP
00004ceb: JUMPDEST
00004cec: PUSH2 0x4d13
00004cef: SWAP1
00004cf0: PUSH2 0x4cf8
00004cf3: DUP4
00004cf4: PUSH2 0x4c02
00004cf7: JUMP
00004cf8: JUMPDEST
00004cf9: DUP1
00004cfa: PUSH2 0x4d19
00004cfd: JUMPI
00004cfe: JUMPDEST
00004cff: POP
00004d00: PUSH1 0x01
00004d02: PUSH2 0x145b
00004d05: DUP5
00004d06: PUSH0
00004d07: MSTORE
00004d08: PUSH1 0x0b
00004d0a: PUSH1 0x20
00004d0c: MSTORE
00004d0d: PUSH1 0x40
00004d0f: PUSH0
00004d10: KECCAK256
00004d11: SWAP1
00004d12: JUMP
00004d13: JUMPDEST
00004d14: PUSH0
00004d15: PUSH2 0x4cdc
00004d18: JUMP
00004d19: JUMPDEST
00004d1a: PUSH2 0x4d30
00004d1d: PUSH1 0x03
00004d1f: PUSH2 0x164e
00004d22: DUP7
00004d23: PUSH0
00004d24: MSTORE
00004d25: PUSH1 0x0b
00004d27: PUSH1 0x20
00004d29: MSTORE
00004d2a: PUSH1 0x40
00004d2c: PUSH0
00004d2d: KECCAK256
00004d2e: SWAP1
00004d2f: JUMP
00004d30: JUMPDEST
00004d31: SWAP1
00004d32: SSTORE
00004d33: PUSH0
00004d34: PUSH2 0x4cfe
00004d37: JUMP
00004d38: JUMPDEST
00004d39: PUSH32 0xd2657d5a00000000000000000000000000000000000000000000000000000000
00004d5a: PUSH0
00004d5b: MSTORE
00004d5c: PUSH1 0x04
00004d5e: MSTORE
00004d5f: PUSH16 0xffffffffffffffffffffffffffffffff
00004d70: AND
00004d71: PUSH1 0x24
00004d73: MSTORE
00004d74: PUSH1 0x44
00004d76: PUSH0
00004d77: REVERT
00004d78: JUMPDEST
00004d79: DUP1
00004d7a: PUSH0
00004d7b: MSTORE
00004d7c: PUSH1 0x0b
00004d7e: PUSH1 0x20
00004d80: MSTORE
00004d81: PUSH2 0x4da0
00004d84: PUSH16 0xffffffffffffffffffffffffffffffff
00004d95: PUSH1 0x40
00004d97: PUSH0
00004d98: KECCAK256
00004d99: SLOAD
00004d9a: AND
00004d9b: SWAP2
00004d9c: PUSH2 0x3da6
00004d9f: JUMP
00004da0: JUMPDEST
00004da1: SWAP1
00004da2: DUP2
00004da3: DUP2
00004da4: LT
00004da5: ISZERO
00004da6: PUSH2 0x4b49
00004da9: JUMPI
00004daa: DUP2
00004dab: SUB
00004dac: SWAP1
00004dad: DUP2
00004dae: GT
00004daf: PUSH2 0x38e0
00004db2: JUMPI
00004db3: SWAP1
00004db4: JUMP
00004db5: JUMPDEST
00004db6: SWAP1
00004db7: SWAP3
00004db8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004dcd: PUSH1 0x80
00004dcf: SWAP4
00004dd0: DUP2
00004dd1: PUSH2 0x059b
00004dd4: SWAP8
00004dd5: SWAP7
00004dd6: AND
00004dd7: DUP5
00004dd8: MSTORE
00004dd9: AND
00004dda: PUSH1 0x20
00004ddc: DUP4
00004ddd: ADD
00004dde: MSTORE
00004ddf: PUSH1 0x40
00004de1: DUP3
00004de2: ADD
00004de3: MSTORE
00004de4: DUP2
00004de5: PUSH1 0x60
00004de7: DUP3
00004de8: ADD
00004de9: MSTORE
00004dea: ADD
00004deb: SWAP1
00004dec: PUSH2 0x0547
00004def: JUMP
00004df0: JUMPDEST
00004df1: PUSH1 0x12
00004df3: PUSH1 0xff
00004df5: DUP3
00004df6: AND
00004df7: EQ
00004df8: PUSH2 0x4e07
00004dfb: JUMPI
00004dfc: PUSH1 0x12
00004dfe: SUB
00004dff: PUSH1 0xff
00004e01: AND
00004e02: PUSH1 0x0a
00004e04: EXP
00004e05: SWAP1
00004e06: JUMP
00004e07: JUMPDEST
00004e08: POP
00004e09: PUSH1 0x01
00004e0b: SWAP1
00004e0c: JUMP
00004e0d: JUMPDEST
00004e0e: SWAP1
00004e0f: PUSH1 0x12
00004e11: PUSH1 0xff
00004e13: DUP3
00004e14: AND
00004e15: EQ
00004e16: PUSH2 0x4b45
00004e19: JUMPI
00004e1a: PUSH1 0x12
00004e1c: SUB
00004e1d: PUSH1 0xff
00004e1f: AND
00004e20: PUSH1 0x0a
00004e22: EXP
00004e23: MUL
00004e24: SWAP1
00004e25: JUMP
00004e26: JUMPDEST
00004e27: ISZERO
00004e28: PUSH2 0x4e2d
00004e2b: JUMPI
00004e2c: JUMP
00004e2d: JUMPDEST
00004e2e: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004e4f: PUSH0
00004e50: MSTORE
00004e51: PUSH1 0x01
00004e53: PUSH1 0x04
00004e55: MSTORE
00004e56: PUSH1 0x24
00004e58: PUSH0
00004e59: REVERT
00004e5a: JUMPDEST
00004e5b: PUSH2 0x4ef0
00004e5e: PUSH1 0x20
00004e60: PUSH2 0x4e80
00004e63: PUSH2 0x13d2
00004e66: PUSH0
00004e67: SLOAD
00004e68: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004e7d: AND
00004e7e: SWAP1
00004e7f: JUMP
00004e80: JUMPDEST
00004e81: PUSH2 0x4e97
00004e84: PUSH1 0x01
00004e86: PUSH2 0x13b7
00004e89: DUP7
00004e8a: PUSH0
00004e8b: MSTORE
00004e8c: PUSH1 0x0b
00004e8e: PUSH1 0x20
00004e90: MSTORE
00004e91: PUSH1 0x40
00004e93: PUSH0
00004e94: KECCAK256
00004e95: SWAP1
00004e96: JUMP
00004e97: JUMPDEST
00004e98: SWAP1
00004e99: PUSH1 0x40
00004e9b: MLOAD
00004e9c: DUP1
00004e9d: DUP1
00004e9e: SWAP6
00004e9f: DUP2
00004ea0: SWAP5
00004ea1: PUSH32 0x419d289d00000000000000000000000000000000000000000000000000000000
00004ec2: DUP4
00004ec3: MSTORE
00004ec4: PUSH1 0x04
00004ec6: DUP4
00004ec7: ADD
00004ec8: SWAP2
00004ec9: SWAP1
00004eca: SWAP2
00004ecb: PUSH1 0x20
00004ecd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004ee2: PUSH1 0x40
00004ee4: DUP4
00004ee5: ADD
00004ee6: SWAP5
00004ee7: PUSH1 0x01
00004ee9: DUP5
00004eea: MSTORE
00004eeb: AND
00004eec: SWAP2
00004eed: ADD
00004eee: MSTORE
00004eef: JUMP
00004ef0: JUMPDEST
00004ef1: SUB
00004ef2: SWAP2
00004ef3: GAS
00004ef4: STATICCALL
00004ef5: SWAP1
00004ef6: DUP2
00004ef7: ISZERO
00004ef8: PUSH2 0x1a70
00004efb: JUMPI
00004efc: PUSH0
00004efd: SWAP2
00004efe: PUSH2 0x52ff
00004f01: JUMPI
00004f02: JUMPDEST
00004f03: POP
00004f04: DUP1
00004f05: CALLVALUE
00004f06: LT
00004f07: PUSH2 0x52d0
00004f0a: JUMPI
00004f0b: POP
00004f0c: PUSH16 0xffffffffffffffffffffffffffffffff
00004f1d: DUP4
00004f1e: AND
00004f1f: SWAP2
00004f20: DUP3
00004f21: ISZERO
00004f22: PUSH2 0x52a3
00004f25: JUMPI
00004f26: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004f3b: DUP2
00004f3c: AND
00004f3d: SWAP3
00004f3e: DUP4
00004f3f: ISZERO
00004f40: PUSH2 0x5276
00004f43: JUMPI
00004f44: PUSH2 0x4f58
00004f47: PUSH2 0x15bf
00004f4a: DUP5
00004f4b: PUSH0
00004f4c: MSTORE
00004f4d: PUSH1 0x03
00004f4f: PUSH1 0x20
00004f51: MSTORE
00004f52: PUSH1 0x40
00004f54: PUSH0
00004f55: KECCAK256
00004f56: SWAP1
00004f57: JUMP
00004f58: JUMPDEST
00004f59: DUP4
00004f5a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004f6f: DUP3
00004f70: AND
00004f71: DUP7
00004f72: EQ
00004f73: ISZERO
00004f74: SWAP2
00004f75: DUP3
00004f76: PUSH2 0x525e
00004f79: JUMPI
00004f7a: JUMPDEST
00004f7b: POP
00004f7c: POP
00004f7d: PUSH2 0x5212
00004f80: JUMPI
00004f81: PUSH2 0x4f97
00004f84: PUSH1 0x02
00004f86: PUSH2 0x16b5
00004f89: DUP6
00004f8a: PUSH0
00004f8b: MSTORE
00004f8c: PUSH1 0x0b
00004f8e: PUSH1 0x20
00004f90: MSTORE
00004f91: PUSH1 0x40
00004f93: PUSH0
00004f94: KECCAK256
00004f95: SWAP1
00004f96: JUMP
00004f97: JUMPDEST
00004f98: SWAP1
00004f99: PUSH2 0x4fc0
00004f9c: PUSH2 0x4fa4
00004f9f: DUP6
00004fa0: PUSH2 0x4c02
00004fa3: JUMP
00004fa4: JUMPDEST
00004fa5: PUSH1 0x03
00004fa7: PUSH2 0x4fb8
00004faa: DUP8
00004fab: PUSH0
00004fac: MSTORE
00004fad: PUSH1 0x0b
00004faf: PUSH1 0x20
00004fb1: MSTORE
00004fb2: PUSH1 0x40
00004fb4: PUSH0
00004fb5: KECCAK256
00004fb6: SWAP1
00004fb7: JUMP
00004fb8: JUMPDEST
00004fb9: ADD
00004fba: SLOAD
00004fbb: SWAP1
00004fbc: PUSH2 0x3b6d
00004fbf: JUMP
00004fc0: JUMPDEST
00004fc1: SWAP1
00004fc2: PUSH2 0x4fcb
00004fc5: DUP4
00004fc6: DUP4
00004fc7: PUSH2 0x531e
00004fca: JUMP
00004fcb: JUMPDEST
00004fcc: SWAP2
00004fcd: PUSH2 0x4fe1
00004fd0: PUSH2 0x1677
00004fd3: DUP8
00004fd4: PUSH0
00004fd5: MSTORE
00004fd6: PUSH1 0x0b
00004fd8: PUSH1 0x20
00004fda: MSTORE
00004fdb: PUSH1 0x40
00004fdd: PUSH0
00004fde: KECCAK256
00004fdf: SWAP1
00004fe0: JUMP
00004fe1: JUMPDEST
00004fe2: SWAP4
00004fe3: DUP4
00004fe4: PUSH16 0xffffffffffffffffffffffffffffffff
00004ff5: DUP7
00004ff6: AND
00004ff7: LT
00004ff8: PUSH0
00004ff9: EQ
00004ffa: PUSH2 0x5204
00004ffd: JUMPI
00004ffe: DUP5
00004fff: JUMPDEST
00005000: PUSH16 0xffffffffffffffffffffffffffffffff
00005011: DUP2
00005012: AND
00005013: DUP5
00005014: GT
00005015: PUSH2 0x51bc
00005018: JUMPI
00005019: POP
0000501a: PUSH2 0x399c
0000501d: PUSH2 0x5138
00005020: PUSH32 0x864d728834a993d067a518141636724c1196e5f004565e5b2a7b174b7f74f997
00005041: SWAP8
00005042: SWAP6
00005043: PUSH2 0x5129
00005046: DUP7
00005047: PUSH2 0x50f4
0000504a: PUSH1 0x02
0000504c: DUP16
0000504d: DUP15
0000504e: PUSH2 0x50e6
00005051: PUSH2 0x13b7
00005054: SWAP3
00005055: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000506a: SWAP16
0000506b: SWAP13
0000506c: PUSH2 0x507c
0000506f: PUSH2 0x5154
00005072: SWAP16
00005073: SWAP14
00005074: PUSH2 0x514e
00005077: SWAP15
00005078: PUSH2 0x4e0d
0000507b: JUMP
0000507c: JUMPDEST
0000507d: SWAP1
0000507e: PUSH1 0x03
00005080: PUSH2 0x5091
00005083: DUP7
00005084: PUSH0
00005085: MSTORE
00005086: PUSH1 0x0b
00005088: PUSH1 0x20
0000508a: MSTORE
0000508b: PUSH1 0x40
0000508d: PUSH0
0000508e: KECCAK256
0000508f: SWAP1
00005090: JUMP
00005091: JUMPDEST
00005092: ADD
00005093: SLOAD
00005094: DUP3
00005095: GT
00005096: PUSH2 0x5181
00005099: JUMPI
0000509a: POP
0000509b: PUSH1 0x03
0000509d: PUSH2 0x50ae
000050a0: DUP6
000050a1: PUSH0
000050a2: MSTORE
000050a3: PUSH1 0x0b
000050a5: PUSH1 0x20
000050a7: MSTORE
000050a8: PUSH1 0x40
000050aa: PUSH0
000050ab: KECCAK256
000050ac: SWAP1
000050ad: JUMP
000050ae: JUMPDEST
000050af: ADD
000050b0: SWAP1
000050b1: DUP2
000050b2: SLOAD
000050b3: SUB
000050b4: SWAP1
000050b5: SSTORE
000050b6: JUMPDEST
000050b7: PUSH2 0x3fc0
000050ba: PUSH2 0x50cb
000050bd: DUP5
000050be: PUSH0
000050bf: MSTORE
000050c0: PUSH1 0x0b
000050c2: PUSH1 0x20
000050c4: MSTORE
000050c5: PUSH1 0x40
000050c7: PUSH0
000050c8: KECCAK256
000050c9: SWAP1
000050ca: JUMP
000050cb: JUMPDEST
000050cc: SWAP2
000050cd: PUSH2 0x3faa
000050d0: DUP4
000050d1: SLOAD
000050d2: PUSH16 0xffffffffffffffffffffffffffffffff
000050e3: AND
000050e4: SWAP1
000050e5: JUMP
000050e6: JUMPDEST
000050e7: PUSH0
000050e8: MSTORE
000050e9: PUSH1 0x0b
000050eb: PUSH1 0x20
000050ed: MSTORE
000050ee: PUSH1 0x40
000050f0: PUSH0
000050f1: KECCAK256
000050f2: SWAP1
000050f3: JUMP
000050f4: JUMPDEST
000050f5: SWAP9
000050f6: PUSH2 0x511d
000050f9: DUP11
000050fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000510f: AND
00005110: PUSH0
00005111: MSTORE
00005112: PUSH1 0x07
00005114: PUSH1 0x20
00005116: MSTORE
00005117: PUSH1 0x40
00005119: PUSH0
0000511a: KECCAK256
0000511b: SWAP1
0000511c: JUMP
0000511d: JUMPDEST
0000511e: DUP3
0000511f: DUP2
00005120: SLOAD
00005121: SUB
00005122: SWAP1
00005123: SSTORE
00005124: DUP10
00005125: PUSH2 0x4ba0
00005128: JUMP
00005129: JUMPDEST
0000512a: PUSH2 0x5132
0000512d: DUP11
0000512e: PUSH2 0x3da6
00005131: JUMP
00005132: JUMPDEST
00005133: SWAP1
00005134: PUSH2 0x38e5
00005137: JUMP
00005138: JUMPDEST
00005139: SWAP3
0000513a: PUSH2 0x3eac
0000513d: PUSH2 0x1677
00005140: DUP11
00005141: PUSH0
00005142: MSTORE
00005143: PUSH1 0x0b
00005145: PUSH1 0x20
00005147: MSTORE
00005148: PUSH1 0x40
0000514a: PUSH0
0000514b: KECCAK256
0000514c: SWAP1
0000514d: JUMP
0000514e: JUMPDEST
0000514f: EQ
00005150: PUSH2 0x4e26
00005153: JUMP
00005154: JUMPDEST
00005155: PUSH1 0x40
00005157: DUP1
00005158: MLOAD
00005159: CALLER
0000515a: DUP2
0000515b: MSTORE
0000515c: PUSH16 0xffffffffffffffffffffffffffffffff
0000516d: SWAP1
0000516e: SWAP8
0000516f: AND
00005170: PUSH1 0x20
00005172: DUP9
00005173: ADD
00005174: MSTORE
00005175: SWAP2
00005176: AND
00005177: SWAP5
00005178: SWAP1
00005179: DUP2
0000517a: SWAP1
0000517b: DUP2
0000517c: ADD
0000517d: PUSH2 0x41dd
00005180: JUMP
00005181: JUMPDEST
00005182: SUB
00005183: PUSH1 0x03
00005185: PUSH2 0x5196
00005188: DUP6
00005189: PUSH0
0000518a: MSTORE
0000518b: PUSH1 0x0b
0000518d: PUSH1 0x20
0000518f: MSTORE
00005190: PUSH1 0x40
00005192: PUSH0
00005193: KECCAK256
00005194: SWAP1
00005195: JUMP
00005196: JUMPDEST
00005197: ADD
00005198: SSTORE
00005199: PUSH2 0x51b7
0000519c: PUSH5 0xffffffffff
000051a2: TIMESTAMP
000051a3: AND
000051a4: PUSH1 0x01
000051a6: PUSH2 0x145b
000051a9: DUP7
000051aa: PUSH0
000051ab: MSTORE
000051ac: PUSH1 0x0b
000051ae: PUSH1 0x20
000051b0: MSTORE
000051b1: PUSH1 0x40
000051b3: PUSH0
000051b4: KECCAK256
000051b5: SWAP1
000051b6: JUMP
000051b7: JUMPDEST
000051b8: PUSH2 0x50b6
000051bb: JUMP
000051bc: JUMPDEST
000051bd: PUSH32 0xf9f2985900000000000000000000000000000000000000000000000000000000
000051de: PUSH0
000051df: MSTORE
000051e0: PUSH1 0x04
000051e2: DUP9
000051e3: SWAP1
000051e4: MSTORE
000051e5: PUSH16 0xffffffffffffffffffffffffffffffff
000051f6: DUP1
000051f7: DUP12
000051f8: AND
000051f9: PUSH1 0x24
000051fb: MSTORE
000051fc: AND
000051fd: PUSH1 0x44
000051ff: MSTORE
00005200: PUSH1 0x64
00005202: PUSH0
00005203: REVERT
00005204: JUMPDEST
00005205: PUSH2 0x520d
00005208: DUP5
00005209: PUSH2 0x56d8
0000520c: JUMP
0000520d: JUMPDEST
0000520e: PUSH2 0x4fff
00005211: JUMP
00005212: JUMPDEST
00005213: POP
00005214: PUSH32 0x4208ab4c00000000000000000000000000000000000000000000000000000000
00005235: PUSH0
00005236: MSTORE
00005237: PUSH1 0x04
00005239: SWAP2
0000523a: SWAP1
0000523b: SWAP2
0000523c: MSTORE
0000523d: CALLER
0000523e: PUSH1 0x24
00005240: MSTORE
00005241: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005256: AND
00005257: PUSH1 0x44
00005259: MSTORE
0000525a: PUSH1 0x64
0000525c: PUSH0
0000525d: REVERT
0000525e: JUMPDEST
0000525f: PUSH2 0x526f
00005262: SWAP3
00005263: POP
00005264: SWAP1
00005265: PUSH2 0x1733
00005268: SWAP2
00005269: CALLER
0000526a: SWAP1
0000526b: PUSH2 0x573b
0000526e: JUMP
0000526f: JUMPDEST
00005270: DUP4
00005271: PUSH0
00005272: PUSH2 0x4f7a
00005275: JUMP
00005276: JUMPDEST
00005277: PUSH32 0x9f32c85800000000000000000000000000000000000000000000000000000000
00005298: PUSH0
00005299: MSTORE
0000529a: PUSH1 0x04
0000529c: DUP4
0000529d: SWAP1
0000529e: MSTORE
0000529f: PUSH1 0x24
000052a1: PUSH0
000052a2: REVERT
000052a3: JUMPDEST
000052a4: PUSH32 0xb485505200000000000000000000000000000000000000000000000000000000
000052c5: PUSH0
000052c6: MSTORE
000052c7: PUSH1 0x04
000052c9: DUP3
000052ca: SWAP1
000052cb: MSTORE
000052cc: PUSH1 0x24
000052ce: PUSH0
000052cf: REVERT
000052d0: JUMPDEST
000052d1: PUSH32 0x026dd37d00000000000000000000000000000000000000000000000000000000
000052f2: PUSH0
000052f3: MSTORE
000052f4: CALLVALUE
000052f5: PUSH1 0x04
000052f7: MSTORE
000052f8: PUSH1 0x24
000052fa: MSTORE
000052fb: PUSH1 0x44
000052fd: PUSH0
000052fe: REVERT
000052ff: JUMPDEST
00005300: PUSH2 0x5318
00005303: SWAP2
00005304: POP
00005305: PUSH1 0x20
00005307: RETURNDATASIZE
00005308: PUSH1 0x20
0000530a: GT
0000530b: PUSH2 0x1a69
0000530e: JUMPI
0000530f: PUSH2 0x1a5b
00005312: DUP2
00005313: DUP4
00005314: PUSH2 0x2c47
00005317: JUMP
00005318: JUMPDEST
00005319: PUSH0
0000531a: PUSH2 0x4f02
0000531d: JUMP
0000531e: JUMPDEST
0000531f: SWAP1
00005320: PUSH1 0x12
00005322: PUSH1 0xff
00005324: DUP3
00005325: AND
00005326: EQ
00005327: PUSH2 0x4b45
0000532a: JUMPI
0000532b: PUSH1 0x12
0000532d: SUB
0000532e: PUSH1 0xff
00005330: AND
00005331: PUSH1 0x0a
00005333: EXP
00005334: SWAP1
00005335: DUP2
00005336: ISZERO
00005337: PUSH2 0x3bb1
0000533a: JUMPI
0000533b: DIV
0000533c: SWAP1
0000533d: JUMP
0000533e: JUMPDEST
0000533f: PUSH2 0x5350
00005342: SWAP1
00005343: PUSH0
00005344: MSTORE
00005345: PUSH1 0x05
00005347: PUSH1 0x20
00005349: MSTORE
0000534a: PUSH1 0x40
0000534c: PUSH0
0000534d: KECCAK256
0000534e: SWAP1
0000534f: JUMP
00005350: JUMPDEST
00005351: DUP1
00005352: SLOAD
00005353: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00005374: AND
00005375: SWAP1
00005376: SSTORE
00005377: JUMP
00005378: JUMPDEST
00005379: DUP2
0000537a: PUSH0
0000537b: MSTORE
0000537c: PUSH1 0x03
0000537e: PUSH1 0x20
00005380: MSTORE
00005381: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005396: PUSH1 0x40
00005398: PUSH0
00005399: KECCAK256
0000539a: SLOAD
0000539b: AND
0000539c: SWAP3
0000539d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000053b2: DUP2
000053b3: AND
000053b4: PUSH2 0x54c0
000053b7: JUMPI
000053b8: JUMPDEST
000053b9: POP
000053ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000053cf: DUP4
000053d0: AND
000053d1: DUP1
000053d2: PUSH2 0x5464
000053d5: JUMPI
000053d6: JUMPDEST
000053d7: PUSH2 0x5409
000053da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000053ef: DUP4
000053f0: AND
000053f1: SWAP3
000053f2: DUP4
000053f3: PUSH2 0x5430
000053f6: JUMPI
000053f7: JUMPDEST
000053f8: PUSH2 0x0869
000053fb: DUP6
000053fc: PUSH0
000053fd: MSTORE
000053fe: PUSH1 0x03
00005400: PUSH1 0x20
00005402: MSTORE
00005403: PUSH1 0x40
00005405: PUSH0
00005406: KECCAK256
00005407: SWAP1
00005408: JUMP
00005409: JUMPDEST
0000540a: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
0000542b: PUSH0
0000542c: DUP1
0000542d: LOG4
0000542e: SWAP1
0000542f: JUMP
00005430: JUMPDEST
00005431: PUSH2 0x5458
00005434: DUP2
00005435: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000544a: AND
0000544b: PUSH0
0000544c: MSTORE
0000544d: PUSH1 0x04
0000544f: PUSH1 0x20
00005451: MSTORE
00005452: PUSH1 0x40
00005454: PUSH0
00005455: KECCAK256
00005456: SWAP1
00005457: JUMP
00005458: JUMPDEST
00005459: PUSH1 0x01
0000545b: DUP2
0000545c: SLOAD
0000545d: ADD
0000545e: SWAP1
0000545f: SSTORE
00005460: PUSH2 0x53f7
00005463: JUMP
00005464: JUMPDEST
00005465: PUSH2 0x546d
00005468: DUP4
00005469: PUSH2 0x533e
0000546c: JUMP
0000546d: JUMPDEST
0000546e: PUSH2 0x5495
00005471: DUP5
00005472: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005487: AND
00005488: PUSH0
00005489: MSTORE
0000548a: PUSH1 0x04
0000548c: PUSH1 0x20
0000548e: MSTORE
0000548f: PUSH1 0x40
00005491: PUSH0
00005492: KECCAK256
00005493: SWAP1
00005494: JUMP
00005495: JUMPDEST
00005496: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000054b7: DUP2
000054b8: SLOAD
000054b9: ADD
000054ba: SWAP1
000054bb: SSTORE
000054bc: PUSH2 0x53d6
000054bf: JUMP
000054c0: JUMPDEST
000054c1: PUSH2 0x54cb
000054c4: DUP4
000054c5: DUP3
000054c6: DUP7
000054c7: PUSH2 0x573b
000054ca: JUMP
000054cb: JUMPDEST
000054cc: PUSH2 0x53b8
000054cf: JUMPI
000054d0: SWAP1
000054d1: POP
000054d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000054e7: DUP4
000054e8: AND
000054e9: PUSH2 0x5518
000054ec: JUMPI
000054ed: POP
000054ee: PUSH32 0x7e27328900000000000000000000000000000000000000000000000000000000
0000550f: PUSH0
00005510: MSTORE
00005511: PUSH1 0x04
00005513: MSTORE
00005514: PUSH1 0x24
00005516: PUSH0
00005517: REVERT
00005518: JUMPDEST
00005519: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000552e: SWAP1
0000552f: PUSH32 0x177e802f00000000000000000000000000000000000000000000000000000000
00005550: PUSH0
00005551: MSTORE
00005552: AND
00005553: PUSH1 0x04
00005555: MSTORE
00005556: PUSH1 0x24
00005558: MSTORE
00005559: PUSH1 0x44
0000555b: PUSH0
0000555c: REVERT
0000555d: JUMPDEST
0000555e: SWAP1
0000555f: PUSH0
00005560: PUSH1 0x20
00005562: SWAP2
00005563: DUP3
00005564: DUP2
00005565: MLOAD
00005566: SWAP2
00005567: ADD
00005568: DUP3
00005569: DUP6
0000556a: GAS
0000556b: CALL
0000556c: ISZERO
0000556d: PUSH2 0x387b
00005570: JUMPI
00005571: PUSH0
00005572: MLOAD
00005573: RETURNDATASIZE
00005574: PUSH2 0x55db
00005577: JUMPI
00005578: POP
00005579: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000558e: DUP2
0000558f: AND
00005590: EXTCODESIZE
00005591: ISZERO
00005592: JUMPDEST
00005593: PUSH2 0x5599
00005596: JUMPI
00005597: POP
00005598: JUMP
00005599: JUMPDEST
0000559a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000055af: SWAP1
000055b0: PUSH32 0x5274afe700000000000000000000000000000000000000000000000000000000
000055d1: PUSH0
000055d2: MSTORE
000055d3: AND
000055d4: PUSH1 0x04
000055d6: MSTORE
000055d7: PUSH1 0x24
000055d9: PUSH0
000055da: REVERT
000055db: JUMPDEST
000055dc: PUSH1 0x01
000055de: EQ
000055df: ISZERO
000055e0: PUSH2 0x5592
000055e3: JUMP
000055e4: JUMPDEST
000055e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000055fa: DUP2
000055fb: AND
000055fc: ISZERO
000055fd: PUSH2 0x3840
00005600: JUMPI
00005601: DUP2
00005602: PUSH0
00005603: MSTORE
00005604: PUSH1 0x03
00005606: PUSH1 0x20
00005608: MSTORE
00005609: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000561e: PUSH1 0x40
00005620: PUSH0
00005621: KECCAK256
00005622: SLOAD
00005623: AND
00005624: ISZERO
00005625: ISZERO
00005626: DUP1
00005627: PUSH2 0x56bb
0000562a: JUMPI
0000562b: JUMPDEST
0000562c: PUSH2 0x37f6
0000562f: JUMPI
00005630: SWAP1
00005631: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00005652: PUSH2 0x5685
00005655: PUSH2 0x5674
00005658: PUSH0
00005659: DUP5
0000565a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000566f: SWAP7
00005670: PUSH2 0x5378
00005673: JUMP
00005674: JUMPDEST
00005675: PUSH1 0x40
00005677: MLOAD
00005678: SWAP4
00005679: DUP5
0000567a: MSTORE
0000567b: SWAP3
0000567c: SWAP1
0000567d: DUP2
0000567e: SWAP1
0000567f: PUSH1 0x20
00005681: DUP3
00005682: ADD
00005683: SWAP1
00005684: JUMP
00005685: JUMPDEST
00005686: SUB
00005687: SWAP1
00005688: LOG1
00005689: AND
0000568a: PUSH2 0x568f
0000568d: JUMPI
0000568e: JUMP
0000568f: JUMPDEST
00005690: PUSH32 0x73c6ac6e00000000000000000000000000000000000000000000000000000000
000056b1: PUSH0
000056b2: MSTORE
000056b3: PUSH0
000056b4: PUSH1 0x04
000056b6: MSTORE
000056b7: PUSH1 0x24
000056b9: PUSH0
000056ba: REVERT
000056bb: JUMPDEST
000056bc: POP
000056bd: DUP2
000056be: PUSH0
000056bf: MSTORE
000056c0: PUSH1 0x0b
000056c2: PUSH1 0x20
000056c4: MSTORE
000056c5: PUSH1 0xff
000056c7: PUSH1 0x01
000056c9: PUSH1 0x40
000056cb: PUSH0
000056cc: KECCAK256
000056cd: ADD
000056ce: SLOAD
000056cf: PUSH1 0xd0
000056d1: SHR
000056d2: AND
000056d3: ISZERO
000056d4: PUSH2 0x562b
000056d7: JUMP
000056d8: JUMPDEST
000056d9: PUSH16 0xffffffffffffffffffffffffffffffff
000056ea: DUP2
000056eb: GT
000056ec: PUSH2 0x5704
000056ef: JUMPI
000056f0: PUSH16 0xffffffffffffffffffffffffffffffff
00005701: AND
00005702: SWAP1
00005703: JUMP
00005704: JUMPDEST
00005705: PUSH32 0x6dfcc65000000000000000000000000000000000000000000000000000000000
00005726: PUSH0
00005727: MSTORE
00005728: PUSH1 0x80
0000572a: PUSH1 0x04
0000572c: MSTORE
0000572d: PUSH1 0x24
0000572f: MSTORE
00005730: PUSH1 0x44
00005732: PUSH0
00005733: REVERT
00005734: JUMPDEST
00005735: PUSH2 0x059b
00005738: SWAP2
00005739: CALLER
0000573a: SWAP1
0000573b: JUMPDEST
0000573c: SWAP2
0000573d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005752: DUP3
00005753: AND
00005754: SWAP1
00005755: DUP2
00005756: ISZERO
00005757: ISZERO
00005758: SWAP4
00005759: DUP5
0000575a: PUSH2 0x5765
0000575d: JUMPI
0000575e: JUMPDEST
0000575f: POP
00005760: POP
00005761: POP
00005762: POP
00005763: SWAP1
00005764: JUMP
00005765: JUMPDEST
00005766: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000577b: AND
0000577c: DUP1
0000577d: DUP4
0000577e: EQ
0000577f: SWAP5
00005780: POP
00005781: SWAP2
00005782: SWAP3
00005783: SWAP1
00005784: SWAP2
00005785: DUP5
00005786: ISZERO
00005787: PUSH2 0x57cc
0000578a: JUMPI
0000578b: JUMPDEST
0000578c: POP
0000578d: POP
0000578e: DUP3
0000578f: ISZERO
00005790: PUSH2 0x579f
00005793: JUMPI
00005794: JUMPDEST
00005795: POP
00005796: POP
00005797: PUSH0
00005798: DUP1
00005799: DUP1
0000579a: DUP1
0000579b: PUSH2 0x575e
0000579e: JUMP
0000579f: JUMPDEST
000057a0: SWAP1
000057a1: SWAP2
000057a2: POP
000057a3: PUSH0
000057a4: MSTORE
000057a5: PUSH1 0x05
000057a7: PUSH1 0x20
000057a9: MSTORE
000057aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000057bf: PUSH1 0x40
000057c1: PUSH0
000057c2: KECCAK256
000057c3: SLOAD
000057c4: AND
000057c5: EQ
000057c6: PUSH0
000057c7: DUP1
000057c8: PUSH2 0x5794
000057cb: JUMP
000057cc: JUMPDEST
000057cd: PUSH1 0xff
000057cf: SWAP3
000057d0: SWAP5
000057d1: POP
000057d2: SWAP1
000057d3: PUSH2 0x5804
000057d6: SWAP2
000057d7: PUSH0
000057d8: MSTORE
000057d9: PUSH1 0x06
000057db: PUSH1 0x20
000057dd: MSTORE
000057de: PUSH1 0x40
000057e0: PUSH0
000057e1: KECCAK256
000057e2: SWAP1
000057e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000057f8: AND
000057f9: PUSH0
000057fa: MSTORE
000057fb: PUSH1 0x20
000057fd: MSTORE
000057fe: PUSH1 0x40
00005800: PUSH0
00005801: KECCAK256
00005802: SWAP1
00005803: JUMP
00005804: JUMPDEST
00005805: SLOAD
00005806: AND
00005807: SWAP2
00005808: PUSH0
00005809: DUP1
0000580a: PUSH2 0x578b
0000580d: JUMP
0000580e: INVALID
0000580f: LOG2
00005810: PUSH5 0x6970667358
00005816: UNKNOWN(0x22)
00005817: SLT
00005818: KECCAK256
00005819: UNKNOWN(0x4B)
0000581a: UNKNOWN(0xBB)
0000581b: OR
0000581c: CHAINID
0000581d: STOP
0000581e: UNKNOWN(0x1F)
0000581f: JUMPDEST
00005820: UNKNOWN(0x21)
00005821: LOG3
00005822: PUSH18 0x4c8ecd69036975ac62d44e5029ba1dfedc71
00005835: UNKNOWN(0xB2)
00005836: UNKNOWN(0xBD)
00005837: UNKNOWN(0xB8)
00005838: DUP6
00005839: PUSH5 0x736f6c6343
0000583f: STOP
00005840: ADDMOD
00005841: SAR
00005842: STOP
00005843: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
trace_id: 0x6a78a9e6c268296216c359cb606c8aab143ecb6b10d8adf5489882cd366f253e
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x6a78a9e6c268296216c359cb606c8aab143ecb6b10d8adf5489882cd366f253e",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x081812fc",
            "selector": "0x081812fc",
            "calldata_variants": [
                "0x081812fc",
                "0x081812fc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x08b87923",
            "selector": "0x08b87923",
            "calldata_variants": [
                "0x08b87923",
                "0x08b879230000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c699624",
            "selector": "0x0c699624",
            "calldata_variants": [
                "0x0c699624",
                "0x0c6996240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x136439dd",
            "selector": "0x136439dd",
            "calldata_variants": [
                "0x136439dd",
                "0x136439dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1400ecec",
            "selector": "0x1400ecec",
            "calldata_variants": [
                "0x1400ecec",
                "0x1400ecec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3432,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 2356,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high other slither Comptrollerable.transferFeesToComptroller() (node_modules/@sablier/evm-utils/src/Comptrollerable.sol#62-74) sends eth to arbitrary user 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "arbitrary-send-eth",
    "elements": [
        {
            "name": "transferFeesToComptroller",
            "type": "function",
            "source_mapping": {
                "lines": [
                    62,
                    63,
                    64,
                    65,
                    66,
                    67,
                    68,
                    69,
                    70,
                    71,
                    72,
                    73,
                    74
                ],
                "start": 2716,
                "length": 525,
                "ending_column": 6,
                "is_dependency": true,
                "filename_short": "node_modules/@sablier/evm-utils/src/Comptrollerable.sol",
                "starting_column": 5,
                "filename_absolute": "/tmp/slither-xhisbld2/node_modules/@sablier/evm-utils/src/Comptrollerable.sol",
                "filename_relative": "node_modules/@sablier/evm-utils/src/Comptrollerable.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "Comptrollerable",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            10,
                            11,
                            12,
                            13,
                            14,
                            15,
                            16,
                            17,
                            18,
                            19,
                            20,
                            21,
                            22,
                            23,
                            24,
                            25,
                            26,
                            27,
                            28,
                            29,
                            30,
                            31,
                            32,
                            33,
                            34,
                            35,
                            36,
                            37,
                            38,
                            39,
                            40,
                            41,
                            42,
                            43,
                            44,
                            45,
                            46,
                            47,
                            48,
                            49,
                            50,
                            51,
                            52,
                            53,
                            54,
                            55,
                            56,
                            57,
                            58,
                            59,
                            60,
                            61,
                            62,
                            63,
                            64,
                            65,
                            66,
                            67,
                            68,
                            69,
                            70,
                            71,
                            72,
                            73,
                            74,
                            75,
                            76,
                            77,
                            78,
                            79,
                            80,
                            81,
                            82,
                            83,
                            84,
                            85,
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114
                        ],
                        "start": 352,
                        "length": 4524,
                        "ending_column": 2,
                        "is_dependency": true,
                        "filename_short": "node_modules/@sablier/evm-utils/src/Comptrollerable.sol",
                        "starting_column": 1,
                        "filename_absolute": "/tmp/slither-xhisbld2/node_modules/@sablier/evm-utils/src/Comptrollerable.sol",
                        "filename_relative": "node_modules/@sablier/evm-utils/src/Comptrollerable.sol"
                    }
                },
                "signature": "transferFeesToComptroller()"
            }
        },
        {
            "name": "(success,None) = address(comptroller).call{value: feeAmount}()",
            "type": "node",
            "source_mapping": {
                "lines": [
                    66
                ],
                "start": 2895,
                "length": 67,
                "ending_column": 76,
                "is_dependency": true,
                "filename_short": "node_modules/@sablier/evm-utils/src/Comptrollerable.sol",
                "starting_column": 9,
                "filename_absolute": "/tmp/slither-xhisbld2/node_modules/@sablier/evm-utils/src/Comptrollerable.sol",
                "filename_relative": "node_modules/@sablier/evm-utils/src/Comptrollerable.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "transferFeesToComptroller",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            62,
                            63,
                            64,
                            65,
                            66,
                            67,
                            68,
                            69,
                            70,
                            71,
                            72,
                            73,
                            74
                        ],
                        "start": 2716,
                        "length": 525,
                        "ending_column": 6,
                        "is_dependency": true,
                        "filename_short": "node_modules/@sablier/evm-utils/src/Comptrollerable.sol",
                        "starting_column": 5,
                        "filename_absolute": "/tmp/slither-xhisbld2/node_modules/@sablier/evm-utils/src/Comptrollerable.sol",
                        "filename_relative": "node_modules/@sablier/evm-utils/src/Comptrollerable.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "Comptrollerable",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    10,
                                    11,
                                    12,
                                    13,
                                    14,
                                    15,
                                    16,
                                    17,
                                    18,
                                    19,
                                    20,
                                    21,
                                    22,
                                    23,
                                    24,
                                    25,
                                    26,
                                    27,
                                    28,
                                    29,
                                    30,
                                    31,
                                    32,
                                    33,
                                    34,
                                    35,
                                    36,
                                    37,
                                    38,
                                    39,
                                    40,
                                    41,
                                    42,
                                    43,
                                    44,
                                    45,
                                    46,
                                    47,
                                    48,
                                    49,
                                    50,
                                    51,
                                    52,
                                    53,
                                    54,
                                    55,
                                    56,
                                    57,
                                    58,
                                    59,
                                    60,
                                    61,
                                    62,
                                    63,
                                    64,
                                    65,
                                    66,
                                    67,
                                    68,
                                    69,
                                    70,
                                    71,
                                    72,
                                    73,
                                    74,
                                    75,
                                    76,
                                    77,
                                    78,
                                    79,
                                    80,
                                    81,
                                    82,
                                    83,
                                    84,
                                    85,
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114
                                ],
                                "start": 352,
                                "length": 4524,
                                "ending_column": 2,
                                "is_dependency": true,
                                "filename_short": "node_modules/@sablier/evm-utils/src/Comptrollerable.sol",
                                "starting_column": 1,
                                "filename_absolute": "/tmp/slither-xhisbld2/node_modules/@sablier/evm-utils/src/Comptrollerable.sol",
                                "filename_relative": "node_modules/@sablier/evm-utils/src/Comptrollerable.sol"
                            }
                        },
                        "signature": "transferFeesToComptroller()"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "node_modules/@sablier/evm-utils/src/Comptrollerable.sol",
            "name": "transferFeesToComptroller",
            "type": "function",
            "lines": [
                62,
                63,
                64,
                65,
                66,
                67,
                68,
                69,
                70,
                71,
                72,
                73,
                74
            ]
        },
        {
            "file": "node_modules/@sablier/evm-utils/src/Comptrollerable.sol",
            "name": "(success,None) = address(comptroller).call{value: feeAmount}()",
            "type": "node",
            "lines": [
                66
            ]
        }
    ],
    "description": "Comptrollerable.transferFeesToComptroller() (node_modules/@sablier/evm-utils/src/Comptrollerable.sol#62-74) sends eth to arbitrary user\n\tDangerous calls:\n\t- (success,None) = address(comptroller).call{value: feeAmount}() (node_modules/@sablier/evm-utils/src/Comptrollerable.sol#66)"
}
high upgradeability slither Batch.batch(bytes[]) (node_modules/@sablier/evm-utils/src/Batch.sol#13-34) has delegatecall inside a loop in a payable function: (success,result) = address(this).delegatecall(ca... 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "delegatecall-loop",
    "elements": [
        {
            "name": "batch",
            "type": "function",
            "source_mapping": {
                "lines": [
                    13,
                    14,
                    15,
                    16,
                    17,
                    18,
                    19,
                    20,
                    21,
                    22,
                    23,
                    24,
                    25,
                    26,
                    27,
                    28,
                    29,
                    30,
                    31,
                    32,
                    33,
                    34
                ],
                "start": 480,
                "length": 900,
                "ending_column": 6,
                "is_dependency": true,
                "filename_short": "node_modules/@sablier/evm-utils/src/Batch.sol",
                "starting_column": 5,
                "filename_absolute": "/tmp/slither-xhisbld2/node_modules/@sablier/evm-utils/src/Batch.sol",
                "filename_relative": "node_modules/@sablier/evm-utils/src/Batch.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "Batch",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            9,
                            10,
                            11,
                            12,
                            13,
                            14,
                            15,
                            16,
                            17,
                            18,
                            19,
                            20,
                            21,
                            22,
                            23,
                            24,
                            25,
                            26,
                            27,
                            28,
                            29,
                            30,
                            31,
                            32,
                            33,
                            34,
                            35
                        ],
                        "start": 225,
                        "length": 1157,
                        "ending_column": 2,
                        "is_dependency": true,
                        "filename_short": "node_modules/@sablier/evm-utils/src/Batch.sol",
                        "starting_column": 1,
                        "filename_absolute": "/tmp/slither-xhisbld2/node_modules/@sablier/evm-utils/src/Batch.sol",
                        "filename_relative": "node_modules/@sablier/evm-utils/src/Batch.sol"
                    }
                },
                "signature": "batch(bytes[])"
            }
        },
        {
            "name": "(success,result) = address(this).delegatecall(calls[i])",
            "type": "node",
            "source_mapping": {
                "lines": [
                    18
                ],
                "start": 723,
                "length": 74,
                "ending_column": 87,
                "is_dependency": true,
                "filename_short": "node_modules/@sablier/evm-utils/src/Batch.sol",
                "starting_column": 13,
                "filename_absolute": "/tmp/slither-xhisbld2/node_modules/@sablier/evm-utils/src/Batch.sol",
                "filename_relative": "node_modules/@sablier/evm-utils/src/Batch.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "batch",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            13,
                            14,
                            15,
                            16,
                            17,
                            18,
                            19,
                            20,
                            21,
                            22,
                            23,
                            24,
                            25,
                            26,
                            27,
                            28,
                            29,
                            30,
                            31,
                            32,
                            33,
                            34
                        ],
                        "start": 480,
                        "length": 900,
                        "ending_column": 6,
                        "is_dependency": true,
                        "filename_short": "node_modules/@sablier/evm-utils/src/Batch.sol",
                        "starting_column": 5,
                        "filename_absolute": "/tmp/slither-xhisbld2/node_modules/@sablier/evm-utils/src/Batch.sol",
                        "filename_relative": "node_modules/@sablier/evm-utils/src/Batch.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "Batch",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    9,
                                    10,
                                    11,
                                    12,
                                    13,
                                    14,
                                    15,
                                    16,
                                    17,
                                    18,
                                    19,
                                    20,
                                    21,
                                    22,
                                    23,
                                    24,
                                    25,
                                    26,
                                    27,
                                    28,
                                    29,
                                    30,
                                    31,
                                    32,
                                    33,
                                    34,
                                    35
                                ],
                                "start": 225,
                                "length": 1157,
                                "ending_column": 2,
                                "is_dependency": true,
                                "filename_short": "node_modules/@sablier/evm-utils/src/Batch.sol",
                                "starting_column": 1,
                                "filename_absolute": "/tmp/slither-xhisbld2/node_modules/@sablier/evm-utils/src/Batch.sol",
                                "filename_relative": "node_modules/@sablier/evm-utils/src/Batch.sol"
                            }
                        },
                        "signature": "batch(bytes[])"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "node_modules/@sablier/evm-utils/src/Batch.sol",
            "name": "batch",
            "type": "function",
            "lines": [
                13,
                14,
                15,
                16,
                17,
                18,
                19,
                20,
                21,
                22,
                23,
                24,
                25,
                26,
                27,
                28,
                29,
                30,
                31,
                32,
                33,
                34
            ]
        },
        {
            "file": "node_modules/@sablier/evm-utils/src/Batch.sol",
            "name": "(success,result) = address(this).delegatecall(calls[i])",
            "type": "node",
            "lines": [
                18
            ]
        }
    ],
    "description": "Batch.batch(bytes[]) (node_modules/@sablier/evm-utils/src/Batch.sol#13-34) has delegatecall inside a loop in a payable function: (success,result) = address(this).delegatecall(calls[i]) (node_modules/@sablier/evm-utils/src/Batch.sol#18)"
}
high other slither SablierFlowState.aggregateAmount (src/abstracts/SablierFlowState.sol#20) is never initialized. It is used in: 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "uninitialized-state",
    "elements": [
        {
            "name": "aggregateAmount",
            "type": "variable",
            "source_mapping": {
                "lines": [
                    20
                ],
                "start": 852,
                "length": 71,
                "ending_column": 76,
                "is_dependency": false,
                "filename_short": "src/abstracts/SablierFlowState.sol",
                "starting_column": 5,
                "filename_absolute": "/tmp/slither-xhisbld2/src/abstracts/SablierFlowState.sol",
                "filename_relative": "src/abstracts/SablierFlowState.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "SablierFlowState",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            14,
                            15,
                            16,
                            17,
                            18,
                            19,
                            20,
                            21,
                            22,
                            23,
                            24,
                            25,
                            26,
                            27,
                            28,
                            29,
                            30,
                            31,
                            32,
                            33,
                            34,
                            35,
                            36,
                            37,
                            38,
                            39,
                            40,
                            41,
                            42,
                            43,
                            44,
                            45,
                            46,
                            47,
                            48,
                            49,
                            50,
                            51,
                            52,
                            53,
                            54,
                            55,
                            56,
                            57,
                            58,
                            59,
                            60,
                            61,
                            62,
                            63,
                            64,
                            65,
                            66,
                            67,
                            68,
                            69,
                            70,
                            71,
                            72,
                            73,
                            74,
                            75,
                            76,
                            77,
                            78,
                            79,
                            80,
                            81,
                            82,
                            83,
                            84,
                            85,
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167
                        ],
                        "start": 539,
                        "length": 5649,
                        "ending_column": 2,
                        "is_dependency": false,
                        "filename_short": "src/abstracts/SablierFlowState.sol",
                        "starting_column": 1,
                        "filename_absolute": "/tmp/slither-xhisbld2/src/abstracts/SablierFlowState.sol",
                        "filename_relative": "src/abstracts/SablierFlowState.sol"
                    }
                }
            }
        },
        {
            "name": "recover",
            "type": "function",
            "source_mapping": {
                "lines": [
                    364,
                    365,
                    366,
                    367,
                    368,
                    369,
                    370,
                    371,
                    372,
                    373,
                    374,
                    375,
                    376
                ],
                "start": 12776,
                "length": 503,
                "ending_column": 6,
                "is_dependency": false,
                "filename_short": "src/SablierFlow.sol",
                "starting_column": 5,
                "filename_absolute": "/tmp/slither-xhisbld2/src/SablierFlow.sol",
                "filename_relative": "src/SablierFlow.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "SablierFlow",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            27,
                            28,
                            29,
                            30,
                            31,
                            32,
                            33,
                            34,
                            35,
                            36,
                            37,
                            38,
                            39,
                            40,
                            41,
                            42,
                            43,
                            44,
                            45,
                            46,
                            47,
                            48,
                            49,
                            50,
                            51,
                            52,
                            53,
                            54,
                            55,
                            56,
                            57,
                            58,
                            59,
                            60,
                            61,
                            62,
                            63,
                            64,
                            65,
                            66,
                            67,
                            68,
                            69,
                            70,
                            71,
                            72,
                            73,
                            74,
                            75,
                            76,
                            77,
                            78,
                            79,
                            80,
                            81,
                            82,
                            83,
                            84,
                            85,
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167,
                            168,
                            169,
                            170,
                            171,
                            172,
                            173,
                            174,
                            175,
                            176,
                            177,
                            178,
                            179,
                            180,
                            181,
                            182,
                            183,
                            184,
                            185,
                            186,
                            187,
                            188,
                            189,
                            190,
                            191,
                            192,
                            193,
                            194,
                            195,
                            196,
                            197,
                            198,
                            199,
                            200,
                            201,
                            202,
                            203,
                            204,
                            205,
                            206,
                            207,
                            208,
                            209,
                            210,
                            211,
                            212,
                            213,
                            214,
                            215,
                            216,
                            217,
                            218,
                            219,
                            220,
                            221,
                            222,
                            223,
                            224,
                            225,
                            226,
                            227,
                            228,
                            229,
                            230,
                            231,
                            232,
                            233,
                            234,
                            235,
                            236,
                            237,
                            238,
                            239,
                            240,
                            241,
                            242,
                            243,
                            244,
                            245,
                            246,
                            247,
                            248,
                            249,
                            250,
                            251,
                            252,
                            253,
                            254,
                            255,
                            256,
                            257,
                            258,
                            259,
                            260,
                            261,
                            262,
                            263,
                            264,
                            265,
                            266,
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287,
                            288,
                            289,
                            290,
                            291,
                            292,
                            293,
                            294,
                            295,
                            296,
                            297,
                            298,
                            299,
                            300,
                            301,
                            302,
                            303,
                            304,
                            305,
                            306,
                            307,
                            308,
                            309,
                            310,
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321,
                            322,
                            323,
                            324,
                            325,
                            326,
                            327,
                            328,
                            329,
                            330,
                            331,
                            332,
                            333,
                            334,
                            335,
                            336,
                            337,
                            338,
                            339,
                            340,
                            341,
                            342,
                            343,
                            344,
                            345,
                            346,
                            347,
                            348,
                            349,
                            350,
                            351,
                            352,
                            353,
                            354,
                            355,
                            356,
                            357,
                            358,
                            359,
                            360,
                            361,
                            362,
                            363,
                            364,
                            365,
                            366,
                            367,
                            368,
                            369,
                            370,
                            371,
                            372,
                            373,
                            374,
                            375,
                            376,
                            377,
                            378,
                            379,
                            380,
                            381,
                            382,
                            383,
                            384,
                            385,
                            386,
                            387,
                            388,
                            389,
                            390,
                            391,
                            392,
                            393,
                            394,
                            395,
                            396,
                            397,
                            398,
                            399,
                            400,
                            401,
                            402,
                            403,
                            404,
                            405,
                            406,
                            407,
                            408,
                            409,
                            410,
                            411,
                            412,
                            413,
                            414,
                            415,
                            416,
                            417,
                            418,
                            419,
                            420,
                            421,
                            422,
                            423,
                            424,
                            425,
                            426,
                            427,
                            428,
                            429,
                            430,
                            431,
                            432,
                            433,
                            434,
                            435,
                            436,
                            437,
                            438,
                            439,
                            440,
                            441,
                            442,
                            443,
                            444,
                            445,
                            446,
                            447,
                            448,
                            449,
                            450,
                            451,
                            452,
                            453,
                            454,
                            455,
                            456,
                            457,
                            458,
                            459,
                            460,
                            461,
                            462,
                            463,
                            464,
                            465,
                            466,
                            467,
                            468,
                            469,
                            470,
                            471,
                            472,
                            473,
                            474,
                            475,
                            476,
                            477,
                            478,
                            479,
                            480,
                            481,
                            482,
                            483,
                            484,
                            485,
                            486,
                            487,
                            488,
                            489,
                            490,
                            491,
                            492,
                            493,
                            494,
                            495,
                            496,
                            497,
                            498,
                            499,
                            500,
                            501,
                            502,
                            503,
                            504,
                            505,
                            506,
                            507,
                            508,
                            509,
                            510,
                            511,
                            512,
                            513,
                            514,
                            515,
                            516,
                            517,
                            518,
                            519,
                            520,
                            521,
                            522,
                            523,
                            524,
                            525,
                            526,
                            527,
                            528,
                            529,
                            530,
                            531,
                            532,
                            533,
                            534,
                            535,
                            536,
                            537,
                            538,
                            539,
                            540,
                            541,
                            542,
                            543,
                            544,
                            545,
                            546,
                            547,
                            548,
                            549,
                            550,
                            551,
                            552,
                            553,
                            554,
                            555,
                            556,
                            557,
                            558,
                            559,
                            560,
                            561,
                            562,
                            563,
                            564,
                            565,
                            566,
                            567,
                            568,
                            569,
                            570,
                            571,
                            572,
                            573,
                            574,
                            575,
                            576,
                            577,
                            578,
                            579,
                            580,
                            581,
                            582,
                            583,
                            584,
                            585,
                            586,
                            587,
                            588,
                            589,
                            590,
                            591,
                            592,
                            593,
                            594,
                            595,
                            596,
                            597,
                            598,
                            599,
                            600,
                            601,
                            602,
                            603,
                            604,
                            605,
                            606,
                            607,
                            608,
                            609,
                            610,
                            611,
                            612,
                            613,
                            614,
                            615,
                            616,
                            617,
                            618,
                            619,
                            620,
                            621,
                            622,
                            623,
                            624,
                            625,
                            626,
                            627,
                            628,
                            629,
                            630,
                            631,
                            632,
                            633,
                            634,
                            635,
                            636,
                            637,
                            638,
                            639,
                            640,
                            641,
                            642,
                            643,
                            644,
                            645,
                            646,
                            647,
                            648,
                            649,
                            650,
                            651,
                            652,
                            653,
                            654,
                            655,
                            656,
                            657,
                            658,
                            659,
                            660,
                            661,
                            662,
                            663,
                            664,
                            665,
                            666,
                            667,
                            668,
                            669,
                            670,
                            671,
                            672,
                            673,
                            674,
                            675,
                            676,
                            677,
                            678,
                            679,
                            680,
                            681,
                            682,
                            683,
                            684,
                            685,
                            686,
                            687,
                            688,
                            689,
                            690,
                            691,
                            692,
                            693,
                            694,
                            695,
                            696,
                            697,
                            698,
                            699,
                            700,
                            701,
                            702,
                            703,
                            704,
                            705,
                            706,
                            707,
                            708,
                            709,
                            710,
                            711,
                            712,
                            713,
                            714,
                            715,
                            716,
                            717,
                            718,
                            719,
                            720,
                            721,
                            722,
                            723,
                            724,
                            725,
                            726,
                            727,
                            728,
                            729,
                            730,
                            731,
                            732,
                            733,
                            734,
                            735,
                            736,
                            737,
                            738,
                            739,
                            740,
                            741,
                            742,
                            743,
                            744,
                            745,
                            746,
                            747,
                            748,
                            749,
                            750,
                            751,
                            752,
                            753,
                            754,
                            755,
                            756,
                            757,
                            758,
                            759,
                            760,
                            761,
                            762,
                            763,
                            764,
                            765,
                            766,
                            767,
                            768,
                            769,
                            770,
                            771,
                            772,
                            773,
                            774,
                            775,
                            776,
                            777,
                            778,
                            779,
                            780,
                            781,
                            782,
                            783,
                            784,
                            785,
                            786,
                            787,
                            788,
                            789,
                            790,
                            791,
                            792,
                            793,
                            794,
                            795,
                            796,
                            797,
                            798,
                            799,
                            800,
                            801,
                            802,
                            803,
                            804,
                            805,
                            806,
                            807,
                            808,
                            809,
                            810,
                            811,
                            812,
                            813,
                            814,
                            815,
                            816,
                            817,
                            818,
                            819,
                            820,
                            821,
                            822,
                            823,
                            824,
                            825,
                            826,
                            827,
                            828,
                            829,
                            830,
                            831,
                            832,
                            833,
                            834,
                            835,
                            836,
                            837,
                            838,
                            839,
                            840,
                            841,
                            842,
                            843,
                            844,
                            845,
                            846,
                            847,
                            848,
                            849,
                            850,
                            851,
                            852,
                            853,
                            854,
                            855,
                            856,
                            857,
                            858,
                            859,
                            860,
                            861,
                            862,
                            863,
                            864,
                            865,
                            866,
                            867,
                            868,
                            869,
                            870,
                            871,
                            872,
                            873,
                            874,
                            875,
                            876,
                            877,
                            878,
                            879,
                            880,
                            881,
                            882,
                            883,
                            884,
                            885,
                            886,
                            887,
                            888,
                            889,
                            890,
                            891,
                            892,
                            893,
                            894,
                            895,
                            896,
                            897,
                            898,
                            899,
                            900,
                            901,
                            902,
                            903,
                            904,
                            905,
                            906,
                            907,
                            908,
                            909,
                            910,
                            911,
                            912,
                            913,
                            914,
                            915,
                            916,
                            917,
                            918,
                            919,
                            920,
                            921,
                            922,
                            923,
                            924,
                            925,
                            926,
                            927,
                            928,
                            929,
                            930,
                            931,
                            932,
                            933,
                            934,
                            935,
                            936,
                            937,
                            938,
                            939,
                            940,
                            941,
                            942,
                            943,
                            944,
                            945,
                            946,
                            947,
                            948,
                            949,
                            950,
                            951,
                            952,
                            953,
                            954,
                            955,
                            956,
                            957,
                            958,
                            959,
                            960,
                            961,
                            962,
                            963,
                            964,
                            965,
                            966,
                            967,
                            968,
                            969,
                            970,
                            971,
                            972,
                            973,
                            974,
                            975,
                            976,
                            977,
                            978,
                            979,
                            980,
                            981,
                            982,
                            983,
                            984,
                            985,
                            986,
                            987,
                            988,
                            989,
                            990,
                            991,
                            992,
                            993,
                            994,
                            995,
                            996,
                            997,
                            998,
                            999,
                            1000,
                            1001,
                            1002,
                            1003,
                            1004,
                            1005,
                            1006,
                            1007,
                            1008,
                            1009,
                            1010,
                            1011,
                            1012,
                            1013,
                            1014,
                            1015,
                            1016,
                            1017,
                            1018,
                            1019,
                            1020,
                            1021,
                            1022,
                            1023,
                            1024,
                            1025,
                            1026,
                            1027,
                            1028,
                            1029,
                            1030,
                            1031,
                            1032,
                            1033,
                            1034,
                            1035,
                            1036,
                            1037,
                            1038,
                            1039,
                            1040,
                            1041,
                            1042,
                            1043,
                            1044,
                            1045,
                            1046,
                            1047,
                            1048,
                            1049,
                            1050,
                            1051,
                            1052,
                            1053,
                            1054,
                            1055,
                            1056,
                            1057,
                            1058,
                            1059,
                            1060,
                            1061,
                            1062,
                            1063,
                            1064,
                            1065,
                            1066,
                            1067
                        ],
                        "start": 1534,
                        "length": 37148,
                        "ending_column": 2,
                        "is_dependency": false,
                        "filename_short": "src/SablierFlow.sol",
                        "starting_column": 1,
                        "filename_absolute": "/tmp/slither-xhisbld2/src/SablierFlow.sol",
                        "filename_relative": "src/SablierFlow.sol"
                    }
                },
                "signature": "recover(IERC20,address)"
            }
        }
    ],
    "locations": [
        {
            "file": "src/abstracts/SablierFlowState.sol",
            "name": "aggregateAmount",
            "type": "variable",
            "lines": [
                20
            ]
        },
        {
            "file": "src/SablierFlow.sol",
            "name": "recover",
            "type": "function",
            "lines": [
                364,
                365,
                366,
                367,
                368,
                369,
                370,
                371,
                372,
                373,
                374,
                375,
                376
            ]
        }
    ],
    "description": "SablierFlowState.aggregateAmount (src/abstracts/SablierFlowState.sol#20) is never initialized. It is used in:\n\t- SablierFlow.recover(IERC20,address) (src/SablierFlow.sol#364-376)"
}
high other slither SablierFlowState._streams (src/abstracts/SablierFlowState.sol#32) is never initialized. It is used in: 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "uninitialized-state",
    "elements": [
        {
            "name": "_streams",
            "type": "variable",
            "source_mapping": {
                "lines": [
                    32
                ],
                "start": 1247,
                "length": 59,
                "ending_column": 64,
                "is_dependency": false,
                "filename_short": "src/abstracts/SablierFlowState.sol",
                "starting_column": 5,
                "filename_absolute": "/tmp/slither-xhisbld2/src/abstracts/SablierFlowState.sol",
                "filename_relative": "src/abstracts/SablierFlowState.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "SablierFlowState",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            14,
                            15,
                            16,
                            17,
                            18,
                            19,
                            20,
                            21,
                            22,
                            23,
                            24,
                            25,
                            26,
                            27,
                            28,
                            29,
                            30,
                            31,
                            32,
                            33,
                            34,
                            35,
                            36,
                            37,
                            38,
                            39,
                            40,
                            41,
                            42,
                            43,
                            44,
                            45,
                            46,
                            47,
                            48,
                            49,
                            50,
                            51,
                            52,
                            53,
                            54,
                            55,
                            56,
                            57,
                            58,
                            59,
                            60,
                            61,
                            62,
                            63,
                            64,
                            65,
                            66,
                            67,
                            68,
                            69,
                            70,
                            71,
                            72,
                            73,
                            74,
                            75,
                            76,
                            77,
                            78,
                            79,
                            80,
                            81,
                            82,
                            83,
                            84,
                            85,
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167
                        ],
                        "start": 539,
                        "length": 5649,
                        "ending_column": 2,
                        "is_dependency": false,
                        "filename_short": "src/abstracts/SablierFlowState.sol",
                        "starting_column": 1,
                        "filename_absolute": "/tmp/slither-xhisbld2/src/abstracts/SablierFlowState.sol",
                        "filename_relative": "src/abstracts/SablierFlowState.sol"
                    }
                }
            }
        },
        {
            "name": "getBalance",
            "type": "function",
            "source_mapping": {
                "lines": [
                    84,
                    85,
                    86
                ],
                "start": 3247,
                "length": 158,
                "ending_column": 6,
                "is_dependency": false,
                "filename_short": "src/abstracts/SablierFlowState.sol",
                "starting_column": 5,
                "filename_absolute": "/tmp/slither-xhisbld2/src/abstracts/SablierFlowState.sol",
                "filename_relative": "src/abstracts/SablierFlowState.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "SablierFlowState",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            14,
                            15,
                            16,
                            17,
                            18,
                            19,
                            20,
                            21,
                            22,
                            23,
                            24,
                            25,
                            26,
                            27,
                            28,
                            29,
                            30,
                            31,
                            32,
                            33,
                            34,
                            35,
                            36,
                            37,
                            38,
                            39,
                            40,
                            41,
                            42,
                            43,
                            44,
                            45,
                            46,
                            47,
                            48,
                            49,
                            50,
                            51,
                            52,
                            53,
                            54,
                            55,
                            56,
                            57,
                            58,
                            59,
                            60,
                            61,
                            62,
                            63,
                            64,
                            65,
                            66,
                            67,
                            68,
                            69,
                            70,
                            71,
                            72,
                            73,
                            74,
                            75,
                            76,
                            77,
                            78,
                            79,
                            80,
                            81,
                            82,
                            83,
                            84,
                            85,
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167
                        ],
                        "start": 539,
                        "length": 5649,
                        "ending_column": 2,
                        "is_dependency": false,
                        "filename_short": "src/abstracts/SablierFlowState.sol",
                        "starting_column": 1,
                        "filename_absolute": "/tmp/slither-xhisbld2/src/abstracts/SablierFlowState.sol",
                        "filename_relative": "src/abstracts/SablierFlowState.sol"
                    }
                },
                "signature": "getBalance(uint256)"
            }
        },
        {
            "name": "getRatePerSecond",
            "type": "function",
            "source_mapping": {
                "lines": [
                    89,
                    90,
                    91,
                    92,
                    93,
                    94,
                    95,
                    96,
                    97
                ],
                "start": 3449,
                "length": 226,
                "ending_column": 6,
                "is_dependency": false,
                "filename_short": "src/abstracts/SablierFlowState.sol",
                "starting_column": 5,
                "filename_absolute": "/tmp/slither-xhisbld2/src/abstracts/SablierFlowState.sol",
                "filename_relative": "src/abstracts/SablierFlowState.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "SablierFlowState",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            14,
                            15,
                            16,
                            17,
                            18,
                            19,
                            20,
                            21,
                            22,
                            23,
                            24,
                            25,
                            26,
                            27,
                            28,
                            29,
                            30,
                            31,
                            32,
                            33,
                            34,
                            35,
                            36,
                            37,
                            38,
                            39,
                            40,
                            41,
                            42,
                            43,
                            44,
                            45,
                            46,
                            47,
                            48,
                            49,
                            50,
                            51,
                            52,
                            53,
                            54,
                            55,
                            56,
                            57,
                            58,
                            59,
                            60,
                            61,
                            62,
                            63,
                            64,
                            65,
                            66,
                            67,
                            68,
                            69,
                            70,
                            71,
                            72,
                            73,
                            74,
                            75,
                            76,
                            77,
                            78,
                            79,
                            80,
                            81,
                            82,
                            83,
                            84,
                            85,
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167
                        ],
                        "start": 539,
                        "length": 5649,
                        "ending_column": 2,
                        "is_dependency": false,
                        "filename_short": "src/abstracts/SablierFlowState.sol",
                        "starting_column": 1,
                        "filename_absolute": "/tmp/slither-xhisbld2/src/abstracts/SablierFlowState.sol",
                        "filename_relative": "src/abstracts/SablierFlowState.sol"
                    }
                },
                "signature": "getRatePerSecond(uint256)"
            }
        },
        {
            "name": "getSender",
            "type": "function",
            "source_mapping": {
                "lines": [
                    100,
                    101,
                    102
                ],
                "start": 3719,
                "length": 154,
                "ending_column": 6,
                "is_dependency": false,
                "filename_short": "src/abstracts/SablierFlowState.sol",
                "starting_column": 5,
                "filename_absolute": "/tmp/slither-xhisbld2/src/abstracts/SablierFlowState.sol",
                "filename_relative": "src/abstracts/SablierFlowState.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "SablierFlowState",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            14,
                            15,
                            16,
                            17,
                            18,
                            19,
                            20,
                            21,
                            22,
                            23,
                            24,
                            25,
                            26,
                            27,
                            28,
                            29,
                            30,
                            31,
                            32,
                            33,
                            34,
                            35,
                            36,
                            37,
                            38,
                            39,
                            40,
                            41,
                            42,
                            43,
                            44,
                            45,
                            46,
                            47,
                            48,
                            49,
                            50,
                            51,
                            52,
                            53,
                            54,
                            55,
                            56,
                            57,
                            58,
                            59,
                            60,
                            61,
                            62,
                            63,
                            64,
                            65,
                            66,
                            67,
                            68,
                            69,
                            70,
                            71,
                            72,
                            73,
                            74,
                            75,
                            76,
                            77,
                            78,
                            79,
                            80,
                            81,
                            82,
                            83,
                            84,
                            85,
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167
                        ],
                        "start": 539,
                        "length": 5649,
                        "ending_column": 2,
                        "is_dependency": false,
                        "filename_short": "src/abstracts/SablierFlowState.sol",
                        "starting_column": 1,
                        "filename_absolute": "/tmp/slither-xhisbld2/src/abstracts/SablierFlowState.sol",
                        "filename_relative": "src/abstracts/SablierFlowState.sol"
                    }
                },
                "signature": "getSender(uint256)"
            }
        },
        {
            "name": "getSnapshotDebtScaled",
            "type": "function",
            "source_mapping": {
                "lines": [
                    105,
                    106,
                    107,
                    108,
                    109,
                    110,
                    111,
                    112,
                    113
                ],
                "start": 3917,
                "length": 246,
                "ending_column": 6,
                "is_dependency": false,
                "filename_short": "src/abstracts/SablierFlowState.sol",
                "starting_column": 5,
                "filename_absolute": "/tmp/slither-xhisbld2/src/abstracts/SablierFlowState.sol",
                "filename_relative": "src/abstracts/SablierFlowState.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "SablierFlowState",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            14,
                            15,
                            16,
                            17,
                            18,
                            19,
                            20,
                            21,
                            22,
                            23,
                            24,
                            25,
                            26,
                            27,
                            28,
                            29,
                            30,
                            31,
                            32,
                            33,
                            34,
                            35,
                            36,
                            37,
                            38,
                            39,
                            40,
                            41,
                            42,
                            43,
                            44,
                            45,
                            46,
                            47,
                            48,
                            49,
                            50,
                            51,
                            52,
                            53,
                            54,
                            55,
                            56,
                            57,
                            58,
                            59,
                            60,
                            61,
                            62,
                            63,
                            64,
                            65,
                            66,
                            67,
                            68,
                            69,
                            70,
                            71,
                            72,
                            73,
                            74,
                            75,
                            76,
                            77,
                            78,
                            79,
                            80,
                            81,
                            82,
                            83,
                            84,
                            85,
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167
                        ],
                        "start": 539,
                        "length": 5649,
                        "ending_column": 2,
                        "is_dependency": false,
                        "filename_short": "src/abstracts/SablierFlowState.sol",
                        "starting_column": 1,
                        "filename_absolute": "/tmp/slither-xhisbld2/src/abstracts/SablierFlowState.sol",
                        "filename_relative": "src/abstracts/SablierFlowState.sol"
                    }
                },
                "signature": "getSnapshotDebtScaled(uint256)"
            }
        }
    ],
    "locations": [
        {
            "file": "src/abstracts/SablierFlowState.sol",
            "name": "_streams",
            "type": "variable",
            "lines": [
                32
            ]
        },
        {
            "file": "src/abstracts/SablierFlowState.sol",
            "name": "getBalance",
            "type": "function",
            "lines": [
                84,
                85,
                86
            ]
        },
        {
            "file": "src/abstracts/SablierFlowState.sol",
            "name": "getRatePerSecond",
            "type": "function",
            "lines": [
                89,
                90,
                91,
                92,
                93,
                94,
                95,
                96,
                97
            ]
        },
        {
            "file": "src/abstracts/SablierFlowState.sol",
            "name": "getSender",
            "type": "function",
            "lines": [
                100,
                101,
                102
            ]
        },
        {
            "file": "src/abstracts/SablierFlowState.sol",
            "name": "getSnapshotDebtScaled",
            "type": "function",
            "lines": [
                105,
                106,
                107,
                108,
                109,
                110,
                111,
                112,
                113
            ]
        },
        {
            "file": "src/abstracts/SablierFlowState.sol",
            "name": "getSnapshotTime",
            "type": "function",
            "lines": [
                116,
                117,
                118
            ]
        },
        {
            "file": "src/abstracts/SablierFlowState.sol",
            "name": "getStream",
            "type": "function",
            "lines": [
                121,
                122,
                123
            ]
        },
        {
            "file": "src/abstracts/SablierFlowState.sol",
            "name": "getToken",
            "type": "function",
            "lines": [
                126,
                127,
                128
            ]
        },
        {
            "file": "src/abstracts/SablierFlowState.sol",
            "name": "getTokenDecimals",
            "type": "function",
            "lines": [
                131,
                132,
                133,
                134,
                135,
                136,
                137,
                138,
                139
            ]
        },
        {
            "file": "src/abstracts/SablierFlowState.sol",
            "name": "isStream",
            "type": "function",
            "lines": [
                142,
                143,
                144
            ]
        },
        {
            "file": "src/abstracts/SablierFlowState.sol",
            "name": "isTransferable",
            "type": "function",
            "lines": [
                147,
                148,
                149
            ]
        },
        {
            "file": "src/abstracts/SablierFlowState.sol",
            "name": "isVoided",
            "type": "function",
            "lines": [
                152,
                153,
                154
            ]
        },
        {
            "file": "src/abstracts/SablierFlowState.sol",
            "name": "_notNull",
            "type": "function",
            "lines": [
                162,
                163,
                164,
                165,
                166
            ]
        },
        {
            "file": "src/SablierFlow.sol",
            "name": "calculateMinFeeWei",
            "type": "function",
            "lines": [
                68,
                69,
                70,
                71,
                72,
                73,
                74,
                75,
                76,
                77,
                78,
                79,
                80
            ]
        },
        {
            "file": "src/SablierFlow.sol",
            "name": "depletionTimeOf",
            "type": "function",
            "lines": [
                88,
                89,
                90,
                91,
                92,
                93,
                94,
                95,
                96,
                97,
                98,
                99,
                100,
                101,
                102,
                103,
                104,
                105,
                106,
                107,
                108,
                109,
                110,
                111,
                112,
                113,
                114,
                115,
                116,
                117,
                118,
                119,
                120,
                121,
                122,
                123,
                124,
                125,
                126,
                127,
                128,
                129,
                130,
                131,
                132,
                133,
                134,
                135
            ]
        },
        {
            "file": "src/SablierFlow.sol",
            "name": "statusOf",
            "type": "function",
            "lines": [
                166,
                167,
                168,
                169,
                170,
                171,
                172,
                173,
                174,
                175,
                176,
                177,
                178,
                179,
                180,
                181,
                182,
                183,
                184,
                185,
                186,
                187,
                188,
                189,
                190,
                191,
                192,
                193,
                194,
                195,
                196,
                197
            ]
        },
        {
            "file": "src/SablierFlow.sol",
            "name": "_update",
            "type": "function",
            "lines": [
                591,
                592,
                593,
                594,
                595,
                596,
                597,
                598,
                599,
                600,
                601,
                602,
                603,
                604,
                605,
                606,
                607,
                608
            ]
        },
        {
            "file": "src/SablierFlow.sol",
            "name": "_coveredDebtOf",
            "type": "function",
            "lines": [
                615,
                616,
                617,
                618,
                619,
                620,
                621,
                622,
                623,
                624,
                625,
                626,
                627,
                628,
                629,
                630,
                631,
                632
            ]
        },
        {
            "file": "src/SablierFlow.sol",
            "name": "_ongoingDebtScaledOf",
            "type": "function",
            "lines": [
                642,
                643,
                644,
                645,
                646,
                647,
                648,
                649,
                650,
                651,
                652,
                653,
                654,
                655,
                656,
                657,
                658,
                659,
                660,
                661,
                662,
                663,
                664,
                665,
                666,
                667
            ]
        },
        {
            "file": "src/SablierFlow.sol",
            "name": "_refundableAmountOf",
            "type": "function",
            "lines": [
                670,
                671,
                672
            ]
        },
        {
            "file": "src/SablierFlow.sol",
            "name": "_totalDebtOf",
            "type": "function",
            "lines": [
                676,
                677,
                678,
                679
            ]
        },
        {
            "file": "src/SablierFlow.sol",
            "name": "_uncoveredDebtOf",
            "type": "function",
            "lines": [
                682,
                683,
                684,
                685,
                686,
                687,
                688,
                689,
                690,
                691,
                692
            ]
        },
        {
            "file": "src/SablierFlow.sol",
            "name": "_verifyStreamSenderRecipient",
            "type": "function",
            "lines": [
                695,
                696,
                697,
                698,
                699,
                700,
                701,
                702,
                703
            ]
        },
        {
            "file": "src/SablierFlow.sol",
            "name": "_adjustRatePerSecond",
            "type": "function",
            "lines": [
                710,
                711,
                712,
                713,
                714,
                715,
                716,
                717,
                718,
                719,
                720,
                721,
                722,
                723,
                724,
                725,
                726,
                727,
                728,
                729,
                730,
                731,
                732,
                733,
                734
            ]
        },
        {
            "file": "src/SablierFlow.sol",
            "name": "_pause",
            "type": "function",
            "lines": [
                846,
                847,
                848,
                849,
                850,
                851,
                852,
                853,
                854,
                855,
                856,
                857,
                858,
                859,
                860,
                861,
                862
            ]
        },
        {
            "file": "src/SablierFlow.sol",
            "name": "_restart",
            "type": "function",
            "lines": [
                905,
                906,
                907,
                908,
                909,
                910,
                911,
                912,
                913,
                914,
                915,
                916
            ]
        },
        {
            "file": "src/SablierFlow.sol",
            "name": "_void",
            "type": "function",
            "lines": [
                919,
                920,
                921,
                922,
                923,
                924,
                925,
                926,
                927,
                928,
                929,
                930,
                931,
                932,
                933,
                934,
                935,
                936,
                937,
                938,
                939,
                940,
                941,
                942,
                943,
                944,
                945,
                946,
                947,
                948,
                949,
                950,
                951,
                952,
                953,
                954,
                955,
                956,
                957,
                958,
                959,
                960,
                961,
                962,
                963
            ]
        },
        {
            "file": "src/SablierFlow.sol",
            "name": "_withdraw",
            "type": "function",
            "lines": [
                966,
                967,
                968,
                969,
                970,
                971,
                972,
                973,
                974,
                975,
                976,
                977,
                978,
                979,
                980,
                981,
                982,
                983,
                984,
                985,
                986,
                987,
                988,
                989,
                990,
                991,
                992,
                993,
                994,
                995,
                996,
                997,
                998,
                999,
                1000,
                1001,
                1002,
                1003,
                1004,
                1005,
                1006,
                1007,
                1008,
                1009,
                1010,
                1011,
                1012,
                1013,
                1014,
                1015,
                1016,
                1017,
                1018,
                1019,
                1020,
                1021,
                1022,
                1023,
                1024,
                1025,
                1026,
                1027,
                1028,
                1029,
                1030,
                1031,
                1032,
                1033,
                1034,
                1035,
                1036,
                1037,
                1038,
                1039,
                1040,
                1041,
                1042,
                1043,
                1044,
                1045,
                1046,
                1047,
                1048,
                1049,
                1050,
                1051,
                1052,
                1053,
                1054,
                1055,
                1056,
                1057,
                1058,
                1059,
                1060,
                1061,
                1062,
                1063,
                1064,
                1065,
                1066
            ]
        }
    ],
    "description": "SablierFlowState._streams (src/abstracts/SablierFlowState.sol#32) is never initialized. It is used in:\n\t- SablierFlowState.getBalance(uint256) (src/abstracts/SablierFlowState.sol#84-86)\n\t- SablierFlowState.getRatePerSecond(uint256) (src/abstracts/SablierFlowState.sol#89-97)\n\t- SablierFlowState.getSender(uint256) (src/abstracts/SablierFlowState.sol#100-102)\n\t- SablierFlowState.getSnapshotDebtScaled(uint256) (src/abstracts/SablierFlowState.sol#105-113)\n\t- SablierFlowState.getSnapshotTime(uint256) (src/abstracts/SablierFlowState.sol#116-118)\n\t- SablierFlowState.getStream(uint256) (src/abstracts/SablierFlowState.sol#121-123)\n\t- SablierFlowState.getToken(uint256) (src/abstracts/SablierFlowState.sol#126-128)\n\t- SablierFlowState.getTokenDecimals(uint256) (src/abstracts/SablierFlowState.sol#131-139)\n\t- SablierFlowState.isStream(uint256) (src/abstracts/SablierFlowState.sol#142-144)\n\t- SablierFlowState.isTransferable(uint256) (src/abstracts/SablierFlowState.sol#147-149)\n\t- SablierFlowState.isVoided(uint256) (src/abstracts/SablierFlowState.sol#152-154)\n\t- SablierFlowState._notNull(uint256) (src/abstracts/SablierFlowState.sol#162-166)\n\t- SablierFlow.calculateMinFeeWei(uint256) (src/SablierFlow.sol#68-80)\n\t- SablierFlow.depletionTimeOf(uint256) (src/SablierFlow.sol#88-135)\n\t- SablierFlow.statusOf(uint256) (src/SablierFlow.sol#166-197)\n\t- SablierFlow._update(address,uint256,address) (src/SablierFlow.sol#591-608)\n\t- SablierFlow._coveredDebtOf(uint256) (src/SablierFlow.sol#615-632)\n\t- SablierFlow._ongoingDebtScaledOf(uint256) (src/SablierFlow.sol#642-667)\n\t- SablierFlow._refundableAmountOf(uint256) (src/SablierFlow.sol#670-672)\n\t- SablierFlow._totalDebtOf(uint256) (src/SablierFlow.sol#676-679)\n\t- SablierFlow._uncoveredDebtOf(uint256) (src/SablierFlow.sol#682-692)\n\t- SablierFlow._verifyStreamSenderRecipient(uint256,address,address) (src/SablierFlow.sol#695-703)\n\t- SablierFlow._adjustRatePerSecond(uint256,UD21x18) (src/SablierFlow.sol#710-734)\n\t- SablierFlow._pause(uint256) (src/SablierFlow.sol#846-862)\n\t- SablierFlow._restart(uint256,UD21x18) (src/SablierFlow.sol#905-916)\n\t- SablierFlow._void(uint256) (src/SablierFlow.sol#919-963)\n\t- SablierFlow._withdraw(uint256,address,uint128) (src/SablierFlow.sol#966-1066)"
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x64219bfbaa00268732c651517255597098cd1fa9893ceb1afb0dfa2579a7df3b
call_targets: 0x7a86d3e6894f9c5b5f25ffbdaae658cfc7569623
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x64219bfbaa00268732c651517255597098cd1fa9893ceb1afb0dfa2579a7df3b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x7a86d3e6894f9c5b5f25ffbdaae658cfc7569623"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x081812fc",
            "selector": "0x081812fc",
            "calldata_variants": [
                "0x081812fc",
                "0x081812fc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x08b87923",
            "selector": "0x08b87923",
            "calldata_variants": [
                "0x08b87923",
                "0x08b879230000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c699624",
            "selector": "0x0c699624",
            "calldata_variants": [
                "0x0c699624",
                "0x0c6996240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x136439dd",
            "selector": "0x136439dd",
            "calldata_variants": [
                "0x136439dd",
                "0x136439dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1400ecec",
            "selector": "0x1400ecec",
            "calldata_variants": [
                "0x1400ecec",
                "0x1400ecec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 7484,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 14928,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 21867,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [
        {
            "pc": 2356,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 3
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x64219bfbaa00268732c651517255597098cd1fa9893ceb1afb0dfa2579a7df3b
call_targets: 0x7a86d3e6894f9c5b5f25ffbdaae658cfc7569623
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x64219bfbaa00268732c651517255597098cd1fa9893ceb1afb0dfa2579a7df3b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x7a86d3e6894f9c5b5f25ffbdaae658cfc7569623"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x081812fc",
            "selector": "0x081812fc",
            "calldata_variants": [
                "0x081812fc",
                "0x081812fc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x08b87923",
            "selector": "0x08b87923",
            "calldata_variants": [
                "0x08b87923",
                "0x08b879230000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c699624",
            "selector": "0x0c699624",
            "calldata_variants": [
                "0x0c699624",
                "0x0c6996240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x136439dd",
            "selector": "0x136439dd",
            "calldata_variants": [
                "0x136439dd",
                "0x136439dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1400ecec",
            "selector": "0x1400ecec",
            "calldata_variants": [
                "0x1400ecec",
                "0x1400ecec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 7484,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 14928,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 21867,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": [
        {
            "pc": 2356,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}