E<      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe:Decodes a SSB Ed25519 public key, which is base64 encoded.4Formats a SSB public key as a base64 encoded string.NoneSSA value accompanied with the hash of the ByteString that it was deserialized from./Decodes a SHA256 hash, which is base64 encoded.*Formats a hash as a base64 encoded string.        None A link to a blob.A link to a message. A link to a feed.#Class of types that are links.(#A link to a message, feed, or blob.*sigil that starts the link, eg '@'+&thing being linked to (base64 encoded),;hash or key algorithm of thing being linked to, eg "sha256"-IParses a Link eg "@LA9HYf5rnUJFHHTklKXLLRyrEytayjbFZRo76Aj/qKs=.ed25519".Formats a Link.! !"#$%&'()*+,-./0123456789: !"#$%&'()*+,-.()*+,-. !"#$%&' !"#$%&'()*+,-./0123456789:None5:IKeVote-messages signal approval about someone or something. Votes can be on users, messages, or blobs.P=Contact-messages determine who you are following or blocking.\About-messages set attributes about someone or something. They can be used to set a name or picture for users, files, or messages. However, they're most commonly published about users.bNA reference to other feeds, entities, or blobs that were mentioned in a Post.i9Link to the message in the thread that a Post replies to.>Generally there is only one link, but sometimes more than one.ldA post is a text-based message, for a public or private audience. It can be a reply to other posts.t!A message with encrypted content.vtParsing a Message AnyContent allows parsing the message envelope, regardless of the type of content in the message.mParses a JSON formatted message, and accompanies it with the hash that was originally used for the message.9Get the declared type of content in a Message AnyContent.For best efficiency when the type of a message is not known, first parse to a Message AnyContent, and then use this function with  or : to try to further parse that to different message types. For example:  Just somemsg = decode b :: Maybe Message AnyContent case parseMaybe narrowParse somemsg :: Maybe (Message Post) of Just postmsg -> ... Nothing -> case parseMaybe narrowParse somemsg :: Maybe (Message PrivateContent) of Just privmsg -> ... Nothing -> ...sParse the content of a message using the provided Parser, which will typically be genericParseJSON defaultOptions.JThe "type" field must contain the specified Text for the parse to succeed.?Parse, stripping a common prefix from the haskell record names.YAboutImage can be encoded as either a JSON object or as a string, which is the BlobLink.Sometimes it's an array of objects. Sometimes there is no array, but a single object. And sometimes the Mention contains an invalid Link; avoid failing on those.PFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~BFGHIJKLMNOPQRSTUVWXYZ[\]_^`abcdefghijklmnopqrstuvwxyz}~{|Byz{|}~vwxtulmnopqrsijkfghbcde\]^_`aUVWXYZ[PQRSTKLMNOFGHIJ FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~NoneGFGHIJKLMNOPQRSTUVWXYZ[\]_^`abcdefghijklmnopqrstuvwxyz}~{|      !!"##$%&'()**+,-./0123456789:;<=>?@ABCDEFGGHIJKKLMNOOPQRSSTUVWXYYZ[\]^^_`aabccdeefghijkllmmnoopqrstuvwxyz{|}~.scuttlebutt-types-0.3.0-6xo5f986M2o6O3PfclG0SI Ssb.Types.KeySsb.Types.HashSsb.Types.LinkSsb.Types.Message Ssb.Types PublicKeyEd25519PublicKey ed25519KeyparseEd25519PublicKeyformatPublicKey$fShowPublicKey $fEqPublicKey$fOrdPublicKeyHashed hashedValuehashOfHashTypeHashSha256sha256 parseSha256 formatHash calcHashed$fFunctorHashed $fShowHash$fEqHash $fOrdHash $fShowHashed $fEqHashed $fOrdHashedBlobLink unBlobLink MessageLink unMessageLinkFeedLink unFeedLinkIsLinkfromLinktoLink toJSONLink fromJSONLinkLink linkSigillinkTolinkTag parseLink formatLink$fFromJSONBlobLink$fToJSONBlobLink$fIsLinkBlobLink$fFromJSONMessageLink$fToJSONMessageLink$fIsLinkMessageLink$fFromJSONFeedLink$fToJSONFeedLink$fIsLinkFeedLink $fToJSONLink$fFromJSONLink $fShowLink$fEqLink $fOrdLink$fShowFeedLink $fEqFeedLink $fOrdFeedLink$fShowMessageLink$fEqMessageLink$fOrdMessageLink$fShowBlobLink $fEqBlobLink $fOrdBlobLinkPubpubHostpubPortpubKeyVotevoteLink voteValuevoteExpressionContactcontact followingblocking AboutImageaboutImageLinkaboutImageSizeaboutImageTypeaboutImageWidthaboutImageHeightAboutaboutnameimage descriptionMention mentionLink mentionNameMentions fromMentionsBranch fromBranchPosttextchannelrootbranchrecpsmentionsPrivateContent AnyContentfromAnyContentMessagepreviousauthorsequence timestamphashcontent signature Signature messageLink parseMessage contentType narrowParseparseMessageType $fFromJSONPub$fFromJSONVote$fFromJSONContact$fFromJSONAboutImage$fFromJSONAbout$fFromJSONMention$fFromJSONMentions$fFromJSONBranch$fFromJSONPost$fFromJSONPrivateContent$fFromJSONAnyContent$fFunctorMessage$fFromJSONMessage $fShowMessage $fEqMessage$fGenericMessage$fShowAnyContent$fEqAnyContent$fShowPrivateContent$fEqPrivateContent $fShowBranch $fEqBranch$fMonoidBranch $fShowMention $fEqMention$fGenericMention$fShowMentions $fEqMentions$fMonoidMentions $fShowPost$fEqPost $fGenericPost$fShowAboutImage$fEqAboutImage$fGenericAboutImage $fShowAbout $fEqAbout$fGenericAbout $fShowContact $fEqContact$fGenericContact $fShowVote$fEqVote $fGenericVote $fShowPub$fEqPub $fGenericPub$aeson-1.2.2.0-2bLcBHToPdp7otNanEmSs2Data.Aeson.Types.Internal parseMaybe parseEitherparseStrippingPrefix