HC      !"#$%&'()*+,-./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 { | } ~                                                                            !"#$%&'()*+,-./0123456789:;<=>?@ABNone (*+,9;<=CDQR&Proxy for passing a type to ). We do not use CM 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.D<Isomorphic to Bool, but having some extra debug information.+MReturn the type encoding the signal information for a given type and signal.,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.E<Isomorphic to Bool, but having some extra debug information.F=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.0MA constraint on a type, to be fulfilled whenever it has a type instance for 1*. This is here for nicer error reporting.1The 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.2The 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.3$Check that a type is in the list of GObjectParents of another GObject-derived type.GxCheck whether a type appears in a list. We specialize the names/types a bit so the error messages are more informative.48Type error to be generated when an ancestor check fails.H{Result of a ancestor check. Basically a Bool type with a bit of extra info in order to improve typechecker error messages.ILook in the given list of (symbol, tag) tuples for the tag corresponding to the given symbol. If not found raise the given type error.JJoin two lists.5>Support for overloaded labels in ghc < 8.0. This is like the Ki class introduced in ghc 8.0 (for use with the OverloadedLabels extension) with the difference that the Cj argument is lifted. (Using the unlifted Proxy# type in user code is a bit of a pain, hence the choice.)%&'()*DL+,-.EMF/0123G4HNIJ5678KO%&'()*+,-./012345623410/.-,+*()&'%56%&'()*DL+,-.EMF/0123G4HNIJ5678None (9&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 9 below.=#Get the name assigned to the given 9.> %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.9 of strings.?9 of pointers.@9 for signed integers (gint or gint32).A9 for unsigned integers (guint or guint32).B9 for glong.C9 for gulong.D9 for signed 64 bit integers.E9 for unsigned 64 bit integers.F9 for floating point values.G9 for gdouble.H9 corresponding to gboolean.I9 corresponding to a  BoxedObject.J9 corresponding to a GObject.K An invalid 9> used as error return value in some functions which return a 9.LThe 9 corresponding to a GVariant.M9 corresponding to a 9 itself.N9( for a NULL terminated array of strings.O9 for a boxed type holding a  GByteArray.9:;<PQRS=>?@ABCDEFGHIJKLMNO9:;<=>?@ABCDEFGHIJKLMNO9:;<=>?@ABCDEFGHMNIJLOK9:;<PQRS=>?@ABCDEFGHIJKLMNONone (*,09:;DQRTP3Destroy the memory associated with a given pointer.QSome APIs, such as XU, pass around scalar types wrapped into a pointer. We encode such a type as follows.TA  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.VA  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.XA  =https://developer.gnome.org/glib/stable/glib-Hash-Tables.html GHashTable. It is mapped to a  on the Haskell side.ZA  =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.\A  @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.^A  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.`(An enum usable as a flag for a function.aA  Bhttps://developer.gnome.org/gobject/stable/gobject-GParamSpec.html GParamSpec. See Data.GI.Base.GParamSpec for further methods.cA  :https://developer.gnome.org/glib/stable/glib-GVariant.htmlGVariant. See Data.GI.Base.GVariant for further methods.fSome 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.gA 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 .j A wrapped j.k Whether the j is a descendent of  ^https://developer.gnome.org/gobject/stable/gobject-The-Base-Object-Type.html#GInitiallyUnownedGInitiallyUnowned.lThe 9 for this object.m1Pointers to structs/unions without an associated 9.n?Allocate a zero-initialized block of memory for the given type.o!Make a copy of the given pointer.p;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.qFlags with an associated 9.sEnums with an associated 9.u.Wrapped boxed structures, identified by their 9.wnA constraint ensuring that the given type is coercible to a ManagedPtr. It will hold for newtypes of the form "newtype Foo = Foo (ManagedPtr Foo)&which is the typical shape of wrapped js.xThin wrapper over T", supporting the extra notion of  disowningG, that is, not running the finalizers associated with the foreign ptr.|Free the given T.}Free the given V.3PQRSTUVWXYZ[\]^_`abcdefUghijklmnopqrstuvwxyz{|}~E9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}.xyz{wuvstqrjklmnopghiefcdab^_\]Z[XYVW}TU|`QRSPPQRSTUVWXYZ[\]^_`abcdefUghijklmnopqrstuvwxyz{|}~None ( 9A pointer to an equality checking function on the C side..A pointer to a hashing function on the C side.Check whether two V s are equal.Compute the hash for a V.%Check whether two pointers are equal.Compute the hash for a W.Pack a W into a Q W. Extract a W from a Q W.Pack a V into a W than can go into a  GHashTable. Extract a V wrapped into a W coming from a  GHashTable. None (LT 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 X, 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 .eApply the given conversion action to the given function 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 Y 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 Y 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 Z 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 g exception.An annotated version of fromJust, which raises a g in case it encounters a .[\]^[\]^None (*:DT_bPrint some debug info (if the right environment valiable is set) about the object being disowned.Thin wrapper over . Version of  taking a ` and a corresponding W, as in .aThin wrapper over .9Do not run the finalizers upon garbage collection of the x.Perform an IO action on the W inside a managed pointer.Like , but accepts a  type. If the passed value is + the inner action will be executed with a X argument.&Perform an IO action taking a list of W on a list of managed pointers. Return the WV in a given managed pointer. As the name says, this is potentially unsafe: the given W 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.b=Print a warning when we try to access a disowned foreign ptr.Ensure that the W 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 j", increasing its reference count.Same as 6, but we take ownership of the object. Newly created j%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.*Decrease the reference count of the given j[. The memory associated with the object may be released if the reference count reaches 0.Disown a GObject, that is, do not unref the associated foreign GObject when the Haskell object gets garbage collected. Returns the pointer to the underlying GObject.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).Like  copyBoxedB, but acting directly on a pointer, instead of a managed pointer..Free the memory associated with a boxed objectDisown a boxed object, that is, do not free the associated foreign GBoxed when the Haskell object gets garbage collected. Returns the pointer to the underlying u.'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.#cde_fghijkab#cde_fghijkabNone ( lmnolmno None ((Take ownership of a ParamSpec passed in W.*Construct a Haskell wrapper for the given a, without assuming ownership. Remove a reference to the given a. Disown a a3, i.e. do not longer unref the associated foreign a when the Haskell a gets garbage collected. pqrs pqrs None (TConvert t into a V, using the GLib allocator.Juvwxyz{|}~::Juvwxyz{|}~ None (0TEach 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. The error to catchThe computation to run,Handler to invoke if an exception is raised The computation to run+Handler to invoke if an exception is raised                   None (9;A type holding a d with an associated label. It is parameterized by a phantom type encoding the target type for the ' (useful when constructing properties).d !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ0 !"#$%&'()*+,-./0123456789:;<=>?@A0"#&'()*+ !$%,-./0123456789:;<=>?@A` !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ None (9;CT[+R A DictEntry c; is isomorphic to a two-tuple. Wrapping the values into a GVariantDictentry allows the [! instance to do the right thing.THAn object representing a DBus signature, which is a particular type of c] too. (Just a string with some specific requirements.) In order to construct/deconstruct a T one can use  and .UJAn object representing a DBus object path, which is a particular type of c] too. (Just a string with some specific requirements.) In order to construct/deconstruct a U one can use { and |.XHaskell has no notion of one element tuples, but GVariants do, so the following allows for marshalling one element tuples properly using ] and \V. For instance, to construct a single element tuple containing a string, you could do #toGVariant (GVariantSinglet "Test")ZThe typeclass for basic type c, types, i.e. those that are not containers.[CThe typeclass for types that can be automatically marshalled into c using \ and ].\2Convert a value of the given type into a GVariant.]Try to decode a c8 into a target type. If the conversion fails we return 9. The type that was expected can be obtained by calling ^,, and the actual type as understood by the c" code can be obtained by calling gvariantToTypeString.^DThe expected format string for this type (the argument is ignored)._ An alias for Nothing :: Maybe GVariant to save some typing.`Get the expected type of a c, in c notation. See  >https://developer.gnome.org/glib/stable/glib-GVariantType.html1 for the meaning of the resulting format string.aTake ownership of a passed in WC (typically created just for us, so if it is floating we sink it).b*Construct a Haskell wrapper for the given c, without assuming ownership.c Remove a reference to the given c.d Disown a cX, i.e. do not unref the underlying object when the Haskell object is garbage collected.uConvert a DBus handle (an  ) into a c.vExtract the DBus handle (an  ) inside a c.yDecode an UTF-8 encoded string c into t.z Encode a t into an UTF-8 encoded string c.{VTry to construct a DBus object path. If the passed string is not a valid object path  will be returned.| Return the t representation of a U.} Construct a c1 containing an object path. In order to build a U value see {.~ Extract a U from a c!, represented as its underlying t representation.YTry to construct a DBus object path. If the passed string is not a valid DBus signature  will be returned. Return the t representation of a T. Construct a c4 containing an DBus signature. In order to build a T value see . Extract a T from a c, represented as t.Box a c inside another c.Unbox a c contained inside another c./Extract a zero terminated list of bytes into a . Encode a  into a list of bytes c. Convert a  value into a corresponding c of maybe type.Try to decode a maybe c 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. Construct a c" of type DictEntry from the given key and value. The key must be a basic cO type, i.e. not a container. This is determined by whether it belongs to the Z typeclass. On the other hand value is an arbitrary c/, and in particular it can be a container type. Unpack a DictEntry variant into key and value@, which are returned as a two element tuple in case of success.Pack a Map into a c1 for dictionary type, which is just an array of R. Unpack a c into a 9. Notice that this assumes that all the elements in the c array of R= are of the same type, which is not necessary for a generic cQ, so this is somewhat restrictive. For the general case it is necessary to use  plus  directly.%Given a list of elements construct a c array containing them. Unpack a c array into its elements.Given a list of c, construct a c, tuple containing the elements in the list.Extract the children of a c tuple into a list.One element tuples.:The empty tuple GVariant, mostly useful for type checking.RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?[\]^Z_`XYRSVWU{|Tabcdfehgjilknmporqtsvuxwyz~}RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None (TJEEJNone %&(*,9;<=DQRT Constraint on a obj/attr pair so that ) is allowed. Constraints on a obj/attr pair so () is possible, producing a value of type result. BConstructors for the different operations allowed on an attribute.Constraint on a obj/value pair so that new works on values of type @value.Constraint on a obj/attr pair so that ' works on values of type value.#A user friendly description of the $, useful when printing type errors.$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 !.Name of the attribute. $Type which introduces the attribute.!%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 GValue 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.(      !"#$%&'()*+!      $!"#%&'()! !"#$     (')%&       !"#$%&'()*+ 0 00000None  (,DRT,MConstruct a GObject given the constructor and a list of settable attributes.Construct the j given the list of s.-Construct the given j/, given a set of actions constructing desired s to set at construction time.,-,-,-,-None  (,9;<=DR.:Constructible types, i.e. those which can be allocated by /.0%Default instance, assuming we have a j../0./././0None %&(*+,9:;<=CDRT Type for a j notify callback.1_Connection information for a "notify" signal indicating that a specific property changed (see : for the relevant constructor).2.Whether to connect a handler to a signal with 7H so that it runs before/after the default handler for the given signal.3Run before the default handler.4Run after the default handler.5'Information about an overloaded signal.74Connect a Haskell function to a signal of the given jV, specifying whether the handler will be called before or after the default handler.8)Support for overloaded signal connectors.;A class that provides a constraint satisfied by every type.; Type of a j signal handler id.<Same as 7Z, specifying from the beginning that the handler is to be run before the default handler. &on = connectSignal SignalConnectBefore=IConnect a signal to a handler, running the handler after the default one. (after = connectSignal SignalConnectAfter>*Connect a signal to a handler, given as a Z.0Connect the given notify callback for a GObject.ASupport for overloaded labels.123456789:;<=>?@AB123456789:;<=><=89:234>;5671123456789:;<=>?@ABNone (  $       WZTV !"#$%&'(X)*+ !"#9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}      !"#$%&'()*+,-./0123456789:;<=>?@ARSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      $!"#%&),-./1234567;>%   $ !"#  #None (9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}     RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   '(-/8:<=,$%&$%'$%()*+$%,$%-$%.$%/$01$02$34)*5$%6$78)9:)9;)9<$%=)9>)9?$%@$%A)9B$CD$EF$EG$3H$3I$7J$7K$7L$%M$%N$%O$PQ$PR)*STUUVWXYZ[\]^_`abcdefgghijklmnopqrstuvwxyz{|}~~                                  ! " # $ $ % & ' ( ) * + , - . / 0 1 2 3 4 5 5 6 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 p q r s s t t u v w x y z { | } ~                                                                                                      !"#$%&'()*+,-./0123456789:;<=>?@@ABCDEFGHIJKLMNOPQRRSTUVWXYZ[$\]^_`abcd$efX\g$ehijkl$mno$pq$rs$r$tu$rvwxyz{$m|}~y                                                             $ q r          [        Q    M  K  C  ?                        ;                )9)9$$$$ !$ "$ #$ $)9%$&'$&($)*$m+$,-$,-$,.$,.$,/$,/$,0$,0$,1$,1$,2$,2$,3$,3$,4$,4$t5$t6$t7$r8$r9$r:$;<$=>$%?@+haskell-gi-base-0.20-BpB8aI9ZvCq2BmACjGP5gzData.GI.Base.ShortPreludeData.GI.Base.OverloadingData.GI.Base.GTypeData.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.GObjectData.GI.Base.ConstructibleData.GI.Base.SignalsData.MapMapData.ByteString ByteString Foreign.PtrnullPtr Control.MonadmaybeForeign.Concurrent newForeignPtrForeign.ForeignPtrnewForeignPtr_ GI.GdkPixbuf PixbufErrorGI.GLib quarkToString Data.GI.BasebaseGHC.Base++map$ghc-prim GHC.Classes==fail>>=>>returnGHC.Real fromIntegral realToFracGHC.EnumEnumEqMonadGHC.ShowShow GHC.TypesBoolDoubleFloatMaybeIOFalseNothingJustTrueData.TraversablemapM Data.FoldablemapM_lengthfromEnumtoEnumshowListshow showsPrec.when=<<GHC.Err undefinederror/=MethodResolutionFailed MethodProxy MethodInfooverloadedMethod HasSignal ResolveSignal SignalListHasAttr HasAttributeResolveAttributeHasAttributeList AttributeList ParentTypesIsDescendantOfUnknownAncestorError IsLabelProxyfromLabelProxy$fHasAttrattro$fHasAttributeListkaGType gtypeToCGTypeCGType gtypeName gtypeString gtypePointergtypeInt gtypeUInt gtypeLong gtypeULong gtypeInt64 gtypeUInt64 gtypeFloat gtypeDouble gtypeBoolean gtypeBoxed gtypeObject gtypeInvalid gtypeVariant gtypeGType gtypeStrvgtypeByteArrayGDestroyNotify PtrWrapped unwrapPtrGSListGList GHashTable GByteArray GPtrArrayGArrayIsGFlag GParamSpecGVariant NullToNothing nullToNothingUnexpectedNullPointerReturnnullPtrErrorMsgGObjectgobjectIsInitiallyUnowned gobjectType WrappedPtrwrappedPtrCallocwrappedPtrCopywrappedPtrFree BoxedFlagsboxedFlagsType BoxedEnum boxedEnumType BoxedObject boxedTypeManagedPtrNewtype ManagedPtrmanagedForeignPtrmanagedPtrIsOwned g_slist_free g_list_free$fNullToNothingMaybe$fNullToNothinga&$fExceptionUnexpectedNullPointerReturn $fGObjecta!$fShowUnexpectedNullPointerReturn GEqualFunc GHashFunc gStrEqualgStrHash gDirectEqual gDirectHash ptrPackPtr ptrUnpackPtrcstringPackPtrcstringUnpackPtrsafeFreeFunPtrPtrsafeFreeFunPtr ptr_to_g_freefreeMemwhenJustmaybeM maybeFromPtrmapFirst mapSecond mapFirstA mapSecondAconvertIfNonNullconvertFunPtrIfNonNull callocBytes callocMemcallocBoxedBytes allocBytesallocMemmemcpymaybeReleaseFunPtrcheckUnexpectedReturnNULLcheckUnexpectedNothing newManagedPtrnewManagedPtr'disownManagedPtrwithManagedPtrmaybeWithManagedPtrwithManagedPtrListunsafeManagedPtrGetPtrunsafeManagedPtrCastPtrtouchManagedPtrcastTo unsafeCastTo newObject wrapObject unrefObject disownObjectnewBoxed wrapBoxed copyBoxedPtr freeBoxed disownBoxedwrapPtrnewPtrcopyPtrClosure noClosure newCClosure$fBoxedObjectClosure noGParamSpecwrapGParamSpecPtrnewGParamSpecFromPtrunrefGParamSpecdisownGParamSpecunrefGHashTableunrefGByteArray 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 checkGError$fBoxedObjectGError$fExceptionGError $fShowGErrorIsGValuetoGValue fromGValueGValueConstructGValuenoGValue 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_flags$fIsGValueGType$fIsGValueBool$fIsGValueDouble$fIsGValueFloat$fIsGValueWord64$fIsGValueInt64$fIsGValueCULong$fIsGValueCLong$fIsGValueCUInt$fIsGValueCInt$fIsGValueWord32$fIsGValueInt32 $fIsGValuePtr$fIsGValueMaybe$fIsGValueMaybe0$fBoxedObjectGValueGVariantDictEntryGVariantSignatureGVariantObjectPathGVariantHandleGVariantSingletIsGVariantBasicType IsGVariant toGVariant fromGVarianttoGVariantFormatString noGVariantgvariantGetTypeStringwrapGVariantPtrnewGVariantFromPtr unrefGVariantdisownGVariantgvariantFromBoolgvariantToBoolgvariantFromWord8gvariantToWord8gvariantFromInt16gvariantToInt16gvariantFromWord16gvariantToWord16gvariantFromInt32gvariantToInt32gvariantFromWord32gvariantToWord32gvariantFromInt64gvariantToInt64gvariantFromWord64gvariantToWord64gvariantFromHandlegvariantToHandlegvariantFromDoublegvariantToDoublegvariantToTextgvariantFromTextnewGVariantObjectPathgvariantObjectPathToTextgvariantFromObjectPathgvariantToObjectPathnewGVariantSignaturegvariantSignatureToTextgvariantFromSignaturegvariantToSignaturegvariantFromGVariantgvariantToGVariantgvariantToBytestringgvariantFromBytestringgvariantFromMaybegvariantToMaybegvariantFromDictEntrygvariantToDictEntrygvariantFromMap gvariantToMapgvariantFromListgvariantToListgvariantFromTuplegvariantToTuple$fIsGVariant(,,,,)$fIsGVariant(,,,)$fIsGVariant(,,)$fIsGVariant(,)$fIsGVariantGVariantSinglet$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$fIsGVariantBool$fEqGVariantSinglet$fShowGVariantSinglet$fEqGVariantHandle$fOrdGVariantHandle$fShowGVariantHandle$fOrdGVariantObjectPath$fEqGVariantObjectPath$fShowGVariantObjectPath$fOrdGVariantSignature$fEqGVariantSignature$fShowGVariantSignature$fEqGVariantDictEntry$fShowGVariantDictEntrysetObjectPropertyStringconstructObjectPropertyStringgetObjectPropertyStringsetObjectPropertyPtrconstructObjectPropertyPtrgetObjectPropertyPtrsetObjectPropertyIntconstructObjectPropertyIntgetObjectPropertyIntsetObjectPropertyUIntconstructObjectPropertyUIntgetObjectPropertyUIntsetObjectPropertyLongconstructObjectPropertyLonggetObjectPropertyLongsetObjectPropertyULongconstructObjectPropertyULonggetObjectPropertyULongsetObjectPropertyInt32constructObjectPropertyInt32getObjectPropertyInt32setObjectPropertyUInt32constructObjectPropertyUInt32getObjectPropertyUInt32setObjectPropertyInt64constructObjectPropertyInt64getObjectPropertyInt64setObjectPropertyUInt64constructObjectPropertyUInt64getObjectPropertyUInt64setObjectPropertyFloatconstructObjectPropertyFloatgetObjectPropertyFloatsetObjectPropertyDoubleconstructObjectPropertyDoublegetObjectPropertyDoublesetObjectPropertyBoolconstructObjectPropertyBoolgetObjectPropertyBoolsetObjectPropertyGTypeconstructObjectPropertyGTypegetObjectPropertyGTypesetObjectPropertyObjectconstructObjectPropertyObjectgetObjectPropertyObjectsetObjectPropertyBoxedconstructObjectPropertyBoxedgetObjectPropertyBoxedsetObjectPropertyStringArray"constructObjectPropertyStringArraygetObjectPropertyStringArraysetObjectPropertyEnumconstructObjectPropertyEnumgetObjectPropertyEnumsetObjectPropertyFlagsconstructObjectPropertyFlagsgetObjectPropertyFlagssetObjectPropertyVariantconstructObjectPropertyVariantgetObjectPropertyVariantsetObjectPropertyByteArray constructObjectPropertyByteArraygetObjectPropertyByteArraysetObjectPropertyPtrGListconstructObjectPropertyPtrGListgetObjectPropertyPtrGListsetObjectPropertyHashconstructObjectPropertyHashgetObjectPropertyHash AttrClearCAttrGetCAttrOp:=:=>:~:~>::=::~AttrConstructCAttrSetC AttrOpTagAttrGetAttrSet AttrConstruct AttrClear AttrOpAllowedAttrInfoAttrAllowedOpsAttrSetTypeConstraintAttrBaseTypeConstraint AttrGetType AttrLabel AttrOriginattrGetattrSet attrClear attrConstructAttrLabelProxysetgetclear$fIsLabelxAttrLabelProxy$fIsLabelProxyxAttrLabelProxyconstructGObjectnew' Constructiblenew$fConstructibleatagGObjectNotifySignalInfoSignalConnectModeSignalConnectBeforeSignalConnectAfter SignalInfoHaskellCallbackType connectSignal SignalProxyPropertyNotifySignalHandlerIdonafterconnectSignalFunPtr#$fSignalInfoGObjectNotifySignalInfo$fIsLabelslotSignalProxy$fIsLabelProxyslotSignalProxy$fNoConstraintka Data.ProxyProxy SignalCheckAttributeCheckIsElemCheckForAncestorType AncestorCheck FindElement JoinListsGHC.OverloadedLabelsIsLabel HasAncestor fromLabelg_byte_array_get_typeg_strv_get_typeg_gtype_get_type g_type_nameGHC.ForeignPtr ForeignPtrUnMaybeForeign.C.StringCStringGHC.PtrPtrForeign.StorableStorableFunPtr_memcpyg_malloc g_boxed_copy g_malloc0dbg_g_object_disown FinalizerPtrnewManagedPtr_notOwnedWarning g_boxed_freeboxed_free_helperdbg_g_object_unrefg_object_ref_sink g_object_refptr_to_g_object_unrefc_check_object_type mkFinalizerg_closure_sink g_closure_refg_cclosure_newc_g_closure_get_typeptr_to_g_param_spec_unrefg_param_spec_unrefg_param_spec_refg_param_spec_ref_sink#text-1.2.2.1-9Yh8rJoh8fO2JMLWffT3QsData.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 _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_typeGHC.IntInt32bytestring-0.10.8.1Data.ByteString.Internalcontainers-0.5.7.1 Data.Map.Base 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_childrengvariantFromSingletgvariantToSingletgvariantFromTwoTuplegvariantToTwoTuplegvariantFromThreeTuplegvariantToThreeTuplegvariantFromFourTuplegvariantToFourTuplegvariantFromFiveTuplegvariantToFiveTupleg_object_get_propertyg_object_set_propertysetObjectPropertygetObjectPropertyconstructObjectProperty AttrOpTextAttrOpIsAllowed OpAllowedTypeOriginInfo OpIsAlloweddoConstructGObject g_object_newvGObjectNotifyCallback NoConstraintconnectGObjectNotifyGObjectNotifyCallbackCmkGObjectNotifyCallbackg_signal_connect_datagobjectNotifyCallbackWrapperCharIntInt8Int16Int64GHC.WordWord8Word16Word32Word64SymbolControl.Monad.IO.ClassMonadIOliftIOControl.Exception.Base onExceptionunsafeForeignPtrToPtrForeign.C.TypesCIntCUIntCLongCULongCFloatCDoubleCIntPtrCUIntPtrsizeOfpeekpokecastPtrToFunPtrcastFunPtrToPtrplusPtr Data.Functor<$>GHC.Charchrord