+P&3      !"#$%&'()*+,-./012None 3, 456789:;<=>?@ABCDEFG 3 Safe-Inferred HIJKLMNOPQRINOPQR HIJKLMNOPQRNoneJImplement this type class to have any monad work with snaplet-persistent. > A default instance is provided for (Handler b PersistState). @Initialize Persistent with an initial SQL function called right E after the connection pool has been created. This is most useful for 8 calling migrations upfront right after initialization.  Example:  - initPersist (runMigrationUnsafe migrateAll) Cwhere migrateAll is the migration function that was auto-generated A by the QQ statement in your persistent schema definition in the  call to  mkMigrate. *Constructs a connection pool from Config. 2Conscruts a connection pool in a snaplet context. FRuns a SqlPersist action in any monad with a HasPersistPool instance. !Run a database action "Make a Key from an Int. #8Makes a Key from a ByteString. Calls error on failure. $0Makes a Key from Text. Calls error on failure. %&Makes a Text representation of a Key. &,Makes a ByteString representation of a Key. 'BConverts a Key to Int. Fails with error if the conversion fails. (EConverts a Key to Word64. Fails with error if the conversion fails. *JFollows a foreign key field in one entity and retrieves the corresponding  entity from the database.  2Run given Persistent action in the defined monad. !"#$%&'()*STU !"#$%&'()* !"#$%&'(*) !"#$%&'()*STUNone,>The list of entity definitions this snaplet exposes. You need 0 them so that you can append to your application' s list of < entity definitions and perform the migration in one block. $See how this example combined an app's own entity definitions and  the auth snaplet's in one migration block: " share [mkMigrate "migrateAll"] $  authEntityDefs ++ 6 $(persistFileWith lowerCaseSettings "schema.txt") -Function to convert a  entity into the auth snaplet's  V. . Splices for % that are equivalent to the ones for  V. /7Initializer that gets AuthSettings from a config file. 00Initializer that lets you specify AuthSettings. 1Get the db key from an V +WX,-./0YZ[12\4 456789:;<=>?@ABCDEFG+,-./012 +/0, -.12 +WX,-./0YZ[12\]      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`asnaplet-persistent-0.2%Snap.Snaplet.Auth.Backends.PersistentSnap.Snaplet.Persistent+Snap.Snaplet.Auth.Backends.Persistent.TypesPaths_snaplet_persistentSnapAuthUserIdSnapAuthUserGeneric SnapAuthUsersnapAuthUserLoginsnapAuthUserEmailsnapAuthUserPasswordsnapAuthUserActivatedAtsnapAuthUserSuspendedAtsnapAuthUserRememberTokensnapAuthUserLoginCountsnapAuthUserFailedLoginCountsnapAuthUserLockedOutUntilsnapAuthUserCurrentLoginAtsnapAuthUserLastLoginAtsnapAuthUserCurrentIpsnapAuthUserLastIpsnapAuthUserCreatedAtsnapAuthUserUpdatedAtsnapAuthUserResetTokensnapAuthUserResetRequestedAtsnapAuthUserRolessnapAuthUserMeta migrateAuthHasPersistPoolgetPersistPool PersistState persistPool initPersistmkPgPoolmkSnapletPgPool runPersistwithPoolmkKeymkKeyBSmkKeyTshowKey showKeyBSmkIntmkWord64fromPersistValue'followForeignKeyPersistAuthManagerauthEntityDefsdb2au dbUserSplicesinitPersistAuthManagerinitPersistAuthManager' userDBKey textPassword!$fPersistFieldSnapAuthUserGenericSnapAuthUserMetaSnapAuthUserRolesSnapAuthUserResetRequestedAtSnapAuthUserResetTokenSnapAuthUserUpdatedAtSnapAuthUserCreatedAtSnapAuthUserLastIpSnapAuthUserCurrentIpSnapAuthUserLastLoginAtSnapAuthUserCurrentLoginAtSnapAuthUserLockedOutUntilSnapAuthUserFailedLoginCountSnapAuthUserLoginCountSnapAuthUserRememberTokenSnapAuthUserSuspendedAtSnapAuthUserActivatedAtSnapAuthUserPasswordSnapAuthUserEmailSnapAuthUserLogincatchIOversionbindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileName$fHasPersistPoolReaderT$fHasPersistPoolHandler$fHasPersistPoolNoLoggingT snap-0.12.0Snap.Snaplet.Auth.TypesAuthUserPAMpamPoolmake initHelperreadT $fIAuthBackendPersistAuthManager