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.

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