binarylog.pb.go 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900
  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // source: grpc/binarylog/grpc_binarylog_v1/binarylog.proto
  3. package grpc_binarylog_v1 // import "google.golang.org/grpc/binarylog/grpc_binarylog_v1"
  4. import proto "github.com/golang/protobuf/proto"
  5. import fmt "fmt"
  6. import math "math"
  7. import duration "github.com/golang/protobuf/ptypes/duration"
  8. import timestamp "github.com/golang/protobuf/ptypes/timestamp"
  9. // Reference imports to suppress errors if they are not otherwise used.
  10. var _ = proto.Marshal
  11. var _ = fmt.Errorf
  12. var _ = math.Inf
  13. // This is a compile-time assertion to ensure that this generated file
  14. // is compatible with the proto package it is being compiled against.
  15. // A compilation error at this line likely means your copy of the
  16. // proto package needs to be updated.
  17. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  18. // Enumerates the type of event
  19. // Note the terminology is different from the RPC semantics
  20. // definition, but the same meaning is expressed here.
  21. type GrpcLogEntry_EventType int32
  22. const (
  23. GrpcLogEntry_EVENT_TYPE_UNKNOWN GrpcLogEntry_EventType = 0
  24. // Header sent from client to server
  25. GrpcLogEntry_EVENT_TYPE_CLIENT_HEADER GrpcLogEntry_EventType = 1
  26. // Header sent from server to client
  27. GrpcLogEntry_EVENT_TYPE_SERVER_HEADER GrpcLogEntry_EventType = 2
  28. // Message sent from client to server
  29. GrpcLogEntry_EVENT_TYPE_CLIENT_MESSAGE GrpcLogEntry_EventType = 3
  30. // Message sent from server to client
  31. GrpcLogEntry_EVENT_TYPE_SERVER_MESSAGE GrpcLogEntry_EventType = 4
  32. // A signal that client is done sending
  33. GrpcLogEntry_EVENT_TYPE_CLIENT_HALF_CLOSE GrpcLogEntry_EventType = 5
  34. // Trailer indicates the end of the RPC.
  35. // On client side, this event means a trailer was either received
  36. // from the network or the gRPC library locally generated a status
  37. // to inform the application about a failure.
  38. // On server side, this event means the server application requested
  39. // to send a trailer. Note: EVENT_TYPE_CANCEL may still arrive after
  40. // this due to races on server side.
  41. GrpcLogEntry_EVENT_TYPE_SERVER_TRAILER GrpcLogEntry_EventType = 6
  42. // A signal that the RPC is cancelled. On client side, this
  43. // indicates the client application requests a cancellation.
  44. // On server side, this indicates that cancellation was detected.
  45. // Note: This marks the end of the RPC. Events may arrive after
  46. // this due to races. For example, on client side a trailer
  47. // may arrive even though the application requested to cancel the RPC.
  48. GrpcLogEntry_EVENT_TYPE_CANCEL GrpcLogEntry_EventType = 7
  49. )
  50. var GrpcLogEntry_EventType_name = map[int32]string{
  51. 0: "EVENT_TYPE_UNKNOWN",
  52. 1: "EVENT_TYPE_CLIENT_HEADER",
  53. 2: "EVENT_TYPE_SERVER_HEADER",
  54. 3: "EVENT_TYPE_CLIENT_MESSAGE",
  55. 4: "EVENT_TYPE_SERVER_MESSAGE",
  56. 5: "EVENT_TYPE_CLIENT_HALF_CLOSE",
  57. 6: "EVENT_TYPE_SERVER_TRAILER",
  58. 7: "EVENT_TYPE_CANCEL",
  59. }
  60. var GrpcLogEntry_EventType_value = map[string]int32{
  61. "EVENT_TYPE_UNKNOWN": 0,
  62. "EVENT_TYPE_CLIENT_HEADER": 1,
  63. "EVENT_TYPE_SERVER_HEADER": 2,
  64. "EVENT_TYPE_CLIENT_MESSAGE": 3,
  65. "EVENT_TYPE_SERVER_MESSAGE": 4,
  66. "EVENT_TYPE_CLIENT_HALF_CLOSE": 5,
  67. "EVENT_TYPE_SERVER_TRAILER": 6,
  68. "EVENT_TYPE_CANCEL": 7,
  69. }
  70. func (x GrpcLogEntry_EventType) String() string {
  71. return proto.EnumName(GrpcLogEntry_EventType_name, int32(x))
  72. }
  73. func (GrpcLogEntry_EventType) EnumDescriptor() ([]byte, []int) {
  74. return fileDescriptor_binarylog_264c8c9c551ce911, []int{0, 0}
  75. }
  76. // Enumerates the entity that generates the log entry
  77. type GrpcLogEntry_Logger int32
  78. const (
  79. GrpcLogEntry_LOGGER_UNKNOWN GrpcLogEntry_Logger = 0
  80. GrpcLogEntry_LOGGER_CLIENT GrpcLogEntry_Logger = 1
  81. GrpcLogEntry_LOGGER_SERVER GrpcLogEntry_Logger = 2
  82. )
  83. var GrpcLogEntry_Logger_name = map[int32]string{
  84. 0: "LOGGER_UNKNOWN",
  85. 1: "LOGGER_CLIENT",
  86. 2: "LOGGER_SERVER",
  87. }
  88. var GrpcLogEntry_Logger_value = map[string]int32{
  89. "LOGGER_UNKNOWN": 0,
  90. "LOGGER_CLIENT": 1,
  91. "LOGGER_SERVER": 2,
  92. }
  93. func (x GrpcLogEntry_Logger) String() string {
  94. return proto.EnumName(GrpcLogEntry_Logger_name, int32(x))
  95. }
  96. func (GrpcLogEntry_Logger) EnumDescriptor() ([]byte, []int) {
  97. return fileDescriptor_binarylog_264c8c9c551ce911, []int{0, 1}
  98. }
  99. type Address_Type int32
  100. const (
  101. Address_TYPE_UNKNOWN Address_Type = 0
  102. // address is in 1.2.3.4 form
  103. Address_TYPE_IPV4 Address_Type = 1
  104. // address is in IPv6 canonical form (RFC5952 section 4)
  105. // The scope is NOT included in the address string.
  106. Address_TYPE_IPV6 Address_Type = 2
  107. // address is UDS string
  108. Address_TYPE_UNIX Address_Type = 3
  109. )
  110. var Address_Type_name = map[int32]string{
  111. 0: "TYPE_UNKNOWN",
  112. 1: "TYPE_IPV4",
  113. 2: "TYPE_IPV6",
  114. 3: "TYPE_UNIX",
  115. }
  116. var Address_Type_value = map[string]int32{
  117. "TYPE_UNKNOWN": 0,
  118. "TYPE_IPV4": 1,
  119. "TYPE_IPV6": 2,
  120. "TYPE_UNIX": 3,
  121. }
  122. func (x Address_Type) String() string {
  123. return proto.EnumName(Address_Type_name, int32(x))
  124. }
  125. func (Address_Type) EnumDescriptor() ([]byte, []int) {
  126. return fileDescriptor_binarylog_264c8c9c551ce911, []int{7, 0}
  127. }
  128. // Log entry we store in binary logs
  129. type GrpcLogEntry struct {
  130. // The timestamp of the binary log message
  131. Timestamp *timestamp.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
  132. // Uniquely identifies a call. The value must not be 0 in order to disambiguate
  133. // from an unset value.
  134. // Each call may have several log entries, they will all have the same call_id.
  135. // Nothing is guaranteed about their value other than they are unique across
  136. // different RPCs in the same gRPC process.
  137. CallId uint64 `protobuf:"varint,2,opt,name=call_id,json=callId,proto3" json:"call_id,omitempty"`
  138. // The entry sequence id for this call. The first GrpcLogEntry has a
  139. // value of 1, to disambiguate from an unset value. The purpose of
  140. // this field is to detect missing entries in environments where
  141. // durability or ordering is not guaranteed.
  142. SequenceIdWithinCall uint64 `protobuf:"varint,3,opt,name=sequence_id_within_call,json=sequenceIdWithinCall,proto3" json:"sequence_id_within_call,omitempty"`
  143. Type GrpcLogEntry_EventType `protobuf:"varint,4,opt,name=type,proto3,enum=grpc.binarylog.v1.GrpcLogEntry_EventType" json:"type,omitempty"`
  144. Logger GrpcLogEntry_Logger `protobuf:"varint,5,opt,name=logger,proto3,enum=grpc.binarylog.v1.GrpcLogEntry_Logger" json:"logger,omitempty"`
  145. // The logger uses one of the following fields to record the payload,
  146. // according to the type of the log entry.
  147. //
  148. // Types that are valid to be assigned to Payload:
  149. // *GrpcLogEntry_ClientHeader
  150. // *GrpcLogEntry_ServerHeader
  151. // *GrpcLogEntry_Message
  152. // *GrpcLogEntry_Trailer
  153. Payload isGrpcLogEntry_Payload `protobuf_oneof:"payload"`
  154. // true if payload does not represent the full message or metadata.
  155. PayloadTruncated bool `protobuf:"varint,10,opt,name=payload_truncated,json=payloadTruncated,proto3" json:"payload_truncated,omitempty"`
  156. // Peer address information, will only be recorded on the first
  157. // incoming event. On client side, peer is logged on
  158. // EVENT_TYPE_SERVER_HEADER normally or EVENT_TYPE_SERVER_TRAILER in
  159. // the case of trailers-only. On server side, peer is always
  160. // logged on EVENT_TYPE_CLIENT_HEADER.
  161. Peer *Address `protobuf:"bytes,11,opt,name=peer,proto3" json:"peer,omitempty"`
  162. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  163. XXX_unrecognized []byte `json:"-"`
  164. XXX_sizecache int32 `json:"-"`
  165. }
  166. func (m *GrpcLogEntry) Reset() { *m = GrpcLogEntry{} }
  167. func (m *GrpcLogEntry) String() string { return proto.CompactTextString(m) }
  168. func (*GrpcLogEntry) ProtoMessage() {}
  169. func (*GrpcLogEntry) Descriptor() ([]byte, []int) {
  170. return fileDescriptor_binarylog_264c8c9c551ce911, []int{0}
  171. }
  172. func (m *GrpcLogEntry) XXX_Unmarshal(b []byte) error {
  173. return xxx_messageInfo_GrpcLogEntry.Unmarshal(m, b)
  174. }
  175. func (m *GrpcLogEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  176. return xxx_messageInfo_GrpcLogEntry.Marshal(b, m, deterministic)
  177. }
  178. func (dst *GrpcLogEntry) XXX_Merge(src proto.Message) {
  179. xxx_messageInfo_GrpcLogEntry.Merge(dst, src)
  180. }
  181. func (m *GrpcLogEntry) XXX_Size() int {
  182. return xxx_messageInfo_GrpcLogEntry.Size(m)
  183. }
  184. func (m *GrpcLogEntry) XXX_DiscardUnknown() {
  185. xxx_messageInfo_GrpcLogEntry.DiscardUnknown(m)
  186. }
  187. var xxx_messageInfo_GrpcLogEntry proto.InternalMessageInfo
  188. func (m *GrpcLogEntry) GetTimestamp() *timestamp.Timestamp {
  189. if m != nil {
  190. return m.Timestamp
  191. }
  192. return nil
  193. }
  194. func (m *GrpcLogEntry) GetCallId() uint64 {
  195. if m != nil {
  196. return m.CallId
  197. }
  198. return 0
  199. }
  200. func (m *GrpcLogEntry) GetSequenceIdWithinCall() uint64 {
  201. if m != nil {
  202. return m.SequenceIdWithinCall
  203. }
  204. return 0
  205. }
  206. func (m *GrpcLogEntry) GetType() GrpcLogEntry_EventType {
  207. if m != nil {
  208. return m.Type
  209. }
  210. return GrpcLogEntry_EVENT_TYPE_UNKNOWN
  211. }
  212. func (m *GrpcLogEntry) GetLogger() GrpcLogEntry_Logger {
  213. if m != nil {
  214. return m.Logger
  215. }
  216. return GrpcLogEntry_LOGGER_UNKNOWN
  217. }
  218. type isGrpcLogEntry_Payload interface {
  219. isGrpcLogEntry_Payload()
  220. }
  221. type GrpcLogEntry_ClientHeader struct {
  222. ClientHeader *ClientHeader `protobuf:"bytes,6,opt,name=client_header,json=clientHeader,proto3,oneof"`
  223. }
  224. type GrpcLogEntry_ServerHeader struct {
  225. ServerHeader *ServerHeader `protobuf:"bytes,7,opt,name=server_header,json=serverHeader,proto3,oneof"`
  226. }
  227. type GrpcLogEntry_Message struct {
  228. Message *Message `protobuf:"bytes,8,opt,name=message,proto3,oneof"`
  229. }
  230. type GrpcLogEntry_Trailer struct {
  231. Trailer *Trailer `protobuf:"bytes,9,opt,name=trailer,proto3,oneof"`
  232. }
  233. func (*GrpcLogEntry_ClientHeader) isGrpcLogEntry_Payload() {}
  234. func (*GrpcLogEntry_ServerHeader) isGrpcLogEntry_Payload() {}
  235. func (*GrpcLogEntry_Message) isGrpcLogEntry_Payload() {}
  236. func (*GrpcLogEntry_Trailer) isGrpcLogEntry_Payload() {}
  237. func (m *GrpcLogEntry) GetPayload() isGrpcLogEntry_Payload {
  238. if m != nil {
  239. return m.Payload
  240. }
  241. return nil
  242. }
  243. func (m *GrpcLogEntry) GetClientHeader() *ClientHeader {
  244. if x, ok := m.GetPayload().(*GrpcLogEntry_ClientHeader); ok {
  245. return x.ClientHeader
  246. }
  247. return nil
  248. }
  249. func (m *GrpcLogEntry) GetServerHeader() *ServerHeader {
  250. if x, ok := m.GetPayload().(*GrpcLogEntry_ServerHeader); ok {
  251. return x.ServerHeader
  252. }
  253. return nil
  254. }
  255. func (m *GrpcLogEntry) GetMessage() *Message {
  256. if x, ok := m.GetPayload().(*GrpcLogEntry_Message); ok {
  257. return x.Message
  258. }
  259. return nil
  260. }
  261. func (m *GrpcLogEntry) GetTrailer() *Trailer {
  262. if x, ok := m.GetPayload().(*GrpcLogEntry_Trailer); ok {
  263. return x.Trailer
  264. }
  265. return nil
  266. }
  267. func (m *GrpcLogEntry) GetPayloadTruncated() bool {
  268. if m != nil {
  269. return m.PayloadTruncated
  270. }
  271. return false
  272. }
  273. func (m *GrpcLogEntry) GetPeer() *Address {
  274. if m != nil {
  275. return m.Peer
  276. }
  277. return nil
  278. }
  279. // XXX_OneofFuncs is for the internal use of the proto package.
  280. func (*GrpcLogEntry) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  281. return _GrpcLogEntry_OneofMarshaler, _GrpcLogEntry_OneofUnmarshaler, _GrpcLogEntry_OneofSizer, []interface{}{
  282. (*GrpcLogEntry_ClientHeader)(nil),
  283. (*GrpcLogEntry_ServerHeader)(nil),
  284. (*GrpcLogEntry_Message)(nil),
  285. (*GrpcLogEntry_Trailer)(nil),
  286. }
  287. }
  288. func _GrpcLogEntry_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  289. m := msg.(*GrpcLogEntry)
  290. // payload
  291. switch x := m.Payload.(type) {
  292. case *GrpcLogEntry_ClientHeader:
  293. b.EncodeVarint(6<<3 | proto.WireBytes)
  294. if err := b.EncodeMessage(x.ClientHeader); err != nil {
  295. return err
  296. }
  297. case *GrpcLogEntry_ServerHeader:
  298. b.EncodeVarint(7<<3 | proto.WireBytes)
  299. if err := b.EncodeMessage(x.ServerHeader); err != nil {
  300. return err
  301. }
  302. case *GrpcLogEntry_Message:
  303. b.EncodeVarint(8<<3 | proto.WireBytes)
  304. if err := b.EncodeMessage(x.Message); err != nil {
  305. return err
  306. }
  307. case *GrpcLogEntry_Trailer:
  308. b.EncodeVarint(9<<3 | proto.WireBytes)
  309. if err := b.EncodeMessage(x.Trailer); err != nil {
  310. return err
  311. }
  312. case nil:
  313. default:
  314. return fmt.Errorf("GrpcLogEntry.Payload has unexpected type %T", x)
  315. }
  316. return nil
  317. }
  318. func _GrpcLogEntry_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  319. m := msg.(*GrpcLogEntry)
  320. switch tag {
  321. case 6: // payload.client_header
  322. if wire != proto.WireBytes {
  323. return true, proto.ErrInternalBadWireType
  324. }
  325. msg := new(ClientHeader)
  326. err := b.DecodeMessage(msg)
  327. m.Payload = &GrpcLogEntry_ClientHeader{msg}
  328. return true, err
  329. case 7: // payload.server_header
  330. if wire != proto.WireBytes {
  331. return true, proto.ErrInternalBadWireType
  332. }
  333. msg := new(ServerHeader)
  334. err := b.DecodeMessage(msg)
  335. m.Payload = &GrpcLogEntry_ServerHeader{msg}
  336. return true, err
  337. case 8: // payload.message
  338. if wire != proto.WireBytes {
  339. return true, proto.ErrInternalBadWireType
  340. }
  341. msg := new(Message)
  342. err := b.DecodeMessage(msg)
  343. m.Payload = &GrpcLogEntry_Message{msg}
  344. return true, err
  345. case 9: // payload.trailer
  346. if wire != proto.WireBytes {
  347. return true, proto.ErrInternalBadWireType
  348. }
  349. msg := new(Trailer)
  350. err := b.DecodeMessage(msg)
  351. m.Payload = &GrpcLogEntry_Trailer{msg}
  352. return true, err
  353. default:
  354. return false, nil
  355. }
  356. }
  357. func _GrpcLogEntry_OneofSizer(msg proto.Message) (n int) {
  358. m := msg.(*GrpcLogEntry)
  359. // payload
  360. switch x := m.Payload.(type) {
  361. case *GrpcLogEntry_ClientHeader:
  362. s := proto.Size(x.ClientHeader)
  363. n += 1 // tag and wire
  364. n += proto.SizeVarint(uint64(s))
  365. n += s
  366. case *GrpcLogEntry_ServerHeader:
  367. s := proto.Size(x.ServerHeader)
  368. n += 1 // tag and wire
  369. n += proto.SizeVarint(uint64(s))
  370. n += s
  371. case *GrpcLogEntry_Message:
  372. s := proto.Size(x.Message)
  373. n += 1 // tag and wire
  374. n += proto.SizeVarint(uint64(s))
  375. n += s
  376. case *GrpcLogEntry_Trailer:
  377. s := proto.Size(x.Trailer)
  378. n += 1 // tag and wire
  379. n += proto.SizeVarint(uint64(s))
  380. n += s
  381. case nil:
  382. default:
  383. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  384. }
  385. return n
  386. }
  387. type ClientHeader struct {
  388. // This contains only the metadata from the application.
  389. Metadata *Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
  390. // The name of the RPC method, which looks something like:
  391. // /<service>/<method>
  392. // Note the leading "/" character.
  393. MethodName string `protobuf:"bytes,2,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"`
  394. // A single process may be used to run multiple virtual
  395. // servers with different identities.
  396. // The authority is the name of such a server identitiy.
  397. // It is typically a portion of the URI in the form of
  398. // <host> or <host>:<port> .
  399. Authority string `protobuf:"bytes,3,opt,name=authority,proto3" json:"authority,omitempty"`
  400. // the RPC timeout
  401. Timeout *duration.Duration `protobuf:"bytes,4,opt,name=timeout,proto3" json:"timeout,omitempty"`
  402. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  403. XXX_unrecognized []byte `json:"-"`
  404. XXX_sizecache int32 `json:"-"`
  405. }
  406. func (m *ClientHeader) Reset() { *m = ClientHeader{} }
  407. func (m *ClientHeader) String() string { return proto.CompactTextString(m) }
  408. func (*ClientHeader) ProtoMessage() {}
  409. func (*ClientHeader) Descriptor() ([]byte, []int) {
  410. return fileDescriptor_binarylog_264c8c9c551ce911, []int{1}
  411. }
  412. func (m *ClientHeader) XXX_Unmarshal(b []byte) error {
  413. return xxx_messageInfo_ClientHeader.Unmarshal(m, b)
  414. }
  415. func (m *ClientHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  416. return xxx_messageInfo_ClientHeader.Marshal(b, m, deterministic)
  417. }
  418. func (dst *ClientHeader) XXX_Merge(src proto.Message) {
  419. xxx_messageInfo_ClientHeader.Merge(dst, src)
  420. }
  421. func (m *ClientHeader) XXX_Size() int {
  422. return xxx_messageInfo_ClientHeader.Size(m)
  423. }
  424. func (m *ClientHeader) XXX_DiscardUnknown() {
  425. xxx_messageInfo_ClientHeader.DiscardUnknown(m)
  426. }
  427. var xxx_messageInfo_ClientHeader proto.InternalMessageInfo
  428. func (m *ClientHeader) GetMetadata() *Metadata {
  429. if m != nil {
  430. return m.Metadata
  431. }
  432. return nil
  433. }
  434. func (m *ClientHeader) GetMethodName() string {
  435. if m != nil {
  436. return m.MethodName
  437. }
  438. return ""
  439. }
  440. func (m *ClientHeader) GetAuthority() string {
  441. if m != nil {
  442. return m.Authority
  443. }
  444. return ""
  445. }
  446. func (m *ClientHeader) GetTimeout() *duration.Duration {
  447. if m != nil {
  448. return m.Timeout
  449. }
  450. return nil
  451. }
  452. type ServerHeader struct {
  453. // This contains only the metadata from the application.
  454. Metadata *Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
  455. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  456. XXX_unrecognized []byte `json:"-"`
  457. XXX_sizecache int32 `json:"-"`
  458. }
  459. func (m *ServerHeader) Reset() { *m = ServerHeader{} }
  460. func (m *ServerHeader) String() string { return proto.CompactTextString(m) }
  461. func (*ServerHeader) ProtoMessage() {}
  462. func (*ServerHeader) Descriptor() ([]byte, []int) {
  463. return fileDescriptor_binarylog_264c8c9c551ce911, []int{2}
  464. }
  465. func (m *ServerHeader) XXX_Unmarshal(b []byte) error {
  466. return xxx_messageInfo_ServerHeader.Unmarshal(m, b)
  467. }
  468. func (m *ServerHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  469. return xxx_messageInfo_ServerHeader.Marshal(b, m, deterministic)
  470. }
  471. func (dst *ServerHeader) XXX_Merge(src proto.Message) {
  472. xxx_messageInfo_ServerHeader.Merge(dst, src)
  473. }
  474. func (m *ServerHeader) XXX_Size() int {
  475. return xxx_messageInfo_ServerHeader.Size(m)
  476. }
  477. func (m *ServerHeader) XXX_DiscardUnknown() {
  478. xxx_messageInfo_ServerHeader.DiscardUnknown(m)
  479. }
  480. var xxx_messageInfo_ServerHeader proto.InternalMessageInfo
  481. func (m *ServerHeader) GetMetadata() *Metadata {
  482. if m != nil {
  483. return m.Metadata
  484. }
  485. return nil
  486. }
  487. type Trailer struct {
  488. // This contains only the metadata from the application.
  489. Metadata *Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
  490. // The gRPC status code.
  491. StatusCode uint32 `protobuf:"varint,2,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"`
  492. // An original status message before any transport specific
  493. // encoding.
  494. StatusMessage string `protobuf:"bytes,3,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
  495. // The value of the 'grpc-status-details-bin' metadata key. If
  496. // present, this is always an encoded 'google.rpc.Status' message.
  497. StatusDetails []byte `protobuf:"bytes,4,opt,name=status_details,json=statusDetails,proto3" json:"status_details,omitempty"`
  498. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  499. XXX_unrecognized []byte `json:"-"`
  500. XXX_sizecache int32 `json:"-"`
  501. }
  502. func (m *Trailer) Reset() { *m = Trailer{} }
  503. func (m *Trailer) String() string { return proto.CompactTextString(m) }
  504. func (*Trailer) ProtoMessage() {}
  505. func (*Trailer) Descriptor() ([]byte, []int) {
  506. return fileDescriptor_binarylog_264c8c9c551ce911, []int{3}
  507. }
  508. func (m *Trailer) XXX_Unmarshal(b []byte) error {
  509. return xxx_messageInfo_Trailer.Unmarshal(m, b)
  510. }
  511. func (m *Trailer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  512. return xxx_messageInfo_Trailer.Marshal(b, m, deterministic)
  513. }
  514. func (dst *Trailer) XXX_Merge(src proto.Message) {
  515. xxx_messageInfo_Trailer.Merge(dst, src)
  516. }
  517. func (m *Trailer) XXX_Size() int {
  518. return xxx_messageInfo_Trailer.Size(m)
  519. }
  520. func (m *Trailer) XXX_DiscardUnknown() {
  521. xxx_messageInfo_Trailer.DiscardUnknown(m)
  522. }
  523. var xxx_messageInfo_Trailer proto.InternalMessageInfo
  524. func (m *Trailer) GetMetadata() *Metadata {
  525. if m != nil {
  526. return m.Metadata
  527. }
  528. return nil
  529. }
  530. func (m *Trailer) GetStatusCode() uint32 {
  531. if m != nil {
  532. return m.StatusCode
  533. }
  534. return 0
  535. }
  536. func (m *Trailer) GetStatusMessage() string {
  537. if m != nil {
  538. return m.StatusMessage
  539. }
  540. return ""
  541. }
  542. func (m *Trailer) GetStatusDetails() []byte {
  543. if m != nil {
  544. return m.StatusDetails
  545. }
  546. return nil
  547. }
  548. // Message payload, used by CLIENT_MESSAGE and SERVER_MESSAGE
  549. type Message struct {
  550. // Length of the message. It may not be the same as the length of the
  551. // data field, as the logging payload can be truncated or omitted.
  552. Length uint32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
  553. // May be truncated or omitted.
  554. Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
  555. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  556. XXX_unrecognized []byte `json:"-"`
  557. XXX_sizecache int32 `json:"-"`
  558. }
  559. func (m *Message) Reset() { *m = Message{} }
  560. func (m *Message) String() string { return proto.CompactTextString(m) }
  561. func (*Message) ProtoMessage() {}
  562. func (*Message) Descriptor() ([]byte, []int) {
  563. return fileDescriptor_binarylog_264c8c9c551ce911, []int{4}
  564. }
  565. func (m *Message) XXX_Unmarshal(b []byte) error {
  566. return xxx_messageInfo_Message.Unmarshal(m, b)
  567. }
  568. func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  569. return xxx_messageInfo_Message.Marshal(b, m, deterministic)
  570. }
  571. func (dst *Message) XXX_Merge(src proto.Message) {
  572. xxx_messageInfo_Message.Merge(dst, src)
  573. }
  574. func (m *Message) XXX_Size() int {
  575. return xxx_messageInfo_Message.Size(m)
  576. }
  577. func (m *Message) XXX_DiscardUnknown() {
  578. xxx_messageInfo_Message.DiscardUnknown(m)
  579. }
  580. var xxx_messageInfo_Message proto.InternalMessageInfo
  581. func (m *Message) GetLength() uint32 {
  582. if m != nil {
  583. return m.Length
  584. }
  585. return 0
  586. }
  587. func (m *Message) GetData() []byte {
  588. if m != nil {
  589. return m.Data
  590. }
  591. return nil
  592. }
  593. // A list of metadata pairs, used in the payload of client header,
  594. // server header, and server trailer.
  595. // Implementations may omit some entries to honor the header limits
  596. // of GRPC_BINARY_LOG_CONFIG.
  597. //
  598. // Header keys added by gRPC are omitted. To be more specific,
  599. // implementations will not log the following entries, and this is
  600. // not to be treated as a truncation:
  601. // - entries handled by grpc that are not user visible, such as those
  602. // that begin with 'grpc-' (with exception of grpc-trace-bin)
  603. // or keys like 'lb-token'
  604. // - transport specific entries, including but not limited to:
  605. // ':path', ':authority', 'content-encoding', 'user-agent', 'te', etc
  606. // - entries added for call credentials
  607. //
  608. // Implementations must always log grpc-trace-bin if it is present.
  609. // Practically speaking it will only be visible on server side because
  610. // grpc-trace-bin is managed by low level client side mechanisms
  611. // inaccessible from the application level. On server side, the
  612. // header is just a normal metadata key.
  613. // The pair will not count towards the size limit.
  614. type Metadata struct {
  615. Entry []*MetadataEntry `protobuf:"bytes,1,rep,name=entry,proto3" json:"entry,omitempty"`
  616. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  617. XXX_unrecognized []byte `json:"-"`
  618. XXX_sizecache int32 `json:"-"`
  619. }
  620. func (m *Metadata) Reset() { *m = Metadata{} }
  621. func (m *Metadata) String() string { return proto.CompactTextString(m) }
  622. func (*Metadata) ProtoMessage() {}
  623. func (*Metadata) Descriptor() ([]byte, []int) {
  624. return fileDescriptor_binarylog_264c8c9c551ce911, []int{5}
  625. }
  626. func (m *Metadata) XXX_Unmarshal(b []byte) error {
  627. return xxx_messageInfo_Metadata.Unmarshal(m, b)
  628. }
  629. func (m *Metadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  630. return xxx_messageInfo_Metadata.Marshal(b, m, deterministic)
  631. }
  632. func (dst *Metadata) XXX_Merge(src proto.Message) {
  633. xxx_messageInfo_Metadata.Merge(dst, src)
  634. }
  635. func (m *Metadata) XXX_Size() int {
  636. return xxx_messageInfo_Metadata.Size(m)
  637. }
  638. func (m *Metadata) XXX_DiscardUnknown() {
  639. xxx_messageInfo_Metadata.DiscardUnknown(m)
  640. }
  641. var xxx_messageInfo_Metadata proto.InternalMessageInfo
  642. func (m *Metadata) GetEntry() []*MetadataEntry {
  643. if m != nil {
  644. return m.Entry
  645. }
  646. return nil
  647. }
  648. // A metadata key value pair
  649. type MetadataEntry struct {
  650. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
  651. Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  652. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  653. XXX_unrecognized []byte `json:"-"`
  654. XXX_sizecache int32 `json:"-"`
  655. }
  656. func (m *MetadataEntry) Reset() { *m = MetadataEntry{} }
  657. func (m *MetadataEntry) String() string { return proto.CompactTextString(m) }
  658. func (*MetadataEntry) ProtoMessage() {}
  659. func (*MetadataEntry) Descriptor() ([]byte, []int) {
  660. return fileDescriptor_binarylog_264c8c9c551ce911, []int{6}
  661. }
  662. func (m *MetadataEntry) XXX_Unmarshal(b []byte) error {
  663. return xxx_messageInfo_MetadataEntry.Unmarshal(m, b)
  664. }
  665. func (m *MetadataEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  666. return xxx_messageInfo_MetadataEntry.Marshal(b, m, deterministic)
  667. }
  668. func (dst *MetadataEntry) XXX_Merge(src proto.Message) {
  669. xxx_messageInfo_MetadataEntry.Merge(dst, src)
  670. }
  671. func (m *MetadataEntry) XXX_Size() int {
  672. return xxx_messageInfo_MetadataEntry.Size(m)
  673. }
  674. func (m *MetadataEntry) XXX_DiscardUnknown() {
  675. xxx_messageInfo_MetadataEntry.DiscardUnknown(m)
  676. }
  677. var xxx_messageInfo_MetadataEntry proto.InternalMessageInfo
  678. func (m *MetadataEntry) GetKey() string {
  679. if m != nil {
  680. return m.Key
  681. }
  682. return ""
  683. }
  684. func (m *MetadataEntry) GetValue() []byte {
  685. if m != nil {
  686. return m.Value
  687. }
  688. return nil
  689. }
  690. // Address information
  691. type Address struct {
  692. Type Address_Type `protobuf:"varint,1,opt,name=type,proto3,enum=grpc.binarylog.v1.Address_Type" json:"type,omitempty"`
  693. Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
  694. // only for TYPE_IPV4 and TYPE_IPV6
  695. IpPort uint32 `protobuf:"varint,3,opt,name=ip_port,json=ipPort,proto3" json:"ip_port,omitempty"`
  696. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  697. XXX_unrecognized []byte `json:"-"`
  698. XXX_sizecache int32 `json:"-"`
  699. }
  700. func (m *Address) Reset() { *m = Address{} }
  701. func (m *Address) String() string { return proto.CompactTextString(m) }
  702. func (*Address) ProtoMessage() {}
  703. func (*Address) Descriptor() ([]byte, []int) {
  704. return fileDescriptor_binarylog_264c8c9c551ce911, []int{7}
  705. }
  706. func (m *Address) XXX_Unmarshal(b []byte) error {
  707. return xxx_messageInfo_Address.Unmarshal(m, b)
  708. }
  709. func (m *Address) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  710. return xxx_messageInfo_Address.Marshal(b, m, deterministic)
  711. }
  712. func (dst *Address) XXX_Merge(src proto.Message) {
  713. xxx_messageInfo_Address.Merge(dst, src)
  714. }
  715. func (m *Address) XXX_Size() int {
  716. return xxx_messageInfo_Address.Size(m)
  717. }
  718. func (m *Address) XXX_DiscardUnknown() {
  719. xxx_messageInfo_Address.DiscardUnknown(m)
  720. }
  721. var xxx_messageInfo_Address proto.InternalMessageInfo
  722. func (m *Address) GetType() Address_Type {
  723. if m != nil {
  724. return m.Type
  725. }
  726. return Address_TYPE_UNKNOWN
  727. }
  728. func (m *Address) GetAddress() string {
  729. if m != nil {
  730. return m.Address
  731. }
  732. return ""
  733. }
  734. func (m *Address) GetIpPort() uint32 {
  735. if m != nil {
  736. return m.IpPort
  737. }
  738. return 0
  739. }
  740. func init() {
  741. proto.RegisterType((*GrpcLogEntry)(nil), "grpc.binarylog.v1.GrpcLogEntry")
  742. proto.RegisterType((*ClientHeader)(nil), "grpc.binarylog.v1.ClientHeader")
  743. proto.RegisterType((*ServerHeader)(nil), "grpc.binarylog.v1.ServerHeader")
  744. proto.RegisterType((*Trailer)(nil), "grpc.binarylog.v1.Trailer")
  745. proto.RegisterType((*Message)(nil), "grpc.binarylog.v1.Message")
  746. proto.RegisterType((*Metadata)(nil), "grpc.binarylog.v1.Metadata")
  747. proto.RegisterType((*MetadataEntry)(nil), "grpc.binarylog.v1.MetadataEntry")
  748. proto.RegisterType((*Address)(nil), "grpc.binarylog.v1.Address")
  749. proto.RegisterEnum("grpc.binarylog.v1.GrpcLogEntry_EventType", GrpcLogEntry_EventType_name, GrpcLogEntry_EventType_value)
  750. proto.RegisterEnum("grpc.binarylog.v1.GrpcLogEntry_Logger", GrpcLogEntry_Logger_name, GrpcLogEntry_Logger_value)
  751. proto.RegisterEnum("grpc.binarylog.v1.Address_Type", Address_Type_name, Address_Type_value)
  752. }
  753. func init() {
  754. proto.RegisterFile("grpc/binarylog/grpc_binarylog_v1/binarylog.proto", fileDescriptor_binarylog_264c8c9c551ce911)
  755. }
  756. var fileDescriptor_binarylog_264c8c9c551ce911 = []byte{
  757. // 900 bytes of a gzipped FileDescriptorProto
  758. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x51, 0x6f, 0xe3, 0x44,
  759. 0x10, 0x3e, 0x37, 0x69, 0xdc, 0x4c, 0x92, 0xca, 0x5d, 0x95, 0x3b, 0x5f, 0x29, 0x34, 0xb2, 0x04,
  760. 0x0a, 0x42, 0x72, 0xb9, 0x94, 0xeb, 0xf1, 0x02, 0x52, 0x92, 0xfa, 0xd2, 0x88, 0x5c, 0x1a, 0x6d,
  761. 0x72, 0x3d, 0x40, 0x48, 0xd6, 0x36, 0x5e, 0x1c, 0x0b, 0xc7, 0x6b, 0xd6, 0x9b, 0xa0, 0xfc, 0x2c,
  762. 0xde, 0x90, 0xee, 0x77, 0xf1, 0x8e, 0xbc, 0x6b, 0x27, 0xa6, 0x69, 0x0f, 0x09, 0xde, 0x3c, 0xdf,
  763. 0x7c, 0xf3, 0xcd, 0xee, 0x78, 0x66, 0x16, 0xbe, 0xf2, 0x79, 0x3c, 0x3b, 0xbf, 0x0b, 0x22, 0xc2,
  764. 0xd7, 0x21, 0xf3, 0xcf, 0x53, 0xd3, 0xdd, 0x98, 0xee, 0xea, 0xc5, 0xd6, 0x67, 0xc7, 0x9c, 0x09,
  765. 0x86, 0x8e, 0x52, 0x8a, 0xbd, 0x45, 0x57, 0x2f, 0x4e, 0x3e, 0xf5, 0x19, 0xf3, 0x43, 0x7a, 0x2e,
  766. 0x09, 0x77, 0xcb, 0x5f, 0xce, 0xbd, 0x25, 0x27, 0x22, 0x60, 0x91, 0x0a, 0x39, 0x39, 0xbb, 0xef,
  767. 0x17, 0xc1, 0x82, 0x26, 0x82, 0x2c, 0x62, 0x45, 0xb0, 0xde, 0xeb, 0x50, 0xef, 0xf3, 0x78, 0x36,
  768. 0x64, 0xbe, 0x13, 0x09, 0xbe, 0x46, 0xdf, 0x40, 0x75, 0xc3, 0x31, 0xb5, 0xa6, 0xd6, 0xaa, 0xb5,
  769. 0x4f, 0x6c, 0xa5, 0x62, 0xe7, 0x2a, 0xf6, 0x34, 0x67, 0xe0, 0x2d, 0x19, 0x3d, 0x03, 0x7d, 0x46,
  770. 0xc2, 0xd0, 0x0d, 0x3c, 0x73, 0xaf, 0xa9, 0xb5, 0xca, 0xb8, 0x92, 0x9a, 0x03, 0x0f, 0xbd, 0x84,
  771. 0x67, 0x09, 0xfd, 0x6d, 0x49, 0xa3, 0x19, 0x75, 0x03, 0xcf, 0xfd, 0x3d, 0x10, 0xf3, 0x20, 0x72,
  772. 0x53, 0xa7, 0x59, 0x92, 0xc4, 0xe3, 0xdc, 0x3d, 0xf0, 0xde, 0x49, 0x67, 0x8f, 0x84, 0x21, 0xfa,
  773. 0x16, 0xca, 0x62, 0x1d, 0x53, 0xb3, 0xdc, 0xd4, 0x5a, 0x87, 0xed, 0x2f, 0xec, 0x9d, 0xdb, 0xdb,
  774. 0xc5, 0x83, 0xdb, 0xce, 0x8a, 0x46, 0x62, 0xba, 0x8e, 0x29, 0x96, 0x61, 0xe8, 0x3b, 0xa8, 0x84,
  775. 0xcc, 0xf7, 0x29, 0x37, 0xf7, 0xa5, 0xc0, 0xe7, 0xff, 0x26, 0x30, 0x94, 0x6c, 0x9c, 0x45, 0xa1,
  776. 0xd7, 0xd0, 0x98, 0x85, 0x01, 0x8d, 0x84, 0x3b, 0xa7, 0xc4, 0xa3, 0xdc, 0xac, 0xc8, 0x62, 0x9c,
  777. 0x3d, 0x20, 0xd3, 0x93, 0xbc, 0x6b, 0x49, 0xbb, 0x7e, 0x82, 0xeb, 0xb3, 0x82, 0x9d, 0xea, 0x24,
  778. 0x94, 0xaf, 0x28, 0xcf, 0x75, 0xf4, 0x47, 0x75, 0x26, 0x92, 0xb7, 0xd5, 0x49, 0x0a, 0x36, 0xba,
  779. 0x04, 0x7d, 0x41, 0x93, 0x84, 0xf8, 0xd4, 0x3c, 0xc8, 0x7f, 0xcb, 0x8e, 0xc2, 0x1b, 0xc5, 0xb8,
  780. 0x7e, 0x82, 0x73, 0x72, 0x1a, 0x27, 0x38, 0x09, 0x42, 0xca, 0xcd, 0xea, 0xa3, 0x71, 0x53, 0xc5,
  781. 0x48, 0xe3, 0x32, 0x32, 0xfa, 0x12, 0x8e, 0x62, 0xb2, 0x0e, 0x19, 0xf1, 0x5c, 0xc1, 0x97, 0xd1,
  782. 0x8c, 0x08, 0xea, 0x99, 0xd0, 0xd4, 0x5a, 0x07, 0xd8, 0xc8, 0x1c, 0xd3, 0x1c, 0x47, 0x36, 0x94,
  783. 0x63, 0x4a, 0xb9, 0x59, 0x7b, 0x34, 0x43, 0xc7, 0xf3, 0x38, 0x4d, 0x12, 0x2c, 0x79, 0xd6, 0x5f,
  784. 0x1a, 0x54, 0x37, 0x3f, 0x0c, 0x3d, 0x05, 0xe4, 0xdc, 0x3a, 0xa3, 0xa9, 0x3b, 0xfd, 0x71, 0xec,
  785. 0xb8, 0x6f, 0x47, 0xdf, 0x8f, 0x6e, 0xde, 0x8d, 0x8c, 0x27, 0xe8, 0x14, 0xcc, 0x02, 0xde, 0x1b,
  786. 0x0e, 0xd2, 0xef, 0x6b, 0xa7, 0x73, 0xe5, 0x60, 0x43, 0xbb, 0xe7, 0x9d, 0x38, 0xf8, 0xd6, 0xc1,
  787. 0xb9, 0x77, 0x0f, 0x7d, 0x02, 0xcf, 0x77, 0x63, 0xdf, 0x38, 0x93, 0x49, 0xa7, 0xef, 0x18, 0xa5,
  788. 0x7b, 0xee, 0x2c, 0x38, 0x77, 0x97, 0x51, 0x13, 0x4e, 0x1f, 0xc8, 0xdc, 0x19, 0xbe, 0x76, 0x7b,
  789. 0xc3, 0x9b, 0x89, 0x63, 0xec, 0x3f, 0x2c, 0x30, 0xc5, 0x9d, 0xc1, 0xd0, 0xc1, 0x46, 0x05, 0x7d,
  790. 0x04, 0x47, 0x45, 0x81, 0xce, 0xa8, 0xe7, 0x0c, 0x0d, 0xdd, 0xea, 0x42, 0x45, 0xb5, 0x19, 0x42,
  791. 0x70, 0x38, 0xbc, 0xe9, 0xf7, 0x1d, 0x5c, 0xb8, 0xef, 0x11, 0x34, 0x32, 0x4c, 0x65, 0x34, 0xb4,
  792. 0x02, 0xa4, 0x52, 0x18, 0x7b, 0xdd, 0x2a, 0xe8, 0x59, 0xfd, 0xad, 0xf7, 0x1a, 0xd4, 0x8b, 0xcd,
  793. 0x87, 0x5e, 0xc1, 0xc1, 0x82, 0x0a, 0xe2, 0x11, 0x41, 0xb2, 0xe1, 0xfd, 0xf8, 0xc1, 0x2e, 0x51,
  794. 0x14, 0xbc, 0x21, 0xa3, 0x33, 0xa8, 0x2d, 0xa8, 0x98, 0x33, 0xcf, 0x8d, 0xc8, 0x82, 0xca, 0x01,
  795. 0xae, 0x62, 0x50, 0xd0, 0x88, 0x2c, 0x28, 0x3a, 0x85, 0x2a, 0x59, 0x8a, 0x39, 0xe3, 0x81, 0x58,
  796. 0xcb, 0xb1, 0xad, 0xe2, 0x2d, 0x80, 0x2e, 0x40, 0x4f, 0x17, 0x01, 0x5b, 0x0a, 0x39, 0xae, 0xb5,
  797. 0xf6, 0xf3, 0x9d, 0x9d, 0x71, 0x95, 0x6d, 0x26, 0x9c, 0x33, 0xad, 0x3e, 0xd4, 0x8b, 0x1d, 0xff,
  798. 0x9f, 0x0f, 0x6f, 0xfd, 0xa1, 0x81, 0x9e, 0x75, 0xf0, 0xff, 0xaa, 0x40, 0x22, 0x88, 0x58, 0x26,
  799. 0xee, 0x8c, 0x79, 0xaa, 0x02, 0x0d, 0x0c, 0x0a, 0xea, 0x31, 0x8f, 0xa2, 0xcf, 0xe0, 0x30, 0x23,
  800. 0xe4, 0x73, 0xa8, 0xca, 0xd0, 0x50, 0x68, 0x36, 0x7a, 0x05, 0x9a, 0x47, 0x05, 0x09, 0xc2, 0x44,
  801. 0x56, 0xa4, 0x9e, 0xd3, 0xae, 0x14, 0x68, 0xbd, 0x04, 0x3d, 0x8f, 0x78, 0x0a, 0x95, 0x90, 0x46,
  802. 0xbe, 0x98, 0xcb, 0x03, 0x37, 0x70, 0x66, 0x21, 0x04, 0x65, 0x79, 0x8d, 0x3d, 0x19, 0x2f, 0xbf,
  803. 0xad, 0x2e, 0x1c, 0xe4, 0x67, 0x47, 0x97, 0xb0, 0x4f, 0xd3, 0xcd, 0x65, 0x6a, 0xcd, 0x52, 0xab,
  804. 0xd6, 0x6e, 0x7e, 0xe0, 0x9e, 0x72, 0xc3, 0x61, 0x45, 0xb7, 0x5e, 0x41, 0xe3, 0x1f, 0x38, 0x32,
  805. 0xa0, 0xf4, 0x2b, 0x5d, 0xcb, 0xec, 0x55, 0x9c, 0x7e, 0xa2, 0x63, 0xd8, 0x5f, 0x91, 0x70, 0x49,
  806. 0xb3, 0xdc, 0xca, 0xb0, 0xfe, 0xd4, 0x40, 0xcf, 0xe6, 0x18, 0x5d, 0x64, 0xdb, 0x59, 0x93, 0xcb,
  807. 0xf5, 0xec, 0xf1, 0x89, 0xb7, 0x0b, 0x3b, 0xd9, 0x04, 0x9d, 0x28, 0x34, 0xeb, 0xb0, 0xdc, 0x4c,
  808. 0x1f, 0x8f, 0x20, 0x76, 0x63, 0xc6, 0x85, 0xac, 0x6a, 0x03, 0x57, 0x82, 0x78, 0xcc, 0xb8, 0xb0,
  809. 0x1c, 0x28, 0xcb, 0x1d, 0x61, 0x40, 0xfd, 0xde, 0x76, 0x68, 0x40, 0x55, 0x22, 0x83, 0xf1, 0xed,
  810. 0xd7, 0x86, 0x56, 0x34, 0x2f, 0x8d, 0xbd, 0x8d, 0xf9, 0x76, 0x34, 0xf8, 0xc1, 0x28, 0x75, 0x7f,
  811. 0x86, 0xe3, 0x80, 0xed, 0x1e, 0xb2, 0x7b, 0xd8, 0x95, 0xd6, 0x90, 0xf9, 0xe3, 0xb4, 0x51, 0xc7,
  812. 0xda, 0x4f, 0xed, 0xac, 0x71, 0x7d, 0x16, 0x92, 0xc8, 0xb7, 0x19, 0x57, 0x4f, 0xf3, 0x87, 0x5e,
  813. 0xea, 0xbb, 0x8a, 0xec, 0xf2, 0x8b, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xe7, 0xf6, 0x4b, 0x50,
  814. 0xd4, 0x07, 0x00, 0x00,
  815. }