h$gQ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                                                                                                                                                                                   Safe-Inferred    Safe-Inferred>  flatbuffersMaps a value of type a1 into a string that can be displayed to the user.  None &567< !"#$%&'()*+-,.<;:9876543210/=>@?ABEDCFGIHJKONMLPQTSRUVYXWZ[_^]\`adcbefghijknmloqprstuvwxyz{|}~~{|}xyzuvwrstoqpknmlhijefg`adcbZ[_^]\UVYXWPQTSRJKONMLFGIHABEDC=>@?.<;:9876543210/*+-,()&'$%!"#  Safe-InferredNone  flatbuffersRoughly based on:  =https://google.github.io/flatbuffers/flatbuffers_grammar.html9. Differences between this parser and the above grammar:#Unions members now support aliases.=An enum's underlying type used to be optional (defaulting to short), but now it's mandatory.Attributes can be reffered to either as an identifier or as a string literal (e.g. attr or "attr").(Struct fields can't have default values.The grammar states that table2struct field defaults can only be scalars (integerfloating point constants), when in reality, it could be also be a boolean or an enum identifier.The grammar says attribute values can be integers, floats or string literals. Flatc only allows integers and string literals. To make things simpler, we decided to go with flatc's approach and disallow floats.The grammar says namespaces must include at least one fragment, but an empty namespace (i.e.  namespace ;) is perfectly valid.This supports native_include statements (see: https://google.github.io/flatbuffers/flatbuffers_guide_use_cpp.html#flatbuffers_cpp_object_based_api) flatbuffersspace consumer - this consumes and ignores any whitespace + comments flatbuffersSee: https://google.github.io/flatbuffers/flatbuffers_guide_use_cpp.html#flatbuffers_cpp_object_based_api**None ?: flatbuffersFilepath of the root schema. It must be a path relative to the project root or an absolute path. flatbuffersDirectories to search for includes. Safe-Inferred flatbuffersAssociates a type with a file identifier. To create an association, declare a  root_type and file_identifier in your schema. 9table Player {} root_type Player; file_identifier "PLYR"; flatbuffersAn identifier that's used to "mark" a buffer. To add this marker to a buffer, use . To check whether a buffer contains the marker before decoding it, use ./For more information on file identifiers, see :The ?https://github.com/dcastro/haskell-flatbuffers#file-identifierslibrary's docs3Section "File identification and extension" of the https://google.github.io/flatbuffers/flatbuffers_guide_writing_schema.html official docs flatbuffers.Encodes the input text as UTF-8 and returns a Just FileIdentifier' if it has exactly 4 bytes, otherwise . flatbuffers Returns a Just FileIdentifier if the input ! has exactly 4 bytes, otherwise . flatbuffersConstructs a new  without checking its length. flatbuffersConstructs a new  without checking its length. None<  flatbuffersThe memory alignment (in bytes) for a piece of data in a flatbuffer. E.g.,  are always aligned to 4 bytes. This number should always be a power of 2 in the range [1, 16]. flatbuffersThe number of bytes occupied by a piece of data that's stored "inline""inline" here means "stored directly in a table or a vector, and not by reference". E.g.: numeric types, booleans, structs, offsets. flatbuffersMetadata for a struct type.   None #$&0<, flatbuffers.A vector that is being read from a flatbuffer. flatbuffersReturns the size of the vector.O(1). flatbuffersReturns the item at the given index without performing the bounds check.Given an invalid index,  unsafeIndex+ will likely read garbage data or return a . In the case of  Vector Word83, using a negative index carries the same risks as 7 (i.e. reading from outside the buffer's boundaries).O(c), where c+ is the number of chunks in the underlying . flatbuffersConverts the vector to a list.O(n). flatbuffers take n xs returns the prefix of xs of length n, or xs itself if  n > length xs.O(1). flatbuffers drop n xs returns the suffix of xs after the first n elements, or [] if  n > length xs.O(c), where c+ is the number of chunks in the underlying . flatbuffers)Proof that a number is strictly positive. flatbuffersCurrent position in the buffer flatbuffersPointer to the buffer root flatbuffersPointer to current position flatbuffers1Number of bytes between current position and root flatbuffers-A union that is being read from a flatbuffer. flatbuffers.A struct that is being read from a flatbuffer. flatbuffers-A table that is being read from a flatbuffer. flatbuffersA byte-vector, where each byte represents the type of each "union value" in the vector flatbuffers,A table vector, with the actual union values flatbuffers1A function to read a union value from this vector flatbuffers&Deserializes a flatbuffer from a lazy . flatbuffersChecks if a buffer contains the file identifier for a root table a), to see if it's safe to decode it to a ). It should be used in conjunction with -XTypeApplications. {-# LANGUAGE TypeApplications #-} if checkFileIdentifier @Monster bs then decode @Monster bs else return someMonster flatbuffersclamp n upperBound# truncates a value to stay between 0 and  upperBound. flatbuffersReturns the item at the given index. If the given index is negative or too large, an  is thrown.O(c), where c+ is the number of chunks in the underlying . flatbuffersConvert the vector to a lazy .O(c), where c+ is the number of chunks in the underlying . flatbuffers9Follow a pointer to the position of a string and read it. flatbuffers/Read a string from the current buffer position. flatbuffers8Follow a pointer to the position of a table and read it. flatbuffers.Read a table from the current buffer position. flatbuffersSafer version of 6 that doesn't throw when index is too large. Assumes i > 0. None</5 flatbuffers!This table is not the root table. flatbuffersThis table is the root table, and has an optional file identifier. flatbuffers)How many zeros to write after this field. flatbuffers+This field's offset from the struct's root. !"#*+,-{|}!"#{|}*+,-  None &1None  Calculate how much 0-padding is needed so that, after writing additionalBytes!, the buffer becomes aligned to n bytes. flatbuffers;Add enough 0-padding so that the buffer becomes aligned to n after writing additionalBytes. flatbuffersn: the number of elements in xs flatbuffersxs: a collection flatbuffersn  flatbuffersadditionalBytes  flatbuffersn  flatbuffersadditionalBytes None!Oc  flatbuffersOptions to control how/which flatbuffers constructors/accessor should be generated.*Options can be set using record syntax on  with the fields below. +defaultOptions { compileAllSchemas = True } flatbuffersDirectories to search for includes (same as flatc -I option). flatbuffersGenerate code not just for the root schema, but for all schemas it includes as well (same as flatc  --gen-all option). flatbuffers)Helper method to create function types. -ConT ''Int ~> ConT ''String === Int -> String flatbuffersDefault flatbuffers options: Options { includeDirectories = [] , compileAllSchemas = False } flatbuffersGenerates constructors and accessors for all data types declared in the given flatbuffers schema whose namespace matches the current module. &namespace Data.Game; table Monster {} {-# LANGUAGE TemplateHaskell #-} module Data.Game where import FlatBuffers $(mkFlatBuffers "schemas/game.fbs" defaultOptions) flatbuffersThis does two things: ghcid stops parsing an error when it finds a line that start with alphabetical characters or an empty lines, so we prepend each line with an empty space to avoid this.we also remove any trailing n, otherwise ghcid would stop parsing here and not show the source code location. flatbuffers/Generates a list with all the enum values, e.g. 0allColors = [colorsRed, colorsGreen, colorsBlue] flatbuffers Generates  colorsNames. flatbuffers0Generated declarations for a non-bit-flags enum. flatbuffers Generates  colorsName. flatbuffersApplies a function to multiple arguments. Assumes the list is not empty.881NonePg!! NoneQ Safe-InferredQ !"#$%&'()*+,-./01234567899:;;<<==>>?@ABCDEFGHIJKLMNOPPQRSSTUVWWXYZZ[\]^__`abccdefgghijkllmnoppqrrstuvwxyz{{|}}~                                                                                                                                               P P Q  S S T V                   B C D E F G H I J K L M     O g g  h i  l l m  o       t t               _ _ `   a c c d   f          W W X  Z Z [ \  ^                                                                                 *flatbuffers-0.3.0.0-1kVElt3i5RH7D5x11AsA2nFlatBuffers.Internal.Build%FlatBuffers.Internal.Compiler.Display(FlatBuffers.Internal.Compiler.SyntaxTreeFlatBuffers.Internal.Constants$FlatBuffers.Internal.Compiler.Parser&FlatBuffers.Internal.Compiler.ParserIO#FlatBuffers.Internal.FileIdentifier FlatBuffersFlatBuffers.Internal.TypesFlatBuffers.VectorFlatBuffers.Internal.Read-FlatBuffers.Internal.Compiler.ValidSyntaxTree/FlatBuffers.Internal.Compiler.NamingConventions.FlatBuffers.Internal.Compiler.SemanticAnalysisFlatBuffers.Internal.Write FlatBuffers.Internal.Compiler.THencodeWithFileIdentifiercheckFileIdentifierData.IntInt32Data.ByteString.LazyindexPaths_flatbuffers buildWord8 buildWord16 buildWord32 buildWord64 buildInt8 buildInt16 buildInt32 buildInt64 buildFloat buildDouble buildBool buildPadding boolToWord8Displaydisplay$fDisplayWord64$fDisplayWord32$fDisplayWord16$fDisplayWord8$fDisplayInt64$fDisplayInt32$fDisplayInt16 $fDisplayInt8$fDisplayInteger $fDisplayInt $fDisplay[]$fDisplayNonEmpty $fDisplayText $fDisplay[]0 HasMetadata getMetadataHasIdentgetIdent Namespace unNamespace AttributeDeclFileIdentifierDeclRootDeclTypeReftypeRefNamespace typeRefIdentTypeTInt8TInt16TInt32TInt64TWord8TWord16TWord32TWord64TFloatTDoubleTBoolTStringTRefTVectorUnionVal unionValIdentunionValTypeRef UnionDecl unionIdent unionMetadata unionValsEnumVal enumValIdentenumValLiteralEnumDecl enumIdentenumType enumMetadataenumVals StructFieldstructFieldIdentstructFieldTypestructFieldMetadata StructDecl structIdentstructMetadata structFields TableFieldtableFieldIdenttableFieldTypetableFieldDefaulttableFieldMetadata TableDecl tableIdent tableMetadata tableFields NamespaceDeclunNamespaceDeclMetadata unMetadata DefaultVal DefaultNum DefaultBool DefaultRef AttributeValAttrIAttrS IntLiteral unIntLiteral StringLiteralunStringLiteralInclude unIncludeIdentunIdentDeclDeclNDeclTDeclSDeclEDeclUDeclRDeclFIDeclASchemaincludesdeclsFileTreefileTreeFilePath fileTreeRootfileTreeForestqualify$fDisplayIdent$fIsStringNamespace$fShowNamespace$fDisplayNamespace$fDisplayTypeRef$fHasIdentUnionDecl$fHasIdentTableField$fHasIdentTableDecl$fHasIdentStructField$fHasIdentStructDecl$fHasIdentEnumVal$fHasIdentEnumDecl$fHasIdentIdent$fHasMetadataUnionDecl$fHasMetadataTableField$fHasMetadataTableDecl$fHasMetadataStructField$fHasMetadataStructDecl$fHasMetadataEnumDecl $fShowSchema $fEqSchema $fShowDecl$fEqDecl$fShowNamespaceDecl$fEqNamespaceDecl$fIsStringNamespaceDecl$fShowUnionDecl $fEqUnionDecl$fShowUnionVal $fEqUnionVal$fShowTableDecl $fEqTableDecl$fShowTableField$fEqTableField$fShowStructDecl$fEqStructDecl$fShowStructField$fEqStructField$fShowEnumDecl $fEqEnumDecl $fShowType$fEqType$fShowRootDecl $fEqRootDecl $fShowTypeRef $fEqTypeRef $fEqNamespace$fOrdNamespace$fSemigroupNamespace$fShowAttributeDecl$fEqAttributeDecl$fIsStringAttributeDecl$fOrdAttributeDecl$fShowFileIdentifierDecl$fEqFileIdentifierDecl$fIsStringFileIdentifierDecl $fShowEnumVal $fEqEnumVal$fShowMetadata $fEqMetadata$fShowDefaultVal$fEqDefaultVal$fShowAttributeVal$fEqAttributeVal$fShowIntLiteral$fEqIntLiteral$fNumIntLiteral$fEnumIntLiteral$fOrdIntLiteral$fRealIntLiteral$fIntegralIntLiteral $fShowInclude $fEqInclude$fIsStringInclude$fShowStringLiteral$fEqStringLiteral$fIsStringStringLiteral $fShowIdent $fEqIdent$fIsStringIdent $fOrdIdent$fSemigroupIdent$fShowFileTree $fEqFileTree$fFoldableFileTree$fFunctorFileTree$fTraversableFileTree voffsetSize uoffsetSize soffsetSizefileIdentifierSize textRefSize tableRefSize word8Size word16Size word32Size word64Sizeint8Size int16Size int32Size int64SizeboolSize floatSize doubleSizeParserschemadeclsclexemesymbolrwordcurlysquareparenscommaSep commaSep1commaSepEndBy1semicolonidenttyptypeRef tableField structField tableDecl structDeclenumDeclenumVal unionDeclunionVal namespaceDecl stringLiteral intLiteral attributeVal defaultValmetadatainclude nativeIncluderootDeclfileExtensionDeclfileIdentifierDecl attributeDecl attributeNamejsonObjrpcDecl rpcMethod parseSchemasparseImportedSchemaHasFileIdentifiergetFileIdentifierFileIdentifierunFileIdentifierfileIdentifierfileIdentifier'unsafeFileIdentifierunsafeFileIdentifier'$fEqFileIdentifier$fShowFileIdentifier Alignment unAlignment InlineSize unInlineSizeIsStructstructAlignmentOf structSizeOf$fShowAlignment $fEqAlignment$fNumAlignment$fEnumAlignment$fOrdAlignment$fRealAlignment$fIntegralAlignment$fBoundedAlignment$fDisplayAlignment$fShowInlineSize$fEqInlineSize$fNumInlineSize$fEnumInlineSize$fOrdInlineSize$fRealInlineSize$fIntegralInlineSize$fBoundedInlineSize VectorElementVectorlength unsafeIndextoListtakedropPositive getPositive HasPosition getPositionmove PositionInfoposRoot posCurrentposOffsetFromRootPositionUnion UnionNone UnionUnknownStruct structPosTablevtabletablePosOffsetFromRootVOffset unVOffset TableIndex unTableIndex ReadErrordecodecheckFileIdentifier'positive moveToElemcheckIndexBoundsinlineVectorToListclamptoLazyByteStringreadStructFieldreadTableFieldOptreadTableFieldReqreadTableFieldWithDefreadTableFieldUnionreadTableFieldUnionVectorOptreadTableFieldUnionVectorReqreadInt8 readInt16 readInt32 readInt64 readWord8 readWord16 readWord32 readWord64 readFloat readDoublereadBool word8ToBoolreadPrimVectorreadTableVectorreadUnionVectorreadText readText' readTable readTable' readStructtableIndexToVOffsetreadUOffsetAndSkiprunGet missingFieldbyteStringSafeIndex$fHasPositionPositionInfo$fHasPositionByteString$fVectorElementUnion$fVectorElementTable$fVectorElementStruct$fVectorElementText$fVectorElementBool$fVectorElementDouble$fVectorElementFloat$fVectorElementInt64$fVectorElementInt32$fVectorElementInt16$fVectorElementInt8$fVectorElementWord64$fVectorElementWord32$fVectorElementWord16$fVectorElementWord8 $fEqPositive$fShowPositive$fShowOffsetFromRoot$fNumOffsetFromRoot$fRealOffsetFromRoot$fOrdOffsetFromRoot$fEnumOffsetFromRoot$fIntegralOffsetFromRoot$fEqOffsetFromRoot $fShowVOffset $fNumVOffset $fRealVOffset $fOrdVOffset $fEnumVOffset$fIntegralVOffset $fEqVOffset$fShowTableIndex$fNumTableIndexunionValTableRefVectorElementTypeVInt8VInt16VInt32VInt64VWord8VWord16VWord32VWord64VFloatVDoubleVBoolVStringVEnumVStructVTableVUnionTableFieldTypeTEnumTStructTTableTUnion tableFieldIdtableFieldDeprecated tableIsRootIsRootNotRootRequiredReqOptStructFieldTypeSInt8SInt16SInt32SInt64SWord8SWord16SWord32SWord64SFloatSDoubleSBoolSEnumSStructstructFieldPaddingstructFieldOffsetstructAlignment structSizeEnumTypeEInt8EInt16EInt32EInt64EWord8EWord16EWord32EWord64 enumValInt enumBitFlags$fHasIdentUnionVal$fEqTableFieldType$fShowTableFieldType$fEqVectorElementType$fShowVectorElementType $fEqIsRoot $fShowIsRoot $fEqRequired$fShowRequired$fNumDefaultVal$fIsStringDefaultVal$fOrdDefaultVal$fEnumDefaultVal$fRealDefaultVal$fIntegralDefaultVal$fFractionalDefaultVal$fBitsDefaultVal$fShowStructFieldType$fEqStructFieldType$fShowEnumType $fEqEnumTypedataTypeConstructorarg dataTypeName namespacegetter toEnumFun fromEnumFunenumUnionMemberenumBitFlagsConstantenumBitFlagsAllFunenumBitFlagsNamesFun enumNameFununionConstructor readUnionFunwithModulePrefixkeywordsreplaceKeywordUnpaddedStructFieldunpaddedStructFieldIdentunpaddedStructFieldTypeValidatedStructsTableFieldWithoutIdMatchMatchEMatchSMatchTMatchURootInforootTableNamespace rootTable rootFileIdent ValidDeclsStage4Stage3Stage2Stage1 SymbolTableallEnums allStructs allTables allUnionsMonadValidation validating resetContext getContextgetDeclaredAttributes throwErrorMsgValidationStatevalidationStateCurrentContextvalidationStateAllAttributes Validation runValidationvalidateSchemascreateSymbolTables insertSymbolupdateRootTable getRootInfoknownAttributesidAttrdeprecatedAttr requiredAttrforceAlignAttr bitFlagsAttrotherKnownAttributesfindDeclparentNamespaces validateEnums validateEnumvalidateTables validateTablecheckNoRequiredcheckNoDefault isRequiredvalidateDefaultValAsIntvalidateDefaultValAsScientificvalidateDefaultValAsBoolvalidateDefaultAsEnumscientificToIntegervalidateUnions validateUnionvalidateStructscheckStructCyclesvalidateStructstructFieldAlignment enumAlignmentenumSizestructFieldTypeSizecheckDuplicateIdentifierscheckUndeclaredAttributes hasAttribute findIntAttrfindStringAttr isPowerOfTworoundUpToNearestMultipleOf$fMonadValidationStateT$fMonadValidationValidation$fMonoidSymbolTable$fSemigroupSymbolTable$fShowUnpaddedStructField$fEqUnpaddedStructField$fEqSymbolTable$fShowSymbolTable$fFunctorValidation$fApplicativeValidation$fMonadValidationUnionTableInfoutiStateutiTablePositionsVecs TableInfotiStatetiTablePositions OffsetInfooiIndex oiOffsetsTextInfotiText tiUtf8len tiPadding tiPosition TextInfos FromFoldableWriteVectorElement WriteVectorfromMonoFoldable WriteUnionSomeNone WriteTable WriteStruct buildStructWriteTableFieldunWriteTableFieldFBStatebuilder bufferSizemaxAligncache BufferSize c_length_utf8encode encodeStateencodeStateWithFileIdentifierwrite writeInt32writeFileIdentifiermissing deprecatedoptional optionalDefwriteWord8TableFieldwriteWord16TableFieldwriteWord32TableFieldwriteWord64TableFieldwriteInt8TableFieldwriteInt16TableFieldwriteInt32TableFieldwriteInt64TableFieldwriteFloatTableFieldwriteDoubleTableFieldwriteBoolTableFieldwriteTextTableFieldwriteTableTableFieldwriteStructTableFieldwriteStructTableField'writeUnionTypesVectorTableField writeUnionValuesVectorTableFieldwriteUnionTypeTableFieldwriteUnionValueTableFieldnone writeUnion writeTablefromMonoFoldable'fromList fromList' singletonempty fromFoldable fromFoldable'fromByteStringfromLazyByteString inlineVector calcPaddingalignTouoffsetFromHere uoffsetFrom utf8length$fWriteVectorElementWriteStruct$fWriteVectorElementBool$fWriteVectorElementDouble$fWriteVectorElementFloat$fWriteVectorElementInt64$fWriteVectorElementInt32$fWriteVectorElementInt16$fWriteVectorElementInt8$fWriteVectorElementWord64$fWriteVectorElementWord32$fWriteVectorElementWord16$fWriteVectorElementWord8$fMonoFoldableFromFoldable$fWriteVectorElementText$fWriteVectorElementWriteTable$fWriteVectorElementWriteUnion$fFoldableFromFoldableOptionsincludeDirectoriescompileAllSchemas~>defaultOptions mkFlatBuffersfixMsgcompileSymbolTablemkEnummkEnumBitFlagsmkEnumBitFlagsConstantsmkEnumBitFlagsAllVallsmkEnumBitFlagsNames mkEnumNormal mkEnumDataDecmkToEnum mkFromEnum mkEnumNameFunmkStructmkIsStructInstancemkStructConstructormkStructConstructorArgmkStructFieldGettermkTablemkTableFileIdentifiermkTableConstructormkTableContructorArgmkTableFieldGettermkUnionmkUnionDataDecmkUnionConstructorsmkReadUnionFunenumTypeToTypeenumTypeToTableFieldTypeenumTypeToStructFieldTypeenumTypeToVectorElementTypestructFieldTypeToWriteTypestructFieldTypeToReadTypetableFieldTypeToWriteTypetableFieldTypeToReadTypevectorElementTypeToWriteTypevectorElementTypeToReadType typeRefToType requiredTypemkName'newName'intLitPintLitErealLitEtextLitE stringLitE inlinePragmaappcomposenonEmptyUnzip3 $fShowOptions $fEqOptionsbase GHC.MaybeNothingbytestring-0.10.10.0Data.ByteString.Internal ByteStringData.ByteString.UnsafeData.ByteString.Lazy.InternalvectorUnionTypesPosvectorUnionValuesPosvectorUnionReadElemGHC.Errerror VectorWord8 VectorUnion VectorTable VectorStruct VectorText VectorBool VectorDouble VectorFloat VectorInt64 VectorInt32 VectorInt16 VectorInt8 VectorWord64 VectorWord32 VectorWord160mono-traversable-1.0.15.1-HioPyu9TItXCGZlyfsycOlData.MonoTraversableolength Data.FoldableFoldable MonoFoldableWriteVectorUnionWriteVectorTableWriteVectorTextWriteVectorStructWriteVectorBoolWriteVectorDoubleWriteVectorFloatWriteVectorInt64WriteVectorInt32WriteVectorInt16WriteVectorInt8WriteVectorWord64WriteVectorWord32WriteVectorWord16WriteVectorWord8writeVectorTableTableFieldwriteVectorTextTableFieldwriteVectorStructTableFieldwriteVectorBoolTableFieldwriteVectorDoubleTableFieldwriteVectorFloatTableFieldwriteVectorInt64TableFieldwriteVectorInt32TableFieldwriteVectorInt16TableFieldwriteVectorInt8TableFieldwriteVectorWord64TableFieldwriteVectorWord32TableFieldwriteVectorWord16TableFieldwriteVectorWord8TableFieldversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName