// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 // protoc (unknown) // source: api/v2/markdown_service.proto package apiv2 import ( _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type NodeType int32 const ( NodeType_NODE_UNSPECIFIED NodeType = 0 NodeType_LINE_BREAK NodeType = 1 NodeType_PARAGRAPH NodeType = 2 NodeType_CODE_BLOCK NodeType = 3 NodeType_HEADING NodeType = 4 NodeType_HORIZONTAL_RULE NodeType = 5 NodeType_BLOCKQUOTE NodeType = 6 NodeType_ORDERED_LIST NodeType = 7 NodeType_UNORDERED_LIST NodeType = 8 NodeType_TASK_LIST NodeType = 9 NodeType_MATH_BLOCK NodeType = 10 NodeType_TEXT NodeType = 11 NodeType_BOLD NodeType = 12 NodeType_ITALIC NodeType = 13 NodeType_BOLD_ITALIC NodeType = 14 NodeType_CODE NodeType = 15 NodeType_IMAGE NodeType = 16 NodeType_LINK NodeType = 17 NodeType_AUTO_LINK NodeType = 18 NodeType_TAG NodeType = 19 NodeType_STRIKETHROUGH NodeType = 20 NodeType_ESCAPING_CHARACTER NodeType = 21 NodeType_MATH NodeType = 22 NodeType_HIGHLIGHT NodeType = 23 ) // Enum value maps for NodeType. var ( NodeType_name = map[int32]string{ 0: "NODE_UNSPECIFIED", 1: "LINE_BREAK", 2: "PARAGRAPH", 3: "CODE_BLOCK", 4: "HEADING", 5: "HORIZONTAL_RULE", 6: "BLOCKQUOTE", 7: "ORDERED_LIST", 8: "UNORDERED_LIST", 9: "TASK_LIST", 10: "MATH_BLOCK", 11: "TEXT", 12: "BOLD", 13: "ITALIC", 14: "BOLD_ITALIC", 15: "CODE", 16: "IMAGE", 17: "LINK", 18: "AUTO_LINK", 19: "TAG", 20: "STRIKETHROUGH", 21: "ESCAPING_CHARACTER", 22: "MATH", 23: "HIGHLIGHT", } NodeType_value = map[string]int32{ "NODE_UNSPECIFIED": 0, "LINE_BREAK": 1, "PARAGRAPH": 2, "CODE_BLOCK": 3, "HEADING": 4, "HORIZONTAL_RULE": 5, "BLOCKQUOTE": 6, "ORDERED_LIST": 7, "UNORDERED_LIST": 8, "TASK_LIST": 9, "MATH_BLOCK": 10, "TEXT": 11, "BOLD": 12, "ITALIC": 13, "BOLD_ITALIC": 14, "CODE": 15, "IMAGE": 16, "LINK": 17, "AUTO_LINK": 18, "TAG": 19, "STRIKETHROUGH": 20, "ESCAPING_CHARACTER": 21, "MATH": 22, "HIGHLIGHT": 23, } ) func (x NodeType) Enum() *NodeType { p := new(NodeType) *p = x return p } func (x NodeType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (NodeType) Descriptor() protoreflect.EnumDescriptor { return file_api_v2_markdown_service_proto_enumTypes[0].Descriptor() } func (NodeType) Type() protoreflect.EnumType { return &file_api_v2_markdown_service_proto_enumTypes[0] } func (x NodeType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use NodeType.Descriptor instead. func (NodeType) EnumDescriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{0} } type ParseMarkdownRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Markdown string `protobuf:"bytes,1,opt,name=markdown,proto3" json:"markdown,omitempty"` } func (x *ParseMarkdownRequest) Reset() { *x = ParseMarkdownRequest{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ParseMarkdownRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ParseMarkdownRequest) ProtoMessage() {} func (x *ParseMarkdownRequest) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ParseMarkdownRequest.ProtoReflect.Descriptor instead. func (*ParseMarkdownRequest) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{0} } func (x *ParseMarkdownRequest) GetMarkdown() string { if x != nil { return x.Markdown } return "" } type ParseMarkdownResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` } func (x *ParseMarkdownResponse) Reset() { *x = ParseMarkdownResponse{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ParseMarkdownResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ParseMarkdownResponse) ProtoMessage() {} func (x *ParseMarkdownResponse) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ParseMarkdownResponse.ProtoReflect.Descriptor instead. func (*ParseMarkdownResponse) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{1} } func (x *ParseMarkdownResponse) GetNodes() []*Node { if x != nil { return x.Nodes } return nil } type Node struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type NodeType `protobuf:"varint,1,opt,name=type,proto3,enum=memos.api.v2.NodeType" json:"type,omitempty"` // Types that are assignable to Node: // // *Node_LineBreakNode // *Node_ParagraphNode // *Node_CodeBlockNode // *Node_HeadingNode // *Node_HorizontalRuleNode // *Node_BlockquoteNode // *Node_OrderedListNode // *Node_UnorderedListNode // *Node_TaskListNode // *Node_MathBlockNode // *Node_TextNode // *Node_BoldNode // *Node_ItalicNode // *Node_BoldItalicNode // *Node_CodeNode // *Node_ImageNode // *Node_LinkNode // *Node_AutoLinkNode // *Node_TagNode // *Node_StrikethroughNode // *Node_EscapingCharacterNode // *Node_MathNode // *Node_HighlightNode Node isNode_Node `protobuf_oneof:"node"` } func (x *Node) Reset() { *x = Node{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Node) String() string { return protoimpl.X.MessageStringOf(x) } func (*Node) ProtoMessage() {} func (x *Node) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Node.ProtoReflect.Descriptor instead. func (*Node) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{2} } func (x *Node) GetType() NodeType { if x != nil { return x.Type } return NodeType_NODE_UNSPECIFIED } func (m *Node) GetNode() isNode_Node { if m != nil { return m.Node } return nil } func (x *Node) GetLineBreakNode() *LineBreakNode { if x, ok := x.GetNode().(*Node_LineBreakNode); ok { return x.LineBreakNode } return nil } func (x *Node) GetParagraphNode() *ParagraphNode { if x, ok := x.GetNode().(*Node_ParagraphNode); ok { return x.ParagraphNode } return nil } func (x *Node) GetCodeBlockNode() *CodeBlockNode { if x, ok := x.GetNode().(*Node_CodeBlockNode); ok { return x.CodeBlockNode } return nil } func (x *Node) GetHeadingNode() *HeadingNode { if x, ok := x.GetNode().(*Node_HeadingNode); ok { return x.HeadingNode } return nil } func (x *Node) GetHorizontalRuleNode() *HorizontalRuleNode { if x, ok := x.GetNode().(*Node_HorizontalRuleNode); ok { return x.HorizontalRuleNode } return nil } func (x *Node) GetBlockquoteNode() *BlockquoteNode { if x, ok := x.GetNode().(*Node_BlockquoteNode); ok { return x.BlockquoteNode } return nil } func (x *Node) GetOrderedListNode() *OrderedListNode { if x, ok := x.GetNode().(*Node_OrderedListNode); ok { return x.OrderedListNode } return nil } func (x *Node) GetUnorderedListNode() *UnorderedListNode { if x, ok := x.GetNode().(*Node_UnorderedListNode); ok { return x.UnorderedListNode } return nil } func (x *Node) GetTaskListNode() *TaskListNode { if x, ok := x.GetNode().(*Node_TaskListNode); ok { return x.TaskListNode } return nil } func (x *Node) GetMathBlockNode() *MathBlockNode { if x, ok := x.GetNode().(*Node_MathBlockNode); ok { return x.MathBlockNode } return nil } func (x *Node) GetTextNode() *TextNode { if x, ok := x.GetNode().(*Node_TextNode); ok { return x.TextNode } return nil } func (x *Node) GetBoldNode() *BoldNode { if x, ok := x.GetNode().(*Node_BoldNode); ok { return x.BoldNode } return nil } func (x *Node) GetItalicNode() *ItalicNode { if x, ok := x.GetNode().(*Node_ItalicNode); ok { return x.ItalicNode } return nil } func (x *Node) GetBoldItalicNode() *BoldItalicNode { if x, ok := x.GetNode().(*Node_BoldItalicNode); ok { return x.BoldItalicNode } return nil } func (x *Node) GetCodeNode() *CodeNode { if x, ok := x.GetNode().(*Node_CodeNode); ok { return x.CodeNode } return nil } func (x *Node) GetImageNode() *ImageNode { if x, ok := x.GetNode().(*Node_ImageNode); ok { return x.ImageNode } return nil } func (x *Node) GetLinkNode() *LinkNode { if x, ok := x.GetNode().(*Node_LinkNode); ok { return x.LinkNode } return nil } func (x *Node) GetAutoLinkNode() *AutoLinkNode { if x, ok := x.GetNode().(*Node_AutoLinkNode); ok { return x.AutoLinkNode } return nil } func (x *Node) GetTagNode() *TagNode { if x, ok := x.GetNode().(*Node_TagNode); ok { return x.TagNode } return nil } func (x *Node) GetStrikethroughNode() *StrikethroughNode { if x, ok := x.GetNode().(*Node_StrikethroughNode); ok { return x.StrikethroughNode } return nil } func (x *Node) GetEscapingCharacterNode() *EscapingCharacterNode { if x, ok := x.GetNode().(*Node_EscapingCharacterNode); ok { return x.EscapingCharacterNode } return nil } func (x *Node) GetMathNode() *MathNode { if x, ok := x.GetNode().(*Node_MathNode); ok { return x.MathNode } return nil } func (x *Node) GetHighlightNode() *HighlightNode { if x, ok := x.GetNode().(*Node_HighlightNode); ok { return x.HighlightNode } return nil } type isNode_Node interface { isNode_Node() } type Node_LineBreakNode struct { LineBreakNode *LineBreakNode `protobuf:"bytes,2,opt,name=line_break_node,json=lineBreakNode,proto3,oneof"` } type Node_ParagraphNode struct { ParagraphNode *ParagraphNode `protobuf:"bytes,3,opt,name=paragraph_node,json=paragraphNode,proto3,oneof"` } type Node_CodeBlockNode struct { CodeBlockNode *CodeBlockNode `protobuf:"bytes,4,opt,name=code_block_node,json=codeBlockNode,proto3,oneof"` } type Node_HeadingNode struct { HeadingNode *HeadingNode `protobuf:"bytes,5,opt,name=heading_node,json=headingNode,proto3,oneof"` } type Node_HorizontalRuleNode struct { HorizontalRuleNode *HorizontalRuleNode `protobuf:"bytes,6,opt,name=horizontal_rule_node,json=horizontalRuleNode,proto3,oneof"` } type Node_BlockquoteNode struct { BlockquoteNode *BlockquoteNode `protobuf:"bytes,7,opt,name=blockquote_node,json=blockquoteNode,proto3,oneof"` } type Node_OrderedListNode struct { OrderedListNode *OrderedListNode `protobuf:"bytes,8,opt,name=ordered_list_node,json=orderedListNode,proto3,oneof"` } type Node_UnorderedListNode struct { UnorderedListNode *UnorderedListNode `protobuf:"bytes,9,opt,name=unordered_list_node,json=unorderedListNode,proto3,oneof"` } type Node_TaskListNode struct { TaskListNode *TaskListNode `protobuf:"bytes,10,opt,name=task_list_node,json=taskListNode,proto3,oneof"` } type Node_MathBlockNode struct { MathBlockNode *MathBlockNode `protobuf:"bytes,11,opt,name=math_block_node,json=mathBlockNode,proto3,oneof"` } type Node_TextNode struct { TextNode *TextNode `protobuf:"bytes,12,opt,name=text_node,json=textNode,proto3,oneof"` } type Node_BoldNode struct { BoldNode *BoldNode `protobuf:"bytes,13,opt,name=bold_node,json=boldNode,proto3,oneof"` } type Node_ItalicNode struct { ItalicNode *ItalicNode `protobuf:"bytes,14,opt,name=italic_node,json=italicNode,proto3,oneof"` } type Node_BoldItalicNode struct { BoldItalicNode *BoldItalicNode `protobuf:"bytes,15,opt,name=bold_italic_node,json=boldItalicNode,proto3,oneof"` } type Node_CodeNode struct { CodeNode *CodeNode `protobuf:"bytes,16,opt,name=code_node,json=codeNode,proto3,oneof"` } type Node_ImageNode struct { ImageNode *ImageNode `protobuf:"bytes,17,opt,name=image_node,json=imageNode,proto3,oneof"` } type Node_LinkNode struct { LinkNode *LinkNode `protobuf:"bytes,18,opt,name=link_node,json=linkNode,proto3,oneof"` } type Node_AutoLinkNode struct { AutoLinkNode *AutoLinkNode `protobuf:"bytes,19,opt,name=auto_link_node,json=autoLinkNode,proto3,oneof"` } type Node_TagNode struct { TagNode *TagNode `protobuf:"bytes,20,opt,name=tag_node,json=tagNode,proto3,oneof"` } type Node_StrikethroughNode struct { StrikethroughNode *StrikethroughNode `protobuf:"bytes,21,opt,name=strikethrough_node,json=strikethroughNode,proto3,oneof"` } type Node_EscapingCharacterNode struct { EscapingCharacterNode *EscapingCharacterNode `protobuf:"bytes,22,opt,name=escaping_character_node,json=escapingCharacterNode,proto3,oneof"` } type Node_MathNode struct { MathNode *MathNode `protobuf:"bytes,23,opt,name=math_node,json=mathNode,proto3,oneof"` } type Node_HighlightNode struct { HighlightNode *HighlightNode `protobuf:"bytes,24,opt,name=highlight_node,json=highlightNode,proto3,oneof"` } func (*Node_LineBreakNode) isNode_Node() {} func (*Node_ParagraphNode) isNode_Node() {} func (*Node_CodeBlockNode) isNode_Node() {} func (*Node_HeadingNode) isNode_Node() {} func (*Node_HorizontalRuleNode) isNode_Node() {} func (*Node_BlockquoteNode) isNode_Node() {} func (*Node_OrderedListNode) isNode_Node() {} func (*Node_UnorderedListNode) isNode_Node() {} func (*Node_TaskListNode) isNode_Node() {} func (*Node_MathBlockNode) isNode_Node() {} func (*Node_TextNode) isNode_Node() {} func (*Node_BoldNode) isNode_Node() {} func (*Node_ItalicNode) isNode_Node() {} func (*Node_BoldItalicNode) isNode_Node() {} func (*Node_CodeNode) isNode_Node() {} func (*Node_ImageNode) isNode_Node() {} func (*Node_LinkNode) isNode_Node() {} func (*Node_AutoLinkNode) isNode_Node() {} func (*Node_TagNode) isNode_Node() {} func (*Node_StrikethroughNode) isNode_Node() {} func (*Node_EscapingCharacterNode) isNode_Node() {} func (*Node_MathNode) isNode_Node() {} func (*Node_HighlightNode) isNode_Node() {} type LineBreakNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *LineBreakNode) Reset() { *x = LineBreakNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LineBreakNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*LineBreakNode) ProtoMessage() {} func (x *LineBreakNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LineBreakNode.ProtoReflect.Descriptor instead. func (*LineBreakNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{3} } type ParagraphNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Children []*Node `protobuf:"bytes,1,rep,name=children,proto3" json:"children,omitempty"` } func (x *ParagraphNode) Reset() { *x = ParagraphNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ParagraphNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*ParagraphNode) ProtoMessage() {} func (x *ParagraphNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ParagraphNode.ProtoReflect.Descriptor instead. func (*ParagraphNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{4} } func (x *ParagraphNode) GetChildren() []*Node { if x != nil { return x.Children } return nil } type CodeBlockNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Language string `protobuf:"bytes,1,opt,name=language,proto3" json:"language,omitempty"` Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` } func (x *CodeBlockNode) Reset() { *x = CodeBlockNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CodeBlockNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*CodeBlockNode) ProtoMessage() {} func (x *CodeBlockNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CodeBlockNode.ProtoReflect.Descriptor instead. func (*CodeBlockNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{5} } func (x *CodeBlockNode) GetLanguage() string { if x != nil { return x.Language } return "" } func (x *CodeBlockNode) GetContent() string { if x != nil { return x.Content } return "" } type HeadingNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Level int32 `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"` Children []*Node `protobuf:"bytes,2,rep,name=children,proto3" json:"children,omitempty"` } func (x *HeadingNode) Reset() { *x = HeadingNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HeadingNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeadingNode) ProtoMessage() {} func (x *HeadingNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HeadingNode.ProtoReflect.Descriptor instead. func (*HeadingNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{6} } func (x *HeadingNode) GetLevel() int32 { if x != nil { return x.Level } return 0 } func (x *HeadingNode) GetChildren() []*Node { if x != nil { return x.Children } return nil } type HorizontalRuleNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` } func (x *HorizontalRuleNode) Reset() { *x = HorizontalRuleNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HorizontalRuleNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*HorizontalRuleNode) ProtoMessage() {} func (x *HorizontalRuleNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HorizontalRuleNode.ProtoReflect.Descriptor instead. func (*HorizontalRuleNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{7} } func (x *HorizontalRuleNode) GetSymbol() string { if x != nil { return x.Symbol } return "" } type BlockquoteNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Children []*Node `protobuf:"bytes,1,rep,name=children,proto3" json:"children,omitempty"` } func (x *BlockquoteNode) Reset() { *x = BlockquoteNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BlockquoteNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*BlockquoteNode) ProtoMessage() {} func (x *BlockquoteNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BlockquoteNode.ProtoReflect.Descriptor instead. func (*BlockquoteNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{8} } func (x *BlockquoteNode) GetChildren() []*Node { if x != nil { return x.Children } return nil } type OrderedListNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Number string `protobuf:"bytes,1,opt,name=number,proto3" json:"number,omitempty"` Indent int32 `protobuf:"varint,2,opt,name=indent,proto3" json:"indent,omitempty"` Children []*Node `protobuf:"bytes,3,rep,name=children,proto3" json:"children,omitempty"` } func (x *OrderedListNode) Reset() { *x = OrderedListNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrderedListNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrderedListNode) ProtoMessage() {} func (x *OrderedListNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OrderedListNode.ProtoReflect.Descriptor instead. func (*OrderedListNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{9} } func (x *OrderedListNode) GetNumber() string { if x != nil { return x.Number } return "" } func (x *OrderedListNode) GetIndent() int32 { if x != nil { return x.Indent } return 0 } func (x *OrderedListNode) GetChildren() []*Node { if x != nil { return x.Children } return nil } type UnorderedListNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` Indent int32 `protobuf:"varint,2,opt,name=indent,proto3" json:"indent,omitempty"` Children []*Node `protobuf:"bytes,3,rep,name=children,proto3" json:"children,omitempty"` } func (x *UnorderedListNode) Reset() { *x = UnorderedListNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UnorderedListNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*UnorderedListNode) ProtoMessage() {} func (x *UnorderedListNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UnorderedListNode.ProtoReflect.Descriptor instead. func (*UnorderedListNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{10} } func (x *UnorderedListNode) GetSymbol() string { if x != nil { return x.Symbol } return "" } func (x *UnorderedListNode) GetIndent() int32 { if x != nil { return x.Indent } return 0 } func (x *UnorderedListNode) GetChildren() []*Node { if x != nil { return x.Children } return nil } type TaskListNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` Indent int32 `protobuf:"varint,2,opt,name=indent,proto3" json:"indent,omitempty"` Complete bool `protobuf:"varint,3,opt,name=complete,proto3" json:"complete,omitempty"` Children []*Node `protobuf:"bytes,4,rep,name=children,proto3" json:"children,omitempty"` } func (x *TaskListNode) Reset() { *x = TaskListNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TaskListNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*TaskListNode) ProtoMessage() {} func (x *TaskListNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TaskListNode.ProtoReflect.Descriptor instead. func (*TaskListNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{11} } func (x *TaskListNode) GetSymbol() string { if x != nil { return x.Symbol } return "" } func (x *TaskListNode) GetIndent() int32 { if x != nil { return x.Indent } return 0 } func (x *TaskListNode) GetComplete() bool { if x != nil { return x.Complete } return false } func (x *TaskListNode) GetChildren() []*Node { if x != nil { return x.Children } return nil } type MathBlockNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` } func (x *MathBlockNode) Reset() { *x = MathBlockNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MathBlockNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*MathBlockNode) ProtoMessage() {} func (x *MathBlockNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MathBlockNode.ProtoReflect.Descriptor instead. func (*MathBlockNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{12} } func (x *MathBlockNode) GetContent() string { if x != nil { return x.Content } return "" } type TextNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` } func (x *TextNode) Reset() { *x = TextNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TextNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*TextNode) ProtoMessage() {} func (x *TextNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TextNode.ProtoReflect.Descriptor instead. func (*TextNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{13} } func (x *TextNode) GetContent() string { if x != nil { return x.Content } return "" } type BoldNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` Children []*Node `protobuf:"bytes,2,rep,name=children,proto3" json:"children,omitempty"` } func (x *BoldNode) Reset() { *x = BoldNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BoldNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*BoldNode) ProtoMessage() {} func (x *BoldNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BoldNode.ProtoReflect.Descriptor instead. func (*BoldNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{14} } func (x *BoldNode) GetSymbol() string { if x != nil { return x.Symbol } return "" } func (x *BoldNode) GetChildren() []*Node { if x != nil { return x.Children } return nil } type ItalicNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` } func (x *ItalicNode) Reset() { *x = ItalicNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItalicNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItalicNode) ProtoMessage() {} func (x *ItalicNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ItalicNode.ProtoReflect.Descriptor instead. func (*ItalicNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{15} } func (x *ItalicNode) GetSymbol() string { if x != nil { return x.Symbol } return "" } func (x *ItalicNode) GetContent() string { if x != nil { return x.Content } return "" } type BoldItalicNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` } func (x *BoldItalicNode) Reset() { *x = BoldItalicNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BoldItalicNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*BoldItalicNode) ProtoMessage() {} func (x *BoldItalicNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BoldItalicNode.ProtoReflect.Descriptor instead. func (*BoldItalicNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{16} } func (x *BoldItalicNode) GetSymbol() string { if x != nil { return x.Symbol } return "" } func (x *BoldItalicNode) GetContent() string { if x != nil { return x.Content } return "" } type CodeNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` } func (x *CodeNode) Reset() { *x = CodeNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CodeNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*CodeNode) ProtoMessage() {} func (x *CodeNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CodeNode.ProtoReflect.Descriptor instead. func (*CodeNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{17} } func (x *CodeNode) GetContent() string { if x != nil { return x.Content } return "" } type ImageNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AltText string `protobuf:"bytes,1,opt,name=alt_text,json=altText,proto3" json:"alt_text,omitempty"` Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` } func (x *ImageNode) Reset() { *x = ImageNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ImageNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*ImageNode) ProtoMessage() {} func (x *ImageNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ImageNode.ProtoReflect.Descriptor instead. func (*ImageNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{18} } func (x *ImageNode) GetAltText() string { if x != nil { return x.AltText } return "" } func (x *ImageNode) GetUrl() string { if x != nil { return x.Url } return "" } type LinkNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"` Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` } func (x *LinkNode) Reset() { *x = LinkNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LinkNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*LinkNode) ProtoMessage() {} func (x *LinkNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LinkNode.ProtoReflect.Descriptor instead. func (*LinkNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{19} } func (x *LinkNode) GetText() string { if x != nil { return x.Text } return "" } func (x *LinkNode) GetUrl() string { if x != nil { return x.Url } return "" } type AutoLinkNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` IsRawText bool `protobuf:"varint,2,opt,name=is_raw_text,json=isRawText,proto3" json:"is_raw_text,omitempty"` } func (x *AutoLinkNode) Reset() { *x = AutoLinkNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AutoLinkNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*AutoLinkNode) ProtoMessage() {} func (x *AutoLinkNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AutoLinkNode.ProtoReflect.Descriptor instead. func (*AutoLinkNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{20} } func (x *AutoLinkNode) GetUrl() string { if x != nil { return x.Url } return "" } func (x *AutoLinkNode) GetIsRawText() bool { if x != nil { return x.IsRawText } return false } type TagNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` } func (x *TagNode) Reset() { *x = TagNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TagNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*TagNode) ProtoMessage() {} func (x *TagNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TagNode.ProtoReflect.Descriptor instead. func (*TagNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{21} } func (x *TagNode) GetContent() string { if x != nil { return x.Content } return "" } type StrikethroughNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` } func (x *StrikethroughNode) Reset() { *x = StrikethroughNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StrikethroughNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*StrikethroughNode) ProtoMessage() {} func (x *StrikethroughNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StrikethroughNode.ProtoReflect.Descriptor instead. func (*StrikethroughNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{22} } func (x *StrikethroughNode) GetContent() string { if x != nil { return x.Content } return "" } type EscapingCharacterNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` } func (x *EscapingCharacterNode) Reset() { *x = EscapingCharacterNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EscapingCharacterNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*EscapingCharacterNode) ProtoMessage() {} func (x *EscapingCharacterNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EscapingCharacterNode.ProtoReflect.Descriptor instead. func (*EscapingCharacterNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{23} } func (x *EscapingCharacterNode) GetSymbol() string { if x != nil { return x.Symbol } return "" } type MathNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` } func (x *MathNode) Reset() { *x = MathNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MathNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*MathNode) ProtoMessage() {} func (x *MathNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MathNode.ProtoReflect.Descriptor instead. func (*MathNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{24} } func (x *MathNode) GetContent() string { if x != nil { return x.Content } return "" } type HighlightNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` } func (x *HighlightNode) Reset() { *x = HighlightNode{} if protoimpl.UnsafeEnabled { mi := &file_api_v2_markdown_service_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HighlightNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*HighlightNode) ProtoMessage() {} func (x *HighlightNode) ProtoReflect() protoreflect.Message { mi := &file_api_v2_markdown_service_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HighlightNode.ProtoReflect.Descriptor instead. func (*HighlightNode) Descriptor() ([]byte, []int) { return file_api_v2_markdown_service_proto_rawDescGZIP(), []int{25} } func (x *HighlightNode) GetContent() string { if x != nil { return x.Content } return "" } var File_api_v2_markdown_service_proto protoreflect.FileDescriptor var file_api_v2_markdown_service_proto_rawDesc = []byte{ 0x0a, 0x1d, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x73, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0x41, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x73, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0xdb, 0x0c, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x44, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x54, 0x0a, 0x14, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x12, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x47, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x4b, 0x0a, 0x11, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x51, 0x0a, 0x13, 0x75, 0x6e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x6e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x11, 0x75, 0x6e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x61, 0x74, 0x68, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x68, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x08, 0x74, 0x65, 0x78, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x62, 0x6f, 0x6c, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x08, 0x62, 0x6f, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x69, 0x74, 0x61, 0x6c, 0x69, 0x63, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x74, 0x61, 0x6c, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x74, 0x61, 0x6c, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x48, 0x0a, 0x10, 0x62, 0x6f, 0x6c, 0x64, 0x5f, 0x69, 0x74, 0x61, 0x6c, 0x69, 0x63, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6c, 0x64, 0x49, 0x74, 0x61, 0x6c, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x6f, 0x6c, 0x64, 0x49, 0x74, 0x61, 0x6c, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x50, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x11, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x5d, 0x0a, 0x17, 0x65, 0x73, 0x63, 0x61, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x73, 0x63, 0x61, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x15, 0x65, 0x73, 0x63, 0x61, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x68, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x44, 0x0a, 0x0e, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x0f, 0x0a, 0x0d, 0x4c, 0x69, 0x6e, 0x65, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x22, 0x3f, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x45, 0x0a, 0x0d, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x53, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2e, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x2c, 0x0a, 0x12, 0x48, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x22, 0x40, 0x0a, 0x0e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x71, 0x0a, 0x0f, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x73, 0x0a, 0x11, 0x55, 0x6e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 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, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 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, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x29, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x68, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x24, 0x0a, 0x08, 0x54, 0x65, 0x78, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x52, 0x0a, 0x08, 0x42, 0x6f, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 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, 0x2e, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x3e, 0x0a, 0x0a, 0x49, 0x74, 0x61, 0x6c, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 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, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x42, 0x0a, 0x0e, 0x42, 0x6f, 0x6c, 0x64, 0x49, 0x74, 0x61, 0x6c, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 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, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x24, 0x0a, 0x08, 0x43, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x38, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x6c, 0x74, 0x54, 0x65, 0x78, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x30, 0x0a, 0x08, 0x4c, 0x69, 0x6e, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x40, 0x0a, 0x0c, 0x41, 0x75, 0x74, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x61, 0x77, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x52, 0x61, 0x77, 0x54, 0x65, 0x78, 0x74, 0x22, 0x23, 0x0a, 0x07, 0x54, 0x61, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x2d, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x2f, 0x0a, 0x15, 0x45, 0x73, 0x63, 0x61, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x22, 0x24, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x29, 0x0a, 0x0d, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2a, 0xf2, 0x02, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x42, 0x52, 0x45, 0x41, 0x4b, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x41, 0x52, 0x41, 0x47, 0x52, 0x41, 0x50, 0x48, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x4f, 0x4e, 0x54, 0x41, 0x4c, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x07, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x41, 0x54, 0x48, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x0a, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x45, 0x58, 0x54, 0x10, 0x0b, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4c, 0x44, 0x10, 0x0c, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x54, 0x41, 0x4c, 0x49, 0x43, 0x10, 0x0d, 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x4f, 0x4c, 0x44, 0x5f, 0x49, 0x54, 0x41, 0x4c, 0x49, 0x43, 0x10, 0x0e, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x0f, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x10, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x11, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x12, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x41, 0x47, 0x10, 0x13, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x52, 0x49, 0x4b, 0x45, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x14, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x53, 0x43, 0x41, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x10, 0x15, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x41, 0x54, 0x48, 0x10, 0x16, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x49, 0x47, 0x48, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x17, 0x32, 0x88, 0x01, 0x0a, 0x0f, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x75, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x73, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x42, 0xac, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x14, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x4d, 0x41, 0x58, 0xaa, 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_api_v2_markdown_service_proto_rawDescOnce sync.Once file_api_v2_markdown_service_proto_rawDescData = file_api_v2_markdown_service_proto_rawDesc ) func file_api_v2_markdown_service_proto_rawDescGZIP() []byte { file_api_v2_markdown_service_proto_rawDescOnce.Do(func() { file_api_v2_markdown_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_v2_markdown_service_proto_rawDescData) }) return file_api_v2_markdown_service_proto_rawDescData } var file_api_v2_markdown_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_api_v2_markdown_service_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_api_v2_markdown_service_proto_goTypes = []interface{}{ (NodeType)(0), // 0: memos.api.v2.NodeType (*ParseMarkdownRequest)(nil), // 1: memos.api.v2.ParseMarkdownRequest (*ParseMarkdownResponse)(nil), // 2: memos.api.v2.ParseMarkdownResponse (*Node)(nil), // 3: memos.api.v2.Node (*LineBreakNode)(nil), // 4: memos.api.v2.LineBreakNode (*ParagraphNode)(nil), // 5: memos.api.v2.ParagraphNode (*CodeBlockNode)(nil), // 6: memos.api.v2.CodeBlockNode (*HeadingNode)(nil), // 7: memos.api.v2.HeadingNode (*HorizontalRuleNode)(nil), // 8: memos.api.v2.HorizontalRuleNode (*BlockquoteNode)(nil), // 9: memos.api.v2.BlockquoteNode (*OrderedListNode)(nil), // 10: memos.api.v2.OrderedListNode (*UnorderedListNode)(nil), // 11: memos.api.v2.UnorderedListNode (*TaskListNode)(nil), // 12: memos.api.v2.TaskListNode (*MathBlockNode)(nil), // 13: memos.api.v2.MathBlockNode (*TextNode)(nil), // 14: memos.api.v2.TextNode (*BoldNode)(nil), // 15: memos.api.v2.BoldNode (*ItalicNode)(nil), // 16: memos.api.v2.ItalicNode (*BoldItalicNode)(nil), // 17: memos.api.v2.BoldItalicNode (*CodeNode)(nil), // 18: memos.api.v2.CodeNode (*ImageNode)(nil), // 19: memos.api.v2.ImageNode (*LinkNode)(nil), // 20: memos.api.v2.LinkNode (*AutoLinkNode)(nil), // 21: memos.api.v2.AutoLinkNode (*TagNode)(nil), // 22: memos.api.v2.TagNode (*StrikethroughNode)(nil), // 23: memos.api.v2.StrikethroughNode (*EscapingCharacterNode)(nil), // 24: memos.api.v2.EscapingCharacterNode (*MathNode)(nil), // 25: memos.api.v2.MathNode (*HighlightNode)(nil), // 26: memos.api.v2.HighlightNode } var file_api_v2_markdown_service_proto_depIdxs = []int32{ 3, // 0: memos.api.v2.ParseMarkdownResponse.nodes:type_name -> memos.api.v2.Node 0, // 1: memos.api.v2.Node.type:type_name -> memos.api.v2.NodeType 4, // 2: memos.api.v2.Node.line_break_node:type_name -> memos.api.v2.LineBreakNode 5, // 3: memos.api.v2.Node.paragraph_node:type_name -> memos.api.v2.ParagraphNode 6, // 4: memos.api.v2.Node.code_block_node:type_name -> memos.api.v2.CodeBlockNode 7, // 5: memos.api.v2.Node.heading_node:type_name -> memos.api.v2.HeadingNode 8, // 6: memos.api.v2.Node.horizontal_rule_node:type_name -> memos.api.v2.HorizontalRuleNode 9, // 7: memos.api.v2.Node.blockquote_node:type_name -> memos.api.v2.BlockquoteNode 10, // 8: memos.api.v2.Node.ordered_list_node:type_name -> memos.api.v2.OrderedListNode 11, // 9: memos.api.v2.Node.unordered_list_node:type_name -> memos.api.v2.UnorderedListNode 12, // 10: memos.api.v2.Node.task_list_node:type_name -> memos.api.v2.TaskListNode 13, // 11: memos.api.v2.Node.math_block_node:type_name -> memos.api.v2.MathBlockNode 14, // 12: memos.api.v2.Node.text_node:type_name -> memos.api.v2.TextNode 15, // 13: memos.api.v2.Node.bold_node:type_name -> memos.api.v2.BoldNode 16, // 14: memos.api.v2.Node.italic_node:type_name -> memos.api.v2.ItalicNode 17, // 15: memos.api.v2.Node.bold_italic_node:type_name -> memos.api.v2.BoldItalicNode 18, // 16: memos.api.v2.Node.code_node:type_name -> memos.api.v2.CodeNode 19, // 17: memos.api.v2.Node.image_node:type_name -> memos.api.v2.ImageNode 20, // 18: memos.api.v2.Node.link_node:type_name -> memos.api.v2.LinkNode 21, // 19: memos.api.v2.Node.auto_link_node:type_name -> memos.api.v2.AutoLinkNode 22, // 20: memos.api.v2.Node.tag_node:type_name -> memos.api.v2.TagNode 23, // 21: memos.api.v2.Node.strikethrough_node:type_name -> memos.api.v2.StrikethroughNode 24, // 22: memos.api.v2.Node.escaping_character_node:type_name -> memos.api.v2.EscapingCharacterNode 25, // 23: memos.api.v2.Node.math_node:type_name -> memos.api.v2.MathNode 26, // 24: memos.api.v2.Node.highlight_node:type_name -> memos.api.v2.HighlightNode 3, // 25: memos.api.v2.ParagraphNode.children:type_name -> memos.api.v2.Node 3, // 26: memos.api.v2.HeadingNode.children:type_name -> memos.api.v2.Node 3, // 27: memos.api.v2.BlockquoteNode.children:type_name -> memos.api.v2.Node 3, // 28: memos.api.v2.OrderedListNode.children:type_name -> memos.api.v2.Node 3, // 29: memos.api.v2.UnorderedListNode.children:type_name -> memos.api.v2.Node 3, // 30: memos.api.v2.TaskListNode.children:type_name -> memos.api.v2.Node 3, // 31: memos.api.v2.BoldNode.children:type_name -> memos.api.v2.Node 1, // 32: memos.api.v2.MarkdownService.ParseMarkdown:input_type -> memos.api.v2.ParseMarkdownRequest 2, // 33: memos.api.v2.MarkdownService.ParseMarkdown:output_type -> memos.api.v2.ParseMarkdownResponse 33, // [33:34] is the sub-list for method output_type 32, // [32:33] is the sub-list for method input_type 32, // [32:32] is the sub-list for extension type_name 32, // [32:32] is the sub-list for extension extendee 0, // [0:32] is the sub-list for field type_name } func init() { file_api_v2_markdown_service_proto_init() } func file_api_v2_markdown_service_proto_init() { if File_api_v2_markdown_service_proto != nil { return } if !protoimpl.UnsafeEnabled { file_api_v2_markdown_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ParseMarkdownRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ParseMarkdownResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Node); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LineBreakNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ParagraphNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CodeBlockNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeadingNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HorizontalRuleNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BlockquoteNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderedListNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UnorderedListNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TaskListNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MathBlockNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TextNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BoldNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItalicNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BoldItalicNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CodeNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ImageNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LinkNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AutoLinkNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TagNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StrikethroughNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EscapingCharacterNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MathNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_api_v2_markdown_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HighlightNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_api_v2_markdown_service_proto_msgTypes[2].OneofWrappers = []interface{}{ (*Node_LineBreakNode)(nil), (*Node_ParagraphNode)(nil), (*Node_CodeBlockNode)(nil), (*Node_HeadingNode)(nil), (*Node_HorizontalRuleNode)(nil), (*Node_BlockquoteNode)(nil), (*Node_OrderedListNode)(nil), (*Node_UnorderedListNode)(nil), (*Node_TaskListNode)(nil), (*Node_MathBlockNode)(nil), (*Node_TextNode)(nil), (*Node_BoldNode)(nil), (*Node_ItalicNode)(nil), (*Node_BoldItalicNode)(nil), (*Node_CodeNode)(nil), (*Node_ImageNode)(nil), (*Node_LinkNode)(nil), (*Node_AutoLinkNode)(nil), (*Node_TagNode)(nil), (*Node_StrikethroughNode)(nil), (*Node_EscapingCharacterNode)(nil), (*Node_MathNode)(nil), (*Node_HighlightNode)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_api_v2_markdown_service_proto_rawDesc, NumEnums: 1, NumMessages: 26, NumExtensions: 0, NumServices: 1, }, GoTypes: file_api_v2_markdown_service_proto_goTypes, DependencyIndexes: file_api_v2_markdown_service_proto_depIdxs, EnumInfos: file_api_v2_markdown_service_proto_enumTypes, MessageInfos: file_api_v2_markdown_service_proto_msgTypes, }.Build() File_api_v2_markdown_service_proto = out.File file_api_v2_markdown_service_proto_rawDesc = nil file_api_v2_markdown_service_proto_goTypes = nil file_api_v2_markdown_service_proto_depIdxs = nil }