h'a      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`None(!"&(*+-./0134579<>@CFHIJKLNUV abcdefghiujklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~abcdefghi abcdefghiNone(!"&(*+-./0134579<>@CFHIJKLNUVNone(!"&(*+-./0134579<>@CFHIJKLNUV5Next value, decoded using the provided value decoder.5Next value, decoded using the provided value decoder.   None(!"&(*+-./0134579<>@CFHIJKLNUV:An error reported by the DB. Code, message, details, hint.gThe SQLSTATE code for the error. The SQLSTATE code identifies the type of error that has occurred; it can be used by front-end applications to perform specific operations (such as error handling) in response to a particular database error. For a list of the possible SQLSTATE codes, see Appendix A. This field is not localizable, and is always present.NThe primary human-readable error message (typically one line). Always present.rDetail: an optional secondary error message carrying more detail about the problem. Might run to multiple lines.Hint: an optional suggestion what to do about the problem. This is intended to differ from detail in that it offers advice (potentially inappropriate) rather than hard facts. Might run to multiple lines.bThe database returned an unexpected result. Indicates an improper statement or a schema mismatch.=An error of the row reader, preceded by the index of the row.An unexpected amount of rows.  None(!"&(*+-./0134579<>@CFHIJKLNUVAn error on the client-side, with a message generated by the "libpq" library. Usually indicates problems with the connection.Parse a single result.Fetch a single result.Fetch a single result.   None(!"&(*+-./0134579<>@CFHIJKLNUV None(!"&(*+-./0134579<>@CFHIJKLNUV               None(!"&(*+-./0134579<>@CFHIJKLNUV-A Word32 and a LibPQ representation of an OIDA Postgresql type infoN !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[N !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[H !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[None(!"&(*+-./0134579<>@CFHIJKLNUV\]^_`\]^_\]^_`None(!"&(*+-./0134579<>@CFHIJKLNUVa7Encoder of some representation of a parameters product.abcdefgabcdefgabcdefgNone(!"&(*+-./0134579<>@CFHIJKLNUVhijklmhijklmhijklmNone(!"&(*+-./0134579<>@CFHIJKLNUV1A generic array encoder.Here's an example of its usage: bx :: Value [[Int64]] x = array (arrayDimension foldl' (arrayDimension foldl' (arrayValue int8)))RAn individual value encoder. Will be mapped to a single placeholder in the query.9Encoder of some representation of the parameters product.Has instances of ,  and D, which you can use to compose multiple parameters together. E.g., someParamsEncoder :: + (Int64, Maybe Text) someParamsEncoder =  o (  )   p ( ) :As a general solution for tuples of any arity, instead of o and p!, consider the functions of the  contrazipj family from the "contravariant-extras" package. E.g., here's how you can achieve the same as the above: someParamsEncoder :: + (Int64, Maybe Text) someParamsEncoder =  (  ) ( ) AHere's how you can implement encoders for custom composite types: vdata Person = Person { name :: Text, gender :: Gender, age :: Int } data Gender = Male | Female personParams ::  Person personParams =  name ( )   gender ( genderValue)   (fromIntegral . age) (  ) genderValue ::  Gender genderValue =  genderText h where genderText gender = case gender of Male -> "male" Female -> "female" Encode no parameters.9Lift an individual value encoder to a parameters encoder.BLift an individual nullable value encoder to a parameters encoder. Encoder of BOOL values. Encoder of INT2 values. Encoder of INT4 values.  Encoder of INT8 values.  Encoder of FLOAT4 values.  Encoder of FLOAT8 values.  Encoder of NUMERIC values.  Encoder of CHARN values. Note that it supports UTF-8 values and identifies itself under the TEXT OID because of that. Encoder of TEXT values. Encoder of BYTEA values. Encoder of DATE values. Encoder of  TIMESTAMP values. Encoder of  TIMESTAMPTZ values. Encoder of TIME values. Encoder of TIMETZ values. Encoder of INTERVAL values. Encoder of UUID values. Encoder of JSON values. Unlifts the  encoder to the plain  encoder.xGiven a function, which maps the value into the textual enum label from the DB side, produces a encoder of that value.Identifies the value with the PostgreSQL's "unknown" type, thus leaving it up to Postgres to infer the actual type of the value.dThe bytestring needs to be encoded according to the Postgres' binary format of the type it expects.VEssentially this is a low-level hook for encoding of values with custom codecs. The  4http://hackage.haskell.org/package/postgresql-binary"postgresql-binary". library will provide you with the toolchain. Lifts the  encoder into the ! encoder of a non-nullable value. Lifts the  encoder into the  encoder of a nullable value.[An encoder of an array dimension, which thus provides support for multidimensional arrays.Accepts:7An implementation of the left-fold operation, such as Data.Foldable. $, which determines the input value.1A component encoder, which can be either another ,  or .nMaps to .oMaps to .pMaps to .qMaps to .rMaps to .sMaps to .tMaps to .uMaps to .vMaps to .wMaps to .xMaps to  .yMaps to  .zMaps to  .{Maps to  .|Maps to  .}Maps to .~Maps to .Maps to .Maps to .9 nopqrstuvwxyz{|}~  6 nopqrstuvwxyz{|}~None(!"&(*+-./0134579<>@CFHIJKLNUV<All settings encoded in a single byte-string according to  Mhttp://www.postgresql.org/docs/9.4/static/libpq-connect.html#LIBPQ-CONNSTRINGthe PostgreSQL format.bEncode a host, a port, a user, a password and a database into the PostgreSQL settings byte-string.None(!"&(*+-./0134579<>@CFHIJKLNUVNone(!"&(*+-./0134579<>@CFHIJKLNUVLocal statement key.None(!"&(*+-./0134579<>@CFHIJKLNUVNone(!"&(*+-./0134579<>@CFHIJKLNUV 4Possible details of the connection acquistion error.!$A single connection to the database."\Acquire a connection using the provided settings encoded according to the PostgreSQL format.#Release the connection. !"# !"# !"#None(!"&(*+-./0134579<>@CFHIJKLNUV !"#! "#None(!"&(*+-./0134579<>@CFHIJKLNUV$'An abstraction over parametric queries.It is composable using the standard interfaces of the category theory, which it has instances of. E.g., here's how you can compose queries using the Arrow notation: =-- | -- Given an Update query, -- which uses the @fmap (> 0) @ decoder -- to detect, whether it had any effect, -- and an Insert query, -- produces a query which performs Upsert. composeUpsert :: Query a Bool -> Query a () -> Query a () composeUpsert update insert = proc params -> do updated <- update -< params if updated then # -< () else insert -< params $$$None(!"&(*+-./0134579<>@CFHIJKLNUV%/An error during the decoding of a specific row.&JAppears on the attempt to parse more columns than there are in the result.'"Appears on the attempt to parse a NULL as some value.(IAppears when a wrong value parser is used. Comes with the error details.)An error with a command result.*VAn error reported by the DB. Consists of the following: Code, message, details, hint.Code>. The SQLSTATE code for the error. It's recommended to use  9http://hackage.haskell.org/package/postgresql-error-codes$the "postgresql-error-codes" package to work with those.MessageQ. The primary human-readable error message (typically one line). Always present.Detailsm. An optional secondary error message carrying more detail about the problem. Might run to multiple lines.Hint. An optional suggestion on what to do about the problem. This is intended to differ from detail in that it offers advice (potentially inappropriate) rather than hard facts. Might run to multiple lines.+bThe database returned an unexpected result. Indicates an improper statement or a schema mismatch.,=An error of the row reader, preceded by the index of the row.-An unexpected amount of rows..(An error of some command in the session./{An error on the client-side, with a message generated by the "libpq" library. Usually indicates problems with connection.0!Some error with a command result.1JA batch of actions to be executed in the context of a database connection.28Executes a bunch of commands on the provided connection.3~Possibly a multi-statement query, which however cannot be parameterized or prepared, nor can any results of it be collected.4HParameters and a specification of the parametric query to apply them to.%&'()*+,-./01234%&'()*+,-./01234%&'()*+,-./01234None(!"&(*+-./0134579<>@CFHIJKLNUV%&'()*+,-./01234134./0)*+,-%&'(2None(!"&(*+-./0134579<>@CFHIJKLNUVC57Composable decoder of composite values (rows, records).6A generic array decoder.DHere's how you can use it to produce a specific array value decoder: 0x :: Value [[Text]] x = array (arrayDimension  (arrayDimension  (arrayValue text))) 7Decoder of an individual value.8LDecoder of an individual row, which gets composed of column value decoders.E.g.: gx :: Row (Maybe Int64, Text, TimeOfDay) x = (,,) <$> nullableValue int8 <*> value text <*> value time9Decoder of a query result.: Decode no value from the result.Useful for statements like INSERT or CREATE.;7Get the amount of rows affected by such statements as UPDATE or DELETE.<!Exactly one row. Will raise the  error if it's any other.=Foldl multiple rows.>Foldr multiple rows.?Maybe one row or none.@)Zero or more rows packed into the vector.,It's recommended to prefer this function to A$, since it performs notably better.A'Zero or more rows packed into the list.BJLift an individual non-nullable value decoder to a composable row decoder.CFLift an individual nullable value decoder to a composable row decoder.DDecoder of the BOOL values.EDecoder of the INT2 values.FDecoder of the INT4 values.GDecoder of the INT8 values.HDecoder of the FLOAT4 values.IDecoder of the FLOAT8 values.JDecoder of the NUMERIC values.KDecoder of the CHAR- values. Note that it supports UTF-8 values.LDecoder of the TEXT values.MDecoder of the BYTEA values.NDecoder of the DATE values.ODecoder of the  TIMESTAMP values.PDecoder of the  TIMESTAMPTZ values.NOTICE4Postgres does not store the timezone information of  TIMESTAMPTZ. Instead it stores a UTC value and performs silent conversions to the currently set timezone, when dealt with in the text format. However this library bypasses the silent conversions and communicates with Postgres using the UTC values directly.QDecoder of the TIME values.RDecoder of the TIMETZ values.Unlike in case of  TIMESTAMPTZ5, Postgres does store the timezone information for TIMETZv. However the Haskell's "time" library does not contain any composite type, that fits the task, so we use a pair of  and - to represent a value on the Haskell's side.SDecoder of the INTERVAL values.TDecoder of the UUID values.UDecoder of the JSON values.V+Lifts a custom value decoder function to a 7 decoder.W Lifts the 6 decoder to the 7 decoder.X Lifts the 5 decoder to the 7 decoder.YA generic decoder of HSTORE values.8Here's how you can use it to construct a specific value: -x :: Value [(Text, Maybe Text)] x = hstore  ZNGiven a partial mapping from text to value, produces a decoder of that value.[_A function for parsing a dimension of an array. Provides support for multi-dimensional arrays.Accepts:An implementation of the  replicateM function (Control.Monad.,  Data.Vector.&), which determines the output value.9A decoder of its components, which can be either another [, \ or ].\Lift a 7 decoder into an 61 decoder for parsing of non-nullable leaf values.]Lift a 7 decoder into an 6- decoder for parsing of nullable leaf values.^Lift a 7 decoder into a 51 decoder for parsing of non-nullable leaf values._Lift a 7 decoder into a 5- decoder for parsing of nullable leaf values.Maps to U.Maps to T.Maps to S.Maps to R.Maps to Q.Maps to P.Maps to O.Maps to N.Maps to M.Maps to L.Maps to K.Maps to J.Maps to I.Maps to H.Maps to G.Maps to F.Maps to E.Maps to D.Maps to (fmap Identity (< def).Maps to (A def).Maps to (@ def).Maps to (? def).Maps to ;.Maps to :.K56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_+56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_+9:;<?@A=>8BC7DEFGHIJKLMNOPQRSTUWXYZV6[\]5^_F56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_None(!"&(*+-./0134579<>@CFHIJKLNUV`^A specification of a strictly single-statement query, which can be parameterized and prepared.Consists of the following: SQL template,params encoder,result decoder,2a flag, determining whether it should be prepared.The SQL template must be formatted according to Postgres' standard, with any non-ASCII characters of the template encoded using UTF-8. According to the format, parameters must be referred to using the positional notation, as in the following: $1, $2, $3G and etc. Those references must be used to refer to the values of the  encoder.^Following is an example of the declaration of a prepared statement with its associated codecs. selectSum :: Hasql.Query.$0 (Int64, Int64) Int64 selectSum = Hasql.Query.`Y sql encoder decoder True where sql = "select ($1 + $2)" encoder =  o (Hasql.Encoders. Hasql.Encoders.)   p (Hasql.Encoders. Hasql.Encoders.%) decoder = Hasql.Decoders.  (Hasql.Decoders. Hasql.Decoders.) @The statement above accepts a product of two parameters of type ' and produces a single result of type .`$`$``!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJDKLHMNOPQ!"RS$ TUVWX%&'()*+,-./0123456Y7Z[8<:;\]^_`abcdefghijklmhnohnphqrhsthsuhivkwxhyzkw{hi|h}~hihhhhhhhhkkhhihihihihihhhhhhhhhhhhhhihihihhkhhhhihhihkhhhhhhhhhhihhhkkkkkhhhhkhhklkkhhhhhhihkkhhkkkhihhihihhhhhhhihih h h h  hihihihihyhyhyhyhyhyhyhyhyhyhyhyhyhyhy hy!hy"hy#hy$hy%hy&hy'hy(hy)hy*hy+hy,hy-hy.hy/hy0hy1hy2hy3h45h46h78h9:h9;h9<h9=h>?h>@h>AhBChBDhBEhBFhGHhGIhGJhGKhGLhGMhGNhGOhGPhQRhSThSUhSVhWXhWYhZ[h\]h\^h\^h_`h_ah_bh_ch_dh_eh_fh_gh_hh_ih_jh_kh_lh_mh_nh_oh_ph_qh_rh_sh_th_uhvwhvxhvyhvzhv{hv|hv}hv~hvhvhhhhhhhhhhhhhhhhhhhhhhhhhhhh}hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh h h h h h hhhhhhhhhhhhhhhhhhhhh h!h"h#h$h%h%h&hq'hq(hq)hq*hq+hq,hq-hq.hq/hq0hq1hq2h34h56h57h58h59h5:h;<h;=h;>h;?h;@h;Ah;Bh;Ch;Dh;Eh;Fh;Gh;Hh;Ih;Jh;Kh;Lh;Mh;Nh;Oh;Ph;Qh;Rh;Sh;Th;Uh;Vh;Wh;Xh;Yh;Zh;[h;\h;]h;^h;_h;`h;ah;bhcdhcehcfhcghhihjkhjlhjmhjmhnohnphnqhnrhnshnthnuhnvhnwhxyhxzhx{hx|hx}hx~hxhxhxhxhxhxhxhxhxhxhxhxhxhxhxhxhxhxhxhxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyhyhyhyhyhyhyhyhyhyhyhyhyhyhyhyhyhyhyhyhyhyhyhyhyhyhyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyhyhyhhhhh h h h h h hhhhhhhhhhhhhhhh h h  h!h"h#h$h%h&h'h(h)h*h+h,h-h.h/h0h1h2h3h4h5h6h7h8h9h:h;h<h=h>h?h@hAhBhChDhEFhEGhEHhEHhEIhEJhEJhEKhELhELhEMhENhENhEOhEPhEPhEQhERhERhEShEThEThEUhEVhEVhEWhEXhEXhYhZh[h\h]^h]_h]`h]ah]bhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzh{h|h}h~hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh h h h h hhhhhhhhhhhhhhhhhhh h!h"h#h$h%h&h'h(h)h*h+h,h-h.h/h0h1h23h24h25h26h27h89h8:h8;h8<h=>h=?h=@h=AhBhChDhEhFhGhHhIhJhKhLhMhNhOhPQhPRhPShPThPUhPVhPWhPXhPYhPZhP[hP\hP]hP^hP_hP`hPahPbhPchPdhPehPfhPghPhhPihPjhPkhPlhPmhPnhPohphqhrhshthuhvhwhxhyhzh{h|h}h~hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhhhhhhhhhhshshshhhhhhihihihihihihihihihihihihihihihihihihihihihihihihihihihhkkkkkkkkkk&       !"!#$%&$%'$%($%)$%*$%+$%,$%-$%.$%/$%0$12$13$14$15$16$17$18$19$1:$1;$1<$1=$1=$1>$1?$1?$1@$1A$1A$1B$1C$1CDEFDEGDEHDEIDEJDEKDELDEMDENDEODEPDEQDERDESDETDEUDEVDEWDEXDEYDEZDE[DE\DE]DE^DE_DE`DEaDEbDEcDEdDEeDEfDEgDEhDEiDEjDEkDElDEmDEnopqoprstuvwxyz{yz|yz}yz~yzyzyzyzyzyzyzyzyyyyyyyyyyyyyyyyyvwvw      ! " # $ % &'(')'*'+','-'.'.""N/01KEFG22RRN3 I J D  K S S N $  4 5  6 7 @ B L 6 8 9 K H : : N ; < ! ! N =  1 Q Q N  1 > ? > @ A ? B C D E F G c & H I . , J K L M / N ) * O P ' Q ( R  S 4 6 T U V W X + Y Z [ \ ] ^ _ ` a b c d e f g h i - j 2 0 1 3 k l m n o p 9 5 q r  s t""Nuv##Nwx%!!N%=yz{|}~!"#@C^Myz{|}~Q!"RShasql_7nngamKJ60zK14G3hnZ3vuHasql.EncodersHasql.Connection Hasql.Query Hasql.SessionHasql.Decoders Hasql.PreludeHasql.Decoders.ValueHasql.Decoders.RowHasql.Decoders.ResultHasql.Decoders.ResultsHasql.Decoders.ArrayHasql.Decoders.Composite Hasql.PTIHasql.Encoders.ValueHasql.Encoders.ParamsHasql.Encoders.ArrayHasql.SettingsHasql.Commands'Hasql.Private.PreparedStatementRegistryHasql.Private.IOHasql.Private.ConnectionHasql.Private.QueryDecoders.Results rowsAffectedHasql.Private.SessionUnexpectedAmountOfRows Control.Monad replicateM Data.Vectorvalueint8 singleRowArrayValueParamsunit nullableValueboolint2int4float4float8numericchartextbyteadate timestamp timestamptztimetimetzintervaluuidjsonarrayenumunknown arrayValuearrayNullableValuearrayDimensionSettingssettingsConnectionError ConnectionacquirereleaseQueryRowError EndOfInputUnexpectedNull ValueError ResultError ServerErrorUnexpectedResultError ClientErrorSessionrunsqlquery CompositeRowResult foldlRows foldrRowsmaybeRow rowsVectorrowsListcustom compositehstorecompositeValuecompositeNullableValue statement TextBuilderLazyTextByteStringBuilderLazyByteStringbugbottom forMToZero_ forMFromZero_ strictConsbaseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip System.IOprint Data.Tuplefstsnd otherwise GHC.MagiclazyGHC.IO.Exception assertErrorinlinemapGHC.Exts groupWith$GHC.Err undefinedGHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negatefail>>=>>fmapreturnControl.Monad.Fixmfix Control.Arrowarrfirstapp|||loop Data.String fromString fromIntegral realToFrac toInteger toRationalguardData.Typeable.InternalmkAppTyjoin<*>pureBoundedEnumEq GHC.FloatFloating FractionalIntegralMonad Data.DataDataFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShowGHC.ArrIxTypeableMonadFixIsString Applicative Data.FoldableFoldableData.Traversable Traversable GHC.GenericsGeneric GHC.TypesBoolCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeIntegerOrderingRatioRational RealWorldIOWordGHC.WordWord8Word16Word32Word64 Data.EitherEitherStringTypeRepFalseTrueLeftRightLTEQGTJustbytes_6VWy06pWzJq9evDvK2d4w6Data.ByteString.Internal ByteStringscien_AqBmwDfwK7K24A70hu3AxFData.Scientific Scientific Data.Functor<$>text_5c7VCmRXJenGcMPs3kwpkIData.Text.InternalTextMaybetime_FTheb6LSxyX1UABIbBXRfnData.Time.Clock.UTCUTCTimeNothingGHC.IO.Handle.TypesHandlerangeindexinRange rangeSizeGHC.STST<**> GHC.UnicodeisSpaceisAlphaisDigit Text.Readread Alternativemplusmzero MonadPlusuntangle ioException heapOverflow stackOverflowallocationLimitExceededblockedIndefinitelyOnSTMblockedIndefinitelyOnMVar ioe_filename ioe_errnoioe_description ioe_locationioe_type ioe_handleIOError InterruptedResourceVanished TimeExpiredUnsupportedOperation HardwareFaultInappropriateTypeInvalidArgument OtherError ProtocolError SystemErrorUnsatisfiedConstraints UserErrorPermissionDeniedIllegalOperationEOFResourceExhausted ResourceBusy NoSuchThing AlreadyExistsunsupportedOperation Text.PrintfhPrintfprintfSystem.TimeouttimeoutSystem.Mem.StableName eqStableNamehashStableNamemakeStableName StableName System.Mem performGCperformMajorGCperformMinorGC System.Exitdie exitSuccess exitFailureexitWithSystem.EnvironmentgetEnvironment withProgNamewithArgsunsetEnvsetEnv lookupEnvgetEnv getProgNamegetArgs!System.Environment.ExecutablePathgetExecutablePath Data.Unique hashUnique newUniqueUnique Data.STRef modifySTRef' modifySTRef Data.RatioapproxRationalData.Functor.Identity runIdentityIdentity Data.Fixed showFixedmod'divMod'div'MkFixedFixed resolution HasResolutionE0UniE1DeciE2CentiE3MilliE6MicroE9NanoE12Pico Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPart:+ComplexControl.ConcurrentthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOS forkFinallyrtsSupportsBoundThreadsControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.ChanwriteList2ChangetChanContents isEmptyChan unGetChandupChanreadChan writeChannewChanChansortWith Debug.Trace traceMarkerIO traceMarker traceEventIO traceEvent traceStack traceShowtraceIdtrace putTraceMsgtraceIO tyconModule tyconUQname isNorepType mkNoRepType mkCharConstr mkRealConstrmkIntegralConstr mkCharType mkFloatType mkIntTypemaxConstrIndex constrIndex indexConstr isAlgType readConstr showConstr constrFixity constrFieldsdataTypeConstrsmkConstr mkDataType repConstr constrRep constrType dataTypeRep dataTypeName fromConstrM fromConstrB fromConstrgmapMogmapMpgmapMgmapQigmapQgmapQrgmapQlgmapT dataCast2 dataCast1 dataTypeOftoConstrgunfoldgfoldlDataTypeConstrNoRepCharRepFloatRepIntRepAlgRepDataRep CharConstr FloatConstr IntConstr AlgConstr ConstrRepConIndexInfixPrefixFixity Data.Version makeVersion parseVersion showVersion versionTags versionBranchVersionmfilter<$!>unless replicateM_foldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMfoldMapDefault fmapDefault mapAccumR mapAccumLforMforsequencemapM sequenceAtraverseControl.ApplicativeoptionalgetConstConst unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipListleftApp^<<<<^>>^^>>returnA&&&***secondArrow runKleisliKleisli zeroArrow ArrowZero<+> ArrowPlus+++ ArrowChoice ArrowApply ArrowMonad ArrowLoopreadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputChar GHC.IO.HandlehClose GHC.Conc.IO registerDelay threadDelay closeFdWithioManagerCapabilitiesChangedensureIOManagerIsRunningSystem.IO.Error catchIOErrorannotateIOError modifyIOErrorioeSetFileName ioeSetHandleioeSetLocationioeSetErrorStringioeSetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeGetErrorStringioeGetErrorTypeisUserErrorTypeisPermissionErrorTypeisIllegalOperationErrorTypeisEOFErrorTypeisFullErrorTypeisAlreadyInUseErrorTypeisDoesNotExistErrorTypeisAlreadyExistsErrorType userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorType isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOError tryIOErrorGHC.Conc.Signal runHandlers setHandlerSignal HandlerFunSystem.IO.Unsafe unsafeFixIOControl.ExceptionallowInterruptcatchesHandlerControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVarControl.Exception.BasebracketOnErrorbracket_finallybracket onExceptiontryJusttry mapException handleJusthandle catchJustcatchPatternMatchFail RecSelError RecConError RecUpdError NoMethodErrorNonTerminationNestedAtomically GHC.Conc.SyncgetUncaughtExceptionHandlersetUncaughtExceptionHandler reportErrorreportStackOverflow writeTVarreadTVar readTVarIO newTVarIOnewTVaralwaysalwaysSucceedscatchSTMthrowSTMorElseretry atomically unsafeIOToSTMmkWeakThreadIdthreadCapability threadStatus runSparksparpseq labelThreadyield myThreadIdthrowTo killThread childHandler numSparksgetNumProcessorssetNumCapabilitiesgetNumCapabilitiesnumCapabilitiesforkOnWithUnmaskforkOnforkIOWithUnmaskforkIOdisableAllocationLimitenableAllocationLimitgetAllocationCountersetAllocationCounterThreadIdBlockedOnOtherBlockedOnForeignCall BlockedOnSTMBlockedOnExceptionBlockedOnBlackHole BlockedOnMVar BlockReason ThreadDied ThreadBlockedThreadFinished ThreadRunning ThreadStatusSTMTVarioErrorasyncExceptionFromExceptionasyncExceptionToExceptionBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededAssertionFailedSomeAsyncException UserInterrupt ThreadKilled HeapOverflow StackOverflowAsyncExceptionUndefinedElementIndexOutOfBoundsArrayException ExitFailure ExitSuccessExitCode IOErrorTypeForeign.StorableStorable Data.Dynamic dynTypeRepdynAppdynApply fromDynamicfromDyntoDynDynamic Data.IORefatomicWriteIORefatomicModifyIORef'atomicModifyIORef modifyIORef' modifyIORef mkWeakIORef GHC.IORef writeIORef readIORefnewIORefIORefGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingStatethrowIOunsafeInterleaveIOunsafeDupablePerformIOunsafePerformIOstToIOFilePathMaskedUninterruptibleMaskedInterruptibleUnmasked MaskingState userError IOException GHC.Exceptionthrow SomeExceptiondisplayException fromException toException Exception ErrorCallRatioZeroDenominatorDenormal DivideByZeroLossOfPrecision UnderflowOverflowArithExceptionGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVar readMaybe readEitherreadsfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrMproductsumminimummaximumelemlengthnulltoListfoldl1foldr1foldl'foldlfoldr'foldrfoldMapfold Data.Monoid<>getDualDualappEndoEndogetAllAllgetAnyAnygetSumSum getProductProductgetFirstFirstgetLastLastgetAltAltpartitionEithersrightsleftseither Data.Typeablegcast2gcast1gcasteqTcastrnfTyCon rnfTypeRep showsTypeReptypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1typeOftypeReptypeRepFingerprint tyConString typeRepArgs typeRepTyConmkTyCon3 funResultTy splitTyConAppmkFunTy mkTyConApp tyConName tyConModule tyConPackagetyConFingerprintTyCon Typeable1 Typeable2 Typeable3 Typeable4 Typeable5 Typeable6 Typeable7NumericshowOctshowHex showIntAtBase showGFloatAlt showFFloatAlt showGFloat showFFloat showEFloatshowInt readSigned readFloatreadHexreadDecreadOctreadInt Data.ProxyProxy Data.OldListunwordswordsunlineslinesunfoldrsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertByinsert partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEnd Data.Char isSeparatorisSymbol isPunctuationisNumberisMarkisLettergeneralCategory digitToInt NotAssigned PrivateUse SurrogateFormatControlParagraphSeparator LineSeparatorSpace OtherSymbolModifierSymbolCurrencySymbol MathSymbolOtherPunctuation FinalQuote InitialQuoteClosePunctuationOpenPunctuationDashPunctuationConnectorPunctuation OtherNumber LetterNumber DecimalNumber EnclosingMarkSpacingCombiningMarkNonSpacingMark OtherLetterModifierLetterTitlecaseLetterLowercaseLetterUppercaseLetterGeneralCategoryControl.Category>>><<<.idCategoryData.Type.EqualityRefl:~:Data.Ord comparingDown byteSwap64 byteSwap32 byteSwap16 lexDigits readLitChar lexLitCharlex readParen readListPrecreadPrecreadList readsPrecfromRat floatToDigits showFloatatanhacoshasinhtanhcoshsinhatanacosasintancossinlogBase**sqrtlogexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadixText.ParserCombinators.ReadPrec readS_to_Prec readPrec_to_S readP_to_Prec readPrec_to_PReadPrecText.ParserCombinators.ReadP readS_to_P readP_to_SReadSReadP GHC.STRef writeSTRef readSTRefnewSTRefSTReftoTitletoUppertoLowerisLowerisUpperisPrint isControl isAlphaNum isHexDigit isOctDigit isAsciiUpper isAsciiLowerisLatin1isAscii Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultpopCountrotateRrotateL unsafeShiftRshiftR unsafeShiftLshiftLisSignedbitSize bitSizeMaybetestBit complementBitclearBitsetBitbitzeroBitsrotateshift complementxor.|..&.BitscountTrailingZeroscountLeadingZeros finiteBitSize FiniteBitslcmgcd^^^oddeven showSigned denominator numerator%divModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFractionmaxBoundminBoundfromEnumtoEnumpredsuccGHC.Charchr Data.FunctiononfixvoidrunSTfixST intToDigit showLitChar showParen showStringshowCharshowsShowSshowListshow showsPrecunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl'scanl1scanlfoldl1'initlasttailhead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeswapuncurrycurrysubtractsignumabs*+asTypeOfuntil$!flipconstordapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA2liftA<**>mconcatmappendmemptyMonoid<$manysome<|>empty Unsafe.Coerce unsafeCoerce/=compare<=&&||not<>maxminbasep_0OqUgEAyHgdKdwtE0YNst2 BasePreludesortOnunconsisSubsequenceOf&$> traceShowMtraceM traceShowIdtrans_GZTjP9K5WFq01xC9BAGQpFControl.Monad.Trans.Readerreaderasklocalasks Control.Monad.Trans.State.Strictstategetputmodifymodify'gets liftCallCC' withStateT mapStateT execStateT evalStateT withStatemapState execState evalStaterunStateState runStateTStateT withReaderT mapReaderT withReader mapReader runReaderReader runReaderTReaderTControl.Monad.Trans.Classlift MonadTranscontr_0bhKhIAahbT1iQuySQ0tsy$Data.Functor.Contravariant.DivisiblechosenlostliftD conquereddividedconquerdivide Divisiblechooselose DecidableData.Functor.ContravariantcomparisonEquivalencedefaultEquivalencedefaultComparison>$$<>$<$<phantom>$ contramap Contravariant getPredicate Predicate getComparison ComparisongetEquivalence EquivalencegetOpOpcontr_9S4IS01Pn2i74Fo0AkHOkLContravariant.Extras.Contrazip contrazip2 contrazip3 contrazip4 contrazip5 contrazip6 contrazip7 contrazip8 contrazip9 contrazip10 contrazip11 contrazip12 contrazip13 contrazip14 contrazip15 contrazip16 contrazip17 contrazip18 contrazip19 contrazip20 contrazip21 contrazip22 contrazip23 contrazip24 contrazip25 contrazip26 contrazip27 contrazip28 contrazip29 contrazip30 contrazip31 contrazip32 contrazip33 contrazip34 contrazip35 contrazip36 contrazip37 contrazip38 contrazip39 contrazip40 contrazip41 contrazip42datad_K91y8NcZUJI9yaBI61rgdDData.Default.ClassdefDefaultdlist_AO7XAasbAeyL0XLKeq1Aui Data.DListDListmtl_Aue4leSeVkpKLsfHIV51E8Control.Monad.Error.Class throwErroreithe_6yXLKBWRbJW9kXCDVhD19XControl.Monad.Trans.Either swapEitherTbracketEitherT_bracketEitherT hoistEither mapEitherT bimapEitherTrightlefteitherT runEitherTEitherTData.Either.Combinators swapEither eitherToError rightToMaybe leftToMaybe fromRightfromLeft unlessRight unlessLeft whenRightwhenLeftmapRightmapLeftmapBoth fromRight' fromLeft'isRightisLefthasha_8GjadD03dR57AKCJdr90LDData.Hashable.Classhash hashWithSaltHashablelocht_GwwQwQm2xpf7nYHEv1aOABDebug.Trace.LocationTH checkTraceIO checkTracecheckIOcheckundeffailureassert __LOCATION__Control.Monad.IO.ClassMonadIOliftIO catchError MonadErrorplace_2kzlCULB06T84No8LGO3YBDevelopment.PlaceholdersplaceholderNoWarning placeholdertodonotImplementedPlaceholderExceptionvecto_LmZ3LQW4ivu8MsQuVguklnVectoruuidt_Kbofz3yQbJYIj1DO4WUJluData.UUID.Types.InternalUUIDData.Time.Clock.ScaleDiffTime UniversalTime ModJulianDategetModJulianDatesecondsToDiffTimepicosecondsToDiffTimeData.Time.Calendar.PrivateNumericPadOptionData.Time.Calendar.DaysDayModifiedJulianDaytoModifiedJulianDayaddDaysdiffDaysData.Time.Calendar.OrdinalDate isLeapYearData.Time.Calendar.Gregorian toGregorian fromGregorianfromGregorianValid showGregoriangregorianMonthLengthaddGregorianMonthsClipaddGregorianMonthsRollOveraddGregorianYearsClipaddGregorianYearsRollOverNominalDiffTimeutctDay utctDayTimeData.Time.Clock.UTCDiff addUTCTime diffUTCTimeData.Time.ClockgetCurrentTimeData.Time.LocalTime.TimeZoneTimeZonetimeZoneMinutestimeZoneSummerOnly timeZoneNameminutesToTimeZonehoursToTimeZonetimeZoneOffsetString'timeZoneOffsetStringutc getTimeZonegetCurrentTimeZoneData.Time.LocalTime.TimeOfDay TimeOfDaytodHourtodMintodSecmidnightmiddaymakeTimeOfDayValidutcToLocalTimeOfDaylocalToUTCTimeOfDaytimeToTimeOfDaytimeOfDayToTimedayFractionToTimeOfDaytimeOfDayToDayFractionData.Time.LocalTime.LocalTime ZonedTimezonedTimeToLocalTime zonedTimeZone LocalTimelocalDaylocalTimeOfDayutcToLocalTimelocalTimeToUTCut1ToLocalTimelocalTimeToUT1utcToZonedTimezonedTimeToUTC getZonedTimeutcToLocalZonedTimeData.Time.Format.Locale TimeLocalewDaysmonthsamPm dateTimeFmtdateFmttimeFmt time12FmtknownTimeZonesdefaultTimeLocaleiso8601DateFormatrfc822DateFormatData.Time.Format.Parse ParseTime buildTime parseTimeMparseTimeOrError readSTime readPTime parseTimereadTime readsTimeData.Time.Format FormatTimeformatCharacter formatTimeprofu_5aRix8Ske9RAiXaR5gDtj6Data.Profunctor.Unsafe.##.rmaplmapdimap ProfunctorControl.Monad.Trans.Maybe liftCatch liftCallCCexceptToMaybeTmaybeToExceptT mapMaybeT runMaybeTMaybeTdecoder decoderFn nonNullValueEnverrorcheckExecStatus serverErrorsinglevector getResultgetResultMaybeResults clientErrordropRemainders dimensionOIDPTI oidWord32oidPQptiOID ptiArrayOIDmkOIDmkPTIabstimeaclitemboxbpcharcidcidrcirclecstring daterange gtsvectorinet int2vector int4range int8rangelinelsegmacaddrmoneynamenumrangeoid oidvectorpathpointpolygonrecord refcursorregclass regconfig regdictionaryregoper regoperatorregproc regprocedureregtypereltimetid tintervaltsquerytsrange tstzrangetsvector txid_snapshotvarbitvarcharxidxml unsafePTI$fContravariantValuerun'run''$fDefaultValue$fDefaultValue0$fDefaultValue1$fDefaultValue2$fDefaultValue3$fDefaultValue4$fDefaultValue5$fDefaultValue6$fDefaultValue7$fDefaultValue8$fDefaultValue9$fDefaultValue10$fDefaultValue11$fDefaultValue12$fDefaultValue13$fDefaultValue14$fDefaultValue15$fDefaultValue16$fDefaultParams4$fDefaultParams$fDefaultParams0$fDefaultParams1$fDefaultParams2$fDefaultParams3CommandsasBytessetEncodersToUTF8setMinClientMessagesToWarningLocalKeyPreparedStatementRegistrynewregister$fHashableLocalKeyacquireConnection acquirePreparedStatementRegistryreleaseConnectioncheckConnectionStatuscheckServerVersiongetIntegerDatetimesinitConnection getResultsgetPreparedStatementKey checkedSendsendPreparedParametricQuerysendUnpreparedParametricQuerysendParametricQuerysendNonparametricQuery$fProfunctorQuery$fFunctorQuery$fDefaultResult$fDefaultResult0$fDefaultResult1$fDefaultResult2$fDefaultResult3$fDefaultResult4 $fDefaultRow $fDefaultRow0 $fDefaultRow1