You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

584 lines
22 KiB

  1. // Code generated by protoc-gen-go.
  2. // source: filer.proto
  3. // DO NOT EDIT!
  4. /*
  5. Package filer_pb is a generated protocol buffer package.
  6. It is generated from these files:
  7. filer.proto
  8. It has these top-level messages:
  9. LookupDirectoryEntryRequest
  10. LookupDirectoryEntryResponse
  11. ListEntriesRequest
  12. ListEntriesResponse
  13. Entry
  14. FuseAttributes
  15. GetFileAttributesRequest
  16. GetFileAttributesResponse
  17. GetFileContentRequest
  18. GetFileContentResponse
  19. DeleteEntryRequest
  20. DeleteEntryResponse
  21. */
  22. package filer_pb
  23. import proto "github.com/golang/protobuf/proto"
  24. import fmt "fmt"
  25. import math "math"
  26. import (
  27. context "golang.org/x/net/context"
  28. grpc "google.golang.org/grpc"
  29. )
  30. // Reference imports to suppress errors if they are not otherwise used.
  31. var _ = proto.Marshal
  32. var _ = fmt.Errorf
  33. var _ = math.Inf
  34. // This is a compile-time assertion to ensure that this generated file
  35. // is compatible with the proto package it is being compiled against.
  36. // A compilation error at this line likely means your copy of the
  37. // proto package needs to be updated.
  38. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  39. type LookupDirectoryEntryRequest struct {
  40. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  41. Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
  42. }
  43. func (m *LookupDirectoryEntryRequest) Reset() { *m = LookupDirectoryEntryRequest{} }
  44. func (m *LookupDirectoryEntryRequest) String() string { return proto.CompactTextString(m) }
  45. func (*LookupDirectoryEntryRequest) ProtoMessage() {}
  46. func (*LookupDirectoryEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  47. func (m *LookupDirectoryEntryRequest) GetDirectory() string {
  48. if m != nil {
  49. return m.Directory
  50. }
  51. return ""
  52. }
  53. func (m *LookupDirectoryEntryRequest) GetName() string {
  54. if m != nil {
  55. return m.Name
  56. }
  57. return ""
  58. }
  59. type LookupDirectoryEntryResponse struct {
  60. Entry *Entry `protobuf:"bytes,1,opt,name=entry" json:"entry,omitempty"`
  61. }
  62. func (m *LookupDirectoryEntryResponse) Reset() { *m = LookupDirectoryEntryResponse{} }
  63. func (m *LookupDirectoryEntryResponse) String() string { return proto.CompactTextString(m) }
  64. func (*LookupDirectoryEntryResponse) ProtoMessage() {}
  65. func (*LookupDirectoryEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
  66. func (m *LookupDirectoryEntryResponse) GetEntry() *Entry {
  67. if m != nil {
  68. return m.Entry
  69. }
  70. return nil
  71. }
  72. type ListEntriesRequest struct {
  73. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  74. }
  75. func (m *ListEntriesRequest) Reset() { *m = ListEntriesRequest{} }
  76. func (m *ListEntriesRequest) String() string { return proto.CompactTextString(m) }
  77. func (*ListEntriesRequest) ProtoMessage() {}
  78. func (*ListEntriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
  79. func (m *ListEntriesRequest) GetDirectory() string {
  80. if m != nil {
  81. return m.Directory
  82. }
  83. return ""
  84. }
  85. type ListEntriesResponse struct {
  86. Entries []*Entry `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty"`
  87. }
  88. func (m *ListEntriesResponse) Reset() { *m = ListEntriesResponse{} }
  89. func (m *ListEntriesResponse) String() string { return proto.CompactTextString(m) }
  90. func (*ListEntriesResponse) ProtoMessage() {}
  91. func (*ListEntriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
  92. func (m *ListEntriesResponse) GetEntries() []*Entry {
  93. if m != nil {
  94. return m.Entries
  95. }
  96. return nil
  97. }
  98. type Entry struct {
  99. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  100. IsDirectory bool `protobuf:"varint,2,opt,name=is_directory,json=isDirectory" json:"is_directory,omitempty"`
  101. FileId string `protobuf:"bytes,3,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  102. Attributes *FuseAttributes `protobuf:"bytes,4,opt,name=attributes" json:"attributes,omitempty"`
  103. }
  104. func (m *Entry) Reset() { *m = Entry{} }
  105. func (m *Entry) String() string { return proto.CompactTextString(m) }
  106. func (*Entry) ProtoMessage() {}
  107. func (*Entry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
  108. func (m *Entry) GetName() string {
  109. if m != nil {
  110. return m.Name
  111. }
  112. return ""
  113. }
  114. func (m *Entry) GetIsDirectory() bool {
  115. if m != nil {
  116. return m.IsDirectory
  117. }
  118. return false
  119. }
  120. func (m *Entry) GetFileId() string {
  121. if m != nil {
  122. return m.FileId
  123. }
  124. return ""
  125. }
  126. func (m *Entry) GetAttributes() *FuseAttributes {
  127. if m != nil {
  128. return m.Attributes
  129. }
  130. return nil
  131. }
  132. type FuseAttributes struct {
  133. FileSize uint64 `protobuf:"varint,1,opt,name=file_size,json=fileSize" json:"file_size,omitempty"`
  134. Mtime int64 `protobuf:"varint,2,opt,name=mtime" json:"mtime,omitempty"`
  135. FileMode uint32 `protobuf:"varint,3,opt,name=file_mode,json=fileMode" json:"file_mode,omitempty"`
  136. Uid uint32 `protobuf:"varint,4,opt,name=uid" json:"uid,omitempty"`
  137. Gid uint32 `protobuf:"varint,5,opt,name=gid" json:"gid,omitempty"`
  138. }
  139. func (m *FuseAttributes) Reset() { *m = FuseAttributes{} }
  140. func (m *FuseAttributes) String() string { return proto.CompactTextString(m) }
  141. func (*FuseAttributes) ProtoMessage() {}
  142. func (*FuseAttributes) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
  143. func (m *FuseAttributes) GetFileSize() uint64 {
  144. if m != nil {
  145. return m.FileSize
  146. }
  147. return 0
  148. }
  149. func (m *FuseAttributes) GetMtime() int64 {
  150. if m != nil {
  151. return m.Mtime
  152. }
  153. return 0
  154. }
  155. func (m *FuseAttributes) GetFileMode() uint32 {
  156. if m != nil {
  157. return m.FileMode
  158. }
  159. return 0
  160. }
  161. func (m *FuseAttributes) GetUid() uint32 {
  162. if m != nil {
  163. return m.Uid
  164. }
  165. return 0
  166. }
  167. func (m *FuseAttributes) GetGid() uint32 {
  168. if m != nil {
  169. return m.Gid
  170. }
  171. return 0
  172. }
  173. type GetFileAttributesRequest struct {
  174. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  175. ParentDir string `protobuf:"bytes,2,opt,name=parent_dir,json=parentDir" json:"parent_dir,omitempty"`
  176. FileId string `protobuf:"bytes,3,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  177. }
  178. func (m *GetFileAttributesRequest) Reset() { *m = GetFileAttributesRequest{} }
  179. func (m *GetFileAttributesRequest) String() string { return proto.CompactTextString(m) }
  180. func (*GetFileAttributesRequest) ProtoMessage() {}
  181. func (*GetFileAttributesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
  182. func (m *GetFileAttributesRequest) GetName() string {
  183. if m != nil {
  184. return m.Name
  185. }
  186. return ""
  187. }
  188. func (m *GetFileAttributesRequest) GetParentDir() string {
  189. if m != nil {
  190. return m.ParentDir
  191. }
  192. return ""
  193. }
  194. func (m *GetFileAttributesRequest) GetFileId() string {
  195. if m != nil {
  196. return m.FileId
  197. }
  198. return ""
  199. }
  200. type GetFileAttributesResponse struct {
  201. Attributes *FuseAttributes `protobuf:"bytes,1,opt,name=attributes" json:"attributes,omitempty"`
  202. }
  203. func (m *GetFileAttributesResponse) Reset() { *m = GetFileAttributesResponse{} }
  204. func (m *GetFileAttributesResponse) String() string { return proto.CompactTextString(m) }
  205. func (*GetFileAttributesResponse) ProtoMessage() {}
  206. func (*GetFileAttributesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
  207. func (m *GetFileAttributesResponse) GetAttributes() *FuseAttributes {
  208. if m != nil {
  209. return m.Attributes
  210. }
  211. return nil
  212. }
  213. type GetFileContentRequest struct {
  214. FileId string `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  215. }
  216. func (m *GetFileContentRequest) Reset() { *m = GetFileContentRequest{} }
  217. func (m *GetFileContentRequest) String() string { return proto.CompactTextString(m) }
  218. func (*GetFileContentRequest) ProtoMessage() {}
  219. func (*GetFileContentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
  220. func (m *GetFileContentRequest) GetFileId() string {
  221. if m != nil {
  222. return m.FileId
  223. }
  224. return ""
  225. }
  226. type GetFileContentResponse struct {
  227. Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
  228. }
  229. func (m *GetFileContentResponse) Reset() { *m = GetFileContentResponse{} }
  230. func (m *GetFileContentResponse) String() string { return proto.CompactTextString(m) }
  231. func (*GetFileContentResponse) ProtoMessage() {}
  232. func (*GetFileContentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
  233. func (m *GetFileContentResponse) GetContent() []byte {
  234. if m != nil {
  235. return m.Content
  236. }
  237. return nil
  238. }
  239. type DeleteEntryRequest struct {
  240. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  241. Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
  242. IsDirectory bool `protobuf:"varint,3,opt,name=is_directory,json=isDirectory" json:"is_directory,omitempty"`
  243. }
  244. func (m *DeleteEntryRequest) Reset() { *m = DeleteEntryRequest{} }
  245. func (m *DeleteEntryRequest) String() string { return proto.CompactTextString(m) }
  246. func (*DeleteEntryRequest) ProtoMessage() {}
  247. func (*DeleteEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
  248. func (m *DeleteEntryRequest) GetDirectory() string {
  249. if m != nil {
  250. return m.Directory
  251. }
  252. return ""
  253. }
  254. func (m *DeleteEntryRequest) GetName() string {
  255. if m != nil {
  256. return m.Name
  257. }
  258. return ""
  259. }
  260. func (m *DeleteEntryRequest) GetIsDirectory() bool {
  261. if m != nil {
  262. return m.IsDirectory
  263. }
  264. return false
  265. }
  266. type DeleteEntryResponse struct {
  267. }
  268. func (m *DeleteEntryResponse) Reset() { *m = DeleteEntryResponse{} }
  269. func (m *DeleteEntryResponse) String() string { return proto.CompactTextString(m) }
  270. func (*DeleteEntryResponse) ProtoMessage() {}
  271. func (*DeleteEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
  272. func init() {
  273. proto.RegisterType((*LookupDirectoryEntryRequest)(nil), "filer_pb.LookupDirectoryEntryRequest")
  274. proto.RegisterType((*LookupDirectoryEntryResponse)(nil), "filer_pb.LookupDirectoryEntryResponse")
  275. proto.RegisterType((*ListEntriesRequest)(nil), "filer_pb.ListEntriesRequest")
  276. proto.RegisterType((*ListEntriesResponse)(nil), "filer_pb.ListEntriesResponse")
  277. proto.RegisterType((*Entry)(nil), "filer_pb.Entry")
  278. proto.RegisterType((*FuseAttributes)(nil), "filer_pb.FuseAttributes")
  279. proto.RegisterType((*GetFileAttributesRequest)(nil), "filer_pb.GetFileAttributesRequest")
  280. proto.RegisterType((*GetFileAttributesResponse)(nil), "filer_pb.GetFileAttributesResponse")
  281. proto.RegisterType((*GetFileContentRequest)(nil), "filer_pb.GetFileContentRequest")
  282. proto.RegisterType((*GetFileContentResponse)(nil), "filer_pb.GetFileContentResponse")
  283. proto.RegisterType((*DeleteEntryRequest)(nil), "filer_pb.DeleteEntryRequest")
  284. proto.RegisterType((*DeleteEntryResponse)(nil), "filer_pb.DeleteEntryResponse")
  285. }
  286. // Reference imports to suppress errors if they are not otherwise used.
  287. var _ context.Context
  288. var _ grpc.ClientConn
  289. // This is a compile-time assertion to ensure that this generated file
  290. // is compatible with the grpc package it is being compiled against.
  291. const _ = grpc.SupportPackageIsVersion4
  292. // Client API for SeaweedFiler service
  293. type SeaweedFilerClient interface {
  294. LookupDirectoryEntry(ctx context.Context, in *LookupDirectoryEntryRequest, opts ...grpc.CallOption) (*LookupDirectoryEntryResponse, error)
  295. ListEntries(ctx context.Context, in *ListEntriesRequest, opts ...grpc.CallOption) (*ListEntriesResponse, error)
  296. GetFileAttributes(ctx context.Context, in *GetFileAttributesRequest, opts ...grpc.CallOption) (*GetFileAttributesResponse, error)
  297. GetFileContent(ctx context.Context, in *GetFileContentRequest, opts ...grpc.CallOption) (*GetFileContentResponse, error)
  298. DeleteEntry(ctx context.Context, in *DeleteEntryRequest, opts ...grpc.CallOption) (*DeleteEntryResponse, error)
  299. }
  300. type seaweedFilerClient struct {
  301. cc *grpc.ClientConn
  302. }
  303. func NewSeaweedFilerClient(cc *grpc.ClientConn) SeaweedFilerClient {
  304. return &seaweedFilerClient{cc}
  305. }
  306. func (c *seaweedFilerClient) LookupDirectoryEntry(ctx context.Context, in *LookupDirectoryEntryRequest, opts ...grpc.CallOption) (*LookupDirectoryEntryResponse, error) {
  307. out := new(LookupDirectoryEntryResponse)
  308. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/LookupDirectoryEntry", in, out, c.cc, opts...)
  309. if err != nil {
  310. return nil, err
  311. }
  312. return out, nil
  313. }
  314. func (c *seaweedFilerClient) ListEntries(ctx context.Context, in *ListEntriesRequest, opts ...grpc.CallOption) (*ListEntriesResponse, error) {
  315. out := new(ListEntriesResponse)
  316. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/ListEntries", in, out, c.cc, opts...)
  317. if err != nil {
  318. return nil, err
  319. }
  320. return out, nil
  321. }
  322. func (c *seaweedFilerClient) GetFileAttributes(ctx context.Context, in *GetFileAttributesRequest, opts ...grpc.CallOption) (*GetFileAttributesResponse, error) {
  323. out := new(GetFileAttributesResponse)
  324. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/GetFileAttributes", in, out, c.cc, opts...)
  325. if err != nil {
  326. return nil, err
  327. }
  328. return out, nil
  329. }
  330. func (c *seaweedFilerClient) GetFileContent(ctx context.Context, in *GetFileContentRequest, opts ...grpc.CallOption) (*GetFileContentResponse, error) {
  331. out := new(GetFileContentResponse)
  332. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/GetFileContent", in, out, c.cc, opts...)
  333. if err != nil {
  334. return nil, err
  335. }
  336. return out, nil
  337. }
  338. func (c *seaweedFilerClient) DeleteEntry(ctx context.Context, in *DeleteEntryRequest, opts ...grpc.CallOption) (*DeleteEntryResponse, error) {
  339. out := new(DeleteEntryResponse)
  340. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/DeleteEntry", in, out, c.cc, opts...)
  341. if err != nil {
  342. return nil, err
  343. }
  344. return out, nil
  345. }
  346. // Server API for SeaweedFiler service
  347. type SeaweedFilerServer interface {
  348. LookupDirectoryEntry(context.Context, *LookupDirectoryEntryRequest) (*LookupDirectoryEntryResponse, error)
  349. ListEntries(context.Context, *ListEntriesRequest) (*ListEntriesResponse, error)
  350. GetFileAttributes(context.Context, *GetFileAttributesRequest) (*GetFileAttributesResponse, error)
  351. GetFileContent(context.Context, *GetFileContentRequest) (*GetFileContentResponse, error)
  352. DeleteEntry(context.Context, *DeleteEntryRequest) (*DeleteEntryResponse, error)
  353. }
  354. func RegisterSeaweedFilerServer(s *grpc.Server, srv SeaweedFilerServer) {
  355. s.RegisterService(&_SeaweedFiler_serviceDesc, srv)
  356. }
  357. func _SeaweedFiler_LookupDirectoryEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  358. in := new(LookupDirectoryEntryRequest)
  359. if err := dec(in); err != nil {
  360. return nil, err
  361. }
  362. if interceptor == nil {
  363. return srv.(SeaweedFilerServer).LookupDirectoryEntry(ctx, in)
  364. }
  365. info := &grpc.UnaryServerInfo{
  366. Server: srv,
  367. FullMethod: "/filer_pb.SeaweedFiler/LookupDirectoryEntry",
  368. }
  369. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  370. return srv.(SeaweedFilerServer).LookupDirectoryEntry(ctx, req.(*LookupDirectoryEntryRequest))
  371. }
  372. return interceptor(ctx, in, info, handler)
  373. }
  374. func _SeaweedFiler_ListEntries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  375. in := new(ListEntriesRequest)
  376. if err := dec(in); err != nil {
  377. return nil, err
  378. }
  379. if interceptor == nil {
  380. return srv.(SeaweedFilerServer).ListEntries(ctx, in)
  381. }
  382. info := &grpc.UnaryServerInfo{
  383. Server: srv,
  384. FullMethod: "/filer_pb.SeaweedFiler/ListEntries",
  385. }
  386. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  387. return srv.(SeaweedFilerServer).ListEntries(ctx, req.(*ListEntriesRequest))
  388. }
  389. return interceptor(ctx, in, info, handler)
  390. }
  391. func _SeaweedFiler_GetFileAttributes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  392. in := new(GetFileAttributesRequest)
  393. if err := dec(in); err != nil {
  394. return nil, err
  395. }
  396. if interceptor == nil {
  397. return srv.(SeaweedFilerServer).GetFileAttributes(ctx, in)
  398. }
  399. info := &grpc.UnaryServerInfo{
  400. Server: srv,
  401. FullMethod: "/filer_pb.SeaweedFiler/GetFileAttributes",
  402. }
  403. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  404. return srv.(SeaweedFilerServer).GetFileAttributes(ctx, req.(*GetFileAttributesRequest))
  405. }
  406. return interceptor(ctx, in, info, handler)
  407. }
  408. func _SeaweedFiler_GetFileContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  409. in := new(GetFileContentRequest)
  410. if err := dec(in); err != nil {
  411. return nil, err
  412. }
  413. if interceptor == nil {
  414. return srv.(SeaweedFilerServer).GetFileContent(ctx, in)
  415. }
  416. info := &grpc.UnaryServerInfo{
  417. Server: srv,
  418. FullMethod: "/filer_pb.SeaweedFiler/GetFileContent",
  419. }
  420. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  421. return srv.(SeaweedFilerServer).GetFileContent(ctx, req.(*GetFileContentRequest))
  422. }
  423. return interceptor(ctx, in, info, handler)
  424. }
  425. func _SeaweedFiler_DeleteEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  426. in := new(DeleteEntryRequest)
  427. if err := dec(in); err != nil {
  428. return nil, err
  429. }
  430. if interceptor == nil {
  431. return srv.(SeaweedFilerServer).DeleteEntry(ctx, in)
  432. }
  433. info := &grpc.UnaryServerInfo{
  434. Server: srv,
  435. FullMethod: "/filer_pb.SeaweedFiler/DeleteEntry",
  436. }
  437. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  438. return srv.(SeaweedFilerServer).DeleteEntry(ctx, req.(*DeleteEntryRequest))
  439. }
  440. return interceptor(ctx, in, info, handler)
  441. }
  442. var _SeaweedFiler_serviceDesc = grpc.ServiceDesc{
  443. ServiceName: "filer_pb.SeaweedFiler",
  444. HandlerType: (*SeaweedFilerServer)(nil),
  445. Methods: []grpc.MethodDesc{
  446. {
  447. MethodName: "LookupDirectoryEntry",
  448. Handler: _SeaweedFiler_LookupDirectoryEntry_Handler,
  449. },
  450. {
  451. MethodName: "ListEntries",
  452. Handler: _SeaweedFiler_ListEntries_Handler,
  453. },
  454. {
  455. MethodName: "GetFileAttributes",
  456. Handler: _SeaweedFiler_GetFileAttributes_Handler,
  457. },
  458. {
  459. MethodName: "GetFileContent",
  460. Handler: _SeaweedFiler_GetFileContent_Handler,
  461. },
  462. {
  463. MethodName: "DeleteEntry",
  464. Handler: _SeaweedFiler_DeleteEntry_Handler,
  465. },
  466. },
  467. Streams: []grpc.StreamDesc{},
  468. Metadata: "filer.proto",
  469. }
  470. func init() { proto.RegisterFile("filer.proto", fileDescriptor0) }
  471. var fileDescriptor0 = []byte{
  472. // 532 bytes of a gzipped FileDescriptorProto
  473. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x54, 0x4d, 0x6f, 0xd3, 0x40,
  474. 0x10, 0xad, 0x71, 0xd2, 0x34, 0x93, 0xb4, 0xc0, 0xb4, 0x05, 0x93, 0xa6, 0x22, 0x2c, 0x2a, 0x82,
  475. 0x4b, 0x84, 0xc2, 0x85, 0x23, 0x88, 0xb4, 0x08, 0x29, 0x08, 0xc9, 0x55, 0xaf, 0x44, 0x49, 0x3d,
  476. 0x8d, 0x56, 0x24, 0x76, 0xf0, 0xae, 0x85, 0xda, 0x33, 0x7f, 0x80, 0xbf, 0xc5, 0xaf, 0x42, 0xbb,
  477. 0xeb, 0x8f, 0x35, 0x76, 0x0a, 0x88, 0x9b, 0xf7, 0xcd, 0xbe, 0x99, 0x37, 0x6f, 0x66, 0x0d, 0x9d,
  478. 0x2b, 0xbe, 0xa4, 0x78, 0xb8, 0x8e, 0x23, 0x19, 0xe1, 0x8e, 0x3e, 0x4c, 0xd7, 0x73, 0xf6, 0x09,
  479. 0x8e, 0x26, 0x51, 0xf4, 0x25, 0x59, 0x8f, 0x79, 0x4c, 0x97, 0x32, 0x8a, 0xaf, 0x4f, 0x43, 0x19,
  480. 0x5f, 0xfb, 0xf4, 0x35, 0x21, 0x21, 0xb1, 0x0f, 0xed, 0x20, 0x0b, 0x78, 0xce, 0xc0, 0x79, 0xde,
  481. 0xf6, 0x0b, 0x00, 0x11, 0x1a, 0xe1, 0x6c, 0x45, 0xde, 0x1d, 0x1d, 0xd0, 0xdf, 0xec, 0x14, 0xfa,
  482. 0xf5, 0x09, 0xc5, 0x3a, 0x0a, 0x05, 0xe1, 0x09, 0x34, 0x49, 0x01, 0x3a, 0x5b, 0x67, 0x74, 0x77,
  483. 0x98, 0x49, 0x19, 0x9a, 0x7b, 0x26, 0xca, 0x46, 0x80, 0x13, 0x2e, 0xa4, 0xc2, 0x38, 0x89, 0xbf,
  484. 0x92, 0xc3, 0xde, 0xc0, 0x7e, 0x89, 0x93, 0x56, 0x7c, 0x01, 0x2d, 0x32, 0x90, 0xe7, 0x0c, 0xdc,
  485. 0xba, 0x9a, 0x59, 0x9c, 0xfd, 0x70, 0xa0, 0xa9, 0xa1, 0xbc, 0x35, 0xa7, 0x68, 0x0d, 0x9f, 0x40,
  486. 0x97, 0x8b, 0x69, 0x21, 0x40, 0xb5, 0xbd, 0xe3, 0x77, 0xb8, 0xc8, 0x5b, 0xc5, 0x87, 0xd0, 0x52,
  487. 0xb9, 0xa7, 0x3c, 0xf0, 0x5c, 0xcd, 0xdc, 0x56, 0xc7, 0x0f, 0x01, 0xbe, 0x06, 0x98, 0x49, 0x19,
  488. 0xf3, 0x79, 0x22, 0x49, 0x78, 0x0d, 0xdd, 0xbb, 0x57, 0xe8, 0x38, 0x4b, 0x04, 0xbd, 0xcd, 0xe3,
  489. 0xbe, 0x75, 0x97, 0x7d, 0x77, 0x60, 0xaf, 0x1c, 0xc6, 0x23, 0x68, 0xeb, 0x2a, 0x82, 0xdf, 0x18,
  490. 0x85, 0x0d, 0x5f, 0x4f, 0xf4, 0x9c, 0xdf, 0x10, 0x1e, 0x40, 0x73, 0x25, 0x79, 0x3a, 0x15, 0xd7,
  491. 0x37, 0x87, 0x9c, 0xb2, 0x8a, 0x02, 0xd2, 0xd2, 0x76, 0x0d, 0xe5, 0x63, 0x14, 0x10, 0xde, 0x03,
  492. 0x37, 0xe1, 0x81, 0x56, 0xb5, 0xeb, 0xab, 0x4f, 0x85, 0x2c, 0x78, 0xe0, 0x35, 0x0d, 0xb2, 0xe0,
  493. 0x01, 0xbb, 0x02, 0xef, 0x3d, 0xc9, 0x33, 0xbe, 0xb4, 0x75, 0xa6, 0x63, 0xa9, 0x33, 0xeb, 0x18,
  494. 0x60, 0x3d, 0x8b, 0x29, 0x94, 0xca, 0xb0, 0x74, 0x43, 0xda, 0x06, 0x19, 0xf3, 0x78, 0xa3, 0x51,
  495. 0xec, 0x02, 0x1e, 0xd5, 0xd4, 0x49, 0x47, 0x59, 0x76, 0xd1, 0xf9, 0x07, 0x17, 0x5f, 0xc2, 0x61,
  496. 0x9a, 0xf6, 0x5d, 0x14, 0x4a, 0x0a, 0x65, 0xa6, 0xdd, 0x12, 0xe2, 0x94, 0x84, 0x8c, 0xe0, 0xc1,
  497. 0xef, 0x8c, 0x54, 0x85, 0x07, 0xad, 0x4b, 0x03, 0x69, 0x4a, 0xd7, 0xcf, 0x8e, 0x8c, 0x03, 0x8e,
  498. 0x69, 0x49, 0x92, 0xfe, 0xef, 0x11, 0x55, 0x36, 0xcd, 0xad, 0x6c, 0x1a, 0x3b, 0x84, 0xfd, 0x52,
  499. 0x29, 0xa3, 0x6d, 0xf4, 0xd3, 0x85, 0xee, 0x39, 0xcd, 0xbe, 0x11, 0x05, 0x4a, 0x7a, 0x8c, 0x0b,
  500. 0x38, 0xa8, 0x7b, 0x8f, 0x78, 0x52, 0xd8, 0x76, 0xcb, 0x0f, 0xa0, 0xf7, 0xec, 0x4f, 0xd7, 0x4c,
  501. 0x5d, 0xb6, 0x85, 0x13, 0xe8, 0x58, 0xaf, 0x0f, 0xfb, 0x16, 0xb1, 0xf2, 0x90, 0x7b, 0xc7, 0x1b,
  502. 0xa2, 0x79, 0xb6, 0xcf, 0x70, 0xbf, 0xb2, 0x06, 0xc8, 0x0a, 0xd6, 0xa6, 0x5d, 0xec, 0x3d, 0xbd,
  503. 0xf5, 0x4e, 0x9e, 0xff, 0x02, 0xf6, 0xca, 0xd3, 0xc5, 0xc7, 0x15, 0x62, 0x79, 0x53, 0x7a, 0x83,
  504. 0xcd, 0x17, 0x6c, 0x13, 0xac, 0xa9, 0xd8, 0x26, 0x54, 0xf7, 0xc2, 0x36, 0xa1, 0x66, 0x94, 0x6c,
  505. 0x6b, 0xbe, 0xad, 0xff, 0xd6, 0xaf, 0x7e, 0x05, 0x00, 0x00, 0xff, 0xff, 0x6a, 0x83, 0x8a, 0x32,
  506. 0xbc, 0x05, 0x00, 0x00,
  507. }