@       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~               Safe    (c) Microsoft MIT adamsap@microsoft.com  provisional  portable Safe /Maps elements of a list and combines them with 1 using given separator, ending with a separator./Maps elements of a list and combines them with 3 using given separator, starting with a separator./Maps elements of a list and combines them with  using given separator.fThe function takes a function and a Maybe value. If the Maybe value is Nothing, the function returns :, otherwise, it applies the function to the value inside  and returns the result.If the 3rd argument is not D the function wraps it between the first and second argument using , otherwise it return ."Wraps the string argument between < and >, unless the argument is $ in which case the function returns ."Wraps the string argument between [ and ], unless the argument is $ in which case the function returns ."Wraps the string argument between { and }, unless the argument is $ in which case the function returns ."Wraps the string argument between ( and ), unless the argument is $ in which case the function returns .    (c) Microsoft MIT adamsap@microsoft.com  provisional  portable Safe!"5 PThe top level type representing the Bond schema definition abstract syntax tree. Jhttps://microsoft.github.io/bond/manual/compiler.html#namespace-definition Namespace declaration.Language annotation for namespaces. Note that language-specific namespaces are only supported for backward compatibility and are not recommended. Ghttps://microsoft.github.io/bond/manual/compiler.html#import-statementsImport declaration.Bond schema declaration Ghttps://microsoft.github.io/bond/manual/compiler.html#struct-definitionstruct definition Ehttps://microsoft.github.io/bond/manual/compiler.html#enum-definitionenum definition Ihttps://microsoft.github.io/bond/manual/compiler.html#forward-declarationforward declaration Bhttps://microsoft.github.io/bond/manual/compiler.html#type-aliasestype alias definition Hhttps://microsoft.github.io/bond/manual/compiler.html#service-definitionservice definition'Method of a service.Type parameter of a  >https://microsoft.github.io/bond/manual/compiler.html#genericsgeneric  or type 2Constraint on a ..3*the type parameter allows only value types4Definition of an  constant.8Definition of a  field.@ Ghttps://microsoft.github.io/bond/manual/compiler.html#custom-attributes Attribute* for attaching user defined metadata to a  or a 8DDefault value of a field.Iname of an enum 4J&explicitly specified default value of nothingKType in the Bond type system\*type for fields with the default value of nothingc5an integer argument in an instance of a generic type dtype parameter of a generic  or  declarationeTuser defined type or an instance of a generic type with the specified type argumentsf2Specifies whether a field is required or optional.g9field is optional and may be omitted during serializationh=field is required, deserialization will fail if it is missingibdeserialization will not fail if the field is missing but it can't be omitted during serializationjRepresents fully qualified nameb  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijb  !"#$%&')(*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijr j !"# $ ! !% !&89:;<=>?DEFGHIJfghi4567KLMNOPQRSTUVWXYZ[\]^_`abcde./0123'()*+,-*,-@ABC   !"# $ ! !% !&' ()*+,-*,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij(c) Microsoft MIT adamsap@microsoft.com  provisional  portable Safe!"Returns ! if the type represents a scalar.Returns ) if the type represents unsigned integer.Returns ' if the type represents signed integer.Returns . if the type represents floating point number.Returns ) if the type represents a meta-name type.Returns ! if the type represents a string.Returns + if the type represents a list or a vector.Returns ' if the type represents a map or a set.Returns D if the type represents a container (i.e. list, vector, set or map).Returns A if the type represents a struct or a struct forward declaration.Returns  if the type represents an enumReturns ( if the type represents a nullable type.Recursively map a K into another K.ExamplesChange lists into vectors: JlistToVector = fmapType f where f (BT_List x) = BT_Vector x f x = x4Maps all fields, including fields of the base, to a %, and combines the results. Returns  if type is not a struct.Examples(Check if there are any container fields: nanyContainerFields :: Type -> Bool anyContainerFields = getAny . foldMapFields (Any . isContainer . fieldType)Like  but takes a  as an argument instead of K.Maps all parts of a K to a  and combines the results.Examples For a type: list<nullable<int32>>the result is: O f (BT_List (BT_Nullable BT_Int32)) <> f (BT_Nullable BT_Int32) <> f BT_Int32[ resolves type aliases. E.g. given the following type alias declaration (Bond IDL syntax): using Array<T, N> = vector<T>;"the result for the following type: Array<int32, 10>is: d f (BT_UserDefined Alias{..} [BT_Int32, BT_IntTypeArg 10]) <> f (BT_Vector BT_Int32) <> f BT_Int32Resolves a type alias declaration with given type arguments. Note that the function resolves one level of aliasing and thus may return a type alias.(c) Microsoft MIT adamsap@microsoft.com  provisional  portable None!" Safe!"  !"#$%&'()*!"#$&'  !"#$%&'()* Safe%+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO./0123456789:;<=>@ABCDFGHIJMNO%+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO(c) Microsoft MIT adamsap@microsoft.com  provisional  portable Safe!"T+Parses content of a schema definition file.-PQRSTUV path of the file containing the Ghttps://microsoft.github.io/bond/manual/compiler.html#import-statementsimport statement,(usually relative) path of the imported fileTthe resolver function returns the resolved path of the imported file and its contentWXYZ)source name, used only for error messages!content of a schema file to parseDpath of the file being parsed, used to resolve relative import paths+function to resolve and load imported filesfunction returns  9 which represents the parsed abstract syntax tree or  ParserError if parsing failed[\]^_`abcdefghijklmnopqrstuvwxyz%PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz(c) Microsoft MIT adamsap@microsoft.com  provisional  portable NonebSeparates elements of a list with new lines. Starts new lines at the specified indentation level.uSeparates elements of a list with comma followed by a new line. Starts new lines at the specified indentation level.zSeparates elements of a list with new lines, ending with a new line. Starts new lines at the specified indentation level.}Separates elements of a list with new lines, beginning with a new line. Starts new lines at the specified indentation level.fSeparates elements of a list with two new lines. Starts new lines at the specified indentation level.Separates elements of a list with two new lines, ending with two new lines. Starts new lines at the specified indentation level.qReturns common header for generated files using specified single-line comment lead character(s) and a file name.{|}~{|}~ Safe #Specification of namespace mapping.schema namespacenamespace in the generated code&Specification of a type alias mapping.qualified name of a type alias=list of fragments comprising the custom mapping for the alias3Specification of a fragment of type alias mappings.hardcoded string fragment\placeholder for the n-th type argument of the type alias, applicable only to generic aliasesMParse a type alias mapping specification used in command-line arguments of  Jhttps://microsoft.github.io/bond/manual/compiler.html#command-line-optionsgbc.Examples > parseAliasMapping "Example.OrderedSet=SortedSet<{0}>" Right (AliasMapping {aliasName = ["Example","OrderedSet"], aliasTemplate = [Fragment "SortedSet<",Placeholder 0,Fragment ">"]})LParse a namespace mapping specification used in command-line arguments of  Jhttps://microsoft.github.io/bond/manual/compiler.html#command-line-optionsgbc.Examples > parseNamespaceMapping "bond=Microsoft.Bond" Right (NamespaceMapping {fromNamespace = ["bond"], toNamespace = ["Microsoft","Bond"]})  (c) Microsoft MIT adamsap@microsoft.com  provisional  portable None!"#A type representing a type mapping.The  encapsulates information about mapping Bond types into types in the target language. A context instance is passed to code generation templates.Returns the namespace for the W. The namespace may be different than specified in the schema definition file due to  #namespace-mappingnamespace mapping.Returns the namespace for a  in the specified .)Builds a qualified name in the specified . Builds the qualified name for a  in the specified .Builds the name of a K in the specified .0Builds the name to be used when instantiating a KJ. The instance type name may be different than the type name returned by " when the latter is an interface.Builds the annotated name of a K. The type annotations are used to express type information about a Bond type that doesn't directly map to the target language type system (e.g. distinction between a nullable and non-nullable string in C# type system).Returns 1 if the alias has a custom mapping in the given .The Bond IDL type name mapping."The default C++ type name mapping./C++ type name mapping using a custom allocator.!The default C# type name mapping.[C# type name mapping using interfaces rather than concrete types to represent collections.DBuilder for nested element types (e.g. list elements) in context of  monad. Used to implement  function of .%Builder for the qualified name for a  in context of  monad. Used to implement  function of .Builder for the name for a  in context of  monad. Used to implement  function of ..Builder for the type alias name in context of  monad. Used to implement  function of .://, 666(c) Microsoft MIT adamsap@microsoft.com  provisional  portable None!"Returns an instance of  Dhttps://microsoft.github.io/bond/manual/compiler.html#runtime-schema SchemaDefo for the specified type. The SchemaDef is encoded using the Bond Simple JSON protocol and returned as a lazy .,None!"  None!"9Representation of schema fields in the generated C# types public fieldsauto-properties#auto-properties with private setter#C# representation of schema structspublic partial classPCodegen template for generating definitions of C# types representing the schema.)Specifies how to represent schema structs(Specifies how to represent schema fieldsNone!"~Codegen template for generating code containing declarations of of services including interfaces, proxies and services files.None!"None!" Codegen template for generating  base_nameE_type.h containing definitions of C++ types representing the schema.$list of optional header files to be #include'ed by the generated code3 to generate enum definitions into a separate file  base_name_enum.h:optional custom allocator to be used in the generated codeNone!" Codegen template for generating  base_name\_types.cpp containing definitions of helper functions and schema metadata static variables.None!" Codegen template for generating  base_namea_comm_types.cpp containing definitions of helper functions and schema metadata static variables.None!" Codegen template for generating  base_name6_reflection.h containing schema metadata definitions.None!" Codegen template for generating  base_name7_enum.h containing definitions of enums. Generated by  5https://microsoft.github.io/bond/manual/compiler.htmlgbc with  --enum-header flag.None!" Codegen template for generating  base_nameC_comm.h containing declarations of of service interface and proxy.None!"9Protocol data type is used to specify what protocols the Apply- function overloads should be generated for. 3Name of the class implementing the protocol reader. 3Name of the class implementing the protocol writer.      None  Codegen template for generating  base_name*_apply.cpp containing definitions of the Apply0 function overloads for the specified protocols. List of protocols for which Apply overloads should be generated  None!"  Codegen template for generating  base_name%_apply.h containing declarations of  Khttps://microsoft.github.io/bond/manual/bond_cpp.html#optimizing-build-timeApply1 function overloads for the specified protocols. List of protocols for which Apply overloads should be generated#Optional attribute to decorate the Apply function declarations  (c) Microsoft MIT adamsap@microsoft.com  provisional  portable None         !"#$$%&'(()*+,-.//0123456789:;<=>?@ABCDEFFGHIJKKLMNNOPQRSTUUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                    ! " # $ % & '()*()+(),(-2./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 [ \ ]^__`abcddefghijklmnopqrstuvwxyz{|}~ ^  D o K O Es#bond-0.7.0.0-EdksEQ5YXBG1hruqR7GZ8QLanguage.Bond.UtilLanguage.Bond.Syntax.TypesLanguage.Bond.Syntax.UtilLanguage.Bond.Syntax.JSONLanguage.Bond.ParserLanguage.Bond.Codegen.Util!Language.Bond.Codegen.TypeMappingLanguage.Bond.Syntax.SchemaDefLanguage.Bond.Codegen.Templates Paths_bondLanguage.Bond.Syntax.InternalLanguage.Bond.Lexer#Language.Bond.Codegen.CustomMappingLanguage.Bond.Codegen.Cs.Util!Language.Bond.Codegen.Cs.Types_cs Language.Bond.Codegen.Cs.Comm_csLanguage.Bond.Codegen.Cpp.Util!Language.Bond.Codegen.Cpp.Types_h#Language.Bond.Codegen.Cpp.Types_cpp(Language.Bond.Codegen.Cpp.Types_Comm_cpp&Language.Bond.Codegen.Cpp.Reflection_h Language.Bond.Codegen.Cpp.Enum_h Language.Bond.Codegen.Cpp.Comm_h(Language.Bond.Codegen.Cpp.ApplyOverloads#Language.Bond.Codegen.Cpp.Apply_cpp!Language.Bond.Codegen.Cpp.Apply_hsepEndBy sepBeginBysepByoptionalbetweenanglesbracketsbracesparensBond bondImportsbondNamespacesbondDeclarations Namespace nsLanguagensNameLanguageCppCsJavaImport DeclarationStructEnumForwardAliasServicedeclNamespacesdeclAttributesdeclName declParams structBase structFields enumConstants aliasTypeserviceMethodsMethodFunctionEventmethodAttributes methodResult methodName methodInput TypeParam paramNameparamConstraint ConstraintValueConstant constantName constantValueFieldfieldAttributes fieldOrdinal fieldModifier fieldType fieldName fieldDefault AttributeattrName attrValueDefault DefaultBoolDefaultInteger DefaultFloat DefaultString DefaultEnumDefaultNothingTypeBT_Int8BT_Int16BT_Int32BT_Int64BT_UInt8 BT_UInt16 BT_UInt32 BT_UInt64BT_Float BT_DoubleBT_Bool BT_String BT_WString BT_MetaNameBT_MetaFullNameBT_BlobBT_MaybeBT_List BT_Vector BT_NullableBT_SetBT_Map BT_Bonded BT_IntTypeArg BT_TypeParamBT_UserDefinedModifierOptionalRequiredRequiredOptional QualifiedName $fEqModifier$fShowModifier $fEqDefault $fShowDefault $fEqAttribute$fShowAttribute $fEqConstant$fShowConstant$fEqConstraint$fShowConstraint $fEqTypeParam$fShowTypeParam $fEqImport $fShowImport $fEqLanguage$fShowLanguage $fEqNamespace$fShowNamespace$fEqDeclaration$fShowDeclaration $fEqMethod $fShowMethod$fEqType $fShowType $fEqField $fShowField$fEqBond $fShowBondisScalar isUnsignedisSignedisFloat isMetaNameisStringisList isAssociative isContainerisStructisEnum isNullablefmapType foldMapFieldsfoldMapStructFields foldMapType resolveAlias $fToJSONBond$fFromJSONBond$fToJSONNamespace$fFromJSONNamespace$fToJSONConstraint$fFromJSONConstraint $fToJSONField$fFromJSONField$fToJSONDefault$fFromJSONDefault $fToJSONType$fFromJSONType$fFromJSONModifier$fToJSONModifier$fFromJSONAttribute$fToJSONAttribute$fFromJSONConstant$fToJSONConstant$fFromJSONTypeParam$fToJSONTypeParam$fFromJSONDeclaration$fToJSONDeclaration$fFromJSONImport$fToJSONImport$fFromJSONLanguage$fToJSONLanguage$fFromJSONMethod$fToJSONMethodImportResolver parseBond newlineSep commaLineSep newlineSepEndnewlineBeginSep doubleLineSepdoubleLineSepEnd commonHeader$fToTextInteger$fToTextDouble$fToTextWord16NamespaceMapping fromNamespace toNamespace AliasMapping aliasName aliasTemplateFragment PlaceholderparseAliasMappingparseNamespaceMappingTypeNameBuilder TypeMappinglanguageglobal separatormapType fixSyntaxinstanceMappingelementMappingannotatedMappingMappingContext typeMapping aliasMappingnamespaceMapping namespaces getNamespacegetDeclNamespacegetQualifiedNamegetDeclTypeName getTypeNamegetInstanceTypeNamegetAnnotatedTypeNamecustomAliasMappingidlTypeMappingcppTypeMappingcppCustomAllocTypeMapping csTypeMapping!csCollectionInterfacesTypeMappingelementTypeNamedeclQualifiedTypeName declTypeName aliasTypeNameencodeSchemaDef makeSchemaDef$fToJSONSchemaDef$fToJSONStructDef$fToJSONFieldDef$fToJSONTypeDef$fToJSONMetadata$fToJSONVariant FieldMapping PublicFields PropertiesReadOnlyProperties StructMappingClasstypes_cscomm_interface_cs comm_proxy_cscomm_service_cstypes_h types_cpptypes_comm_cpp reflection_henum_hcomm_hProtocolprotocolReaderprotocolWriter apply_cppapply_hcatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamebaseGHC.BasemappendmemptyJustGHC.Enumghc-prim GHC.TypesTrueMonoid ShowPretty showPrettytakeName takeNamespaceshowQualifiedNameshowTypeParams metaField isBaseField$fShowPrettyDeclaration$fShowPrettyTypeParam$fShowPrettyConstraint LanguageDefbondIdllexercoloncomma commaSep1decimal identifierintegerkeywordlexemenaturalsemisemiSepsymbol whiteSpacenamespaceLexernamespaceIdentifierequalsemiEndcommaEnd commaEnd1 semiOrCommasemiOrCommaSepsemiOrCommaSep1semiOrCommaEndsemiOrCommaSepEndsemiOrCommaSepEnd1quotequotes stringLiteralunescapedStringLiteralfloatParser EnvironmentcurrentNamespaces currentParams currentFile resolveImportSymbolssymbolsimportsbondimport_ processImport declaration updateSymbols findSymbol findStruct namespace qualifiedName parametersaliasforward attributesviewstruct manySortedByfieldvalidDefaultType isInBoundsenum basicType complexTypeuserType userSymboltype_ftypeservicefunctioneventinputpayload checkUserTypeindent commaLinenewLine doubleLine whitespace csCollectionInstancesTypeMappingcsAnnotatedTypeMapping<<>><>><<>pureTextcommaSepTypeNamestypeName localWithinstanceTypeNameannotatedTypeNameresolveNamespacedeclQualifiedNamefindAliasMappingidlTypecppTypecppTypeCustomAlloccomparer allocator pairAllocator cppSyntaxFixcsTypecsInterfaceTypecsTypeAnnotationbytestring-0.10.8.1Data.ByteString.Lazy.Internal ByteStringVariant uint_value int_value double_value string_value wstring_valuenothingMetadatanamequalified_namemodifier default_valueTypeDefid struct_defelementkey bonded_typeFieldDef _metadata_id_type StructDefmetadatabase_deffields SchemaDefstructstypeIddisableCscWarningsdisableReSharperWarningspropertyAttributestypeAttributesgeneratedCodeAttridloptionalTypeAttributesschemaAttributesparamConstraints defaultValuegetMessageTypeNamegetMessageProxyInputParamparamOrBondVoid openNamespacecloseNamespace className classParamsqualifiedClassNametemplate attributeInit modifierTag enumValueschemaMetadatadefaultedFunctionsdefaultedMoveCtorsrvalueReferencesifndefenumDefinitionapplyOverloads