!޼z+      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                    ! " # $ % & ' ( ) * Safekgraphql8Where directives can appear in a type system definition. graphqlFWhere directives can appear in an executable definition, like a query.graphqlAll directives can be splitted in two groups: directives used to annotate various parts of executable definitions and the ones used in the schema definition.     Safeb(!graphql#Single value in an enum definition. 1enum Direction { NORTH EAST SOUTH WEST } "NORTH, EAST, SOUTH, and WEST3 are value definitions of an enum type definition  Direction.graphqlList of types forming a union. $union SearchResult = Person | Photo Person and Photo are member types of the union  SearchResult.!graphqlDefines an input value.-Input values can define field arguments, see #.<They can also be used as field definitions in an input type. (input Point2D { x: Float y: Float } The input type Point2D- contains two value definitions: "x" and "y".#graphql#A list of values passed to a field. Gtype Person { name: String picture(width: Int, height: Int): Url } PersonN has two fields, "name" and "picture". "name" doesn't have any arguments, so #_ contains an empty list. "picture" contains definitions for 2 arguments: "width" and "height".%graphql'Definition of a single field in a type. Gtype Person { name: String picture(width: Int, height: Int): Url } R"name" and "picture", including their arguments and types, are field definitions.'graphqlBDefines a list of interfaces implemented by the given object type. Gtype Business implements NamedEntity & ValuedEntity { name: String } Here the object type Business implements two interfaces:  NamedEntity and  ValuedEntity.)graphql-Extensions for custom, already defined types.6graphql5Type definitions describe various user-defined types.=graphqlGraphQL has built-in capability to document service APIs. Documentation is a GraphQL string that precedes a particular definition and contains Markdown. Any GraphQL definition can be documented this way. /""" Supported languages. """ enum Language { English EN Russian RU } ?graphqlGExtension of the schema definition by further operations or directives.BgraphqlRoot operation type definition.kDefining root operation types is not required since they have defaults. So the default query root type is Query), and the default mutation root type is Mutationt. But these defaults can be changed for a specific schema. In the following code the query root type is changed to MyQueryRootType!, and the mutation root type to MyMutationRootType: Cschema { query: MyQueryRootType mutation: MyMutationRootType } DgraphqlZExtension for a type system definition. Only schema and type definitions can be extended.Ggraphql7Type system can define a schema, a type or a directive. %schema { query: Query } directive :example on FIELD_DEFINITION type Query { field: String  example } sThis example defines a custom directive "@example", which is applied to a field definition of the type definition QueryD. On the top the schema is defined by taking advantage of the type Query.Kgraphql Directive.Directives begin with "@", can accept arguments, and can be applied to the most GraphQL elements, providing additional information.Mgraphql@Helper type to represent Non-Null types and lists of such types.PgraphqlRepresents type names.QgraphqlType representation.UgraphqlVariable definition.WgraphqlKey-value pair. A list of W#s represents a GraphQL object type.Ygraphql Input value.cgraphqlType condition.dgraphqlFragment definition.fgraphqlAlternative field name. F{ smallPic: profilePic(size: 64) bigPic: profilePic(size: 1024) } Here "smallPic" and "bigPic" are aliases for the same field, "profilePic", used to distinquish between profile pictures with different arguments (sizes).ggraphqlSingle argument. !{ user(id: 4) { name } } AHere "id" is an argument for the field "user" and its value is 4.igraphqlnSelection is a single entry in a selection set. It can be a single field, fragment spread or inline fragment.The only required property of a field is its name. Optionally it can also have an alias, arguments, directives and a list of subfields.MIn the following query "user" is a field with two subfields, "id" and "name": !{ user { id name } } lA fragment spread refers to a fragment defined outside the operation and is expanded at the execution time. X{ user { ...userFragment } } fragment userFragment on UserType { id name } nInline fragments are similar but they don't have any name and the type condition ("on UserType") is optional. ={ user { ... on UserType { id name } } mgraphqlField selection.ngraphql="Top-level" selection, selection on an operation or fragment.ographqlGraphQL has 3 operation types:query - a read-only fetch.1mutation - a write operation followed by a fetch.Tsubscription - a long-lived request that fetches data in response to source events.3Currently only queries and mutations are supported.rgraphqlOperation definition.ugraphqlFTop-level definition of a document, either an operation or a fragment.xgraphql>All kinds of definitions that can occur in a GraphQL document.|graphqlGraphQL document.}graphqlName.a !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGIHJKLMNOPQRSTUVWXYb]_[\`aZ^cdefghijklmnopqrtsuvwxyz{|}afgh#$xyz{=>KL|uvw%&de'(!"}PMNOWXrtsopqBC?@AijklnmQRSTc6789:;<)*+,-./012345GIHJDEF Yb]_[\`aZ^UV Safeefa !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGIHJKLMNOPQRSTUVWXYb]_[\`aZ^cdefghijklmnopqrtsuvwxyz{|}Safen graphql,Represents accordingly typed GraphQL values.graphql!GraphQL Float is double precisiongraphqlSingle selection element.graphql*Represents fragments and inline fragments.graphql Directive.graphqlArgument list.graphqlSingle GraphQL field.graphqlDGraphQL has 3 operation types: queries, mutations and subscribtions.3Currently only queries and mutations are supported.graphql3GraphQL document is a non-empty list of operations.cf}f}cSafeXx graphql[Instructs the encoder whether the GraphQL document should be minified or pretty printed.Use  or  to construct the formatter.graphql+Constructs a formatter for pretty printing.graphql%Constructs a formatter for minifying.graphql#Converts a Document' into a string.graphql Converts a tx into a string.+graphql3Converts a 'Full.OperationDefinition into a string.,graphql5Converts a Full.Query or Full.Mutation into a string.-graphql!Converts Full.Field into a stringgraphql Converts a K into a string.graphql Converts a Y into a string.graphql Converts a Q a type into a string.NoneXgraphql7Standard parser. Accepts the type of the parsed token.graphqlOParser that skips comments and meaningless characters, whitespaces and commas.graphqlParser for comments.graphql7Lexeme definition which ignores whitespaces and commas.graphql7Symbol definition which ignores whitespaces and commas.graphqlParser for "!".graphqlParser for "$".graphqlParser for "@".graphqlParser for "&".graphqlParser for ":".graphqlParser for "=".graphql%Parser for the spread operator (...).graphqlParser for "|".graphql-Parser for an expression between "(" and ")".graphql-Parser for an expression between "[" and "]".graphql-Parser for an expression between "{" and "}".graphqlParser for strings.graphqlParser for block strings.graphqlParser for integers.graphql"Parser for floating-point numbers.graphqlParser for names ([_A-Za-z][_0-9A-Za-z]*).graphql!Parser for the "Byte Order Mark".graphqlParses "extend" followed by a ". It is used by schema extensions.None_graphql!Parser for the GraphQL documents.None"#graphql(A wrapper to pass error messages around.graphql*Wraps a parse error into a list of errors.graphql$Adds an error to the list of errors.graphqlQConstructs a response object containing only the error with the given message.graphql8Convenience function for just wrapping an error message..graphql?Appends the given list of errors to the current list of errors.graphqlwRuns the given query computation, but collects the errors into an error list, which is then sent back with the data.graphqlgRuns the given computation, collecting the errors and appending them to the previous list of errors.SafeXgraphqlwMonad transformer stack used by the resolvers to provide error handling and resolution context (resolver arguments).graphql,Resolution context holds resolver arguments. graphql`Retrieves an argument by its name. If the argument with this name couldn't be found, returns 7 (i.e. the argument is assumed to be optional then).    NonekgraphqlGraphQL distinguishes between "wrapping" and "named" types. Each wrapping type can wrap other wrapping or named types. Wrapping types are lists and Non-Null types (named types are nullable by default).This  type doesn't reflect this distinction exactly but it is used in the resolvers to take into account that the returned value can be nullable or an (arbitrary nested) list.graphqlArbitrary nested listgraphql#Named type without further wrappinggraphqlNull None graphqlpContains variables for the query. The key of the map is a variable name, and the value is the variable value.graphql Resolves a  into an Aeson.7 with error information (if an error has occurred). m# is an arbitrary monad, usually /.!graphqlConverts resolvers to a map."graphql Create a new  with the given } from the given s.#graphqlLike "& but can be null or a list of objects.$graphqlCA scalar represents a primitive value, like a string or an integer.%graphqlLike $& but can be null or a list of scalars.0graphqlAHelper function to facilitate error handling and result emitting.&graphqlTakes a list of s and a list of s and applies each  to each 3. Resolves into a value containing the resolved (, or a null value and error information. graphqlNamegraphqlResolver !"#$%& "&!$#%Safe21graphqlDirective processing status.2graphql0Skip the selection and stop directive processing3graphql/The directive was processed, try other handlers4graphql.Directive handler mismatch, try other handlers5graphqlTakes a list of directives, handles supported directives and excludes them from the result. If the selection should be skipped, returns 6.5NonePX7graphql*Associates a fragment name with a list of s.8graphql`Rewrites the original syntax tree into an intermediate representation used for query execution.9graphql+Extract fragment definitions into a single :.8 NoneZ'graphqldThe substitution is applied to the document, and the resolvers are applied to the resulting fields.@Returns the result of the query against the schema wrapped in a data! field, or errors wrapped in an errors field.(graphqlThe substitution is applied to the document, and the resolvers are applied to the resulting fields. The operation name can be used if the document defines multiple root operations.@Returns the result of the query against the schema wrapped in a data! field, or errors wrapped in an errors field.'graphql Resolvers.graphqlVariable substitution function.(graphql ResolversgraphqlOperation name.graphqlVariable substitution function.graphqlGraphQL Document.'('( Nonef)graphql"If the text parses correctly as a GraphQL. query the query is executed using the given s.*graphql"If the text parses correctly as a GraphQLd query the substitution is applied to the query and the query is then executed using to the given s.)graphql Resolvers.graphqlText representing a GraphQL request document.graphql Response.*graphql Resolvers.graphqlVariable substitution function.graphqlText representing a GraphQL request document.graphql Response.)*)*; !"#$%&'()*+,-..//0011223456789:;<=>?@ABCDEFGGHIJKKLH3MN@OPPQRSTUVWXYYZZ[\]^_`a$$bccd#%&efg !hfhijkliMLmnopqrstuvwxyz{|}~\]^_`dPP## !myz  `            &graphql-0.7.0.0-Eceg161R0ue4GEaa3fuXg3&Language.GraphQL.AST.DirectiveLocationLanguage.GraphQL.AST.DocumentLanguage.GraphQL.AST.CoreLanguage.GraphQL.AST.EncoderLanguage.GraphQL.AST.LexerLanguage.GraphQL.AST.ParserLanguage.GraphQL.ErrorLanguage.GraphQL.TransLanguage.GraphQL.TypeLanguage.GraphQL.SchemaLanguage.GraphQL.ExecuteLanguage.GraphQLLanguage.GraphQL.ASTValueNullData.Aeson.TypesObjectLanguage.GraphQL.Type.Directive"Language.GraphQL.Execute.TransformTypeSystemDirectiveLocationSchemaScalarFieldDefinitionArgumentDefinition InterfaceUnionEnum EnumValue InputObjectInputFieldDefinitionExecutableDirectiveLocationQueryMutation SubscriptionFieldFragmentDefinitionFragmentSpreadInlineFragmentDirectiveLocation$fEqExecutableDirectiveLocation!$fShowExecutableDirectiveLocation$fEqTypeSystemDirectiveLocation!$fShowTypeSystemDirectiveLocation$fEqDirectiveLocation$fShowDirectiveLocationEnumValueDefinitionUnionMemberTypesInputValueDefinitionArgumentsDefinitionImplementsInterfaces TypeExtensionScalarTypeExtension#ObjectTypeFieldsDefinitionExtensionObjectTypeDirectivesExtension'ObjectTypeImplementsInterfacesExtension&InterfaceTypeFieldsDefinitionExtension InterfaceTypeDirectivesExtension"UnionTypeUnionMemberTypesExtensionUnionTypeDirectivesExtension%EnumTypeEnumValuesDefinitionExtensionEnumTypeDirectivesExtension-InputObjectTypeInputFieldsDefinitionExtension"InputObjectTypeDirectivesExtensionTypeDefinitionScalarTypeDefinitionObjectTypeDefinitionInterfaceTypeDefinitionUnionTypeDefinitionEnumTypeDefinitionInputObjectTypeDefinition DescriptionSchemaExtensionSchemaOperationExtensionSchemaDirectivesExtensionOperationTypeDefinitionTypeSystemExtensionTypeSystemDefinitionSchemaDefinitionDirectiveDefinition Directive NonNullTypeNonNullTypeNamedNonNullTypeList NamedTypeType TypeNamedTypeList TypeNonNullVariableDefinition ObjectFieldVariableIntFloatStringBooleanList TypeConditionAliasArgument SelectionSelectionSetOpt SelectionSet OperationTypeOperationDefinitionExecutableDefinitionDefinitionOperationDefinitionFragment DefinitionDocumentName$fShowImplementsInterfaces$fEqImplementsInterfaces$fMonoidArgumentsDefinition$fSemigroupArgumentsDefinition$fShowUnionMemberTypes$fEqUnionMemberTypes$fEqOperationType$fShowOperationType$fEqObjectField$fShowObjectField $fEqValue $fShowValue $fEqArgument$fShowArgument$fEqNonNullType$fShowNonNullType$fEqType $fShowType$fEqVariableDefinition$fShowVariableDefinition $fEqDirective$fShowDirective $fEqSelection$fShowSelection$fEqFragmentDefinition$fShowFragmentDefinition$fEqOperationDefinition$fShowOperationDefinition$fEqExecutableDefinition$fShowExecutableDefinition$fEqOperationTypeDefinition$fShowOperationTypeDefinition$fEqSchemaExtension$fShowSchemaExtension$fEqDescription$fShowDescription$fEqInputValueDefinition$fShowInputValueDefinition$fEqArgumentsDefinition$fShowArgumentsDefinition$fEqFieldDefinition$fShowFieldDefinition$fEqEnumValueDefinition$fShowEnumValueDefinition$fEqTypeExtension$fShowTypeExtension$fEqTypeSystemExtension$fShowTypeSystemExtension$fEqTypeDefinition$fShowTypeDefinition$fEqTypeSystemDefinition$fShowTypeSystemDefinition$fEqDefinition$fShowDefinitionSelectionFragmentSelectionFieldFragment Arguments Operation$fIsStringValue$fMonoidArguments$fSemigroupArguments $fEqArguments$fShowArguments $fEqField $fShowField $fEqFragment$fShowFragment $fEqOperation$fShowOperation Formatterprettyminifieddocument definition directivevaluetype'Parser spaceConsumercommentlexemesymbolbangdollaratampcolonequalsspreadpipeparensbracketsbracesstring blockStringintegerfloatname unicodeBOMextend CollectErrsT parseErroraddErr singleError addErrMsgrunCollectErrs runAppendErrsActionT runActionTContext argumentsargument$fMonadPlusActionT$fAlternativeActionT$fMonadIOActionT$fMonadTransActionT$fMonadActionT$fApplicativeActionT$fFunctorActionTWrappingNamed$fToJSONWrapping$fMonadWrapping$fApplicativeWrapping$fTraversableWrapping$fFoldableWrapping$fFunctorWrapping $fEqWrapping$fShowWrappingSubsResolverresolversToMapobject wrappedObjectscalar wrappedScalarresolveexecuteexecuteWithNamegraphql graphqlSubsoperationDefinitionnodefield appendErrsghc-prim GHC.TypesIO withFieldStatusSkipIncludeContinue selectionbase GHC.MaybeNothing ReplacementcollectFragments3unordered-containers-0.2.10.0-CRSEKcmeyueq7cQHdEP1AData.HashMap.BaseHashMap