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.

1162 lines
43 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. FileChunk
  15. FuseAttributes
  16. GetEntryAttributesRequest
  17. GetEntryAttributesResponse
  18. GetFileContentRequest
  19. GetFileContentResponse
  20. CreateEntryRequest
  21. CreateEntryResponse
  22. UpdateEntryRequest
  23. UpdateEntryResponse
  24. DeleteEntryRequest
  25. DeleteEntryResponse
  26. AssignVolumeRequest
  27. AssignVolumeResponse
  28. LookupVolumeRequest
  29. Locations
  30. Location
  31. LookupVolumeResponse
  32. DeleteCollectionRequest
  33. DeleteCollectionResponse
  34. */
  35. package filer_pb
  36. import proto "github.com/golang/protobuf/proto"
  37. import fmt "fmt"
  38. import math "math"
  39. import (
  40. context "golang.org/x/net/context"
  41. grpc "google.golang.org/grpc"
  42. )
  43. // Reference imports to suppress errors if they are not otherwise used.
  44. var _ = proto.Marshal
  45. var _ = fmt.Errorf
  46. var _ = math.Inf
  47. // This is a compile-time assertion to ensure that this generated file
  48. // is compatible with the proto package it is being compiled against.
  49. // A compilation error at this line likely means your copy of the
  50. // proto package needs to be updated.
  51. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  52. type LookupDirectoryEntryRequest struct {
  53. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  54. Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
  55. }
  56. func (m *LookupDirectoryEntryRequest) Reset() { *m = LookupDirectoryEntryRequest{} }
  57. func (m *LookupDirectoryEntryRequest) String() string { return proto.CompactTextString(m) }
  58. func (*LookupDirectoryEntryRequest) ProtoMessage() {}
  59. func (*LookupDirectoryEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  60. func (m *LookupDirectoryEntryRequest) GetDirectory() string {
  61. if m != nil {
  62. return m.Directory
  63. }
  64. return ""
  65. }
  66. func (m *LookupDirectoryEntryRequest) GetName() string {
  67. if m != nil {
  68. return m.Name
  69. }
  70. return ""
  71. }
  72. type LookupDirectoryEntryResponse struct {
  73. Entry *Entry `protobuf:"bytes,1,opt,name=entry" json:"entry,omitempty"`
  74. }
  75. func (m *LookupDirectoryEntryResponse) Reset() { *m = LookupDirectoryEntryResponse{} }
  76. func (m *LookupDirectoryEntryResponse) String() string { return proto.CompactTextString(m) }
  77. func (*LookupDirectoryEntryResponse) ProtoMessage() {}
  78. func (*LookupDirectoryEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
  79. func (m *LookupDirectoryEntryResponse) GetEntry() *Entry {
  80. if m != nil {
  81. return m.Entry
  82. }
  83. return nil
  84. }
  85. type ListEntriesRequest struct {
  86. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  87. Prefix string `protobuf:"bytes,2,opt,name=prefix" json:"prefix,omitempty"`
  88. StartFromFileName string `protobuf:"bytes,3,opt,name=startFromFileName" json:"startFromFileName,omitempty"`
  89. InclusiveStartFrom bool `protobuf:"varint,4,opt,name=inclusiveStartFrom" json:"inclusiveStartFrom,omitempty"`
  90. Limit uint32 `protobuf:"varint,5,opt,name=limit" json:"limit,omitempty"`
  91. }
  92. func (m *ListEntriesRequest) Reset() { *m = ListEntriesRequest{} }
  93. func (m *ListEntriesRequest) String() string { return proto.CompactTextString(m) }
  94. func (*ListEntriesRequest) ProtoMessage() {}
  95. func (*ListEntriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
  96. func (m *ListEntriesRequest) GetDirectory() string {
  97. if m != nil {
  98. return m.Directory
  99. }
  100. return ""
  101. }
  102. func (m *ListEntriesRequest) GetPrefix() string {
  103. if m != nil {
  104. return m.Prefix
  105. }
  106. return ""
  107. }
  108. func (m *ListEntriesRequest) GetStartFromFileName() string {
  109. if m != nil {
  110. return m.StartFromFileName
  111. }
  112. return ""
  113. }
  114. func (m *ListEntriesRequest) GetInclusiveStartFrom() bool {
  115. if m != nil {
  116. return m.InclusiveStartFrom
  117. }
  118. return false
  119. }
  120. func (m *ListEntriesRequest) GetLimit() uint32 {
  121. if m != nil {
  122. return m.Limit
  123. }
  124. return 0
  125. }
  126. type ListEntriesResponse struct {
  127. Entries []*Entry `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty"`
  128. }
  129. func (m *ListEntriesResponse) Reset() { *m = ListEntriesResponse{} }
  130. func (m *ListEntriesResponse) String() string { return proto.CompactTextString(m) }
  131. func (*ListEntriesResponse) ProtoMessage() {}
  132. func (*ListEntriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
  133. func (m *ListEntriesResponse) GetEntries() []*Entry {
  134. if m != nil {
  135. return m.Entries
  136. }
  137. return nil
  138. }
  139. type Entry struct {
  140. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  141. IsDirectory bool `protobuf:"varint,2,opt,name=is_directory,json=isDirectory" json:"is_directory,omitempty"`
  142. Chunks []*FileChunk `protobuf:"bytes,3,rep,name=chunks" json:"chunks,omitempty"`
  143. Attributes *FuseAttributes `protobuf:"bytes,4,opt,name=attributes" json:"attributes,omitempty"`
  144. }
  145. func (m *Entry) Reset() { *m = Entry{} }
  146. func (m *Entry) String() string { return proto.CompactTextString(m) }
  147. func (*Entry) ProtoMessage() {}
  148. func (*Entry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
  149. func (m *Entry) GetName() string {
  150. if m != nil {
  151. return m.Name
  152. }
  153. return ""
  154. }
  155. func (m *Entry) GetIsDirectory() bool {
  156. if m != nil {
  157. return m.IsDirectory
  158. }
  159. return false
  160. }
  161. func (m *Entry) GetChunks() []*FileChunk {
  162. if m != nil {
  163. return m.Chunks
  164. }
  165. return nil
  166. }
  167. func (m *Entry) GetAttributes() *FuseAttributes {
  168. if m != nil {
  169. return m.Attributes
  170. }
  171. return nil
  172. }
  173. type FileChunk struct {
  174. FileId string `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  175. Offset int64 `protobuf:"varint,2,opt,name=offset" json:"offset,omitempty"`
  176. Size uint64 `protobuf:"varint,3,opt,name=size" json:"size,omitempty"`
  177. Mtime int64 `protobuf:"varint,4,opt,name=mtime" json:"mtime,omitempty"`
  178. }
  179. func (m *FileChunk) Reset() { *m = FileChunk{} }
  180. func (m *FileChunk) String() string { return proto.CompactTextString(m) }
  181. func (*FileChunk) ProtoMessage() {}
  182. func (*FileChunk) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
  183. func (m *FileChunk) GetFileId() string {
  184. if m != nil {
  185. return m.FileId
  186. }
  187. return ""
  188. }
  189. func (m *FileChunk) GetOffset() int64 {
  190. if m != nil {
  191. return m.Offset
  192. }
  193. return 0
  194. }
  195. func (m *FileChunk) GetSize() uint64 {
  196. if m != nil {
  197. return m.Size
  198. }
  199. return 0
  200. }
  201. func (m *FileChunk) GetMtime() int64 {
  202. if m != nil {
  203. return m.Mtime
  204. }
  205. return 0
  206. }
  207. type FuseAttributes struct {
  208. FileSize uint64 `protobuf:"varint,1,opt,name=file_size,json=fileSize" json:"file_size,omitempty"`
  209. Mtime int64 `protobuf:"varint,2,opt,name=mtime" json:"mtime,omitempty"`
  210. FileMode uint32 `protobuf:"varint,3,opt,name=file_mode,json=fileMode" json:"file_mode,omitempty"`
  211. Uid uint32 `protobuf:"varint,4,opt,name=uid" json:"uid,omitempty"`
  212. Gid uint32 `protobuf:"varint,5,opt,name=gid" json:"gid,omitempty"`
  213. Crtime int64 `protobuf:"varint,6,opt,name=crtime" json:"crtime,omitempty"`
  214. Mime string `protobuf:"bytes,7,opt,name=mime" json:"mime,omitempty"`
  215. Replication string `protobuf:"bytes,8,opt,name=replication" json:"replication,omitempty"`
  216. Collection string `protobuf:"bytes,9,opt,name=collection" json:"collection,omitempty"`
  217. TtlSec int32 `protobuf:"varint,10,opt,name=ttl_sec,json=ttlSec" json:"ttl_sec,omitempty"`
  218. }
  219. func (m *FuseAttributes) Reset() { *m = FuseAttributes{} }
  220. func (m *FuseAttributes) String() string { return proto.CompactTextString(m) }
  221. func (*FuseAttributes) ProtoMessage() {}
  222. func (*FuseAttributes) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
  223. func (m *FuseAttributes) GetFileSize() uint64 {
  224. if m != nil {
  225. return m.FileSize
  226. }
  227. return 0
  228. }
  229. func (m *FuseAttributes) GetMtime() int64 {
  230. if m != nil {
  231. return m.Mtime
  232. }
  233. return 0
  234. }
  235. func (m *FuseAttributes) GetFileMode() uint32 {
  236. if m != nil {
  237. return m.FileMode
  238. }
  239. return 0
  240. }
  241. func (m *FuseAttributes) GetUid() uint32 {
  242. if m != nil {
  243. return m.Uid
  244. }
  245. return 0
  246. }
  247. func (m *FuseAttributes) GetGid() uint32 {
  248. if m != nil {
  249. return m.Gid
  250. }
  251. return 0
  252. }
  253. func (m *FuseAttributes) GetCrtime() int64 {
  254. if m != nil {
  255. return m.Crtime
  256. }
  257. return 0
  258. }
  259. func (m *FuseAttributes) GetMime() string {
  260. if m != nil {
  261. return m.Mime
  262. }
  263. return ""
  264. }
  265. func (m *FuseAttributes) GetReplication() string {
  266. if m != nil {
  267. return m.Replication
  268. }
  269. return ""
  270. }
  271. func (m *FuseAttributes) GetCollection() string {
  272. if m != nil {
  273. return m.Collection
  274. }
  275. return ""
  276. }
  277. func (m *FuseAttributes) GetTtlSec() int32 {
  278. if m != nil {
  279. return m.TtlSec
  280. }
  281. return 0
  282. }
  283. type GetEntryAttributesRequest struct {
  284. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  285. ParentDir string `protobuf:"bytes,2,opt,name=parent_dir,json=parentDir" json:"parent_dir,omitempty"`
  286. FileId string `protobuf:"bytes,3,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  287. }
  288. func (m *GetEntryAttributesRequest) Reset() { *m = GetEntryAttributesRequest{} }
  289. func (m *GetEntryAttributesRequest) String() string { return proto.CompactTextString(m) }
  290. func (*GetEntryAttributesRequest) ProtoMessage() {}
  291. func (*GetEntryAttributesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
  292. func (m *GetEntryAttributesRequest) GetName() string {
  293. if m != nil {
  294. return m.Name
  295. }
  296. return ""
  297. }
  298. func (m *GetEntryAttributesRequest) GetParentDir() string {
  299. if m != nil {
  300. return m.ParentDir
  301. }
  302. return ""
  303. }
  304. func (m *GetEntryAttributesRequest) GetFileId() string {
  305. if m != nil {
  306. return m.FileId
  307. }
  308. return ""
  309. }
  310. type GetEntryAttributesResponse struct {
  311. Attributes *FuseAttributes `protobuf:"bytes,1,opt,name=attributes" json:"attributes,omitempty"`
  312. Chunks []*FileChunk `protobuf:"bytes,2,rep,name=chunks" json:"chunks,omitempty"`
  313. }
  314. func (m *GetEntryAttributesResponse) Reset() { *m = GetEntryAttributesResponse{} }
  315. func (m *GetEntryAttributesResponse) String() string { return proto.CompactTextString(m) }
  316. func (*GetEntryAttributesResponse) ProtoMessage() {}
  317. func (*GetEntryAttributesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
  318. func (m *GetEntryAttributesResponse) GetAttributes() *FuseAttributes {
  319. if m != nil {
  320. return m.Attributes
  321. }
  322. return nil
  323. }
  324. func (m *GetEntryAttributesResponse) GetChunks() []*FileChunk {
  325. if m != nil {
  326. return m.Chunks
  327. }
  328. return nil
  329. }
  330. type GetFileContentRequest struct {
  331. FileId string `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  332. }
  333. func (m *GetFileContentRequest) Reset() { *m = GetFileContentRequest{} }
  334. func (m *GetFileContentRequest) String() string { return proto.CompactTextString(m) }
  335. func (*GetFileContentRequest) ProtoMessage() {}
  336. func (*GetFileContentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
  337. func (m *GetFileContentRequest) GetFileId() string {
  338. if m != nil {
  339. return m.FileId
  340. }
  341. return ""
  342. }
  343. type GetFileContentResponse struct {
  344. Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
  345. }
  346. func (m *GetFileContentResponse) Reset() { *m = GetFileContentResponse{} }
  347. func (m *GetFileContentResponse) String() string { return proto.CompactTextString(m) }
  348. func (*GetFileContentResponse) ProtoMessage() {}
  349. func (*GetFileContentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
  350. func (m *GetFileContentResponse) GetContent() []byte {
  351. if m != nil {
  352. return m.Content
  353. }
  354. return nil
  355. }
  356. type CreateEntryRequest struct {
  357. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  358. Entry *Entry `protobuf:"bytes,2,opt,name=entry" json:"entry,omitempty"`
  359. }
  360. func (m *CreateEntryRequest) Reset() { *m = CreateEntryRequest{} }
  361. func (m *CreateEntryRequest) String() string { return proto.CompactTextString(m) }
  362. func (*CreateEntryRequest) ProtoMessage() {}
  363. func (*CreateEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
  364. func (m *CreateEntryRequest) GetDirectory() string {
  365. if m != nil {
  366. return m.Directory
  367. }
  368. return ""
  369. }
  370. func (m *CreateEntryRequest) GetEntry() *Entry {
  371. if m != nil {
  372. return m.Entry
  373. }
  374. return nil
  375. }
  376. type CreateEntryResponse struct {
  377. }
  378. func (m *CreateEntryResponse) Reset() { *m = CreateEntryResponse{} }
  379. func (m *CreateEntryResponse) String() string { return proto.CompactTextString(m) }
  380. func (*CreateEntryResponse) ProtoMessage() {}
  381. func (*CreateEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
  382. type UpdateEntryRequest struct {
  383. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  384. Entry *Entry `protobuf:"bytes,2,opt,name=entry" json:"entry,omitempty"`
  385. }
  386. func (m *UpdateEntryRequest) Reset() { *m = UpdateEntryRequest{} }
  387. func (m *UpdateEntryRequest) String() string { return proto.CompactTextString(m) }
  388. func (*UpdateEntryRequest) ProtoMessage() {}
  389. func (*UpdateEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
  390. func (m *UpdateEntryRequest) GetDirectory() string {
  391. if m != nil {
  392. return m.Directory
  393. }
  394. return ""
  395. }
  396. func (m *UpdateEntryRequest) GetEntry() *Entry {
  397. if m != nil {
  398. return m.Entry
  399. }
  400. return nil
  401. }
  402. type UpdateEntryResponse struct {
  403. }
  404. func (m *UpdateEntryResponse) Reset() { *m = UpdateEntryResponse{} }
  405. func (m *UpdateEntryResponse) String() string { return proto.CompactTextString(m) }
  406. func (*UpdateEntryResponse) ProtoMessage() {}
  407. func (*UpdateEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
  408. type DeleteEntryRequest struct {
  409. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  410. Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
  411. IsDirectory bool `protobuf:"varint,3,opt,name=is_directory,json=isDirectory" json:"is_directory,omitempty"`
  412. IsDeleteData bool `protobuf:"varint,4,opt,name=is_delete_data,json=isDeleteData" json:"is_delete_data,omitempty"`
  413. IsRecursive bool `protobuf:"varint,5,opt,name=is_recursive,json=isRecursive" json:"is_recursive,omitempty"`
  414. }
  415. func (m *DeleteEntryRequest) Reset() { *m = DeleteEntryRequest{} }
  416. func (m *DeleteEntryRequest) String() string { return proto.CompactTextString(m) }
  417. func (*DeleteEntryRequest) ProtoMessage() {}
  418. func (*DeleteEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
  419. func (m *DeleteEntryRequest) GetDirectory() string {
  420. if m != nil {
  421. return m.Directory
  422. }
  423. return ""
  424. }
  425. func (m *DeleteEntryRequest) GetName() string {
  426. if m != nil {
  427. return m.Name
  428. }
  429. return ""
  430. }
  431. func (m *DeleteEntryRequest) GetIsDirectory() bool {
  432. if m != nil {
  433. return m.IsDirectory
  434. }
  435. return false
  436. }
  437. func (m *DeleteEntryRequest) GetIsDeleteData() bool {
  438. if m != nil {
  439. return m.IsDeleteData
  440. }
  441. return false
  442. }
  443. func (m *DeleteEntryRequest) GetIsRecursive() bool {
  444. if m != nil {
  445. return m.IsRecursive
  446. }
  447. return false
  448. }
  449. type DeleteEntryResponse struct {
  450. }
  451. func (m *DeleteEntryResponse) Reset() { *m = DeleteEntryResponse{} }
  452. func (m *DeleteEntryResponse) String() string { return proto.CompactTextString(m) }
  453. func (*DeleteEntryResponse) ProtoMessage() {}
  454. func (*DeleteEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
  455. type AssignVolumeRequest struct {
  456. Count int32 `protobuf:"varint,1,opt,name=count" json:"count,omitempty"`
  457. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  458. Replication string `protobuf:"bytes,3,opt,name=replication" json:"replication,omitempty"`
  459. TtlSec int32 `protobuf:"varint,4,opt,name=ttl_sec,json=ttlSec" json:"ttl_sec,omitempty"`
  460. DataCenter string `protobuf:"bytes,5,opt,name=data_center,json=dataCenter" json:"data_center,omitempty"`
  461. }
  462. func (m *AssignVolumeRequest) Reset() { *m = AssignVolumeRequest{} }
  463. func (m *AssignVolumeRequest) String() string { return proto.CompactTextString(m) }
  464. func (*AssignVolumeRequest) ProtoMessage() {}
  465. func (*AssignVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
  466. func (m *AssignVolumeRequest) GetCount() int32 {
  467. if m != nil {
  468. return m.Count
  469. }
  470. return 0
  471. }
  472. func (m *AssignVolumeRequest) GetCollection() string {
  473. if m != nil {
  474. return m.Collection
  475. }
  476. return ""
  477. }
  478. func (m *AssignVolumeRequest) GetReplication() string {
  479. if m != nil {
  480. return m.Replication
  481. }
  482. return ""
  483. }
  484. func (m *AssignVolumeRequest) GetTtlSec() int32 {
  485. if m != nil {
  486. return m.TtlSec
  487. }
  488. return 0
  489. }
  490. func (m *AssignVolumeRequest) GetDataCenter() string {
  491. if m != nil {
  492. return m.DataCenter
  493. }
  494. return ""
  495. }
  496. type AssignVolumeResponse struct {
  497. FileId string `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  498. Url string `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"`
  499. PublicUrl string `protobuf:"bytes,3,opt,name=public_url,json=publicUrl" json:"public_url,omitempty"`
  500. Count int32 `protobuf:"varint,4,opt,name=count" json:"count,omitempty"`
  501. }
  502. func (m *AssignVolumeResponse) Reset() { *m = AssignVolumeResponse{} }
  503. func (m *AssignVolumeResponse) String() string { return proto.CompactTextString(m) }
  504. func (*AssignVolumeResponse) ProtoMessage() {}
  505. func (*AssignVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
  506. func (m *AssignVolumeResponse) GetFileId() string {
  507. if m != nil {
  508. return m.FileId
  509. }
  510. return ""
  511. }
  512. func (m *AssignVolumeResponse) GetUrl() string {
  513. if m != nil {
  514. return m.Url
  515. }
  516. return ""
  517. }
  518. func (m *AssignVolumeResponse) GetPublicUrl() string {
  519. if m != nil {
  520. return m.PublicUrl
  521. }
  522. return ""
  523. }
  524. func (m *AssignVolumeResponse) GetCount() int32 {
  525. if m != nil {
  526. return m.Count
  527. }
  528. return 0
  529. }
  530. type LookupVolumeRequest struct {
  531. VolumeIds []string `protobuf:"bytes,1,rep,name=volume_ids,json=volumeIds" json:"volume_ids,omitempty"`
  532. }
  533. func (m *LookupVolumeRequest) Reset() { *m = LookupVolumeRequest{} }
  534. func (m *LookupVolumeRequest) String() string { return proto.CompactTextString(m) }
  535. func (*LookupVolumeRequest) ProtoMessage() {}
  536. func (*LookupVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
  537. func (m *LookupVolumeRequest) GetVolumeIds() []string {
  538. if m != nil {
  539. return m.VolumeIds
  540. }
  541. return nil
  542. }
  543. type Locations struct {
  544. Locations []*Location `protobuf:"bytes,1,rep,name=locations" json:"locations,omitempty"`
  545. }
  546. func (m *Locations) Reset() { *m = Locations{} }
  547. func (m *Locations) String() string { return proto.CompactTextString(m) }
  548. func (*Locations) ProtoMessage() {}
  549. func (*Locations) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
  550. func (m *Locations) GetLocations() []*Location {
  551. if m != nil {
  552. return m.Locations
  553. }
  554. return nil
  555. }
  556. type Location struct {
  557. Url string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
  558. PublicUrl string `protobuf:"bytes,2,opt,name=public_url,json=publicUrl" json:"public_url,omitempty"`
  559. }
  560. func (m *Location) Reset() { *m = Location{} }
  561. func (m *Location) String() string { return proto.CompactTextString(m) }
  562. func (*Location) ProtoMessage() {}
  563. func (*Location) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
  564. func (m *Location) GetUrl() string {
  565. if m != nil {
  566. return m.Url
  567. }
  568. return ""
  569. }
  570. func (m *Location) GetPublicUrl() string {
  571. if m != nil {
  572. return m.PublicUrl
  573. }
  574. return ""
  575. }
  576. type LookupVolumeResponse struct {
  577. LocationsMap map[string]*Locations `protobuf:"bytes,1,rep,name=locations_map,json=locationsMap" json:"locations_map,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  578. }
  579. func (m *LookupVolumeResponse) Reset() { *m = LookupVolumeResponse{} }
  580. func (m *LookupVolumeResponse) String() string { return proto.CompactTextString(m) }
  581. func (*LookupVolumeResponse) ProtoMessage() {}
  582. func (*LookupVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
  583. func (m *LookupVolumeResponse) GetLocationsMap() map[string]*Locations {
  584. if m != nil {
  585. return m.LocationsMap
  586. }
  587. return nil
  588. }
  589. type DeleteCollectionRequest struct {
  590. Collection string `protobuf:"bytes,1,opt,name=collection" json:"collection,omitempty"`
  591. }
  592. func (m *DeleteCollectionRequest) Reset() { *m = DeleteCollectionRequest{} }
  593. func (m *DeleteCollectionRequest) String() string { return proto.CompactTextString(m) }
  594. func (*DeleteCollectionRequest) ProtoMessage() {}
  595. func (*DeleteCollectionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
  596. func (m *DeleteCollectionRequest) GetCollection() string {
  597. if m != nil {
  598. return m.Collection
  599. }
  600. return ""
  601. }
  602. type DeleteCollectionResponse struct {
  603. }
  604. func (m *DeleteCollectionResponse) Reset() { *m = DeleteCollectionResponse{} }
  605. func (m *DeleteCollectionResponse) String() string { return proto.CompactTextString(m) }
  606. func (*DeleteCollectionResponse) ProtoMessage() {}
  607. func (*DeleteCollectionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
  608. func init() {
  609. proto.RegisterType((*LookupDirectoryEntryRequest)(nil), "filer_pb.LookupDirectoryEntryRequest")
  610. proto.RegisterType((*LookupDirectoryEntryResponse)(nil), "filer_pb.LookupDirectoryEntryResponse")
  611. proto.RegisterType((*ListEntriesRequest)(nil), "filer_pb.ListEntriesRequest")
  612. proto.RegisterType((*ListEntriesResponse)(nil), "filer_pb.ListEntriesResponse")
  613. proto.RegisterType((*Entry)(nil), "filer_pb.Entry")
  614. proto.RegisterType((*FileChunk)(nil), "filer_pb.FileChunk")
  615. proto.RegisterType((*FuseAttributes)(nil), "filer_pb.FuseAttributes")
  616. proto.RegisterType((*GetEntryAttributesRequest)(nil), "filer_pb.GetEntryAttributesRequest")
  617. proto.RegisterType((*GetEntryAttributesResponse)(nil), "filer_pb.GetEntryAttributesResponse")
  618. proto.RegisterType((*GetFileContentRequest)(nil), "filer_pb.GetFileContentRequest")
  619. proto.RegisterType((*GetFileContentResponse)(nil), "filer_pb.GetFileContentResponse")
  620. proto.RegisterType((*CreateEntryRequest)(nil), "filer_pb.CreateEntryRequest")
  621. proto.RegisterType((*CreateEntryResponse)(nil), "filer_pb.CreateEntryResponse")
  622. proto.RegisterType((*UpdateEntryRequest)(nil), "filer_pb.UpdateEntryRequest")
  623. proto.RegisterType((*UpdateEntryResponse)(nil), "filer_pb.UpdateEntryResponse")
  624. proto.RegisterType((*DeleteEntryRequest)(nil), "filer_pb.DeleteEntryRequest")
  625. proto.RegisterType((*DeleteEntryResponse)(nil), "filer_pb.DeleteEntryResponse")
  626. proto.RegisterType((*AssignVolumeRequest)(nil), "filer_pb.AssignVolumeRequest")
  627. proto.RegisterType((*AssignVolumeResponse)(nil), "filer_pb.AssignVolumeResponse")
  628. proto.RegisterType((*LookupVolumeRequest)(nil), "filer_pb.LookupVolumeRequest")
  629. proto.RegisterType((*Locations)(nil), "filer_pb.Locations")
  630. proto.RegisterType((*Location)(nil), "filer_pb.Location")
  631. proto.RegisterType((*LookupVolumeResponse)(nil), "filer_pb.LookupVolumeResponse")
  632. proto.RegisterType((*DeleteCollectionRequest)(nil), "filer_pb.DeleteCollectionRequest")
  633. proto.RegisterType((*DeleteCollectionResponse)(nil), "filer_pb.DeleteCollectionResponse")
  634. }
  635. // Reference imports to suppress errors if they are not otherwise used.
  636. var _ context.Context
  637. var _ grpc.ClientConn
  638. // This is a compile-time assertion to ensure that this generated file
  639. // is compatible with the grpc package it is being compiled against.
  640. const _ = grpc.SupportPackageIsVersion4
  641. // Client API for SeaweedFiler service
  642. type SeaweedFilerClient interface {
  643. LookupDirectoryEntry(ctx context.Context, in *LookupDirectoryEntryRequest, opts ...grpc.CallOption) (*LookupDirectoryEntryResponse, error)
  644. ListEntries(ctx context.Context, in *ListEntriesRequest, opts ...grpc.CallOption) (*ListEntriesResponse, error)
  645. GetEntryAttributes(ctx context.Context, in *GetEntryAttributesRequest, opts ...grpc.CallOption) (*GetEntryAttributesResponse, error)
  646. CreateEntry(ctx context.Context, in *CreateEntryRequest, opts ...grpc.CallOption) (*CreateEntryResponse, error)
  647. UpdateEntry(ctx context.Context, in *UpdateEntryRequest, opts ...grpc.CallOption) (*UpdateEntryResponse, error)
  648. DeleteEntry(ctx context.Context, in *DeleteEntryRequest, opts ...grpc.CallOption) (*DeleteEntryResponse, error)
  649. AssignVolume(ctx context.Context, in *AssignVolumeRequest, opts ...grpc.CallOption) (*AssignVolumeResponse, error)
  650. LookupVolume(ctx context.Context, in *LookupVolumeRequest, opts ...grpc.CallOption) (*LookupVolumeResponse, error)
  651. DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error)
  652. }
  653. type seaweedFilerClient struct {
  654. cc *grpc.ClientConn
  655. }
  656. func NewSeaweedFilerClient(cc *grpc.ClientConn) SeaweedFilerClient {
  657. return &seaweedFilerClient{cc}
  658. }
  659. func (c *seaweedFilerClient) LookupDirectoryEntry(ctx context.Context, in *LookupDirectoryEntryRequest, opts ...grpc.CallOption) (*LookupDirectoryEntryResponse, error) {
  660. out := new(LookupDirectoryEntryResponse)
  661. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/LookupDirectoryEntry", in, out, c.cc, opts...)
  662. if err != nil {
  663. return nil, err
  664. }
  665. return out, nil
  666. }
  667. func (c *seaweedFilerClient) ListEntries(ctx context.Context, in *ListEntriesRequest, opts ...grpc.CallOption) (*ListEntriesResponse, error) {
  668. out := new(ListEntriesResponse)
  669. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/ListEntries", in, out, c.cc, opts...)
  670. if err != nil {
  671. return nil, err
  672. }
  673. return out, nil
  674. }
  675. func (c *seaweedFilerClient) GetEntryAttributes(ctx context.Context, in *GetEntryAttributesRequest, opts ...grpc.CallOption) (*GetEntryAttributesResponse, error) {
  676. out := new(GetEntryAttributesResponse)
  677. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/GetEntryAttributes", in, out, c.cc, opts...)
  678. if err != nil {
  679. return nil, err
  680. }
  681. return out, nil
  682. }
  683. func (c *seaweedFilerClient) CreateEntry(ctx context.Context, in *CreateEntryRequest, opts ...grpc.CallOption) (*CreateEntryResponse, error) {
  684. out := new(CreateEntryResponse)
  685. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/CreateEntry", in, out, c.cc, opts...)
  686. if err != nil {
  687. return nil, err
  688. }
  689. return out, nil
  690. }
  691. func (c *seaweedFilerClient) UpdateEntry(ctx context.Context, in *UpdateEntryRequest, opts ...grpc.CallOption) (*UpdateEntryResponse, error) {
  692. out := new(UpdateEntryResponse)
  693. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/UpdateEntry", in, out, c.cc, opts...)
  694. if err != nil {
  695. return nil, err
  696. }
  697. return out, nil
  698. }
  699. func (c *seaweedFilerClient) DeleteEntry(ctx context.Context, in *DeleteEntryRequest, opts ...grpc.CallOption) (*DeleteEntryResponse, error) {
  700. out := new(DeleteEntryResponse)
  701. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/DeleteEntry", in, out, c.cc, opts...)
  702. if err != nil {
  703. return nil, err
  704. }
  705. return out, nil
  706. }
  707. func (c *seaweedFilerClient) AssignVolume(ctx context.Context, in *AssignVolumeRequest, opts ...grpc.CallOption) (*AssignVolumeResponse, error) {
  708. out := new(AssignVolumeResponse)
  709. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/AssignVolume", in, out, c.cc, opts...)
  710. if err != nil {
  711. return nil, err
  712. }
  713. return out, nil
  714. }
  715. func (c *seaweedFilerClient) LookupVolume(ctx context.Context, in *LookupVolumeRequest, opts ...grpc.CallOption) (*LookupVolumeResponse, error) {
  716. out := new(LookupVolumeResponse)
  717. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/LookupVolume", in, out, c.cc, opts...)
  718. if err != nil {
  719. return nil, err
  720. }
  721. return out, nil
  722. }
  723. func (c *seaweedFilerClient) DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error) {
  724. out := new(DeleteCollectionResponse)
  725. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/DeleteCollection", in, out, c.cc, opts...)
  726. if err != nil {
  727. return nil, err
  728. }
  729. return out, nil
  730. }
  731. // Server API for SeaweedFiler service
  732. type SeaweedFilerServer interface {
  733. LookupDirectoryEntry(context.Context, *LookupDirectoryEntryRequest) (*LookupDirectoryEntryResponse, error)
  734. ListEntries(context.Context, *ListEntriesRequest) (*ListEntriesResponse, error)
  735. GetEntryAttributes(context.Context, *GetEntryAttributesRequest) (*GetEntryAttributesResponse, error)
  736. CreateEntry(context.Context, *CreateEntryRequest) (*CreateEntryResponse, error)
  737. UpdateEntry(context.Context, *UpdateEntryRequest) (*UpdateEntryResponse, error)
  738. DeleteEntry(context.Context, *DeleteEntryRequest) (*DeleteEntryResponse, error)
  739. AssignVolume(context.Context, *AssignVolumeRequest) (*AssignVolumeResponse, error)
  740. LookupVolume(context.Context, *LookupVolumeRequest) (*LookupVolumeResponse, error)
  741. DeleteCollection(context.Context, *DeleteCollectionRequest) (*DeleteCollectionResponse, error)
  742. }
  743. func RegisterSeaweedFilerServer(s *grpc.Server, srv SeaweedFilerServer) {
  744. s.RegisterService(&_SeaweedFiler_serviceDesc, srv)
  745. }
  746. func _SeaweedFiler_LookupDirectoryEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  747. in := new(LookupDirectoryEntryRequest)
  748. if err := dec(in); err != nil {
  749. return nil, err
  750. }
  751. if interceptor == nil {
  752. return srv.(SeaweedFilerServer).LookupDirectoryEntry(ctx, in)
  753. }
  754. info := &grpc.UnaryServerInfo{
  755. Server: srv,
  756. FullMethod: "/filer_pb.SeaweedFiler/LookupDirectoryEntry",
  757. }
  758. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  759. return srv.(SeaweedFilerServer).LookupDirectoryEntry(ctx, req.(*LookupDirectoryEntryRequest))
  760. }
  761. return interceptor(ctx, in, info, handler)
  762. }
  763. func _SeaweedFiler_ListEntries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  764. in := new(ListEntriesRequest)
  765. if err := dec(in); err != nil {
  766. return nil, err
  767. }
  768. if interceptor == nil {
  769. return srv.(SeaweedFilerServer).ListEntries(ctx, in)
  770. }
  771. info := &grpc.UnaryServerInfo{
  772. Server: srv,
  773. FullMethod: "/filer_pb.SeaweedFiler/ListEntries",
  774. }
  775. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  776. return srv.(SeaweedFilerServer).ListEntries(ctx, req.(*ListEntriesRequest))
  777. }
  778. return interceptor(ctx, in, info, handler)
  779. }
  780. func _SeaweedFiler_GetEntryAttributes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  781. in := new(GetEntryAttributesRequest)
  782. if err := dec(in); err != nil {
  783. return nil, err
  784. }
  785. if interceptor == nil {
  786. return srv.(SeaweedFilerServer).GetEntryAttributes(ctx, in)
  787. }
  788. info := &grpc.UnaryServerInfo{
  789. Server: srv,
  790. FullMethod: "/filer_pb.SeaweedFiler/GetEntryAttributes",
  791. }
  792. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  793. return srv.(SeaweedFilerServer).GetEntryAttributes(ctx, req.(*GetEntryAttributesRequest))
  794. }
  795. return interceptor(ctx, in, info, handler)
  796. }
  797. func _SeaweedFiler_CreateEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  798. in := new(CreateEntryRequest)
  799. if err := dec(in); err != nil {
  800. return nil, err
  801. }
  802. if interceptor == nil {
  803. return srv.(SeaweedFilerServer).CreateEntry(ctx, in)
  804. }
  805. info := &grpc.UnaryServerInfo{
  806. Server: srv,
  807. FullMethod: "/filer_pb.SeaweedFiler/CreateEntry",
  808. }
  809. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  810. return srv.(SeaweedFilerServer).CreateEntry(ctx, req.(*CreateEntryRequest))
  811. }
  812. return interceptor(ctx, in, info, handler)
  813. }
  814. func _SeaweedFiler_UpdateEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  815. in := new(UpdateEntryRequest)
  816. if err := dec(in); err != nil {
  817. return nil, err
  818. }
  819. if interceptor == nil {
  820. return srv.(SeaweedFilerServer).UpdateEntry(ctx, in)
  821. }
  822. info := &grpc.UnaryServerInfo{
  823. Server: srv,
  824. FullMethod: "/filer_pb.SeaweedFiler/UpdateEntry",
  825. }
  826. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  827. return srv.(SeaweedFilerServer).UpdateEntry(ctx, req.(*UpdateEntryRequest))
  828. }
  829. return interceptor(ctx, in, info, handler)
  830. }
  831. func _SeaweedFiler_DeleteEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  832. in := new(DeleteEntryRequest)
  833. if err := dec(in); err != nil {
  834. return nil, err
  835. }
  836. if interceptor == nil {
  837. return srv.(SeaweedFilerServer).DeleteEntry(ctx, in)
  838. }
  839. info := &grpc.UnaryServerInfo{
  840. Server: srv,
  841. FullMethod: "/filer_pb.SeaweedFiler/DeleteEntry",
  842. }
  843. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  844. return srv.(SeaweedFilerServer).DeleteEntry(ctx, req.(*DeleteEntryRequest))
  845. }
  846. return interceptor(ctx, in, info, handler)
  847. }
  848. func _SeaweedFiler_AssignVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  849. in := new(AssignVolumeRequest)
  850. if err := dec(in); err != nil {
  851. return nil, err
  852. }
  853. if interceptor == nil {
  854. return srv.(SeaweedFilerServer).AssignVolume(ctx, in)
  855. }
  856. info := &grpc.UnaryServerInfo{
  857. Server: srv,
  858. FullMethod: "/filer_pb.SeaweedFiler/AssignVolume",
  859. }
  860. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  861. return srv.(SeaweedFilerServer).AssignVolume(ctx, req.(*AssignVolumeRequest))
  862. }
  863. return interceptor(ctx, in, info, handler)
  864. }
  865. func _SeaweedFiler_LookupVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  866. in := new(LookupVolumeRequest)
  867. if err := dec(in); err != nil {
  868. return nil, err
  869. }
  870. if interceptor == nil {
  871. return srv.(SeaweedFilerServer).LookupVolume(ctx, in)
  872. }
  873. info := &grpc.UnaryServerInfo{
  874. Server: srv,
  875. FullMethod: "/filer_pb.SeaweedFiler/LookupVolume",
  876. }
  877. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  878. return srv.(SeaweedFilerServer).LookupVolume(ctx, req.(*LookupVolumeRequest))
  879. }
  880. return interceptor(ctx, in, info, handler)
  881. }
  882. func _SeaweedFiler_DeleteCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  883. in := new(DeleteCollectionRequest)
  884. if err := dec(in); err != nil {
  885. return nil, err
  886. }
  887. if interceptor == nil {
  888. return srv.(SeaweedFilerServer).DeleteCollection(ctx, in)
  889. }
  890. info := &grpc.UnaryServerInfo{
  891. Server: srv,
  892. FullMethod: "/filer_pb.SeaweedFiler/DeleteCollection",
  893. }
  894. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  895. return srv.(SeaweedFilerServer).DeleteCollection(ctx, req.(*DeleteCollectionRequest))
  896. }
  897. return interceptor(ctx, in, info, handler)
  898. }
  899. var _SeaweedFiler_serviceDesc = grpc.ServiceDesc{
  900. ServiceName: "filer_pb.SeaweedFiler",
  901. HandlerType: (*SeaweedFilerServer)(nil),
  902. Methods: []grpc.MethodDesc{
  903. {
  904. MethodName: "LookupDirectoryEntry",
  905. Handler: _SeaweedFiler_LookupDirectoryEntry_Handler,
  906. },
  907. {
  908. MethodName: "ListEntries",
  909. Handler: _SeaweedFiler_ListEntries_Handler,
  910. },
  911. {
  912. MethodName: "GetEntryAttributes",
  913. Handler: _SeaweedFiler_GetEntryAttributes_Handler,
  914. },
  915. {
  916. MethodName: "CreateEntry",
  917. Handler: _SeaweedFiler_CreateEntry_Handler,
  918. },
  919. {
  920. MethodName: "UpdateEntry",
  921. Handler: _SeaweedFiler_UpdateEntry_Handler,
  922. },
  923. {
  924. MethodName: "DeleteEntry",
  925. Handler: _SeaweedFiler_DeleteEntry_Handler,
  926. },
  927. {
  928. MethodName: "AssignVolume",
  929. Handler: _SeaweedFiler_AssignVolume_Handler,
  930. },
  931. {
  932. MethodName: "LookupVolume",
  933. Handler: _SeaweedFiler_LookupVolume_Handler,
  934. },
  935. {
  936. MethodName: "DeleteCollection",
  937. Handler: _SeaweedFiler_DeleteCollection_Handler,
  938. },
  939. },
  940. Streams: []grpc.StreamDesc{},
  941. Metadata: "filer.proto",
  942. }
  943. func init() { proto.RegisterFile("filer.proto", fileDescriptor0) }
  944. var fileDescriptor0 = []byte{
  945. // 1108 bytes of a gzipped FileDescriptorProto
  946. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x57, 0x4f, 0x6f, 0xdc, 0x44,
  947. 0x14, 0x8f, 0xd7, 0xbb, 0x9b, 0xf8, 0xed, 0xa6, 0xb4, 0xb3, 0x69, 0x6b, 0xb6, 0x49, 0xd9, 0x0e,
  948. 0x2d, 0x4a, 0x05, 0x8a, 0xa2, 0xc0, 0xa1, 0x80, 0x90, 0xa8, 0x92, 0xb6, 0xaa, 0x94, 0x52, 0xc9,
  949. 0x21, 0x48, 0x88, 0xc3, 0xca, 0xb1, 0x67, 0xc3, 0x28, 0x5e, 0xdb, 0xcc, 0x8c, 0x03, 0xe1, 0xca,
  950. 0x91, 0x13, 0x1f, 0x02, 0x71, 0xe7, 0x03, 0x70, 0xe1, 0x8b, 0xa1, 0xf9, 0x63, 0xef, 0x78, 0xed,
  951. 0x4d, 0xdb, 0x03, 0xb7, 0x99, 0xf7, 0xde, 0xfc, 0xe6, 0xf7, 0xde, 0xbc, 0xf7, 0xf3, 0x2e, 0x0c,
  952. 0x66, 0x34, 0x21, 0x6c, 0x2f, 0x67, 0x99, 0xc8, 0xd0, 0x86, 0xda, 0x4c, 0xf3, 0x33, 0xfc, 0x1a,
  953. 0xee, 0x1d, 0x67, 0xd9, 0x45, 0x91, 0x1f, 0x51, 0x46, 0x22, 0x91, 0xb1, 0xab, 0x67, 0xa9, 0x60,
  954. 0x57, 0x01, 0xf9, 0xa9, 0x20, 0x5c, 0xa0, 0x6d, 0xf0, 0xe2, 0xd2, 0xe1, 0x3b, 0x13, 0x67, 0xd7,
  955. 0x0b, 0x16, 0x06, 0x84, 0xa0, 0x9b, 0x86, 0x73, 0xe2, 0x77, 0x94, 0x43, 0xad, 0xf1, 0x33, 0xd8,
  956. 0x6e, 0x07, 0xe4, 0x79, 0x96, 0x72, 0x82, 0x1e, 0x41, 0x8f, 0x48, 0x83, 0x42, 0x1b, 0x1c, 0xbc,
  957. 0xb7, 0x57, 0x52, 0xd9, 0xd3, 0x71, 0xda, 0x8b, 0xff, 0x71, 0x00, 0x1d, 0x53, 0x2e, 0xa4, 0x91,
  958. 0x12, 0xfe, 0x76, 0x7c, 0xee, 0x40, 0x3f, 0x67, 0x64, 0x46, 0x7f, 0x31, 0x8c, 0xcc, 0x0e, 0x7d,
  959. 0x02, 0xb7, 0xb8, 0x08, 0x99, 0x78, 0xce, 0xb2, 0xf9, 0x73, 0x9a, 0x90, 0x6f, 0x24, 0x69, 0x57,
  960. 0x85, 0x34, 0x1d, 0x68, 0x0f, 0x10, 0x4d, 0xa3, 0xa4, 0xe0, 0xf4, 0x92, 0x9c, 0x94, 0x5e, 0xbf,
  961. 0x3b, 0x71, 0x76, 0x37, 0x82, 0x16, 0x0f, 0xda, 0x82, 0x5e, 0x42, 0xe7, 0x54, 0xf8, 0xbd, 0x89,
  962. 0xb3, 0xbb, 0x19, 0xe8, 0x0d, 0xfe, 0x1a, 0x46, 0x35, 0xfe, 0x26, 0xfd, 0xc7, 0xb0, 0x4e, 0xb4,
  963. 0xc9, 0x77, 0x26, 0x6e, 0x5b, 0x01, 0x4a, 0x3f, 0xfe, 0xd3, 0x81, 0x9e, 0x32, 0x55, 0x75, 0x76,
  964. 0x16, 0x75, 0x46, 0x0f, 0x60, 0x48, 0xf9, 0x74, 0x51, 0x8c, 0x8e, 0xe2, 0x37, 0xa0, 0xbc, 0xaa,
  965. 0x3b, 0xfa, 0x18, 0xfa, 0xd1, 0x8f, 0x45, 0x7a, 0xc1, 0x7d, 0x57, 0x5d, 0x35, 0x5a, 0x5c, 0x25,
  966. 0x93, 0x3d, 0x94, 0xbe, 0xc0, 0x84, 0xa0, 0x27, 0x00, 0xa1, 0x10, 0x8c, 0x9e, 0x15, 0x82, 0x70,
  967. 0x95, 0xed, 0xe0, 0xc0, 0xb7, 0x0e, 0x14, 0x9c, 0x3c, 0xad, 0xfc, 0x81, 0x15, 0x8b, 0x67, 0xe0,
  968. 0x55, 0x70, 0xe8, 0x2e, 0xac, 0xcb, 0x33, 0x53, 0x1a, 0x1b, 0xb6, 0x7d, 0xb9, 0x7d, 0x19, 0xcb,
  969. 0xb7, 0xc9, 0x66, 0x33, 0x4e, 0x84, 0x62, 0xea, 0x06, 0x66, 0x27, 0x73, 0xe3, 0xf4, 0x57, 0xfd,
  970. 0x1c, 0xdd, 0x40, 0xad, 0x65, 0x45, 0xe7, 0x82, 0xce, 0x89, 0xa2, 0xe1, 0x06, 0x7a, 0x83, 0x7f,
  971. 0xef, 0xc0, 0x8d, 0x3a, 0x0d, 0x74, 0x0f, 0x3c, 0x75, 0x9b, 0x42, 0x70, 0x14, 0x82, 0x6a, 0xed,
  972. 0x93, 0x1a, 0x4a, 0xc7, 0x42, 0xa9, 0x8e, 0xcc, 0xb3, 0x58, 0x5f, 0xba, 0xa9, 0x8f, 0xbc, 0xca,
  973. 0x62, 0x82, 0x6e, 0x82, 0x5b, 0xd0, 0x58, 0x5d, 0xbb, 0x19, 0xc8, 0xa5, 0xb4, 0x9c, 0xd3, 0xd8,
  974. 0x3c, 0xad, 0x5c, 0xca, 0x44, 0x22, 0xa6, 0x70, 0xfb, 0x3a, 0x11, 0xbd, 0x93, 0x89, 0xcc, 0xa5,
  975. 0x75, 0x5d, 0x3f, 0x92, 0x5c, 0xa3, 0x09, 0x0c, 0x18, 0xc9, 0x13, 0x1a, 0x85, 0x82, 0x66, 0xa9,
  976. 0xbf, 0xa1, 0x5c, 0xb6, 0x09, 0xdd, 0x07, 0x88, 0xb2, 0x24, 0x21, 0x91, 0x0a, 0xf0, 0x54, 0x80,
  977. 0x65, 0x91, 0xf5, 0x14, 0x22, 0x99, 0x72, 0x12, 0xf9, 0x30, 0x71, 0x76, 0x7b, 0x41, 0x5f, 0x88,
  978. 0xe4, 0x84, 0x44, 0xf8, 0x1c, 0xde, 0x7f, 0x41, 0x54, 0x7b, 0x5d, 0x59, 0xef, 0x62, 0xc6, 0xa4,
  979. 0xad, 0x61, 0x76, 0x00, 0xf2, 0x90, 0x91, 0x54, 0xc8, 0xa6, 0x31, 0x03, 0xe2, 0x69, 0xcb, 0x11,
  980. 0x65, 0xf6, 0xc3, 0xb9, 0xf6, 0xc3, 0xe1, 0xdf, 0x1c, 0x18, 0xb7, 0xdd, 0x64, 0x1a, 0xba, 0xde,
  981. 0x37, 0xce, 0xdb, 0xf7, 0x8d, 0xd5, 0x9e, 0x9d, 0x37, 0xb6, 0x27, 0xde, 0x87, 0xdb, 0x2f, 0x88,
  982. 0x50, 0xf6, 0x2c, 0x15, 0x24, 0x15, 0x65, 0xaa, 0xab, 0x1a, 0x0e, 0x1f, 0xc0, 0x9d, 0xe5, 0x13,
  983. 0x86, 0xb2, 0x0f, 0xeb, 0x91, 0x36, 0xa9, 0x23, 0xc3, 0xa0, 0xdc, 0xe2, 0xef, 0x01, 0x1d, 0x32,
  984. 0x12, 0x0a, 0xf2, 0x0e, 0x22, 0x58, 0x09, 0x5a, 0xe7, 0x5a, 0x41, 0xbb, 0x0d, 0xa3, 0x1a, 0xb4,
  985. 0xe6, 0x22, 0x6f, 0x3c, 0xcd, 0xe3, 0xff, 0xeb, 0xc6, 0x1a, 0xb4, 0xb9, 0xf1, 0x6f, 0x07, 0xd0,
  986. 0x11, 0x49, 0xc8, 0x3b, 0x5d, 0xd9, 0xa2, 0xf4, 0x0d, 0x05, 0x72, 0x9b, 0x0a, 0xf4, 0x10, 0x6e,
  987. 0xc8, 0x10, 0x75, 0xdb, 0x34, 0x0e, 0x45, 0x68, 0x64, 0x74, 0x48, 0xb9, 0xa6, 0x70, 0x14, 0x8a,
  988. 0xd0, 0x00, 0x31, 0x12, 0x15, 0x4c, 0x2a, 0xab, 0x1a, 0x36, 0x05, 0x14, 0x94, 0x26, 0x99, 0x4b,
  989. 0x8d, 0xb3, 0xc9, 0xe5, 0x2f, 0x07, 0x46, 0x4f, 0x39, 0xa7, 0xe7, 0xe9, 0x77, 0x59, 0x52, 0xcc,
  990. 0x49, 0x99, 0xcc, 0x16, 0xf4, 0xa2, 0xac, 0x30, 0xef, 0xdb, 0x0b, 0xf4, 0x66, 0x69, 0xd6, 0x3a,
  991. 0x8d, 0x59, 0x5b, 0x9a, 0x56, 0xb7, 0x39, 0xad, 0xd6, 0x34, 0x76, 0xed, 0x69, 0x44, 0x1f, 0xc0,
  992. 0x40, 0xa6, 0x37, 0x8d, 0x48, 0x2a, 0x08, 0x53, 0x19, 0x78, 0x01, 0x48, 0xd3, 0xa1, 0xb2, 0xe0,
  993. 0x4b, 0xd8, 0xaa, 0x13, 0x35, 0xbd, 0xb8, 0x52, 0x2f, 0xa5, 0x14, 0xb1, 0xc4, 0xb0, 0x94, 0x4b,
  994. 0x35, 0xc0, 0xc5, 0x59, 0x42, 0xa3, 0xa9, 0x74, 0xb8, 0x66, 0x80, 0x95, 0xe5, 0x94, 0x25, 0x8b,
  995. 0x9c, 0xbb, 0x56, 0xce, 0xf8, 0x33, 0x18, 0xe9, 0xcf, 0x71, 0xbd, 0x40, 0x3b, 0x00, 0x97, 0xca,
  996. 0x30, 0xa5, 0xb1, 0xfe, 0x12, 0x79, 0x81, 0xa7, 0x2d, 0x2f, 0x63, 0x8e, 0xbf, 0x02, 0xef, 0x38,
  997. 0xd3, 0x39, 0x73, 0xb4, 0x0f, 0x5e, 0x52, 0x6e, 0xcc, 0x47, 0x0b, 0x2d, 0x5a, 0xae, 0x8c, 0x0b,
  998. 0x16, 0x41, 0xf8, 0x4b, 0xd8, 0x28, 0xcd, 0x65, 0x1e, 0xce, 0xaa, 0x3c, 0x3a, 0x4b, 0x79, 0xe0,
  999. 0x7f, 0x1d, 0xd8, 0xaa, 0x53, 0x36, 0xa5, 0x3a, 0x85, 0xcd, 0xea, 0x8a, 0xe9, 0x3c, 0xcc, 0x0d,
  1000. 0x97, 0x7d, 0x9b, 0x4b, 0xf3, 0x58, 0x45, 0x90, 0xbf, 0x0a, 0x73, 0xdd, 0x3d, 0xc3, 0xc4, 0x32,
  1001. 0x8d, 0xbf, 0x85, 0x5b, 0x8d, 0x10, 0xc9, 0xfa, 0x82, 0x94, 0x73, 0x20, 0x97, 0xe8, 0x31, 0xf4,
  1002. 0x2e, 0xc3, 0xa4, 0x20, 0x66, 0xe8, 0x46, 0xcd, 0x0a, 0xf0, 0x40, 0x47, 0x7c, 0xd1, 0x79, 0xe2,
  1003. 0xe0, 0xcf, 0xe1, 0xae, 0x6e, 0xd8, 0xc3, 0xaa, 0xbf, 0xca, 0xda, 0xd7, 0xdb, 0xd0, 0x59, 0x6e,
  1004. 0x43, 0x3c, 0x06, 0xbf, 0x79, 0x54, 0x27, 0x73, 0xf0, 0x47, 0x1f, 0x86, 0x27, 0x24, 0xfc, 0x99,
  1005. 0x90, 0x58, 0x2a, 0x1b, 0x43, 0xe7, 0x65, 0xb1, 0xea, 0x3f, 0xb7, 0xd0, 0xa3, 0xe5, 0xaa, 0xb4,
  1006. 0xfe, 0xbe, 0x1b, 0x7f, 0xf4, 0xa6, 0x30, 0x33, 0x68, 0x6b, 0xe8, 0x18, 0x06, 0xd6, 0xef, 0x19,
  1007. 0xb4, 0x6d, 0x1d, 0x6c, 0xfc, 0x4c, 0x1b, 0xef, 0xac, 0xf0, 0x56, 0x68, 0x21, 0xa0, 0xe6, 0x37,
  1008. 0x05, 0x7d, 0xb8, 0x38, 0xb6, 0xf2, 0xdb, 0x36, 0x7e, 0x78, 0x7d, 0x90, 0x4d, 0xd8, 0x12, 0x5c,
  1009. 0x9b, 0x70, 0x53, 0xe2, 0x6d, 0xc2, 0x6d, 0x2a, 0xad, 0xd0, 0x2c, 0x31, 0xb5, 0xd1, 0x9a, 0xf2,
  1010. 0x6d, 0xa3, 0xb5, 0x29, 0xb0, 0x42, 0xb3, 0xe4, 0xcc, 0x46, 0x6b, 0x2a, 0xb3, 0x8d, 0xd6, 0xa6,
  1011. 0x81, 0x6b, 0xe8, 0x35, 0x0c, 0x6d, 0x6d, 0x41, 0xd6, 0x81, 0x16, 0x71, 0x1c, 0xdf, 0x5f, 0xe5,
  1012. 0xb6, 0x01, 0xed, 0x51, 0xb2, 0x01, 0x5b, 0xc4, 0xc4, 0x06, 0x6c, 0x9b, 0x40, 0xbc, 0x86, 0x7e,
  1013. 0x80, 0x9b, 0xcb, 0x2d, 0x8d, 0x1e, 0x2c, 0xa7, 0xd5, 0x98, 0x94, 0x31, 0xbe, 0x2e, 0xa4, 0x04,
  1014. 0x3f, 0xeb, 0xab, 0xff, 0x34, 0x9f, 0xfe, 0x17, 0x00, 0x00, 0xff, 0xff, 0x41, 0x12, 0xff, 0xda,
  1015. 0xe2, 0x0c, 0x00, 0x00,
  1016. }