úÎ$!ç     Safe2helper function to get the key as read from a filePick out a key value from a keyCFilter a line of a file for only the actual data and no descriptors2Get pairs of "key" to search for and actual valuesNone57³Data type for our request: consists of the status text, whether to trium user information in the response, the handles to mention, and optionally the id of the status to reply to.&Default value for Bool for trim_user ( in our case)     None dSign a request using your OAuth dev token. Uses the IO monad because signatures require a timestamp*Create an OAuth from config data in a file5Create a new credential from a token and token secret   None ³thread tweets together nicely. Takes a string, a list of handles to reply to, plus the ID of the status you're replying to. If you need to thread tweets without replying, pass a  as the third argument. Ithread "Hi I'm back in New York!" ["friend1","friend2"] Nothing 1 ".cred"Helper function to make   easier to write. -Reply with a single tweet. Works the same as  & but doesn't take the fourth argument. @reply "Idk what that means" ["friend1"] (Just 189943500) ".cred" HTweet a string given a path to credentials; return the id of the status. %basicTweet "On the airplane." ".cred"Make a  with only the contents. tweet, given a 4 and path to credentials. Return id of posted tweet.5print output of a request and return status id as an  . <Convert a tweet to a percent-encoded url for querying an API!RPercent-encode the status update so it's fit for a URL and UTF-encode it as well.   !       !None¿Data type for our program: one optional path to a credential file, (optionally) the number of tweets to make, the id of the status you're replying to, and a list of users you wish to mention."1query twitter to post stdin with no fancy options#Threaded tweets from stdInExecutes parser$Executes program%#Parser to return a program datatype &'()"#$%&'()"#$%*      !"#$%&'()*+,-./012#clit-0.2.2.5-IBwtpyK8wX6F1ZKpBmXR0I Web.TweetWeb.Tweet.ExecWeb.Tweet.UtilsWeb.Tweet.TypesWeb.Tweet.SignTweet_status _trimUser_handles_replyIDhandlesreplyIDstatustrimUser signRequestthread basicTweet tweetData urlStringProgramexec keyLinePie lineByKey filterLine getConfigData $fDefaultBoolghc-prim GHC.TypesTrue $fToJSONTweetoAuth credentialbaseGHC.BaseNothingthread'replymkTweetresponseInt tweetEncode fromStdIn threadStdInselectprogramcredtweetsreplyId replyHandles