h$mRe      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None '(23fbAn exception that may be thrown by functions on this package. Includes any information provided by Facebook.fb"An exception coming from Facebook.fbAn exception coming from the fb package's code.fbnewtype for 6 that follows Facebook's conventions of JSON parsing.As a string, while aeson expects a format of %FT%T%Q., Facebook gives time values formatted as %FT%T%z. As a number, 6 accepts a number of seconds since the Unix epoch.fb!An argument given to an API call. fbPhantom type used mark an  as an app access token. fbPhantom type used mark an  as an user access token. fbA Facebook user ID such as  1008905713901. fb%The identification code of an object.fb>The access token data that is passed to Facebook's API calls.fbType synonym for   .fbType synonym for   .fbAn access token. While you can make some API calls without an access token, many require an access token and some will give you more information with an appropriate access token.%There are two kinds of access tokens: User access tokenAn access token obtained after an user accepts your application. Let's you access more information about that user and act on their behalf (depending on which permissions you've asked for).App access tokenAn access token that allows you to take administrative actions for your application.These two kinds of access tokens are distinguished by the phantom type on , which can be   or  .fbGraph API version. See: 8https://developers.facebook.com/docs/graph-api/changelogfbCredentials that you get for your app when you register on Facebook.fb2Your application name (e.g. for Open Graph calls).fbYour application ID.fbYour application secret key.fb'To enable app secret proof verificationfb for .fb for .fbGet the access token data.fbExpire time of an access token. It may never expire, in which case it will be Nothing.fb(Get the user ID of an user access token.fb Synonym for . Since 0.14.9.* Not a Facebook JSON format, but a custom fb format for convenience if you need to serialize access tokens.fb Since 0.14.9. Parses the format that ToJSON produces. Note that you need to statically decide whether you want to parse a user access token or an app access token." None 023>?/fb)Which Facebook tier should be used (see  2https://developers.facebook.com/support/beta-tier/).fb#Phantom type stating that you have not provided your . This means that you'll be limited about which APIs you'll be able use.fb2Phantom type stating that you have provided your ' and thus have access to the whole API.fbFacebookT auth m a is this library's monad transformer. Contains information needed to issue commands and queries to Facebook. The phantom type auth may be either  (you have supplied your ) or  (you have not supplied any ).fbSet the Graph API version. fbRun a computation in the * monad transformer with your credentials."fbMake an appsecret_proof in case the given credentials access token is a user access token. See: https://developers.facebook.com/docs/graph-api/securing-requests/#appsecret_proof#fbRun a computation in the  monad without credentials.$fbSame as  &, but uses Facebook's beta tier (see  2https://developers.facebook.com/support/beta-tier/).%fbSame as #&, but uses Facebook's beta tier (see  2https://developers.facebook.com/support/beta-tier/).fb;Get the user's credentials, fail if they are not available.fbGet the user's credentials.&fbGet the Graph API version.fbGet the .fbGet the .fb(Run a pure function that depends on the  being used.fbRun a  ResourceT inside a .'fb#Transform the computation inside a .fbSince  fb-0.14.8. fbYour app's credentials.fbConnection manager (see )."fbApp credentialsfb#fbConnection manager (see ). !"#$%&'None 3?afbInternal class for types that may be passed on queries to Facebook's API.fbPrepend to the given query the parameters necessary to pass this data type to Facebook.fbA plain * to a Facebook API. Use this instead of def when creating new s for Facebook.fbConverts a plain  coming from  into a JSON value.fbConverts a plain  into a string .fbSame as 2, but tries to parse errors and throw meaningful s.fbSend a HEAD request just to see if the resposne status code is 2XX (returns True) or not (returns False).fbPath. Should start from "/".fb Access token.fb Parameters.None 3?v(fbMany Graph API results are returned as a JSON object with the following structure: { "data": [ ...item 1..., : ...item n... ], "paging": { "previous": "http://...link to previous page...", "next": "http://...link to next page..." } }  Only the "data"6 field is required, the others may or may not appear.A Pager a8 datatype encodes such result where each item has type a. You may use functions - and .! to navigate through the results.-fb"Tries to fetch the next page of a ( . Returns  whenever the current Pager does not have a ,..fb&Tries to fetch the previous page of a ( . Returns  whenever the current Pager does not have a +./fb,Tries to fetch all next pages and returns a  with all results. The  will include the results from this page as well. Previous pages will not be considered. Next pages will be fetched on-demand.0fb0Tries to fetch all previous pages and returns a  with all results. The  will include the results from this page as well. Next pages will not be considered. Previous pages will be fetched on-demand. ()*+,-./0None '(?/1fb0Detailed information about an access token (cf. F).;fbA permission that is asked for the user when he authorizes your app. Please refer to Facebook's documentation at  ?https://developers.facebook.com/docs/reference/api/permissions/) to see which permissions are available. This is a newtype of  that supports only . This means that to create a ; you should use the OverloadedStrings" language extension. For example, {-# LANGUAGE OverloadedStrings #-} perms :: [Permission] perms = ["user_about_me", "email", "offline_access"]<fbRetrieves the  back from a ;. Most of the time you won't need to use this function, but you may need it if you're a library author.=fbURL where the user is redirected to after Facebook authenticates the user authorizes your application. This URL should be inside the domain registered for your Facebook application.>fbGet an app access token from Facebook using your credentials. Ref: https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow?fbThe first step to get an user access token. Returns the Facebook URL you should redirect you user to. Facebook will authenticate the user, authorize your app and then redirect the user back into the provider =.@fbThe second step to get an user access token. If the user is successfully authenticate and they authorize your application, then they'll be redirected back to the = you've passed to ?. You should take the request query parameters passed to your = and give to this function that will complete the user authentication flow and give you an .AfbThe URL an user should be redirected to in order to log them out of their Facebook session. Facebook will then redirect the user to the provided URL after logging them out. Note that, at the time of this writing, Facebook's policies require you to log the user out of Facebook when they ask to log out of your site.Note also that Facebook may refuse to redirect the user to the provided URL if their user access token is invalid. In order to prevent this bug, we suggest that you use C5 before redirecting the user to the URL provided by A5 since this function doesn't do any validity checks.BfbTrue, if the access token has expired, otherwise False.CfbTrue if the access token is valid. An expired access token is not valid (see B). However, a non-expired access token may not be valid as well. For example, in the case of an user access token, they may have changed their password, logged out from Facebook or blocked your app.Dfb9Extend the expiration time of an user access token (see  https://developers.facebook.com/docs/offline-access-deprecation/,  ?https://developers.facebook.com/roadmap/offline-access-removal/). Only short-lived user access tokens may extended into long-lived user access tokens, you must get a new short-lived user access token if you need to extend a long-lived one. Returns Left exc+ if there is an error while extending, or  Right token with the new user access token (which could have the same data and expiration time as before, but you can't assume this). Note that expired access tokens can't be extended, only valid tokens.Efb#Parses a Facebook signed request ( https://developers.facebook.com/docs/authentication/signed_request/), verifies its authencity and integrity using the HMAC and decodes its JSON object.Ffb/Get detailed information about an access token.fb Note: this instance always sets : to , but F4 will update this field before returning the final 1%. This is done because we need the &, which is not part of FB's response.@fb"Should be exactly the same as in ?.fbQuery parameters.AfbThe user's access token.fb8URL the user should be directed to in your site domain.fbLogout URL in https://www.facebook.com/ (or on https://www.beta.facebook.com/ when using the beta tier).EfbEncoded Facebook signed requestFfbYour app access token.fb#The access token you want to debug.1295:34678;<=>?@ABCDEF None 3?:#GfbA tag (i.e. "I'll tag you on my post").IfbWho is tagged.JfbName of the tagged person.KfbGeographical coordinates.OfbA geographical location.WfbInformation about a place. This is not a Graph Object, instead it's just a field of a Object. (Not to be confused with the Page object.)YfbPage ID.ZfbPage name.\fbClass for data types that may be represented as a Facebook simple type. (see  ;https://developers.facebook.com/docs/opengraph/simpletypes/).^fb Make a raw GET! request to Facebook's Graph API._fb Make a raw POST! request to Facebook's Graph API.`fb Make a raw DELETE! request to Facebook's Graph API.afb Make a raw GET request to the /search endpoint of Facebook@s Graph API. Returns a raw JSON .bfb Create an  with a \. See the docs on  createAction for an example.fbA comma-separated list of simple types. This definition doesn't work everywhere, just for a few combinations that Facebook uses (e.g. [Int]). Also, encoding a list of lists is the same as encoding the concatenation of all lists. In other words, this instance is here more for your convenience than to make sure your code is correct.fb; is a newtype of fb An object's   code.fbFacebook's simple type String.fbFacebook's simple type String.fbFacebook's simple type Integer.fbFacebook's simple type Integer.fbFacebook's simple type Integer.fbFacebook's simple type Integer.fbFacebook's simple type Integer.fbFacebook's simple type Integer.fbFacebook's simple type Integer.fbFacebook's simple type Integer.fbFacebook's simple type Integer.fbFacebook's simple type Integer.fbFacebook's simple type Float.fbFacebook's simple type Float$ with less precision than supported.fbFacebook's simple type DateTime.fbFacebook's simple type DateTime.fbFacebook's simple type DateTime with only the date.fbFacebook's simple type Boolean.^fb Path (should begin with a slash /)fb"Arguments to be passed to FacebookfbOptional access token_fb Path (should begin with a slash /)fb"Arguments to be passed to Facebookfb Access token`fb Path (should begin with a slash /)fb"Arguments to be passed to Facebookfb Access tokenafb$A Facebook object type to search forfbThe keyword to search forfbAdditional arguments to passfbOptional access tokenGHIJKLMNOPQRSTUVWXYZ[\]^_`ab None ?@ cfbSpecify if the app is to be installed on the new test user. If it is, then you must tell what permissions should be given.ffb?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcedfghijklmnopqrstuvwxyz{|}~ #'$%BC& > =;?@ADF1295:34678E!" b\]WXYZ[OPQRSTUVKLMNGHIJ()*+,-./0z{|}~uvwtxymnopqrshijklcedfg^_`a < Safe-Inferrede !"#"!$%%&'()*+,-./01234566789:;<=>>?@ABCDEFGHIJKLMNOPQR S S T U V V W X Y Y Z [ \ ] ^ _ ` ` a b c d e f g h i j k l k m n o o p q r s s t u v w x y z { | } ~                                                                                       & '     !fb-2.1.1.1-3fheglUgVDc5zMKik8Kz0KFacebookFacebook.TypesFacebook.MonadH withManager Facebook.BaseFacebook.Pager Facebook.AuthFacebook.GraphFacebook.TestUsersFacebook.RealTimeFacebook.Object.PageFacebook.Object.OrderFacebook.Object.CheckinFacebook.Object.UserFacebook.Object.FriendListFacebook.Object.Action Facebook.FQLPaths_fbFacebookExceptionFbLibraryExceptionfbeType fbeMessage FbUTCTime unFbUTCTimeArgumentAppKindUserKindUserIdIdidCodeAccessTokenDataAppAccessTokenUserAccessToken AccessToken ApiVersion CredentialsappNameappId appSecretappSecretProofNoAuthAuth FacebookT setApiVersion runFacebookTaddAppSecretProofmakeAppSecretProofrunNoAuthFacebookTbeta_runFacebookTbeta_runNoAuthFacebookT getApiVersion mapFacebookTPager pagerData pagerPrevious pagerNext fetchNextPagefetchPreviousPagefetchAllNextPagesfetchAllPreviousPages DebugTokendtAppId dtAppName dtExpiresAt dtIsValid dtIssuedAtdtScopesdtUserId dtAccessToken Permission unPermission RedirectUrlgetAppAccessTokengetUserAccessTokenStep1getUserAccessTokenStep2getUserLogoutUrl hasExpiredisValidextendUserAccessTokenparseSignedRequest debugTokenTagtagIdtagNameGeoCoordinateslatitude longitudeLocationlocationStreet locationCity locationStatelocationCountry locationZiplocationCoordsPlaceplaceId placeName placeLocation SimpleType encodeFbParam getObject postObject deleteObject searchObjects#=CreateTestUserInstalledCreateTestUserNotInstalledCreateTestUserFbDefaultctuiPermissionsCreateTestUser ctuInstalledctuName ctuLocaleTestUsertuId tuAccessToken tuLoginUrltuEmail tuPasswordcreateTestUser getTestUsersdisassociateTestuserremoveTestUsermakeFriendConnincompleteTestUserAccessToken#RealTimeUpdateNotificationUserEntry rtuneUserIdrtuneChangedFields rtuneTimeRealTimeUpdateNotification rtunObject rtunEntriesRealTimeUpdateSubscription rtusObjectrtusCallbackUrl rtusFields rtusActiveRealTimeUpdateTokenRealTimeUpdateUrlRealTimeUpdateFieldRealTimeUpdateObjectUserRTUOPermissionsRTUOPageRTUO ErrorsRTUO OtherRTUOmodifySubscriptionlistSubscriptions!verifyRealTimeUpdateNotificationsgetRealTimeUpdateNotificationsPagepageIdpageNamepageLink pageCategorypageIsPublished pageCanPost pageLikes pageLocation pagePhone pageCheckins pagePicture pageWebsitepageTalkingAboutCountgetPagegetPage_ searchPagesOrderApplication OrderStatusOrderorderId orderFromorderTo orderAmount orderStatusorderApplication orderCountryorderRefundCodeorderCreatedTimeorderUpdatedTimeOrderIdgetOrder CheckinFrom checkinFromIdcheckinFromNameCheckin checkinId checkinFrom checkinPlacecheckinCreatedTime checkinTagscheckinMessage getCheckin createCheckinFriendfriendId friendNameGenderMaleFemaleUseruserIduserName userFirstNameuserMiddleName userLastName userGender userLocale userUsername userVerified userEmail userLocationgetUser searchUsersgetUserCheckinsgetUserFriendsFriendListTypeCloseFriendsListAcquaintancesListRestrictedListUserCreatedList EducationListWorkListCurrentCityList FamilyList FriendList friendListIdfriendListNamefriendListTypegetUserFriendListsgetFriendListMembersAction createAction FQLObject unFQLObjectFQLList unFQLListFQLTime unFQLTimefqlQuery time-1.9.3 Data.Time.Clock.Internal.UTCTimeUTCTimeappIdBSbytestring-0.10.10.0Data.ByteString.Internal ByteString appSecretBSaccessTokenDataaccessTokenExpiresaccessTokenUserId$fToJSONAccessTokenbaseGHC.Basemappend$fFromJSONAccessToken<>FbTiergetCreds getMCreds getManager)http-client-0.7.11-1dBMrFU8pSaAfjmquUCg7HNetwork.HTTP.Client.TypesManagergetTierwithTierrunResourceInFb$fMonadLoggerFacebookTtransformers-0.5.6.2Control.Monad.Trans.Classlift ProductionBeta ToSimpleQuerytsqfbreqRequestasJsonResponse)http-conduit-2.3.8-LW5B3pgPK8bIBF2UxTOHubNetwork.HTTP.ConduithttpasBSfbhttp httpCheck asJsonHelper fbhttpHelper GHC.MaybeNothing&conduit-1.3.4.2-194YT1akRHB2xJP9acuptVData.Conduit.Internal.ConduitSource text-1.2.3.2Data.Text.InternalText Data.StringIsString$fFromJSONDebugToken$aeson-2.0.3.0-CUdCZW5G3JM9q82GlAMVL8Data.Aeson.Types.InternalValue$fSimpleType[]$fSimpleTypePermission$fSimpleTypeId$fSimpleTypeByteString$fSimpleTypeText$fSimpleTypeWord64$fSimpleTypeInt64$fSimpleTypeWord32$fSimpleTypeInt32$fSimpleTypeWord16$fSimpleTypeInt16$fSimpleTypeWord8$fSimpleTypeInt8$fSimpleTypeWord$fSimpleTypeInt$fSimpleTypeDouble$fSimpleTypeFloat$fSimpleTypeZonedTime$fSimpleTypeUTCTime$fSimpleTypeDay$fSimpleTypeBool $fDefaultCreateTestUserInstalled$fDefaultCreateTestUser OrderPlaced OrderSettled OrderRefunded OrderDisputedOrderCancelled $fReadAction $fOrdAction $fEqActionunActionversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName