Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 

879 рядки
36 KiB

  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // source: google/devtools/remoteworkers/v1test2/command.proto
  3. package remoteworkers // import "google.golang.org/genproto/googleapis/devtools/remoteworkers/v1test2"
  4. import proto "github.com/golang/protobuf/proto"
  5. import fmt "fmt"
  6. import math "math"
  7. import any "github.com/golang/protobuf/ptypes/any"
  8. import duration "github.com/golang/protobuf/ptypes/duration"
  9. import status "google.golang.org/genproto/googleapis/rpc/status"
  10. // Reference imports to suppress errors if they are not otherwise used.
  11. var _ = proto.Marshal
  12. var _ = fmt.Errorf
  13. var _ = math.Inf
  14. // This is a compile-time assertion to ensure that this generated file
  15. // is compatible with the proto package it is being compiled against.
  16. // A compilation error at this line likely means your copy of the
  17. // proto package needs to be updated.
  18. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  19. // Describes a shell-style task to execute, suitable for providing as the Bots
  20. // interface's `Lease.payload` field.
  21. type CommandTask struct {
  22. // The inputs to the task.
  23. Inputs *CommandTask_Inputs `protobuf:"bytes,1,opt,name=inputs,proto3" json:"inputs,omitempty"`
  24. // The expected outputs from the task.
  25. ExpectedOutputs *CommandTask_Outputs `protobuf:"bytes,4,opt,name=expected_outputs,json=expectedOutputs,proto3" json:"expected_outputs,omitempty"`
  26. // The timeouts of this task.
  27. Timeouts *CommandTask_Timeouts `protobuf:"bytes,5,opt,name=timeouts,proto3" json:"timeouts,omitempty"`
  28. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  29. XXX_unrecognized []byte `json:"-"`
  30. XXX_sizecache int32 `json:"-"`
  31. }
  32. func (m *CommandTask) Reset() { *m = CommandTask{} }
  33. func (m *CommandTask) String() string { return proto.CompactTextString(m) }
  34. func (*CommandTask) ProtoMessage() {}
  35. func (*CommandTask) Descriptor() ([]byte, []int) {
  36. return fileDescriptor_command_118ccef3a8ef079b, []int{0}
  37. }
  38. func (m *CommandTask) XXX_Unmarshal(b []byte) error {
  39. return xxx_messageInfo_CommandTask.Unmarshal(m, b)
  40. }
  41. func (m *CommandTask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  42. return xxx_messageInfo_CommandTask.Marshal(b, m, deterministic)
  43. }
  44. func (dst *CommandTask) XXX_Merge(src proto.Message) {
  45. xxx_messageInfo_CommandTask.Merge(dst, src)
  46. }
  47. func (m *CommandTask) XXX_Size() int {
  48. return xxx_messageInfo_CommandTask.Size(m)
  49. }
  50. func (m *CommandTask) XXX_DiscardUnknown() {
  51. xxx_messageInfo_CommandTask.DiscardUnknown(m)
  52. }
  53. var xxx_messageInfo_CommandTask proto.InternalMessageInfo
  54. func (m *CommandTask) GetInputs() *CommandTask_Inputs {
  55. if m != nil {
  56. return m.Inputs
  57. }
  58. return nil
  59. }
  60. func (m *CommandTask) GetExpectedOutputs() *CommandTask_Outputs {
  61. if m != nil {
  62. return m.ExpectedOutputs
  63. }
  64. return nil
  65. }
  66. func (m *CommandTask) GetTimeouts() *CommandTask_Timeouts {
  67. if m != nil {
  68. return m.Timeouts
  69. }
  70. return nil
  71. }
  72. // Describes the inputs to a shell-style task.
  73. type CommandTask_Inputs struct {
  74. // The command itself to run (e.g., argv).
  75. //
  76. // This field should be passed directly to the underlying operating system,
  77. // and so it must be sensible to that operating system. For example, on
  78. // Windows, the first argument might be "C:\Windows\System32\ping.exe" -
  79. // that is, using drive letters and backslashes. A command for a *nix
  80. // system, on the other hand, would use forward slashes.
  81. //
  82. // All other fields in the RWAPI must consistently use forward slashes,
  83. // since those fields may be interpretted by both the service and the bot.
  84. Arguments []string `protobuf:"bytes,1,rep,name=arguments,proto3" json:"arguments,omitempty"`
  85. // The input filesystem to be set up prior to the task beginning. The
  86. // contents should be a repeated set of FileMetadata messages though other
  87. // formats are allowed if better for the implementation (eg, a LUCI-style
  88. // .isolated file).
  89. //
  90. // This field is repeated since implementations might want to cache the
  91. // metadata, in which case it may be useful to break up portions of the
  92. // filesystem that change frequently (eg, specific input files) from those
  93. // that don't (eg, standard header files).
  94. Files []*Digest `protobuf:"bytes,2,rep,name=files,proto3" json:"files,omitempty"`
  95. // All environment variables required by the task.
  96. EnvironmentVariables []*CommandTask_Inputs_EnvironmentVariable `protobuf:"bytes,3,rep,name=environment_variables,json=environmentVariables,proto3" json:"environment_variables,omitempty"`
  97. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  98. XXX_unrecognized []byte `json:"-"`
  99. XXX_sizecache int32 `json:"-"`
  100. }
  101. func (m *CommandTask_Inputs) Reset() { *m = CommandTask_Inputs{} }
  102. func (m *CommandTask_Inputs) String() string { return proto.CompactTextString(m) }
  103. func (*CommandTask_Inputs) ProtoMessage() {}
  104. func (*CommandTask_Inputs) Descriptor() ([]byte, []int) {
  105. return fileDescriptor_command_118ccef3a8ef079b, []int{0, 0}
  106. }
  107. func (m *CommandTask_Inputs) XXX_Unmarshal(b []byte) error {
  108. return xxx_messageInfo_CommandTask_Inputs.Unmarshal(m, b)
  109. }
  110. func (m *CommandTask_Inputs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  111. return xxx_messageInfo_CommandTask_Inputs.Marshal(b, m, deterministic)
  112. }
  113. func (dst *CommandTask_Inputs) XXX_Merge(src proto.Message) {
  114. xxx_messageInfo_CommandTask_Inputs.Merge(dst, src)
  115. }
  116. func (m *CommandTask_Inputs) XXX_Size() int {
  117. return xxx_messageInfo_CommandTask_Inputs.Size(m)
  118. }
  119. func (m *CommandTask_Inputs) XXX_DiscardUnknown() {
  120. xxx_messageInfo_CommandTask_Inputs.DiscardUnknown(m)
  121. }
  122. var xxx_messageInfo_CommandTask_Inputs proto.InternalMessageInfo
  123. func (m *CommandTask_Inputs) GetArguments() []string {
  124. if m != nil {
  125. return m.Arguments
  126. }
  127. return nil
  128. }
  129. func (m *CommandTask_Inputs) GetFiles() []*Digest {
  130. if m != nil {
  131. return m.Files
  132. }
  133. return nil
  134. }
  135. func (m *CommandTask_Inputs) GetEnvironmentVariables() []*CommandTask_Inputs_EnvironmentVariable {
  136. if m != nil {
  137. return m.EnvironmentVariables
  138. }
  139. return nil
  140. }
  141. // An environment variable required by this task.
  142. type CommandTask_Inputs_EnvironmentVariable struct {
  143. // The envvar name.
  144. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  145. // The envvar value.
  146. Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  147. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  148. XXX_unrecognized []byte `json:"-"`
  149. XXX_sizecache int32 `json:"-"`
  150. }
  151. func (m *CommandTask_Inputs_EnvironmentVariable) Reset() {
  152. *m = CommandTask_Inputs_EnvironmentVariable{}
  153. }
  154. func (m *CommandTask_Inputs_EnvironmentVariable) String() string { return proto.CompactTextString(m) }
  155. func (*CommandTask_Inputs_EnvironmentVariable) ProtoMessage() {}
  156. func (*CommandTask_Inputs_EnvironmentVariable) Descriptor() ([]byte, []int) {
  157. return fileDescriptor_command_118ccef3a8ef079b, []int{0, 0, 0}
  158. }
  159. func (m *CommandTask_Inputs_EnvironmentVariable) XXX_Unmarshal(b []byte) error {
  160. return xxx_messageInfo_CommandTask_Inputs_EnvironmentVariable.Unmarshal(m, b)
  161. }
  162. func (m *CommandTask_Inputs_EnvironmentVariable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  163. return xxx_messageInfo_CommandTask_Inputs_EnvironmentVariable.Marshal(b, m, deterministic)
  164. }
  165. func (dst *CommandTask_Inputs_EnvironmentVariable) XXX_Merge(src proto.Message) {
  166. xxx_messageInfo_CommandTask_Inputs_EnvironmentVariable.Merge(dst, src)
  167. }
  168. func (m *CommandTask_Inputs_EnvironmentVariable) XXX_Size() int {
  169. return xxx_messageInfo_CommandTask_Inputs_EnvironmentVariable.Size(m)
  170. }
  171. func (m *CommandTask_Inputs_EnvironmentVariable) XXX_DiscardUnknown() {
  172. xxx_messageInfo_CommandTask_Inputs_EnvironmentVariable.DiscardUnknown(m)
  173. }
  174. var xxx_messageInfo_CommandTask_Inputs_EnvironmentVariable proto.InternalMessageInfo
  175. func (m *CommandTask_Inputs_EnvironmentVariable) GetName() string {
  176. if m != nil {
  177. return m.Name
  178. }
  179. return ""
  180. }
  181. func (m *CommandTask_Inputs_EnvironmentVariable) GetValue() string {
  182. if m != nil {
  183. return m.Value
  184. }
  185. return ""
  186. }
  187. // Describes the expected outputs of the command.
  188. type CommandTask_Outputs struct {
  189. // A list of expected files, relative to the execution root. All paths
  190. // MUST be delimited by forward slashes.
  191. Files []string `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"`
  192. // A list of expected directories, relative to the execution root. All paths
  193. // MUST be delimited by forward slashes.
  194. Directories []string `protobuf:"bytes,2,rep,name=directories,proto3" json:"directories,omitempty"`
  195. // The destination to which any stdout should be sent. The method by which
  196. // the bot should send the stream contents to that destination is not
  197. // defined in this API. As examples, the destination could be a file
  198. // referenced in the `files` field in this message, or it could be a URI
  199. // that must be written via the ByteStream API.
  200. StdoutDestination string `protobuf:"bytes,3,opt,name=stdout_destination,json=stdoutDestination,proto3" json:"stdout_destination,omitempty"`
  201. // The destination to which any stderr should be sent. The method by which
  202. // the bot should send the stream contents to that destination is not
  203. // defined in this API. As examples, the destination could be a file
  204. // referenced in the `files` field in this message, or it could be a URI
  205. // that must be written via the ByteStream API.
  206. StderrDestination string `protobuf:"bytes,4,opt,name=stderr_destination,json=stderrDestination,proto3" json:"stderr_destination,omitempty"`
  207. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  208. XXX_unrecognized []byte `json:"-"`
  209. XXX_sizecache int32 `json:"-"`
  210. }
  211. func (m *CommandTask_Outputs) Reset() { *m = CommandTask_Outputs{} }
  212. func (m *CommandTask_Outputs) String() string { return proto.CompactTextString(m) }
  213. func (*CommandTask_Outputs) ProtoMessage() {}
  214. func (*CommandTask_Outputs) Descriptor() ([]byte, []int) {
  215. return fileDescriptor_command_118ccef3a8ef079b, []int{0, 1}
  216. }
  217. func (m *CommandTask_Outputs) XXX_Unmarshal(b []byte) error {
  218. return xxx_messageInfo_CommandTask_Outputs.Unmarshal(m, b)
  219. }
  220. func (m *CommandTask_Outputs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  221. return xxx_messageInfo_CommandTask_Outputs.Marshal(b, m, deterministic)
  222. }
  223. func (dst *CommandTask_Outputs) XXX_Merge(src proto.Message) {
  224. xxx_messageInfo_CommandTask_Outputs.Merge(dst, src)
  225. }
  226. func (m *CommandTask_Outputs) XXX_Size() int {
  227. return xxx_messageInfo_CommandTask_Outputs.Size(m)
  228. }
  229. func (m *CommandTask_Outputs) XXX_DiscardUnknown() {
  230. xxx_messageInfo_CommandTask_Outputs.DiscardUnknown(m)
  231. }
  232. var xxx_messageInfo_CommandTask_Outputs proto.InternalMessageInfo
  233. func (m *CommandTask_Outputs) GetFiles() []string {
  234. if m != nil {
  235. return m.Files
  236. }
  237. return nil
  238. }
  239. func (m *CommandTask_Outputs) GetDirectories() []string {
  240. if m != nil {
  241. return m.Directories
  242. }
  243. return nil
  244. }
  245. func (m *CommandTask_Outputs) GetStdoutDestination() string {
  246. if m != nil {
  247. return m.StdoutDestination
  248. }
  249. return ""
  250. }
  251. func (m *CommandTask_Outputs) GetStderrDestination() string {
  252. if m != nil {
  253. return m.StderrDestination
  254. }
  255. return ""
  256. }
  257. // Describes the timeouts associated with this task.
  258. type CommandTask_Timeouts struct {
  259. // This specifies the maximum time that the task can run, excluding the
  260. // time required to download inputs or upload outputs. That is, the worker
  261. // will terminate the task if it runs longer than this.
  262. Execution *duration.Duration `protobuf:"bytes,1,opt,name=execution,proto3" json:"execution,omitempty"`
  263. // This specifies the maximum amount of time the task can be idle - that is,
  264. // go without generating some output in either stdout or stderr. If the
  265. // process is silent for more than the specified time, the worker will
  266. // terminate the task.
  267. Idle *duration.Duration `protobuf:"bytes,2,opt,name=idle,proto3" json:"idle,omitempty"`
  268. // If the execution or IO timeouts are exceeded, the worker will try to
  269. // gracefully terminate the task and return any existing logs. However,
  270. // tasks may be hard-frozen in which case this process will fail. This
  271. // timeout specifies how long to wait for a terminated task to shut down
  272. // gracefully (e.g. via SIGTERM) before we bring down the hammer (e.g.
  273. // SIGKILL on *nix, CTRL_BREAK_EVENT on Windows).
  274. Shutdown *duration.Duration `protobuf:"bytes,3,opt,name=shutdown,proto3" json:"shutdown,omitempty"`
  275. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  276. XXX_unrecognized []byte `json:"-"`
  277. XXX_sizecache int32 `json:"-"`
  278. }
  279. func (m *CommandTask_Timeouts) Reset() { *m = CommandTask_Timeouts{} }
  280. func (m *CommandTask_Timeouts) String() string { return proto.CompactTextString(m) }
  281. func (*CommandTask_Timeouts) ProtoMessage() {}
  282. func (*CommandTask_Timeouts) Descriptor() ([]byte, []int) {
  283. return fileDescriptor_command_118ccef3a8ef079b, []int{0, 2}
  284. }
  285. func (m *CommandTask_Timeouts) XXX_Unmarshal(b []byte) error {
  286. return xxx_messageInfo_CommandTask_Timeouts.Unmarshal(m, b)
  287. }
  288. func (m *CommandTask_Timeouts) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  289. return xxx_messageInfo_CommandTask_Timeouts.Marshal(b, m, deterministic)
  290. }
  291. func (dst *CommandTask_Timeouts) XXX_Merge(src proto.Message) {
  292. xxx_messageInfo_CommandTask_Timeouts.Merge(dst, src)
  293. }
  294. func (m *CommandTask_Timeouts) XXX_Size() int {
  295. return xxx_messageInfo_CommandTask_Timeouts.Size(m)
  296. }
  297. func (m *CommandTask_Timeouts) XXX_DiscardUnknown() {
  298. xxx_messageInfo_CommandTask_Timeouts.DiscardUnknown(m)
  299. }
  300. var xxx_messageInfo_CommandTask_Timeouts proto.InternalMessageInfo
  301. func (m *CommandTask_Timeouts) GetExecution() *duration.Duration {
  302. if m != nil {
  303. return m.Execution
  304. }
  305. return nil
  306. }
  307. func (m *CommandTask_Timeouts) GetIdle() *duration.Duration {
  308. if m != nil {
  309. return m.Idle
  310. }
  311. return nil
  312. }
  313. func (m *CommandTask_Timeouts) GetShutdown() *duration.Duration {
  314. if m != nil {
  315. return m.Shutdown
  316. }
  317. return nil
  318. }
  319. // DEPRECATED - use CommandResult instead.
  320. // Describes the actual outputs from the task.
  321. type CommandOutputs struct {
  322. // exit_code is only fully reliable if the status' code is OK. If the task
  323. // exceeded its deadline or was cancelled, the process may still produce an
  324. // exit code as it is cancelled, and this will be populated, but a successful
  325. // (zero) is unlikely to be correct unless the status code is OK.
  326. ExitCode int32 `protobuf:"varint,1,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
  327. // The output files. The blob referenced by the digest should contain
  328. // one of the following (implementation-dependent):
  329. // * A marshalled DirectoryMetadata of the returned filesystem
  330. // * A LUCI-style .isolated file
  331. Outputs *Digest `protobuf:"bytes,2,opt,name=outputs,proto3" json:"outputs,omitempty"`
  332. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  333. XXX_unrecognized []byte `json:"-"`
  334. XXX_sizecache int32 `json:"-"`
  335. }
  336. func (m *CommandOutputs) Reset() { *m = CommandOutputs{} }
  337. func (m *CommandOutputs) String() string { return proto.CompactTextString(m) }
  338. func (*CommandOutputs) ProtoMessage() {}
  339. func (*CommandOutputs) Descriptor() ([]byte, []int) {
  340. return fileDescriptor_command_118ccef3a8ef079b, []int{1}
  341. }
  342. func (m *CommandOutputs) XXX_Unmarshal(b []byte) error {
  343. return xxx_messageInfo_CommandOutputs.Unmarshal(m, b)
  344. }
  345. func (m *CommandOutputs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  346. return xxx_messageInfo_CommandOutputs.Marshal(b, m, deterministic)
  347. }
  348. func (dst *CommandOutputs) XXX_Merge(src proto.Message) {
  349. xxx_messageInfo_CommandOutputs.Merge(dst, src)
  350. }
  351. func (m *CommandOutputs) XXX_Size() int {
  352. return xxx_messageInfo_CommandOutputs.Size(m)
  353. }
  354. func (m *CommandOutputs) XXX_DiscardUnknown() {
  355. xxx_messageInfo_CommandOutputs.DiscardUnknown(m)
  356. }
  357. var xxx_messageInfo_CommandOutputs proto.InternalMessageInfo
  358. func (m *CommandOutputs) GetExitCode() int32 {
  359. if m != nil {
  360. return m.ExitCode
  361. }
  362. return 0
  363. }
  364. func (m *CommandOutputs) GetOutputs() *Digest {
  365. if m != nil {
  366. return m.Outputs
  367. }
  368. return nil
  369. }
  370. // DEPRECATED - use CommandResult instead.
  371. // Can be used as part of CompleteRequest.metadata, or are part of a more
  372. // sophisticated message.
  373. type CommandOverhead struct {
  374. // The elapsed time between calling Accept and Complete. The server will also
  375. // have its own idea of what this should be, but this excludes the overhead of
  376. // the RPCs and the bot response time.
  377. Duration *duration.Duration `protobuf:"bytes,1,opt,name=duration,proto3" json:"duration,omitempty"`
  378. // The amount of time *not* spent executing the command (ie
  379. // uploading/downloading files).
  380. Overhead *duration.Duration `protobuf:"bytes,2,opt,name=overhead,proto3" json:"overhead,omitempty"`
  381. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  382. XXX_unrecognized []byte `json:"-"`
  383. XXX_sizecache int32 `json:"-"`
  384. }
  385. func (m *CommandOverhead) Reset() { *m = CommandOverhead{} }
  386. func (m *CommandOverhead) String() string { return proto.CompactTextString(m) }
  387. func (*CommandOverhead) ProtoMessage() {}
  388. func (*CommandOverhead) Descriptor() ([]byte, []int) {
  389. return fileDescriptor_command_118ccef3a8ef079b, []int{2}
  390. }
  391. func (m *CommandOverhead) XXX_Unmarshal(b []byte) error {
  392. return xxx_messageInfo_CommandOverhead.Unmarshal(m, b)
  393. }
  394. func (m *CommandOverhead) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  395. return xxx_messageInfo_CommandOverhead.Marshal(b, m, deterministic)
  396. }
  397. func (dst *CommandOverhead) XXX_Merge(src proto.Message) {
  398. xxx_messageInfo_CommandOverhead.Merge(dst, src)
  399. }
  400. func (m *CommandOverhead) XXX_Size() int {
  401. return xxx_messageInfo_CommandOverhead.Size(m)
  402. }
  403. func (m *CommandOverhead) XXX_DiscardUnknown() {
  404. xxx_messageInfo_CommandOverhead.DiscardUnknown(m)
  405. }
  406. var xxx_messageInfo_CommandOverhead proto.InternalMessageInfo
  407. func (m *CommandOverhead) GetDuration() *duration.Duration {
  408. if m != nil {
  409. return m.Duration
  410. }
  411. return nil
  412. }
  413. func (m *CommandOverhead) GetOverhead() *duration.Duration {
  414. if m != nil {
  415. return m.Overhead
  416. }
  417. return nil
  418. }
  419. // All information about the execution of a command, suitable for providing as
  420. // the Bots interface's `Lease.result` field.
  421. type CommandResult struct {
  422. // An overall status for the command. For example, if the command timed out,
  423. // this might have a code of DEADLINE_EXCEEDED; if it was killed by the OS for
  424. // memory exhaustion, it might have a code of RESOURCE_EXHAUSTED.
  425. Status *status.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
  426. // The exit code of the process. An exit code of "0" should only be trusted if
  427. // `status` has a code of OK (otherwise it may simply be unset).
  428. ExitCode int32 `protobuf:"varint,2,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
  429. // The output files. The blob referenced by the digest should contain
  430. // one of the following (implementation-dependent):
  431. // * A marshalled DirectoryMetadata of the returned filesystem
  432. // * A LUCI-style .isolated file
  433. Outputs *Digest `protobuf:"bytes,3,opt,name=outputs,proto3" json:"outputs,omitempty"`
  434. // The elapsed time between calling Accept and Complete. The server will also
  435. // have its own idea of what this should be, but this excludes the overhead of
  436. // the RPCs and the bot response time.
  437. Duration *duration.Duration `protobuf:"bytes,4,opt,name=duration,proto3" json:"duration,omitempty"` // Deprecated: Do not use.
  438. // The amount of time *not* spent executing the command (ie
  439. // uploading/downloading files).
  440. Overhead *duration.Duration `protobuf:"bytes,5,opt,name=overhead,proto3" json:"overhead,omitempty"` // Deprecated: Do not use.
  441. // Implementation-dependent statistics about the task. Both servers and bots
  442. // may define messages which can be encoded here; bots are free to provide
  443. // statistics in multiple formats, and servers are free to choose one or more
  444. // of the values to process and ignore others. In particular, it is *not*
  445. // considered an error for the bot to provide the server with a field that it
  446. // doesn't know about.
  447. Statistics []*any.Any `protobuf:"bytes,6,rep,name=statistics,proto3" json:"statistics,omitempty"`
  448. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  449. XXX_unrecognized []byte `json:"-"`
  450. XXX_sizecache int32 `json:"-"`
  451. }
  452. func (m *CommandResult) Reset() { *m = CommandResult{} }
  453. func (m *CommandResult) String() string { return proto.CompactTextString(m) }
  454. func (*CommandResult) ProtoMessage() {}
  455. func (*CommandResult) Descriptor() ([]byte, []int) {
  456. return fileDescriptor_command_118ccef3a8ef079b, []int{3}
  457. }
  458. func (m *CommandResult) XXX_Unmarshal(b []byte) error {
  459. return xxx_messageInfo_CommandResult.Unmarshal(m, b)
  460. }
  461. func (m *CommandResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  462. return xxx_messageInfo_CommandResult.Marshal(b, m, deterministic)
  463. }
  464. func (dst *CommandResult) XXX_Merge(src proto.Message) {
  465. xxx_messageInfo_CommandResult.Merge(dst, src)
  466. }
  467. func (m *CommandResult) XXX_Size() int {
  468. return xxx_messageInfo_CommandResult.Size(m)
  469. }
  470. func (m *CommandResult) XXX_DiscardUnknown() {
  471. xxx_messageInfo_CommandResult.DiscardUnknown(m)
  472. }
  473. var xxx_messageInfo_CommandResult proto.InternalMessageInfo
  474. func (m *CommandResult) GetStatus() *status.Status {
  475. if m != nil {
  476. return m.Status
  477. }
  478. return nil
  479. }
  480. func (m *CommandResult) GetExitCode() int32 {
  481. if m != nil {
  482. return m.ExitCode
  483. }
  484. return 0
  485. }
  486. func (m *CommandResult) GetOutputs() *Digest {
  487. if m != nil {
  488. return m.Outputs
  489. }
  490. return nil
  491. }
  492. // Deprecated: Do not use.
  493. func (m *CommandResult) GetDuration() *duration.Duration {
  494. if m != nil {
  495. return m.Duration
  496. }
  497. return nil
  498. }
  499. // Deprecated: Do not use.
  500. func (m *CommandResult) GetOverhead() *duration.Duration {
  501. if m != nil {
  502. return m.Overhead
  503. }
  504. return nil
  505. }
  506. func (m *CommandResult) GetStatistics() []*any.Any {
  507. if m != nil {
  508. return m.Statistics
  509. }
  510. return nil
  511. }
  512. // The metadata for a file. Similar to the equivalent message in the Remote
  513. // Execution API.
  514. type FileMetadata struct {
  515. // The path of this file. If this message is part of the
  516. // CommandOutputs.outputs fields, the path is relative to the execution root
  517. // and must correspond to an entry in CommandTask.outputs.files. If this
  518. // message is part of a Directory message, then the path is relative to the
  519. // root of that directory. All paths MUST be delimited by forward slashes.
  520. Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
  521. // A pointer to the contents of the file. The method by which a client
  522. // retrieves the contents from a CAS system is not defined here.
  523. Digest *Digest `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"`
  524. // If the file is small enough, its contents may also or alternatively be
  525. // listed here.
  526. Contents []byte `protobuf:"bytes,3,opt,name=contents,proto3" json:"contents,omitempty"`
  527. // Properties of the file
  528. IsExecutable bool `protobuf:"varint,4,opt,name=is_executable,json=isExecutable,proto3" json:"is_executable,omitempty"`
  529. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  530. XXX_unrecognized []byte `json:"-"`
  531. XXX_sizecache int32 `json:"-"`
  532. }
  533. func (m *FileMetadata) Reset() { *m = FileMetadata{} }
  534. func (m *FileMetadata) String() string { return proto.CompactTextString(m) }
  535. func (*FileMetadata) ProtoMessage() {}
  536. func (*FileMetadata) Descriptor() ([]byte, []int) {
  537. return fileDescriptor_command_118ccef3a8ef079b, []int{4}
  538. }
  539. func (m *FileMetadata) XXX_Unmarshal(b []byte) error {
  540. return xxx_messageInfo_FileMetadata.Unmarshal(m, b)
  541. }
  542. func (m *FileMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  543. return xxx_messageInfo_FileMetadata.Marshal(b, m, deterministic)
  544. }
  545. func (dst *FileMetadata) XXX_Merge(src proto.Message) {
  546. xxx_messageInfo_FileMetadata.Merge(dst, src)
  547. }
  548. func (m *FileMetadata) XXX_Size() int {
  549. return xxx_messageInfo_FileMetadata.Size(m)
  550. }
  551. func (m *FileMetadata) XXX_DiscardUnknown() {
  552. xxx_messageInfo_FileMetadata.DiscardUnknown(m)
  553. }
  554. var xxx_messageInfo_FileMetadata proto.InternalMessageInfo
  555. func (m *FileMetadata) GetPath() string {
  556. if m != nil {
  557. return m.Path
  558. }
  559. return ""
  560. }
  561. func (m *FileMetadata) GetDigest() *Digest {
  562. if m != nil {
  563. return m.Digest
  564. }
  565. return nil
  566. }
  567. func (m *FileMetadata) GetContents() []byte {
  568. if m != nil {
  569. return m.Contents
  570. }
  571. return nil
  572. }
  573. func (m *FileMetadata) GetIsExecutable() bool {
  574. if m != nil {
  575. return m.IsExecutable
  576. }
  577. return false
  578. }
  579. // The metadata for a directory. Similar to the equivalent message in the Remote
  580. // Execution API.
  581. type DirectoryMetadata struct {
  582. // The path of the directory, as in
  583. // [FileMetadata.path][google.devtools.remoteworkers.v1test2.FileMetadata.path].
  584. Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
  585. // A pointer to the contents of the directory, in the form of a marshalled
  586. // Directory message.
  587. Digest *Digest `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"`
  588. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  589. XXX_unrecognized []byte `json:"-"`
  590. XXX_sizecache int32 `json:"-"`
  591. }
  592. func (m *DirectoryMetadata) Reset() { *m = DirectoryMetadata{} }
  593. func (m *DirectoryMetadata) String() string { return proto.CompactTextString(m) }
  594. func (*DirectoryMetadata) ProtoMessage() {}
  595. func (*DirectoryMetadata) Descriptor() ([]byte, []int) {
  596. return fileDescriptor_command_118ccef3a8ef079b, []int{5}
  597. }
  598. func (m *DirectoryMetadata) XXX_Unmarshal(b []byte) error {
  599. return xxx_messageInfo_DirectoryMetadata.Unmarshal(m, b)
  600. }
  601. func (m *DirectoryMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  602. return xxx_messageInfo_DirectoryMetadata.Marshal(b, m, deterministic)
  603. }
  604. func (dst *DirectoryMetadata) XXX_Merge(src proto.Message) {
  605. xxx_messageInfo_DirectoryMetadata.Merge(dst, src)
  606. }
  607. func (m *DirectoryMetadata) XXX_Size() int {
  608. return xxx_messageInfo_DirectoryMetadata.Size(m)
  609. }
  610. func (m *DirectoryMetadata) XXX_DiscardUnknown() {
  611. xxx_messageInfo_DirectoryMetadata.DiscardUnknown(m)
  612. }
  613. var xxx_messageInfo_DirectoryMetadata proto.InternalMessageInfo
  614. func (m *DirectoryMetadata) GetPath() string {
  615. if m != nil {
  616. return m.Path
  617. }
  618. return ""
  619. }
  620. func (m *DirectoryMetadata) GetDigest() *Digest {
  621. if m != nil {
  622. return m.Digest
  623. }
  624. return nil
  625. }
  626. // The CommandTask and CommandResult messages assume the existence of a service
  627. // that can serve blobs of content, identified by a hash and size known as a
  628. // "digest." The method by which these blobs may be retrieved is not specified
  629. // here, but a model implementation is in the Remote Execution API's
  630. // "ContentAddressibleStorage" interface.
  631. //
  632. // In the context of the RWAPI, a Digest will virtually always refer to the
  633. // contents of a file or a directory. The latter is represented by the
  634. // byte-encoded Directory message.
  635. type Digest struct {
  636. // A string-encoded hash (eg "1a2b3c", not the byte array [0x1a, 0x2b, 0x3c])
  637. // using an implementation-defined hash algorithm (eg SHA-256).
  638. Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
  639. // The size of the contents. While this is not strictly required as part of an
  640. // identifier (after all, any given hash will have exactly one canonical
  641. // size), it's useful in almost all cases when one might want to send or
  642. // retrieve blobs of content and is included here for this reason.
  643. SizeBytes int64 `protobuf:"varint,2,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"`
  644. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  645. XXX_unrecognized []byte `json:"-"`
  646. XXX_sizecache int32 `json:"-"`
  647. }
  648. func (m *Digest) Reset() { *m = Digest{} }
  649. func (m *Digest) String() string { return proto.CompactTextString(m) }
  650. func (*Digest) ProtoMessage() {}
  651. func (*Digest) Descriptor() ([]byte, []int) {
  652. return fileDescriptor_command_118ccef3a8ef079b, []int{6}
  653. }
  654. func (m *Digest) XXX_Unmarshal(b []byte) error {
  655. return xxx_messageInfo_Digest.Unmarshal(m, b)
  656. }
  657. func (m *Digest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  658. return xxx_messageInfo_Digest.Marshal(b, m, deterministic)
  659. }
  660. func (dst *Digest) XXX_Merge(src proto.Message) {
  661. xxx_messageInfo_Digest.Merge(dst, src)
  662. }
  663. func (m *Digest) XXX_Size() int {
  664. return xxx_messageInfo_Digest.Size(m)
  665. }
  666. func (m *Digest) XXX_DiscardUnknown() {
  667. xxx_messageInfo_Digest.DiscardUnknown(m)
  668. }
  669. var xxx_messageInfo_Digest proto.InternalMessageInfo
  670. func (m *Digest) GetHash() string {
  671. if m != nil {
  672. return m.Hash
  673. }
  674. return ""
  675. }
  676. func (m *Digest) GetSizeBytes() int64 {
  677. if m != nil {
  678. return m.SizeBytes
  679. }
  680. return 0
  681. }
  682. // The contents of a directory. Similar to the equivalent message in the Remote
  683. // Execution API.
  684. type Directory struct {
  685. // The files in this directory
  686. Files []*FileMetadata `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"`
  687. // Any subdirectories
  688. Directories []*DirectoryMetadata `protobuf:"bytes,2,rep,name=directories,proto3" json:"directories,omitempty"`
  689. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  690. XXX_unrecognized []byte `json:"-"`
  691. XXX_sizecache int32 `json:"-"`
  692. }
  693. func (m *Directory) Reset() { *m = Directory{} }
  694. func (m *Directory) String() string { return proto.CompactTextString(m) }
  695. func (*Directory) ProtoMessage() {}
  696. func (*Directory) Descriptor() ([]byte, []int) {
  697. return fileDescriptor_command_118ccef3a8ef079b, []int{7}
  698. }
  699. func (m *Directory) XXX_Unmarshal(b []byte) error {
  700. return xxx_messageInfo_Directory.Unmarshal(m, b)
  701. }
  702. func (m *Directory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  703. return xxx_messageInfo_Directory.Marshal(b, m, deterministic)
  704. }
  705. func (dst *Directory) XXX_Merge(src proto.Message) {
  706. xxx_messageInfo_Directory.Merge(dst, src)
  707. }
  708. func (m *Directory) XXX_Size() int {
  709. return xxx_messageInfo_Directory.Size(m)
  710. }
  711. func (m *Directory) XXX_DiscardUnknown() {
  712. xxx_messageInfo_Directory.DiscardUnknown(m)
  713. }
  714. var xxx_messageInfo_Directory proto.InternalMessageInfo
  715. func (m *Directory) GetFiles() []*FileMetadata {
  716. if m != nil {
  717. return m.Files
  718. }
  719. return nil
  720. }
  721. func (m *Directory) GetDirectories() []*DirectoryMetadata {
  722. if m != nil {
  723. return m.Directories
  724. }
  725. return nil
  726. }
  727. func init() {
  728. proto.RegisterType((*CommandTask)(nil), "google.devtools.remoteworkers.v1test2.CommandTask")
  729. proto.RegisterType((*CommandTask_Inputs)(nil), "google.devtools.remoteworkers.v1test2.CommandTask.Inputs")
  730. proto.RegisterType((*CommandTask_Inputs_EnvironmentVariable)(nil), "google.devtools.remoteworkers.v1test2.CommandTask.Inputs.EnvironmentVariable")
  731. proto.RegisterType((*CommandTask_Outputs)(nil), "google.devtools.remoteworkers.v1test2.CommandTask.Outputs")
  732. proto.RegisterType((*CommandTask_Timeouts)(nil), "google.devtools.remoteworkers.v1test2.CommandTask.Timeouts")
  733. proto.RegisterType((*CommandOutputs)(nil), "google.devtools.remoteworkers.v1test2.CommandOutputs")
  734. proto.RegisterType((*CommandOverhead)(nil), "google.devtools.remoteworkers.v1test2.CommandOverhead")
  735. proto.RegisterType((*CommandResult)(nil), "google.devtools.remoteworkers.v1test2.CommandResult")
  736. proto.RegisterType((*FileMetadata)(nil), "google.devtools.remoteworkers.v1test2.FileMetadata")
  737. proto.RegisterType((*DirectoryMetadata)(nil), "google.devtools.remoteworkers.v1test2.DirectoryMetadata")
  738. proto.RegisterType((*Digest)(nil), "google.devtools.remoteworkers.v1test2.Digest")
  739. proto.RegisterType((*Directory)(nil), "google.devtools.remoteworkers.v1test2.Directory")
  740. }
  741. func init() {
  742. proto.RegisterFile("google/devtools/remoteworkers/v1test2/command.proto", fileDescriptor_command_118ccef3a8ef079b)
  743. }
  744. var fileDescriptor_command_118ccef3a8ef079b = []byte{
  745. // 852 bytes of a gzipped FileDescriptorProto
  746. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0x5d, 0x6f, 0x1b, 0x45,
  747. 0x14, 0xd5, 0xae, 0x3f, 0x62, 0x5f, 0xa7, 0x94, 0x0e, 0xa9, 0x70, 0xcd, 0x87, 0x22, 0xa3, 0x4a,
  748. 0x01, 0x29, 0x6b, 0xd5, 0x01, 0x41, 0xc8, 0x03, 0x22, 0x71, 0xa8, 0xfa, 0x50, 0x01, 0x43, 0xd4,
  749. 0x48, 0x7d, 0xb1, 0x26, 0xbb, 0xb7, 0xce, 0xa8, 0xf6, 0x8e, 0x35, 0x33, 0xeb, 0x36, 0xbc, 0x20,
  750. 0xf1, 0x47, 0x90, 0xfa, 0x46, 0xdf, 0xe0, 0x3f, 0xf0, 0xc8, 0x7f, 0x42, 0xf3, 0xb5, 0x59, 0x37,
  751. 0x90, 0x18, 0x23, 0xf1, 0xb6, 0xbe, 0xf7, 0x9c, 0x33, 0xf7, 0x9e, 0x99, 0x7b, 0x65, 0xd8, 0x9b,
  752. 0x08, 0x31, 0x99, 0xe2, 0x20, 0xc3, 0x85, 0x16, 0x62, 0xaa, 0x06, 0x12, 0x67, 0x42, 0xe3, 0x0b,
  753. 0x21, 0x9f, 0xa3, 0x54, 0x83, 0xc5, 0x03, 0x8d, 0x4a, 0x0f, 0x07, 0xa9, 0x98, 0xcd, 0x58, 0x9e,
  754. 0x25, 0x73, 0x29, 0xb4, 0x20, 0xf7, 0x1d, 0x29, 0x09, 0xa4, 0x64, 0x89, 0x94, 0x78, 0x52, 0xef,
  755. 0x9e, 0xd7, 0xb6, 0xa4, 0xb3, 0xe2, 0xd9, 0x80, 0xe5, 0x17, 0x4e, 0xa1, 0xf7, 0xe1, 0x9b, 0xa9,
  756. 0xac, 0x90, 0x4c, 0x73, 0x91, 0xfb, 0xfc, 0xbb, 0x3e, 0x2f, 0xe7, 0xe9, 0x40, 0x69, 0xa6, 0x0b,
  757. 0xe5, 0x12, 0xfd, 0x57, 0x1b, 0xd0, 0x39, 0x72, 0xc5, 0x9c, 0x30, 0xf5, 0x9c, 0x7c, 0x0f, 0x4d,
  758. 0x9e, 0xcf, 0x0b, 0xad, 0xba, 0xd1, 0x76, 0xb4, 0xd3, 0x19, 0xee, 0x27, 0x2b, 0xd5, 0x96, 0x54,
  759. 0x34, 0x92, 0x47, 0x56, 0x80, 0x7a, 0x21, 0x82, 0xf0, 0x36, 0xbe, 0x9c, 0x63, 0xaa, 0x31, 0x1b,
  760. 0x8b, 0x42, 0x5b, 0xf1, 0xba, 0x15, 0xff, 0x72, 0x0d, 0xf1, 0x6f, 0x9d, 0x02, 0xbd, 0x1d, 0x34,
  761. 0x7d, 0x80, 0x9c, 0x42, 0x4b, 0xf3, 0x19, 0x0a, 0x23, 0xdf, 0xb0, 0xf2, 0x07, 0x6b, 0xc8, 0x9f,
  762. 0x78, 0x09, 0x5a, 0x8a, 0xf5, 0x7e, 0x8b, 0xa1, 0xe9, 0x5a, 0x22, 0xef, 0x43, 0x9b, 0xc9, 0x49,
  763. 0x31, 0xc3, 0xdc, 0x1a, 0x54, 0xdb, 0x69, 0xd3, 0xcb, 0x00, 0x39, 0x82, 0xc6, 0x33, 0x3e, 0x45,
  764. 0xd5, 0x8d, 0xb7, 0x6b, 0x3b, 0x9d, 0xe1, 0xee, 0x8a, 0xc7, 0x8f, 0xf8, 0x04, 0x95, 0xa6, 0x8e,
  765. 0x4b, 0x7e, 0x8e, 0xe0, 0x2e, 0xe6, 0x0b, 0x2e, 0x45, 0x6e, 0x54, 0xc7, 0x0b, 0x26, 0x39, 0x3b,
  766. 0x33, 0xaa, 0x35, 0xab, 0xfa, 0x78, 0xed, 0x0b, 0x49, 0x8e, 0x2f, 0x65, 0x9f, 0x78, 0x55, 0xba,
  767. 0x85, 0x57, 0x83, 0xaa, 0xf7, 0x15, 0xbc, 0xf3, 0x37, 0x60, 0x42, 0xa0, 0x9e, 0xb3, 0x19, 0xda,
  768. 0xa7, 0xd1, 0xa6, 0xf6, 0x9b, 0x6c, 0x41, 0x63, 0xc1, 0xa6, 0x05, 0x76, 0x63, 0x1b, 0x74, 0x3f,
  769. 0x7a, 0xbf, 0x44, 0xb0, 0x11, 0x2e, 0x66, 0x2b, 0xd8, 0xe2, 0x0c, 0xf3, 0x7d, 0x6e, 0x43, 0x27,
  770. 0xe3, 0x12, 0x53, 0x2d, 0x24, 0xf7, 0x96, 0xb5, 0x69, 0x35, 0x44, 0x76, 0x81, 0x28, 0x9d, 0x89,
  771. 0x42, 0x8f, 0x33, 0x54, 0x9a, 0xe7, 0xf6, 0x3d, 0x77, 0x6b, 0xf6, 0x98, 0x3b, 0x2e, 0x33, 0xba,
  772. 0x4c, 0x78, 0x38, 0x4a, 0xb9, 0x04, 0xaf, 0x97, 0x70, 0x94, 0xb2, 0x02, 0xef, 0xfd, 0x1a, 0x41,
  773. 0x2b, 0x5c, 0x36, 0xf9, 0x1c, 0xda, 0xf8, 0x12, 0xd3, 0xc2, 0x52, 0xdc, 0xc3, 0xbf, 0x17, 0x7c,
  774. 0x0e, 0x23, 0x95, 0x8c, 0xfc, 0x48, 0xd1, 0x4b, 0x2c, 0xd9, 0x85, 0x3a, 0xcf, 0xa6, 0xae, 0xf9,
  775. 0x6b, 0x39, 0x16, 0x46, 0x3e, 0x83, 0x96, 0x3a, 0x2f, 0x74, 0x26, 0x5e, 0xb8, 0x46, 0xae, 0xa5,
  776. 0x94, 0xd0, 0xfe, 0x02, 0xde, 0xf2, 0xd7, 0x19, 0x3c, 0x7d, 0xcf, 0x14, 0xcc, 0xf5, 0x38, 0x15,
  777. 0x99, 0xbb, 0x8e, 0x06, 0x6d, 0x99, 0xc0, 0x91, 0xc8, 0x90, 0x3c, 0x84, 0x8d, 0x30, 0x67, 0xae,
  778. 0xae, 0x7f, 0xf9, 0x12, 0x03, 0xbb, 0xff, 0x13, 0xdc, 0x0e, 0xe7, 0x2e, 0x50, 0x9e, 0x23, 0xcb,
  779. 0x4c, 0x07, 0x61, 0xb5, 0xdc, 0x6c, 0x54, 0x09, 0x35, 0x34, 0xe1, 0x25, 0x6e, 0xf6, 0xaa, 0x84,
  780. 0xf6, 0xff, 0x8c, 0xe1, 0x96, 0xaf, 0x80, 0xa2, 0x2a, 0xa6, 0x9a, 0x7c, 0x02, 0x4d, 0xb7, 0xbf,
  781. 0xfc, 0xe9, 0x24, 0xc8, 0xc8, 0x79, 0x9a, 0xfc, 0x60, 0x33, 0xd4, 0x23, 0x96, 0x4d, 0x8a, 0xff,
  782. 0xd9, 0xa4, 0xda, 0x7f, 0x31, 0x89, 0xec, 0x57, 0x1c, 0xa9, 0xdf, 0xd0, 0xda, 0x61, 0xdc, 0x8d,
  783. 0x2a, 0xae, 0xec, 0x57, 0x5c, 0x69, 0xac, 0x44, 0x0d, 0x70, 0xf2, 0x29, 0x80, 0xe9, 0x92, 0x2b,
  784. 0xcd, 0x53, 0xd5, 0x6d, 0xda, 0xd5, 0xb0, 0x75, 0x85, 0xfc, 0x75, 0x7e, 0x41, 0x2b, 0xb8, 0xfe,
  785. 0xeb, 0x08, 0x36, 0xbf, 0xe1, 0x53, 0x7c, 0x8c, 0x9a, 0x65, 0x4c, 0x33, 0x33, 0xd1, 0x73, 0xa6,
  786. 0xcf, 0xc3, 0x44, 0x9b, 0x6f, 0x72, 0x0c, 0xcd, 0xcc, 0xf6, 0xb8, 0xde, 0xeb, 0xf1, 0x64, 0xd2,
  787. 0x83, 0x56, 0x2a, 0x72, 0x6d, 0x57, 0xa5, 0x71, 0x78, 0x93, 0x96, 0xbf, 0xc9, 0x47, 0x70, 0x8b,
  788. 0xab, 0xb1, 0x1b, 0x23, 0xb3, 0x59, 0xac, 0x71, 0x2d, 0xba, 0xc9, 0xd5, 0x71, 0x19, 0xeb, 0xe7,
  789. 0x70, 0x67, 0xe4, 0xd7, 0xc1, 0xc5, 0xff, 0x50, 0x70, 0xff, 0x00, 0x9a, 0x2e, 0x62, 0x0e, 0x39,
  790. 0x67, 0xaa, 0x3c, 0xc4, 0x7c, 0x93, 0x0f, 0x00, 0x14, 0xff, 0x11, 0xc7, 0x67, 0x17, 0x1a, 0xdd,
  791. 0x5c, 0xd5, 0x68, 0xdb, 0x44, 0x0e, 0x4d, 0xa0, 0xff, 0x7b, 0x04, 0xed, 0xb2, 0x5a, 0xf2, 0xa8,
  792. 0xba, 0xf2, 0x3a, 0xc3, 0xbd, 0x15, 0x0b, 0xaa, 0x5e, 0x4d, 0xd8, 0x93, 0x4f, 0xaf, 0xee, 0xc9,
  793. 0xce, 0xf0, 0x8b, 0x95, 0x3b, 0x7c, 0xc3, 0xbf, 0xa5, 0x0d, 0x7b, 0xf8, 0x47, 0x04, 0x1f, 0xa7,
  794. 0x62, 0xb6, 0x9a, 0xd8, 0xe1, 0x5d, 0x6a, 0xc3, 0xa7, 0x2e, 0xec, 0xc7, 0x52, 0x7d, 0x17, 0x3d,
  795. 0xa5, 0x9e, 0x3f, 0x11, 0x53, 0x96, 0x4f, 0x12, 0x21, 0x27, 0x83, 0x09, 0xe6, 0xf6, 0x11, 0x0e,
  796. 0x5c, 0x8a, 0xcd, 0xb9, 0xba, 0xe1, 0x2f, 0xd1, 0xc1, 0x52, 0xf4, 0x55, 0x1c, 0xd3, 0xd3, 0xd7,
  797. 0xf1, 0xfd, 0x87, 0x4e, 0x79, 0x84, 0x8b, 0x13, 0x5b, 0xd9, 0x52, 0x09, 0xc9, 0x93, 0x07, 0x27,
  798. 0x86, 0x7a, 0xd6, 0xb4, 0x67, 0xed, 0xfd, 0x15, 0x00, 0x00, 0xff, 0xff, 0xf4, 0x52, 0xfa, 0x6a,
  799. 0x7d, 0x09, 0x00, 0x00,
  800. }