b[o      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG 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  Portability :'Trevor Elliott <trevor@geekgateway.com> 7Check to see if an XRDS service description is usable. oBGenerate a tag name predicate, that ignores prefix and namespace. p6Filter the attributes of an element by some predicate q Read, maybe rGet the text of an element )Generate a predicate over Service Types.   Portability : 'Trevor Elliott <trevor@geekgateway.com> Errors A valid OpenID identifier. An OpenID provider. !A way to resolve an HTTP request 6A realm of uris for a provider to inform a user about A return to path 2Parameter lists for communication with the server  An association with a provider. ,Session types for association establishment "Supported association types %Parse a provider &Show a provider 'Modify the URI in a provider   !"#$%&'"$#! %&'  Stability : ( Read, maybe. )"Break up a string by a predicate. *KSpit a list into a pair, removing the element that caused the predicate to  succeed. +4Build an Integer out of a big-endian list of bytes. ,0Turn an Integer into a big-endian list of bytes -KPad out a list of bytes to represent a positive, big-endian list of bytes. .The OpenID-2.0 namespace. /1Default modulus for Diffie-Hellman key exchange. 0"Read inside of an Exception monad 15Lookup parameters inside an exception handling monad 2 Read a field 3DMake an HTTP request, and run a function with a successful response ()*+,-./0123 ()*+,-/.0123Portability : 'Trevor Elliott <trevor@geekgateway.com>4*Normalize an identifier, discarding XRIs. 5ENormalize the user supplied identifier, using a supplied function to  normalize an XRI. 4545 Portability :'Trevor Elliott <trevor@geekgateway.com> 6Perform an http request. K If the Bool parameter is set to True, redirects from the server will be  followed. sFollow a redirect t:Get the port and hostname associated with an http request 90Turn a response body into a list of parameters. :+Format OpenID parameters as a query string ;.Format OpenID parameters as a direct response <%Escape for the query string of a URI =Add Parameters to a URI >,Parse OpenID parameters out of a url string 6789:;<=> 6789:;<=> Portability :'Trevor Elliott <trevor@geekgateway.com>?<Attempt to resolve an OpenID endpoint, and user identifier. uJAttempt a YADIS based discovery, given a valid identifier. The result is ? an OpenID endpoint, and the actual identifier for the user. vEParse out an OpenID endpoint, and actual identifier from a YADIS xml  document. wKAttempt to discover an OpenID endpoint, from an HTML document. The result H will be an endpoint on success, and the actual identifier of the user. xCParse out an OpenID endpoint and an actual identifier from an HTML  document. y/Filter out link tags from a list of html tags. z*Split a string into strings of html tags. {Split out values from a key=value like string, in a way that # is suitable for use with unfoldr. ?? Portability :'Trevor Elliott <trevor@geekgateway.com>@,Manage pairs of Providers and Associations. AFind an association. BDAdd a new association, and set its expiration to be relative to the now  parameter passed in. CDExpire associations in the manager that are older than the supplied now  parameter. D/Export all associations, and their expirations @ABCD@ABCD Portability :'Trevor Elliott <trevor@geekgateway.com>E/A simple association manager based on Data.Map FAn empty association map. EFEF  Stability :|5General purpose digest function wrapper for OpenSSL. GHGH }/Figure out how many bytes are used by a BIGNUM IJKLMNOPQRSTUVWXYNOPQRSIMLKJTUVXWY GHCStability : unstable['formatOutput n mbLT str' formats str, splitting it  into lines of length n+. The optional value lets you control what E line terminator sequence to use; the default is CRLF (as per MIME.) Z[\]^_`\Z][_^` Stability : aAssociation monad bAssociation environment ~?Check to see if an AssocType and SessionType pairing is valid. KGenerate parameters for Diffie-Hellman key exchange, based on the provided  SessionType.  Turn DHParams into a list of key/"value pairs that can be sent to a  Provider. +Give the hash algorithm for a session type HGet the mac key from a set of Diffie-Hellman parameters, and the public  key of the server. fAssociate with a provider. N By default, this tries to use DH-SHA256 and HMAC-SHA256, and falls back to B whatever the server recommends, if the Bool parameter is True. gFAssociate with a provider, attempting to use the provided association L methods. The Bool specifies whether or not recovery should be attempted  upon a failed request. h/Running a computation in the association monad 7Use the underlying monad to retrieve the current time. <Generate Diffie-Hellman parameters in the underlying monad. iA pure@ version of association. It will run in whatever base monad is 4 provided, layering exception handling over that. /Attempt to recover from an association failure -Handle the response to an associate request. @ABCDEFabcdefghi fgahbcdei  Portability :'Trevor Elliott <trevor@geekgateway.com>Get the mac hash type )Parse a provider within the Result monad /Get the signed fields from a set of parameters mGenerate an authentication URL n'Verify a signature on a set of params. Verify an assertion directly Verify with an association jklmnjlkmn Portability :'Trevor Elliott <trevor@geekgateway.com>H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFabcdefghijklmn !"#$$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ R S T U V W X Y Y Z [ \ ] ^ _ ` a b c d e f g h i j k l l m n o p q r s t u v wxy3z{|}~ openid-0.1.1.0 Text.XRDSNetwork.OpenID.TypesNetwork.OpenID.UtilsNetwork.OpenID.NormalizationNetwork.OpenID.HTTPNetwork.OpenID.Discovery"Network.OpenID.Association.ManagerNetwork.OpenID.Association.MapData.Digest.OpenSSL.SHACodec.Encryption.DHCodec.Binary.Base64Network.OpenID.AssociationNetwork.OpenID.AuthenticationNetwork.OpenIDService serviceTypesserviceMediaTypes serviceURIsserviceLocalIDsservicePriority serviceExtraXRDXRDSisUsablehasType parseXRDSError Identifier getIdentifierProvider providerURIResolverRealmReturnToParams AssociationassocExpiresIn assocHandle assocMacKey assocType SessionTypeDhSha256DhSha1 NoEncryption AssocType HmacSha256HmacSha1 parseProvider showProvidermodifyProvider readMaybebreakssplitrollunrollbtwocopenidNSdefaultModulusreadM lookupParam readParam withResponsenormalizeIdentifiernormalizeIdentifier' makeRequest getRequest postRequestparseDirectResponse formatParamsformatDirectParams escapeParam addParams parseParamsdiscoverAssociationManagerfindAssociationaddAssociationexpireexportAssociationsAssociationMapemptyAssociationMapsha1sha256 DHParamErrorNotSuitableGeneratorUnableToCheckGenerator PNotSafePrime PNotPrimeDHParams dhPrivateKey dhPublicKey dhGenerator dhModulusModulus Generator newDHParams generateKey checkDHParams computeKeyencodeRawString formatOutput encodeRaw encodeRawPrimdecodeToStringdecode decodePrimAssocAssocEnv currentTime createParams associate associate'runAssoc associate_ CheckIdModeSetup ImmediateauthenticationURIverifyAuthenticationtag findAttr'getTexthandleRedirect getAuthority discoverYADIS parseYADIS discoverHTML parseHTMLlinkTagshtmlTags splitAttrhashWithnumBytes validPairingnewSessionTypeParamsdhPairshash decodeMacKeygetTime newParamsrecoverAssociationhandleAssociationmacHashparseProvider'getSignedFields verifyDirectverifyWithAssociation