!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G 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 o p q r s t u v w x y z { | } ~                                                 None $&'(246<=JK%pDatatype returned when the method is not found, hopefully making the resulting error messages somewhat clearer.&Proxy for passing a type to ). We do not use M directly since it clashes with types defined in the autogenerated bindings.(XClass for types containing the information about an overloaded method of type `o -> s`.*]A constraint enforcing that the signal exists for the given object, or one of its ancestors.<Isomorphic to Bool, but having some extra debug information.+MReturn the type encoding the signal information for a given type and signal.pDatatype returned when the signal is not found, hopefully making the resulting error messages somewhat clearer.,The list of signals defined for a given type. Each element of the list is a tuple, with the first element of the tuple the name of the signal, and the second the type encoding the information of the signal. This type will be an instance of  SignalInfo.-EA constraint that enforces that the given type has a given attribute..DA constraint imposing that the given object has the given attribute.<Isomorphic to Bool, but having some extra debug information.=Whether a given type is in the given list. If found, return success, otherwise return failure./SReturn the type encoding the attribute information for a given type and attribute.sDatatype returned when the attribute is not found, hopefully making the resulting error messages somewhat clearer.0The list of attributes defined for a given type. Each element of the list is a tuple, with the first element of the tuple the name of the attribute, and the second the type encoding the information of the attribute. This type will be an instance of AttrInfo.1The direct parents of this object: its direct parent type, if any, and the interfaces it implements. The interfaces inherited from parent types can be omitted.2$Check that a type is in the list of GObjectParents of another GObject-derived type.xCheck whether a type appears in a list. We specialize the names/types a bit so the error messages are more informative.{Result of a ancestor check. Basically a Bool type with a bit of extra info in order to improve typechecker error messages.Look in the given list of (symbol, tag) tuples for the tag corresponding to the given symbol. If not found raise the given type error.Join two lists.3>Support for overloaded labels in ghc < 8.0. This is like the IsLabeli class introduced in ghc 8.0 (for use with the OverloadedLabels extension) with the difference that the j argument is lifted. (Using the unlifted Proxy# type in user code is a bit of a pain, hence the choice.) %&'()*+,-./01234%&'()*+,-./01234120/.-,+*()&'%34%&'()*+,-./01234None $&+234=KM/53Destroy the memory associated with a given pointer.6Some APIs, such as =U, pass around scalar types wrapped into a pointer. We encode such a type as follows.9A  Ehttps://developer.gnome.org/glib/stable/glib-Singly-Linked-Lists.htmlGSList?, mapped to a list on the Haskell side. Marshalling is done in Data.GI.Base.BasicConversions.;A  Ehttps://developer.gnome.org/glib/stable/glib-Doubly-Linked-Lists.htmlGList?, mapped to a list on the Haskell side. Marshalling is done in Data.GI.Base.BasicConversions.=A  =https://developer.gnome.org/glib/stable/glib-Hash-Tables.html GHashTable. It is mapped to a  on the Haskell side.?A  =https://developer.gnome.org/glib/stable/glib-Byte-Arrays.html GByteArray'. Marshalling for this type is done in Data.GI.Base.BasicConversions, it is packed to a  on the Haskell side.AA  @https://developer.gnome.org/glib/stable/glib-Pointer-Arrays.html GPtrArray'. Marshalling for this type is done in Data.GI.Base.BasicConversions-, it is mapped to a list on the Haskell side.CA  8https://developer.gnome.org/glib/stable/glib-Arrays.htmlGArray'. Marshalling for this type is done in Data.GI.Base.BasicConversions-, it is mapped to a list on the Haskell side.E(An enum usable as a flag for a function.FA  Bhttps://developer.gnome.org/gobject/stable/gobject-GParamSpec.html GParamSpec. See Data.GI.Base.GParamSpec for further methods.HA  :https://developer.gnome.org/glib/stable/glib-GVariant.htmlGVariant. See Data.GI.Base.GVariant for further methods.KSome functions are not marked as having a nullable return type in the introspection data. The result is that they currently do not return a Maybe type. This functions lets you work around this in a way that will not break when the introspection data is fixed.When you want to call a someHaskellGIFunction/ that may return null wrap the call like this. )nullToNothing (someHaskellGIFunction x y)WThe result will be a Maybe type even if the introspection data has not been fixed for someHaskellGIFunction yet.LA common omission in the introspection data is missing (nullable) annotations for return types, when they clearly are nullable. (A common idiom is "Returns: valid value, or %NULL if something went wrong.")QHaskell wrappers will raise this exception if the return value is an unexpected .O A wrapped O.P Whether the O is a descendent of  ^https://developer.gnome.org/gobject/stable/gobject-The-Base-Object-Type.html#GInitiallyUnownedGInitiallyUnowned.QThe ] for this object.R1Pointers to structs/unions without an associated ].S?Allocate a zero-initialized block of memory for the given type.T!Make a copy of the given pointer.U;A pointer to a function for freeing the given pointer, or  D is the memory associated to the pointer does not need to be freed.VFlags with an associated ].XEnums with an associated ].Z.Wrapped boxed structures, identified by their ].\nA constraint ensuring that the given type is coercible to a ForeignPtr. It will hold for newtypes of the form "newtype Foo = Foo (ForeignPtr Foo)&which is the typical shape of wrapped Os.]&A newtype for use on the haskell side.`A type identifier in the GLib type system. This is the low-level type associated with the representation in memory, when using this on the Haskell side use ] below.aFree the given 9.bFree the given ;.c#Get the name assigned to the given ].d %Note: compile-time vs run-time GTypesNotice that there are two types of GType's: the fundamental ones, which are created with G_TYPE_MAKE_FUNDAMENTAL(n) and always have the same runtime representation, and the ones that are registered in the GObject type system at runtime, and whose `6 may change for each program run (and generally does).For the first type it is safe to use hsc to read the numerical values of the CGType at compile type, but for the second type it is essential to call the corresponding _get_type() function at runtime, and not use the value of the corresponding "constant" at compile time via hsc.] of strings.e] of pointers.f] for signed integers (gint or gint32).g] for unsigned integers (guint or guint32).h] for glong.i] for gulong.j] for signed 64 bit integers.k] for unsigned 64 bit integers.l] for floating point values.m] for gdouble.n] corresponding to gboolean.o] corresponding to a Z.p] corresponding to a O.q An invalid ]> used as error return value in some functions which return a ].rThe ] corresponding to a H.s] corresponding to a ] itself.t]( for a NULL terminated array of strings.u] for a boxed type holding a ?.I56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuA56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuA]^_`cdefghijklmnstopruq\Z[XYVWOPQRSTULMNJKHIFGCDAB?@=>;<b9:aE6785256789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuNone $ v9A pointer to an equality checking function on the C side.w.A pointer to a hashing function on the C side.xCheck whether two  s are equal.yCompute the hash for a .z%Check whether two pointers are equal.{Compute the hash for a .|Pack a  into a 6 .} Extract a  from a 6 .~Pack a  into a  than can go into a  GHashTable. Extract a  wrapped into a  coming from a  GHashTable. vwxyz{|}~ vwxyz{|}~ wv{z|}yx~ vwxyz{|}~None $EM A pointer to .ESame as freeHaskellFunPtr, but it does nothing when given a nullPtr. Pointer to g_free.A wrapper for g_free.ZWhen the given value is of "Just a" form, execute the given action, otherwise do nothing.Like J, but for actions on a monad, and with slightly different argument order.Check if the pointer is , and wrap it on a " accordingly.dGiven a function and a list of two-tuples, apply the function to every first element of the tuples.Same for the second element.Applicative version of .Applicative version of .\Apply the given conversion action to the given pointer if it is non-NULL, otherwise return  .7Make a zero-filled allocation using the GLib allocator.@Make a zero-filled allocation of enough size to hold the given  type, using the GLib allocator.xMake a zero filled allocation of n bytes for a boxed object. The difference with a normal callocBytes is that the returned memory is allocated using whatever memory allocator g_boxed_copy uses, which in particular may well be different from a plain g_malloc. In particular g_slice_alloc is often used for allocating boxed objects, which are then freed using g_slice_free.<Allocate the given number of bytes using the GLib allocator.Allocate space for the given  using the GLib allocator._Copy memory into a destination (in the first argument) from a source (in the second argument).4If given a pointer to the memory location, free the  at that location, and then the pointer itself. Useful for freeing the memory associated to callbacks which are called just once, with no destroy notification.=Check that the given pointer is not NULL. If it is, raise a L exception.An annotated version of fromJust, which raises a L in case it encounters a  .None $3MPerform an IO action on the  inside a managed pointer.Like , but accepts a " type. If the passed value is  + the inner action will be executed with a  argument.&Perform an IO action taking a list of  on a list of managed pointers. Return the V in a given managed pointer. As the name says, this is potentially unsafe: the given  may only be used before a call to [. This function is of most interest to the autogenerated bindings, for hand-written code " is almost always a better choice.Same as ), but is polymorphic on the return type.Ensure that the  in the given managed pointer is still alive (i.e. it has not been garbage collected by the runtime) at the point that this is called.RCast to the given type, checking that the cast is valid. If it is not, we return  . Usage: "maybeWidget <- castTo Widget labelVCast to the given type, assuming that the cast will succeed. This function will call  if the cast is illegal."Construct a Haskell wrapper for a O", increasing its reference count.Same as 6, but we take ownership of the object. Newly created O%s are typically floating, so we use  ^https://developer.gnome.org/gobject/stable/gobject-The-Base-Object-Type.html#g-object-ref-sinkg_object_ref_sink.*Increase the reference count of the given O.*Decrease the reference count of the given O[. The memory associated with the object may be released if the reference count reaches 0.VConstruct a Haskell wrapper for the given boxed object. We make a copy of the object.Like i, but we do not make a copy (we "steal" the passed object, so now it is managed by the Haskell runtime).&Make a copy of the given boxed object.Like B, but acting directly on a pointer, instead of a managed pointer..Free the memory associated with a boxed object'Wrap a pointer, taking ownership of it.*Wrap a pointer, making a copy of the data.'Make a copy of a wrapped pointer using memcpy; into a freshly allocated memory region of the given size.None $   None $(Take ownership of a ParamSpec passed in .*Construct a Haskell wrapper for the given F, without assuming ownership.Add a reference to the given F. Remove a reference to the given F.          None $MConvert  into a , using the GLib allocator.J::J None $+MEach error domain's error enumeration type should be an instance of this class. This class helps to hide the raw error and domain codes from the user. Example for : Winstance GErrorClass PixbufError where gerrorClassDomain _ = "gdk-pixbuf-error-quark"A human readable error message.3A code to identify a specific error within a given . Most of time you will not need to deal with this raw code since there is an enumeration type for each error domain. Of course which enumeration to use depends on the error domain, but if you use  or +, this is worked out for you automatically.jA code used to identify the "namespace" of the error. Within each error domain all the error codes are defined in an enumeration. Each gtk/gnome module that uses GErrors has its own error domain. The rationale behind using error domains is so that each module can organise its own error codes without having to coordinate on a global error code list. A GQuark._A GError, consisting of a domain, code and a human readable message. These can be accessed by ,  and  below. Create a new . Return the domain for the given D. This is a GQuark, a textual representation can be obtained with .The numeric code for the given .A text message describing the . \Given the string representation of an error domain returns the corresponding error quark.eThis will catch just a specific GError exception. If you need to catch a range of related errors, * is probably more appropriate. Example: do image <- catchGErrorJust PixbufErrorCorruptImage loadImage (\errorMessage -> do log errorMessage return mssingImagePlaceholder)Catch all GErrors from a particular error domain. The handler function should just deal with one error enumeration type. If you need to catch errors from more than one error domain, use this function twice with an appropriate handler functions for each. catchGErrorJustDomain loadImage (\err message -> case err of PixbufErrorCorruptImage -> ... PixbufErrorInsufficientMemory -> ... PixbufErrorUnknownType -> ... _ -> ...) A verson of # with the arguments swapped around. A verson of # with the arguments swapped around.)Run the given function catching possible s in its execution. If a 5 is emitted this throws the corresponding exception.Like Q, but allows to specify a custom handler instead of just throwing the exception.JThis must not use the value of its parameter so that it is safe to pass .!"# The error to catchThe computation to run,Handler to invoke if an exception is raisedThe computation to run+Handler to invoke if an exception is raised$%!"# $% None $24b&'()*+,-./0123456789:;<=>?@ABCDEFGHI      !"#$%&'()*JKLMNOPQRSTUVWXY.      !"#$%&'()*.      !"#$%&'()*_&'()*+,-./0123456789:;<=>?@ABCDEFGHI      !"#$%&'()*JKLMNOPQRSTUVWXY None $24<MT++ A DictEntry H; is isomorphic to a two-tuple. Wrapping the values into a GVariantDictentry allows the 4! instance to do the right thing.-HAn object representing a DBus signature, which is a particular type of H] too. (Just a string with some specific requirements.) In order to construct/deconstruct a - one can use X and Y..JAn object representing a DBus object path, which is a particular type of H] too. (Just a string with some specific requirements.) In order to construct/deconstruct a . one can use T and U.1Haskell has no notion of one element tuples, but GVariants do, so the following allows for marshalling one element tuples properly using 6 and 5V. For instance, to construct a single element tuple containing a string, you could do #toGVariant (GVariantSinglet "Test")3The typeclass for basic type H, types, i.e. those that are not containers.4CThe typeclass for types that can be automatically marshalled into H using 5 and 6.52Convert a value of the given type into a GVariant.6Try to decode a H8 into a target type. If the conversion fails we return  9. The type that was expected can be obtained by calling 7,, and the actual type as understood by the H" code can be obtained by calling gvariantToTypeString.7DThe expected format string for this type (the argument is ignored).8 An alias for Nothing :: Maybe GVariant to save some typing.9Get the expected type of a H, in H notation. See  >https://developer.gnome.org/glib/stable/glib-GVariantType.html1 for the meaning of the resulting format string.:Take ownership of a passed in C (typically created just for us, so if it is floating we sink it).;*Construct a Haskell wrapper for the given H, without assuming ownership.<Add a reference to the given H.= Remove a reference to the given H.NConvert a DBus handle (an Z ) into a H.OExtract the DBus handle (an Z ) inside a H.RDecode an UTF-8 encoded string H into .S Encode a  into an UTF-8 encoded string H.TVTry to construct a DBus object path. If the passed string is not a valid object path   will be returned.U Return the  representation of a ..V Construct a H1 containing an object path. In order to build a . value see T.W Extract a . from a H!, represented as its underlying  representation.XYTry to construct a DBus object path. If the passed string is not a valid DBus signature   will be returned.Y Return the  representation of a -.Z Construct a H4 containing an DBus signature. In order to build a - value see X.[ Extract a - from a H, represented as .\Box a H inside another H.]Unbox a H contained inside another H.^/Extract a zero terminated list of bytes into a [._ Encode a [ into a list of bytes H.` Convert a " value into a corresponding H of maybe type.aTry to decode a maybe H into the corresponding "5 type. If the conversion is successful this returns Just x , where x itself is of " type. So, in particular,  Just NothingT indicates a successful call, and means that the GVariant of maybe type was empty.b Construct a H" of type DictEntry from the given key and value. The key must be a basic HO type, i.e. not a container. This is determined by whether it belongs to the 3 typeclass. On the other hand value is an arbitrary H/, and in particular it can be a container type.c Unpack a DictEntry variant into key and value@, which are returned as a two element tuple in case of success.dPack a Map into a H1 for dictionary type, which is just an array of +.e Unpack a H into a \9. Notice that this assumes that all the elements in the H array of += are of the same type, which is not necessary for a generic HQ, so this is somewhat restrictive. For the general case it is necessary to use g plus c directly.f%Given a list of elements construct a H array containing them.g Unpack a H array into its elements.hGiven a list of H, construct a H, tuple containing the elements in the list.iExtract the children of a H tuple into a list.]One element tuples.^:The empty tuple GVariant, mostly useful for type checking.+,-_.`/0a1234567bcdefghijklmnopqrstuvwxyz{|}~89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi]^?+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi?456738912+,/0.TU-XY:;<=?>A@CBEDGFIHKJMLONQPRSWV[Z]\^_`abcdefghi+,-_.`/0a1234567bcdefghijklmnopqrstuvwxyz{|}~89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi]^ None $MJjklmnopqrstuvwxyz{|}~Ejklmnopqrstuvwxyz{|}~Ejmpsvy|lorux{~knqtwz}Jjklmnopqrstuvwxyz{|}~None !"$&(246=JKMBConstructors for the different operations allowed on an attribute.$Possible operations on an attribute.Whether a given 2 is allowed on an attribute, given the info type.+Look in the given list to see if the given + is a member, if not return an error type.<Result of checking whether an op is allowed on an attribute.Info describing an attribute.1The operations that are allowed on the attribute."Constraint on the value being set.QConstraint on the type for which we are allowed to create/set/get the attribute.Type returned by .7A string describing the attribute (for error messages).%Get the value of the given attribute.fSet the value of the given attribute, after the object having the attribute has already been created.(Set the value of the given attribute to NULL (for nullable attributes).Build a  representing the attribute.A proxy for attribute labels.+Set a number of properties for some object.,Get the value of an attribute for an object.Set a nullable attribute to NULL.Support for overloaded labels.!  None !"$&'(2346<=KM Type for a O notify callback._Connection information for a "notify" signal indicating that a specific property changed (see  for the relevant constructor)..Whether to connect a handler to a signal with H so that it runs before/after the default handler for the given signal.Run after the default handler.Run before the default handler.'Information about an overloaded signal.4Connect a Haskell function to a signal of the given OV, specifying whether the handler will be called before or after the default handler.)Support for overloaded signal connectors.;A class that provides a constraint satisfied by every type. Type of a O signal handler id.Same as Z, specifying from the beginning that the handler is to be run before the default handler. &on = connectSignal SignalConnectBeforeIConnect a signal to a handler, running the handler after the default one. (after = connectSignal SignalConnectAfter*Connect a signal to a handler, given as a .0Connect the given notify callback for a GObject.Support for overloaded labels.None  $(=KMMConstruct a GObject given the constructor and a list of settable attributes.None  $(246=K:Constructible types, i.e. those which can be allocated by .%Default instance, assuming we have a O.None $ Z !"#$[%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~%  $ " !# None $56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi !"# $ %"&'() * + , -./.012'(3 456'78'79'7:'7;'7<'7=1>1?5@5A5BCDEFGHIJIKIL M'(NOPPQRSTUVWXYZ[\]^__`aabbccddeeffghhiijkllmnopqrstuvwxyz{||}~                                    ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F F G H I I J 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 o p q r s t u v w x y z { | } ~                                                                        SW        !"#$%& ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G 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 o p qrstuvw x y G H z { | } ~     A       ^ 7    3  1  )  %                        !                                                    '7'7rrr            haskell-gi-base-0.15Data.GI.Base.ShortPreludeData.GI.Base.OverloadingData.GI.Base.BasicTypesData.GI.Base.GHashTableData.GI.Base.UtilsData.GI.Base.ManagedPtrData.GI.Base.ClosureData.GI.Base.GParamSpecData.GI.Base.BasicConversionsData.GI.Base.GErrorData.GI.Base.GValueData.GI.Base.GVariantData.GI.Base.PropertiesData.GI.Base.AttributesData.GI.Base.SignalsData.GI.Base.GObjectData.GI.Base.ConstructibleData.MapMapData.ByteString ByteString Foreign.PtrnullPtr Control.Monadmaybe GI.GdkPixbuf PixbufErrorGI.GLib quarkToString Data.GI.BasebaseGHC.Base++GHC.Errerrormap$ undefinedghc-prim GHC.Classes==fail>>=>>returnGHC.Real fromIntegral realToFracGHC.EnumEnumEqMonadGHC.ShowShow GHC.TypesBoolDoubleFloatIOFalseTruefromEnumtoEnumshowListshow showsPrecwhenmapM_mapM=<<GHC.Listlength Data.MaybeNothingJustMaybe./=MethodResolutionFailed MethodProxy MethodInfooverloadedMethod HasSignal ResolveSignal SignalListHasAttr HasAttributeResolveAttribute AttributeList ParentTypesIsDescendantOf IsLabelProxyfromLabelProxyGDestroyNotify PtrWrapped unwrapPtrGSListGList GHashTable GByteArray GPtrArrayGArrayIsGFlag GParamSpecGVariant NullToNothing nullToNothingUnexpectedNullPointerReturnnullPtrErrorMsgGObjectgobjectIsInitiallyUnowned gobjectType WrappedPtrwrappedPtrCallocwrappedPtrCopywrappedPtrFree BoxedFlagsboxedFlagsType BoxedEnum boxedEnumType BoxedObject boxedTypeForeignPtrNewtypeGType gtypeToCGTypeCGType g_slist_free g_list_free gtypeName gtypeString gtypePointergtypeInt gtypeUInt gtypeLong gtypeULong gtypeInt64 gtypeUInt64 gtypeFloat gtypeDouble gtypeBoolean gtypeBoxed gtypeObject gtypeInvalid gtypeVariant gtypeGType gtypeStrvgtypeByteArray GEqualFunc GHashFunc gStrEqualgStrHash gDirectEqual gDirectHash ptrPackPtr ptrUnpackPtrcstringPackPtrcstringUnpackPtrsafeFreeFunPtrPtrsafeFreeFunPtr ptr_to_g_freefreeMemwhenJustmaybeM maybeFromPtrmapFirst mapSecond mapFirstA mapSecondAconvertIfNonNull callocBytes callocMemcallocBoxedBytes allocBytesallocMemmemcpymaybeReleaseFunPtrcheckUnexpectedReturnNULLcheckUnexpectedNothingwithManagedPtrmaybeWithManagedPtrwithManagedPtrListunsafeManagedPtrGetPtrunsafeManagedPtrCastPtrtouchManagedPtrcastTo unsafeCastTo newObject wrapObject refObject unrefObjectnewBoxed wrapBoxed copyBoxed copyBoxedPtr freeBoxedwrapPtrnewPtrcopyPtrClosure noClosure newCClosure noGParamSpecwrapGParamSpecPtrnewGParamSpecFromPtr refGParamSpecunrefGParamSpecunrefGHashTableunrefGByteArray unrefPtrArray unrefGArray gflagsToWord wordToGFlags packGList unpackGList packGSList unpackGSList packGArray unpackGArray packGPtrArrayunpackGPtrArraypackGByteArrayunpackGByteArraypackGHashTableunpackGHashTablepackByteStringpackZeroTerminatedByteStringunpackByteStringWithLengthunpackZeroTerminatedByteStringpackStorableArraypackZeroTerminatedStorableArrayunpackStorableArrayWithLength!unpackZeroTerminatedStorableArraypackMapStorableArray"packMapZeroTerminatedStorableArray unpackMapStorableArrayWithLength$unpackMapZeroTerminatedStorableArraypackUTF8CArraypackZeroTerminatedUTF8CArrayunpackZeroTerminatedUTF8CArrayunpackUTF8CArrayWithLengthpackFileNameArraypackZeroTerminatedFileNameArray!unpackZeroTerminatedFileNameArrayunpackFileNameArrayWithLengthstringToCStringcstringToString textToCStringwithTextCString cstringToTextbyteStringToCStringcstringToByteString packPtrArraypackZeroTerminatedPtrArrayunpackPtrArrayWithLengthunpackZeroTerminatedPtrArraymapZeroTerminatedCArraypackBlockArrayunpackBlockArrayWithLengthunpackBoxedArrayWithLengthmapCArrayWithLength mapGArray mapPtrArraymapGList mapGSList GErrorClassgerrorClassDomain GErrorMessage GErrorCode GErrorDomainGError gerrorNew gerrorDomain gerrorCode gerrorMessagecatchGErrorJustcatchGErrorJustDomainhandleGErrorJusthandleGErrorJustDomainpropagateGError checkGErrorIsGValuetoGValue fromGValueGValuenoGValue newGValue buildGValue set_string get_string set_pointer get_pointer set_int32 get_int32set_intget_int set_uint32 get_uint32set_uintget_uintset_longget_long set_ulong get_ulong set_int64 get_int64 set_uint64 get_uint64 set_float get_float set_double get_double set_boolean get_boolean set_gtype get_gtype set_object get_object set_boxed get_boxed set_variant get_variantset_enumget_enum set_flags get_flagsGVariantDictEntryGVariantSignatureGVariantObjectPathGVariantHandleGVariantSingletIsGVariantBasicType IsGVariant toGVariant fromGVarianttoGVariantFormatString noGVariantgvariantGetTypeStringwrapGVariantPtrnewGVariantFromPtr refGVariant unrefGVariantgvariantFromBoolgvariantToBoolgvariantFromWord8gvariantToWord8gvariantFromInt16gvariantToInt16gvariantFromWord16gvariantToWord16gvariantFromInt32gvariantToInt32gvariantFromWord32gvariantToWord32gvariantFromInt64gvariantToInt64gvariantFromWord64gvariantToWord64gvariantFromHandlegvariantToHandlegvariantFromDoublegvariantToDoublegvariantToTextgvariantFromTextnewGVariantObjectPathgvariantObjectPathToTextgvariantFromObjectPathgvariantToObjectPathnewGVariantSignaturegvariantSignatureToTextgvariantFromSignaturegvariantToSignaturegvariantFromGVariantgvariantToGVariantgvariantToBytestringgvariantFromBytestringgvariantFromMaybegvariantToMaybegvariantFromDictEntrygvariantToDictEntrygvariantFromMap gvariantToMapgvariantFromListgvariantToListgvariantFromTuplegvariantToTuplesetObjectPropertyStringconstructObjectPropertyStringgetObjectPropertyStringsetObjectPropertyPtrconstructObjectPropertyPtrgetObjectPropertyPtrsetObjectPropertyIntconstructObjectPropertyIntgetObjectPropertyIntsetObjectPropertyUIntconstructObjectPropertyUIntgetObjectPropertyUIntsetObjectPropertyLongconstructObjectPropertyLonggetObjectPropertyLongsetObjectPropertyULongconstructObjectPropertyULonggetObjectPropertyULongsetObjectPropertyInt32constructObjectPropertyInt32getObjectPropertyInt32setObjectPropertyUInt32constructObjectPropertyUInt32getObjectPropertyUInt32setObjectPropertyInt64constructObjectPropertyInt64getObjectPropertyInt64setObjectPropertyUInt64constructObjectPropertyUInt64getObjectPropertyUInt64setObjectPropertyFloatconstructObjectPropertyFloatgetObjectPropertyFloatsetObjectPropertyDoubleconstructObjectPropertyDoublegetObjectPropertyDoublesetObjectPropertyBoolconstructObjectPropertyBoolgetObjectPropertyBoolsetObjectPropertyGTypeconstructObjectPropertyGTypegetObjectPropertyGTypesetObjectPropertyObjectconstructObjectPropertyObjectgetObjectPropertyObjectsetObjectPropertyBoxedconstructObjectPropertyBoxedgetObjectPropertyBoxedsetObjectPropertyStringArray"constructObjectPropertyStringArraygetObjectPropertyStringArraysetObjectPropertyEnumconstructObjectPropertyEnumgetObjectPropertyEnumsetObjectPropertyFlagsconstructObjectPropertyFlagsgetObjectPropertyFlagssetObjectPropertyVariantconstructObjectPropertyVariantgetObjectPropertyVariantsetObjectPropertyByteArray constructObjectPropertyByteArraygetObjectPropertyByteArraysetObjectPropertyPtrGListconstructObjectPropertyPtrGListgetObjectPropertyPtrGListsetObjectPropertyHashconstructObjectPropertyHashgetObjectPropertyHashAttrOp::~::=:~>:~:=>:= AttrOpTag AttrClear AttrConstructAttrSetAttrGetAttrInfoAttrAllowedOpsAttrSetTypeConstraintAttrBaseTypeConstraint AttrGetType AttrLabelattrGetattrSet attrClear attrConstructAttrLabelProxysetgetclearGObjectNotifySignalInfoSignalConnectModeSignalConnectAfterSignalConnectBefore SignalInfoHaskellCallbackType connectSignal SignalProxyPropertyNotifySignalHandlerIdonafterconnectSignalFunPtrconstructGObject Constructiblenew Data.ProxyProxy SignalCheck UnknownSignalAttributeCheckIsElemUnknownAttributeCheckForAncestorType AncestorCheck FindElement JoinListsDoesNotHaveSignalDoesNotHaveAttributeDoesNotHaveRequiredAncestor HasAncestor$fHasAttrattroUnMaybeg_byte_array_get_typeg_strv_get_typeg_gtype_get_type g_type_name$fNullToNothingMaybe$fNullToNothinga&$fExceptionUnexpectedNullPointerReturnForeign.C.StringCStringGHC.PtrPtrForeign.StorableStorableFunPtr_memcpyg_malloc g_boxed_copy g_malloc0 g_boxed_freeboxed_free_helperg_object_unrefg_object_ref_sink g_object_refptr_to_g_object_unrefc_check_object_typeg_closure_sink g_closure_refg_cclosure_newc_g_closure_get_type$fBoxedObjectClosureptr_to_g_param_spec_unrefg_param_spec_unrefg_param_spec_refg_param_spec_ref_sink text-1.2.2.1Data.Text.InternalTextg_memdupc_strlen g_strndupg_strdupg_hash_table_lookupg_hash_table_get_keysg_hash_table_insertg_hash_table_new_fullg_byte_array_appendg_byte_array_newg_ptr_array_set_sizeg_ptr_array_newg_array_set_size g_array_newg_slist_prependg_list_prependGQuarkgErrorQuarkFromDomaing_quark_try_stringg_error_new_literalg_error_get_type$fBoxedObjectGError$fExceptionGError _get_flags _set_flags _get_enum _set_enum _get_variant _set_variant _get_boxed _set_boxed _get_object _set_object _get_gtype _set_gtype _get_boolean _set_boolean _get_double _set_double _get_float _set_float _get_uint64 _set_uint64 _get_int64 _set_int64 _get_ulong _set_ulong _get_long _set_long _get_uint _set_uint_get_int_set_int _get_pointer _set_pointer _get_string _set_string g_value_initc_g_value_get_type$fIsGValueGType$fIsGValueBool$fIsGValueDouble$fIsGValueFloat$fIsGValueWord64$fIsGValueInt64$fIsGValueCULong$fIsGValueCLong$fIsGValueCUInt$fIsGValueCInt$fIsGValueWord32$fIsGValueInt32 $fIsGValuePtr$fIsGValueMaybe$fIsGValueMaybe0$fBoxedObjectGValueGHC.IntInt32bytestring-0.10.4.0Data.ByteString.Internalcontainers-0.5.5.1 Data.Map.Base$fIsGVariantGVariantSinglet$fIsGVariant() GVariantTypeg_variant_new_tupleg_variant_new_arrayg_variant_new_dict_entryg_variant_new_maybeg_variant_get_child_valueg_variant_n_childrennew_bytestringget_bytestring new_variant new_signatureg_variant_is_signaturenew_object_pathg_variant_is_object_path take_string new_double get_handle new_handle new_uint64 new_int64 new_uint32 new_int32 get_uint16 new_uint16 get_int16 new_int16get_bytenew_byteget_boolnew_boolptr_to_g_variant_unrefg_variant_unref g_variant_refg_variant_ref_sinkg_variant_is_floatingg_variant_get_type_stringg_variant_is_of_typeg_variant_type_freeg_variant_type_newunsafeFromGVariantwithGVariantTypegvariantIsOfTypewithExplicitType withTypeCheckgvariant_get_childrengvariantFromSingletgvariantToSingletgvariantFromTwoTuplegvariantToTwoTuplegvariantFromThreeTuplegvariantToThreeTuplegvariantFromFourTuplegvariantToFourTuplegvariantFromFiveTuplegvariantToFiveTuple$fIsGVariant(,,,,)$fIsGVariant(,,,)$fIsGVariant(,,)$fIsGVariant(,)$fIsGVariant[]$fIsGVariantMap$fIsGVariantGVariantDictEntry$fIsGVariantMaybe$fIsGVariantByteString$fIsGVariantGVariant&$fIsGVariantBasicTypeGVariantSignature$fIsGVariantGVariantSignature'$fIsGVariantBasicTypeGVariantObjectPath$fIsGVariantGVariantObjectPath$fIsGVariantBasicTypeText$fIsGVariantText$fIsGVariantBasicTypeDouble$fIsGVariantDouble#$fIsGVariantBasicTypeGVariantHandle$fIsGVariantGVariantHandle$fIsGVariantBasicTypeWord64$fIsGVariantWord64$fIsGVariantBasicTypeInt64$fIsGVariantInt64$fIsGVariantBasicTypeWord32$fIsGVariantWord32$fIsGVariantBasicTypeInt32$fIsGVariantInt32$fIsGVariantBasicTypeWord16$fIsGVariantWord16$fIsGVariantBasicTypeInt16$fIsGVariantInt16$fIsGVariantBasicTypeWord8$fIsGVariantWord8$fIsGVariantBasicTypeBool$fIsGVariantBoolg_object_get_propertyg_object_set_propertysetObjectPropertygetObjectPropertyconstructObjectProperty AttrOpAllowedAttrOpIsAllowed OpAllowed$fIsLabelProxyxAttrLabelProxyAttrOpNotAllowed OpIsAllowedGObjectNotifyCallback NoConstraintconnectGObjectNotify$fIsLabelProxyslotSignalProxyGObjectNotifyCallbackCmkGObjectNotifyCallbackg_signal_connect_datagobjectNotifyCallbackWrapper#$fSignalInfoGObjectNotifySignalInfo$fNoConstraintka g_object_newv$fConstructibleatagCharIntInt8Int16Int64GHC.WordWord8Word16Word32Word64 GHC.TypeLitsSymbolGHC.ForeignPtr ForeignPtr Data.Functor<$>Control.Exception.Base onExceptionunsafeForeignPtrToPtrnewForeignPtr_Foreign.C.TypesCIntCUIntCLongCULongCFloatCDoubleCIntPtrCUIntPtrpokepeeksizeOfcastPtrToFunPtrcastFunPtrToPtrplusPtrGHC.Charchrordtransformers-0.5.2.0Control.Monad.IO.ClassliftIOMonadIO