h&$|      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferredbitcoin-scriptingTest whether the textual representation of an output descriptor has the given checksum.bitcoin-scriptingCompute the checksum of the textual representation of an output descriptor if possible. Safe-Inferred bitcoin-scriptingRepresent whether the key corresponds to a collection (and how) or a single key.bitcoin-scriptingimmediate hardened childrenbitcoin-scriptingimmediate non-hardened childrenbitcoin-scripting$DER-hex encoded secp256k1 public keybitcoin-scripting(de)serialized as WIFbitcoin-scripting*High level description of a bitcoin scriptbitcoin-scripting Require a signature for this keybitcoin-scripting=Require a key matching this hash and a signature for that keybitcoin-scriptingk-of-n multisig script.bitcoin-scriptingk-of-n multisig script with keys sorted lexicographically in the resulting script.bitcoin-scripting%the script whose hex encoding is HEX.bitcoin-scripting+High level description for a bitcoin outputbitcoin-scripting*The output is secured by the given script.bitcoin-scriptingP2SH embed the argument.bitcoin-scripting.P2WPKH output for the given compressed pubkey.bitcoin-scriptingP2WSH embed the argument.bitcoin-scripting(P2SH-P2WPKH the given compressed pubkey.bitcoin-scriptingP2SH-P2WSH the given scriptbitcoin-scriptingAn alias for the collection of pk(KEY) and pkh(KEY). If the key is compressed, it also includes wpkh(KEY) and sh(wpkh(KEY)). bitcoin-scripting!The script which ADDR expands to.!bitcoin-scripting5Simple explicit public key with no origin information"bitcoin-scripting5Simple explicit secret key with no origin information#bitcoin-scripting!Produce a key literal if possible$bitcoin-scriptingProduce a pubkey if possible%bitcoin-scripting;Test whether the key descriptor corresponds to a single key$   !"#$% Safe-Inferred 3bitcoin-scriptingThe Miniscript AST with the addition of key descriptors and let bindingsWbitcoin-scripting Check a keyXbitcoin-scriptingCheck a key hash<&*)(/,-+.'01237:45N8JA@69;<=>?BCDEFGHIKLMOPQRTSUVWXYZ[\]^_`a Safe-Inferred"=rbitcoin-scripting7Use with the monoid instance to add a signature to the msbitcoin-scripting4Use with the monoid instance to add preimage to the mxbitcoin-scripting5Compute a scriptinput which satisfies this miniscriptsbitcoin-scriptinghashbitcoin-scriptingpreimagebfcdeghijklmnopqrstuvwxxmtrsuvijklwnopqbfcdegh Safe-Inferredbitcoin-scriptingDecode a numeric stack valuebitcoin-scriptingEncode a numeric stack value Safe-Inferred"`bitcoin-scriptingAllow for a leading comma   Safe-Inferred"  Safe-Inferred"bitcoin-scripting-The status of an output descriptor's checksumbitcoin-scriptingChecksum provided is validbitcoin-scriptingChecksum provided is invalidbitcoin-scriptingChecksum is not providedbitcoin-scriptingAn  with checksum detailsbitcoin-scriptingThe output descriptorbitcoin-scripting.The status of the output descriptor's checksumbitcoin-scripting/The expected checksum for the output descriptorbitcoin-scriptingThe invalid checksum   Safe-Inferred"bitcoin-scriptingfields: $name expectedBaseType typeAnnotationbitcoin-scriptingType modifications that imply additional properties of the expressionbitcoin-scripting!Consumes exactly 0 stack elementsbitcoin-scriptingOne-arg: this expression always consumes exactly 1 stack element.bitcoin-scriptingNonzero: this expression always consumes at least 1 stack element, no satisfaction for this expression requires the top input stack element to be zero.bitcoin-scriptingDissatisfiable: a dissatisfaction for this expression can unconditionally be constructed.bitcoin-scripting/Unit: when satisfied put exactly 1 on the stackbitcoin-scriptingBase expressionbitcoin-scriptingVerify expressionbitcoin-scriptingKey expressionbitcoin-scriptingWrapped expressionbitcoin-scriptingNumber expressionbitcoin-scriptingBytes expressionbitcoin-scriptingKey descriptor typebitcoin-scripting1Check that a miniscript expression is well-typed.bitcoin-scripting:type hints for free variables in the miniscript expression  Safe-Inferred"  Safe-Inferred" Safe-Inferred"bitcoin-scripting#Type check and compile a miniscriptbitcoin-scripting*Compile a miniscript without type checking experimental Safe-Inferred bitcoin-scriptingGet the set of addresses associated with an output descriptor. The list will be empty if:any keys are indefinitethe output is p2pk$the output has a non-standard scriptThe list can contain more than one address in the case of the "combo" construct.bitcoin-scriptingProduce the script described by the descriptor. Fails when any keys in the descriptor are indeterminate.bitcoin-scriptingFor key families, get the key at the given index. Otherwise, return the input key.bitcoin-scriptingSpecialize key families occurring in the descriptor to the given indexbitcoin-scriptingSpecialize key families occurring in the descriptor to the given indexbitcoin-scriptingSpecialize key families occurring in the descriptor to the given indexbitcoin-scriptingProduce the psbt input parameters needed to spend an output from the descriptor. Caveat: This construction fails on  and   outputs.bitcoin-scriptingExtract pubkeys from an  where possiblebitcoin-scriptingExtract pubkeys from a  where possiblebitcoin-scriptingTransaction being spentbitcoin-scriptingOutput being spentbitcoin-scripting!Descriptor for output being spent Safe-Inferredk   !"#$%   %$!"# Safe-Inferredo&*)(/,-+.'01237:45N8JA@69;<=>?BCDEFGHIKLMOPQRTSUVWXYZ[\]^_`aRTSUV37:45N8JA@69;<=>?BCDEFGHIKLMOPQaWXYZ[\]^_`12&*)(/,-+.'0 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV#WXYZ[\]^_`abcdefghijklmnopqrstuuvwxyyz{|}~                                               qrtbitcoin-scripting-0.3.0-inplace#Language.Bitcoin.Script.DescriptorsLanguage.Bitcoin.Miniscript#Language.Bitcoin.Miniscript.WitnessLanguage.Bitcoin.Script.Utils,Language.Bitcoin.Script.Descriptors.Checksum*Language.Bitcoin.Script.Descriptors.Syntax"Language.Bitcoin.Miniscript.SyntaxLanguage.Bitcoin.Utils(Language.Bitcoin.Script.Descriptors.Text*Language.Bitcoin.Script.Descriptors.Parser!Language.Bitcoin.Miniscript.Types Language.Bitcoin.Miniscript.Text"Language.Bitcoin.Miniscript.Parser$Language.Bitcoin.Miniscript.Compiler)Language.Bitcoin.Script.Descriptors.UtilsvalidDescriptorChecksumdescriptorChecksum KeyCollectionSingleHardKeysSoftKeysKeyPubkey SecretKeyXPubOrigin fingerprint derivation KeyDescriptororiginkeyDefScriptDescriptorPkPkhMulti SortedMultiRawOutputDescriptor ScriptPubKeyP2SHP2WPKHP2WSH WrappedWPkh WrappedWShComboAddrpubKeysecKeykeyBytes keyDescPubKey isDefinite AnnotationASCDVJNTLUMiniscriptAnnotation.: MiniscriptVarLetBooleanNumberBytesKeyDescKeyHOlderAfterSha256 Ripemd160Hash256Hash160AndOrAndVAndBOrBOrCOrDOrIThreshAnnAAnnSAnnCAnnDAnnVAnnJAnnNValueVariableLitvarliteralkeykeyHolderaftersha256 ripemd160hash256hash160threshmultilet_SatisfactionErrorMissingSignatureMissingPreimage FreeVariable TypeError Impossible AbstractKey ChainState blockHeightutxoAgeSatisfactionContext SignaturesigsigHash signaturepreimagesatisfactionContextlookupSignaturelookupPreimageemptyChainStatesatisfy$fOrdOrdPubKeyI$fMonoidSatisfactionContext$fSemigroupSatisfactionContext$fExceptionSatisfactionError$fMonoidSatScript$fSemigroupSatScript $fEqSatResult$fShowSatResult $fEqSatScript$fShowSatScript$fEqSatisfactionError$fShowSatisfactionError$fEqChainState$fShowChainState$fEqSatisfactionContext$fShowSatisfactionContext$fEqOrdPubKeyI$fShowOrdPubKeyI $fEqSignature$fShowSignaturefromCScriptNum toCScriptNum pushNumberdescriptorToTextdescriptorToTextWithChecksumkeyDescriptorToTextChecksumStatusValidInvalidAbsentChecksumDescriptor descriptorchecksumStatusexpectedChecksumparseDescriptoroutputDescriptorParserparseKeyDescriptorkeyDescriptorParserMiniscriptTypeErrorUntypedVariableWrongVariableTypeMiniscriptTypebaseType modifiersModFieldmodZmodOmodNmodDmodUBaseTypeTypeBTypeVTypeKTypeW TypeNumber TypeBytes TypeKeyDescboolType numberType bytesTypekeyDescriptorTypetypeCheckMiniscriptminiscriptToTextparseMiniscriptminiscriptParser CompilerErrorNotImplementedcompile compileOnlyPsbtInputErrorOutputIndexOOB CompileErrorKeyNotAvailable InvalidOutputTransactionScriptstxScriptPubKeytxRedeemScripttxWitnessScriptdescriptorAddressesoutputDescriptorScripts keyAtIndexoutputDescriptorAtIndexscriptDescriptorAtIndexkeyDescriptorAtIndex toPsbtInputoutputDescriptorPubKeysscriptDescriptorPubKeyscommaparensbrackets applicationhexargListalphanum spacePaddedshowTextapplicationText maybeFailrequiredContextValue