From 2cd58f91c6ffd810a54de90d4806c01166adf7a4 Mon Sep 17 00:00:00 2001 From: Varun Gandhi Date: Tue, 12 Dec 2023 20:17:46 +0530 Subject: [PATCH] schema: Specify the encoding for character offsets --- bindings/go/scip/scip.pb.go | 906 ++++--- bindings/haskell/src/Proto/Scip.hs | 2292 +++++++++-------- bindings/haskell/src/Proto/Scip_Fields.hs | 6 + bindings/rust/src/generated/scip.rs | 2777 +++++++++++---------- bindings/typescript/scip.ts | 29 + docs/scip.md | 53 +- scip.proto | 35 +- 7 files changed, 3323 insertions(+), 2775 deletions(-) diff --git a/bindings/go/scip/scip.pb.go b/bindings/go/scip/scip.pb.go index e2c3a903..60a705bb 100644 --- a/bindings/go/scip/scip.pb.go +++ b/bindings/go/scip/scip.pb.go @@ -123,6 +123,78 @@ func (TextEncoding) EnumDescriptor() ([]byte, []int) { return file_scip_proto_rawDescGZIP(), []int{1} } +// Encoding used to interpret the 'character' value in source ranges. +type PositionEncoding int32 + +const ( + // Default value. This value should not be used by new SCIP indexers + // so that a consumer can process the SCIP index without ambiguity. + PositionEncoding_UnspecifiedPositionEncoding PositionEncoding = 0 + // The 'character' value is interpreted as a byte offset, + // assuming that the text for the line is encoded as UTF-8. + // + // Example: For the string "🚀 Woo" in UTF-8, the bytes are + // [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W' + // would be 5. + PositionEncoding_UTF8ByteOffsetFromLineStart PositionEncoding = 1 + // The 'character' value is interpreted as an offset in terms + // of UTF-8 code units. + // + // Example: For the string "🚀 Woo", the UTF-8 code units are + // ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2. + PositionEncoding_UTF8CodeUnitOffsetFromLineStart PositionEncoding = 2 + // The 'character' value is interpreted as an offset in terms + // of UTF-16 code units. + // + // Example: For the string "🚀 Woo", the UTF-16 code units are + // ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W' + // would be 3. + PositionEncoding_UTF16CodeUnitOffsetFromLineStart PositionEncoding = 3 +) + +// Enum value maps for PositionEncoding. +var ( + PositionEncoding_name = map[int32]string{ + 0: "UnspecifiedPositionEncoding", + 1: "UTF8ByteOffsetFromLineStart", + 2: "UTF8CodeUnitOffsetFromLineStart", + 3: "UTF16CodeUnitOffsetFromLineStart", + } + PositionEncoding_value = map[string]int32{ + "UnspecifiedPositionEncoding": 0, + "UTF8ByteOffsetFromLineStart": 1, + "UTF8CodeUnitOffsetFromLineStart": 2, + "UTF16CodeUnitOffsetFromLineStart": 3, + } +) + +func (x PositionEncoding) Enum() *PositionEncoding { + p := new(PositionEncoding) + *p = x + return p +} + +func (x PositionEncoding) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PositionEncoding) Descriptor() protoreflect.EnumDescriptor { + return file_scip_proto_enumTypes[2].Descriptor() +} + +func (PositionEncoding) Type() protoreflect.EnumType { + return &file_scip_proto_enumTypes[2] +} + +func (x PositionEncoding) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PositionEncoding.Descriptor instead. +func (PositionEncoding) EnumDescriptor() ([]byte, []int) { + return file_scip_proto_rawDescGZIP(), []int{2} +} + // SymbolRole declares what "role" a symbol has in an occurrence. A role is // encoded as a bitset where each bit represents a different role. For example, // to determine if the `Import` role is set, test whether the second bit of the @@ -189,11 +261,11 @@ func (x SymbolRole) String() string { } func (SymbolRole) Descriptor() protoreflect.EnumDescriptor { - return file_scip_proto_enumTypes[2].Descriptor() + return file_scip_proto_enumTypes[3].Descriptor() } func (SymbolRole) Type() protoreflect.EnumType { - return &file_scip_proto_enumTypes[2] + return &file_scip_proto_enumTypes[3] } func (x SymbolRole) Number() protoreflect.EnumNumber { @@ -202,7 +274,7 @@ func (x SymbolRole) Number() protoreflect.EnumNumber { // Deprecated: Use SymbolRole.Descriptor instead. func (SymbolRole) EnumDescriptor() ([]byte, []int) { - return file_scip_proto_rawDescGZIP(), []int{2} + return file_scip_proto_rawDescGZIP(), []int{3} } type SyntaxKind int32 @@ -387,11 +459,11 @@ func (x SyntaxKind) String() string { } func (SyntaxKind) Descriptor() protoreflect.EnumDescriptor { - return file_scip_proto_enumTypes[3].Descriptor() + return file_scip_proto_enumTypes[4].Descriptor() } func (SyntaxKind) Type() protoreflect.EnumType { - return &file_scip_proto_enumTypes[3] + return &file_scip_proto_enumTypes[4] } func (x SyntaxKind) Number() protoreflect.EnumNumber { @@ -400,7 +472,7 @@ func (x SyntaxKind) Number() protoreflect.EnumNumber { // Deprecated: Use SyntaxKind.Descriptor instead. func (SyntaxKind) EnumDescriptor() ([]byte, []int) { - return file_scip_proto_rawDescGZIP(), []int{3} + return file_scip_proto_rawDescGZIP(), []int{4} } type Severity int32 @@ -442,11 +514,11 @@ func (x Severity) String() string { } func (Severity) Descriptor() protoreflect.EnumDescriptor { - return file_scip_proto_enumTypes[4].Descriptor() + return file_scip_proto_enumTypes[5].Descriptor() } func (Severity) Type() protoreflect.EnumType { - return &file_scip_proto_enumTypes[4] + return &file_scip_proto_enumTypes[5] } func (x Severity) Number() protoreflect.EnumNumber { @@ -455,7 +527,7 @@ func (x Severity) Number() protoreflect.EnumNumber { // Deprecated: Use Severity.Descriptor instead. func (Severity) EnumDescriptor() ([]byte, []int) { - return file_scip_proto_rawDescGZIP(), []int{4} + return file_scip_proto_rawDescGZIP(), []int{5} } type DiagnosticTag int32 @@ -491,11 +563,11 @@ func (x DiagnosticTag) String() string { } func (DiagnosticTag) Descriptor() protoreflect.EnumDescriptor { - return file_scip_proto_enumTypes[5].Descriptor() + return file_scip_proto_enumTypes[6].Descriptor() } func (DiagnosticTag) Type() protoreflect.EnumType { - return &file_scip_proto_enumTypes[5] + return &file_scip_proto_enumTypes[6] } func (x DiagnosticTag) Number() protoreflect.EnumNumber { @@ -504,7 +576,7 @@ func (x DiagnosticTag) Number() protoreflect.EnumNumber { // Deprecated: Use DiagnosticTag.Descriptor instead. func (DiagnosticTag) EnumDescriptor() ([]byte, []int) { - return file_scip_proto_rawDescGZIP(), []int{5} + return file_scip_proto_rawDescGZIP(), []int{6} } // Language standardises names of common programming languages that can be used @@ -867,11 +939,11 @@ func (x Language) String() string { } func (Language) Descriptor() protoreflect.EnumDescriptor { - return file_scip_proto_enumTypes[6].Descriptor() + return file_scip_proto_enumTypes[7].Descriptor() } func (Language) Type() protoreflect.EnumType { - return &file_scip_proto_enumTypes[6] + return &file_scip_proto_enumTypes[7] } func (x Language) Number() protoreflect.EnumNumber { @@ -880,7 +952,7 @@ func (x Language) Number() protoreflect.EnumNumber { // Deprecated: Use Language.Descriptor instead. func (Language) EnumDescriptor() ([]byte, []int) { - return file_scip_proto_rawDescGZIP(), []int{6} + return file_scip_proto_rawDescGZIP(), []int{7} } type Descriptor_Suffix int32 @@ -947,11 +1019,11 @@ func (x Descriptor_Suffix) String() string { } func (Descriptor_Suffix) Descriptor() protoreflect.EnumDescriptor { - return file_scip_proto_enumTypes[7].Descriptor() + return file_scip_proto_enumTypes[8].Descriptor() } func (Descriptor_Suffix) Type() protoreflect.EnumType { - return &file_scip_proto_enumTypes[7] + return &file_scip_proto_enumTypes[8] } func (x Descriptor_Suffix) Number() protoreflect.EnumNumber { @@ -1301,11 +1373,11 @@ func (x SymbolInformation_Kind) String() string { } func (SymbolInformation_Kind) Descriptor() protoreflect.EnumDescriptor { - return file_scip_proto_enumTypes[8].Descriptor() + return file_scip_proto_enumTypes[9].Descriptor() } func (SymbolInformation_Kind) Type() protoreflect.EnumType { - return &file_scip_proto_enumTypes[8] + return &file_scip_proto_enumTypes[9] } func (x SymbolInformation_Kind) Number() protoreflect.EnumNumber { @@ -1407,7 +1479,8 @@ type Metadata struct { // directory. ProjectRoot string `protobuf:"bytes,3,opt,name=project_root,json=projectRoot,proto3" json:"project_root,omitempty"` // Text encoding of the source files on disk that are referenced from - // `Document.relative_path`. + // `Document.relative_path`. This value is unrelated to the `Document.text` + // field, which is a Protobuf string and hence must be UTF-8 encoded. TextDocumentEncoding TextEncoding `protobuf:"varint,4,opt,name=text_document_encoding,json=textDocumentEncoding,proto3,enum=scip.TextEncoding" json:"text_document_encoding,omitempty"` } @@ -1574,6 +1647,8 @@ type Document struct { // can be used for other purposes as well, for example testing or when working // with virtual/in-memory documents. Text string `protobuf:"bytes,5,opt,name=text,proto3" json:"text,omitempty"` + // Specifies the encoding used for source ranges in this Document. + PositionEncoding PositionEncoding `protobuf:"varint,6,opt,name=position_encoding,json=positionEncoding,proto3,enum=scip.PositionEncoding" json:"position_encoding,omitempty"` } func (x *Document) Reset() { @@ -1643,6 +1718,13 @@ func (x *Document) GetText() string { return "" } +func (x *Document) GetPositionEncoding() PositionEncoding { + if x != nil { + return x.PositionEncoding + } + return PositionEncoding_UnspecifiedPositionEncoding +} + // Symbol is similar to a URI, it identifies a class, method, or a local // variable. `SymbolInformation` contains rich metadata about symbols such as // the docstring. @@ -2173,6 +2255,9 @@ type Occurrence struct { // line/character values before displaying them in an editor-like UI because // editors conventionally use 1-based numbers. // + // The 'character' value is interpreted based on the PositionEncoding for + // the Document. + // // Historical note: the original draft of this schema had a `Range` message // type with `start` and `end` fields of type `Position`, mirroring LSP. // Benchmarks revealed that this encoding was inefficient and that we could @@ -2465,7 +2550,7 @@ var file_scip_proto_rawDesc = []byte{ 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xc6, 0x01, 0x0a, 0x08, 0x44, + 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x8b, 0x02, 0x0a, 0x08, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, @@ -2478,346 +2563,361 @@ var file_scip_proto_rawDesc = []byte{ 0x73, 0x63, 0x69, 0x70, 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x65, 0x78, 0x74, 0x22, 0x7d, 0x0a, 0x06, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x63, 0x69, 0x70, 0x2e, 0x50, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x32, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x63, 0x69, 0x70, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, - 0x72, 0x73, 0x22, 0x51, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9f, 0x02, 0x0a, 0x0a, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x61, - 0x6d, 0x62, 0x69, 0x67, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x64, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x69, 0x67, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2f, - 0x0a, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, - 0x2e, 0x73, 0x63, 0x69, 0x70, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, - 0x2e, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x52, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x22, - 0xa5, 0x01, 0x0a, 0x06, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x6e, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x10, - 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x10, 0x01, - 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x10, 0x01, 0x1a, 0x02, 0x08, - 0x01, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x54, - 0x65, 0x72, 0x6d, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, - 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x65, 0x74, 0x61, 0x10, 0x07, 0x12, 0x09, 0x0a, - 0x05, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x10, 0x08, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x61, 0x63, 0x72, - 0x6f, 0x10, 0x09, 0x1a, 0x02, 0x10, 0x01, 0x22, 0xab, 0x0c, 0x0a, 0x11, 0x53, 0x79, 0x6d, 0x62, - 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x6f, - 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x0d, 0x72, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x63, 0x69, 0x70, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x68, 0x69, 0x70, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x73, 0x63, 0x69, 0x70, 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, - 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4b, 0x69, 0x6e, - 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x17, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x73, 0x63, - 0x69, 0x70, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x16, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6e, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, - 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, - 0x6e, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x22, 0xd4, - 0x09, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x6e, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4b, 0x69, 0x6e, 0x64, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, - 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, 0x42, - 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x10, 0x48, 0x12, 0x09, - 0x0a, 0x05, 0x41, 0x72, 0x72, 0x61, 0x79, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x73, 0x73, - 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x41, - 0x78, 0x69, 0x6f, 0x6d, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, - 0x6e, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x10, 0x07, 0x12, 0x0c, - 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x10, 0x08, 0x12, 0x0f, 0x0a, 0x0b, - 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x10, 0x09, 0x12, 0x0c, 0x0a, - 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x3e, 0x12, 0x0e, 0x0a, 0x0a, 0x44, - 0x61, 0x74, 0x61, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x10, 0x0a, 0x12, 0x0c, 0x0a, 0x08, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x10, 0x49, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x6e, 0x75, - 0x6d, 0x10, 0x0b, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x6e, 0x75, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x10, 0x0c, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x3f, 0x12, 0x09, - 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x0d, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x61, 0x63, - 0x74, 0x10, 0x0e, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x10, 0x0f, 0x12, 0x08, - 0x0a, 0x04, 0x46, 0x69, 0x6c, 0x65, 0x10, 0x10, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x11, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x74, 0x65, 0x72, - 0x10, 0x12, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x72, 0x10, 0x13, 0x12, - 0x0c, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x10, 0x14, 0x12, 0x0d, 0x0a, - 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x10, 0x15, 0x12, 0x07, 0x0a, 0x03, - 0x4b, 0x65, 0x79, 0x10, 0x16, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x61, 0x6e, 0x67, 0x10, 0x17, 0x12, - 0x09, 0x0a, 0x05, 0x4c, 0x65, 0x6d, 0x6d, 0x61, 0x10, 0x18, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x10, 0x40, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x61, 0x63, 0x72, 0x6f, - 0x10, 0x19, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, 0x1a, 0x12, 0x0f, - 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x10, 0x4a, 0x12, - 0x12, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x72, 0x10, 0x1b, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x53, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x43, 0x12, 0x0b, 0x0a, 0x07, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0x1c, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x6f, 0x64, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x10, 0x41, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, - 0x65, 0x10, 0x1d, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x10, 0x1e, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x75, 0x6c, 0x6c, 0x10, 0x1f, 0x12, 0x0a, 0x0a, 0x06, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x20, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x10, 0x21, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x10, 0x22, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x10, 0x23, 0x12, - 0x11, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x10, 0x24, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x10, - 0x25, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x10, 0x26, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x10, 0x27, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x10, - 0x28, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x10, 0x29, 0x12, - 0x0c, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x10, 0x2a, 0x12, 0x12, 0x0a, - 0x0e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, - 0x44, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x75, 0x72, 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, 0x45, 0x12, 0x0f, 0x0a, 0x0b, 0x51, 0x75, 0x61, 0x73, - 0x69, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x72, 0x10, 0x2b, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x65, 0x6c, - 0x66, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x10, 0x2c, 0x12, 0x0a, 0x0a, 0x06, - 0x53, 0x65, 0x74, 0x74, 0x65, 0x72, 0x10, 0x2d, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x2e, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x69, 0x6e, 0x67, 0x6c, - 0x65, 0x74, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x10, 0x4b, 0x12, 0x13, 0x0a, 0x0f, 0x53, - 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, 0x4c, - 0x12, 0x14, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x10, 0x4d, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x4e, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x10, 0x4f, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x63, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, 0x50, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x10, 0x51, 0x12, 0x12, - 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, - 0x10, 0x52, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x10, 0x30, 0x12, 0x0a, - 0x0a, 0x06, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x10, 0x31, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x10, 0x2f, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x61, 0x63, - 0x74, 0x69, 0x63, 0x10, 0x32, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x68, 0x65, 0x6f, 0x72, 0x65, 0x6d, - 0x10, 0x33, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x68, 0x69, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x10, 0x34, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x72, 0x61, 0x69, 0x74, 0x10, 0x35, - 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x69, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, - 0x46, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x10, 0x36, 0x12, 0x0d, 0x0a, 0x09, 0x54, - 0x79, 0x70, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x10, 0x37, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x79, - 0x70, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x10, 0x38, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x79, 0x70, - 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, 0x47, 0x12, 0x0e, - 0x0a, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x10, 0x39, 0x12, 0x11, - 0x0a, 0x0d, 0x54, 0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x10, - 0x3a, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x6e, 0x69, 0x6f, 0x6e, 0x10, 0x3b, 0x12, 0x09, 0x0a, 0x05, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x3c, 0x12, 0x0c, 0x0a, 0x08, 0x56, 0x61, 0x72, 0x69, 0x61, - 0x62, 0x6c, 0x65, 0x10, 0x3d, 0x22, 0xc9, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x21, - 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, - 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, - 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x54, 0x79, - 0x70, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, - 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xa4, 0x02, 0x0a, 0x0a, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x21, - 0x0a, 0x0c, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x52, 0x6f, 0x6c, 0x65, - 0x73, 0x12, 0x35, 0x0a, 0x16, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x64, 0x6f, - 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x15, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x0b, 0x73, 0x79, 0x6e, 0x74, - 0x61, 0x78, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, - 0x73, 0x63, 0x69, 0x70, 0x2e, 0x53, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x4b, 0x69, 0x6e, 0x64, 0x52, - 0x0a, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x32, 0x0a, 0x0b, 0x64, - 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x73, 0x63, 0x69, 0x70, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, - 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, - 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x6c, 0x6f, 0x73, - 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x0a, 0x44, 0x69, 0x61, - 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2a, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, - 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x73, 0x63, 0x69, 0x70, - 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, - 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x74, 0x61, 0x67, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x73, 0x63, 0x69, 0x70, 0x2e, 0x44, - 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x54, 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, - 0x67, 0x73, 0x2a, 0x31, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x2a, 0x40, 0x0a, 0x0c, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x63, - 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, - 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x54, 0x46, 0x38, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, - 0x55, 0x54, 0x46, 0x31, 0x36, 0x10, 0x02, 0x2a, 0x94, 0x01, 0x0a, 0x0a, 0x53, 0x79, 0x6d, 0x62, - 0x6f, 0x6c, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x52, 0x6f, 0x6c, 0x65, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, - 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x10, 0x02, 0x12, 0x0f, 0x0a, - 0x0b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x04, 0x12, 0x0e, - 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x08, 0x12, 0x0d, - 0x0a, 0x09, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x10, 0x10, 0x12, 0x08, 0x0a, - 0x04, 0x54, 0x65, 0x73, 0x74, 0x10, 0x20, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x40, 0x2a, 0xea, - 0x06, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x19, 0x0a, - 0x15, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x79, 0x6e, 0x74, - 0x61, 0x78, 0x4b, 0x69, 0x6e, 0x64, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x10, 0x02, 0x12, - 0x16, 0x0a, 0x12, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x72, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x77, 0x6f, - 0x72, 0x64, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x11, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x10, 0x04, 0x1a, 0x02, 0x08, 0x01, 0x12, - 0x16, 0x0a, 0x12, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x10, 0x07, 0x12, 0x12, - 0x0a, 0x0e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4e, 0x75, 0x6c, 0x6c, - 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x10, 0x09, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x10, 0x0a, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x10, 0x0b, - 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4c, 0x6f, - 0x63, 0x61, 0x6c, 0x10, 0x0c, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x10, 0x0d, 0x12, 0x17, 0x0a, - 0x13, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x10, 0x0e, 0x12, 0x18, 0x0a, 0x10, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x10, 0x0e, 0x1a, 0x02, 0x08, 0x01, - 0x12, 0x16, 0x0a, 0x12, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x46, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x0f, 0x12, 0x20, 0x0a, 0x1c, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, - 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x10, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x10, 0x11, 0x12, - 0x1d, 0x0a, 0x19, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4d, 0x61, 0x63, - 0x72, 0x6f, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x12, 0x12, 0x12, - 0x0a, 0x0e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, - 0x10, 0x13, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x42, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x14, 0x12, 0x17, 0x0a, - 0x13, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x10, 0x15, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x65, 0x67, 0x65, 0x78, 0x45, - 0x73, 0x63, 0x61, 0x70, 0x65, 0x10, 0x16, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x65, 0x78, - 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x10, 0x17, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x65, - 0x67, 0x65, 0x78, 0x57, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x10, 0x18, 0x12, 0x12, 0x0a, - 0x0e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x10, - 0x19, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4a, 0x6f, 0x69, 0x6e, 0x10, 0x1a, - 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, - 0x6c, 0x10, 0x1b, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x74, - 0x65, 0x72, 0x61, 0x6c, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x10, 0x1c, 0x12, 0x18, 0x0a, 0x14, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x70, 0x65, - 0x63, 0x69, 0x61, 0x6c, 0x10, 0x1d, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x10, 0x1e, 0x12, 0x14, 0x0a, 0x10, - 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, - 0x10, 0x1f, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x4c, 0x69, 0x74, - 0x65, 0x72, 0x61, 0x6c, 0x10, 0x20, 0x12, 0x12, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, - 0x6e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x10, 0x21, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x61, - 0x67, 0x10, 0x22, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x61, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x10, 0x23, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x61, 0x67, 0x44, 0x65, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x65, 0x72, 0x10, 0x24, 0x1a, 0x02, 0x10, 0x01, 0x2a, 0x56, 0x0a, 0x08, 0x53, - 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x6e, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x10, 0x00, - 0x12, 0x09, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x69, 0x6e, - 0x74, 0x10, 0x04, 0x2a, 0x4e, 0x0a, 0x0d, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, - 0x63, 0x54, 0x61, 0x67, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x54, 0x61, 0x67, - 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x6e, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, - 0x79, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, - 0x64, 0x10, 0x02, 0x2a, 0x9b, 0x0a, 0x0a, 0x08, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x12, 0x17, 0x0a, 0x13, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x42, 0x41, - 0x50, 0x10, 0x3c, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x70, 0x65, 0x78, 0x10, 0x60, 0x12, 0x07, 0x0a, - 0x03, 0x41, 0x50, 0x4c, 0x10, 0x31, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x64, 0x61, 0x10, 0x27, 0x12, - 0x08, 0x0a, 0x04, 0x41, 0x67, 0x64, 0x61, 0x10, 0x2d, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x73, 0x63, - 0x69, 0x69, 0x44, 0x6f, 0x63, 0x10, 0x56, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x73, 0x73, 0x65, 0x6d, - 0x62, 0x6c, 0x79, 0x10, 0x3a, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x77, 0x6b, 0x10, 0x42, 0x12, 0x07, - 0x0a, 0x03, 0x42, 0x61, 0x74, 0x10, 0x44, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x69, 0x62, 0x54, 0x65, - 0x58, 0x10, 0x51, 0x12, 0x05, 0x0a, 0x01, 0x43, 0x10, 0x22, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, - 0x42, 0x4f, 0x4c, 0x10, 0x3b, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x50, 0x50, 0x10, 0x23, 0x12, 0x07, - 0x0a, 0x03, 0x43, 0x53, 0x53, 0x10, 0x1a, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x53, 0x68, 0x61, 0x72, - 0x70, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x6c, 0x6f, 0x6a, 0x75, 0x72, 0x65, 0x10, 0x08, - 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x6f, 0x66, 0x66, 0x65, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x10, 0x15, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x70, - 0x10, 0x09, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x6f, 0x71, 0x10, 0x2f, 0x12, 0x08, 0x0a, 0x04, 0x43, - 0x55, 0x44, 0x41, 0x10, 0x61, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x61, 0x72, 0x74, 0x10, 0x03, 0x12, - 0x0a, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x70, 0x68, 0x69, 0x10, 0x39, 0x12, 0x08, 0x0a, 0x04, 0x44, - 0x69, 0x66, 0x66, 0x10, 0x58, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x66, - 0x69, 0x6c, 0x65, 0x10, 0x50, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x79, 0x61, 0x6c, 0x6f, 0x67, 0x10, - 0x32, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x6c, 0x69, 0x78, 0x69, 0x72, 0x10, 0x11, 0x12, 0x0a, 0x0a, - 0x06, 0x45, 0x72, 0x6c, 0x61, 0x6e, 0x67, 0x10, 0x12, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x53, 0x68, - 0x61, 0x72, 0x70, 0x10, 0x2a, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x69, 0x73, 0x68, 0x10, 0x41, 0x12, - 0x08, 0x0a, 0x04, 0x46, 0x6c, 0x6f, 0x77, 0x10, 0x18, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x6f, 0x72, - 0x74, 0x72, 0x61, 0x6e, 0x10, 0x38, 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x69, 0x74, 0x5f, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x10, 0x5b, 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x69, 0x74, 0x5f, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x10, 0x59, 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x69, 0x74, 0x5f, 0x52, 0x65, - 0x62, 0x61, 0x73, 0x65, 0x10, 0x5c, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x6f, 0x10, 0x21, 0x12, 0x0b, - 0x0a, 0x07, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, 0x10, 0x62, 0x12, 0x0a, 0x0a, 0x06, 0x47, - 0x72, 0x6f, 0x6f, 0x76, 0x79, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x4d, 0x4c, 0x10, - 0x1e, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x61, 0x63, 0x6b, 0x10, 0x14, 0x12, 0x0e, 0x0a, 0x0a, 0x48, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x62, 0x61, 0x72, 0x73, 0x10, 0x5a, 0x12, 0x0b, 0x0a, 0x07, 0x48, - 0x61, 0x73, 0x6b, 0x65, 0x6c, 0x6c, 0x10, 0x2c, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x64, 0x72, 0x69, - 0x73, 0x10, 0x2e, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x6e, 0x69, 0x10, 0x48, 0x12, 0x05, 0x0a, 0x01, - 0x4a, 0x10, 0x33, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x4b, 0x12, 0x08, 0x0a, - 0x04, 0x4a, 0x61, 0x76, 0x61, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x61, 0x76, 0x61, 0x53, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x10, 0x16, 0x12, 0x13, 0x0a, 0x0f, 0x4a, 0x61, 0x76, 0x61, 0x53, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x61, 0x63, 0x74, 0x10, 0x5d, 0x12, 0x0b, 0x0a, 0x07, - 0x4a, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x74, 0x10, 0x4c, 0x12, 0x09, 0x0a, 0x05, 0x4a, 0x75, 0x6c, - 0x69, 0x61, 0x10, 0x37, 0x12, 0x0c, 0x0a, 0x08, 0x4a, 0x75, 0x73, 0x74, 0x66, 0x69, 0x6c, 0x65, - 0x10, 0x6d, 0x12, 0x0a, 0x0a, 0x06, 0x4b, 0x6f, 0x74, 0x6c, 0x69, 0x6e, 0x10, 0x04, 0x12, 0x09, - 0x0a, 0x05, 0x4c, 0x61, 0x54, 0x65, 0x58, 0x10, 0x53, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x65, 0x61, - 0x6e, 0x10, 0x30, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x65, 0x73, 0x73, 0x10, 0x1b, 0x12, 0x07, 0x0a, - 0x03, 0x4c, 0x75, 0x61, 0x10, 0x0c, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x75, 0x61, 0x75, 0x10, 0x6c, - 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x61, 0x6b, 0x65, 0x66, 0x69, 0x6c, 0x65, 0x10, 0x4f, 0x12, 0x0c, - 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x10, 0x54, 0x12, 0x0a, 0x0a, 0x06, - 0x4d, 0x61, 0x74, 0x6c, 0x61, 0x62, 0x10, 0x34, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x69, 0x63, 0x6b, - 0x65, 0x6c, 0x10, 0x6e, 0x12, 0x07, 0x0a, 0x03, 0x4e, 0x69, 0x78, 0x10, 0x4d, 0x12, 0x09, 0x0a, - 0x05, 0x4f, 0x43, 0x61, 0x6d, 0x6c, 0x10, 0x29, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x43, 0x10, 0x24, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x43, 0x50, 0x50, 0x10, 0x25, 0x12, 0x0a, 0x0a, 0x06, - 0x50, 0x61, 0x73, 0x63, 0x61, 0x6c, 0x10, 0x63, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x48, 0x50, 0x10, - 0x13, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x4c, 0x53, 0x51, 0x4c, 0x10, 0x46, 0x12, 0x08, 0x0a, 0x04, - 0x50, 0x65, 0x72, 0x6c, 0x10, 0x0d, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, - 0x68, 0x65, 0x6c, 0x6c, 0x10, 0x43, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x67, - 0x10, 0x47, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x10, 0x64, - 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x10, 0x0f, 0x12, 0x05, 0x0a, 0x01, - 0x52, 0x10, 0x36, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x10, 0x0b, 0x12, - 0x08, 0x0a, 0x04, 0x52, 0x61, 0x6b, 0x75, 0x10, 0x0e, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x61, 0x7a, - 0x6f, 0x72, 0x10, 0x3e, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x65, 0x70, 0x72, 0x6f, 0x10, 0x66, 0x12, - 0x08, 0x0a, 0x04, 0x52, 0x65, 0x53, 0x54, 0x10, 0x55, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x75, 0x62, - 0x79, 0x10, 0x10, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x75, 0x73, 0x74, 0x10, 0x28, 0x12, 0x07, 0x0a, - 0x03, 0x53, 0x41, 0x53, 0x10, 0x3d, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x43, 0x53, 0x53, 0x10, 0x1d, - 0x12, 0x07, 0x0a, 0x03, 0x53, 0x4d, 0x4c, 0x10, 0x2b, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x51, 0x4c, - 0x10, 0x45, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x61, 0x73, 0x73, 0x10, 0x1c, 0x12, 0x09, 0x0a, 0x05, - 0x53, 0x63, 0x61, 0x6c, 0x61, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x65, 0x10, 0x0a, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x53, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x10, 0x40, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x6b, 0x79, 0x6c, 0x61, 0x72, 0x6b, 0x10, - 0x4e, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x6c, 0x61, 0x6e, 0x67, 0x10, 0x6b, 0x12, 0x0c, 0x0a, 0x08, - 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x10, 0x5f, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x76, - 0x65, 0x6c, 0x74, 0x65, 0x10, 0x6a, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x77, 0x69, 0x66, 0x74, 0x10, - 0x02, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x63, 0x6c, 0x10, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x4f, - 0x4d, 0x4c, 0x10, 0x49, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x65, 0x58, 0x10, 0x52, 0x12, 0x0a, 0x0a, - 0x06, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x10, 0x67, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x79, 0x70, - 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x10, 0x17, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x79, 0x70, - 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x61, 0x63, 0x74, 0x10, 0x5e, 0x12, 0x0b, - 0x0a, 0x07, 0x56, 0x65, 0x72, 0x69, 0x6c, 0x6f, 0x67, 0x10, 0x68, 0x12, 0x08, 0x0a, 0x04, 0x56, - 0x48, 0x44, 0x4c, 0x10, 0x69, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x42, - 0x61, 0x73, 0x69, 0x63, 0x10, 0x3f, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x75, 0x65, 0x10, 0x19, 0x12, - 0x0b, 0x0a, 0x07, 0x57, 0x6f, 0x6c, 0x66, 0x72, 0x61, 0x6d, 0x10, 0x35, 0x12, 0x07, 0x0a, 0x03, - 0x58, 0x4d, 0x4c, 0x10, 0x1f, 0x12, 0x07, 0x0a, 0x03, 0x58, 0x53, 0x4c, 0x10, 0x20, 0x12, 0x08, - 0x0a, 0x04, 0x59, 0x41, 0x4d, 0x4c, 0x10, 0x4a, 0x12, 0x07, 0x0a, 0x03, 0x5a, 0x69, 0x67, 0x10, - 0x26, 0x42, 0x2f, 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x73, 0x63, 0x69, 0x70, - 0x2f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x73, 0x63, 0x69, - 0x70, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x78, 0x74, 0x12, 0x43, 0x0a, 0x11, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, + 0x2e, 0x73, 0x63, 0x69, 0x70, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, + 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x7d, 0x0a, 0x06, 0x53, 0x79, 0x6d, 0x62, + 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x07, 0x70, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x63, + 0x69, 0x70, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, + 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x63, 0x69, 0x70, 0x2e, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x51, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9f, 0x02, 0x0a, 0x0a, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, + 0x0d, 0x64, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x69, 0x67, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x69, 0x67, 0x75, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73, 0x63, 0x69, 0x70, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x52, 0x06, 0x73, 0x75, + 0x66, 0x66, 0x69, 0x78, 0x22, 0xa5, 0x01, 0x0a, 0x06, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, + 0x15, 0x0a, 0x11, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x75, + 0x66, 0x66, 0x69, 0x78, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x10, 0x02, + 0x12, 0x08, 0x0a, 0x04, 0x54, 0x65, 0x72, 0x6d, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x79, 0x70, 0x65, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x65, 0x74, 0x61, + 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x10, 0x08, 0x12, 0x09, 0x0a, + 0x05, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x10, 0x09, 0x1a, 0x02, 0x10, 0x01, 0x22, 0xab, 0x0c, 0x0a, + 0x11, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x38, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x63, 0x69, 0x70, 0x2e, 0x52, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x0d, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x73, 0x63, 0x69, 0x70, 0x2e, + 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x47, 0x0a, 0x17, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x73, 0x63, 0x69, 0x70, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x16, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6e, 0x63, 0x6c, + 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x6d, + 0x62, 0x6f, 0x6c, 0x22, 0xd4, 0x09, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x13, 0x0a, 0x0f, + 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4b, 0x69, 0x6e, 0x64, 0x10, + 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x10, 0x42, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, + 0x72, 0x10, 0x48, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x72, 0x72, 0x61, 0x79, 0x10, 0x01, 0x12, 0x0d, + 0x0a, 0x09, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x02, 0x12, 0x12, 0x0a, + 0x0e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x10, + 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x10, 0x04, + 0x12, 0x09, 0x0a, 0x05, 0x41, 0x78, 0x69, 0x6f, 0x6d, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x42, + 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x10, + 0x08, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, + 0x10, 0x09, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x3e, + 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x10, 0x0a, + 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x10, 0x49, 0x12, 0x08, + 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x10, 0x0b, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x6e, 0x75, 0x6d, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x0c, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x10, 0x3f, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x0d, 0x12, 0x08, + 0x0a, 0x04, 0x46, 0x61, 0x63, 0x74, 0x10, 0x0e, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x10, 0x0f, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x69, 0x6c, 0x65, 0x10, 0x10, 0x12, 0x0c, 0x0a, + 0x08, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x11, 0x12, 0x0a, 0x0a, 0x06, 0x47, + 0x65, 0x74, 0x74, 0x65, 0x72, 0x10, 0x12, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x72, 0x61, 0x6d, 0x6d, + 0x61, 0x72, 0x10, 0x13, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x10, 0x14, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x10, + 0x15, 0x12, 0x07, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x10, 0x16, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x61, + 0x6e, 0x67, 0x10, 0x17, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x65, 0x6d, 0x6d, 0x61, 0x10, 0x18, 0x12, + 0x0b, 0x0a, 0x07, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x10, 0x40, 0x12, 0x09, 0x0a, 0x05, + 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x10, 0x19, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x10, 0x1a, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x41, 0x6c, 0x69, + 0x61, 0x73, 0x10, 0x4a, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x10, 0x1b, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, + 0x43, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0x1c, 0x12, 0x0c, + 0x0a, 0x08, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x10, 0x41, 0x12, 0x0a, 0x0a, 0x06, + 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x10, 0x1d, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x10, 0x1e, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x75, 0x6c, 0x6c, 0x10, + 0x1f, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x20, 0x12, 0x0a, 0x0a, + 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x21, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x22, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x10, 0x23, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x24, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x10, 0x25, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x10, 0x26, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x6e, 0x10, 0x27, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x10, 0x28, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x10, 0x29, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x10, 0x2a, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x10, 0x44, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x75, 0x72, 0x65, 0x56, 0x69, + 0x72, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, 0x45, 0x12, 0x0f, 0x0a, + 0x0b, 0x51, 0x75, 0x61, 0x73, 0x69, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x72, 0x10, 0x2b, 0x12, 0x11, + 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x66, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x10, + 0x2c, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x65, 0x74, 0x74, 0x65, 0x72, 0x10, 0x2d, 0x12, 0x0d, 0x0a, + 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x2e, 0x12, 0x12, 0x0a, 0x0e, + 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x10, 0x4b, + 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x10, 0x4c, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x44, + 0x61, 0x74, 0x61, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x4d, 0x12, 0x0f, 0x0a, 0x0b, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x4e, 0x12, 0x0f, 0x0a, 0x0b, + 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x10, 0x4f, 0x12, 0x10, 0x0a, + 0x0c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, 0x50, 0x12, + 0x12, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x10, 0x51, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x52, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x10, 0x30, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x10, 0x31, 0x12, + 0x0d, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x10, 0x2f, 0x12, 0x0a, + 0x0a, 0x06, 0x54, 0x61, 0x63, 0x74, 0x69, 0x63, 0x10, 0x32, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x68, + 0x65, 0x6f, 0x72, 0x65, 0x6d, 0x10, 0x33, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x68, 0x69, 0x73, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x10, 0x34, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x72, + 0x61, 0x69, 0x74, 0x10, 0x35, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x69, 0x74, 0x4d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x10, 0x46, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x10, 0x36, + 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x79, 0x70, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x10, 0x37, 0x12, + 0x0d, 0x0a, 0x09, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x10, 0x38, 0x12, 0x13, + 0x0a, 0x0f, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x10, 0x47, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x46, 0x61, 0x6d, 0x69, 0x6c, + 0x79, 0x10, 0x39, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x10, 0x3a, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x6e, 0x69, 0x6f, 0x6e, 0x10, + 0x3b, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x3c, 0x12, 0x0c, 0x0a, 0x08, + 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x3d, 0x22, 0xc9, 0x01, 0x0a, 0x0c, 0x52, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, + 0x62, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x69, 0x6d, 0x70, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x10, 0x69, 0x73, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x10, 0x69, 0x73, 0x54, 0x79, 0x70, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x44, 0x65, 0x66, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa4, 0x02, 0x0a, 0x0a, 0x4f, 0x63, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, + 0x62, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x72, 0x6f, + 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x79, 0x6d, 0x62, 0x6f, + 0x6c, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x16, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, + 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, + 0x0b, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x73, 0x63, 0x69, 0x70, 0x2e, 0x53, 0x79, 0x6e, 0x74, 0x61, 0x78, + 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0a, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x4b, 0x69, 0x6e, 0x64, + 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x63, 0x69, 0x70, 0x2e, 0x44, 0x69, 0x61, + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, + 0x74, 0x69, 0x63, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, + 0x67, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x65, + 0x6e, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xa7, 0x01, + 0x0a, 0x0a, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2a, 0x0a, 0x08, + 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, + 0x2e, 0x73, 0x63, 0x69, 0x70, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, + 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x27, + 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x73, + 0x63, 0x69, 0x70, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x54, 0x61, + 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x2a, 0x31, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x6e, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x2a, 0x40, 0x0a, 0x0c, 0x54, 0x65, + 0x78, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x6e, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x63, + 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x54, 0x46, 0x38, 0x10, + 0x01, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x54, 0x46, 0x31, 0x36, 0x10, 0x02, 0x2a, 0x9f, 0x01, 0x0a, + 0x10, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, + 0x67, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, + 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x54, 0x46, 0x38, 0x42, 0x79, 0x74, 0x65, 0x4f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x4c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x54, 0x46, 0x38, 0x43, 0x6f, 0x64, 0x65, 0x55, + 0x6e, 0x69, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x4c, 0x69, 0x6e, + 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x55, 0x54, 0x46, 0x31, + 0x36, 0x43, 0x6f, 0x64, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x46, + 0x72, 0x6f, 0x6d, 0x4c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0x03, 0x2a, 0x94, + 0x01, 0x0a, 0x0a, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x19, 0x0a, + 0x15, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x79, 0x6d, 0x62, + 0x6f, 0x6c, 0x52, 0x6f, 0x6c, 0x65, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x65, 0x66, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x64, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x10, 0x10, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x65, 0x73, 0x74, 0x10, 0x20, 0x12, 0x15, + 0x0a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x10, 0x40, 0x2a, 0xea, 0x06, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x74, 0x61, 0x78, + 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x53, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x4b, 0x69, 0x6e, 0x64, 0x10, 0x00, 0x12, + 0x0b, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, + 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x65, 0x72, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x75, 0x6e, 0x63, 0x74, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x10, 0x03, 0x12, 0x0b, + 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x11, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, + 0x10, 0x04, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x05, 0x12, 0x0e, + 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x10, 0x06, 0x12, 0x15, + 0x0a, 0x11, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x75, 0x69, 0x6c, + 0x74, 0x69, 0x6e, 0x10, 0x07, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x4e, 0x75, 0x6c, 0x6c, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x10, + 0x09, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4d, + 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x10, 0x0a, 0x12, 0x17, + 0x0a, 0x13, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x10, 0x0b, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x10, 0x0c, 0x12, 0x16, 0x0a, 0x12, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x53, 0x68, 0x61, 0x64, 0x6f, 0x77, + 0x65, 0x64, 0x10, 0x0d, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x10, 0x0e, 0x12, 0x18, 0x0a, + 0x10, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x10, 0x0e, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x0f, 0x12, + 0x20, 0x0a, 0x1c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x46, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, + 0x10, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4d, + 0x61, 0x63, 0x72, 0x6f, 0x10, 0x11, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x10, 0x12, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x10, 0x13, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x10, 0x14, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x10, 0x15, 0x12, 0x0f, 0x0a, + 0x0b, 0x52, 0x65, 0x67, 0x65, 0x78, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x10, 0x16, 0x12, 0x11, + 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x65, 0x78, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x10, + 0x17, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x65, 0x78, 0x57, 0x69, 0x6c, 0x64, 0x63, 0x61, + 0x72, 0x64, 0x10, 0x18, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x44, 0x65, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x10, 0x19, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x65, 0x67, 0x65, + 0x78, 0x4a, 0x6f, 0x69, 0x6e, 0x10, 0x1a, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x10, 0x1b, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x45, 0x73, 0x63, 0x61, 0x70, + 0x65, 0x10, 0x1c, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x74, + 0x65, 0x72, 0x61, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x10, 0x1d, 0x12, 0x14, 0x0a, + 0x10, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x4b, 0x65, + 0x79, 0x10, 0x1e, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, + 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x10, 0x1f, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x75, 0x6d, + 0x65, 0x72, 0x69, 0x63, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x10, 0x20, 0x12, 0x12, 0x0a, + 0x0e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x10, + 0x21, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x10, 0x22, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x61, + 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x10, 0x23, 0x12, 0x10, 0x0a, 0x0c, + 0x54, 0x61, 0x67, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x10, 0x24, 0x1a, 0x02, + 0x10, 0x01, 0x2a, 0x56, 0x0a, 0x08, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x17, + 0x0a, 0x13, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x65, 0x76, + 0x65, 0x72, 0x69, 0x74, 0x79, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, + 0x0f, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x03, + 0x12, 0x08, 0x0a, 0x04, 0x48, 0x69, 0x6e, 0x74, 0x10, 0x04, 0x2a, 0x4e, 0x0a, 0x0d, 0x44, 0x69, + 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x54, 0x61, 0x67, 0x12, 0x1c, 0x0a, 0x18, 0x55, + 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, + 0x73, 0x74, 0x69, 0x63, 0x54, 0x61, 0x67, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x6e, 0x6e, + 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x65, + 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x10, 0x02, 0x2a, 0x9b, 0x0a, 0x0a, 0x08, 0x4c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x6e, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x10, 0x00, + 0x12, 0x08, 0x0a, 0x04, 0x41, 0x42, 0x41, 0x50, 0x10, 0x3c, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x70, + 0x65, 0x78, 0x10, 0x60, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x50, 0x4c, 0x10, 0x31, 0x12, 0x07, 0x0a, + 0x03, 0x41, 0x64, 0x61, 0x10, 0x27, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x67, 0x64, 0x61, 0x10, 0x2d, + 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x73, 0x63, 0x69, 0x69, 0x44, 0x6f, 0x63, 0x10, 0x56, 0x12, 0x0c, + 0x0a, 0x08, 0x41, 0x73, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x79, 0x10, 0x3a, 0x12, 0x07, 0x0a, 0x03, + 0x41, 0x77, 0x6b, 0x10, 0x42, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x61, 0x74, 0x10, 0x44, 0x12, 0x0a, + 0x0a, 0x06, 0x42, 0x69, 0x62, 0x54, 0x65, 0x58, 0x10, 0x51, 0x12, 0x05, 0x0a, 0x01, 0x43, 0x10, + 0x22, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x42, 0x4f, 0x4c, 0x10, 0x3b, 0x12, 0x07, 0x0a, 0x03, + 0x43, 0x50, 0x50, 0x10, 0x23, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x53, 0x53, 0x10, 0x1a, 0x12, 0x0a, + 0x0a, 0x06, 0x43, 0x53, 0x68, 0x61, 0x72, 0x70, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x6c, + 0x6f, 0x6a, 0x75, 0x72, 0x65, 0x10, 0x08, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x6f, 0x66, 0x66, 0x65, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x10, 0x15, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x70, 0x10, 0x09, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x6f, 0x71, + 0x10, 0x2f, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x55, 0x44, 0x41, 0x10, 0x61, 0x12, 0x08, 0x0a, 0x04, + 0x44, 0x61, 0x72, 0x74, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x70, 0x68, 0x69, + 0x10, 0x39, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x69, 0x66, 0x66, 0x10, 0x58, 0x12, 0x0e, 0x0a, 0x0a, + 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x66, 0x69, 0x6c, 0x65, 0x10, 0x50, 0x12, 0x0a, 0x0a, 0x06, + 0x44, 0x79, 0x61, 0x6c, 0x6f, 0x67, 0x10, 0x32, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x6c, 0x69, 0x78, + 0x69, 0x72, 0x10, 0x11, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x72, 0x6c, 0x61, 0x6e, 0x67, 0x10, 0x12, + 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x53, 0x68, 0x61, 0x72, 0x70, 0x10, 0x2a, 0x12, 0x08, 0x0a, 0x04, + 0x46, 0x69, 0x73, 0x68, 0x10, 0x41, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x6c, 0x6f, 0x77, 0x10, 0x18, + 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x6e, 0x10, 0x38, 0x12, 0x0e, 0x0a, + 0x0a, 0x47, 0x69, 0x74, 0x5f, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x10, 0x5b, 0x12, 0x0e, 0x0a, + 0x0a, 0x47, 0x69, 0x74, 0x5f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0x59, 0x12, 0x0e, 0x0a, + 0x0a, 0x47, 0x69, 0x74, 0x5f, 0x52, 0x65, 0x62, 0x61, 0x73, 0x65, 0x10, 0x5c, 0x12, 0x06, 0x0a, + 0x02, 0x47, 0x6f, 0x10, 0x21, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x72, 0x61, 0x70, 0x68, 0x51, 0x4c, + 0x10, 0x62, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x72, 0x6f, 0x6f, 0x76, 0x79, 0x10, 0x07, 0x12, 0x08, + 0x0a, 0x04, 0x48, 0x54, 0x4d, 0x4c, 0x10, 0x1e, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x61, 0x63, 0x6b, + 0x10, 0x14, 0x12, 0x0e, 0x0a, 0x0a, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x62, 0x61, 0x72, 0x73, + 0x10, 0x5a, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x61, 0x73, 0x6b, 0x65, 0x6c, 0x6c, 0x10, 0x2c, 0x12, + 0x09, 0x0a, 0x05, 0x49, 0x64, 0x72, 0x69, 0x73, 0x10, 0x2e, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x6e, + 0x69, 0x10, 0x48, 0x12, 0x05, 0x0a, 0x01, 0x4a, 0x10, 0x33, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, + 0x4f, 0x4e, 0x10, 0x4b, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x61, 0x76, 0x61, 0x10, 0x06, 0x12, 0x0e, + 0x0a, 0x0a, 0x4a, 0x61, 0x76, 0x61, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x10, 0x16, 0x12, 0x13, + 0x0a, 0x0f, 0x4a, 0x61, 0x76, 0x61, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x61, 0x63, + 0x74, 0x10, 0x5d, 0x12, 0x0b, 0x0a, 0x07, 0x4a, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x74, 0x10, 0x4c, + 0x12, 0x09, 0x0a, 0x05, 0x4a, 0x75, 0x6c, 0x69, 0x61, 0x10, 0x37, 0x12, 0x0c, 0x0a, 0x08, 0x4a, + 0x75, 0x73, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x10, 0x6d, 0x12, 0x0a, 0x0a, 0x06, 0x4b, 0x6f, 0x74, + 0x6c, 0x69, 0x6e, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x61, 0x54, 0x65, 0x58, 0x10, 0x53, + 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x65, 0x61, 0x6e, 0x10, 0x30, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x65, + 0x73, 0x73, 0x10, 0x1b, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x75, 0x61, 0x10, 0x0c, 0x12, 0x08, 0x0a, + 0x04, 0x4c, 0x75, 0x61, 0x75, 0x10, 0x6c, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x61, 0x6b, 0x65, 0x66, + 0x69, 0x6c, 0x65, 0x10, 0x4f, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, + 0x6e, 0x10, 0x54, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x61, 0x74, 0x6c, 0x61, 0x62, 0x10, 0x34, 0x12, + 0x0a, 0x0a, 0x06, 0x4e, 0x69, 0x63, 0x6b, 0x65, 0x6c, 0x10, 0x6e, 0x12, 0x07, 0x0a, 0x03, 0x4e, + 0x69, 0x78, 0x10, 0x4d, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x43, 0x61, 0x6d, 0x6c, 0x10, 0x29, 0x12, + 0x0f, 0x0a, 0x0b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x43, 0x10, 0x24, + 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x43, 0x50, + 0x50, 0x10, 0x25, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x61, 0x73, 0x63, 0x61, 0x6c, 0x10, 0x63, 0x12, + 0x07, 0x0a, 0x03, 0x50, 0x48, 0x50, 0x10, 0x13, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x4c, 0x53, 0x51, + 0x4c, 0x10, 0x46, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x65, 0x72, 0x6c, 0x10, 0x0d, 0x12, 0x0e, 0x0a, + 0x0a, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x10, 0x43, 0x12, 0x0a, 0x0a, + 0x06, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x67, 0x10, 0x47, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x10, 0x64, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x79, 0x74, 0x68, 0x6f, + 0x6e, 0x10, 0x0f, 0x12, 0x05, 0x0a, 0x01, 0x52, 0x10, 0x36, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x10, 0x0b, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x61, 0x6b, 0x75, 0x10, 0x0e, + 0x12, 0x09, 0x0a, 0x05, 0x52, 0x61, 0x7a, 0x6f, 0x72, 0x10, 0x3e, 0x12, 0x09, 0x0a, 0x05, 0x52, + 0x65, 0x70, 0x72, 0x6f, 0x10, 0x66, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x65, 0x53, 0x54, 0x10, 0x55, + 0x12, 0x08, 0x0a, 0x04, 0x52, 0x75, 0x62, 0x79, 0x10, 0x10, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x75, + 0x73, 0x74, 0x10, 0x28, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x41, 0x53, 0x10, 0x3d, 0x12, 0x08, 0x0a, + 0x04, 0x53, 0x43, 0x53, 0x53, 0x10, 0x1d, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x4d, 0x4c, 0x10, 0x2b, + 0x12, 0x07, 0x0a, 0x03, 0x53, 0x51, 0x4c, 0x10, 0x45, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x61, 0x73, + 0x73, 0x10, 0x1c, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x10, 0x05, 0x12, 0x0a, + 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x10, 0x0a, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x68, + 0x65, 0x6c, 0x6c, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x10, 0x40, 0x12, 0x0b, 0x0a, 0x07, 0x53, + 0x6b, 0x79, 0x6c, 0x61, 0x72, 0x6b, 0x10, 0x4e, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x6c, 0x61, 0x6e, + 0x67, 0x10, 0x6b, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x6f, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x10, + 0x5f, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x76, 0x65, 0x6c, 0x74, 0x65, 0x10, 0x6a, 0x12, 0x09, 0x0a, + 0x05, 0x53, 0x77, 0x69, 0x66, 0x74, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x63, 0x6c, 0x10, + 0x65, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x4f, 0x4d, 0x4c, 0x10, 0x49, 0x12, 0x07, 0x0a, 0x03, 0x54, + 0x65, 0x58, 0x10, 0x52, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x10, 0x67, + 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x10, 0x17, + 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x79, 0x70, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, + 0x61, 0x63, 0x74, 0x10, 0x5e, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x69, 0x6c, 0x6f, 0x67, + 0x10, 0x68, 0x12, 0x08, 0x0a, 0x04, 0x56, 0x48, 0x44, 0x4c, 0x10, 0x69, 0x12, 0x0f, 0x0a, 0x0b, + 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x42, 0x61, 0x73, 0x69, 0x63, 0x10, 0x3f, 0x12, 0x07, 0x0a, + 0x03, 0x56, 0x75, 0x65, 0x10, 0x19, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x6f, 0x6c, 0x66, 0x72, 0x61, + 0x6d, 0x10, 0x35, 0x12, 0x07, 0x0a, 0x03, 0x58, 0x4d, 0x4c, 0x10, 0x1f, 0x12, 0x07, 0x0a, 0x03, + 0x58, 0x53, 0x4c, 0x10, 0x20, 0x12, 0x08, 0x0a, 0x04, 0x59, 0x41, 0x4d, 0x4c, 0x10, 0x4a, 0x12, + 0x07, 0x0a, 0x03, 0x5a, 0x69, 0x67, 0x10, 0x26, 0x42, 0x2f, 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x2f, 0x73, 0x63, 0x69, 0x70, 0x2f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, + 0x2f, 0x67, 0x6f, 0x2f, 0x73, 0x63, 0x69, 0x70, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -2832,54 +2932,56 @@ func file_scip_proto_rawDescGZIP() []byte { return file_scip_proto_rawDescData } -var file_scip_proto_enumTypes = make([]protoimpl.EnumInfo, 9) +var file_scip_proto_enumTypes = make([]protoimpl.EnumInfo, 10) var file_scip_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_scip_proto_goTypes = []interface{}{ (ProtocolVersion)(0), // 0: scip.ProtocolVersion (TextEncoding)(0), // 1: scip.TextEncoding - (SymbolRole)(0), // 2: scip.SymbolRole - (SyntaxKind)(0), // 3: scip.SyntaxKind - (Severity)(0), // 4: scip.Severity - (DiagnosticTag)(0), // 5: scip.DiagnosticTag - (Language)(0), // 6: scip.Language - (Descriptor_Suffix)(0), // 7: scip.Descriptor.Suffix - (SymbolInformation_Kind)(0), // 8: scip.SymbolInformation.Kind - (*Index)(nil), // 9: scip.Index - (*Metadata)(nil), // 10: scip.Metadata - (*ToolInfo)(nil), // 11: scip.ToolInfo - (*Document)(nil), // 12: scip.Document - (*Symbol)(nil), // 13: scip.Symbol - (*Package)(nil), // 14: scip.Package - (*Descriptor)(nil), // 15: scip.Descriptor - (*SymbolInformation)(nil), // 16: scip.SymbolInformation - (*Relationship)(nil), // 17: scip.Relationship - (*Occurrence)(nil), // 18: scip.Occurrence - (*Diagnostic)(nil), // 19: scip.Diagnostic + (PositionEncoding)(0), // 2: scip.PositionEncoding + (SymbolRole)(0), // 3: scip.SymbolRole + (SyntaxKind)(0), // 4: scip.SyntaxKind + (Severity)(0), // 5: scip.Severity + (DiagnosticTag)(0), // 6: scip.DiagnosticTag + (Language)(0), // 7: scip.Language + (Descriptor_Suffix)(0), // 8: scip.Descriptor.Suffix + (SymbolInformation_Kind)(0), // 9: scip.SymbolInformation.Kind + (*Index)(nil), // 10: scip.Index + (*Metadata)(nil), // 11: scip.Metadata + (*ToolInfo)(nil), // 12: scip.ToolInfo + (*Document)(nil), // 13: scip.Document + (*Symbol)(nil), // 14: scip.Symbol + (*Package)(nil), // 15: scip.Package + (*Descriptor)(nil), // 16: scip.Descriptor + (*SymbolInformation)(nil), // 17: scip.SymbolInformation + (*Relationship)(nil), // 18: scip.Relationship + (*Occurrence)(nil), // 19: scip.Occurrence + (*Diagnostic)(nil), // 20: scip.Diagnostic } var file_scip_proto_depIdxs = []int32{ - 10, // 0: scip.Index.metadata:type_name -> scip.Metadata - 12, // 1: scip.Index.documents:type_name -> scip.Document - 16, // 2: scip.Index.external_symbols:type_name -> scip.SymbolInformation + 11, // 0: scip.Index.metadata:type_name -> scip.Metadata + 13, // 1: scip.Index.documents:type_name -> scip.Document + 17, // 2: scip.Index.external_symbols:type_name -> scip.SymbolInformation 0, // 3: scip.Metadata.version:type_name -> scip.ProtocolVersion - 11, // 4: scip.Metadata.tool_info:type_name -> scip.ToolInfo + 12, // 4: scip.Metadata.tool_info:type_name -> scip.ToolInfo 1, // 5: scip.Metadata.text_document_encoding:type_name -> scip.TextEncoding - 18, // 6: scip.Document.occurrences:type_name -> scip.Occurrence - 16, // 7: scip.Document.symbols:type_name -> scip.SymbolInformation - 14, // 8: scip.Symbol.package:type_name -> scip.Package - 15, // 9: scip.Symbol.descriptors:type_name -> scip.Descriptor - 7, // 10: scip.Descriptor.suffix:type_name -> scip.Descriptor.Suffix - 17, // 11: scip.SymbolInformation.relationships:type_name -> scip.Relationship - 8, // 12: scip.SymbolInformation.kind:type_name -> scip.SymbolInformation.Kind - 12, // 13: scip.SymbolInformation.signature_documentation:type_name -> scip.Document - 3, // 14: scip.Occurrence.syntax_kind:type_name -> scip.SyntaxKind - 19, // 15: scip.Occurrence.diagnostics:type_name -> scip.Diagnostic - 4, // 16: scip.Diagnostic.severity:type_name -> scip.Severity - 5, // 17: scip.Diagnostic.tags:type_name -> scip.DiagnosticTag - 18, // [18:18] is the sub-list for method output_type - 18, // [18:18] is the sub-list for method input_type - 18, // [18:18] is the sub-list for extension type_name - 18, // [18:18] is the sub-list for extension extendee - 0, // [0:18] is the sub-list for field type_name + 19, // 6: scip.Document.occurrences:type_name -> scip.Occurrence + 17, // 7: scip.Document.symbols:type_name -> scip.SymbolInformation + 2, // 8: scip.Document.position_encoding:type_name -> scip.PositionEncoding + 15, // 9: scip.Symbol.package:type_name -> scip.Package + 16, // 10: scip.Symbol.descriptors:type_name -> scip.Descriptor + 8, // 11: scip.Descriptor.suffix:type_name -> scip.Descriptor.Suffix + 18, // 12: scip.SymbolInformation.relationships:type_name -> scip.Relationship + 9, // 13: scip.SymbolInformation.kind:type_name -> scip.SymbolInformation.Kind + 13, // 14: scip.SymbolInformation.signature_documentation:type_name -> scip.Document + 4, // 15: scip.Occurrence.syntax_kind:type_name -> scip.SyntaxKind + 20, // 16: scip.Occurrence.diagnostics:type_name -> scip.Diagnostic + 5, // 17: scip.Diagnostic.severity:type_name -> scip.Severity + 6, // 18: scip.Diagnostic.tags:type_name -> scip.DiagnosticTag + 19, // [19:19] is the sub-list for method output_type + 19, // [19:19] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name } func init() { file_scip_proto_init() } @@ -3026,7 +3128,7 @@ func file_scip_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_scip_proto_rawDesc, - NumEnums: 9, + NumEnums: 10, NumMessages: 11, NumExtensions: 0, NumServices: 0, diff --git a/bindings/haskell/src/Proto/Scip.hs b/bindings/haskell/src/Proto/Scip.hs index 9a0bfe3c..23aaec8d 100644 --- a/bindings/haskell/src/Proto/Scip.hs +++ b/bindings/haskell/src/Proto/Scip.hs @@ -10,13 +10,15 @@ module Proto.Scip ( DiagnosticTag(..), DiagnosticTag(), DiagnosticTag'UnrecognizedValue, Document(), Index(), Language(..), Language(), Language'UnrecognizedValue, Metadata(), Occurrence(), - Package(), ProtocolVersion(..), ProtocolVersion(), - ProtocolVersion'UnrecognizedValue, Relationship(), Severity(..), - Severity(), Severity'UnrecognizedValue, Symbol(), - SymbolInformation(), SymbolInformation'Kind(..), - SymbolInformation'Kind(), SymbolInformation'Kind'UnrecognizedValue, - SymbolRole(..), SymbolRole(), SymbolRole'UnrecognizedValue, - SyntaxKind(..), SyntaxKind(IdentifierKeyword, IdentifierModule), + Package(), PositionEncoding(..), PositionEncoding(), + PositionEncoding'UnrecognizedValue, ProtocolVersion(..), + ProtocolVersion(), ProtocolVersion'UnrecognizedValue, + Relationship(), Severity(..), Severity(), + Severity'UnrecognizedValue, Symbol(), SymbolInformation(), + SymbolInformation'Kind(..), SymbolInformation'Kind(), + SymbolInformation'Kind'UnrecognizedValue, SymbolRole(..), + SymbolRole(), SymbolRole'UnrecognizedValue, SyntaxKind(..), + SyntaxKind(IdentifierKeyword, IdentifierModule), SyntaxKind'UnrecognizedValue, TextEncoding(..), TextEncoding(), TextEncoding'UnrecognizedValue, ToolInfo() ) where @@ -837,13 +839,15 @@ instance Control.DeepSeq.NFData DiagnosticTag where * 'Proto.Scip_Fields.vec'occurrences' @:: Lens' Document (Data.Vector.Vector Occurrence)@ * 'Proto.Scip_Fields.symbols' @:: Lens' Document [SymbolInformation]@ * 'Proto.Scip_Fields.vec'symbols' @:: Lens' Document (Data.Vector.Vector SymbolInformation)@ - * 'Proto.Scip_Fields.text' @:: Lens' Document Data.Text.Text@ -} + * 'Proto.Scip_Fields.text' @:: Lens' Document Data.Text.Text@ + * 'Proto.Scip_Fields.positionEncoding' @:: Lens' Document PositionEncoding@ -} data Document = Document'_constructor {_Document'language :: !Data.Text.Text, _Document'relativePath :: !Data.Text.Text, _Document'occurrences :: !(Data.Vector.Vector Occurrence), _Document'symbols :: !(Data.Vector.Vector SymbolInformation), _Document'text :: !Data.Text.Text, + _Document'positionEncoding :: !PositionEncoding, _Document'_unknownFields :: !Data.ProtoLens.FieldSet} deriving stock (Prelude.Eq, Prelude.Ord) instance Prelude.Show Document where @@ -901,6 +905,13 @@ instance Data.ProtoLens.Field.HasField Document "text" Data.Text.Text where (Lens.Family2.Unchecked.lens _Document'text (\ x__ y__ -> x__ {_Document'text = y__})) Prelude.id +instance Data.ProtoLens.Field.HasField Document "positionEncoding" PositionEncoding where + fieldOf _ + = (Prelude..) + (Lens.Family2.Unchecked.lens + _Document'positionEncoding + (\ x__ y__ -> x__ {_Document'positionEncoding = y__})) + Prelude.id instance Data.ProtoLens.Message Document where messageName _ = Data.Text.pack "scip.Document" packedMessageDescriptor _ @@ -910,7 +921,8 @@ instance Data.ProtoLens.Message Document where \\rrelative_path\CAN\SOH \SOH(\tR\frelativePath\DC22\n\ \\voccurrences\CAN\STX \ETX(\v2\DLE.scip.OccurrenceR\voccurrences\DC21\n\ \\asymbols\CAN\ETX \ETX(\v2\ETB.scip.SymbolInformationR\asymbols\DC2\DC2\n\ - \\EOTtext\CAN\ENQ \SOH(\tR\EOTtext" + \\EOTtext\CAN\ENQ \SOH(\tR\EOTtext\DC2C\n\ + \\DC1position_encoding\CAN\ACK \SOH(\SO2\SYN.scip.PositionEncodingR\DLEpositionEncoding" packedFileDescriptor _ = packedFileDescriptor fieldsByTag = let @@ -957,13 +969,23 @@ instance Data.ProtoLens.Message Document where (Data.ProtoLens.PlainField Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"text")) :: Data.ProtoLens.FieldDescriptor Document + positionEncoding__field_descriptor + = Data.ProtoLens.FieldDescriptor + "position_encoding" + (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField :: + Data.ProtoLens.FieldTypeDescriptor PositionEncoding) + (Data.ProtoLens.PlainField + Data.ProtoLens.Optional + (Data.ProtoLens.Field.field @"positionEncoding")) :: + Data.ProtoLens.FieldDescriptor Document in Data.Map.fromList [(Data.ProtoLens.Tag 4, language__field_descriptor), (Data.ProtoLens.Tag 1, relativePath__field_descriptor), (Data.ProtoLens.Tag 2, occurrences__field_descriptor), (Data.ProtoLens.Tag 3, symbols__field_descriptor), - (Data.ProtoLens.Tag 5, text__field_descriptor)] + (Data.ProtoLens.Tag 5, text__field_descriptor), + (Data.ProtoLens.Tag 6, positionEncoding__field_descriptor)] unknownFields = Lens.Family2.Unchecked.lens _Document'_unknownFields @@ -975,6 +997,7 @@ instance Data.ProtoLens.Message Document where _Document'occurrences = Data.Vector.Generic.empty, _Document'symbols = Data.Vector.Generic.empty, _Document'text = Data.ProtoLens.fieldDefault, + _Document'positionEncoding = Data.ProtoLens.fieldDefault, _Document'_unknownFields = []} parseMessage = let @@ -1075,6 +1098,18 @@ instance Data.ProtoLens.Message Document where loop (Lens.Family2.set (Data.ProtoLens.Field.field @"text") y x) mutable'occurrences mutable'symbols + 48 + -> do y <- (Data.ProtoLens.Encoding.Bytes.) + (Prelude.fmap + Prelude.toEnum + (Prelude.fmap + Prelude.fromIntegral + Data.ProtoLens.Encoding.Bytes.getVarInt)) + "position_encoding" + loop + (Lens.Family2.set + (Data.ProtoLens.Field.field @"positionEncoding") y x) + mutable'occurrences mutable'symbols wire -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire wire @@ -1167,8 +1202,24 @@ instance Data.ProtoLens.Message Document where (Prelude.fromIntegral (Data.ByteString.length bs))) (Data.ProtoLens.Encoding.Bytes.putBytes bs)) Data.Text.Encoding.encodeUtf8 _v)) - (Data.ProtoLens.Encoding.Wire.buildFieldSet - (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))) + ((Data.Monoid.<>) + (let + _v + = Lens.Family2.view + (Data.ProtoLens.Field.field @"positionEncoding") _x + in + if (Prelude.==) _v Data.ProtoLens.fieldDefault then + Data.Monoid.mempty + else + (Data.Monoid.<>) + (Data.ProtoLens.Encoding.Bytes.putVarInt 48) + ((Prelude..) + ((Prelude..) + Data.ProtoLens.Encoding.Bytes.putVarInt + Prelude.fromIntegral) + Prelude.fromEnum _v)) + (Data.ProtoLens.Encoding.Wire.buildFieldSet + (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))) instance Control.DeepSeq.NFData Document where rnf = \ x__ @@ -1182,7 +1233,9 @@ instance Control.DeepSeq.NFData Document where (_Document'occurrences x__) (Control.DeepSeq.deepseq (_Document'symbols x__) - (Control.DeepSeq.deepseq (_Document'text x__) ()))))) + (Control.DeepSeq.deepseq + (_Document'text x__) + (Control.DeepSeq.deepseq (_Document'positionEncoding x__) ())))))) {- | Fields : * 'Proto.Scip_Fields.metadata' @:: Lens' Index Metadata@ @@ -3283,6 +3336,93 @@ instance Control.DeepSeq.NFData Package where (Control.DeepSeq.deepseq (_Package'name x__) (Control.DeepSeq.deepseq (_Package'version x__) ()))) +newtype PositionEncoding'UnrecognizedValue + = PositionEncoding'UnrecognizedValue Data.Int.Int32 + deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show) +data PositionEncoding + = UnspecifiedPositionEncoding | + UTF8ByteOffsetFromLineStart | + UTF8CodeUnitOffsetFromLineStart | + UTF16CodeUnitOffsetFromLineStart | + PositionEncoding'Unrecognized !PositionEncoding'UnrecognizedValue + deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord) +instance Data.ProtoLens.MessageEnum PositionEncoding where + maybeToEnum 0 = Prelude.Just UnspecifiedPositionEncoding + maybeToEnum 1 = Prelude.Just UTF8ByteOffsetFromLineStart + maybeToEnum 2 = Prelude.Just UTF8CodeUnitOffsetFromLineStart + maybeToEnum 3 = Prelude.Just UTF16CodeUnitOffsetFromLineStart + maybeToEnum k + = Prelude.Just + (PositionEncoding'Unrecognized + (PositionEncoding'UnrecognizedValue (Prelude.fromIntegral k))) + showEnum UnspecifiedPositionEncoding + = "UnspecifiedPositionEncoding" + showEnum UTF8ByteOffsetFromLineStart + = "UTF8ByteOffsetFromLineStart" + showEnum UTF8CodeUnitOffsetFromLineStart + = "UTF8CodeUnitOffsetFromLineStart" + showEnum UTF16CodeUnitOffsetFromLineStart + = "UTF16CodeUnitOffsetFromLineStart" + showEnum + (PositionEncoding'Unrecognized (PositionEncoding'UnrecognizedValue k)) + = Prelude.show k + readEnum k + | (Prelude.==) k "UnspecifiedPositionEncoding" + = Prelude.Just UnspecifiedPositionEncoding + | (Prelude.==) k "UTF8ByteOffsetFromLineStart" + = Prelude.Just UTF8ByteOffsetFromLineStart + | (Prelude.==) k "UTF8CodeUnitOffsetFromLineStart" + = Prelude.Just UTF8CodeUnitOffsetFromLineStart + | (Prelude.==) k "UTF16CodeUnitOffsetFromLineStart" + = Prelude.Just UTF16CodeUnitOffsetFromLineStart + | Prelude.otherwise + = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum +instance Prelude.Bounded PositionEncoding where + minBound = UnspecifiedPositionEncoding + maxBound = UTF16CodeUnitOffsetFromLineStart +instance Prelude.Enum PositionEncoding where + toEnum k__ + = Prelude.maybe + (Prelude.error + ((Prelude.++) + "toEnum: unknown value for enum PositionEncoding: " + (Prelude.show k__))) + Prelude.id (Data.ProtoLens.maybeToEnum k__) + fromEnum UnspecifiedPositionEncoding = 0 + fromEnum UTF8ByteOffsetFromLineStart = 1 + fromEnum UTF8CodeUnitOffsetFromLineStart = 2 + fromEnum UTF16CodeUnitOffsetFromLineStart = 3 + fromEnum + (PositionEncoding'Unrecognized (PositionEncoding'UnrecognizedValue k)) + = Prelude.fromIntegral k + succ UTF16CodeUnitOffsetFromLineStart + = Prelude.error + "PositionEncoding.succ: bad argument UTF16CodeUnitOffsetFromLineStart. This value would be out of bounds." + succ UnspecifiedPositionEncoding = UTF8ByteOffsetFromLineStart + succ UTF8ByteOffsetFromLineStart = UTF8CodeUnitOffsetFromLineStart + succ UTF8CodeUnitOffsetFromLineStart + = UTF16CodeUnitOffsetFromLineStart + succ (PositionEncoding'Unrecognized _) + = Prelude.error + "PositionEncoding.succ: bad argument: unrecognized value" + pred UnspecifiedPositionEncoding + = Prelude.error + "PositionEncoding.pred: bad argument UnspecifiedPositionEncoding. This value would be out of bounds." + pred UTF8ByteOffsetFromLineStart = UnspecifiedPositionEncoding + pred UTF8CodeUnitOffsetFromLineStart = UTF8ByteOffsetFromLineStart + pred UTF16CodeUnitOffsetFromLineStart + = UTF8CodeUnitOffsetFromLineStart + pred (PositionEncoding'Unrecognized _) + = Prelude.error + "PositionEncoding.pred: bad argument: unrecognized value" + enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom + enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo + enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen + enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo +instance Data.ProtoLens.FieldDefault PositionEncoding where + fieldDefault = UnspecifiedPositionEncoding +instance Control.DeepSeq.NFData PositionEncoding where + rnf x__ = Prelude.seq x__ () newtype ProtocolVersion'UnrecognizedValue = ProtocolVersion'UnrecognizedValue Data.Int.Int32 deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show) @@ -5987,13 +6127,14 @@ packedFileDescriptor \\bToolInfo\DC2\DC2\n\ \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2\CAN\n\ \\aversion\CAN\STX \SOH(\tR\aversion\DC2\FS\n\ - \\targuments\CAN\ETX \ETX(\tR\targuments\"\198\SOH\n\ + \\targuments\CAN\ETX \ETX(\tR\targuments\"\139\STX\n\ \\bDocument\DC2\SUB\n\ \\blanguage\CAN\EOT \SOH(\tR\blanguage\DC2#\n\ \\rrelative_path\CAN\SOH \SOH(\tR\frelativePath\DC22\n\ \\voccurrences\CAN\STX \ETX(\v2\DLE.scip.OccurrenceR\voccurrences\DC21\n\ \\asymbols\CAN\ETX \ETX(\v2\ETB.scip.SymbolInformationR\asymbols\DC2\DC2\n\ - \\EOTtext\CAN\ENQ \SOH(\tR\EOTtext\"}\n\ + \\EOTtext\CAN\ENQ \SOH(\tR\EOTtext\DC2C\n\ + \\DC1position_encoding\CAN\ACK \SOH(\SO2\SYN.scip.PositionEncodingR\DLEpositionEncoding\"}\n\ \\ACKSymbol\DC2\SYN\n\ \\ACKscheme\CAN\SOH \SOH(\tR\ACKscheme\DC2'\n\ \\apackage\CAN\STX \SOH(\v2\r.scip.PackageR\apackage\DC22\n\ @@ -6153,7 +6294,12 @@ packedFileDescriptor \\fTextEncoding\DC2\ESC\n\ \\ETBUnspecifiedTextEncoding\DLE\NUL\DC2\b\n\ \\EOTUTF8\DLE\SOH\DC2\t\n\ - \\ENQUTF16\DLE\STX*\148\SOH\n\ + \\ENQUTF16\DLE\STX*\159\SOH\n\ + \\DLEPositionEncoding\DC2\US\n\ + \\ESCUnspecifiedPositionEncoding\DLE\NUL\DC2\US\n\ + \\ESCUTF8ByteOffsetFromLineStart\DLE\SOH\DC2#\n\ + \\USUTF8CodeUnitOffsetFromLineStart\DLE\STX\DC2$\n\ + \ UTF16CodeUnitOffsetFromLineStart\DLE\ETX*\148\SOH\n\ \\n\ \SymbolRole\DC2\EM\n\ \\NAKUnspecifiedSymbolRole\DLE\NUL\DC2\SO\n\ @@ -6360,9 +6506,9 @@ packedFileDescriptor \\ETXXML\DLE\US\DC2\a\n\ \\ETXXSL\DLE \DC2\b\n\ \\EOTYAML\DLEJ\DC2\a\n\ - \\ETXZig\DLE&B/Z-github.com/sourcegraph/scip/bindings/go/scip/J\160\166\STX\n\ + \\ETXZig\DLE&B/Z-github.com/sourcegraph/scip/bindings/go/scip/J\177\177\STX\n\ \\a\DC2\ENQ\n\ - \\NUL\191\ACK\SOH\n\ + \\NUL\224\ACK\SOH\n\ \\130\EOT\n\ \\SOH\f\DC2\ETX\n\ \\NUL\DC22\247\ETX An index contains one or more pieces of information about a given piece of\n\ @@ -6434,7 +6580,7 @@ packedFileDescriptor \\ENQ\EOT\NUL\STX\STX\ETX\DC2\ETX 01\n\ \\n\ \\n\ - \\STX\EOT\SOH\DC2\EOT%\NUL1\SOH\n\ + \\STX\EOT\SOH\DC2\EOT%\NUL2\SOH\n\ \\n\ \\n\ \\ETX\EOT\SOH\SOH\DC2\ETX%\b\DLE\n\ @@ -6468,110 +6614,111 @@ packedFileDescriptor \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETX-\t\NAK\n\ \\f\n\ \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETX-\CAN\EM\n\ - \l\n\ - \\EOT\EOT\SOH\STX\ETX\DC2\ETX0\STX*\SUB_ Text encoding of the source files on disk that are referenced from\n\ - \ `Document.relative_path`.\n\ + \\224\SOH\n\ + \\EOT\EOT\SOH\STX\ETX\DC2\ETX1\STX*\SUB\210\SOH Text encoding of the source files on disk that are referenced from\n\ + \ `Document.relative_path`. This value is unrelated to the `Document.text`\n\ + \ field, which is a Protobuf string and hence must be UTF-8 encoded.\n\ \\n\ \\f\n\ - \\ENQ\EOT\SOH\STX\ETX\ACK\DC2\ETX0\STX\SO\n\ + \\ENQ\EOT\SOH\STX\ETX\ACK\DC2\ETX1\STX\SO\n\ \\f\n\ - \\ENQ\EOT\SOH\STX\ETX\SOH\DC2\ETX0\SI%\n\ + \\ENQ\EOT\SOH\STX\ETX\SOH\DC2\ETX1\SI%\n\ \\f\n\ - \\ENQ\EOT\SOH\STX\ETX\ETX\DC2\ETX0()\n\ + \\ENQ\EOT\SOH\STX\ETX\ETX\DC2\ETX1()\n\ \\n\ \\n\ - \\STX\ENQ\NUL\DC2\EOT3\NUL5\SOH\n\ + \\STX\ENQ\NUL\DC2\EOT4\NUL6\SOH\n\ \\n\ \\n\ - \\ETX\ENQ\NUL\SOH\DC2\ETX3\ENQ\DC4\n\ + \\ETX\ENQ\NUL\SOH\DC2\ETX4\ENQ\DC4\n\ \\v\n\ - \\EOT\ENQ\NUL\STX\NUL\DC2\ETX4\STX!\n\ + \\EOT\ENQ\NUL\STX\NUL\DC2\ETX5\STX!\n\ \\f\n\ - \\ENQ\ENQ\NUL\STX\NUL\SOH\DC2\ETX4\STX\FS\n\ + \\ENQ\ENQ\NUL\STX\NUL\SOH\DC2\ETX5\STX\FS\n\ \\f\n\ - \\ENQ\ENQ\NUL\STX\NUL\STX\DC2\ETX4\US \n\ + \\ENQ\ENQ\NUL\STX\NUL\STX\DC2\ETX5\US \n\ \\n\ \\n\ - \\STX\ENQ\SOH\DC2\EOT7\NUL;\SOH\n\ + \\STX\ENQ\SOH\DC2\EOT8\NUL<\SOH\n\ \\n\ \\n\ - \\ETX\ENQ\SOH\SOH\DC2\ETX7\ENQ\DC1\n\ + \\ETX\ENQ\SOH\SOH\DC2\ETX8\ENQ\DC1\n\ \\v\n\ - \\EOT\ENQ\SOH\STX\NUL\DC2\ETX8\STX\RS\n\ + \\EOT\ENQ\SOH\STX\NUL\DC2\ETX9\STX\RS\n\ \\f\n\ - \\ENQ\ENQ\SOH\STX\NUL\SOH\DC2\ETX8\STX\EM\n\ + \\ENQ\ENQ\SOH\STX\NUL\SOH\DC2\ETX9\STX\EM\n\ \\f\n\ - \\ENQ\ENQ\SOH\STX\NUL\STX\DC2\ETX8\FS\GS\n\ + \\ENQ\ENQ\SOH\STX\NUL\STX\DC2\ETX9\FS\GS\n\ \\v\n\ - \\EOT\ENQ\SOH\STX\SOH\DC2\ETX9\STX\v\n\ + \\EOT\ENQ\SOH\STX\SOH\DC2\ETX:\STX\v\n\ \\f\n\ - \\ENQ\ENQ\SOH\STX\SOH\SOH\DC2\ETX9\STX\ACK\n\ + \\ENQ\ENQ\SOH\STX\SOH\SOH\DC2\ETX:\STX\ACK\n\ \\f\n\ - \\ENQ\ENQ\SOH\STX\SOH\STX\DC2\ETX9\t\n\ + \\ENQ\ENQ\SOH\STX\SOH\STX\DC2\ETX:\t\n\ \\n\ \\v\n\ - \\EOT\ENQ\SOH\STX\STX\DC2\ETX:\STX\f\n\ + \\EOT\ENQ\SOH\STX\STX\DC2\ETX;\STX\f\n\ \\f\n\ - \\ENQ\ENQ\SOH\STX\STX\SOH\DC2\ETX:\STX\a\n\ + \\ENQ\ENQ\SOH\STX\STX\SOH\DC2\ETX;\STX\a\n\ \\f\n\ - \\ENQ\ENQ\SOH\STX\STX\STX\DC2\ETX:\n\ + \\ENQ\ENQ\SOH\STX\STX\STX\DC2\ETX;\n\ \\v\n\ \\n\ \\n\ - \\STX\EOT\STX\DC2\EOT=\NULD\SOH\n\ + \\STX\EOT\STX\DC2\EOT>\NULE\SOH\n\ \\n\ \\n\ - \\ETX\EOT\STX\SOH\DC2\ETX=\b\DLE\n\ + \\ETX\EOT\STX\SOH\DC2\ETX>\b\DLE\n\ \<\n\ - \\EOT\EOT\STX\STX\NUL\DC2\ETX?\STX\DC2\SUB/ Name of the indexer that produced this index.\n\ + \\EOT\EOT\STX\STX\NUL\DC2\ETX@\STX\DC2\SUB/ Name of the indexer that produced this index.\n\ \\n\ \\f\n\ - \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETX?\STX\b\n\ + \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETX@\STX\b\n\ \\f\n\ - \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETX?\t\r\n\ + \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETX@\t\r\n\ \\f\n\ - \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETX?\DLE\DC1\n\ + \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETX@\DLE\DC1\n\ \?\n\ - \\EOT\EOT\STX\STX\SOH\DC2\ETXA\STX\NAK\SUB2 Version of the indexer that produced this index.\n\ + \\EOT\EOT\STX\STX\SOH\DC2\ETXB\STX\NAK\SUB2 Version of the indexer that produced this index.\n\ \\n\ \\f\n\ - \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\ETXA\STX\b\n\ + \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\ETXB\STX\b\n\ \\f\n\ - \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXA\t\DLE\n\ + \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXB\t\DLE\n\ \\f\n\ - \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXA\DC3\DC4\n\ + \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXB\DC3\DC4\n\ \L\n\ - \\EOT\EOT\STX\STX\STX\DC2\ETXC\STX \SUB? Command-line arguments that were used to invoke this indexer.\n\ + \\EOT\EOT\STX\STX\STX\DC2\ETXD\STX \SUB? Command-line arguments that were used to invoke this indexer.\n\ \\n\ \\f\n\ - \\ENQ\EOT\STX\STX\STX\EOT\DC2\ETXC\STX\n\ + \\ENQ\EOT\STX\STX\STX\EOT\DC2\ETXD\STX\n\ \\n\ \\f\n\ - \\ENQ\EOT\STX\STX\STX\ENQ\DC2\ETXC\v\DC1\n\ + \\ENQ\EOT\STX\STX\STX\ENQ\DC2\ETXD\v\DC1\n\ \\f\n\ - \\ENQ\EOT\STX\STX\STX\SOH\DC2\ETXC\DC2\ESC\n\ + \\ENQ\EOT\STX\STX\STX\SOH\DC2\ETXD\DC2\ESC\n\ \\f\n\ - \\ENQ\EOT\STX\STX\STX\ETX\DC2\ETXC\RS\US\n\ + \\ENQ\EOT\STX\STX\STX\ETX\DC2\ETXD\RS\US\n\ \H\n\ - \\STX\EOT\ETX\DC2\EOTG\NULh\SOH\SUB< Document defines the metadata about a source file on disk.\n\ + \\STX\EOT\ETX\DC2\EOTH\NULl\SOH\SUB< Document defines the metadata about a source file on disk.\n\ \\n\ \\n\ \\n\ - \\ETX\EOT\ETX\SOH\DC2\ETXG\b\DLE\n\ + \\ETX\EOT\ETX\SOH\DC2\ETXH\b\DLE\n\ \\165\STX\n\ - \\EOT\EOT\ETX\STX\NUL\DC2\ETXL\STX\SYN\SUB\151\STX The string ID for the programming language this file is written in.\n\ + \\EOT\EOT\ETX\STX\NUL\DC2\ETXM\STX\SYN\SUB\151\STX The string ID for the programming language this file is written in.\n\ \ The `Language` enum contains the names of most common programming languages.\n\ \ This field is typed as a string to permit any programming language, including\n\ \ ones that are not specified by the `Language` enum.\n\ \\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\NUL\ENQ\DC2\ETXL\STX\b\n\ + \\ENQ\EOT\ETX\STX\NUL\ENQ\DC2\ETXM\STX\b\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\ETXL\t\DC1\n\ + \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\ETXM\t\DC1\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\ETXL\DC4\NAK\n\ + \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\ETXM\DC4\NAK\n\ \\181\ETX\n\ - \\EOT\EOT\ETX\STX\SOH\DC2\ETXV\STX\ESC\SUB\167\ETX (Required) Unique path to the text document.\n\ + \\EOT\EOT\ETX\STX\SOH\DC2\ETXW\STX\ESC\SUB\167\ETX (Required) Unique path to the text document.\n\ \\n\ \ 1. The path must be relative to the directory supplied in the associated\n\ \ `Metadata.project_root`.\n\ @@ -6582,41 +6729,41 @@ packedFileDescriptor \ or '.' or '..'.\n\ \\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\SOH\ENQ\DC2\ETXV\STX\b\n\ + \\ENQ\EOT\ETX\STX\SOH\ENQ\DC2\ETXW\STX\b\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\ETXV\t\SYN\n\ + \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\ETXW\t\SYN\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\ETXV\EM\SUB\n\ + \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\ETXW\EM\SUB\n\ \4\n\ - \\EOT\EOT\ETX\STX\STX\DC2\ETXX\STX&\SUB' Occurrences that appear in this file.\n\ + \\EOT\EOT\ETX\STX\STX\DC2\ETXY\STX&\SUB' Occurrences that appear in this file.\n\ \\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\STX\EOT\DC2\ETXX\STX\n\ + \\ENQ\EOT\ETX\STX\STX\EOT\DC2\ETXY\STX\n\ \\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\STX\ACK\DC2\ETXX\v\NAK\n\ + \\ENQ\EOT\ETX\STX\STX\ACK\DC2\ETXY\v\NAK\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\STX\SOH\DC2\ETXX\SYN!\n\ + \\ENQ\EOT\ETX\STX\STX\SOH\DC2\ETXY\SYN!\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\STX\ETX\DC2\ETXX$%\n\ + \\ENQ\EOT\ETX\STX\STX\ETX\DC2\ETXY$%\n\ \\234\SOH\n\ - \\EOT\EOT\ETX\STX\ETX\DC2\ETX^\STX)\SUB\220\SOH Symbols that are \"defined\" within this document.\n\ + \\EOT\EOT\ETX\STX\ETX\DC2\ETX_\STX)\SUB\220\SOH Symbols that are \"defined\" within this document.\n\ \\n\ \ This should include symbols which technically do not have any definition,\n\ \ but have a reference and are defined by some other symbol (see\n\ \ Relationship.is_definition).\n\ \\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\ETX\EOT\DC2\ETX^\STX\n\ + \\ENQ\EOT\ETX\STX\ETX\EOT\DC2\ETX_\STX\n\ \\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\ETX\ACK\DC2\ETX^\v\FS\n\ + \\ENQ\EOT\ETX\STX\ETX\ACK\DC2\ETX_\v\FS\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\ETX\SOH\DC2\ETX^\GS$\n\ + \\ENQ\EOT\ETX\STX\ETX\SOH\DC2\ETX_\GS$\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\ETX\ETX\DC2\ETX^'(\n\ + \\ENQ\EOT\ETX\STX\ETX\ETX\DC2\ETX_'(\n\ \\247\ETX\n\ - \\EOT\EOT\ETX\STX\EOT\DC2\ETXg\STX\DC2\SUB\233\ETX (optional) Text contents of the this document. Indexers are not expected to\n\ + \\EOT\EOT\ETX\STX\EOT\DC2\ETXh\STX\DC2\SUB\233\ETX (optional) Text contents of the this document. Indexers are not expected to\n\ \ include the text by default. It's preferrable that clients read the text\n\ \ contents from the file system by resolving the absolute path from joining\n\ \ `Index.metadata.project_root` and `Document.relative_path`. This field was\n\ @@ -6625,13 +6772,71 @@ packedFileDescriptor \ with virtual/in-memory documents.\n\ \\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\EOT\ENQ\DC2\ETXg\STX\b\n\ + \\ENQ\EOT\ETX\STX\EOT\ENQ\DC2\ETXh\STX\b\n\ + \\f\n\ + \\ENQ\EOT\ETX\STX\EOT\SOH\DC2\ETXh\t\r\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\EOT\SOH\DC2\ETXg\t\r\n\ + \\ENQ\EOT\ETX\STX\EOT\ETX\DC2\ETXh\DLE\DC1\n\ + \N\n\ + \\EOT\EOT\ETX\STX\ENQ\DC2\ETXk\STX)\SUBA Specifies the encoding used for source ranges in this Document.\n\ + \\n\ \\f\n\ - \\ENQ\EOT\ETX\STX\EOT\ETX\DC2\ETXg\DLE\DC1\n\ + \\ENQ\EOT\ETX\STX\ENQ\ACK\DC2\ETXk\STX\DC2\n\ + \\f\n\ + \\ENQ\EOT\ETX\STX\ENQ\SOH\DC2\ETXk\DC3$\n\ + \\f\n\ + \\ENQ\EOT\ETX\STX\ENQ\ETX\DC2\ETXk'(\n\ + \Q\n\ + \\STX\ENQ\STX\DC2\ENQo\NUL\135\SOH\SOH\SUBD Encoding used to interpret the 'character' value in source ranges.\n\ + \\n\ + \\n\ + \\n\ + \\ETX\ENQ\STX\SOH\DC2\ETXo\ENQ\NAK\n\ + \\147\SOH\n\ + \\EOT\ENQ\STX\STX\NUL\DC2\ETXr\STX\"\SUB\133\SOH Default value. This value should not be used by new SCIP indexers\n\ + \ so that a consumer can process the SCIP index without ambiguity.\n\ + \\n\ + \\f\n\ + \\ENQ\ENQ\STX\STX\NUL\SOH\DC2\ETXr\STX\GS\n\ + \\f\n\ + \\ENQ\ENQ\STX\STX\NUL\STX\DC2\ETXr !\n\ + \\138\STX\n\ + \\EOT\ENQ\STX\STX\SOH\DC2\ETXy\STX\"\SUB\252\SOH The 'character' value is interpreted as a byte offset,\n\ + \ assuming that the text for the line is encoded as UTF-8.\n\ + \\n\ + \ Example: For the string \"\240\159\154\128 Woo\" in UTF-8, the bytes are \n\ + \ [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W'\n\ + \ would be 5.\n\ + \\n\ + \\f\n\ + \\ENQ\ENQ\STX\STX\SOH\SOH\DC2\ETXy\STX\GS\n\ + \\f\n\ + \\ENQ\ENQ\STX\STX\SOH\STX\DC2\ETXy !\n\ + \\224\SOH\n\ + \\EOT\ENQ\STX\STX\STX\DC2\ETX\DEL\STX&\SUB\210\SOH The 'character' value is interpreted as an offset in terms\n\ + \ of UTF-8 code units.\n\ + \\n\ + \ Example: For the string \"\240\159\154\128 Woo\", the UTF-8 code units are\n\ + \ ['\240\159\154\128', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.\n\ + \\n\ + \\f\n\ + \\ENQ\ENQ\STX\STX\STX\SOH\DC2\ETX\DEL\STX!\n\ + \\f\n\ + \\ENQ\ENQ\STX\STX\STX\STX\DC2\ETX\DEL$%\n\ + \\240\SOH\n\ + \\EOT\ENQ\STX\STX\ETX\DC2\EOT\134\SOH\STX'\SUB\225\SOH The 'character' value is interpreted as an offset in terms\n\ + \ of UTF-16 code units.\n\ + \\n\ + \ Example: For the string \"\240\159\154\128 Woo\", the UTF-16 code units are\n\ + \ ['\\ud83d', '\\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W'\n\ + \ would be 3.\n\ + \\n\ + \\r\n\ + \\ENQ\ENQ\STX\STX\ETX\SOH\DC2\EOT\134\SOH\STX\"\n\ + \\r\n\ + \\ENQ\ENQ\STX\STX\ETX\STX\DC2\EOT\134\SOH%&\n\ \\164\DC1\n\ - \\STX\EOT\EOT\DC2\ACK\148\SOH\NUL\152\SOH\SOH\SUB\149\DC1 Symbol is similar to a URI, it identifies a class, method, or a local\n\ + \\STX\EOT\EOT\DC2\ACK\178\SOH\NUL\182\SOH\SOH\SUB\149\DC1 Symbol is similar to a URI, it identifies a class, method, or a local\n\ \ variable. `SymbolInformation` contains rich metadata about symbols such as\n\ \ the docstring.\n\ \\n\ @@ -6674,199 +6879,199 @@ packedFileDescriptor \ and cannot be accessed from outside the Document.\n\ \\n\ \\v\n\ - \\ETX\EOT\EOT\SOH\DC2\EOT\148\SOH\b\SO\n\ + \\ETX\EOT\EOT\SOH\DC2\EOT\178\SOH\b\SO\n\ \\f\n\ - \\EOT\EOT\EOT\STX\NUL\DC2\EOT\149\SOH\STX\DC4\n\ + \\EOT\EOT\EOT\STX\NUL\DC2\EOT\179\SOH\STX\DC4\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\NUL\ENQ\DC2\EOT\149\SOH\STX\b\n\ + \\ENQ\EOT\EOT\STX\NUL\ENQ\DC2\EOT\179\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\NUL\SOH\DC2\EOT\149\SOH\t\SI\n\ + \\ENQ\EOT\EOT\STX\NUL\SOH\DC2\EOT\179\SOH\t\SI\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\NUL\ETX\DC2\EOT\149\SOH\DC2\DC3\n\ + \\ENQ\EOT\EOT\STX\NUL\ETX\DC2\EOT\179\SOH\DC2\DC3\n\ \\f\n\ - \\EOT\EOT\EOT\STX\SOH\DC2\EOT\150\SOH\STX\SYN\n\ + \\EOT\EOT\EOT\STX\SOH\DC2\EOT\180\SOH\STX\SYN\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\SOH\ACK\DC2\EOT\150\SOH\STX\t\n\ + \\ENQ\EOT\EOT\STX\SOH\ACK\DC2\EOT\180\SOH\STX\t\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\SOH\SOH\DC2\EOT\150\SOH\n\ + \\ENQ\EOT\EOT\STX\SOH\SOH\DC2\EOT\180\SOH\n\ \\DC1\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\SOH\ETX\DC2\EOT\150\SOH\DC4\NAK\n\ + \\ENQ\EOT\EOT\STX\SOH\ETX\DC2\EOT\180\SOH\DC4\NAK\n\ \\f\n\ - \\EOT\EOT\EOT\STX\STX\DC2\EOT\151\SOH\STX&\n\ + \\EOT\EOT\EOT\STX\STX\DC2\EOT\181\SOH\STX&\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\STX\EOT\DC2\EOT\151\SOH\STX\n\ + \\ENQ\EOT\EOT\STX\STX\EOT\DC2\EOT\181\SOH\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\STX\ACK\DC2\EOT\151\SOH\v\NAK\n\ + \\ENQ\EOT\EOT\STX\STX\ACK\DC2\EOT\181\SOH\v\NAK\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\STX\SOH\DC2\EOT\151\SOH\SYN!\n\ + \\ENQ\EOT\EOT\STX\STX\SOH\DC2\EOT\181\SOH\SYN!\n\ \\r\n\ - \\ENQ\EOT\EOT\STX\STX\ETX\DC2\EOT\151\SOH$%\n\ + \\ENQ\EOT\EOT\STX\STX\ETX\DC2\EOT\181\SOH$%\n\ \q\n\ - \\STX\EOT\ENQ\DC2\ACK\157\SOH\NUL\161\SOH\SOH\SUBc Unit of packaging and distribution.\n\ + \\STX\EOT\ENQ\DC2\ACK\187\SOH\NUL\191\SOH\SOH\SUBc Unit of packaging and distribution.\n\ \\n\ \ NOTE: This corresponds to a module in Go and JVM languages.\n\ \\n\ \\v\n\ - \\ETX\EOT\ENQ\SOH\DC2\EOT\157\SOH\b\SI\n\ + \\ETX\EOT\ENQ\SOH\DC2\EOT\187\SOH\b\SI\n\ \\f\n\ - \\EOT\EOT\ENQ\STX\NUL\DC2\EOT\158\SOH\STX\NAK\n\ + \\EOT\EOT\ENQ\STX\NUL\DC2\EOT\188\SOH\STX\NAK\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\NUL\ENQ\DC2\EOT\158\SOH\STX\b\n\ + \\ENQ\EOT\ENQ\STX\NUL\ENQ\DC2\EOT\188\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\NUL\SOH\DC2\EOT\158\SOH\t\DLE\n\ + \\ENQ\EOT\ENQ\STX\NUL\SOH\DC2\EOT\188\SOH\t\DLE\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\NUL\ETX\DC2\EOT\158\SOH\DC3\DC4\n\ + \\ENQ\EOT\ENQ\STX\NUL\ETX\DC2\EOT\188\SOH\DC3\DC4\n\ \\f\n\ - \\EOT\EOT\ENQ\STX\SOH\DC2\EOT\159\SOH\STX\DC2\n\ + \\EOT\EOT\ENQ\STX\SOH\DC2\EOT\189\SOH\STX\DC2\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\SOH\ENQ\DC2\EOT\159\SOH\STX\b\n\ + \\ENQ\EOT\ENQ\STX\SOH\ENQ\DC2\EOT\189\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\SOH\SOH\DC2\EOT\159\SOH\t\r\n\ + \\ENQ\EOT\ENQ\STX\SOH\SOH\DC2\EOT\189\SOH\t\r\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\SOH\ETX\DC2\EOT\159\SOH\DLE\DC1\n\ + \\ENQ\EOT\ENQ\STX\SOH\ETX\DC2\EOT\189\SOH\DLE\DC1\n\ \\f\n\ - \\EOT\EOT\ENQ\STX\STX\DC2\EOT\160\SOH\STX\NAK\n\ + \\EOT\EOT\ENQ\STX\STX\DC2\EOT\190\SOH\STX\NAK\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\STX\ENQ\DC2\EOT\160\SOH\STX\b\n\ + \\ENQ\EOT\ENQ\STX\STX\ENQ\DC2\EOT\190\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\STX\SOH\DC2\EOT\160\SOH\t\DLE\n\ + \\ENQ\EOT\ENQ\STX\STX\SOH\DC2\EOT\190\SOH\t\DLE\n\ \\r\n\ - \\ENQ\EOT\ENQ\STX\STX\ETX\DC2\EOT\160\SOH\DC3\DC4\n\ + \\ENQ\EOT\ENQ\STX\STX\ETX\DC2\EOT\190\SOH\DC3\DC4\n\ \\f\n\ - \\STX\EOT\ACK\DC2\ACK\163\SOH\NUL\186\SOH\SOH\n\ + \\STX\EOT\ACK\DC2\ACK\193\SOH\NUL\216\SOH\SOH\n\ \\v\n\ - \\ETX\EOT\ACK\SOH\DC2\EOT\163\SOH\b\DC2\n\ + \\ETX\EOT\ACK\SOH\DC2\EOT\193\SOH\b\DC2\n\ \\SO\n\ - \\EOT\EOT\ACK\EOT\NUL\DC2\ACK\164\SOH\STX\182\SOH\ETX\n\ + \\EOT\EOT\ACK\EOT\NUL\DC2\ACK\194\SOH\STX\212\SOH\ETX\n\ \\r\n\ - \\ENQ\EOT\ACK\EOT\NUL\SOH\DC2\EOT\164\SOH\a\r\n\ + \\ENQ\EOT\ACK\EOT\NUL\SOH\DC2\EOT\194\SOH\a\r\n\ \\r\n\ - \\ENQ\EOT\ACK\EOT\NUL\ETX\DC2\EOT\165\SOH\EOT\RS\n\ + \\ENQ\EOT\ACK\EOT\NUL\ETX\DC2\EOT\195\SOH\EOT\RS\n\ \\SO\n\ - \\ACK\EOT\ACK\EOT\NUL\ETX\STX\DC2\EOT\165\SOH\EOT\RS\n\ + \\ACK\EOT\ACK\EOT\NUL\ETX\STX\DC2\EOT\195\SOH\EOT\RS\n\ \\SO\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\NUL\DC2\EOT\166\SOH\EOT\SUB\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\NUL\DC2\EOT\196\SOH\EOT\SUB\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\NUL\SOH\DC2\EOT\166\SOH\EOT\NAK\n\ + \\a\EOT\ACK\EOT\NUL\STX\NUL\SOH\DC2\EOT\196\SOH\EOT\NAK\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\NUL\STX\DC2\EOT\166\SOH\CAN\EM\n\ + \\a\EOT\ACK\EOT\NUL\STX\NUL\STX\DC2\EOT\196\SOH\CAN\EM\n\ \}\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\SOH\DC2\EOT\170\SOH\EOT\DC2\SUBm Unit of code abstraction and/or namespacing.\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\SOH\DC2\EOT\200\SOH\EOT\DC2\SUBm Unit of code abstraction and/or namespacing.\n\ \\n\ \ NOTE: This corresponds to a package in Go and JVM languages.\n\ \\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\SOH\SOH\DC2\EOT\170\SOH\EOT\r\n\ + \\a\EOT\ACK\EOT\NUL\STX\SOH\SOH\DC2\EOT\200\SOH\EOT\r\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\SOH\STX\DC2\EOT\170\SOH\DLE\DC1\n\ + \\a\EOT\ACK\EOT\NUL\STX\SOH\STX\DC2\EOT\200\SOH\DLE\DC1\n\ \(\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\STX\DC2\EOT\172\SOH\EOT\"\SUB\CAN Use Namespace instead.\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\STX\DC2\EOT\202\SOH\EOT\"\SUB\CAN Use Namespace instead.\n\ \\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\STX\SOH\DC2\EOT\172\SOH\EOT\v\n\ + \\a\EOT\ACK\EOT\NUL\STX\STX\SOH\DC2\EOT\202\SOH\EOT\v\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\STX\STX\DC2\EOT\172\SOH\SO\SI\n\ + \\a\EOT\ACK\EOT\NUL\STX\STX\STX\DC2\EOT\202\SOH\SO\SI\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\STX\ETX\DC2\EOT\172\SOH\DLE!\n\ + \\a\EOT\ACK\EOT\NUL\STX\STX\ETX\DC2\EOT\202\SOH\DLE!\n\ \\DLE\n\ - \\b\EOT\ACK\EOT\NUL\STX\STX\ETX\SOH\DC2\EOT\172\SOH\DC1 \n\ + \\b\EOT\ACK\EOT\NUL\STX\STX\ETX\SOH\DC2\EOT\202\SOH\DC1 \n\ \\SO\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\ETX\DC2\EOT\173\SOH\EOT\r\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\ETX\DC2\EOT\203\SOH\EOT\r\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\ETX\SOH\DC2\EOT\173\SOH\EOT\b\n\ + \\a\EOT\ACK\EOT\NUL\STX\ETX\SOH\DC2\EOT\203\SOH\EOT\b\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\ETX\STX\DC2\EOT\173\SOH\v\f\n\ + \\a\EOT\ACK\EOT\NUL\STX\ETX\STX\DC2\EOT\203\SOH\v\f\n\ \\SO\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\EOT\DC2\EOT\174\SOH\EOT\r\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\EOT\DC2\EOT\204\SOH\EOT\r\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\EOT\SOH\DC2\EOT\174\SOH\EOT\b\n\ + \\a\EOT\ACK\EOT\NUL\STX\EOT\SOH\DC2\EOT\204\SOH\EOT\b\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\EOT\STX\DC2\EOT\174\SOH\v\f\n\ + \\a\EOT\ACK\EOT\NUL\STX\EOT\STX\DC2\EOT\204\SOH\v\f\n\ \\SO\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\ENQ\DC2\EOT\175\SOH\EOT\SI\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\ENQ\DC2\EOT\205\SOH\EOT\SI\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\ENQ\SOH\DC2\EOT\175\SOH\EOT\n\ + \\a\EOT\ACK\EOT\NUL\STX\ENQ\SOH\DC2\EOT\205\SOH\EOT\n\ \\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\ENQ\STX\DC2\EOT\175\SOH\r\SO\n\ + \\a\EOT\ACK\EOT\NUL\STX\ENQ\STX\DC2\EOT\205\SOH\r\SO\n\ \\SO\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\ACK\DC2\EOT\176\SOH\EOT\SYN\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\ACK\DC2\EOT\206\SOH\EOT\SYN\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\ACK\SOH\DC2\EOT\176\SOH\EOT\DC1\n\ + \\a\EOT\ACK\EOT\NUL\STX\ACK\SOH\DC2\EOT\206\SOH\EOT\DC1\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\ACK\STX\DC2\EOT\176\SOH\DC4\NAK\n\ + \\a\EOT\ACK\EOT\NUL\STX\ACK\STX\DC2\EOT\206\SOH\DC4\NAK\n\ \\SO\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\a\DC2\EOT\177\SOH\EOT\DC2\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\a\DC2\EOT\207\SOH\EOT\DC2\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\a\SOH\DC2\EOT\177\SOH\EOT\r\n\ + \\a\EOT\ACK\EOT\NUL\STX\a\SOH\DC2\EOT\207\SOH\EOT\r\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\a\STX\DC2\EOT\177\SOH\DLE\DC1\n\ + \\a\EOT\ACK\EOT\NUL\STX\a\STX\DC2\EOT\207\SOH\DLE\DC1\n\ \.\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\b\DC2\EOT\179\SOH\EOT\r\SUB\RS Can be used for any purpose.\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\b\DC2\EOT\209\SOH\EOT\r\SUB\RS Can be used for any purpose.\n\ \\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\b\SOH\DC2\EOT\179\SOH\EOT\b\n\ + \\a\EOT\ACK\EOT\NUL\STX\b\SOH\DC2\EOT\209\SOH\EOT\b\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\b\STX\DC2\EOT\179\SOH\v\f\n\ + \\a\EOT\ACK\EOT\NUL\STX\b\STX\DC2\EOT\209\SOH\v\f\n\ \\SO\n\ - \\ACK\EOT\ACK\EOT\NUL\STX\t\DC2\EOT\180\SOH\EOT\SO\n\ + \\ACK\EOT\ACK\EOT\NUL\STX\t\DC2\EOT\210\SOH\EOT\SO\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\t\SOH\DC2\EOT\180\SOH\EOT\t\n\ + \\a\EOT\ACK\EOT\NUL\STX\t\SOH\DC2\EOT\210\SOH\EOT\t\n\ \\SI\n\ - \\a\EOT\ACK\EOT\NUL\STX\t\STX\DC2\EOT\180\SOH\f\r\n\ + \\a\EOT\ACK\EOT\NUL\STX\t\STX\DC2\EOT\210\SOH\f\r\n\ \\SO\n\ \\ACK\EOT\ACK\EOT\NUL\STX\n\ - \\DC2\EOT\181\SOH\EOT\SO\n\ + \\DC2\EOT\211\SOH\EOT\SO\n\ \\SI\n\ \\a\EOT\ACK\EOT\NUL\STX\n\ - \\SOH\DC2\EOT\181\SOH\EOT\t\n\ + \\SOH\DC2\EOT\211\SOH\EOT\t\n\ \\SI\n\ \\a\EOT\ACK\EOT\NUL\STX\n\ - \\STX\DC2\EOT\181\SOH\f\r\n\ + \\STX\DC2\EOT\211\SOH\f\r\n\ \\f\n\ - \\EOT\EOT\ACK\STX\NUL\DC2\EOT\183\SOH\STX\DC2\n\ + \\EOT\EOT\ACK\STX\NUL\DC2\EOT\213\SOH\STX\DC2\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\NUL\ENQ\DC2\EOT\183\SOH\STX\b\n\ + \\ENQ\EOT\ACK\STX\NUL\ENQ\DC2\EOT\213\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\NUL\SOH\DC2\EOT\183\SOH\t\r\n\ + \\ENQ\EOT\ACK\STX\NUL\SOH\DC2\EOT\213\SOH\t\r\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\NUL\ETX\DC2\EOT\183\SOH\DLE\DC1\n\ + \\ENQ\EOT\ACK\STX\NUL\ETX\DC2\EOT\213\SOH\DLE\DC1\n\ \\f\n\ - \\EOT\EOT\ACK\STX\SOH\DC2\EOT\184\SOH\STX\ESC\n\ + \\EOT\EOT\ACK\STX\SOH\DC2\EOT\214\SOH\STX\ESC\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\SOH\ENQ\DC2\EOT\184\SOH\STX\b\n\ + \\ENQ\EOT\ACK\STX\SOH\ENQ\DC2\EOT\214\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\SOH\SOH\DC2\EOT\184\SOH\t\SYN\n\ + \\ENQ\EOT\ACK\STX\SOH\SOH\DC2\EOT\214\SOH\t\SYN\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\SOH\ETX\DC2\EOT\184\SOH\EM\SUB\n\ + \\ENQ\EOT\ACK\STX\SOH\ETX\DC2\EOT\214\SOH\EM\SUB\n\ \\f\n\ - \\EOT\EOT\ACK\STX\STX\DC2\EOT\185\SOH\STX\DC4\n\ + \\EOT\EOT\ACK\STX\STX\DC2\EOT\215\SOH\STX\DC4\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\STX\ACK\DC2\EOT\185\SOH\STX\b\n\ + \\ENQ\EOT\ACK\STX\STX\ACK\DC2\EOT\215\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\STX\SOH\DC2\EOT\185\SOH\t\SI\n\ + \\ENQ\EOT\ACK\STX\STX\SOH\DC2\EOT\215\SOH\t\SI\n\ \\r\n\ - \\ENQ\EOT\ACK\STX\STX\ETX\DC2\EOT\185\SOH\DC2\DC3\n\ + \\ENQ\EOT\ACK\STX\STX\ETX\DC2\EOT\215\SOH\DC2\DC3\n\ \\131\SOH\n\ - \\STX\EOT\a\DC2\ACK\190\SOH\NUL\138\ETX\SOH\SUBu SymbolInformation defines metadata about a symbol, such as the symbol's\n\ + \\STX\EOT\a\DC2\ACK\220\SOH\NUL\168\ETX\SOH\SUBu SymbolInformation defines metadata about a symbol, such as the symbol's\n\ \ docstring or what package it's defined it.\n\ \\n\ \\v\n\ - \\ETX\EOT\a\SOH\DC2\EOT\190\SOH\b\EM\n\ + \\ETX\EOT\a\SOH\DC2\EOT\220\SOH\b\EM\n\ \\160\SOH\n\ - \\EOT\EOT\a\STX\NUL\DC2\EOT\193\SOH\STX\DC4\SUB\145\SOH Identifier of this symbol, which can be referenced from `Occurence.symbol`.\n\ + \\EOT\EOT\a\STX\NUL\DC2\EOT\223\SOH\STX\DC4\SUB\145\SOH Identifier of this symbol, which can be referenced from `Occurence.symbol`.\n\ \ The string must be formatted according to the grammar in `Symbol`.\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\NUL\ENQ\DC2\EOT\193\SOH\STX\b\n\ + \\ENQ\EOT\a\STX\NUL\ENQ\DC2\EOT\223\SOH\STX\b\n\ \\r\n\ - \\ENQ\EOT\a\STX\NUL\SOH\DC2\EOT\193\SOH\t\SI\n\ + \\ENQ\EOT\a\STX\NUL\SOH\DC2\EOT\223\SOH\t\SI\n\ \\r\n\ - \\ENQ\EOT\a\STX\NUL\ETX\DC2\EOT\193\SOH\DC2\DC3\n\ + \\ENQ\EOT\a\STX\NUL\ETX\DC2\EOT\223\SOH\DC2\DC3\n\ \\180\ETX\n\ - \\EOT\EOT\a\STX\SOH\DC2\EOT\200\SOH\STX$\SUB\165\ETX (optional, but strongly recommended) The markdown-formatted documentation\n\ + \\EOT\EOT\a\STX\SOH\DC2\EOT\230\SOH\STX$\SUB\165\ETX (optional, but strongly recommended) The markdown-formatted documentation\n\ \ for this symbol. Use `SymbolInformation.signature_documentation` to\n\ \ document the method/class/type signature of this symbol.\n\ \ Due to historical reasons, indexers may include signature documentation in\n\ @@ -6874,39 +7079,39 @@ packedFileDescriptor \ include non-code documentation in this field, for example docstrings.\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\SOH\EOT\DC2\EOT\200\SOH\STX\n\ + \\ENQ\EOT\a\STX\SOH\EOT\DC2\EOT\230\SOH\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\SOH\ENQ\DC2\EOT\200\SOH\v\DC1\n\ + \\ENQ\EOT\a\STX\SOH\ENQ\DC2\EOT\230\SOH\v\DC1\n\ \\r\n\ - \\ENQ\EOT\a\STX\SOH\SOH\DC2\EOT\200\SOH\DC2\US\n\ + \\ENQ\EOT\a\STX\SOH\SOH\DC2\EOT\230\SOH\DC2\US\n\ \\r\n\ - \\ENQ\EOT\a\STX\SOH\ETX\DC2\EOT\200\SOH\"#\n\ + \\ENQ\EOT\a\STX\SOH\ETX\DC2\EOT\230\SOH\"#\n\ \^\n\ - \\EOT\EOT\a\STX\STX\DC2\EOT\202\SOH\STX*\SUBP (optional) Relationships to other symbols (e.g., implements, type definition).\n\ + \\EOT\EOT\a\STX\STX\DC2\EOT\232\SOH\STX*\SUBP (optional) Relationships to other symbols (e.g., implements, type definition).\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\STX\EOT\DC2\EOT\202\SOH\STX\n\ + \\ENQ\EOT\a\STX\STX\EOT\DC2\EOT\232\SOH\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\STX\ACK\DC2\EOT\202\SOH\v\ETB\n\ + \\ENQ\EOT\a\STX\STX\ACK\DC2\EOT\232\SOH\v\ETB\n\ \\r\n\ - \\ENQ\EOT\a\STX\STX\SOH\DC2\EOT\202\SOH\CAN%\n\ + \\ENQ\EOT\a\STX\STX\SOH\DC2\EOT\232\SOH\CAN%\n\ \\r\n\ - \\ENQ\EOT\a\STX\STX\ETX\DC2\EOT\202\SOH()\n\ + \\ENQ\EOT\a\STX\STX\ETX\DC2\EOT\232\SOH()\n\ \\164\SOH\n\ - \\EOT\EOT\a\STX\ETX\DC2\EOT\206\SOH\STX\DLE\SUB\149\SOH The kind of this symbol. Use this field instead of\n\ + \\EOT\EOT\a\STX\ETX\DC2\EOT\236\SOH\STX\DLE\SUB\149\SOH The kind of this symbol. Use this field instead of\n\ \ `SymbolDescriptor.Suffix` to determine whether something is, for example, a\n\ \ class or a method.\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\ETX\ACK\DC2\EOT\206\SOH\STX\ACK\n\ + \\ENQ\EOT\a\STX\ETX\ACK\DC2\EOT\236\SOH\STX\ACK\n\ \\r\n\ - \\ENQ\EOT\a\STX\ETX\SOH\DC2\EOT\206\SOH\a\v\n\ + \\ENQ\EOT\a\STX\ETX\SOH\DC2\EOT\236\SOH\a\v\n\ \\r\n\ - \\ENQ\EOT\a\STX\ETX\ETX\DC2\EOT\206\SOH\SO\SI\n\ + \\ENQ\EOT\a\STX\ETX\ETX\DC2\EOT\236\SOH\SO\SI\n\ \\245\ENQ\n\ - \\EOT\EOT\a\EOT\NUL\DC2\ACK\221\SOH\STX\230\STX\ETX\SUB\228\ENQ (optional) Kind represents the fine-grained category of a symbol, suitable for presenting\n\ + \\EOT\EOT\a\EOT\NUL\DC2\ACK\251\SOH\STX\132\ETX\ETX\SUB\228\ENQ (optional) Kind represents the fine-grained category of a symbol, suitable for presenting\n\ \ information about the symbol's meaning in the language.\n\ \\n\ \ For example:\n\ @@ -6922,576 +7127,576 @@ packedFileDescriptor \ - If two symbols have different Suffixes, they should have different Kinds.\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\EOT\NUL\SOH\DC2\EOT\221\SOH\a\v\n\ + \\ENQ\EOT\a\EOT\NUL\SOH\DC2\EOT\251\SOH\a\v\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\NUL\DC2\EOT\222\SOH\ACK\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STX\NUL\DC2\EOT\252\SOH\ACK\SUB\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\NUL\SOH\DC2\EOT\222\SOH\ACK\NAK\n\ + \\a\EOT\a\EOT\NUL\STX\NUL\SOH\DC2\EOT\252\SOH\ACK\NAK\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\NUL\STX\DC2\EOT\222\SOH\CAN\EM\n\ + \\a\EOT\a\EOT\NUL\STX\NUL\STX\DC2\EOT\252\SOH\CAN\EM\n\ \R\n\ - \\ACK\EOT\a\EOT\NUL\STX\SOH\DC2\EOT\224\SOH\ACK\SUB\SUBB A method which may or may not have a body. For Java, Kotlin etc.\n\ + \\ACK\EOT\a\EOT\NUL\STX\SOH\DC2\EOT\254\SOH\ACK\SUB\SUBB A method which may or may not have a body. For Java, Kotlin etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SOH\SOH\DC2\EOT\224\SOH\ACK\DC4\n\ + \\a\EOT\a\EOT\NUL\STX\SOH\SOH\DC2\EOT\254\SOH\ACK\DC4\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SOH\STX\DC2\EOT\224\SOH\ETB\EM\n\ + \\a\EOT\a\EOT\NUL\STX\SOH\STX\DC2\EOT\254\SOH\ETB\EM\n\ \*\n\ - \\ACK\EOT\a\EOT\NUL\STX\STX\DC2\EOT\226\SOH\ACK\DC4\SUB\SUB For Ruby's attr_accessor\n\ + \\ACK\EOT\a\EOT\NUL\STX\STX\DC2\EOT\128\STX\ACK\DC4\SUB\SUB For Ruby's attr_accessor\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\STX\SOH\DC2\EOT\226\SOH\ACK\SO\n\ + \\a\EOT\a\EOT\NUL\STX\STX\SOH\DC2\EOT\128\STX\ACK\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\STX\STX\DC2\EOT\226\SOH\DC1\DC3\n\ + \\a\EOT\a\EOT\NUL\STX\STX\STX\DC2\EOT\128\STX\DC1\DC3\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\ETX\DC2\EOT\227\SOH\ACK\DLE\n\ + \\ACK\EOT\a\EOT\NUL\STX\ETX\DC2\EOT\129\STX\ACK\DLE\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ETX\SOH\DC2\EOT\227\SOH\ACK\v\n\ + \\a\EOT\a\EOT\NUL\STX\ETX\SOH\DC2\EOT\129\STX\ACK\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ETX\STX\DC2\EOT\227\SOH\SO\SI\n\ + \\a\EOT\a\EOT\NUL\STX\ETX\STX\DC2\EOT\129\STX\SO\SI\n\ \\ESC\n\ - \\ACK\EOT\a\EOT\NUL\STX\EOT\DC2\EOT\229\SOH\ACK\DC4\SUB\v For Alloy\n\ + \\ACK\EOT\a\EOT\NUL\STX\EOT\DC2\EOT\131\STX\ACK\DC4\SUB\v For Alloy\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\EOT\SOH\DC2\EOT\229\SOH\ACK\SI\n\ + \\a\EOT\a\EOT\NUL\STX\EOT\SOH\DC2\EOT\131\STX\ACK\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\EOT\STX\DC2\EOT\229\SOH\DC2\DC3\n\ + \\a\EOT\a\EOT\NUL\STX\EOT\STX\DC2\EOT\131\STX\DC2\DC3\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\ENQ\DC2\EOT\230\SOH\ACK\EM\n\ + \\ACK\EOT\a\EOT\NUL\STX\ENQ\DC2\EOT\132\STX\ACK\EM\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ENQ\SOH\DC2\EOT\230\SOH\ACK\DC4\n\ + \\a\EOT\a\EOT\NUL\STX\ENQ\SOH\DC2\EOT\132\STX\ACK\DC4\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ENQ\STX\DC2\EOT\230\SOH\ETB\CAN\n\ + \\a\EOT\a\EOT\NUL\STX\ENQ\STX\DC2\EOT\132\STX\ETB\CAN\n\ \\EM\n\ - \\ACK\EOT\a\EOT\NUL\STX\ACK\DC2\EOT\232\SOH\ACK\DC4\SUB\t For C++\n\ + \\ACK\EOT\a\EOT\NUL\STX\ACK\DC2\EOT\134\STX\ACK\DC4\SUB\t For C++\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ACK\SOH\DC2\EOT\232\SOH\ACK\SI\n\ + \\a\EOT\a\EOT\NUL\STX\ACK\SOH\DC2\EOT\134\STX\ACK\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ACK\STX\DC2\EOT\232\SOH\DC2\DC3\n\ + \\a\EOT\a\EOT\NUL\STX\ACK\STX\DC2\EOT\134\STX\DC2\DC3\n\ \\SUB\n\ - \\ACK\EOT\a\EOT\NUL\STX\a\DC2\EOT\234\SOH\ACK\DLE\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STX\a\DC2\EOT\136\STX\ACK\DLE\SUB\n\ \ For Lean\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\a\SOH\DC2\EOT\234\SOH\ACK\v\n\ + \\a\EOT\a\EOT\NUL\STX\a\SOH\DC2\EOT\136\STX\ACK\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\a\STX\DC2\EOT\234\SOH\SO\SI\n\ + \\a\EOT\a\EOT\NUL\STX\a\STX\DC2\EOT\136\STX\SO\SI\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\b\DC2\EOT\235\SOH\ACK\DC2\n\ + \\ACK\EOT\a\EOT\NUL\STX\b\DC2\EOT\137\STX\ACK\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\b\SOH\DC2\EOT\235\SOH\ACK\r\n\ + \\a\EOT\a\EOT\NUL\STX\b\SOH\DC2\EOT\137\STX\ACK\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\b\STX\DC2\EOT\235\SOH\DLE\DC1\n\ + \\a\EOT\a\EOT\NUL\STX\b\STX\DC2\EOT\137\STX\DLE\DC1\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\t\DC2\EOT\236\SOH\ACK\DLE\n\ + \\ACK\EOT\a\EOT\NUL\STX\t\DC2\EOT\138\STX\ACK\DLE\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\t\SOH\DC2\EOT\236\SOH\ACK\v\n\ + \\a\EOT\a\EOT\NUL\STX\t\SOH\DC2\EOT\138\STX\ACK\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\t\STX\DC2\EOT\236\SOH\SO\SI\n\ + \\a\EOT\a\EOT\NUL\STX\t\STX\DC2\EOT\138\STX\SO\SI\n\ \\SO\n\ \\ACK\EOT\a\EOT\NUL\STX\n\ - \\DC2\EOT\237\SOH\ACK\DC3\n\ + \\DC2\EOT\139\STX\ACK\DC3\n\ \\SI\n\ \\a\EOT\a\EOT\NUL\STX\n\ - \\SOH\DC2\EOT\237\SOH\ACK\SO\n\ + \\SOH\DC2\EOT\139\STX\ACK\SO\n\ \\SI\n\ \\a\EOT\a\EOT\NUL\STX\n\ - \\STX\DC2\EOT\237\SOH\DC1\DC2\n\ + \\STX\DC2\EOT\139\STX\DC1\DC2\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\v\DC2\EOT\238\SOH\ACK\SYN\n\ + \\ACK\EOT\a\EOT\NUL\STX\v\DC2\EOT\140\STX\ACK\SYN\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\v\SOH\DC2\EOT\238\SOH\ACK\DC1\n\ + \\a\EOT\a\EOT\NUL\STX\v\SOH\DC2\EOT\140\STX\ACK\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\v\STX\DC2\EOT\238\SOH\DC4\NAK\n\ + \\a\EOT\a\EOT\NUL\STX\v\STX\DC2\EOT\140\STX\DC4\NAK\n\ \\RS\n\ - \\ACK\EOT\a\EOT\NUL\STX\f\DC2\EOT\240\SOH\ACK\DC4\SUB\SO For Solidity\n\ + \\ACK\EOT\a\EOT\NUL\STX\f\DC2\EOT\142\STX\ACK\DC4\SUB\SO For Solidity\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\f\SOH\DC2\EOT\240\SOH\ACK\SO\n\ + \\a\EOT\a\EOT\NUL\STX\f\SOH\DC2\EOT\142\STX\ACK\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\f\STX\DC2\EOT\240\SOH\DC1\DC3\n\ + \\a\EOT\a\EOT\NUL\STX\f\STX\DC2\EOT\142\STX\DC1\DC3\n\ \\GS\n\ - \\ACK\EOT\a\EOT\NUL\STX\r\DC2\EOT\242\SOH\ACK\SYN\SUB\r For Haskell\n\ + \\ACK\EOT\a\EOT\NUL\STX\r\DC2\EOT\144\STX\ACK\SYN\SUB\r For Haskell\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\r\SOH\DC2\EOT\242\SOH\ACK\DLE\n\ + \\a\EOT\a\EOT\NUL\STX\r\SOH\DC2\EOT\144\STX\ACK\DLE\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\r\STX\DC2\EOT\242\SOH\DC3\NAK\n\ + \\a\EOT\a\EOT\NUL\STX\r\STX\DC2\EOT\144\STX\DC3\NAK\n\ \\US\n\ - \\ACK\EOT\a\EOT\NUL\STX\SO\DC2\EOT\244\SOH\ACK\DC4\SUB\SI For C# and F#\n\ + \\ACK\EOT\a\EOT\NUL\STX\SO\DC2\EOT\146\STX\ACK\DC4\SUB\SI For C# and F#\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SO\SOH\DC2\EOT\244\SOH\ACK\SO\n\ + \\a\EOT\a\EOT\NUL\STX\SO\SOH\DC2\EOT\146\STX\ACK\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SO\STX\DC2\EOT\244\SOH\DC1\DC3\n\ + \\a\EOT\a\EOT\NUL\STX\SO\STX\DC2\EOT\146\STX\DC1\DC3\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\SI\DC2\EOT\245\SOH\ACK\DLE\n\ + \\ACK\EOT\a\EOT\NUL\STX\SI\DC2\EOT\147\STX\ACK\DLE\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SI\SOH\DC2\EOT\245\SOH\ACK\n\ + \\a\EOT\a\EOT\NUL\STX\SI\SOH\DC2\EOT\147\STX\ACK\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SI\STX\DC2\EOT\245\SOH\r\SI\n\ + \\a\EOT\a\EOT\NUL\STX\SI\STX\DC2\EOT\147\STX\r\SI\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\DLE\DC2\EOT\246\SOH\ACK\SYN\n\ + \\ACK\EOT\a\EOT\NUL\STX\DLE\DC2\EOT\148\STX\ACK\SYN\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DLE\SOH\DC2\EOT\246\SOH\ACK\DLE\n\ + \\a\EOT\a\EOT\NUL\STX\DLE\SOH\DC2\EOT\148\STX\ACK\DLE\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DLE\STX\DC2\EOT\246\SOH\DC3\NAK\n\ + \\a\EOT\a\EOT\NUL\STX\DLE\STX\DC2\EOT\148\STX\DC3\NAK\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\DC1\DC2\EOT\247\SOH\ACK\DC1\n\ + \\ACK\EOT\a\EOT\NUL\STX\DC1\DC2\EOT\149\STX\ACK\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DC1\SOH\DC2\EOT\247\SOH\ACK\v\n\ + \\a\EOT\a\EOT\NUL\STX\DC1\SOH\DC2\EOT\149\STX\ACK\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DC1\STX\DC2\EOT\247\SOH\SO\DLE\n\ + \\a\EOT\a\EOT\NUL\STX\DC1\STX\DC2\EOT\149\STX\SO\DLE\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\DC2\DC2\EOT\248\SOH\ACK\DC1\n\ + \\ACK\EOT\a\EOT\NUL\STX\DC2\DC2\EOT\150\STX\ACK\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DC2\SOH\DC2\EOT\248\SOH\ACK\v\n\ + \\a\EOT\a\EOT\NUL\STX\DC2\SOH\DC2\EOT\150\STX\ACK\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DC2\STX\DC2\EOT\248\SOH\SO\DLE\n\ + \\a\EOT\a\EOT\NUL\STX\DC2\STX\DC2\EOT\150\STX\SO\DLE\n\ \\ESC\n\ - \\ACK\EOT\a\EOT\NUL\STX\DC3\DC2\EOT\250\SOH\ACK\DLE\SUB\v For Alloy\n\ + \\ACK\EOT\a\EOT\NUL\STX\DC3\DC2\EOT\152\STX\ACK\DLE\SUB\v For Alloy\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DC3\SOH\DC2\EOT\250\SOH\ACK\n\ + \\a\EOT\a\EOT\NUL\STX\DC3\SOH\DC2\EOT\152\STX\ACK\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DC3\STX\DC2\EOT\250\SOH\r\SI\n\ + \\a\EOT\a\EOT\NUL\STX\DC3\STX\DC2\EOT\152\STX\r\SI\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\DC4\DC2\EOT\251\SOH\ACK\DC1\n\ + \\ACK\EOT\a\EOT\NUL\STX\DC4\DC2\EOT\153\STX\ACK\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DC4\SOH\DC2\EOT\251\SOH\ACK\v\n\ + \\a\EOT\a\EOT\NUL\STX\DC4\SOH\DC2\EOT\153\STX\ACK\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\DC4\STX\DC2\EOT\251\SOH\SO\DLE\n\ + \\a\EOT\a\EOT\NUL\STX\DC4\STX\DC2\EOT\153\STX\SO\DLE\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\NAK\DC2\EOT\252\SOH\ACK\DLE\n\ + \\ACK\EOT\a\EOT\NUL\STX\NAK\DC2\EOT\154\STX\ACK\DLE\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\NAK\SOH\DC2\EOT\252\SOH\ACK\n\ + \\a\EOT\a\EOT\NUL\STX\NAK\SOH\DC2\EOT\154\STX\ACK\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\NAK\STX\DC2\EOT\252\SOH\r\SI\n\ + \\a\EOT\a\EOT\NUL\STX\NAK\STX\DC2\EOT\154\STX\r\SI\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\SYN\DC2\EOT\253\SOH\ACK\DC4\n\ + \\ACK\EOT\a\EOT\NUL\STX\SYN\DC2\EOT\155\STX\ACK\DC4\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SYN\SOH\DC2\EOT\253\SOH\ACK\SO\n\ + \\a\EOT\a\EOT\NUL\STX\SYN\SOH\DC2\EOT\155\STX\ACK\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SYN\STX\DC2\EOT\253\SOH\DC1\DC3\n\ + \\a\EOT\a\EOT\NUL\STX\SYN\STX\DC2\EOT\155\STX\DC1\DC3\n\ \;\n\ - \\ACK\EOT\a\EOT\NUL\STX\ETB\DC2\EOT\255\SOH\ACK\DC2\SUB+ For 'get' in Swift, 'attr_reader' in Ruby\n\ + \\ACK\EOT\a\EOT\NUL\STX\ETB\DC2\EOT\157\STX\ACK\DC2\SUB+ For 'get' in Swift, 'attr_reader' in Ruby\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ETB\SOH\DC2\EOT\255\SOH\ACK\f\n\ + \\a\EOT\a\EOT\NUL\STX\ETB\SOH\DC2\EOT\157\STX\ACK\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ETB\STX\DC2\EOT\255\SOH\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STX\ETB\STX\DC2\EOT\157\STX\SI\DC1\n\ \\SUB\n\ - \\ACK\EOT\a\EOT\NUL\STX\CAN\DC2\EOT\129\STX\ACK\DC3\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STX\CAN\DC2\EOT\159\STX\ACK\DC3\SUB\n\ \ For Raku\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\CAN\SOH\DC2\EOT\129\STX\ACK\r\n\ + \\a\EOT\a\EOT\NUL\STX\CAN\SOH\DC2\EOT\159\STX\ACK\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\CAN\STX\DC2\EOT\129\STX\DLE\DC2\n\ + \\a\EOT\a\EOT\NUL\STX\CAN\STX\DC2\EOT\159\STX\DLE\DC2\n\ \)\n\ - \\ACK\EOT\a\EOT\NUL\STX\EM\DC2\EOT\131\STX\ACK\DC4\SUB\EM For Purescript and Lean\n\ + \\ACK\EOT\a\EOT\NUL\STX\EM\DC2\EOT\161\STX\ACK\DC4\SUB\EM For Purescript and Lean\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\EM\SOH\DC2\EOT\131\STX\ACK\SO\n\ + \\a\EOT\a\EOT\NUL\STX\EM\SOH\DC2\EOT\161\STX\ACK\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\EM\STX\DC2\EOT\131\STX\DC1\DC3\n\ + \\a\EOT\a\EOT\NUL\STX\EM\STX\DC2\EOT\161\STX\DC1\DC3\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\SUB\DC2\EOT\132\STX\ACK\NAK\n\ + \\ACK\EOT\a\EOT\NUL\STX\SUB\DC2\EOT\162\STX\ACK\NAK\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SUB\SOH\DC2\EOT\132\STX\ACK\SI\n\ + \\a\EOT\a\EOT\NUL\STX\SUB\SOH\DC2\EOT\162\STX\ACK\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\SUB\STX\DC2\EOT\132\STX\DC2\DC4\n\ + \\a\EOT\a\EOT\NUL\STX\SUB\STX\DC2\EOT\162\STX\DC2\DC4\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\ESC\DC2\EOT\133\STX\ACK\SI\n\ + \\ACK\EOT\a\EOT\NUL\STX\ESC\DC2\EOT\163\STX\ACK\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ESC\SOH\DC2\EOT\133\STX\ACK\t\n\ + \\a\EOT\a\EOT\NUL\STX\ESC\SOH\DC2\EOT\163\STX\ACK\t\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\ESC\STX\DC2\EOT\133\STX\f\SO\n\ + \\a\EOT\a\EOT\NUL\STX\ESC\STX\DC2\EOT\163\STX\f\SO\n\ \\FS\n\ - \\ACK\EOT\a\EOT\NUL\STX\FS\DC2\EOT\135\STX\ACK\DLE\SUB\f For Racket\n\ + \\ACK\EOT\a\EOT\NUL\STX\FS\DC2\EOT\165\STX\ACK\DLE\SUB\f For Racket\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\FS\SOH\DC2\EOT\135\STX\ACK\n\ + \\a\EOT\a\EOT\NUL\STX\FS\SOH\DC2\EOT\165\STX\ACK\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\FS\STX\DC2\EOT\135\STX\r\SI\n\ + \\a\EOT\a\EOT\NUL\STX\FS\STX\DC2\EOT\165\STX\r\SI\n\ \\SUB\n\ - \\ACK\EOT\a\EOT\NUL\STX\GS\DC2\EOT\137\STX\ACK\DC1\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STX\GS\DC2\EOT\167\STX\ACK\DC1\SUB\n\ \ For Lean\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\GS\SOH\DC2\EOT\137\STX\ACK\v\n\ + \\a\EOT\a\EOT\NUL\STX\GS\SOH\DC2\EOT\167\STX\ACK\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\GS\STX\DC2\EOT\137\STX\SO\DLE\n\ + \\a\EOT\a\EOT\NUL\STX\GS\STX\DC2\EOT\167\STX\SO\DLE\n\ \\RS\n\ - \\ACK\EOT\a\EOT\NUL\STX\RS\DC2\EOT\139\STX\ACK\DC3\SUB\SO For solidity\n\ + \\ACK\EOT\a\EOT\NUL\STX\RS\DC2\EOT\169\STX\ACK\DC3\SUB\SO For solidity\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\RS\SOH\DC2\EOT\139\STX\ACK\r\n\ + \\a\EOT\a\EOT\NUL\STX\RS\SOH\DC2\EOT\169\STX\ACK\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\RS\STX\DC2\EOT\139\STX\DLE\DC2\n\ + \\a\EOT\a\EOT\NUL\STX\RS\STX\DC2\EOT\169\STX\DLE\DC2\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX\US\DC2\EOT\140\STX\ACK\DC1\n\ + \\ACK\EOT\a\EOT\NUL\STX\US\DC2\EOT\170\STX\ACK\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\US\SOH\DC2\EOT\140\STX\ACK\v\n\ + \\a\EOT\a\EOT\NUL\STX\US\SOH\DC2\EOT\170\STX\ACK\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\US\STX\DC2\EOT\140\STX\SO\DLE\n\ + \\a\EOT\a\EOT\NUL\STX\US\STX\DC2\EOT\170\STX\SO\DLE\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX \DC2\EOT\141\STX\ACK\DC2\n\ + \\ACK\EOT\a\EOT\NUL\STX \DC2\EOT\171\STX\ACK\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX \SOH\DC2\EOT\141\STX\ACK\f\n\ + \\a\EOT\a\EOT\NUL\STX \SOH\DC2\EOT\171\STX\ACK\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX \STX\DC2\EOT\141\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STX \STX\DC2\EOT\171\STX\SI\DC1\n\ \\SUB\n\ - \\ACK\EOT\a\EOT\NUL\STX!\DC2\EOT\143\STX\ACK\ETB\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STX!\DC2\EOT\173\STX\ACK\ETB\SUB\n\ \ For Ruby\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX!\SOH\DC2\EOT\143\STX\ACK\DC1\n\ + \\a\EOT\a\EOT\NUL\STX!\SOH\DC2\EOT\173\STX\ACK\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX!\STX\DC2\EOT\143\STX\DC4\SYN\n\ + \\a\EOT\a\EOT\NUL\STX!\STX\DC2\EOT\173\STX\DC4\SYN\n\ \\148\SOH\n\ - \\ACK\EOT\a\EOT\NUL\STX\"\DC2\EOT\146\STX\ACK\SUB\SUB\131\SOH Analogous to 'ThisParameter' and 'SelfParameter', but for languages\n\ + \\ACK\EOT\a\EOT\NUL\STX\"\DC2\EOT\176\STX\ACK\SUB\SUB\131\SOH Analogous to 'ThisParameter' and 'SelfParameter', but for languages\n\ \ like Go where the receiver doesn't have a conventional name.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\"\SOH\DC2\EOT\146\STX\ACK\DC4\n\ + \\a\EOT\a\EOT\NUL\STX\"\SOH\DC2\EOT\176\STX\ACK\DC4\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX\"\STX\DC2\EOT\146\STX\ETB\EM\n\ + \\a\EOT\a\EOT\NUL\STX\"\STX\DC2\EOT\176\STX\ETB\EM\n\ \8\n\ - \\ACK\EOT\a\EOT\NUL\STX#\DC2\EOT\148\STX\ACK\US\SUB( Analogous to 'AbstractMethod', for Go.\n\ + \\ACK\EOT\a\EOT\NUL\STX#\DC2\EOT\178\STX\ACK\US\SUB( Analogous to 'AbstractMethod', for Go.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX#\SOH\DC2\EOT\148\STX\ACK\EM\n\ + \\a\EOT\a\EOT\NUL\STX#\SOH\DC2\EOT\178\STX\ACK\EM\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX#\STX\DC2\EOT\148\STX\FS\RS\n\ + \\a\EOT\a\EOT\NUL\STX#\STX\DC2\EOT\178\STX\FS\RS\n\ \\RS\n\ - \\ACK\EOT\a\EOT\NUL\STX$\DC2\EOT\150\STX\ACK\DC3\SUB\SO For Protobuf\n\ + \\ACK\EOT\a\EOT\NUL\STX$\DC2\EOT\180\STX\ACK\DC3\SUB\SO For Protobuf\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX$\SOH\DC2\EOT\150\STX\ACK\r\n\ + \\a\EOT\a\EOT\NUL\STX$\SOH\DC2\EOT\180\STX\ACK\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX$\STX\DC2\EOT\150\STX\DLE\DC2\n\ + \\a\EOT\a\EOT\NUL\STX$\STX\DC2\EOT\180\STX\DLE\DC2\n\ \\RS\n\ - \\ACK\EOT\a\EOT\NUL\STX%\DC2\EOT\152\STX\ACK\DC4\SUB\SO For Solidity\n\ + \\ACK\EOT\a\EOT\NUL\STX%\DC2\EOT\182\STX\ACK\DC4\SUB\SO For Solidity\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX%\SOH\DC2\EOT\152\STX\ACK\SO\n\ + \\a\EOT\a\EOT\NUL\STX%\SOH\DC2\EOT\182\STX\ACK\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX%\STX\DC2\EOT\152\STX\DC1\DC3\n\ + \\a\EOT\a\EOT\NUL\STX%\STX\DC2\EOT\182\STX\DC1\DC3\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX&\DC2\EOT\153\STX\ACK\DC2\n\ + \\ACK\EOT\a\EOT\NUL\STX&\DC2\EOT\183\STX\ACK\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX&\SOH\DC2\EOT\153\STX\ACK\f\n\ + \\a\EOT\a\EOT\NUL\STX&\SOH\DC2\EOT\183\STX\ACK\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX&\STX\DC2\EOT\153\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STX&\STX\DC2\EOT\183\STX\SI\DC1\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX'\DC2\EOT\154\STX\ACK\NAK\n\ + \\ACK\EOT\a\EOT\NUL\STX'\DC2\EOT\184\STX\ACK\NAK\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX'\SOH\DC2\EOT\154\STX\ACK\SI\n\ + \\a\EOT\a\EOT\NUL\STX'\SOH\DC2\EOT\184\STX\ACK\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX'\STX\DC2\EOT\154\STX\DC2\DC4\n\ + \\a\EOT\a\EOT\NUL\STX'\STX\DC2\EOT\184\STX\DC2\DC4\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX(\DC2\EOT\155\STX\ACK\DLE\n\ + \\ACK\EOT\a\EOT\NUL\STX(\DC2\EOT\185\STX\ACK\DLE\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX(\SOH\DC2\EOT\155\STX\ACK\n\ + \\a\EOT\a\EOT\NUL\STX(\SOH\DC2\EOT\185\STX\ACK\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX(\STX\DC2\EOT\155\STX\r\SI\n\ + \\a\EOT\a\EOT\NUL\STX(\STX\DC2\EOT\185\STX\r\SI\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX)\DC2\EOT\156\STX\ACK\DC2\n\ + \\ACK\EOT\a\EOT\NUL\STX)\DC2\EOT\186\STX\ACK\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX)\SOH\DC2\EOT\156\STX\ACK\f\n\ + \\a\EOT\a\EOT\NUL\STX)\SOH\DC2\EOT\186\STX\ACK\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX)\STX\DC2\EOT\156\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STX)\STX\DC2\EOT\186\STX\SI\DC1\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX*\DC2\EOT\157\STX\ACK\DC2\n\ + \\ACK\EOT\a\EOT\NUL\STX*\DC2\EOT\187\STX\ACK\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX*\SOH\DC2\EOT\157\STX\ACK\f\n\ + \\a\EOT\a\EOT\NUL\STX*\SOH\DC2\EOT\187\STX\ACK\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX*\STX\DC2\EOT\157\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STX*\STX\DC2\EOT\187\STX\SI\DC1\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX+\DC2\EOT\158\STX\ACK\DC4\n\ + \\ACK\EOT\a\EOT\NUL\STX+\DC2\EOT\188\STX\ACK\DC4\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX+\SOH\DC2\EOT\158\STX\ACK\SO\n\ + \\a\EOT\a\EOT\NUL\STX+\SOH\DC2\EOT\188\STX\ACK\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX+\STX\DC2\EOT\158\STX\DC1\DC3\n\ + \\a\EOT\a\EOT\NUL\STX+\STX\DC2\EOT\188\STX\DC1\DC3\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX,\DC2\EOT\159\STX\ACK\DC3\n\ + \\ACK\EOT\a\EOT\NUL\STX,\DC2\EOT\189\STX\ACK\DC3\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX,\SOH\DC2\EOT\159\STX\ACK\r\n\ + \\a\EOT\a\EOT\NUL\STX,\SOH\DC2\EOT\189\STX\ACK\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX,\STX\DC2\EOT\159\STX\DLE\DC2\n\ + \\a\EOT\a\EOT\NUL\STX,\STX\DC2\EOT\189\STX\DLE\DC2\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX-\DC2\EOT\160\STX\ACK\EM\n\ + \\ACK\EOT\a\EOT\NUL\STX-\DC2\EOT\190\STX\ACK\EM\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX-\SOH\DC2\EOT\160\STX\ACK\DC3\n\ + \\a\EOT\a\EOT\NUL\STX-\SOH\DC2\EOT\190\STX\ACK\DC3\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX-\STX\DC2\EOT\160\STX\SYN\CAN\n\ + \\a\EOT\a\EOT\NUL\STX-\STX\DC2\EOT\190\STX\SYN\CAN\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX.\DC2\EOT\161\STX\ACK\NAK\n\ + \\ACK\EOT\a\EOT\NUL\STX.\DC2\EOT\191\STX\ACK\NAK\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX.\SOH\DC2\EOT\161\STX\ACK\SI\n\ + \\a\EOT\a\EOT\NUL\STX.\SOH\DC2\EOT\191\STX\ACK\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX.\STX\DC2\EOT\161\STX\DC2\DC4\n\ + \\a\EOT\a\EOT\NUL\STX.\STX\DC2\EOT\191\STX\DC2\DC4\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX/\DC2\EOT\162\STX\ACK\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STX/\DC2\EOT\192\STX\ACK\SUB\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX/\SOH\DC2\EOT\162\STX\ACK\DC4\n\ + \\a\EOT\a\EOT\NUL\STX/\SOH\DC2\EOT\192\STX\ACK\DC4\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX/\STX\DC2\EOT\162\STX\ETB\EM\n\ + \\a\EOT\a\EOT\NUL\STX/\STX\DC2\EOT\192\STX\ETB\EM\n\ \/\n\ - \\ACK\EOT\a\EOT\NUL\STX0\DC2\EOT\164\STX\ACK\DC3\SUB\US For Haskell's PatternSynonyms\n\ + \\ACK\EOT\a\EOT\NUL\STX0\DC2\EOT\194\STX\ACK\DC3\SUB\US For Haskell's PatternSynonyms\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX0\SOH\DC2\EOT\164\STX\ACK\r\n\ + \\a\EOT\a\EOT\NUL\STX0\SOH\DC2\EOT\194\STX\ACK\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX0\STX\DC2\EOT\164\STX\DLE\DC2\n\ + \\a\EOT\a\EOT\NUL\STX0\STX\DC2\EOT\194\STX\DLE\DC2\n\ \\ESC\n\ - \\ACK\EOT\a\EOT\NUL\STX1\DC2\EOT\166\STX\ACK\NAK\SUB\v For Alloy\n\ + \\ACK\EOT\a\EOT\NUL\STX1\DC2\EOT\196\STX\ACK\NAK\SUB\v For Alloy\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX1\SOH\DC2\EOT\166\STX\ACK\SI\n\ + \\a\EOT\a\EOT\NUL\STX1\SOH\DC2\EOT\196\STX\ACK\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX1\STX\DC2\EOT\166\STX\DC2\DC4\n\ + \\a\EOT\a\EOT\NUL\STX1\STX\DC2\EOT\196\STX\DC2\DC4\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STX2\DC2\EOT\167\STX\ACK\DC4\n\ + \\ACK\EOT\a\EOT\NUL\STX2\DC2\EOT\197\STX\ACK\DC4\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX2\SOH\DC2\EOT\167\STX\ACK\SO\n\ + \\a\EOT\a\EOT\NUL\STX2\SOH\DC2\EOT\197\STX\ACK\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX2\STX\DC2\EOT\167\STX\DC1\DC3\n\ + \\a\EOT\a\EOT\NUL\STX2\STX\DC2\EOT\197\STX\DC1\DC3\n\ \Q\n\ - \\ACK\EOT\a\EOT\NUL\STX3\DC2\EOT\169\STX\ACK\DC4\SUBA Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C\n\ + \\ACK\EOT\a\EOT\NUL\STX3\DC2\EOT\199\STX\ACK\DC4\SUBA Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX3\SOH\DC2\EOT\169\STX\ACK\SO\n\ + \\a\EOT\a\EOT\NUL\STX3\SOH\DC2\EOT\199\STX\ACK\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX3\STX\DC2\EOT\169\STX\DC1\DC3\n\ + \\a\EOT\a\EOT\NUL\STX3\STX\DC2\EOT\199\STX\DC1\DC3\n\ \K\n\ - \\ACK\EOT\a\EOT\NUL\STX4\DC2\EOT\171\STX\ACK\SUB\SUB; Analogous to 'AbstractMethod', for Swift and Objective-C.\n\ + \\ACK\EOT\a\EOT\NUL\STX4\DC2\EOT\201\STX\ACK\SUB\SUB; Analogous to 'AbstractMethod', for Swift and Objective-C.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX4\SOH\DC2\EOT\171\STX\ACK\DC4\n\ + \\a\EOT\a\EOT\NUL\STX4\SOH\DC2\EOT\201\STX\ACK\DC4\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX4\STX\DC2\EOT\171\STX\ETB\EM\n\ + \\a\EOT\a\EOT\NUL\STX4\STX\DC2\EOT\201\STX\ETB\EM\n\ \9\n\ - \\ACK\EOT\a\EOT\NUL\STX5\DC2\EOT\173\STX\ACK\GS\SUB) Analogous to 'AbstractMethod', for C++.\n\ + \\ACK\EOT\a\EOT\NUL\STX5\DC2\EOT\203\STX\ACK\GS\SUB) Analogous to 'AbstractMethod', for C++.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX5\SOH\DC2\EOT\173\STX\ACK\ETB\n\ + \\a\EOT\a\EOT\NUL\STX5\SOH\DC2\EOT\203\STX\ACK\ETB\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX5\STX\DC2\EOT\173\STX\SUB\FS\n\ + \\a\EOT\a\EOT\NUL\STX5\STX\DC2\EOT\203\STX\SUB\FS\n\ \\GS\n\ - \\ACK\EOT\a\EOT\NUL\STX6\DC2\EOT\175\STX\ACK\ETB\SUB\r For Haskell\n\ + \\ACK\EOT\a\EOT\NUL\STX6\DC2\EOT\205\STX\ACK\ETB\SUB\r For Haskell\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX6\SOH\DC2\EOT\175\STX\ACK\DC1\n\ + \\a\EOT\a\EOT\NUL\STX6\SOH\DC2\EOT\205\STX\ACK\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX6\STX\DC2\EOT\175\STX\DC4\SYN\n\ + \\a\EOT\a\EOT\NUL\STX6\STX\DC2\EOT\205\STX\DC4\SYN\n\ \4\n\ - \\ACK\EOT\a\EOT\NUL\STX7\DC2\EOT\177\STX\ACK\EM\SUB$ 'self' in Python, Rust, Swift etc.\n\ + \\ACK\EOT\a\EOT\NUL\STX7\DC2\EOT\207\STX\ACK\EM\SUB$ 'self' in Python, Rust, Swift etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX7\SOH\DC2\EOT\177\STX\ACK\DC3\n\ + \\a\EOT\a\EOT\NUL\STX7\SOH\DC2\EOT\207\STX\ACK\DC3\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX7\STX\DC2\EOT\177\STX\SYN\CAN\n\ + \\a\EOT\a\EOT\NUL\STX7\STX\DC2\EOT\207\STX\SYN\CAN\n\ \;\n\ - \\ACK\EOT\a\EOT\NUL\STX8\DC2\EOT\179\STX\ACK\DC2\SUB+ For 'set' in Swift, 'attr_writer' in Ruby\n\ + \\ACK\EOT\a\EOT\NUL\STX8\DC2\EOT\209\STX\ACK\DC2\SUB+ For 'set' in Swift, 'attr_writer' in Ruby\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX8\SOH\DC2\EOT\179\STX\ACK\f\n\ + \\a\EOT\a\EOT\NUL\STX8\SOH\DC2\EOT\209\STX\ACK\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX8\STX\DC2\EOT\179\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STX8\STX\DC2\EOT\209\STX\SI\DC1\n\ \3\n\ - \\ACK\EOT\a\EOT\NUL\STX9\DC2\EOT\181\STX\ACK\NAK\SUB# For Alloy, analogous to 'Struct'.\n\ + \\ACK\EOT\a\EOT\NUL\STX9\DC2\EOT\211\STX\ACK\NAK\SUB# For Alloy, analogous to 'Struct'.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX9\SOH\DC2\EOT\181\STX\ACK\SI\n\ + \\a\EOT\a\EOT\NUL\STX9\SOH\DC2\EOT\211\STX\ACK\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX9\STX\DC2\EOT\181\STX\DC2\DC4\n\ + \\a\EOT\a\EOT\NUL\STX9\STX\DC2\EOT\211\STX\DC2\DC4\n\ \\SUB\n\ - \\ACK\EOT\a\EOT\NUL\STX:\DC2\EOT\183\STX\ACK\SUB\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STX:\DC2\EOT\213\STX\ACK\SUB\SUB\n\ \ For Ruby\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX:\SOH\DC2\EOT\183\STX\ACK\DC4\n\ + \\a\EOT\a\EOT\NUL\STX:\SOH\DC2\EOT\213\STX\ACK\DC4\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX:\STX\DC2\EOT\183\STX\ETB\EM\n\ + \\a\EOT\a\EOT\NUL\STX:\STX\DC2\EOT\213\STX\ETB\EM\n\ \8\n\ - \\ACK\EOT\a\EOT\NUL\STX;\DC2\EOT\185\STX\ACK\ESC\SUB( Analogous to 'StaticMethod', for Ruby.\n\ + \\ACK\EOT\a\EOT\NUL\STX;\DC2\EOT\215\STX\ACK\ESC\SUB( Analogous to 'StaticMethod', for Ruby.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX;\SOH\DC2\EOT\185\STX\ACK\NAK\n\ + \\a\EOT\a\EOT\NUL\STX;\SOH\DC2\EOT\215\STX\ACK\NAK\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX;\STX\DC2\EOT\185\STX\CAN\SUB\n\ + \\a\EOT\a\EOT\NUL\STX;\STX\DC2\EOT\215\STX\CAN\SUB\n\ \5\n\ - \\ACK\EOT\a\EOT\NUL\STX<\DC2\EOT\187\STX\ACK\FS\SUB% Analogous to 'StaticField', for C++\n\ + \\ACK\EOT\a\EOT\NUL\STX<\DC2\EOT\217\STX\ACK\FS\SUB% Analogous to 'StaticField', for C++\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX<\SOH\DC2\EOT\187\STX\ACK\SYN\n\ + \\a\EOT\a\EOT\NUL\STX<\SOH\DC2\EOT\217\STX\ACK\SYN\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX<\STX\DC2\EOT\187\STX\EM\ESC\n\ + \\a\EOT\a\EOT\NUL\STX<\STX\DC2\EOT\217\STX\EM\ESC\n\ \\CAN\n\ - \\ACK\EOT\a\EOT\NUL\STX=\DC2\EOT\189\STX\ACK\ETB\SUB\b For C#\n\ + \\ACK\EOT\a\EOT\NUL\STX=\DC2\EOT\219\STX\ACK\ETB\SUB\b For C#\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX=\SOH\DC2\EOT\189\STX\ACK\DC1\n\ + \\a\EOT\a\EOT\NUL\STX=\SOH\DC2\EOT\219\STX\ACK\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX=\STX\DC2\EOT\189\STX\DC4\SYN\n\ + \\a\EOT\a\EOT\NUL\STX=\STX\DC2\EOT\219\STX\DC4\SYN\n\ \\CAN\n\ - \\ACK\EOT\a\EOT\NUL\STX>\DC2\EOT\191\STX\ACK\ETB\SUB\b For C#\n\ + \\ACK\EOT\a\EOT\NUL\STX>\DC2\EOT\221\STX\ACK\ETB\SUB\b For C#\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX>\SOH\DC2\EOT\191\STX\ACK\DC1\n\ + \\a\EOT\a\EOT\NUL\STX>\SOH\DC2\EOT\221\STX\ACK\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX>\STX\DC2\EOT\191\STX\DC4\SYN\n\ + \\a\EOT\a\EOT\NUL\STX>\STX\DC2\EOT\221\STX\DC4\SYN\n\ \(\n\ - \\ACK\EOT\a\EOT\NUL\STX?\DC2\EOT\193\STX\ACK\CAN\SUB\CAN For Java, C#, C++ etc.\n\ + \\ACK\EOT\a\EOT\NUL\STX?\DC2\EOT\223\STX\ACK\CAN\SUB\CAN For Java, C#, C++ etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX?\SOH\DC2\EOT\193\STX\ACK\DC2\n\ + \\a\EOT\a\EOT\NUL\STX?\SOH\DC2\EOT\223\STX\ACK\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX?\STX\DC2\EOT\193\STX\NAK\ETB\n\ + \\a\EOT\a\EOT\NUL\STX?\STX\DC2\EOT\223\STX\NAK\ETB\n\ \)\n\ - \\ACK\EOT\a\EOT\NUL\STX@\DC2\EOT\195\STX\ACK\SUB\SUB\EM For C#, TypeScript etc.\n\ + \\ACK\EOT\a\EOT\NUL\STX@\DC2\EOT\225\STX\ACK\SUB\SUB\EM For C#, TypeScript etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX@\SOH\DC2\EOT\195\STX\ACK\DC4\n\ + \\a\EOT\a\EOT\NUL\STX@\SOH\DC2\EOT\225\STX\ACK\DC4\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STX@\STX\DC2\EOT\195\STX\ETB\EM\n\ + \\a\EOT\a\EOT\NUL\STX@\STX\DC2\EOT\225\STX\ETB\EM\n\ \\FS\n\ - \\ACK\EOT\a\EOT\NUL\STXA\DC2\EOT\197\STX\ACK\SUB\SUB\f For C, C++\n\ + \\ACK\EOT\a\EOT\NUL\STXA\DC2\EOT\227\STX\ACK\SUB\SUB\f For C, C++\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXA\SOH\DC2\EOT\197\STX\ACK\DC4\n\ + \\a\EOT\a\EOT\NUL\STXA\SOH\DC2\EOT\227\STX\ACK\DC4\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXA\STX\DC2\EOT\197\STX\ETB\EM\n\ + \\a\EOT\a\EOT\NUL\STXA\STX\DC2\EOT\227\STX\ETB\EM\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STXB\DC2\EOT\198\STX\ACK\DC2\n\ + \\ACK\EOT\a\EOT\NUL\STXB\DC2\EOT\228\STX\ACK\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXB\SOH\DC2\EOT\198\STX\ACK\f\n\ + \\a\EOT\a\EOT\NUL\STXB\SOH\DC2\EOT\228\STX\ACK\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXB\STX\DC2\EOT\198\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STXB\STX\DC2\EOT\228\STX\SI\DC1\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STXC\DC2\EOT\199\STX\ACK\DC2\n\ + \\ACK\EOT\a\EOT\NUL\STXC\DC2\EOT\229\STX\ACK\DC2\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXC\SOH\DC2\EOT\199\STX\ACK\f\n\ + \\a\EOT\a\EOT\NUL\STXC\SOH\DC2\EOT\229\STX\ACK\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXC\STX\DC2\EOT\199\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STXC\STX\DC2\EOT\229\STX\SI\DC1\n\ \\ESC\n\ - \\ACK\EOT\a\EOT\NUL\STXD\DC2\EOT\201\STX\ACK\NAK\SUB\v For Swift\n\ + \\ACK\EOT\a\EOT\NUL\STXD\DC2\EOT\231\STX\ACK\NAK\SUB\v For Swift\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXD\SOH\DC2\EOT\201\STX\ACK\SI\n\ + \\a\EOT\a\EOT\NUL\STXD\SOH\DC2\EOT\231\STX\ACK\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXD\STX\DC2\EOT\201\STX\DC2\DC4\n\ + \\a\EOT\a\EOT\NUL\STXD\STX\DC2\EOT\231\STX\DC2\DC4\n\ \\SUB\n\ - \\ACK\EOT\a\EOT\NUL\STXE\DC2\EOT\203\STX\ACK\DC2\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STXE\DC2\EOT\233\STX\ACK\DC2\SUB\n\ \ For Lean\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXE\SOH\DC2\EOT\203\STX\ACK\f\n\ + \\a\EOT\a\EOT\NUL\STXE\SOH\DC2\EOT\233\STX\ACK\f\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXE\STX\DC2\EOT\203\STX\SI\DC1\n\ + \\a\EOT\a\EOT\NUL\STXE\STX\DC2\EOT\233\STX\SI\DC1\n\ \\SUB\n\ - \\ACK\EOT\a\EOT\NUL\STXF\DC2\EOT\205\STX\ACK\DC3\SUB\n\ + \\ACK\EOT\a\EOT\NUL\STXF\DC2\EOT\235\STX\ACK\DC3\SUB\n\ \ For Lean\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXF\SOH\DC2\EOT\205\STX\ACK\r\n\ + \\a\EOT\a\EOT\NUL\STXF\SOH\DC2\EOT\235\STX\ACK\r\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXF\STX\DC2\EOT\205\STX\DLE\DC2\n\ + \\a\EOT\a\EOT\NUL\STXF\STX\DC2\EOT\235\STX\DLE\DC2\n\ \U\n\ - \\ACK\EOT\a\EOT\NUL\STXG\DC2\EOT\208\STX\ACK\EM\SUBE Method receiver for languages\n\ + \\ACK\EOT\a\EOT\NUL\STXG\DC2\EOT\238\STX\ACK\EM\SUBE Method receiver for languages\n\ \ 'this' in JavaScript, C++, Java etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXG\SOH\DC2\EOT\208\STX\ACK\DC3\n\ + \\a\EOT\a\EOT\NUL\STXG\SOH\DC2\EOT\238\STX\ACK\DC3\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXG\STX\DC2\EOT\208\STX\SYN\CAN\n\ + \\a\EOT\a\EOT\NUL\STXG\STX\DC2\EOT\238\STX\SYN\CAN\n\ \O\n\ - \\ACK\EOT\a\EOT\NUL\STXH\DC2\EOT\210\STX\ACK\DC1\SUB? Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.\n\ + \\ACK\EOT\a\EOT\NUL\STXH\DC2\EOT\240\STX\ACK\DC1\SUB? Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXH\SOH\DC2\EOT\210\STX\ACK\v\n\ + \\a\EOT\a\EOT\NUL\STXH\SOH\DC2\EOT\240\STX\ACK\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXH\STX\DC2\EOT\210\STX\SO\DLE\n\ + \\a\EOT\a\EOT\NUL\STXH\STX\DC2\EOT\240\STX\SO\DLE\n\ \E\n\ - \\ACK\EOT\a\EOT\NUL\STXI\DC2\EOT\212\STX\ACK\ETB\SUB5 Analogous to 'AbstractMethod', for Rust, Scala etc.\n\ + \\ACK\EOT\a\EOT\NUL\STXI\DC2\EOT\242\STX\ACK\ETB\SUB5 Analogous to 'AbstractMethod', for Rust, Scala etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXI\SOH\DC2\EOT\212\STX\ACK\DC1\n\ + \\a\EOT\a\EOT\NUL\STXI\SOH\DC2\EOT\242\STX\ACK\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXI\STX\DC2\EOT\212\STX\DC4\SYN\n\ + \\a\EOT\a\EOT\NUL\STXI\STX\DC2\EOT\242\STX\DC4\SYN\n\ \\137\SOH\n\ - \\ACK\EOT\a\EOT\NUL\STXJ\DC2\EOT\215\STX\ACK\DLE\SUBy Data type definition for languages like OCaml which use `type`\n\ + \\ACK\EOT\a\EOT\NUL\STXJ\DC2\EOT\245\STX\ACK\DLE\SUBy Data type definition for languages like OCaml which use `type`\n\ \ rather than separate keywords like `struct` and `enum`.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXJ\SOH\DC2\EOT\215\STX\ACK\n\ + \\a\EOT\a\EOT\NUL\STXJ\SOH\DC2\EOT\245\STX\ACK\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXJ\STX\DC2\EOT\215\STX\r\SI\n\ + \\a\EOT\a\EOT\NUL\STXJ\STX\DC2\EOT\245\STX\r\SI\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STXK\DC2\EOT\216\STX\ACK\NAK\n\ + \\ACK\EOT\a\EOT\NUL\STXK\DC2\EOT\246\STX\ACK\NAK\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXK\SOH\DC2\EOT\216\STX\ACK\SI\n\ + \\a\EOT\a\EOT\NUL\STXK\SOH\DC2\EOT\246\STX\ACK\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXK\STX\DC2\EOT\216\STX\DC2\DC4\n\ + \\a\EOT\a\EOT\NUL\STXK\STX\DC2\EOT\246\STX\DC2\DC4\n\ \S\n\ - \\ACK\EOT\a\EOT\NUL\STXL\DC2\EOT\218\STX\ACK\NAK\SUBC Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.\n\ + \\ACK\EOT\a\EOT\NUL\STXL\DC2\EOT\248\STX\ACK\NAK\SUBC Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXL\SOH\DC2\EOT\218\STX\ACK\SI\n\ + \\a\EOT\a\EOT\NUL\STXL\SOH\DC2\EOT\248\STX\ACK\SI\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXL\STX\DC2\EOT\218\STX\DC2\DC4\n\ + \\a\EOT\a\EOT\NUL\STXL\STX\DC2\EOT\248\STX\DC2\DC4\n\ \M\n\ - \\ACK\EOT\a\EOT\NUL\STXM\DC2\EOT\220\STX\ACK\ESC\SUB= Analogous to 'AbstractMethod', for Haskell, Purescript etc.\n\ + \\ACK\EOT\a\EOT\NUL\STXM\DC2\EOT\250\STX\ACK\ESC\SUB= Analogous to 'AbstractMethod', for Haskell, Purescript etc.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXM\SOH\DC2\EOT\220\STX\ACK\NAK\n\ + \\a\EOT\a\EOT\NUL\STXM\SOH\DC2\EOT\250\STX\ACK\NAK\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXM\STX\DC2\EOT\220\STX\CAN\SUB\n\ + \\a\EOT\a\EOT\NUL\STXM\STX\DC2\EOT\250\STX\CAN\SUB\n\ \\GS\n\ - \\ACK\EOT\a\EOT\NUL\STXN\DC2\EOT\222\STX\ACK\SYN\SUB\r For Haskell\n\ + \\ACK\EOT\a\EOT\NUL\STXN\DC2\EOT\252\STX\ACK\SYN\SUB\r For Haskell\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXN\SOH\DC2\EOT\222\STX\ACK\DLE\n\ + \\a\EOT\a\EOT\NUL\STXN\SOH\DC2\EOT\252\STX\ACK\DLE\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXN\STX\DC2\EOT\222\STX\DC3\NAK\n\ + \\a\EOT\a\EOT\NUL\STXN\STX\DC2\EOT\252\STX\DC3\NAK\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STXO\DC2\EOT\223\STX\ACK\EM\n\ + \\ACK\EOT\a\EOT\NUL\STXO\DC2\EOT\253\STX\ACK\EM\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXO\SOH\DC2\EOT\223\STX\ACK\DC3\n\ + \\a\EOT\a\EOT\NUL\STXO\SOH\DC2\EOT\253\STX\ACK\DC3\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXO\STX\DC2\EOT\223\STX\SYN\CAN\n\ + \\a\EOT\a\EOT\NUL\STXO\STX\DC2\EOT\253\STX\SYN\CAN\n\ \(\n\ - \\ACK\EOT\a\EOT\NUL\STXP\DC2\EOT\225\STX\ACK\DC1\SUB\CAN For C, C++, Capn Proto\n\ + \\ACK\EOT\a\EOT\NUL\STXP\DC2\EOT\255\STX\ACK\DC1\SUB\CAN For C, C++, Capn Proto\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXP\SOH\DC2\EOT\225\STX\ACK\v\n\ + \\a\EOT\a\EOT\NUL\STXP\SOH\DC2\EOT\255\STX\ACK\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXP\STX\DC2\EOT\225\STX\SO\DLE\n\ + \\a\EOT\a\EOT\NUL\STXP\STX\DC2\EOT\255\STX\SO\DLE\n\ \\SO\n\ - \\ACK\EOT\a\EOT\NUL\STXQ\DC2\EOT\226\STX\ACK\DC1\n\ + \\ACK\EOT\a\EOT\NUL\STXQ\DC2\EOT\128\ETX\ACK\DC1\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXQ\SOH\DC2\EOT\226\STX\ACK\v\n\ + \\a\EOT\a\EOT\NUL\STXQ\SOH\DC2\EOT\128\ETX\ACK\v\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXQ\STX\DC2\EOT\226\STX\SO\DLE\n\ + \\a\EOT\a\EOT\NUL\STXQ\STX\DC2\EOT\128\ETX\SO\DLE\n\ \[\n\ - \\ACK\EOT\a\EOT\NUL\STXR\DC2\EOT\227\STX\ACK\DC4\"K Next = 83;\n\ + \\ACK\EOT\a\EOT\NUL\STXR\DC2\EOT\129\ETX\ACK\DC4\"K Next = 83;\n\ \ Feel free to open a PR proposing new language-specific kinds.\n\ \\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXR\SOH\DC2\EOT\227\STX\ACK\SO\n\ + \\a\EOT\a\EOT\NUL\STXR\SOH\DC2\EOT\129\ETX\ACK\SO\n\ \\SI\n\ - \\a\EOT\a\EOT\NUL\STXR\STX\DC2\EOT\227\STX\DC1\DC3\n\ + \\a\EOT\a\EOT\NUL\STXR\STX\DC2\EOT\129\ETX\DC1\DC3\n\ \\243\ETX\n\ - \\EOT\EOT\a\STX\EOT\DC2\EOT\240\STX\STX\SUB\SUB\228\ETX (optional) The name of this symbol as it should be displayed to the user.\n\ + \\EOT\EOT\a\STX\EOT\DC2\EOT\142\ETX\STX\SUB\SUB\228\ETX (optional) The name of this symbol as it should be displayed to the user.\n\ \ For example, the symbol \"com/example/MyClass#myMethod(+1).\" should have the\n\ \ display name \"myMethod\". The `symbol` field is not a reliable source of\n\ \ the display name for several reasons:\n\ @@ -7502,13 +7707,13 @@ packedFileDescriptor \ displayed to the user.\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\EOT\ENQ\DC2\EOT\240\STX\STX\b\n\ + \\ENQ\EOT\a\STX\EOT\ENQ\DC2\EOT\142\ETX\STX\b\n\ \\r\n\ - \\ENQ\EOT\a\STX\EOT\SOH\DC2\EOT\240\STX\t\NAK\n\ + \\ENQ\EOT\a\STX\EOT\SOH\DC2\EOT\142\ETX\t\NAK\n\ \\r\n\ - \\ENQ\EOT\a\STX\EOT\ETX\DC2\EOT\240\STX\CAN\EM\n\ + \\ENQ\EOT\a\STX\EOT\ETX\DC2\EOT\142\ETX\CAN\EM\n\ \\196\ETX\n\ - \\EOT\EOT\a\STX\ENQ\DC2\EOT\247\STX\STX'\SUB\181\ETX (optional) The signature of this symbol as it's displayed in API\n\ + \\EOT\EOT\a\STX\ENQ\DC2\EOT\149\ETX\STX'\SUB\181\ETX (optional) The signature of this symbol as it's displayed in API\n\ \ documentation or in hover tooltips. For example, a Java method that adds\n\ \ two numbers this would have `Document.language = \"java\"` and `Document.text\n\ \ = \"void add(int a, int b)\". The `language` and `text` fields are required\n\ @@ -7516,14 +7721,14 @@ packedFileDescriptor \ included to support hyperlinking referenced symbols in the signature.\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\ENQ\ACK\DC2\EOT\247\STX\STX\n\ + \\ENQ\EOT\a\STX\ENQ\ACK\DC2\EOT\149\ETX\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\ENQ\SOH\DC2\EOT\247\STX\v\"\n\ + \\ENQ\EOT\a\STX\ENQ\SOH\DC2\EOT\149\ETX\v\"\n\ \\r\n\ - \\ENQ\EOT\a\STX\ENQ\ETX\DC2\EOT\247\STX%&\n\ + \\ENQ\EOT\a\STX\ENQ\ETX\DC2\EOT\149\ETX%&\n\ \\201\b\n\ - \\EOT\EOT\a\STX\ACK\DC2\EOT\137\ETX\STX\RS\SUB\186\b (optional) The enclosing symbol if this is a local symbol. For non-local\n\ + \\EOT\EOT\a\STX\ACK\DC2\EOT\167\ETX\STX\RS\SUB\186\b (optional) The enclosing symbol if this is a local symbol. For non-local\n\ \ symbols, the enclosing symbol should be parsed from the `symbol` field\n\ \ using the `Descriptor` grammar.\n\ \\n\ @@ -7542,25 +7747,25 @@ packedFileDescriptor \ symbol.\n\ \\n\ \\r\n\ - \\ENQ\EOT\a\STX\ACK\ENQ\DC2\EOT\137\ETX\STX\b\n\ + \\ENQ\EOT\a\STX\ACK\ENQ\DC2\EOT\167\ETX\STX\b\n\ \\r\n\ - \\ENQ\EOT\a\STX\ACK\SOH\DC2\EOT\137\ETX\t\EM\n\ + \\ENQ\EOT\a\STX\ACK\SOH\DC2\EOT\167\ETX\t\EM\n\ \\r\n\ - \\ENQ\EOT\a\STX\ACK\ETX\DC2\EOT\137\ETX\FS\GS\n\ + \\ENQ\EOT\a\STX\ACK\ETX\DC2\EOT\167\ETX\FS\GS\n\ \\f\n\ - \\STX\EOT\b\DC2\ACK\141\ETX\NUL\197\ETX\SOH\n\ + \\STX\EOT\b\DC2\ACK\171\ETX\NUL\227\ETX\SOH\n\ \\v\n\ - \\ETX\EOT\b\SOH\DC2\EOT\141\ETX\b\DC4\n\ + \\ETX\EOT\b\SOH\DC2\EOT\171\ETX\b\DC4\n\ \\f\n\ - \\EOT\EOT\b\STX\NUL\DC2\EOT\142\ETX\STX\DC4\n\ + \\EOT\EOT\b\STX\NUL\DC2\EOT\172\ETX\STX\DC4\n\ \\r\n\ - \\ENQ\EOT\b\STX\NUL\ENQ\DC2\EOT\142\ETX\STX\b\n\ + \\ENQ\EOT\b\STX\NUL\ENQ\DC2\EOT\172\ETX\STX\b\n\ \\r\n\ - \\ENQ\EOT\b\STX\NUL\SOH\DC2\EOT\142\ETX\t\SI\n\ + \\ENQ\EOT\b\STX\NUL\SOH\DC2\EOT\172\ETX\t\SI\n\ \\r\n\ - \\ENQ\EOT\b\STX\NUL\ETX\DC2\EOT\142\ETX\DC2\DC3\n\ + \\ENQ\EOT\b\STX\NUL\ETX\DC2\EOT\172\ETX\DC2\DC3\n\ \\222\b\n\ - \\EOT\EOT\b\STX\SOH\DC2\EOT\167\ETX\STX\CAN\SUB\207\b When resolving \"Find references\", this field documents what other symbols\n\ + \\EOT\EOT\b\STX\SOH\DC2\EOT\197\ETX\STX\CAN\SUB\207\b When resolving \"Find references\", this field documents what other symbols\n\ \ should be included together with this symbol. For example, consider the\n\ \ following TypeScript code that defines two symbols `Animal#sound()` and\n\ \ `Dog#sound()`:\n\ @@ -7586,13 +7791,13 @@ packedFileDescriptor \ `Animal#sound()` method as well.\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\SOH\ENQ\DC2\EOT\167\ETX\STX\ACK\n\ + \\ENQ\EOT\b\STX\SOH\ENQ\DC2\EOT\197\ETX\STX\ACK\n\ \\r\n\ - \\ENQ\EOT\b\STX\SOH\SOH\DC2\EOT\167\ETX\a\DC3\n\ + \\ENQ\EOT\b\STX\SOH\SOH\DC2\EOT\197\ETX\a\DC3\n\ \\r\n\ - \\ENQ\EOT\b\STX\SOH\ETX\DC2\EOT\167\ETX\SYN\ETB\n\ + \\ENQ\EOT\b\STX\SOH\ETX\DC2\EOT\197\ETX\SYN\ETB\n\ \\238\ETX\n\ - \\EOT\EOT\b\STX\STX\DC2\EOT\176\ETX\STX\GS\SUB\223\ETX Similar to `is_reference` but for \"Find implementations\".\n\ + \\EOT\EOT\b\STX\STX\DC2\EOT\206\ETX\STX\GS\SUB\223\ETX Similar to `is_reference` but for \"Find implementations\".\n\ \ It's common for `is_implementation` and `is_reference` to both be true but\n\ \ it's not always the case.\n\ \ In the TypeScript example above, observe that `Dog#` has an\n\ @@ -7602,22 +7807,22 @@ packedFileDescriptor \ implementations\" on the \"Animal#\" symbol.\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\STX\ENQ\DC2\EOT\176\ETX\STX\ACK\n\ + \\ENQ\EOT\b\STX\STX\ENQ\DC2\EOT\206\ETX\STX\ACK\n\ \\r\n\ - \\ENQ\EOT\b\STX\STX\SOH\DC2\EOT\176\ETX\a\CAN\n\ + \\ENQ\EOT\b\STX\STX\SOH\DC2\EOT\206\ETX\a\CAN\n\ \\r\n\ - \\ENQ\EOT\b\STX\STX\ETX\DC2\EOT\176\ETX\ESC\FS\n\ + \\ENQ\EOT\b\STX\STX\ETX\DC2\EOT\206\ETX\ESC\FS\n\ \P\n\ - \\EOT\EOT\b\STX\ETX\DC2\EOT\178\ETX\STX\RS\SUBB Similar to `references_symbols` but for \"Go to type definition\".\n\ + \\EOT\EOT\b\STX\ETX\DC2\EOT\208\ETX\STX\RS\SUBB Similar to `references_symbols` but for \"Go to type definition\".\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\ETX\ENQ\DC2\EOT\178\ETX\STX\ACK\n\ + \\ENQ\EOT\b\STX\ETX\ENQ\DC2\EOT\208\ETX\STX\ACK\n\ \\r\n\ - \\ENQ\EOT\b\STX\ETX\SOH\DC2\EOT\178\ETX\a\EM\n\ + \\ENQ\EOT\b\STX\ETX\SOH\DC2\EOT\208\ETX\a\EM\n\ \\r\n\ - \\ENQ\EOT\b\STX\ETX\ETX\DC2\EOT\178\ETX\FS\GS\n\ + \\ENQ\EOT\b\STX\ETX\ETX\DC2\EOT\208\ETX\FS\GS\n\ \\167\a\n\ - \\EOT\EOT\b\STX\EOT\DC2\EOT\195\ETX\STX\EM\SUB\213\ACK Allows overriding the behavior of \"Go to definition\" and \"Find references\"\n\ + \\EOT\EOT\b\STX\EOT\DC2\EOT\225\ETX\STX\EM\SUB\213\ACK Allows overriding the behavior of \"Go to definition\" and \"Find references\"\n\ \ for symbols which do not have a definition of their own or could\n\ \ potentially have multiple definitions.\n\ \\n\ @@ -7636,387 +7841,387 @@ packedFileDescriptor \\"A Update registerInverseRelationships on adding a new field here.\n\ \\n\ \\r\n\ - \\ENQ\EOT\b\STX\EOT\ENQ\DC2\EOT\195\ETX\STX\ACK\n\ + \\ENQ\EOT\b\STX\EOT\ENQ\DC2\EOT\225\ETX\STX\ACK\n\ \\r\n\ - \\ENQ\EOT\b\STX\EOT\SOH\DC2\EOT\195\ETX\a\DC4\n\ + \\ENQ\EOT\b\STX\EOT\SOH\DC2\EOT\225\ETX\a\DC4\n\ \\r\n\ - \\ENQ\EOT\b\STX\EOT\ETX\DC2\EOT\195\ETX\ETB\CAN\n\ + \\ENQ\EOT\b\STX\EOT\ETX\DC2\EOT\225\ETX\ETB\CAN\n\ \\136\ETX\n\ - \\STX\ENQ\STX\DC2\ACK\204\ETX\NUL\226\ETX\SOH\SUB\249\STX SymbolRole declares what \"role\" a symbol has in an occurrence. A role is\n\ + \\STX\ENQ\ETX\DC2\ACK\234\ETX\NUL\128\EOT\SOH\SUB\249\STX SymbolRole declares what \"role\" a symbol has in an occurrence. A role is\n\ \ encoded as a bitset where each bit represents a different role. For example,\n\ \ to determine if the `Import` role is set, test whether the second bit of the\n\ \ enum value is defined. In pseudocode, this can be implemented with the\n\ \ logic: `const isImportRole = (role.value & SymbolRole.Import.value) > 0`.\n\ \\n\ \\v\n\ - \\ETX\ENQ\STX\SOH\DC2\EOT\204\ETX\ENQ\SI\n\ + \\ETX\ENQ\ETX\SOH\DC2\EOT\234\ETX\ENQ\SI\n\ \v\n\ - \\EOT\ENQ\STX\STX\NUL\DC2\EOT\207\ETX\STX\FS\SUBh This case is not meant to be used; it only exists to avoid an error\n\ + \\EOT\ENQ\ETX\STX\NUL\DC2\EOT\237\ETX\STX\FS\SUBh This case is not meant to be used; it only exists to avoid an error\n\ \ from the Protobuf code generator.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\NUL\SOH\DC2\EOT\207\ETX\STX\ETB\n\ + \\ENQ\ENQ\ETX\STX\NUL\SOH\DC2\EOT\237\ETX\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\NUL\STX\DC2\EOT\207\ETX\SUB\ESC\n\ + \\ENQ\ENQ\ETX\STX\NUL\STX\DC2\EOT\237\ETX\SUB\ESC\n\ \T\n\ - \\EOT\ENQ\STX\STX\SOH\DC2\EOT\209\ETX\STX\DC3\SUBF Is the symbol defined here? If not, then this is a symbol reference.\n\ + \\EOT\ENQ\ETX\STX\SOH\DC2\EOT\239\ETX\STX\DC3\SUBF Is the symbol defined here? If not, then this is a symbol reference.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\SOH\SOH\DC2\EOT\209\ETX\STX\f\n\ + \\ENQ\ENQ\ETX\STX\SOH\SOH\DC2\EOT\239\ETX\STX\f\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\SOH\STX\DC2\EOT\209\ETX\SI\DC2\n\ + \\ENQ\ENQ\ETX\STX\SOH\STX\DC2\EOT\239\ETX\SI\DC2\n\ \,\n\ - \\EOT\ENQ\STX\STX\STX\DC2\EOT\211\ETX\STX\SI\SUB\RS Is the symbol imported here?\n\ + \\EOT\ENQ\ETX\STX\STX\DC2\EOT\241\ETX\STX\SI\SUB\RS Is the symbol imported here?\n\ \\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\STX\SOH\DC2\EOT\211\ETX\STX\b\n\ + \\ENQ\ENQ\ETX\STX\STX\SOH\DC2\EOT\241\ETX\STX\b\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\STX\STX\DC2\EOT\211\ETX\v\SO\n\ + \\ENQ\ENQ\ETX\STX\STX\STX\DC2\EOT\241\ETX\v\SO\n\ \+\n\ - \\EOT\ENQ\STX\STX\ETX\DC2\EOT\213\ETX\STX\DC4\SUB\GS Is the symbol written here?\n\ + \\EOT\ENQ\ETX\STX\ETX\DC2\EOT\243\ETX\STX\DC4\SUB\GS Is the symbol written here?\n\ \\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\ETX\SOH\DC2\EOT\213\ETX\STX\r\n\ + \\ENQ\ENQ\ETX\STX\ETX\SOH\DC2\EOT\243\ETX\STX\r\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\ETX\STX\DC2\EOT\213\ETX\DLE\DC3\n\ + \\ENQ\ENQ\ETX\STX\ETX\STX\DC2\EOT\243\ETX\DLE\DC3\n\ \(\n\ - \\EOT\ENQ\STX\STX\EOT\DC2\EOT\215\ETX\STX\DC3\SUB\SUB Is the symbol read here?\n\ + \\EOT\ENQ\ETX\STX\EOT\DC2\EOT\245\ETX\STX\DC3\SUB\SUB Is the symbol read here?\n\ \\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\EOT\SOH\DC2\EOT\215\ETX\STX\f\n\ + \\ENQ\ENQ\ETX\STX\EOT\SOH\DC2\EOT\245\ETX\STX\f\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\EOT\STX\DC2\EOT\215\ETX\SI\DC2\n\ + \\ENQ\ENQ\ETX\STX\EOT\STX\DC2\EOT\245\ETX\SI\DC2\n\ \0\n\ - \\EOT\ENQ\STX\STX\ENQ\DC2\EOT\217\ETX\STX\DC3\SUB\" Is the symbol in generated code?\n\ + \\EOT\ENQ\ETX\STX\ENQ\DC2\EOT\247\ETX\STX\DC3\SUB\" Is the symbol in generated code?\n\ \\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\ENQ\SOH\DC2\EOT\217\ETX\STX\v\n\ + \\ENQ\ENQ\ETX\STX\ENQ\SOH\DC2\EOT\247\ETX\STX\v\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\ENQ\STX\DC2\EOT\217\ETX\SO\DC2\n\ + \\ENQ\ENQ\ETX\STX\ENQ\STX\DC2\EOT\247\ETX\SO\DC2\n\ \+\n\ - \\EOT\ENQ\STX\STX\ACK\DC2\EOT\219\ETX\STX\SO\SUB\GS Is the symbol in test code?\n\ + \\EOT\ENQ\ETX\STX\ACK\DC2\EOT\249\ETX\STX\SO\SUB\GS Is the symbol in test code?\n\ \\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\ACK\SOH\DC2\EOT\219\ETX\STX\ACK\n\ + \\ENQ\ENQ\ETX\STX\ACK\SOH\DC2\EOT\249\ETX\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\ACK\STX\DC2\EOT\219\ETX\t\r\n\ + \\ENQ\ENQ\ETX\STX\ACK\STX\DC2\EOT\249\ETX\t\r\n\ \\237\SOH\n\ - \\EOT\ENQ\STX\STX\a\DC2\EOT\225\ETX\STX\ESC\SUB\222\SOH Is this a signature for a symbol that is defined elsewhere?\n\ + \\EOT\ENQ\ETX\STX\a\DC2\EOT\255\ETX\STX\ESC\SUB\222\SOH Is this a signature for a symbol that is defined elsewhere?\n\ \\n\ \ Applies to forward declarations for languages like C, C++\n\ \ and Objective-C, as well as `val` declarations in interface\n\ \ files in languages like SML and OCaml.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\a\SOH\DC2\EOT\225\ETX\STX\DC3\n\ + \\ENQ\ENQ\ETX\STX\a\SOH\DC2\EOT\255\ETX\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\STX\STX\a\STX\DC2\EOT\225\ETX\SYN\SUB\n\ + \\ENQ\ENQ\ETX\STX\a\STX\DC2\EOT\255\ETX\SYN\SUB\n\ \\f\n\ - \\STX\ENQ\ETX\DC2\ACK\228\ETX\NUL\193\EOT\SOH\n\ + \\STX\ENQ\EOT\DC2\ACK\130\EOT\NUL\223\EOT\SOH\n\ \\v\n\ - \\ETX\ENQ\ETX\SOH\DC2\EOT\228\ETX\ENQ\SI\n\ + \\ETX\ENQ\EOT\SOH\DC2\EOT\130\EOT\ENQ\SI\n\ \\v\n\ - \\ETX\ENQ\ETX\ETX\DC2\EOT\229\ETX\STX\FS\n\ + \\ETX\ENQ\EOT\ETX\DC2\EOT\131\EOT\STX\FS\n\ \\f\n\ - \\EOT\ENQ\ETX\ETX\STX\DC2\EOT\229\ETX\STX\FS\n\ + \\EOT\ENQ\EOT\ETX\STX\DC2\EOT\131\EOT\STX\FS\n\ \\f\n\ - \\EOT\ENQ\ETX\STX\NUL\DC2\EOT\231\ETX\STX\FS\n\ + \\EOT\ENQ\EOT\STX\NUL\DC2\EOT\133\EOT\STX\FS\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\NUL\SOH\DC2\EOT\231\ETX\STX\ETB\n\ + \\ENQ\ENQ\EOT\STX\NUL\SOH\DC2\EOT\133\EOT\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\NUL\STX\DC2\EOT\231\ETX\SUB\ESC\n\ + \\ENQ\ENQ\EOT\STX\NUL\STX\DC2\EOT\133\EOT\SUB\ESC\n\ \;\n\ - \\EOT\ENQ\ETX\STX\SOH\DC2\EOT\234\ETX\STX\SO\SUB- Comment, including comment markers and text\n\ + \\EOT\ENQ\EOT\STX\SOH\DC2\EOT\136\EOT\STX\SO\SUB- Comment, including comment markers and text\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\SOH\SOH\DC2\EOT\234\ETX\STX\t\n\ + \\ENQ\ENQ\EOT\STX\SOH\SOH\DC2\EOT\136\EOT\STX\t\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\SOH\STX\DC2\EOT\234\ETX\f\r\n\ + \\ENQ\ENQ\EOT\STX\SOH\STX\DC2\EOT\136\EOT\f\r\n\ \\ESC\n\ - \\EOT\ENQ\ETX\STX\STX\DC2\EOT\237\ETX\STX\ESC\SUB\r `;` `.` `,`\n\ + \\EOT\ENQ\EOT\STX\STX\DC2\EOT\139\EOT\STX\ESC\SUB\r `;` `.` `,`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\STX\SOH\DC2\EOT\237\ETX\STX\SYN\n\ + \\ENQ\ENQ\EOT\STX\STX\SOH\DC2\EOT\139\EOT\STX\SYN\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\STX\STX\DC2\EOT\237\ETX\EM\SUB\n\ + \\ENQ\ENQ\EOT\STX\STX\STX\DC2\EOT\139\EOT\EM\SUB\n\ \2\n\ - \\EOT\ENQ\ETX\STX\ETX\DC2\EOT\239\ETX\STX\EM\SUB$ (), {}, [] when used syntactically\n\ + \\EOT\ENQ\EOT\STX\ETX\DC2\EOT\141\EOT\STX\EM\SUB$ (), {}, [] when used syntactically\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ETX\SOH\DC2\EOT\239\ETX\STX\DC4\n\ + \\ENQ\ENQ\EOT\STX\ETX\SOH\DC2\EOT\141\EOT\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ETX\STX\DC2\EOT\239\ETX\ETB\CAN\n\ + \\ENQ\ENQ\EOT\STX\ETX\STX\DC2\EOT\141\EOT\ETB\CAN\n\ \5\n\ - \\EOT\ENQ\ETX\STX\EOT\DC2\EOT\242\ETX\STX\SO\SUB' `if`, `else`, `return`, `class`, etc.\n\ + \\EOT\ENQ\EOT\STX\EOT\DC2\EOT\144\EOT\STX\SO\SUB' `if`, `else`, `return`, `class`, etc.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\EOT\SOH\DC2\EOT\242\ETX\STX\t\n\ + \\ENQ\ENQ\EOT\STX\EOT\SOH\DC2\EOT\144\EOT\STX\t\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\EOT\STX\DC2\EOT\242\ETX\f\r\n\ + \\ENQ\ENQ\EOT\STX\EOT\STX\DC2\EOT\144\EOT\f\r\n\ \\f\n\ - \\EOT\ENQ\ETX\STX\ENQ\DC2\EOT\243\ETX\STX*\n\ + \\EOT\ENQ\EOT\STX\ENQ\DC2\EOT\145\EOT\STX*\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ENQ\SOH\DC2\EOT\243\ETX\STX\DC3\n\ + \\ENQ\ENQ\EOT\STX\ENQ\SOH\DC2\EOT\145\EOT\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ENQ\STX\DC2\EOT\243\ETX\SYN\ETB\n\ + \\ENQ\ENQ\EOT\STX\ENQ\STX\DC2\EOT\145\EOT\SYN\ETB\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ENQ\ETX\DC2\EOT\243\ETX\CAN)\n\ + \\ENQ\ENQ\EOT\STX\ENQ\ETX\DC2\EOT\145\EOT\CAN)\n\ \\SO\n\ - \\ACK\ENQ\ETX\STX\ENQ\ETX\SOH\DC2\EOT\243\ETX\EM(\n\ + \\ACK\ENQ\EOT\STX\ENQ\ETX\SOH\DC2\EOT\145\EOT\EM(\n\ \\RS\n\ - \\EOT\ENQ\ETX\STX\ACK\DC2\EOT\246\ETX\STX\EM\SUB\DLE `+`, `*`, etc.\n\ + \\EOT\ENQ\EOT\STX\ACK\DC2\EOT\148\EOT\STX\EM\SUB\DLE `+`, `*`, etc.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ACK\SOH\DC2\EOT\246\ETX\STX\DC4\n\ + \\ENQ\ENQ\EOT\STX\ACK\SOH\DC2\EOT\148\EOT\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ACK\STX\DC2\EOT\246\ETX\ETB\CAN\n\ + \\ENQ\ENQ\EOT\STX\ACK\STX\DC2\EOT\148\EOT\ETB\CAN\n\ \X\n\ - \\EOT\ENQ\ETX\STX\a\DC2\EOT\249\ETX\STX\DC1\SUBJ non-specific catch-all for any identifier not better described elsewhere\n\ + \\EOT\ENQ\EOT\STX\a\DC2\EOT\151\EOT\STX\DC1\SUBJ non-specific catch-all for any identifier not better described elsewhere\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\a\SOH\DC2\EOT\249\ETX\STX\f\n\ + \\ENQ\ENQ\EOT\STX\a\SOH\DC2\EOT\151\EOT\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\a\STX\DC2\EOT\249\ETX\SI\DLE\n\ + \\ENQ\ENQ\EOT\STX\a\STX\DC2\EOT\151\EOT\SI\DLE\n\ \N\n\ - \\EOT\ENQ\ETX\STX\b\DC2\EOT\251\ETX\STX\CAN\SUB@ Identifiers builtin to the language: `min`, `print` in Python.\n\ + \\EOT\ENQ\EOT\STX\b\DC2\EOT\153\EOT\STX\CAN\SUB@ Identifiers builtin to the language: `min`, `print` in Python.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\b\SOH\DC2\EOT\251\ETX\STX\DC3\n\ + \\ENQ\ENQ\EOT\STX\b\SOH\DC2\EOT\153\EOT\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\b\STX\DC2\EOT\251\ETX\SYN\ETB\n\ + \\ENQ\ENQ\EOT\STX\b\STX\DC2\EOT\153\EOT\SYN\ETB\n\ \[\n\ - \\EOT\ENQ\ETX\STX\t\DC2\EOT\253\ETX\STX\NAK\SUBM Identifiers representing `null`-like values: `None` in Python, `nil` in Go.\n\ + \\EOT\ENQ\EOT\STX\t\DC2\EOT\155\EOT\STX\NAK\SUBM Identifiers representing `null`-like values: `None` in Python, `nil` in Go.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\t\SOH\DC2\EOT\253\ETX\STX\DLE\n\ + \\ENQ\ENQ\EOT\STX\t\SOH\DC2\EOT\155\EOT\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\t\STX\DC2\EOT\253\ETX\DC3\DC4\n\ + \\ENQ\ENQ\EOT\STX\t\STX\DC2\EOT\155\EOT\DC3\DC4\n\ \.\n\ - \\EOT\ENQ\ETX\STX\n\ - \\DC2\EOT\255\ETX\STX\EM\SUB `xyz` in `const xyz = \"hello\"`\n\ + \\EOT\ENQ\EOT\STX\n\ + \\DC2\EOT\157\EOT\STX\EM\SUB `xyz` in `const xyz = \"hello\"`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\n\ - \\SOH\DC2\EOT\255\ETX\STX\DC4\n\ + \\ENQ\ENQ\EOT\STX\n\ + \\SOH\DC2\EOT\157\EOT\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\n\ - \\STX\DC2\EOT\255\ETX\ETB\CAN\n\ + \\ENQ\ENQ\EOT\STX\n\ + \\STX\DC2\EOT\157\EOT\ETB\CAN\n\ \'\n\ - \\EOT\ENQ\ETX\STX\v\DC2\EOT\129\EOT\STX\US\SUB\EM `var X = \"hello\"` in Go\n\ + \\EOT\ENQ\EOT\STX\v\DC2\EOT\159\EOT\STX\US\SUB\EM `var X = \"hello\"` in Go\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\v\SOH\DC2\EOT\129\EOT\STX\EM\n\ + \\ENQ\ENQ\EOT\STX\v\SOH\DC2\EOT\159\EOT\STX\EM\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\v\STX\DC2\EOT\129\EOT\FS\RS\n\ + \\ENQ\ENQ\EOT\STX\v\STX\DC2\EOT\159\EOT\FS\RS\n\ \3\n\ - \\EOT\ENQ\ETX\STX\f\DC2\EOT\131\EOT\STX\ESC\SUB% Parameter definition and references\n\ + \\EOT\ENQ\EOT\STX\f\DC2\EOT\161\EOT\STX\ESC\SUB% Parameter definition and references\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\f\SOH\DC2\EOT\131\EOT\STX\NAK\n\ + \\ENQ\ENQ\EOT\STX\f\SOH\DC2\EOT\161\EOT\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\f\STX\DC2\EOT\131\EOT\CAN\SUB\n\ + \\ENQ\ENQ\EOT\STX\f\STX\DC2\EOT\161\EOT\CAN\SUB\n\ \X\n\ - \\EOT\ENQ\ETX\STX\r\DC2\EOT\133\EOT\STX\ETB\SUBJ Identifiers for variable definitions and references within a local scope\n\ + \\EOT\ENQ\EOT\STX\r\DC2\EOT\163\EOT\STX\ETB\SUBJ Identifiers for variable definitions and references within a local scope\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\r\SOH\DC2\EOT\133\EOT\STX\DC1\n\ + \\ENQ\ENQ\EOT\STX\r\SOH\DC2\EOT\163\EOT\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\r\STX\DC2\EOT\133\EOT\DC4\SYN\n\ + \\ENQ\ENQ\EOT\STX\r\STX\DC2\EOT\163\EOT\DC4\SYN\n\ \K\n\ - \\EOT\ENQ\ETX\STX\SO\DC2\EOT\135\EOT\STX\SUB\SUB= Identifiers that shadow other identifiers in an outer scope\n\ + \\EOT\ENQ\EOT\STX\SO\DC2\EOT\165\EOT\STX\SUB\SUB= Identifiers that shadow other identifiers in an outer scope\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\SO\SOH\DC2\EOT\135\EOT\STX\DC4\n\ + \\ENQ\ENQ\EOT\STX\SO\SOH\DC2\EOT\165\EOT\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\SO\STX\DC2\EOT\135\EOT\ETB\EM\n\ + \\ENQ\ENQ\EOT\STX\SO\STX\DC2\EOT\165\EOT\ETB\EM\n\ \\205\SOH\n\ - \\EOT\ENQ\ETX\STX\SI\DC2\EOT\140\EOT\STX\ESC\SUB\190\SOH Identifier representing a unit of code abstraction and/or namespacing.\n\ + \\EOT\ENQ\EOT\STX\SI\DC2\EOT\170\EOT\STX\ESC\SUB\190\SOH Identifier representing a unit of code abstraction and/or namespacing.\n\ \\n\ \ NOTE: This corresponds to a package in Go and JVM languages,\n\ \ and a module in languages like Python and JavaScript.\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\SI\SOH\DC2\EOT\140\EOT\STX\NAK\n\ + \\ENQ\ENQ\EOT\STX\SI\SOH\DC2\EOT\170\EOT\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\SI\STX\DC2\EOT\140\EOT\CAN\SUB\n\ + \\ENQ\ENQ\EOT\STX\SI\STX\DC2\EOT\170\EOT\CAN\SUB\n\ \\f\n\ - \\EOT\ENQ\ETX\STX\DLE\DC2\EOT\141\EOT\STX*\n\ + \\EOT\ENQ\EOT\STX\DLE\DC2\EOT\171\EOT\STX*\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\DLE\SOH\DC2\EOT\141\EOT\STX\DC2\n\ + \\ENQ\ENQ\EOT\STX\DLE\SOH\DC2\EOT\171\EOT\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\DLE\STX\DC2\EOT\141\EOT\NAK\ETB\n\ + \\ENQ\ENQ\EOT\STX\DLE\STX\DC2\EOT\171\EOT\NAK\ETB\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\DLE\ETX\DC2\EOT\141\EOT\CAN)\n\ + \\ENQ\ENQ\EOT\STX\DLE\ETX\DC2\EOT\171\EOT\CAN)\n\ \\SO\n\ - \\ACK\ENQ\ETX\STX\DLE\ETX\SOH\DC2\EOT\141\EOT\EM(\n\ + \\ACK\ENQ\EOT\STX\DLE\ETX\SOH\DC2\EOT\171\EOT\EM(\n\ \4\n\ - \\EOT\ENQ\ETX\STX\DC1\DC2\EOT\144\EOT\STX\SUB\SUB& Function references, including calls\n\ + \\EOT\ENQ\EOT\STX\DC1\DC2\EOT\174\EOT\STX\SUB\SUB& Function references, including calls\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\DC1\SOH\DC2\EOT\144\EOT\STX\DC4\n\ + \\ENQ\ENQ\EOT\STX\DC1\SOH\DC2\EOT\174\EOT\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\DC1\STX\DC2\EOT\144\EOT\ETB\EM\n\ + \\ENQ\ENQ\EOT\STX\DC1\STX\DC2\EOT\174\EOT\ETB\EM\n\ \(\n\ - \\EOT\ENQ\ETX\STX\DC2\DC2\EOT\146\EOT\STX$\SUB\SUB Function definition only\n\ + \\EOT\ENQ\EOT\STX\DC2\DC2\EOT\176\EOT\STX$\SUB\SUB Function definition only\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\DC2\SOH\DC2\EOT\146\EOT\STX\RS\n\ + \\ENQ\ENQ\EOT\STX\DC2\SOH\DC2\EOT\176\EOT\STX\RS\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\DC2\STX\DC2\EOT\146\EOT!#\n\ + \\ENQ\ENQ\EOT\STX\DC2\STX\DC2\EOT\176\EOT!#\n\ \7\n\ - \\EOT\ENQ\ETX\STX\DC3\DC2\EOT\149\EOT\STX\ETB\SUB) Macro references, including invocations\n\ + \\EOT\ENQ\EOT\STX\DC3\DC2\EOT\179\EOT\STX\ETB\SUB) Macro references, including invocations\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\DC3\SOH\DC2\EOT\149\EOT\STX\DC1\n\ + \\ENQ\ENQ\EOT\STX\DC3\SOH\DC2\EOT\179\EOT\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\DC3\STX\DC2\EOT\149\EOT\DC4\SYN\n\ + \\ENQ\ENQ\EOT\STX\DC3\STX\DC2\EOT\179\EOT\DC4\SYN\n\ \%\n\ - \\EOT\ENQ\ETX\STX\DC4\DC2\EOT\151\EOT\STX!\SUB\ETB Macro definition only\n\ + \\EOT\ENQ\EOT\STX\DC4\DC2\EOT\181\EOT\STX!\SUB\ETB Macro definition only\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\DC4\SOH\DC2\EOT\151\EOT\STX\ESC\n\ + \\ENQ\ENQ\EOT\STX\DC4\SOH\DC2\EOT\181\EOT\STX\ESC\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\DC4\STX\DC2\EOT\151\EOT\RS \n\ + \\ENQ\ENQ\EOT\STX\DC4\STX\DC2\EOT\181\EOT\RS \n\ \!\n\ - \\EOT\ENQ\ETX\STX\NAK\DC2\EOT\154\EOT\STX\SYN\SUB\DC3 non-builtin types\n\ + \\EOT\ENQ\EOT\STX\NAK\DC2\EOT\184\EOT\STX\SYN\SUB\DC3 non-builtin types\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\NAK\SOH\DC2\EOT\154\EOT\STX\DLE\n\ + \\ENQ\ENQ\EOT\STX\NAK\SOH\DC2\EOT\184\EOT\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\NAK\STX\DC2\EOT\154\EOT\DC3\NAK\n\ + \\ENQ\ENQ\EOT\STX\NAK\STX\DC2\EOT\184\EOT\DC3\NAK\n\ \K\n\ - \\EOT\ENQ\ETX\STX\SYN\DC2\EOT\156\EOT\STX\GS\SUB= builtin types only, such as `str` for Python or `int` in Go\n\ + \\EOT\ENQ\EOT\STX\SYN\DC2\EOT\186\EOT\STX\GS\SUB= builtin types only, such as `str` for Python or `int` in Go\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\SYN\SOH\DC2\EOT\156\EOT\STX\ETB\n\ + \\ENQ\ENQ\EOT\STX\SYN\SOH\DC2\EOT\186\EOT\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\SYN\STX\DC2\EOT\156\EOT\SUB\FS\n\ + \\ENQ\ENQ\EOT\STX\SYN\STX\DC2\EOT\186\EOT\SUB\FS\n\ \7\n\ - \\EOT\ENQ\ETX\STX\ETB\DC2\EOT\159\EOT\STX\ESC\SUB) Python decorators, c-like __attribute__\n\ + \\EOT\ENQ\EOT\STX\ETB\DC2\EOT\189\EOT\STX\ESC\SUB) Python decorators, c-like __attribute__\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ETB\SOH\DC2\EOT\159\EOT\STX\NAK\n\ + \\ENQ\ENQ\EOT\STX\ETB\SOH\DC2\EOT\189\EOT\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ETB\STX\DC2\EOT\159\EOT\CAN\SUB\n\ + \\ENQ\ENQ\EOT\STX\ETB\STX\DC2\EOT\189\EOT\CAN\SUB\n\ \\DC4\n\ - \\EOT\ENQ\ETX\STX\CAN\DC2\EOT\162\EOT\STX\DC3\SUB\ACK `\\b`\n\ + \\EOT\ENQ\EOT\STX\CAN\DC2\EOT\192\EOT\STX\DC3\SUB\ACK `\\b`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\CAN\SOH\DC2\EOT\162\EOT\STX\r\n\ + \\ENQ\ENQ\EOT\STX\CAN\SOH\DC2\EOT\192\EOT\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\CAN\STX\DC2\EOT\162\EOT\DLE\DC2\n\ + \\ENQ\ENQ\EOT\STX\CAN\STX\DC2\EOT\192\EOT\DLE\DC2\n\ \\CAN\n\ - \\EOT\ENQ\ETX\STX\EM\DC2\EOT\164\EOT\STX\NAK\SUB\n\ + \\EOT\ENQ\EOT\STX\EM\DC2\EOT\194\EOT\STX\NAK\SUB\n\ \ `*`, `+`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\EM\SOH\DC2\EOT\164\EOT\STX\SI\n\ + \\ENQ\ENQ\EOT\STX\EM\SOH\DC2\EOT\194\EOT\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\EM\STX\DC2\EOT\164\EOT\DC2\DC4\n\ + \\ENQ\ENQ\EOT\STX\EM\STX\DC2\EOT\194\EOT\DC2\DC4\n\ \\DC3\n\ - \\EOT\ENQ\ETX\STX\SUB\DC2\EOT\166\EOT\STX\NAK\SUB\ENQ `.`\n\ + \\EOT\ENQ\EOT\STX\SUB\DC2\EOT\196\EOT\STX\NAK\SUB\ENQ `.`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\SUB\SOH\DC2\EOT\166\EOT\STX\SI\n\ + \\ENQ\ENQ\EOT\STX\SUB\SOH\DC2\EOT\196\EOT\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\SUB\STX\DC2\EOT\166\EOT\DC2\DC4\n\ + \\ENQ\ENQ\EOT\STX\SUB\STX\DC2\EOT\196\EOT\DC2\DC4\n\ \\"\n\ - \\EOT\ENQ\ETX\STX\ESC\DC2\EOT\168\EOT\STX\SYN\SUB\DC4 `(`, `)`, `[`, `]`\n\ + \\EOT\ENQ\EOT\STX\ESC\DC2\EOT\198\EOT\STX\SYN\SUB\DC4 `(`, `)`, `[`, `]`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ESC\SOH\DC2\EOT\168\EOT\STX\DLE\n\ + \\ENQ\ENQ\EOT\STX\ESC\SOH\DC2\EOT\198\EOT\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\ESC\STX\DC2\EOT\168\EOT\DC3\NAK\n\ + \\ENQ\ENQ\EOT\STX\ESC\STX\DC2\EOT\198\EOT\DC3\NAK\n\ \\CAN\n\ - \\EOT\ENQ\ETX\STX\FS\DC2\EOT\170\EOT\STX\DC1\SUB\n\ + \\EOT\ENQ\EOT\STX\FS\DC2\EOT\200\EOT\STX\DC1\SUB\n\ \ `|`, `-`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\FS\SOH\DC2\EOT\170\EOT\STX\v\n\ + \\ENQ\ENQ\EOT\STX\FS\SOH\DC2\EOT\200\EOT\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\FS\STX\DC2\EOT\170\EOT\SO\DLE\n\ + \\ENQ\ENQ\EOT\STX\FS\STX\DC2\EOT\200\EOT\SO\DLE\n\ \0\n\ - \\EOT\ENQ\ETX\STX\GS\DC2\EOT\173\EOT\STX\NAK\SUB\" Literal strings: \"Hello, world!\"\n\ + \\EOT\ENQ\EOT\STX\GS\DC2\EOT\203\EOT\STX\NAK\SUB\" Literal strings: \"Hello, world!\"\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\GS\SOH\DC2\EOT\173\EOT\STX\SI\n\ + \\ENQ\ENQ\EOT\STX\GS\SOH\DC2\EOT\203\EOT\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\GS\STX\DC2\EOT\173\EOT\DC2\DC4\n\ + \\ENQ\ENQ\EOT\STX\GS\STX\DC2\EOT\203\EOT\DC2\DC4\n\ \-\n\ - \\EOT\ENQ\ETX\STX\RS\DC2\EOT\175\EOT\STX\ESC\SUB\US non-regex escapes: \"\\t\", \"\\n\"\n\ + \\EOT\ENQ\EOT\STX\RS\DC2\EOT\205\EOT\STX\ESC\SUB\US non-regex escapes: \"\\t\", \"\\n\"\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\RS\SOH\DC2\EOT\175\EOT\STX\NAK\n\ + \\ENQ\ENQ\EOT\STX\RS\SOH\DC2\EOT\205\EOT\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\RS\STX\DC2\EOT\175\EOT\CAN\SUB\n\ + \\ENQ\ENQ\EOT\STX\RS\STX\DC2\EOT\205\EOT\CAN\SUB\n\ \_\n\ - \\EOT\ENQ\ETX\STX\US\DC2\EOT\177\EOT\STX\FS\SUBQ datetimes within strings, special words within a string, `{}` in format strings\n\ + \\EOT\ENQ\EOT\STX\US\DC2\EOT\207\EOT\STX\FS\SUBQ datetimes within strings, special words within a string, `{}` in format strings\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\US\SOH\DC2\EOT\177\EOT\STX\SYN\n\ + \\ENQ\ENQ\EOT\STX\US\SOH\DC2\EOT\207\EOT\STX\SYN\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\US\STX\DC2\EOT\177\EOT\EM\ESC\n\ + \\ENQ\ENQ\EOT\STX\US\STX\DC2\EOT\207\EOT\EM\ESC\n\ \G\n\ - \\EOT\ENQ\ETX\STX \DC2\EOT\179\EOT\STX\CAN\SUB9 \"key\" in { \"key\": \"value\" }, useful for example in JSON\n\ + \\EOT\ENQ\EOT\STX \DC2\EOT\209\EOT\STX\CAN\SUB9 \"key\" in { \"key\": \"value\" }, useful for example in JSON\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX \SOH\DC2\EOT\179\EOT\STX\DC2\n\ + \\ENQ\ENQ\EOT\STX \SOH\DC2\EOT\209\EOT\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX \STX\DC2\EOT\179\EOT\NAK\ETB\n\ + \\ENQ\ENQ\EOT\STX \STX\DC2\EOT\209\EOT\NAK\ETB\n\ \V\n\ - \\EOT\ENQ\ETX\STX!\DC2\EOT\181\EOT\STX\CAN\SUBH 'c' or similar, in languages that differentiate strings and characters\n\ + \\EOT\ENQ\EOT\STX!\DC2\EOT\211\EOT\STX\CAN\SUBH 'c' or similar, in languages that differentiate strings and characters\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX!\SOH\DC2\EOT\181\EOT\STX\DC2\n\ + \\ENQ\ENQ\EOT\STX!\SOH\DC2\EOT\211\EOT\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX!\STX\DC2\EOT\181\EOT\NAK\ETB\n\ + \\ENQ\ENQ\EOT\STX!\STX\DC2\EOT\211\EOT\NAK\ETB\n\ \9\n\ - \\EOT\ENQ\ETX\STX\"\DC2\EOT\183\EOT\STX\SYN\SUB+ Literal numbers, both floats and integers\n\ + \\EOT\ENQ\EOT\STX\"\DC2\EOT\213\EOT\STX\SYN\SUB+ Literal numbers, both floats and integers\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\"\SOH\DC2\EOT\183\EOT\STX\DLE\n\ + \\ENQ\ENQ\EOT\STX\"\SOH\DC2\EOT\213\EOT\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX\"\STX\DC2\EOT\183\EOT\DC3\NAK\n\ + \\ENQ\ENQ\EOT\STX\"\STX\DC2\EOT\213\EOT\DC3\NAK\n\ \\US\n\ - \\EOT\ENQ\ETX\STX#\DC2\EOT\185\EOT\STX\SYN\SUB\DC1 `true`, `false`\n\ + \\EOT\ENQ\EOT\STX#\DC2\EOT\215\EOT\STX\SYN\SUB\DC1 `true`, `false`\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX#\SOH\DC2\EOT\185\EOT\STX\DLE\n\ + \\ENQ\ENQ\EOT\STX#\SOH\DC2\EOT\215\EOT\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX#\STX\DC2\EOT\185\EOT\DC3\NAK\n\ + \\ENQ\ENQ\EOT\STX#\STX\DC2\EOT\215\EOT\DC3\NAK\n\ \&\n\ - \\EOT\ENQ\ETX\STX$\DC2\EOT\188\EOT\STX\v\SUB\CAN Used for XML-like tags\n\ + \\EOT\ENQ\EOT\STX$\DC2\EOT\218\EOT\STX\v\SUB\CAN Used for XML-like tags\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX$\SOH\DC2\EOT\188\EOT\STX\ENQ\n\ + \\ENQ\ENQ\EOT\STX$\SOH\DC2\EOT\218\EOT\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX$\STX\DC2\EOT\188\EOT\b\n\ + \\ENQ\ENQ\EOT\STX$\STX\DC2\EOT\218\EOT\b\n\ \\n\ \/\n\ - \\EOT\ENQ\ETX\STX%\DC2\EOT\190\EOT\STX\DC4\SUB! Attribute name in XML-like tags\n\ + \\EOT\ENQ\EOT\STX%\DC2\EOT\220\EOT\STX\DC4\SUB! Attribute name in XML-like tags\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX%\SOH\DC2\EOT\190\EOT\STX\SO\n\ + \\ENQ\ENQ\EOT\STX%\SOH\DC2\EOT\220\EOT\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX%\STX\DC2\EOT\190\EOT\DC1\DC3\n\ + \\ENQ\ENQ\EOT\STX%\STX\DC2\EOT\220\EOT\DC1\DC3\n\ \,\n\ - \\EOT\ENQ\ETX\STX&\DC2\EOT\192\EOT\STX\DC4\SUB\RS Delimiters for XML-like tags\n\ + \\EOT\ENQ\EOT\STX&\DC2\EOT\222\EOT\STX\DC4\SUB\RS Delimiters for XML-like tags\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX&\SOH\DC2\EOT\192\EOT\STX\SO\n\ + \\ENQ\ENQ\EOT\STX&\SOH\DC2\EOT\222\EOT\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ETX\STX&\STX\DC2\EOT\192\EOT\DC1\DC3\n\ + \\ENQ\ENQ\EOT\STX&\STX\DC2\EOT\222\EOT\DC1\DC3\n\ \\249\SOH\n\ - \\STX\EOT\t\DC2\ACK\200\EOT\NUL\164\ENQ\SOH\SUB\234\SOH Occurrence associates a source position with a symbol and/or highlighting\n\ + \\STX\EOT\t\DC2\ACK\230\EOT\NUL\197\ENQ\SOH\SUB\234\SOH Occurrence associates a source position with a symbol and/or highlighting\n\ \ information.\n\ \\n\ \ If possible, indexers should try to bundle logically related information\n\ \ across occurrences into a single occurrence to reduce payload sizes.\n\ \\n\ \\v\n\ - \\ETX\EOT\t\SOH\DC2\EOT\200\EOT\b\DC2\n\ - \\198\a\n\ - \\EOT\EOT\t\STX\NUL\DC2\EOT\219\EOT\STX\ESC\SUB\183\a Source position of this occurrence. Must be exactly three or four\n\ + \\ETX\EOT\t\SOH\DC2\EOT\230\EOT\b\DC2\n\ + \\158\b\n\ + \\EOT\EOT\t\STX\NUL\DC2\EOT\252\EOT\STX\ESC\SUB\143\b Source position of this occurrence. Must be exactly three or four\n\ \ elements:\n\ \\n\ \ - Four elements: `[startLine, startCharacter, endLine, endCharacter]`\n\ @@ -8027,6 +8232,9 @@ packedFileDescriptor \ line/character values before displaying them in an editor-like UI because\n\ \ editors conventionally use 1-based numbers.\n\ \\n\ + \ The 'character' value is interpreted based on the PositionEncoding for\n\ + \ the Document.\n\ + \\n\ \ Historical note: the original draft of this schema had a `Range` message\n\ \ type with `start` and `end` fields of type `Position`, mirroring LSP.\n\ \ Benchmarks revealed that this encoding was inefficient and that we could\n\ @@ -8036,36 +8244,36 @@ packedFileDescriptor \ improvements make up for it.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\NUL\EOT\DC2\EOT\219\EOT\STX\n\ + \\ENQ\EOT\t\STX\NUL\EOT\DC2\EOT\252\EOT\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\NUL\ENQ\DC2\EOT\219\EOT\v\DLE\n\ + \\ENQ\EOT\t\STX\NUL\ENQ\DC2\EOT\252\EOT\v\DLE\n\ \\r\n\ - \\ENQ\EOT\t\STX\NUL\SOH\DC2\EOT\219\EOT\DC1\SYN\n\ + \\ENQ\EOT\t\STX\NUL\SOH\DC2\EOT\252\EOT\DC1\SYN\n\ \\r\n\ - \\ENQ\EOT\t\STX\NUL\ETX\DC2\EOT\219\EOT\EM\SUB\n\ + \\ENQ\EOT\t\STX\NUL\ETX\DC2\EOT\252\EOT\EM\SUB\n\ \\138\SOH\n\ - \\EOT\EOT\t\STX\SOH\DC2\EOT\222\EOT\STX\DC4\SUB| (optional) The symbol that appears at this position. See\n\ + \\EOT\EOT\t\STX\SOH\DC2\EOT\255\EOT\STX\DC4\SUB| (optional) The symbol that appears at this position. See\n\ \ `SymbolInformation.symbol` for how to format symbols as strings.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\SOH\ENQ\DC2\EOT\222\EOT\STX\b\n\ + \\ENQ\EOT\t\STX\SOH\ENQ\DC2\EOT\255\EOT\STX\b\n\ \\r\n\ - \\ENQ\EOT\t\STX\SOH\SOH\DC2\EOT\222\EOT\t\SI\n\ + \\ENQ\EOT\t\STX\SOH\SOH\DC2\EOT\255\EOT\t\SI\n\ \\r\n\ - \\ENQ\EOT\t\STX\SOH\ETX\DC2\EOT\222\EOT\DC2\DC3\n\ + \\ENQ\EOT\t\STX\SOH\ETX\DC2\EOT\255\EOT\DC2\DC3\n\ \\151\SOH\n\ - \\EOT\EOT\t\STX\STX\DC2\EOT\225\EOT\STX\EM\SUB\136\SOH (optional) Bitset containing `SymbolRole`s in this occurrence.\n\ + \\EOT\EOT\t\STX\STX\DC2\EOT\130\ENQ\STX\EM\SUB\136\SOH (optional) Bitset containing `SymbolRole`s in this occurrence.\n\ \ See `SymbolRole`'s documentation for how to read and write this field.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\STX\ENQ\DC2\EOT\225\EOT\STX\a\n\ + \\ENQ\EOT\t\STX\STX\ENQ\DC2\EOT\130\ENQ\STX\a\n\ \\r\n\ - \\ENQ\EOT\t\STX\STX\SOH\DC2\EOT\225\EOT\b\DC4\n\ + \\ENQ\EOT\t\STX\STX\SOH\DC2\EOT\130\ENQ\b\DC4\n\ \\r\n\ - \\ENQ\EOT\t\STX\STX\ETX\DC2\EOT\225\EOT\ETB\CAN\n\ + \\ENQ\EOT\t\STX\STX\ETX\DC2\EOT\130\ENQ\ETB\CAN\n\ \\241\ETX\n\ - \\EOT\EOT\t\STX\ETX\DC2\EOT\234\EOT\STX-\SUB\226\ETX (optional) CommonMark-formatted documentation for this specific range. If\n\ + \\EOT\EOT\t\STX\ETX\DC2\EOT\139\ENQ\STX-\SUB\226\ETX (optional) CommonMark-formatted documentation for this specific range. If\n\ \ empty, the `Symbol.documentation` field is used instead. One example\n\ \ where this field might be useful is when the symbol represents a generic\n\ \ function (with abstract type parameters such as `List`) and at this\n\ @@ -8075,37 +8283,37 @@ packedFileDescriptor \ which commonly allow for type-changing assignment.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ETX\EOT\DC2\EOT\234\EOT\STX\n\ + \\ENQ\EOT\t\STX\ETX\EOT\DC2\EOT\139\ENQ\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ETX\ENQ\DC2\EOT\234\EOT\v\DC1\n\ + \\ENQ\EOT\t\STX\ETX\ENQ\DC2\EOT\139\ENQ\v\DC1\n\ \\r\n\ - \\ENQ\EOT\t\STX\ETX\SOH\DC2\EOT\234\EOT\DC2(\n\ + \\ENQ\EOT\t\STX\ETX\SOH\DC2\EOT\139\ENQ\DC2(\n\ \\r\n\ - \\ENQ\EOT\t\STX\ETX\ETX\DC2\EOT\234\EOT+,\n\ + \\ENQ\EOT\t\STX\ETX\ETX\DC2\EOT\139\ENQ+,\n\ \X\n\ - \\EOT\EOT\t\STX\EOT\DC2\EOT\236\EOT\STX\GS\SUBJ (optional) What syntax highlighting class should be used for this range?\n\ + \\EOT\EOT\t\STX\EOT\DC2\EOT\141\ENQ\STX\GS\SUBJ (optional) What syntax highlighting class should be used for this range?\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\EOT\ACK\DC2\EOT\236\EOT\STX\f\n\ + \\ENQ\EOT\t\STX\EOT\ACK\DC2\EOT\141\ENQ\STX\f\n\ \\r\n\ - \\ENQ\EOT\t\STX\EOT\SOH\DC2\EOT\236\EOT\r\CAN\n\ + \\ENQ\EOT\t\STX\EOT\SOH\DC2\EOT\141\ENQ\r\CAN\n\ \\r\n\ - \\ENQ\EOT\t\STX\EOT\ETX\DC2\EOT\236\EOT\ESC\FS\n\ + \\ENQ\EOT\t\STX\EOT\ETX\DC2\EOT\141\ENQ\ESC\FS\n\ \W\n\ - \\EOT\EOT\t\STX\ENQ\DC2\EOT\238\EOT\STX&\SUBI (optional) Diagnostics that have been reported for this specific range.\n\ + \\EOT\EOT\t\STX\ENQ\DC2\EOT\143\ENQ\STX&\SUBI (optional) Diagnostics that have been reported for this specific range.\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ENQ\EOT\DC2\EOT\238\EOT\STX\n\ + \\ENQ\EOT\t\STX\ENQ\EOT\DC2\EOT\143\ENQ\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ENQ\ACK\DC2\EOT\238\EOT\v\NAK\n\ + \\ENQ\EOT\t\STX\ENQ\ACK\DC2\EOT\143\ENQ\v\NAK\n\ \\r\n\ - \\ENQ\EOT\t\STX\ENQ\SOH\DC2\EOT\238\EOT\SYN!\n\ + \\ENQ\EOT\t\STX\ENQ\SOH\DC2\EOT\143\ENQ\SYN!\n\ \\r\n\ - \\ENQ\EOT\t\STX\ENQ\ETX\DC2\EOT\238\EOT$%\n\ + \\ENQ\EOT\t\STX\ENQ\ETX\DC2\EOT\143\ENQ$%\n\ \\177\SO\n\ - \\EOT\EOT\t\STX\ACK\DC2\EOT\163\ENQ\STX%\SUB\162\SO (optional) Using the same encoding as the sibling `range` field, source\n\ + \\EOT\EOT\t\STX\ACK\DC2\EOT\196\ENQ\STX%\SUB\162\SO (optional) Using the same encoding as the sibling `range` field, source\n\ \ position of the nearest non-trivial enclosing AST node. This range must\n\ \ enclose the `range` field. Example applications that make use of the\n\ \ enclosing_range field:\n\ @@ -8159,152 +8367,152 @@ packedFileDescriptor \ ```\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ACK\EOT\DC2\EOT\163\ENQ\STX\n\ + \\ENQ\EOT\t\STX\ACK\EOT\DC2\EOT\196\ENQ\STX\n\ \\n\ \\r\n\ - \\ENQ\EOT\t\STX\ACK\ENQ\DC2\EOT\163\ENQ\v\DLE\n\ + \\ENQ\EOT\t\STX\ACK\ENQ\DC2\EOT\196\ENQ\v\DLE\n\ \\r\n\ - \\ENQ\EOT\t\STX\ACK\SOH\DC2\EOT\163\ENQ\DC1 \n\ + \\ENQ\EOT\t\STX\ACK\SOH\DC2\EOT\196\ENQ\DC1 \n\ \\r\n\ - \\ENQ\EOT\t\STX\ACK\ETX\DC2\EOT\163\ENQ#$\n\ + \\ENQ\EOT\t\STX\ACK\ETX\DC2\EOT\196\ENQ#$\n\ \w\n\ \\STX\EOT\n\ - \\DC2\ACK\168\ENQ\NUL\179\ENQ\SOH\SUBi Represents a diagnostic, such as a compiler error or warning, which should be\n\ + \\DC2\ACK\201\ENQ\NUL\212\ENQ\SOH\SUBi Represents a diagnostic, such as a compiler error or warning, which should be\n\ \ reported for a document.\n\ \\n\ \\v\n\ \\ETX\EOT\n\ - \\SOH\DC2\EOT\168\ENQ\b\DC2\n\ + \\SOH\DC2\EOT\201\ENQ\b\DC2\n\ \W\n\ \\EOT\EOT\n\ - \\STX\NUL\DC2\EOT\170\ENQ\STX\CAN\SUBI Should this diagnostic be reported as an error, warning, info, or hint?\n\ + \\STX\NUL\DC2\EOT\203\ENQ\STX\CAN\SUBI Should this diagnostic be reported as an error, warning, info, or hint?\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\NUL\ACK\DC2\EOT\170\ENQ\STX\n\ + \\STX\NUL\ACK\DC2\EOT\203\ENQ\STX\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\NUL\SOH\DC2\EOT\170\ENQ\v\DC3\n\ + \\STX\NUL\SOH\DC2\EOT\203\ENQ\v\DC3\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\NUL\ETX\DC2\EOT\170\ENQ\SYN\ETB\n\ + \\STX\NUL\ETX\DC2\EOT\203\ENQ\SYN\ETB\n\ \]\n\ \\EOT\EOT\n\ - \\STX\SOH\DC2\EOT\172\ENQ\STX\DC2\SUBO (optional) Code of this diagnostic, which might appear in the user interface.\n\ + \\STX\SOH\DC2\EOT\205\ENQ\STX\DC2\SUBO (optional) Code of this diagnostic, which might appear in the user interface.\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\SOH\ENQ\DC2\EOT\172\ENQ\STX\b\n\ + \\STX\SOH\ENQ\DC2\EOT\205\ENQ\STX\b\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\SOH\SOH\DC2\EOT\172\ENQ\t\r\n\ + \\STX\SOH\SOH\DC2\EOT\205\ENQ\t\r\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\SOH\ETX\DC2\EOT\172\ENQ\DLE\DC1\n\ + \\STX\SOH\ETX\DC2\EOT\205\ENQ\DLE\DC1\n\ \+\n\ \\EOT\EOT\n\ - \\STX\STX\DC2\EOT\174\ENQ\STX\NAK\SUB\GS Message of this diagnostic.\n\ + \\STX\STX\DC2\EOT\207\ENQ\STX\NAK\SUB\GS Message of this diagnostic.\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\STX\ENQ\DC2\EOT\174\ENQ\STX\b\n\ + \\STX\STX\ENQ\DC2\EOT\207\ENQ\STX\b\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\STX\SOH\DC2\EOT\174\ENQ\t\DLE\n\ + \\STX\STX\SOH\DC2\EOT\207\ENQ\t\DLE\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\STX\ETX\DC2\EOT\174\ENQ\DC3\DC4\n\ + \\STX\STX\ETX\DC2\EOT\207\ENQ\DC3\DC4\n\ \~\n\ \\EOT\EOT\n\ - \\STX\ETX\DC2\EOT\177\ENQ\STX\DC4\SUBp (optional) Human-readable string describing the source of this diagnostic, e.g.\n\ + \\STX\ETX\DC2\EOT\210\ENQ\STX\DC4\SUBp (optional) Human-readable string describing the source of this diagnostic, e.g.\n\ \ 'typescript' or 'super lint'.\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ETX\ENQ\DC2\EOT\177\ENQ\STX\b\n\ + \\STX\ETX\ENQ\DC2\EOT\210\ENQ\STX\b\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ETX\SOH\DC2\EOT\177\ENQ\t\SI\n\ + \\STX\ETX\SOH\DC2\EOT\210\ENQ\t\SI\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\ETX\ETX\DC2\EOT\177\ENQ\DC2\DC3\n\ + \\STX\ETX\ETX\DC2\EOT\210\ENQ\DC2\DC3\n\ \\f\n\ \\EOT\EOT\n\ - \\STX\EOT\DC2\EOT\178\ENQ\STX\"\n\ + \\STX\EOT\DC2\EOT\211\ENQ\STX\"\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\EOT\EOT\DC2\EOT\178\ENQ\STX\n\ + \\STX\EOT\EOT\DC2\EOT\211\ENQ\STX\n\ \\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\EOT\ACK\DC2\EOT\178\ENQ\v\CAN\n\ + \\STX\EOT\ACK\DC2\EOT\211\ENQ\v\CAN\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\EOT\SOH\DC2\EOT\178\ENQ\EM\GS\n\ + \\STX\EOT\SOH\DC2\EOT\211\ENQ\EM\GS\n\ \\r\n\ \\ENQ\EOT\n\ - \\STX\EOT\ETX\DC2\EOT\178\ENQ !\n\ + \\STX\EOT\ETX\DC2\EOT\211\ENQ !\n\ \\f\n\ - \\STX\ENQ\EOT\DC2\ACK\181\ENQ\NUL\187\ENQ\SOH\n\ + \\STX\ENQ\ENQ\DC2\ACK\214\ENQ\NUL\220\ENQ\SOH\n\ \\v\n\ - \\ETX\ENQ\EOT\SOH\DC2\EOT\181\ENQ\ENQ\r\n\ + \\ETX\ENQ\ENQ\SOH\DC2\EOT\214\ENQ\ENQ\r\n\ \\f\n\ - \\EOT\ENQ\EOT\STX\NUL\DC2\EOT\182\ENQ\STX\SUB\n\ + \\EOT\ENQ\ENQ\STX\NUL\DC2\EOT\215\ENQ\STX\SUB\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\NUL\SOH\DC2\EOT\182\ENQ\STX\NAK\n\ + \\ENQ\ENQ\ENQ\STX\NUL\SOH\DC2\EOT\215\ENQ\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\NUL\STX\DC2\EOT\182\ENQ\CAN\EM\n\ + \\ENQ\ENQ\ENQ\STX\NUL\STX\DC2\EOT\215\ENQ\CAN\EM\n\ \\f\n\ - \\EOT\ENQ\EOT\STX\SOH\DC2\EOT\183\ENQ\STX\f\n\ + \\EOT\ENQ\ENQ\STX\SOH\DC2\EOT\216\ENQ\STX\f\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SOH\SOH\DC2\EOT\183\ENQ\STX\a\n\ + \\ENQ\ENQ\ENQ\STX\SOH\SOH\DC2\EOT\216\ENQ\STX\a\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\SOH\STX\DC2\EOT\183\ENQ\n\ + \\ENQ\ENQ\ENQ\STX\SOH\STX\DC2\EOT\216\ENQ\n\ \\v\n\ \\f\n\ - \\EOT\ENQ\EOT\STX\STX\DC2\EOT\184\ENQ\STX\SO\n\ + \\EOT\ENQ\ENQ\STX\STX\DC2\EOT\217\ENQ\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\STX\SOH\DC2\EOT\184\ENQ\STX\t\n\ + \\ENQ\ENQ\ENQ\STX\STX\SOH\DC2\EOT\217\ENQ\STX\t\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\STX\STX\DC2\EOT\184\ENQ\f\r\n\ + \\ENQ\ENQ\ENQ\STX\STX\STX\DC2\EOT\217\ENQ\f\r\n\ \\f\n\ - \\EOT\ENQ\EOT\STX\ETX\DC2\EOT\185\ENQ\STX\DC2\n\ + \\EOT\ENQ\ENQ\STX\ETX\DC2\EOT\218\ENQ\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ETX\SOH\DC2\EOT\185\ENQ\STX\r\n\ + \\ENQ\ENQ\ENQ\STX\ETX\SOH\DC2\EOT\218\ENQ\STX\r\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\ETX\STX\DC2\EOT\185\ENQ\DLE\DC1\n\ + \\ENQ\ENQ\ENQ\STX\ETX\STX\DC2\EOT\218\ENQ\DLE\DC1\n\ \\f\n\ - \\EOT\ENQ\EOT\STX\EOT\DC2\EOT\186\ENQ\STX\v\n\ + \\EOT\ENQ\ENQ\STX\EOT\DC2\EOT\219\ENQ\STX\v\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\EOT\SOH\DC2\EOT\186\ENQ\STX\ACK\n\ + \\ENQ\ENQ\ENQ\STX\EOT\SOH\DC2\EOT\219\ENQ\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\EOT\STX\EOT\STX\DC2\EOT\186\ENQ\t\n\ + \\ENQ\ENQ\ENQ\STX\EOT\STX\DC2\EOT\219\ENQ\t\n\ \\n\ \\f\n\ - \\STX\ENQ\ENQ\DC2\ACK\189\ENQ\NUL\193\ENQ\SOH\n\ + \\STX\ENQ\ACK\DC2\ACK\222\ENQ\NUL\226\ENQ\SOH\n\ \\v\n\ - \\ETX\ENQ\ENQ\SOH\DC2\EOT\189\ENQ\ENQ\DC2\n\ + \\ETX\ENQ\ACK\SOH\DC2\EOT\222\ENQ\ENQ\DC2\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\NUL\DC2\EOT\190\ENQ\STX\US\n\ + \\EOT\ENQ\ACK\STX\NUL\DC2\EOT\223\ENQ\STX\US\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\NUL\SOH\DC2\EOT\190\ENQ\STX\SUB\n\ + \\ENQ\ENQ\ACK\STX\NUL\SOH\DC2\EOT\223\ENQ\STX\SUB\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\NUL\STX\DC2\EOT\190\ENQ\GS\RS\n\ + \\ENQ\ENQ\ACK\STX\NUL\STX\DC2\EOT\223\ENQ\GS\RS\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\SOH\DC2\EOT\191\ENQ\STX\DC2\n\ + \\EOT\ENQ\ACK\STX\SOH\DC2\EOT\224\ENQ\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\SOH\SOH\DC2\EOT\191\ENQ\STX\r\n\ + \\ENQ\ENQ\ACK\STX\SOH\SOH\DC2\EOT\224\ENQ\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\SOH\STX\DC2\EOT\191\ENQ\DLE\DC1\n\ + \\ENQ\ENQ\ACK\STX\SOH\STX\DC2\EOT\224\ENQ\DLE\DC1\n\ \\f\n\ - \\EOT\ENQ\ENQ\STX\STX\DC2\EOT\192\ENQ\STX\DC1\n\ + \\EOT\ENQ\ACK\STX\STX\DC2\EOT\225\ENQ\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\STX\SOH\DC2\EOT\192\ENQ\STX\f\n\ + \\ENQ\ENQ\ACK\STX\STX\SOH\DC2\EOT\225\ENQ\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ENQ\STX\STX\STX\DC2\EOT\192\ENQ\SI\DLE\n\ + \\ENQ\ENQ\ACK\STX\STX\STX\DC2\EOT\225\ENQ\SI\DLE\n\ \\208\ETX\n\ - \\STX\ENQ\ACK\DC2\ACK\201\ENQ\NUL\191\ACK\SOH\SUB\193\ETX Language standardises names of common programming languages that can be used\n\ + \\STX\ENQ\a\DC2\ACK\234\ENQ\NUL\224\ACK\SOH\SUB\193\ETX Language standardises names of common programming languages that can be used\n\ \ for the `Document.language` field. The primary purpose of this enum is to\n\ \ prevent a situation where we have a single programming language ends up with\n\ \ multiple string representations. For example, the C++ language uses the name\n\ @@ -8312,708 +8520,708 @@ packedFileDescriptor \ Feel free to send a pull-request to add missing programming languages.\n\ \\n\ \\v\n\ - \\ETX\ENQ\ACK\SOH\DC2\EOT\201\ENQ\ENQ\r\n\ + \\ETX\ENQ\a\SOH\DC2\EOT\234\ENQ\ENQ\r\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\NUL\DC2\EOT\202\ENQ\STX\SUB\n\ + \\EOT\ENQ\a\STX\NUL\DC2\EOT\235\ENQ\STX\SUB\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\NUL\SOH\DC2\EOT\202\ENQ\STX\NAK\n\ + \\ENQ\ENQ\a\STX\NUL\SOH\DC2\EOT\235\ENQ\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\NUL\STX\DC2\EOT\202\ENQ\CAN\EM\n\ + \\ENQ\ENQ\a\STX\NUL\STX\DC2\EOT\235\ENQ\CAN\EM\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\SOH\DC2\EOT\203\ENQ\STX\f\n\ + \\EOT\ENQ\a\STX\SOH\DC2\EOT\236\ENQ\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\SOH\SOH\DC2\EOT\203\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX\SOH\SOH\DC2\EOT\236\ENQ\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\SOH\STX\DC2\EOT\203\ENQ\t\v\n\ + \\ENQ\ENQ\a\STX\SOH\STX\DC2\EOT\236\ENQ\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\STX\DC2\EOT\204\ENQ\STX\f\n\ + \\EOT\ENQ\a\STX\STX\DC2\EOT\237\ENQ\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\STX\SOH\DC2\EOT\204\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX\STX\SOH\DC2\EOT\237\ENQ\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\STX\STX\DC2\EOT\204\ENQ\t\v\n\ + \\ENQ\ENQ\a\STX\STX\STX\DC2\EOT\237\ENQ\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\ETX\DC2\EOT\205\ENQ\STX\v\n\ + \\EOT\ENQ\a\STX\ETX\DC2\EOT\238\ENQ\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\ETX\SOH\DC2\EOT\205\ENQ\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\ETX\SOH\DC2\EOT\238\ENQ\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\ETX\STX\DC2\EOT\205\ENQ\b\n\ + \\ENQ\ENQ\a\STX\ETX\STX\DC2\EOT\238\ENQ\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\EOT\DC2\EOT\206\ENQ\STX\v\n\ + \\EOT\ENQ\a\STX\EOT\DC2\EOT\239\ENQ\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\EOT\SOH\DC2\EOT\206\ENQ\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\EOT\SOH\DC2\EOT\239\ENQ\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\EOT\STX\DC2\EOT\206\ENQ\b\n\ + \\ENQ\ENQ\a\STX\EOT\STX\DC2\EOT\239\ENQ\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\ENQ\DC2\EOT\207\ENQ\STX\f\n\ + \\EOT\ENQ\a\STX\ENQ\DC2\EOT\240\ENQ\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\ENQ\SOH\DC2\EOT\207\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX\ENQ\SOH\DC2\EOT\240\ENQ\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\ENQ\STX\DC2\EOT\207\ENQ\t\v\n\ + \\ENQ\ENQ\a\STX\ENQ\STX\DC2\EOT\240\ENQ\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\ACK\DC2\EOT\208\ENQ\STX\DLE\n\ + \\EOT\ENQ\a\STX\ACK\DC2\EOT\241\ENQ\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\ACK\SOH\DC2\EOT\208\ENQ\STX\n\ + \\ENQ\ENQ\a\STX\ACK\SOH\DC2\EOT\241\ENQ\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\ACK\STX\DC2\EOT\208\ENQ\r\SI\n\ + \\ENQ\ENQ\a\STX\ACK\STX\DC2\EOT\241\ENQ\r\SI\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\a\DC2\EOT\209\ENQ\STX\DLE\n\ + \\EOT\ENQ\a\STX\a\DC2\EOT\242\ENQ\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\a\SOH\DC2\EOT\209\ENQ\STX\n\ + \\ENQ\ENQ\a\STX\a\SOH\DC2\EOT\242\ENQ\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\a\STX\DC2\EOT\209\ENQ\r\SI\n\ + \\ENQ\ENQ\a\STX\a\STX\DC2\EOT\242\ENQ\r\SI\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\b\DC2\EOT\210\ENQ\STX\v\n\ + \\EOT\ENQ\a\STX\b\DC2\EOT\243\ENQ\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\b\SOH\DC2\EOT\210\ENQ\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\b\SOH\DC2\EOT\243\ENQ\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\b\STX\DC2\EOT\210\ENQ\b\n\ + \\ENQ\ENQ\a\STX\b\STX\DC2\EOT\243\ENQ\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\t\DC2\EOT\211\ENQ\STX\v\n\ + \\EOT\ENQ\a\STX\t\DC2\EOT\244\ENQ\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\t\SOH\DC2\EOT\211\ENQ\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\t\SOH\DC2\EOT\244\ENQ\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\t\STX\DC2\EOT\211\ENQ\b\n\ + \\ENQ\ENQ\a\STX\t\STX\DC2\EOT\244\ENQ\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\n\ - \\DC2\EOT\212\ENQ\STX\SO\n\ + \\EOT\ENQ\a\STX\n\ + \\DC2\EOT\245\ENQ\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\n\ - \\SOH\DC2\EOT\212\ENQ\STX\b\n\ + \\ENQ\ENQ\a\STX\n\ + \\SOH\DC2\EOT\245\ENQ\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\n\ - \\STX\DC2\EOT\212\ENQ\v\r\n\ + \\ENQ\ENQ\a\STX\n\ + \\STX\DC2\EOT\245\ENQ\v\r\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\v\DC2\EOT\213\ENQ\STX\t\n\ + \\EOT\ENQ\a\STX\v\DC2\EOT\246\ENQ\STX\t\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\v\SOH\DC2\EOT\213\ENQ\STX\ETX\n\ + \\ENQ\ENQ\a\STX\v\SOH\DC2\EOT\246\ENQ\STX\ETX\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\v\STX\DC2\EOT\213\ENQ\ACK\b\n\ + \\ENQ\ENQ\a\STX\v\STX\DC2\EOT\246\ENQ\ACK\b\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\f\DC2\EOT\214\ENQ\STX\r\n\ + \\EOT\ENQ\a\STX\f\DC2\EOT\247\ENQ\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\f\SOH\DC2\EOT\214\ENQ\STX\a\n\ + \\ENQ\ENQ\a\STX\f\SOH\DC2\EOT\247\ENQ\STX\a\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\f\STX\DC2\EOT\214\ENQ\n\ + \\ENQ\ENQ\a\STX\f\STX\DC2\EOT\247\ENQ\n\ \\f\n\ \H\n\ - \\EOT\ENQ\ACK\STX\r\DC2\EOT\215\ENQ\STX\v\": C++ (the name \"CPP\" was chosen for consistency with LSP)\n\ + \\EOT\ENQ\a\STX\r\DC2\EOT\248\ENQ\STX\v\": C++ (the name \"CPP\" was chosen for consistency with LSP)\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\r\SOH\DC2\EOT\215\ENQ\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\r\SOH\DC2\EOT\248\ENQ\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\r\STX\DC2\EOT\215\ENQ\b\n\ + \\ENQ\ENQ\a\STX\r\STX\DC2\EOT\248\ENQ\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\SO\DC2\EOT\216\ENQ\STX\v\n\ + \\EOT\ENQ\a\STX\SO\DC2\EOT\249\ENQ\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\SO\SOH\DC2\EOT\216\ENQ\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\SO\SOH\DC2\EOT\249\ENQ\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\SO\STX\DC2\EOT\216\ENQ\b\n\ + \\ENQ\ENQ\a\STX\SO\STX\DC2\EOT\249\ENQ\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\SI\DC2\EOT\217\ENQ\STX\r\n\ + \\EOT\ENQ\a\STX\SI\DC2\EOT\250\ENQ\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\SI\SOH\DC2\EOT\217\ENQ\STX\b\n\ + \\ENQ\ENQ\a\STX\SI\SOH\DC2\EOT\250\ENQ\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\SI\STX\DC2\EOT\217\ENQ\v\f\n\ + \\ENQ\ENQ\a\STX\SI\STX\DC2\EOT\250\ENQ\v\f\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\DLE\DC2\EOT\218\ENQ\STX\SO\n\ + \\EOT\ENQ\a\STX\DLE\DC2\EOT\251\ENQ\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\DLE\SOH\DC2\EOT\218\ENQ\STX\t\n\ + \\ENQ\ENQ\a\STX\DLE\SOH\DC2\EOT\251\ENQ\STX\t\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\DLE\STX\DC2\EOT\218\ENQ\f\r\n\ + \\ENQ\ENQ\a\STX\DLE\STX\DC2\EOT\251\ENQ\f\r\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\DC1\DC2\EOT\219\ENQ\STX\DC4\n\ + \\EOT\ENQ\a\STX\DC1\DC2\EOT\252\ENQ\STX\DC4\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\DC1\SOH\DC2\EOT\219\ENQ\STX\SO\n\ + \\ENQ\ENQ\a\STX\DC1\SOH\DC2\EOT\252\ENQ\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\DC1\STX\DC2\EOT\219\ENQ\DC1\DC3\n\ + \\ENQ\ENQ\a\STX\DC1\STX\DC2\EOT\252\ENQ\DC1\DC3\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\DC2\DC2\EOT\220\ENQ\STX\DC1\n\ + \\EOT\ENQ\a\STX\DC2\DC2\EOT\253\ENQ\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\DC2\SOH\DC2\EOT\220\ENQ\STX\f\n\ + \\ENQ\ENQ\a\STX\DC2\SOH\DC2\EOT\253\ENQ\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\DC2\STX\DC2\EOT\220\ENQ\SI\DLE\n\ + \\ENQ\ENQ\a\STX\DC2\STX\DC2\EOT\253\ENQ\SI\DLE\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\DC3\DC2\EOT\221\ENQ\STX\v\n\ + \\EOT\ENQ\a\STX\DC3\DC2\EOT\254\ENQ\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\DC3\SOH\DC2\EOT\221\ENQ\STX\ENQ\n\ + \\ENQ\ENQ\a\STX\DC3\SOH\DC2\EOT\254\ENQ\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\DC3\STX\DC2\EOT\221\ENQ\b\n\ + \\ENQ\ENQ\a\STX\DC3\STX\DC2\EOT\254\ENQ\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\DC4\DC2\EOT\222\ENQ\STX\f\n\ + \\EOT\ENQ\a\STX\DC4\DC2\EOT\255\ENQ\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\DC4\SOH\DC2\EOT\222\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX\DC4\SOH\DC2\EOT\255\ENQ\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\DC4\STX\DC2\EOT\222\ENQ\t\v\n\ + \\ENQ\ENQ\a\STX\DC4\STX\DC2\EOT\255\ENQ\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\NAK\DC2\EOT\223\ENQ\STX\v\n\ + \\EOT\ENQ\a\STX\NAK\DC2\EOT\128\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\NAK\SOH\DC2\EOT\223\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX\NAK\SOH\DC2\EOT\128\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\NAK\STX\DC2\EOT\223\ENQ\t\n\ + \\ENQ\ENQ\a\STX\NAK\STX\DC2\EOT\128\ACK\t\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\SYN\DC2\EOT\224\ENQ\STX\SO\n\ + \\EOT\ENQ\a\STX\SYN\DC2\EOT\129\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\SYN\SOH\DC2\EOT\224\ENQ\STX\b\n\ + \\ENQ\ENQ\a\STX\SYN\SOH\DC2\EOT\129\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\SYN\STX\DC2\EOT\224\ENQ\v\r\n\ + \\ENQ\ENQ\a\STX\SYN\STX\DC2\EOT\129\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\ETB\DC2\EOT\225\ENQ\STX\f\n\ + \\EOT\ENQ\a\STX\ETB\DC2\EOT\130\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\ETB\SOH\DC2\EOT\225\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX\ETB\SOH\DC2\EOT\130\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\ETB\STX\DC2\EOT\225\ENQ\t\v\n\ + \\ENQ\ENQ\a\STX\ETB\STX\DC2\EOT\130\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\CAN\DC2\EOT\226\ENQ\STX\DC2\n\ + \\EOT\ENQ\a\STX\CAN\DC2\EOT\131\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\CAN\SOH\DC2\EOT\226\ENQ\STX\f\n\ + \\ENQ\ENQ\a\STX\CAN\SOH\DC2\EOT\131\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\CAN\STX\DC2\EOT\226\ENQ\SI\DC1\n\ + \\ENQ\ENQ\a\STX\CAN\STX\DC2\EOT\131\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\EM\DC2\EOT\227\ENQ\STX\SO\n\ + \\EOT\ENQ\a\STX\EM\DC2\EOT\132\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\EM\SOH\DC2\EOT\227\ENQ\STX\b\n\ + \\ENQ\ENQ\a\STX\EM\SOH\DC2\EOT\132\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\EM\STX\DC2\EOT\227\ENQ\v\r\n\ + \\ENQ\ENQ\a\STX\EM\STX\DC2\EOT\132\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\SUB\DC2\EOT\228\ENQ\STX\SO\n\ + \\EOT\ENQ\a\STX\SUB\DC2\EOT\133\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\SUB\SOH\DC2\EOT\228\ENQ\STX\b\n\ + \\ENQ\ENQ\a\STX\SUB\SOH\DC2\EOT\133\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\SUB\STX\DC2\EOT\228\ENQ\v\r\n\ + \\ENQ\ENQ\a\STX\SUB\STX\DC2\EOT\133\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\ESC\DC2\EOT\229\ENQ\STX\SO\n\ + \\EOT\ENQ\a\STX\ESC\DC2\EOT\134\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\ESC\SOH\DC2\EOT\229\ENQ\STX\b\n\ + \\ENQ\ENQ\a\STX\ESC\SOH\DC2\EOT\134\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\ESC\STX\DC2\EOT\229\ENQ\v\r\n\ + \\ENQ\ENQ\a\STX\ESC\STX\DC2\EOT\134\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\FS\DC2\EOT\230\ENQ\STX\SO\n\ + \\EOT\ENQ\a\STX\FS\DC2\EOT\135\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\FS\SOH\DC2\EOT\230\ENQ\STX\b\n\ + \\ENQ\ENQ\a\STX\FS\SOH\DC2\EOT\135\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\FS\STX\DC2\EOT\230\ENQ\v\r\n\ + \\ENQ\ENQ\a\STX\FS\STX\DC2\EOT\135\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\GS\DC2\EOT\231\ENQ\STX\f\n\ + \\EOT\ENQ\a\STX\GS\DC2\EOT\136\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\GS\SOH\DC2\EOT\231\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX\GS\SOH\DC2\EOT\136\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\GS\STX\DC2\EOT\231\ENQ\t\v\n\ + \\ENQ\ENQ\a\STX\GS\STX\DC2\EOT\136\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\RS\DC2\EOT\232\ENQ\STX\f\n\ + \\EOT\ENQ\a\STX\RS\DC2\EOT\137\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\RS\SOH\DC2\EOT\232\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX\RS\SOH\DC2\EOT\137\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\RS\STX\DC2\EOT\232\ENQ\t\v\n\ + \\ENQ\ENQ\a\STX\RS\STX\DC2\EOT\137\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\US\DC2\EOT\233\ENQ\STX\SI\n\ + \\EOT\ENQ\a\STX\US\DC2\EOT\138\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\US\SOH\DC2\EOT\233\ENQ\STX\t\n\ + \\ENQ\ENQ\a\STX\US\SOH\DC2\EOT\138\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\US\STX\DC2\EOT\233\ENQ\f\SO\n\ + \\ENQ\ENQ\a\STX\US\STX\DC2\EOT\138\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\ACK\STX \DC2\EOT\234\ENQ\STX\DC2\n\ + \\EOT\ENQ\a\STX \DC2\EOT\139\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX \SOH\DC2\EOT\234\ENQ\STX\f\n\ + \\ENQ\ENQ\a\STX \SOH\DC2\EOT\139\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX \STX\DC2\EOT\234\ENQ\SI\DC1\n\ + \\ENQ\ENQ\a\STX \STX\DC2\EOT\139\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\ACK\STX!\DC2\EOT\235\ENQ\STX\DC2\n\ + \\EOT\ENQ\a\STX!\DC2\EOT\140\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX!\SOH\DC2\EOT\235\ENQ\STX\f\n\ + \\ENQ\ENQ\a\STX!\SOH\DC2\EOT\140\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX!\STX\DC2\EOT\235\ENQ\SI\DC1\n\ + \\ENQ\ENQ\a\STX!\STX\DC2\EOT\140\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\"\DC2\EOT\236\ENQ\STX\DC2\n\ + \\EOT\ENQ\a\STX\"\DC2\EOT\141\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\"\SOH\DC2\EOT\236\ENQ\STX\f\n\ + \\ENQ\ENQ\a\STX\"\SOH\DC2\EOT\141\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\"\STX\DC2\EOT\236\ENQ\SI\DC1\n\ + \\ENQ\ENQ\a\STX\"\STX\DC2\EOT\141\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\ACK\STX#\DC2\EOT\237\ENQ\STX\n\ + \\EOT\ENQ\a\STX#\DC2\EOT\142\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX#\SOH\DC2\EOT\237\ENQ\STX\EOT\n\ + \\ENQ\ENQ\a\STX#\SOH\DC2\EOT\142\ACK\STX\EOT\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX#\STX\DC2\EOT\237\ENQ\a\t\n\ + \\ENQ\ENQ\a\STX#\STX\DC2\EOT\142\ACK\a\t\n\ \\f\n\ - \\EOT\ENQ\ACK\STX$\DC2\EOT\238\ENQ\STX\SI\n\ + \\EOT\ENQ\a\STX$\DC2\EOT\143\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX$\SOH\DC2\EOT\238\ENQ\STX\t\n\ + \\ENQ\ENQ\a\STX$\SOH\DC2\EOT\143\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX$\STX\DC2\EOT\238\ENQ\f\SO\n\ + \\ENQ\ENQ\a\STX$\STX\DC2\EOT\143\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\ACK\STX%\DC2\EOT\239\ENQ\STX\r\n\ + \\EOT\ENQ\a\STX%\DC2\EOT\144\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX%\SOH\DC2\EOT\239\ENQ\STX\b\n\ + \\ENQ\ENQ\a\STX%\SOH\DC2\EOT\144\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX%\STX\DC2\EOT\239\ENQ\v\f\n\ + \\ENQ\ENQ\a\STX%\STX\DC2\EOT\144\ACK\v\f\n\ \\f\n\ - \\EOT\ENQ\ACK\STX&\DC2\EOT\240\ENQ\STX\f\n\ + \\EOT\ENQ\a\STX&\DC2\EOT\145\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX&\SOH\DC2\EOT\240\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX&\SOH\DC2\EOT\145\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX&\STX\DC2\EOT\240\ENQ\t\v\n\ + \\ENQ\ENQ\a\STX&\STX\DC2\EOT\145\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STX'\DC2\EOT\241\ENQ\STX\f\n\ + \\EOT\ENQ\a\STX'\DC2\EOT\146\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX'\SOH\DC2\EOT\241\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX'\SOH\DC2\EOT\146\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX'\STX\DC2\EOT\241\ENQ\t\v\n\ + \\ENQ\ENQ\a\STX'\STX\DC2\EOT\146\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STX(\DC2\EOT\242\ENQ\STX\DC2\n\ + \\EOT\ENQ\a\STX(\DC2\EOT\147\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX(\SOH\DC2\EOT\242\ENQ\STX\f\n\ + \\ENQ\ENQ\a\STX(\SOH\DC2\EOT\147\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX(\STX\DC2\EOT\242\ENQ\SI\DC1\n\ + \\ENQ\ENQ\a\STX(\STX\DC2\EOT\147\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\ACK\STX)\DC2\EOT\243\ENQ\STX\SI\n\ + \\EOT\ENQ\a\STX)\DC2\EOT\148\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX)\SOH\DC2\EOT\243\ENQ\STX\t\n\ + \\ENQ\ENQ\a\STX)\SOH\DC2\EOT\148\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX)\STX\DC2\EOT\243\ENQ\f\SO\n\ + \\ENQ\ENQ\a\STX)\STX\DC2\EOT\148\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\ACK\STX*\DC2\EOT\244\ENQ\STX\r\n\ + \\EOT\ENQ\a\STX*\DC2\EOT\149\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX*\SOH\DC2\EOT\244\ENQ\STX\a\n\ + \\ENQ\ENQ\a\STX*\SOH\DC2\EOT\149\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX*\STX\DC2\EOT\244\ENQ\n\ + \\ENQ\ENQ\a\STX*\STX\DC2\EOT\149\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\ACK\STX+\DC2\EOT\245\ENQ\STX\v\n\ + \\EOT\ENQ\a\STX+\DC2\EOT\150\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX+\SOH\DC2\EOT\245\ENQ\STX\ENQ\n\ + \\ENQ\ENQ\a\STX+\SOH\DC2\EOT\150\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX+\STX\DC2\EOT\245\ENQ\b\n\ + \\ENQ\ENQ\a\STX+\STX\DC2\EOT\150\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STX,\DC2\EOT\246\ENQ\STX\t\n\ + \\EOT\ENQ\a\STX,\DC2\EOT\151\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX,\SOH\DC2\EOT\246\ENQ\STX\ETX\n\ + \\ENQ\ENQ\a\STX,\SOH\DC2\EOT\151\ACK\STX\ETX\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX,\STX\DC2\EOT\246\ENQ\ACK\b\n\ + \\ENQ\ENQ\a\STX,\STX\DC2\EOT\151\ACK\ACK\b\n\ \\f\n\ - \\EOT\ENQ\ACK\STX-\DC2\EOT\247\ENQ\STX\f\n\ + \\EOT\ENQ\a\STX-\DC2\EOT\152\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX-\SOH\DC2\EOT\247\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX-\SOH\DC2\EOT\152\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX-\STX\DC2\EOT\247\ENQ\t\v\n\ + \\ENQ\ENQ\a\STX-\STX\DC2\EOT\152\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STX.\DC2\EOT\248\ENQ\STX\v\n\ + \\EOT\ENQ\a\STX.\DC2\EOT\153\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX.\SOH\DC2\EOT\248\ENQ\STX\ACK\n\ + \\ENQ\ENQ\a\STX.\SOH\DC2\EOT\153\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX.\STX\DC2\EOT\248\ENQ\t\n\ + \\ENQ\ENQ\a\STX.\STX\DC2\EOT\153\ACK\t\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STX/\DC2\EOT\249\ENQ\STX\DC2\n\ + \\EOT\ENQ\a\STX/\DC2\EOT\154\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX/\SOH\DC2\EOT\249\ENQ\STX\f\n\ + \\ENQ\ENQ\a\STX/\SOH\DC2\EOT\154\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX/\STX\DC2\EOT\249\ENQ\SI\DC1\n\ + \\ENQ\ENQ\a\STX/\STX\DC2\EOT\154\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\ACK\STX0\DC2\EOT\250\ENQ\STX\ETB\n\ + \\EOT\ENQ\a\STX0\DC2\EOT\155\ACK\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX0\SOH\DC2\EOT\250\ENQ\STX\DC1\n\ + \\ENQ\ENQ\a\STX0\SOH\DC2\EOT\155\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX0\STX\DC2\EOT\250\ENQ\DC4\SYN\n\ + \\ENQ\ENQ\a\STX0\STX\DC2\EOT\155\ACK\DC4\SYN\n\ \\f\n\ - \\EOT\ENQ\ACK\STX1\DC2\EOT\251\ENQ\STX\SI\n\ + \\EOT\ENQ\a\STX1\DC2\EOT\156\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX1\SOH\DC2\EOT\251\ENQ\STX\t\n\ + \\ENQ\ENQ\a\STX1\SOH\DC2\EOT\156\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX1\STX\DC2\EOT\251\ENQ\f\SO\n\ + \\ENQ\ENQ\a\STX1\STX\DC2\EOT\156\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\ACK\STX2\DC2\EOT\252\ENQ\STX\SO\n\ + \\EOT\ENQ\a\STX2\DC2\EOT\157\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX2\SOH\DC2\EOT\252\ENQ\STX\a\n\ + \\ENQ\ENQ\a\STX2\SOH\DC2\EOT\157\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX2\STX\DC2\EOT\252\ENQ\v\r\n\ + \\ENQ\ENQ\a\STX2\STX\DC2\EOT\157\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\ACK\STX3\DC2\EOT\253\ENQ\STX\DC1\n\ + \\EOT\ENQ\a\STX3\DC2\EOT\158\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX3\SOH\DC2\EOT\253\ENQ\STX\n\ + \\ENQ\ENQ\a\STX3\SOH\DC2\EOT\158\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX3\STX\DC2\EOT\253\ENQ\r\DLE\n\ + \\ENQ\ENQ\a\STX3\STX\DC2\EOT\158\ACK\r\DLE\n\ \\f\n\ - \\EOT\ENQ\ACK\STX4\DC2\EOT\254\ENQ\STX\r\n\ + \\EOT\ENQ\a\STX4\DC2\EOT\159\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX4\SOH\DC2\EOT\254\ENQ\STX\b\n\ + \\ENQ\ENQ\a\STX4\SOH\DC2\EOT\159\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX4\STX\DC2\EOT\254\ENQ\v\f\n\ + \\ENQ\ENQ\a\STX4\STX\DC2\EOT\159\ACK\v\f\n\ \\f\n\ - \\EOT\ENQ\ACK\STX5\DC2\EOT\255\ENQ\STX\r\n\ + \\EOT\ENQ\a\STX5\DC2\EOT\160\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX5\SOH\DC2\EOT\255\ENQ\STX\a\n\ + \\ENQ\ENQ\a\STX5\SOH\DC2\EOT\160\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX5\STX\DC2\EOT\255\ENQ\n\ + \\ENQ\ENQ\a\STX5\STX\DC2\EOT\160\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\ACK\STX6\DC2\EOT\128\ACK\STX\f\n\ + \\EOT\ENQ\a\STX6\DC2\EOT\161\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX6\SOH\DC2\EOT\128\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX6\SOH\DC2\EOT\161\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX6\STX\DC2\EOT\128\ACK\t\v\n\ + \\ENQ\ENQ\a\STX6\STX\DC2\EOT\161\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STX7\DC2\EOT\129\ACK\STX\f\n\ + \\EOT\ENQ\a\STX7\DC2\EOT\162\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX7\SOH\DC2\EOT\129\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX7\SOH\DC2\EOT\162\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX7\STX\DC2\EOT\129\ACK\t\v\n\ + \\ENQ\ENQ\a\STX7\STX\DC2\EOT\162\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STX8\DC2\EOT\130\ACK\STX\v\n\ + \\EOT\ENQ\a\STX8\DC2\EOT\163\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX8\SOH\DC2\EOT\130\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX8\SOH\DC2\EOT\163\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX8\STX\DC2\EOT\130\ACK\b\n\ + \\ENQ\ENQ\a\STX8\STX\DC2\EOT\163\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STX9\DC2\EOT\131\ACK\STX\r\n\ + \\EOT\ENQ\a\STX9\DC2\EOT\164\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX9\SOH\DC2\EOT\131\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX9\SOH\DC2\EOT\164\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX9\STX\DC2\EOT\131\ACK\t\f\n\ + \\ENQ\ENQ\a\STX9\STX\DC2\EOT\164\ACK\t\f\n\ \\f\n\ - \\EOT\ENQ\ACK\STX:\DC2\EOT\132\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STX:\DC2\EOT\165\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX:\SOH\DC2\EOT\132\ACK\STX\n\ + \\ENQ\ENQ\a\STX:\SOH\DC2\EOT\165\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX:\STX\DC2\EOT\132\ACK\r\SI\n\ + \\ENQ\ENQ\a\STX:\STX\DC2\EOT\165\ACK\r\SI\n\ \\f\n\ - \\EOT\ENQ\ACK\STX;\DC2\EOT\133\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STX;\DC2\EOT\166\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX;\SOH\DC2\EOT\133\ACK\STX\n\ + \\ENQ\ENQ\a\STX;\SOH\DC2\EOT\166\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX;\STX\DC2\EOT\133\ACK\r\SI\n\ + \\ENQ\ENQ\a\STX;\STX\DC2\EOT\166\ACK\r\SI\n\ \\f\n\ - \\EOT\ENQ\ACK\STX<\DC2\EOT\134\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX<\DC2\EOT\167\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX<\SOH\DC2\EOT\134\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX<\SOH\DC2\EOT\167\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX<\STX\DC2\EOT\134\ACK\v\r\n\ + \\ENQ\ENQ\a\STX<\STX\DC2\EOT\167\ACK\v\r\n\ \(\n\ - \\EOT\ENQ\ACK\STX=\DC2\EOT\135\ACK\STX\SI\"\SUB https://nickel-lang.org/\n\ + \\EOT\ENQ\a\STX=\DC2\EOT\168\ACK\STX\SI\"\SUB https://nickel-lang.org/\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX=\SOH\DC2\EOT\135\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX=\SOH\DC2\EOT\168\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX=\STX\DC2\EOT\135\ACK\v\SO\n\ + \\ENQ\ENQ\a\STX=\STX\DC2\EOT\168\ACK\v\SO\n\ \\f\n\ - \\EOT\ENQ\ACK\STX>\DC2\EOT\136\ACK\STX\v\n\ + \\EOT\ENQ\a\STX>\DC2\EOT\169\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX>\SOH\DC2\EOT\136\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX>\SOH\DC2\EOT\169\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX>\STX\DC2\EOT\136\ACK\b\n\ + \\ENQ\ENQ\a\STX>\STX\DC2\EOT\169\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STX?\DC2\EOT\137\ACK\STX\r\n\ + \\EOT\ENQ\a\STX?\DC2\EOT\170\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX?\SOH\DC2\EOT\137\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX?\SOH\DC2\EOT\170\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX?\STX\DC2\EOT\137\ACK\n\ + \\ENQ\ENQ\a\STX?\STX\DC2\EOT\170\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\ACK\STX@\DC2\EOT\138\ACK\STX\DC3\n\ + \\EOT\ENQ\a\STX@\DC2\EOT\171\ACK\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX@\SOH\DC2\EOT\138\ACK\STX\r\n\ + \\ENQ\ENQ\a\STX@\SOH\DC2\EOT\171\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX@\STX\DC2\EOT\138\ACK\DLE\DC2\n\ + \\ENQ\ENQ\a\STX@\STX\DC2\EOT\171\ACK\DLE\DC2\n\ \\f\n\ - \\EOT\ENQ\ACK\STXA\DC2\EOT\139\ACK\STX\NAK\n\ + \\EOT\ENQ\a\STXA\DC2\EOT\172\ACK\STX\NAK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXA\SOH\DC2\EOT\139\ACK\STX\SI\n\ + \\ENQ\ENQ\a\STXA\SOH\DC2\EOT\172\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXA\STX\DC2\EOT\139\ACK\DC2\DC4\n\ + \\ENQ\ENQ\a\STXA\STX\DC2\EOT\172\ACK\DC2\DC4\n\ \\f\n\ - \\EOT\ENQ\ACK\STXB\DC2\EOT\140\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXB\DC2\EOT\173\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXB\SOH\DC2\EOT\140\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXB\SOH\DC2\EOT\173\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXB\STX\DC2\EOT\140\ACK\v\r\n\ + \\ENQ\ENQ\a\STXB\STX\DC2\EOT\173\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\ACK\STXC\DC2\EOT\141\ACK\STX\v\n\ + \\EOT\ENQ\a\STXC\DC2\EOT\174\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXC\SOH\DC2\EOT\141\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXC\SOH\DC2\EOT\174\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXC\STX\DC2\EOT\141\ACK\b\n\ + \\ENQ\ENQ\a\STXC\STX\DC2\EOT\174\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STXD\DC2\EOT\142\ACK\STX\r\n\ + \\EOT\ENQ\a\STXD\DC2\EOT\175\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXD\SOH\DC2\EOT\142\ACK\STX\a\n\ + \\ENQ\ENQ\a\STXD\SOH\DC2\EOT\175\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXD\STX\DC2\EOT\142\ACK\n\ + \\ENQ\ENQ\a\STXD\STX\DC2\EOT\175\ACK\n\ \\f\n\ \\f\n\ - \\EOT\ENQ\ACK\STXE\DC2\EOT\143\ACK\STX\f\n\ + \\EOT\ENQ\a\STXE\DC2\EOT\176\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXE\SOH\DC2\EOT\143\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXE\SOH\DC2\EOT\176\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXE\STX\DC2\EOT\143\ACK\t\v\n\ + \\ENQ\ENQ\a\STXE\STX\DC2\EOT\176\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STXF\DC2\EOT\144\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STXF\DC2\EOT\177\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXF\SOH\DC2\EOT\144\ACK\STX\f\n\ + \\ENQ\ENQ\a\STXF\SOH\DC2\EOT\177\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXF\STX\DC2\EOT\144\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STXF\STX\DC2\EOT\177\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\ACK\STXG\DC2\EOT\145\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXG\DC2\EOT\178\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXG\SOH\DC2\EOT\145\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXG\SOH\DC2\EOT\178\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXG\STX\DC2\EOT\145\ACK\v\r\n\ + \\ENQ\ENQ\a\STXG\STX\DC2\EOT\178\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\ACK\STXH\DC2\EOT\146\ACK\STX\DC1\n\ + \\EOT\ENQ\a\STXH\DC2\EOT\179\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXH\SOH\DC2\EOT\146\ACK\STX\n\ + \\ENQ\ENQ\a\STXH\SOH\DC2\EOT\179\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXH\STX\DC2\EOT\146\ACK\r\DLE\n\ + \\ENQ\ENQ\a\STXH\STX\DC2\EOT\179\ACK\r\DLE\n\ \\f\n\ - \\EOT\ENQ\ACK\STXI\DC2\EOT\147\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXI\DC2\EOT\180\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXI\SOH\DC2\EOT\147\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXI\SOH\DC2\EOT\180\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXI\STX\DC2\EOT\147\ACK\v\r\n\ + \\ENQ\ENQ\a\STXI\STX\DC2\EOT\180\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\ACK\STXJ\DC2\EOT\148\ACK\STX\t\n\ + \\EOT\ENQ\a\STXJ\DC2\EOT\181\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXJ\SOH\DC2\EOT\148\ACK\STX\ETX\n\ + \\ENQ\ENQ\a\STXJ\SOH\DC2\EOT\181\ACK\STX\ETX\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXJ\STX\DC2\EOT\148\ACK\ACK\b\n\ + \\ENQ\ENQ\a\STXJ\STX\DC2\EOT\181\ACK\ACK\b\n\ \\f\n\ - \\EOT\ENQ\ACK\STXK\DC2\EOT\149\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXK\DC2\EOT\182\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXK\SOH\DC2\EOT\149\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXK\SOH\DC2\EOT\182\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXK\STX\DC2\EOT\149\ACK\v\r\n\ + \\ENQ\ENQ\a\STXK\STX\DC2\EOT\182\ACK\v\r\n\ \\f\n\ - \\EOT\ENQ\ACK\STXL\DC2\EOT\150\ACK\STX\f\n\ + \\EOT\ENQ\a\STXL\DC2\EOT\183\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXL\SOH\DC2\EOT\150\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXL\SOH\DC2\EOT\183\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXL\STX\DC2\EOT\150\ACK\t\v\n\ + \\ENQ\ENQ\a\STXL\STX\DC2\EOT\183\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STXM\DC2\EOT\151\ACK\STX\r\n\ + \\EOT\ENQ\a\STXM\DC2\EOT\184\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXM\SOH\DC2\EOT\151\ACK\STX\a\n\ + \\ENQ\ENQ\a\STXM\SOH\DC2\EOT\184\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXM\STX\DC2\EOT\151\ACK\n\ + \\ENQ\ENQ\a\STXM\STX\DC2\EOT\184\ACK\n\ \\f\n\ \2\n\ - \\EOT\ENQ\ACK\STXN\DC2\EOT\152\ACK\STX\SO\"$ Internal language for testing SCIP\n\ + \\EOT\ENQ\a\STXN\DC2\EOT\185\ACK\STX\SO\"$ Internal language for testing SCIP\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXN\SOH\DC2\EOT\152\ACK\STX\a\n\ + \\ENQ\ENQ\a\STXN\SOH\DC2\EOT\185\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXN\STX\DC2\EOT\152\ACK\n\ + \\ENQ\ENQ\a\STXN\STX\DC2\EOT\185\ACK\n\ \\r\n\ \\f\n\ - \\EOT\ENQ\ACK\STXO\DC2\EOT\153\ACK\STX\f\n\ + \\EOT\ENQ\a\STXO\DC2\EOT\186\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXO\SOH\DC2\EOT\153\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXO\SOH\DC2\EOT\186\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXO\STX\DC2\EOT\153\ACK\t\v\n\ + \\ENQ\ENQ\a\STXO\STX\DC2\EOT\186\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STXP\DC2\EOT\154\ACK\STX\f\n\ + \\EOT\ENQ\a\STXP\DC2\EOT\187\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXP\SOH\DC2\EOT\154\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXP\SOH\DC2\EOT\187\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXP\STX\DC2\EOT\154\ACK\t\v\n\ + \\ENQ\ENQ\a\STXP\STX\DC2\EOT\187\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STXQ\DC2\EOT\155\ACK\STX\f\n\ + \\EOT\ENQ\a\STXQ\DC2\EOT\188\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXQ\SOH\DC2\EOT\155\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXQ\SOH\DC2\EOT\188\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXQ\STX\DC2\EOT\155\ACK\t\v\n\ + \\ENQ\ENQ\a\STXQ\STX\DC2\EOT\188\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STXR\DC2\EOT\156\ACK\STX\v\n\ + \\EOT\ENQ\a\STXR\DC2\EOT\189\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXR\SOH\DC2\EOT\156\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXR\SOH\DC2\EOT\189\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXR\STX\DC2\EOT\156\ACK\b\n\ + \\ENQ\ENQ\a\STXR\STX\DC2\EOT\189\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STXS\DC2\EOT\157\ACK\STX\f\n\ + \\EOT\ENQ\a\STXS\DC2\EOT\190\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXS\SOH\DC2\EOT\157\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXS\SOH\DC2\EOT\190\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXS\STX\DC2\EOT\157\ACK\t\v\n\ + \\ENQ\ENQ\a\STXS\STX\DC2\EOT\190\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STXT\DC2\EOT\158\ACK\STX\v\n\ + \\EOT\ENQ\a\STXT\DC2\EOT\191\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXT\SOH\DC2\EOT\158\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXT\SOH\DC2\EOT\191\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXT\STX\DC2\EOT\158\ACK\b\n\ + \\ENQ\ENQ\a\STXT\STX\DC2\EOT\191\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STXU\DC2\EOT\159\ACK\STX\v\n\ + \\EOT\ENQ\a\STXU\DC2\EOT\192\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXU\SOH\DC2\EOT\159\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXU\SOH\DC2\EOT\192\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXU\STX\DC2\EOT\159\ACK\b\n\ + \\ENQ\ENQ\a\STXU\STX\DC2\EOT\192\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STXV\DC2\EOT\160\ACK\STX\f\n\ + \\EOT\ENQ\a\STXV\DC2\EOT\193\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXV\SOH\DC2\EOT\160\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXV\SOH\DC2\EOT\193\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXV\STX\DC2\EOT\160\ACK\t\v\n\ + \\ENQ\ENQ\a\STXV\STX\DC2\EOT\193\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STXW\DC2\EOT\161\ACK\STX\f\n\ + \\EOT\ENQ\a\STXW\DC2\EOT\194\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXW\SOH\DC2\EOT\161\ACK\STX\a\n\ + \\ENQ\ENQ\a\STXW\SOH\DC2\EOT\194\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXW\STX\DC2\EOT\161\ACK\n\ + \\ENQ\ENQ\a\STXW\STX\DC2\EOT\194\ACK\n\ \\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STXX\DC2\EOT\162\ACK\STX\SO\n\ + \\EOT\ENQ\a\STXX\DC2\EOT\195\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXX\SOH\DC2\EOT\162\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXX\SOH\DC2\EOT\195\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXX\STX\DC2\EOT\162\ACK\v\r\n\ + \\ENQ\ENQ\a\STXX\STX\DC2\EOT\195\ACK\v\r\n\ \\DC4\n\ - \\EOT\ENQ\ACK\STXY\DC2\EOT\163\ACK\STX\DC3\"\ACK Bash\n\ + \\EOT\ENQ\a\STXY\DC2\EOT\196\ACK\STX\DC3\"\ACK Bash\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXY\SOH\DC2\EOT\163\ACK\STX\r\n\ + \\ENQ\ENQ\a\STXY\SOH\DC2\EOT\196\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXY\STX\DC2\EOT\163\ACK\DLE\DC2\n\ + \\ENQ\ENQ\a\STXY\STX\DC2\EOT\196\ACK\DLE\DC2\n\ \\f\n\ - \\EOT\ENQ\ACK\STXZ\DC2\EOT\164\ACK\STX\SI\n\ + \\EOT\ENQ\a\STXZ\DC2\EOT\197\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXZ\SOH\DC2\EOT\164\ACK\STX\t\n\ + \\ENQ\ENQ\a\STXZ\SOH\DC2\EOT\197\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXZ\STX\DC2\EOT\164\ACK\f\SO\n\ + \\ENQ\ENQ\a\STXZ\STX\DC2\EOT\197\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\ACK\STX[\DC2\EOT\165\ACK\STX\SO\n\ + \\EOT\ENQ\a\STX[\DC2\EOT\198\ACK\STX\SO\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX[\SOH\DC2\EOT\165\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX[\SOH\DC2\EOT\198\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX[\STX\DC2\EOT\165\ACK\n\ + \\ENQ\ENQ\a\STX[\STX\DC2\EOT\198\ACK\n\ \\r\n\ \\f\n\ - \\EOT\ENQ\ACK\STX\\\DC2\EOT\166\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STX\\\DC2\EOT\199\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\\\SOH\DC2\EOT\166\ACK\STX\n\ + \\ENQ\ENQ\a\STX\\\SOH\DC2\EOT\199\ACK\STX\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX\\\STX\DC2\EOT\166\ACK\r\SI\n\ + \\ENQ\ENQ\a\STX\\\STX\DC2\EOT\199\ACK\r\SI\n\ \\f\n\ - \\EOT\ENQ\ACK\STX]\DC2\EOT\167\ACK\STX\SI\n\ + \\EOT\ENQ\a\STX]\DC2\EOT\200\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX]\SOH\DC2\EOT\167\ACK\STX\b\n\ + \\ENQ\ENQ\a\STX]\SOH\DC2\EOT\200\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX]\STX\DC2\EOT\167\ACK\v\SO\n\ + \\ENQ\ENQ\a\STX]\STX\DC2\EOT\200\ACK\v\SO\n\ \\f\n\ - \\EOT\ENQ\ACK\STX^\DC2\EOT\168\ACK\STX\f\n\ + \\EOT\ENQ\a\STX^\DC2\EOT\201\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX^\SOH\DC2\EOT\168\ACK\STX\a\n\ + \\ENQ\ENQ\a\STX^\SOH\DC2\EOT\201\ACK\STX\a\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX^\STX\DC2\EOT\168\ACK\n\ + \\ENQ\ENQ\a\STX^\STX\DC2\EOT\201\ACK\n\ \\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STX_\DC2\EOT\169\ACK\STX\f\n\ + \\EOT\ENQ\a\STX_\DC2\EOT\202\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX_\SOH\DC2\EOT\169\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STX_\SOH\DC2\EOT\202\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX_\STX\DC2\EOT\169\ACK\b\v\n\ + \\ENQ\ENQ\a\STX_\STX\DC2\EOT\202\ACK\b\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STX`\DC2\EOT\170\ACK\STX\f\n\ + \\EOT\ENQ\a\STX`\DC2\EOT\203\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX`\SOH\DC2\EOT\170\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STX`\SOH\DC2\EOT\203\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STX`\STX\DC2\EOT\170\ACK\t\v\n\ + \\ENQ\ENQ\a\STX`\STX\DC2\EOT\203\ACK\t\v\n\ \\f\n\ - \\EOT\ENQ\ACK\STXa\DC2\EOT\171\ACK\STX\v\n\ + \\EOT\ENQ\a\STXa\DC2\EOT\204\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXa\SOH\DC2\EOT\171\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXa\SOH\DC2\EOT\204\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXa\STX\DC2\EOT\171\ACK\b\n\ + \\ENQ\ENQ\a\STXa\STX\DC2\EOT\204\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STXb\DC2\EOT\172\ACK\STX\SI\n\ + \\EOT\ENQ\a\STXb\DC2\EOT\205\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXb\SOH\DC2\EOT\172\ACK\STX\b\n\ + \\ENQ\ENQ\a\STXb\SOH\DC2\EOT\205\ACK\STX\b\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXb\STX\DC2\EOT\172\ACK\v\SO\n\ + \\ENQ\ENQ\a\STXb\STX\DC2\EOT\205\ACK\v\SO\n\ \\f\n\ - \\EOT\ENQ\ACK\STXc\DC2\EOT\173\ACK\STX\DC2\n\ + \\EOT\ENQ\a\STXc\DC2\EOT\206\ACK\STX\DC2\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXc\SOH\DC2\EOT\173\ACK\STX\f\n\ + \\ENQ\ENQ\a\STXc\SOH\DC2\EOT\206\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXc\STX\DC2\EOT\173\ACK\SI\DC1\n\ + \\ENQ\ENQ\a\STXc\STX\DC2\EOT\206\ACK\SI\DC1\n\ \\f\n\ - \\EOT\ENQ\ACK\STXd\DC2\EOT\174\ACK\STX\ETB\n\ + \\EOT\ENQ\a\STXd\DC2\EOT\207\ACK\STX\ETB\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXd\SOH\DC2\EOT\174\ACK\STX\DC1\n\ + \\ENQ\ENQ\a\STXd\SOH\DC2\EOT\207\ACK\STX\DC1\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXd\STX\DC2\EOT\174\ACK\DC4\SYN\n\ + \\ENQ\ENQ\a\STXd\STX\DC2\EOT\207\ACK\DC4\SYN\n\ \\f\n\ - \\EOT\ENQ\ACK\STXe\DC2\EOT\175\ACK\STX\DLE\n\ + \\EOT\ENQ\a\STXe\DC2\EOT\208\ACK\STX\DLE\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXe\SOH\DC2\EOT\175\ACK\STX\t\n\ + \\ENQ\ENQ\a\STXe\SOH\DC2\EOT\208\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXe\STX\DC2\EOT\175\ACK\f\SI\n\ + \\ENQ\ENQ\a\STXe\STX\DC2\EOT\208\ACK\f\SI\n\ \\f\n\ - \\EOT\ENQ\ACK\STXf\DC2\EOT\176\ACK\STX\r\n\ + \\EOT\ENQ\a\STXf\DC2\EOT\209\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXf\SOH\DC2\EOT\176\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXf\SOH\DC2\EOT\209\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXf\STX\DC2\EOT\176\ACK\t\f\n\ + \\ENQ\ENQ\a\STXf\STX\DC2\EOT\209\ACK\t\f\n\ \\f\n\ - \\EOT\ENQ\ACK\STXg\DC2\EOT\177\ACK\STX\DC3\n\ + \\EOT\ENQ\a\STXg\DC2\EOT\210\ACK\STX\DC3\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXg\SOH\DC2\EOT\177\ACK\STX\r\n\ + \\ENQ\ENQ\a\STXg\SOH\DC2\EOT\210\ACK\STX\r\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXg\STX\DC2\EOT\177\ACK\DLE\DC2\n\ + \\ENQ\ENQ\a\STXg\STX\DC2\EOT\210\ACK\DLE\DC2\n\ \\f\n\ - \\EOT\ENQ\ACK\STXh\DC2\EOT\178\ACK\STX\v\n\ + \\EOT\ENQ\a\STXh\DC2\EOT\211\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXh\SOH\DC2\EOT\178\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXh\SOH\DC2\EOT\211\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXh\STX\DC2\EOT\178\ACK\b\n\ + \\ENQ\ENQ\a\STXh\STX\DC2\EOT\211\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STXi\DC2\EOT\179\ACK\STX\SI\n\ + \\EOT\ENQ\a\STXi\DC2\EOT\212\ACK\STX\SI\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXi\SOH\DC2\EOT\179\ACK\STX\t\n\ + \\ENQ\ENQ\a\STXi\SOH\DC2\EOT\212\ACK\STX\t\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXi\STX\DC2\EOT\179\ACK\f\SO\n\ + \\ENQ\ENQ\a\STXi\STX\DC2\EOT\212\ACK\f\SO\n\ \\f\n\ - \\EOT\ENQ\ACK\STXj\DC2\EOT\180\ACK\STX\v\n\ + \\EOT\ENQ\a\STXj\DC2\EOT\213\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXj\SOH\DC2\EOT\180\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXj\SOH\DC2\EOT\213\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXj\STX\DC2\EOT\180\ACK\b\n\ + \\ENQ\ENQ\a\STXj\STX\DC2\EOT\213\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STXk\DC2\EOT\181\ACK\STX\v\n\ + \\EOT\ENQ\a\STXk\DC2\EOT\214\ACK\STX\v\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXk\SOH\DC2\EOT\181\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXk\SOH\DC2\EOT\214\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXk\STX\DC2\EOT\181\ACK\b\n\ + \\ENQ\ENQ\a\STXk\STX\DC2\EOT\214\ACK\b\n\ \\n\ \\f\n\ - \\EOT\ENQ\ACK\STXl\DC2\EOT\182\ACK\STX\f\n\ + \\EOT\ENQ\a\STXl\DC2\EOT\215\ACK\STX\f\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXl\SOH\DC2\EOT\182\ACK\STX\ACK\n\ + \\ENQ\ENQ\a\STXl\SOH\DC2\EOT\215\ACK\STX\ACK\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXl\STX\DC2\EOT\182\ACK\t\v\n\ + \\ENQ\ENQ\a\STXl\STX\DC2\EOT\215\ACK\t\v\n\ \\147\ETX\n\ - \\EOT\ENQ\ACK\STXm\DC2\EOT\183\ACK\STX\v\"\132\ETX NextLanguage = 111;\n\ + \\EOT\ENQ\a\STXm\DC2\EOT\216\ACK\STX\v\"\132\ETX NextLanguage = 111;\n\ \ Steps add a new language:\n\ \ 1. Copy-paste the \"NextLanguage = N\" line above\n\ \ 2. Increment \"NextLanguage = N\" to \"NextLanguage = N+1\"\n\ @@ -9022,7 +9230,7 @@ packedFileDescriptor \ 5. (optional) Add a brief comment behind the language if the name is not self-explanatory\n\ \\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXm\SOH\DC2\EOT\183\ACK\STX\ENQ\n\ + \\ENQ\ENQ\a\STXm\SOH\DC2\EOT\216\ACK\STX\ENQ\n\ \\r\n\ - \\ENQ\ENQ\ACK\STXm\STX\DC2\EOT\183\ACK\b\n\ + \\ENQ\ENQ\a\STXm\STX\DC2\EOT\216\ACK\b\n\ \b\ACKproto3" \ No newline at end of file diff --git a/bindings/haskell/src/Proto/Scip_Fields.hs b/bindings/haskell/src/Proto/Scip_Fields.hs index 5ea70fea..55dd2079 100644 --- a/bindings/haskell/src/Proto/Scip_Fields.hs +++ b/bindings/haskell/src/Proto/Scip_Fields.hs @@ -191,6 +191,12 @@ package :: (Prelude.Functor f, Data.ProtoLens.Field.HasField s "package" a) => Lens.Family2.LensLike' f s a package = Data.ProtoLens.Field.field @"package" +positionEncoding :: + forall f s a. + (Prelude.Functor f, + Data.ProtoLens.Field.HasField s "positionEncoding" a) => + Lens.Family2.LensLike' f s a +positionEncoding = Data.ProtoLens.Field.field @"positionEncoding" projectRoot :: forall f s a. (Prelude.Functor f, diff --git a/bindings/rust/src/generated/scip.rs b/bindings/rust/src/generated/scip.rs index c2508421..9eaa598a 100644 --- a/bindings/rust/src/generated/scip.rs +++ b/bindings/rust/src/generated/scip.rs @@ -215,7 +215,8 @@ pub struct Metadata { // @@protoc_insertion_point(field:scip.Metadata.project_root) pub project_root: ::std::string::String, /// Text encoding of the source files on disk that are referenced from - /// `Document.relative_path`. + /// `Document.relative_path`. This value is unrelated to the `Document.text` + /// field, which is a Protobuf string and hence must be UTF-8 encoded. // @@protoc_insertion_point(field:scip.Metadata.text_document_encoding) pub text_document_encoding: ::protobuf::EnumOrUnknown, // special fields @@ -576,6 +577,9 @@ pub struct Document { /// with virtual/in-memory documents. // @@protoc_insertion_point(field:scip.Document.text) pub text: ::std::string::String, + /// Specifies the encoding used for source ranges in this Document. + // @@protoc_insertion_point(field:scip.Document.position_encoding) + pub position_encoding: ::protobuf::EnumOrUnknown, // special fields // @@protoc_insertion_point(special_field:scip.Document.special_fields) pub special_fields: ::protobuf::SpecialFields, @@ -593,7 +597,7 @@ impl Document { } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { - let mut fields = ::std::vec::Vec::with_capacity(5); + let mut fields = ::std::vec::Vec::with_capacity(6); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>( "language", @@ -620,6 +624,11 @@ impl Document { |m: &Document| { &m.text }, |m: &mut Document| { &mut m.text }, )); + fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>( + "position_encoding", + |m: &Document| { &m.position_encoding }, + |m: &mut Document| { &mut m.position_encoding }, + )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "Document", fields, @@ -653,6 +662,9 @@ impl ::protobuf::Message for Document { 42 => { self.text = is.read_string()?; }, + 48 => { + self.position_encoding = is.read_enum_or_unknown()?; + }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, @@ -682,6 +694,9 @@ impl ::protobuf::Message for Document { if !self.text.is_empty() { my_size += ::protobuf::rt::string_size(5, &self.text); } + if self.position_encoding != ::protobuf::EnumOrUnknown::new(PositionEncoding::UnspecifiedPositionEncoding) { + my_size += ::protobuf::rt::int32_size(6, self.position_encoding.value()); + } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size @@ -703,6 +718,9 @@ impl ::protobuf::Message for Document { if !self.text.is_empty() { os.write_string(5, &self.text)?; } + if self.position_encoding != ::protobuf::EnumOrUnknown::new(PositionEncoding::UnspecifiedPositionEncoding) { + os.write_enum(6, ::protobuf::EnumOrUnknown::value(&self.position_encoding))?; + } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } @@ -725,6 +743,7 @@ impl ::protobuf::Message for Document { self.occurrences.clear(); self.symbols.clear(); self.text.clear(); + self.position_encoding = ::protobuf::EnumOrUnknown::new(PositionEncoding::UnspecifiedPositionEncoding); self.special_fields.clear(); } @@ -735,6 +754,7 @@ impl ::protobuf::Message for Document { occurrences: ::std::vec::Vec::new(), symbols: ::std::vec::Vec::new(), text: ::std::string::String::new(), + position_encoding: ::protobuf::EnumOrUnknown::from_i32(0), special_fields: ::protobuf::SpecialFields::new(), }; &instance @@ -2403,6 +2423,9 @@ pub struct Occurrence { /// line/character values before displaying them in an editor-like UI because /// editors conventionally use 1-based numbers. /// + /// The 'character' value is interpreted based on the PositionEncoding for + /// the Document. + /// /// Historical note: the original draft of this schema had a `Range` message /// type with `start` and `end` fields of type `Position`, mirroring LSP. /// Benchmarks revealed that this encoding was inefficient and that we could @@ -2969,6 +2992,69 @@ impl TextEncoding { } } +/// Encoding used to interpret the 'character' value in source ranges. +#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)] +// @@protoc_insertion_point(enum:scip.PositionEncoding) +pub enum PositionEncoding { + // @@protoc_insertion_point(enum_value:scip.PositionEncoding.UnspecifiedPositionEncoding) + UnspecifiedPositionEncoding = 0, + // @@protoc_insertion_point(enum_value:scip.PositionEncoding.UTF8ByteOffsetFromLineStart) + UTF8ByteOffsetFromLineStart = 1, + // @@protoc_insertion_point(enum_value:scip.PositionEncoding.UTF8CodeUnitOffsetFromLineStart) + UTF8CodeUnitOffsetFromLineStart = 2, + // @@protoc_insertion_point(enum_value:scip.PositionEncoding.UTF16CodeUnitOffsetFromLineStart) + UTF16CodeUnitOffsetFromLineStart = 3, +} + +impl ::protobuf::Enum for PositionEncoding { + const NAME: &'static str = "PositionEncoding"; + + fn value(&self) -> i32 { + *self as i32 + } + + fn from_i32(value: i32) -> ::std::option::Option { + match value { + 0 => ::std::option::Option::Some(PositionEncoding::UnspecifiedPositionEncoding), + 1 => ::std::option::Option::Some(PositionEncoding::UTF8ByteOffsetFromLineStart), + 2 => ::std::option::Option::Some(PositionEncoding::UTF8CodeUnitOffsetFromLineStart), + 3 => ::std::option::Option::Some(PositionEncoding::UTF16CodeUnitOffsetFromLineStart), + _ => ::std::option::Option::None + } + } + + const VALUES: &'static [PositionEncoding] = &[ + PositionEncoding::UnspecifiedPositionEncoding, + PositionEncoding::UTF8ByteOffsetFromLineStart, + PositionEncoding::UTF8CodeUnitOffsetFromLineStart, + PositionEncoding::UTF16CodeUnitOffsetFromLineStart, + ]; +} + +impl ::protobuf::EnumFull for PositionEncoding { + fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor { + static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new(); + descriptor.get(|| file_descriptor().enum_by_package_relative_name("PositionEncoding").unwrap()).clone() + } + + fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor { + let index = *self as usize; + Self::enum_descriptor().value_by_index(index) + } +} + +impl ::std::default::Default for PositionEncoding { + fn default() -> Self { + PositionEncoding::UnspecifiedPositionEncoding + } +} + +impl PositionEncoding { + fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData { + ::protobuf::reflect::GeneratedEnumDescriptorData::new::("PositionEncoding") + } +} + /// SymbolRole declares what "role" a symbol has in an occurrence. A role is /// encoded as a bitset where each bit represents a different role. For example, /// to determine if the `Import` role is set, test whether the second bit of the @@ -4093,788 +4179,829 @@ static file_descriptor_proto_data: &'static [u8] = b"\ 2\x12.scip.TextEncodingR\x14textDocumentEncoding\"V\n\x08ToolInfo\x12\ \x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x18\n\x07version\x18\x02\ \x20\x01(\tR\x07version\x12\x1c\n\targuments\x18\x03\x20\x03(\tR\targume\ - nts\"\xc6\x01\n\x08Document\x12\x1a\n\x08language\x18\x04\x20\x01(\tR\ + nts\"\x8b\x02\n\x08Document\x12\x1a\n\x08language\x18\x04\x20\x01(\tR\ \x08language\x12#\n\rrelative_path\x18\x01\x20\x01(\tR\x0crelativePath\ \x122\n\x0boccurrences\x18\x02\x20\x03(\x0b2\x10.scip.OccurrenceR\x0bocc\ urrences\x121\n\x07symbols\x18\x03\x20\x03(\x0b2\x17.scip.SymbolInformat\ - ionR\x07symbols\x12\x12\n\x04text\x18\x05\x20\x01(\tR\x04text\"}\n\x06Sy\ - mbol\x12\x16\n\x06scheme\x18\x01\x20\x01(\tR\x06scheme\x12'\n\x07package\ - \x18\x02\x20\x01(\x0b2\r.scip.PackageR\x07package\x122\n\x0bdescriptors\ - \x18\x03\x20\x03(\x0b2\x10.scip.DescriptorR\x0bdescriptors\"Q\n\x07Packa\ - ge\x12\x18\n\x07manager\x18\x01\x20\x01(\tR\x07manager\x12\x12\n\x04name\ - \x18\x02\x20\x01(\tR\x04name\x12\x18\n\x07version\x18\x03\x20\x01(\tR\ - \x07version\"\x9f\x02\n\nDescriptor\x12\x12\n\x04name\x18\x01\x20\x01(\t\ - R\x04name\x12$\n\rdisambiguator\x18\x02\x20\x01(\tR\rdisambiguator\x12/\ - \n\x06suffix\x18\x03\x20\x01(\x0e2\x17.scip.Descriptor.SuffixR\x06suffix\ - \"\xa5\x01\n\x06Suffix\x12\x15\n\x11UnspecifiedSuffix\x10\0\x12\r\n\tNam\ - espace\x10\x01\x12\x0f\n\x07Package\x10\x01\x1a\x02\x08\x01\x12\x08\n\ - \x04Type\x10\x02\x12\x08\n\x04Term\x10\x03\x12\n\n\x06Method\x10\x04\x12\ - \x11\n\rTypeParameter\x10\x05\x12\r\n\tParameter\x10\x06\x12\x08\n\x04Me\ - ta\x10\x07\x12\t\n\x05Local\x10\x08\x12\t\n\x05Macro\x10\t\x1a\x02\x10\ - \x01\"\xab\x0c\n\x11SymbolInformation\x12\x16\n\x06symbol\x18\x01\x20\ - \x01(\tR\x06symbol\x12$\n\rdocumentation\x18\x03\x20\x03(\tR\rdocumentat\ - ion\x128\n\rrelationships\x18\x04\x20\x03(\x0b2\x12.scip.RelationshipR\r\ - relationships\x120\n\x04kind\x18\x05\x20\x01(\x0e2\x1c.scip.SymbolInform\ - ation.KindR\x04kind\x12!\n\x0cdisplay_name\x18\x06\x20\x01(\tR\x0bdispla\ - yName\x12G\n\x17signature_documentation\x18\x07\x20\x01(\x0b2\x0e.scip.D\ - ocumentR\x16signatureDocumentation\x12)\n\x10enclosing_symbol\x18\x08\ - \x20\x01(\tR\x0fenclosingSymbol\"\xd4\t\n\x04Kind\x12\x13\n\x0fUnspecifi\ - edKind\x10\0\x12\x12\n\x0eAbstractMethod\x10B\x12\x0c\n\x08Accessor\x10H\ - \x12\t\n\x05Array\x10\x01\x12\r\n\tAssertion\x10\x02\x12\x12\n\x0eAssoci\ - atedType\x10\x03\x12\r\n\tAttribute\x10\x04\x12\t\n\x05Axiom\x10\x05\x12\ - \x0b\n\x07Boolean\x10\x06\x12\t\n\x05Class\x10\x07\x12\x0c\n\x08Constant\ - \x10\x08\x12\x0f\n\x0bConstructor\x10\t\x12\x0c\n\x08Contract\x10>\x12\ - \x0e\n\nDataFamily\x10\n\x12\x0c\n\x08Delegate\x10I\x12\x08\n\x04Enum\ - \x10\x0b\x12\x0e\n\nEnumMember\x10\x0c\x12\t\n\x05Error\x10?\x12\t\n\x05\ - Event\x10\r\x12\x08\n\x04Fact\x10\x0e\x12\t\n\x05Field\x10\x0f\x12\x08\n\ - \x04File\x10\x10\x12\x0c\n\x08Function\x10\x11\x12\n\n\x06Getter\x10\x12\ - \x12\x0b\n\x07Grammar\x10\x13\x12\x0c\n\x08Instance\x10\x14\x12\r\n\tInt\ - erface\x10\x15\x12\x07\n\x03Key\x10\x16\x12\x08\n\x04Lang\x10\x17\x12\t\ - \n\x05Lemma\x10\x18\x12\x0b\n\x07Library\x10@\x12\t\n\x05Macro\x10\x19\ - \x12\n\n\x06Method\x10\x1a\x12\x0f\n\x0bMethodAlias\x10J\x12\x12\n\x0eMe\ - thodReceiver\x10\x1b\x12\x17\n\x13MethodSpecification\x10C\x12\x0b\n\x07\ - Message\x10\x1c\x12\x0c\n\x08Modifier\x10A\x12\n\n\x06Module\x10\x1d\x12\ - \r\n\tNamespace\x10\x1e\x12\x08\n\x04Null\x10\x1f\x12\n\n\x06Number\x10\ - \x20\x12\n\n\x06Object\x10!\x12\x0c\n\x08Operator\x10\"\x12\x0b\n\x07Pac\ - kage\x10#\x12\x11\n\rPackageObject\x10$\x12\r\n\tParameter\x10%\x12\x12\ - \n\x0eParameterLabel\x10&\x12\x0b\n\x07Pattern\x10'\x12\r\n\tPredicate\ - \x10(\x12\x0c\n\x08Property\x10)\x12\x0c\n\x08Protocol\x10*\x12\x12\n\ - \x0eProtocolMethod\x10D\x12\x15\n\x11PureVirtualMethod\x10E\x12\x0f\n\ - \x0bQuasiquoter\x10+\x12\x11\n\rSelfParameter\x10,\x12\n\n\x06Setter\x10\ - -\x12\r\n\tSignature\x10.\x12\x12\n\x0eSingletonClass\x10K\x12\x13\n\x0f\ - SingletonMethod\x10L\x12\x14\n\x10StaticDataMember\x10M\x12\x0f\n\x0bSta\ - ticEvent\x10N\x12\x0f\n\x0bStaticField\x10O\x12\x10\n\x0cStaticMethod\ - \x10P\x12\x12\n\x0eStaticProperty\x10Q\x12\x12\n\x0eStaticVariable\x10R\ - \x12\n\n\x06String\x100\x12\n\n\x06Struct\x101\x12\r\n\tSubscript\x10/\ - \x12\n\n\x06Tactic\x102\x12\x0b\n\x07Theorem\x103\x12\x11\n\rThisParamet\ - er\x104\x12\t\n\x05Trait\x105\x12\x0f\n\x0bTraitMethod\x10F\x12\x08\n\ - \x04Type\x106\x12\r\n\tTypeAlias\x107\x12\r\n\tTypeClass\x108\x12\x13\n\ - \x0fTypeClassMethod\x10G\x12\x0e\n\nTypeFamily\x109\x12\x11\n\rTypeParam\ - eter\x10:\x12\t\n\x05Union\x10;\x12\t\n\x05Value\x10<\x12\x0c\n\x08Varia\ - ble\x10=\"\xc9\x01\n\x0cRelationship\x12\x16\n\x06symbol\x18\x01\x20\x01\ - (\tR\x06symbol\x12!\n\x0cis_reference\x18\x02\x20\x01(\x08R\x0bisReferen\ - ce\x12+\n\x11is_implementation\x18\x03\x20\x01(\x08R\x10isImplementation\ - \x12,\n\x12is_type_definition\x18\x04\x20\x01(\x08R\x10isTypeDefinition\ - \x12#\n\ris_definition\x18\x05\x20\x01(\x08R\x0cisDefinition\"\xa4\x02\n\ - \nOccurrence\x12\x14\n\x05range\x18\x01\x20\x03(\x05R\x05range\x12\x16\n\ - \x06symbol\x18\x02\x20\x01(\tR\x06symbol\x12!\n\x0csymbol_roles\x18\x03\ - \x20\x01(\x05R\x0bsymbolRoles\x125\n\x16override_documentation\x18\x04\ - \x20\x03(\tR\x15overrideDocumentation\x121\n\x0bsyntax_kind\x18\x05\x20\ - \x01(\x0e2\x10.scip.SyntaxKindR\nsyntaxKind\x122\n\x0bdiagnostics\x18\ - \x06\x20\x03(\x0b2\x10.scip.DiagnosticR\x0bdiagnostics\x12'\n\x0fenclosi\ - ng_range\x18\x07\x20\x03(\x05R\x0eenclosingRange\"\xa7\x01\n\nDiagnostic\ - \x12*\n\x08severity\x18\x01\x20\x01(\x0e2\x0e.scip.SeverityR\x08severity\ - \x12\x12\n\x04code\x18\x02\x20\x01(\tR\x04code\x12\x18\n\x07message\x18\ - \x03\x20\x01(\tR\x07message\x12\x16\n\x06source\x18\x04\x20\x01(\tR\x06s\ - ource\x12'\n\x04tags\x18\x05\x20\x03(\x0e2\x13.scip.DiagnosticTagR\x04ta\ - gs*1\n\x0fProtocolVersion\x12\x1e\n\x1aUnspecifiedProtocolVersion\x10\0*\ - @\n\x0cTextEncoding\x12\x1b\n\x17UnspecifiedTextEncoding\x10\0\x12\x08\n\ - \x04UTF8\x10\x01\x12\t\n\x05UTF16\x10\x02*\x94\x01\n\nSymbolRole\x12\x19\ - \n\x15UnspecifiedSymbolRole\x10\0\x12\x0e\n\nDefinition\x10\x01\x12\n\n\ - \x06Import\x10\x02\x12\x0f\n\x0bWriteAccess\x10\x04\x12\x0e\n\nReadAcces\ - s\x10\x08\x12\r\n\tGenerated\x10\x10\x12\x08\n\x04Test\x10\x20\x12\x15\n\ - \x11ForwardDefinition\x10@*\xea\x06\n\nSyntaxKind\x12\x19\n\x15Unspecifi\ - edSyntaxKind\x10\0\x12\x0b\n\x07Comment\x10\x01\x12\x18\n\x14Punctuation\ - Delimiter\x10\x02\x12\x16\n\x12PunctuationBracket\x10\x03\x12\x0b\n\x07K\ - eyword\x10\x04\x12\x19\n\x11IdentifierKeyword\x10\x04\x1a\x02\x08\x01\ - \x12\x16\n\x12IdentifierOperator\x10\x05\x12\x0e\n\nIdentifier\x10\x06\ - \x12\x15\n\x11IdentifierBuiltin\x10\x07\x12\x12\n\x0eIdentifierNull\x10\ - \x08\x12\x16\n\x12IdentifierConstant\x10\t\x12\x1b\n\x17IdentifierMutabl\ - eGlobal\x10\n\x12\x17\n\x13IdentifierParameter\x10\x0b\x12\x13\n\x0fIden\ - tifierLocal\x10\x0c\x12\x16\n\x12IdentifierShadowed\x10\r\x12\x17\n\x13I\ - dentifierNamespace\x10\x0e\x12\x18\n\x10IdentifierModule\x10\x0e\x1a\x02\ - \x08\x01\x12\x16\n\x12IdentifierFunction\x10\x0f\x12\x20\n\x1cIdentifier\ - FunctionDefinition\x10\x10\x12\x13\n\x0fIdentifierMacro\x10\x11\x12\x1d\ - \n\x19IdentifierMacroDefinition\x10\x12\x12\x12\n\x0eIdentifierType\x10\ - \x13\x12\x19\n\x15IdentifierBuiltinType\x10\x14\x12\x17\n\x13IdentifierA\ - ttribute\x10\x15\x12\x0f\n\x0bRegexEscape\x10\x16\x12\x11\n\rRegexRepeat\ - ed\x10\x17\x12\x11\n\rRegexWildcard\x10\x18\x12\x12\n\x0eRegexDelimiter\ - \x10\x19\x12\r\n\tRegexJoin\x10\x1a\x12\x11\n\rStringLiteral\x10\x1b\x12\ - \x17\n\x13StringLiteralEscape\x10\x1c\x12\x18\n\x14StringLiteralSpecial\ - \x10\x1d\x12\x14\n\x10StringLiteralKey\x10\x1e\x12\x14\n\x10CharacterLit\ - eral\x10\x1f\x12\x12\n\x0eNumericLiteral\x10\x20\x12\x12\n\x0eBooleanLit\ - eral\x10!\x12\x07\n\x03Tag\x10\"\x12\x10\n\x0cTagAttribute\x10#\x12\x10\ - \n\x0cTagDelimiter\x10$\x1a\x02\x10\x01*V\n\x08Severity\x12\x17\n\x13Uns\ - pecifiedSeverity\x10\0\x12\t\n\x05Error\x10\x01\x12\x0b\n\x07Warning\x10\ - \x02\x12\x0f\n\x0bInformation\x10\x03\x12\x08\n\x04Hint\x10\x04*N\n\rDia\ - gnosticTag\x12\x1c\n\x18UnspecifiedDiagnosticTag\x10\0\x12\x0f\n\x0bUnne\ - cessary\x10\x01\x12\x0e\n\nDeprecated\x10\x02*\x9b\n\n\x08Language\x12\ - \x17\n\x13UnspecifiedLanguage\x10\0\x12\x08\n\x04ABAP\x10<\x12\x08\n\x04\ - Apex\x10`\x12\x07\n\x03APL\x101\x12\x07\n\x03Ada\x10'\x12\x08\n\x04Agda\ - \x10-\x12\x0c\n\x08AsciiDoc\x10V\x12\x0c\n\x08Assembly\x10:\x12\x07\n\ - \x03Awk\x10B\x12\x07\n\x03Bat\x10D\x12\n\n\x06BibTeX\x10Q\x12\x05\n\x01C\ - \x10\"\x12\t\n\x05COBOL\x10;\x12\x07\n\x03CPP\x10#\x12\x07\n\x03CSS\x10\ - \x1a\x12\n\n\x06CSharp\x10\x01\x12\x0b\n\x07Clojure\x10\x08\x12\x10\n\ - \x0cCoffeescript\x10\x15\x12\x0e\n\nCommonLisp\x10\t\x12\x07\n\x03Coq\ - \x10/\x12\x08\n\x04CUDA\x10a\x12\x08\n\x04Dart\x10\x03\x12\n\n\x06Delphi\ - \x109\x12\x08\n\x04Diff\x10X\x12\x0e\n\nDockerfile\x10P\x12\n\n\x06Dyalo\ - g\x102\x12\n\n\x06Elixir\x10\x11\x12\n\n\x06Erlang\x10\x12\x12\n\n\x06FS\ - harp\x10*\x12\x08\n\x04Fish\x10A\x12\x08\n\x04Flow\x10\x18\x12\x0b\n\x07\ - Fortran\x108\x12\x0e\n\nGit_Commit\x10[\x12\x0e\n\nGit_Config\x10Y\x12\ - \x0e\n\nGit_Rebase\x10\\\x12\x06\n\x02Go\x10!\x12\x0b\n\x07GraphQL\x10b\ - \x12\n\n\x06Groovy\x10\x07\x12\x08\n\x04HTML\x10\x1e\x12\x08\n\x04Hack\ - \x10\x14\x12\x0e\n\nHandlebars\x10Z\x12\x0b\n\x07Haskell\x10,\x12\t\n\ - \x05Idris\x10.\x12\x07\n\x03Ini\x10H\x12\x05\n\x01J\x103\x12\x08\n\x04JS\ - ON\x10K\x12\x08\n\x04Java\x10\x06\x12\x0e\n\nJavaScript\x10\x16\x12\x13\ - \n\x0fJavaScriptReact\x10]\x12\x0b\n\x07Jsonnet\x10L\x12\t\n\x05Julia\ - \x107\x12\x0c\n\x08Justfile\x10m\x12\n\n\x06Kotlin\x10\x04\x12\t\n\x05La\ - TeX\x10S\x12\x08\n\x04Lean\x100\x12\x08\n\x04Less\x10\x1b\x12\x07\n\x03L\ - ua\x10\x0c\x12\x08\n\x04Luau\x10l\x12\x0c\n\x08Makefile\x10O\x12\x0c\n\ - \x08Markdown\x10T\x12\n\n\x06Matlab\x104\x12\n\n\x06Nickel\x10n\x12\x07\ - \n\x03Nix\x10M\x12\t\n\x05OCaml\x10)\x12\x0f\n\x0bObjective_C\x10$\x12\ - \x11\n\rObjective_CPP\x10%\x12\n\n\x06Pascal\x10c\x12\x07\n\x03PHP\x10\ - \x13\x12\t\n\x05PLSQL\x10F\x12\x08\n\x04Perl\x10\r\x12\x0e\n\nPowerShell\ - \x10C\x12\n\n\x06Prolog\x10G\x12\x0c\n\x08Protobuf\x10d\x12\n\n\x06Pytho\ - n\x10\x0f\x12\x05\n\x01R\x106\x12\n\n\x06Racket\x10\x0b\x12\x08\n\x04Rak\ - u\x10\x0e\x12\t\n\x05Razor\x10>\x12\t\n\x05Repro\x10f\x12\x08\n\x04ReST\ - \x10U\x12\x08\n\x04Ruby\x10\x10\x12\x08\n\x04Rust\x10(\x12\x07\n\x03SAS\ - \x10=\x12\x08\n\x04SCSS\x10\x1d\x12\x07\n\x03SML\x10+\x12\x07\n\x03SQL\ - \x10E\x12\x08\n\x04Sass\x10\x1c\x12\t\n\x05Scala\x10\x05\x12\n\n\x06Sche\ - me\x10\n\x12\x0f\n\x0bShellScript\x10@\x12\x0b\n\x07Skylark\x10N\x12\t\n\ - \x05Slang\x10k\x12\x0c\n\x08Solidity\x10_\x12\n\n\x06Svelte\x10j\x12\t\n\ - \x05Swift\x10\x02\x12\x07\n\x03Tcl\x10e\x12\x08\n\x04TOML\x10I\x12\x07\n\ - \x03TeX\x10R\x12\n\n\x06Thrift\x10g\x12\x0e\n\nTypeScript\x10\x17\x12\ - \x13\n\x0fTypeScriptReact\x10^\x12\x0b\n\x07Verilog\x10h\x12\x08\n\x04VH\ - DL\x10i\x12\x0f\n\x0bVisualBasic\x10?\x12\x07\n\x03Vue\x10\x19\x12\x0b\n\ - \x07Wolfram\x105\x12\x07\n\x03XML\x10\x1f\x12\x07\n\x03XSL\x10\x20\x12\ - \x08\n\x04YAML\x10J\x12\x07\n\x03Zig\x10&B/Z-github.com/sourcegraph/scip\ - /bindings/go/scip/J\xa0\xa6\x02\n\x07\x12\x05\n\0\xbf\x06\x01\n\x82\x04\ - \n\x01\x0c\x12\x03\n\0\x122\xf7\x03\x20An\x20index\x20contains\x20one\ - \x20or\x20more\x20pieces\x20of\x20information\x20about\x20a\x20given\x20\ - piece\x20of\n\x20source\x20code\x20or\x20software\x20artifact.\x20Comple\ - mentary\x20information\x20can\x20be\x20merged\n\x20together\x20from\x20m\ - ultiple\x20sources\x20to\x20provide\x20a\x20unified\x20code\x20intellige\ - nce\n\x20experience.\n\n\x20Programs\x20producing\x20a\x20file\x20of\x20\ - this\x20format\x20is\x20an\x20\"indexer\"\x20and\x20may\x20operate\n\x20\ - somewhere\x20on\x20the\x20spectrum\x20between\x20precision,\x20such\x20a\ - s\x20indexes\x20produced\x20by\n\x20compiler-backed\x20indexers,\x20and\ - \x20heurstics,\x20such\x20as\x20indexes\x20produced\x20by\x20local\n\x20\ - syntax-directed\x20analysis\x20for\x20scope\x20rules.\n\n\x08\n\x01\x02\ - \x12\x03\x0c\0\r\n\x08\n\x01\x08\x12\x03\x0e\0D\n\t\n\x02\x08\x0b\x12\ - \x03\x0e\0D\n\xd0\x03\n\x02\x04\0\x12\x04\x16\0#\x01\x1a\xc3\x03\x20Inde\ - x\x20represents\x20a\x20complete\x20SCIP\x20index\x20for\x20a\x20workspa\ - ce\x20this\x20is\x20rooted\x20at\x20a\n\x20single\x20directory.\x20An\ - \x20Index\x20message\x20payload\x20can\x20have\x20a\x20large\x20memory\ - \x20footprint\n\x20and\x20it's\x20therefore\x20recommended\x20to\x20emit\ - \x20and\x20consume\x20an\x20Index\x20payload\x20one\x20field\n\x20value\ - \x20at\x20a\x20time.\x20To\x20permit\x20streaming\x20consumption\x20of\ - \x20an\x20Index\x20payload,\x20the\n\x20`metadata`\x20field\x20must\x20a\ - ppear\x20at\x20the\x20start\x20of\x20the\x20stream\x20and\x20must\x20onl\ - y\x20appear\n\x20once\x20in\x20the\x20stream.\x20Other\x20field\x20value\ - s\x20may\x20appear\x20in\x20any\x20order.\n\n\n\n\x03\x04\0\x01\x12\x03\ - \x16\x08\r\n)\n\x04\x04\0\x02\0\x12\x03\x18\x02\x18\x1a\x1c\x20Metadata\ - \x20about\x20this\x20index.\n\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\x18\ - \x02\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x18\x0b\x13\n\x0c\n\x05\x04\0\ - \x02\0\x03\x12\x03\x18\x16\x17\n3\n\x04\x04\0\x02\x01\x12\x03\x1a\x02\"\ - \x1a&\x20Documents\x20that\x20belong\x20to\x20this\x20index.\n\n\x0c\n\ - \x05\x04\0\x02\x01\x04\x12\x03\x1a\x02\n\n\x0c\n\x05\x04\0\x02\x01\x06\ - \x12\x03\x1a\x0b\x13\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x1a\x14\x1d\n\ - \x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x1a\x20!\n\xf6\x03\n\x04\x04\0\x02\ - \x02\x12\x03\x20\x022\x1a\xe9\x02\x20(optional)\x20Symbols\x20that\x20ar\ - e\x20referenced\x20from\x20this\x20index\x20but\x20are\x20defined\x20in\ - \n\x20an\x20external\x20package\x20(a\x20separate\x20`Index`\x20message)\ - .\x20Leave\x20this\x20field\x20empty\n\x20if\x20you\x20assume\x20the\x20\ - external\x20package\x20will\x20get\x20indexed\x20separately.\x20If\x20th\ - e\n\x20external\x20package\x20won't\x20get\x20indexed\x20for\x20some\x20\ - reason\x20then\x20you\x20can\x20use\x20this\n\x20field\x20to\x20provide\ - \x20hover\x20documentation\x20for\x20those\x20external\x20symbols.\n\"}\ - \x20IMPORTANT:\x20When\x20adding\x20a\x20new\x20field\x20to\x20`Index`\ - \x20here,\x20add\x20a\x20matching\n\x20function\x20in\x20`IndexVisitor`\ - \x20and\x20update\x20`ParseStreaming`.\n\n\x0c\n\x05\x04\0\x02\x02\x04\ - \x12\x03\x20\x02\n\n\x0c\n\x05\x04\0\x02\x02\x06\x12\x03\x20\x0b\x1c\n\ - \x0c\n\x05\x04\0\x02\x02\x01\x12\x03\x20\x1d-\n\x0c\n\x05\x04\0\x02\x02\ - \x03\x12\x03\x2001\n\n\n\x02\x04\x01\x12\x04%\01\x01\n\n\n\x03\x04\x01\ - \x01\x12\x03%\x08\x10\nN\n\x04\x04\x01\x02\0\x12\x03'\x02\x1e\x1aA\x20Wh\ - ich\x20version\x20of\x20this\x20protocol\x20was\x20used\x20to\x20generat\ - e\x20this\x20index?\n\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03'\x02\x11\n\ - \x0c\n\x05\x04\x01\x02\0\x01\x12\x03'\x12\x19\n\x0c\n\x05\x04\x01\x02\0\ - \x03\x12\x03'\x1c\x1d\nC\n\x04\x04\x01\x02\x01\x12\x03)\x02\x19\x1a6\x20\ - Information\x20about\x20the\x20tool\x20that\x20produced\x20this\x20index\ - .\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03)\x02\n\n\x0c\n\x05\x04\x01\ - \x02\x01\x01\x12\x03)\x0b\x14\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03)\ - \x17\x18\n\xa2\x01\n\x04\x04\x01\x02\x02\x12\x03-\x02\x1a\x1a\x94\x01\ - \x20URI-encoded\x20absolute\x20path\x20to\x20the\x20root\x20directory\ - \x20of\x20this\x20index.\x20All\n\x20documents\x20in\x20this\x20index\ - \x20must\x20appear\x20in\x20a\x20subdirectory\x20of\x20this\x20root\n\ - \x20directory.\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03-\x02\x08\n\x0c\ - \n\x05\x04\x01\x02\x02\x01\x12\x03-\t\x15\n\x0c\n\x05\x04\x01\x02\x02\ - \x03\x12\x03-\x18\x19\nl\n\x04\x04\x01\x02\x03\x12\x030\x02*\x1a_\x20Tex\ - t\x20encoding\x20of\x20the\x20source\x20files\x20on\x20disk\x20that\x20a\ - re\x20referenced\x20from\n\x20`Document.relative_path`.\n\n\x0c\n\x05\ - \x04\x01\x02\x03\x06\x12\x030\x02\x0e\n\x0c\n\x05\x04\x01\x02\x03\x01\ - \x12\x030\x0f%\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x030()\n\n\n\x02\x05\ - \0\x12\x043\05\x01\n\n\n\x03\x05\0\x01\x12\x033\x05\x14\n\x0b\n\x04\x05\ - \0\x02\0\x12\x034\x02!\n\x0c\n\x05\x05\0\x02\0\x01\x12\x034\x02\x1c\n\ - \x0c\n\x05\x05\0\x02\0\x02\x12\x034\x1f\x20\n\n\n\x02\x05\x01\x12\x047\0\ - ;\x01\n\n\n\x03\x05\x01\x01\x12\x037\x05\x11\n\x0b\n\x04\x05\x01\x02\0\ - \x12\x038\x02\x1e\n\x0c\n\x05\x05\x01\x02\0\x01\x12\x038\x02\x19\n\x0c\n\ - \x05\x05\x01\x02\0\x02\x12\x038\x1c\x1d\n\x0b\n\x04\x05\x01\x02\x01\x12\ - \x039\x02\x0b\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x039\x02\x06\n\x0c\n\ - \x05\x05\x01\x02\x01\x02\x12\x039\t\n\n\x0b\n\x04\x05\x01\x02\x02\x12\ - \x03:\x02\x0c\n\x0c\n\x05\x05\x01\x02\x02\x01\x12\x03:\x02\x07\n\x0c\n\ - \x05\x05\x01\x02\x02\x02\x12\x03:\n\x0b\n\n\n\x02\x04\x02\x12\x04=\0D\ - \x01\n\n\n\x03\x04\x02\x01\x12\x03=\x08\x10\n<\n\x04\x04\x02\x02\0\x12\ - \x03?\x02\x12\x1a/\x20Name\x20of\x20the\x20indexer\x20that\x20produced\ - \x20this\x20index.\n\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03?\x02\x08\n\ - \x0c\n\x05\x04\x02\x02\0\x01\x12\x03?\t\r\n\x0c\n\x05\x04\x02\x02\0\x03\ - \x12\x03?\x10\x11\n?\n\x04\x04\x02\x02\x01\x12\x03A\x02\x15\x1a2\x20Vers\ - ion\x20of\x20the\x20indexer\x20that\x20produced\x20this\x20index.\n\n\ - \x0c\n\x05\x04\x02\x02\x01\x05\x12\x03A\x02\x08\n\x0c\n\x05\x04\x02\x02\ - \x01\x01\x12\x03A\t\x10\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03A\x13\x14\ - \nL\n\x04\x04\x02\x02\x02\x12\x03C\x02\x20\x1a?\x20Command-line\x20argum\ - ents\x20that\x20were\x20used\x20to\x20invoke\x20this\x20indexer.\n\n\x0c\ - \n\x05\x04\x02\x02\x02\x04\x12\x03C\x02\n\n\x0c\n\x05\x04\x02\x02\x02\ - \x05\x12\x03C\x0b\x11\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03C\x12\x1b\n\ - \x0c\n\x05\x04\x02\x02\x02\x03\x12\x03C\x1e\x1f\nH\n\x02\x04\x03\x12\x04\ - G\0h\x01\x1a<\x20Document\x20defines\x20the\x20metadata\x20about\x20a\ - \x20source\x20file\x20on\x20disk.\n\n\n\n\x03\x04\x03\x01\x12\x03G\x08\ - \x10\n\xa5\x02\n\x04\x04\x03\x02\0\x12\x03L\x02\x16\x1a\x97\x02\x20The\ - \x20string\x20ID\x20for\x20the\x20programming\x20language\x20this\x20fil\ - e\x20is\x20written\x20in.\n\x20The\x20`Language`\x20enum\x20contains\x20\ - the\x20names\x20of\x20most\x20common\x20programming\x20languages.\n\x20T\ - his\x20field\x20is\x20typed\x20as\x20a\x20string\x20to\x20permit\x20any\ - \x20programming\x20language,\x20including\n\x20ones\x20that\x20are\x20no\ - t\x20specified\x20by\x20the\x20`Language`\x20enum.\n\n\x0c\n\x05\x04\x03\ - \x02\0\x05\x12\x03L\x02\x08\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03L\t\x11\ - \n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03L\x14\x15\n\xb5\x03\n\x04\x04\x03\ - \x02\x01\x12\x03V\x02\x1b\x1a\xa7\x03\x20(Required)\x20Unique\x20path\ - \x20to\x20the\x20text\x20document.\n\n\x201.\x20The\x20path\x20must\x20b\ - e\x20relative\x20to\x20the\x20directory\x20supplied\x20in\x20the\x20asso\ - ciated\n\x20\x20\x20\x20`Metadata.project_root`.\n\x202.\x20The\x20path\ - \x20must\x20not\x20begin\x20with\x20a\x20leading\x20'/'.\n\x203.\x20The\ - \x20path\x20must\x20point\x20to\x20a\x20regular\x20file,\x20not\x20a\x20\ - symbolic\x20link.\n\x204.\x20The\x20path\x20must\x20use\x20'/'\x20as\x20\ - the\x20separator,\x20including\x20on\x20Windows.\n\x205.\x20The\x20path\ - \x20must\x20be\x20canonical;\x20it\x20cannot\x20include\x20empty\x20comp\ - onents\x20('//'),\n\x20\x20\x20\x20or\x20'.'\x20or\x20'..'.\n\n\x0c\n\ - \x05\x04\x03\x02\x01\x05\x12\x03V\x02\x08\n\x0c\n\x05\x04\x03\x02\x01\ - \x01\x12\x03V\t\x16\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03V\x19\x1a\n4\ - \n\x04\x04\x03\x02\x02\x12\x03X\x02&\x1a'\x20Occurrences\x20that\x20appe\ - ar\x20in\x20this\x20file.\n\n\x0c\n\x05\x04\x03\x02\x02\x04\x12\x03X\x02\ - \n\n\x0c\n\x05\x04\x03\x02\x02\x06\x12\x03X\x0b\x15\n\x0c\n\x05\x04\x03\ - \x02\x02\x01\x12\x03X\x16!\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03X$%\n\ - \xea\x01\n\x04\x04\x03\x02\x03\x12\x03^\x02)\x1a\xdc\x01\x20Symbols\x20t\ - hat\x20are\x20\"defined\"\x20within\x20this\x20document.\n\n\x20This\x20\ - should\x20include\x20symbols\x20which\x20technically\x20do\x20not\x20hav\ - e\x20any\x20definition,\n\x20but\x20have\x20a\x20reference\x20and\x20are\ - \x20defined\x20by\x20some\x20other\x20symbol\x20(see\n\x20Relationship.i\ - s_definition).\n\n\x0c\n\x05\x04\x03\x02\x03\x04\x12\x03^\x02\n\n\x0c\n\ - \x05\x04\x03\x02\x03\x06\x12\x03^\x0b\x1c\n\x0c\n\x05\x04\x03\x02\x03\ - \x01\x12\x03^\x1d$\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03^'(\n\xf7\x03\ - \n\x04\x04\x03\x02\x04\x12\x03g\x02\x12\x1a\xe9\x03\x20(optional)\x20Tex\ - t\x20contents\x20of\x20the\x20this\x20document.\x20Indexers\x20are\x20no\ - t\x20expected\x20to\n\x20include\x20the\x20text\x20by\x20default.\x20It'\ - s\x20preferrable\x20that\x20clients\x20read\x20the\x20text\n\x20contents\ - \x20from\x20the\x20file\x20system\x20by\x20resolving\x20the\x20absolute\ - \x20path\x20from\x20joining\n\x20`Index.metadata.project_root`\x20and\ - \x20`Document.relative_path`.\x20This\x20field\x20was\n\x20introduced\ - \x20to\x20support\x20`SymbolInformation.signature_documentation`,\x20but\ - \x20it\n\x20can\x20be\x20used\x20for\x20other\x20purposes\x20as\x20well,\ - \x20for\x20example\x20testing\x20or\x20when\x20working\n\x20with\x20virt\ - ual/in-memory\x20documents.\n\n\x0c\n\x05\x04\x03\x02\x04\x05\x12\x03g\ - \x02\x08\n\x0c\n\x05\x04\x03\x02\x04\x01\x12\x03g\t\r\n\x0c\n\x05\x04\ - \x03\x02\x04\x03\x12\x03g\x10\x11\n\xa4\x11\n\x02\x04\x04\x12\x06\x94\ - \x01\0\x98\x01\x01\x1a\x95\x11\x20Symbol\x20is\x20similar\x20to\x20a\x20\ - URI,\x20it\x20identifies\x20a\x20class,\x20method,\x20or\x20a\x20local\n\ - \x20variable.\x20`SymbolInformation`\x20contains\x20rich\x20metadata\x20\ - about\x20symbols\x20such\x20as\n\x20the\x20docstring.\n\n\x20Symbol\x20h\ - as\x20a\x20standardized\x20string\x20representation,\x20which\x20can\x20\ - be\x20used\n\x20interchangeably\x20with\x20`Symbol`.\x20The\x20syntax\ - \x20for\x20Symbol\x20is\x20the\x20following:\n\x20```\n\x20#\x20()+\ - \x20stands\x20for\x20one\x20or\x20more\x20repetitions\x20of\x20\n\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\ - \x20\x20'\x20'\x20\x20'\x20'\x20()+\x20|\ - \x20'local\x20'\x20\n\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20::=\x20\x20'\x20'\x20\ - \x20'\x20'\x20\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20::=\x20any\x20UTF-8,\x20escape\x20spaces\x20\ - with\x20double\x20space.\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20::=\x20same\x20as\x20above,\x20use\x20the\x20pla\ - ceholder\x20'.'\x20to\x20indicate\x20an\x20empty\x20value\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20same\x20as\x20above\n\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\ - \x20same\x20as\x20above\n\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20::=\x20\x20|\x20\x20|\x20\x20|\ - \x20\x20|\x20\x20|\x20\x20|\x20\ - \x20|\x20\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20::=\x20\x20'/'\n\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\x20'#'\n\x20\ + ionR\x07symbols\x12\x12\n\x04text\x18\x05\x20\x01(\tR\x04text\x12C\n\x11\ + position_encoding\x18\x06\x20\x01(\x0e2\x16.scip.PositionEncodingR\x10po\ + sitionEncoding\"}\n\x06Symbol\x12\x16\n\x06scheme\x18\x01\x20\x01(\tR\ + \x06scheme\x12'\n\x07package\x18\x02\x20\x01(\x0b2\r.scip.PackageR\x07pa\ + ckage\x122\n\x0bdescriptors\x18\x03\x20\x03(\x0b2\x10.scip.DescriptorR\ + \x0bdescriptors\"Q\n\x07Package\x12\x18\n\x07manager\x18\x01\x20\x01(\tR\ + \x07manager\x12\x12\n\x04name\x18\x02\x20\x01(\tR\x04name\x12\x18\n\x07v\ + ersion\x18\x03\x20\x01(\tR\x07version\"\x9f\x02\n\nDescriptor\x12\x12\n\ + \x04name\x18\x01\x20\x01(\tR\x04name\x12$\n\rdisambiguator\x18\x02\x20\ + \x01(\tR\rdisambiguator\x12/\n\x06suffix\x18\x03\x20\x01(\x0e2\x17.scip.\ + Descriptor.SuffixR\x06suffix\"\xa5\x01\n\x06Suffix\x12\x15\n\x11Unspecif\ + iedSuffix\x10\0\x12\r\n\tNamespace\x10\x01\x12\x0f\n\x07Package\x10\x01\ + \x1a\x02\x08\x01\x12\x08\n\x04Type\x10\x02\x12\x08\n\x04Term\x10\x03\x12\ + \n\n\x06Method\x10\x04\x12\x11\n\rTypeParameter\x10\x05\x12\r\n\tParamet\ + er\x10\x06\x12\x08\n\x04Meta\x10\x07\x12\t\n\x05Local\x10\x08\x12\t\n\ + \x05Macro\x10\t\x1a\x02\x10\x01\"\xab\x0c\n\x11SymbolInformation\x12\x16\ + \n\x06symbol\x18\x01\x20\x01(\tR\x06symbol\x12$\n\rdocumentation\x18\x03\ + \x20\x03(\tR\rdocumentation\x128\n\rrelationships\x18\x04\x20\x03(\x0b2\ + \x12.scip.RelationshipR\rrelationships\x120\n\x04kind\x18\x05\x20\x01(\ + \x0e2\x1c.scip.SymbolInformation.KindR\x04kind\x12!\n\x0cdisplay_name\ + \x18\x06\x20\x01(\tR\x0bdisplayName\x12G\n\x17signature_documentation\ + \x18\x07\x20\x01(\x0b2\x0e.scip.DocumentR\x16signatureDocumentation\x12)\ + \n\x10enclosing_symbol\x18\x08\x20\x01(\tR\x0fenclosingSymbol\"\xd4\t\n\ + \x04Kind\x12\x13\n\x0fUnspecifiedKind\x10\0\x12\x12\n\x0eAbstractMethod\ + \x10B\x12\x0c\n\x08Accessor\x10H\x12\t\n\x05Array\x10\x01\x12\r\n\tAsser\ + tion\x10\x02\x12\x12\n\x0eAssociatedType\x10\x03\x12\r\n\tAttribute\x10\ + \x04\x12\t\n\x05Axiom\x10\x05\x12\x0b\n\x07Boolean\x10\x06\x12\t\n\x05Cl\ + ass\x10\x07\x12\x0c\n\x08Constant\x10\x08\x12\x0f\n\x0bConstructor\x10\t\ + \x12\x0c\n\x08Contract\x10>\x12\x0e\n\nDataFamily\x10\n\x12\x0c\n\x08Del\ + egate\x10I\x12\x08\n\x04Enum\x10\x0b\x12\x0e\n\nEnumMember\x10\x0c\x12\t\ + \n\x05Error\x10?\x12\t\n\x05Event\x10\r\x12\x08\n\x04Fact\x10\x0e\x12\t\ + \n\x05Field\x10\x0f\x12\x08\n\x04File\x10\x10\x12\x0c\n\x08Function\x10\ + \x11\x12\n\n\x06Getter\x10\x12\x12\x0b\n\x07Grammar\x10\x13\x12\x0c\n\ + \x08Instance\x10\x14\x12\r\n\tInterface\x10\x15\x12\x07\n\x03Key\x10\x16\ + \x12\x08\n\x04Lang\x10\x17\x12\t\n\x05Lemma\x10\x18\x12\x0b\n\x07Library\ + \x10@\x12\t\n\x05Macro\x10\x19\x12\n\n\x06Method\x10\x1a\x12\x0f\n\x0bMe\ + thodAlias\x10J\x12\x12\n\x0eMethodReceiver\x10\x1b\x12\x17\n\x13MethodSp\ + ecification\x10C\x12\x0b\n\x07Message\x10\x1c\x12\x0c\n\x08Modifier\x10A\ + \x12\n\n\x06Module\x10\x1d\x12\r\n\tNamespace\x10\x1e\x12\x08\n\x04Null\ + \x10\x1f\x12\n\n\x06Number\x10\x20\x12\n\n\x06Object\x10!\x12\x0c\n\x08O\ + perator\x10\"\x12\x0b\n\x07Package\x10#\x12\x11\n\rPackageObject\x10$\ + \x12\r\n\tParameter\x10%\x12\x12\n\x0eParameterLabel\x10&\x12\x0b\n\x07P\ + attern\x10'\x12\r\n\tPredicate\x10(\x12\x0c\n\x08Property\x10)\x12\x0c\n\ + \x08Protocol\x10*\x12\x12\n\x0eProtocolMethod\x10D\x12\x15\n\x11PureVirt\ + ualMethod\x10E\x12\x0f\n\x0bQuasiquoter\x10+\x12\x11\n\rSelfParameter\ + \x10,\x12\n\n\x06Setter\x10-\x12\r\n\tSignature\x10.\x12\x12\n\x0eSingle\ + tonClass\x10K\x12\x13\n\x0fSingletonMethod\x10L\x12\x14\n\x10StaticDataM\ + ember\x10M\x12\x0f\n\x0bStaticEvent\x10N\x12\x0f\n\x0bStaticField\x10O\ + \x12\x10\n\x0cStaticMethod\x10P\x12\x12\n\x0eStaticProperty\x10Q\x12\x12\ + \n\x0eStaticVariable\x10R\x12\n\n\x06String\x100\x12\n\n\x06Struct\x101\ + \x12\r\n\tSubscript\x10/\x12\n\n\x06Tactic\x102\x12\x0b\n\x07Theorem\x10\ + 3\x12\x11\n\rThisParameter\x104\x12\t\n\x05Trait\x105\x12\x0f\n\x0bTrait\ + Method\x10F\x12\x08\n\x04Type\x106\x12\r\n\tTypeAlias\x107\x12\r\n\tType\ + Class\x108\x12\x13\n\x0fTypeClassMethod\x10G\x12\x0e\n\nTypeFamily\x109\ + \x12\x11\n\rTypeParameter\x10:\x12\t\n\x05Union\x10;\x12\t\n\x05Value\ + \x10<\x12\x0c\n\x08Variable\x10=\"\xc9\x01\n\x0cRelationship\x12\x16\n\ + \x06symbol\x18\x01\x20\x01(\tR\x06symbol\x12!\n\x0cis_reference\x18\x02\ + \x20\x01(\x08R\x0bisReference\x12+\n\x11is_implementation\x18\x03\x20\ + \x01(\x08R\x10isImplementation\x12,\n\x12is_type_definition\x18\x04\x20\ + \x01(\x08R\x10isTypeDefinition\x12#\n\ris_definition\x18\x05\x20\x01(\ + \x08R\x0cisDefinition\"\xa4\x02\n\nOccurrence\x12\x14\n\x05range\x18\x01\ + \x20\x03(\x05R\x05range\x12\x16\n\x06symbol\x18\x02\x20\x01(\tR\x06symbo\ + l\x12!\n\x0csymbol_roles\x18\x03\x20\x01(\x05R\x0bsymbolRoles\x125\n\x16\ + override_documentation\x18\x04\x20\x03(\tR\x15overrideDocumentation\x121\ + \n\x0bsyntax_kind\x18\x05\x20\x01(\x0e2\x10.scip.SyntaxKindR\nsyntaxKind\ + \x122\n\x0bdiagnostics\x18\x06\x20\x03(\x0b2\x10.scip.DiagnosticR\x0bdia\ + gnostics\x12'\n\x0fenclosing_range\x18\x07\x20\x03(\x05R\x0eenclosingRan\ + ge\"\xa7\x01\n\nDiagnostic\x12*\n\x08severity\x18\x01\x20\x01(\x0e2\x0e.\ + scip.SeverityR\x08severity\x12\x12\n\x04code\x18\x02\x20\x01(\tR\x04code\ + \x12\x18\n\x07message\x18\x03\x20\x01(\tR\x07message\x12\x16\n\x06source\ + \x18\x04\x20\x01(\tR\x06source\x12'\n\x04tags\x18\x05\x20\x03(\x0e2\x13.\ + scip.DiagnosticTagR\x04tags*1\n\x0fProtocolVersion\x12\x1e\n\x1aUnspecif\ + iedProtocolVersion\x10\0*@\n\x0cTextEncoding\x12\x1b\n\x17UnspecifiedTex\ + tEncoding\x10\0\x12\x08\n\x04UTF8\x10\x01\x12\t\n\x05UTF16\x10\x02*\x9f\ + \x01\n\x10PositionEncoding\x12\x1f\n\x1bUnspecifiedPositionEncoding\x10\ + \0\x12\x1f\n\x1bUTF8ByteOffsetFromLineStart\x10\x01\x12#\n\x1fUTF8CodeUn\ + itOffsetFromLineStart\x10\x02\x12$\n\x20UTF16CodeUnitOffsetFromLineStart\ + \x10\x03*\x94\x01\n\nSymbolRole\x12\x19\n\x15UnspecifiedSymbolRole\x10\0\ + \x12\x0e\n\nDefinition\x10\x01\x12\n\n\x06Import\x10\x02\x12\x0f\n\x0bWr\ + iteAccess\x10\x04\x12\x0e\n\nReadAccess\x10\x08\x12\r\n\tGenerated\x10\ + \x10\x12\x08\n\x04Test\x10\x20\x12\x15\n\x11ForwardDefinition\x10@*\xea\ + \x06\n\nSyntaxKind\x12\x19\n\x15UnspecifiedSyntaxKind\x10\0\x12\x0b\n\ + \x07Comment\x10\x01\x12\x18\n\x14PunctuationDelimiter\x10\x02\x12\x16\n\ + \x12PunctuationBracket\x10\x03\x12\x0b\n\x07Keyword\x10\x04\x12\x19\n\ + \x11IdentifierKeyword\x10\x04\x1a\x02\x08\x01\x12\x16\n\x12IdentifierOpe\ + rator\x10\x05\x12\x0e\n\nIdentifier\x10\x06\x12\x15\n\x11IdentifierBuilt\ + in\x10\x07\x12\x12\n\x0eIdentifierNull\x10\x08\x12\x16\n\x12IdentifierCo\ + nstant\x10\t\x12\x1b\n\x17IdentifierMutableGlobal\x10\n\x12\x17\n\x13Ide\ + ntifierParameter\x10\x0b\x12\x13\n\x0fIdentifierLocal\x10\x0c\x12\x16\n\ + \x12IdentifierShadowed\x10\r\x12\x17\n\x13IdentifierNamespace\x10\x0e\ + \x12\x18\n\x10IdentifierModule\x10\x0e\x1a\x02\x08\x01\x12\x16\n\x12Iden\ + tifierFunction\x10\x0f\x12\x20\n\x1cIdentifierFunctionDefinition\x10\x10\ + \x12\x13\n\x0fIdentifierMacro\x10\x11\x12\x1d\n\x19IdentifierMacroDefini\ + tion\x10\x12\x12\x12\n\x0eIdentifierType\x10\x13\x12\x19\n\x15Identifier\ + BuiltinType\x10\x14\x12\x17\n\x13IdentifierAttribute\x10\x15\x12\x0f\n\ + \x0bRegexEscape\x10\x16\x12\x11\n\rRegexRepeated\x10\x17\x12\x11\n\rRege\ + xWildcard\x10\x18\x12\x12\n\x0eRegexDelimiter\x10\x19\x12\r\n\tRegexJoin\ + \x10\x1a\x12\x11\n\rStringLiteral\x10\x1b\x12\x17\n\x13StringLiteralEsca\ + pe\x10\x1c\x12\x18\n\x14StringLiteralSpecial\x10\x1d\x12\x14\n\x10String\ + LiteralKey\x10\x1e\x12\x14\n\x10CharacterLiteral\x10\x1f\x12\x12\n\x0eNu\ + mericLiteral\x10\x20\x12\x12\n\x0eBooleanLiteral\x10!\x12\x07\n\x03Tag\ + \x10\"\x12\x10\n\x0cTagAttribute\x10#\x12\x10\n\x0cTagDelimiter\x10$\x1a\ + \x02\x10\x01*V\n\x08Severity\x12\x17\n\x13UnspecifiedSeverity\x10\0\x12\ + \t\n\x05Error\x10\x01\x12\x0b\n\x07Warning\x10\x02\x12\x0f\n\x0bInformat\ + ion\x10\x03\x12\x08\n\x04Hint\x10\x04*N\n\rDiagnosticTag\x12\x1c\n\x18Un\ + specifiedDiagnosticTag\x10\0\x12\x0f\n\x0bUnnecessary\x10\x01\x12\x0e\n\ + \nDeprecated\x10\x02*\x9b\n\n\x08Language\x12\x17\n\x13UnspecifiedLangua\ + ge\x10\0\x12\x08\n\x04ABAP\x10<\x12\x08\n\x04Apex\x10`\x12\x07\n\x03APL\ + \x101\x12\x07\n\x03Ada\x10'\x12\x08\n\x04Agda\x10-\x12\x0c\n\x08AsciiDoc\ + \x10V\x12\x0c\n\x08Assembly\x10:\x12\x07\n\x03Awk\x10B\x12\x07\n\x03Bat\ + \x10D\x12\n\n\x06BibTeX\x10Q\x12\x05\n\x01C\x10\"\x12\t\n\x05COBOL\x10;\ + \x12\x07\n\x03CPP\x10#\x12\x07\n\x03CSS\x10\x1a\x12\n\n\x06CSharp\x10\ + \x01\x12\x0b\n\x07Clojure\x10\x08\x12\x10\n\x0cCoffeescript\x10\x15\x12\ + \x0e\n\nCommonLisp\x10\t\x12\x07\n\x03Coq\x10/\x12\x08\n\x04CUDA\x10a\ + \x12\x08\n\x04Dart\x10\x03\x12\n\n\x06Delphi\x109\x12\x08\n\x04Diff\x10X\ + \x12\x0e\n\nDockerfile\x10P\x12\n\n\x06Dyalog\x102\x12\n\n\x06Elixir\x10\ + \x11\x12\n\n\x06Erlang\x10\x12\x12\n\n\x06FSharp\x10*\x12\x08\n\x04Fish\ + \x10A\x12\x08\n\x04Flow\x10\x18\x12\x0b\n\x07Fortran\x108\x12\x0e\n\nGit\ + _Commit\x10[\x12\x0e\n\nGit_Config\x10Y\x12\x0e\n\nGit_Rebase\x10\\\x12\ + \x06\n\x02Go\x10!\x12\x0b\n\x07GraphQL\x10b\x12\n\n\x06Groovy\x10\x07\ + \x12\x08\n\x04HTML\x10\x1e\x12\x08\n\x04Hack\x10\x14\x12\x0e\n\nHandleba\ + rs\x10Z\x12\x0b\n\x07Haskell\x10,\x12\t\n\x05Idris\x10.\x12\x07\n\x03Ini\ + \x10H\x12\x05\n\x01J\x103\x12\x08\n\x04JSON\x10K\x12\x08\n\x04Java\x10\ + \x06\x12\x0e\n\nJavaScript\x10\x16\x12\x13\n\x0fJavaScriptReact\x10]\x12\ + \x0b\n\x07Jsonnet\x10L\x12\t\n\x05Julia\x107\x12\x0c\n\x08Justfile\x10m\ + \x12\n\n\x06Kotlin\x10\x04\x12\t\n\x05LaTeX\x10S\x12\x08\n\x04Lean\x100\ + \x12\x08\n\x04Less\x10\x1b\x12\x07\n\x03Lua\x10\x0c\x12\x08\n\x04Luau\ + \x10l\x12\x0c\n\x08Makefile\x10O\x12\x0c\n\x08Markdown\x10T\x12\n\n\x06M\ + atlab\x104\x12\n\n\x06Nickel\x10n\x12\x07\n\x03Nix\x10M\x12\t\n\x05OCaml\ + \x10)\x12\x0f\n\x0bObjective_C\x10$\x12\x11\n\rObjective_CPP\x10%\x12\n\ + \n\x06Pascal\x10c\x12\x07\n\x03PHP\x10\x13\x12\t\n\x05PLSQL\x10F\x12\x08\ + \n\x04Perl\x10\r\x12\x0e\n\nPowerShell\x10C\x12\n\n\x06Prolog\x10G\x12\ + \x0c\n\x08Protobuf\x10d\x12\n\n\x06Python\x10\x0f\x12\x05\n\x01R\x106\ + \x12\n\n\x06Racket\x10\x0b\x12\x08\n\x04Raku\x10\x0e\x12\t\n\x05Razor\ + \x10>\x12\t\n\x05Repro\x10f\x12\x08\n\x04ReST\x10U\x12\x08\n\x04Ruby\x10\ + \x10\x12\x08\n\x04Rust\x10(\x12\x07\n\x03SAS\x10=\x12\x08\n\x04SCSS\x10\ + \x1d\x12\x07\n\x03SML\x10+\x12\x07\n\x03SQL\x10E\x12\x08\n\x04Sass\x10\ + \x1c\x12\t\n\x05Scala\x10\x05\x12\n\n\x06Scheme\x10\n\x12\x0f\n\x0bShell\ + Script\x10@\x12\x0b\n\x07Skylark\x10N\x12\t\n\x05Slang\x10k\x12\x0c\n\ + \x08Solidity\x10_\x12\n\n\x06Svelte\x10j\x12\t\n\x05Swift\x10\x02\x12\ + \x07\n\x03Tcl\x10e\x12\x08\n\x04TOML\x10I\x12\x07\n\x03TeX\x10R\x12\n\n\ + \x06Thrift\x10g\x12\x0e\n\nTypeScript\x10\x17\x12\x13\n\x0fTypeScriptRea\ + ct\x10^\x12\x0b\n\x07Verilog\x10h\x12\x08\n\x04VHDL\x10i\x12\x0f\n\x0bVi\ + sualBasic\x10?\x12\x07\n\x03Vue\x10\x19\x12\x0b\n\x07Wolfram\x105\x12\ + \x07\n\x03XML\x10\x1f\x12\x07\n\x03XSL\x10\x20\x12\x08\n\x04YAML\x10J\ + \x12\x07\n\x03Zig\x10&B/Z-github.com/sourcegraph/scip/bindings/go/scip/J\ + \xb1\xb1\x02\n\x07\x12\x05\n\0\xe0\x06\x01\n\x82\x04\n\x01\x0c\x12\x03\n\ + \0\x122\xf7\x03\x20An\x20index\x20contains\x20one\x20or\x20more\x20piece\ + s\x20of\x20information\x20about\x20a\x20given\x20piece\x20of\n\x20source\ + \x20code\x20or\x20software\x20artifact.\x20Complementary\x20information\ + \x20can\x20be\x20merged\n\x20together\x20from\x20multiple\x20sources\x20\ + to\x20provide\x20a\x20unified\x20code\x20intelligence\n\x20experience.\n\ + \n\x20Programs\x20producing\x20a\x20file\x20of\x20this\x20format\x20is\ + \x20an\x20\"indexer\"\x20and\x20may\x20operate\n\x20somewhere\x20on\x20t\ + he\x20spectrum\x20between\x20precision,\x20such\x20as\x20indexes\x20prod\ + uced\x20by\n\x20compiler-backed\x20indexers,\x20and\x20heurstics,\x20suc\ + h\x20as\x20indexes\x20produced\x20by\x20local\n\x20syntax-directed\x20an\ + alysis\x20for\x20scope\x20rules.\n\n\x08\n\x01\x02\x12\x03\x0c\0\r\n\x08\ + \n\x01\x08\x12\x03\x0e\0D\n\t\n\x02\x08\x0b\x12\x03\x0e\0D\n\xd0\x03\n\ + \x02\x04\0\x12\x04\x16\0#\x01\x1a\xc3\x03\x20Index\x20represents\x20a\ + \x20complete\x20SCIP\x20index\x20for\x20a\x20workspace\x20this\x20is\x20\ + rooted\x20at\x20a\n\x20single\x20directory.\x20An\x20Index\x20message\ + \x20payload\x20can\x20have\x20a\x20large\x20memory\x20footprint\n\x20and\ + \x20it's\x20therefore\x20recommended\x20to\x20emit\x20and\x20consume\x20\ + an\x20Index\x20payload\x20one\x20field\n\x20value\x20at\x20a\x20time.\ + \x20To\x20permit\x20streaming\x20consumption\x20of\x20an\x20Index\x20pay\ + load,\x20the\n\x20`metadata`\x20field\x20must\x20appear\x20at\x20the\x20\ + start\x20of\x20the\x20stream\x20and\x20must\x20only\x20appear\n\x20once\ + \x20in\x20the\x20stream.\x20Other\x20field\x20values\x20may\x20appear\ + \x20in\x20any\x20order.\n\n\n\n\x03\x04\0\x01\x12\x03\x16\x08\r\n)\n\x04\ + \x04\0\x02\0\x12\x03\x18\x02\x18\x1a\x1c\x20Metadata\x20about\x20this\ + \x20index.\n\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\x18\x02\n\n\x0c\n\x05\ + \x04\0\x02\0\x01\x12\x03\x18\x0b\x13\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\ + \x18\x16\x17\n3\n\x04\x04\0\x02\x01\x12\x03\x1a\x02\"\x1a&\x20Documents\ + \x20that\x20belong\x20to\x20this\x20index.\n\n\x0c\n\x05\x04\0\x02\x01\ + \x04\x12\x03\x1a\x02\n\n\x0c\n\x05\x04\0\x02\x01\x06\x12\x03\x1a\x0b\x13\ + \n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x1a\x14\x1d\n\x0c\n\x05\x04\0\x02\ + \x01\x03\x12\x03\x1a\x20!\n\xf6\x03\n\x04\x04\0\x02\x02\x12\x03\x20\x022\ + \x1a\xe9\x02\x20(optional)\x20Symbols\x20that\x20are\x20referenced\x20fr\ + om\x20this\x20index\x20but\x20are\x20defined\x20in\n\x20an\x20external\ + \x20package\x20(a\x20separate\x20`Index`\x20message).\x20Leave\x20this\ + \x20field\x20empty\n\x20if\x20you\x20assume\x20the\x20external\x20packag\ + e\x20will\x20get\x20indexed\x20separately.\x20If\x20the\n\x20external\ + \x20package\x20won't\x20get\x20indexed\x20for\x20some\x20reason\x20then\ + \x20you\x20can\x20use\x20this\n\x20field\x20to\x20provide\x20hover\x20do\ + cumentation\x20for\x20those\x20external\x20symbols.\n\"}\x20IMPORTANT:\ + \x20When\x20adding\x20a\x20new\x20field\x20to\x20`Index`\x20here,\x20add\ + \x20a\x20matching\n\x20function\x20in\x20`IndexVisitor`\x20and\x20update\ + \x20`ParseStreaming`.\n\n\x0c\n\x05\x04\0\x02\x02\x04\x12\x03\x20\x02\n\ + \n\x0c\n\x05\x04\0\x02\x02\x06\x12\x03\x20\x0b\x1c\n\x0c\n\x05\x04\0\x02\ + \x02\x01\x12\x03\x20\x1d-\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\x2001\n\ + \n\n\x02\x04\x01\x12\x04%\02\x01\n\n\n\x03\x04\x01\x01\x12\x03%\x08\x10\ + \nN\n\x04\x04\x01\x02\0\x12\x03'\x02\x1e\x1aA\x20Which\x20version\x20of\ + \x20this\x20protocol\x20was\x20used\x20to\x20generate\x20this\x20index?\ + \n\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03'\x02\x11\n\x0c\n\x05\x04\x01\ + \x02\0\x01\x12\x03'\x12\x19\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03'\x1c\ + \x1d\nC\n\x04\x04\x01\x02\x01\x12\x03)\x02\x19\x1a6\x20Information\x20ab\ + out\x20the\x20tool\x20that\x20produced\x20this\x20index.\n\n\x0c\n\x05\ + \x04\x01\x02\x01\x06\x12\x03)\x02\n\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\ + \x03)\x0b\x14\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03)\x17\x18\n\xa2\x01\ + \n\x04\x04\x01\x02\x02\x12\x03-\x02\x1a\x1a\x94\x01\x20URI-encoded\x20ab\ + solute\x20path\x20to\x20the\x20root\x20directory\x20of\x20this\x20index.\ + \x20All\n\x20documents\x20in\x20this\x20index\x20must\x20appear\x20in\ + \x20a\x20subdirectory\x20of\x20this\x20root\n\x20directory.\n\n\x0c\n\ + \x05\x04\x01\x02\x02\x05\x12\x03-\x02\x08\n\x0c\n\x05\x04\x01\x02\x02\ + \x01\x12\x03-\t\x15\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03-\x18\x19\n\ + \xe0\x01\n\x04\x04\x01\x02\x03\x12\x031\x02*\x1a\xd2\x01\x20Text\x20enco\ + ding\x20of\x20the\x20source\x20files\x20on\x20disk\x20that\x20are\x20ref\ + erenced\x20from\n\x20`Document.relative_path`.\x20This\x20value\x20is\ + \x20unrelated\x20to\x20the\x20`Document.text`\n\x20field,\x20which\x20is\ + \x20a\x20Protobuf\x20string\x20and\x20hence\x20must\x20be\x20UTF-8\x20en\ + coded.\n\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x031\x02\x0e\n\x0c\n\x05\ + \x04\x01\x02\x03\x01\x12\x031\x0f%\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\ + \x031()\n\n\n\x02\x05\0\x12\x044\06\x01\n\n\n\x03\x05\0\x01\x12\x034\x05\ + \x14\n\x0b\n\x04\x05\0\x02\0\x12\x035\x02!\n\x0c\n\x05\x05\0\x02\0\x01\ + \x12\x035\x02\x1c\n\x0c\n\x05\x05\0\x02\0\x02\x12\x035\x1f\x20\n\n\n\x02\ + \x05\x01\x12\x048\0<\x01\n\n\n\x03\x05\x01\x01\x12\x038\x05\x11\n\x0b\n\ + \x04\x05\x01\x02\0\x12\x039\x02\x1e\n\x0c\n\x05\x05\x01\x02\0\x01\x12\ + \x039\x02\x19\n\x0c\n\x05\x05\x01\x02\0\x02\x12\x039\x1c\x1d\n\x0b\n\x04\ + \x05\x01\x02\x01\x12\x03:\x02\x0b\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\ + \x03:\x02\x06\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03:\t\n\n\x0b\n\x04\ + \x05\x01\x02\x02\x12\x03;\x02\x0c\n\x0c\n\x05\x05\x01\x02\x02\x01\x12\ + \x03;\x02\x07\n\x0c\n\x05\x05\x01\x02\x02\x02\x12\x03;\n\x0b\n\n\n\x02\ + \x04\x02\x12\x04>\0E\x01\n\n\n\x03\x04\x02\x01\x12\x03>\x08\x10\n<\n\x04\ + \x04\x02\x02\0\x12\x03@\x02\x12\x1a/\x20Name\x20of\x20the\x20indexer\x20\ + that\x20produced\x20this\x20index.\n\n\x0c\n\x05\x04\x02\x02\0\x05\x12\ + \x03@\x02\x08\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03@\t\r\n\x0c\n\x05\x04\ + \x02\x02\0\x03\x12\x03@\x10\x11\n?\n\x04\x04\x02\x02\x01\x12\x03B\x02\ + \x15\x1a2\x20Version\x20of\x20the\x20indexer\x20that\x20produced\x20this\ + \x20index.\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03B\x02\x08\n\x0c\n\ + \x05\x04\x02\x02\x01\x01\x12\x03B\t\x10\n\x0c\n\x05\x04\x02\x02\x01\x03\ + \x12\x03B\x13\x14\nL\n\x04\x04\x02\x02\x02\x12\x03D\x02\x20\x1a?\x20Comm\ + and-line\x20arguments\x20that\x20were\x20used\x20to\x20invoke\x20this\ + \x20indexer.\n\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03D\x02\n\n\x0c\n\ + \x05\x04\x02\x02\x02\x05\x12\x03D\x0b\x11\n\x0c\n\x05\x04\x02\x02\x02\ + \x01\x12\x03D\x12\x1b\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03D\x1e\x1f\n\ + H\n\x02\x04\x03\x12\x04H\0l\x01\x1a<\x20Document\x20defines\x20the\x20me\ + tadata\x20about\x20a\x20source\x20file\x20on\x20disk.\n\n\n\n\x03\x04\ + \x03\x01\x12\x03H\x08\x10\n\xa5\x02\n\x04\x04\x03\x02\0\x12\x03M\x02\x16\ + \x1a\x97\x02\x20The\x20string\x20ID\x20for\x20the\x20programming\x20lang\ + uage\x20this\x20file\x20is\x20written\x20in.\n\x20The\x20`Language`\x20e\ + num\x20contains\x20the\x20names\x20of\x20most\x20common\x20programming\ + \x20languages.\n\x20This\x20field\x20is\x20typed\x20as\x20a\x20string\ + \x20to\x20permit\x20any\x20programming\x20language,\x20including\n\x20on\ + es\x20that\x20are\x20not\x20specified\x20by\x20the\x20`Language`\x20enum\ + .\n\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03M\x02\x08\n\x0c\n\x05\x04\x03\ + \x02\0\x01\x12\x03M\t\x11\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03M\x14\x15\ + \n\xb5\x03\n\x04\x04\x03\x02\x01\x12\x03W\x02\x1b\x1a\xa7\x03\x20(Requir\ + ed)\x20Unique\x20path\x20to\x20the\x20text\x20document.\n\n\x201.\x20The\ + \x20path\x20must\x20be\x20relative\x20to\x20the\x20directory\x20supplied\ + \x20in\x20the\x20associated\n\x20\x20\x20\x20`Metadata.project_root`.\n\ + \x202.\x20The\x20path\x20must\x20not\x20begin\x20with\x20a\x20leading\ + \x20'/'.\n\x203.\x20The\x20path\x20must\x20point\x20to\x20a\x20regular\ + \x20file,\x20not\x20a\x20symbolic\x20link.\n\x204.\x20The\x20path\x20mus\ + t\x20use\x20'/'\x20as\x20the\x20separator,\x20including\x20on\x20Windows\ + .\n\x205.\x20The\x20path\x20must\x20be\x20canonical;\x20it\x20cannot\x20\ + include\x20empty\x20components\x20('//'),\n\x20\x20\x20\x20or\x20'.'\x20\ + or\x20'..'.\n\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03W\x02\x08\n\x0c\n\ + \x05\x04\x03\x02\x01\x01\x12\x03W\t\x16\n\x0c\n\x05\x04\x03\x02\x01\x03\ + \x12\x03W\x19\x1a\n4\n\x04\x04\x03\x02\x02\x12\x03Y\x02&\x1a'\x20Occurre\ + nces\x20that\x20appear\x20in\x20this\x20file.\n\n\x0c\n\x05\x04\x03\x02\ + \x02\x04\x12\x03Y\x02\n\n\x0c\n\x05\x04\x03\x02\x02\x06\x12\x03Y\x0b\x15\ + \n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03Y\x16!\n\x0c\n\x05\x04\x03\x02\ + \x02\x03\x12\x03Y$%\n\xea\x01\n\x04\x04\x03\x02\x03\x12\x03_\x02)\x1a\ + \xdc\x01\x20Symbols\x20that\x20are\x20\"defined\"\x20within\x20this\x20d\ + ocument.\n\n\x20This\x20should\x20include\x20symbols\x20which\x20technic\ + ally\x20do\x20not\x20have\x20any\x20definition,\n\x20but\x20have\x20a\ + \x20reference\x20and\x20are\x20defined\x20by\x20some\x20other\x20symbol\ + \x20(see\n\x20Relationship.is_definition).\n\n\x0c\n\x05\x04\x03\x02\x03\ + \x04\x12\x03_\x02\n\n\x0c\n\x05\x04\x03\x02\x03\x06\x12\x03_\x0b\x1c\n\ + \x0c\n\x05\x04\x03\x02\x03\x01\x12\x03_\x1d$\n\x0c\n\x05\x04\x03\x02\x03\ + \x03\x12\x03_'(\n\xf7\x03\n\x04\x04\x03\x02\x04\x12\x03h\x02\x12\x1a\xe9\ + \x03\x20(optional)\x20Text\x20contents\x20of\x20the\x20this\x20document.\ + \x20Indexers\x20are\x20not\x20expected\x20to\n\x20include\x20the\x20text\ + \x20by\x20default.\x20It's\x20preferrable\x20that\x20clients\x20read\x20\ + the\x20text\n\x20contents\x20from\x20the\x20file\x20system\x20by\x20reso\ + lving\x20the\x20absolute\x20path\x20from\x20joining\n\x20`Index.metadata\ + .project_root`\x20and\x20`Document.relative_path`.\x20This\x20field\x20w\ + as\n\x20introduced\x20to\x20support\x20`SymbolInformation.signature_docu\ + mentation`,\x20but\x20it\n\x20can\x20be\x20used\x20for\x20other\x20purpo\ + ses\x20as\x20well,\x20for\x20example\x20testing\x20or\x20when\x20working\ + \n\x20with\x20virtual/in-memory\x20documents.\n\n\x0c\n\x05\x04\x03\x02\ + \x04\x05\x12\x03h\x02\x08\n\x0c\n\x05\x04\x03\x02\x04\x01\x12\x03h\t\r\n\ + \x0c\n\x05\x04\x03\x02\x04\x03\x12\x03h\x10\x11\nN\n\x04\x04\x03\x02\x05\ + \x12\x03k\x02)\x1aA\x20Specifies\x20the\x20encoding\x20used\x20for\x20so\ + urce\x20ranges\x20in\x20this\x20Document.\n\n\x0c\n\x05\x04\x03\x02\x05\ + \x06\x12\x03k\x02\x12\n\x0c\n\x05\x04\x03\x02\x05\x01\x12\x03k\x13$\n\ + \x0c\n\x05\x04\x03\x02\x05\x03\x12\x03k'(\nQ\n\x02\x05\x02\x12\x05o\0\ + \x87\x01\x01\x1aD\x20Encoding\x20used\x20to\x20interpret\x20the\x20'char\ + acter'\x20value\x20in\x20source\x20ranges.\n\n\n\n\x03\x05\x02\x01\x12\ + \x03o\x05\x15\n\x93\x01\n\x04\x05\x02\x02\0\x12\x03r\x02\"\x1a\x85\x01\ + \x20Default\x20value.\x20This\x20value\x20should\x20not\x20be\x20used\ + \x20by\x20new\x20SCIP\x20indexers\n\x20so\x20that\x20a\x20consumer\x20ca\ + n\x20process\x20the\x20SCIP\x20index\x20without\x20ambiguity.\n\n\x0c\n\ + \x05\x05\x02\x02\0\x01\x12\x03r\x02\x1d\n\x0c\n\x05\x05\x02\x02\0\x02\ + \x12\x03r\x20!\n\x8a\x02\n\x04\x05\x02\x02\x01\x12\x03y\x02\"\x1a\xfc\ + \x01\x20The\x20'character'\x20value\x20is\x20interpreted\x20as\x20a\x20b\ + yte\x20offset,\n\x20assuming\x20that\x20the\x20text\x20for\x20the\x20lin\ + e\x20is\x20encoded\x20as\x20UTF-8.\n\n\x20Example:\x20For\x20the\x20stri\ + ng\x20\"\xf0\x9f\x9a\x80\x20Woo\"\x20in\x20UTF-8,\x20the\x20bytes\x20are\ + \x20\n\x20[240,\x20159,\x20154,\x20128,\x2032,\x2087,\x20111,\x20111],\ + \x20so\x20the\x20offset\x20for\x20'W'\n\x20would\x20be\x205.\n\n\x0c\n\ + \x05\x05\x02\x02\x01\x01\x12\x03y\x02\x1d\n\x0c\n\x05\x05\x02\x02\x01\ + \x02\x12\x03y\x20!\n\xe0\x01\n\x04\x05\x02\x02\x02\x12\x03\x7f\x02&\x1a\ + \xd2\x01\x20The\x20'character'\x20value\x20is\x20interpreted\x20as\x20an\ + \x20offset\x20in\x20terms\n\x20of\x20UTF-8\x20code\x20units.\n\n\x20Exam\ + ple:\x20For\x20the\x20string\x20\"\xf0\x9f\x9a\x80\x20Woo\",\x20the\x20U\ + TF-8\x20code\x20units\x20are\n\x20['\xf0\x9f\x9a\x80',\x20'\x20',\x20'W'\ + ,\x20'o',\x20'o'],\x20so\x20the\x20offset\x20for\x20'W'\x20would\x20be\ + \x202.\n\n\x0c\n\x05\x05\x02\x02\x02\x01\x12\x03\x7f\x02!\n\x0c\n\x05\ + \x05\x02\x02\x02\x02\x12\x03\x7f$%\n\xf0\x01\n\x04\x05\x02\x02\x03\x12\ + \x04\x86\x01\x02'\x1a\xe1\x01\x20The\x20'character'\x20value\x20is\x20in\ + terpreted\x20as\x20an\x20offset\x20in\x20terms\n\x20of\x20UTF-16\x20code\ + \x20units.\n\n\x20Example:\x20For\x20the\x20string\x20\"\xf0\x9f\x9a\x80\ + \x20Woo\",\x20the\x20UTF-16\x20code\x20units\x20are\n\x20['\\ud83d',\x20\ + '\\ude80',\x20'\x20',\x20'W',\x20'o',\x20'o'],\x20so\x20the\x20offset\ + \x20for\x20'W'\n\x20would\x20be\x203.\n\n\r\n\x05\x05\x02\x02\x03\x01\ + \x12\x04\x86\x01\x02\"\n\r\n\x05\x05\x02\x02\x03\x02\x12\x04\x86\x01%&\n\ + \xa4\x11\n\x02\x04\x04\x12\x06\xb2\x01\0\xb6\x01\x01\x1a\x95\x11\x20Symb\ + ol\x20is\x20similar\x20to\x20a\x20URI,\x20it\x20identifies\x20a\x20class\ + ,\x20method,\x20or\x20a\x20local\n\x20variable.\x20`SymbolInformation`\ + \x20contains\x20rich\x20metadata\x20about\x20symbols\x20such\x20as\n\x20\ + the\x20docstring.\n\n\x20Symbol\x20has\x20a\x20standardized\x20string\ + \x20representation,\x20which\x20can\x20be\x20used\n\x20interchangeably\ + \x20with\x20`Symbol`.\x20The\x20syntax\x20for\x20Symbol\x20is\x20the\x20\ + following:\n\x20```\n\x20#\x20()+\x20stands\x20for\x20one\x20or\x20mo\ + re\x20repetitions\x20of\x20\n\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20::=\x20\x20'\x20'\x20\ + \x20'\x20'\x20()+\x20|\x20'local\x20'\x20\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\x20'\x20'\x20\x20'\x20'\x20\n\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20any\ + \x20UTF-8,\x20escape\x20spaces\x20with\x20double\x20space.\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20same\x20\ + as\x20above,\x20use\x20the\x20placeholder\x20'.'\x20to\x20indicate\x20an\ + \x20empty\x20value\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20::=\x20same\x20as\x20above\n\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20::=\x20same\x20as\x20above\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\x20|\ + \x20\x20|\x20\x20|\x20\x20|\x20\x20|\ + \x20\x20|\x20\x20|\x20\n\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\x20'/'\n\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\ - \x20\x20'.'\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20::=\x20\x20':'\n\x20\x20\x20\ + \x20\x20'#'\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20::=\x20\x20'.'\n\x20\x20\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\ - \x20'!'\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20::=\x20\x20'('\x20\x20').'\n\x20\ - \x20\x20\x20\x20\x20\x20\x20::=\x20'['\x20\x20']'\ - \n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\ - '('\x20\x20')'\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20::=\x20\n\x20\x20::=\x20\n\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20::=\x20\x20|\x20\n\x20\x20\x20\x20\x20::=\x20()+\n\x20\x20::=\x20'_'\x20|\x20'+'\x20|\x20'\ - -'\x20|\x20'$'\x20|\x20ASCII\x20letter\x20or\x20digit\n\x20\x20\x20\x20::=\x20'`'\x20()+\x20'`'\n\x20\x20\x20\x20::=\x20any\x20UTF-8\x20character,\x20escape\ - \x20backticks\x20with\x20double\x20backtick.\n\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\n\x20\ - ```\n\n\x20The\x20list\x20of\x20descriptors\x20for\x20a\x20symbol\x20sho\ - uld\x20together\x20form\x20a\x20fully\n\x20qualified\x20name\x20for\x20t\ - he\x20symbol.\x20That\x20is,\x20it\x20should\x20serve\x20as\x20a\x20uniq\ - ue\n\x20identifier\x20across\x20the\x20package.\x20Typically,\x20it\x20w\ - ill\x20include\x20one\x20descriptor\n\x20for\x20every\x20node\x20in\x20t\ - he\x20AST\x20(along\x20the\x20ancestry\x20path)\x20between\x20the\x20roo\ - t\x20of\n\x20the\x20file\x20and\x20the\x20node\x20corresponding\x20to\ - \x20the\x20symbol.\n\n\x20Local\x20symbols\x20MUST\x20only\x20be\x20used\ - \x20for\x20entities\x20which\x20are\x20local\x20to\x20a\x20Document,\n\ - \x20and\x20cannot\x20be\x20accessed\x20from\x20outside\x20the\x20Documen\ - t.\n\n\x0b\n\x03\x04\x04\x01\x12\x04\x94\x01\x08\x0e\n\x0c\n\x04\x04\x04\ - \x02\0\x12\x04\x95\x01\x02\x14\n\r\n\x05\x04\x04\x02\0\x05\x12\x04\x95\ - \x01\x02\x08\n\r\n\x05\x04\x04\x02\0\x01\x12\x04\x95\x01\t\x0f\n\r\n\x05\ - \x04\x04\x02\0\x03\x12\x04\x95\x01\x12\x13\n\x0c\n\x04\x04\x04\x02\x01\ - \x12\x04\x96\x01\x02\x16\n\r\n\x05\x04\x04\x02\x01\x06\x12\x04\x96\x01\ - \x02\t\n\r\n\x05\x04\x04\x02\x01\x01\x12\x04\x96\x01\n\x11\n\r\n\x05\x04\ - \x04\x02\x01\x03\x12\x04\x96\x01\x14\x15\n\x0c\n\x04\x04\x04\x02\x02\x12\ - \x04\x97\x01\x02&\n\r\n\x05\x04\x04\x02\x02\x04\x12\x04\x97\x01\x02\n\n\ - \r\n\x05\x04\x04\x02\x02\x06\x12\x04\x97\x01\x0b\x15\n\r\n\x05\x04\x04\ - \x02\x02\x01\x12\x04\x97\x01\x16!\n\r\n\x05\x04\x04\x02\x02\x03\x12\x04\ - \x97\x01$%\nq\n\x02\x04\x05\x12\x06\x9d\x01\0\xa1\x01\x01\x1ac\x20Unit\ - \x20of\x20packaging\x20and\x20distribution.\n\n\x20NOTE:\x20This\x20corr\ - esponds\x20to\x20a\x20module\x20in\x20Go\x20and\x20JVM\x20languages.\n\n\ - \x0b\n\x03\x04\x05\x01\x12\x04\x9d\x01\x08\x0f\n\x0c\n\x04\x04\x05\x02\0\ - \x12\x04\x9e\x01\x02\x15\n\r\n\x05\x04\x05\x02\0\x05\x12\x04\x9e\x01\x02\ - \x08\n\r\n\x05\x04\x05\x02\0\x01\x12\x04\x9e\x01\t\x10\n\r\n\x05\x04\x05\ - \x02\0\x03\x12\x04\x9e\x01\x13\x14\n\x0c\n\x04\x04\x05\x02\x01\x12\x04\ - \x9f\x01\x02\x12\n\r\n\x05\x04\x05\x02\x01\x05\x12\x04\x9f\x01\x02\x08\n\ - \r\n\x05\x04\x05\x02\x01\x01\x12\x04\x9f\x01\t\r\n\r\n\x05\x04\x05\x02\ - \x01\x03\x12\x04\x9f\x01\x10\x11\n\x0c\n\x04\x04\x05\x02\x02\x12\x04\xa0\ - \x01\x02\x15\n\r\n\x05\x04\x05\x02\x02\x05\x12\x04\xa0\x01\x02\x08\n\r\n\ - \x05\x04\x05\x02\x02\x01\x12\x04\xa0\x01\t\x10\n\r\n\x05\x04\x05\x02\x02\ - \x03\x12\x04\xa0\x01\x13\x14\n\x0c\n\x02\x04\x06\x12\x06\xa3\x01\0\xba\ - \x01\x01\n\x0b\n\x03\x04\x06\x01\x12\x04\xa3\x01\x08\x12\n\x0e\n\x04\x04\ - \x06\x04\0\x12\x06\xa4\x01\x02\xb6\x01\x03\n\r\n\x05\x04\x06\x04\0\x01\ - \x12\x04\xa4\x01\x07\r\n\r\n\x05\x04\x06\x04\0\x03\x12\x04\xa5\x01\x04\ - \x1e\n\x0e\n\x06\x04\x06\x04\0\x03\x02\x12\x04\xa5\x01\x04\x1e\n\x0e\n\ - \x06\x04\x06\x04\0\x02\0\x12\x04\xa6\x01\x04\x1a\n\x0f\n\x07\x04\x06\x04\ - \0\x02\0\x01\x12\x04\xa6\x01\x04\x15\n\x0f\n\x07\x04\x06\x04\0\x02\0\x02\ - \x12\x04\xa6\x01\x18\x19\n}\n\x06\x04\x06\x04\0\x02\x01\x12\x04\xaa\x01\ - \x04\x12\x1am\x20Unit\x20of\x20code\x20abstraction\x20and/or\x20namespac\ - ing.\n\n\x20NOTE:\x20This\x20corresponds\x20to\x20a\x20package\x20in\x20\ - Go\x20and\x20JVM\x20languages.\n\n\x0f\n\x07\x04\x06\x04\0\x02\x01\x01\ - \x12\x04\xaa\x01\x04\r\n\x0f\n\x07\x04\x06\x04\0\x02\x01\x02\x12\x04\xaa\ - \x01\x10\x11\n(\n\x06\x04\x06\x04\0\x02\x02\x12\x04\xac\x01\x04\"\x1a\ - \x18\x20Use\x20Namespace\x20instead.\n\n\x0f\n\x07\x04\x06\x04\0\x02\x02\ - \x01\x12\x04\xac\x01\x04\x0b\n\x0f\n\x07\x04\x06\x04\0\x02\x02\x02\x12\ - \x04\xac\x01\x0e\x0f\n\x0f\n\x07\x04\x06\x04\0\x02\x02\x03\x12\x04\xac\ - \x01\x10!\n\x10\n\x08\x04\x06\x04\0\x02\x02\x03\x01\x12\x04\xac\x01\x11\ - \x20\n\x0e\n\x06\x04\x06\x04\0\x02\x03\x12\x04\xad\x01\x04\r\n\x0f\n\x07\ - \x04\x06\x04\0\x02\x03\x01\x12\x04\xad\x01\x04\x08\n\x0f\n\x07\x04\x06\ - \x04\0\x02\x03\x02\x12\x04\xad\x01\x0b\x0c\n\x0e\n\x06\x04\x06\x04\0\x02\ - \x04\x12\x04\xae\x01\x04\r\n\x0f\n\x07\x04\x06\x04\0\x02\x04\x01\x12\x04\ - \xae\x01\x04\x08\n\x0f\n\x07\x04\x06\x04\0\x02\x04\x02\x12\x04\xae\x01\ - \x0b\x0c\n\x0e\n\x06\x04\x06\x04\0\x02\x05\x12\x04\xaf\x01\x04\x0f\n\x0f\ - \n\x07\x04\x06\x04\0\x02\x05\x01\x12\x04\xaf\x01\x04\n\n\x0f\n\x07\x04\ - \x06\x04\0\x02\x05\x02\x12\x04\xaf\x01\r\x0e\n\x0e\n\x06\x04\x06\x04\0\ - \x02\x06\x12\x04\xb0\x01\x04\x16\n\x0f\n\x07\x04\x06\x04\0\x02\x06\x01\ - \x12\x04\xb0\x01\x04\x11\n\x0f\n\x07\x04\x06\x04\0\x02\x06\x02\x12\x04\ - \xb0\x01\x14\x15\n\x0e\n\x06\x04\x06\x04\0\x02\x07\x12\x04\xb1\x01\x04\ - \x12\n\x0f\n\x07\x04\x06\x04\0\x02\x07\x01\x12\x04\xb1\x01\x04\r\n\x0f\n\ - \x07\x04\x06\x04\0\x02\x07\x02\x12\x04\xb1\x01\x10\x11\n.\n\x06\x04\x06\ - \x04\0\x02\x08\x12\x04\xb3\x01\x04\r\x1a\x1e\x20Can\x20be\x20used\x20for\ - \x20any\x20purpose.\n\n\x0f\n\x07\x04\x06\x04\0\x02\x08\x01\x12\x04\xb3\ - \x01\x04\x08\n\x0f\n\x07\x04\x06\x04\0\x02\x08\x02\x12\x04\xb3\x01\x0b\ - \x0c\n\x0e\n\x06\x04\x06\x04\0\x02\t\x12\x04\xb4\x01\x04\x0e\n\x0f\n\x07\ - \x04\x06\x04\0\x02\t\x01\x12\x04\xb4\x01\x04\t\n\x0f\n\x07\x04\x06\x04\0\ - \x02\t\x02\x12\x04\xb4\x01\x0c\r\n\x0e\n\x06\x04\x06\x04\0\x02\n\x12\x04\ - \xb5\x01\x04\x0e\n\x0f\n\x07\x04\x06\x04\0\x02\n\x01\x12\x04\xb5\x01\x04\ - \t\n\x0f\n\x07\x04\x06\x04\0\x02\n\x02\x12\x04\xb5\x01\x0c\r\n\x0c\n\x04\ - \x04\x06\x02\0\x12\x04\xb7\x01\x02\x12\n\r\n\x05\x04\x06\x02\0\x05\x12\ - \x04\xb7\x01\x02\x08\n\r\n\x05\x04\x06\x02\0\x01\x12\x04\xb7\x01\t\r\n\r\ - \n\x05\x04\x06\x02\0\x03\x12\x04\xb7\x01\x10\x11\n\x0c\n\x04\x04\x06\x02\ - \x01\x12\x04\xb8\x01\x02\x1b\n\r\n\x05\x04\x06\x02\x01\x05\x12\x04\xb8\ - \x01\x02\x08\n\r\n\x05\x04\x06\x02\x01\x01\x12\x04\xb8\x01\t\x16\n\r\n\ - \x05\x04\x06\x02\x01\x03\x12\x04\xb8\x01\x19\x1a\n\x0c\n\x04\x04\x06\x02\ - \x02\x12\x04\xb9\x01\x02\x14\n\r\n\x05\x04\x06\x02\x02\x06\x12\x04\xb9\ - \x01\x02\x08\n\r\n\x05\x04\x06\x02\x02\x01\x12\x04\xb9\x01\t\x0f\n\r\n\ - \x05\x04\x06\x02\x02\x03\x12\x04\xb9\x01\x12\x13\n\x83\x01\n\x02\x04\x07\ - \x12\x06\xbe\x01\0\x8a\x03\x01\x1au\x20SymbolInformation\x20defines\x20m\ - etadata\x20about\x20a\x20symbol,\x20such\x20as\x20the\x20symbol's\n\x20d\ - ocstring\x20or\x20what\x20package\x20it's\x20defined\x20it.\n\n\x0b\n\ - \x03\x04\x07\x01\x12\x04\xbe\x01\x08\x19\n\xa0\x01\n\x04\x04\x07\x02\0\ - \x12\x04\xc1\x01\x02\x14\x1a\x91\x01\x20Identifier\x20of\x20this\x20symb\ - ol,\x20which\x20can\x20be\x20referenced\x20from\x20`Occurence.symbol`.\n\ - \x20The\x20string\x20must\x20be\x20formatted\x20according\x20to\x20the\ - \x20grammar\x20in\x20`Symbol`.\n\n\r\n\x05\x04\x07\x02\0\x05\x12\x04\xc1\ - \x01\x02\x08\n\r\n\x05\x04\x07\x02\0\x01\x12\x04\xc1\x01\t\x0f\n\r\n\x05\ - \x04\x07\x02\0\x03\x12\x04\xc1\x01\x12\x13\n\xb4\x03\n\x04\x04\x07\x02\ - \x01\x12\x04\xc8\x01\x02$\x1a\xa5\x03\x20(optional,\x20but\x20strongly\ - \x20recommended)\x20The\x20markdown-formatted\x20documentation\n\x20for\ - \x20this\x20symbol.\x20Use\x20`SymbolInformation.signature_documentation\ - `\x20to\n\x20document\x20the\x20method/class/type\x20signature\x20of\x20\ - this\x20symbol.\n\x20Due\x20to\x20historical\x20reasons,\x20indexers\x20\ - may\x20include\x20signature\x20documentation\x20in\n\x20this\x20field\ - \x20by\x20rendering\x20markdown\x20code\x20blocks.\x20New\x20indexers\ - \x20should\x20only\n\x20include\x20non-code\x20documentation\x20in\x20th\ - is\x20field,\x20for\x20example\x20docstrings.\n\n\r\n\x05\x04\x07\x02\ - \x01\x04\x12\x04\xc8\x01\x02\n\n\r\n\x05\x04\x07\x02\x01\x05\x12\x04\xc8\ - \x01\x0b\x11\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\xc8\x01\x12\x1f\n\r\n\ - \x05\x04\x07\x02\x01\x03\x12\x04\xc8\x01\"#\n^\n\x04\x04\x07\x02\x02\x12\ - \x04\xca\x01\x02*\x1aP\x20(optional)\x20Relationships\x20to\x20other\x20\ - symbols\x20(e.g.,\x20implements,\x20type\x20definition).\n\n\r\n\x05\x04\ - \x07\x02\x02\x04\x12\x04\xca\x01\x02\n\n\r\n\x05\x04\x07\x02\x02\x06\x12\ - \x04\xca\x01\x0b\x17\n\r\n\x05\x04\x07\x02\x02\x01\x12\x04\xca\x01\x18%\ - \n\r\n\x05\x04\x07\x02\x02\x03\x12\x04\xca\x01()\n\xa4\x01\n\x04\x04\x07\ - \x02\x03\x12\x04\xce\x01\x02\x10\x1a\x95\x01\x20The\x20kind\x20of\x20thi\ - s\x20symbol.\x20Use\x20this\x20field\x20instead\x20of\n\x20`SymbolDescri\ - ptor.Suffix`\x20to\x20determine\x20whether\x20something\x20is,\x20for\ - \x20example,\x20a\n\x20class\x20or\x20a\x20method.\n\n\r\n\x05\x04\x07\ - \x02\x03\x06\x12\x04\xce\x01\x02\x06\n\r\n\x05\x04\x07\x02\x03\x01\x12\ - \x04\xce\x01\x07\x0b\n\r\n\x05\x04\x07\x02\x03\x03\x12\x04\xce\x01\x0e\ - \x0f\n\xf5\x05\n\x04\x04\x07\x04\0\x12\x06\xdd\x01\x02\xe6\x02\x03\x1a\ - \xe4\x05\x20(optional)\x20Kind\x20represents\x20the\x20fine-grained\x20c\ - ategory\x20of\x20a\x20symbol,\x20suitable\x20for\x20presenting\n\x20info\ - rmation\x20about\x20the\x20symbol's\x20meaning\x20in\x20the\x20language.\ - \n\n\x20For\x20example:\n\x20-\x20A\x20Java\x20method\x20would\x20have\ - \x20the\x20kind\x20`Method`\x20while\x20a\x20Go\x20function\x20would\n\ - \x20\x20\x20have\x20the\x20kind\x20`Function`,\x20even\x20if\x20the\x20s\ - ymbols\x20for\x20these\x20use\x20the\x20same\n\x20\x20\x20syntax\x20for\ - \x20the\x20descriptor\x20`SymbolDescriptor.Suffix.Method`.\n\x20-\x20A\ - \x20Go\x20struct\x20has\x20the\x20symbol\x20kind\x20`Struct`\x20while\ - \x20a\x20Java\x20class\x20has\n\x20\x20\x20the\x20symbol\x20kind\x20`Cla\ - ss`\x20even\x20if\x20they\x20both\x20have\x20the\x20same\x20descriptor:\ - \n\x20\x20\x20`SymbolDescriptor.Suffix.Type`.\n\n\x20Since\x20Kind\x20is\ - \x20more\x20fine-grained\x20than\x20Suffix:\n\x20-\x20If\x20two\x20symbo\ - ls\x20have\x20the\x20same\x20Kind,\x20they\x20should\x20share\x20the\x20\ - same\x20Suffix.\n\x20-\x20If\x20two\x20symbols\x20have\x20different\x20S\ - uffixes,\x20they\x20should\x20have\x20different\x20Kinds.\n\n\r\n\x05\ - \x04\x07\x04\0\x01\x12\x04\xdd\x01\x07\x0b\n\x0e\n\x06\x04\x07\x04\0\x02\ - \0\x12\x04\xde\x01\x06\x1a\n\x0f\n\x07\x04\x07\x04\0\x02\0\x01\x12\x04\ - \xde\x01\x06\x15\n\x0f\n\x07\x04\x07\x04\0\x02\0\x02\x12\x04\xde\x01\x18\ - \x19\nR\n\x06\x04\x07\x04\0\x02\x01\x12\x04\xe0\x01\x06\x1a\x1aB\x20A\ - \x20method\x20which\x20may\x20or\x20may\x20not\x20have\x20a\x20body.\x20\ - For\x20Java,\x20Kotlin\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02\x01\x01\ - \x12\x04\xe0\x01\x06\x14\n\x0f\n\x07\x04\x07\x04\0\x02\x01\x02\x12\x04\ - \xe0\x01\x17\x19\n*\n\x06\x04\x07\x04\0\x02\x02\x12\x04\xe2\x01\x06\x14\ - \x1a\x1a\x20For\x20Ruby's\x20attr_accessor\n\n\x0f\n\x07\x04\x07\x04\0\ - \x02\x02\x01\x12\x04\xe2\x01\x06\x0e\n\x0f\n\x07\x04\x07\x04\0\x02\x02\ - \x02\x12\x04\xe2\x01\x11\x13\n\x0e\n\x06\x04\x07\x04\0\x02\x03\x12\x04\ - \xe3\x01\x06\x10\n\x0f\n\x07\x04\x07\x04\0\x02\x03\x01\x12\x04\xe3\x01\ - \x06\x0b\n\x0f\n\x07\x04\x07\x04\0\x02\x03\x02\x12\x04\xe3\x01\x0e\x0f\n\ - \x1b\n\x06\x04\x07\x04\0\x02\x04\x12\x04\xe5\x01\x06\x14\x1a\x0b\x20For\ - \x20Alloy\n\n\x0f\n\x07\x04\x07\x04\0\x02\x04\x01\x12\x04\xe5\x01\x06\ - \x0f\n\x0f\n\x07\x04\x07\x04\0\x02\x04\x02\x12\x04\xe5\x01\x12\x13\n\x0e\ - \n\x06\x04\x07\x04\0\x02\x05\x12\x04\xe6\x01\x06\x19\n\x0f\n\x07\x04\x07\ - \x04\0\x02\x05\x01\x12\x04\xe6\x01\x06\x14\n\x0f\n\x07\x04\x07\x04\0\x02\ - \x05\x02\x12\x04\xe6\x01\x17\x18\n\x19\n\x06\x04\x07\x04\0\x02\x06\x12\ - \x04\xe8\x01\x06\x14\x1a\t\x20For\x20C++\n\n\x0f\n\x07\x04\x07\x04\0\x02\ - \x06\x01\x12\x04\xe8\x01\x06\x0f\n\x0f\n\x07\x04\x07\x04\0\x02\x06\x02\ - \x12\x04\xe8\x01\x12\x13\n\x1a\n\x06\x04\x07\x04\0\x02\x07\x12\x04\xea\ - \x01\x06\x10\x1a\n\x20For\x20Lean\n\n\x0f\n\x07\x04\x07\x04\0\x02\x07\ - \x01\x12\x04\xea\x01\x06\x0b\n\x0f\n\x07\x04\x07\x04\0\x02\x07\x02\x12\ - \x04\xea\x01\x0e\x0f\n\x0e\n\x06\x04\x07\x04\0\x02\x08\x12\x04\xeb\x01\ - \x06\x12\n\x0f\n\x07\x04\x07\x04\0\x02\x08\x01\x12\x04\xeb\x01\x06\r\n\ - \x0f\n\x07\x04\x07\x04\0\x02\x08\x02\x12\x04\xeb\x01\x10\x11\n\x0e\n\x06\ - \x04\x07\x04\0\x02\t\x12\x04\xec\x01\x06\x10\n\x0f\n\x07\x04\x07\x04\0\ - \x02\t\x01\x12\x04\xec\x01\x06\x0b\n\x0f\n\x07\x04\x07\x04\0\x02\t\x02\ - \x12\x04\xec\x01\x0e\x0f\n\x0e\n\x06\x04\x07\x04\0\x02\n\x12\x04\xed\x01\ - \x06\x13\n\x0f\n\x07\x04\x07\x04\0\x02\n\x01\x12\x04\xed\x01\x06\x0e\n\ - \x0f\n\x07\x04\x07\x04\0\x02\n\x02\x12\x04\xed\x01\x11\x12\n\x0e\n\x06\ - \x04\x07\x04\0\x02\x0b\x12\x04\xee\x01\x06\x16\n\x0f\n\x07\x04\x07\x04\0\ - \x02\x0b\x01\x12\x04\xee\x01\x06\x11\n\x0f\n\x07\x04\x07\x04\0\x02\x0b\ - \x02\x12\x04\xee\x01\x14\x15\n\x1e\n\x06\x04\x07\x04\0\x02\x0c\x12\x04\ - \xf0\x01\x06\x14\x1a\x0e\x20For\x20Solidity\n\n\x0f\n\x07\x04\x07\x04\0\ - \x02\x0c\x01\x12\x04\xf0\x01\x06\x0e\n\x0f\n\x07\x04\x07\x04\0\x02\x0c\ - \x02\x12\x04\xf0\x01\x11\x13\n\x1d\n\x06\x04\x07\x04\0\x02\r\x12\x04\xf2\ - \x01\x06\x16\x1a\r\x20For\x20Haskell\n\n\x0f\n\x07\x04\x07\x04\0\x02\r\ - \x01\x12\x04\xf2\x01\x06\x10\n\x0f\n\x07\x04\x07\x04\0\x02\r\x02\x12\x04\ - \xf2\x01\x13\x15\n\x1f\n\x06\x04\x07\x04\0\x02\x0e\x12\x04\xf4\x01\x06\ - \x14\x1a\x0f\x20For\x20C#\x20and\x20F#\n\n\x0f\n\x07\x04\x07\x04\0\x02\ - \x0e\x01\x12\x04\xf4\x01\x06\x0e\n\x0f\n\x07\x04\x07\x04\0\x02\x0e\x02\ - \x12\x04\xf4\x01\x11\x13\n\x0e\n\x06\x04\x07\x04\0\x02\x0f\x12\x04\xf5\ - \x01\x06\x10\n\x0f\n\x07\x04\x07\x04\0\x02\x0f\x01\x12\x04\xf5\x01\x06\n\ - \n\x0f\n\x07\x04\x07\x04\0\x02\x0f\x02\x12\x04\xf5\x01\r\x0f\n\x0e\n\x06\ - \x04\x07\x04\0\x02\x10\x12\x04\xf6\x01\x06\x16\n\x0f\n\x07\x04\x07\x04\0\ - \x02\x10\x01\x12\x04\xf6\x01\x06\x10\n\x0f\n\x07\x04\x07\x04\0\x02\x10\ - \x02\x12\x04\xf6\x01\x13\x15\n\x0e\n\x06\x04\x07\x04\0\x02\x11\x12\x04\ - \xf7\x01\x06\x11\n\x0f\n\x07\x04\x07\x04\0\x02\x11\x01\x12\x04\xf7\x01\ - \x06\x0b\n\x0f\n\x07\x04\x07\x04\0\x02\x11\x02\x12\x04\xf7\x01\x0e\x10\n\ - \x0e\n\x06\x04\x07\x04\0\x02\x12\x12\x04\xf8\x01\x06\x11\n\x0f\n\x07\x04\ - \x07\x04\0\x02\x12\x01\x12\x04\xf8\x01\x06\x0b\n\x0f\n\x07\x04\x07\x04\0\ - \x02\x12\x02\x12\x04\xf8\x01\x0e\x10\n\x1b\n\x06\x04\x07\x04\0\x02\x13\ - \x12\x04\xfa\x01\x06\x10\x1a\x0b\x20For\x20Alloy\n\n\x0f\n\x07\x04\x07\ - \x04\0\x02\x13\x01\x12\x04\xfa\x01\x06\n\n\x0f\n\x07\x04\x07\x04\0\x02\ - \x13\x02\x12\x04\xfa\x01\r\x0f\n\x0e\n\x06\x04\x07\x04\0\x02\x14\x12\x04\ - \xfb\x01\x06\x11\n\x0f\n\x07\x04\x07\x04\0\x02\x14\x01\x12\x04\xfb\x01\ - \x06\x0b\n\x0f\n\x07\x04\x07\x04\0\x02\x14\x02\x12\x04\xfb\x01\x0e\x10\n\ - \x0e\n\x06\x04\x07\x04\0\x02\x15\x12\x04\xfc\x01\x06\x10\n\x0f\n\x07\x04\ - \x07\x04\0\x02\x15\x01\x12\x04\xfc\x01\x06\n\n\x0f\n\x07\x04\x07\x04\0\ - \x02\x15\x02\x12\x04\xfc\x01\r\x0f\n\x0e\n\x06\x04\x07\x04\0\x02\x16\x12\ - \x04\xfd\x01\x06\x14\n\x0f\n\x07\x04\x07\x04\0\x02\x16\x01\x12\x04\xfd\ - \x01\x06\x0e\n\x0f\n\x07\x04\x07\x04\0\x02\x16\x02\x12\x04\xfd\x01\x11\ - \x13\n;\n\x06\x04\x07\x04\0\x02\x17\x12\x04\xff\x01\x06\x12\x1a+\x20For\ - \x20'get'\x20in\x20Swift,\x20'attr_reader'\x20in\x20Ruby\n\n\x0f\n\x07\ - \x04\x07\x04\0\x02\x17\x01\x12\x04\xff\x01\x06\x0c\n\x0f\n\x07\x04\x07\ - \x04\0\x02\x17\x02\x12\x04\xff\x01\x0f\x11\n\x1a\n\x06\x04\x07\x04\0\x02\ - \x18\x12\x04\x81\x02\x06\x13\x1a\n\x20For\x20Raku\n\n\x0f\n\x07\x04\x07\ - \x04\0\x02\x18\x01\x12\x04\x81\x02\x06\r\n\x0f\n\x07\x04\x07\x04\0\x02\ - \x18\x02\x12\x04\x81\x02\x10\x12\n)\n\x06\x04\x07\x04\0\x02\x19\x12\x04\ - \x83\x02\x06\x14\x1a\x19\x20For\x20Purescript\x20and\x20Lean\n\n\x0f\n\ - \x07\x04\x07\x04\0\x02\x19\x01\x12\x04\x83\x02\x06\x0e\n\x0f\n\x07\x04\ - \x07\x04\0\x02\x19\x02\x12\x04\x83\x02\x11\x13\n\x0e\n\x06\x04\x07\x04\0\ - \x02\x1a\x12\x04\x84\x02\x06\x15\n\x0f\n\x07\x04\x07\x04\0\x02\x1a\x01\ - \x12\x04\x84\x02\x06\x0f\n\x0f\n\x07\x04\x07\x04\0\x02\x1a\x02\x12\x04\ - \x84\x02\x12\x14\n\x0e\n\x06\x04\x07\x04\0\x02\x1b\x12\x04\x85\x02\x06\ - \x0f\n\x0f\n\x07\x04\x07\x04\0\x02\x1b\x01\x12\x04\x85\x02\x06\t\n\x0f\n\ - \x07\x04\x07\x04\0\x02\x1b\x02\x12\x04\x85\x02\x0c\x0e\n\x1c\n\x06\x04\ - \x07\x04\0\x02\x1c\x12\x04\x87\x02\x06\x10\x1a\x0c\x20For\x20Racket\n\n\ - \x0f\n\x07\x04\x07\x04\0\x02\x1c\x01\x12\x04\x87\x02\x06\n\n\x0f\n\x07\ - \x04\x07\x04\0\x02\x1c\x02\x12\x04\x87\x02\r\x0f\n\x1a\n\x06\x04\x07\x04\ - \0\x02\x1d\x12\x04\x89\x02\x06\x11\x1a\n\x20For\x20Lean\n\n\x0f\n\x07\ - \x04\x07\x04\0\x02\x1d\x01\x12\x04\x89\x02\x06\x0b\n\x0f\n\x07\x04\x07\ - \x04\0\x02\x1d\x02\x12\x04\x89\x02\x0e\x10\n\x1e\n\x06\x04\x07\x04\0\x02\ - \x1e\x12\x04\x8b\x02\x06\x13\x1a\x0e\x20For\x20solidity\n\n\x0f\n\x07\ - \x04\x07\x04\0\x02\x1e\x01\x12\x04\x8b\x02\x06\r\n\x0f\n\x07\x04\x07\x04\ - \0\x02\x1e\x02\x12\x04\x8b\x02\x10\x12\n\x0e\n\x06\x04\x07\x04\0\x02\x1f\ - \x12\x04\x8c\x02\x06\x11\n\x0f\n\x07\x04\x07\x04\0\x02\x1f\x01\x12\x04\ - \x8c\x02\x06\x0b\n\x0f\n\x07\x04\x07\x04\0\x02\x1f\x02\x12\x04\x8c\x02\ - \x0e\x10\n\x0e\n\x06\x04\x07\x04\0\x02\x20\x12\x04\x8d\x02\x06\x12\n\x0f\ - \n\x07\x04\x07\x04\0\x02\x20\x01\x12\x04\x8d\x02\x06\x0c\n\x0f\n\x07\x04\ - \x07\x04\0\x02\x20\x02\x12\x04\x8d\x02\x0f\x11\n\x1a\n\x06\x04\x07\x04\0\ - \x02!\x12\x04\x8f\x02\x06\x17\x1a\n\x20For\x20Ruby\n\n\x0f\n\x07\x04\x07\ - \x04\0\x02!\x01\x12\x04\x8f\x02\x06\x11\n\x0f\n\x07\x04\x07\x04\0\x02!\ - \x02\x12\x04\x8f\x02\x14\x16\n\x94\x01\n\x06\x04\x07\x04\0\x02\"\x12\x04\ - \x92\x02\x06\x1a\x1a\x83\x01\x20Analogous\x20to\x20'ThisParameter'\x20an\ - d\x20'SelfParameter',\x20but\x20for\x20languages\n\x20like\x20Go\x20wher\ - e\x20the\x20receiver\x20doesn't\x20have\x20a\x20conventional\x20name.\n\ - \n\x0f\n\x07\x04\x07\x04\0\x02\"\x01\x12\x04\x92\x02\x06\x14\n\x0f\n\x07\ - \x04\x07\x04\0\x02\"\x02\x12\x04\x92\x02\x17\x19\n8\n\x06\x04\x07\x04\0\ - \x02#\x12\x04\x94\x02\x06\x1f\x1a(\x20Analogous\x20to\x20'AbstractMethod\ - ',\x20for\x20Go.\n\n\x0f\n\x07\x04\x07\x04\0\x02#\x01\x12\x04\x94\x02\ - \x06\x19\n\x0f\n\x07\x04\x07\x04\0\x02#\x02\x12\x04\x94\x02\x1c\x1e\n\ - \x1e\n\x06\x04\x07\x04\0\x02$\x12\x04\x96\x02\x06\x13\x1a\x0e\x20For\x20\ - Protobuf\n\n\x0f\n\x07\x04\x07\x04\0\x02$\x01\x12\x04\x96\x02\x06\r\n\ - \x0f\n\x07\x04\x07\x04\0\x02$\x02\x12\x04\x96\x02\x10\x12\n\x1e\n\x06\ - \x04\x07\x04\0\x02%\x12\x04\x98\x02\x06\x14\x1a\x0e\x20For\x20Solidity\n\ - \n\x0f\n\x07\x04\x07\x04\0\x02%\x01\x12\x04\x98\x02\x06\x0e\n\x0f\n\x07\ - \x04\x07\x04\0\x02%\x02\x12\x04\x98\x02\x11\x13\n\x0e\n\x06\x04\x07\x04\ - \0\x02&\x12\x04\x99\x02\x06\x12\n\x0f\n\x07\x04\x07\x04\0\x02&\x01\x12\ - \x04\x99\x02\x06\x0c\n\x0f\n\x07\x04\x07\x04\0\x02&\x02\x12\x04\x99\x02\ - \x0f\x11\n\x0e\n\x06\x04\x07\x04\0\x02'\x12\x04\x9a\x02\x06\x15\n\x0f\n\ - \x07\x04\x07\x04\0\x02'\x01\x12\x04\x9a\x02\x06\x0f\n\x0f\n\x07\x04\x07\ - \x04\0\x02'\x02\x12\x04\x9a\x02\x12\x14\n\x0e\n\x06\x04\x07\x04\0\x02(\ - \x12\x04\x9b\x02\x06\x10\n\x0f\n\x07\x04\x07\x04\0\x02(\x01\x12\x04\x9b\ - \x02\x06\n\n\x0f\n\x07\x04\x07\x04\0\x02(\x02\x12\x04\x9b\x02\r\x0f\n\ - \x0e\n\x06\x04\x07\x04\0\x02)\x12\x04\x9c\x02\x06\x12\n\x0f\n\x07\x04\ - \x07\x04\0\x02)\x01\x12\x04\x9c\x02\x06\x0c\n\x0f\n\x07\x04\x07\x04\0\ - \x02)\x02\x12\x04\x9c\x02\x0f\x11\n\x0e\n\x06\x04\x07\x04\0\x02*\x12\x04\ - \x9d\x02\x06\x12\n\x0f\n\x07\x04\x07\x04\0\x02*\x01\x12\x04\x9d\x02\x06\ - \x0c\n\x0f\n\x07\x04\x07\x04\0\x02*\x02\x12\x04\x9d\x02\x0f\x11\n\x0e\n\ - \x06\x04\x07\x04\0\x02+\x12\x04\x9e\x02\x06\x14\n\x0f\n\x07\x04\x07\x04\ - \0\x02+\x01\x12\x04\x9e\x02\x06\x0e\n\x0f\n\x07\x04\x07\x04\0\x02+\x02\ - \x12\x04\x9e\x02\x11\x13\n\x0e\n\x06\x04\x07\x04\0\x02,\x12\x04\x9f\x02\ - \x06\x13\n\x0f\n\x07\x04\x07\x04\0\x02,\x01\x12\x04\x9f\x02\x06\r\n\x0f\ - \n\x07\x04\x07\x04\0\x02,\x02\x12\x04\x9f\x02\x10\x12\n\x0e\n\x06\x04\ - \x07\x04\0\x02-\x12\x04\xa0\x02\x06\x19\n\x0f\n\x07\x04\x07\x04\0\x02-\ - \x01\x12\x04\xa0\x02\x06\x13\n\x0f\n\x07\x04\x07\x04\0\x02-\x02\x12\x04\ - \xa0\x02\x16\x18\n\x0e\n\x06\x04\x07\x04\0\x02.\x12\x04\xa1\x02\x06\x15\ - \n\x0f\n\x07\x04\x07\x04\0\x02.\x01\x12\x04\xa1\x02\x06\x0f\n\x0f\n\x07\ - \x04\x07\x04\0\x02.\x02\x12\x04\xa1\x02\x12\x14\n\x0e\n\x06\x04\x07\x04\ - \0\x02/\x12\x04\xa2\x02\x06\x1a\n\x0f\n\x07\x04\x07\x04\0\x02/\x01\x12\ - \x04\xa2\x02\x06\x14\n\x0f\n\x07\x04\x07\x04\0\x02/\x02\x12\x04\xa2\x02\ - \x17\x19\n/\n\x06\x04\x07\x04\0\x020\x12\x04\xa4\x02\x06\x13\x1a\x1f\x20\ - For\x20Haskell's\x20PatternSynonyms\n\n\x0f\n\x07\x04\x07\x04\0\x020\x01\ - \x12\x04\xa4\x02\x06\r\n\x0f\n\x07\x04\x07\x04\0\x020\x02\x12\x04\xa4\ - \x02\x10\x12\n\x1b\n\x06\x04\x07\x04\0\x021\x12\x04\xa6\x02\x06\x15\x1a\ - \x0b\x20For\x20Alloy\n\n\x0f\n\x07\x04\x07\x04\0\x021\x01\x12\x04\xa6\ - \x02\x06\x0f\n\x0f\n\x07\x04\x07\x04\0\x021\x02\x12\x04\xa6\x02\x12\x14\ - \n\x0e\n\x06\x04\x07\x04\0\x022\x12\x04\xa7\x02\x06\x14\n\x0f\n\x07\x04\ - \x07\x04\0\x022\x01\x12\x04\xa7\x02\x06\x0e\n\x0f\n\x07\x04\x07\x04\0\ - \x022\x02\x12\x04\xa7\x02\x11\x13\nQ\n\x06\x04\x07\x04\0\x023\x12\x04\ - \xa9\x02\x06\x14\x1aA\x20Analogous\x20to\x20'Trait'\x20and\x20'TypeClass\ - ',\x20for\x20Swift\x20and\x20Objective-C\n\n\x0f\n\x07\x04\x07\x04\0\x02\ - 3\x01\x12\x04\xa9\x02\x06\x0e\n\x0f\n\x07\x04\x07\x04\0\x023\x02\x12\x04\ - \xa9\x02\x11\x13\nK\n\x06\x04\x07\x04\0\x024\x12\x04\xab\x02\x06\x1a\x1a\ - ;\x20Analogous\x20to\x20'AbstractMethod',\x20for\x20Swift\x20and\x20Obje\ - ctive-C.\n\n\x0f\n\x07\x04\x07\x04\0\x024\x01\x12\x04\xab\x02\x06\x14\n\ - \x0f\n\x07\x04\x07\x04\0\x024\x02\x12\x04\xab\x02\x17\x19\n9\n\x06\x04\ - \x07\x04\0\x025\x12\x04\xad\x02\x06\x1d\x1a)\x20Analogous\x20to\x20'Abst\ - ractMethod',\x20for\x20C++.\n\n\x0f\n\x07\x04\x07\x04\0\x025\x01\x12\x04\ - \xad\x02\x06\x17\n\x0f\n\x07\x04\x07\x04\0\x025\x02\x12\x04\xad\x02\x1a\ - \x1c\n\x1d\n\x06\x04\x07\x04\0\x026\x12\x04\xaf\x02\x06\x17\x1a\r\x20For\ - \x20Haskell\n\n\x0f\n\x07\x04\x07\x04\0\x026\x01\x12\x04\xaf\x02\x06\x11\ - \n\x0f\n\x07\x04\x07\x04\0\x026\x02\x12\x04\xaf\x02\x14\x16\n4\n\x06\x04\ - \x07\x04\0\x027\x12\x04\xb1\x02\x06\x19\x1a$\x20'self'\x20in\x20Python,\ - \x20Rust,\x20Swift\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x027\x01\x12\x04\ - \xb1\x02\x06\x13\n\x0f\n\x07\x04\x07\x04\0\x027\x02\x12\x04\xb1\x02\x16\ - \x18\n;\n\x06\x04\x07\x04\0\x028\x12\x04\xb3\x02\x06\x12\x1a+\x20For\x20\ - 'set'\x20in\x20Swift,\x20'attr_writer'\x20in\x20Ruby\n\n\x0f\n\x07\x04\ - \x07\x04\0\x028\x01\x12\x04\xb3\x02\x06\x0c\n\x0f\n\x07\x04\x07\x04\0\ - \x028\x02\x12\x04\xb3\x02\x0f\x11\n3\n\x06\x04\x07\x04\0\x029\x12\x04\ - \xb5\x02\x06\x15\x1a#\x20For\x20Alloy,\x20analogous\x20to\x20'Struct'.\n\ - \n\x0f\n\x07\x04\x07\x04\0\x029\x01\x12\x04\xb5\x02\x06\x0f\n\x0f\n\x07\ - \x04\x07\x04\0\x029\x02\x12\x04\xb5\x02\x12\x14\n\x1a\n\x06\x04\x07\x04\ - \0\x02:\x12\x04\xb7\x02\x06\x1a\x1a\n\x20For\x20Ruby\n\n\x0f\n\x07\x04\ - \x07\x04\0\x02:\x01\x12\x04\xb7\x02\x06\x14\n\x0f\n\x07\x04\x07\x04\0\ - \x02:\x02\x12\x04\xb7\x02\x17\x19\n8\n\x06\x04\x07\x04\0\x02;\x12\x04\ - \xb9\x02\x06\x1b\x1a(\x20Analogous\x20to\x20'StaticMethod',\x20for\x20Ru\ - by.\n\n\x0f\n\x07\x04\x07\x04\0\x02;\x01\x12\x04\xb9\x02\x06\x15\n\x0f\n\ - \x07\x04\x07\x04\0\x02;\x02\x12\x04\xb9\x02\x18\x1a\n5\n\x06\x04\x07\x04\ - \0\x02<\x12\x04\xbb\x02\x06\x1c\x1a%\x20Analogous\x20to\x20'StaticField'\ - ,\x20for\x20C++\n\n\x0f\n\x07\x04\x07\x04\0\x02<\x01\x12\x04\xbb\x02\x06\ - \x16\n\x0f\n\x07\x04\x07\x04\0\x02<\x02\x12\x04\xbb\x02\x19\x1b\n\x18\n\ - \x06\x04\x07\x04\0\x02=\x12\x04\xbd\x02\x06\x17\x1a\x08\x20For\x20C#\n\n\ - \x0f\n\x07\x04\x07\x04\0\x02=\x01\x12\x04\xbd\x02\x06\x11\n\x0f\n\x07\ - \x04\x07\x04\0\x02=\x02\x12\x04\xbd\x02\x14\x16\n\x18\n\x06\x04\x07\x04\ - \0\x02>\x12\x04\xbf\x02\x06\x17\x1a\x08\x20For\x20C#\n\n\x0f\n\x07\x04\ - \x07\x04\0\x02>\x01\x12\x04\xbf\x02\x06\x11\n\x0f\n\x07\x04\x07\x04\0\ - \x02>\x02\x12\x04\xbf\x02\x14\x16\n(\n\x06\x04\x07\x04\0\x02?\x12\x04\ - \xc1\x02\x06\x18\x1a\x18\x20For\x20Java,\x20C#,\x20C++\x20etc.\n\n\x0f\n\ - \x07\x04\x07\x04\0\x02?\x01\x12\x04\xc1\x02\x06\x12\n\x0f\n\x07\x04\x07\ - \x04\0\x02?\x02\x12\x04\xc1\x02\x15\x17\n)\n\x06\x04\x07\x04\0\x02@\x12\ - \x04\xc3\x02\x06\x1a\x1a\x19\x20For\x20C#,\x20TypeScript\x20etc.\n\n\x0f\ - \n\x07\x04\x07\x04\0\x02@\x01\x12\x04\xc3\x02\x06\x14\n\x0f\n\x07\x04\ - \x07\x04\0\x02@\x02\x12\x04\xc3\x02\x17\x19\n\x1c\n\x06\x04\x07\x04\0\ - \x02A\x12\x04\xc5\x02\x06\x1a\x1a\x0c\x20For\x20C,\x20C++\n\n\x0f\n\x07\ - \x04\x07\x04\0\x02A\x01\x12\x04\xc5\x02\x06\x14\n\x0f\n\x07\x04\x07\x04\ - \0\x02A\x02\x12\x04\xc5\x02\x17\x19\n\x0e\n\x06\x04\x07\x04\0\x02B\x12\ - \x04\xc6\x02\x06\x12\n\x0f\n\x07\x04\x07\x04\0\x02B\x01\x12\x04\xc6\x02\ - \x06\x0c\n\x0f\n\x07\x04\x07\x04\0\x02B\x02\x12\x04\xc6\x02\x0f\x11\n\ - \x0e\n\x06\x04\x07\x04\0\x02C\x12\x04\xc7\x02\x06\x12\n\x0f\n\x07\x04\ - \x07\x04\0\x02C\x01\x12\x04\xc7\x02\x06\x0c\n\x0f\n\x07\x04\x07\x04\0\ - \x02C\x02\x12\x04\xc7\x02\x0f\x11\n\x1b\n\x06\x04\x07\x04\0\x02D\x12\x04\ - \xc9\x02\x06\x15\x1a\x0b\x20For\x20Swift\n\n\x0f\n\x07\x04\x07\x04\0\x02\ - D\x01\x12\x04\xc9\x02\x06\x0f\n\x0f\n\x07\x04\x07\x04\0\x02D\x02\x12\x04\ - \xc9\x02\x12\x14\n\x1a\n\x06\x04\x07\x04\0\x02E\x12\x04\xcb\x02\x06\x12\ - \x1a\n\x20For\x20Lean\n\n\x0f\n\x07\x04\x07\x04\0\x02E\x01\x12\x04\xcb\ - \x02\x06\x0c\n\x0f\n\x07\x04\x07\x04\0\x02E\x02\x12\x04\xcb\x02\x0f\x11\ - \n\x1a\n\x06\x04\x07\x04\0\x02F\x12\x04\xcd\x02\x06\x13\x1a\n\x20For\x20\ - Lean\n\n\x0f\n\x07\x04\x07\x04\0\x02F\x01\x12\x04\xcd\x02\x06\r\n\x0f\n\ - \x07\x04\x07\x04\0\x02F\x02\x12\x04\xcd\x02\x10\x12\nU\n\x06\x04\x07\x04\ - \0\x02G\x12\x04\xd0\x02\x06\x19\x1aE\x20Method\x20receiver\x20for\x20lan\ - guages\n\x20'this'\x20in\x20JavaScript,\x20C++,\x20Java\x20etc.\n\n\x0f\ - \n\x07\x04\x07\x04\0\x02G\x01\x12\x04\xd0\x02\x06\x13\n\x0f\n\x07\x04\ - \x07\x04\0\x02G\x02\x12\x04\xd0\x02\x16\x18\nO\n\x06\x04\x07\x04\0\x02H\ - \x12\x04\xd2\x02\x06\x11\x1a?\x20Analogous\x20to\x20'Protocol'\x20and\ - \x20'TypeClass',\x20for\x20Rust,\x20Scala\x20etc.\n\n\x0f\n\x07\x04\x07\ - \x04\0\x02H\x01\x12\x04\xd2\x02\x06\x0b\n\x0f\n\x07\x04\x07\x04\0\x02H\ - \x02\x12\x04\xd2\x02\x0e\x10\nE\n\x06\x04\x07\x04\0\x02I\x12\x04\xd4\x02\ - \x06\x17\x1a5\x20Analogous\x20to\x20'AbstractMethod',\x20for\x20Rust,\ - \x20Scala\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02I\x01\x12\x04\xd4\x02\ - \x06\x11\n\x0f\n\x07\x04\x07\x04\0\x02I\x02\x12\x04\xd4\x02\x14\x16\n\ - \x89\x01\n\x06\x04\x07\x04\0\x02J\x12\x04\xd7\x02\x06\x10\x1ay\x20Data\ - \x20type\x20definition\x20for\x20languages\x20like\x20OCaml\x20which\x20\ - use\x20`type`\n\x20rather\x20than\x20separate\x20keywords\x20like\x20`st\ - ruct`\x20and\x20`enum`.\n\n\x0f\n\x07\x04\x07\x04\0\x02J\x01\x12\x04\xd7\ - \x02\x06\n\n\x0f\n\x07\x04\x07\x04\0\x02J\x02\x12\x04\xd7\x02\r\x0f\n\ - \x0e\n\x06\x04\x07\x04\0\x02K\x12\x04\xd8\x02\x06\x15\n\x0f\n\x07\x04\ - \x07\x04\0\x02K\x01\x12\x04\xd8\x02\x06\x0f\n\x0f\n\x07\x04\x07\x04\0\ - \x02K\x02\x12\x04\xd8\x02\x12\x14\nS\n\x06\x04\x07\x04\0\x02L\x12\x04\ - \xda\x02\x06\x15\x1aC\x20Analogous\x20to\x20'Trait'\x20and\x20'Protocol'\ - ,\x20for\x20Haskell,\x20Purescript\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\ - \x02L\x01\x12\x04\xda\x02\x06\x0f\n\x0f\n\x07\x04\x07\x04\0\x02L\x02\x12\ - \x04\xda\x02\x12\x14\nM\n\x06\x04\x07\x04\0\x02M\x12\x04\xdc\x02\x06\x1b\ - \x1a=\x20Analogous\x20to\x20'AbstractMethod',\x20for\x20Haskell,\x20Pure\ - script\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02M\x01\x12\x04\xdc\x02\x06\ - \x15\n\x0f\n\x07\x04\x07\x04\0\x02M\x02\x12\x04\xdc\x02\x18\x1a\n\x1d\n\ - \x06\x04\x07\x04\0\x02N\x12\x04\xde\x02\x06\x16\x1a\r\x20For\x20Haskell\ - \n\n\x0f\n\x07\x04\x07\x04\0\x02N\x01\x12\x04\xde\x02\x06\x10\n\x0f\n\ - \x07\x04\x07\x04\0\x02N\x02\x12\x04\xde\x02\x13\x15\n\x0e\n\x06\x04\x07\ - \x04\0\x02O\x12\x04\xdf\x02\x06\x19\n\x0f\n\x07\x04\x07\x04\0\x02O\x01\ - \x12\x04\xdf\x02\x06\x13\n\x0f\n\x07\x04\x07\x04\0\x02O\x02\x12\x04\xdf\ - \x02\x16\x18\n(\n\x06\x04\x07\x04\0\x02P\x12\x04\xe1\x02\x06\x11\x1a\x18\ - \x20For\x20C,\x20C++,\x20Capn\x20Proto\n\n\x0f\n\x07\x04\x07\x04\0\x02P\ - \x01\x12\x04\xe1\x02\x06\x0b\n\x0f\n\x07\x04\x07\x04\0\x02P\x02\x12\x04\ - \xe1\x02\x0e\x10\n\x0e\n\x06\x04\x07\x04\0\x02Q\x12\x04\xe2\x02\x06\x11\ - \n\x0f\n\x07\x04\x07\x04\0\x02Q\x01\x12\x04\xe2\x02\x06\x0b\n\x0f\n\x07\ - \x04\x07\x04\0\x02Q\x02\x12\x04\xe2\x02\x0e\x10\n[\n\x06\x04\x07\x04\0\ - \x02R\x12\x04\xe3\x02\x06\x14\"K\x20Next\x20=\x2083;\n\x20Feel\x20free\ - \x20to\x20open\x20a\x20PR\x20proposing\x20new\x20language-specific\x20ki\ - nds.\n\n\x0f\n\x07\x04\x07\x04\0\x02R\x01\x12\x04\xe3\x02\x06\x0e\n\x0f\ - \n\x07\x04\x07\x04\0\x02R\x02\x12\x04\xe3\x02\x11\x13\n\xf3\x03\n\x04\ - \x04\x07\x02\x04\x12\x04\xf0\x02\x02\x1a\x1a\xe4\x03\x20(optional)\x20Th\ - e\x20name\x20of\x20this\x20symbol\x20as\x20it\x20should\x20be\x20display\ - ed\x20to\x20the\x20user.\n\x20For\x20example,\x20the\x20symbol\x20\"com/\ - example/MyClass#myMethod(+1).\"\x20should\x20have\x20the\n\x20display\ - \x20name\x20\"myMethod\".\x20The\x20`symbol`\x20field\x20is\x20not\x20a\ - \x20reliable\x20source\x20of\n\x20the\x20display\x20name\x20for\x20sever\ - al\x20reasons:\n\n\x20-\x20Local\x20symbols\x20don't\x20encode\x20the\ - \x20name.\n\x20-\x20Some\x20languages\x20have\x20case-insensitive\x20nam\ - es,\x20so\x20the\x20symbol\x20is\x20all-lowercase.\n\x20-\x20The\x20symb\ - ol\x20may\x20encode\x20names\x20with\x20special\x20characters\x20that\ - \x20should\x20not\x20be\n\x20\x20\x20displayed\x20to\x20the\x20user.\n\n\ - \r\n\x05\x04\x07\x02\x04\x05\x12\x04\xf0\x02\x02\x08\n\r\n\x05\x04\x07\ - \x02\x04\x01\x12\x04\xf0\x02\t\x15\n\r\n\x05\x04\x07\x02\x04\x03\x12\x04\ - \xf0\x02\x18\x19\n\xc4\x03\n\x04\x04\x07\x02\x05\x12\x04\xf7\x02\x02'\ - \x1a\xb5\x03\x20(optional)\x20The\x20signature\x20of\x20this\x20symbol\ - \x20as\x20it's\x20displayed\x20in\x20API\n\x20documentation\x20or\x20in\ - \x20hover\x20tooltips.\x20For\x20example,\x20a\x20Java\x20method\x20that\ - \x20adds\n\x20two\x20numbers\x20this\x20would\x20have\x20`Document.langu\ - age\x20=\x20\"java\"`\x20and\x20`Document.text\n\x20=\x20\"void\x20add(i\ - nt\x20a,\x20int\x20b)\".\x20The\x20`language`\x20and\x20`text`\x20fields\ - \x20are\x20required\n\x20while\x20other\x20fields\x20such\x20as\x20`Docu\ - mentation.occurrences`\x20can\x20be\x20optionally\n\x20included\x20to\ - \x20support\x20hyperlinking\x20referenced\x20symbols\x20in\x20the\x20sig\ - nature.\n\n\r\n\x05\x04\x07\x02\x05\x06\x12\x04\xf7\x02\x02\n\n\r\n\x05\ - \x04\x07\x02\x05\x01\x12\x04\xf7\x02\x0b\"\n\r\n\x05\x04\x07\x02\x05\x03\ - \x12\x04\xf7\x02%&\n\xc9\x08\n\x04\x04\x07\x02\x06\x12\x04\x89\x03\x02\ - \x1e\x1a\xba\x08\x20(optional)\x20The\x20enclosing\x20symbol\x20if\x20th\ - is\x20is\x20a\x20local\x20symbol.\x20\x20For\x20non-local\n\x20symbols,\ - \x20the\x20enclosing\x20symbol\x20should\x20be\x20parsed\x20from\x20the\ - \x20`symbol`\x20field\n\x20using\x20the\x20`Descriptor`\x20grammar.\n\n\ - \x20The\x20primary\x20use-case\x20for\x20this\x20field\x20is\x20to\x20al\ - low\x20local\x20symbol\x20to\x20be\x20displayed\n\x20in\x20a\x20symbol\ - \x20hierarchy\x20for\x20API\x20documentation.\x20It's\x20OK\x20to\x20lea\ - ve\x20this\x20field\n\x20empty\x20for\x20local\x20variables\x20since\x20\ - local\x20variables\x20usually\x20don't\x20belong\x20in\x20API\n\x20docum\ - entation.\x20However,\x20in\x20the\x20situation\x20that\x20you\x20wish\ - \x20to\x20include\x20a\x20local\n\x20symbol\x20in\x20the\x20hierarchy,\ - \x20then\x20you\x20can\x20use\x20`enclosing_symbol`\x20to\x20locate\x20t\ - he\n\x20\"parent\"\x20or\x20\"owner\"\x20of\x20this\x20local\x20symbol.\ - \x20For\x20example,\x20a\x20Java\x20indexer\x20may\n\x20choose\x20to\x20\ - use\x20local\x20symbols\x20for\x20private\x20class\x20fields\x20while\ - \x20providing\x20an\n\x20`enclosing_symbol`\x20to\x20reference\x20the\ - \x20enclosing\x20class\x20to\x20allow\x20the\x20field\x20to\n\x20be\x20p\ - art\x20of\x20the\x20class\x20documentation\x20hierarchy.\x20From\x20the\ - \x20perspective\x20of\x20an\n\x20author\x20of\x20an\x20indexer,\x20the\ - \x20decision\x20to\x20use\x20a\x20local\x20symbol\x20or\x20global\x20sym\ - bol\n\x20should\x20exclusively\x20be\x20determined\x20whether\x20the\x20\ - local\x20symbol\x20is\x20accessible\n\x20outside\x20the\x20document,\x20\ - not\x20by\x20the\x20capability\x20to\x20find\x20the\x20enclosing\n\x20sy\ - mbol.\n\n\r\n\x05\x04\x07\x02\x06\x05\x12\x04\x89\x03\x02\x08\n\r\n\x05\ - \x04\x07\x02\x06\x01\x12\x04\x89\x03\t\x19\n\r\n\x05\x04\x07\x02\x06\x03\ - \x12\x04\x89\x03\x1c\x1d\n\x0c\n\x02\x04\x08\x12\x06\x8d\x03\0\xc5\x03\ - \x01\n\x0b\n\x03\x04\x08\x01\x12\x04\x8d\x03\x08\x14\n\x0c\n\x04\x04\x08\ - \x02\0\x12\x04\x8e\x03\x02\x14\n\r\n\x05\x04\x08\x02\0\x05\x12\x04\x8e\ - \x03\x02\x08\n\r\n\x05\x04\x08\x02\0\x01\x12\x04\x8e\x03\t\x0f\n\r\n\x05\ - \x04\x08\x02\0\x03\x12\x04\x8e\x03\x12\x13\n\xde\x08\n\x04\x04\x08\x02\ - \x01\x12\x04\xa7\x03\x02\x18\x1a\xcf\x08\x20When\x20resolving\x20\"Find\ - \x20references\",\x20this\x20field\x20documents\x20what\x20other\x20symb\ - ols\n\x20should\x20be\x20included\x20together\x20with\x20this\x20symbol.\ - \x20For\x20example,\x20consider\x20the\n\x20following\x20TypeScript\x20c\ - ode\x20that\x20defines\x20two\x20symbols\x20`Animal#sound()`\x20and\n\ - \x20`Dog#sound()`:\n\x20```ts\n\x20interface\x20Animal\x20{\n\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^^\x20definition\x20Animal#\n\ - \x20\x20\x20sound():\x20string\n\x20\x20\x20^^^^^\x20definition\x20Anima\ - l#sound()\n\x20}\n\x20class\x20Dog\x20implements\x20Animal\x20{\n\x20\ - \x20\x20\x20\x20\x20\x20^^^\x20definition\x20Dog#,\x20relationships\x20=\ - \x20[{symbol:\x20\"Animal#\",\x20is_implementation:\x20true}]\n\x20\x20\ - \x20public\x20sound():\x20string\x20{\x20return\x20\"woof\"\x20}\n\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^\x20definition\x20Dog#sound(),\ - \x20references_symbols\x20=\x20Animal#sound(),\x20relationships\x20=\x20\ - [{symbol:\x20\"Animal#sound()\",\x20is_implementation:true,\x20is_refere\ - nce:\x20true}]\n\x20}\n\x20const\x20animal:\x20Animal\x20=\x20new\x20Dog\ - ()\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^^\ - \x20reference\x20Animal#\n\x20console.log(animal.sound())\n\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^\ - ^\x20reference\x20Animal#sound()\n\x20```\n\x20Doing\x20\"Find\x20refere\ - nces\"\x20on\x20the\x20symbol\x20`Animal#sound()`\x20should\x20return\n\ - \x20references\x20to\x20the\x20`Dog#sound()`\x20method\x20as\x20well.\ + \x20':'\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20::=\x20\x20'!'\n\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\x20'('\x20\x20').'\n\x20\x20\x20\x20\x20\x20\x20\x20::=\ + \x20'['\x20\x20']'\n\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20::=\x20'('\x20\x20')'\n\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\n\x20\x20::=\x20\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\x20|\x20\n\x20\x20\x20\x20\ + \x20::=\x20()+\n\x20\x20::=\ + \x20'_'\x20|\x20'+'\x20|\x20'-'\x20|\x20'$'\x20|\x20ASCII\x20letter\x20o\ + r\x20digit\n\x20\x20\x20\x20::=\x20'`'\x20()+\x20'`'\n\x20\x20\x20\x20::=\x20any\x20U\ + TF-8\x20character,\x20escape\x20backticks\x20with\x20double\x20backtick.\ + \n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\ + \x20\n\x20```\n\n\x20The\x20list\x20of\x20descriptors\ + \x20for\x20a\x20symbol\x20should\x20together\x20form\x20a\x20fully\n\x20\ + qualified\x20name\x20for\x20the\x20symbol.\x20That\x20is,\x20it\x20shoul\ + d\x20serve\x20as\x20a\x20unique\n\x20identifier\x20across\x20the\x20pack\ + age.\x20Typically,\x20it\x20will\x20include\x20one\x20descriptor\n\x20fo\ + r\x20every\x20node\x20in\x20the\x20AST\x20(along\x20the\x20ancestry\x20p\ + ath)\x20between\x20the\x20root\x20of\n\x20the\x20file\x20and\x20the\x20n\ + ode\x20corresponding\x20to\x20the\x20symbol.\n\n\x20Local\x20symbols\x20\ + MUST\x20only\x20be\x20used\x20for\x20entities\x20which\x20are\x20local\ + \x20to\x20a\x20Document,\n\x20and\x20cannot\x20be\x20accessed\x20from\ + \x20outside\x20the\x20Document.\n\n\x0b\n\x03\x04\x04\x01\x12\x04\xb2\ + \x01\x08\x0e\n\x0c\n\x04\x04\x04\x02\0\x12\x04\xb3\x01\x02\x14\n\r\n\x05\ + \x04\x04\x02\0\x05\x12\x04\xb3\x01\x02\x08\n\r\n\x05\x04\x04\x02\0\x01\ + \x12\x04\xb3\x01\t\x0f\n\r\n\x05\x04\x04\x02\0\x03\x12\x04\xb3\x01\x12\ + \x13\n\x0c\n\x04\x04\x04\x02\x01\x12\x04\xb4\x01\x02\x16\n\r\n\x05\x04\ + \x04\x02\x01\x06\x12\x04\xb4\x01\x02\t\n\r\n\x05\x04\x04\x02\x01\x01\x12\ + \x04\xb4\x01\n\x11\n\r\n\x05\x04\x04\x02\x01\x03\x12\x04\xb4\x01\x14\x15\ + \n\x0c\n\x04\x04\x04\x02\x02\x12\x04\xb5\x01\x02&\n\r\n\x05\x04\x04\x02\ + \x02\x04\x12\x04\xb5\x01\x02\n\n\r\n\x05\x04\x04\x02\x02\x06\x12\x04\xb5\ + \x01\x0b\x15\n\r\n\x05\x04\x04\x02\x02\x01\x12\x04\xb5\x01\x16!\n\r\n\ + \x05\x04\x04\x02\x02\x03\x12\x04\xb5\x01$%\nq\n\x02\x04\x05\x12\x06\xbb\ + \x01\0\xbf\x01\x01\x1ac\x20Unit\x20of\x20packaging\x20and\x20distributio\ + n.\n\n\x20NOTE:\x20This\x20corresponds\x20to\x20a\x20module\x20in\x20Go\ + \x20and\x20JVM\x20languages.\n\n\x0b\n\x03\x04\x05\x01\x12\x04\xbb\x01\ + \x08\x0f\n\x0c\n\x04\x04\x05\x02\0\x12\x04\xbc\x01\x02\x15\n\r\n\x05\x04\ + \x05\x02\0\x05\x12\x04\xbc\x01\x02\x08\n\r\n\x05\x04\x05\x02\0\x01\x12\ + \x04\xbc\x01\t\x10\n\r\n\x05\x04\x05\x02\0\x03\x12\x04\xbc\x01\x13\x14\n\ + \x0c\n\x04\x04\x05\x02\x01\x12\x04\xbd\x01\x02\x12\n\r\n\x05\x04\x05\x02\ + \x01\x05\x12\x04\xbd\x01\x02\x08\n\r\n\x05\x04\x05\x02\x01\x01\x12\x04\ + \xbd\x01\t\r\n\r\n\x05\x04\x05\x02\x01\x03\x12\x04\xbd\x01\x10\x11\n\x0c\ + \n\x04\x04\x05\x02\x02\x12\x04\xbe\x01\x02\x15\n\r\n\x05\x04\x05\x02\x02\ + \x05\x12\x04\xbe\x01\x02\x08\n\r\n\x05\x04\x05\x02\x02\x01\x12\x04\xbe\ + \x01\t\x10\n\r\n\x05\x04\x05\x02\x02\x03\x12\x04\xbe\x01\x13\x14\n\x0c\n\ + \x02\x04\x06\x12\x06\xc1\x01\0\xd8\x01\x01\n\x0b\n\x03\x04\x06\x01\x12\ + \x04\xc1\x01\x08\x12\n\x0e\n\x04\x04\x06\x04\0\x12\x06\xc2\x01\x02\xd4\ + \x01\x03\n\r\n\x05\x04\x06\x04\0\x01\x12\x04\xc2\x01\x07\r\n\r\n\x05\x04\ + \x06\x04\0\x03\x12\x04\xc3\x01\x04\x1e\n\x0e\n\x06\x04\x06\x04\0\x03\x02\ + \x12\x04\xc3\x01\x04\x1e\n\x0e\n\x06\x04\x06\x04\0\x02\0\x12\x04\xc4\x01\ + \x04\x1a\n\x0f\n\x07\x04\x06\x04\0\x02\0\x01\x12\x04\xc4\x01\x04\x15\n\ + \x0f\n\x07\x04\x06\x04\0\x02\0\x02\x12\x04\xc4\x01\x18\x19\n}\n\x06\x04\ + \x06\x04\0\x02\x01\x12\x04\xc8\x01\x04\x12\x1am\x20Unit\x20of\x20code\ + \x20abstraction\x20and/or\x20namespacing.\n\n\x20NOTE:\x20This\x20corres\ + ponds\x20to\x20a\x20package\x20in\x20Go\x20and\x20JVM\x20languages.\n\n\ + \x0f\n\x07\x04\x06\x04\0\x02\x01\x01\x12\x04\xc8\x01\x04\r\n\x0f\n\x07\ + \x04\x06\x04\0\x02\x01\x02\x12\x04\xc8\x01\x10\x11\n(\n\x06\x04\x06\x04\ + \0\x02\x02\x12\x04\xca\x01\x04\"\x1a\x18\x20Use\x20Namespace\x20instead.\ + \n\n\x0f\n\x07\x04\x06\x04\0\x02\x02\x01\x12\x04\xca\x01\x04\x0b\n\x0f\n\ + \x07\x04\x06\x04\0\x02\x02\x02\x12\x04\xca\x01\x0e\x0f\n\x0f\n\x07\x04\ + \x06\x04\0\x02\x02\x03\x12\x04\xca\x01\x10!\n\x10\n\x08\x04\x06\x04\0\ + \x02\x02\x03\x01\x12\x04\xca\x01\x11\x20\n\x0e\n\x06\x04\x06\x04\0\x02\ + \x03\x12\x04\xcb\x01\x04\r\n\x0f\n\x07\x04\x06\x04\0\x02\x03\x01\x12\x04\ + \xcb\x01\x04\x08\n\x0f\n\x07\x04\x06\x04\0\x02\x03\x02\x12\x04\xcb\x01\ + \x0b\x0c\n\x0e\n\x06\x04\x06\x04\0\x02\x04\x12\x04\xcc\x01\x04\r\n\x0f\n\ + \x07\x04\x06\x04\0\x02\x04\x01\x12\x04\xcc\x01\x04\x08\n\x0f\n\x07\x04\ + \x06\x04\0\x02\x04\x02\x12\x04\xcc\x01\x0b\x0c\n\x0e\n\x06\x04\x06\x04\0\ + \x02\x05\x12\x04\xcd\x01\x04\x0f\n\x0f\n\x07\x04\x06\x04\0\x02\x05\x01\ + \x12\x04\xcd\x01\x04\n\n\x0f\n\x07\x04\x06\x04\0\x02\x05\x02\x12\x04\xcd\ + \x01\r\x0e\n\x0e\n\x06\x04\x06\x04\0\x02\x06\x12\x04\xce\x01\x04\x16\n\ + \x0f\n\x07\x04\x06\x04\0\x02\x06\x01\x12\x04\xce\x01\x04\x11\n\x0f\n\x07\ + \x04\x06\x04\0\x02\x06\x02\x12\x04\xce\x01\x14\x15\n\x0e\n\x06\x04\x06\ + \x04\0\x02\x07\x12\x04\xcf\x01\x04\x12\n\x0f\n\x07\x04\x06\x04\0\x02\x07\ + \x01\x12\x04\xcf\x01\x04\r\n\x0f\n\x07\x04\x06\x04\0\x02\x07\x02\x12\x04\ + \xcf\x01\x10\x11\n.\n\x06\x04\x06\x04\0\x02\x08\x12\x04\xd1\x01\x04\r\ + \x1a\x1e\x20Can\x20be\x20used\x20for\x20any\x20purpose.\n\n\x0f\n\x07\ + \x04\x06\x04\0\x02\x08\x01\x12\x04\xd1\x01\x04\x08\n\x0f\n\x07\x04\x06\ + \x04\0\x02\x08\x02\x12\x04\xd1\x01\x0b\x0c\n\x0e\n\x06\x04\x06\x04\0\x02\ + \t\x12\x04\xd2\x01\x04\x0e\n\x0f\n\x07\x04\x06\x04\0\x02\t\x01\x12\x04\ + \xd2\x01\x04\t\n\x0f\n\x07\x04\x06\x04\0\x02\t\x02\x12\x04\xd2\x01\x0c\r\ + \n\x0e\n\x06\x04\x06\x04\0\x02\n\x12\x04\xd3\x01\x04\x0e\n\x0f\n\x07\x04\ + \x06\x04\0\x02\n\x01\x12\x04\xd3\x01\x04\t\n\x0f\n\x07\x04\x06\x04\0\x02\ + \n\x02\x12\x04\xd3\x01\x0c\r\n\x0c\n\x04\x04\x06\x02\0\x12\x04\xd5\x01\ + \x02\x12\n\r\n\x05\x04\x06\x02\0\x05\x12\x04\xd5\x01\x02\x08\n\r\n\x05\ + \x04\x06\x02\0\x01\x12\x04\xd5\x01\t\r\n\r\n\x05\x04\x06\x02\0\x03\x12\ + \x04\xd5\x01\x10\x11\n\x0c\n\x04\x04\x06\x02\x01\x12\x04\xd6\x01\x02\x1b\ + \n\r\n\x05\x04\x06\x02\x01\x05\x12\x04\xd6\x01\x02\x08\n\r\n\x05\x04\x06\ + \x02\x01\x01\x12\x04\xd6\x01\t\x16\n\r\n\x05\x04\x06\x02\x01\x03\x12\x04\ + \xd6\x01\x19\x1a\n\x0c\n\x04\x04\x06\x02\x02\x12\x04\xd7\x01\x02\x14\n\r\ + \n\x05\x04\x06\x02\x02\x06\x12\x04\xd7\x01\x02\x08\n\r\n\x05\x04\x06\x02\ + \x02\x01\x12\x04\xd7\x01\t\x0f\n\r\n\x05\x04\x06\x02\x02\x03\x12\x04\xd7\ + \x01\x12\x13\n\x83\x01\n\x02\x04\x07\x12\x06\xdc\x01\0\xa8\x03\x01\x1au\ + \x20SymbolInformation\x20defines\x20metadata\x20about\x20a\x20symbol,\ + \x20such\x20as\x20the\x20symbol's\n\x20docstring\x20or\x20what\x20packag\ + e\x20it's\x20defined\x20it.\n\n\x0b\n\x03\x04\x07\x01\x12\x04\xdc\x01\ + \x08\x19\n\xa0\x01\n\x04\x04\x07\x02\0\x12\x04\xdf\x01\x02\x14\x1a\x91\ + \x01\x20Identifier\x20of\x20this\x20symbol,\x20which\x20can\x20be\x20ref\ + erenced\x20from\x20`Occurence.symbol`.\n\x20The\x20string\x20must\x20be\ + \x20formatted\x20according\x20to\x20the\x20grammar\x20in\x20`Symbol`.\n\ + \n\r\n\x05\x04\x07\x02\0\x05\x12\x04\xdf\x01\x02\x08\n\r\n\x05\x04\x07\ + \x02\0\x01\x12\x04\xdf\x01\t\x0f\n\r\n\x05\x04\x07\x02\0\x03\x12\x04\xdf\ + \x01\x12\x13\n\xb4\x03\n\x04\x04\x07\x02\x01\x12\x04\xe6\x01\x02$\x1a\ + \xa5\x03\x20(optional,\x20but\x20strongly\x20recommended)\x20The\x20mark\ + down-formatted\x20documentation\n\x20for\x20this\x20symbol.\x20Use\x20`S\ + ymbolInformation.signature_documentation`\x20to\n\x20document\x20the\x20\ + method/class/type\x20signature\x20of\x20this\x20symbol.\n\x20Due\x20to\ + \x20historical\x20reasons,\x20indexers\x20may\x20include\x20signature\ + \x20documentation\x20in\n\x20this\x20field\x20by\x20rendering\x20markdow\ + n\x20code\x20blocks.\x20New\x20indexers\x20should\x20only\n\x20include\ + \x20non-code\x20documentation\x20in\x20this\x20field,\x20for\x20example\ + \x20docstrings.\n\n\r\n\x05\x04\x07\x02\x01\x04\x12\x04\xe6\x01\x02\n\n\ + \r\n\x05\x04\x07\x02\x01\x05\x12\x04\xe6\x01\x0b\x11\n\r\n\x05\x04\x07\ + \x02\x01\x01\x12\x04\xe6\x01\x12\x1f\n\r\n\x05\x04\x07\x02\x01\x03\x12\ + \x04\xe6\x01\"#\n^\n\x04\x04\x07\x02\x02\x12\x04\xe8\x01\x02*\x1aP\x20(o\ + ptional)\x20Relationships\x20to\x20other\x20symbols\x20(e.g.,\x20impleme\ + nts,\x20type\x20definition).\n\n\r\n\x05\x04\x07\x02\x02\x04\x12\x04\xe8\ + \x01\x02\n\n\r\n\x05\x04\x07\x02\x02\x06\x12\x04\xe8\x01\x0b\x17\n\r\n\ + \x05\x04\x07\x02\x02\x01\x12\x04\xe8\x01\x18%\n\r\n\x05\x04\x07\x02\x02\ + \x03\x12\x04\xe8\x01()\n\xa4\x01\n\x04\x04\x07\x02\x03\x12\x04\xec\x01\ + \x02\x10\x1a\x95\x01\x20The\x20kind\x20of\x20this\x20symbol.\x20Use\x20t\ + his\x20field\x20instead\x20of\n\x20`SymbolDescriptor.Suffix`\x20to\x20de\ + termine\x20whether\x20something\x20is,\x20for\x20example,\x20a\n\x20clas\ + s\x20or\x20a\x20method.\n\n\r\n\x05\x04\x07\x02\x03\x06\x12\x04\xec\x01\ + \x02\x06\n\r\n\x05\x04\x07\x02\x03\x01\x12\x04\xec\x01\x07\x0b\n\r\n\x05\ + \x04\x07\x02\x03\x03\x12\x04\xec\x01\x0e\x0f\n\xf5\x05\n\x04\x04\x07\x04\ + \0\x12\x06\xfb\x01\x02\x84\x03\x03\x1a\xe4\x05\x20(optional)\x20Kind\x20\ + represents\x20the\x20fine-grained\x20category\x20of\x20a\x20symbol,\x20s\ + uitable\x20for\x20presenting\n\x20information\x20about\x20the\x20symbol'\ + s\x20meaning\x20in\x20the\x20language.\n\n\x20For\x20example:\n\x20-\x20\ + A\x20Java\x20method\x20would\x20have\x20the\x20kind\x20`Method`\x20while\ + \x20a\x20Go\x20function\x20would\n\x20\x20\x20have\x20the\x20kind\x20`Fu\ + nction`,\x20even\x20if\x20the\x20symbols\x20for\x20these\x20use\x20the\ + \x20same\n\x20\x20\x20syntax\x20for\x20the\x20descriptor\x20`SymbolDescr\ + iptor.Suffix.Method`.\n\x20-\x20A\x20Go\x20struct\x20has\x20the\x20symbo\ + l\x20kind\x20`Struct`\x20while\x20a\x20Java\x20class\x20has\n\x20\x20\ + \x20the\x20symbol\x20kind\x20`Class`\x20even\x20if\x20they\x20both\x20ha\ + ve\x20the\x20same\x20descriptor:\n\x20\x20\x20`SymbolDescriptor.Suffix.T\ + ype`.\n\n\x20Since\x20Kind\x20is\x20more\x20fine-grained\x20than\x20Suff\ + ix:\n\x20-\x20If\x20two\x20symbols\x20have\x20the\x20same\x20Kind,\x20th\ + ey\x20should\x20share\x20the\x20same\x20Suffix.\n\x20-\x20If\x20two\x20s\ + ymbols\x20have\x20different\x20Suffixes,\x20they\x20should\x20have\x20di\ + fferent\x20Kinds.\n\n\r\n\x05\x04\x07\x04\0\x01\x12\x04\xfb\x01\x07\x0b\ + \n\x0e\n\x06\x04\x07\x04\0\x02\0\x12\x04\xfc\x01\x06\x1a\n\x0f\n\x07\x04\ + \x07\x04\0\x02\0\x01\x12\x04\xfc\x01\x06\x15\n\x0f\n\x07\x04\x07\x04\0\ + \x02\0\x02\x12\x04\xfc\x01\x18\x19\nR\n\x06\x04\x07\x04\0\x02\x01\x12\ + \x04\xfe\x01\x06\x1a\x1aB\x20A\x20method\x20which\x20may\x20or\x20may\ + \x20not\x20have\x20a\x20body.\x20For\x20Java,\x20Kotlin\x20etc.\n\n\x0f\ + \n\x07\x04\x07\x04\0\x02\x01\x01\x12\x04\xfe\x01\x06\x14\n\x0f\n\x07\x04\ + \x07\x04\0\x02\x01\x02\x12\x04\xfe\x01\x17\x19\n*\n\x06\x04\x07\x04\0\ + \x02\x02\x12\x04\x80\x02\x06\x14\x1a\x1a\x20For\x20Ruby's\x20attr_access\ + or\n\n\x0f\n\x07\x04\x07\x04\0\x02\x02\x01\x12\x04\x80\x02\x06\x0e\n\x0f\ + \n\x07\x04\x07\x04\0\x02\x02\x02\x12\x04\x80\x02\x11\x13\n\x0e\n\x06\x04\ + \x07\x04\0\x02\x03\x12\x04\x81\x02\x06\x10\n\x0f\n\x07\x04\x07\x04\0\x02\ + \x03\x01\x12\x04\x81\x02\x06\x0b\n\x0f\n\x07\x04\x07\x04\0\x02\x03\x02\ + \x12\x04\x81\x02\x0e\x0f\n\x1b\n\x06\x04\x07\x04\0\x02\x04\x12\x04\x83\ + \x02\x06\x14\x1a\x0b\x20For\x20Alloy\n\n\x0f\n\x07\x04\x07\x04\0\x02\x04\ + \x01\x12\x04\x83\x02\x06\x0f\n\x0f\n\x07\x04\x07\x04\0\x02\x04\x02\x12\ + \x04\x83\x02\x12\x13\n\x0e\n\x06\x04\x07\x04\0\x02\x05\x12\x04\x84\x02\ + \x06\x19\n\x0f\n\x07\x04\x07\x04\0\x02\x05\x01\x12\x04\x84\x02\x06\x14\n\ + \x0f\n\x07\x04\x07\x04\0\x02\x05\x02\x12\x04\x84\x02\x17\x18\n\x19\n\x06\ + \x04\x07\x04\0\x02\x06\x12\x04\x86\x02\x06\x14\x1a\t\x20For\x20C++\n\n\ + \x0f\n\x07\x04\x07\x04\0\x02\x06\x01\x12\x04\x86\x02\x06\x0f\n\x0f\n\x07\ + \x04\x07\x04\0\x02\x06\x02\x12\x04\x86\x02\x12\x13\n\x1a\n\x06\x04\x07\ + \x04\0\x02\x07\x12\x04\x88\x02\x06\x10\x1a\n\x20For\x20Lean\n\n\x0f\n\ + \x07\x04\x07\x04\0\x02\x07\x01\x12\x04\x88\x02\x06\x0b\n\x0f\n\x07\x04\ + \x07\x04\0\x02\x07\x02\x12\x04\x88\x02\x0e\x0f\n\x0e\n\x06\x04\x07\x04\0\ + \x02\x08\x12\x04\x89\x02\x06\x12\n\x0f\n\x07\x04\x07\x04\0\x02\x08\x01\ + \x12\x04\x89\x02\x06\r\n\x0f\n\x07\x04\x07\x04\0\x02\x08\x02\x12\x04\x89\ + \x02\x10\x11\n\x0e\n\x06\x04\x07\x04\0\x02\t\x12\x04\x8a\x02\x06\x10\n\ + \x0f\n\x07\x04\x07\x04\0\x02\t\x01\x12\x04\x8a\x02\x06\x0b\n\x0f\n\x07\ + \x04\x07\x04\0\x02\t\x02\x12\x04\x8a\x02\x0e\x0f\n\x0e\n\x06\x04\x07\x04\ + \0\x02\n\x12\x04\x8b\x02\x06\x13\n\x0f\n\x07\x04\x07\x04\0\x02\n\x01\x12\ + \x04\x8b\x02\x06\x0e\n\x0f\n\x07\x04\x07\x04\0\x02\n\x02\x12\x04\x8b\x02\ + \x11\x12\n\x0e\n\x06\x04\x07\x04\0\x02\x0b\x12\x04\x8c\x02\x06\x16\n\x0f\ + \n\x07\x04\x07\x04\0\x02\x0b\x01\x12\x04\x8c\x02\x06\x11\n\x0f\n\x07\x04\ + \x07\x04\0\x02\x0b\x02\x12\x04\x8c\x02\x14\x15\n\x1e\n\x06\x04\x07\x04\0\ + \x02\x0c\x12\x04\x8e\x02\x06\x14\x1a\x0e\x20For\x20Solidity\n\n\x0f\n\ + \x07\x04\x07\x04\0\x02\x0c\x01\x12\x04\x8e\x02\x06\x0e\n\x0f\n\x07\x04\ + \x07\x04\0\x02\x0c\x02\x12\x04\x8e\x02\x11\x13\n\x1d\n\x06\x04\x07\x04\0\ + \x02\r\x12\x04\x90\x02\x06\x16\x1a\r\x20For\x20Haskell\n\n\x0f\n\x07\x04\ + \x07\x04\0\x02\r\x01\x12\x04\x90\x02\x06\x10\n\x0f\n\x07\x04\x07\x04\0\ + \x02\r\x02\x12\x04\x90\x02\x13\x15\n\x1f\n\x06\x04\x07\x04\0\x02\x0e\x12\ + \x04\x92\x02\x06\x14\x1a\x0f\x20For\x20C#\x20and\x20F#\n\n\x0f\n\x07\x04\ + \x07\x04\0\x02\x0e\x01\x12\x04\x92\x02\x06\x0e\n\x0f\n\x07\x04\x07\x04\0\ + \x02\x0e\x02\x12\x04\x92\x02\x11\x13\n\x0e\n\x06\x04\x07\x04\0\x02\x0f\ + \x12\x04\x93\x02\x06\x10\n\x0f\n\x07\x04\x07\x04\0\x02\x0f\x01\x12\x04\ + \x93\x02\x06\n\n\x0f\n\x07\x04\x07\x04\0\x02\x0f\x02\x12\x04\x93\x02\r\ + \x0f\n\x0e\n\x06\x04\x07\x04\0\x02\x10\x12\x04\x94\x02\x06\x16\n\x0f\n\ + \x07\x04\x07\x04\0\x02\x10\x01\x12\x04\x94\x02\x06\x10\n\x0f\n\x07\x04\ + \x07\x04\0\x02\x10\x02\x12\x04\x94\x02\x13\x15\n\x0e\n\x06\x04\x07\x04\0\ + \x02\x11\x12\x04\x95\x02\x06\x11\n\x0f\n\x07\x04\x07\x04\0\x02\x11\x01\ + \x12\x04\x95\x02\x06\x0b\n\x0f\n\x07\x04\x07\x04\0\x02\x11\x02\x12\x04\ + \x95\x02\x0e\x10\n\x0e\n\x06\x04\x07\x04\0\x02\x12\x12\x04\x96\x02\x06\ + \x11\n\x0f\n\x07\x04\x07\x04\0\x02\x12\x01\x12\x04\x96\x02\x06\x0b\n\x0f\ + \n\x07\x04\x07\x04\0\x02\x12\x02\x12\x04\x96\x02\x0e\x10\n\x1b\n\x06\x04\ + \x07\x04\0\x02\x13\x12\x04\x98\x02\x06\x10\x1a\x0b\x20For\x20Alloy\n\n\ + \x0f\n\x07\x04\x07\x04\0\x02\x13\x01\x12\x04\x98\x02\x06\n\n\x0f\n\x07\ + \x04\x07\x04\0\x02\x13\x02\x12\x04\x98\x02\r\x0f\n\x0e\n\x06\x04\x07\x04\ + \0\x02\x14\x12\x04\x99\x02\x06\x11\n\x0f\n\x07\x04\x07\x04\0\x02\x14\x01\ + \x12\x04\x99\x02\x06\x0b\n\x0f\n\x07\x04\x07\x04\0\x02\x14\x02\x12\x04\ + \x99\x02\x0e\x10\n\x0e\n\x06\x04\x07\x04\0\x02\x15\x12\x04\x9a\x02\x06\ + \x10\n\x0f\n\x07\x04\x07\x04\0\x02\x15\x01\x12\x04\x9a\x02\x06\n\n\x0f\n\ + \x07\x04\x07\x04\0\x02\x15\x02\x12\x04\x9a\x02\r\x0f\n\x0e\n\x06\x04\x07\ + \x04\0\x02\x16\x12\x04\x9b\x02\x06\x14\n\x0f\n\x07\x04\x07\x04\0\x02\x16\ + \x01\x12\x04\x9b\x02\x06\x0e\n\x0f\n\x07\x04\x07\x04\0\x02\x16\x02\x12\ + \x04\x9b\x02\x11\x13\n;\n\x06\x04\x07\x04\0\x02\x17\x12\x04\x9d\x02\x06\ + \x12\x1a+\x20For\x20'get'\x20in\x20Swift,\x20'attr_reader'\x20in\x20Ruby\ + \n\n\x0f\n\x07\x04\x07\x04\0\x02\x17\x01\x12\x04\x9d\x02\x06\x0c\n\x0f\n\ + \x07\x04\x07\x04\0\x02\x17\x02\x12\x04\x9d\x02\x0f\x11\n\x1a\n\x06\x04\ + \x07\x04\0\x02\x18\x12\x04\x9f\x02\x06\x13\x1a\n\x20For\x20Raku\n\n\x0f\ + \n\x07\x04\x07\x04\0\x02\x18\x01\x12\x04\x9f\x02\x06\r\n\x0f\n\x07\x04\ + \x07\x04\0\x02\x18\x02\x12\x04\x9f\x02\x10\x12\n)\n\x06\x04\x07\x04\0\ + \x02\x19\x12\x04\xa1\x02\x06\x14\x1a\x19\x20For\x20Purescript\x20and\x20\ + Lean\n\n\x0f\n\x07\x04\x07\x04\0\x02\x19\x01\x12\x04\xa1\x02\x06\x0e\n\ + \x0f\n\x07\x04\x07\x04\0\x02\x19\x02\x12\x04\xa1\x02\x11\x13\n\x0e\n\x06\ + \x04\x07\x04\0\x02\x1a\x12\x04\xa2\x02\x06\x15\n\x0f\n\x07\x04\x07\x04\0\ + \x02\x1a\x01\x12\x04\xa2\x02\x06\x0f\n\x0f\n\x07\x04\x07\x04\0\x02\x1a\ + \x02\x12\x04\xa2\x02\x12\x14\n\x0e\n\x06\x04\x07\x04\0\x02\x1b\x12\x04\ + \xa3\x02\x06\x0f\n\x0f\n\x07\x04\x07\x04\0\x02\x1b\x01\x12\x04\xa3\x02\ + \x06\t\n\x0f\n\x07\x04\x07\x04\0\x02\x1b\x02\x12\x04\xa3\x02\x0c\x0e\n\ + \x1c\n\x06\x04\x07\x04\0\x02\x1c\x12\x04\xa5\x02\x06\x10\x1a\x0c\x20For\ + \x20Racket\n\n\x0f\n\x07\x04\x07\x04\0\x02\x1c\x01\x12\x04\xa5\x02\x06\n\ + \n\x0f\n\x07\x04\x07\x04\0\x02\x1c\x02\x12\x04\xa5\x02\r\x0f\n\x1a\n\x06\ + \x04\x07\x04\0\x02\x1d\x12\x04\xa7\x02\x06\x11\x1a\n\x20For\x20Lean\n\n\ + \x0f\n\x07\x04\x07\x04\0\x02\x1d\x01\x12\x04\xa7\x02\x06\x0b\n\x0f\n\x07\ + \x04\x07\x04\0\x02\x1d\x02\x12\x04\xa7\x02\x0e\x10\n\x1e\n\x06\x04\x07\ + \x04\0\x02\x1e\x12\x04\xa9\x02\x06\x13\x1a\x0e\x20For\x20solidity\n\n\ + \x0f\n\x07\x04\x07\x04\0\x02\x1e\x01\x12\x04\xa9\x02\x06\r\n\x0f\n\x07\ + \x04\x07\x04\0\x02\x1e\x02\x12\x04\xa9\x02\x10\x12\n\x0e\n\x06\x04\x07\ + \x04\0\x02\x1f\x12\x04\xaa\x02\x06\x11\n\x0f\n\x07\x04\x07\x04\0\x02\x1f\ + \x01\x12\x04\xaa\x02\x06\x0b\n\x0f\n\x07\x04\x07\x04\0\x02\x1f\x02\x12\ + \x04\xaa\x02\x0e\x10\n\x0e\n\x06\x04\x07\x04\0\x02\x20\x12\x04\xab\x02\ + \x06\x12\n\x0f\n\x07\x04\x07\x04\0\x02\x20\x01\x12\x04\xab\x02\x06\x0c\n\ + \x0f\n\x07\x04\x07\x04\0\x02\x20\x02\x12\x04\xab\x02\x0f\x11\n\x1a\n\x06\ + \x04\x07\x04\0\x02!\x12\x04\xad\x02\x06\x17\x1a\n\x20For\x20Ruby\n\n\x0f\ + \n\x07\x04\x07\x04\0\x02!\x01\x12\x04\xad\x02\x06\x11\n\x0f\n\x07\x04\ + \x07\x04\0\x02!\x02\x12\x04\xad\x02\x14\x16\n\x94\x01\n\x06\x04\x07\x04\ + \0\x02\"\x12\x04\xb0\x02\x06\x1a\x1a\x83\x01\x20Analogous\x20to\x20'This\ + Parameter'\x20and\x20'SelfParameter',\x20but\x20for\x20languages\n\x20li\ + ke\x20Go\x20where\x20the\x20receiver\x20doesn't\x20have\x20a\x20conventi\ + onal\x20name.\n\n\x0f\n\x07\x04\x07\x04\0\x02\"\x01\x12\x04\xb0\x02\x06\ + \x14\n\x0f\n\x07\x04\x07\x04\0\x02\"\x02\x12\x04\xb0\x02\x17\x19\n8\n\ + \x06\x04\x07\x04\0\x02#\x12\x04\xb2\x02\x06\x1f\x1a(\x20Analogous\x20to\ + \x20'AbstractMethod',\x20for\x20Go.\n\n\x0f\n\x07\x04\x07\x04\0\x02#\x01\ + \x12\x04\xb2\x02\x06\x19\n\x0f\n\x07\x04\x07\x04\0\x02#\x02\x12\x04\xb2\ + \x02\x1c\x1e\n\x1e\n\x06\x04\x07\x04\0\x02$\x12\x04\xb4\x02\x06\x13\x1a\ + \x0e\x20For\x20Protobuf\n\n\x0f\n\x07\x04\x07\x04\0\x02$\x01\x12\x04\xb4\ + \x02\x06\r\n\x0f\n\x07\x04\x07\x04\0\x02$\x02\x12\x04\xb4\x02\x10\x12\n\ + \x1e\n\x06\x04\x07\x04\0\x02%\x12\x04\xb6\x02\x06\x14\x1a\x0e\x20For\x20\ + Solidity\n\n\x0f\n\x07\x04\x07\x04\0\x02%\x01\x12\x04\xb6\x02\x06\x0e\n\ + \x0f\n\x07\x04\x07\x04\0\x02%\x02\x12\x04\xb6\x02\x11\x13\n\x0e\n\x06\ + \x04\x07\x04\0\x02&\x12\x04\xb7\x02\x06\x12\n\x0f\n\x07\x04\x07\x04\0\ + \x02&\x01\x12\x04\xb7\x02\x06\x0c\n\x0f\n\x07\x04\x07\x04\0\x02&\x02\x12\ + \x04\xb7\x02\x0f\x11\n\x0e\n\x06\x04\x07\x04\0\x02'\x12\x04\xb8\x02\x06\ + \x15\n\x0f\n\x07\x04\x07\x04\0\x02'\x01\x12\x04\xb8\x02\x06\x0f\n\x0f\n\ + \x07\x04\x07\x04\0\x02'\x02\x12\x04\xb8\x02\x12\x14\n\x0e\n\x06\x04\x07\ + \x04\0\x02(\x12\x04\xb9\x02\x06\x10\n\x0f\n\x07\x04\x07\x04\0\x02(\x01\ + \x12\x04\xb9\x02\x06\n\n\x0f\n\x07\x04\x07\x04\0\x02(\x02\x12\x04\xb9\ + \x02\r\x0f\n\x0e\n\x06\x04\x07\x04\0\x02)\x12\x04\xba\x02\x06\x12\n\x0f\ + \n\x07\x04\x07\x04\0\x02)\x01\x12\x04\xba\x02\x06\x0c\n\x0f\n\x07\x04\ + \x07\x04\0\x02)\x02\x12\x04\xba\x02\x0f\x11\n\x0e\n\x06\x04\x07\x04\0\ + \x02*\x12\x04\xbb\x02\x06\x12\n\x0f\n\x07\x04\x07\x04\0\x02*\x01\x12\x04\ + \xbb\x02\x06\x0c\n\x0f\n\x07\x04\x07\x04\0\x02*\x02\x12\x04\xbb\x02\x0f\ + \x11\n\x0e\n\x06\x04\x07\x04\0\x02+\x12\x04\xbc\x02\x06\x14\n\x0f\n\x07\ + \x04\x07\x04\0\x02+\x01\x12\x04\xbc\x02\x06\x0e\n\x0f\n\x07\x04\x07\x04\ + \0\x02+\x02\x12\x04\xbc\x02\x11\x13\n\x0e\n\x06\x04\x07\x04\0\x02,\x12\ + \x04\xbd\x02\x06\x13\n\x0f\n\x07\x04\x07\x04\0\x02,\x01\x12\x04\xbd\x02\ + \x06\r\n\x0f\n\x07\x04\x07\x04\0\x02,\x02\x12\x04\xbd\x02\x10\x12\n\x0e\ + \n\x06\x04\x07\x04\0\x02-\x12\x04\xbe\x02\x06\x19\n\x0f\n\x07\x04\x07\ + \x04\0\x02-\x01\x12\x04\xbe\x02\x06\x13\n\x0f\n\x07\x04\x07\x04\0\x02-\ + \x02\x12\x04\xbe\x02\x16\x18\n\x0e\n\x06\x04\x07\x04\0\x02.\x12\x04\xbf\ + \x02\x06\x15\n\x0f\n\x07\x04\x07\x04\0\x02.\x01\x12\x04\xbf\x02\x06\x0f\ + \n\x0f\n\x07\x04\x07\x04\0\x02.\x02\x12\x04\xbf\x02\x12\x14\n\x0e\n\x06\ + \x04\x07\x04\0\x02/\x12\x04\xc0\x02\x06\x1a\n\x0f\n\x07\x04\x07\x04\0\ + \x02/\x01\x12\x04\xc0\x02\x06\x14\n\x0f\n\x07\x04\x07\x04\0\x02/\x02\x12\ + \x04\xc0\x02\x17\x19\n/\n\x06\x04\x07\x04\0\x020\x12\x04\xc2\x02\x06\x13\ + \x1a\x1f\x20For\x20Haskell's\x20PatternSynonyms\n\n\x0f\n\x07\x04\x07\ + \x04\0\x020\x01\x12\x04\xc2\x02\x06\r\n\x0f\n\x07\x04\x07\x04\0\x020\x02\ + \x12\x04\xc2\x02\x10\x12\n\x1b\n\x06\x04\x07\x04\0\x021\x12\x04\xc4\x02\ + \x06\x15\x1a\x0b\x20For\x20Alloy\n\n\x0f\n\x07\x04\x07\x04\0\x021\x01\ + \x12\x04\xc4\x02\x06\x0f\n\x0f\n\x07\x04\x07\x04\0\x021\x02\x12\x04\xc4\ + \x02\x12\x14\n\x0e\n\x06\x04\x07\x04\0\x022\x12\x04\xc5\x02\x06\x14\n\ + \x0f\n\x07\x04\x07\x04\0\x022\x01\x12\x04\xc5\x02\x06\x0e\n\x0f\n\x07\ + \x04\x07\x04\0\x022\x02\x12\x04\xc5\x02\x11\x13\nQ\n\x06\x04\x07\x04\0\ + \x023\x12\x04\xc7\x02\x06\x14\x1aA\x20Analogous\x20to\x20'Trait'\x20and\ + \x20'TypeClass',\x20for\x20Swift\x20and\x20Objective-C\n\n\x0f\n\x07\x04\ + \x07\x04\0\x023\x01\x12\x04\xc7\x02\x06\x0e\n\x0f\n\x07\x04\x07\x04\0\ + \x023\x02\x12\x04\xc7\x02\x11\x13\nK\n\x06\x04\x07\x04\0\x024\x12\x04\ + \xc9\x02\x06\x1a\x1a;\x20Analogous\x20to\x20'AbstractMethod',\x20for\x20\ + Swift\x20and\x20Objective-C.\n\n\x0f\n\x07\x04\x07\x04\0\x024\x01\x12\ + \x04\xc9\x02\x06\x14\n\x0f\n\x07\x04\x07\x04\0\x024\x02\x12\x04\xc9\x02\ + \x17\x19\n9\n\x06\x04\x07\x04\0\x025\x12\x04\xcb\x02\x06\x1d\x1a)\x20Ana\ + logous\x20to\x20'AbstractMethod',\x20for\x20C++.\n\n\x0f\n\x07\x04\x07\ + \x04\0\x025\x01\x12\x04\xcb\x02\x06\x17\n\x0f\n\x07\x04\x07\x04\0\x025\ + \x02\x12\x04\xcb\x02\x1a\x1c\n\x1d\n\x06\x04\x07\x04\0\x026\x12\x04\xcd\ + \x02\x06\x17\x1a\r\x20For\x20Haskell\n\n\x0f\n\x07\x04\x07\x04\0\x026\ + \x01\x12\x04\xcd\x02\x06\x11\n\x0f\n\x07\x04\x07\x04\0\x026\x02\x12\x04\ + \xcd\x02\x14\x16\n4\n\x06\x04\x07\x04\0\x027\x12\x04\xcf\x02\x06\x19\x1a\ + $\x20'self'\x20in\x20Python,\x20Rust,\x20Swift\x20etc.\n\n\x0f\n\x07\x04\ + \x07\x04\0\x027\x01\x12\x04\xcf\x02\x06\x13\n\x0f\n\x07\x04\x07\x04\0\ + \x027\x02\x12\x04\xcf\x02\x16\x18\n;\n\x06\x04\x07\x04\0\x028\x12\x04\ + \xd1\x02\x06\x12\x1a+\x20For\x20'set'\x20in\x20Swift,\x20'attr_writer'\ + \x20in\x20Ruby\n\n\x0f\n\x07\x04\x07\x04\0\x028\x01\x12\x04\xd1\x02\x06\ + \x0c\n\x0f\n\x07\x04\x07\x04\0\x028\x02\x12\x04\xd1\x02\x0f\x11\n3\n\x06\ + \x04\x07\x04\0\x029\x12\x04\xd3\x02\x06\x15\x1a#\x20For\x20Alloy,\x20ana\ + logous\x20to\x20'Struct'.\n\n\x0f\n\x07\x04\x07\x04\0\x029\x01\x12\x04\ + \xd3\x02\x06\x0f\n\x0f\n\x07\x04\x07\x04\0\x029\x02\x12\x04\xd3\x02\x12\ + \x14\n\x1a\n\x06\x04\x07\x04\0\x02:\x12\x04\xd5\x02\x06\x1a\x1a\n\x20For\ + \x20Ruby\n\n\x0f\n\x07\x04\x07\x04\0\x02:\x01\x12\x04\xd5\x02\x06\x14\n\ + \x0f\n\x07\x04\x07\x04\0\x02:\x02\x12\x04\xd5\x02\x17\x19\n8\n\x06\x04\ + \x07\x04\0\x02;\x12\x04\xd7\x02\x06\x1b\x1a(\x20Analogous\x20to\x20'Stat\ + icMethod',\x20for\x20Ruby.\n\n\x0f\n\x07\x04\x07\x04\0\x02;\x01\x12\x04\ + \xd7\x02\x06\x15\n\x0f\n\x07\x04\x07\x04\0\x02;\x02\x12\x04\xd7\x02\x18\ + \x1a\n5\n\x06\x04\x07\x04\0\x02<\x12\x04\xd9\x02\x06\x1c\x1a%\x20Analogo\ + us\x20to\x20'StaticField',\x20for\x20C++\n\n\x0f\n\x07\x04\x07\x04\0\x02\ + <\x01\x12\x04\xd9\x02\x06\x16\n\x0f\n\x07\x04\x07\x04\0\x02<\x02\x12\x04\ + \xd9\x02\x19\x1b\n\x18\n\x06\x04\x07\x04\0\x02=\x12\x04\xdb\x02\x06\x17\ + \x1a\x08\x20For\x20C#\n\n\x0f\n\x07\x04\x07\x04\0\x02=\x01\x12\x04\xdb\ + \x02\x06\x11\n\x0f\n\x07\x04\x07\x04\0\x02=\x02\x12\x04\xdb\x02\x14\x16\ + \n\x18\n\x06\x04\x07\x04\0\x02>\x12\x04\xdd\x02\x06\x17\x1a\x08\x20For\ + \x20C#\n\n\x0f\n\x07\x04\x07\x04\0\x02>\x01\x12\x04\xdd\x02\x06\x11\n\ + \x0f\n\x07\x04\x07\x04\0\x02>\x02\x12\x04\xdd\x02\x14\x16\n(\n\x06\x04\ + \x07\x04\0\x02?\x12\x04\xdf\x02\x06\x18\x1a\x18\x20For\x20Java,\x20C#,\ + \x20C++\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02?\x01\x12\x04\xdf\x02\x06\ + \x12\n\x0f\n\x07\x04\x07\x04\0\x02?\x02\x12\x04\xdf\x02\x15\x17\n)\n\x06\ + \x04\x07\x04\0\x02@\x12\x04\xe1\x02\x06\x1a\x1a\x19\x20For\x20C#,\x20Typ\ + eScript\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02@\x01\x12\x04\xe1\x02\x06\ + \x14\n\x0f\n\x07\x04\x07\x04\0\x02@\x02\x12\x04\xe1\x02\x17\x19\n\x1c\n\ + \x06\x04\x07\x04\0\x02A\x12\x04\xe3\x02\x06\x1a\x1a\x0c\x20For\x20C,\x20\ + C++\n\n\x0f\n\x07\x04\x07\x04\0\x02A\x01\x12\x04\xe3\x02\x06\x14\n\x0f\n\ + \x07\x04\x07\x04\0\x02A\x02\x12\x04\xe3\x02\x17\x19\n\x0e\n\x06\x04\x07\ + \x04\0\x02B\x12\x04\xe4\x02\x06\x12\n\x0f\n\x07\x04\x07\x04\0\x02B\x01\ + \x12\x04\xe4\x02\x06\x0c\n\x0f\n\x07\x04\x07\x04\0\x02B\x02\x12\x04\xe4\ + \x02\x0f\x11\n\x0e\n\x06\x04\x07\x04\0\x02C\x12\x04\xe5\x02\x06\x12\n\ + \x0f\n\x07\x04\x07\x04\0\x02C\x01\x12\x04\xe5\x02\x06\x0c\n\x0f\n\x07\ + \x04\x07\x04\0\x02C\x02\x12\x04\xe5\x02\x0f\x11\n\x1b\n\x06\x04\x07\x04\ + \0\x02D\x12\x04\xe7\x02\x06\x15\x1a\x0b\x20For\x20Swift\n\n\x0f\n\x07\ + \x04\x07\x04\0\x02D\x01\x12\x04\xe7\x02\x06\x0f\n\x0f\n\x07\x04\x07\x04\ + \0\x02D\x02\x12\x04\xe7\x02\x12\x14\n\x1a\n\x06\x04\x07\x04\0\x02E\x12\ + \x04\xe9\x02\x06\x12\x1a\n\x20For\x20Lean\n\n\x0f\n\x07\x04\x07\x04\0\ + \x02E\x01\x12\x04\xe9\x02\x06\x0c\n\x0f\n\x07\x04\x07\x04\0\x02E\x02\x12\ + \x04\xe9\x02\x0f\x11\n\x1a\n\x06\x04\x07\x04\0\x02F\x12\x04\xeb\x02\x06\ + \x13\x1a\n\x20For\x20Lean\n\n\x0f\n\x07\x04\x07\x04\0\x02F\x01\x12\x04\ + \xeb\x02\x06\r\n\x0f\n\x07\x04\x07\x04\0\x02F\x02\x12\x04\xeb\x02\x10\ + \x12\nU\n\x06\x04\x07\x04\0\x02G\x12\x04\xee\x02\x06\x19\x1aE\x20Method\ + \x20receiver\x20for\x20languages\n\x20'this'\x20in\x20JavaScript,\x20C++\ + ,\x20Java\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02G\x01\x12\x04\xee\x02\ + \x06\x13\n\x0f\n\x07\x04\x07\x04\0\x02G\x02\x12\x04\xee\x02\x16\x18\nO\n\ + \x06\x04\x07\x04\0\x02H\x12\x04\xf0\x02\x06\x11\x1a?\x20Analogous\x20to\ + \x20'Protocol'\x20and\x20'TypeClass',\x20for\x20Rust,\x20Scala\x20etc.\n\ + \n\x0f\n\x07\x04\x07\x04\0\x02H\x01\x12\x04\xf0\x02\x06\x0b\n\x0f\n\x07\ + \x04\x07\x04\0\x02H\x02\x12\x04\xf0\x02\x0e\x10\nE\n\x06\x04\x07\x04\0\ + \x02I\x12\x04\xf2\x02\x06\x17\x1a5\x20Analogous\x20to\x20'AbstractMethod\ + ',\x20for\x20Rust,\x20Scala\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02I\x01\ + \x12\x04\xf2\x02\x06\x11\n\x0f\n\x07\x04\x07\x04\0\x02I\x02\x12\x04\xf2\ + \x02\x14\x16\n\x89\x01\n\x06\x04\x07\x04\0\x02J\x12\x04\xf5\x02\x06\x10\ + \x1ay\x20Data\x20type\x20definition\x20for\x20languages\x20like\x20OCaml\ + \x20which\x20use\x20`type`\n\x20rather\x20than\x20separate\x20keywords\ + \x20like\x20`struct`\x20and\x20`enum`.\n\n\x0f\n\x07\x04\x07\x04\0\x02J\ + \x01\x12\x04\xf5\x02\x06\n\n\x0f\n\x07\x04\x07\x04\0\x02J\x02\x12\x04\ + \xf5\x02\r\x0f\n\x0e\n\x06\x04\x07\x04\0\x02K\x12\x04\xf6\x02\x06\x15\n\ + \x0f\n\x07\x04\x07\x04\0\x02K\x01\x12\x04\xf6\x02\x06\x0f\n\x0f\n\x07\ + \x04\x07\x04\0\x02K\x02\x12\x04\xf6\x02\x12\x14\nS\n\x06\x04\x07\x04\0\ + \x02L\x12\x04\xf8\x02\x06\x15\x1aC\x20Analogous\x20to\x20'Trait'\x20and\ + \x20'Protocol',\x20for\x20Haskell,\x20Purescript\x20etc.\n\n\x0f\n\x07\ + \x04\x07\x04\0\x02L\x01\x12\x04\xf8\x02\x06\x0f\n\x0f\n\x07\x04\x07\x04\ + \0\x02L\x02\x12\x04\xf8\x02\x12\x14\nM\n\x06\x04\x07\x04\0\x02M\x12\x04\ + \xfa\x02\x06\x1b\x1a=\x20Analogous\x20to\x20'AbstractMethod',\x20for\x20\ + Haskell,\x20Purescript\x20etc.\n\n\x0f\n\x07\x04\x07\x04\0\x02M\x01\x12\ + \x04\xfa\x02\x06\x15\n\x0f\n\x07\x04\x07\x04\0\x02M\x02\x12\x04\xfa\x02\ + \x18\x1a\n\x1d\n\x06\x04\x07\x04\0\x02N\x12\x04\xfc\x02\x06\x16\x1a\r\ + \x20For\x20Haskell\n\n\x0f\n\x07\x04\x07\x04\0\x02N\x01\x12\x04\xfc\x02\ + \x06\x10\n\x0f\n\x07\x04\x07\x04\0\x02N\x02\x12\x04\xfc\x02\x13\x15\n\ + \x0e\n\x06\x04\x07\x04\0\x02O\x12\x04\xfd\x02\x06\x19\n\x0f\n\x07\x04\ + \x07\x04\0\x02O\x01\x12\x04\xfd\x02\x06\x13\n\x0f\n\x07\x04\x07\x04\0\ + \x02O\x02\x12\x04\xfd\x02\x16\x18\n(\n\x06\x04\x07\x04\0\x02P\x12\x04\ + \xff\x02\x06\x11\x1a\x18\x20For\x20C,\x20C++,\x20Capn\x20Proto\n\n\x0f\n\ + \x07\x04\x07\x04\0\x02P\x01\x12\x04\xff\x02\x06\x0b\n\x0f\n\x07\x04\x07\ + \x04\0\x02P\x02\x12\x04\xff\x02\x0e\x10\n\x0e\n\x06\x04\x07\x04\0\x02Q\ + \x12\x04\x80\x03\x06\x11\n\x0f\n\x07\x04\x07\x04\0\x02Q\x01\x12\x04\x80\ + \x03\x06\x0b\n\x0f\n\x07\x04\x07\x04\0\x02Q\x02\x12\x04\x80\x03\x0e\x10\ + \n[\n\x06\x04\x07\x04\0\x02R\x12\x04\x81\x03\x06\x14\"K\x20Next\x20=\x20\ + 83;\n\x20Feel\x20free\x20to\x20open\x20a\x20PR\x20proposing\x20new\x20la\ + nguage-specific\x20kinds.\n\n\x0f\n\x07\x04\x07\x04\0\x02R\x01\x12\x04\ + \x81\x03\x06\x0e\n\x0f\n\x07\x04\x07\x04\0\x02R\x02\x12\x04\x81\x03\x11\ + \x13\n\xf3\x03\n\x04\x04\x07\x02\x04\x12\x04\x8e\x03\x02\x1a\x1a\xe4\x03\ + \x20(optional)\x20The\x20name\x20of\x20this\x20symbol\x20as\x20it\x20sho\ + uld\x20be\x20displayed\x20to\x20the\x20user.\n\x20For\x20example,\x20the\ + \x20symbol\x20\"com/example/MyClass#myMethod(+1).\"\x20should\x20have\ + \x20the\n\x20display\x20name\x20\"myMethod\".\x20The\x20`symbol`\x20fiel\ + d\x20is\x20not\x20a\x20reliable\x20source\x20of\n\x20the\x20display\x20n\ + ame\x20for\x20several\x20reasons:\n\n\x20-\x20Local\x20symbols\x20don't\ + \x20encode\x20the\x20name.\n\x20-\x20Some\x20languages\x20have\x20case-i\ + nsensitive\x20names,\x20so\x20the\x20symbol\x20is\x20all-lowercase.\n\ + \x20-\x20The\x20symbol\x20may\x20encode\x20names\x20with\x20special\x20c\ + haracters\x20that\x20should\x20not\x20be\n\x20\x20\x20displayed\x20to\ + \x20the\x20user.\n\n\r\n\x05\x04\x07\x02\x04\x05\x12\x04\x8e\x03\x02\x08\ + \n\r\n\x05\x04\x07\x02\x04\x01\x12\x04\x8e\x03\t\x15\n\r\n\x05\x04\x07\ + \x02\x04\x03\x12\x04\x8e\x03\x18\x19\n\xc4\x03\n\x04\x04\x07\x02\x05\x12\ + \x04\x95\x03\x02'\x1a\xb5\x03\x20(optional)\x20The\x20signature\x20of\ + \x20this\x20symbol\x20as\x20it's\x20displayed\x20in\x20API\n\x20document\ + ation\x20or\x20in\x20hover\x20tooltips.\x20For\x20example,\x20a\x20Java\ + \x20method\x20that\x20adds\n\x20two\x20numbers\x20this\x20would\x20have\ + \x20`Document.language\x20=\x20\"java\"`\x20and\x20`Document.text\n\x20=\ + \x20\"void\x20add(int\x20a,\x20int\x20b)\".\x20The\x20`language`\x20and\ + \x20`text`\x20fields\x20are\x20required\n\x20while\x20other\x20fields\ + \x20such\x20as\x20`Documentation.occurrences`\x20can\x20be\x20optionally\ + \n\x20included\x20to\x20support\x20hyperlinking\x20referenced\x20symbols\ + \x20in\x20the\x20signature.\n\n\r\n\x05\x04\x07\x02\x05\x06\x12\x04\x95\ + \x03\x02\n\n\r\n\x05\x04\x07\x02\x05\x01\x12\x04\x95\x03\x0b\"\n\r\n\x05\ + \x04\x07\x02\x05\x03\x12\x04\x95\x03%&\n\xc9\x08\n\x04\x04\x07\x02\x06\ + \x12\x04\xa7\x03\x02\x1e\x1a\xba\x08\x20(optional)\x20The\x20enclosing\ + \x20symbol\x20if\x20this\x20is\x20a\x20local\x20symbol.\x20\x20For\x20no\ + n-local\n\x20symbols,\x20the\x20enclosing\x20symbol\x20should\x20be\x20p\ + arsed\x20from\x20the\x20`symbol`\x20field\n\x20using\x20the\x20`Descript\ + or`\x20grammar.\n\n\x20The\x20primary\x20use-case\x20for\x20this\x20fiel\ + d\x20is\x20to\x20allow\x20local\x20symbol\x20to\x20be\x20displayed\n\x20\ + in\x20a\x20symbol\x20hierarchy\x20for\x20API\x20documentation.\x20It's\ + \x20OK\x20to\x20leave\x20this\x20field\n\x20empty\x20for\x20local\x20var\ + iables\x20since\x20local\x20variables\x20usually\x20don't\x20belong\x20i\ + n\x20API\n\x20documentation.\x20However,\x20in\x20the\x20situation\x20th\ + at\x20you\x20wish\x20to\x20include\x20a\x20local\n\x20symbol\x20in\x20th\ + e\x20hierarchy,\x20then\x20you\x20can\x20use\x20`enclosing_symbol`\x20to\ + \x20locate\x20the\n\x20\"parent\"\x20or\x20\"owner\"\x20of\x20this\x20lo\ + cal\x20symbol.\x20For\x20example,\x20a\x20Java\x20indexer\x20may\n\x20ch\ + oose\x20to\x20use\x20local\x20symbols\x20for\x20private\x20class\x20fiel\ + ds\x20while\x20providing\x20an\n\x20`enclosing_symbol`\x20to\x20referenc\ + e\x20the\x20enclosing\x20class\x20to\x20allow\x20the\x20field\x20to\n\ + \x20be\x20part\x20of\x20the\x20class\x20documentation\x20hierarchy.\x20F\ + rom\x20the\x20perspective\x20of\x20an\n\x20author\x20of\x20an\x20indexer\ + ,\x20the\x20decision\x20to\x20use\x20a\x20local\x20symbol\x20or\x20globa\ + l\x20symbol\n\x20should\x20exclusively\x20be\x20determined\x20whether\ + \x20the\x20local\x20symbol\x20is\x20accessible\n\x20outside\x20the\x20do\ + cument,\x20not\x20by\x20the\x20capability\x20to\x20find\x20the\x20enclos\ + ing\n\x20symbol.\n\n\r\n\x05\x04\x07\x02\x06\x05\x12\x04\xa7\x03\x02\x08\ + \n\r\n\x05\x04\x07\x02\x06\x01\x12\x04\xa7\x03\t\x19\n\r\n\x05\x04\x07\ + \x02\x06\x03\x12\x04\xa7\x03\x1c\x1d\n\x0c\n\x02\x04\x08\x12\x06\xab\x03\ + \0\xe3\x03\x01\n\x0b\n\x03\x04\x08\x01\x12\x04\xab\x03\x08\x14\n\x0c\n\ + \x04\x04\x08\x02\0\x12\x04\xac\x03\x02\x14\n\r\n\x05\x04\x08\x02\0\x05\ + \x12\x04\xac\x03\x02\x08\n\r\n\x05\x04\x08\x02\0\x01\x12\x04\xac\x03\t\ + \x0f\n\r\n\x05\x04\x08\x02\0\x03\x12\x04\xac\x03\x12\x13\n\xde\x08\n\x04\ + \x04\x08\x02\x01\x12\x04\xc5\x03\x02\x18\x1a\xcf\x08\x20When\x20resolvin\ + g\x20\"Find\x20references\",\x20this\x20field\x20documents\x20what\x20ot\ + her\x20symbols\n\x20should\x20be\x20included\x20together\x20with\x20this\ + \x20symbol.\x20For\x20example,\x20consider\x20the\n\x20following\x20Type\ + Script\x20code\x20that\x20defines\x20two\x20symbols\x20`Animal#sound()`\ + \x20and\n\x20`Dog#sound()`:\n\x20```ts\n\x20interface\x20Animal\x20{\n\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^^\x20definition\x20Anim\ + al#\n\x20\x20\x20sound():\x20string\n\x20\x20\x20^^^^^\x20definition\x20\ + Animal#sound()\n\x20}\n\x20class\x20Dog\x20implements\x20Animal\x20{\n\ + \x20\x20\x20\x20\x20\x20\x20^^^\x20definition\x20Dog#,\x20relationships\ + \x20=\x20[{symbol:\x20\"Animal#\",\x20is_implementation:\x20true}]\n\x20\ + \x20\x20public\x20sound():\x20string\x20{\x20return\x20\"woof\"\x20}\n\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^\x20definition\x20Dog#sound\ + (),\x20references_symbols\x20=\x20Animal#sound(),\x20relationships\x20=\ + \x20[{symbol:\x20\"Animal#sound()\",\x20is_implementation:true,\x20is_re\ + ference:\x20true}]\n\x20}\n\x20const\x20animal:\x20Animal\x20=\x20new\ + \x20Dog()\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^\ + ^^^^^\x20reference\x20Animal#\n\x20console.log(animal.sound())\n\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + ^^^^^\x20reference\x20Animal#sound()\n\x20```\n\x20Doing\x20\"Find\x20re\ + ferences\"\x20on\x20the\x20symbol\x20`Animal#sound()`\x20should\x20retur\ + n\n\x20references\x20to\x20the\x20`Dog#sound()`\x20method\x20as\x20well.\ \x20Vice-versa,\x20doing\x20\"Find\n\x20references\"\x20on\x20the\x20`Do\ g#sound()`\x20method\x20should\x20include\x20references\x20to\x20the\n\ \x20`Animal#sound()`\x20method\x20as\x20well.\n\n\r\n\x05\x04\x08\x02\ - \x01\x05\x12\x04\xa7\x03\x02\x06\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\ - \xa7\x03\x07\x13\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\xa7\x03\x16\x17\n\ - \xee\x03\n\x04\x04\x08\x02\x02\x12\x04\xb0\x03\x02\x1d\x1a\xdf\x03\x20Si\ + \x01\x05\x12\x04\xc5\x03\x02\x06\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\ + \xc5\x03\x07\x13\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\xc5\x03\x16\x17\n\ + \xee\x03\n\x04\x04\x08\x02\x02\x12\x04\xce\x03\x02\x1d\x1a\xdf\x03\x20Si\ milar\x20to\x20`is_reference`\x20but\x20for\x20\"Find\x20implementations\ \".\n\x20It's\x20common\x20for\x20`is_implementation`\x20and\x20`is_refe\ rence`\x20to\x20both\x20be\x20true\x20but\n\x20it's\x20not\x20always\x20\ @@ -4885,14 +5012,14 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x20symbol\x20should\x20not\x20return\n\x20\"Dog#\".\x20We\x20only\x20wa\ nt\x20\"Dog#\"\x20to\x20return\x20as\x20a\x20result\x20for\x20\"Find\n\ \x20implementations\"\x20on\x20the\x20\"Animal#\"\x20symbol.\n\n\r\n\x05\ - \x04\x08\x02\x02\x05\x12\x04\xb0\x03\x02\x06\n\r\n\x05\x04\x08\x02\x02\ - \x01\x12\x04\xb0\x03\x07\x18\n\r\n\x05\x04\x08\x02\x02\x03\x12\x04\xb0\ - \x03\x1b\x1c\nP\n\x04\x04\x08\x02\x03\x12\x04\xb2\x03\x02\x1e\x1aB\x20Si\ + \x04\x08\x02\x02\x05\x12\x04\xce\x03\x02\x06\n\r\n\x05\x04\x08\x02\x02\ + \x01\x12\x04\xce\x03\x07\x18\n\r\n\x05\x04\x08\x02\x02\x03\x12\x04\xce\ + \x03\x1b\x1c\nP\n\x04\x04\x08\x02\x03\x12\x04\xd0\x03\x02\x1e\x1aB\x20Si\ milar\x20to\x20`references_symbols`\x20but\x20for\x20\"Go\x20to\x20type\ - \x20definition\".\n\n\r\n\x05\x04\x08\x02\x03\x05\x12\x04\xb2\x03\x02\ - \x06\n\r\n\x05\x04\x08\x02\x03\x01\x12\x04\xb2\x03\x07\x19\n\r\n\x05\x04\ - \x08\x02\x03\x03\x12\x04\xb2\x03\x1c\x1d\n\xa7\x07\n\x04\x04\x08\x02\x04\ - \x12\x04\xc3\x03\x02\x19\x1a\xd5\x06\x20Allows\x20overriding\x20the\x20b\ + \x20definition\".\n\n\r\n\x05\x04\x08\x02\x03\x05\x12\x04\xd0\x03\x02\ + \x06\n\r\n\x05\x04\x08\x02\x03\x01\x12\x04\xd0\x03\x07\x19\n\r\n\x05\x04\ + \x08\x02\x03\x03\x12\x04\xd0\x03\x1c\x1d\n\xa7\x07\n\x04\x04\x08\x02\x04\ + \x12\x04\xe1\x03\x02\x19\x1a\xd5\x06\x20Allows\x20overriding\x20the\x20b\ ehavior\x20of\x20\"Go\x20to\x20definition\"\x20and\x20\"Find\x20referenc\ es\"\n\x20for\x20symbols\x20which\x20do\x20not\x20have\x20a\x20definitio\ n\x20of\x20their\x20own\x20or\x20could\n\x20potentially\x20have\x20multi\ @@ -4912,9 +5039,9 @@ static file_descriptor_proto_data: &'static [u8] = b"\ n.\n\x20The\x20relationship\x20may\x20not\x20get\x20recorded\x20if\x20ei\ ther\x20symbol\x20is\x20local.\n\"A\x20Update\x20registerInverseRelation\ ships\x20on\x20adding\x20a\x20new\x20field\x20here.\n\n\r\n\x05\x04\x08\ - \x02\x04\x05\x12\x04\xc3\x03\x02\x06\n\r\n\x05\x04\x08\x02\x04\x01\x12\ - \x04\xc3\x03\x07\x14\n\r\n\x05\x04\x08\x02\x04\x03\x12\x04\xc3\x03\x17\ - \x18\n\x88\x03\n\x02\x05\x02\x12\x06\xcc\x03\0\xe2\x03\x01\x1a\xf9\x02\ + \x02\x04\x05\x12\x04\xe1\x03\x02\x06\n\r\n\x05\x04\x08\x02\x04\x01\x12\ + \x04\xe1\x03\x07\x14\n\r\n\x05\x04\x08\x02\x04\x03\x12\x04\xe1\x03\x17\ + \x18\n\x88\x03\n\x02\x05\x03\x12\x06\xea\x03\0\x80\x04\x01\x1a\xf9\x02\ \x20SymbolRole\x20declares\x20what\x20\"role\"\x20a\x20symbol\x20has\x20\ in\x20an\x20occurrence.\x20A\x20role\x20is\n\x20encoded\x20as\x20a\x20bi\ tset\x20where\x20each\x20bit\x20represents\x20a\x20different\x20role.\ @@ -4923,170 +5050,170 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \n\x20enum\x20value\x20is\x20defined.\x20In\x20pseudocode,\x20this\x20ca\ n\x20be\x20implemented\x20with\x20the\n\x20logic:\x20`const\x20isImportR\ ole\x20=\x20(role.value\x20&\x20SymbolRole.Import.value)\x20>\x200`.\n\n\ - \x0b\n\x03\x05\x02\x01\x12\x04\xcc\x03\x05\x0f\nv\n\x04\x05\x02\x02\0\ - \x12\x04\xcf\x03\x02\x1c\x1ah\x20This\x20case\x20is\x20not\x20meant\x20t\ + \x0b\n\x03\x05\x03\x01\x12\x04\xea\x03\x05\x0f\nv\n\x04\x05\x03\x02\0\ + \x12\x04\xed\x03\x02\x1c\x1ah\x20This\x20case\x20is\x20not\x20meant\x20t\ o\x20be\x20used;\x20it\x20only\x20exists\x20to\x20avoid\x20an\x20error\n\ - \x20from\x20the\x20Protobuf\x20code\x20generator.\n\n\r\n\x05\x05\x02\ - \x02\0\x01\x12\x04\xcf\x03\x02\x17\n\r\n\x05\x05\x02\x02\0\x02\x12\x04\ - \xcf\x03\x1a\x1b\nT\n\x04\x05\x02\x02\x01\x12\x04\xd1\x03\x02\x13\x1aF\ + \x20from\x20the\x20Protobuf\x20code\x20generator.\n\n\r\n\x05\x05\x03\ + \x02\0\x01\x12\x04\xed\x03\x02\x17\n\r\n\x05\x05\x03\x02\0\x02\x12\x04\ + \xed\x03\x1a\x1b\nT\n\x04\x05\x03\x02\x01\x12\x04\xef\x03\x02\x13\x1aF\ \x20Is\x20the\x20symbol\x20defined\x20here?\x20If\x20not,\x20then\x20thi\ - s\x20is\x20a\x20symbol\x20reference.\n\n\r\n\x05\x05\x02\x02\x01\x01\x12\ - \x04\xd1\x03\x02\x0c\n\r\n\x05\x05\x02\x02\x01\x02\x12\x04\xd1\x03\x0f\ - \x12\n,\n\x04\x05\x02\x02\x02\x12\x04\xd3\x03\x02\x0f\x1a\x1e\x20Is\x20t\ - he\x20symbol\x20imported\x20here?\n\n\r\n\x05\x05\x02\x02\x02\x01\x12\ - \x04\xd3\x03\x02\x08\n\r\n\x05\x05\x02\x02\x02\x02\x12\x04\xd3\x03\x0b\ - \x0e\n+\n\x04\x05\x02\x02\x03\x12\x04\xd5\x03\x02\x14\x1a\x1d\x20Is\x20t\ - he\x20symbol\x20written\x20here?\n\n\r\n\x05\x05\x02\x02\x03\x01\x12\x04\ - \xd5\x03\x02\r\n\r\n\x05\x05\x02\x02\x03\x02\x12\x04\xd5\x03\x10\x13\n(\ - \n\x04\x05\x02\x02\x04\x12\x04\xd7\x03\x02\x13\x1a\x1a\x20Is\x20the\x20s\ - ymbol\x20read\x20here?\n\n\r\n\x05\x05\x02\x02\x04\x01\x12\x04\xd7\x03\ - \x02\x0c\n\r\n\x05\x05\x02\x02\x04\x02\x12\x04\xd7\x03\x0f\x12\n0\n\x04\ - \x05\x02\x02\x05\x12\x04\xd9\x03\x02\x13\x1a\"\x20Is\x20the\x20symbol\ - \x20in\x20generated\x20code?\n\n\r\n\x05\x05\x02\x02\x05\x01\x12\x04\xd9\ - \x03\x02\x0b\n\r\n\x05\x05\x02\x02\x05\x02\x12\x04\xd9\x03\x0e\x12\n+\n\ - \x04\x05\x02\x02\x06\x12\x04\xdb\x03\x02\x0e\x1a\x1d\x20Is\x20the\x20sym\ - bol\x20in\x20test\x20code?\n\n\r\n\x05\x05\x02\x02\x06\x01\x12\x04\xdb\ - \x03\x02\x06\n\r\n\x05\x05\x02\x02\x06\x02\x12\x04\xdb\x03\t\r\n\xed\x01\ - \n\x04\x05\x02\x02\x07\x12\x04\xe1\x03\x02\x1b\x1a\xde\x01\x20Is\x20this\ + s\x20is\x20a\x20symbol\x20reference.\n\n\r\n\x05\x05\x03\x02\x01\x01\x12\ + \x04\xef\x03\x02\x0c\n\r\n\x05\x05\x03\x02\x01\x02\x12\x04\xef\x03\x0f\ + \x12\n,\n\x04\x05\x03\x02\x02\x12\x04\xf1\x03\x02\x0f\x1a\x1e\x20Is\x20t\ + he\x20symbol\x20imported\x20here?\n\n\r\n\x05\x05\x03\x02\x02\x01\x12\ + \x04\xf1\x03\x02\x08\n\r\n\x05\x05\x03\x02\x02\x02\x12\x04\xf1\x03\x0b\ + \x0e\n+\n\x04\x05\x03\x02\x03\x12\x04\xf3\x03\x02\x14\x1a\x1d\x20Is\x20t\ + he\x20symbol\x20written\x20here?\n\n\r\n\x05\x05\x03\x02\x03\x01\x12\x04\ + \xf3\x03\x02\r\n\r\n\x05\x05\x03\x02\x03\x02\x12\x04\xf3\x03\x10\x13\n(\ + \n\x04\x05\x03\x02\x04\x12\x04\xf5\x03\x02\x13\x1a\x1a\x20Is\x20the\x20s\ + ymbol\x20read\x20here?\n\n\r\n\x05\x05\x03\x02\x04\x01\x12\x04\xf5\x03\ + \x02\x0c\n\r\n\x05\x05\x03\x02\x04\x02\x12\x04\xf5\x03\x0f\x12\n0\n\x04\ + \x05\x03\x02\x05\x12\x04\xf7\x03\x02\x13\x1a\"\x20Is\x20the\x20symbol\ + \x20in\x20generated\x20code?\n\n\r\n\x05\x05\x03\x02\x05\x01\x12\x04\xf7\ + \x03\x02\x0b\n\r\n\x05\x05\x03\x02\x05\x02\x12\x04\xf7\x03\x0e\x12\n+\n\ + \x04\x05\x03\x02\x06\x12\x04\xf9\x03\x02\x0e\x1a\x1d\x20Is\x20the\x20sym\ + bol\x20in\x20test\x20code?\n\n\r\n\x05\x05\x03\x02\x06\x01\x12\x04\xf9\ + \x03\x02\x06\n\r\n\x05\x05\x03\x02\x06\x02\x12\x04\xf9\x03\t\r\n\xed\x01\ + \n\x04\x05\x03\x02\x07\x12\x04\xff\x03\x02\x1b\x1a\xde\x01\x20Is\x20this\ \x20a\x20signature\x20for\x20a\x20symbol\x20that\x20is\x20defined\x20els\ ewhere?\n\n\x20Applies\x20to\x20forward\x20declarations\x20for\x20langua\ ges\x20like\x20C,\x20C++\n\x20and\x20Objective-C,\x20as\x20well\x20as\ \x20`val`\x20declarations\x20in\x20interface\n\x20files\x20in\x20languag\ - es\x20like\x20SML\x20and\x20OCaml.\n\n\r\n\x05\x05\x02\x02\x07\x01\x12\ - \x04\xe1\x03\x02\x13\n\r\n\x05\x05\x02\x02\x07\x02\x12\x04\xe1\x03\x16\ - \x1a\n\x0c\n\x02\x05\x03\x12\x06\xe4\x03\0\xc1\x04\x01\n\x0b\n\x03\x05\ - \x03\x01\x12\x04\xe4\x03\x05\x0f\n\x0b\n\x03\x05\x03\x03\x12\x04\xe5\x03\ - \x02\x1c\n\x0c\n\x04\x05\x03\x03\x02\x12\x04\xe5\x03\x02\x1c\n\x0c\n\x04\ - \x05\x03\x02\0\x12\x04\xe7\x03\x02\x1c\n\r\n\x05\x05\x03\x02\0\x01\x12\ - \x04\xe7\x03\x02\x17\n\r\n\x05\x05\x03\x02\0\x02\x12\x04\xe7\x03\x1a\x1b\ - \n;\n\x04\x05\x03\x02\x01\x12\x04\xea\x03\x02\x0e\x1a-\x20Comment,\x20in\ - cluding\x20comment\x20markers\x20and\x20text\n\n\r\n\x05\x05\x03\x02\x01\ - \x01\x12\x04\xea\x03\x02\t\n\r\n\x05\x05\x03\x02\x01\x02\x12\x04\xea\x03\ - \x0c\r\n\x1b\n\x04\x05\x03\x02\x02\x12\x04\xed\x03\x02\x1b\x1a\r\x20`;`\ - \x20`.`\x20`,`\n\n\r\n\x05\x05\x03\x02\x02\x01\x12\x04\xed\x03\x02\x16\n\ - \r\n\x05\x05\x03\x02\x02\x02\x12\x04\xed\x03\x19\x1a\n2\n\x04\x05\x03\ - \x02\x03\x12\x04\xef\x03\x02\x19\x1a$\x20(),\x20{},\x20[]\x20when\x20use\ - d\x20syntactically\n\n\r\n\x05\x05\x03\x02\x03\x01\x12\x04\xef\x03\x02\ - \x14\n\r\n\x05\x05\x03\x02\x03\x02\x12\x04\xef\x03\x17\x18\n5\n\x04\x05\ - \x03\x02\x04\x12\x04\xf2\x03\x02\x0e\x1a'\x20`if`,\x20`else`,\x20`return\ - `,\x20`class`,\x20etc.\n\n\r\n\x05\x05\x03\x02\x04\x01\x12\x04\xf2\x03\ - \x02\t\n\r\n\x05\x05\x03\x02\x04\x02\x12\x04\xf2\x03\x0c\r\n\x0c\n\x04\ - \x05\x03\x02\x05\x12\x04\xf3\x03\x02*\n\r\n\x05\x05\x03\x02\x05\x01\x12\ - \x04\xf3\x03\x02\x13\n\r\n\x05\x05\x03\x02\x05\x02\x12\x04\xf3\x03\x16\ - \x17\n\r\n\x05\x05\x03\x02\x05\x03\x12\x04\xf3\x03\x18)\n\x0e\n\x06\x05\ - \x03\x02\x05\x03\x01\x12\x04\xf3\x03\x19(\n\x1e\n\x04\x05\x03\x02\x06\ - \x12\x04\xf6\x03\x02\x19\x1a\x10\x20`+`,\x20`*`,\x20etc.\n\n\r\n\x05\x05\ - \x03\x02\x06\x01\x12\x04\xf6\x03\x02\x14\n\r\n\x05\x05\x03\x02\x06\x02\ - \x12\x04\xf6\x03\x17\x18\nX\n\x04\x05\x03\x02\x07\x12\x04\xf9\x03\x02\ + es\x20like\x20SML\x20and\x20OCaml.\n\n\r\n\x05\x05\x03\x02\x07\x01\x12\ + \x04\xff\x03\x02\x13\n\r\n\x05\x05\x03\x02\x07\x02\x12\x04\xff\x03\x16\ + \x1a\n\x0c\n\x02\x05\x04\x12\x06\x82\x04\0\xdf\x04\x01\n\x0b\n\x03\x05\ + \x04\x01\x12\x04\x82\x04\x05\x0f\n\x0b\n\x03\x05\x04\x03\x12\x04\x83\x04\ + \x02\x1c\n\x0c\n\x04\x05\x04\x03\x02\x12\x04\x83\x04\x02\x1c\n\x0c\n\x04\ + \x05\x04\x02\0\x12\x04\x85\x04\x02\x1c\n\r\n\x05\x05\x04\x02\0\x01\x12\ + \x04\x85\x04\x02\x17\n\r\n\x05\x05\x04\x02\0\x02\x12\x04\x85\x04\x1a\x1b\ + \n;\n\x04\x05\x04\x02\x01\x12\x04\x88\x04\x02\x0e\x1a-\x20Comment,\x20in\ + cluding\x20comment\x20markers\x20and\x20text\n\n\r\n\x05\x05\x04\x02\x01\ + \x01\x12\x04\x88\x04\x02\t\n\r\n\x05\x05\x04\x02\x01\x02\x12\x04\x88\x04\ + \x0c\r\n\x1b\n\x04\x05\x04\x02\x02\x12\x04\x8b\x04\x02\x1b\x1a\r\x20`;`\ + \x20`.`\x20`,`\n\n\r\n\x05\x05\x04\x02\x02\x01\x12\x04\x8b\x04\x02\x16\n\ + \r\n\x05\x05\x04\x02\x02\x02\x12\x04\x8b\x04\x19\x1a\n2\n\x04\x05\x04\ + \x02\x03\x12\x04\x8d\x04\x02\x19\x1a$\x20(),\x20{},\x20[]\x20when\x20use\ + d\x20syntactically\n\n\r\n\x05\x05\x04\x02\x03\x01\x12\x04\x8d\x04\x02\ + \x14\n\r\n\x05\x05\x04\x02\x03\x02\x12\x04\x8d\x04\x17\x18\n5\n\x04\x05\ + \x04\x02\x04\x12\x04\x90\x04\x02\x0e\x1a'\x20`if`,\x20`else`,\x20`return\ + `,\x20`class`,\x20etc.\n\n\r\n\x05\x05\x04\x02\x04\x01\x12\x04\x90\x04\ + \x02\t\n\r\n\x05\x05\x04\x02\x04\x02\x12\x04\x90\x04\x0c\r\n\x0c\n\x04\ + \x05\x04\x02\x05\x12\x04\x91\x04\x02*\n\r\n\x05\x05\x04\x02\x05\x01\x12\ + \x04\x91\x04\x02\x13\n\r\n\x05\x05\x04\x02\x05\x02\x12\x04\x91\x04\x16\ + \x17\n\r\n\x05\x05\x04\x02\x05\x03\x12\x04\x91\x04\x18)\n\x0e\n\x06\x05\ + \x04\x02\x05\x03\x01\x12\x04\x91\x04\x19(\n\x1e\n\x04\x05\x04\x02\x06\ + \x12\x04\x94\x04\x02\x19\x1a\x10\x20`+`,\x20`*`,\x20etc.\n\n\r\n\x05\x05\ + \x04\x02\x06\x01\x12\x04\x94\x04\x02\x14\n\r\n\x05\x05\x04\x02\x06\x02\ + \x12\x04\x94\x04\x17\x18\nX\n\x04\x05\x04\x02\x07\x12\x04\x97\x04\x02\ \x11\x1aJ\x20non-specific\x20catch-all\x20for\x20any\x20identifier\x20no\ - t\x20better\x20described\x20elsewhere\n\n\r\n\x05\x05\x03\x02\x07\x01\ - \x12\x04\xf9\x03\x02\x0c\n\r\n\x05\x05\x03\x02\x07\x02\x12\x04\xf9\x03\ - \x0f\x10\nN\n\x04\x05\x03\x02\x08\x12\x04\xfb\x03\x02\x18\x1a@\x20Identi\ + t\x20better\x20described\x20elsewhere\n\n\r\n\x05\x05\x04\x02\x07\x01\ + \x12\x04\x97\x04\x02\x0c\n\r\n\x05\x05\x04\x02\x07\x02\x12\x04\x97\x04\ + \x0f\x10\nN\n\x04\x05\x04\x02\x08\x12\x04\x99\x04\x02\x18\x1a@\x20Identi\ fiers\x20builtin\x20to\x20the\x20language:\x20`min`,\x20`print`\x20in\ - \x20Python.\n\n\r\n\x05\x05\x03\x02\x08\x01\x12\x04\xfb\x03\x02\x13\n\r\ - \n\x05\x05\x03\x02\x08\x02\x12\x04\xfb\x03\x16\x17\n[\n\x04\x05\x03\x02\ - \t\x12\x04\xfd\x03\x02\x15\x1aM\x20Identifiers\x20representing\x20`null`\ + \x20Python.\n\n\r\n\x05\x05\x04\x02\x08\x01\x12\x04\x99\x04\x02\x13\n\r\ + \n\x05\x05\x04\x02\x08\x02\x12\x04\x99\x04\x16\x17\n[\n\x04\x05\x04\x02\ + \t\x12\x04\x9b\x04\x02\x15\x1aM\x20Identifiers\x20representing\x20`null`\ -like\x20values:\x20`None`\x20in\x20Python,\x20`nil`\x20in\x20Go.\n\n\r\ - \n\x05\x05\x03\x02\t\x01\x12\x04\xfd\x03\x02\x10\n\r\n\x05\x05\x03\x02\t\ - \x02\x12\x04\xfd\x03\x13\x14\n.\n\x04\x05\x03\x02\n\x12\x04\xff\x03\x02\ + \n\x05\x05\x04\x02\t\x01\x12\x04\x9b\x04\x02\x10\n\r\n\x05\x05\x04\x02\t\ + \x02\x12\x04\x9b\x04\x13\x14\n.\n\x04\x05\x04\x02\n\x12\x04\x9d\x04\x02\ \x19\x1a\x20\x20`xyz`\x20in\x20`const\x20xyz\x20=\x20\"hello\"`\n\n\r\n\ - \x05\x05\x03\x02\n\x01\x12\x04\xff\x03\x02\x14\n\r\n\x05\x05\x03\x02\n\ - \x02\x12\x04\xff\x03\x17\x18\n'\n\x04\x05\x03\x02\x0b\x12\x04\x81\x04\ + \x05\x05\x04\x02\n\x01\x12\x04\x9d\x04\x02\x14\n\r\n\x05\x05\x04\x02\n\ + \x02\x12\x04\x9d\x04\x17\x18\n'\n\x04\x05\x04\x02\x0b\x12\x04\x9f\x04\ \x02\x1f\x1a\x19\x20`var\x20X\x20=\x20\"hello\"`\x20in\x20Go\n\n\r\n\x05\ - \x05\x03\x02\x0b\x01\x12\x04\x81\x04\x02\x19\n\r\n\x05\x05\x03\x02\x0b\ - \x02\x12\x04\x81\x04\x1c\x1e\n3\n\x04\x05\x03\x02\x0c\x12\x04\x83\x04\ + \x05\x04\x02\x0b\x01\x12\x04\x9f\x04\x02\x19\n\r\n\x05\x05\x04\x02\x0b\ + \x02\x12\x04\x9f\x04\x1c\x1e\n3\n\x04\x05\x04\x02\x0c\x12\x04\xa1\x04\ \x02\x1b\x1a%\x20Parameter\x20definition\x20and\x20references\n\n\r\n\ - \x05\x05\x03\x02\x0c\x01\x12\x04\x83\x04\x02\x15\n\r\n\x05\x05\x03\x02\ - \x0c\x02\x12\x04\x83\x04\x18\x1a\nX\n\x04\x05\x03\x02\r\x12\x04\x85\x04\ + \x05\x05\x04\x02\x0c\x01\x12\x04\xa1\x04\x02\x15\n\r\n\x05\x05\x04\x02\ + \x0c\x02\x12\x04\xa1\x04\x18\x1a\nX\n\x04\x05\x04\x02\r\x12\x04\xa3\x04\ \x02\x17\x1aJ\x20Identifiers\x20for\x20variable\x20definitions\x20and\ - \x20references\x20within\x20a\x20local\x20scope\n\n\r\n\x05\x05\x03\x02\ - \r\x01\x12\x04\x85\x04\x02\x11\n\r\n\x05\x05\x03\x02\r\x02\x12\x04\x85\ - \x04\x14\x16\nK\n\x04\x05\x03\x02\x0e\x12\x04\x87\x04\x02\x1a\x1a=\x20Id\ + \x20references\x20within\x20a\x20local\x20scope\n\n\r\n\x05\x05\x04\x02\ + \r\x01\x12\x04\xa3\x04\x02\x11\n\r\n\x05\x05\x04\x02\r\x02\x12\x04\xa3\ + \x04\x14\x16\nK\n\x04\x05\x04\x02\x0e\x12\x04\xa5\x04\x02\x1a\x1a=\x20Id\ entifiers\x20that\x20shadow\x20other\x20identifiers\x20in\x20an\x20outer\ - \x20scope\n\n\r\n\x05\x05\x03\x02\x0e\x01\x12\x04\x87\x04\x02\x14\n\r\n\ - \x05\x05\x03\x02\x0e\x02\x12\x04\x87\x04\x17\x19\n\xcd\x01\n\x04\x05\x03\ - \x02\x0f\x12\x04\x8c\x04\x02\x1b\x1a\xbe\x01\x20Identifier\x20representi\ + \x20scope\n\n\r\n\x05\x05\x04\x02\x0e\x01\x12\x04\xa5\x04\x02\x14\n\r\n\ + \x05\x05\x04\x02\x0e\x02\x12\x04\xa5\x04\x17\x19\n\xcd\x01\n\x04\x05\x04\ + \x02\x0f\x12\x04\xaa\x04\x02\x1b\x1a\xbe\x01\x20Identifier\x20representi\ ng\x20a\x20unit\x20of\x20code\x20abstraction\x20and/or\x20namespacing.\n\ \n\x20NOTE:\x20This\x20corresponds\x20to\x20a\x20package\x20in\x20Go\x20\ and\x20JVM\x20languages,\n\x20and\x20a\x20module\x20in\x20languages\x20l\ - ike\x20Python\x20and\x20JavaScript.\n\n\r\n\x05\x05\x03\x02\x0f\x01\x12\ - \x04\x8c\x04\x02\x15\n\r\n\x05\x05\x03\x02\x0f\x02\x12\x04\x8c\x04\x18\ - \x1a\n\x0c\n\x04\x05\x03\x02\x10\x12\x04\x8d\x04\x02*\n\r\n\x05\x05\x03\ - \x02\x10\x01\x12\x04\x8d\x04\x02\x12\n\r\n\x05\x05\x03\x02\x10\x02\x12\ - \x04\x8d\x04\x15\x17\n\r\n\x05\x05\x03\x02\x10\x03\x12\x04\x8d\x04\x18)\ - \n\x0e\n\x06\x05\x03\x02\x10\x03\x01\x12\x04\x8d\x04\x19(\n4\n\x04\x05\ - \x03\x02\x11\x12\x04\x90\x04\x02\x1a\x1a&\x20Function\x20references,\x20\ - including\x20calls\n\n\r\n\x05\x05\x03\x02\x11\x01\x12\x04\x90\x04\x02\ - \x14\n\r\n\x05\x05\x03\x02\x11\x02\x12\x04\x90\x04\x17\x19\n(\n\x04\x05\ - \x03\x02\x12\x12\x04\x92\x04\x02$\x1a\x1a\x20Function\x20definition\x20o\ - nly\n\n\r\n\x05\x05\x03\x02\x12\x01\x12\x04\x92\x04\x02\x1e\n\r\n\x05\ - \x05\x03\x02\x12\x02\x12\x04\x92\x04!#\n7\n\x04\x05\x03\x02\x13\x12\x04\ - \x95\x04\x02\x17\x1a)\x20Macro\x20references,\x20including\x20invocation\ - s\n\n\r\n\x05\x05\x03\x02\x13\x01\x12\x04\x95\x04\x02\x11\n\r\n\x05\x05\ - \x03\x02\x13\x02\x12\x04\x95\x04\x14\x16\n%\n\x04\x05\x03\x02\x14\x12\ - \x04\x97\x04\x02!\x1a\x17\x20Macro\x20definition\x20only\n\n\r\n\x05\x05\ - \x03\x02\x14\x01\x12\x04\x97\x04\x02\x1b\n\r\n\x05\x05\x03\x02\x14\x02\ - \x12\x04\x97\x04\x1e\x20\n!\n\x04\x05\x03\x02\x15\x12\x04\x9a\x04\x02\ - \x16\x1a\x13\x20non-builtin\x20types\n\n\r\n\x05\x05\x03\x02\x15\x01\x12\ - \x04\x9a\x04\x02\x10\n\r\n\x05\x05\x03\x02\x15\x02\x12\x04\x9a\x04\x13\ - \x15\nK\n\x04\x05\x03\x02\x16\x12\x04\x9c\x04\x02\x1d\x1a=\x20builtin\ + ike\x20Python\x20and\x20JavaScript.\n\n\r\n\x05\x05\x04\x02\x0f\x01\x12\ + \x04\xaa\x04\x02\x15\n\r\n\x05\x05\x04\x02\x0f\x02\x12\x04\xaa\x04\x18\ + \x1a\n\x0c\n\x04\x05\x04\x02\x10\x12\x04\xab\x04\x02*\n\r\n\x05\x05\x04\ + \x02\x10\x01\x12\x04\xab\x04\x02\x12\n\r\n\x05\x05\x04\x02\x10\x02\x12\ + \x04\xab\x04\x15\x17\n\r\n\x05\x05\x04\x02\x10\x03\x12\x04\xab\x04\x18)\ + \n\x0e\n\x06\x05\x04\x02\x10\x03\x01\x12\x04\xab\x04\x19(\n4\n\x04\x05\ + \x04\x02\x11\x12\x04\xae\x04\x02\x1a\x1a&\x20Function\x20references,\x20\ + including\x20calls\n\n\r\n\x05\x05\x04\x02\x11\x01\x12\x04\xae\x04\x02\ + \x14\n\r\n\x05\x05\x04\x02\x11\x02\x12\x04\xae\x04\x17\x19\n(\n\x04\x05\ + \x04\x02\x12\x12\x04\xb0\x04\x02$\x1a\x1a\x20Function\x20definition\x20o\ + nly\n\n\r\n\x05\x05\x04\x02\x12\x01\x12\x04\xb0\x04\x02\x1e\n\r\n\x05\ + \x05\x04\x02\x12\x02\x12\x04\xb0\x04!#\n7\n\x04\x05\x04\x02\x13\x12\x04\ + \xb3\x04\x02\x17\x1a)\x20Macro\x20references,\x20including\x20invocation\ + s\n\n\r\n\x05\x05\x04\x02\x13\x01\x12\x04\xb3\x04\x02\x11\n\r\n\x05\x05\ + \x04\x02\x13\x02\x12\x04\xb3\x04\x14\x16\n%\n\x04\x05\x04\x02\x14\x12\ + \x04\xb5\x04\x02!\x1a\x17\x20Macro\x20definition\x20only\n\n\r\n\x05\x05\ + \x04\x02\x14\x01\x12\x04\xb5\x04\x02\x1b\n\r\n\x05\x05\x04\x02\x14\x02\ + \x12\x04\xb5\x04\x1e\x20\n!\n\x04\x05\x04\x02\x15\x12\x04\xb8\x04\x02\ + \x16\x1a\x13\x20non-builtin\x20types\n\n\r\n\x05\x05\x04\x02\x15\x01\x12\ + \x04\xb8\x04\x02\x10\n\r\n\x05\x05\x04\x02\x15\x02\x12\x04\xb8\x04\x13\ + \x15\nK\n\x04\x05\x04\x02\x16\x12\x04\xba\x04\x02\x1d\x1a=\x20builtin\ \x20types\x20only,\x20such\x20as\x20`str`\x20for\x20Python\x20or\x20`int\ - `\x20in\x20Go\n\n\r\n\x05\x05\x03\x02\x16\x01\x12\x04\x9c\x04\x02\x17\n\ - \r\n\x05\x05\x03\x02\x16\x02\x12\x04\x9c\x04\x1a\x1c\n7\n\x04\x05\x03\ - \x02\x17\x12\x04\x9f\x04\x02\x1b\x1a)\x20Python\x20decorators,\x20c-like\ - \x20__attribute__\n\n\r\n\x05\x05\x03\x02\x17\x01\x12\x04\x9f\x04\x02\ - \x15\n\r\n\x05\x05\x03\x02\x17\x02\x12\x04\x9f\x04\x18\x1a\n\x14\n\x04\ - \x05\x03\x02\x18\x12\x04\xa2\x04\x02\x13\x1a\x06\x20`\\b`\n\n\r\n\x05\ - \x05\x03\x02\x18\x01\x12\x04\xa2\x04\x02\r\n\r\n\x05\x05\x03\x02\x18\x02\ - \x12\x04\xa2\x04\x10\x12\n\x18\n\x04\x05\x03\x02\x19\x12\x04\xa4\x04\x02\ - \x15\x1a\n\x20`*`,\x20`+`\n\n\r\n\x05\x05\x03\x02\x19\x01\x12\x04\xa4\ - \x04\x02\x0f\n\r\n\x05\x05\x03\x02\x19\x02\x12\x04\xa4\x04\x12\x14\n\x13\ - \n\x04\x05\x03\x02\x1a\x12\x04\xa6\x04\x02\x15\x1a\x05\x20`.`\n\n\r\n\ - \x05\x05\x03\x02\x1a\x01\x12\x04\xa6\x04\x02\x0f\n\r\n\x05\x05\x03\x02\ - \x1a\x02\x12\x04\xa6\x04\x12\x14\n\"\n\x04\x05\x03\x02\x1b\x12\x04\xa8\ - \x04\x02\x16\x1a\x14\x20`(`,\x20`)`,\x20`[`,\x20`]`\n\n\r\n\x05\x05\x03\ - \x02\x1b\x01\x12\x04\xa8\x04\x02\x10\n\r\n\x05\x05\x03\x02\x1b\x02\x12\ - \x04\xa8\x04\x13\x15\n\x18\n\x04\x05\x03\x02\x1c\x12\x04\xaa\x04\x02\x11\ - \x1a\n\x20`|`,\x20`-`\n\n\r\n\x05\x05\x03\x02\x1c\x01\x12\x04\xaa\x04\ - \x02\x0b\n\r\n\x05\x05\x03\x02\x1c\x02\x12\x04\xaa\x04\x0e\x10\n0\n\x04\ - \x05\x03\x02\x1d\x12\x04\xad\x04\x02\x15\x1a\"\x20Literal\x20strings:\ - \x20\"Hello,\x20world!\"\n\n\r\n\x05\x05\x03\x02\x1d\x01\x12\x04\xad\x04\ - \x02\x0f\n\r\n\x05\x05\x03\x02\x1d\x02\x12\x04\xad\x04\x12\x14\n-\n\x04\ - \x05\x03\x02\x1e\x12\x04\xaf\x04\x02\x1b\x1a\x1f\x20non-regex\x20escapes\ - :\x20\"\\t\",\x20\"\\n\"\n\n\r\n\x05\x05\x03\x02\x1e\x01\x12\x04\xaf\x04\ - \x02\x15\n\r\n\x05\x05\x03\x02\x1e\x02\x12\x04\xaf\x04\x18\x1a\n_\n\x04\ - \x05\x03\x02\x1f\x12\x04\xb1\x04\x02\x1c\x1aQ\x20datetimes\x20within\x20\ + `\x20in\x20Go\n\n\r\n\x05\x05\x04\x02\x16\x01\x12\x04\xba\x04\x02\x17\n\ + \r\n\x05\x05\x04\x02\x16\x02\x12\x04\xba\x04\x1a\x1c\n7\n\x04\x05\x04\ + \x02\x17\x12\x04\xbd\x04\x02\x1b\x1a)\x20Python\x20decorators,\x20c-like\ + \x20__attribute__\n\n\r\n\x05\x05\x04\x02\x17\x01\x12\x04\xbd\x04\x02\ + \x15\n\r\n\x05\x05\x04\x02\x17\x02\x12\x04\xbd\x04\x18\x1a\n\x14\n\x04\ + \x05\x04\x02\x18\x12\x04\xc0\x04\x02\x13\x1a\x06\x20`\\b`\n\n\r\n\x05\ + \x05\x04\x02\x18\x01\x12\x04\xc0\x04\x02\r\n\r\n\x05\x05\x04\x02\x18\x02\ + \x12\x04\xc0\x04\x10\x12\n\x18\n\x04\x05\x04\x02\x19\x12\x04\xc2\x04\x02\ + \x15\x1a\n\x20`*`,\x20`+`\n\n\r\n\x05\x05\x04\x02\x19\x01\x12\x04\xc2\ + \x04\x02\x0f\n\r\n\x05\x05\x04\x02\x19\x02\x12\x04\xc2\x04\x12\x14\n\x13\ + \n\x04\x05\x04\x02\x1a\x12\x04\xc4\x04\x02\x15\x1a\x05\x20`.`\n\n\r\n\ + \x05\x05\x04\x02\x1a\x01\x12\x04\xc4\x04\x02\x0f\n\r\n\x05\x05\x04\x02\ + \x1a\x02\x12\x04\xc4\x04\x12\x14\n\"\n\x04\x05\x04\x02\x1b\x12\x04\xc6\ + \x04\x02\x16\x1a\x14\x20`(`,\x20`)`,\x20`[`,\x20`]`\n\n\r\n\x05\x05\x04\ + \x02\x1b\x01\x12\x04\xc6\x04\x02\x10\n\r\n\x05\x05\x04\x02\x1b\x02\x12\ + \x04\xc6\x04\x13\x15\n\x18\n\x04\x05\x04\x02\x1c\x12\x04\xc8\x04\x02\x11\ + \x1a\n\x20`|`,\x20`-`\n\n\r\n\x05\x05\x04\x02\x1c\x01\x12\x04\xc8\x04\ + \x02\x0b\n\r\n\x05\x05\x04\x02\x1c\x02\x12\x04\xc8\x04\x0e\x10\n0\n\x04\ + \x05\x04\x02\x1d\x12\x04\xcb\x04\x02\x15\x1a\"\x20Literal\x20strings:\ + \x20\"Hello,\x20world!\"\n\n\r\n\x05\x05\x04\x02\x1d\x01\x12\x04\xcb\x04\ + \x02\x0f\n\r\n\x05\x05\x04\x02\x1d\x02\x12\x04\xcb\x04\x12\x14\n-\n\x04\ + \x05\x04\x02\x1e\x12\x04\xcd\x04\x02\x1b\x1a\x1f\x20non-regex\x20escapes\ + :\x20\"\\t\",\x20\"\\n\"\n\n\r\n\x05\x05\x04\x02\x1e\x01\x12\x04\xcd\x04\ + \x02\x15\n\r\n\x05\x05\x04\x02\x1e\x02\x12\x04\xcd\x04\x18\x1a\n_\n\x04\ + \x05\x04\x02\x1f\x12\x04\xcf\x04\x02\x1c\x1aQ\x20datetimes\x20within\x20\ strings,\x20special\x20words\x20within\x20a\x20string,\x20`{}`\x20in\x20\ - format\x20strings\n\n\r\n\x05\x05\x03\x02\x1f\x01\x12\x04\xb1\x04\x02\ - \x16\n\r\n\x05\x05\x03\x02\x1f\x02\x12\x04\xb1\x04\x19\x1b\nG\n\x04\x05\ - \x03\x02\x20\x12\x04\xb3\x04\x02\x18\x1a9\x20\"key\"\x20in\x20{\x20\"key\ + format\x20strings\n\n\r\n\x05\x05\x04\x02\x1f\x01\x12\x04\xcf\x04\x02\ + \x16\n\r\n\x05\x05\x04\x02\x1f\x02\x12\x04\xcf\x04\x19\x1b\nG\n\x04\x05\ + \x04\x02\x20\x12\x04\xd1\x04\x02\x18\x1a9\x20\"key\"\x20in\x20{\x20\"key\ \":\x20\"value\"\x20},\x20useful\x20for\x20example\x20in\x20JSON\n\n\r\n\ - \x05\x05\x03\x02\x20\x01\x12\x04\xb3\x04\x02\x12\n\r\n\x05\x05\x03\x02\ - \x20\x02\x12\x04\xb3\x04\x15\x17\nV\n\x04\x05\x03\x02!\x12\x04\xb5\x04\ + \x05\x05\x04\x02\x20\x01\x12\x04\xd1\x04\x02\x12\n\r\n\x05\x05\x04\x02\ + \x20\x02\x12\x04\xd1\x04\x15\x17\nV\n\x04\x05\x04\x02!\x12\x04\xd3\x04\ \x02\x18\x1aH\x20'c'\x20or\x20similar,\x20in\x20languages\x20that\x20dif\ - ferentiate\x20strings\x20and\x20characters\n\n\r\n\x05\x05\x03\x02!\x01\ - \x12\x04\xb5\x04\x02\x12\n\r\n\x05\x05\x03\x02!\x02\x12\x04\xb5\x04\x15\ - \x17\n9\n\x04\x05\x03\x02\"\x12\x04\xb7\x04\x02\x16\x1a+\x20Literal\x20n\ - umbers,\x20both\x20floats\x20and\x20integers\n\n\r\n\x05\x05\x03\x02\"\ - \x01\x12\x04\xb7\x04\x02\x10\n\r\n\x05\x05\x03\x02\"\x02\x12\x04\xb7\x04\ - \x13\x15\n\x1f\n\x04\x05\x03\x02#\x12\x04\xb9\x04\x02\x16\x1a\x11\x20`tr\ - ue`,\x20`false`\n\n\r\n\x05\x05\x03\x02#\x01\x12\x04\xb9\x04\x02\x10\n\r\ - \n\x05\x05\x03\x02#\x02\x12\x04\xb9\x04\x13\x15\n&\n\x04\x05\x03\x02$\ - \x12\x04\xbc\x04\x02\x0b\x1a\x18\x20Used\x20for\x20XML-like\x20tags\n\n\ - \r\n\x05\x05\x03\x02$\x01\x12\x04\xbc\x04\x02\x05\n\r\n\x05\x05\x03\x02$\ - \x02\x12\x04\xbc\x04\x08\n\n/\n\x04\x05\x03\x02%\x12\x04\xbe\x04\x02\x14\ - \x1a!\x20Attribute\x20name\x20in\x20XML-like\x20tags\n\n\r\n\x05\x05\x03\ - \x02%\x01\x12\x04\xbe\x04\x02\x0e\n\r\n\x05\x05\x03\x02%\x02\x12\x04\xbe\ - \x04\x11\x13\n,\n\x04\x05\x03\x02&\x12\x04\xc0\x04\x02\x14\x1a\x1e\x20De\ - limiters\x20for\x20XML-like\x20tags\n\n\r\n\x05\x05\x03\x02&\x01\x12\x04\ - \xc0\x04\x02\x0e\n\r\n\x05\x05\x03\x02&\x02\x12\x04\xc0\x04\x11\x13\n\ - \xf9\x01\n\x02\x04\t\x12\x06\xc8\x04\0\xa4\x05\x01\x1a\xea\x01\x20Occurr\ + ferentiate\x20strings\x20and\x20characters\n\n\r\n\x05\x05\x04\x02!\x01\ + \x12\x04\xd3\x04\x02\x12\n\r\n\x05\x05\x04\x02!\x02\x12\x04\xd3\x04\x15\ + \x17\n9\n\x04\x05\x04\x02\"\x12\x04\xd5\x04\x02\x16\x1a+\x20Literal\x20n\ + umbers,\x20both\x20floats\x20and\x20integers\n\n\r\n\x05\x05\x04\x02\"\ + \x01\x12\x04\xd5\x04\x02\x10\n\r\n\x05\x05\x04\x02\"\x02\x12\x04\xd5\x04\ + \x13\x15\n\x1f\n\x04\x05\x04\x02#\x12\x04\xd7\x04\x02\x16\x1a\x11\x20`tr\ + ue`,\x20`false`\n\n\r\n\x05\x05\x04\x02#\x01\x12\x04\xd7\x04\x02\x10\n\r\ + \n\x05\x05\x04\x02#\x02\x12\x04\xd7\x04\x13\x15\n&\n\x04\x05\x04\x02$\ + \x12\x04\xda\x04\x02\x0b\x1a\x18\x20Used\x20for\x20XML-like\x20tags\n\n\ + \r\n\x05\x05\x04\x02$\x01\x12\x04\xda\x04\x02\x05\n\r\n\x05\x05\x04\x02$\ + \x02\x12\x04\xda\x04\x08\n\n/\n\x04\x05\x04\x02%\x12\x04\xdc\x04\x02\x14\ + \x1a!\x20Attribute\x20name\x20in\x20XML-like\x20tags\n\n\r\n\x05\x05\x04\ + \x02%\x01\x12\x04\xdc\x04\x02\x0e\n\r\n\x05\x05\x04\x02%\x02\x12\x04\xdc\ + \x04\x11\x13\n,\n\x04\x05\x04\x02&\x12\x04\xde\x04\x02\x14\x1a\x1e\x20De\ + limiters\x20for\x20XML-like\x20tags\n\n\r\n\x05\x05\x04\x02&\x01\x12\x04\ + \xde\x04\x02\x0e\n\r\n\x05\x05\x04\x02&\x02\x12\x04\xde\x04\x11\x13\n\ + \xf9\x01\n\x02\x04\t\x12\x06\xe6\x04\0\xc5\x05\x01\x1a\xea\x01\x20Occurr\ ence\x20associates\x20a\x20source\x20position\x20with\x20a\x20symbol\x20\ and/or\x20highlighting\n\x20information.\n\n\x20If\x20possible,\x20index\ ers\x20should\x20try\x20to\x20bundle\x20logically\x20related\x20informat\ ion\n\x20across\x20occurrences\x20into\x20a\x20single\x20occurrence\x20t\ - o\x20reduce\x20payload\x20sizes.\n\n\x0b\n\x03\x04\t\x01\x12\x04\xc8\x04\ - \x08\x12\n\xc6\x07\n\x04\x04\t\x02\0\x12\x04\xdb\x04\x02\x1b\x1a\xb7\x07\ + o\x20reduce\x20payload\x20sizes.\n\n\x0b\n\x03\x04\t\x01\x12\x04\xe6\x04\ + \x08\x12\n\x9e\x08\n\x04\x04\t\x02\0\x12\x04\xfc\x04\x02\x1b\x1a\x8f\x08\ \x20Source\x20position\x20of\x20this\x20occurrence.\x20Must\x20be\x20exa\ ctly\x20three\x20or\x20four\n\x20elements:\n\n\x20-\x20Four\x20elements:\ \x20`[startLine,\x20startCharacter,\x20endLine,\x20endCharacter]`\n\x20-\ @@ -5096,408 +5223,409 @@ static file_descriptor_proto_data: &'static [u8] = b"\ rs\x20and\x20characters\x20are\x20always\x200-based.\x20Make\x20sure\x20\ to\x20increment\x20the\n\x20line/character\x20values\x20before\x20displa\ ying\x20them\x20in\x20an\x20editor-like\x20UI\x20because\n\x20editors\ - \x20conventionally\x20use\x201-based\x20numbers.\n\n\x20Historical\x20no\ - te:\x20the\x20original\x20draft\x20of\x20this\x20schema\x20had\x20a\x20`\ - Range`\x20message\n\x20type\x20with\x20`start`\x20and\x20`end`\x20fields\ - \x20of\x20type\x20`Position`,\x20mirroring\x20LSP.\n\x20Benchmarks\x20re\ - vealed\x20that\x20this\x20encoding\x20was\x20inefficient\x20and\x20that\ - \x20we\x20could\n\x20reduce\x20the\x20total\x20payload\x20size\x20of\x20\ - an\x20index\x20by\x2050%\x20by\x20using\x20`repeated\x20int32`\n\x20inst\ - ead.\x20The\x20`repeated\x20int32`\x20encoding\x20is\x20admittedly\x20mo\ - re\x20embarrassing\x20to\n\x20work\x20with\x20in\x20some\x20programming\ - \x20languages\x20but\x20we\x20hope\x20the\x20performance\n\x20improvemen\ - ts\x20make\x20up\x20for\x20it.\n\n\r\n\x05\x04\t\x02\0\x04\x12\x04\xdb\ - \x04\x02\n\n\r\n\x05\x04\t\x02\0\x05\x12\x04\xdb\x04\x0b\x10\n\r\n\x05\ - \x04\t\x02\0\x01\x12\x04\xdb\x04\x11\x16\n\r\n\x05\x04\t\x02\0\x03\x12\ - \x04\xdb\x04\x19\x1a\n\x8a\x01\n\x04\x04\t\x02\x01\x12\x04\xde\x04\x02\ - \x14\x1a|\x20(optional)\x20The\x20symbol\x20that\x20appears\x20at\x20thi\ - s\x20position.\x20See\n\x20`SymbolInformation.symbol`\x20for\x20how\x20t\ - o\x20format\x20symbols\x20as\x20strings.\n\n\r\n\x05\x04\t\x02\x01\x05\ - \x12\x04\xde\x04\x02\x08\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xde\x04\t\ - \x0f\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\xde\x04\x12\x13\n\x97\x01\n\x04\ - \x04\t\x02\x02\x12\x04\xe1\x04\x02\x19\x1a\x88\x01\x20(optional)\x20Bits\ - et\x20containing\x20`SymbolRole`s\x20in\x20this\x20occurrence.\n\x20See\ - \x20`SymbolRole`'s\x20documentation\x20for\x20how\x20to\x20read\x20and\ - \x20write\x20this\x20field.\n\n\r\n\x05\x04\t\x02\x02\x05\x12\x04\xe1\ - \x04\x02\x07\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\xe1\x04\x08\x14\n\r\n\ - \x05\x04\t\x02\x02\x03\x12\x04\xe1\x04\x17\x18\n\xf1\x03\n\x04\x04\t\x02\ - \x03\x12\x04\xea\x04\x02-\x1a\xe2\x03\x20(optional)\x20CommonMark-format\ - ted\x20documentation\x20for\x20this\x20specific\x20range.\x20If\n\x20emp\ - ty,\x20the\x20`Symbol.documentation`\x20field\x20is\x20used\x20instead.\ - \x20One\x20example\n\x20where\x20this\x20field\x20might\x20be\x20useful\ - \x20is\x20when\x20the\x20symbol\x20represents\x20a\x20generic\n\x20funct\ - ion\x20(with\x20abstract\x20type\x20parameters\x20such\x20as\x20`List\ - `)\x20and\x20at\x20this\n\x20occurrence\x20we\x20know\x20the\x20exact\ - \x20values\x20(such\x20as\x20`List`).\n\n\x20This\x20field\x20ca\ - n\x20also\x20be\x20used\x20for\x20dynamically\x20or\x20gradually\x20type\ - d\x20languages,\n\x20which\x20commonly\x20allow\x20for\x20type-changing\ - \x20assignment.\n\n\r\n\x05\x04\t\x02\x03\x04\x12\x04\xea\x04\x02\n\n\r\ - \n\x05\x04\t\x02\x03\x05\x12\x04\xea\x04\x0b\x11\n\r\n\x05\x04\t\x02\x03\ - \x01\x12\x04\xea\x04\x12(\n\r\n\x05\x04\t\x02\x03\x03\x12\x04\xea\x04+,\ - \nX\n\x04\x04\t\x02\x04\x12\x04\xec\x04\x02\x1d\x1aJ\x20(optional)\x20Wh\ - at\x20syntax\x20highlighting\x20class\x20should\x20be\x20used\x20for\x20\ - this\x20range?\n\n\r\n\x05\x04\t\x02\x04\x06\x12\x04\xec\x04\x02\x0c\n\r\ - \n\x05\x04\t\x02\x04\x01\x12\x04\xec\x04\r\x18\n\r\n\x05\x04\t\x02\x04\ - \x03\x12\x04\xec\x04\x1b\x1c\nW\n\x04\x04\t\x02\x05\x12\x04\xee\x04\x02&\ - \x1aI\x20(optional)\x20Diagnostics\x20that\x20have\x20been\x20reported\ - \x20for\x20this\x20specific\x20range.\n\n\r\n\x05\x04\t\x02\x05\x04\x12\ - \x04\xee\x04\x02\n\n\r\n\x05\x04\t\x02\x05\x06\x12\x04\xee\x04\x0b\x15\n\ - \r\n\x05\x04\t\x02\x05\x01\x12\x04\xee\x04\x16!\n\r\n\x05\x04\t\x02\x05\ - \x03\x12\x04\xee\x04$%\n\xb1\x0e\n\x04\x04\t\x02\x06\x12\x04\xa3\x05\x02\ - %\x1a\xa2\x0e\x20(optional)\x20Using\x20the\x20same\x20encoding\x20as\ - \x20the\x20sibling\x20`range`\x20field,\x20source\n\x20position\x20of\ - \x20the\x20nearest\x20non-trivial\x20enclosing\x20AST\x20node.\x20This\ - \x20range\x20must\n\x20enclose\x20the\x20`range`\x20field.\x20Example\ - \x20applications\x20that\x20make\x20use\x20of\x20the\n\x20enclosing_rang\ - e\x20field:\n\n\x20-\x20Call\x20hierarchies:\x20to\x20determine\x20what\ - \x20symbols\x20are\x20references\x20from\x20the\x20body\n\x20\x20\x20of\ - \x20a\x20function\n\x20-\x20Symbol\x20outline:\x20to\x20display\x20bread\ - crumbs\x20from\x20the\x20cursor\x20position\x20to\x20the\n\x20\x20\x20ro\ - ot\x20of\x20the\x20file\n\x20-\x20Expand\x20selection:\x20to\x20select\ - \x20the\x20nearest\x20enclosing\x20AST\x20node.\n\x20-\x20Highlight\x20r\ - ange:\x20to\x20indicate\x20the\x20AST\x20expression\x20that\x20is\x20ass\ - ociated\x20with\x20a\n\x20\x20\x20hover\x20popover\n\n\x20For\x20definit\ - ion\x20occurrences,\x20the\x20enclosing\x20range\x20should\x20indicate\ - \x20the\n\x20start/end\x20bounds\x20of\x20the\x20entire\x20definition\ - \x20AST\x20node,\x20including\n\x20documentation.\n\x20```\n\x20const\ - \x20n\x20=\x203\n\x20\x20\x20\x20\x20\x20\x20^\x20range\n\x20^^^^^^^^^^^\ - \x20enclosing_range\n\n\x20/**\x20Parses\x20the\x20string\x20into\x20som\ - ething\x20*/\n\x20^\x20enclosing_range\x20start\x20---------------------\ - -----------------|\n\x20function\x20parse(input\x20string):\x20string\ - \x20{\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20|\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20^^^^^\x20range\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20conventionally\x20use\x201-based\x20numbers.\n\n\x20The\x20'characte\ + r'\x20value\x20is\x20interpreted\x20based\x20on\x20the\x20PositionEncodi\ + ng\x20for\n\x20the\x20Document.\n\n\x20Historical\x20note:\x20the\x20ori\ + ginal\x20draft\x20of\x20this\x20schema\x20had\x20a\x20`Range`\x20message\ + \n\x20type\x20with\x20`start`\x20and\x20`end`\x20fields\x20of\x20type\ + \x20`Position`,\x20mirroring\x20LSP.\n\x20Benchmarks\x20revealed\x20that\ + \x20this\x20encoding\x20was\x20inefficient\x20and\x20that\x20we\x20could\ + \n\x20reduce\x20the\x20total\x20payload\x20size\x20of\x20an\x20index\x20\ + by\x2050%\x20by\x20using\x20`repeated\x20int32`\n\x20instead.\x20The\x20\ + `repeated\x20int32`\x20encoding\x20is\x20admittedly\x20more\x20embarrass\ + ing\x20to\n\x20work\x20with\x20in\x20some\x20programming\x20languages\ + \x20but\x20we\x20hope\x20the\x20performance\n\x20improvements\x20make\ + \x20up\x20for\x20it.\n\n\r\n\x05\x04\t\x02\0\x04\x12\x04\xfc\x04\x02\n\n\ + \r\n\x05\x04\t\x02\0\x05\x12\x04\xfc\x04\x0b\x10\n\r\n\x05\x04\t\x02\0\ + \x01\x12\x04\xfc\x04\x11\x16\n\r\n\x05\x04\t\x02\0\x03\x12\x04\xfc\x04\ + \x19\x1a\n\x8a\x01\n\x04\x04\t\x02\x01\x12\x04\xff\x04\x02\x14\x1a|\x20(\ + optional)\x20The\x20symbol\x20that\x20appears\x20at\x20this\x20position.\ + \x20See\n\x20`SymbolInformation.symbol`\x20for\x20how\x20to\x20format\ + \x20symbols\x20as\x20strings.\n\n\r\n\x05\x04\t\x02\x01\x05\x12\x04\xff\ + \x04\x02\x08\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xff\x04\t\x0f\n\r\n\x05\ + \x04\t\x02\x01\x03\x12\x04\xff\x04\x12\x13\n\x97\x01\n\x04\x04\t\x02\x02\ + \x12\x04\x82\x05\x02\x19\x1a\x88\x01\x20(optional)\x20Bitset\x20containi\ + ng\x20`SymbolRole`s\x20in\x20this\x20occurrence.\n\x20See\x20`SymbolRole\ + `'s\x20documentation\x20for\x20how\x20to\x20read\x20and\x20write\x20this\ + \x20field.\n\n\r\n\x05\x04\t\x02\x02\x05\x12\x04\x82\x05\x02\x07\n\r\n\ + \x05\x04\t\x02\x02\x01\x12\x04\x82\x05\x08\x14\n\r\n\x05\x04\t\x02\x02\ + \x03\x12\x04\x82\x05\x17\x18\n\xf1\x03\n\x04\x04\t\x02\x03\x12\x04\x8b\ + \x05\x02-\x1a\xe2\x03\x20(optional)\x20CommonMark-formatted\x20documenta\ + tion\x20for\x20this\x20specific\x20range.\x20If\n\x20empty,\x20the\x20`S\ + ymbol.documentation`\x20field\x20is\x20used\x20instead.\x20One\x20exampl\ + e\n\x20where\x20this\x20field\x20might\x20be\x20useful\x20is\x20when\x20\ + the\x20symbol\x20represents\x20a\x20generic\n\x20function\x20(with\x20ab\ + stract\x20type\x20parameters\x20such\x20as\x20`List`)\x20and\x20at\ + \x20this\n\x20occurrence\x20we\x20know\x20the\x20exact\x20values\x20(suc\ + h\x20as\x20`List`).\n\n\x20This\x20field\x20can\x20also\x20be\ + \x20used\x20for\x20dynamically\x20or\x20gradually\x20typed\x20languages,\ + \n\x20which\x20commonly\x20allow\x20for\x20type-changing\x20assignment.\ + \n\n\r\n\x05\x04\t\x02\x03\x04\x12\x04\x8b\x05\x02\n\n\r\n\x05\x04\t\x02\ + \x03\x05\x12\x04\x8b\x05\x0b\x11\n\r\n\x05\x04\t\x02\x03\x01\x12\x04\x8b\ + \x05\x12(\n\r\n\x05\x04\t\x02\x03\x03\x12\x04\x8b\x05+,\nX\n\x04\x04\t\ + \x02\x04\x12\x04\x8d\x05\x02\x1d\x1aJ\x20(optional)\x20What\x20syntax\ + \x20highlighting\x20class\x20should\x20be\x20used\x20for\x20this\x20rang\ + e?\n\n\r\n\x05\x04\t\x02\x04\x06\x12\x04\x8d\x05\x02\x0c\n\r\n\x05\x04\t\ + \x02\x04\x01\x12\x04\x8d\x05\r\x18\n\r\n\x05\x04\t\x02\x04\x03\x12\x04\ + \x8d\x05\x1b\x1c\nW\n\x04\x04\t\x02\x05\x12\x04\x8f\x05\x02&\x1aI\x20(op\ + tional)\x20Diagnostics\x20that\x20have\x20been\x20reported\x20for\x20thi\ + s\x20specific\x20range.\n\n\r\n\x05\x04\t\x02\x05\x04\x12\x04\x8f\x05\ + \x02\n\n\r\n\x05\x04\t\x02\x05\x06\x12\x04\x8f\x05\x0b\x15\n\r\n\x05\x04\ + \t\x02\x05\x01\x12\x04\x8f\x05\x16!\n\r\n\x05\x04\t\x02\x05\x03\x12\x04\ + \x8f\x05$%\n\xb1\x0e\n\x04\x04\t\x02\x06\x12\x04\xc4\x05\x02%\x1a\xa2\ + \x0e\x20(optional)\x20Using\x20the\x20same\x20encoding\x20as\x20the\x20s\ + ibling\x20`range`\x20field,\x20source\n\x20position\x20of\x20the\x20near\ + est\x20non-trivial\x20enclosing\x20AST\x20node.\x20This\x20range\x20must\ + \n\x20enclose\x20the\x20`range`\x20field.\x20Example\x20applications\x20\ + that\x20make\x20use\x20of\x20the\n\x20enclosing_range\x20field:\n\n\x20-\ + \x20Call\x20hierarchies:\x20to\x20determine\x20what\x20symbols\x20are\ + \x20references\x20from\x20the\x20body\n\x20\x20\x20of\x20a\x20function\n\ + \x20-\x20Symbol\x20outline:\x20to\x20display\x20breadcrumbs\x20from\x20t\ + he\x20cursor\x20position\x20to\x20the\n\x20\x20\x20root\x20of\x20the\x20\ + file\n\x20-\x20Expand\x20selection:\x20to\x20select\x20the\x20nearest\ + \x20enclosing\x20AST\x20node.\n\x20-\x20Highlight\x20range:\x20to\x20ind\ + icate\x20the\x20AST\x20expression\x20that\x20is\x20associated\x20with\ + \x20a\n\x20\x20\x20hover\x20popover\n\n\x20For\x20definition\x20occurren\ + ces,\x20the\x20enclosing\x20range\x20should\x20indicate\x20the\n\x20star\ + t/end\x20bounds\x20of\x20the\x20entire\x20definition\x20AST\x20node,\x20\ + including\n\x20documentation.\n\x20```\n\x20const\x20n\x20=\x203\n\x20\ + \x20\x20\x20\x20\x20\x20^\x20range\n\x20^^^^^^^^^^^\x20enclosing_range\n\ + \n\x20/**\x20Parses\x20the\x20string\x20into\x20something\x20*/\n\x20^\ + \x20enclosing_range\x20start\x20--------------------------------------|\ + \n\x20function\x20parse(input\x20string):\x20string\x20{\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20|\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^^^\x20range\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20|\n\x20\x20\x20\x20\x20return\x20input.slice(n)\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20|\n\x20\x20\x20\x20\x20retur\ - n\x20input.slice(n)\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20|\n\x20}\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + |\n\x20}\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20|\n\x20^\x20\ - enclosing_range\x20end\x20<---------------------------------------|\n\ - \x20```\n\n\x20Any\x20attributes/decorators/attached\x20macros\x20should\ - \x20also\x20be\x20part\x20of\x20the\n\x20enclosing\x20range.\n\n\x20```p\ - ython\n\x20@cache\n\x20^\x20enclosing_range\x20start--------------------\ - -|\n\x20def\x20factorial(n):\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20|\n\x20\ - \x20\x20\x20\x20return\x20n\x20*\x20factorial(n-1)\x20if\x20n\x20else\ - \x201\x20\x20\x20|\n\x20<\x20enclosing_range\x20end---------------------\ - --|\n\x20\n\x20```\n\n\x20For\x20reference\x20occurrences,\x20the\x20enc\ - losing\x20range\x20should\x20indicate\x20the\x20start/end\n\x20bounds\ - \x20of\x20the\x20parent\x20expression.\n\x20```\n\x20const\x20a\x20=\x20\ - a.b\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^\x20range\n\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^^^\x20enclosing_range\n\x20\ - const\x20b\x20=\x20a.b(41).f(42).g(43)\n\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20^\x20range\n\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20\x20\x20^^^^^^^^^^^^^\x20enclosing_range\n\x20```\n\ - \n\r\n\x05\x04\t\x02\x06\x04\x12\x04\xa3\x05\x02\n\n\r\n\x05\x04\t\x02\ - \x06\x05\x12\x04\xa3\x05\x0b\x10\n\r\n\x05\x04\t\x02\x06\x01\x12\x04\xa3\ - \x05\x11\x20\n\r\n\x05\x04\t\x02\x06\x03\x12\x04\xa3\x05#$\nw\n\x02\x04\ - \n\x12\x06\xa8\x05\0\xb3\x05\x01\x1ai\x20Represents\x20a\x20diagnostic,\ - \x20such\x20as\x20a\x20compiler\x20error\x20or\x20warning,\x20which\x20s\ - hould\x20be\n\x20reported\x20for\x20a\x20document.\n\n\x0b\n\x03\x04\n\ - \x01\x12\x04\xa8\x05\x08\x12\nW\n\x04\x04\n\x02\0\x12\x04\xaa\x05\x02\ - \x18\x1aI\x20Should\x20this\x20diagnostic\x20be\x20reported\x20as\x20an\ - \x20error,\x20warning,\x20info,\x20or\x20hint?\n\n\r\n\x05\x04\n\x02\0\ - \x06\x12\x04\xaa\x05\x02\n\n\r\n\x05\x04\n\x02\0\x01\x12\x04\xaa\x05\x0b\ - \x13\n\r\n\x05\x04\n\x02\0\x03\x12\x04\xaa\x05\x16\x17\n]\n\x04\x04\n\ - \x02\x01\x12\x04\xac\x05\x02\x12\x1aO\x20(optional)\x20Code\x20of\x20thi\ - s\x20diagnostic,\x20which\x20might\x20appear\x20in\x20the\x20user\x20int\ - erface.\n\n\r\n\x05\x04\n\x02\x01\x05\x12\x04\xac\x05\x02\x08\n\r\n\x05\ - \x04\n\x02\x01\x01\x12\x04\xac\x05\t\r\n\r\n\x05\x04\n\x02\x01\x03\x12\ - \x04\xac\x05\x10\x11\n+\n\x04\x04\n\x02\x02\x12\x04\xae\x05\x02\x15\x1a\ - \x1d\x20Message\x20of\x20this\x20diagnostic.\n\n\r\n\x05\x04\n\x02\x02\ - \x05\x12\x04\xae\x05\x02\x08\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\xae\x05\ - \t\x10\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xae\x05\x13\x14\n~\n\x04\x04\ - \n\x02\x03\x12\x04\xb1\x05\x02\x14\x1ap\x20(optional)\x20Human-readable\ - \x20string\x20describing\x20the\x20source\x20of\x20this\x20diagnostic,\ - \x20e.g.\n\x20'typescript'\x20or\x20'super\x20lint'.\n\n\r\n\x05\x04\n\ - \x02\x03\x05\x12\x04\xb1\x05\x02\x08\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\ - \xb1\x05\t\x0f\n\r\n\x05\x04\n\x02\x03\x03\x12\x04\xb1\x05\x12\x13\n\x0c\ - \n\x04\x04\n\x02\x04\x12\x04\xb2\x05\x02\"\n\r\n\x05\x04\n\x02\x04\x04\ - \x12\x04\xb2\x05\x02\n\n\r\n\x05\x04\n\x02\x04\x06\x12\x04\xb2\x05\x0b\ - \x18\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\xb2\x05\x19\x1d\n\r\n\x05\x04\n\ - \x02\x04\x03\x12\x04\xb2\x05\x20!\n\x0c\n\x02\x05\x04\x12\x06\xb5\x05\0\ - \xbb\x05\x01\n\x0b\n\x03\x05\x04\x01\x12\x04\xb5\x05\x05\r\n\x0c\n\x04\ - \x05\x04\x02\0\x12\x04\xb6\x05\x02\x1a\n\r\n\x05\x05\x04\x02\0\x01\x12\ - \x04\xb6\x05\x02\x15\n\r\n\x05\x05\x04\x02\0\x02\x12\x04\xb6\x05\x18\x19\ - \n\x0c\n\x04\x05\x04\x02\x01\x12\x04\xb7\x05\x02\x0c\n\r\n\x05\x05\x04\ - \x02\x01\x01\x12\x04\xb7\x05\x02\x07\n\r\n\x05\x05\x04\x02\x01\x02\x12\ - \x04\xb7\x05\n\x0b\n\x0c\n\x04\x05\x04\x02\x02\x12\x04\xb8\x05\x02\x0e\n\ - \r\n\x05\x05\x04\x02\x02\x01\x12\x04\xb8\x05\x02\t\n\r\n\x05\x05\x04\x02\ - \x02\x02\x12\x04\xb8\x05\x0c\r\n\x0c\n\x04\x05\x04\x02\x03\x12\x04\xb9\ - \x05\x02\x12\n\r\n\x05\x05\x04\x02\x03\x01\x12\x04\xb9\x05\x02\r\n\r\n\ - \x05\x05\x04\x02\x03\x02\x12\x04\xb9\x05\x10\x11\n\x0c\n\x04\x05\x04\x02\ - \x04\x12\x04\xba\x05\x02\x0b\n\r\n\x05\x05\x04\x02\x04\x01\x12\x04\xba\ - \x05\x02\x06\n\r\n\x05\x05\x04\x02\x04\x02\x12\x04\xba\x05\t\n\n\x0c\n\ - \x02\x05\x05\x12\x06\xbd\x05\0\xc1\x05\x01\n\x0b\n\x03\x05\x05\x01\x12\ - \x04\xbd\x05\x05\x12\n\x0c\n\x04\x05\x05\x02\0\x12\x04\xbe\x05\x02\x1f\n\ - \r\n\x05\x05\x05\x02\0\x01\x12\x04\xbe\x05\x02\x1a\n\r\n\x05\x05\x05\x02\ - \0\x02\x12\x04\xbe\x05\x1d\x1e\n\x0c\n\x04\x05\x05\x02\x01\x12\x04\xbf\ - \x05\x02\x12\n\r\n\x05\x05\x05\x02\x01\x01\x12\x04\xbf\x05\x02\r\n\r\n\ - \x05\x05\x05\x02\x01\x02\x12\x04\xbf\x05\x10\x11\n\x0c\n\x04\x05\x05\x02\ - \x02\x12\x04\xc0\x05\x02\x11\n\r\n\x05\x05\x05\x02\x02\x01\x12\x04\xc0\ - \x05\x02\x0c\n\r\n\x05\x05\x05\x02\x02\x02\x12\x04\xc0\x05\x0f\x10\n\xd0\ - \x03\n\x02\x05\x06\x12\x06\xc9\x05\0\xbf\x06\x01\x1a\xc1\x03\x20Language\ - \x20standardises\x20names\x20of\x20common\x20programming\x20languages\ - \x20that\x20can\x20be\x20used\n\x20for\x20the\x20`Document.language`\x20\ - field.\x20The\x20primary\x20purpose\x20of\x20this\x20enum\x20is\x20to\n\ - \x20prevent\x20a\x20situation\x20where\x20we\x20have\x20a\x20single\x20p\ - rogramming\x20language\x20ends\x20up\x20with\n\x20multiple\x20string\x20\ - representations.\x20For\x20example,\x20the\x20C++\x20language\x20uses\ - \x20the\x20name\n\x20\"CPP\"\x20in\x20this\x20enum\x20and\x20other\x20na\ - mes\x20such\x20as\x20\"cpp\"\x20are\x20incompatible.\n\x20Feel\x20free\ - \x20to\x20send\x20a\x20pull-request\x20to\x20add\x20missing\x20programmi\ - ng\x20languages.\n\n\x0b\n\x03\x05\x06\x01\x12\x04\xc9\x05\x05\r\n\x0c\n\ - \x04\x05\x06\x02\0\x12\x04\xca\x05\x02\x1a\n\r\n\x05\x05\x06\x02\0\x01\ - \x12\x04\xca\x05\x02\x15\n\r\n\x05\x05\x06\x02\0\x02\x12\x04\xca\x05\x18\ - \x19\n\x0c\n\x04\x05\x06\x02\x01\x12\x04\xcb\x05\x02\x0c\n\r\n\x05\x05\ - \x06\x02\x01\x01\x12\x04\xcb\x05\x02\x06\n\r\n\x05\x05\x06\x02\x01\x02\ - \x12\x04\xcb\x05\t\x0b\n\x0c\n\x04\x05\x06\x02\x02\x12\x04\xcc\x05\x02\ - \x0c\n\r\n\x05\x05\x06\x02\x02\x01\x12\x04\xcc\x05\x02\x06\n\r\n\x05\x05\ - \x06\x02\x02\x02\x12\x04\xcc\x05\t\x0b\n\x0c\n\x04\x05\x06\x02\x03\x12\ - \x04\xcd\x05\x02\x0b\n\r\n\x05\x05\x06\x02\x03\x01\x12\x04\xcd\x05\x02\ - \x05\n\r\n\x05\x05\x06\x02\x03\x02\x12\x04\xcd\x05\x08\n\n\x0c\n\x04\x05\ - \x06\x02\x04\x12\x04\xce\x05\x02\x0b\n\r\n\x05\x05\x06\x02\x04\x01\x12\ - \x04\xce\x05\x02\x05\n\r\n\x05\x05\x06\x02\x04\x02\x12\x04\xce\x05\x08\n\ - \n\x0c\n\x04\x05\x06\x02\x05\x12\x04\xcf\x05\x02\x0c\n\r\n\x05\x05\x06\ - \x02\x05\x01\x12\x04\xcf\x05\x02\x06\n\r\n\x05\x05\x06\x02\x05\x02\x12\ - \x04\xcf\x05\t\x0b\n\x0c\n\x04\x05\x06\x02\x06\x12\x04\xd0\x05\x02\x10\n\ - \r\n\x05\x05\x06\x02\x06\x01\x12\x04\xd0\x05\x02\n\n\r\n\x05\x05\x06\x02\ - \x06\x02\x12\x04\xd0\x05\r\x0f\n\x0c\n\x04\x05\x06\x02\x07\x12\x04\xd1\ - \x05\x02\x10\n\r\n\x05\x05\x06\x02\x07\x01\x12\x04\xd1\x05\x02\n\n\r\n\ - \x05\x05\x06\x02\x07\x02\x12\x04\xd1\x05\r\x0f\n\x0c\n\x04\x05\x06\x02\ - \x08\x12\x04\xd2\x05\x02\x0b\n\r\n\x05\x05\x06\x02\x08\x01\x12\x04\xd2\ - \x05\x02\x05\n\r\n\x05\x05\x06\x02\x08\x02\x12\x04\xd2\x05\x08\n\n\x0c\n\ - \x04\x05\x06\x02\t\x12\x04\xd3\x05\x02\x0b\n\r\n\x05\x05\x06\x02\t\x01\ - \x12\x04\xd3\x05\x02\x05\n\r\n\x05\x05\x06\x02\t\x02\x12\x04\xd3\x05\x08\ - \n\n\x0c\n\x04\x05\x06\x02\n\x12\x04\xd4\x05\x02\x0e\n\r\n\x05\x05\x06\ - \x02\n\x01\x12\x04\xd4\x05\x02\x08\n\r\n\x05\x05\x06\x02\n\x02\x12\x04\ - \xd4\x05\x0b\r\n\x0c\n\x04\x05\x06\x02\x0b\x12\x04\xd5\x05\x02\t\n\r\n\ - \x05\x05\x06\x02\x0b\x01\x12\x04\xd5\x05\x02\x03\n\r\n\x05\x05\x06\x02\ - \x0b\x02\x12\x04\xd5\x05\x06\x08\n\x0c\n\x04\x05\x06\x02\x0c\x12\x04\xd6\ - \x05\x02\r\n\r\n\x05\x05\x06\x02\x0c\x01\x12\x04\xd6\x05\x02\x07\n\r\n\ - \x05\x05\x06\x02\x0c\x02\x12\x04\xd6\x05\n\x0c\nH\n\x04\x05\x06\x02\r\ - \x12\x04\xd7\x05\x02\x0b\":\x20C++\x20(the\x20name\x20\"CPP\"\x20was\x20\ - chosen\x20for\x20consistency\x20with\x20LSP)\n\n\r\n\x05\x05\x06\x02\r\ - \x01\x12\x04\xd7\x05\x02\x05\n\r\n\x05\x05\x06\x02\r\x02\x12\x04\xd7\x05\ - \x08\n\n\x0c\n\x04\x05\x06\x02\x0e\x12\x04\xd8\x05\x02\x0b\n\r\n\x05\x05\ - \x06\x02\x0e\x01\x12\x04\xd8\x05\x02\x05\n\r\n\x05\x05\x06\x02\x0e\x02\ - \x12\x04\xd8\x05\x08\n\n\x0c\n\x04\x05\x06\x02\x0f\x12\x04\xd9\x05\x02\r\ - \n\r\n\x05\x05\x06\x02\x0f\x01\x12\x04\xd9\x05\x02\x08\n\r\n\x05\x05\x06\ - \x02\x0f\x02\x12\x04\xd9\x05\x0b\x0c\n\x0c\n\x04\x05\x06\x02\x10\x12\x04\ - \xda\x05\x02\x0e\n\r\n\x05\x05\x06\x02\x10\x01\x12\x04\xda\x05\x02\t\n\r\ - \n\x05\x05\x06\x02\x10\x02\x12\x04\xda\x05\x0c\r\n\x0c\n\x04\x05\x06\x02\ - \x11\x12\x04\xdb\x05\x02\x14\n\r\n\x05\x05\x06\x02\x11\x01\x12\x04\xdb\ - \x05\x02\x0e\n\r\n\x05\x05\x06\x02\x11\x02\x12\x04\xdb\x05\x11\x13\n\x0c\ - \n\x04\x05\x06\x02\x12\x12\x04\xdc\x05\x02\x11\n\r\n\x05\x05\x06\x02\x12\ - \x01\x12\x04\xdc\x05\x02\x0c\n\r\n\x05\x05\x06\x02\x12\x02\x12\x04\xdc\ - \x05\x0f\x10\n\x0c\n\x04\x05\x06\x02\x13\x12\x04\xdd\x05\x02\x0b\n\r\n\ - \x05\x05\x06\x02\x13\x01\x12\x04\xdd\x05\x02\x05\n\r\n\x05\x05\x06\x02\ - \x13\x02\x12\x04\xdd\x05\x08\n\n\x0c\n\x04\x05\x06\x02\x14\x12\x04\xde\ - \x05\x02\x0c\n\r\n\x05\x05\x06\x02\x14\x01\x12\x04\xde\x05\x02\x06\n\r\n\ - \x05\x05\x06\x02\x14\x02\x12\x04\xde\x05\t\x0b\n\x0c\n\x04\x05\x06\x02\ - \x15\x12\x04\xdf\x05\x02\x0b\n\r\n\x05\x05\x06\x02\x15\x01\x12\x04\xdf\ - \x05\x02\x06\n\r\n\x05\x05\x06\x02\x15\x02\x12\x04\xdf\x05\t\n\n\x0c\n\ - \x04\x05\x06\x02\x16\x12\x04\xe0\x05\x02\x0e\n\r\n\x05\x05\x06\x02\x16\ - \x01\x12\x04\xe0\x05\x02\x08\n\r\n\x05\x05\x06\x02\x16\x02\x12\x04\xe0\ - \x05\x0b\r\n\x0c\n\x04\x05\x06\x02\x17\x12\x04\xe1\x05\x02\x0c\n\r\n\x05\ - \x05\x06\x02\x17\x01\x12\x04\xe1\x05\x02\x06\n\r\n\x05\x05\x06\x02\x17\ - \x02\x12\x04\xe1\x05\t\x0b\n\x0c\n\x04\x05\x06\x02\x18\x12\x04\xe2\x05\ - \x02\x12\n\r\n\x05\x05\x06\x02\x18\x01\x12\x04\xe2\x05\x02\x0c\n\r\n\x05\ - \x05\x06\x02\x18\x02\x12\x04\xe2\x05\x0f\x11\n\x0c\n\x04\x05\x06\x02\x19\ - \x12\x04\xe3\x05\x02\x0e\n\r\n\x05\x05\x06\x02\x19\x01\x12\x04\xe3\x05\ - \x02\x08\n\r\n\x05\x05\x06\x02\x19\x02\x12\x04\xe3\x05\x0b\r\n\x0c\n\x04\ - \x05\x06\x02\x1a\x12\x04\xe4\x05\x02\x0e\n\r\n\x05\x05\x06\x02\x1a\x01\ - \x12\x04\xe4\x05\x02\x08\n\r\n\x05\x05\x06\x02\x1a\x02\x12\x04\xe4\x05\ - \x0b\r\n\x0c\n\x04\x05\x06\x02\x1b\x12\x04\xe5\x05\x02\x0e\n\r\n\x05\x05\ - \x06\x02\x1b\x01\x12\x04\xe5\x05\x02\x08\n\r\n\x05\x05\x06\x02\x1b\x02\ - \x12\x04\xe5\x05\x0b\r\n\x0c\n\x04\x05\x06\x02\x1c\x12\x04\xe6\x05\x02\ - \x0e\n\r\n\x05\x05\x06\x02\x1c\x01\x12\x04\xe6\x05\x02\x08\n\r\n\x05\x05\ - \x06\x02\x1c\x02\x12\x04\xe6\x05\x0b\r\n\x0c\n\x04\x05\x06\x02\x1d\x12\ - \x04\xe7\x05\x02\x0c\n\r\n\x05\x05\x06\x02\x1d\x01\x12\x04\xe7\x05\x02\ - \x06\n\r\n\x05\x05\x06\x02\x1d\x02\x12\x04\xe7\x05\t\x0b\n\x0c\n\x04\x05\ - \x06\x02\x1e\x12\x04\xe8\x05\x02\x0c\n\r\n\x05\x05\x06\x02\x1e\x01\x12\ - \x04\xe8\x05\x02\x06\n\r\n\x05\x05\x06\x02\x1e\x02\x12\x04\xe8\x05\t\x0b\ - \n\x0c\n\x04\x05\x06\x02\x1f\x12\x04\xe9\x05\x02\x0f\n\r\n\x05\x05\x06\ - \x02\x1f\x01\x12\x04\xe9\x05\x02\t\n\r\n\x05\x05\x06\x02\x1f\x02\x12\x04\ - \xe9\x05\x0c\x0e\n\x0c\n\x04\x05\x06\x02\x20\x12\x04\xea\x05\x02\x12\n\r\ - \n\x05\x05\x06\x02\x20\x01\x12\x04\xea\x05\x02\x0c\n\r\n\x05\x05\x06\x02\ - \x20\x02\x12\x04\xea\x05\x0f\x11\n\x0c\n\x04\x05\x06\x02!\x12\x04\xeb\ - \x05\x02\x12\n\r\n\x05\x05\x06\x02!\x01\x12\x04\xeb\x05\x02\x0c\n\r\n\ - \x05\x05\x06\x02!\x02\x12\x04\xeb\x05\x0f\x11\n\x0c\n\x04\x05\x06\x02\"\ - \x12\x04\xec\x05\x02\x12\n\r\n\x05\x05\x06\x02\"\x01\x12\x04\xec\x05\x02\ - \x0c\n\r\n\x05\x05\x06\x02\"\x02\x12\x04\xec\x05\x0f\x11\n\x0c\n\x04\x05\ - \x06\x02#\x12\x04\xed\x05\x02\n\n\r\n\x05\x05\x06\x02#\x01\x12\x04\xed\ - \x05\x02\x04\n\r\n\x05\x05\x06\x02#\x02\x12\x04\xed\x05\x07\t\n\x0c\n\ - \x04\x05\x06\x02$\x12\x04\xee\x05\x02\x0f\n\r\n\x05\x05\x06\x02$\x01\x12\ - \x04\xee\x05\x02\t\n\r\n\x05\x05\x06\x02$\x02\x12\x04\xee\x05\x0c\x0e\n\ - \x0c\n\x04\x05\x06\x02%\x12\x04\xef\x05\x02\r\n\r\n\x05\x05\x06\x02%\x01\ - \x12\x04\xef\x05\x02\x08\n\r\n\x05\x05\x06\x02%\x02\x12\x04\xef\x05\x0b\ - \x0c\n\x0c\n\x04\x05\x06\x02&\x12\x04\xf0\x05\x02\x0c\n\r\n\x05\x05\x06\ - \x02&\x01\x12\x04\xf0\x05\x02\x06\n\r\n\x05\x05\x06\x02&\x02\x12\x04\xf0\ - \x05\t\x0b\n\x0c\n\x04\x05\x06\x02'\x12\x04\xf1\x05\x02\x0c\n\r\n\x05\ - \x05\x06\x02'\x01\x12\x04\xf1\x05\x02\x06\n\r\n\x05\x05\x06\x02'\x02\x12\ - \x04\xf1\x05\t\x0b\n\x0c\n\x04\x05\x06\x02(\x12\x04\xf2\x05\x02\x12\n\r\ - \n\x05\x05\x06\x02(\x01\x12\x04\xf2\x05\x02\x0c\n\r\n\x05\x05\x06\x02(\ - \x02\x12\x04\xf2\x05\x0f\x11\n\x0c\n\x04\x05\x06\x02)\x12\x04\xf3\x05\ - \x02\x0f\n\r\n\x05\x05\x06\x02)\x01\x12\x04\xf3\x05\x02\t\n\r\n\x05\x05\ - \x06\x02)\x02\x12\x04\xf3\x05\x0c\x0e\n\x0c\n\x04\x05\x06\x02*\x12\x04\ - \xf4\x05\x02\r\n\r\n\x05\x05\x06\x02*\x01\x12\x04\xf4\x05\x02\x07\n\r\n\ - \x05\x05\x06\x02*\x02\x12\x04\xf4\x05\n\x0c\n\x0c\n\x04\x05\x06\x02+\x12\ - \x04\xf5\x05\x02\x0b\n\r\n\x05\x05\x06\x02+\x01\x12\x04\xf5\x05\x02\x05\ - \n\r\n\x05\x05\x06\x02+\x02\x12\x04\xf5\x05\x08\n\n\x0c\n\x04\x05\x06\ - \x02,\x12\x04\xf6\x05\x02\t\n\r\n\x05\x05\x06\x02,\x01\x12\x04\xf6\x05\ - \x02\x03\n\r\n\x05\x05\x06\x02,\x02\x12\x04\xf6\x05\x06\x08\n\x0c\n\x04\ - \x05\x06\x02-\x12\x04\xf7\x05\x02\x0c\n\r\n\x05\x05\x06\x02-\x01\x12\x04\ - \xf7\x05\x02\x06\n\r\n\x05\x05\x06\x02-\x02\x12\x04\xf7\x05\t\x0b\n\x0c\ - \n\x04\x05\x06\x02.\x12\x04\xf8\x05\x02\x0b\n\r\n\x05\x05\x06\x02.\x01\ - \x12\x04\xf8\x05\x02\x06\n\r\n\x05\x05\x06\x02.\x02\x12\x04\xf8\x05\t\n\ - \n\x0c\n\x04\x05\x06\x02/\x12\x04\xf9\x05\x02\x12\n\r\n\x05\x05\x06\x02/\ - \x01\x12\x04\xf9\x05\x02\x0c\n\r\n\x05\x05\x06\x02/\x02\x12\x04\xf9\x05\ - \x0f\x11\n\x0c\n\x04\x05\x06\x020\x12\x04\xfa\x05\x02\x17\n\r\n\x05\x05\ - \x06\x020\x01\x12\x04\xfa\x05\x02\x11\n\r\n\x05\x05\x06\x020\x02\x12\x04\ - \xfa\x05\x14\x16\n\x0c\n\x04\x05\x06\x021\x12\x04\xfb\x05\x02\x0f\n\r\n\ - \x05\x05\x06\x021\x01\x12\x04\xfb\x05\x02\t\n\r\n\x05\x05\x06\x021\x02\ - \x12\x04\xfb\x05\x0c\x0e\n\x0c\n\x04\x05\x06\x022\x12\x04\xfc\x05\x02\ - \x0e\n\r\n\x05\x05\x06\x022\x01\x12\x04\xfc\x05\x02\x07\n\r\n\x05\x05\ - \x06\x022\x02\x12\x04\xfc\x05\x0b\r\n\x0c\n\x04\x05\x06\x023\x12\x04\xfd\ - \x05\x02\x11\n\r\n\x05\x05\x06\x023\x01\x12\x04\xfd\x05\x02\n\n\r\n\x05\ - \x05\x06\x023\x02\x12\x04\xfd\x05\r\x10\n\x0c\n\x04\x05\x06\x024\x12\x04\ - \xfe\x05\x02\r\n\r\n\x05\x05\x06\x024\x01\x12\x04\xfe\x05\x02\x08\n\r\n\ - \x05\x05\x06\x024\x02\x12\x04\xfe\x05\x0b\x0c\n\x0c\n\x04\x05\x06\x025\ - \x12\x04\xff\x05\x02\r\n\r\n\x05\x05\x06\x025\x01\x12\x04\xff\x05\x02\ - \x07\n\r\n\x05\x05\x06\x025\x02\x12\x04\xff\x05\n\x0c\n\x0c\n\x04\x05\ - \x06\x026\x12\x04\x80\x06\x02\x0c\n\r\n\x05\x05\x06\x026\x01\x12\x04\x80\ - \x06\x02\x06\n\r\n\x05\x05\x06\x026\x02\x12\x04\x80\x06\t\x0b\n\x0c\n\ - \x04\x05\x06\x027\x12\x04\x81\x06\x02\x0c\n\r\n\x05\x05\x06\x027\x01\x12\ - \x04\x81\x06\x02\x06\n\r\n\x05\x05\x06\x027\x02\x12\x04\x81\x06\t\x0b\n\ - \x0c\n\x04\x05\x06\x028\x12\x04\x82\x06\x02\x0b\n\r\n\x05\x05\x06\x028\ - \x01\x12\x04\x82\x06\x02\x05\n\r\n\x05\x05\x06\x028\x02\x12\x04\x82\x06\ - \x08\n\n\x0c\n\x04\x05\x06\x029\x12\x04\x83\x06\x02\r\n\r\n\x05\x05\x06\ - \x029\x01\x12\x04\x83\x06\x02\x06\n\r\n\x05\x05\x06\x029\x02\x12\x04\x83\ - \x06\t\x0c\n\x0c\n\x04\x05\x06\x02:\x12\x04\x84\x06\x02\x10\n\r\n\x05\ - \x05\x06\x02:\x01\x12\x04\x84\x06\x02\n\n\r\n\x05\x05\x06\x02:\x02\x12\ - \x04\x84\x06\r\x0f\n\x0c\n\x04\x05\x06\x02;\x12\x04\x85\x06\x02\x10\n\r\ - \n\x05\x05\x06\x02;\x01\x12\x04\x85\x06\x02\n\n\r\n\x05\x05\x06\x02;\x02\ - \x12\x04\x85\x06\r\x0f\n\x0c\n\x04\x05\x06\x02<\x12\x04\x86\x06\x02\x0e\ - \n\r\n\x05\x05\x06\x02<\x01\x12\x04\x86\x06\x02\x08\n\r\n\x05\x05\x06\ - \x02<\x02\x12\x04\x86\x06\x0b\r\n(\n\x04\x05\x06\x02=\x12\x04\x87\x06\ - \x02\x0f\"\x1a\x20https://nickel-lang.org/\n\n\r\n\x05\x05\x06\x02=\x01\ - \x12\x04\x87\x06\x02\x08\n\r\n\x05\x05\x06\x02=\x02\x12\x04\x87\x06\x0b\ - \x0e\n\x0c\n\x04\x05\x06\x02>\x12\x04\x88\x06\x02\x0b\n\r\n\x05\x05\x06\ - \x02>\x01\x12\x04\x88\x06\x02\x05\n\r\n\x05\x05\x06\x02>\x02\x12\x04\x88\ - \x06\x08\n\n\x0c\n\x04\x05\x06\x02?\x12\x04\x89\x06\x02\r\n\r\n\x05\x05\ - \x06\x02?\x01\x12\x04\x89\x06\x02\x07\n\r\n\x05\x05\x06\x02?\x02\x12\x04\ - \x89\x06\n\x0c\n\x0c\n\x04\x05\x06\x02@\x12\x04\x8a\x06\x02\x13\n\r\n\ - \x05\x05\x06\x02@\x01\x12\x04\x8a\x06\x02\r\n\r\n\x05\x05\x06\x02@\x02\ - \x12\x04\x8a\x06\x10\x12\n\x0c\n\x04\x05\x06\x02A\x12\x04\x8b\x06\x02\ - \x15\n\r\n\x05\x05\x06\x02A\x01\x12\x04\x8b\x06\x02\x0f\n\r\n\x05\x05\ - \x06\x02A\x02\x12\x04\x8b\x06\x12\x14\n\x0c\n\x04\x05\x06\x02B\x12\x04\ - \x8c\x06\x02\x0e\n\r\n\x05\x05\x06\x02B\x01\x12\x04\x8c\x06\x02\x08\n\r\ - \n\x05\x05\x06\x02B\x02\x12\x04\x8c\x06\x0b\r\n\x0c\n\x04\x05\x06\x02C\ - \x12\x04\x8d\x06\x02\x0b\n\r\n\x05\x05\x06\x02C\x01\x12\x04\x8d\x06\x02\ - \x05\n\r\n\x05\x05\x06\x02C\x02\x12\x04\x8d\x06\x08\n\n\x0c\n\x04\x05\ - \x06\x02D\x12\x04\x8e\x06\x02\r\n\r\n\x05\x05\x06\x02D\x01\x12\x04\x8e\ - \x06\x02\x07\n\r\n\x05\x05\x06\x02D\x02\x12\x04\x8e\x06\n\x0c\n\x0c\n\ - \x04\x05\x06\x02E\x12\x04\x8f\x06\x02\x0c\n\r\n\x05\x05\x06\x02E\x01\x12\ - \x04\x8f\x06\x02\x06\n\r\n\x05\x05\x06\x02E\x02\x12\x04\x8f\x06\t\x0b\n\ - \x0c\n\x04\x05\x06\x02F\x12\x04\x90\x06\x02\x12\n\r\n\x05\x05\x06\x02F\ - \x01\x12\x04\x90\x06\x02\x0c\n\r\n\x05\x05\x06\x02F\x02\x12\x04\x90\x06\ - \x0f\x11\n\x0c\n\x04\x05\x06\x02G\x12\x04\x91\x06\x02\x0e\n\r\n\x05\x05\ - \x06\x02G\x01\x12\x04\x91\x06\x02\x08\n\r\n\x05\x05\x06\x02G\x02\x12\x04\ - \x91\x06\x0b\r\n\x0c\n\x04\x05\x06\x02H\x12\x04\x92\x06\x02\x11\n\r\n\ - \x05\x05\x06\x02H\x01\x12\x04\x92\x06\x02\n\n\r\n\x05\x05\x06\x02H\x02\ - \x12\x04\x92\x06\r\x10\n\x0c\n\x04\x05\x06\x02I\x12\x04\x93\x06\x02\x0e\ - \n\r\n\x05\x05\x06\x02I\x01\x12\x04\x93\x06\x02\x08\n\r\n\x05\x05\x06\ - \x02I\x02\x12\x04\x93\x06\x0b\r\n\x0c\n\x04\x05\x06\x02J\x12\x04\x94\x06\ - \x02\t\n\r\n\x05\x05\x06\x02J\x01\x12\x04\x94\x06\x02\x03\n\r\n\x05\x05\ - \x06\x02J\x02\x12\x04\x94\x06\x06\x08\n\x0c\n\x04\x05\x06\x02K\x12\x04\ - \x95\x06\x02\x0e\n\r\n\x05\x05\x06\x02K\x01\x12\x04\x95\x06\x02\x08\n\r\ - \n\x05\x05\x06\x02K\x02\x12\x04\x95\x06\x0b\r\n\x0c\n\x04\x05\x06\x02L\ - \x12\x04\x96\x06\x02\x0c\n\r\n\x05\x05\x06\x02L\x01\x12\x04\x96\x06\x02\ - \x06\n\r\n\x05\x05\x06\x02L\x02\x12\x04\x96\x06\t\x0b\n\x0c\n\x04\x05\ - \x06\x02M\x12\x04\x97\x06\x02\r\n\r\n\x05\x05\x06\x02M\x01\x12\x04\x97\ - \x06\x02\x07\n\r\n\x05\x05\x06\x02M\x02\x12\x04\x97\x06\n\x0c\n2\n\x04\ - \x05\x06\x02N\x12\x04\x98\x06\x02\x0e\"$\x20Internal\x20language\x20for\ - \x20testing\x20SCIP\n\n\r\n\x05\x05\x06\x02N\x01\x12\x04\x98\x06\x02\x07\ - \n\r\n\x05\x05\x06\x02N\x02\x12\x04\x98\x06\n\r\n\x0c\n\x04\x05\x06\x02O\ - \x12\x04\x99\x06\x02\x0c\n\r\n\x05\x05\x06\x02O\x01\x12\x04\x99\x06\x02\ - \x06\n\r\n\x05\x05\x06\x02O\x02\x12\x04\x99\x06\t\x0b\n\x0c\n\x04\x05\ - \x06\x02P\x12\x04\x9a\x06\x02\x0c\n\r\n\x05\x05\x06\x02P\x01\x12\x04\x9a\ - \x06\x02\x06\n\r\n\x05\x05\x06\x02P\x02\x12\x04\x9a\x06\t\x0b\n\x0c\n\ - \x04\x05\x06\x02Q\x12\x04\x9b\x06\x02\x0c\n\r\n\x05\x05\x06\x02Q\x01\x12\ - \x04\x9b\x06\x02\x06\n\r\n\x05\x05\x06\x02Q\x02\x12\x04\x9b\x06\t\x0b\n\ - \x0c\n\x04\x05\x06\x02R\x12\x04\x9c\x06\x02\x0b\n\r\n\x05\x05\x06\x02R\ - \x01\x12\x04\x9c\x06\x02\x05\n\r\n\x05\x05\x06\x02R\x02\x12\x04\x9c\x06\ - \x08\n\n\x0c\n\x04\x05\x06\x02S\x12\x04\x9d\x06\x02\x0c\n\r\n\x05\x05\ - \x06\x02S\x01\x12\x04\x9d\x06\x02\x06\n\r\n\x05\x05\x06\x02S\x02\x12\x04\ - \x9d\x06\t\x0b\n\x0c\n\x04\x05\x06\x02T\x12\x04\x9e\x06\x02\x0b\n\r\n\ - \x05\x05\x06\x02T\x01\x12\x04\x9e\x06\x02\x05\n\r\n\x05\x05\x06\x02T\x02\ - \x12\x04\x9e\x06\x08\n\n\x0c\n\x04\x05\x06\x02U\x12\x04\x9f\x06\x02\x0b\ - \n\r\n\x05\x05\x06\x02U\x01\x12\x04\x9f\x06\x02\x05\n\r\n\x05\x05\x06\ - \x02U\x02\x12\x04\x9f\x06\x08\n\n\x0c\n\x04\x05\x06\x02V\x12\x04\xa0\x06\ - \x02\x0c\n\r\n\x05\x05\x06\x02V\x01\x12\x04\xa0\x06\x02\x06\n\r\n\x05\ - \x05\x06\x02V\x02\x12\x04\xa0\x06\t\x0b\n\x0c\n\x04\x05\x06\x02W\x12\x04\ - \xa1\x06\x02\x0c\n\r\n\x05\x05\x06\x02W\x01\x12\x04\xa1\x06\x02\x07\n\r\ - \n\x05\x05\x06\x02W\x02\x12\x04\xa1\x06\n\x0b\n\x0c\n\x04\x05\x06\x02X\ - \x12\x04\xa2\x06\x02\x0e\n\r\n\x05\x05\x06\x02X\x01\x12\x04\xa2\x06\x02\ - \x08\n\r\n\x05\x05\x06\x02X\x02\x12\x04\xa2\x06\x0b\r\n\x14\n\x04\x05\ - \x06\x02Y\x12\x04\xa3\x06\x02\x13\"\x06\x20Bash\n\n\r\n\x05\x05\x06\x02Y\ - \x01\x12\x04\xa3\x06\x02\r\n\r\n\x05\x05\x06\x02Y\x02\x12\x04\xa3\x06\ - \x10\x12\n\x0c\n\x04\x05\x06\x02Z\x12\x04\xa4\x06\x02\x0f\n\r\n\x05\x05\ - \x06\x02Z\x01\x12\x04\xa4\x06\x02\t\n\r\n\x05\x05\x06\x02Z\x02\x12\x04\ - \xa4\x06\x0c\x0e\n\x0c\n\x04\x05\x06\x02[\x12\x04\xa5\x06\x02\x0e\n\r\n\ - \x05\x05\x06\x02[\x01\x12\x04\xa5\x06\x02\x07\n\r\n\x05\x05\x06\x02[\x02\ - \x12\x04\xa5\x06\n\r\n\x0c\n\x04\x05\x06\x02\\\x12\x04\xa6\x06\x02\x10\n\ - \r\n\x05\x05\x06\x02\\\x01\x12\x04\xa6\x06\x02\n\n\r\n\x05\x05\x06\x02\\\ - \x02\x12\x04\xa6\x06\r\x0f\n\x0c\n\x04\x05\x06\x02]\x12\x04\xa7\x06\x02\ - \x0f\n\r\n\x05\x05\x06\x02]\x01\x12\x04\xa7\x06\x02\x08\n\r\n\x05\x05\ - \x06\x02]\x02\x12\x04\xa7\x06\x0b\x0e\n\x0c\n\x04\x05\x06\x02^\x12\x04\ - \xa8\x06\x02\x0c\n\r\n\x05\x05\x06\x02^\x01\x12\x04\xa8\x06\x02\x07\n\r\ - \n\x05\x05\x06\x02^\x02\x12\x04\xa8\x06\n\x0b\n\x0c\n\x04\x05\x06\x02_\ - \x12\x04\xa9\x06\x02\x0c\n\r\n\x05\x05\x06\x02_\x01\x12\x04\xa9\x06\x02\ - \x05\n\r\n\x05\x05\x06\x02_\x02\x12\x04\xa9\x06\x08\x0b\n\x0c\n\x04\x05\ - \x06\x02`\x12\x04\xaa\x06\x02\x0c\n\r\n\x05\x05\x06\x02`\x01\x12\x04\xaa\ - \x06\x02\x06\n\r\n\x05\x05\x06\x02`\x02\x12\x04\xaa\x06\t\x0b\n\x0c\n\ - \x04\x05\x06\x02a\x12\x04\xab\x06\x02\x0b\n\r\n\x05\x05\x06\x02a\x01\x12\ - \x04\xab\x06\x02\x05\n\r\n\x05\x05\x06\x02a\x02\x12\x04\xab\x06\x08\n\n\ - \x0c\n\x04\x05\x06\x02b\x12\x04\xac\x06\x02\x0f\n\r\n\x05\x05\x06\x02b\ - \x01\x12\x04\xac\x06\x02\x08\n\r\n\x05\x05\x06\x02b\x02\x12\x04\xac\x06\ - \x0b\x0e\n\x0c\n\x04\x05\x06\x02c\x12\x04\xad\x06\x02\x12\n\r\n\x05\x05\ - \x06\x02c\x01\x12\x04\xad\x06\x02\x0c\n\r\n\x05\x05\x06\x02c\x02\x12\x04\ - \xad\x06\x0f\x11\n\x0c\n\x04\x05\x06\x02d\x12\x04\xae\x06\x02\x17\n\r\n\ - \x05\x05\x06\x02d\x01\x12\x04\xae\x06\x02\x11\n\r\n\x05\x05\x06\x02d\x02\ - \x12\x04\xae\x06\x14\x16\n\x0c\n\x04\x05\x06\x02e\x12\x04\xaf\x06\x02\ - \x10\n\r\n\x05\x05\x06\x02e\x01\x12\x04\xaf\x06\x02\t\n\r\n\x05\x05\x06\ - \x02e\x02\x12\x04\xaf\x06\x0c\x0f\n\x0c\n\x04\x05\x06\x02f\x12\x04\xb0\ - \x06\x02\r\n\r\n\x05\x05\x06\x02f\x01\x12\x04\xb0\x06\x02\x06\n\r\n\x05\ - \x05\x06\x02f\x02\x12\x04\xb0\x06\t\x0c\n\x0c\n\x04\x05\x06\x02g\x12\x04\ - \xb1\x06\x02\x13\n\r\n\x05\x05\x06\x02g\x01\x12\x04\xb1\x06\x02\r\n\r\n\ - \x05\x05\x06\x02g\x02\x12\x04\xb1\x06\x10\x12\n\x0c\n\x04\x05\x06\x02h\ - \x12\x04\xb2\x06\x02\x0b\n\r\n\x05\x05\x06\x02h\x01\x12\x04\xb2\x06\x02\ - \x05\n\r\n\x05\x05\x06\x02h\x02\x12\x04\xb2\x06\x08\n\n\x0c\n\x04\x05\ - \x06\x02i\x12\x04\xb3\x06\x02\x0f\n\r\n\x05\x05\x06\x02i\x01\x12\x04\xb3\ - \x06\x02\t\n\r\n\x05\x05\x06\x02i\x02\x12\x04\xb3\x06\x0c\x0e\n\x0c\n\ - \x04\x05\x06\x02j\x12\x04\xb4\x06\x02\x0b\n\r\n\x05\x05\x06\x02j\x01\x12\ - \x04\xb4\x06\x02\x05\n\r\n\x05\x05\x06\x02j\x02\x12\x04\xb4\x06\x08\n\n\ - \x0c\n\x04\x05\x06\x02k\x12\x04\xb5\x06\x02\x0b\n\r\n\x05\x05\x06\x02k\ - \x01\x12\x04\xb5\x06\x02\x05\n\r\n\x05\x05\x06\x02k\x02\x12\x04\xb5\x06\ - \x08\n\n\x0c\n\x04\x05\x06\x02l\x12\x04\xb6\x06\x02\x0c\n\r\n\x05\x05\ - \x06\x02l\x01\x12\x04\xb6\x06\x02\x06\n\r\n\x05\x05\x06\x02l\x02\x12\x04\ - \xb6\x06\t\x0b\n\x93\x03\n\x04\x05\x06\x02m\x12\x04\xb7\x06\x02\x0b\"\ - \x84\x03\x20NextLanguage\x20=\x20111;\n\x20Steps\x20add\x20a\x20new\x20l\ - anguage:\n\x201.\x20Copy-paste\x20the\x20\"NextLanguage\x20=\x20N\"\x20l\ - ine\x20above\n\x202.\x20Increment\x20\"NextLanguage\x20=\x20N\"\x20to\ - \x20\"NextLanguage\x20=\x20N+1\"\n\x203.\x20Replace\x20\"NextLanguage\ - \x20=\x20N\"\x20with\x20the\x20name\x20of\x20the\x20new\x20language.\n\ - \x204.\x20Move\x20the\x20new\x20language\x20to\x20the\x20correct\x20line\ - \x20above\x20using\x20alphabetical\x20order\n\x205.\x20(optional)\x20Add\ - \x20a\x20brief\x20comment\x20behind\x20the\x20language\x20if\x20the\x20n\ - ame\x20is\x20not\x20self-explanatory\n\n\r\n\x05\x05\x06\x02m\x01\x12\ - \x04\xb7\x06\x02\x05\n\r\n\x05\x05\x06\x02m\x02\x12\x04\xb7\x06\x08\nb\ - \x06proto3\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20|\n\x20^\x20enclosing_range\x20end\ + \x20<---------------------------------------|\n\x20```\n\n\x20Any\x20att\ + ributes/decorators/attached\x20macros\x20should\x20also\x20be\x20part\ + \x20of\x20the\n\x20enclosing\x20range.\n\n\x20```python\n\x20@cache\n\ + \x20^\x20enclosing_range\x20start---------------------|\n\x20def\x20fact\ + orial(n):\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20|\n\x20\x20\x20\x20\x20r\ + eturn\x20n\x20*\x20factorial(n-1)\x20if\x20n\x20else\x201\x20\x20\x20|\n\ + \x20<\x20enclosing_range\x20end-----------------------|\n\x20\n\x20```\n\ + \n\x20For\x20reference\x20occurrences,\x20the\x20enclosing\x20range\x20s\ + hould\x20indicate\x20the\x20start/end\n\x20bounds\x20of\x20the\x20parent\ + \x20expression.\n\x20```\n\x20const\x20a\x20=\x20a.b\n\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20\x20\x20^\x20range\n\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20^^^\x20enclosing_range\n\x20const\x20b\x20=\x20a.b(4\ + 1).f(42).g(43)\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20^\x20range\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20^^^^^^^^^^^^^\x20enclosing_range\n\x20```\n\n\r\n\x05\x04\t\x02\x06\ + \x04\x12\x04\xc4\x05\x02\n\n\r\n\x05\x04\t\x02\x06\x05\x12\x04\xc4\x05\ + \x0b\x10\n\r\n\x05\x04\t\x02\x06\x01\x12\x04\xc4\x05\x11\x20\n\r\n\x05\ + \x04\t\x02\x06\x03\x12\x04\xc4\x05#$\nw\n\x02\x04\n\x12\x06\xc9\x05\0\ + \xd4\x05\x01\x1ai\x20Represents\x20a\x20diagnostic,\x20such\x20as\x20a\ + \x20compiler\x20error\x20or\x20warning,\x20which\x20should\x20be\n\x20re\ + ported\x20for\x20a\x20document.\n\n\x0b\n\x03\x04\n\x01\x12\x04\xc9\x05\ + \x08\x12\nW\n\x04\x04\n\x02\0\x12\x04\xcb\x05\x02\x18\x1aI\x20Should\x20\ + this\x20diagnostic\x20be\x20reported\x20as\x20an\x20error,\x20warning,\ + \x20info,\x20or\x20hint?\n\n\r\n\x05\x04\n\x02\0\x06\x12\x04\xcb\x05\x02\ + \n\n\r\n\x05\x04\n\x02\0\x01\x12\x04\xcb\x05\x0b\x13\n\r\n\x05\x04\n\x02\ + \0\x03\x12\x04\xcb\x05\x16\x17\n]\n\x04\x04\n\x02\x01\x12\x04\xcd\x05\ + \x02\x12\x1aO\x20(optional)\x20Code\x20of\x20this\x20diagnostic,\x20whic\ + h\x20might\x20appear\x20in\x20the\x20user\x20interface.\n\n\r\n\x05\x04\ + \n\x02\x01\x05\x12\x04\xcd\x05\x02\x08\n\r\n\x05\x04\n\x02\x01\x01\x12\ + \x04\xcd\x05\t\r\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xcd\x05\x10\x11\n+\ + \n\x04\x04\n\x02\x02\x12\x04\xcf\x05\x02\x15\x1a\x1d\x20Message\x20of\ + \x20this\x20diagnostic.\n\n\r\n\x05\x04\n\x02\x02\x05\x12\x04\xcf\x05\ + \x02\x08\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\xcf\x05\t\x10\n\r\n\x05\x04\ + \n\x02\x02\x03\x12\x04\xcf\x05\x13\x14\n~\n\x04\x04\n\x02\x03\x12\x04\ + \xd2\x05\x02\x14\x1ap\x20(optional)\x20Human-readable\x20string\x20descr\ + ibing\x20the\x20source\x20of\x20this\x20diagnostic,\x20e.g.\n\x20'typesc\ + ript'\x20or\x20'super\x20lint'.\n\n\r\n\x05\x04\n\x02\x03\x05\x12\x04\ + \xd2\x05\x02\x08\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\xd2\x05\t\x0f\n\r\n\ + \x05\x04\n\x02\x03\x03\x12\x04\xd2\x05\x12\x13\n\x0c\n\x04\x04\n\x02\x04\ + \x12\x04\xd3\x05\x02\"\n\r\n\x05\x04\n\x02\x04\x04\x12\x04\xd3\x05\x02\n\ + \n\r\n\x05\x04\n\x02\x04\x06\x12\x04\xd3\x05\x0b\x18\n\r\n\x05\x04\n\x02\ + \x04\x01\x12\x04\xd3\x05\x19\x1d\n\r\n\x05\x04\n\x02\x04\x03\x12\x04\xd3\ + \x05\x20!\n\x0c\n\x02\x05\x05\x12\x06\xd6\x05\0\xdc\x05\x01\n\x0b\n\x03\ + \x05\x05\x01\x12\x04\xd6\x05\x05\r\n\x0c\n\x04\x05\x05\x02\0\x12\x04\xd7\ + \x05\x02\x1a\n\r\n\x05\x05\x05\x02\0\x01\x12\x04\xd7\x05\x02\x15\n\r\n\ + \x05\x05\x05\x02\0\x02\x12\x04\xd7\x05\x18\x19\n\x0c\n\x04\x05\x05\x02\ + \x01\x12\x04\xd8\x05\x02\x0c\n\r\n\x05\x05\x05\x02\x01\x01\x12\x04\xd8\ + \x05\x02\x07\n\r\n\x05\x05\x05\x02\x01\x02\x12\x04\xd8\x05\n\x0b\n\x0c\n\ + \x04\x05\x05\x02\x02\x12\x04\xd9\x05\x02\x0e\n\r\n\x05\x05\x05\x02\x02\ + \x01\x12\x04\xd9\x05\x02\t\n\r\n\x05\x05\x05\x02\x02\x02\x12\x04\xd9\x05\ + \x0c\r\n\x0c\n\x04\x05\x05\x02\x03\x12\x04\xda\x05\x02\x12\n\r\n\x05\x05\ + \x05\x02\x03\x01\x12\x04\xda\x05\x02\r\n\r\n\x05\x05\x05\x02\x03\x02\x12\ + \x04\xda\x05\x10\x11\n\x0c\n\x04\x05\x05\x02\x04\x12\x04\xdb\x05\x02\x0b\ + \n\r\n\x05\x05\x05\x02\x04\x01\x12\x04\xdb\x05\x02\x06\n\r\n\x05\x05\x05\ + \x02\x04\x02\x12\x04\xdb\x05\t\n\n\x0c\n\x02\x05\x06\x12\x06\xde\x05\0\ + \xe2\x05\x01\n\x0b\n\x03\x05\x06\x01\x12\x04\xde\x05\x05\x12\n\x0c\n\x04\ + \x05\x06\x02\0\x12\x04\xdf\x05\x02\x1f\n\r\n\x05\x05\x06\x02\0\x01\x12\ + \x04\xdf\x05\x02\x1a\n\r\n\x05\x05\x06\x02\0\x02\x12\x04\xdf\x05\x1d\x1e\ + \n\x0c\n\x04\x05\x06\x02\x01\x12\x04\xe0\x05\x02\x12\n\r\n\x05\x05\x06\ + \x02\x01\x01\x12\x04\xe0\x05\x02\r\n\r\n\x05\x05\x06\x02\x01\x02\x12\x04\ + \xe0\x05\x10\x11\n\x0c\n\x04\x05\x06\x02\x02\x12\x04\xe1\x05\x02\x11\n\r\ + \n\x05\x05\x06\x02\x02\x01\x12\x04\xe1\x05\x02\x0c\n\r\n\x05\x05\x06\x02\ + \x02\x02\x12\x04\xe1\x05\x0f\x10\n\xd0\x03\n\x02\x05\x07\x12\x06\xea\x05\ + \0\xe0\x06\x01\x1a\xc1\x03\x20Language\x20standardises\x20names\x20of\ + \x20common\x20programming\x20languages\x20that\x20can\x20be\x20used\n\ + \x20for\x20the\x20`Document.language`\x20field.\x20The\x20primary\x20pur\ + pose\x20of\x20this\x20enum\x20is\x20to\n\x20prevent\x20a\x20situation\ + \x20where\x20we\x20have\x20a\x20single\x20programming\x20language\x20end\ + s\x20up\x20with\n\x20multiple\x20string\x20representations.\x20For\x20ex\ + ample,\x20the\x20C++\x20language\x20uses\x20the\x20name\n\x20\"CPP\"\x20\ + in\x20this\x20enum\x20and\x20other\x20names\x20such\x20as\x20\"cpp\"\x20\ + are\x20incompatible.\n\x20Feel\x20free\x20to\x20send\x20a\x20pull-reques\ + t\x20to\x20add\x20missing\x20programming\x20languages.\n\n\x0b\n\x03\x05\ + \x07\x01\x12\x04\xea\x05\x05\r\n\x0c\n\x04\x05\x07\x02\0\x12\x04\xeb\x05\ + \x02\x1a\n\r\n\x05\x05\x07\x02\0\x01\x12\x04\xeb\x05\x02\x15\n\r\n\x05\ + \x05\x07\x02\0\x02\x12\x04\xeb\x05\x18\x19\n\x0c\n\x04\x05\x07\x02\x01\ + \x12\x04\xec\x05\x02\x0c\n\r\n\x05\x05\x07\x02\x01\x01\x12\x04\xec\x05\ + \x02\x06\n\r\n\x05\x05\x07\x02\x01\x02\x12\x04\xec\x05\t\x0b\n\x0c\n\x04\ + \x05\x07\x02\x02\x12\x04\xed\x05\x02\x0c\n\r\n\x05\x05\x07\x02\x02\x01\ + \x12\x04\xed\x05\x02\x06\n\r\n\x05\x05\x07\x02\x02\x02\x12\x04\xed\x05\t\ + \x0b\n\x0c\n\x04\x05\x07\x02\x03\x12\x04\xee\x05\x02\x0b\n\r\n\x05\x05\ + \x07\x02\x03\x01\x12\x04\xee\x05\x02\x05\n\r\n\x05\x05\x07\x02\x03\x02\ + \x12\x04\xee\x05\x08\n\n\x0c\n\x04\x05\x07\x02\x04\x12\x04\xef\x05\x02\ + \x0b\n\r\n\x05\x05\x07\x02\x04\x01\x12\x04\xef\x05\x02\x05\n\r\n\x05\x05\ + \x07\x02\x04\x02\x12\x04\xef\x05\x08\n\n\x0c\n\x04\x05\x07\x02\x05\x12\ + \x04\xf0\x05\x02\x0c\n\r\n\x05\x05\x07\x02\x05\x01\x12\x04\xf0\x05\x02\ + \x06\n\r\n\x05\x05\x07\x02\x05\x02\x12\x04\xf0\x05\t\x0b\n\x0c\n\x04\x05\ + \x07\x02\x06\x12\x04\xf1\x05\x02\x10\n\r\n\x05\x05\x07\x02\x06\x01\x12\ + \x04\xf1\x05\x02\n\n\r\n\x05\x05\x07\x02\x06\x02\x12\x04\xf1\x05\r\x0f\n\ + \x0c\n\x04\x05\x07\x02\x07\x12\x04\xf2\x05\x02\x10\n\r\n\x05\x05\x07\x02\ + \x07\x01\x12\x04\xf2\x05\x02\n\n\r\n\x05\x05\x07\x02\x07\x02\x12\x04\xf2\ + \x05\r\x0f\n\x0c\n\x04\x05\x07\x02\x08\x12\x04\xf3\x05\x02\x0b\n\r\n\x05\ + \x05\x07\x02\x08\x01\x12\x04\xf3\x05\x02\x05\n\r\n\x05\x05\x07\x02\x08\ + \x02\x12\x04\xf3\x05\x08\n\n\x0c\n\x04\x05\x07\x02\t\x12\x04\xf4\x05\x02\ + \x0b\n\r\n\x05\x05\x07\x02\t\x01\x12\x04\xf4\x05\x02\x05\n\r\n\x05\x05\ + \x07\x02\t\x02\x12\x04\xf4\x05\x08\n\n\x0c\n\x04\x05\x07\x02\n\x12\x04\ + \xf5\x05\x02\x0e\n\r\n\x05\x05\x07\x02\n\x01\x12\x04\xf5\x05\x02\x08\n\r\ + \n\x05\x05\x07\x02\n\x02\x12\x04\xf5\x05\x0b\r\n\x0c\n\x04\x05\x07\x02\ + \x0b\x12\x04\xf6\x05\x02\t\n\r\n\x05\x05\x07\x02\x0b\x01\x12\x04\xf6\x05\ + \x02\x03\n\r\n\x05\x05\x07\x02\x0b\x02\x12\x04\xf6\x05\x06\x08\n\x0c\n\ + \x04\x05\x07\x02\x0c\x12\x04\xf7\x05\x02\r\n\r\n\x05\x05\x07\x02\x0c\x01\ + \x12\x04\xf7\x05\x02\x07\n\r\n\x05\x05\x07\x02\x0c\x02\x12\x04\xf7\x05\n\ + \x0c\nH\n\x04\x05\x07\x02\r\x12\x04\xf8\x05\x02\x0b\":\x20C++\x20(the\ + \x20name\x20\"CPP\"\x20was\x20chosen\x20for\x20consistency\x20with\x20LS\ + P)\n\n\r\n\x05\x05\x07\x02\r\x01\x12\x04\xf8\x05\x02\x05\n\r\n\x05\x05\ + \x07\x02\r\x02\x12\x04\xf8\x05\x08\n\n\x0c\n\x04\x05\x07\x02\x0e\x12\x04\ + \xf9\x05\x02\x0b\n\r\n\x05\x05\x07\x02\x0e\x01\x12\x04\xf9\x05\x02\x05\n\ + \r\n\x05\x05\x07\x02\x0e\x02\x12\x04\xf9\x05\x08\n\n\x0c\n\x04\x05\x07\ + \x02\x0f\x12\x04\xfa\x05\x02\r\n\r\n\x05\x05\x07\x02\x0f\x01\x12\x04\xfa\ + \x05\x02\x08\n\r\n\x05\x05\x07\x02\x0f\x02\x12\x04\xfa\x05\x0b\x0c\n\x0c\ + \n\x04\x05\x07\x02\x10\x12\x04\xfb\x05\x02\x0e\n\r\n\x05\x05\x07\x02\x10\ + \x01\x12\x04\xfb\x05\x02\t\n\r\n\x05\x05\x07\x02\x10\x02\x12\x04\xfb\x05\ + \x0c\r\n\x0c\n\x04\x05\x07\x02\x11\x12\x04\xfc\x05\x02\x14\n\r\n\x05\x05\ + \x07\x02\x11\x01\x12\x04\xfc\x05\x02\x0e\n\r\n\x05\x05\x07\x02\x11\x02\ + \x12\x04\xfc\x05\x11\x13\n\x0c\n\x04\x05\x07\x02\x12\x12\x04\xfd\x05\x02\ + \x11\n\r\n\x05\x05\x07\x02\x12\x01\x12\x04\xfd\x05\x02\x0c\n\r\n\x05\x05\ + \x07\x02\x12\x02\x12\x04\xfd\x05\x0f\x10\n\x0c\n\x04\x05\x07\x02\x13\x12\ + \x04\xfe\x05\x02\x0b\n\r\n\x05\x05\x07\x02\x13\x01\x12\x04\xfe\x05\x02\ + \x05\n\r\n\x05\x05\x07\x02\x13\x02\x12\x04\xfe\x05\x08\n\n\x0c\n\x04\x05\ + \x07\x02\x14\x12\x04\xff\x05\x02\x0c\n\r\n\x05\x05\x07\x02\x14\x01\x12\ + \x04\xff\x05\x02\x06\n\r\n\x05\x05\x07\x02\x14\x02\x12\x04\xff\x05\t\x0b\ + \n\x0c\n\x04\x05\x07\x02\x15\x12\x04\x80\x06\x02\x0b\n\r\n\x05\x05\x07\ + \x02\x15\x01\x12\x04\x80\x06\x02\x06\n\r\n\x05\x05\x07\x02\x15\x02\x12\ + \x04\x80\x06\t\n\n\x0c\n\x04\x05\x07\x02\x16\x12\x04\x81\x06\x02\x0e\n\r\ + \n\x05\x05\x07\x02\x16\x01\x12\x04\x81\x06\x02\x08\n\r\n\x05\x05\x07\x02\ + \x16\x02\x12\x04\x81\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x17\x12\x04\x82\ + \x06\x02\x0c\n\r\n\x05\x05\x07\x02\x17\x01\x12\x04\x82\x06\x02\x06\n\r\n\ + \x05\x05\x07\x02\x17\x02\x12\x04\x82\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\ + \x18\x12\x04\x83\x06\x02\x12\n\r\n\x05\x05\x07\x02\x18\x01\x12\x04\x83\ + \x06\x02\x0c\n\r\n\x05\x05\x07\x02\x18\x02\x12\x04\x83\x06\x0f\x11\n\x0c\ + \n\x04\x05\x07\x02\x19\x12\x04\x84\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x19\ + \x01\x12\x04\x84\x06\x02\x08\n\r\n\x05\x05\x07\x02\x19\x02\x12\x04\x84\ + \x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1a\x12\x04\x85\x06\x02\x0e\n\r\n\x05\ + \x05\x07\x02\x1a\x01\x12\x04\x85\x06\x02\x08\n\r\n\x05\x05\x07\x02\x1a\ + \x02\x12\x04\x85\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1b\x12\x04\x86\x06\ + \x02\x0e\n\r\n\x05\x05\x07\x02\x1b\x01\x12\x04\x86\x06\x02\x08\n\r\n\x05\ + \x05\x07\x02\x1b\x02\x12\x04\x86\x06\x0b\r\n\x0c\n\x04\x05\x07\x02\x1c\ + \x12\x04\x87\x06\x02\x0e\n\r\n\x05\x05\x07\x02\x1c\x01\x12\x04\x87\x06\ + \x02\x08\n\r\n\x05\x05\x07\x02\x1c\x02\x12\x04\x87\x06\x0b\r\n\x0c\n\x04\ + \x05\x07\x02\x1d\x12\x04\x88\x06\x02\x0c\n\r\n\x05\x05\x07\x02\x1d\x01\ + \x12\x04\x88\x06\x02\x06\n\r\n\x05\x05\x07\x02\x1d\x02\x12\x04\x88\x06\t\ + \x0b\n\x0c\n\x04\x05\x07\x02\x1e\x12\x04\x89\x06\x02\x0c\n\r\n\x05\x05\ + \x07\x02\x1e\x01\x12\x04\x89\x06\x02\x06\n\r\n\x05\x05\x07\x02\x1e\x02\ + \x12\x04\x89\x06\t\x0b\n\x0c\n\x04\x05\x07\x02\x1f\x12\x04\x8a\x06\x02\ + \x0f\n\r\n\x05\x05\x07\x02\x1f\x01\x12\x04\x8a\x06\x02\t\n\r\n\x05\x05\ + \x07\x02\x1f\x02\x12\x04\x8a\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02\x20\x12\ + \x04\x8b\x06\x02\x12\n\r\n\x05\x05\x07\x02\x20\x01\x12\x04\x8b\x06\x02\ + \x0c\n\r\n\x05\x05\x07\x02\x20\x02\x12\x04\x8b\x06\x0f\x11\n\x0c\n\x04\ + \x05\x07\x02!\x12\x04\x8c\x06\x02\x12\n\r\n\x05\x05\x07\x02!\x01\x12\x04\ + \x8c\x06\x02\x0c\n\r\n\x05\x05\x07\x02!\x02\x12\x04\x8c\x06\x0f\x11\n\ + \x0c\n\x04\x05\x07\x02\"\x12\x04\x8d\x06\x02\x12\n\r\n\x05\x05\x07\x02\"\ + \x01\x12\x04\x8d\x06\x02\x0c\n\r\n\x05\x05\x07\x02\"\x02\x12\x04\x8d\x06\ + \x0f\x11\n\x0c\n\x04\x05\x07\x02#\x12\x04\x8e\x06\x02\n\n\r\n\x05\x05\ + \x07\x02#\x01\x12\x04\x8e\x06\x02\x04\n\r\n\x05\x05\x07\x02#\x02\x12\x04\ + \x8e\x06\x07\t\n\x0c\n\x04\x05\x07\x02$\x12\x04\x8f\x06\x02\x0f\n\r\n\ + \x05\x05\x07\x02$\x01\x12\x04\x8f\x06\x02\t\n\r\n\x05\x05\x07\x02$\x02\ + \x12\x04\x8f\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02%\x12\x04\x90\x06\x02\r\ + \n\r\n\x05\x05\x07\x02%\x01\x12\x04\x90\x06\x02\x08\n\r\n\x05\x05\x07\ + \x02%\x02\x12\x04\x90\x06\x0b\x0c\n\x0c\n\x04\x05\x07\x02&\x12\x04\x91\ + \x06\x02\x0c\n\r\n\x05\x05\x07\x02&\x01\x12\x04\x91\x06\x02\x06\n\r\n\ + \x05\x05\x07\x02&\x02\x12\x04\x91\x06\t\x0b\n\x0c\n\x04\x05\x07\x02'\x12\ + \x04\x92\x06\x02\x0c\n\r\n\x05\x05\x07\x02'\x01\x12\x04\x92\x06\x02\x06\ + \n\r\n\x05\x05\x07\x02'\x02\x12\x04\x92\x06\t\x0b\n\x0c\n\x04\x05\x07\ + \x02(\x12\x04\x93\x06\x02\x12\n\r\n\x05\x05\x07\x02(\x01\x12\x04\x93\x06\ + \x02\x0c\n\r\n\x05\x05\x07\x02(\x02\x12\x04\x93\x06\x0f\x11\n\x0c\n\x04\ + \x05\x07\x02)\x12\x04\x94\x06\x02\x0f\n\r\n\x05\x05\x07\x02)\x01\x12\x04\ + \x94\x06\x02\t\n\r\n\x05\x05\x07\x02)\x02\x12\x04\x94\x06\x0c\x0e\n\x0c\ + \n\x04\x05\x07\x02*\x12\x04\x95\x06\x02\r\n\r\n\x05\x05\x07\x02*\x01\x12\ + \x04\x95\x06\x02\x07\n\r\n\x05\x05\x07\x02*\x02\x12\x04\x95\x06\n\x0c\n\ + \x0c\n\x04\x05\x07\x02+\x12\x04\x96\x06\x02\x0b\n\r\n\x05\x05\x07\x02+\ + \x01\x12\x04\x96\x06\x02\x05\n\r\n\x05\x05\x07\x02+\x02\x12\x04\x96\x06\ + \x08\n\n\x0c\n\x04\x05\x07\x02,\x12\x04\x97\x06\x02\t\n\r\n\x05\x05\x07\ + \x02,\x01\x12\x04\x97\x06\x02\x03\n\r\n\x05\x05\x07\x02,\x02\x12\x04\x97\ + \x06\x06\x08\n\x0c\n\x04\x05\x07\x02-\x12\x04\x98\x06\x02\x0c\n\r\n\x05\ + \x05\x07\x02-\x01\x12\x04\x98\x06\x02\x06\n\r\n\x05\x05\x07\x02-\x02\x12\ + \x04\x98\x06\t\x0b\n\x0c\n\x04\x05\x07\x02.\x12\x04\x99\x06\x02\x0b\n\r\ + \n\x05\x05\x07\x02.\x01\x12\x04\x99\x06\x02\x06\n\r\n\x05\x05\x07\x02.\ + \x02\x12\x04\x99\x06\t\n\n\x0c\n\x04\x05\x07\x02/\x12\x04\x9a\x06\x02\ + \x12\n\r\n\x05\x05\x07\x02/\x01\x12\x04\x9a\x06\x02\x0c\n\r\n\x05\x05\ + \x07\x02/\x02\x12\x04\x9a\x06\x0f\x11\n\x0c\n\x04\x05\x07\x020\x12\x04\ + \x9b\x06\x02\x17\n\r\n\x05\x05\x07\x020\x01\x12\x04\x9b\x06\x02\x11\n\r\ + \n\x05\x05\x07\x020\x02\x12\x04\x9b\x06\x14\x16\n\x0c\n\x04\x05\x07\x021\ + \x12\x04\x9c\x06\x02\x0f\n\r\n\x05\x05\x07\x021\x01\x12\x04\x9c\x06\x02\ + \t\n\r\n\x05\x05\x07\x021\x02\x12\x04\x9c\x06\x0c\x0e\n\x0c\n\x04\x05\ + \x07\x022\x12\x04\x9d\x06\x02\x0e\n\r\n\x05\x05\x07\x022\x01\x12\x04\x9d\ + \x06\x02\x07\n\r\n\x05\x05\x07\x022\x02\x12\x04\x9d\x06\x0b\r\n\x0c\n\ + \x04\x05\x07\x023\x12\x04\x9e\x06\x02\x11\n\r\n\x05\x05\x07\x023\x01\x12\ + \x04\x9e\x06\x02\n\n\r\n\x05\x05\x07\x023\x02\x12\x04\x9e\x06\r\x10\n\ + \x0c\n\x04\x05\x07\x024\x12\x04\x9f\x06\x02\r\n\r\n\x05\x05\x07\x024\x01\ + \x12\x04\x9f\x06\x02\x08\n\r\n\x05\x05\x07\x024\x02\x12\x04\x9f\x06\x0b\ + \x0c\n\x0c\n\x04\x05\x07\x025\x12\x04\xa0\x06\x02\r\n\r\n\x05\x05\x07\ + \x025\x01\x12\x04\xa0\x06\x02\x07\n\r\n\x05\x05\x07\x025\x02\x12\x04\xa0\ + \x06\n\x0c\n\x0c\n\x04\x05\x07\x026\x12\x04\xa1\x06\x02\x0c\n\r\n\x05\ + \x05\x07\x026\x01\x12\x04\xa1\x06\x02\x06\n\r\n\x05\x05\x07\x026\x02\x12\ + \x04\xa1\x06\t\x0b\n\x0c\n\x04\x05\x07\x027\x12\x04\xa2\x06\x02\x0c\n\r\ + \n\x05\x05\x07\x027\x01\x12\x04\xa2\x06\x02\x06\n\r\n\x05\x05\x07\x027\ + \x02\x12\x04\xa2\x06\t\x0b\n\x0c\n\x04\x05\x07\x028\x12\x04\xa3\x06\x02\ + \x0b\n\r\n\x05\x05\x07\x028\x01\x12\x04\xa3\x06\x02\x05\n\r\n\x05\x05\ + \x07\x028\x02\x12\x04\xa3\x06\x08\n\n\x0c\n\x04\x05\x07\x029\x12\x04\xa4\ + \x06\x02\r\n\r\n\x05\x05\x07\x029\x01\x12\x04\xa4\x06\x02\x06\n\r\n\x05\ + \x05\x07\x029\x02\x12\x04\xa4\x06\t\x0c\n\x0c\n\x04\x05\x07\x02:\x12\x04\ + \xa5\x06\x02\x10\n\r\n\x05\x05\x07\x02:\x01\x12\x04\xa5\x06\x02\n\n\r\n\ + \x05\x05\x07\x02:\x02\x12\x04\xa5\x06\r\x0f\n\x0c\n\x04\x05\x07\x02;\x12\ + \x04\xa6\x06\x02\x10\n\r\n\x05\x05\x07\x02;\x01\x12\x04\xa6\x06\x02\n\n\ + \r\n\x05\x05\x07\x02;\x02\x12\x04\xa6\x06\r\x0f\n\x0c\n\x04\x05\x07\x02<\ + \x12\x04\xa7\x06\x02\x0e\n\r\n\x05\x05\x07\x02<\x01\x12\x04\xa7\x06\x02\ + \x08\n\r\n\x05\x05\x07\x02<\x02\x12\x04\xa7\x06\x0b\r\n(\n\x04\x05\x07\ + \x02=\x12\x04\xa8\x06\x02\x0f\"\x1a\x20https://nickel-lang.org/\n\n\r\n\ + \x05\x05\x07\x02=\x01\x12\x04\xa8\x06\x02\x08\n\r\n\x05\x05\x07\x02=\x02\ + \x12\x04\xa8\x06\x0b\x0e\n\x0c\n\x04\x05\x07\x02>\x12\x04\xa9\x06\x02\ + \x0b\n\r\n\x05\x05\x07\x02>\x01\x12\x04\xa9\x06\x02\x05\n\r\n\x05\x05\ + \x07\x02>\x02\x12\x04\xa9\x06\x08\n\n\x0c\n\x04\x05\x07\x02?\x12\x04\xaa\ + \x06\x02\r\n\r\n\x05\x05\x07\x02?\x01\x12\x04\xaa\x06\x02\x07\n\r\n\x05\ + \x05\x07\x02?\x02\x12\x04\xaa\x06\n\x0c\n\x0c\n\x04\x05\x07\x02@\x12\x04\ + \xab\x06\x02\x13\n\r\n\x05\x05\x07\x02@\x01\x12\x04\xab\x06\x02\r\n\r\n\ + \x05\x05\x07\x02@\x02\x12\x04\xab\x06\x10\x12\n\x0c\n\x04\x05\x07\x02A\ + \x12\x04\xac\x06\x02\x15\n\r\n\x05\x05\x07\x02A\x01\x12\x04\xac\x06\x02\ + \x0f\n\r\n\x05\x05\x07\x02A\x02\x12\x04\xac\x06\x12\x14\n\x0c\n\x04\x05\ + \x07\x02B\x12\x04\xad\x06\x02\x0e\n\r\n\x05\x05\x07\x02B\x01\x12\x04\xad\ + \x06\x02\x08\n\r\n\x05\x05\x07\x02B\x02\x12\x04\xad\x06\x0b\r\n\x0c\n\ + \x04\x05\x07\x02C\x12\x04\xae\x06\x02\x0b\n\r\n\x05\x05\x07\x02C\x01\x12\ + \x04\xae\x06\x02\x05\n\r\n\x05\x05\x07\x02C\x02\x12\x04\xae\x06\x08\n\n\ + \x0c\n\x04\x05\x07\x02D\x12\x04\xaf\x06\x02\r\n\r\n\x05\x05\x07\x02D\x01\ + \x12\x04\xaf\x06\x02\x07\n\r\n\x05\x05\x07\x02D\x02\x12\x04\xaf\x06\n\ + \x0c\n\x0c\n\x04\x05\x07\x02E\x12\x04\xb0\x06\x02\x0c\n\r\n\x05\x05\x07\ + \x02E\x01\x12\x04\xb0\x06\x02\x06\n\r\n\x05\x05\x07\x02E\x02\x12\x04\xb0\ + \x06\t\x0b\n\x0c\n\x04\x05\x07\x02F\x12\x04\xb1\x06\x02\x12\n\r\n\x05\ + \x05\x07\x02F\x01\x12\x04\xb1\x06\x02\x0c\n\r\n\x05\x05\x07\x02F\x02\x12\ + \x04\xb1\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02G\x12\x04\xb2\x06\x02\x0e\n\ + \r\n\x05\x05\x07\x02G\x01\x12\x04\xb2\x06\x02\x08\n\r\n\x05\x05\x07\x02G\ + \x02\x12\x04\xb2\x06\x0b\r\n\x0c\n\x04\x05\x07\x02H\x12\x04\xb3\x06\x02\ + \x11\n\r\n\x05\x05\x07\x02H\x01\x12\x04\xb3\x06\x02\n\n\r\n\x05\x05\x07\ + \x02H\x02\x12\x04\xb3\x06\r\x10\n\x0c\n\x04\x05\x07\x02I\x12\x04\xb4\x06\ + \x02\x0e\n\r\n\x05\x05\x07\x02I\x01\x12\x04\xb4\x06\x02\x08\n\r\n\x05\ + \x05\x07\x02I\x02\x12\x04\xb4\x06\x0b\r\n\x0c\n\x04\x05\x07\x02J\x12\x04\ + \xb5\x06\x02\t\n\r\n\x05\x05\x07\x02J\x01\x12\x04\xb5\x06\x02\x03\n\r\n\ + \x05\x05\x07\x02J\x02\x12\x04\xb5\x06\x06\x08\n\x0c\n\x04\x05\x07\x02K\ + \x12\x04\xb6\x06\x02\x0e\n\r\n\x05\x05\x07\x02K\x01\x12\x04\xb6\x06\x02\ + \x08\n\r\n\x05\x05\x07\x02K\x02\x12\x04\xb6\x06\x0b\r\n\x0c\n\x04\x05\ + \x07\x02L\x12\x04\xb7\x06\x02\x0c\n\r\n\x05\x05\x07\x02L\x01\x12\x04\xb7\ + \x06\x02\x06\n\r\n\x05\x05\x07\x02L\x02\x12\x04\xb7\x06\t\x0b\n\x0c\n\ + \x04\x05\x07\x02M\x12\x04\xb8\x06\x02\r\n\r\n\x05\x05\x07\x02M\x01\x12\ + \x04\xb8\x06\x02\x07\n\r\n\x05\x05\x07\x02M\x02\x12\x04\xb8\x06\n\x0c\n2\ + \n\x04\x05\x07\x02N\x12\x04\xb9\x06\x02\x0e\"$\x20Internal\x20language\ + \x20for\x20testing\x20SCIP\n\n\r\n\x05\x05\x07\x02N\x01\x12\x04\xb9\x06\ + \x02\x07\n\r\n\x05\x05\x07\x02N\x02\x12\x04\xb9\x06\n\r\n\x0c\n\x04\x05\ + \x07\x02O\x12\x04\xba\x06\x02\x0c\n\r\n\x05\x05\x07\x02O\x01\x12\x04\xba\ + \x06\x02\x06\n\r\n\x05\x05\x07\x02O\x02\x12\x04\xba\x06\t\x0b\n\x0c\n\ + \x04\x05\x07\x02P\x12\x04\xbb\x06\x02\x0c\n\r\n\x05\x05\x07\x02P\x01\x12\ + \x04\xbb\x06\x02\x06\n\r\n\x05\x05\x07\x02P\x02\x12\x04\xbb\x06\t\x0b\n\ + \x0c\n\x04\x05\x07\x02Q\x12\x04\xbc\x06\x02\x0c\n\r\n\x05\x05\x07\x02Q\ + \x01\x12\x04\xbc\x06\x02\x06\n\r\n\x05\x05\x07\x02Q\x02\x12\x04\xbc\x06\ + \t\x0b\n\x0c\n\x04\x05\x07\x02R\x12\x04\xbd\x06\x02\x0b\n\r\n\x05\x05\ + \x07\x02R\x01\x12\x04\xbd\x06\x02\x05\n\r\n\x05\x05\x07\x02R\x02\x12\x04\ + \xbd\x06\x08\n\n\x0c\n\x04\x05\x07\x02S\x12\x04\xbe\x06\x02\x0c\n\r\n\ + \x05\x05\x07\x02S\x01\x12\x04\xbe\x06\x02\x06\n\r\n\x05\x05\x07\x02S\x02\ + \x12\x04\xbe\x06\t\x0b\n\x0c\n\x04\x05\x07\x02T\x12\x04\xbf\x06\x02\x0b\ + \n\r\n\x05\x05\x07\x02T\x01\x12\x04\xbf\x06\x02\x05\n\r\n\x05\x05\x07\ + \x02T\x02\x12\x04\xbf\x06\x08\n\n\x0c\n\x04\x05\x07\x02U\x12\x04\xc0\x06\ + \x02\x0b\n\r\n\x05\x05\x07\x02U\x01\x12\x04\xc0\x06\x02\x05\n\r\n\x05\ + \x05\x07\x02U\x02\x12\x04\xc0\x06\x08\n\n\x0c\n\x04\x05\x07\x02V\x12\x04\ + \xc1\x06\x02\x0c\n\r\n\x05\x05\x07\x02V\x01\x12\x04\xc1\x06\x02\x06\n\r\ + \n\x05\x05\x07\x02V\x02\x12\x04\xc1\x06\t\x0b\n\x0c\n\x04\x05\x07\x02W\ + \x12\x04\xc2\x06\x02\x0c\n\r\n\x05\x05\x07\x02W\x01\x12\x04\xc2\x06\x02\ + \x07\n\r\n\x05\x05\x07\x02W\x02\x12\x04\xc2\x06\n\x0b\n\x0c\n\x04\x05\ + \x07\x02X\x12\x04\xc3\x06\x02\x0e\n\r\n\x05\x05\x07\x02X\x01\x12\x04\xc3\ + \x06\x02\x08\n\r\n\x05\x05\x07\x02X\x02\x12\x04\xc3\x06\x0b\r\n\x14\n\ + \x04\x05\x07\x02Y\x12\x04\xc4\x06\x02\x13\"\x06\x20Bash\n\n\r\n\x05\x05\ + \x07\x02Y\x01\x12\x04\xc4\x06\x02\r\n\r\n\x05\x05\x07\x02Y\x02\x12\x04\ + \xc4\x06\x10\x12\n\x0c\n\x04\x05\x07\x02Z\x12\x04\xc5\x06\x02\x0f\n\r\n\ + \x05\x05\x07\x02Z\x01\x12\x04\xc5\x06\x02\t\n\r\n\x05\x05\x07\x02Z\x02\ + \x12\x04\xc5\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02[\x12\x04\xc6\x06\x02\ + \x0e\n\r\n\x05\x05\x07\x02[\x01\x12\x04\xc6\x06\x02\x07\n\r\n\x05\x05\ + \x07\x02[\x02\x12\x04\xc6\x06\n\r\n\x0c\n\x04\x05\x07\x02\\\x12\x04\xc7\ + \x06\x02\x10\n\r\n\x05\x05\x07\x02\\\x01\x12\x04\xc7\x06\x02\n\n\r\n\x05\ + \x05\x07\x02\\\x02\x12\x04\xc7\x06\r\x0f\n\x0c\n\x04\x05\x07\x02]\x12\ + \x04\xc8\x06\x02\x0f\n\r\n\x05\x05\x07\x02]\x01\x12\x04\xc8\x06\x02\x08\ + \n\r\n\x05\x05\x07\x02]\x02\x12\x04\xc8\x06\x0b\x0e\n\x0c\n\x04\x05\x07\ + \x02^\x12\x04\xc9\x06\x02\x0c\n\r\n\x05\x05\x07\x02^\x01\x12\x04\xc9\x06\ + \x02\x07\n\r\n\x05\x05\x07\x02^\x02\x12\x04\xc9\x06\n\x0b\n\x0c\n\x04\ + \x05\x07\x02_\x12\x04\xca\x06\x02\x0c\n\r\n\x05\x05\x07\x02_\x01\x12\x04\ + \xca\x06\x02\x05\n\r\n\x05\x05\x07\x02_\x02\x12\x04\xca\x06\x08\x0b\n\ + \x0c\n\x04\x05\x07\x02`\x12\x04\xcb\x06\x02\x0c\n\r\n\x05\x05\x07\x02`\ + \x01\x12\x04\xcb\x06\x02\x06\n\r\n\x05\x05\x07\x02`\x02\x12\x04\xcb\x06\ + \t\x0b\n\x0c\n\x04\x05\x07\x02a\x12\x04\xcc\x06\x02\x0b\n\r\n\x05\x05\ + \x07\x02a\x01\x12\x04\xcc\x06\x02\x05\n\r\n\x05\x05\x07\x02a\x02\x12\x04\ + \xcc\x06\x08\n\n\x0c\n\x04\x05\x07\x02b\x12\x04\xcd\x06\x02\x0f\n\r\n\ + \x05\x05\x07\x02b\x01\x12\x04\xcd\x06\x02\x08\n\r\n\x05\x05\x07\x02b\x02\ + \x12\x04\xcd\x06\x0b\x0e\n\x0c\n\x04\x05\x07\x02c\x12\x04\xce\x06\x02\ + \x12\n\r\n\x05\x05\x07\x02c\x01\x12\x04\xce\x06\x02\x0c\n\r\n\x05\x05\ + \x07\x02c\x02\x12\x04\xce\x06\x0f\x11\n\x0c\n\x04\x05\x07\x02d\x12\x04\ + \xcf\x06\x02\x17\n\r\n\x05\x05\x07\x02d\x01\x12\x04\xcf\x06\x02\x11\n\r\ + \n\x05\x05\x07\x02d\x02\x12\x04\xcf\x06\x14\x16\n\x0c\n\x04\x05\x07\x02e\ + \x12\x04\xd0\x06\x02\x10\n\r\n\x05\x05\x07\x02e\x01\x12\x04\xd0\x06\x02\ + \t\n\r\n\x05\x05\x07\x02e\x02\x12\x04\xd0\x06\x0c\x0f\n\x0c\n\x04\x05\ + \x07\x02f\x12\x04\xd1\x06\x02\r\n\r\n\x05\x05\x07\x02f\x01\x12\x04\xd1\ + \x06\x02\x06\n\r\n\x05\x05\x07\x02f\x02\x12\x04\xd1\x06\t\x0c\n\x0c\n\ + \x04\x05\x07\x02g\x12\x04\xd2\x06\x02\x13\n\r\n\x05\x05\x07\x02g\x01\x12\ + \x04\xd2\x06\x02\r\n\r\n\x05\x05\x07\x02g\x02\x12\x04\xd2\x06\x10\x12\n\ + \x0c\n\x04\x05\x07\x02h\x12\x04\xd3\x06\x02\x0b\n\r\n\x05\x05\x07\x02h\ + \x01\x12\x04\xd3\x06\x02\x05\n\r\n\x05\x05\x07\x02h\x02\x12\x04\xd3\x06\ + \x08\n\n\x0c\n\x04\x05\x07\x02i\x12\x04\xd4\x06\x02\x0f\n\r\n\x05\x05\ + \x07\x02i\x01\x12\x04\xd4\x06\x02\t\n\r\n\x05\x05\x07\x02i\x02\x12\x04\ + \xd4\x06\x0c\x0e\n\x0c\n\x04\x05\x07\x02j\x12\x04\xd5\x06\x02\x0b\n\r\n\ + \x05\x05\x07\x02j\x01\x12\x04\xd5\x06\x02\x05\n\r\n\x05\x05\x07\x02j\x02\ + \x12\x04\xd5\x06\x08\n\n\x0c\n\x04\x05\x07\x02k\x12\x04\xd6\x06\x02\x0b\ + \n\r\n\x05\x05\x07\x02k\x01\x12\x04\xd6\x06\x02\x05\n\r\n\x05\x05\x07\ + \x02k\x02\x12\x04\xd6\x06\x08\n\n\x0c\n\x04\x05\x07\x02l\x12\x04\xd7\x06\ + \x02\x0c\n\r\n\x05\x05\x07\x02l\x01\x12\x04\xd7\x06\x02\x06\n\r\n\x05\ + \x05\x07\x02l\x02\x12\x04\xd7\x06\t\x0b\n\x93\x03\n\x04\x05\x07\x02m\x12\ + \x04\xd8\x06\x02\x0b\"\x84\x03\x20NextLanguage\x20=\x20111;\n\x20Steps\ + \x20add\x20a\x20new\x20language:\n\x201.\x20Copy-paste\x20the\x20\"NextL\ + anguage\x20=\x20N\"\x20line\x20above\n\x202.\x20Increment\x20\"NextLangu\ + age\x20=\x20N\"\x20to\x20\"NextLanguage\x20=\x20N+1\"\n\x203.\x20Replace\ + \x20\"NextLanguage\x20=\x20N\"\x20with\x20the\x20name\x20of\x20the\x20ne\ + w\x20language.\n\x204.\x20Move\x20the\x20new\x20language\x20to\x20the\ + \x20correct\x20line\x20above\x20using\x20alphabetical\x20order\n\x205.\ + \x20(optional)\x20Add\x20a\x20brief\x20comment\x20behind\x20the\x20langu\ + age\x20if\x20the\x20name\x20is\x20not\x20self-explanatory\n\n\r\n\x05\ + \x05\x07\x02m\x01\x12\x04\xd8\x06\x02\x05\n\r\n\x05\x05\x07\x02m\x02\x12\ + \x04\xd8\x06\x08\nb\x06proto3\ "; /// `FileDescriptorProto` object which was a source for this generated file @@ -5527,9 +5655,10 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { messages.push(Relationship::generated_message_descriptor_data()); messages.push(Occurrence::generated_message_descriptor_data()); messages.push(Diagnostic::generated_message_descriptor_data()); - let mut enums = ::std::vec::Vec::with_capacity(9); + let mut enums = ::std::vec::Vec::with_capacity(10); enums.push(ProtocolVersion::generated_enum_descriptor_data()); enums.push(TextEncoding::generated_enum_descriptor_data()); + enums.push(PositionEncoding::generated_enum_descriptor_data()); enums.push(SymbolRole::generated_enum_descriptor_data()); enums.push(SyntaxKind::generated_enum_descriptor_data()); enums.push(Severity::generated_enum_descriptor_data()); diff --git a/bindings/typescript/scip.ts b/bindings/typescript/scip.ts index 6531818d..3b78ecbd 100644 --- a/bindings/typescript/scip.ts +++ b/bindings/typescript/scip.ts @@ -13,6 +13,12 @@ export namespace scip { UTF8 = 1, UTF16 = 2 } + export enum PositionEncoding { + UnspecifiedPositionEncoding = 0, + UTF8ByteOffsetFromLineStart = 1, + UTF8CodeUnitOffsetFromLineStart = 2, + UTF16CodeUnitOffsetFromLineStart = 3 + } export enum SymbolRole { UnspecifiedSymbolRole = 0, Definition = 1, @@ -566,6 +572,7 @@ export namespace scip { occurrences?: Occurrence[]; symbols?: SymbolInformation[]; text?: string; + position_encoding?: PositionEncoding; }) { super(); pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [2, 3], this.#one_of_decls); @@ -585,6 +592,9 @@ export namespace scip { if ("text" in data && data.text != undefined) { this.text = data.text; } + if ("position_encoding" in data && data.position_encoding != undefined) { + this.position_encoding = data.position_encoding; + } } } get language() { @@ -617,12 +627,19 @@ export namespace scip { set text(value: string) { pb_1.Message.setField(this, 5, value); } + get position_encoding() { + return pb_1.Message.getFieldWithDefault(this, 6, PositionEncoding.UnspecifiedPositionEncoding) as PositionEncoding; + } + set position_encoding(value: PositionEncoding) { + pb_1.Message.setField(this, 6, value); + } static fromObject(data: { language?: string; relative_path?: string; occurrences?: ReturnType[]; symbols?: ReturnType[]; text?: string; + position_encoding?: PositionEncoding; }): Document { const message = new Document({}); if (data.language != null) { @@ -640,6 +657,9 @@ export namespace scip { if (data.text != null) { message.text = data.text; } + if (data.position_encoding != null) { + message.position_encoding = data.position_encoding; + } return message; } toObject() { @@ -649,6 +669,7 @@ export namespace scip { occurrences?: ReturnType[]; symbols?: ReturnType[]; text?: string; + position_encoding?: PositionEncoding; } = {}; if (this.language != null) { data.language = this.language; @@ -665,6 +686,9 @@ export namespace scip { if (this.text != null) { data.text = this.text; } + if (this.position_encoding != null) { + data.position_encoding = this.position_encoding; + } return data; } serialize(): Uint8Array; @@ -681,6 +705,8 @@ export namespace scip { writer.writeRepeatedMessage(3, this.symbols, (item: SymbolInformation) => item.serialize(writer)); if (this.text.length) writer.writeString(5, this.text); + if (this.position_encoding != PositionEncoding.UnspecifiedPositionEncoding) + writer.writeEnum(6, this.position_encoding); if (!w) return writer.getResultBuffer(); } @@ -705,6 +731,9 @@ export namespace scip { case 5: message.text = reader.readString(); break; + case 6: + message.position_encoding = reader.readEnum(); + break; default: reader.skipField(); } } diff --git a/docs/scip.md b/docs/scip.md index e455c56f..ff6b5afb 100644 --- a/docs/scip.md +++ b/docs/scip.md @@ -57,6 +57,7 @@ Document defines the metadata about a source file on disk. | repeated **occurrences** | Occurrence | Occurrences that appear in this file. | | repeated **symbols** | SymbolInformation | Symbols that are "defined" within this document. | | **text** | string | (optional) Text contents of the this document. Indexers are not expected to include the text by default. It's preferrable that clients read the text contents from the file system by resolving the absolute path from joining `Index.metadata.project_root` and `Document.relative_path`. This field was introduced to support `SymbolInformation.signature_documentation`, but it can be used for other purposes as well, for example testing or when working with virtual/in-memory documents. | +| **position_encoding** | PositionEncoding | Specifies the encoding used for source ranges in this Document. | Additional notes on **relative_path**: @@ -106,12 +107,12 @@ function in `IndexVisitor` and update `ParseStreaming`. ### Metadata -| Name | Type | Description | -| -------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -| **version** | ProtocolVersion | Which version of this protocol was used to generate this index? | -| **tool_info** | ToolInfo | Information about the tool that produced this index. | -| **project_root** | string | URI-encoded absolute path to the root directory of this index. All documents in this index must appear in a subdirectory of this root directory. | -| **text_document_encoding** | TextEncoding | Text encoding of the source files on disk that are referenced from `Document.relative_path`. | +| Name | Type | Description | +| -------------------------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **version** | ProtocolVersion | Which version of this protocol was used to generate this index? | +| **tool_info** | ToolInfo | Information about the tool that produced this index. | +| **project_root** | string | URI-encoded absolute path to the root directory of this index. All documents in this index must appear in a subdirectory of this root directory. | +| **text_document_encoding** | TextEncoding | Text encoding of the source files on disk that are referenced from `Document.relative_path`. This value is unrelated to the `Document.text` field, which is a Protobuf string and hence must be UTF-8 encoded. | ### Occurrence @@ -144,6 +145,9 @@ Line numbers and characters are always 0-based. Make sure to increment the line/character values before displaying them in an editor-like UI because editors conventionally use 1-based numbers. +The 'character' value is interpreted based on the PositionEncoding for +the Document. + Historical note: the original draft of this schema had a `Range` message type with `start` and `end` fields of type `Position`, mirroring LSP. Benchmarks revealed that this encoding was inefficient and that we could @@ -604,6 +608,43 @@ Feel free to send a pull-request to add missing programming languages. | 74 | YAML | | 38 | Zig | NextLanguage = 111; Steps add a new language: 1. Copy-paste the "NextLanguage = N" line above 2. Increment "NextLanguage = N" to "NextLanguage = N+1" 3. Replace "NextLanguage = N" with the name of the new language. 4. Move the new language to the correct line above using alphabetical order 5. (optional) Add a brief comment behind the language if the name is not self-explanatory | +### PositionEncoding + +Encoding used to interpret the 'character' value in source ranges. + +| Number | Name | Description | +| ------ | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| 0 | UnspecifiedPositionEncoding | Default value. This value should not be used by new SCIP indexers so that a consumer can process the SCIP index without ambiguity. | +| 1 | UTF8ByteOffsetFromLineStart | The 'character' value is interpreted as a byte offset, assuming that the text for the line is encoded as UTF-8. | +| 2 | UTF8CodeUnitOffsetFromLineStart | The 'character' value is interpreted as an offset in terms of UTF-8 code units. | +| 3 | UTF16CodeUnitOffsetFromLineStart | The 'character' value is interpreted as an offset in terms of UTF-16 code units. | + +Additional notes on **UTF8ByteOffsetFromLineStart**: + +The 'character' value is interpreted as a byte offset, +assuming that the text for the line is encoded as UTF-8. + +Example: For the string "🚀 Woo" in UTF-8, the bytes are +[240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W' +would be 5. + +Additional notes on **UTF8CodeUnitOffsetFromLineStart**: + +The 'character' value is interpreted as an offset in terms +of UTF-8 code units. + +Example: For the string "🚀 Woo", the UTF-8 code units are +['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2. + +Additional notes on **UTF16CodeUnitOffsetFromLineStart**: + +The 'character' value is interpreted as an offset in terms +of UTF-16 code units. + +Example: For the string "🚀 Woo", the UTF-16 code units are +['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W' +would be 3. + ### ProtocolVersion | Number | Name | Description | diff --git a/scip.proto b/scip.proto index f4fc7c80..d7b6bc15 100644 --- a/scip.proto +++ b/scip.proto @@ -45,7 +45,8 @@ message Metadata { // directory. string project_root = 3; // Text encoding of the source files on disk that are referenced from - // `Document.relative_path`. + // `Document.relative_path`. This value is unrelated to the `Document.text` + // field, which is a Protobuf string and hence must be UTF-8 encoded. TextEncoding text_document_encoding = 4; } @@ -102,8 +103,37 @@ message Document { // can be used for other purposes as well, for example testing or when working // with virtual/in-memory documents. string text = 5; + + // Specifies the encoding used for source ranges in this Document. + PositionEncoding position_encoding = 6; } +// Encoding used to interpret the 'character' value in source ranges. +enum PositionEncoding { + // Default value. This value should not be used by new SCIP indexers + // so that a consumer can process the SCIP index without ambiguity. + UnspecifiedPositionEncoding = 0; + // The 'character' value is interpreted as a byte offset, + // assuming that the text for the line is encoded as UTF-8. + // + // Example: For the string "🚀 Woo" in UTF-8, the bytes are + // [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W' + // would be 5. + UTF8ByteOffsetFromLineStart = 1; + // The 'character' value is interpreted as an offset in terms + // of UTF-8 code units. + // + // Example: For the string "🚀 Woo", the UTF-8 code units are + // ['🚀', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2. + UTF8CodeUnitOffsetFromLineStart = 2; + // The 'character' value is interpreted as an offset in terms + // of UTF-16 code units. + // + // Example: For the string "🚀 Woo", the UTF-16 code units are + // ['\ud83d', '\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W' + // would be 3. + UTF16CodeUnitOffsetFromLineStart = 3; +} // Symbol is similar to a URI, it identifies a class, method, or a local // variable. `SymbolInformation` contains rich metadata about symbols such as @@ -594,6 +624,9 @@ message Occurrence { // line/character values before displaying them in an editor-like UI because // editors conventionally use 1-based numbers. // + // The 'character' value is interpreted based on the PositionEncoding for + // the Document. + // // Historical note: the original draft of this schema had a `Range` message // type with `start` and `end` fields of type `Position`, mirroring LSP. // Benchmarks revealed that this encoding was inefficient and that we could