Q      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                          !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPNone"#%16<FKQTV]8*%$#"!  &'()*  !"#$%&'()$  !"#$%None"#%16<FKQTV]?Q8Opaque representation of the C library's context struct.+5Run a given precompiled contract using the C library.+&The number of the precompiled contractThe input bufferThe desired output sizeHopefully, the output buffer++None"#%16<FKQTV]B,FTurn a list state value into a widget given an item drawing function.,1Rendering function, True for the selected elementWhether the list has focusThe List to be renderedrendered widget,-,-None"#%16<FKQTV]C./0123456789:;<=>?@ABCDEFE5634TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT12./0lksr789jqiphgfonm:;<=>?@ABCDEF./0123456None"#%16<FKQTV]F.FFENone"#%16<FKQTV]J7None"#%016;<=FKQTV]jK'%0None"#%168<FKQTV]jM$ !"#$%&'()*+,-./012345$$%&'()*+,- !"#102./435RST  !"#$ %&'()*+,- None"#%168<FKQTV]jREvery node in the AST has an ID, and other nodes reference those IDs. This function recurses through the tree looking for objects with the "id" key and makes a big map from ID to value.>STUVWZXY[\]^_`abcdefghijklmnopqrstuvw>\]^_lmnopqrstuvw`abcdeVWXYZ[STUfghijkSTUUVWXYZ[VWXYZ[\]^_`abcdefghijkl mnopqrstuvw None"#%&'+016;<=FKQSTV]jaData about the blockVarious environmental dataThe state of a contract(The state that spans a whole transaction:The "registers" of the VM along with memory and data stackCall/create info(An entry in the VM's "call/create stack" A log entry$A way to specify an initial VM statevThe cache is data that can be persisted for efficiency: any expensive query that is constant at least within a block.Alias for the type of e.g. exec1. %The state of a stepwise EVM execution"The possible result states of a VMAn operation failed$Reached STOP, RETURN, or end-of-codeoUReplace current contract's code, like when CREATE returns from the constructor code.nContract addressStorage slot key Continuation     ('%$#"! &)0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'(     *)<;:9876543210>=EDCBA@?GFPONMLKJIHSRQTWVUcba`_^]\[ZYdefghijklmnopqrstuvwxXyz{|}~        !"#$%&'( None"#$%&'16<FKQTV]s 'Type alias for an operational monad of Action Some failure raised by a stepper-The instruction type of the operational monad6Keep executing until an intermediate result is reachedShort-circuit with a failureWait for a query to be resolvedEmbed a VM state transformation&Write something to the log or terminal4Run the VM until final result, resolving all queries<Decode a blob as an ABI value, failing if ABI encoding wrong None"#%&'016<FKQTV]u/Abstract representation of an RPC fetch request None "#$%16;<=FKQTV]dewW\]^ None"#%16<FKQTV]yHNone"#%16<FKQTV]z)None"#%16<FKQTV]{None"#%16<FKQTV]|                None"#%16<FKQTV]} ! "#$%&'()*+ "#$%& !'()*+ !None"#%16<FKQTV]~ -/.0123456789:;<=>?@ABCDEFGHIJKL -./0123456789:;<=>?@ABCDEFGHIJKL-./None"#%16<FKQTV]MMNone"#%16<FKQTV]O*This is like an unresolved source mapping.nAssuming a constructor is loaded, this stepper will run the constructor to create the test contract, give it an initial balance, and run `setUp()'.oAssuming a test contract is loaded and initialized, this stepper will run the specified test method and return whether it succeeded.4NOPRQSTUba`_^]\[ZYXWVcdihefgjklmnopqrstuvwxyz{|}~4cdefghiTUVWXYZ[\]^_`abjklmSnopqOPQRrNstuvwxyz{|}~OPQRTUVWXYZ[\]^_`abcdefghiNone"#%16<FKQTV] Allow blocking and returningForbid blocking and returningXEach step command in the terminal should finish immediately with one of these outcomes.Program finishedTook one step; more steps to goCame across blocking requestFinish after one opcode stepRun a specific number of stepsFinish before the next opcode Finish when a VM predicate holds This turns a StepperB into a state action usable from within the TTY loop, yielding a  StepOutcome depending on the StepMode.Specifies whether to do I/O blocking or VM halting while stepping. When we step backwards, we don't want to allow those things.hh None"#%16;<=FKQTV]9 Allow blocking and returningForbid blocking and returningProgram finishedTook one step; more steps to goCame across blocking request Finish after one opcode step Run a specific number of steps Finish before the next opcode  Finish when a VM predicate holds$Specifies whether to do I/O blocking or VM halting while stepping. When we step backwards, we don't want to allow those things.9      !"#$%&'(J      !"#$%987&6543210/.-,+*)'(      None"#%16<FKQTV]s:;<=>:;<=>None"#%16<FKQTV]k?@ABC?AB@C_`abcdefghi?jklmNone"#%16<FKQTV]IJKLMNOPIJKLMNPOn !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHHIJJKKLLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'(())*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef g h i j k l m n o p q r s t t u v w x y y z { | } ~ ~                                                                                                                                                                               ! " # $ % & ' ( ) *  + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                            !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJJKLMNNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~i}i     i1 !" # $ % & ' ( ) * + ,--./012345678 hevm-0.16-5a74lCQx1KPFycEOS1YSBhEVM.FeeScheduleEVM.PrecompiledEVM.TTYCenteredList EVM.TypesEVM.Op EVM.Keccak EVM.ConcreteEVM.ABI EVM.SolidityEVM EVM.Stepper EVM.Fetch EVM.Facts EVM.Facts.GitEVM.Exec EVM.DebugEVM.DappEVM.StorageLayout EVM.Format EVM.Flatten EVM.UnitTestEVM.TTY EVM.EmacsEVM.Dev EVM.VMTest Paths_hevmEIP FeeScheduleg_zerog_base g_verylowg_lowg_midg_high g_extcode g_balanceg_sload g_jumpdestg_ssetg_sresetr_sclearr_selfdestructr_selfdestruct_newaccountg_create g_codedepositg_call g_callvalue g_callstipend g_newaccountg_exp g_expbyteg_memory g_txcreate g_txdatazerog_txdatanonzero g_transactiong_log g_logdata g_logtopicg_sha3 g_sha3wordg_copy g_blockhasheip150eip160 homestead metropolis$fShowFeeScheduleexecute renderListdrawListElementsAddraddressWord160W256Int512Word512showAddrWith0xshowWordWith0xshowByteStringWith0x hexByteStringhexTextreadN wordField addrField dataField toWord512 fromWord512numpadLeftpadRightwordbyteAt$fFiniteBitsWord512 $fBitsWord512 $fIxWord512$fHashableWord512 $fReadWord512 $fShowWord512$fIntegralWord512 $fRealWord512 $fNumWord512 $fEnumWord512$fBoundedWord512 $fOrdWord512 $fEqWord512D:R:LoWordWord512$fDoubleWordWord512$fBinaryWordInt512$fFiniteBitsInt512 $fBitsInt512 $fIxInt512$fHashableInt512 $fReadInt512 $fShowInt512$fIntegralInt512 $fRealInt512 $fNumInt512 $fEnumInt512$fBoundedInt512 $fOrdInt512 $fEqInt512$fDoubleWordInt512$fBinaryWordWord512$fParseRecordW256$fParseFieldsW256$fParseFieldW256$fFromJSONKeyW256$fFromJSONW256 $fShowW256 $fReadW256$fParseRecordAddr$fParseFieldsAddr$fParseFieldAddr$fFromJSONKeyAddr$fFromJSONAddr $fShowAddr $fReadAddr $fDataWord512$fGenericWord512 $fDataInt512$fGenericInt512 $fNumW256$fIntegralW256 $fRealW256 $fOrdW256 $fEnumW256$fEqW256 $fBitsW256$fFiniteBitsW256 $fBoundedW256 $fGenericW256 $fNumAddr$fIntegralAddr $fRealAddr $fOrdAddr $fEnumAddr$fEqAddr $fBitsAddr $fGenericAddrOpOpStopOpAddOpMulOpSubOpDivOpSdivOpModOpSmodOpAddmodOpMulmodOpExp OpSignextendOpLtOpGtOpSltOpSgtOpEqOpIszeroOpAndOpOrOpXorOpNotOpByteOpSha3 OpAddress OpBalanceOpOriginOpCaller OpCallvalueOpCalldataloadOpCalldatasizeOpCalldatacopy OpCodesize OpCodecopy OpGasprice OpExtcodesize OpExtcodecopyOpReturndatasizeOpReturndatacopy OpBlockhash OpCoinbase OpTimestampOpNumber OpDifficulty OpGaslimitOpPopOpMloadOpMstore OpMstore8OpSloadOpSstoreOpJumpOpJumpiOpPcOpMsizeOpGas OpJumpdestOpCreateOpCall OpCallcodeOpReturnOpDelegatecallOpRevertOpSelfdestructOpDupOpSwapOpLogOpPush OpUnknown$fShowOp$fEqOpkeccak abiKeccaknewContractAddressMemoryConcreteMemoryByte ConcreteByteBlobBWordCWhiffDull FromKeccakwordAt word256BytesreadByteOrZero byteStringSliceWithDefaultZeroesw256blob wordToByte exponentiatesdivsmodaddmodmulmodsltsgtforceConcreteBlobforceConcreteWord sliceMemory writeMemoryreadMemoryWordreadMemoryWord32 setMemoryWord setMemoryByte readBlobWordblobSize keccakBlob^ $fOrdWord $fRealWord $fNumWord$fIntegralWord $fEnumWord$fEqWord $fBoundedWord$fFiniteBitsWord $fBitsWord $fReadWord $fShowWord $fShowWhiff $fShowBlob $fRealByte $fOrdByte $fNumByte$fMonoidMemory $fMonoidBlob$fIsStringBlob$fIntegralByte$fEqByte $fEnumByte$fFiniteBitsByte $fBitsByteEventIndexed NotIndexed Anonymity Anonymous NotAnonymousAbiType AbiUIntType AbiIntTypeAbiAddressType AbiBoolType AbiBytesTypeAbiBytesDynamicType AbiStringTypeAbiArrayDynamicType AbiArrayTypeAbiValueAbiUIntAbiInt AbiAddressAbiBoolAbiBytesAbiBytesDynamic AbiStringAbiArrayDynamicAbiArray abiValueTypeabiTypeSoliditygetAbiputAbi getAbiSeqencodeAbiValue abiCalldata parseTypeName$fArbitraryAbiType$fArbitraryAbiValue $fShowAbiType $fReadAbiType $fEqAbiType $fOrdAbiType$fGenericAbiType$fShowAbiValue$fReadAbiValue $fEqAbiValue $fOrdAbiValue$fGenericAbiValue $fShowAbiKind $fReadAbiKind $fEqAbiKind $fOrdAbiKind$fGenericAbiKind$fShowAnonymity$fOrdAnonymity $fEqAnonymity$fGenericAnonymity $fShowIndexed $fOrdIndexed $fEqIndexed$fGenericIndexed $fShowEvent $fOrdEvent $fEqEvent$fGenericEventCodeTypeCreationRuntimeSrcMapSM srcMapOffset srcMapLength srcMapFile srcMapJumpJumpTypeJumpIntoJumpFrom JumpRegular SourceCache _snippetCache _sourceFiles _sourceLines _sourceAstsMethod _methodOutput _methodInputs _methodName_methodSignature SolcContract_runtimeCodehash_creationCodehash _runtimeCode _creationCode _contractName_abiMap _eventMap_runtimeSrcmap_creationSrcmap _contractAst$fMonoidSourceCache $fShowMethod $fEqMethod $fOrdMethod$fGenericMethod$fShowSourceCache$fEqSourceCache$fGenericSourceCache$fShowJumpType $fEqJumpType $fOrdJumpType$fGenericJumpType $fShowSrcMap $fEqSrcMap $fOrdSrcMap$fGenericSrcMap$fShowSolcContract$fEqSolcContract$fGenericSolcContract$fShowSrcMapParseState$fShowCodeType $fEqCodeType $fOrdCodeTypeabiMap contractAst contractName creationCodecreationCodehashcreationSrcmapeventMap runtimeCoderuntimeCodehash runtimeSrcmap snippetCache sourceAsts sourceFiles sourceLines methodInputs methodName methodOutputmethodSignature makeSrcMaps lineSubrangereadSolcsoliditystripBytecodeMetadataastIdMap astSrcMapBlock _coinbase _timestamp_number _difficulty _gaslimit _gasprice _scheduleEnv _contracts _sha3Crack_originContract _bytecode_storage_balance_nonce _codehash _codesize_opIxMap_codeOps _externalTxState_selfdestructs_refunds FrameState _contract _codeContract_code_pc_stack_memory _memorySize _calldata _callvalue_caller_gas _returndata_static FrameContextCreationContext CallContextcreationContextCodehashcallContextOffsetcallContextSizecallContextCodehashcallContextAbicallContextDatacallContextReversionFrame _frameContext _frameStateLogVMOpts vmoptCode vmoptCalldata vmoptValue vmoptAddress vmoptCaller vmoptOriginvmoptGas vmoptNumbervmoptTimestamp vmoptCoinbasevmoptDifficulty vmoptGaslimit vmoptGasprice vmoptScheduleCache_fetchedQueryPleaseFetchContractPleaseFetchSlotExecModeExecuteNormallyExecuteAsVMTest TraceData EventTrace FrameTrace QueryTrace ErrorTrace EntryTrace ReturnTraceTrace_traceCodehash _traceOpIx _traceDataVM_result_state_frames_env_block_tx_logs_traces_cache _execMode_burnedVMResult VMFailure VMSuccessError BalanceTooLowUnrecognizedOpcodeSelfDestruction StackUnderrunBadJumpDestinationRevertNoSuchContractOutOfGas BadCheatCodeStackLimitExceededIllegalOverflowPrecompiledContractErrorStateChangeWhileStatic blankState $fShowQuery $fShowVMOpts $fEqContract$fShowContract$fShowVMResult $fShowErrorcalldatacaller callvaluecode codeContractcontractgasmemory memorySizepc returndatastackstatic frameContext frameStatecoinbase difficultygaslimitgaspricenumberschedule timestamprefunds selfdestructsbalancebytecodecodeOpscodehashcodesizeexternalnonceopIxMapstorage contractsorigin sha3Crackfetched traceCodehash traceData traceOpIx CheatActionblockburnedcacheenvexecModeframeslogsresultstatetracestxcurrentContractmakeVminitialContractnextexec1precompiledContractnooppushTopushToSequence touchAccount accessStoragereplaceCodeOfSelf resetStatefinalize loadContract limitStack notStaticburnrefund cheatCodecheat cheatActions delegateCallunderrunvmErroraccessMemoryRangeaccessMemoryWordcopyBytesToMemory readMemory word256AtwithTraceLocation pushTrace insertTracepopTracezipperRootForest traceForesttraceLogpushstackOp1stackOp2stackOp3 checkJumpinsidePushDataopSize mkOpIxMapvmOpvmOpIxopParamsreadOp mkCodeOps costOfCall memoryCostceilDiv allButOne64thlog2 $fMonoidCacheStepperFailureContractNotFound DecodingErrorVMFailedActionExecFailWaitNoteexecfailwaitevmnote execFullyexecFullyOrFaildecodeenteringenter $fShowFailureFetcherToRPCtoRPC BlockNumberLatestRpcQuery QueryCode QueryBalance QueryNonce QuerySlotmkrrpcreadText fetchQueryfetchWithSessionfetchContractWithSessionfetchSlotWithSessionfetchContractFrom fetchSlotFromhttpzero$fToRPCBlockNumber $fToRPCW256 $fToRPCAddr$fShowRpcQueryFilefilePathfileDataData dataASCIIPathFact BalanceFact NonceFact StorageFactCodeFactaddrwhatwhich contractFactsvmFactsapply factToFile fileToFact $fOrdFact$fAsASCIIByteString $fAsASCIIWord $fAsASCIIAddr$fEqFact $fShowFact$fEqPath $fOrdPath $fShowPath$fEqData $fOrdData $fShowData$fEqFile $fOrdFile $fShowFileRepoAt saveFacts loadFacts $fEqRepoAt $fOrdRepoAt $fShowRepoAt ethrunAddressvmForEthrunCreation execWhileModeDebugRunobjectprettyContractprettyContracts srcMapCodePos srcMapCode$fEqMode $fShowModeDappInfo _dappRoot_dappSolcByName_dappSolcByHash _dappSources_dappUnitTests _dappEventMap _dappAstIdMap_dappAstSrcMap dappAstIdMap dappAstSrcMap dappEventMapdappRootdappSolcByHashdappSolcByName dappSources dappUnitTestsdappInfounitTestMarkerAbi findUnitTestsunitTestMethods traceSrcMapshowTraceLocationSlotTypeStorageMapping StorageValuefindContractDefinition storageLayoutstorageVariablesForContractnodeIsisStorageVariableDeclarationslotTypeSolidityslotTypeForDeclarationgrokDeclarationTypegrokMappingType grokValueType$fShowSlotType SignednessSignedUnsignedshowDec showDecExact showWordExacthumanizeInteger showAbiValues showAbiArray showAbiValue isPrintable formatBytes formatQString formatString formatBinary showTraceTree showTracegetAbiMethodOutput getAbiTypesshowCall showValuemaybeContractName maybeAbiNamecontractNamePartcontractPathPart formatLoggetEvent getEventNamegetEventUnindexedTypesgetEventIndexedTypes getEventArgs formatBlobflatten CoverageState OpLocation srcCodehashsrcOpIx ABIMethod TestVMParams testAddress testCaller testOrigin testGasCreate testGasCalltestBalanceCreatetestBalanceCall testCoinbase testNumber testTimestamp testGaslimit testGaspricetestDifficultyUnitTestOptionsoracleverbosematch vmModifier testParamsdefaultGasForCreatingdefaultGasForInvokingdefaultBalanceForCreatordefaultBalanceForCreatedinitializeUnitTest runUnitTesttick interpretsrcMapForOpLocationcurrentOpLocationexecWithCoverageinterpretWithCoveragecoverageReportcoverageForUnitTestContractrunUnitTestContract indentLines passOutput failOutputformatTestLogs formatTestLog word32Bytes setupCallinitialUnitTestVm%getParametersFromEnvironmentVariables$fEqOpLocation$fOrdOpLocation$fShowOpLocationUiState UiVmScreenUiVmBrowserScreenUiTestPickerScreenUiBrowserState_browserContractList _browserVmUiTestPickerState_testPickerList_testPickerDapp UiVmState_uiVm _uiVmNextStep_uiVmStackList_uiVmBytecodeList_uiVmTraceList_uiVmSolidityList _uiVmSolc _uiVmDapp_uiVmStepCount_uiVmFirstState _uiVmMessage _uiVmNotesUiWidgetNameAbiPane StackPane BytecodePane TracePane SolidityPaneSolidityViewportTestPickerPane BrowserPane$fEqName $fShowName $fOrdNameuiVmuiVmBytecodeListuiVmDappuiVmFirstState uiVmMessage uiVmNextStep uiVmNotesuiVmSolcuiVmSolidityList uiVmStackList uiVmStepCount uiVmTraceListtestPickerDapptestPickerListbrowserContractList browserVm StepPolicy StepNormally StepTimidly StepOutcomeReturnedSteppedBlockedStepModeStepOneStepManyStepNone StepUntilPred _UiVmScreen_UiVmBrowserScreen_UiTestPickerScreenisUnitTestContractmkVty runFromVMmaintakeStepappinitialUiVmStateForTestmyThemedrawUidrawTestPicker drawVmBrowserdrawVm drawHelpBar stepOneOpcodeisNextSourcePosition#isNextSourcePositionWithoutEntering currentSrcMap currentSolcrenderVmupdateUiVmState drawStackPaneshowWordExplanationdrawBytecodePanedim withHighlight drawTracePanedrawSolidityPane ifTallEnoughshowPcopWidget selectedAttrdimAttrwordAttrboldAttr activeAttr _uiVmFetcherConsole UiStarted UiDappLoadedUiVmSDisplaysexpSexp uiVmFetcherpromptdisplaytxtoutputloophandle handleCmdoutputVm parseStepModequoteddefaultUnitTestOptionsinitialStateForTest$fSDisplayMemory$fSDisplayByteString$fSDisplayWord $fSDisplay[]$fSDisplayFrameState$fSDisplayFrameContext$fSDisplayBlob$fSDisplayFrame$fSDisplayVMResult$fSDisplayMaybe $fSDisplayMap$fSDisplayW256$fSDisplayContract$fSDisplayAddr $fSDisplayVM$fSDisplaySExpr$fSDisplayDappInfo loadDappInfoghciTestghciTty ghciEmacsfooCasecheckExpectation parseSuite vmForCase$fFromJSONContract$fFromJSONCase$fShowExpectation $fShowCaseversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName EthjetContextAbiKindDynamicStaticSrcMapParseStateF1F2F3F4F5FeAsASCIIdumpload Expectation expectedOutexpectedContracts expectedGascontractBalance contractCode contractNoncecontractStorage testVmOpts testContractstestExpectation