1 // This file is generated by rust-protobuf 3.0.0-pre. Do not edit
2 // .proto file is parsed by protoc --rust-out=...
3 // @generated
4
5 // https://github.com/rust-lang/rust-clippy/issues/702
6 #![allow(unknown_lints)]
7 #![allow(clippy::all)]
8
9 #![allow(unused_attributes)]
10 #![cfg_attr(rustfmt, rustfmt::skip)]
11
12 #![allow(box_pointers)]
13 #![allow(dead_code)]
14 #![allow(missing_docs)]
15 #![allow(non_camel_case_types)]
16 #![allow(non_snake_case)]
17 #![allow(non_upper_case_globals)]
18 #![allow(trivial_casts)]
19 #![allow(unused_results)]
20 #![allow(unused_mut)]
21
22 //! Generated file from `google/protobuf/descriptor.proto`
23
24 /// The protocol compiler can output a FileDescriptorSet containing the .proto
25 /// files it parses.
26 #[derive(PartialEq,Clone,Default,Debug)]
27 // @@protoc_insertion_point(message:google.protobuf.FileDescriptorSet)
28 pub struct FileDescriptorSet {
29 // message fields
30 // @@protoc_insertion_point(field:google.protobuf.FileDescriptorSet.file)
31 pub file: ::std::vec::Vec<FileDescriptorProto>,
32 // special fields
33 // @@protoc_insertion_point(special_field:google.protobuf.FileDescriptorSet.special_fields)
34 pub special_fields: crate::SpecialFields,
35 }
36
37 impl<'a> ::std::default::Default for &'a FileDescriptorSet {
default() -> &'a FileDescriptorSet38 fn default() -> &'a FileDescriptorSet {
39 <FileDescriptorSet as crate::Message>::default_instance()
40 }
41 }
42
43 impl FileDescriptorSet {
new() -> FileDescriptorSet44 pub fn new() -> FileDescriptorSet {
45 ::std::default::Default::default()
46 }
47
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData48 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
49 let mut fields = ::std::vec::Vec::with_capacity(1);
50 let mut oneofs = ::std::vec::Vec::with_capacity(0);
51 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
52 "file",
53 |m: &FileDescriptorSet| { &m.file },
54 |m: &mut FileDescriptorSet| { &mut m.file },
55 ));
56 crate::reflect::GeneratedMessageDescriptorData::new_2::<FileDescriptorSet>(
57 "FileDescriptorSet",
58 fields,
59 oneofs,
60 )
61 }
62 }
63
64 impl crate::Message for FileDescriptorSet {
65 const NAME: &'static str = "FileDescriptorSet";
66
is_initialized(&self) -> bool67 fn is_initialized(&self) -> bool {
68 for v in &self.file {
69 if !v.is_initialized() {
70 return false;
71 }
72 };
73 true
74 }
75
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>76 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
77 while let Some(tag) = is.read_raw_tag_or_eof()? {
78 match tag {
79 10 => {
80 self.file.push(is.read_message()?);
81 },
82 tag => {
83 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
84 },
85 };
86 }
87 ::std::result::Result::Ok(())
88 }
89
90 // Compute sizes of nested messages
91 #[allow(unused_variables)]
compute_size(&self) -> u6492 fn compute_size(&self) -> u64 {
93 let mut my_size = 0;
94 for value in &self.file {
95 let len = value.compute_size();
96 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
97 };
98 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
99 self.special_fields.cached_size().set(my_size as u32);
100 my_size
101 }
102
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>103 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
104 for v in &self.file {
105 crate::rt::write_message_field_with_cached_size(1, v, os)?;
106 };
107 os.write_unknown_fields(self.special_fields.unknown_fields())?;
108 ::std::result::Result::Ok(())
109 }
110
special_fields(&self) -> &crate::SpecialFields111 fn special_fields(&self) -> &crate::SpecialFields {
112 &self.special_fields
113 }
114
mut_special_fields(&mut self) -> &mut crate::SpecialFields115 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
116 &mut self.special_fields
117 }
118
new() -> FileDescriptorSet119 fn new() -> FileDescriptorSet {
120 FileDescriptorSet::new()
121 }
122
clear(&mut self)123 fn clear(&mut self) {
124 self.file.clear();
125 self.special_fields.clear();
126 }
127
default_instance() -> &'static FileDescriptorSet128 fn default_instance() -> &'static FileDescriptorSet {
129 static instance: FileDescriptorSet = FileDescriptorSet {
130 file: ::std::vec::Vec::new(),
131 special_fields: crate::SpecialFields::new(),
132 };
133 &instance
134 }
135 }
136
137 impl crate::MessageFull for FileDescriptorSet {
descriptor() -> crate::reflect::MessageDescriptor138 fn descriptor() -> crate::reflect::MessageDescriptor {
139 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
140 descriptor.get(|| file_descriptor().message_by_package_relative_name("FileDescriptorSet").unwrap()).clone()
141 }
142 }
143
144 impl ::std::fmt::Display for FileDescriptorSet {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result145 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
146 crate::text_format::fmt(self, f)
147 }
148 }
149
150 impl crate::reflect::ProtobufValue for FileDescriptorSet {
151 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
152 }
153
154 /// Describes a complete .proto file.
155 #[derive(PartialEq,Clone,Default,Debug)]
156 // @@protoc_insertion_point(message:google.protobuf.FileDescriptorProto)
157 pub struct FileDescriptorProto {
158 // message fields
159 // @@protoc_insertion_point(field:google.protobuf.FileDescriptorProto.name)
160 pub name: ::std::option::Option<::std::string::String>,
161 // @@protoc_insertion_point(field:google.protobuf.FileDescriptorProto.package)
162 pub package: ::std::option::Option<::std::string::String>,
163 /// Names of files imported by this file.
164 // @@protoc_insertion_point(field:google.protobuf.FileDescriptorProto.dependency)
165 pub dependency: ::std::vec::Vec<::std::string::String>,
166 /// Indexes of the public imported files in the dependency list above.
167 // @@protoc_insertion_point(field:google.protobuf.FileDescriptorProto.public_dependency)
168 pub public_dependency: ::std::vec::Vec<i32>,
169 /// Indexes of the weak imported files in the dependency list.
170 /// For Google-internal migration only. Do not use.
171 // @@protoc_insertion_point(field:google.protobuf.FileDescriptorProto.weak_dependency)
172 pub weak_dependency: ::std::vec::Vec<i32>,
173 /// All top-level definitions in this file.
174 // @@protoc_insertion_point(field:google.protobuf.FileDescriptorProto.message_type)
175 pub message_type: ::std::vec::Vec<DescriptorProto>,
176 // @@protoc_insertion_point(field:google.protobuf.FileDescriptorProto.enum_type)
177 pub enum_type: ::std::vec::Vec<EnumDescriptorProto>,
178 // @@protoc_insertion_point(field:google.protobuf.FileDescriptorProto.service)
179 pub service: ::std::vec::Vec<ServiceDescriptorProto>,
180 // @@protoc_insertion_point(field:google.protobuf.FileDescriptorProto.extension)
181 pub extension: ::std::vec::Vec<FieldDescriptorProto>,
182 // @@protoc_insertion_point(field:google.protobuf.FileDescriptorProto.options)
183 pub options: crate::MessageField<FileOptions>,
184 /// This field contains optional information about the original source code.
185 /// You may safely remove this entire field without harming runtime
186 /// functionality of the descriptors -- the information is needed only by
187 /// development tools.
188 // @@protoc_insertion_point(field:google.protobuf.FileDescriptorProto.source_code_info)
189 pub source_code_info: crate::MessageField<SourceCodeInfo>,
190 /// The syntax of the proto file.
191 /// The supported values are "proto2" and "proto3".
192 // @@protoc_insertion_point(field:google.protobuf.FileDescriptorProto.syntax)
193 pub syntax: ::std::option::Option<::std::string::String>,
194 // special fields
195 // @@protoc_insertion_point(special_field:google.protobuf.FileDescriptorProto.special_fields)
196 pub special_fields: crate::SpecialFields,
197 }
198
199 impl<'a> ::std::default::Default for &'a FileDescriptorProto {
default() -> &'a FileDescriptorProto200 fn default() -> &'a FileDescriptorProto {
201 <FileDescriptorProto as crate::Message>::default_instance()
202 }
203 }
204
205 impl FileDescriptorProto {
new() -> FileDescriptorProto206 pub fn new() -> FileDescriptorProto {
207 ::std::default::Default::default()
208 }
209
210 // optional string name = 1;
211
name(&self) -> &str212 pub fn name(&self) -> &str {
213 match self.name.as_ref() {
214 Some(v) => v,
215 None => "",
216 }
217 }
218
clear_name(&mut self)219 pub fn clear_name(&mut self) {
220 self.name = ::std::option::Option::None;
221 }
222
has_name(&self) -> bool223 pub fn has_name(&self) -> bool {
224 self.name.is_some()
225 }
226
227 // Param is passed by value, moved
set_name(&mut self, v: ::std::string::String)228 pub fn set_name(&mut self, v: ::std::string::String) {
229 self.name = ::std::option::Option::Some(v);
230 }
231
232 // Mutable pointer to the field.
233 // If field is not initialized, it is initialized with default value first.
mut_name(&mut self) -> &mut ::std::string::String234 pub fn mut_name(&mut self) -> &mut ::std::string::String {
235 if self.name.is_none() {
236 self.name = ::std::option::Option::Some(::std::string::String::new());
237 }
238 self.name.as_mut().unwrap()
239 }
240
241 // Take field
take_name(&mut self) -> ::std::string::String242 pub fn take_name(&mut self) -> ::std::string::String {
243 self.name.take().unwrap_or_else(|| ::std::string::String::new())
244 }
245
246 // optional string package = 2;
247
package(&self) -> &str248 pub fn package(&self) -> &str {
249 match self.package.as_ref() {
250 Some(v) => v,
251 None => "",
252 }
253 }
254
clear_package(&mut self)255 pub fn clear_package(&mut self) {
256 self.package = ::std::option::Option::None;
257 }
258
has_package(&self) -> bool259 pub fn has_package(&self) -> bool {
260 self.package.is_some()
261 }
262
263 // Param is passed by value, moved
set_package(&mut self, v: ::std::string::String)264 pub fn set_package(&mut self, v: ::std::string::String) {
265 self.package = ::std::option::Option::Some(v);
266 }
267
268 // Mutable pointer to the field.
269 // If field is not initialized, it is initialized with default value first.
mut_package(&mut self) -> &mut ::std::string::String270 pub fn mut_package(&mut self) -> &mut ::std::string::String {
271 if self.package.is_none() {
272 self.package = ::std::option::Option::Some(::std::string::String::new());
273 }
274 self.package.as_mut().unwrap()
275 }
276
277 // Take field
take_package(&mut self) -> ::std::string::String278 pub fn take_package(&mut self) -> ::std::string::String {
279 self.package.take().unwrap_or_else(|| ::std::string::String::new())
280 }
281
282 // optional string syntax = 12;
283
syntax(&self) -> &str284 pub fn syntax(&self) -> &str {
285 match self.syntax.as_ref() {
286 Some(v) => v,
287 None => "",
288 }
289 }
290
clear_syntax(&mut self)291 pub fn clear_syntax(&mut self) {
292 self.syntax = ::std::option::Option::None;
293 }
294
has_syntax(&self) -> bool295 pub fn has_syntax(&self) -> bool {
296 self.syntax.is_some()
297 }
298
299 // Param is passed by value, moved
set_syntax(&mut self, v: ::std::string::String)300 pub fn set_syntax(&mut self, v: ::std::string::String) {
301 self.syntax = ::std::option::Option::Some(v);
302 }
303
304 // Mutable pointer to the field.
305 // If field is not initialized, it is initialized with default value first.
mut_syntax(&mut self) -> &mut ::std::string::String306 pub fn mut_syntax(&mut self) -> &mut ::std::string::String {
307 if self.syntax.is_none() {
308 self.syntax = ::std::option::Option::Some(::std::string::String::new());
309 }
310 self.syntax.as_mut().unwrap()
311 }
312
313 // Take field
take_syntax(&mut self) -> ::std::string::String314 pub fn take_syntax(&mut self) -> ::std::string::String {
315 self.syntax.take().unwrap_or_else(|| ::std::string::String::new())
316 }
317
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData318 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
319 let mut fields = ::std::vec::Vec::with_capacity(12);
320 let mut oneofs = ::std::vec::Vec::with_capacity(0);
321 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
322 "name",
323 |m: &FileDescriptorProto| { &m.name },
324 |m: &mut FileDescriptorProto| { &mut m.name },
325 ));
326 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
327 "package",
328 |m: &FileDescriptorProto| { &m.package },
329 |m: &mut FileDescriptorProto| { &mut m.package },
330 ));
331 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
332 "dependency",
333 |m: &FileDescriptorProto| { &m.dependency },
334 |m: &mut FileDescriptorProto| { &mut m.dependency },
335 ));
336 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
337 "public_dependency",
338 |m: &FileDescriptorProto| { &m.public_dependency },
339 |m: &mut FileDescriptorProto| { &mut m.public_dependency },
340 ));
341 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
342 "weak_dependency",
343 |m: &FileDescriptorProto| { &m.weak_dependency },
344 |m: &mut FileDescriptorProto| { &mut m.weak_dependency },
345 ));
346 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
347 "message_type",
348 |m: &FileDescriptorProto| { &m.message_type },
349 |m: &mut FileDescriptorProto| { &mut m.message_type },
350 ));
351 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
352 "enum_type",
353 |m: &FileDescriptorProto| { &m.enum_type },
354 |m: &mut FileDescriptorProto| { &mut m.enum_type },
355 ));
356 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
357 "service",
358 |m: &FileDescriptorProto| { &m.service },
359 |m: &mut FileDescriptorProto| { &mut m.service },
360 ));
361 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
362 "extension",
363 |m: &FileDescriptorProto| { &m.extension },
364 |m: &mut FileDescriptorProto| { &mut m.extension },
365 ));
366 fields.push(crate::reflect::rt::v2::make_message_field_accessor::<_, FileOptions>(
367 "options",
368 |m: &FileDescriptorProto| { &m.options },
369 |m: &mut FileDescriptorProto| { &mut m.options },
370 ));
371 fields.push(crate::reflect::rt::v2::make_message_field_accessor::<_, SourceCodeInfo>(
372 "source_code_info",
373 |m: &FileDescriptorProto| { &m.source_code_info },
374 |m: &mut FileDescriptorProto| { &mut m.source_code_info },
375 ));
376 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
377 "syntax",
378 |m: &FileDescriptorProto| { &m.syntax },
379 |m: &mut FileDescriptorProto| { &mut m.syntax },
380 ));
381 crate::reflect::GeneratedMessageDescriptorData::new_2::<FileDescriptorProto>(
382 "FileDescriptorProto",
383 fields,
384 oneofs,
385 )
386 }
387 }
388
389 impl crate::Message for FileDescriptorProto {
390 const NAME: &'static str = "FileDescriptorProto";
391
is_initialized(&self) -> bool392 fn is_initialized(&self) -> bool {
393 for v in &self.message_type {
394 if !v.is_initialized() {
395 return false;
396 }
397 };
398 for v in &self.enum_type {
399 if !v.is_initialized() {
400 return false;
401 }
402 };
403 for v in &self.service {
404 if !v.is_initialized() {
405 return false;
406 }
407 };
408 for v in &self.extension {
409 if !v.is_initialized() {
410 return false;
411 }
412 };
413 for v in &self.options {
414 if !v.is_initialized() {
415 return false;
416 }
417 };
418 for v in &self.source_code_info {
419 if !v.is_initialized() {
420 return false;
421 }
422 };
423 true
424 }
425
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>426 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
427 while let Some(tag) = is.read_raw_tag_or_eof()? {
428 match tag {
429 10 => {
430 self.name = ::std::option::Option::Some(is.read_string()?);
431 },
432 18 => {
433 self.package = ::std::option::Option::Some(is.read_string()?);
434 },
435 26 => {
436 self.dependency.push(is.read_string()?);
437 },
438 82 => {
439 is.read_repeated_packed_int32_into(&mut self.public_dependency)?;
440 },
441 80 => {
442 self.public_dependency.push(is.read_int32()?);
443 },
444 90 => {
445 is.read_repeated_packed_int32_into(&mut self.weak_dependency)?;
446 },
447 88 => {
448 self.weak_dependency.push(is.read_int32()?);
449 },
450 34 => {
451 self.message_type.push(is.read_message()?);
452 },
453 42 => {
454 self.enum_type.push(is.read_message()?);
455 },
456 50 => {
457 self.service.push(is.read_message()?);
458 },
459 58 => {
460 self.extension.push(is.read_message()?);
461 },
462 66 => {
463 crate::rt::read_singular_message_into_field(is, &mut self.options)?;
464 },
465 74 => {
466 crate::rt::read_singular_message_into_field(is, &mut self.source_code_info)?;
467 },
468 98 => {
469 self.syntax = ::std::option::Option::Some(is.read_string()?);
470 },
471 tag => {
472 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
473 },
474 };
475 }
476 ::std::result::Result::Ok(())
477 }
478
479 // Compute sizes of nested messages
480 #[allow(unused_variables)]
compute_size(&self) -> u64481 fn compute_size(&self) -> u64 {
482 let mut my_size = 0;
483 if let Some(v) = self.name.as_ref() {
484 my_size += crate::rt::string_size(1, &v);
485 }
486 if let Some(v) = self.package.as_ref() {
487 my_size += crate::rt::string_size(2, &v);
488 }
489 for value in &self.dependency {
490 my_size += crate::rt::string_size(3, &value);
491 };
492 for value in &self.public_dependency {
493 my_size += crate::rt::int32_size(10, *value);
494 };
495 for value in &self.weak_dependency {
496 my_size += crate::rt::int32_size(11, *value);
497 };
498 for value in &self.message_type {
499 let len = value.compute_size();
500 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
501 };
502 for value in &self.enum_type {
503 let len = value.compute_size();
504 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
505 };
506 for value in &self.service {
507 let len = value.compute_size();
508 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
509 };
510 for value in &self.extension {
511 let len = value.compute_size();
512 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
513 };
514 if let Some(v) = self.options.as_ref() {
515 let len = v.compute_size();
516 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
517 }
518 if let Some(v) = self.source_code_info.as_ref() {
519 let len = v.compute_size();
520 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
521 }
522 if let Some(v) = self.syntax.as_ref() {
523 my_size += crate::rt::string_size(12, &v);
524 }
525 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
526 self.special_fields.cached_size().set(my_size as u32);
527 my_size
528 }
529
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>530 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
531 if let Some(v) = self.name.as_ref() {
532 os.write_string(1, v)?;
533 }
534 if let Some(v) = self.package.as_ref() {
535 os.write_string(2, v)?;
536 }
537 for v in &self.dependency {
538 os.write_string(3, &v)?;
539 };
540 for v in &self.public_dependency {
541 os.write_int32(10, *v)?;
542 };
543 for v in &self.weak_dependency {
544 os.write_int32(11, *v)?;
545 };
546 for v in &self.message_type {
547 crate::rt::write_message_field_with_cached_size(4, v, os)?;
548 };
549 for v in &self.enum_type {
550 crate::rt::write_message_field_with_cached_size(5, v, os)?;
551 };
552 for v in &self.service {
553 crate::rt::write_message_field_with_cached_size(6, v, os)?;
554 };
555 for v in &self.extension {
556 crate::rt::write_message_field_with_cached_size(7, v, os)?;
557 };
558 if let Some(v) = self.options.as_ref() {
559 crate::rt::write_message_field_with_cached_size(8, v, os)?;
560 }
561 if let Some(v) = self.source_code_info.as_ref() {
562 crate::rt::write_message_field_with_cached_size(9, v, os)?;
563 }
564 if let Some(v) = self.syntax.as_ref() {
565 os.write_string(12, v)?;
566 }
567 os.write_unknown_fields(self.special_fields.unknown_fields())?;
568 ::std::result::Result::Ok(())
569 }
570
special_fields(&self) -> &crate::SpecialFields571 fn special_fields(&self) -> &crate::SpecialFields {
572 &self.special_fields
573 }
574
mut_special_fields(&mut self) -> &mut crate::SpecialFields575 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
576 &mut self.special_fields
577 }
578
new() -> FileDescriptorProto579 fn new() -> FileDescriptorProto {
580 FileDescriptorProto::new()
581 }
582
clear(&mut self)583 fn clear(&mut self) {
584 self.name = ::std::option::Option::None;
585 self.package = ::std::option::Option::None;
586 self.dependency.clear();
587 self.public_dependency.clear();
588 self.weak_dependency.clear();
589 self.message_type.clear();
590 self.enum_type.clear();
591 self.service.clear();
592 self.extension.clear();
593 self.options.clear();
594 self.source_code_info.clear();
595 self.syntax = ::std::option::Option::None;
596 self.special_fields.clear();
597 }
598
default_instance() -> &'static FileDescriptorProto599 fn default_instance() -> &'static FileDescriptorProto {
600 static instance: FileDescriptorProto = FileDescriptorProto {
601 name: ::std::option::Option::None,
602 package: ::std::option::Option::None,
603 dependency: ::std::vec::Vec::new(),
604 public_dependency: ::std::vec::Vec::new(),
605 weak_dependency: ::std::vec::Vec::new(),
606 message_type: ::std::vec::Vec::new(),
607 enum_type: ::std::vec::Vec::new(),
608 service: ::std::vec::Vec::new(),
609 extension: ::std::vec::Vec::new(),
610 options: crate::MessageField::none(),
611 source_code_info: crate::MessageField::none(),
612 syntax: ::std::option::Option::None,
613 special_fields: crate::SpecialFields::new(),
614 };
615 &instance
616 }
617 }
618
619 impl crate::MessageFull for FileDescriptorProto {
descriptor() -> crate::reflect::MessageDescriptor620 fn descriptor() -> crate::reflect::MessageDescriptor {
621 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
622 descriptor.get(|| file_descriptor().message_by_package_relative_name("FileDescriptorProto").unwrap()).clone()
623 }
624 }
625
626 impl ::std::fmt::Display for FileDescriptorProto {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result627 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
628 crate::text_format::fmt(self, f)
629 }
630 }
631
632 impl crate::reflect::ProtobufValue for FileDescriptorProto {
633 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
634 }
635
636 /// Describes a message type.
637 #[derive(PartialEq,Clone,Default,Debug)]
638 // @@protoc_insertion_point(message:google.protobuf.DescriptorProto)
639 pub struct DescriptorProto {
640 // message fields
641 // @@protoc_insertion_point(field:google.protobuf.DescriptorProto.name)
642 pub name: ::std::option::Option<::std::string::String>,
643 // @@protoc_insertion_point(field:google.protobuf.DescriptorProto.field)
644 pub field: ::std::vec::Vec<FieldDescriptorProto>,
645 // @@protoc_insertion_point(field:google.protobuf.DescriptorProto.extension)
646 pub extension: ::std::vec::Vec<FieldDescriptorProto>,
647 // @@protoc_insertion_point(field:google.protobuf.DescriptorProto.nested_type)
648 pub nested_type: ::std::vec::Vec<DescriptorProto>,
649 // @@protoc_insertion_point(field:google.protobuf.DescriptorProto.enum_type)
650 pub enum_type: ::std::vec::Vec<EnumDescriptorProto>,
651 // @@protoc_insertion_point(field:google.protobuf.DescriptorProto.extension_range)
652 pub extension_range: ::std::vec::Vec<descriptor_proto::ExtensionRange>,
653 // @@protoc_insertion_point(field:google.protobuf.DescriptorProto.oneof_decl)
654 pub oneof_decl: ::std::vec::Vec<OneofDescriptorProto>,
655 // @@protoc_insertion_point(field:google.protobuf.DescriptorProto.options)
656 pub options: crate::MessageField<MessageOptions>,
657 // @@protoc_insertion_point(field:google.protobuf.DescriptorProto.reserved_range)
658 pub reserved_range: ::std::vec::Vec<descriptor_proto::ReservedRange>,
659 /// Reserved field names, which may not be used by fields in the same message.
660 /// A given name may only be reserved once.
661 // @@protoc_insertion_point(field:google.protobuf.DescriptorProto.reserved_name)
662 pub reserved_name: ::std::vec::Vec<::std::string::String>,
663 // special fields
664 // @@protoc_insertion_point(special_field:google.protobuf.DescriptorProto.special_fields)
665 pub special_fields: crate::SpecialFields,
666 }
667
668 impl<'a> ::std::default::Default for &'a DescriptorProto {
default() -> &'a DescriptorProto669 fn default() -> &'a DescriptorProto {
670 <DescriptorProto as crate::Message>::default_instance()
671 }
672 }
673
674 impl DescriptorProto {
new() -> DescriptorProto675 pub fn new() -> DescriptorProto {
676 ::std::default::Default::default()
677 }
678
679 // optional string name = 1;
680
name(&self) -> &str681 pub fn name(&self) -> &str {
682 match self.name.as_ref() {
683 Some(v) => v,
684 None => "",
685 }
686 }
687
clear_name(&mut self)688 pub fn clear_name(&mut self) {
689 self.name = ::std::option::Option::None;
690 }
691
has_name(&self) -> bool692 pub fn has_name(&self) -> bool {
693 self.name.is_some()
694 }
695
696 // Param is passed by value, moved
set_name(&mut self, v: ::std::string::String)697 pub fn set_name(&mut self, v: ::std::string::String) {
698 self.name = ::std::option::Option::Some(v);
699 }
700
701 // Mutable pointer to the field.
702 // If field is not initialized, it is initialized with default value first.
mut_name(&mut self) -> &mut ::std::string::String703 pub fn mut_name(&mut self) -> &mut ::std::string::String {
704 if self.name.is_none() {
705 self.name = ::std::option::Option::Some(::std::string::String::new());
706 }
707 self.name.as_mut().unwrap()
708 }
709
710 // Take field
take_name(&mut self) -> ::std::string::String711 pub fn take_name(&mut self) -> ::std::string::String {
712 self.name.take().unwrap_or_else(|| ::std::string::String::new())
713 }
714
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData715 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
716 let mut fields = ::std::vec::Vec::with_capacity(10);
717 let mut oneofs = ::std::vec::Vec::with_capacity(0);
718 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
719 "name",
720 |m: &DescriptorProto| { &m.name },
721 |m: &mut DescriptorProto| { &mut m.name },
722 ));
723 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
724 "field",
725 |m: &DescriptorProto| { &m.field },
726 |m: &mut DescriptorProto| { &mut m.field },
727 ));
728 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
729 "extension",
730 |m: &DescriptorProto| { &m.extension },
731 |m: &mut DescriptorProto| { &mut m.extension },
732 ));
733 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
734 "nested_type",
735 |m: &DescriptorProto| { &m.nested_type },
736 |m: &mut DescriptorProto| { &mut m.nested_type },
737 ));
738 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
739 "enum_type",
740 |m: &DescriptorProto| { &m.enum_type },
741 |m: &mut DescriptorProto| { &mut m.enum_type },
742 ));
743 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
744 "extension_range",
745 |m: &DescriptorProto| { &m.extension_range },
746 |m: &mut DescriptorProto| { &mut m.extension_range },
747 ));
748 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
749 "oneof_decl",
750 |m: &DescriptorProto| { &m.oneof_decl },
751 |m: &mut DescriptorProto| { &mut m.oneof_decl },
752 ));
753 fields.push(crate::reflect::rt::v2::make_message_field_accessor::<_, MessageOptions>(
754 "options",
755 |m: &DescriptorProto| { &m.options },
756 |m: &mut DescriptorProto| { &mut m.options },
757 ));
758 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
759 "reserved_range",
760 |m: &DescriptorProto| { &m.reserved_range },
761 |m: &mut DescriptorProto| { &mut m.reserved_range },
762 ));
763 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
764 "reserved_name",
765 |m: &DescriptorProto| { &m.reserved_name },
766 |m: &mut DescriptorProto| { &mut m.reserved_name },
767 ));
768 crate::reflect::GeneratedMessageDescriptorData::new_2::<DescriptorProto>(
769 "DescriptorProto",
770 fields,
771 oneofs,
772 )
773 }
774 }
775
776 impl crate::Message for DescriptorProto {
777 const NAME: &'static str = "DescriptorProto";
778
is_initialized(&self) -> bool779 fn is_initialized(&self) -> bool {
780 for v in &self.field {
781 if !v.is_initialized() {
782 return false;
783 }
784 };
785 for v in &self.extension {
786 if !v.is_initialized() {
787 return false;
788 }
789 };
790 for v in &self.nested_type {
791 if !v.is_initialized() {
792 return false;
793 }
794 };
795 for v in &self.enum_type {
796 if !v.is_initialized() {
797 return false;
798 }
799 };
800 for v in &self.extension_range {
801 if !v.is_initialized() {
802 return false;
803 }
804 };
805 for v in &self.oneof_decl {
806 if !v.is_initialized() {
807 return false;
808 }
809 };
810 for v in &self.options {
811 if !v.is_initialized() {
812 return false;
813 }
814 };
815 for v in &self.reserved_range {
816 if !v.is_initialized() {
817 return false;
818 }
819 };
820 true
821 }
822
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>823 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
824 while let Some(tag) = is.read_raw_tag_or_eof()? {
825 match tag {
826 10 => {
827 self.name = ::std::option::Option::Some(is.read_string()?);
828 },
829 18 => {
830 self.field.push(is.read_message()?);
831 },
832 50 => {
833 self.extension.push(is.read_message()?);
834 },
835 26 => {
836 self.nested_type.push(is.read_message()?);
837 },
838 34 => {
839 self.enum_type.push(is.read_message()?);
840 },
841 42 => {
842 self.extension_range.push(is.read_message()?);
843 },
844 66 => {
845 self.oneof_decl.push(is.read_message()?);
846 },
847 58 => {
848 crate::rt::read_singular_message_into_field(is, &mut self.options)?;
849 },
850 74 => {
851 self.reserved_range.push(is.read_message()?);
852 },
853 82 => {
854 self.reserved_name.push(is.read_string()?);
855 },
856 tag => {
857 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
858 },
859 };
860 }
861 ::std::result::Result::Ok(())
862 }
863
864 // Compute sizes of nested messages
865 #[allow(unused_variables)]
compute_size(&self) -> u64866 fn compute_size(&self) -> u64 {
867 let mut my_size = 0;
868 if let Some(v) = self.name.as_ref() {
869 my_size += crate::rt::string_size(1, &v);
870 }
871 for value in &self.field {
872 let len = value.compute_size();
873 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
874 };
875 for value in &self.extension {
876 let len = value.compute_size();
877 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
878 };
879 for value in &self.nested_type {
880 let len = value.compute_size();
881 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
882 };
883 for value in &self.enum_type {
884 let len = value.compute_size();
885 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
886 };
887 for value in &self.extension_range {
888 let len = value.compute_size();
889 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
890 };
891 for value in &self.oneof_decl {
892 let len = value.compute_size();
893 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
894 };
895 if let Some(v) = self.options.as_ref() {
896 let len = v.compute_size();
897 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
898 }
899 for value in &self.reserved_range {
900 let len = value.compute_size();
901 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
902 };
903 for value in &self.reserved_name {
904 my_size += crate::rt::string_size(10, &value);
905 };
906 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
907 self.special_fields.cached_size().set(my_size as u32);
908 my_size
909 }
910
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>911 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
912 if let Some(v) = self.name.as_ref() {
913 os.write_string(1, v)?;
914 }
915 for v in &self.field {
916 crate::rt::write_message_field_with_cached_size(2, v, os)?;
917 };
918 for v in &self.extension {
919 crate::rt::write_message_field_with_cached_size(6, v, os)?;
920 };
921 for v in &self.nested_type {
922 crate::rt::write_message_field_with_cached_size(3, v, os)?;
923 };
924 for v in &self.enum_type {
925 crate::rt::write_message_field_with_cached_size(4, v, os)?;
926 };
927 for v in &self.extension_range {
928 crate::rt::write_message_field_with_cached_size(5, v, os)?;
929 };
930 for v in &self.oneof_decl {
931 crate::rt::write_message_field_with_cached_size(8, v, os)?;
932 };
933 if let Some(v) = self.options.as_ref() {
934 crate::rt::write_message_field_with_cached_size(7, v, os)?;
935 }
936 for v in &self.reserved_range {
937 crate::rt::write_message_field_with_cached_size(9, v, os)?;
938 };
939 for v in &self.reserved_name {
940 os.write_string(10, &v)?;
941 };
942 os.write_unknown_fields(self.special_fields.unknown_fields())?;
943 ::std::result::Result::Ok(())
944 }
945
special_fields(&self) -> &crate::SpecialFields946 fn special_fields(&self) -> &crate::SpecialFields {
947 &self.special_fields
948 }
949
mut_special_fields(&mut self) -> &mut crate::SpecialFields950 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
951 &mut self.special_fields
952 }
953
new() -> DescriptorProto954 fn new() -> DescriptorProto {
955 DescriptorProto::new()
956 }
957
clear(&mut self)958 fn clear(&mut self) {
959 self.name = ::std::option::Option::None;
960 self.field.clear();
961 self.extension.clear();
962 self.nested_type.clear();
963 self.enum_type.clear();
964 self.extension_range.clear();
965 self.oneof_decl.clear();
966 self.options.clear();
967 self.reserved_range.clear();
968 self.reserved_name.clear();
969 self.special_fields.clear();
970 }
971
default_instance() -> &'static DescriptorProto972 fn default_instance() -> &'static DescriptorProto {
973 static instance: DescriptorProto = DescriptorProto {
974 name: ::std::option::Option::None,
975 field: ::std::vec::Vec::new(),
976 extension: ::std::vec::Vec::new(),
977 nested_type: ::std::vec::Vec::new(),
978 enum_type: ::std::vec::Vec::new(),
979 extension_range: ::std::vec::Vec::new(),
980 oneof_decl: ::std::vec::Vec::new(),
981 options: crate::MessageField::none(),
982 reserved_range: ::std::vec::Vec::new(),
983 reserved_name: ::std::vec::Vec::new(),
984 special_fields: crate::SpecialFields::new(),
985 };
986 &instance
987 }
988 }
989
990 impl crate::MessageFull for DescriptorProto {
descriptor() -> crate::reflect::MessageDescriptor991 fn descriptor() -> crate::reflect::MessageDescriptor {
992 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
993 descriptor.get(|| file_descriptor().message_by_package_relative_name("DescriptorProto").unwrap()).clone()
994 }
995 }
996
997 impl ::std::fmt::Display for DescriptorProto {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result998 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
999 crate::text_format::fmt(self, f)
1000 }
1001 }
1002
1003 impl crate::reflect::ProtobufValue for DescriptorProto {
1004 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
1005 }
1006
1007 /// Nested message and enums of message `DescriptorProto`
1008 pub mod descriptor_proto {
1009 #[derive(PartialEq,Clone,Default,Debug)]
1010 // @@protoc_insertion_point(message:google.protobuf.DescriptorProto.ExtensionRange)
1011 pub struct ExtensionRange {
1012 // message fields
1013 // @@protoc_insertion_point(field:google.protobuf.DescriptorProto.ExtensionRange.start)
1014 pub start: ::std::option::Option<i32>,
1015 // @@protoc_insertion_point(field:google.protobuf.DescriptorProto.ExtensionRange.end)
1016 pub end: ::std::option::Option<i32>,
1017 // @@protoc_insertion_point(field:google.protobuf.DescriptorProto.ExtensionRange.options)
1018 pub options: crate::MessageField<super::ExtensionRangeOptions>,
1019 // special fields
1020 // @@protoc_insertion_point(special_field:google.protobuf.DescriptorProto.ExtensionRange.special_fields)
1021 pub special_fields: crate::SpecialFields,
1022 }
1023
1024 impl<'a> ::std::default::Default for &'a ExtensionRange {
default() -> &'a ExtensionRange1025 fn default() -> &'a ExtensionRange {
1026 <ExtensionRange as crate::Message>::default_instance()
1027 }
1028 }
1029
1030 impl ExtensionRange {
new() -> ExtensionRange1031 pub fn new() -> ExtensionRange {
1032 ::std::default::Default::default()
1033 }
1034
1035 // optional int32 start = 1;
1036
start(&self) -> i321037 pub fn start(&self) -> i32 {
1038 self.start.unwrap_or(0)
1039 }
1040
clear_start(&mut self)1041 pub fn clear_start(&mut self) {
1042 self.start = ::std::option::Option::None;
1043 }
1044
has_start(&self) -> bool1045 pub fn has_start(&self) -> bool {
1046 self.start.is_some()
1047 }
1048
1049 // Param is passed by value, moved
set_start(&mut self, v: i32)1050 pub fn set_start(&mut self, v: i32) {
1051 self.start = ::std::option::Option::Some(v);
1052 }
1053
1054 // optional int32 end = 2;
1055
end(&self) -> i321056 pub fn end(&self) -> i32 {
1057 self.end.unwrap_or(0)
1058 }
1059
clear_end(&mut self)1060 pub fn clear_end(&mut self) {
1061 self.end = ::std::option::Option::None;
1062 }
1063
has_end(&self) -> bool1064 pub fn has_end(&self) -> bool {
1065 self.end.is_some()
1066 }
1067
1068 // Param is passed by value, moved
set_end(&mut self, v: i32)1069 pub fn set_end(&mut self, v: i32) {
1070 self.end = ::std::option::Option::Some(v);
1071 }
1072
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData1073 pub(in super) fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
1074 let mut fields = ::std::vec::Vec::with_capacity(3);
1075 let mut oneofs = ::std::vec::Vec::with_capacity(0);
1076 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
1077 "start",
1078 |m: &ExtensionRange| { &m.start },
1079 |m: &mut ExtensionRange| { &mut m.start },
1080 ));
1081 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
1082 "end",
1083 |m: &ExtensionRange| { &m.end },
1084 |m: &mut ExtensionRange| { &mut m.end },
1085 ));
1086 fields.push(crate::reflect::rt::v2::make_message_field_accessor::<_, super::ExtensionRangeOptions>(
1087 "options",
1088 |m: &ExtensionRange| { &m.options },
1089 |m: &mut ExtensionRange| { &mut m.options },
1090 ));
1091 crate::reflect::GeneratedMessageDescriptorData::new_2::<ExtensionRange>(
1092 "DescriptorProto.ExtensionRange",
1093 fields,
1094 oneofs,
1095 )
1096 }
1097 }
1098
1099 impl crate::Message for ExtensionRange {
1100 const NAME: &'static str = "ExtensionRange";
1101
is_initialized(&self) -> bool1102 fn is_initialized(&self) -> bool {
1103 for v in &self.options {
1104 if !v.is_initialized() {
1105 return false;
1106 }
1107 };
1108 true
1109 }
1110
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>1111 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
1112 while let Some(tag) = is.read_raw_tag_or_eof()? {
1113 match tag {
1114 8 => {
1115 self.start = ::std::option::Option::Some(is.read_int32()?);
1116 },
1117 16 => {
1118 self.end = ::std::option::Option::Some(is.read_int32()?);
1119 },
1120 26 => {
1121 crate::rt::read_singular_message_into_field(is, &mut self.options)?;
1122 },
1123 tag => {
1124 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1125 },
1126 };
1127 }
1128 ::std::result::Result::Ok(())
1129 }
1130
1131 // Compute sizes of nested messages
1132 #[allow(unused_variables)]
compute_size(&self) -> u641133 fn compute_size(&self) -> u64 {
1134 let mut my_size = 0;
1135 if let Some(v) = self.start {
1136 my_size += crate::rt::int32_size(1, v);
1137 }
1138 if let Some(v) = self.end {
1139 my_size += crate::rt::int32_size(2, v);
1140 }
1141 if let Some(v) = self.options.as_ref() {
1142 let len = v.compute_size();
1143 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
1144 }
1145 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
1146 self.special_fields.cached_size().set(my_size as u32);
1147 my_size
1148 }
1149
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>1150 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
1151 if let Some(v) = self.start {
1152 os.write_int32(1, v)?;
1153 }
1154 if let Some(v) = self.end {
1155 os.write_int32(2, v)?;
1156 }
1157 if let Some(v) = self.options.as_ref() {
1158 crate::rt::write_message_field_with_cached_size(3, v, os)?;
1159 }
1160 os.write_unknown_fields(self.special_fields.unknown_fields())?;
1161 ::std::result::Result::Ok(())
1162 }
1163
special_fields(&self) -> &crate::SpecialFields1164 fn special_fields(&self) -> &crate::SpecialFields {
1165 &self.special_fields
1166 }
1167
mut_special_fields(&mut self) -> &mut crate::SpecialFields1168 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
1169 &mut self.special_fields
1170 }
1171
new() -> ExtensionRange1172 fn new() -> ExtensionRange {
1173 ExtensionRange::new()
1174 }
1175
clear(&mut self)1176 fn clear(&mut self) {
1177 self.start = ::std::option::Option::None;
1178 self.end = ::std::option::Option::None;
1179 self.options.clear();
1180 self.special_fields.clear();
1181 }
1182
default_instance() -> &'static ExtensionRange1183 fn default_instance() -> &'static ExtensionRange {
1184 static instance: ExtensionRange = ExtensionRange {
1185 start: ::std::option::Option::None,
1186 end: ::std::option::Option::None,
1187 options: crate::MessageField::none(),
1188 special_fields: crate::SpecialFields::new(),
1189 };
1190 &instance
1191 }
1192 }
1193
1194 impl crate::MessageFull for ExtensionRange {
descriptor() -> crate::reflect::MessageDescriptor1195 fn descriptor() -> crate::reflect::MessageDescriptor {
1196 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
1197 descriptor.get(|| super::file_descriptor().message_by_package_relative_name("DescriptorProto.ExtensionRange").unwrap()).clone()
1198 }
1199 }
1200
1201 impl ::std::fmt::Display for ExtensionRange {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1202 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1203 crate::text_format::fmt(self, f)
1204 }
1205 }
1206
1207 impl crate::reflect::ProtobufValue for ExtensionRange {
1208 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
1209 }
1210
1211 /// Range of reserved tag numbers. Reserved tag numbers may not be used by
1212 /// fields or extension ranges in the same message. Reserved ranges may
1213 /// not overlap.
1214 #[derive(PartialEq,Clone,Default,Debug)]
1215 // @@protoc_insertion_point(message:google.protobuf.DescriptorProto.ReservedRange)
1216 pub struct ReservedRange {
1217 // message fields
1218 // @@protoc_insertion_point(field:google.protobuf.DescriptorProto.ReservedRange.start)
1219 pub start: ::std::option::Option<i32>,
1220 // @@protoc_insertion_point(field:google.protobuf.DescriptorProto.ReservedRange.end)
1221 pub end: ::std::option::Option<i32>,
1222 // special fields
1223 // @@protoc_insertion_point(special_field:google.protobuf.DescriptorProto.ReservedRange.special_fields)
1224 pub special_fields: crate::SpecialFields,
1225 }
1226
1227 impl<'a> ::std::default::Default for &'a ReservedRange {
default() -> &'a ReservedRange1228 fn default() -> &'a ReservedRange {
1229 <ReservedRange as crate::Message>::default_instance()
1230 }
1231 }
1232
1233 impl ReservedRange {
new() -> ReservedRange1234 pub fn new() -> ReservedRange {
1235 ::std::default::Default::default()
1236 }
1237
1238 // optional int32 start = 1;
1239
start(&self) -> i321240 pub fn start(&self) -> i32 {
1241 self.start.unwrap_or(0)
1242 }
1243
clear_start(&mut self)1244 pub fn clear_start(&mut self) {
1245 self.start = ::std::option::Option::None;
1246 }
1247
has_start(&self) -> bool1248 pub fn has_start(&self) -> bool {
1249 self.start.is_some()
1250 }
1251
1252 // Param is passed by value, moved
set_start(&mut self, v: i32)1253 pub fn set_start(&mut self, v: i32) {
1254 self.start = ::std::option::Option::Some(v);
1255 }
1256
1257 // optional int32 end = 2;
1258
end(&self) -> i321259 pub fn end(&self) -> i32 {
1260 self.end.unwrap_or(0)
1261 }
1262
clear_end(&mut self)1263 pub fn clear_end(&mut self) {
1264 self.end = ::std::option::Option::None;
1265 }
1266
has_end(&self) -> bool1267 pub fn has_end(&self) -> bool {
1268 self.end.is_some()
1269 }
1270
1271 // Param is passed by value, moved
set_end(&mut self, v: i32)1272 pub fn set_end(&mut self, v: i32) {
1273 self.end = ::std::option::Option::Some(v);
1274 }
1275
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData1276 pub(in super) fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
1277 let mut fields = ::std::vec::Vec::with_capacity(2);
1278 let mut oneofs = ::std::vec::Vec::with_capacity(0);
1279 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
1280 "start",
1281 |m: &ReservedRange| { &m.start },
1282 |m: &mut ReservedRange| { &mut m.start },
1283 ));
1284 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
1285 "end",
1286 |m: &ReservedRange| { &m.end },
1287 |m: &mut ReservedRange| { &mut m.end },
1288 ));
1289 crate::reflect::GeneratedMessageDescriptorData::new_2::<ReservedRange>(
1290 "DescriptorProto.ReservedRange",
1291 fields,
1292 oneofs,
1293 )
1294 }
1295 }
1296
1297 impl crate::Message for ReservedRange {
1298 const NAME: &'static str = "ReservedRange";
1299
is_initialized(&self) -> bool1300 fn is_initialized(&self) -> bool {
1301 true
1302 }
1303
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>1304 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
1305 while let Some(tag) = is.read_raw_tag_or_eof()? {
1306 match tag {
1307 8 => {
1308 self.start = ::std::option::Option::Some(is.read_int32()?);
1309 },
1310 16 => {
1311 self.end = ::std::option::Option::Some(is.read_int32()?);
1312 },
1313 tag => {
1314 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1315 },
1316 };
1317 }
1318 ::std::result::Result::Ok(())
1319 }
1320
1321 // Compute sizes of nested messages
1322 #[allow(unused_variables)]
compute_size(&self) -> u641323 fn compute_size(&self) -> u64 {
1324 let mut my_size = 0;
1325 if let Some(v) = self.start {
1326 my_size += crate::rt::int32_size(1, v);
1327 }
1328 if let Some(v) = self.end {
1329 my_size += crate::rt::int32_size(2, v);
1330 }
1331 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
1332 self.special_fields.cached_size().set(my_size as u32);
1333 my_size
1334 }
1335
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>1336 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
1337 if let Some(v) = self.start {
1338 os.write_int32(1, v)?;
1339 }
1340 if let Some(v) = self.end {
1341 os.write_int32(2, v)?;
1342 }
1343 os.write_unknown_fields(self.special_fields.unknown_fields())?;
1344 ::std::result::Result::Ok(())
1345 }
1346
special_fields(&self) -> &crate::SpecialFields1347 fn special_fields(&self) -> &crate::SpecialFields {
1348 &self.special_fields
1349 }
1350
mut_special_fields(&mut self) -> &mut crate::SpecialFields1351 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
1352 &mut self.special_fields
1353 }
1354
new() -> ReservedRange1355 fn new() -> ReservedRange {
1356 ReservedRange::new()
1357 }
1358
clear(&mut self)1359 fn clear(&mut self) {
1360 self.start = ::std::option::Option::None;
1361 self.end = ::std::option::Option::None;
1362 self.special_fields.clear();
1363 }
1364
default_instance() -> &'static ReservedRange1365 fn default_instance() -> &'static ReservedRange {
1366 static instance: ReservedRange = ReservedRange {
1367 start: ::std::option::Option::None,
1368 end: ::std::option::Option::None,
1369 special_fields: crate::SpecialFields::new(),
1370 };
1371 &instance
1372 }
1373 }
1374
1375 impl crate::MessageFull for ReservedRange {
descriptor() -> crate::reflect::MessageDescriptor1376 fn descriptor() -> crate::reflect::MessageDescriptor {
1377 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
1378 descriptor.get(|| super::file_descriptor().message_by_package_relative_name("DescriptorProto.ReservedRange").unwrap()).clone()
1379 }
1380 }
1381
1382 impl ::std::fmt::Display for ReservedRange {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1383 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1384 crate::text_format::fmt(self, f)
1385 }
1386 }
1387
1388 impl crate::reflect::ProtobufValue for ReservedRange {
1389 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
1390 }
1391 }
1392
1393 #[derive(PartialEq,Clone,Default,Debug)]
1394 // @@protoc_insertion_point(message:google.protobuf.ExtensionRangeOptions)
1395 pub struct ExtensionRangeOptions {
1396 // message fields
1397 /// The parser stores options it doesn't recognize here. See above.
1398 // @@protoc_insertion_point(field:google.protobuf.ExtensionRangeOptions.uninterpreted_option)
1399 pub uninterpreted_option: ::std::vec::Vec<UninterpretedOption>,
1400 // special fields
1401 // @@protoc_insertion_point(special_field:google.protobuf.ExtensionRangeOptions.special_fields)
1402 pub special_fields: crate::SpecialFields,
1403 }
1404
1405 impl<'a> ::std::default::Default for &'a ExtensionRangeOptions {
default() -> &'a ExtensionRangeOptions1406 fn default() -> &'a ExtensionRangeOptions {
1407 <ExtensionRangeOptions as crate::Message>::default_instance()
1408 }
1409 }
1410
1411 impl ExtensionRangeOptions {
new() -> ExtensionRangeOptions1412 pub fn new() -> ExtensionRangeOptions {
1413 ::std::default::Default::default()
1414 }
1415
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData1416 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
1417 let mut fields = ::std::vec::Vec::with_capacity(1);
1418 let mut oneofs = ::std::vec::Vec::with_capacity(0);
1419 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1420 "uninterpreted_option",
1421 |m: &ExtensionRangeOptions| { &m.uninterpreted_option },
1422 |m: &mut ExtensionRangeOptions| { &mut m.uninterpreted_option },
1423 ));
1424 crate::reflect::GeneratedMessageDescriptorData::new_2::<ExtensionRangeOptions>(
1425 "ExtensionRangeOptions",
1426 fields,
1427 oneofs,
1428 )
1429 }
1430 }
1431
1432 impl crate::Message for ExtensionRangeOptions {
1433 const NAME: &'static str = "ExtensionRangeOptions";
1434
is_initialized(&self) -> bool1435 fn is_initialized(&self) -> bool {
1436 for v in &self.uninterpreted_option {
1437 if !v.is_initialized() {
1438 return false;
1439 }
1440 };
1441 true
1442 }
1443
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>1444 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
1445 while let Some(tag) = is.read_raw_tag_or_eof()? {
1446 match tag {
1447 7994 => {
1448 self.uninterpreted_option.push(is.read_message()?);
1449 },
1450 tag => {
1451 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1452 },
1453 };
1454 }
1455 ::std::result::Result::Ok(())
1456 }
1457
1458 // Compute sizes of nested messages
1459 #[allow(unused_variables)]
compute_size(&self) -> u641460 fn compute_size(&self) -> u64 {
1461 let mut my_size = 0;
1462 for value in &self.uninterpreted_option {
1463 let len = value.compute_size();
1464 my_size += 2 + crate::rt::compute_raw_varint64_size(len) + len;
1465 };
1466 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
1467 self.special_fields.cached_size().set(my_size as u32);
1468 my_size
1469 }
1470
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>1471 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
1472 for v in &self.uninterpreted_option {
1473 crate::rt::write_message_field_with_cached_size(999, v, os)?;
1474 };
1475 os.write_unknown_fields(self.special_fields.unknown_fields())?;
1476 ::std::result::Result::Ok(())
1477 }
1478
special_fields(&self) -> &crate::SpecialFields1479 fn special_fields(&self) -> &crate::SpecialFields {
1480 &self.special_fields
1481 }
1482
mut_special_fields(&mut self) -> &mut crate::SpecialFields1483 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
1484 &mut self.special_fields
1485 }
1486
new() -> ExtensionRangeOptions1487 fn new() -> ExtensionRangeOptions {
1488 ExtensionRangeOptions::new()
1489 }
1490
clear(&mut self)1491 fn clear(&mut self) {
1492 self.uninterpreted_option.clear();
1493 self.special_fields.clear();
1494 }
1495
default_instance() -> &'static ExtensionRangeOptions1496 fn default_instance() -> &'static ExtensionRangeOptions {
1497 static instance: ExtensionRangeOptions = ExtensionRangeOptions {
1498 uninterpreted_option: ::std::vec::Vec::new(),
1499 special_fields: crate::SpecialFields::new(),
1500 };
1501 &instance
1502 }
1503 }
1504
1505 impl crate::MessageFull for ExtensionRangeOptions {
descriptor() -> crate::reflect::MessageDescriptor1506 fn descriptor() -> crate::reflect::MessageDescriptor {
1507 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
1508 descriptor.get(|| file_descriptor().message_by_package_relative_name("ExtensionRangeOptions").unwrap()).clone()
1509 }
1510 }
1511
1512 impl ::std::fmt::Display for ExtensionRangeOptions {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1513 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1514 crate::text_format::fmt(self, f)
1515 }
1516 }
1517
1518 impl crate::reflect::ProtobufValue for ExtensionRangeOptions {
1519 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
1520 }
1521
1522 /// Describes a field within a message.
1523 #[derive(PartialEq,Clone,Default,Debug)]
1524 // @@protoc_insertion_point(message:google.protobuf.FieldDescriptorProto)
1525 pub struct FieldDescriptorProto {
1526 // message fields
1527 // @@protoc_insertion_point(field:google.protobuf.FieldDescriptorProto.name)
1528 pub name: ::std::option::Option<::std::string::String>,
1529 // @@protoc_insertion_point(field:google.protobuf.FieldDescriptorProto.number)
1530 pub number: ::std::option::Option<i32>,
1531 // @@protoc_insertion_point(field:google.protobuf.FieldDescriptorProto.label)
1532 pub label: ::std::option::Option<crate::EnumOrUnknown<field_descriptor_proto::Label>>,
1533 /// If type_name is set, this need not be set. If both this and type_name
1534 /// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
1535 // @@protoc_insertion_point(field:google.protobuf.FieldDescriptorProto.type)
1536 pub type_: ::std::option::Option<crate::EnumOrUnknown<field_descriptor_proto::Type>>,
1537 /// For message and enum types, this is the name of the type. If the name
1538 /// starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
1539 /// rules are used to find the type (i.e. first the nested types within this
1540 /// message are searched, then within the parent, on up to the root
1541 /// namespace).
1542 // @@protoc_insertion_point(field:google.protobuf.FieldDescriptorProto.type_name)
1543 pub type_name: ::std::option::Option<::std::string::String>,
1544 /// For extensions, this is the name of the type being extended. It is
1545 /// resolved in the same manner as type_name.
1546 // @@protoc_insertion_point(field:google.protobuf.FieldDescriptorProto.extendee)
1547 pub extendee: ::std::option::Option<::std::string::String>,
1548 /// For numeric types, contains the original text representation of the value.
1549 /// For booleans, "true" or "false".
1550 /// For strings, contains the default text contents (not escaped in any way).
1551 /// For bytes, contains the C escaped value. All bytes >= 128 are escaped.
1552 /// TODO(kenton): Base-64 encode?
1553 // @@protoc_insertion_point(field:google.protobuf.FieldDescriptorProto.default_value)
1554 pub default_value: ::std::option::Option<::std::string::String>,
1555 /// If set, gives the index of a oneof in the containing type's oneof_decl
1556 /// list. This field is a member of that oneof.
1557 // @@protoc_insertion_point(field:google.protobuf.FieldDescriptorProto.oneof_index)
1558 pub oneof_index: ::std::option::Option<i32>,
1559 /// JSON name of this field. The value is set by protocol compiler. If the
1560 /// user has set a "json_name" option on this field, that option's value
1561 /// will be used. Otherwise, it's deduced from the field's name by converting
1562 /// it to camelCase.
1563 // @@protoc_insertion_point(field:google.protobuf.FieldDescriptorProto.json_name)
1564 pub json_name: ::std::option::Option<::std::string::String>,
1565 // @@protoc_insertion_point(field:google.protobuf.FieldDescriptorProto.options)
1566 pub options: crate::MessageField<FieldOptions>,
1567 /// If true, this is a proto3 "optional". When a proto3 field is optional, it
1568 /// tracks presence regardless of field type.
1569 ///
1570 /// When proto3_optional is true, this field must be belong to a oneof to
1571 /// signal to old proto3 clients that presence is tracked for this field. This
1572 /// oneof is known as a "synthetic" oneof, and this field must be its sole
1573 /// member (each proto3 optional field gets its own synthetic oneof). Synthetic
1574 /// oneofs exist in the descriptor only, and do not generate any API. Synthetic
1575 /// oneofs must be ordered after all "real" oneofs.
1576 ///
1577 /// For message fields, proto3_optional doesn't create any semantic change,
1578 /// since non-repeated message fields always track presence. However it still
1579 /// indicates the semantic detail of whether the user wrote "optional" or not.
1580 /// This can be useful for round-tripping the .proto file. For consistency we
1581 /// give message fields a synthetic oneof also, even though it is not required
1582 /// to track presence. This is especially important because the parser can't
1583 /// tell if a field is a message or an enum, so it must always create a
1584 /// synthetic oneof.
1585 ///
1586 /// Proto2 optional fields do not set this flag, because they already indicate
1587 /// optional with `LABEL_OPTIONAL`.
1588 // @@protoc_insertion_point(field:google.protobuf.FieldDescriptorProto.proto3_optional)
1589 pub proto3_optional: ::std::option::Option<bool>,
1590 // special fields
1591 // @@protoc_insertion_point(special_field:google.protobuf.FieldDescriptorProto.special_fields)
1592 pub special_fields: crate::SpecialFields,
1593 }
1594
1595 impl<'a> ::std::default::Default for &'a FieldDescriptorProto {
default() -> &'a FieldDescriptorProto1596 fn default() -> &'a FieldDescriptorProto {
1597 <FieldDescriptorProto as crate::Message>::default_instance()
1598 }
1599 }
1600
1601 impl FieldDescriptorProto {
new() -> FieldDescriptorProto1602 pub fn new() -> FieldDescriptorProto {
1603 ::std::default::Default::default()
1604 }
1605
1606 // optional string name = 1;
1607
name(&self) -> &str1608 pub fn name(&self) -> &str {
1609 match self.name.as_ref() {
1610 Some(v) => v,
1611 None => "",
1612 }
1613 }
1614
clear_name(&mut self)1615 pub fn clear_name(&mut self) {
1616 self.name = ::std::option::Option::None;
1617 }
1618
has_name(&self) -> bool1619 pub fn has_name(&self) -> bool {
1620 self.name.is_some()
1621 }
1622
1623 // Param is passed by value, moved
set_name(&mut self, v: ::std::string::String)1624 pub fn set_name(&mut self, v: ::std::string::String) {
1625 self.name = ::std::option::Option::Some(v);
1626 }
1627
1628 // Mutable pointer to the field.
1629 // If field is not initialized, it is initialized with default value first.
mut_name(&mut self) -> &mut ::std::string::String1630 pub fn mut_name(&mut self) -> &mut ::std::string::String {
1631 if self.name.is_none() {
1632 self.name = ::std::option::Option::Some(::std::string::String::new());
1633 }
1634 self.name.as_mut().unwrap()
1635 }
1636
1637 // Take field
take_name(&mut self) -> ::std::string::String1638 pub fn take_name(&mut self) -> ::std::string::String {
1639 self.name.take().unwrap_or_else(|| ::std::string::String::new())
1640 }
1641
1642 // optional int32 number = 3;
1643
number(&self) -> i321644 pub fn number(&self) -> i32 {
1645 self.number.unwrap_or(0)
1646 }
1647
clear_number(&mut self)1648 pub fn clear_number(&mut self) {
1649 self.number = ::std::option::Option::None;
1650 }
1651
has_number(&self) -> bool1652 pub fn has_number(&self) -> bool {
1653 self.number.is_some()
1654 }
1655
1656 // Param is passed by value, moved
set_number(&mut self, v: i32)1657 pub fn set_number(&mut self, v: i32) {
1658 self.number = ::std::option::Option::Some(v);
1659 }
1660
1661 // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
1662
label(&self) -> field_descriptor_proto::Label1663 pub fn label(&self) -> field_descriptor_proto::Label {
1664 match self.label {
1665 Some(e) => e.enum_value_or(field_descriptor_proto::Label::LABEL_OPTIONAL),
1666 None => field_descriptor_proto::Label::LABEL_OPTIONAL,
1667 }
1668 }
1669
clear_label(&mut self)1670 pub fn clear_label(&mut self) {
1671 self.label = ::std::option::Option::None;
1672 }
1673
has_label(&self) -> bool1674 pub fn has_label(&self) -> bool {
1675 self.label.is_some()
1676 }
1677
1678 // Param is passed by value, moved
set_label(&mut self, v: field_descriptor_proto::Label)1679 pub fn set_label(&mut self, v: field_descriptor_proto::Label) {
1680 self.label = ::std::option::Option::Some(crate::EnumOrUnknown::new(v));
1681 }
1682
1683 // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
1684
type_(&self) -> field_descriptor_proto::Type1685 pub fn type_(&self) -> field_descriptor_proto::Type {
1686 match self.type_ {
1687 Some(e) => e.enum_value_or(field_descriptor_proto::Type::TYPE_DOUBLE),
1688 None => field_descriptor_proto::Type::TYPE_DOUBLE,
1689 }
1690 }
1691
clear_type_(&mut self)1692 pub fn clear_type_(&mut self) {
1693 self.type_ = ::std::option::Option::None;
1694 }
1695
has_type(&self) -> bool1696 pub fn has_type(&self) -> bool {
1697 self.type_.is_some()
1698 }
1699
1700 // Param is passed by value, moved
set_type(&mut self, v: field_descriptor_proto::Type)1701 pub fn set_type(&mut self, v: field_descriptor_proto::Type) {
1702 self.type_ = ::std::option::Option::Some(crate::EnumOrUnknown::new(v));
1703 }
1704
1705 // optional string type_name = 6;
1706
type_name(&self) -> &str1707 pub fn type_name(&self) -> &str {
1708 match self.type_name.as_ref() {
1709 Some(v) => v,
1710 None => "",
1711 }
1712 }
1713
clear_type_name(&mut self)1714 pub fn clear_type_name(&mut self) {
1715 self.type_name = ::std::option::Option::None;
1716 }
1717
has_type_name(&self) -> bool1718 pub fn has_type_name(&self) -> bool {
1719 self.type_name.is_some()
1720 }
1721
1722 // Param is passed by value, moved
set_type_name(&mut self, v: ::std::string::String)1723 pub fn set_type_name(&mut self, v: ::std::string::String) {
1724 self.type_name = ::std::option::Option::Some(v);
1725 }
1726
1727 // Mutable pointer to the field.
1728 // If field is not initialized, it is initialized with default value first.
mut_type_name(&mut self) -> &mut ::std::string::String1729 pub fn mut_type_name(&mut self) -> &mut ::std::string::String {
1730 if self.type_name.is_none() {
1731 self.type_name = ::std::option::Option::Some(::std::string::String::new());
1732 }
1733 self.type_name.as_mut().unwrap()
1734 }
1735
1736 // Take field
take_type_name(&mut self) -> ::std::string::String1737 pub fn take_type_name(&mut self) -> ::std::string::String {
1738 self.type_name.take().unwrap_or_else(|| ::std::string::String::new())
1739 }
1740
1741 // optional string extendee = 2;
1742
extendee(&self) -> &str1743 pub fn extendee(&self) -> &str {
1744 match self.extendee.as_ref() {
1745 Some(v) => v,
1746 None => "",
1747 }
1748 }
1749
clear_extendee(&mut self)1750 pub fn clear_extendee(&mut self) {
1751 self.extendee = ::std::option::Option::None;
1752 }
1753
has_extendee(&self) -> bool1754 pub fn has_extendee(&self) -> bool {
1755 self.extendee.is_some()
1756 }
1757
1758 // Param is passed by value, moved
set_extendee(&mut self, v: ::std::string::String)1759 pub fn set_extendee(&mut self, v: ::std::string::String) {
1760 self.extendee = ::std::option::Option::Some(v);
1761 }
1762
1763 // Mutable pointer to the field.
1764 // If field is not initialized, it is initialized with default value first.
mut_extendee(&mut self) -> &mut ::std::string::String1765 pub fn mut_extendee(&mut self) -> &mut ::std::string::String {
1766 if self.extendee.is_none() {
1767 self.extendee = ::std::option::Option::Some(::std::string::String::new());
1768 }
1769 self.extendee.as_mut().unwrap()
1770 }
1771
1772 // Take field
take_extendee(&mut self) -> ::std::string::String1773 pub fn take_extendee(&mut self) -> ::std::string::String {
1774 self.extendee.take().unwrap_or_else(|| ::std::string::String::new())
1775 }
1776
1777 // optional string default_value = 7;
1778
default_value(&self) -> &str1779 pub fn default_value(&self) -> &str {
1780 match self.default_value.as_ref() {
1781 Some(v) => v,
1782 None => "",
1783 }
1784 }
1785
clear_default_value(&mut self)1786 pub fn clear_default_value(&mut self) {
1787 self.default_value = ::std::option::Option::None;
1788 }
1789
has_default_value(&self) -> bool1790 pub fn has_default_value(&self) -> bool {
1791 self.default_value.is_some()
1792 }
1793
1794 // Param is passed by value, moved
set_default_value(&mut self, v: ::std::string::String)1795 pub fn set_default_value(&mut self, v: ::std::string::String) {
1796 self.default_value = ::std::option::Option::Some(v);
1797 }
1798
1799 // Mutable pointer to the field.
1800 // If field is not initialized, it is initialized with default value first.
mut_default_value(&mut self) -> &mut ::std::string::String1801 pub fn mut_default_value(&mut self) -> &mut ::std::string::String {
1802 if self.default_value.is_none() {
1803 self.default_value = ::std::option::Option::Some(::std::string::String::new());
1804 }
1805 self.default_value.as_mut().unwrap()
1806 }
1807
1808 // Take field
take_default_value(&mut self) -> ::std::string::String1809 pub fn take_default_value(&mut self) -> ::std::string::String {
1810 self.default_value.take().unwrap_or_else(|| ::std::string::String::new())
1811 }
1812
1813 // optional int32 oneof_index = 9;
1814
oneof_index(&self) -> i321815 pub fn oneof_index(&self) -> i32 {
1816 self.oneof_index.unwrap_or(0)
1817 }
1818
clear_oneof_index(&mut self)1819 pub fn clear_oneof_index(&mut self) {
1820 self.oneof_index = ::std::option::Option::None;
1821 }
1822
has_oneof_index(&self) -> bool1823 pub fn has_oneof_index(&self) -> bool {
1824 self.oneof_index.is_some()
1825 }
1826
1827 // Param is passed by value, moved
set_oneof_index(&mut self, v: i32)1828 pub fn set_oneof_index(&mut self, v: i32) {
1829 self.oneof_index = ::std::option::Option::Some(v);
1830 }
1831
1832 // optional string json_name = 10;
1833
json_name(&self) -> &str1834 pub fn json_name(&self) -> &str {
1835 match self.json_name.as_ref() {
1836 Some(v) => v,
1837 None => "",
1838 }
1839 }
1840
clear_json_name(&mut self)1841 pub fn clear_json_name(&mut self) {
1842 self.json_name = ::std::option::Option::None;
1843 }
1844
has_json_name(&self) -> bool1845 pub fn has_json_name(&self) -> bool {
1846 self.json_name.is_some()
1847 }
1848
1849 // Param is passed by value, moved
set_json_name(&mut self, v: ::std::string::String)1850 pub fn set_json_name(&mut self, v: ::std::string::String) {
1851 self.json_name = ::std::option::Option::Some(v);
1852 }
1853
1854 // Mutable pointer to the field.
1855 // If field is not initialized, it is initialized with default value first.
mut_json_name(&mut self) -> &mut ::std::string::String1856 pub fn mut_json_name(&mut self) -> &mut ::std::string::String {
1857 if self.json_name.is_none() {
1858 self.json_name = ::std::option::Option::Some(::std::string::String::new());
1859 }
1860 self.json_name.as_mut().unwrap()
1861 }
1862
1863 // Take field
take_json_name(&mut self) -> ::std::string::String1864 pub fn take_json_name(&mut self) -> ::std::string::String {
1865 self.json_name.take().unwrap_or_else(|| ::std::string::String::new())
1866 }
1867
1868 // optional bool proto3_optional = 17;
1869
proto3_optional(&self) -> bool1870 pub fn proto3_optional(&self) -> bool {
1871 self.proto3_optional.unwrap_or(false)
1872 }
1873
clear_proto3_optional(&mut self)1874 pub fn clear_proto3_optional(&mut self) {
1875 self.proto3_optional = ::std::option::Option::None;
1876 }
1877
has_proto3_optional(&self) -> bool1878 pub fn has_proto3_optional(&self) -> bool {
1879 self.proto3_optional.is_some()
1880 }
1881
1882 // Param is passed by value, moved
set_proto3_optional(&mut self, v: bool)1883 pub fn set_proto3_optional(&mut self, v: bool) {
1884 self.proto3_optional = ::std::option::Option::Some(v);
1885 }
1886
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData1887 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
1888 let mut fields = ::std::vec::Vec::with_capacity(11);
1889 let mut oneofs = ::std::vec::Vec::with_capacity(0);
1890 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
1891 "name",
1892 |m: &FieldDescriptorProto| { &m.name },
1893 |m: &mut FieldDescriptorProto| { &mut m.name },
1894 ));
1895 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
1896 "number",
1897 |m: &FieldDescriptorProto| { &m.number },
1898 |m: &mut FieldDescriptorProto| { &mut m.number },
1899 ));
1900 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
1901 "label",
1902 |m: &FieldDescriptorProto| { &m.label },
1903 |m: &mut FieldDescriptorProto| { &mut m.label },
1904 ));
1905 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
1906 "type",
1907 |m: &FieldDescriptorProto| { &m.type_ },
1908 |m: &mut FieldDescriptorProto| { &mut m.type_ },
1909 ));
1910 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
1911 "type_name",
1912 |m: &FieldDescriptorProto| { &m.type_name },
1913 |m: &mut FieldDescriptorProto| { &mut m.type_name },
1914 ));
1915 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
1916 "extendee",
1917 |m: &FieldDescriptorProto| { &m.extendee },
1918 |m: &mut FieldDescriptorProto| { &mut m.extendee },
1919 ));
1920 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
1921 "default_value",
1922 |m: &FieldDescriptorProto| { &m.default_value },
1923 |m: &mut FieldDescriptorProto| { &mut m.default_value },
1924 ));
1925 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
1926 "oneof_index",
1927 |m: &FieldDescriptorProto| { &m.oneof_index },
1928 |m: &mut FieldDescriptorProto| { &mut m.oneof_index },
1929 ));
1930 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
1931 "json_name",
1932 |m: &FieldDescriptorProto| { &m.json_name },
1933 |m: &mut FieldDescriptorProto| { &mut m.json_name },
1934 ));
1935 fields.push(crate::reflect::rt::v2::make_message_field_accessor::<_, FieldOptions>(
1936 "options",
1937 |m: &FieldDescriptorProto| { &m.options },
1938 |m: &mut FieldDescriptorProto| { &mut m.options },
1939 ));
1940 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
1941 "proto3_optional",
1942 |m: &FieldDescriptorProto| { &m.proto3_optional },
1943 |m: &mut FieldDescriptorProto| { &mut m.proto3_optional },
1944 ));
1945 crate::reflect::GeneratedMessageDescriptorData::new_2::<FieldDescriptorProto>(
1946 "FieldDescriptorProto",
1947 fields,
1948 oneofs,
1949 )
1950 }
1951 }
1952
1953 impl crate::Message for FieldDescriptorProto {
1954 const NAME: &'static str = "FieldDescriptorProto";
1955
is_initialized(&self) -> bool1956 fn is_initialized(&self) -> bool {
1957 for v in &self.options {
1958 if !v.is_initialized() {
1959 return false;
1960 }
1961 };
1962 true
1963 }
1964
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>1965 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
1966 while let Some(tag) = is.read_raw_tag_or_eof()? {
1967 match tag {
1968 10 => {
1969 self.name = ::std::option::Option::Some(is.read_string()?);
1970 },
1971 24 => {
1972 self.number = ::std::option::Option::Some(is.read_int32()?);
1973 },
1974 32 => {
1975 self.label = ::std::option::Option::Some(is.read_enum_or_unknown()?);
1976 },
1977 40 => {
1978 self.type_ = ::std::option::Option::Some(is.read_enum_or_unknown()?);
1979 },
1980 50 => {
1981 self.type_name = ::std::option::Option::Some(is.read_string()?);
1982 },
1983 18 => {
1984 self.extendee = ::std::option::Option::Some(is.read_string()?);
1985 },
1986 58 => {
1987 self.default_value = ::std::option::Option::Some(is.read_string()?);
1988 },
1989 72 => {
1990 self.oneof_index = ::std::option::Option::Some(is.read_int32()?);
1991 },
1992 82 => {
1993 self.json_name = ::std::option::Option::Some(is.read_string()?);
1994 },
1995 66 => {
1996 crate::rt::read_singular_message_into_field(is, &mut self.options)?;
1997 },
1998 136 => {
1999 self.proto3_optional = ::std::option::Option::Some(is.read_bool()?);
2000 },
2001 tag => {
2002 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
2003 },
2004 };
2005 }
2006 ::std::result::Result::Ok(())
2007 }
2008
2009 // Compute sizes of nested messages
2010 #[allow(unused_variables)]
compute_size(&self) -> u642011 fn compute_size(&self) -> u64 {
2012 let mut my_size = 0;
2013 if let Some(v) = self.name.as_ref() {
2014 my_size += crate::rt::string_size(1, &v);
2015 }
2016 if let Some(v) = self.number {
2017 my_size += crate::rt::int32_size(3, v);
2018 }
2019 if let Some(v) = self.label {
2020 my_size += crate::rt::int32_size(4, v.value());
2021 }
2022 if let Some(v) = self.type_ {
2023 my_size += crate::rt::int32_size(5, v.value());
2024 }
2025 if let Some(v) = self.type_name.as_ref() {
2026 my_size += crate::rt::string_size(6, &v);
2027 }
2028 if let Some(v) = self.extendee.as_ref() {
2029 my_size += crate::rt::string_size(2, &v);
2030 }
2031 if let Some(v) = self.default_value.as_ref() {
2032 my_size += crate::rt::string_size(7, &v);
2033 }
2034 if let Some(v) = self.oneof_index {
2035 my_size += crate::rt::int32_size(9, v);
2036 }
2037 if let Some(v) = self.json_name.as_ref() {
2038 my_size += crate::rt::string_size(10, &v);
2039 }
2040 if let Some(v) = self.options.as_ref() {
2041 let len = v.compute_size();
2042 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
2043 }
2044 if let Some(v) = self.proto3_optional {
2045 my_size += 2 + 1;
2046 }
2047 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
2048 self.special_fields.cached_size().set(my_size as u32);
2049 my_size
2050 }
2051
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>2052 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
2053 if let Some(v) = self.name.as_ref() {
2054 os.write_string(1, v)?;
2055 }
2056 if let Some(v) = self.number {
2057 os.write_int32(3, v)?;
2058 }
2059 if let Some(v) = self.label {
2060 os.write_enum(4, crate::EnumOrUnknown::value(&v))?;
2061 }
2062 if let Some(v) = self.type_ {
2063 os.write_enum(5, crate::EnumOrUnknown::value(&v))?;
2064 }
2065 if let Some(v) = self.type_name.as_ref() {
2066 os.write_string(6, v)?;
2067 }
2068 if let Some(v) = self.extendee.as_ref() {
2069 os.write_string(2, v)?;
2070 }
2071 if let Some(v) = self.default_value.as_ref() {
2072 os.write_string(7, v)?;
2073 }
2074 if let Some(v) = self.oneof_index {
2075 os.write_int32(9, v)?;
2076 }
2077 if let Some(v) = self.json_name.as_ref() {
2078 os.write_string(10, v)?;
2079 }
2080 if let Some(v) = self.options.as_ref() {
2081 crate::rt::write_message_field_with_cached_size(8, v, os)?;
2082 }
2083 if let Some(v) = self.proto3_optional {
2084 os.write_bool(17, v)?;
2085 }
2086 os.write_unknown_fields(self.special_fields.unknown_fields())?;
2087 ::std::result::Result::Ok(())
2088 }
2089
special_fields(&self) -> &crate::SpecialFields2090 fn special_fields(&self) -> &crate::SpecialFields {
2091 &self.special_fields
2092 }
2093
mut_special_fields(&mut self) -> &mut crate::SpecialFields2094 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
2095 &mut self.special_fields
2096 }
2097
new() -> FieldDescriptorProto2098 fn new() -> FieldDescriptorProto {
2099 FieldDescriptorProto::new()
2100 }
2101
clear(&mut self)2102 fn clear(&mut self) {
2103 self.name = ::std::option::Option::None;
2104 self.number = ::std::option::Option::None;
2105 self.label = ::std::option::Option::None;
2106 self.type_ = ::std::option::Option::None;
2107 self.type_name = ::std::option::Option::None;
2108 self.extendee = ::std::option::Option::None;
2109 self.default_value = ::std::option::Option::None;
2110 self.oneof_index = ::std::option::Option::None;
2111 self.json_name = ::std::option::Option::None;
2112 self.options.clear();
2113 self.proto3_optional = ::std::option::Option::None;
2114 self.special_fields.clear();
2115 }
2116
default_instance() -> &'static FieldDescriptorProto2117 fn default_instance() -> &'static FieldDescriptorProto {
2118 static instance: FieldDescriptorProto = FieldDescriptorProto {
2119 name: ::std::option::Option::None,
2120 number: ::std::option::Option::None,
2121 label: ::std::option::Option::None,
2122 type_: ::std::option::Option::None,
2123 type_name: ::std::option::Option::None,
2124 extendee: ::std::option::Option::None,
2125 default_value: ::std::option::Option::None,
2126 oneof_index: ::std::option::Option::None,
2127 json_name: ::std::option::Option::None,
2128 options: crate::MessageField::none(),
2129 proto3_optional: ::std::option::Option::None,
2130 special_fields: crate::SpecialFields::new(),
2131 };
2132 &instance
2133 }
2134 }
2135
2136 impl crate::MessageFull for FieldDescriptorProto {
descriptor() -> crate::reflect::MessageDescriptor2137 fn descriptor() -> crate::reflect::MessageDescriptor {
2138 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
2139 descriptor.get(|| file_descriptor().message_by_package_relative_name("FieldDescriptorProto").unwrap()).clone()
2140 }
2141 }
2142
2143 impl ::std::fmt::Display for FieldDescriptorProto {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2144 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2145 crate::text_format::fmt(self, f)
2146 }
2147 }
2148
2149 impl crate::reflect::ProtobufValue for FieldDescriptorProto {
2150 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
2151 }
2152
2153 /// Nested message and enums of message `FieldDescriptorProto`
2154 pub mod field_descriptor_proto {
2155 #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
2156 // @@protoc_insertion_point(enum:google.protobuf.FieldDescriptorProto.Type)
2157 pub enum Type {
2158 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_DOUBLE)
2159 TYPE_DOUBLE = 1,
2160 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_FLOAT)
2161 TYPE_FLOAT = 2,
2162 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_INT64)
2163 TYPE_INT64 = 3,
2164 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_UINT64)
2165 TYPE_UINT64 = 4,
2166 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_INT32)
2167 TYPE_INT32 = 5,
2168 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_FIXED64)
2169 TYPE_FIXED64 = 6,
2170 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_FIXED32)
2171 TYPE_FIXED32 = 7,
2172 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_BOOL)
2173 TYPE_BOOL = 8,
2174 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_STRING)
2175 TYPE_STRING = 9,
2176 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_GROUP)
2177 TYPE_GROUP = 10,
2178 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_MESSAGE)
2179 TYPE_MESSAGE = 11,
2180 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_BYTES)
2181 TYPE_BYTES = 12,
2182 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_UINT32)
2183 TYPE_UINT32 = 13,
2184 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_ENUM)
2185 TYPE_ENUM = 14,
2186 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_SFIXED32)
2187 TYPE_SFIXED32 = 15,
2188 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_SFIXED64)
2189 TYPE_SFIXED64 = 16,
2190 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_SINT32)
2191 TYPE_SINT32 = 17,
2192 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Type.TYPE_SINT64)
2193 TYPE_SINT64 = 18,
2194 }
2195
2196 impl crate::Enum for Type {
2197 const NAME: &'static str = "Type";
2198
value(&self) -> i322199 fn value(&self) -> i32 {
2200 *self as i32
2201 }
2202
from_i32(value: i32) -> ::std::option::Option<Type>2203 fn from_i32(value: i32) -> ::std::option::Option<Type> {
2204 match value {
2205 1 => ::std::option::Option::Some(Type::TYPE_DOUBLE),
2206 2 => ::std::option::Option::Some(Type::TYPE_FLOAT),
2207 3 => ::std::option::Option::Some(Type::TYPE_INT64),
2208 4 => ::std::option::Option::Some(Type::TYPE_UINT64),
2209 5 => ::std::option::Option::Some(Type::TYPE_INT32),
2210 6 => ::std::option::Option::Some(Type::TYPE_FIXED64),
2211 7 => ::std::option::Option::Some(Type::TYPE_FIXED32),
2212 8 => ::std::option::Option::Some(Type::TYPE_BOOL),
2213 9 => ::std::option::Option::Some(Type::TYPE_STRING),
2214 10 => ::std::option::Option::Some(Type::TYPE_GROUP),
2215 11 => ::std::option::Option::Some(Type::TYPE_MESSAGE),
2216 12 => ::std::option::Option::Some(Type::TYPE_BYTES),
2217 13 => ::std::option::Option::Some(Type::TYPE_UINT32),
2218 14 => ::std::option::Option::Some(Type::TYPE_ENUM),
2219 15 => ::std::option::Option::Some(Type::TYPE_SFIXED32),
2220 16 => ::std::option::Option::Some(Type::TYPE_SFIXED64),
2221 17 => ::std::option::Option::Some(Type::TYPE_SINT32),
2222 18 => ::std::option::Option::Some(Type::TYPE_SINT64),
2223 _ => ::std::option::Option::None
2224 }
2225 }
2226
2227 const VALUES: &'static [Type] = &[
2228 Type::TYPE_DOUBLE,
2229 Type::TYPE_FLOAT,
2230 Type::TYPE_INT64,
2231 Type::TYPE_UINT64,
2232 Type::TYPE_INT32,
2233 Type::TYPE_FIXED64,
2234 Type::TYPE_FIXED32,
2235 Type::TYPE_BOOL,
2236 Type::TYPE_STRING,
2237 Type::TYPE_GROUP,
2238 Type::TYPE_MESSAGE,
2239 Type::TYPE_BYTES,
2240 Type::TYPE_UINT32,
2241 Type::TYPE_ENUM,
2242 Type::TYPE_SFIXED32,
2243 Type::TYPE_SFIXED64,
2244 Type::TYPE_SINT32,
2245 Type::TYPE_SINT64,
2246 ];
2247 }
2248
2249 impl crate::EnumFull for Type {
enum_descriptor() -> crate::reflect::EnumDescriptor2250 fn enum_descriptor() -> crate::reflect::EnumDescriptor {
2251 static descriptor: crate::rt::Lazy<crate::reflect::EnumDescriptor> = crate::rt::Lazy::new();
2252 descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("FieldDescriptorProto.Type").unwrap()).clone()
2253 }
2254
descriptor(&self) -> crate::reflect::EnumValueDescriptor2255 fn descriptor(&self) -> crate::reflect::EnumValueDescriptor {
2256 let index = match self {
2257 Type::TYPE_DOUBLE => 0,
2258 Type::TYPE_FLOAT => 1,
2259 Type::TYPE_INT64 => 2,
2260 Type::TYPE_UINT64 => 3,
2261 Type::TYPE_INT32 => 4,
2262 Type::TYPE_FIXED64 => 5,
2263 Type::TYPE_FIXED32 => 6,
2264 Type::TYPE_BOOL => 7,
2265 Type::TYPE_STRING => 8,
2266 Type::TYPE_GROUP => 9,
2267 Type::TYPE_MESSAGE => 10,
2268 Type::TYPE_BYTES => 11,
2269 Type::TYPE_UINT32 => 12,
2270 Type::TYPE_ENUM => 13,
2271 Type::TYPE_SFIXED32 => 14,
2272 Type::TYPE_SFIXED64 => 15,
2273 Type::TYPE_SINT32 => 16,
2274 Type::TYPE_SINT64 => 17,
2275 };
2276 Self::enum_descriptor().value_by_index(index)
2277 }
2278 }
2279
2280 // Note, `Default` is implemented although default value is not 0
2281 impl ::std::default::Default for Type {
default() -> Self2282 fn default() -> Self {
2283 Type::TYPE_DOUBLE
2284 }
2285 }
2286
2287 impl Type {
generated_enum_descriptor_data() -> crate::reflect::GeneratedEnumDescriptorData2288 pub(in super) fn generated_enum_descriptor_data() -> crate::reflect::GeneratedEnumDescriptorData {
2289 crate::reflect::GeneratedEnumDescriptorData::new::<Type>("FieldDescriptorProto.Type")
2290 }
2291 }
2292
2293 #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
2294 // @@protoc_insertion_point(enum:google.protobuf.FieldDescriptorProto.Label)
2295 pub enum Label {
2296 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Label.LABEL_OPTIONAL)
2297 LABEL_OPTIONAL = 1,
2298 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Label.LABEL_REQUIRED)
2299 LABEL_REQUIRED = 2,
2300 // @@protoc_insertion_point(enum_value:google.protobuf.FieldDescriptorProto.Label.LABEL_REPEATED)
2301 LABEL_REPEATED = 3,
2302 }
2303
2304 impl crate::Enum for Label {
2305 const NAME: &'static str = "Label";
2306
value(&self) -> i322307 fn value(&self) -> i32 {
2308 *self as i32
2309 }
2310
from_i32(value: i32) -> ::std::option::Option<Label>2311 fn from_i32(value: i32) -> ::std::option::Option<Label> {
2312 match value {
2313 1 => ::std::option::Option::Some(Label::LABEL_OPTIONAL),
2314 2 => ::std::option::Option::Some(Label::LABEL_REQUIRED),
2315 3 => ::std::option::Option::Some(Label::LABEL_REPEATED),
2316 _ => ::std::option::Option::None
2317 }
2318 }
2319
2320 const VALUES: &'static [Label] = &[
2321 Label::LABEL_OPTIONAL,
2322 Label::LABEL_REQUIRED,
2323 Label::LABEL_REPEATED,
2324 ];
2325 }
2326
2327 impl crate::EnumFull for Label {
enum_descriptor() -> crate::reflect::EnumDescriptor2328 fn enum_descriptor() -> crate::reflect::EnumDescriptor {
2329 static descriptor: crate::rt::Lazy<crate::reflect::EnumDescriptor> = crate::rt::Lazy::new();
2330 descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("FieldDescriptorProto.Label").unwrap()).clone()
2331 }
2332
descriptor(&self) -> crate::reflect::EnumValueDescriptor2333 fn descriptor(&self) -> crate::reflect::EnumValueDescriptor {
2334 let index = match self {
2335 Label::LABEL_OPTIONAL => 0,
2336 Label::LABEL_REQUIRED => 1,
2337 Label::LABEL_REPEATED => 2,
2338 };
2339 Self::enum_descriptor().value_by_index(index)
2340 }
2341 }
2342
2343 // Note, `Default` is implemented although default value is not 0
2344 impl ::std::default::Default for Label {
default() -> Self2345 fn default() -> Self {
2346 Label::LABEL_OPTIONAL
2347 }
2348 }
2349
2350 impl Label {
generated_enum_descriptor_data() -> crate::reflect::GeneratedEnumDescriptorData2351 pub(in super) fn generated_enum_descriptor_data() -> crate::reflect::GeneratedEnumDescriptorData {
2352 crate::reflect::GeneratedEnumDescriptorData::new::<Label>("FieldDescriptorProto.Label")
2353 }
2354 }
2355 }
2356
2357 /// Describes a oneof.
2358 #[derive(PartialEq,Clone,Default,Debug)]
2359 // @@protoc_insertion_point(message:google.protobuf.OneofDescriptorProto)
2360 pub struct OneofDescriptorProto {
2361 // message fields
2362 // @@protoc_insertion_point(field:google.protobuf.OneofDescriptorProto.name)
2363 pub name: ::std::option::Option<::std::string::String>,
2364 // @@protoc_insertion_point(field:google.protobuf.OneofDescriptorProto.options)
2365 pub options: crate::MessageField<OneofOptions>,
2366 // special fields
2367 // @@protoc_insertion_point(special_field:google.protobuf.OneofDescriptorProto.special_fields)
2368 pub special_fields: crate::SpecialFields,
2369 }
2370
2371 impl<'a> ::std::default::Default for &'a OneofDescriptorProto {
default() -> &'a OneofDescriptorProto2372 fn default() -> &'a OneofDescriptorProto {
2373 <OneofDescriptorProto as crate::Message>::default_instance()
2374 }
2375 }
2376
2377 impl OneofDescriptorProto {
new() -> OneofDescriptorProto2378 pub fn new() -> OneofDescriptorProto {
2379 ::std::default::Default::default()
2380 }
2381
2382 // optional string name = 1;
2383
name(&self) -> &str2384 pub fn name(&self) -> &str {
2385 match self.name.as_ref() {
2386 Some(v) => v,
2387 None => "",
2388 }
2389 }
2390
clear_name(&mut self)2391 pub fn clear_name(&mut self) {
2392 self.name = ::std::option::Option::None;
2393 }
2394
has_name(&self) -> bool2395 pub fn has_name(&self) -> bool {
2396 self.name.is_some()
2397 }
2398
2399 // Param is passed by value, moved
set_name(&mut self, v: ::std::string::String)2400 pub fn set_name(&mut self, v: ::std::string::String) {
2401 self.name = ::std::option::Option::Some(v);
2402 }
2403
2404 // Mutable pointer to the field.
2405 // If field is not initialized, it is initialized with default value first.
mut_name(&mut self) -> &mut ::std::string::String2406 pub fn mut_name(&mut self) -> &mut ::std::string::String {
2407 if self.name.is_none() {
2408 self.name = ::std::option::Option::Some(::std::string::String::new());
2409 }
2410 self.name.as_mut().unwrap()
2411 }
2412
2413 // Take field
take_name(&mut self) -> ::std::string::String2414 pub fn take_name(&mut self) -> ::std::string::String {
2415 self.name.take().unwrap_or_else(|| ::std::string::String::new())
2416 }
2417
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData2418 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
2419 let mut fields = ::std::vec::Vec::with_capacity(2);
2420 let mut oneofs = ::std::vec::Vec::with_capacity(0);
2421 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
2422 "name",
2423 |m: &OneofDescriptorProto| { &m.name },
2424 |m: &mut OneofDescriptorProto| { &mut m.name },
2425 ));
2426 fields.push(crate::reflect::rt::v2::make_message_field_accessor::<_, OneofOptions>(
2427 "options",
2428 |m: &OneofDescriptorProto| { &m.options },
2429 |m: &mut OneofDescriptorProto| { &mut m.options },
2430 ));
2431 crate::reflect::GeneratedMessageDescriptorData::new_2::<OneofDescriptorProto>(
2432 "OneofDescriptorProto",
2433 fields,
2434 oneofs,
2435 )
2436 }
2437 }
2438
2439 impl crate::Message for OneofDescriptorProto {
2440 const NAME: &'static str = "OneofDescriptorProto";
2441
is_initialized(&self) -> bool2442 fn is_initialized(&self) -> bool {
2443 for v in &self.options {
2444 if !v.is_initialized() {
2445 return false;
2446 }
2447 };
2448 true
2449 }
2450
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>2451 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
2452 while let Some(tag) = is.read_raw_tag_or_eof()? {
2453 match tag {
2454 10 => {
2455 self.name = ::std::option::Option::Some(is.read_string()?);
2456 },
2457 18 => {
2458 crate::rt::read_singular_message_into_field(is, &mut self.options)?;
2459 },
2460 tag => {
2461 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
2462 },
2463 };
2464 }
2465 ::std::result::Result::Ok(())
2466 }
2467
2468 // Compute sizes of nested messages
2469 #[allow(unused_variables)]
compute_size(&self) -> u642470 fn compute_size(&self) -> u64 {
2471 let mut my_size = 0;
2472 if let Some(v) = self.name.as_ref() {
2473 my_size += crate::rt::string_size(1, &v);
2474 }
2475 if let Some(v) = self.options.as_ref() {
2476 let len = v.compute_size();
2477 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
2478 }
2479 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
2480 self.special_fields.cached_size().set(my_size as u32);
2481 my_size
2482 }
2483
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>2484 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
2485 if let Some(v) = self.name.as_ref() {
2486 os.write_string(1, v)?;
2487 }
2488 if let Some(v) = self.options.as_ref() {
2489 crate::rt::write_message_field_with_cached_size(2, v, os)?;
2490 }
2491 os.write_unknown_fields(self.special_fields.unknown_fields())?;
2492 ::std::result::Result::Ok(())
2493 }
2494
special_fields(&self) -> &crate::SpecialFields2495 fn special_fields(&self) -> &crate::SpecialFields {
2496 &self.special_fields
2497 }
2498
mut_special_fields(&mut self) -> &mut crate::SpecialFields2499 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
2500 &mut self.special_fields
2501 }
2502
new() -> OneofDescriptorProto2503 fn new() -> OneofDescriptorProto {
2504 OneofDescriptorProto::new()
2505 }
2506
clear(&mut self)2507 fn clear(&mut self) {
2508 self.name = ::std::option::Option::None;
2509 self.options.clear();
2510 self.special_fields.clear();
2511 }
2512
default_instance() -> &'static OneofDescriptorProto2513 fn default_instance() -> &'static OneofDescriptorProto {
2514 static instance: OneofDescriptorProto = OneofDescriptorProto {
2515 name: ::std::option::Option::None,
2516 options: crate::MessageField::none(),
2517 special_fields: crate::SpecialFields::new(),
2518 };
2519 &instance
2520 }
2521 }
2522
2523 impl crate::MessageFull for OneofDescriptorProto {
descriptor() -> crate::reflect::MessageDescriptor2524 fn descriptor() -> crate::reflect::MessageDescriptor {
2525 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
2526 descriptor.get(|| file_descriptor().message_by_package_relative_name("OneofDescriptorProto").unwrap()).clone()
2527 }
2528 }
2529
2530 impl ::std::fmt::Display for OneofDescriptorProto {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2531 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2532 crate::text_format::fmt(self, f)
2533 }
2534 }
2535
2536 impl crate::reflect::ProtobufValue for OneofDescriptorProto {
2537 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
2538 }
2539
2540 /// Describes an enum type.
2541 #[derive(PartialEq,Clone,Default,Debug)]
2542 // @@protoc_insertion_point(message:google.protobuf.EnumDescriptorProto)
2543 pub struct EnumDescriptorProto {
2544 // message fields
2545 // @@protoc_insertion_point(field:google.protobuf.EnumDescriptorProto.name)
2546 pub name: ::std::option::Option<::std::string::String>,
2547 // @@protoc_insertion_point(field:google.protobuf.EnumDescriptorProto.value)
2548 pub value: ::std::vec::Vec<EnumValueDescriptorProto>,
2549 // @@protoc_insertion_point(field:google.protobuf.EnumDescriptorProto.options)
2550 pub options: crate::MessageField<EnumOptions>,
2551 /// Range of reserved numeric values. Reserved numeric values may not be used
2552 /// by enum values in the same enum declaration. Reserved ranges may not
2553 /// overlap.
2554 // @@protoc_insertion_point(field:google.protobuf.EnumDescriptorProto.reserved_range)
2555 pub reserved_range: ::std::vec::Vec<enum_descriptor_proto::EnumReservedRange>,
2556 /// Reserved enum value names, which may not be reused. A given name may only
2557 /// be reserved once.
2558 // @@protoc_insertion_point(field:google.protobuf.EnumDescriptorProto.reserved_name)
2559 pub reserved_name: ::std::vec::Vec<::std::string::String>,
2560 // special fields
2561 // @@protoc_insertion_point(special_field:google.protobuf.EnumDescriptorProto.special_fields)
2562 pub special_fields: crate::SpecialFields,
2563 }
2564
2565 impl<'a> ::std::default::Default for &'a EnumDescriptorProto {
default() -> &'a EnumDescriptorProto2566 fn default() -> &'a EnumDescriptorProto {
2567 <EnumDescriptorProto as crate::Message>::default_instance()
2568 }
2569 }
2570
2571 impl EnumDescriptorProto {
new() -> EnumDescriptorProto2572 pub fn new() -> EnumDescriptorProto {
2573 ::std::default::Default::default()
2574 }
2575
2576 // optional string name = 1;
2577
name(&self) -> &str2578 pub fn name(&self) -> &str {
2579 match self.name.as_ref() {
2580 Some(v) => v,
2581 None => "",
2582 }
2583 }
2584
clear_name(&mut self)2585 pub fn clear_name(&mut self) {
2586 self.name = ::std::option::Option::None;
2587 }
2588
has_name(&self) -> bool2589 pub fn has_name(&self) -> bool {
2590 self.name.is_some()
2591 }
2592
2593 // Param is passed by value, moved
set_name(&mut self, v: ::std::string::String)2594 pub fn set_name(&mut self, v: ::std::string::String) {
2595 self.name = ::std::option::Option::Some(v);
2596 }
2597
2598 // Mutable pointer to the field.
2599 // If field is not initialized, it is initialized with default value first.
mut_name(&mut self) -> &mut ::std::string::String2600 pub fn mut_name(&mut self) -> &mut ::std::string::String {
2601 if self.name.is_none() {
2602 self.name = ::std::option::Option::Some(::std::string::String::new());
2603 }
2604 self.name.as_mut().unwrap()
2605 }
2606
2607 // Take field
take_name(&mut self) -> ::std::string::String2608 pub fn take_name(&mut self) -> ::std::string::String {
2609 self.name.take().unwrap_or_else(|| ::std::string::String::new())
2610 }
2611
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData2612 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
2613 let mut fields = ::std::vec::Vec::with_capacity(5);
2614 let mut oneofs = ::std::vec::Vec::with_capacity(0);
2615 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
2616 "name",
2617 |m: &EnumDescriptorProto| { &m.name },
2618 |m: &mut EnumDescriptorProto| { &mut m.name },
2619 ));
2620 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
2621 "value",
2622 |m: &EnumDescriptorProto| { &m.value },
2623 |m: &mut EnumDescriptorProto| { &mut m.value },
2624 ));
2625 fields.push(crate::reflect::rt::v2::make_message_field_accessor::<_, EnumOptions>(
2626 "options",
2627 |m: &EnumDescriptorProto| { &m.options },
2628 |m: &mut EnumDescriptorProto| { &mut m.options },
2629 ));
2630 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
2631 "reserved_range",
2632 |m: &EnumDescriptorProto| { &m.reserved_range },
2633 |m: &mut EnumDescriptorProto| { &mut m.reserved_range },
2634 ));
2635 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
2636 "reserved_name",
2637 |m: &EnumDescriptorProto| { &m.reserved_name },
2638 |m: &mut EnumDescriptorProto| { &mut m.reserved_name },
2639 ));
2640 crate::reflect::GeneratedMessageDescriptorData::new_2::<EnumDescriptorProto>(
2641 "EnumDescriptorProto",
2642 fields,
2643 oneofs,
2644 )
2645 }
2646 }
2647
2648 impl crate::Message for EnumDescriptorProto {
2649 const NAME: &'static str = "EnumDescriptorProto";
2650
is_initialized(&self) -> bool2651 fn is_initialized(&self) -> bool {
2652 for v in &self.value {
2653 if !v.is_initialized() {
2654 return false;
2655 }
2656 };
2657 for v in &self.options {
2658 if !v.is_initialized() {
2659 return false;
2660 }
2661 };
2662 for v in &self.reserved_range {
2663 if !v.is_initialized() {
2664 return false;
2665 }
2666 };
2667 true
2668 }
2669
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>2670 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
2671 while let Some(tag) = is.read_raw_tag_or_eof()? {
2672 match tag {
2673 10 => {
2674 self.name = ::std::option::Option::Some(is.read_string()?);
2675 },
2676 18 => {
2677 self.value.push(is.read_message()?);
2678 },
2679 26 => {
2680 crate::rt::read_singular_message_into_field(is, &mut self.options)?;
2681 },
2682 34 => {
2683 self.reserved_range.push(is.read_message()?);
2684 },
2685 42 => {
2686 self.reserved_name.push(is.read_string()?);
2687 },
2688 tag => {
2689 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
2690 },
2691 };
2692 }
2693 ::std::result::Result::Ok(())
2694 }
2695
2696 // Compute sizes of nested messages
2697 #[allow(unused_variables)]
compute_size(&self) -> u642698 fn compute_size(&self) -> u64 {
2699 let mut my_size = 0;
2700 if let Some(v) = self.name.as_ref() {
2701 my_size += crate::rt::string_size(1, &v);
2702 }
2703 for value in &self.value {
2704 let len = value.compute_size();
2705 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
2706 };
2707 if let Some(v) = self.options.as_ref() {
2708 let len = v.compute_size();
2709 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
2710 }
2711 for value in &self.reserved_range {
2712 let len = value.compute_size();
2713 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
2714 };
2715 for value in &self.reserved_name {
2716 my_size += crate::rt::string_size(5, &value);
2717 };
2718 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
2719 self.special_fields.cached_size().set(my_size as u32);
2720 my_size
2721 }
2722
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>2723 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
2724 if let Some(v) = self.name.as_ref() {
2725 os.write_string(1, v)?;
2726 }
2727 for v in &self.value {
2728 crate::rt::write_message_field_with_cached_size(2, v, os)?;
2729 };
2730 if let Some(v) = self.options.as_ref() {
2731 crate::rt::write_message_field_with_cached_size(3, v, os)?;
2732 }
2733 for v in &self.reserved_range {
2734 crate::rt::write_message_field_with_cached_size(4, v, os)?;
2735 };
2736 for v in &self.reserved_name {
2737 os.write_string(5, &v)?;
2738 };
2739 os.write_unknown_fields(self.special_fields.unknown_fields())?;
2740 ::std::result::Result::Ok(())
2741 }
2742
special_fields(&self) -> &crate::SpecialFields2743 fn special_fields(&self) -> &crate::SpecialFields {
2744 &self.special_fields
2745 }
2746
mut_special_fields(&mut self) -> &mut crate::SpecialFields2747 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
2748 &mut self.special_fields
2749 }
2750
new() -> EnumDescriptorProto2751 fn new() -> EnumDescriptorProto {
2752 EnumDescriptorProto::new()
2753 }
2754
clear(&mut self)2755 fn clear(&mut self) {
2756 self.name = ::std::option::Option::None;
2757 self.value.clear();
2758 self.options.clear();
2759 self.reserved_range.clear();
2760 self.reserved_name.clear();
2761 self.special_fields.clear();
2762 }
2763
default_instance() -> &'static EnumDescriptorProto2764 fn default_instance() -> &'static EnumDescriptorProto {
2765 static instance: EnumDescriptorProto = EnumDescriptorProto {
2766 name: ::std::option::Option::None,
2767 value: ::std::vec::Vec::new(),
2768 options: crate::MessageField::none(),
2769 reserved_range: ::std::vec::Vec::new(),
2770 reserved_name: ::std::vec::Vec::new(),
2771 special_fields: crate::SpecialFields::new(),
2772 };
2773 &instance
2774 }
2775 }
2776
2777 impl crate::MessageFull for EnumDescriptorProto {
descriptor() -> crate::reflect::MessageDescriptor2778 fn descriptor() -> crate::reflect::MessageDescriptor {
2779 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
2780 descriptor.get(|| file_descriptor().message_by_package_relative_name("EnumDescriptorProto").unwrap()).clone()
2781 }
2782 }
2783
2784 impl ::std::fmt::Display for EnumDescriptorProto {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2785 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2786 crate::text_format::fmt(self, f)
2787 }
2788 }
2789
2790 impl crate::reflect::ProtobufValue for EnumDescriptorProto {
2791 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
2792 }
2793
2794 /// Nested message and enums of message `EnumDescriptorProto`
2795 pub mod enum_descriptor_proto {
2796 /// Range of reserved numeric values. Reserved values may not be used by
2797 /// entries in the same enum. Reserved ranges may not overlap.
2798 ///
2799 /// Note that this is distinct from DescriptorProto.ReservedRange in that it
2800 /// is inclusive such that it can appropriately represent the entire int32
2801 /// domain.
2802 #[derive(PartialEq,Clone,Default,Debug)]
2803 // @@protoc_insertion_point(message:google.protobuf.EnumDescriptorProto.EnumReservedRange)
2804 pub struct EnumReservedRange {
2805 // message fields
2806 // @@protoc_insertion_point(field:google.protobuf.EnumDescriptorProto.EnumReservedRange.start)
2807 pub start: ::std::option::Option<i32>,
2808 // @@protoc_insertion_point(field:google.protobuf.EnumDescriptorProto.EnumReservedRange.end)
2809 pub end: ::std::option::Option<i32>,
2810 // special fields
2811 // @@protoc_insertion_point(special_field:google.protobuf.EnumDescriptorProto.EnumReservedRange.special_fields)
2812 pub special_fields: crate::SpecialFields,
2813 }
2814
2815 impl<'a> ::std::default::Default for &'a EnumReservedRange {
default() -> &'a EnumReservedRange2816 fn default() -> &'a EnumReservedRange {
2817 <EnumReservedRange as crate::Message>::default_instance()
2818 }
2819 }
2820
2821 impl EnumReservedRange {
new() -> EnumReservedRange2822 pub fn new() -> EnumReservedRange {
2823 ::std::default::Default::default()
2824 }
2825
2826 // optional int32 start = 1;
2827
start(&self) -> i322828 pub fn start(&self) -> i32 {
2829 self.start.unwrap_or(0)
2830 }
2831
clear_start(&mut self)2832 pub fn clear_start(&mut self) {
2833 self.start = ::std::option::Option::None;
2834 }
2835
has_start(&self) -> bool2836 pub fn has_start(&self) -> bool {
2837 self.start.is_some()
2838 }
2839
2840 // Param is passed by value, moved
set_start(&mut self, v: i32)2841 pub fn set_start(&mut self, v: i32) {
2842 self.start = ::std::option::Option::Some(v);
2843 }
2844
2845 // optional int32 end = 2;
2846
end(&self) -> i322847 pub fn end(&self) -> i32 {
2848 self.end.unwrap_or(0)
2849 }
2850
clear_end(&mut self)2851 pub fn clear_end(&mut self) {
2852 self.end = ::std::option::Option::None;
2853 }
2854
has_end(&self) -> bool2855 pub fn has_end(&self) -> bool {
2856 self.end.is_some()
2857 }
2858
2859 // Param is passed by value, moved
set_end(&mut self, v: i32)2860 pub fn set_end(&mut self, v: i32) {
2861 self.end = ::std::option::Option::Some(v);
2862 }
2863
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData2864 pub(in super) fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
2865 let mut fields = ::std::vec::Vec::with_capacity(2);
2866 let mut oneofs = ::std::vec::Vec::with_capacity(0);
2867 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
2868 "start",
2869 |m: &EnumReservedRange| { &m.start },
2870 |m: &mut EnumReservedRange| { &mut m.start },
2871 ));
2872 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
2873 "end",
2874 |m: &EnumReservedRange| { &m.end },
2875 |m: &mut EnumReservedRange| { &mut m.end },
2876 ));
2877 crate::reflect::GeneratedMessageDescriptorData::new_2::<EnumReservedRange>(
2878 "EnumDescriptorProto.EnumReservedRange",
2879 fields,
2880 oneofs,
2881 )
2882 }
2883 }
2884
2885 impl crate::Message for EnumReservedRange {
2886 const NAME: &'static str = "EnumReservedRange";
2887
is_initialized(&self) -> bool2888 fn is_initialized(&self) -> bool {
2889 true
2890 }
2891
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>2892 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
2893 while let Some(tag) = is.read_raw_tag_or_eof()? {
2894 match tag {
2895 8 => {
2896 self.start = ::std::option::Option::Some(is.read_int32()?);
2897 },
2898 16 => {
2899 self.end = ::std::option::Option::Some(is.read_int32()?);
2900 },
2901 tag => {
2902 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
2903 },
2904 };
2905 }
2906 ::std::result::Result::Ok(())
2907 }
2908
2909 // Compute sizes of nested messages
2910 #[allow(unused_variables)]
compute_size(&self) -> u642911 fn compute_size(&self) -> u64 {
2912 let mut my_size = 0;
2913 if let Some(v) = self.start {
2914 my_size += crate::rt::int32_size(1, v);
2915 }
2916 if let Some(v) = self.end {
2917 my_size += crate::rt::int32_size(2, v);
2918 }
2919 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
2920 self.special_fields.cached_size().set(my_size as u32);
2921 my_size
2922 }
2923
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>2924 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
2925 if let Some(v) = self.start {
2926 os.write_int32(1, v)?;
2927 }
2928 if let Some(v) = self.end {
2929 os.write_int32(2, v)?;
2930 }
2931 os.write_unknown_fields(self.special_fields.unknown_fields())?;
2932 ::std::result::Result::Ok(())
2933 }
2934
special_fields(&self) -> &crate::SpecialFields2935 fn special_fields(&self) -> &crate::SpecialFields {
2936 &self.special_fields
2937 }
2938
mut_special_fields(&mut self) -> &mut crate::SpecialFields2939 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
2940 &mut self.special_fields
2941 }
2942
new() -> EnumReservedRange2943 fn new() -> EnumReservedRange {
2944 EnumReservedRange::new()
2945 }
2946
clear(&mut self)2947 fn clear(&mut self) {
2948 self.start = ::std::option::Option::None;
2949 self.end = ::std::option::Option::None;
2950 self.special_fields.clear();
2951 }
2952
default_instance() -> &'static EnumReservedRange2953 fn default_instance() -> &'static EnumReservedRange {
2954 static instance: EnumReservedRange = EnumReservedRange {
2955 start: ::std::option::Option::None,
2956 end: ::std::option::Option::None,
2957 special_fields: crate::SpecialFields::new(),
2958 };
2959 &instance
2960 }
2961 }
2962
2963 impl crate::MessageFull for EnumReservedRange {
descriptor() -> crate::reflect::MessageDescriptor2964 fn descriptor() -> crate::reflect::MessageDescriptor {
2965 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
2966 descriptor.get(|| super::file_descriptor().message_by_package_relative_name("EnumDescriptorProto.EnumReservedRange").unwrap()).clone()
2967 }
2968 }
2969
2970 impl ::std::fmt::Display for EnumReservedRange {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2971 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2972 crate::text_format::fmt(self, f)
2973 }
2974 }
2975
2976 impl crate::reflect::ProtobufValue for EnumReservedRange {
2977 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
2978 }
2979 }
2980
2981 /// Describes a value within an enum.
2982 #[derive(PartialEq,Clone,Default,Debug)]
2983 // @@protoc_insertion_point(message:google.protobuf.EnumValueDescriptorProto)
2984 pub struct EnumValueDescriptorProto {
2985 // message fields
2986 // @@protoc_insertion_point(field:google.protobuf.EnumValueDescriptorProto.name)
2987 pub name: ::std::option::Option<::std::string::String>,
2988 // @@protoc_insertion_point(field:google.protobuf.EnumValueDescriptorProto.number)
2989 pub number: ::std::option::Option<i32>,
2990 // @@protoc_insertion_point(field:google.protobuf.EnumValueDescriptorProto.options)
2991 pub options: crate::MessageField<EnumValueOptions>,
2992 // special fields
2993 // @@protoc_insertion_point(special_field:google.protobuf.EnumValueDescriptorProto.special_fields)
2994 pub special_fields: crate::SpecialFields,
2995 }
2996
2997 impl<'a> ::std::default::Default for &'a EnumValueDescriptorProto {
default() -> &'a EnumValueDescriptorProto2998 fn default() -> &'a EnumValueDescriptorProto {
2999 <EnumValueDescriptorProto as crate::Message>::default_instance()
3000 }
3001 }
3002
3003 impl EnumValueDescriptorProto {
new() -> EnumValueDescriptorProto3004 pub fn new() -> EnumValueDescriptorProto {
3005 ::std::default::Default::default()
3006 }
3007
3008 // optional string name = 1;
3009
name(&self) -> &str3010 pub fn name(&self) -> &str {
3011 match self.name.as_ref() {
3012 Some(v) => v,
3013 None => "",
3014 }
3015 }
3016
clear_name(&mut self)3017 pub fn clear_name(&mut self) {
3018 self.name = ::std::option::Option::None;
3019 }
3020
has_name(&self) -> bool3021 pub fn has_name(&self) -> bool {
3022 self.name.is_some()
3023 }
3024
3025 // Param is passed by value, moved
set_name(&mut self, v: ::std::string::String)3026 pub fn set_name(&mut self, v: ::std::string::String) {
3027 self.name = ::std::option::Option::Some(v);
3028 }
3029
3030 // Mutable pointer to the field.
3031 // If field is not initialized, it is initialized with default value first.
mut_name(&mut self) -> &mut ::std::string::String3032 pub fn mut_name(&mut self) -> &mut ::std::string::String {
3033 if self.name.is_none() {
3034 self.name = ::std::option::Option::Some(::std::string::String::new());
3035 }
3036 self.name.as_mut().unwrap()
3037 }
3038
3039 // Take field
take_name(&mut self) -> ::std::string::String3040 pub fn take_name(&mut self) -> ::std::string::String {
3041 self.name.take().unwrap_or_else(|| ::std::string::String::new())
3042 }
3043
3044 // optional int32 number = 2;
3045
number(&self) -> i323046 pub fn number(&self) -> i32 {
3047 self.number.unwrap_or(0)
3048 }
3049
clear_number(&mut self)3050 pub fn clear_number(&mut self) {
3051 self.number = ::std::option::Option::None;
3052 }
3053
has_number(&self) -> bool3054 pub fn has_number(&self) -> bool {
3055 self.number.is_some()
3056 }
3057
3058 // Param is passed by value, moved
set_number(&mut self, v: i32)3059 pub fn set_number(&mut self, v: i32) {
3060 self.number = ::std::option::Option::Some(v);
3061 }
3062
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData3063 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
3064 let mut fields = ::std::vec::Vec::with_capacity(3);
3065 let mut oneofs = ::std::vec::Vec::with_capacity(0);
3066 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
3067 "name",
3068 |m: &EnumValueDescriptorProto| { &m.name },
3069 |m: &mut EnumValueDescriptorProto| { &mut m.name },
3070 ));
3071 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
3072 "number",
3073 |m: &EnumValueDescriptorProto| { &m.number },
3074 |m: &mut EnumValueDescriptorProto| { &mut m.number },
3075 ));
3076 fields.push(crate::reflect::rt::v2::make_message_field_accessor::<_, EnumValueOptions>(
3077 "options",
3078 |m: &EnumValueDescriptorProto| { &m.options },
3079 |m: &mut EnumValueDescriptorProto| { &mut m.options },
3080 ));
3081 crate::reflect::GeneratedMessageDescriptorData::new_2::<EnumValueDescriptorProto>(
3082 "EnumValueDescriptorProto",
3083 fields,
3084 oneofs,
3085 )
3086 }
3087 }
3088
3089 impl crate::Message for EnumValueDescriptorProto {
3090 const NAME: &'static str = "EnumValueDescriptorProto";
3091
is_initialized(&self) -> bool3092 fn is_initialized(&self) -> bool {
3093 for v in &self.options {
3094 if !v.is_initialized() {
3095 return false;
3096 }
3097 };
3098 true
3099 }
3100
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>3101 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
3102 while let Some(tag) = is.read_raw_tag_or_eof()? {
3103 match tag {
3104 10 => {
3105 self.name = ::std::option::Option::Some(is.read_string()?);
3106 },
3107 16 => {
3108 self.number = ::std::option::Option::Some(is.read_int32()?);
3109 },
3110 26 => {
3111 crate::rt::read_singular_message_into_field(is, &mut self.options)?;
3112 },
3113 tag => {
3114 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
3115 },
3116 };
3117 }
3118 ::std::result::Result::Ok(())
3119 }
3120
3121 // Compute sizes of nested messages
3122 #[allow(unused_variables)]
compute_size(&self) -> u643123 fn compute_size(&self) -> u64 {
3124 let mut my_size = 0;
3125 if let Some(v) = self.name.as_ref() {
3126 my_size += crate::rt::string_size(1, &v);
3127 }
3128 if let Some(v) = self.number {
3129 my_size += crate::rt::int32_size(2, v);
3130 }
3131 if let Some(v) = self.options.as_ref() {
3132 let len = v.compute_size();
3133 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
3134 }
3135 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
3136 self.special_fields.cached_size().set(my_size as u32);
3137 my_size
3138 }
3139
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>3140 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
3141 if let Some(v) = self.name.as_ref() {
3142 os.write_string(1, v)?;
3143 }
3144 if let Some(v) = self.number {
3145 os.write_int32(2, v)?;
3146 }
3147 if let Some(v) = self.options.as_ref() {
3148 crate::rt::write_message_field_with_cached_size(3, v, os)?;
3149 }
3150 os.write_unknown_fields(self.special_fields.unknown_fields())?;
3151 ::std::result::Result::Ok(())
3152 }
3153
special_fields(&self) -> &crate::SpecialFields3154 fn special_fields(&self) -> &crate::SpecialFields {
3155 &self.special_fields
3156 }
3157
mut_special_fields(&mut self) -> &mut crate::SpecialFields3158 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
3159 &mut self.special_fields
3160 }
3161
new() -> EnumValueDescriptorProto3162 fn new() -> EnumValueDescriptorProto {
3163 EnumValueDescriptorProto::new()
3164 }
3165
clear(&mut self)3166 fn clear(&mut self) {
3167 self.name = ::std::option::Option::None;
3168 self.number = ::std::option::Option::None;
3169 self.options.clear();
3170 self.special_fields.clear();
3171 }
3172
default_instance() -> &'static EnumValueDescriptorProto3173 fn default_instance() -> &'static EnumValueDescriptorProto {
3174 static instance: EnumValueDescriptorProto = EnumValueDescriptorProto {
3175 name: ::std::option::Option::None,
3176 number: ::std::option::Option::None,
3177 options: crate::MessageField::none(),
3178 special_fields: crate::SpecialFields::new(),
3179 };
3180 &instance
3181 }
3182 }
3183
3184 impl crate::MessageFull for EnumValueDescriptorProto {
descriptor() -> crate::reflect::MessageDescriptor3185 fn descriptor() -> crate::reflect::MessageDescriptor {
3186 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
3187 descriptor.get(|| file_descriptor().message_by_package_relative_name("EnumValueDescriptorProto").unwrap()).clone()
3188 }
3189 }
3190
3191 impl ::std::fmt::Display for EnumValueDescriptorProto {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3192 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3193 crate::text_format::fmt(self, f)
3194 }
3195 }
3196
3197 impl crate::reflect::ProtobufValue for EnumValueDescriptorProto {
3198 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
3199 }
3200
3201 /// Describes a service.
3202 #[derive(PartialEq,Clone,Default,Debug)]
3203 // @@protoc_insertion_point(message:google.protobuf.ServiceDescriptorProto)
3204 pub struct ServiceDescriptorProto {
3205 // message fields
3206 // @@protoc_insertion_point(field:google.protobuf.ServiceDescriptorProto.name)
3207 pub name: ::std::option::Option<::std::string::String>,
3208 // @@protoc_insertion_point(field:google.protobuf.ServiceDescriptorProto.method)
3209 pub method: ::std::vec::Vec<MethodDescriptorProto>,
3210 // @@protoc_insertion_point(field:google.protobuf.ServiceDescriptorProto.options)
3211 pub options: crate::MessageField<ServiceOptions>,
3212 // special fields
3213 // @@protoc_insertion_point(special_field:google.protobuf.ServiceDescriptorProto.special_fields)
3214 pub special_fields: crate::SpecialFields,
3215 }
3216
3217 impl<'a> ::std::default::Default for &'a ServiceDescriptorProto {
default() -> &'a ServiceDescriptorProto3218 fn default() -> &'a ServiceDescriptorProto {
3219 <ServiceDescriptorProto as crate::Message>::default_instance()
3220 }
3221 }
3222
3223 impl ServiceDescriptorProto {
new() -> ServiceDescriptorProto3224 pub fn new() -> ServiceDescriptorProto {
3225 ::std::default::Default::default()
3226 }
3227
3228 // optional string name = 1;
3229
name(&self) -> &str3230 pub fn name(&self) -> &str {
3231 match self.name.as_ref() {
3232 Some(v) => v,
3233 None => "",
3234 }
3235 }
3236
clear_name(&mut self)3237 pub fn clear_name(&mut self) {
3238 self.name = ::std::option::Option::None;
3239 }
3240
has_name(&self) -> bool3241 pub fn has_name(&self) -> bool {
3242 self.name.is_some()
3243 }
3244
3245 // Param is passed by value, moved
set_name(&mut self, v: ::std::string::String)3246 pub fn set_name(&mut self, v: ::std::string::String) {
3247 self.name = ::std::option::Option::Some(v);
3248 }
3249
3250 // Mutable pointer to the field.
3251 // If field is not initialized, it is initialized with default value first.
mut_name(&mut self) -> &mut ::std::string::String3252 pub fn mut_name(&mut self) -> &mut ::std::string::String {
3253 if self.name.is_none() {
3254 self.name = ::std::option::Option::Some(::std::string::String::new());
3255 }
3256 self.name.as_mut().unwrap()
3257 }
3258
3259 // Take field
take_name(&mut self) -> ::std::string::String3260 pub fn take_name(&mut self) -> ::std::string::String {
3261 self.name.take().unwrap_or_else(|| ::std::string::String::new())
3262 }
3263
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData3264 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
3265 let mut fields = ::std::vec::Vec::with_capacity(3);
3266 let mut oneofs = ::std::vec::Vec::with_capacity(0);
3267 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
3268 "name",
3269 |m: &ServiceDescriptorProto| { &m.name },
3270 |m: &mut ServiceDescriptorProto| { &mut m.name },
3271 ));
3272 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
3273 "method",
3274 |m: &ServiceDescriptorProto| { &m.method },
3275 |m: &mut ServiceDescriptorProto| { &mut m.method },
3276 ));
3277 fields.push(crate::reflect::rt::v2::make_message_field_accessor::<_, ServiceOptions>(
3278 "options",
3279 |m: &ServiceDescriptorProto| { &m.options },
3280 |m: &mut ServiceDescriptorProto| { &mut m.options },
3281 ));
3282 crate::reflect::GeneratedMessageDescriptorData::new_2::<ServiceDescriptorProto>(
3283 "ServiceDescriptorProto",
3284 fields,
3285 oneofs,
3286 )
3287 }
3288 }
3289
3290 impl crate::Message for ServiceDescriptorProto {
3291 const NAME: &'static str = "ServiceDescriptorProto";
3292
is_initialized(&self) -> bool3293 fn is_initialized(&self) -> bool {
3294 for v in &self.method {
3295 if !v.is_initialized() {
3296 return false;
3297 }
3298 };
3299 for v in &self.options {
3300 if !v.is_initialized() {
3301 return false;
3302 }
3303 };
3304 true
3305 }
3306
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>3307 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
3308 while let Some(tag) = is.read_raw_tag_or_eof()? {
3309 match tag {
3310 10 => {
3311 self.name = ::std::option::Option::Some(is.read_string()?);
3312 },
3313 18 => {
3314 self.method.push(is.read_message()?);
3315 },
3316 26 => {
3317 crate::rt::read_singular_message_into_field(is, &mut self.options)?;
3318 },
3319 tag => {
3320 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
3321 },
3322 };
3323 }
3324 ::std::result::Result::Ok(())
3325 }
3326
3327 // Compute sizes of nested messages
3328 #[allow(unused_variables)]
compute_size(&self) -> u643329 fn compute_size(&self) -> u64 {
3330 let mut my_size = 0;
3331 if let Some(v) = self.name.as_ref() {
3332 my_size += crate::rt::string_size(1, &v);
3333 }
3334 for value in &self.method {
3335 let len = value.compute_size();
3336 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
3337 };
3338 if let Some(v) = self.options.as_ref() {
3339 let len = v.compute_size();
3340 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
3341 }
3342 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
3343 self.special_fields.cached_size().set(my_size as u32);
3344 my_size
3345 }
3346
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>3347 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
3348 if let Some(v) = self.name.as_ref() {
3349 os.write_string(1, v)?;
3350 }
3351 for v in &self.method {
3352 crate::rt::write_message_field_with_cached_size(2, v, os)?;
3353 };
3354 if let Some(v) = self.options.as_ref() {
3355 crate::rt::write_message_field_with_cached_size(3, v, os)?;
3356 }
3357 os.write_unknown_fields(self.special_fields.unknown_fields())?;
3358 ::std::result::Result::Ok(())
3359 }
3360
special_fields(&self) -> &crate::SpecialFields3361 fn special_fields(&self) -> &crate::SpecialFields {
3362 &self.special_fields
3363 }
3364
mut_special_fields(&mut self) -> &mut crate::SpecialFields3365 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
3366 &mut self.special_fields
3367 }
3368
new() -> ServiceDescriptorProto3369 fn new() -> ServiceDescriptorProto {
3370 ServiceDescriptorProto::new()
3371 }
3372
clear(&mut self)3373 fn clear(&mut self) {
3374 self.name = ::std::option::Option::None;
3375 self.method.clear();
3376 self.options.clear();
3377 self.special_fields.clear();
3378 }
3379
default_instance() -> &'static ServiceDescriptorProto3380 fn default_instance() -> &'static ServiceDescriptorProto {
3381 static instance: ServiceDescriptorProto = ServiceDescriptorProto {
3382 name: ::std::option::Option::None,
3383 method: ::std::vec::Vec::new(),
3384 options: crate::MessageField::none(),
3385 special_fields: crate::SpecialFields::new(),
3386 };
3387 &instance
3388 }
3389 }
3390
3391 impl crate::MessageFull for ServiceDescriptorProto {
descriptor() -> crate::reflect::MessageDescriptor3392 fn descriptor() -> crate::reflect::MessageDescriptor {
3393 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
3394 descriptor.get(|| file_descriptor().message_by_package_relative_name("ServiceDescriptorProto").unwrap()).clone()
3395 }
3396 }
3397
3398 impl ::std::fmt::Display for ServiceDescriptorProto {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3399 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3400 crate::text_format::fmt(self, f)
3401 }
3402 }
3403
3404 impl crate::reflect::ProtobufValue for ServiceDescriptorProto {
3405 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
3406 }
3407
3408 /// Describes a method of a service.
3409 #[derive(PartialEq,Clone,Default,Debug)]
3410 // @@protoc_insertion_point(message:google.protobuf.MethodDescriptorProto)
3411 pub struct MethodDescriptorProto {
3412 // message fields
3413 // @@protoc_insertion_point(field:google.protobuf.MethodDescriptorProto.name)
3414 pub name: ::std::option::Option<::std::string::String>,
3415 /// Input and output type names. These are resolved in the same way as
3416 /// FieldDescriptorProto.type_name, but must refer to a message type.
3417 // @@protoc_insertion_point(field:google.protobuf.MethodDescriptorProto.input_type)
3418 pub input_type: ::std::option::Option<::std::string::String>,
3419 // @@protoc_insertion_point(field:google.protobuf.MethodDescriptorProto.output_type)
3420 pub output_type: ::std::option::Option<::std::string::String>,
3421 // @@protoc_insertion_point(field:google.protobuf.MethodDescriptorProto.options)
3422 pub options: crate::MessageField<MethodOptions>,
3423 /// Identifies if client streams multiple client messages
3424 // @@protoc_insertion_point(field:google.protobuf.MethodDescriptorProto.client_streaming)
3425 pub client_streaming: ::std::option::Option<bool>,
3426 /// Identifies if server streams multiple server messages
3427 // @@protoc_insertion_point(field:google.protobuf.MethodDescriptorProto.server_streaming)
3428 pub server_streaming: ::std::option::Option<bool>,
3429 // special fields
3430 // @@protoc_insertion_point(special_field:google.protobuf.MethodDescriptorProto.special_fields)
3431 pub special_fields: crate::SpecialFields,
3432 }
3433
3434 impl<'a> ::std::default::Default for &'a MethodDescriptorProto {
default() -> &'a MethodDescriptorProto3435 fn default() -> &'a MethodDescriptorProto {
3436 <MethodDescriptorProto as crate::Message>::default_instance()
3437 }
3438 }
3439
3440 impl MethodDescriptorProto {
new() -> MethodDescriptorProto3441 pub fn new() -> MethodDescriptorProto {
3442 ::std::default::Default::default()
3443 }
3444
3445 // optional string name = 1;
3446
name(&self) -> &str3447 pub fn name(&self) -> &str {
3448 match self.name.as_ref() {
3449 Some(v) => v,
3450 None => "",
3451 }
3452 }
3453
clear_name(&mut self)3454 pub fn clear_name(&mut self) {
3455 self.name = ::std::option::Option::None;
3456 }
3457
has_name(&self) -> bool3458 pub fn has_name(&self) -> bool {
3459 self.name.is_some()
3460 }
3461
3462 // Param is passed by value, moved
set_name(&mut self, v: ::std::string::String)3463 pub fn set_name(&mut self, v: ::std::string::String) {
3464 self.name = ::std::option::Option::Some(v);
3465 }
3466
3467 // Mutable pointer to the field.
3468 // If field is not initialized, it is initialized with default value first.
mut_name(&mut self) -> &mut ::std::string::String3469 pub fn mut_name(&mut self) -> &mut ::std::string::String {
3470 if self.name.is_none() {
3471 self.name = ::std::option::Option::Some(::std::string::String::new());
3472 }
3473 self.name.as_mut().unwrap()
3474 }
3475
3476 // Take field
take_name(&mut self) -> ::std::string::String3477 pub fn take_name(&mut self) -> ::std::string::String {
3478 self.name.take().unwrap_or_else(|| ::std::string::String::new())
3479 }
3480
3481 // optional string input_type = 2;
3482
input_type(&self) -> &str3483 pub fn input_type(&self) -> &str {
3484 match self.input_type.as_ref() {
3485 Some(v) => v,
3486 None => "",
3487 }
3488 }
3489
clear_input_type(&mut self)3490 pub fn clear_input_type(&mut self) {
3491 self.input_type = ::std::option::Option::None;
3492 }
3493
has_input_type(&self) -> bool3494 pub fn has_input_type(&self) -> bool {
3495 self.input_type.is_some()
3496 }
3497
3498 // Param is passed by value, moved
set_input_type(&mut self, v: ::std::string::String)3499 pub fn set_input_type(&mut self, v: ::std::string::String) {
3500 self.input_type = ::std::option::Option::Some(v);
3501 }
3502
3503 // Mutable pointer to the field.
3504 // If field is not initialized, it is initialized with default value first.
mut_input_type(&mut self) -> &mut ::std::string::String3505 pub fn mut_input_type(&mut self) -> &mut ::std::string::String {
3506 if self.input_type.is_none() {
3507 self.input_type = ::std::option::Option::Some(::std::string::String::new());
3508 }
3509 self.input_type.as_mut().unwrap()
3510 }
3511
3512 // Take field
take_input_type(&mut self) -> ::std::string::String3513 pub fn take_input_type(&mut self) -> ::std::string::String {
3514 self.input_type.take().unwrap_or_else(|| ::std::string::String::new())
3515 }
3516
3517 // optional string output_type = 3;
3518
output_type(&self) -> &str3519 pub fn output_type(&self) -> &str {
3520 match self.output_type.as_ref() {
3521 Some(v) => v,
3522 None => "",
3523 }
3524 }
3525
clear_output_type(&mut self)3526 pub fn clear_output_type(&mut self) {
3527 self.output_type = ::std::option::Option::None;
3528 }
3529
has_output_type(&self) -> bool3530 pub fn has_output_type(&self) -> bool {
3531 self.output_type.is_some()
3532 }
3533
3534 // Param is passed by value, moved
set_output_type(&mut self, v: ::std::string::String)3535 pub fn set_output_type(&mut self, v: ::std::string::String) {
3536 self.output_type = ::std::option::Option::Some(v);
3537 }
3538
3539 // Mutable pointer to the field.
3540 // If field is not initialized, it is initialized with default value first.
mut_output_type(&mut self) -> &mut ::std::string::String3541 pub fn mut_output_type(&mut self) -> &mut ::std::string::String {
3542 if self.output_type.is_none() {
3543 self.output_type = ::std::option::Option::Some(::std::string::String::new());
3544 }
3545 self.output_type.as_mut().unwrap()
3546 }
3547
3548 // Take field
take_output_type(&mut self) -> ::std::string::String3549 pub fn take_output_type(&mut self) -> ::std::string::String {
3550 self.output_type.take().unwrap_or_else(|| ::std::string::String::new())
3551 }
3552
3553 // optional bool client_streaming = 5;
3554
client_streaming(&self) -> bool3555 pub fn client_streaming(&self) -> bool {
3556 self.client_streaming.unwrap_or(false)
3557 }
3558
clear_client_streaming(&mut self)3559 pub fn clear_client_streaming(&mut self) {
3560 self.client_streaming = ::std::option::Option::None;
3561 }
3562
has_client_streaming(&self) -> bool3563 pub fn has_client_streaming(&self) -> bool {
3564 self.client_streaming.is_some()
3565 }
3566
3567 // Param is passed by value, moved
set_client_streaming(&mut self, v: bool)3568 pub fn set_client_streaming(&mut self, v: bool) {
3569 self.client_streaming = ::std::option::Option::Some(v);
3570 }
3571
3572 // optional bool server_streaming = 6;
3573
server_streaming(&self) -> bool3574 pub fn server_streaming(&self) -> bool {
3575 self.server_streaming.unwrap_or(false)
3576 }
3577
clear_server_streaming(&mut self)3578 pub fn clear_server_streaming(&mut self) {
3579 self.server_streaming = ::std::option::Option::None;
3580 }
3581
has_server_streaming(&self) -> bool3582 pub fn has_server_streaming(&self) -> bool {
3583 self.server_streaming.is_some()
3584 }
3585
3586 // Param is passed by value, moved
set_server_streaming(&mut self, v: bool)3587 pub fn set_server_streaming(&mut self, v: bool) {
3588 self.server_streaming = ::std::option::Option::Some(v);
3589 }
3590
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData3591 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
3592 let mut fields = ::std::vec::Vec::with_capacity(6);
3593 let mut oneofs = ::std::vec::Vec::with_capacity(0);
3594 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
3595 "name",
3596 |m: &MethodDescriptorProto| { &m.name },
3597 |m: &mut MethodDescriptorProto| { &mut m.name },
3598 ));
3599 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
3600 "input_type",
3601 |m: &MethodDescriptorProto| { &m.input_type },
3602 |m: &mut MethodDescriptorProto| { &mut m.input_type },
3603 ));
3604 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
3605 "output_type",
3606 |m: &MethodDescriptorProto| { &m.output_type },
3607 |m: &mut MethodDescriptorProto| { &mut m.output_type },
3608 ));
3609 fields.push(crate::reflect::rt::v2::make_message_field_accessor::<_, MethodOptions>(
3610 "options",
3611 |m: &MethodDescriptorProto| { &m.options },
3612 |m: &mut MethodDescriptorProto| { &mut m.options },
3613 ));
3614 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
3615 "client_streaming",
3616 |m: &MethodDescriptorProto| { &m.client_streaming },
3617 |m: &mut MethodDescriptorProto| { &mut m.client_streaming },
3618 ));
3619 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
3620 "server_streaming",
3621 |m: &MethodDescriptorProto| { &m.server_streaming },
3622 |m: &mut MethodDescriptorProto| { &mut m.server_streaming },
3623 ));
3624 crate::reflect::GeneratedMessageDescriptorData::new_2::<MethodDescriptorProto>(
3625 "MethodDescriptorProto",
3626 fields,
3627 oneofs,
3628 )
3629 }
3630 }
3631
3632 impl crate::Message for MethodDescriptorProto {
3633 const NAME: &'static str = "MethodDescriptorProto";
3634
is_initialized(&self) -> bool3635 fn is_initialized(&self) -> bool {
3636 for v in &self.options {
3637 if !v.is_initialized() {
3638 return false;
3639 }
3640 };
3641 true
3642 }
3643
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>3644 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
3645 while let Some(tag) = is.read_raw_tag_or_eof()? {
3646 match tag {
3647 10 => {
3648 self.name = ::std::option::Option::Some(is.read_string()?);
3649 },
3650 18 => {
3651 self.input_type = ::std::option::Option::Some(is.read_string()?);
3652 },
3653 26 => {
3654 self.output_type = ::std::option::Option::Some(is.read_string()?);
3655 },
3656 34 => {
3657 crate::rt::read_singular_message_into_field(is, &mut self.options)?;
3658 },
3659 40 => {
3660 self.client_streaming = ::std::option::Option::Some(is.read_bool()?);
3661 },
3662 48 => {
3663 self.server_streaming = ::std::option::Option::Some(is.read_bool()?);
3664 },
3665 tag => {
3666 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
3667 },
3668 };
3669 }
3670 ::std::result::Result::Ok(())
3671 }
3672
3673 // Compute sizes of nested messages
3674 #[allow(unused_variables)]
compute_size(&self) -> u643675 fn compute_size(&self) -> u64 {
3676 let mut my_size = 0;
3677 if let Some(v) = self.name.as_ref() {
3678 my_size += crate::rt::string_size(1, &v);
3679 }
3680 if let Some(v) = self.input_type.as_ref() {
3681 my_size += crate::rt::string_size(2, &v);
3682 }
3683 if let Some(v) = self.output_type.as_ref() {
3684 my_size += crate::rt::string_size(3, &v);
3685 }
3686 if let Some(v) = self.options.as_ref() {
3687 let len = v.compute_size();
3688 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
3689 }
3690 if let Some(v) = self.client_streaming {
3691 my_size += 1 + 1;
3692 }
3693 if let Some(v) = self.server_streaming {
3694 my_size += 1 + 1;
3695 }
3696 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
3697 self.special_fields.cached_size().set(my_size as u32);
3698 my_size
3699 }
3700
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>3701 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
3702 if let Some(v) = self.name.as_ref() {
3703 os.write_string(1, v)?;
3704 }
3705 if let Some(v) = self.input_type.as_ref() {
3706 os.write_string(2, v)?;
3707 }
3708 if let Some(v) = self.output_type.as_ref() {
3709 os.write_string(3, v)?;
3710 }
3711 if let Some(v) = self.options.as_ref() {
3712 crate::rt::write_message_field_with_cached_size(4, v, os)?;
3713 }
3714 if let Some(v) = self.client_streaming {
3715 os.write_bool(5, v)?;
3716 }
3717 if let Some(v) = self.server_streaming {
3718 os.write_bool(6, v)?;
3719 }
3720 os.write_unknown_fields(self.special_fields.unknown_fields())?;
3721 ::std::result::Result::Ok(())
3722 }
3723
special_fields(&self) -> &crate::SpecialFields3724 fn special_fields(&self) -> &crate::SpecialFields {
3725 &self.special_fields
3726 }
3727
mut_special_fields(&mut self) -> &mut crate::SpecialFields3728 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
3729 &mut self.special_fields
3730 }
3731
new() -> MethodDescriptorProto3732 fn new() -> MethodDescriptorProto {
3733 MethodDescriptorProto::new()
3734 }
3735
clear(&mut self)3736 fn clear(&mut self) {
3737 self.name = ::std::option::Option::None;
3738 self.input_type = ::std::option::Option::None;
3739 self.output_type = ::std::option::Option::None;
3740 self.options.clear();
3741 self.client_streaming = ::std::option::Option::None;
3742 self.server_streaming = ::std::option::Option::None;
3743 self.special_fields.clear();
3744 }
3745
default_instance() -> &'static MethodDescriptorProto3746 fn default_instance() -> &'static MethodDescriptorProto {
3747 static instance: MethodDescriptorProto = MethodDescriptorProto {
3748 name: ::std::option::Option::None,
3749 input_type: ::std::option::Option::None,
3750 output_type: ::std::option::Option::None,
3751 options: crate::MessageField::none(),
3752 client_streaming: ::std::option::Option::None,
3753 server_streaming: ::std::option::Option::None,
3754 special_fields: crate::SpecialFields::new(),
3755 };
3756 &instance
3757 }
3758 }
3759
3760 impl crate::MessageFull for MethodDescriptorProto {
descriptor() -> crate::reflect::MessageDescriptor3761 fn descriptor() -> crate::reflect::MessageDescriptor {
3762 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
3763 descriptor.get(|| file_descriptor().message_by_package_relative_name("MethodDescriptorProto").unwrap()).clone()
3764 }
3765 }
3766
3767 impl ::std::fmt::Display for MethodDescriptorProto {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3768 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3769 crate::text_format::fmt(self, f)
3770 }
3771 }
3772
3773 impl crate::reflect::ProtobufValue for MethodDescriptorProto {
3774 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
3775 }
3776
3777 #[derive(PartialEq,Clone,Default,Debug)]
3778 // @@protoc_insertion_point(message:google.protobuf.FileOptions)
3779 pub struct FileOptions {
3780 // message fields
3781 /// Sets the Java package where classes generated from this .proto will be
3782 /// placed. By default, the proto package is used, but this is often
3783 /// inappropriate because proto packages do not normally start with backwards
3784 /// domain names.
3785 // @@protoc_insertion_point(field:google.protobuf.FileOptions.java_package)
3786 pub java_package: ::std::option::Option<::std::string::String>,
3787 /// Controls the name of the wrapper Java class generated for the .proto file.
3788 /// That class will always contain the .proto file's getDescriptor() method as
3789 /// well as any top-level extensions defined in the .proto file.
3790 /// If java_multiple_files is disabled, then all the other classes from the
3791 /// .proto file will be nested inside the single wrapper outer class.
3792 // @@protoc_insertion_point(field:google.protobuf.FileOptions.java_outer_classname)
3793 pub java_outer_classname: ::std::option::Option<::std::string::String>,
3794 /// If enabled, then the Java code generator will generate a separate .java
3795 /// file for each top-level message, enum, and service defined in the .proto
3796 /// file. Thus, these types will *not* be nested inside the wrapper class
3797 /// named by java_outer_classname. However, the wrapper class will still be
3798 /// generated to contain the file's getDescriptor() method as well as any
3799 /// top-level extensions defined in the file.
3800 // @@protoc_insertion_point(field:google.protobuf.FileOptions.java_multiple_files)
3801 pub java_multiple_files: ::std::option::Option<bool>,
3802 /// This option does nothing.
3803 // @@protoc_insertion_point(field:google.protobuf.FileOptions.java_generate_equals_and_hash)
3804 pub java_generate_equals_and_hash: ::std::option::Option<bool>,
3805 /// If set true, then the Java2 code generator will generate code that
3806 /// throws an exception whenever an attempt is made to assign a non-UTF-8
3807 /// byte sequence to a string field.
3808 /// Message reflection will do the same.
3809 /// However, an extension field still accepts non-UTF-8 byte sequences.
3810 /// This option has no effect on when used with the lite runtime.
3811 // @@protoc_insertion_point(field:google.protobuf.FileOptions.java_string_check_utf8)
3812 pub java_string_check_utf8: ::std::option::Option<bool>,
3813 // @@protoc_insertion_point(field:google.protobuf.FileOptions.optimize_for)
3814 pub optimize_for: ::std::option::Option<crate::EnumOrUnknown<file_options::OptimizeMode>>,
3815 /// Sets the Go package where structs generated from this .proto will be
3816 /// placed. If omitted, the Go package will be derived from the following:
3817 /// - The basename of the package import path, if provided.
3818 /// - Otherwise, the package statement in the .proto file, if present.
3819 /// - Otherwise, the basename of the .proto file, without extension.
3820 // @@protoc_insertion_point(field:google.protobuf.FileOptions.go_package)
3821 pub go_package: ::std::option::Option<::std::string::String>,
3822 /// Should generic services be generated in each language? "Generic" services
3823 /// are not specific to any particular RPC system. They are generated by the
3824 /// main code generators in each language (without additional plugins).
3825 /// Generic services were the only kind of service generation supported by
3826 /// early versions of google.protobuf.
3827 ///
3828 /// Generic services are now considered deprecated in favor of using plugins
3829 /// that generate code specific to your particular RPC system. Therefore,
3830 /// these default to false. Old code which depends on generic services should
3831 /// explicitly set them to true.
3832 // @@protoc_insertion_point(field:google.protobuf.FileOptions.cc_generic_services)
3833 pub cc_generic_services: ::std::option::Option<bool>,
3834 // @@protoc_insertion_point(field:google.protobuf.FileOptions.java_generic_services)
3835 pub java_generic_services: ::std::option::Option<bool>,
3836 // @@protoc_insertion_point(field:google.protobuf.FileOptions.py_generic_services)
3837 pub py_generic_services: ::std::option::Option<bool>,
3838 // @@protoc_insertion_point(field:google.protobuf.FileOptions.php_generic_services)
3839 pub php_generic_services: ::std::option::Option<bool>,
3840 /// Is this file deprecated?
3841 /// Depending on the target platform, this can emit Deprecated annotations
3842 /// for everything in the file, or it will be completely ignored; in the very
3843 /// least, this is a formalization for deprecating files.
3844 // @@protoc_insertion_point(field:google.protobuf.FileOptions.deprecated)
3845 pub deprecated: ::std::option::Option<bool>,
3846 /// Enables the use of arenas for the proto messages in this file. This applies
3847 /// only to generated classes for C++.
3848 // @@protoc_insertion_point(field:google.protobuf.FileOptions.cc_enable_arenas)
3849 pub cc_enable_arenas: ::std::option::Option<bool>,
3850 /// Sets the objective c class prefix which is prepended to all objective c
3851 /// generated classes from this .proto. There is no default.
3852 // @@protoc_insertion_point(field:google.protobuf.FileOptions.objc_class_prefix)
3853 pub objc_class_prefix: ::std::option::Option<::std::string::String>,
3854 /// Namespace for generated classes; defaults to the package.
3855 // @@protoc_insertion_point(field:google.protobuf.FileOptions.csharp_namespace)
3856 pub csharp_namespace: ::std::option::Option<::std::string::String>,
3857 /// By default Swift generators will take the proto package and CamelCase it
3858 /// replacing '.' with underscore and use that to prefix the types/symbols
3859 /// defined. When this options is provided, they will use this value instead
3860 /// to prefix the types/symbols defined.
3861 // @@protoc_insertion_point(field:google.protobuf.FileOptions.swift_prefix)
3862 pub swift_prefix: ::std::option::Option<::std::string::String>,
3863 /// Sets the php class prefix which is prepended to all php generated classes
3864 /// from this .proto. Default is empty.
3865 // @@protoc_insertion_point(field:google.protobuf.FileOptions.php_class_prefix)
3866 pub php_class_prefix: ::std::option::Option<::std::string::String>,
3867 /// Use this option to change the namespace of php generated classes. Default
3868 /// is empty. When this option is empty, the package name will be used for
3869 /// determining the namespace.
3870 // @@protoc_insertion_point(field:google.protobuf.FileOptions.php_namespace)
3871 pub php_namespace: ::std::option::Option<::std::string::String>,
3872 /// Use this option to change the namespace of php generated metadata classes.
3873 /// Default is empty. When this option is empty, the proto file name will be
3874 /// used for determining the namespace.
3875 // @@protoc_insertion_point(field:google.protobuf.FileOptions.php_metadata_namespace)
3876 pub php_metadata_namespace: ::std::option::Option<::std::string::String>,
3877 /// Use this option to change the package of ruby generated classes. Default
3878 /// is empty. When this option is not set, the package name will be used for
3879 /// determining the ruby package.
3880 // @@protoc_insertion_point(field:google.protobuf.FileOptions.ruby_package)
3881 pub ruby_package: ::std::option::Option<::std::string::String>,
3882 /// The parser stores options it doesn't recognize here.
3883 /// See the documentation for the "Options" section above.
3884 // @@protoc_insertion_point(field:google.protobuf.FileOptions.uninterpreted_option)
3885 pub uninterpreted_option: ::std::vec::Vec<UninterpretedOption>,
3886 // special fields
3887 // @@protoc_insertion_point(special_field:google.protobuf.FileOptions.special_fields)
3888 pub special_fields: crate::SpecialFields,
3889 }
3890
3891 impl<'a> ::std::default::Default for &'a FileOptions {
default() -> &'a FileOptions3892 fn default() -> &'a FileOptions {
3893 <FileOptions as crate::Message>::default_instance()
3894 }
3895 }
3896
3897 impl FileOptions {
new() -> FileOptions3898 pub fn new() -> FileOptions {
3899 ::std::default::Default::default()
3900 }
3901
3902 // optional string java_package = 1;
3903
java_package(&self) -> &str3904 pub fn java_package(&self) -> &str {
3905 match self.java_package.as_ref() {
3906 Some(v) => v,
3907 None => "",
3908 }
3909 }
3910
clear_java_package(&mut self)3911 pub fn clear_java_package(&mut self) {
3912 self.java_package = ::std::option::Option::None;
3913 }
3914
has_java_package(&self) -> bool3915 pub fn has_java_package(&self) -> bool {
3916 self.java_package.is_some()
3917 }
3918
3919 // Param is passed by value, moved
set_java_package(&mut self, v: ::std::string::String)3920 pub fn set_java_package(&mut self, v: ::std::string::String) {
3921 self.java_package = ::std::option::Option::Some(v);
3922 }
3923
3924 // Mutable pointer to the field.
3925 // If field is not initialized, it is initialized with default value first.
mut_java_package(&mut self) -> &mut ::std::string::String3926 pub fn mut_java_package(&mut self) -> &mut ::std::string::String {
3927 if self.java_package.is_none() {
3928 self.java_package = ::std::option::Option::Some(::std::string::String::new());
3929 }
3930 self.java_package.as_mut().unwrap()
3931 }
3932
3933 // Take field
take_java_package(&mut self) -> ::std::string::String3934 pub fn take_java_package(&mut self) -> ::std::string::String {
3935 self.java_package.take().unwrap_or_else(|| ::std::string::String::new())
3936 }
3937
3938 // optional string java_outer_classname = 8;
3939
java_outer_classname(&self) -> &str3940 pub fn java_outer_classname(&self) -> &str {
3941 match self.java_outer_classname.as_ref() {
3942 Some(v) => v,
3943 None => "",
3944 }
3945 }
3946
clear_java_outer_classname(&mut self)3947 pub fn clear_java_outer_classname(&mut self) {
3948 self.java_outer_classname = ::std::option::Option::None;
3949 }
3950
has_java_outer_classname(&self) -> bool3951 pub fn has_java_outer_classname(&self) -> bool {
3952 self.java_outer_classname.is_some()
3953 }
3954
3955 // Param is passed by value, moved
set_java_outer_classname(&mut self, v: ::std::string::String)3956 pub fn set_java_outer_classname(&mut self, v: ::std::string::String) {
3957 self.java_outer_classname = ::std::option::Option::Some(v);
3958 }
3959
3960 // Mutable pointer to the field.
3961 // If field is not initialized, it is initialized with default value first.
mut_java_outer_classname(&mut self) -> &mut ::std::string::String3962 pub fn mut_java_outer_classname(&mut self) -> &mut ::std::string::String {
3963 if self.java_outer_classname.is_none() {
3964 self.java_outer_classname = ::std::option::Option::Some(::std::string::String::new());
3965 }
3966 self.java_outer_classname.as_mut().unwrap()
3967 }
3968
3969 // Take field
take_java_outer_classname(&mut self) -> ::std::string::String3970 pub fn take_java_outer_classname(&mut self) -> ::std::string::String {
3971 self.java_outer_classname.take().unwrap_or_else(|| ::std::string::String::new())
3972 }
3973
3974 // optional bool java_multiple_files = 10;
3975
java_multiple_files(&self) -> bool3976 pub fn java_multiple_files(&self) -> bool {
3977 self.java_multiple_files.unwrap_or(false)
3978 }
3979
clear_java_multiple_files(&mut self)3980 pub fn clear_java_multiple_files(&mut self) {
3981 self.java_multiple_files = ::std::option::Option::None;
3982 }
3983
has_java_multiple_files(&self) -> bool3984 pub fn has_java_multiple_files(&self) -> bool {
3985 self.java_multiple_files.is_some()
3986 }
3987
3988 // Param is passed by value, moved
set_java_multiple_files(&mut self, v: bool)3989 pub fn set_java_multiple_files(&mut self, v: bool) {
3990 self.java_multiple_files = ::std::option::Option::Some(v);
3991 }
3992
3993 // optional bool java_generate_equals_and_hash = 20;
3994
java_generate_equals_and_hash(&self) -> bool3995 pub fn java_generate_equals_and_hash(&self) -> bool {
3996 self.java_generate_equals_and_hash.unwrap_or(false)
3997 }
3998
clear_java_generate_equals_and_hash(&mut self)3999 pub fn clear_java_generate_equals_and_hash(&mut self) {
4000 self.java_generate_equals_and_hash = ::std::option::Option::None;
4001 }
4002
has_java_generate_equals_and_hash(&self) -> bool4003 pub fn has_java_generate_equals_and_hash(&self) -> bool {
4004 self.java_generate_equals_and_hash.is_some()
4005 }
4006
4007 // Param is passed by value, moved
set_java_generate_equals_and_hash(&mut self, v: bool)4008 pub fn set_java_generate_equals_and_hash(&mut self, v: bool) {
4009 self.java_generate_equals_and_hash = ::std::option::Option::Some(v);
4010 }
4011
4012 // optional bool java_string_check_utf8 = 27;
4013
java_string_check_utf8(&self) -> bool4014 pub fn java_string_check_utf8(&self) -> bool {
4015 self.java_string_check_utf8.unwrap_or(false)
4016 }
4017
clear_java_string_check_utf8(&mut self)4018 pub fn clear_java_string_check_utf8(&mut self) {
4019 self.java_string_check_utf8 = ::std::option::Option::None;
4020 }
4021
has_java_string_check_utf8(&self) -> bool4022 pub fn has_java_string_check_utf8(&self) -> bool {
4023 self.java_string_check_utf8.is_some()
4024 }
4025
4026 // Param is passed by value, moved
set_java_string_check_utf8(&mut self, v: bool)4027 pub fn set_java_string_check_utf8(&mut self, v: bool) {
4028 self.java_string_check_utf8 = ::std::option::Option::Some(v);
4029 }
4030
4031 // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9;
4032
optimize_for(&self) -> file_options::OptimizeMode4033 pub fn optimize_for(&self) -> file_options::OptimizeMode {
4034 match self.optimize_for {
4035 Some(e) => e.enum_value_or(file_options::OptimizeMode::SPEED),
4036 None => file_options::OptimizeMode::SPEED,
4037 }
4038 }
4039
clear_optimize_for(&mut self)4040 pub fn clear_optimize_for(&mut self) {
4041 self.optimize_for = ::std::option::Option::None;
4042 }
4043
has_optimize_for(&self) -> bool4044 pub fn has_optimize_for(&self) -> bool {
4045 self.optimize_for.is_some()
4046 }
4047
4048 // Param is passed by value, moved
set_optimize_for(&mut self, v: file_options::OptimizeMode)4049 pub fn set_optimize_for(&mut self, v: file_options::OptimizeMode) {
4050 self.optimize_for = ::std::option::Option::Some(crate::EnumOrUnknown::new(v));
4051 }
4052
4053 // optional string go_package = 11;
4054
go_package(&self) -> &str4055 pub fn go_package(&self) -> &str {
4056 match self.go_package.as_ref() {
4057 Some(v) => v,
4058 None => "",
4059 }
4060 }
4061
clear_go_package(&mut self)4062 pub fn clear_go_package(&mut self) {
4063 self.go_package = ::std::option::Option::None;
4064 }
4065
has_go_package(&self) -> bool4066 pub fn has_go_package(&self) -> bool {
4067 self.go_package.is_some()
4068 }
4069
4070 // Param is passed by value, moved
set_go_package(&mut self, v: ::std::string::String)4071 pub fn set_go_package(&mut self, v: ::std::string::String) {
4072 self.go_package = ::std::option::Option::Some(v);
4073 }
4074
4075 // Mutable pointer to the field.
4076 // If field is not initialized, it is initialized with default value first.
mut_go_package(&mut self) -> &mut ::std::string::String4077 pub fn mut_go_package(&mut self) -> &mut ::std::string::String {
4078 if self.go_package.is_none() {
4079 self.go_package = ::std::option::Option::Some(::std::string::String::new());
4080 }
4081 self.go_package.as_mut().unwrap()
4082 }
4083
4084 // Take field
take_go_package(&mut self) -> ::std::string::String4085 pub fn take_go_package(&mut self) -> ::std::string::String {
4086 self.go_package.take().unwrap_or_else(|| ::std::string::String::new())
4087 }
4088
4089 // optional bool cc_generic_services = 16;
4090
cc_generic_services(&self) -> bool4091 pub fn cc_generic_services(&self) -> bool {
4092 self.cc_generic_services.unwrap_or(false)
4093 }
4094
clear_cc_generic_services(&mut self)4095 pub fn clear_cc_generic_services(&mut self) {
4096 self.cc_generic_services = ::std::option::Option::None;
4097 }
4098
has_cc_generic_services(&self) -> bool4099 pub fn has_cc_generic_services(&self) -> bool {
4100 self.cc_generic_services.is_some()
4101 }
4102
4103 // Param is passed by value, moved
set_cc_generic_services(&mut self, v: bool)4104 pub fn set_cc_generic_services(&mut self, v: bool) {
4105 self.cc_generic_services = ::std::option::Option::Some(v);
4106 }
4107
4108 // optional bool java_generic_services = 17;
4109
java_generic_services(&self) -> bool4110 pub fn java_generic_services(&self) -> bool {
4111 self.java_generic_services.unwrap_or(false)
4112 }
4113
clear_java_generic_services(&mut self)4114 pub fn clear_java_generic_services(&mut self) {
4115 self.java_generic_services = ::std::option::Option::None;
4116 }
4117
has_java_generic_services(&self) -> bool4118 pub fn has_java_generic_services(&self) -> bool {
4119 self.java_generic_services.is_some()
4120 }
4121
4122 // Param is passed by value, moved
set_java_generic_services(&mut self, v: bool)4123 pub fn set_java_generic_services(&mut self, v: bool) {
4124 self.java_generic_services = ::std::option::Option::Some(v);
4125 }
4126
4127 // optional bool py_generic_services = 18;
4128
py_generic_services(&self) -> bool4129 pub fn py_generic_services(&self) -> bool {
4130 self.py_generic_services.unwrap_or(false)
4131 }
4132
clear_py_generic_services(&mut self)4133 pub fn clear_py_generic_services(&mut self) {
4134 self.py_generic_services = ::std::option::Option::None;
4135 }
4136
has_py_generic_services(&self) -> bool4137 pub fn has_py_generic_services(&self) -> bool {
4138 self.py_generic_services.is_some()
4139 }
4140
4141 // Param is passed by value, moved
set_py_generic_services(&mut self, v: bool)4142 pub fn set_py_generic_services(&mut self, v: bool) {
4143 self.py_generic_services = ::std::option::Option::Some(v);
4144 }
4145
4146 // optional bool php_generic_services = 42;
4147
php_generic_services(&self) -> bool4148 pub fn php_generic_services(&self) -> bool {
4149 self.php_generic_services.unwrap_or(false)
4150 }
4151
clear_php_generic_services(&mut self)4152 pub fn clear_php_generic_services(&mut self) {
4153 self.php_generic_services = ::std::option::Option::None;
4154 }
4155
has_php_generic_services(&self) -> bool4156 pub fn has_php_generic_services(&self) -> bool {
4157 self.php_generic_services.is_some()
4158 }
4159
4160 // Param is passed by value, moved
set_php_generic_services(&mut self, v: bool)4161 pub fn set_php_generic_services(&mut self, v: bool) {
4162 self.php_generic_services = ::std::option::Option::Some(v);
4163 }
4164
4165 // optional bool deprecated = 23;
4166
deprecated(&self) -> bool4167 pub fn deprecated(&self) -> bool {
4168 self.deprecated.unwrap_or(false)
4169 }
4170
clear_deprecated(&mut self)4171 pub fn clear_deprecated(&mut self) {
4172 self.deprecated = ::std::option::Option::None;
4173 }
4174
has_deprecated(&self) -> bool4175 pub fn has_deprecated(&self) -> bool {
4176 self.deprecated.is_some()
4177 }
4178
4179 // Param is passed by value, moved
set_deprecated(&mut self, v: bool)4180 pub fn set_deprecated(&mut self, v: bool) {
4181 self.deprecated = ::std::option::Option::Some(v);
4182 }
4183
4184 // optional bool cc_enable_arenas = 31;
4185
cc_enable_arenas(&self) -> bool4186 pub fn cc_enable_arenas(&self) -> bool {
4187 self.cc_enable_arenas.unwrap_or(true)
4188 }
4189
clear_cc_enable_arenas(&mut self)4190 pub fn clear_cc_enable_arenas(&mut self) {
4191 self.cc_enable_arenas = ::std::option::Option::None;
4192 }
4193
has_cc_enable_arenas(&self) -> bool4194 pub fn has_cc_enable_arenas(&self) -> bool {
4195 self.cc_enable_arenas.is_some()
4196 }
4197
4198 // Param is passed by value, moved
set_cc_enable_arenas(&mut self, v: bool)4199 pub fn set_cc_enable_arenas(&mut self, v: bool) {
4200 self.cc_enable_arenas = ::std::option::Option::Some(v);
4201 }
4202
4203 // optional string objc_class_prefix = 36;
4204
objc_class_prefix(&self) -> &str4205 pub fn objc_class_prefix(&self) -> &str {
4206 match self.objc_class_prefix.as_ref() {
4207 Some(v) => v,
4208 None => "",
4209 }
4210 }
4211
clear_objc_class_prefix(&mut self)4212 pub fn clear_objc_class_prefix(&mut self) {
4213 self.objc_class_prefix = ::std::option::Option::None;
4214 }
4215
has_objc_class_prefix(&self) -> bool4216 pub fn has_objc_class_prefix(&self) -> bool {
4217 self.objc_class_prefix.is_some()
4218 }
4219
4220 // Param is passed by value, moved
set_objc_class_prefix(&mut self, v: ::std::string::String)4221 pub fn set_objc_class_prefix(&mut self, v: ::std::string::String) {
4222 self.objc_class_prefix = ::std::option::Option::Some(v);
4223 }
4224
4225 // Mutable pointer to the field.
4226 // If field is not initialized, it is initialized with default value first.
mut_objc_class_prefix(&mut self) -> &mut ::std::string::String4227 pub fn mut_objc_class_prefix(&mut self) -> &mut ::std::string::String {
4228 if self.objc_class_prefix.is_none() {
4229 self.objc_class_prefix = ::std::option::Option::Some(::std::string::String::new());
4230 }
4231 self.objc_class_prefix.as_mut().unwrap()
4232 }
4233
4234 // Take field
take_objc_class_prefix(&mut self) -> ::std::string::String4235 pub fn take_objc_class_prefix(&mut self) -> ::std::string::String {
4236 self.objc_class_prefix.take().unwrap_or_else(|| ::std::string::String::new())
4237 }
4238
4239 // optional string csharp_namespace = 37;
4240
csharp_namespace(&self) -> &str4241 pub fn csharp_namespace(&self) -> &str {
4242 match self.csharp_namespace.as_ref() {
4243 Some(v) => v,
4244 None => "",
4245 }
4246 }
4247
clear_csharp_namespace(&mut self)4248 pub fn clear_csharp_namespace(&mut self) {
4249 self.csharp_namespace = ::std::option::Option::None;
4250 }
4251
has_csharp_namespace(&self) -> bool4252 pub fn has_csharp_namespace(&self) -> bool {
4253 self.csharp_namespace.is_some()
4254 }
4255
4256 // Param is passed by value, moved
set_csharp_namespace(&mut self, v: ::std::string::String)4257 pub fn set_csharp_namespace(&mut self, v: ::std::string::String) {
4258 self.csharp_namespace = ::std::option::Option::Some(v);
4259 }
4260
4261 // Mutable pointer to the field.
4262 // If field is not initialized, it is initialized with default value first.
mut_csharp_namespace(&mut self) -> &mut ::std::string::String4263 pub fn mut_csharp_namespace(&mut self) -> &mut ::std::string::String {
4264 if self.csharp_namespace.is_none() {
4265 self.csharp_namespace = ::std::option::Option::Some(::std::string::String::new());
4266 }
4267 self.csharp_namespace.as_mut().unwrap()
4268 }
4269
4270 // Take field
take_csharp_namespace(&mut self) -> ::std::string::String4271 pub fn take_csharp_namespace(&mut self) -> ::std::string::String {
4272 self.csharp_namespace.take().unwrap_or_else(|| ::std::string::String::new())
4273 }
4274
4275 // optional string swift_prefix = 39;
4276
swift_prefix(&self) -> &str4277 pub fn swift_prefix(&self) -> &str {
4278 match self.swift_prefix.as_ref() {
4279 Some(v) => v,
4280 None => "",
4281 }
4282 }
4283
clear_swift_prefix(&mut self)4284 pub fn clear_swift_prefix(&mut self) {
4285 self.swift_prefix = ::std::option::Option::None;
4286 }
4287
has_swift_prefix(&self) -> bool4288 pub fn has_swift_prefix(&self) -> bool {
4289 self.swift_prefix.is_some()
4290 }
4291
4292 // Param is passed by value, moved
set_swift_prefix(&mut self, v: ::std::string::String)4293 pub fn set_swift_prefix(&mut self, v: ::std::string::String) {
4294 self.swift_prefix = ::std::option::Option::Some(v);
4295 }
4296
4297 // Mutable pointer to the field.
4298 // If field is not initialized, it is initialized with default value first.
mut_swift_prefix(&mut self) -> &mut ::std::string::String4299 pub fn mut_swift_prefix(&mut self) -> &mut ::std::string::String {
4300 if self.swift_prefix.is_none() {
4301 self.swift_prefix = ::std::option::Option::Some(::std::string::String::new());
4302 }
4303 self.swift_prefix.as_mut().unwrap()
4304 }
4305
4306 // Take field
take_swift_prefix(&mut self) -> ::std::string::String4307 pub fn take_swift_prefix(&mut self) -> ::std::string::String {
4308 self.swift_prefix.take().unwrap_or_else(|| ::std::string::String::new())
4309 }
4310
4311 // optional string php_class_prefix = 40;
4312
php_class_prefix(&self) -> &str4313 pub fn php_class_prefix(&self) -> &str {
4314 match self.php_class_prefix.as_ref() {
4315 Some(v) => v,
4316 None => "",
4317 }
4318 }
4319
clear_php_class_prefix(&mut self)4320 pub fn clear_php_class_prefix(&mut self) {
4321 self.php_class_prefix = ::std::option::Option::None;
4322 }
4323
has_php_class_prefix(&self) -> bool4324 pub fn has_php_class_prefix(&self) -> bool {
4325 self.php_class_prefix.is_some()
4326 }
4327
4328 // Param is passed by value, moved
set_php_class_prefix(&mut self, v: ::std::string::String)4329 pub fn set_php_class_prefix(&mut self, v: ::std::string::String) {
4330 self.php_class_prefix = ::std::option::Option::Some(v);
4331 }
4332
4333 // Mutable pointer to the field.
4334 // If field is not initialized, it is initialized with default value first.
mut_php_class_prefix(&mut self) -> &mut ::std::string::String4335 pub fn mut_php_class_prefix(&mut self) -> &mut ::std::string::String {
4336 if self.php_class_prefix.is_none() {
4337 self.php_class_prefix = ::std::option::Option::Some(::std::string::String::new());
4338 }
4339 self.php_class_prefix.as_mut().unwrap()
4340 }
4341
4342 // Take field
take_php_class_prefix(&mut self) -> ::std::string::String4343 pub fn take_php_class_prefix(&mut self) -> ::std::string::String {
4344 self.php_class_prefix.take().unwrap_or_else(|| ::std::string::String::new())
4345 }
4346
4347 // optional string php_namespace = 41;
4348
php_namespace(&self) -> &str4349 pub fn php_namespace(&self) -> &str {
4350 match self.php_namespace.as_ref() {
4351 Some(v) => v,
4352 None => "",
4353 }
4354 }
4355
clear_php_namespace(&mut self)4356 pub fn clear_php_namespace(&mut self) {
4357 self.php_namespace = ::std::option::Option::None;
4358 }
4359
has_php_namespace(&self) -> bool4360 pub fn has_php_namespace(&self) -> bool {
4361 self.php_namespace.is_some()
4362 }
4363
4364 // Param is passed by value, moved
set_php_namespace(&mut self, v: ::std::string::String)4365 pub fn set_php_namespace(&mut self, v: ::std::string::String) {
4366 self.php_namespace = ::std::option::Option::Some(v);
4367 }
4368
4369 // Mutable pointer to the field.
4370 // If field is not initialized, it is initialized with default value first.
mut_php_namespace(&mut self) -> &mut ::std::string::String4371 pub fn mut_php_namespace(&mut self) -> &mut ::std::string::String {
4372 if self.php_namespace.is_none() {
4373 self.php_namespace = ::std::option::Option::Some(::std::string::String::new());
4374 }
4375 self.php_namespace.as_mut().unwrap()
4376 }
4377
4378 // Take field
take_php_namespace(&mut self) -> ::std::string::String4379 pub fn take_php_namespace(&mut self) -> ::std::string::String {
4380 self.php_namespace.take().unwrap_or_else(|| ::std::string::String::new())
4381 }
4382
4383 // optional string php_metadata_namespace = 44;
4384
php_metadata_namespace(&self) -> &str4385 pub fn php_metadata_namespace(&self) -> &str {
4386 match self.php_metadata_namespace.as_ref() {
4387 Some(v) => v,
4388 None => "",
4389 }
4390 }
4391
clear_php_metadata_namespace(&mut self)4392 pub fn clear_php_metadata_namespace(&mut self) {
4393 self.php_metadata_namespace = ::std::option::Option::None;
4394 }
4395
has_php_metadata_namespace(&self) -> bool4396 pub fn has_php_metadata_namespace(&self) -> bool {
4397 self.php_metadata_namespace.is_some()
4398 }
4399
4400 // Param is passed by value, moved
set_php_metadata_namespace(&mut self, v: ::std::string::String)4401 pub fn set_php_metadata_namespace(&mut self, v: ::std::string::String) {
4402 self.php_metadata_namespace = ::std::option::Option::Some(v);
4403 }
4404
4405 // Mutable pointer to the field.
4406 // If field is not initialized, it is initialized with default value first.
mut_php_metadata_namespace(&mut self) -> &mut ::std::string::String4407 pub fn mut_php_metadata_namespace(&mut self) -> &mut ::std::string::String {
4408 if self.php_metadata_namespace.is_none() {
4409 self.php_metadata_namespace = ::std::option::Option::Some(::std::string::String::new());
4410 }
4411 self.php_metadata_namespace.as_mut().unwrap()
4412 }
4413
4414 // Take field
take_php_metadata_namespace(&mut self) -> ::std::string::String4415 pub fn take_php_metadata_namespace(&mut self) -> ::std::string::String {
4416 self.php_metadata_namespace.take().unwrap_or_else(|| ::std::string::String::new())
4417 }
4418
4419 // optional string ruby_package = 45;
4420
ruby_package(&self) -> &str4421 pub fn ruby_package(&self) -> &str {
4422 match self.ruby_package.as_ref() {
4423 Some(v) => v,
4424 None => "",
4425 }
4426 }
4427
clear_ruby_package(&mut self)4428 pub fn clear_ruby_package(&mut self) {
4429 self.ruby_package = ::std::option::Option::None;
4430 }
4431
has_ruby_package(&self) -> bool4432 pub fn has_ruby_package(&self) -> bool {
4433 self.ruby_package.is_some()
4434 }
4435
4436 // Param is passed by value, moved
set_ruby_package(&mut self, v: ::std::string::String)4437 pub fn set_ruby_package(&mut self, v: ::std::string::String) {
4438 self.ruby_package = ::std::option::Option::Some(v);
4439 }
4440
4441 // Mutable pointer to the field.
4442 // If field is not initialized, it is initialized with default value first.
mut_ruby_package(&mut self) -> &mut ::std::string::String4443 pub fn mut_ruby_package(&mut self) -> &mut ::std::string::String {
4444 if self.ruby_package.is_none() {
4445 self.ruby_package = ::std::option::Option::Some(::std::string::String::new());
4446 }
4447 self.ruby_package.as_mut().unwrap()
4448 }
4449
4450 // Take field
take_ruby_package(&mut self) -> ::std::string::String4451 pub fn take_ruby_package(&mut self) -> ::std::string::String {
4452 self.ruby_package.take().unwrap_or_else(|| ::std::string::String::new())
4453 }
4454
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData4455 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
4456 let mut fields = ::std::vec::Vec::with_capacity(21);
4457 let mut oneofs = ::std::vec::Vec::with_capacity(0);
4458 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4459 "java_package",
4460 |m: &FileOptions| { &m.java_package },
4461 |m: &mut FileOptions| { &mut m.java_package },
4462 ));
4463 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4464 "java_outer_classname",
4465 |m: &FileOptions| { &m.java_outer_classname },
4466 |m: &mut FileOptions| { &mut m.java_outer_classname },
4467 ));
4468 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4469 "java_multiple_files",
4470 |m: &FileOptions| { &m.java_multiple_files },
4471 |m: &mut FileOptions| { &mut m.java_multiple_files },
4472 ));
4473 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4474 "java_generate_equals_and_hash",
4475 |m: &FileOptions| { &m.java_generate_equals_and_hash },
4476 |m: &mut FileOptions| { &mut m.java_generate_equals_and_hash },
4477 ));
4478 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4479 "java_string_check_utf8",
4480 |m: &FileOptions| { &m.java_string_check_utf8 },
4481 |m: &mut FileOptions| { &mut m.java_string_check_utf8 },
4482 ));
4483 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4484 "optimize_for",
4485 |m: &FileOptions| { &m.optimize_for },
4486 |m: &mut FileOptions| { &mut m.optimize_for },
4487 ));
4488 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4489 "go_package",
4490 |m: &FileOptions| { &m.go_package },
4491 |m: &mut FileOptions| { &mut m.go_package },
4492 ));
4493 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4494 "cc_generic_services",
4495 |m: &FileOptions| { &m.cc_generic_services },
4496 |m: &mut FileOptions| { &mut m.cc_generic_services },
4497 ));
4498 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4499 "java_generic_services",
4500 |m: &FileOptions| { &m.java_generic_services },
4501 |m: &mut FileOptions| { &mut m.java_generic_services },
4502 ));
4503 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4504 "py_generic_services",
4505 |m: &FileOptions| { &m.py_generic_services },
4506 |m: &mut FileOptions| { &mut m.py_generic_services },
4507 ));
4508 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4509 "php_generic_services",
4510 |m: &FileOptions| { &m.php_generic_services },
4511 |m: &mut FileOptions| { &mut m.php_generic_services },
4512 ));
4513 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4514 "deprecated",
4515 |m: &FileOptions| { &m.deprecated },
4516 |m: &mut FileOptions| { &mut m.deprecated },
4517 ));
4518 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4519 "cc_enable_arenas",
4520 |m: &FileOptions| { &m.cc_enable_arenas },
4521 |m: &mut FileOptions| { &mut m.cc_enable_arenas },
4522 ));
4523 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4524 "objc_class_prefix",
4525 |m: &FileOptions| { &m.objc_class_prefix },
4526 |m: &mut FileOptions| { &mut m.objc_class_prefix },
4527 ));
4528 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4529 "csharp_namespace",
4530 |m: &FileOptions| { &m.csharp_namespace },
4531 |m: &mut FileOptions| { &mut m.csharp_namespace },
4532 ));
4533 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4534 "swift_prefix",
4535 |m: &FileOptions| { &m.swift_prefix },
4536 |m: &mut FileOptions| { &mut m.swift_prefix },
4537 ));
4538 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4539 "php_class_prefix",
4540 |m: &FileOptions| { &m.php_class_prefix },
4541 |m: &mut FileOptions| { &mut m.php_class_prefix },
4542 ));
4543 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4544 "php_namespace",
4545 |m: &FileOptions| { &m.php_namespace },
4546 |m: &mut FileOptions| { &mut m.php_namespace },
4547 ));
4548 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4549 "php_metadata_namespace",
4550 |m: &FileOptions| { &m.php_metadata_namespace },
4551 |m: &mut FileOptions| { &mut m.php_metadata_namespace },
4552 ));
4553 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
4554 "ruby_package",
4555 |m: &FileOptions| { &m.ruby_package },
4556 |m: &mut FileOptions| { &mut m.ruby_package },
4557 ));
4558 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
4559 "uninterpreted_option",
4560 |m: &FileOptions| { &m.uninterpreted_option },
4561 |m: &mut FileOptions| { &mut m.uninterpreted_option },
4562 ));
4563 crate::reflect::GeneratedMessageDescriptorData::new_2::<FileOptions>(
4564 "FileOptions",
4565 fields,
4566 oneofs,
4567 )
4568 }
4569 }
4570
4571 impl crate::Message for FileOptions {
4572 const NAME: &'static str = "FileOptions";
4573
is_initialized(&self) -> bool4574 fn is_initialized(&self) -> bool {
4575 for v in &self.uninterpreted_option {
4576 if !v.is_initialized() {
4577 return false;
4578 }
4579 };
4580 true
4581 }
4582
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>4583 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
4584 while let Some(tag) = is.read_raw_tag_or_eof()? {
4585 match tag {
4586 10 => {
4587 self.java_package = ::std::option::Option::Some(is.read_string()?);
4588 },
4589 66 => {
4590 self.java_outer_classname = ::std::option::Option::Some(is.read_string()?);
4591 },
4592 80 => {
4593 self.java_multiple_files = ::std::option::Option::Some(is.read_bool()?);
4594 },
4595 160 => {
4596 self.java_generate_equals_and_hash = ::std::option::Option::Some(is.read_bool()?);
4597 },
4598 216 => {
4599 self.java_string_check_utf8 = ::std::option::Option::Some(is.read_bool()?);
4600 },
4601 72 => {
4602 self.optimize_for = ::std::option::Option::Some(is.read_enum_or_unknown()?);
4603 },
4604 90 => {
4605 self.go_package = ::std::option::Option::Some(is.read_string()?);
4606 },
4607 128 => {
4608 self.cc_generic_services = ::std::option::Option::Some(is.read_bool()?);
4609 },
4610 136 => {
4611 self.java_generic_services = ::std::option::Option::Some(is.read_bool()?);
4612 },
4613 144 => {
4614 self.py_generic_services = ::std::option::Option::Some(is.read_bool()?);
4615 },
4616 336 => {
4617 self.php_generic_services = ::std::option::Option::Some(is.read_bool()?);
4618 },
4619 184 => {
4620 self.deprecated = ::std::option::Option::Some(is.read_bool()?);
4621 },
4622 248 => {
4623 self.cc_enable_arenas = ::std::option::Option::Some(is.read_bool()?);
4624 },
4625 290 => {
4626 self.objc_class_prefix = ::std::option::Option::Some(is.read_string()?);
4627 },
4628 298 => {
4629 self.csharp_namespace = ::std::option::Option::Some(is.read_string()?);
4630 },
4631 314 => {
4632 self.swift_prefix = ::std::option::Option::Some(is.read_string()?);
4633 },
4634 322 => {
4635 self.php_class_prefix = ::std::option::Option::Some(is.read_string()?);
4636 },
4637 330 => {
4638 self.php_namespace = ::std::option::Option::Some(is.read_string()?);
4639 },
4640 354 => {
4641 self.php_metadata_namespace = ::std::option::Option::Some(is.read_string()?);
4642 },
4643 362 => {
4644 self.ruby_package = ::std::option::Option::Some(is.read_string()?);
4645 },
4646 7994 => {
4647 self.uninterpreted_option.push(is.read_message()?);
4648 },
4649 tag => {
4650 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
4651 },
4652 };
4653 }
4654 ::std::result::Result::Ok(())
4655 }
4656
4657 // Compute sizes of nested messages
4658 #[allow(unused_variables)]
compute_size(&self) -> u644659 fn compute_size(&self) -> u64 {
4660 let mut my_size = 0;
4661 if let Some(v) = self.java_package.as_ref() {
4662 my_size += crate::rt::string_size(1, &v);
4663 }
4664 if let Some(v) = self.java_outer_classname.as_ref() {
4665 my_size += crate::rt::string_size(8, &v);
4666 }
4667 if let Some(v) = self.java_multiple_files {
4668 my_size += 1 + 1;
4669 }
4670 if let Some(v) = self.java_generate_equals_and_hash {
4671 my_size += 2 + 1;
4672 }
4673 if let Some(v) = self.java_string_check_utf8 {
4674 my_size += 2 + 1;
4675 }
4676 if let Some(v) = self.optimize_for {
4677 my_size += crate::rt::int32_size(9, v.value());
4678 }
4679 if let Some(v) = self.go_package.as_ref() {
4680 my_size += crate::rt::string_size(11, &v);
4681 }
4682 if let Some(v) = self.cc_generic_services {
4683 my_size += 2 + 1;
4684 }
4685 if let Some(v) = self.java_generic_services {
4686 my_size += 2 + 1;
4687 }
4688 if let Some(v) = self.py_generic_services {
4689 my_size += 2 + 1;
4690 }
4691 if let Some(v) = self.php_generic_services {
4692 my_size += 2 + 1;
4693 }
4694 if let Some(v) = self.deprecated {
4695 my_size += 2 + 1;
4696 }
4697 if let Some(v) = self.cc_enable_arenas {
4698 my_size += 2 + 1;
4699 }
4700 if let Some(v) = self.objc_class_prefix.as_ref() {
4701 my_size += crate::rt::string_size(36, &v);
4702 }
4703 if let Some(v) = self.csharp_namespace.as_ref() {
4704 my_size += crate::rt::string_size(37, &v);
4705 }
4706 if let Some(v) = self.swift_prefix.as_ref() {
4707 my_size += crate::rt::string_size(39, &v);
4708 }
4709 if let Some(v) = self.php_class_prefix.as_ref() {
4710 my_size += crate::rt::string_size(40, &v);
4711 }
4712 if let Some(v) = self.php_namespace.as_ref() {
4713 my_size += crate::rt::string_size(41, &v);
4714 }
4715 if let Some(v) = self.php_metadata_namespace.as_ref() {
4716 my_size += crate::rt::string_size(44, &v);
4717 }
4718 if let Some(v) = self.ruby_package.as_ref() {
4719 my_size += crate::rt::string_size(45, &v);
4720 }
4721 for value in &self.uninterpreted_option {
4722 let len = value.compute_size();
4723 my_size += 2 + crate::rt::compute_raw_varint64_size(len) + len;
4724 };
4725 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
4726 self.special_fields.cached_size().set(my_size as u32);
4727 my_size
4728 }
4729
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>4730 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
4731 if let Some(v) = self.java_package.as_ref() {
4732 os.write_string(1, v)?;
4733 }
4734 if let Some(v) = self.java_outer_classname.as_ref() {
4735 os.write_string(8, v)?;
4736 }
4737 if let Some(v) = self.java_multiple_files {
4738 os.write_bool(10, v)?;
4739 }
4740 if let Some(v) = self.java_generate_equals_and_hash {
4741 os.write_bool(20, v)?;
4742 }
4743 if let Some(v) = self.java_string_check_utf8 {
4744 os.write_bool(27, v)?;
4745 }
4746 if let Some(v) = self.optimize_for {
4747 os.write_enum(9, crate::EnumOrUnknown::value(&v))?;
4748 }
4749 if let Some(v) = self.go_package.as_ref() {
4750 os.write_string(11, v)?;
4751 }
4752 if let Some(v) = self.cc_generic_services {
4753 os.write_bool(16, v)?;
4754 }
4755 if let Some(v) = self.java_generic_services {
4756 os.write_bool(17, v)?;
4757 }
4758 if let Some(v) = self.py_generic_services {
4759 os.write_bool(18, v)?;
4760 }
4761 if let Some(v) = self.php_generic_services {
4762 os.write_bool(42, v)?;
4763 }
4764 if let Some(v) = self.deprecated {
4765 os.write_bool(23, v)?;
4766 }
4767 if let Some(v) = self.cc_enable_arenas {
4768 os.write_bool(31, v)?;
4769 }
4770 if let Some(v) = self.objc_class_prefix.as_ref() {
4771 os.write_string(36, v)?;
4772 }
4773 if let Some(v) = self.csharp_namespace.as_ref() {
4774 os.write_string(37, v)?;
4775 }
4776 if let Some(v) = self.swift_prefix.as_ref() {
4777 os.write_string(39, v)?;
4778 }
4779 if let Some(v) = self.php_class_prefix.as_ref() {
4780 os.write_string(40, v)?;
4781 }
4782 if let Some(v) = self.php_namespace.as_ref() {
4783 os.write_string(41, v)?;
4784 }
4785 if let Some(v) = self.php_metadata_namespace.as_ref() {
4786 os.write_string(44, v)?;
4787 }
4788 if let Some(v) = self.ruby_package.as_ref() {
4789 os.write_string(45, v)?;
4790 }
4791 for v in &self.uninterpreted_option {
4792 crate::rt::write_message_field_with_cached_size(999, v, os)?;
4793 };
4794 os.write_unknown_fields(self.special_fields.unknown_fields())?;
4795 ::std::result::Result::Ok(())
4796 }
4797
special_fields(&self) -> &crate::SpecialFields4798 fn special_fields(&self) -> &crate::SpecialFields {
4799 &self.special_fields
4800 }
4801
mut_special_fields(&mut self) -> &mut crate::SpecialFields4802 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
4803 &mut self.special_fields
4804 }
4805
new() -> FileOptions4806 fn new() -> FileOptions {
4807 FileOptions::new()
4808 }
4809
clear(&mut self)4810 fn clear(&mut self) {
4811 self.java_package = ::std::option::Option::None;
4812 self.java_outer_classname = ::std::option::Option::None;
4813 self.java_multiple_files = ::std::option::Option::None;
4814 self.java_generate_equals_and_hash = ::std::option::Option::None;
4815 self.java_string_check_utf8 = ::std::option::Option::None;
4816 self.optimize_for = ::std::option::Option::None;
4817 self.go_package = ::std::option::Option::None;
4818 self.cc_generic_services = ::std::option::Option::None;
4819 self.java_generic_services = ::std::option::Option::None;
4820 self.py_generic_services = ::std::option::Option::None;
4821 self.php_generic_services = ::std::option::Option::None;
4822 self.deprecated = ::std::option::Option::None;
4823 self.cc_enable_arenas = ::std::option::Option::None;
4824 self.objc_class_prefix = ::std::option::Option::None;
4825 self.csharp_namespace = ::std::option::Option::None;
4826 self.swift_prefix = ::std::option::Option::None;
4827 self.php_class_prefix = ::std::option::Option::None;
4828 self.php_namespace = ::std::option::Option::None;
4829 self.php_metadata_namespace = ::std::option::Option::None;
4830 self.ruby_package = ::std::option::Option::None;
4831 self.uninterpreted_option.clear();
4832 self.special_fields.clear();
4833 }
4834
default_instance() -> &'static FileOptions4835 fn default_instance() -> &'static FileOptions {
4836 static instance: FileOptions = FileOptions {
4837 java_package: ::std::option::Option::None,
4838 java_outer_classname: ::std::option::Option::None,
4839 java_multiple_files: ::std::option::Option::None,
4840 java_generate_equals_and_hash: ::std::option::Option::None,
4841 java_string_check_utf8: ::std::option::Option::None,
4842 optimize_for: ::std::option::Option::None,
4843 go_package: ::std::option::Option::None,
4844 cc_generic_services: ::std::option::Option::None,
4845 java_generic_services: ::std::option::Option::None,
4846 py_generic_services: ::std::option::Option::None,
4847 php_generic_services: ::std::option::Option::None,
4848 deprecated: ::std::option::Option::None,
4849 cc_enable_arenas: ::std::option::Option::None,
4850 objc_class_prefix: ::std::option::Option::None,
4851 csharp_namespace: ::std::option::Option::None,
4852 swift_prefix: ::std::option::Option::None,
4853 php_class_prefix: ::std::option::Option::None,
4854 php_namespace: ::std::option::Option::None,
4855 php_metadata_namespace: ::std::option::Option::None,
4856 ruby_package: ::std::option::Option::None,
4857 uninterpreted_option: ::std::vec::Vec::new(),
4858 special_fields: crate::SpecialFields::new(),
4859 };
4860 &instance
4861 }
4862 }
4863
4864 impl crate::MessageFull for FileOptions {
descriptor() -> crate::reflect::MessageDescriptor4865 fn descriptor() -> crate::reflect::MessageDescriptor {
4866 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
4867 descriptor.get(|| file_descriptor().message_by_package_relative_name("FileOptions").unwrap()).clone()
4868 }
4869 }
4870
4871 impl ::std::fmt::Display for FileOptions {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4872 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4873 crate::text_format::fmt(self, f)
4874 }
4875 }
4876
4877 impl crate::reflect::ProtobufValue for FileOptions {
4878 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
4879 }
4880
4881 /// Nested message and enums of message `FileOptions`
4882 pub mod file_options {
4883 /// Generated classes can be optimized for speed or code size.
4884 #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
4885 // @@protoc_insertion_point(enum:google.protobuf.FileOptions.OptimizeMode)
4886 pub enum OptimizeMode {
4887 // @@protoc_insertion_point(enum_value:google.protobuf.FileOptions.OptimizeMode.SPEED)
4888 SPEED = 1,
4889 // @@protoc_insertion_point(enum_value:google.protobuf.FileOptions.OptimizeMode.CODE_SIZE)
4890 CODE_SIZE = 2,
4891 // @@protoc_insertion_point(enum_value:google.protobuf.FileOptions.OptimizeMode.LITE_RUNTIME)
4892 LITE_RUNTIME = 3,
4893 }
4894
4895 impl crate::Enum for OptimizeMode {
4896 const NAME: &'static str = "OptimizeMode";
4897
value(&self) -> i324898 fn value(&self) -> i32 {
4899 *self as i32
4900 }
4901
from_i32(value: i32) -> ::std::option::Option<OptimizeMode>4902 fn from_i32(value: i32) -> ::std::option::Option<OptimizeMode> {
4903 match value {
4904 1 => ::std::option::Option::Some(OptimizeMode::SPEED),
4905 2 => ::std::option::Option::Some(OptimizeMode::CODE_SIZE),
4906 3 => ::std::option::Option::Some(OptimizeMode::LITE_RUNTIME),
4907 _ => ::std::option::Option::None
4908 }
4909 }
4910
4911 const VALUES: &'static [OptimizeMode] = &[
4912 OptimizeMode::SPEED,
4913 OptimizeMode::CODE_SIZE,
4914 OptimizeMode::LITE_RUNTIME,
4915 ];
4916 }
4917
4918 impl crate::EnumFull for OptimizeMode {
enum_descriptor() -> crate::reflect::EnumDescriptor4919 fn enum_descriptor() -> crate::reflect::EnumDescriptor {
4920 static descriptor: crate::rt::Lazy<crate::reflect::EnumDescriptor> = crate::rt::Lazy::new();
4921 descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("FileOptions.OptimizeMode").unwrap()).clone()
4922 }
4923
descriptor(&self) -> crate::reflect::EnumValueDescriptor4924 fn descriptor(&self) -> crate::reflect::EnumValueDescriptor {
4925 let index = match self {
4926 OptimizeMode::SPEED => 0,
4927 OptimizeMode::CODE_SIZE => 1,
4928 OptimizeMode::LITE_RUNTIME => 2,
4929 };
4930 Self::enum_descriptor().value_by_index(index)
4931 }
4932 }
4933
4934 // Note, `Default` is implemented although default value is not 0
4935 impl ::std::default::Default for OptimizeMode {
default() -> Self4936 fn default() -> Self {
4937 OptimizeMode::SPEED
4938 }
4939 }
4940
4941 impl OptimizeMode {
generated_enum_descriptor_data() -> crate::reflect::GeneratedEnumDescriptorData4942 pub(in super) fn generated_enum_descriptor_data() -> crate::reflect::GeneratedEnumDescriptorData {
4943 crate::reflect::GeneratedEnumDescriptorData::new::<OptimizeMode>("FileOptions.OptimizeMode")
4944 }
4945 }
4946 }
4947
4948 #[derive(PartialEq,Clone,Default,Debug)]
4949 // @@protoc_insertion_point(message:google.protobuf.MessageOptions)
4950 pub struct MessageOptions {
4951 // message fields
4952 // @@protoc_insertion_point(field:google.protobuf.MessageOptions.message_set_wire_format)
4953 pub message_set_wire_format: ::std::option::Option<bool>,
4954 /// Disables the generation of the standard "descriptor()" accessor, which can
4955 /// conflict with a field of the same name. This is meant to make migration
4956 /// from proto1 easier; new code should avoid fields named "descriptor".
4957 // @@protoc_insertion_point(field:google.protobuf.MessageOptions.no_standard_descriptor_accessor)
4958 pub no_standard_descriptor_accessor: ::std::option::Option<bool>,
4959 /// Is this message deprecated?
4960 /// Depending on the target platform, this can emit Deprecated annotations
4961 /// for the message, or it will be completely ignored; in the very least,
4962 /// this is a formalization for deprecating messages.
4963 // @@protoc_insertion_point(field:google.protobuf.MessageOptions.deprecated)
4964 pub deprecated: ::std::option::Option<bool>,
4965 // @@protoc_insertion_point(field:google.protobuf.MessageOptions.map_entry)
4966 pub map_entry: ::std::option::Option<bool>,
4967 /// The parser stores options it doesn't recognize here. See above.
4968 // @@protoc_insertion_point(field:google.protobuf.MessageOptions.uninterpreted_option)
4969 pub uninterpreted_option: ::std::vec::Vec<UninterpretedOption>,
4970 // special fields
4971 // @@protoc_insertion_point(special_field:google.protobuf.MessageOptions.special_fields)
4972 pub special_fields: crate::SpecialFields,
4973 }
4974
4975 impl<'a> ::std::default::Default for &'a MessageOptions {
default() -> &'a MessageOptions4976 fn default() -> &'a MessageOptions {
4977 <MessageOptions as crate::Message>::default_instance()
4978 }
4979 }
4980
4981 impl MessageOptions {
new() -> MessageOptions4982 pub fn new() -> MessageOptions {
4983 ::std::default::Default::default()
4984 }
4985
4986 // optional bool message_set_wire_format = 1;
4987
message_set_wire_format(&self) -> bool4988 pub fn message_set_wire_format(&self) -> bool {
4989 self.message_set_wire_format.unwrap_or(false)
4990 }
4991
clear_message_set_wire_format(&mut self)4992 pub fn clear_message_set_wire_format(&mut self) {
4993 self.message_set_wire_format = ::std::option::Option::None;
4994 }
4995
has_message_set_wire_format(&self) -> bool4996 pub fn has_message_set_wire_format(&self) -> bool {
4997 self.message_set_wire_format.is_some()
4998 }
4999
5000 // Param is passed by value, moved
set_message_set_wire_format(&mut self, v: bool)5001 pub fn set_message_set_wire_format(&mut self, v: bool) {
5002 self.message_set_wire_format = ::std::option::Option::Some(v);
5003 }
5004
5005 // optional bool no_standard_descriptor_accessor = 2;
5006
no_standard_descriptor_accessor(&self) -> bool5007 pub fn no_standard_descriptor_accessor(&self) -> bool {
5008 self.no_standard_descriptor_accessor.unwrap_or(false)
5009 }
5010
clear_no_standard_descriptor_accessor(&mut self)5011 pub fn clear_no_standard_descriptor_accessor(&mut self) {
5012 self.no_standard_descriptor_accessor = ::std::option::Option::None;
5013 }
5014
has_no_standard_descriptor_accessor(&self) -> bool5015 pub fn has_no_standard_descriptor_accessor(&self) -> bool {
5016 self.no_standard_descriptor_accessor.is_some()
5017 }
5018
5019 // Param is passed by value, moved
set_no_standard_descriptor_accessor(&mut self, v: bool)5020 pub fn set_no_standard_descriptor_accessor(&mut self, v: bool) {
5021 self.no_standard_descriptor_accessor = ::std::option::Option::Some(v);
5022 }
5023
5024 // optional bool deprecated = 3;
5025
deprecated(&self) -> bool5026 pub fn deprecated(&self) -> bool {
5027 self.deprecated.unwrap_or(false)
5028 }
5029
clear_deprecated(&mut self)5030 pub fn clear_deprecated(&mut self) {
5031 self.deprecated = ::std::option::Option::None;
5032 }
5033
has_deprecated(&self) -> bool5034 pub fn has_deprecated(&self) -> bool {
5035 self.deprecated.is_some()
5036 }
5037
5038 // Param is passed by value, moved
set_deprecated(&mut self, v: bool)5039 pub fn set_deprecated(&mut self, v: bool) {
5040 self.deprecated = ::std::option::Option::Some(v);
5041 }
5042
5043 // optional bool map_entry = 7;
5044
map_entry(&self) -> bool5045 pub fn map_entry(&self) -> bool {
5046 self.map_entry.unwrap_or(false)
5047 }
5048
clear_map_entry(&mut self)5049 pub fn clear_map_entry(&mut self) {
5050 self.map_entry = ::std::option::Option::None;
5051 }
5052
has_map_entry(&self) -> bool5053 pub fn has_map_entry(&self) -> bool {
5054 self.map_entry.is_some()
5055 }
5056
5057 // Param is passed by value, moved
set_map_entry(&mut self, v: bool)5058 pub fn set_map_entry(&mut self, v: bool) {
5059 self.map_entry = ::std::option::Option::Some(v);
5060 }
5061
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData5062 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
5063 let mut fields = ::std::vec::Vec::with_capacity(5);
5064 let mut oneofs = ::std::vec::Vec::with_capacity(0);
5065 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
5066 "message_set_wire_format",
5067 |m: &MessageOptions| { &m.message_set_wire_format },
5068 |m: &mut MessageOptions| { &mut m.message_set_wire_format },
5069 ));
5070 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
5071 "no_standard_descriptor_accessor",
5072 |m: &MessageOptions| { &m.no_standard_descriptor_accessor },
5073 |m: &mut MessageOptions| { &mut m.no_standard_descriptor_accessor },
5074 ));
5075 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
5076 "deprecated",
5077 |m: &MessageOptions| { &m.deprecated },
5078 |m: &mut MessageOptions| { &mut m.deprecated },
5079 ));
5080 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
5081 "map_entry",
5082 |m: &MessageOptions| { &m.map_entry },
5083 |m: &mut MessageOptions| { &mut m.map_entry },
5084 ));
5085 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
5086 "uninterpreted_option",
5087 |m: &MessageOptions| { &m.uninterpreted_option },
5088 |m: &mut MessageOptions| { &mut m.uninterpreted_option },
5089 ));
5090 crate::reflect::GeneratedMessageDescriptorData::new_2::<MessageOptions>(
5091 "MessageOptions",
5092 fields,
5093 oneofs,
5094 )
5095 }
5096 }
5097
5098 impl crate::Message for MessageOptions {
5099 const NAME: &'static str = "MessageOptions";
5100
is_initialized(&self) -> bool5101 fn is_initialized(&self) -> bool {
5102 for v in &self.uninterpreted_option {
5103 if !v.is_initialized() {
5104 return false;
5105 }
5106 };
5107 true
5108 }
5109
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>5110 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
5111 while let Some(tag) = is.read_raw_tag_or_eof()? {
5112 match tag {
5113 8 => {
5114 self.message_set_wire_format = ::std::option::Option::Some(is.read_bool()?);
5115 },
5116 16 => {
5117 self.no_standard_descriptor_accessor = ::std::option::Option::Some(is.read_bool()?);
5118 },
5119 24 => {
5120 self.deprecated = ::std::option::Option::Some(is.read_bool()?);
5121 },
5122 56 => {
5123 self.map_entry = ::std::option::Option::Some(is.read_bool()?);
5124 },
5125 7994 => {
5126 self.uninterpreted_option.push(is.read_message()?);
5127 },
5128 tag => {
5129 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
5130 },
5131 };
5132 }
5133 ::std::result::Result::Ok(())
5134 }
5135
5136 // Compute sizes of nested messages
5137 #[allow(unused_variables)]
compute_size(&self) -> u645138 fn compute_size(&self) -> u64 {
5139 let mut my_size = 0;
5140 if let Some(v) = self.message_set_wire_format {
5141 my_size += 1 + 1;
5142 }
5143 if let Some(v) = self.no_standard_descriptor_accessor {
5144 my_size += 1 + 1;
5145 }
5146 if let Some(v) = self.deprecated {
5147 my_size += 1 + 1;
5148 }
5149 if let Some(v) = self.map_entry {
5150 my_size += 1 + 1;
5151 }
5152 for value in &self.uninterpreted_option {
5153 let len = value.compute_size();
5154 my_size += 2 + crate::rt::compute_raw_varint64_size(len) + len;
5155 };
5156 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
5157 self.special_fields.cached_size().set(my_size as u32);
5158 my_size
5159 }
5160
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>5161 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
5162 if let Some(v) = self.message_set_wire_format {
5163 os.write_bool(1, v)?;
5164 }
5165 if let Some(v) = self.no_standard_descriptor_accessor {
5166 os.write_bool(2, v)?;
5167 }
5168 if let Some(v) = self.deprecated {
5169 os.write_bool(3, v)?;
5170 }
5171 if let Some(v) = self.map_entry {
5172 os.write_bool(7, v)?;
5173 }
5174 for v in &self.uninterpreted_option {
5175 crate::rt::write_message_field_with_cached_size(999, v, os)?;
5176 };
5177 os.write_unknown_fields(self.special_fields.unknown_fields())?;
5178 ::std::result::Result::Ok(())
5179 }
5180
special_fields(&self) -> &crate::SpecialFields5181 fn special_fields(&self) -> &crate::SpecialFields {
5182 &self.special_fields
5183 }
5184
mut_special_fields(&mut self) -> &mut crate::SpecialFields5185 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
5186 &mut self.special_fields
5187 }
5188
new() -> MessageOptions5189 fn new() -> MessageOptions {
5190 MessageOptions::new()
5191 }
5192
clear(&mut self)5193 fn clear(&mut self) {
5194 self.message_set_wire_format = ::std::option::Option::None;
5195 self.no_standard_descriptor_accessor = ::std::option::Option::None;
5196 self.deprecated = ::std::option::Option::None;
5197 self.map_entry = ::std::option::Option::None;
5198 self.uninterpreted_option.clear();
5199 self.special_fields.clear();
5200 }
5201
default_instance() -> &'static MessageOptions5202 fn default_instance() -> &'static MessageOptions {
5203 static instance: MessageOptions = MessageOptions {
5204 message_set_wire_format: ::std::option::Option::None,
5205 no_standard_descriptor_accessor: ::std::option::Option::None,
5206 deprecated: ::std::option::Option::None,
5207 map_entry: ::std::option::Option::None,
5208 uninterpreted_option: ::std::vec::Vec::new(),
5209 special_fields: crate::SpecialFields::new(),
5210 };
5211 &instance
5212 }
5213 }
5214
5215 impl crate::MessageFull for MessageOptions {
descriptor() -> crate::reflect::MessageDescriptor5216 fn descriptor() -> crate::reflect::MessageDescriptor {
5217 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
5218 descriptor.get(|| file_descriptor().message_by_package_relative_name("MessageOptions").unwrap()).clone()
5219 }
5220 }
5221
5222 impl ::std::fmt::Display for MessageOptions {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5223 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5224 crate::text_format::fmt(self, f)
5225 }
5226 }
5227
5228 impl crate::reflect::ProtobufValue for MessageOptions {
5229 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
5230 }
5231
5232 #[derive(PartialEq,Clone,Default,Debug)]
5233 // @@protoc_insertion_point(message:google.protobuf.FieldOptions)
5234 pub struct FieldOptions {
5235 // message fields
5236 /// The ctype option instructs the C++ code generator to use a different
5237 /// representation of the field than it normally would. See the specific
5238 /// options below. This option is not yet implemented in the open source
5239 /// release -- sorry, we'll try to include it in a future version!
5240 // @@protoc_insertion_point(field:google.protobuf.FieldOptions.ctype)
5241 pub ctype: ::std::option::Option<crate::EnumOrUnknown<field_options::CType>>,
5242 /// The packed option can be enabled for repeated primitive fields to enable
5243 /// a more efficient representation on the wire. Rather than repeatedly
5244 /// writing the tag and type for each element, the entire array is encoded as
5245 /// a single length-delimited blob. In proto3, only explicit setting it to
5246 /// false will avoid using packed encoding.
5247 // @@protoc_insertion_point(field:google.protobuf.FieldOptions.packed)
5248 pub packed: ::std::option::Option<bool>,
5249 /// The jstype option determines the JavaScript type used for values of the
5250 /// field. The option is permitted only for 64 bit integral and fixed types
5251 /// (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING
5252 /// is represented as JavaScript string, which avoids loss of precision that
5253 /// can happen when a large value is converted to a floating point JavaScript.
5254 /// Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
5255 /// use the JavaScript "number" type. The behavior of the default option
5256 /// JS_NORMAL is implementation dependent.
5257 ///
5258 /// This option is an enum to permit additional types to be added, e.g.
5259 /// goog.math.Integer.
5260 // @@protoc_insertion_point(field:google.protobuf.FieldOptions.jstype)
5261 pub jstype: ::std::option::Option<crate::EnumOrUnknown<field_options::JSType>>,
5262 /// Should this field be parsed lazily? Lazy applies only to message-type
5263 /// fields. It means that when the outer message is initially parsed, the
5264 /// inner message's contents will not be parsed but instead stored in encoded
5265 /// form. The inner message will actually be parsed when it is first accessed.
5266 ///
5267 /// This is only a hint. Implementations are free to choose whether to use
5268 /// eager or lazy parsing regardless of the value of this option. However,
5269 /// setting this option true suggests that the protocol author believes that
5270 /// using lazy parsing on this field is worth the additional bookkeeping
5271 /// overhead typically needed to implement it.
5272 ///
5273 /// This option does not affect the public interface of any generated code;
5274 /// all method signatures remain the same. Furthermore, thread-safety of the
5275 /// interface is not affected by this option; const methods remain safe to
5276 /// call from multiple threads concurrently, while non-const methods continue
5277 /// to require exclusive access.
5278 ///
5279 ///
5280 /// Note that implementations may choose not to check required fields within
5281 /// a lazy sub-message. That is, calling IsInitialized() on the outer message
5282 /// may return true even if the inner message has missing required fields.
5283 /// This is necessary because otherwise the inner message would have to be
5284 /// parsed in order to perform the check, defeating the purpose of lazy
5285 /// parsing. An implementation which chooses not to check required fields
5286 /// must be consistent about it. That is, for any particular sub-message, the
5287 /// implementation must either *always* check its required fields, or *never*
5288 /// check its required fields, regardless of whether or not the message has
5289 /// been parsed.
5290 // @@protoc_insertion_point(field:google.protobuf.FieldOptions.lazy)
5291 pub lazy: ::std::option::Option<bool>,
5292 /// Is this field deprecated?
5293 /// Depending on the target platform, this can emit Deprecated annotations
5294 /// for accessors, or it will be completely ignored; in the very least, this
5295 /// is a formalization for deprecating fields.
5296 // @@protoc_insertion_point(field:google.protobuf.FieldOptions.deprecated)
5297 pub deprecated: ::std::option::Option<bool>,
5298 /// For Google-internal migration only. Do not use.
5299 // @@protoc_insertion_point(field:google.protobuf.FieldOptions.weak)
5300 pub weak: ::std::option::Option<bool>,
5301 /// The parser stores options it doesn't recognize here. See above.
5302 // @@protoc_insertion_point(field:google.protobuf.FieldOptions.uninterpreted_option)
5303 pub uninterpreted_option: ::std::vec::Vec<UninterpretedOption>,
5304 // special fields
5305 // @@protoc_insertion_point(special_field:google.protobuf.FieldOptions.special_fields)
5306 pub special_fields: crate::SpecialFields,
5307 }
5308
5309 impl<'a> ::std::default::Default for &'a FieldOptions {
default() -> &'a FieldOptions5310 fn default() -> &'a FieldOptions {
5311 <FieldOptions as crate::Message>::default_instance()
5312 }
5313 }
5314
5315 impl FieldOptions {
new() -> FieldOptions5316 pub fn new() -> FieldOptions {
5317 ::std::default::Default::default()
5318 }
5319
5320 // optional .google.protobuf.FieldOptions.CType ctype = 1;
5321
ctype(&self) -> field_options::CType5322 pub fn ctype(&self) -> field_options::CType {
5323 match self.ctype {
5324 Some(e) => e.enum_value_or(field_options::CType::STRING),
5325 None => field_options::CType::STRING,
5326 }
5327 }
5328
clear_ctype(&mut self)5329 pub fn clear_ctype(&mut self) {
5330 self.ctype = ::std::option::Option::None;
5331 }
5332
has_ctype(&self) -> bool5333 pub fn has_ctype(&self) -> bool {
5334 self.ctype.is_some()
5335 }
5336
5337 // Param is passed by value, moved
set_ctype(&mut self, v: field_options::CType)5338 pub fn set_ctype(&mut self, v: field_options::CType) {
5339 self.ctype = ::std::option::Option::Some(crate::EnumOrUnknown::new(v));
5340 }
5341
5342 // optional bool packed = 2;
5343
packed(&self) -> bool5344 pub fn packed(&self) -> bool {
5345 self.packed.unwrap_or(false)
5346 }
5347
clear_packed(&mut self)5348 pub fn clear_packed(&mut self) {
5349 self.packed = ::std::option::Option::None;
5350 }
5351
has_packed(&self) -> bool5352 pub fn has_packed(&self) -> bool {
5353 self.packed.is_some()
5354 }
5355
5356 // Param is passed by value, moved
set_packed(&mut self, v: bool)5357 pub fn set_packed(&mut self, v: bool) {
5358 self.packed = ::std::option::Option::Some(v);
5359 }
5360
5361 // optional .google.protobuf.FieldOptions.JSType jstype = 6;
5362
jstype(&self) -> field_options::JSType5363 pub fn jstype(&self) -> field_options::JSType {
5364 match self.jstype {
5365 Some(e) => e.enum_value_or(field_options::JSType::JS_NORMAL),
5366 None => field_options::JSType::JS_NORMAL,
5367 }
5368 }
5369
clear_jstype(&mut self)5370 pub fn clear_jstype(&mut self) {
5371 self.jstype = ::std::option::Option::None;
5372 }
5373
has_jstype(&self) -> bool5374 pub fn has_jstype(&self) -> bool {
5375 self.jstype.is_some()
5376 }
5377
5378 // Param is passed by value, moved
set_jstype(&mut self, v: field_options::JSType)5379 pub fn set_jstype(&mut self, v: field_options::JSType) {
5380 self.jstype = ::std::option::Option::Some(crate::EnumOrUnknown::new(v));
5381 }
5382
5383 // optional bool lazy = 5;
5384
lazy(&self) -> bool5385 pub fn lazy(&self) -> bool {
5386 self.lazy.unwrap_or(false)
5387 }
5388
clear_lazy(&mut self)5389 pub fn clear_lazy(&mut self) {
5390 self.lazy = ::std::option::Option::None;
5391 }
5392
has_lazy(&self) -> bool5393 pub fn has_lazy(&self) -> bool {
5394 self.lazy.is_some()
5395 }
5396
5397 // Param is passed by value, moved
set_lazy(&mut self, v: bool)5398 pub fn set_lazy(&mut self, v: bool) {
5399 self.lazy = ::std::option::Option::Some(v);
5400 }
5401
5402 // optional bool deprecated = 3;
5403
deprecated(&self) -> bool5404 pub fn deprecated(&self) -> bool {
5405 self.deprecated.unwrap_or(false)
5406 }
5407
clear_deprecated(&mut self)5408 pub fn clear_deprecated(&mut self) {
5409 self.deprecated = ::std::option::Option::None;
5410 }
5411
has_deprecated(&self) -> bool5412 pub fn has_deprecated(&self) -> bool {
5413 self.deprecated.is_some()
5414 }
5415
5416 // Param is passed by value, moved
set_deprecated(&mut self, v: bool)5417 pub fn set_deprecated(&mut self, v: bool) {
5418 self.deprecated = ::std::option::Option::Some(v);
5419 }
5420
5421 // optional bool weak = 10;
5422
weak(&self) -> bool5423 pub fn weak(&self) -> bool {
5424 self.weak.unwrap_or(false)
5425 }
5426
clear_weak(&mut self)5427 pub fn clear_weak(&mut self) {
5428 self.weak = ::std::option::Option::None;
5429 }
5430
has_weak(&self) -> bool5431 pub fn has_weak(&self) -> bool {
5432 self.weak.is_some()
5433 }
5434
5435 // Param is passed by value, moved
set_weak(&mut self, v: bool)5436 pub fn set_weak(&mut self, v: bool) {
5437 self.weak = ::std::option::Option::Some(v);
5438 }
5439
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData5440 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
5441 let mut fields = ::std::vec::Vec::with_capacity(7);
5442 let mut oneofs = ::std::vec::Vec::with_capacity(0);
5443 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
5444 "ctype",
5445 |m: &FieldOptions| { &m.ctype },
5446 |m: &mut FieldOptions| { &mut m.ctype },
5447 ));
5448 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
5449 "packed",
5450 |m: &FieldOptions| { &m.packed },
5451 |m: &mut FieldOptions| { &mut m.packed },
5452 ));
5453 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
5454 "jstype",
5455 |m: &FieldOptions| { &m.jstype },
5456 |m: &mut FieldOptions| { &mut m.jstype },
5457 ));
5458 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
5459 "lazy",
5460 |m: &FieldOptions| { &m.lazy },
5461 |m: &mut FieldOptions| { &mut m.lazy },
5462 ));
5463 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
5464 "deprecated",
5465 |m: &FieldOptions| { &m.deprecated },
5466 |m: &mut FieldOptions| { &mut m.deprecated },
5467 ));
5468 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
5469 "weak",
5470 |m: &FieldOptions| { &m.weak },
5471 |m: &mut FieldOptions| { &mut m.weak },
5472 ));
5473 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
5474 "uninterpreted_option",
5475 |m: &FieldOptions| { &m.uninterpreted_option },
5476 |m: &mut FieldOptions| { &mut m.uninterpreted_option },
5477 ));
5478 crate::reflect::GeneratedMessageDescriptorData::new_2::<FieldOptions>(
5479 "FieldOptions",
5480 fields,
5481 oneofs,
5482 )
5483 }
5484 }
5485
5486 impl crate::Message for FieldOptions {
5487 const NAME: &'static str = "FieldOptions";
5488
is_initialized(&self) -> bool5489 fn is_initialized(&self) -> bool {
5490 for v in &self.uninterpreted_option {
5491 if !v.is_initialized() {
5492 return false;
5493 }
5494 };
5495 true
5496 }
5497
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>5498 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
5499 while let Some(tag) = is.read_raw_tag_or_eof()? {
5500 match tag {
5501 8 => {
5502 self.ctype = ::std::option::Option::Some(is.read_enum_or_unknown()?);
5503 },
5504 16 => {
5505 self.packed = ::std::option::Option::Some(is.read_bool()?);
5506 },
5507 48 => {
5508 self.jstype = ::std::option::Option::Some(is.read_enum_or_unknown()?);
5509 },
5510 40 => {
5511 self.lazy = ::std::option::Option::Some(is.read_bool()?);
5512 },
5513 24 => {
5514 self.deprecated = ::std::option::Option::Some(is.read_bool()?);
5515 },
5516 80 => {
5517 self.weak = ::std::option::Option::Some(is.read_bool()?);
5518 },
5519 7994 => {
5520 self.uninterpreted_option.push(is.read_message()?);
5521 },
5522 tag => {
5523 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
5524 },
5525 };
5526 }
5527 ::std::result::Result::Ok(())
5528 }
5529
5530 // Compute sizes of nested messages
5531 #[allow(unused_variables)]
compute_size(&self) -> u645532 fn compute_size(&self) -> u64 {
5533 let mut my_size = 0;
5534 if let Some(v) = self.ctype {
5535 my_size += crate::rt::int32_size(1, v.value());
5536 }
5537 if let Some(v) = self.packed {
5538 my_size += 1 + 1;
5539 }
5540 if let Some(v) = self.jstype {
5541 my_size += crate::rt::int32_size(6, v.value());
5542 }
5543 if let Some(v) = self.lazy {
5544 my_size += 1 + 1;
5545 }
5546 if let Some(v) = self.deprecated {
5547 my_size += 1 + 1;
5548 }
5549 if let Some(v) = self.weak {
5550 my_size += 1 + 1;
5551 }
5552 for value in &self.uninterpreted_option {
5553 let len = value.compute_size();
5554 my_size += 2 + crate::rt::compute_raw_varint64_size(len) + len;
5555 };
5556 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
5557 self.special_fields.cached_size().set(my_size as u32);
5558 my_size
5559 }
5560
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>5561 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
5562 if let Some(v) = self.ctype {
5563 os.write_enum(1, crate::EnumOrUnknown::value(&v))?;
5564 }
5565 if let Some(v) = self.packed {
5566 os.write_bool(2, v)?;
5567 }
5568 if let Some(v) = self.jstype {
5569 os.write_enum(6, crate::EnumOrUnknown::value(&v))?;
5570 }
5571 if let Some(v) = self.lazy {
5572 os.write_bool(5, v)?;
5573 }
5574 if let Some(v) = self.deprecated {
5575 os.write_bool(3, v)?;
5576 }
5577 if let Some(v) = self.weak {
5578 os.write_bool(10, v)?;
5579 }
5580 for v in &self.uninterpreted_option {
5581 crate::rt::write_message_field_with_cached_size(999, v, os)?;
5582 };
5583 os.write_unknown_fields(self.special_fields.unknown_fields())?;
5584 ::std::result::Result::Ok(())
5585 }
5586
special_fields(&self) -> &crate::SpecialFields5587 fn special_fields(&self) -> &crate::SpecialFields {
5588 &self.special_fields
5589 }
5590
mut_special_fields(&mut self) -> &mut crate::SpecialFields5591 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
5592 &mut self.special_fields
5593 }
5594
new() -> FieldOptions5595 fn new() -> FieldOptions {
5596 FieldOptions::new()
5597 }
5598
clear(&mut self)5599 fn clear(&mut self) {
5600 self.ctype = ::std::option::Option::None;
5601 self.packed = ::std::option::Option::None;
5602 self.jstype = ::std::option::Option::None;
5603 self.lazy = ::std::option::Option::None;
5604 self.deprecated = ::std::option::Option::None;
5605 self.weak = ::std::option::Option::None;
5606 self.uninterpreted_option.clear();
5607 self.special_fields.clear();
5608 }
5609
default_instance() -> &'static FieldOptions5610 fn default_instance() -> &'static FieldOptions {
5611 static instance: FieldOptions = FieldOptions {
5612 ctype: ::std::option::Option::None,
5613 packed: ::std::option::Option::None,
5614 jstype: ::std::option::Option::None,
5615 lazy: ::std::option::Option::None,
5616 deprecated: ::std::option::Option::None,
5617 weak: ::std::option::Option::None,
5618 uninterpreted_option: ::std::vec::Vec::new(),
5619 special_fields: crate::SpecialFields::new(),
5620 };
5621 &instance
5622 }
5623 }
5624
5625 impl crate::MessageFull for FieldOptions {
descriptor() -> crate::reflect::MessageDescriptor5626 fn descriptor() -> crate::reflect::MessageDescriptor {
5627 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
5628 descriptor.get(|| file_descriptor().message_by_package_relative_name("FieldOptions").unwrap()).clone()
5629 }
5630 }
5631
5632 impl ::std::fmt::Display for FieldOptions {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5633 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5634 crate::text_format::fmt(self, f)
5635 }
5636 }
5637
5638 impl crate::reflect::ProtobufValue for FieldOptions {
5639 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
5640 }
5641
5642 /// Nested message and enums of message `FieldOptions`
5643 pub mod field_options {
5644 #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
5645 // @@protoc_insertion_point(enum:google.protobuf.FieldOptions.CType)
5646 pub enum CType {
5647 // @@protoc_insertion_point(enum_value:google.protobuf.FieldOptions.CType.STRING)
5648 STRING = 0,
5649 // @@protoc_insertion_point(enum_value:google.protobuf.FieldOptions.CType.CORD)
5650 CORD = 1,
5651 // @@protoc_insertion_point(enum_value:google.protobuf.FieldOptions.CType.STRING_PIECE)
5652 STRING_PIECE = 2,
5653 }
5654
5655 impl crate::Enum for CType {
5656 const NAME: &'static str = "CType";
5657
value(&self) -> i325658 fn value(&self) -> i32 {
5659 *self as i32
5660 }
5661
from_i32(value: i32) -> ::std::option::Option<CType>5662 fn from_i32(value: i32) -> ::std::option::Option<CType> {
5663 match value {
5664 0 => ::std::option::Option::Some(CType::STRING),
5665 1 => ::std::option::Option::Some(CType::CORD),
5666 2 => ::std::option::Option::Some(CType::STRING_PIECE),
5667 _ => ::std::option::Option::None
5668 }
5669 }
5670
5671 const VALUES: &'static [CType] = &[
5672 CType::STRING,
5673 CType::CORD,
5674 CType::STRING_PIECE,
5675 ];
5676 }
5677
5678 impl crate::EnumFull for CType {
enum_descriptor() -> crate::reflect::EnumDescriptor5679 fn enum_descriptor() -> crate::reflect::EnumDescriptor {
5680 static descriptor: crate::rt::Lazy<crate::reflect::EnumDescriptor> = crate::rt::Lazy::new();
5681 descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("FieldOptions.CType").unwrap()).clone()
5682 }
5683
descriptor(&self) -> crate::reflect::EnumValueDescriptor5684 fn descriptor(&self) -> crate::reflect::EnumValueDescriptor {
5685 let index = *self as usize;
5686 Self::enum_descriptor().value_by_index(index)
5687 }
5688 }
5689
5690 impl ::std::default::Default for CType {
default() -> Self5691 fn default() -> Self {
5692 CType::STRING
5693 }
5694 }
5695
5696 impl CType {
generated_enum_descriptor_data() -> crate::reflect::GeneratedEnumDescriptorData5697 pub(in super) fn generated_enum_descriptor_data() -> crate::reflect::GeneratedEnumDescriptorData {
5698 crate::reflect::GeneratedEnumDescriptorData::new::<CType>("FieldOptions.CType")
5699 }
5700 }
5701
5702 #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
5703 // @@protoc_insertion_point(enum:google.protobuf.FieldOptions.JSType)
5704 pub enum JSType {
5705 // @@protoc_insertion_point(enum_value:google.protobuf.FieldOptions.JSType.JS_NORMAL)
5706 JS_NORMAL = 0,
5707 // @@protoc_insertion_point(enum_value:google.protobuf.FieldOptions.JSType.JS_STRING)
5708 JS_STRING = 1,
5709 // @@protoc_insertion_point(enum_value:google.protobuf.FieldOptions.JSType.JS_NUMBER)
5710 JS_NUMBER = 2,
5711 }
5712
5713 impl crate::Enum for JSType {
5714 const NAME: &'static str = "JSType";
5715
value(&self) -> i325716 fn value(&self) -> i32 {
5717 *self as i32
5718 }
5719
from_i32(value: i32) -> ::std::option::Option<JSType>5720 fn from_i32(value: i32) -> ::std::option::Option<JSType> {
5721 match value {
5722 0 => ::std::option::Option::Some(JSType::JS_NORMAL),
5723 1 => ::std::option::Option::Some(JSType::JS_STRING),
5724 2 => ::std::option::Option::Some(JSType::JS_NUMBER),
5725 _ => ::std::option::Option::None
5726 }
5727 }
5728
5729 const VALUES: &'static [JSType] = &[
5730 JSType::JS_NORMAL,
5731 JSType::JS_STRING,
5732 JSType::JS_NUMBER,
5733 ];
5734 }
5735
5736 impl crate::EnumFull for JSType {
enum_descriptor() -> crate::reflect::EnumDescriptor5737 fn enum_descriptor() -> crate::reflect::EnumDescriptor {
5738 static descriptor: crate::rt::Lazy<crate::reflect::EnumDescriptor> = crate::rt::Lazy::new();
5739 descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("FieldOptions.JSType").unwrap()).clone()
5740 }
5741
descriptor(&self) -> crate::reflect::EnumValueDescriptor5742 fn descriptor(&self) -> crate::reflect::EnumValueDescriptor {
5743 let index = *self as usize;
5744 Self::enum_descriptor().value_by_index(index)
5745 }
5746 }
5747
5748 impl ::std::default::Default for JSType {
default() -> Self5749 fn default() -> Self {
5750 JSType::JS_NORMAL
5751 }
5752 }
5753
5754 impl JSType {
generated_enum_descriptor_data() -> crate::reflect::GeneratedEnumDescriptorData5755 pub(in super) fn generated_enum_descriptor_data() -> crate::reflect::GeneratedEnumDescriptorData {
5756 crate::reflect::GeneratedEnumDescriptorData::new::<JSType>("FieldOptions.JSType")
5757 }
5758 }
5759 }
5760
5761 #[derive(PartialEq,Clone,Default,Debug)]
5762 // @@protoc_insertion_point(message:google.protobuf.OneofOptions)
5763 pub struct OneofOptions {
5764 // message fields
5765 /// The parser stores options it doesn't recognize here. See above.
5766 // @@protoc_insertion_point(field:google.protobuf.OneofOptions.uninterpreted_option)
5767 pub uninterpreted_option: ::std::vec::Vec<UninterpretedOption>,
5768 // special fields
5769 // @@protoc_insertion_point(special_field:google.protobuf.OneofOptions.special_fields)
5770 pub special_fields: crate::SpecialFields,
5771 }
5772
5773 impl<'a> ::std::default::Default for &'a OneofOptions {
default() -> &'a OneofOptions5774 fn default() -> &'a OneofOptions {
5775 <OneofOptions as crate::Message>::default_instance()
5776 }
5777 }
5778
5779 impl OneofOptions {
new() -> OneofOptions5780 pub fn new() -> OneofOptions {
5781 ::std::default::Default::default()
5782 }
5783
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData5784 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
5785 let mut fields = ::std::vec::Vec::with_capacity(1);
5786 let mut oneofs = ::std::vec::Vec::with_capacity(0);
5787 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
5788 "uninterpreted_option",
5789 |m: &OneofOptions| { &m.uninterpreted_option },
5790 |m: &mut OneofOptions| { &mut m.uninterpreted_option },
5791 ));
5792 crate::reflect::GeneratedMessageDescriptorData::new_2::<OneofOptions>(
5793 "OneofOptions",
5794 fields,
5795 oneofs,
5796 )
5797 }
5798 }
5799
5800 impl crate::Message for OneofOptions {
5801 const NAME: &'static str = "OneofOptions";
5802
is_initialized(&self) -> bool5803 fn is_initialized(&self) -> bool {
5804 for v in &self.uninterpreted_option {
5805 if !v.is_initialized() {
5806 return false;
5807 }
5808 };
5809 true
5810 }
5811
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>5812 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
5813 while let Some(tag) = is.read_raw_tag_or_eof()? {
5814 match tag {
5815 7994 => {
5816 self.uninterpreted_option.push(is.read_message()?);
5817 },
5818 tag => {
5819 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
5820 },
5821 };
5822 }
5823 ::std::result::Result::Ok(())
5824 }
5825
5826 // Compute sizes of nested messages
5827 #[allow(unused_variables)]
compute_size(&self) -> u645828 fn compute_size(&self) -> u64 {
5829 let mut my_size = 0;
5830 for value in &self.uninterpreted_option {
5831 let len = value.compute_size();
5832 my_size += 2 + crate::rt::compute_raw_varint64_size(len) + len;
5833 };
5834 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
5835 self.special_fields.cached_size().set(my_size as u32);
5836 my_size
5837 }
5838
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>5839 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
5840 for v in &self.uninterpreted_option {
5841 crate::rt::write_message_field_with_cached_size(999, v, os)?;
5842 };
5843 os.write_unknown_fields(self.special_fields.unknown_fields())?;
5844 ::std::result::Result::Ok(())
5845 }
5846
special_fields(&self) -> &crate::SpecialFields5847 fn special_fields(&self) -> &crate::SpecialFields {
5848 &self.special_fields
5849 }
5850
mut_special_fields(&mut self) -> &mut crate::SpecialFields5851 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
5852 &mut self.special_fields
5853 }
5854
new() -> OneofOptions5855 fn new() -> OneofOptions {
5856 OneofOptions::new()
5857 }
5858
clear(&mut self)5859 fn clear(&mut self) {
5860 self.uninterpreted_option.clear();
5861 self.special_fields.clear();
5862 }
5863
default_instance() -> &'static OneofOptions5864 fn default_instance() -> &'static OneofOptions {
5865 static instance: OneofOptions = OneofOptions {
5866 uninterpreted_option: ::std::vec::Vec::new(),
5867 special_fields: crate::SpecialFields::new(),
5868 };
5869 &instance
5870 }
5871 }
5872
5873 impl crate::MessageFull for OneofOptions {
descriptor() -> crate::reflect::MessageDescriptor5874 fn descriptor() -> crate::reflect::MessageDescriptor {
5875 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
5876 descriptor.get(|| file_descriptor().message_by_package_relative_name("OneofOptions").unwrap()).clone()
5877 }
5878 }
5879
5880 impl ::std::fmt::Display for OneofOptions {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5881 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5882 crate::text_format::fmt(self, f)
5883 }
5884 }
5885
5886 impl crate::reflect::ProtobufValue for OneofOptions {
5887 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
5888 }
5889
5890 #[derive(PartialEq,Clone,Default,Debug)]
5891 // @@protoc_insertion_point(message:google.protobuf.EnumOptions)
5892 pub struct EnumOptions {
5893 // message fields
5894 /// Set this option to true to allow mapping different tag names to the same
5895 /// value.
5896 // @@protoc_insertion_point(field:google.protobuf.EnumOptions.allow_alias)
5897 pub allow_alias: ::std::option::Option<bool>,
5898 /// Is this enum deprecated?
5899 /// Depending on the target platform, this can emit Deprecated annotations
5900 /// for the enum, or it will be completely ignored; in the very least, this
5901 /// is a formalization for deprecating enums.
5902 // @@protoc_insertion_point(field:google.protobuf.EnumOptions.deprecated)
5903 pub deprecated: ::std::option::Option<bool>,
5904 /// The parser stores options it doesn't recognize here. See above.
5905 // @@protoc_insertion_point(field:google.protobuf.EnumOptions.uninterpreted_option)
5906 pub uninterpreted_option: ::std::vec::Vec<UninterpretedOption>,
5907 // special fields
5908 // @@protoc_insertion_point(special_field:google.protobuf.EnumOptions.special_fields)
5909 pub special_fields: crate::SpecialFields,
5910 }
5911
5912 impl<'a> ::std::default::Default for &'a EnumOptions {
default() -> &'a EnumOptions5913 fn default() -> &'a EnumOptions {
5914 <EnumOptions as crate::Message>::default_instance()
5915 }
5916 }
5917
5918 impl EnumOptions {
new() -> EnumOptions5919 pub fn new() -> EnumOptions {
5920 ::std::default::Default::default()
5921 }
5922
5923 // optional bool allow_alias = 2;
5924
allow_alias(&self) -> bool5925 pub fn allow_alias(&self) -> bool {
5926 self.allow_alias.unwrap_or(false)
5927 }
5928
clear_allow_alias(&mut self)5929 pub fn clear_allow_alias(&mut self) {
5930 self.allow_alias = ::std::option::Option::None;
5931 }
5932
has_allow_alias(&self) -> bool5933 pub fn has_allow_alias(&self) -> bool {
5934 self.allow_alias.is_some()
5935 }
5936
5937 // Param is passed by value, moved
set_allow_alias(&mut self, v: bool)5938 pub fn set_allow_alias(&mut self, v: bool) {
5939 self.allow_alias = ::std::option::Option::Some(v);
5940 }
5941
5942 // optional bool deprecated = 3;
5943
deprecated(&self) -> bool5944 pub fn deprecated(&self) -> bool {
5945 self.deprecated.unwrap_or(false)
5946 }
5947
clear_deprecated(&mut self)5948 pub fn clear_deprecated(&mut self) {
5949 self.deprecated = ::std::option::Option::None;
5950 }
5951
has_deprecated(&self) -> bool5952 pub fn has_deprecated(&self) -> bool {
5953 self.deprecated.is_some()
5954 }
5955
5956 // Param is passed by value, moved
set_deprecated(&mut self, v: bool)5957 pub fn set_deprecated(&mut self, v: bool) {
5958 self.deprecated = ::std::option::Option::Some(v);
5959 }
5960
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData5961 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
5962 let mut fields = ::std::vec::Vec::with_capacity(3);
5963 let mut oneofs = ::std::vec::Vec::with_capacity(0);
5964 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
5965 "allow_alias",
5966 |m: &EnumOptions| { &m.allow_alias },
5967 |m: &mut EnumOptions| { &mut m.allow_alias },
5968 ));
5969 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
5970 "deprecated",
5971 |m: &EnumOptions| { &m.deprecated },
5972 |m: &mut EnumOptions| { &mut m.deprecated },
5973 ));
5974 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
5975 "uninterpreted_option",
5976 |m: &EnumOptions| { &m.uninterpreted_option },
5977 |m: &mut EnumOptions| { &mut m.uninterpreted_option },
5978 ));
5979 crate::reflect::GeneratedMessageDescriptorData::new_2::<EnumOptions>(
5980 "EnumOptions",
5981 fields,
5982 oneofs,
5983 )
5984 }
5985 }
5986
5987 impl crate::Message for EnumOptions {
5988 const NAME: &'static str = "EnumOptions";
5989
is_initialized(&self) -> bool5990 fn is_initialized(&self) -> bool {
5991 for v in &self.uninterpreted_option {
5992 if !v.is_initialized() {
5993 return false;
5994 }
5995 };
5996 true
5997 }
5998
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>5999 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
6000 while let Some(tag) = is.read_raw_tag_or_eof()? {
6001 match tag {
6002 16 => {
6003 self.allow_alias = ::std::option::Option::Some(is.read_bool()?);
6004 },
6005 24 => {
6006 self.deprecated = ::std::option::Option::Some(is.read_bool()?);
6007 },
6008 7994 => {
6009 self.uninterpreted_option.push(is.read_message()?);
6010 },
6011 tag => {
6012 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
6013 },
6014 };
6015 }
6016 ::std::result::Result::Ok(())
6017 }
6018
6019 // Compute sizes of nested messages
6020 #[allow(unused_variables)]
compute_size(&self) -> u646021 fn compute_size(&self) -> u64 {
6022 let mut my_size = 0;
6023 if let Some(v) = self.allow_alias {
6024 my_size += 1 + 1;
6025 }
6026 if let Some(v) = self.deprecated {
6027 my_size += 1 + 1;
6028 }
6029 for value in &self.uninterpreted_option {
6030 let len = value.compute_size();
6031 my_size += 2 + crate::rt::compute_raw_varint64_size(len) + len;
6032 };
6033 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
6034 self.special_fields.cached_size().set(my_size as u32);
6035 my_size
6036 }
6037
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>6038 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
6039 if let Some(v) = self.allow_alias {
6040 os.write_bool(2, v)?;
6041 }
6042 if let Some(v) = self.deprecated {
6043 os.write_bool(3, v)?;
6044 }
6045 for v in &self.uninterpreted_option {
6046 crate::rt::write_message_field_with_cached_size(999, v, os)?;
6047 };
6048 os.write_unknown_fields(self.special_fields.unknown_fields())?;
6049 ::std::result::Result::Ok(())
6050 }
6051
special_fields(&self) -> &crate::SpecialFields6052 fn special_fields(&self) -> &crate::SpecialFields {
6053 &self.special_fields
6054 }
6055
mut_special_fields(&mut self) -> &mut crate::SpecialFields6056 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
6057 &mut self.special_fields
6058 }
6059
new() -> EnumOptions6060 fn new() -> EnumOptions {
6061 EnumOptions::new()
6062 }
6063
clear(&mut self)6064 fn clear(&mut self) {
6065 self.allow_alias = ::std::option::Option::None;
6066 self.deprecated = ::std::option::Option::None;
6067 self.uninterpreted_option.clear();
6068 self.special_fields.clear();
6069 }
6070
default_instance() -> &'static EnumOptions6071 fn default_instance() -> &'static EnumOptions {
6072 static instance: EnumOptions = EnumOptions {
6073 allow_alias: ::std::option::Option::None,
6074 deprecated: ::std::option::Option::None,
6075 uninterpreted_option: ::std::vec::Vec::new(),
6076 special_fields: crate::SpecialFields::new(),
6077 };
6078 &instance
6079 }
6080 }
6081
6082 impl crate::MessageFull for EnumOptions {
descriptor() -> crate::reflect::MessageDescriptor6083 fn descriptor() -> crate::reflect::MessageDescriptor {
6084 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
6085 descriptor.get(|| file_descriptor().message_by_package_relative_name("EnumOptions").unwrap()).clone()
6086 }
6087 }
6088
6089 impl ::std::fmt::Display for EnumOptions {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6090 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6091 crate::text_format::fmt(self, f)
6092 }
6093 }
6094
6095 impl crate::reflect::ProtobufValue for EnumOptions {
6096 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
6097 }
6098
6099 #[derive(PartialEq,Clone,Default,Debug)]
6100 // @@protoc_insertion_point(message:google.protobuf.EnumValueOptions)
6101 pub struct EnumValueOptions {
6102 // message fields
6103 /// Is this enum value deprecated?
6104 /// Depending on the target platform, this can emit Deprecated annotations
6105 /// for the enum value, or it will be completely ignored; in the very least,
6106 /// this is a formalization for deprecating enum values.
6107 // @@protoc_insertion_point(field:google.protobuf.EnumValueOptions.deprecated)
6108 pub deprecated: ::std::option::Option<bool>,
6109 /// The parser stores options it doesn't recognize here. See above.
6110 // @@protoc_insertion_point(field:google.protobuf.EnumValueOptions.uninterpreted_option)
6111 pub uninterpreted_option: ::std::vec::Vec<UninterpretedOption>,
6112 // special fields
6113 // @@protoc_insertion_point(special_field:google.protobuf.EnumValueOptions.special_fields)
6114 pub special_fields: crate::SpecialFields,
6115 }
6116
6117 impl<'a> ::std::default::Default for &'a EnumValueOptions {
default() -> &'a EnumValueOptions6118 fn default() -> &'a EnumValueOptions {
6119 <EnumValueOptions as crate::Message>::default_instance()
6120 }
6121 }
6122
6123 impl EnumValueOptions {
new() -> EnumValueOptions6124 pub fn new() -> EnumValueOptions {
6125 ::std::default::Default::default()
6126 }
6127
6128 // optional bool deprecated = 1;
6129
deprecated(&self) -> bool6130 pub fn deprecated(&self) -> bool {
6131 self.deprecated.unwrap_or(false)
6132 }
6133
clear_deprecated(&mut self)6134 pub fn clear_deprecated(&mut self) {
6135 self.deprecated = ::std::option::Option::None;
6136 }
6137
has_deprecated(&self) -> bool6138 pub fn has_deprecated(&self) -> bool {
6139 self.deprecated.is_some()
6140 }
6141
6142 // Param is passed by value, moved
set_deprecated(&mut self, v: bool)6143 pub fn set_deprecated(&mut self, v: bool) {
6144 self.deprecated = ::std::option::Option::Some(v);
6145 }
6146
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData6147 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
6148 let mut fields = ::std::vec::Vec::with_capacity(2);
6149 let mut oneofs = ::std::vec::Vec::with_capacity(0);
6150 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
6151 "deprecated",
6152 |m: &EnumValueOptions| { &m.deprecated },
6153 |m: &mut EnumValueOptions| { &mut m.deprecated },
6154 ));
6155 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
6156 "uninterpreted_option",
6157 |m: &EnumValueOptions| { &m.uninterpreted_option },
6158 |m: &mut EnumValueOptions| { &mut m.uninterpreted_option },
6159 ));
6160 crate::reflect::GeneratedMessageDescriptorData::new_2::<EnumValueOptions>(
6161 "EnumValueOptions",
6162 fields,
6163 oneofs,
6164 )
6165 }
6166 }
6167
6168 impl crate::Message for EnumValueOptions {
6169 const NAME: &'static str = "EnumValueOptions";
6170
is_initialized(&self) -> bool6171 fn is_initialized(&self) -> bool {
6172 for v in &self.uninterpreted_option {
6173 if !v.is_initialized() {
6174 return false;
6175 }
6176 };
6177 true
6178 }
6179
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>6180 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
6181 while let Some(tag) = is.read_raw_tag_or_eof()? {
6182 match tag {
6183 8 => {
6184 self.deprecated = ::std::option::Option::Some(is.read_bool()?);
6185 },
6186 7994 => {
6187 self.uninterpreted_option.push(is.read_message()?);
6188 },
6189 tag => {
6190 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
6191 },
6192 };
6193 }
6194 ::std::result::Result::Ok(())
6195 }
6196
6197 // Compute sizes of nested messages
6198 #[allow(unused_variables)]
compute_size(&self) -> u646199 fn compute_size(&self) -> u64 {
6200 let mut my_size = 0;
6201 if let Some(v) = self.deprecated {
6202 my_size += 1 + 1;
6203 }
6204 for value in &self.uninterpreted_option {
6205 let len = value.compute_size();
6206 my_size += 2 + crate::rt::compute_raw_varint64_size(len) + len;
6207 };
6208 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
6209 self.special_fields.cached_size().set(my_size as u32);
6210 my_size
6211 }
6212
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>6213 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
6214 if let Some(v) = self.deprecated {
6215 os.write_bool(1, v)?;
6216 }
6217 for v in &self.uninterpreted_option {
6218 crate::rt::write_message_field_with_cached_size(999, v, os)?;
6219 };
6220 os.write_unknown_fields(self.special_fields.unknown_fields())?;
6221 ::std::result::Result::Ok(())
6222 }
6223
special_fields(&self) -> &crate::SpecialFields6224 fn special_fields(&self) -> &crate::SpecialFields {
6225 &self.special_fields
6226 }
6227
mut_special_fields(&mut self) -> &mut crate::SpecialFields6228 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
6229 &mut self.special_fields
6230 }
6231
new() -> EnumValueOptions6232 fn new() -> EnumValueOptions {
6233 EnumValueOptions::new()
6234 }
6235
clear(&mut self)6236 fn clear(&mut self) {
6237 self.deprecated = ::std::option::Option::None;
6238 self.uninterpreted_option.clear();
6239 self.special_fields.clear();
6240 }
6241
default_instance() -> &'static EnumValueOptions6242 fn default_instance() -> &'static EnumValueOptions {
6243 static instance: EnumValueOptions = EnumValueOptions {
6244 deprecated: ::std::option::Option::None,
6245 uninterpreted_option: ::std::vec::Vec::new(),
6246 special_fields: crate::SpecialFields::new(),
6247 };
6248 &instance
6249 }
6250 }
6251
6252 impl crate::MessageFull for EnumValueOptions {
descriptor() -> crate::reflect::MessageDescriptor6253 fn descriptor() -> crate::reflect::MessageDescriptor {
6254 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
6255 descriptor.get(|| file_descriptor().message_by_package_relative_name("EnumValueOptions").unwrap()).clone()
6256 }
6257 }
6258
6259 impl ::std::fmt::Display for EnumValueOptions {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6260 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6261 crate::text_format::fmt(self, f)
6262 }
6263 }
6264
6265 impl crate::reflect::ProtobufValue for EnumValueOptions {
6266 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
6267 }
6268
6269 #[derive(PartialEq,Clone,Default,Debug)]
6270 // @@protoc_insertion_point(message:google.protobuf.ServiceOptions)
6271 pub struct ServiceOptions {
6272 // message fields
6273 /// Is this service deprecated?
6274 /// Depending on the target platform, this can emit Deprecated annotations
6275 /// for the service, or it will be completely ignored; in the very least,
6276 /// this is a formalization for deprecating services.
6277 // @@protoc_insertion_point(field:google.protobuf.ServiceOptions.deprecated)
6278 pub deprecated: ::std::option::Option<bool>,
6279 /// The parser stores options it doesn't recognize here. See above.
6280 // @@protoc_insertion_point(field:google.protobuf.ServiceOptions.uninterpreted_option)
6281 pub uninterpreted_option: ::std::vec::Vec<UninterpretedOption>,
6282 // special fields
6283 // @@protoc_insertion_point(special_field:google.protobuf.ServiceOptions.special_fields)
6284 pub special_fields: crate::SpecialFields,
6285 }
6286
6287 impl<'a> ::std::default::Default for &'a ServiceOptions {
default() -> &'a ServiceOptions6288 fn default() -> &'a ServiceOptions {
6289 <ServiceOptions as crate::Message>::default_instance()
6290 }
6291 }
6292
6293 impl ServiceOptions {
new() -> ServiceOptions6294 pub fn new() -> ServiceOptions {
6295 ::std::default::Default::default()
6296 }
6297
6298 // optional bool deprecated = 33;
6299
deprecated(&self) -> bool6300 pub fn deprecated(&self) -> bool {
6301 self.deprecated.unwrap_or(false)
6302 }
6303
clear_deprecated(&mut self)6304 pub fn clear_deprecated(&mut self) {
6305 self.deprecated = ::std::option::Option::None;
6306 }
6307
has_deprecated(&self) -> bool6308 pub fn has_deprecated(&self) -> bool {
6309 self.deprecated.is_some()
6310 }
6311
6312 // Param is passed by value, moved
set_deprecated(&mut self, v: bool)6313 pub fn set_deprecated(&mut self, v: bool) {
6314 self.deprecated = ::std::option::Option::Some(v);
6315 }
6316
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData6317 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
6318 let mut fields = ::std::vec::Vec::with_capacity(2);
6319 let mut oneofs = ::std::vec::Vec::with_capacity(0);
6320 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
6321 "deprecated",
6322 |m: &ServiceOptions| { &m.deprecated },
6323 |m: &mut ServiceOptions| { &mut m.deprecated },
6324 ));
6325 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
6326 "uninterpreted_option",
6327 |m: &ServiceOptions| { &m.uninterpreted_option },
6328 |m: &mut ServiceOptions| { &mut m.uninterpreted_option },
6329 ));
6330 crate::reflect::GeneratedMessageDescriptorData::new_2::<ServiceOptions>(
6331 "ServiceOptions",
6332 fields,
6333 oneofs,
6334 )
6335 }
6336 }
6337
6338 impl crate::Message for ServiceOptions {
6339 const NAME: &'static str = "ServiceOptions";
6340
is_initialized(&self) -> bool6341 fn is_initialized(&self) -> bool {
6342 for v in &self.uninterpreted_option {
6343 if !v.is_initialized() {
6344 return false;
6345 }
6346 };
6347 true
6348 }
6349
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>6350 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
6351 while let Some(tag) = is.read_raw_tag_or_eof()? {
6352 match tag {
6353 264 => {
6354 self.deprecated = ::std::option::Option::Some(is.read_bool()?);
6355 },
6356 7994 => {
6357 self.uninterpreted_option.push(is.read_message()?);
6358 },
6359 tag => {
6360 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
6361 },
6362 };
6363 }
6364 ::std::result::Result::Ok(())
6365 }
6366
6367 // Compute sizes of nested messages
6368 #[allow(unused_variables)]
compute_size(&self) -> u646369 fn compute_size(&self) -> u64 {
6370 let mut my_size = 0;
6371 if let Some(v) = self.deprecated {
6372 my_size += 2 + 1;
6373 }
6374 for value in &self.uninterpreted_option {
6375 let len = value.compute_size();
6376 my_size += 2 + crate::rt::compute_raw_varint64_size(len) + len;
6377 };
6378 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
6379 self.special_fields.cached_size().set(my_size as u32);
6380 my_size
6381 }
6382
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>6383 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
6384 if let Some(v) = self.deprecated {
6385 os.write_bool(33, v)?;
6386 }
6387 for v in &self.uninterpreted_option {
6388 crate::rt::write_message_field_with_cached_size(999, v, os)?;
6389 };
6390 os.write_unknown_fields(self.special_fields.unknown_fields())?;
6391 ::std::result::Result::Ok(())
6392 }
6393
special_fields(&self) -> &crate::SpecialFields6394 fn special_fields(&self) -> &crate::SpecialFields {
6395 &self.special_fields
6396 }
6397
mut_special_fields(&mut self) -> &mut crate::SpecialFields6398 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
6399 &mut self.special_fields
6400 }
6401
new() -> ServiceOptions6402 fn new() -> ServiceOptions {
6403 ServiceOptions::new()
6404 }
6405
clear(&mut self)6406 fn clear(&mut self) {
6407 self.deprecated = ::std::option::Option::None;
6408 self.uninterpreted_option.clear();
6409 self.special_fields.clear();
6410 }
6411
default_instance() -> &'static ServiceOptions6412 fn default_instance() -> &'static ServiceOptions {
6413 static instance: ServiceOptions = ServiceOptions {
6414 deprecated: ::std::option::Option::None,
6415 uninterpreted_option: ::std::vec::Vec::new(),
6416 special_fields: crate::SpecialFields::new(),
6417 };
6418 &instance
6419 }
6420 }
6421
6422 impl crate::MessageFull for ServiceOptions {
descriptor() -> crate::reflect::MessageDescriptor6423 fn descriptor() -> crate::reflect::MessageDescriptor {
6424 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
6425 descriptor.get(|| file_descriptor().message_by_package_relative_name("ServiceOptions").unwrap()).clone()
6426 }
6427 }
6428
6429 impl ::std::fmt::Display for ServiceOptions {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6430 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6431 crate::text_format::fmt(self, f)
6432 }
6433 }
6434
6435 impl crate::reflect::ProtobufValue for ServiceOptions {
6436 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
6437 }
6438
6439 #[derive(PartialEq,Clone,Default,Debug)]
6440 // @@protoc_insertion_point(message:google.protobuf.MethodOptions)
6441 pub struct MethodOptions {
6442 // message fields
6443 /// Is this method deprecated?
6444 /// Depending on the target platform, this can emit Deprecated annotations
6445 /// for the method, or it will be completely ignored; in the very least,
6446 /// this is a formalization for deprecating methods.
6447 // @@protoc_insertion_point(field:google.protobuf.MethodOptions.deprecated)
6448 pub deprecated: ::std::option::Option<bool>,
6449 // @@protoc_insertion_point(field:google.protobuf.MethodOptions.idempotency_level)
6450 pub idempotency_level: ::std::option::Option<crate::EnumOrUnknown<method_options::IdempotencyLevel>>,
6451 /// The parser stores options it doesn't recognize here. See above.
6452 // @@protoc_insertion_point(field:google.protobuf.MethodOptions.uninterpreted_option)
6453 pub uninterpreted_option: ::std::vec::Vec<UninterpretedOption>,
6454 // special fields
6455 // @@protoc_insertion_point(special_field:google.protobuf.MethodOptions.special_fields)
6456 pub special_fields: crate::SpecialFields,
6457 }
6458
6459 impl<'a> ::std::default::Default for &'a MethodOptions {
default() -> &'a MethodOptions6460 fn default() -> &'a MethodOptions {
6461 <MethodOptions as crate::Message>::default_instance()
6462 }
6463 }
6464
6465 impl MethodOptions {
new() -> MethodOptions6466 pub fn new() -> MethodOptions {
6467 ::std::default::Default::default()
6468 }
6469
6470 // optional bool deprecated = 33;
6471
deprecated(&self) -> bool6472 pub fn deprecated(&self) -> bool {
6473 self.deprecated.unwrap_or(false)
6474 }
6475
clear_deprecated(&mut self)6476 pub fn clear_deprecated(&mut self) {
6477 self.deprecated = ::std::option::Option::None;
6478 }
6479
has_deprecated(&self) -> bool6480 pub fn has_deprecated(&self) -> bool {
6481 self.deprecated.is_some()
6482 }
6483
6484 // Param is passed by value, moved
set_deprecated(&mut self, v: bool)6485 pub fn set_deprecated(&mut self, v: bool) {
6486 self.deprecated = ::std::option::Option::Some(v);
6487 }
6488
6489 // optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34;
6490
idempotency_level(&self) -> method_options::IdempotencyLevel6491 pub fn idempotency_level(&self) -> method_options::IdempotencyLevel {
6492 match self.idempotency_level {
6493 Some(e) => e.enum_value_or(method_options::IdempotencyLevel::IDEMPOTENCY_UNKNOWN),
6494 None => method_options::IdempotencyLevel::IDEMPOTENCY_UNKNOWN,
6495 }
6496 }
6497
clear_idempotency_level(&mut self)6498 pub fn clear_idempotency_level(&mut self) {
6499 self.idempotency_level = ::std::option::Option::None;
6500 }
6501
has_idempotency_level(&self) -> bool6502 pub fn has_idempotency_level(&self) -> bool {
6503 self.idempotency_level.is_some()
6504 }
6505
6506 // Param is passed by value, moved
set_idempotency_level(&mut self, v: method_options::IdempotencyLevel)6507 pub fn set_idempotency_level(&mut self, v: method_options::IdempotencyLevel) {
6508 self.idempotency_level = ::std::option::Option::Some(crate::EnumOrUnknown::new(v));
6509 }
6510
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData6511 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
6512 let mut fields = ::std::vec::Vec::with_capacity(3);
6513 let mut oneofs = ::std::vec::Vec::with_capacity(0);
6514 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
6515 "deprecated",
6516 |m: &MethodOptions| { &m.deprecated },
6517 |m: &mut MethodOptions| { &mut m.deprecated },
6518 ));
6519 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
6520 "idempotency_level",
6521 |m: &MethodOptions| { &m.idempotency_level },
6522 |m: &mut MethodOptions| { &mut m.idempotency_level },
6523 ));
6524 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
6525 "uninterpreted_option",
6526 |m: &MethodOptions| { &m.uninterpreted_option },
6527 |m: &mut MethodOptions| { &mut m.uninterpreted_option },
6528 ));
6529 crate::reflect::GeneratedMessageDescriptorData::new_2::<MethodOptions>(
6530 "MethodOptions",
6531 fields,
6532 oneofs,
6533 )
6534 }
6535 }
6536
6537 impl crate::Message for MethodOptions {
6538 const NAME: &'static str = "MethodOptions";
6539
is_initialized(&self) -> bool6540 fn is_initialized(&self) -> bool {
6541 for v in &self.uninterpreted_option {
6542 if !v.is_initialized() {
6543 return false;
6544 }
6545 };
6546 true
6547 }
6548
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>6549 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
6550 while let Some(tag) = is.read_raw_tag_or_eof()? {
6551 match tag {
6552 264 => {
6553 self.deprecated = ::std::option::Option::Some(is.read_bool()?);
6554 },
6555 272 => {
6556 self.idempotency_level = ::std::option::Option::Some(is.read_enum_or_unknown()?);
6557 },
6558 7994 => {
6559 self.uninterpreted_option.push(is.read_message()?);
6560 },
6561 tag => {
6562 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
6563 },
6564 };
6565 }
6566 ::std::result::Result::Ok(())
6567 }
6568
6569 // Compute sizes of nested messages
6570 #[allow(unused_variables)]
compute_size(&self) -> u646571 fn compute_size(&self) -> u64 {
6572 let mut my_size = 0;
6573 if let Some(v) = self.deprecated {
6574 my_size += 2 + 1;
6575 }
6576 if let Some(v) = self.idempotency_level {
6577 my_size += crate::rt::int32_size(34, v.value());
6578 }
6579 for value in &self.uninterpreted_option {
6580 let len = value.compute_size();
6581 my_size += 2 + crate::rt::compute_raw_varint64_size(len) + len;
6582 };
6583 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
6584 self.special_fields.cached_size().set(my_size as u32);
6585 my_size
6586 }
6587
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>6588 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
6589 if let Some(v) = self.deprecated {
6590 os.write_bool(33, v)?;
6591 }
6592 if let Some(v) = self.idempotency_level {
6593 os.write_enum(34, crate::EnumOrUnknown::value(&v))?;
6594 }
6595 for v in &self.uninterpreted_option {
6596 crate::rt::write_message_field_with_cached_size(999, v, os)?;
6597 };
6598 os.write_unknown_fields(self.special_fields.unknown_fields())?;
6599 ::std::result::Result::Ok(())
6600 }
6601
special_fields(&self) -> &crate::SpecialFields6602 fn special_fields(&self) -> &crate::SpecialFields {
6603 &self.special_fields
6604 }
6605
mut_special_fields(&mut self) -> &mut crate::SpecialFields6606 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
6607 &mut self.special_fields
6608 }
6609
new() -> MethodOptions6610 fn new() -> MethodOptions {
6611 MethodOptions::new()
6612 }
6613
clear(&mut self)6614 fn clear(&mut self) {
6615 self.deprecated = ::std::option::Option::None;
6616 self.idempotency_level = ::std::option::Option::None;
6617 self.uninterpreted_option.clear();
6618 self.special_fields.clear();
6619 }
6620
default_instance() -> &'static MethodOptions6621 fn default_instance() -> &'static MethodOptions {
6622 static instance: MethodOptions = MethodOptions {
6623 deprecated: ::std::option::Option::None,
6624 idempotency_level: ::std::option::Option::None,
6625 uninterpreted_option: ::std::vec::Vec::new(),
6626 special_fields: crate::SpecialFields::new(),
6627 };
6628 &instance
6629 }
6630 }
6631
6632 impl crate::MessageFull for MethodOptions {
descriptor() -> crate::reflect::MessageDescriptor6633 fn descriptor() -> crate::reflect::MessageDescriptor {
6634 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
6635 descriptor.get(|| file_descriptor().message_by_package_relative_name("MethodOptions").unwrap()).clone()
6636 }
6637 }
6638
6639 impl ::std::fmt::Display for MethodOptions {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6640 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6641 crate::text_format::fmt(self, f)
6642 }
6643 }
6644
6645 impl crate::reflect::ProtobufValue for MethodOptions {
6646 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
6647 }
6648
6649 /// Nested message and enums of message `MethodOptions`
6650 pub mod method_options {
6651 /// Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
6652 /// or neither? HTTP based RPC implementation may choose GET verb for safe
6653 /// methods, and PUT verb for idempotent methods instead of the default POST.
6654 #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
6655 // @@protoc_insertion_point(enum:google.protobuf.MethodOptions.IdempotencyLevel)
6656 pub enum IdempotencyLevel {
6657 // @@protoc_insertion_point(enum_value:google.protobuf.MethodOptions.IdempotencyLevel.IDEMPOTENCY_UNKNOWN)
6658 IDEMPOTENCY_UNKNOWN = 0,
6659 // @@protoc_insertion_point(enum_value:google.protobuf.MethodOptions.IdempotencyLevel.NO_SIDE_EFFECTS)
6660 NO_SIDE_EFFECTS = 1,
6661 // @@protoc_insertion_point(enum_value:google.protobuf.MethodOptions.IdempotencyLevel.IDEMPOTENT)
6662 IDEMPOTENT = 2,
6663 }
6664
6665 impl crate::Enum for IdempotencyLevel {
6666 const NAME: &'static str = "IdempotencyLevel";
6667
value(&self) -> i326668 fn value(&self) -> i32 {
6669 *self as i32
6670 }
6671
from_i32(value: i32) -> ::std::option::Option<IdempotencyLevel>6672 fn from_i32(value: i32) -> ::std::option::Option<IdempotencyLevel> {
6673 match value {
6674 0 => ::std::option::Option::Some(IdempotencyLevel::IDEMPOTENCY_UNKNOWN),
6675 1 => ::std::option::Option::Some(IdempotencyLevel::NO_SIDE_EFFECTS),
6676 2 => ::std::option::Option::Some(IdempotencyLevel::IDEMPOTENT),
6677 _ => ::std::option::Option::None
6678 }
6679 }
6680
6681 const VALUES: &'static [IdempotencyLevel] = &[
6682 IdempotencyLevel::IDEMPOTENCY_UNKNOWN,
6683 IdempotencyLevel::NO_SIDE_EFFECTS,
6684 IdempotencyLevel::IDEMPOTENT,
6685 ];
6686 }
6687
6688 impl crate::EnumFull for IdempotencyLevel {
enum_descriptor() -> crate::reflect::EnumDescriptor6689 fn enum_descriptor() -> crate::reflect::EnumDescriptor {
6690 static descriptor: crate::rt::Lazy<crate::reflect::EnumDescriptor> = crate::rt::Lazy::new();
6691 descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("MethodOptions.IdempotencyLevel").unwrap()).clone()
6692 }
6693
descriptor(&self) -> crate::reflect::EnumValueDescriptor6694 fn descriptor(&self) -> crate::reflect::EnumValueDescriptor {
6695 let index = *self as usize;
6696 Self::enum_descriptor().value_by_index(index)
6697 }
6698 }
6699
6700 impl ::std::default::Default for IdempotencyLevel {
default() -> Self6701 fn default() -> Self {
6702 IdempotencyLevel::IDEMPOTENCY_UNKNOWN
6703 }
6704 }
6705
6706 impl IdempotencyLevel {
generated_enum_descriptor_data() -> crate::reflect::GeneratedEnumDescriptorData6707 pub(in super) fn generated_enum_descriptor_data() -> crate::reflect::GeneratedEnumDescriptorData {
6708 crate::reflect::GeneratedEnumDescriptorData::new::<IdempotencyLevel>("MethodOptions.IdempotencyLevel")
6709 }
6710 }
6711 }
6712
6713 /// A message representing a option the parser does not recognize. This only
6714 /// appears in options protos created by the compiler::Parser class.
6715 /// DescriptorPool resolves these when building Descriptor objects. Therefore,
6716 /// options protos in descriptor objects (e.g. returned by Descriptor::options(),
6717 /// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
6718 /// in them.
6719 #[derive(PartialEq,Clone,Default,Debug)]
6720 // @@protoc_insertion_point(message:google.protobuf.UninterpretedOption)
6721 pub struct UninterpretedOption {
6722 // message fields
6723 // @@protoc_insertion_point(field:google.protobuf.UninterpretedOption.name)
6724 pub name: ::std::vec::Vec<uninterpreted_option::NamePart>,
6725 /// The value of the uninterpreted option, in whatever type the tokenizer
6726 /// identified it as during parsing. Exactly one of these should be set.
6727 // @@protoc_insertion_point(field:google.protobuf.UninterpretedOption.identifier_value)
6728 pub identifier_value: ::std::option::Option<::std::string::String>,
6729 // @@protoc_insertion_point(field:google.protobuf.UninterpretedOption.positive_int_value)
6730 pub positive_int_value: ::std::option::Option<u64>,
6731 // @@protoc_insertion_point(field:google.protobuf.UninterpretedOption.negative_int_value)
6732 pub negative_int_value: ::std::option::Option<i64>,
6733 // @@protoc_insertion_point(field:google.protobuf.UninterpretedOption.double_value)
6734 pub double_value: ::std::option::Option<f64>,
6735 // @@protoc_insertion_point(field:google.protobuf.UninterpretedOption.string_value)
6736 pub string_value: ::std::option::Option<::std::vec::Vec<u8>>,
6737 // @@protoc_insertion_point(field:google.protobuf.UninterpretedOption.aggregate_value)
6738 pub aggregate_value: ::std::option::Option<::std::string::String>,
6739 // special fields
6740 // @@protoc_insertion_point(special_field:google.protobuf.UninterpretedOption.special_fields)
6741 pub special_fields: crate::SpecialFields,
6742 }
6743
6744 impl<'a> ::std::default::Default for &'a UninterpretedOption {
default() -> &'a UninterpretedOption6745 fn default() -> &'a UninterpretedOption {
6746 <UninterpretedOption as crate::Message>::default_instance()
6747 }
6748 }
6749
6750 impl UninterpretedOption {
new() -> UninterpretedOption6751 pub fn new() -> UninterpretedOption {
6752 ::std::default::Default::default()
6753 }
6754
6755 // optional string identifier_value = 3;
6756
identifier_value(&self) -> &str6757 pub fn identifier_value(&self) -> &str {
6758 match self.identifier_value.as_ref() {
6759 Some(v) => v,
6760 None => "",
6761 }
6762 }
6763
clear_identifier_value(&mut self)6764 pub fn clear_identifier_value(&mut self) {
6765 self.identifier_value = ::std::option::Option::None;
6766 }
6767
has_identifier_value(&self) -> bool6768 pub fn has_identifier_value(&self) -> bool {
6769 self.identifier_value.is_some()
6770 }
6771
6772 // Param is passed by value, moved
set_identifier_value(&mut self, v: ::std::string::String)6773 pub fn set_identifier_value(&mut self, v: ::std::string::String) {
6774 self.identifier_value = ::std::option::Option::Some(v);
6775 }
6776
6777 // Mutable pointer to the field.
6778 // If field is not initialized, it is initialized with default value first.
mut_identifier_value(&mut self) -> &mut ::std::string::String6779 pub fn mut_identifier_value(&mut self) -> &mut ::std::string::String {
6780 if self.identifier_value.is_none() {
6781 self.identifier_value = ::std::option::Option::Some(::std::string::String::new());
6782 }
6783 self.identifier_value.as_mut().unwrap()
6784 }
6785
6786 // Take field
take_identifier_value(&mut self) -> ::std::string::String6787 pub fn take_identifier_value(&mut self) -> ::std::string::String {
6788 self.identifier_value.take().unwrap_or_else(|| ::std::string::String::new())
6789 }
6790
6791 // optional uint64 positive_int_value = 4;
6792
positive_int_value(&self) -> u646793 pub fn positive_int_value(&self) -> u64 {
6794 self.positive_int_value.unwrap_or(0)
6795 }
6796
clear_positive_int_value(&mut self)6797 pub fn clear_positive_int_value(&mut self) {
6798 self.positive_int_value = ::std::option::Option::None;
6799 }
6800
has_positive_int_value(&self) -> bool6801 pub fn has_positive_int_value(&self) -> bool {
6802 self.positive_int_value.is_some()
6803 }
6804
6805 // Param is passed by value, moved
set_positive_int_value(&mut self, v: u64)6806 pub fn set_positive_int_value(&mut self, v: u64) {
6807 self.positive_int_value = ::std::option::Option::Some(v);
6808 }
6809
6810 // optional int64 negative_int_value = 5;
6811
negative_int_value(&self) -> i646812 pub fn negative_int_value(&self) -> i64 {
6813 self.negative_int_value.unwrap_or(0)
6814 }
6815
clear_negative_int_value(&mut self)6816 pub fn clear_negative_int_value(&mut self) {
6817 self.negative_int_value = ::std::option::Option::None;
6818 }
6819
has_negative_int_value(&self) -> bool6820 pub fn has_negative_int_value(&self) -> bool {
6821 self.negative_int_value.is_some()
6822 }
6823
6824 // Param is passed by value, moved
set_negative_int_value(&mut self, v: i64)6825 pub fn set_negative_int_value(&mut self, v: i64) {
6826 self.negative_int_value = ::std::option::Option::Some(v);
6827 }
6828
6829 // optional double double_value = 6;
6830
double_value(&self) -> f646831 pub fn double_value(&self) -> f64 {
6832 self.double_value.unwrap_or(0.)
6833 }
6834
clear_double_value(&mut self)6835 pub fn clear_double_value(&mut self) {
6836 self.double_value = ::std::option::Option::None;
6837 }
6838
has_double_value(&self) -> bool6839 pub fn has_double_value(&self) -> bool {
6840 self.double_value.is_some()
6841 }
6842
6843 // Param is passed by value, moved
set_double_value(&mut self, v: f64)6844 pub fn set_double_value(&mut self, v: f64) {
6845 self.double_value = ::std::option::Option::Some(v);
6846 }
6847
6848 // optional bytes string_value = 7;
6849
string_value(&self) -> &[u8]6850 pub fn string_value(&self) -> &[u8] {
6851 match self.string_value.as_ref() {
6852 Some(v) => v,
6853 None => &[],
6854 }
6855 }
6856
clear_string_value(&mut self)6857 pub fn clear_string_value(&mut self) {
6858 self.string_value = ::std::option::Option::None;
6859 }
6860
has_string_value(&self) -> bool6861 pub fn has_string_value(&self) -> bool {
6862 self.string_value.is_some()
6863 }
6864
6865 // Param is passed by value, moved
set_string_value(&mut self, v: ::std::vec::Vec<u8>)6866 pub fn set_string_value(&mut self, v: ::std::vec::Vec<u8>) {
6867 self.string_value = ::std::option::Option::Some(v);
6868 }
6869
6870 // Mutable pointer to the field.
6871 // If field is not initialized, it is initialized with default value first.
mut_string_value(&mut self) -> &mut ::std::vec::Vec<u8>6872 pub fn mut_string_value(&mut self) -> &mut ::std::vec::Vec<u8> {
6873 if self.string_value.is_none() {
6874 self.string_value = ::std::option::Option::Some(::std::vec::Vec::new());
6875 }
6876 self.string_value.as_mut().unwrap()
6877 }
6878
6879 // Take field
take_string_value(&mut self) -> ::std::vec::Vec<u8>6880 pub fn take_string_value(&mut self) -> ::std::vec::Vec<u8> {
6881 self.string_value.take().unwrap_or_else(|| ::std::vec::Vec::new())
6882 }
6883
6884 // optional string aggregate_value = 8;
6885
aggregate_value(&self) -> &str6886 pub fn aggregate_value(&self) -> &str {
6887 match self.aggregate_value.as_ref() {
6888 Some(v) => v,
6889 None => "",
6890 }
6891 }
6892
clear_aggregate_value(&mut self)6893 pub fn clear_aggregate_value(&mut self) {
6894 self.aggregate_value = ::std::option::Option::None;
6895 }
6896
has_aggregate_value(&self) -> bool6897 pub fn has_aggregate_value(&self) -> bool {
6898 self.aggregate_value.is_some()
6899 }
6900
6901 // Param is passed by value, moved
set_aggregate_value(&mut self, v: ::std::string::String)6902 pub fn set_aggregate_value(&mut self, v: ::std::string::String) {
6903 self.aggregate_value = ::std::option::Option::Some(v);
6904 }
6905
6906 // Mutable pointer to the field.
6907 // If field is not initialized, it is initialized with default value first.
mut_aggregate_value(&mut self) -> &mut ::std::string::String6908 pub fn mut_aggregate_value(&mut self) -> &mut ::std::string::String {
6909 if self.aggregate_value.is_none() {
6910 self.aggregate_value = ::std::option::Option::Some(::std::string::String::new());
6911 }
6912 self.aggregate_value.as_mut().unwrap()
6913 }
6914
6915 // Take field
take_aggregate_value(&mut self) -> ::std::string::String6916 pub fn take_aggregate_value(&mut self) -> ::std::string::String {
6917 self.aggregate_value.take().unwrap_or_else(|| ::std::string::String::new())
6918 }
6919
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData6920 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
6921 let mut fields = ::std::vec::Vec::with_capacity(7);
6922 let mut oneofs = ::std::vec::Vec::with_capacity(0);
6923 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
6924 "name",
6925 |m: &UninterpretedOption| { &m.name },
6926 |m: &mut UninterpretedOption| { &mut m.name },
6927 ));
6928 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
6929 "identifier_value",
6930 |m: &UninterpretedOption| { &m.identifier_value },
6931 |m: &mut UninterpretedOption| { &mut m.identifier_value },
6932 ));
6933 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
6934 "positive_int_value",
6935 |m: &UninterpretedOption| { &m.positive_int_value },
6936 |m: &mut UninterpretedOption| { &mut m.positive_int_value },
6937 ));
6938 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
6939 "negative_int_value",
6940 |m: &UninterpretedOption| { &m.negative_int_value },
6941 |m: &mut UninterpretedOption| { &mut m.negative_int_value },
6942 ));
6943 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
6944 "double_value",
6945 |m: &UninterpretedOption| { &m.double_value },
6946 |m: &mut UninterpretedOption| { &mut m.double_value },
6947 ));
6948 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
6949 "string_value",
6950 |m: &UninterpretedOption| { &m.string_value },
6951 |m: &mut UninterpretedOption| { &mut m.string_value },
6952 ));
6953 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
6954 "aggregate_value",
6955 |m: &UninterpretedOption| { &m.aggregate_value },
6956 |m: &mut UninterpretedOption| { &mut m.aggregate_value },
6957 ));
6958 crate::reflect::GeneratedMessageDescriptorData::new_2::<UninterpretedOption>(
6959 "UninterpretedOption",
6960 fields,
6961 oneofs,
6962 )
6963 }
6964 }
6965
6966 impl crate::Message for UninterpretedOption {
6967 const NAME: &'static str = "UninterpretedOption";
6968
is_initialized(&self) -> bool6969 fn is_initialized(&self) -> bool {
6970 for v in &self.name {
6971 if !v.is_initialized() {
6972 return false;
6973 }
6974 };
6975 true
6976 }
6977
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>6978 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
6979 while let Some(tag) = is.read_raw_tag_or_eof()? {
6980 match tag {
6981 18 => {
6982 self.name.push(is.read_message()?);
6983 },
6984 26 => {
6985 self.identifier_value = ::std::option::Option::Some(is.read_string()?);
6986 },
6987 32 => {
6988 self.positive_int_value = ::std::option::Option::Some(is.read_uint64()?);
6989 },
6990 40 => {
6991 self.negative_int_value = ::std::option::Option::Some(is.read_int64()?);
6992 },
6993 49 => {
6994 self.double_value = ::std::option::Option::Some(is.read_double()?);
6995 },
6996 58 => {
6997 self.string_value = ::std::option::Option::Some(is.read_bytes()?);
6998 },
6999 66 => {
7000 self.aggregate_value = ::std::option::Option::Some(is.read_string()?);
7001 },
7002 tag => {
7003 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
7004 },
7005 };
7006 }
7007 ::std::result::Result::Ok(())
7008 }
7009
7010 // Compute sizes of nested messages
7011 #[allow(unused_variables)]
compute_size(&self) -> u647012 fn compute_size(&self) -> u64 {
7013 let mut my_size = 0;
7014 for value in &self.name {
7015 let len = value.compute_size();
7016 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
7017 };
7018 if let Some(v) = self.identifier_value.as_ref() {
7019 my_size += crate::rt::string_size(3, &v);
7020 }
7021 if let Some(v) = self.positive_int_value {
7022 my_size += crate::rt::uint64_size(4, v);
7023 }
7024 if let Some(v) = self.negative_int_value {
7025 my_size += crate::rt::int64_size(5, v);
7026 }
7027 if let Some(v) = self.double_value {
7028 my_size += 1 + 8;
7029 }
7030 if let Some(v) = self.string_value.as_ref() {
7031 my_size += crate::rt::bytes_size(7, &v);
7032 }
7033 if let Some(v) = self.aggregate_value.as_ref() {
7034 my_size += crate::rt::string_size(8, &v);
7035 }
7036 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
7037 self.special_fields.cached_size().set(my_size as u32);
7038 my_size
7039 }
7040
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>7041 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
7042 for v in &self.name {
7043 crate::rt::write_message_field_with_cached_size(2, v, os)?;
7044 };
7045 if let Some(v) = self.identifier_value.as_ref() {
7046 os.write_string(3, v)?;
7047 }
7048 if let Some(v) = self.positive_int_value {
7049 os.write_uint64(4, v)?;
7050 }
7051 if let Some(v) = self.negative_int_value {
7052 os.write_int64(5, v)?;
7053 }
7054 if let Some(v) = self.double_value {
7055 os.write_double(6, v)?;
7056 }
7057 if let Some(v) = self.string_value.as_ref() {
7058 os.write_bytes(7, v)?;
7059 }
7060 if let Some(v) = self.aggregate_value.as_ref() {
7061 os.write_string(8, v)?;
7062 }
7063 os.write_unknown_fields(self.special_fields.unknown_fields())?;
7064 ::std::result::Result::Ok(())
7065 }
7066
special_fields(&self) -> &crate::SpecialFields7067 fn special_fields(&self) -> &crate::SpecialFields {
7068 &self.special_fields
7069 }
7070
mut_special_fields(&mut self) -> &mut crate::SpecialFields7071 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
7072 &mut self.special_fields
7073 }
7074
new() -> UninterpretedOption7075 fn new() -> UninterpretedOption {
7076 UninterpretedOption::new()
7077 }
7078
clear(&mut self)7079 fn clear(&mut self) {
7080 self.name.clear();
7081 self.identifier_value = ::std::option::Option::None;
7082 self.positive_int_value = ::std::option::Option::None;
7083 self.negative_int_value = ::std::option::Option::None;
7084 self.double_value = ::std::option::Option::None;
7085 self.string_value = ::std::option::Option::None;
7086 self.aggregate_value = ::std::option::Option::None;
7087 self.special_fields.clear();
7088 }
7089
default_instance() -> &'static UninterpretedOption7090 fn default_instance() -> &'static UninterpretedOption {
7091 static instance: UninterpretedOption = UninterpretedOption {
7092 name: ::std::vec::Vec::new(),
7093 identifier_value: ::std::option::Option::None,
7094 positive_int_value: ::std::option::Option::None,
7095 negative_int_value: ::std::option::Option::None,
7096 double_value: ::std::option::Option::None,
7097 string_value: ::std::option::Option::None,
7098 aggregate_value: ::std::option::Option::None,
7099 special_fields: crate::SpecialFields::new(),
7100 };
7101 &instance
7102 }
7103 }
7104
7105 impl crate::MessageFull for UninterpretedOption {
descriptor() -> crate::reflect::MessageDescriptor7106 fn descriptor() -> crate::reflect::MessageDescriptor {
7107 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
7108 descriptor.get(|| file_descriptor().message_by_package_relative_name("UninterpretedOption").unwrap()).clone()
7109 }
7110 }
7111
7112 impl ::std::fmt::Display for UninterpretedOption {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7113 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7114 crate::text_format::fmt(self, f)
7115 }
7116 }
7117
7118 impl crate::reflect::ProtobufValue for UninterpretedOption {
7119 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
7120 }
7121
7122 /// Nested message and enums of message `UninterpretedOption`
7123 pub mod uninterpreted_option {
7124 /// The name of the uninterpreted option. Each string represents a segment in
7125 /// a dot-separated name. is_extension is true iff a segment represents an
7126 /// extension (denoted with parentheses in options specs in .proto files).
7127 /// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
7128 /// "foo.(bar.baz).qux".
7129 #[derive(PartialEq,Clone,Default,Debug)]
7130 // @@protoc_insertion_point(message:google.protobuf.UninterpretedOption.NamePart)
7131 pub struct NamePart {
7132 // message fields
7133 // @@protoc_insertion_point(field:google.protobuf.UninterpretedOption.NamePart.name_part)
7134 pub name_part: ::std::option::Option<::std::string::String>,
7135 // @@protoc_insertion_point(field:google.protobuf.UninterpretedOption.NamePart.is_extension)
7136 pub is_extension: ::std::option::Option<bool>,
7137 // special fields
7138 // @@protoc_insertion_point(special_field:google.protobuf.UninterpretedOption.NamePart.special_fields)
7139 pub special_fields: crate::SpecialFields,
7140 }
7141
7142 impl<'a> ::std::default::Default for &'a NamePart {
default() -> &'a NamePart7143 fn default() -> &'a NamePart {
7144 <NamePart as crate::Message>::default_instance()
7145 }
7146 }
7147
7148 impl NamePart {
new() -> NamePart7149 pub fn new() -> NamePart {
7150 ::std::default::Default::default()
7151 }
7152
7153 // required string name_part = 1;
7154
name_part(&self) -> &str7155 pub fn name_part(&self) -> &str {
7156 match self.name_part.as_ref() {
7157 Some(v) => v,
7158 None => "",
7159 }
7160 }
7161
clear_name_part(&mut self)7162 pub fn clear_name_part(&mut self) {
7163 self.name_part = ::std::option::Option::None;
7164 }
7165
has_name_part(&self) -> bool7166 pub fn has_name_part(&self) -> bool {
7167 self.name_part.is_some()
7168 }
7169
7170 // Param is passed by value, moved
set_name_part(&mut self, v: ::std::string::String)7171 pub fn set_name_part(&mut self, v: ::std::string::String) {
7172 self.name_part = ::std::option::Option::Some(v);
7173 }
7174
7175 // Mutable pointer to the field.
7176 // If field is not initialized, it is initialized with default value first.
mut_name_part(&mut self) -> &mut ::std::string::String7177 pub fn mut_name_part(&mut self) -> &mut ::std::string::String {
7178 if self.name_part.is_none() {
7179 self.name_part = ::std::option::Option::Some(::std::string::String::new());
7180 }
7181 self.name_part.as_mut().unwrap()
7182 }
7183
7184 // Take field
take_name_part(&mut self) -> ::std::string::String7185 pub fn take_name_part(&mut self) -> ::std::string::String {
7186 self.name_part.take().unwrap_or_else(|| ::std::string::String::new())
7187 }
7188
7189 // required bool is_extension = 2;
7190
is_extension(&self) -> bool7191 pub fn is_extension(&self) -> bool {
7192 self.is_extension.unwrap_or(false)
7193 }
7194
clear_is_extension(&mut self)7195 pub fn clear_is_extension(&mut self) {
7196 self.is_extension = ::std::option::Option::None;
7197 }
7198
has_is_extension(&self) -> bool7199 pub fn has_is_extension(&self) -> bool {
7200 self.is_extension.is_some()
7201 }
7202
7203 // Param is passed by value, moved
set_is_extension(&mut self, v: bool)7204 pub fn set_is_extension(&mut self, v: bool) {
7205 self.is_extension = ::std::option::Option::Some(v);
7206 }
7207
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData7208 pub(in super) fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
7209 let mut fields = ::std::vec::Vec::with_capacity(2);
7210 let mut oneofs = ::std::vec::Vec::with_capacity(0);
7211 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
7212 "name_part",
7213 |m: &NamePart| { &m.name_part },
7214 |m: &mut NamePart| { &mut m.name_part },
7215 ));
7216 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
7217 "is_extension",
7218 |m: &NamePart| { &m.is_extension },
7219 |m: &mut NamePart| { &mut m.is_extension },
7220 ));
7221 crate::reflect::GeneratedMessageDescriptorData::new_2::<NamePart>(
7222 "UninterpretedOption.NamePart",
7223 fields,
7224 oneofs,
7225 )
7226 }
7227 }
7228
7229 impl crate::Message for NamePart {
7230 const NAME: &'static str = "NamePart";
7231
is_initialized(&self) -> bool7232 fn is_initialized(&self) -> bool {
7233 if self.name_part.is_none() {
7234 return false;
7235 }
7236 if self.is_extension.is_none() {
7237 return false;
7238 }
7239 true
7240 }
7241
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>7242 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
7243 while let Some(tag) = is.read_raw_tag_or_eof()? {
7244 match tag {
7245 10 => {
7246 self.name_part = ::std::option::Option::Some(is.read_string()?);
7247 },
7248 16 => {
7249 self.is_extension = ::std::option::Option::Some(is.read_bool()?);
7250 },
7251 tag => {
7252 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
7253 },
7254 };
7255 }
7256 ::std::result::Result::Ok(())
7257 }
7258
7259 // Compute sizes of nested messages
7260 #[allow(unused_variables)]
compute_size(&self) -> u647261 fn compute_size(&self) -> u64 {
7262 let mut my_size = 0;
7263 if let Some(v) = self.name_part.as_ref() {
7264 my_size += crate::rt::string_size(1, &v);
7265 }
7266 if let Some(v) = self.is_extension {
7267 my_size += 1 + 1;
7268 }
7269 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
7270 self.special_fields.cached_size().set(my_size as u32);
7271 my_size
7272 }
7273
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>7274 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
7275 if let Some(v) = self.name_part.as_ref() {
7276 os.write_string(1, v)?;
7277 }
7278 if let Some(v) = self.is_extension {
7279 os.write_bool(2, v)?;
7280 }
7281 os.write_unknown_fields(self.special_fields.unknown_fields())?;
7282 ::std::result::Result::Ok(())
7283 }
7284
special_fields(&self) -> &crate::SpecialFields7285 fn special_fields(&self) -> &crate::SpecialFields {
7286 &self.special_fields
7287 }
7288
mut_special_fields(&mut self) -> &mut crate::SpecialFields7289 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
7290 &mut self.special_fields
7291 }
7292
new() -> NamePart7293 fn new() -> NamePart {
7294 NamePart::new()
7295 }
7296
clear(&mut self)7297 fn clear(&mut self) {
7298 self.name_part = ::std::option::Option::None;
7299 self.is_extension = ::std::option::Option::None;
7300 self.special_fields.clear();
7301 }
7302
default_instance() -> &'static NamePart7303 fn default_instance() -> &'static NamePart {
7304 static instance: NamePart = NamePart {
7305 name_part: ::std::option::Option::None,
7306 is_extension: ::std::option::Option::None,
7307 special_fields: crate::SpecialFields::new(),
7308 };
7309 &instance
7310 }
7311 }
7312
7313 impl crate::MessageFull for NamePart {
descriptor() -> crate::reflect::MessageDescriptor7314 fn descriptor() -> crate::reflect::MessageDescriptor {
7315 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
7316 descriptor.get(|| super::file_descriptor().message_by_package_relative_name("UninterpretedOption.NamePart").unwrap()).clone()
7317 }
7318 }
7319
7320 impl ::std::fmt::Display for NamePart {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7321 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7322 crate::text_format::fmt(self, f)
7323 }
7324 }
7325
7326 impl crate::reflect::ProtobufValue for NamePart {
7327 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
7328 }
7329 }
7330
7331 /// Encapsulates information about the original source file from which a
7332 /// FileDescriptorProto was generated.
7333 #[derive(PartialEq,Clone,Default,Debug)]
7334 // @@protoc_insertion_point(message:google.protobuf.SourceCodeInfo)
7335 pub struct SourceCodeInfo {
7336 // message fields
7337 // @@protoc_insertion_point(field:google.protobuf.SourceCodeInfo.location)
7338 pub location: ::std::vec::Vec<source_code_info::Location>,
7339 // special fields
7340 // @@protoc_insertion_point(special_field:google.protobuf.SourceCodeInfo.special_fields)
7341 pub special_fields: crate::SpecialFields,
7342 }
7343
7344 impl<'a> ::std::default::Default for &'a SourceCodeInfo {
default() -> &'a SourceCodeInfo7345 fn default() -> &'a SourceCodeInfo {
7346 <SourceCodeInfo as crate::Message>::default_instance()
7347 }
7348 }
7349
7350 impl SourceCodeInfo {
new() -> SourceCodeInfo7351 pub fn new() -> SourceCodeInfo {
7352 ::std::default::Default::default()
7353 }
7354
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData7355 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
7356 let mut fields = ::std::vec::Vec::with_capacity(1);
7357 let mut oneofs = ::std::vec::Vec::with_capacity(0);
7358 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
7359 "location",
7360 |m: &SourceCodeInfo| { &m.location },
7361 |m: &mut SourceCodeInfo| { &mut m.location },
7362 ));
7363 crate::reflect::GeneratedMessageDescriptorData::new_2::<SourceCodeInfo>(
7364 "SourceCodeInfo",
7365 fields,
7366 oneofs,
7367 )
7368 }
7369 }
7370
7371 impl crate::Message for SourceCodeInfo {
7372 const NAME: &'static str = "SourceCodeInfo";
7373
is_initialized(&self) -> bool7374 fn is_initialized(&self) -> bool {
7375 true
7376 }
7377
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>7378 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
7379 while let Some(tag) = is.read_raw_tag_or_eof()? {
7380 match tag {
7381 10 => {
7382 self.location.push(is.read_message()?);
7383 },
7384 tag => {
7385 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
7386 },
7387 };
7388 }
7389 ::std::result::Result::Ok(())
7390 }
7391
7392 // Compute sizes of nested messages
7393 #[allow(unused_variables)]
compute_size(&self) -> u647394 fn compute_size(&self) -> u64 {
7395 let mut my_size = 0;
7396 for value in &self.location {
7397 let len = value.compute_size();
7398 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
7399 };
7400 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
7401 self.special_fields.cached_size().set(my_size as u32);
7402 my_size
7403 }
7404
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>7405 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
7406 for v in &self.location {
7407 crate::rt::write_message_field_with_cached_size(1, v, os)?;
7408 };
7409 os.write_unknown_fields(self.special_fields.unknown_fields())?;
7410 ::std::result::Result::Ok(())
7411 }
7412
special_fields(&self) -> &crate::SpecialFields7413 fn special_fields(&self) -> &crate::SpecialFields {
7414 &self.special_fields
7415 }
7416
mut_special_fields(&mut self) -> &mut crate::SpecialFields7417 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
7418 &mut self.special_fields
7419 }
7420
new() -> SourceCodeInfo7421 fn new() -> SourceCodeInfo {
7422 SourceCodeInfo::new()
7423 }
7424
clear(&mut self)7425 fn clear(&mut self) {
7426 self.location.clear();
7427 self.special_fields.clear();
7428 }
7429
default_instance() -> &'static SourceCodeInfo7430 fn default_instance() -> &'static SourceCodeInfo {
7431 static instance: SourceCodeInfo = SourceCodeInfo {
7432 location: ::std::vec::Vec::new(),
7433 special_fields: crate::SpecialFields::new(),
7434 };
7435 &instance
7436 }
7437 }
7438
7439 impl crate::MessageFull for SourceCodeInfo {
descriptor() -> crate::reflect::MessageDescriptor7440 fn descriptor() -> crate::reflect::MessageDescriptor {
7441 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
7442 descriptor.get(|| file_descriptor().message_by_package_relative_name("SourceCodeInfo").unwrap()).clone()
7443 }
7444 }
7445
7446 impl ::std::fmt::Display for SourceCodeInfo {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7447 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7448 crate::text_format::fmt(self, f)
7449 }
7450 }
7451
7452 impl crate::reflect::ProtobufValue for SourceCodeInfo {
7453 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
7454 }
7455
7456 /// Nested message and enums of message `SourceCodeInfo`
7457 pub mod source_code_info {
7458 #[derive(PartialEq,Clone,Default,Debug)]
7459 // @@protoc_insertion_point(message:google.protobuf.SourceCodeInfo.Location)
7460 pub struct Location {
7461 // message fields
7462 // @@protoc_insertion_point(field:google.protobuf.SourceCodeInfo.Location.path)
7463 pub path: ::std::vec::Vec<i32>,
7464 /// Always has exactly three or four elements: start line, start column,
7465 /// end line (optional, otherwise assumed same as start line), end column.
7466 /// These are packed into a single field for efficiency. Note that line
7467 /// and column numbers are zero-based -- typically you will want to add
7468 /// 1 to each before displaying to a user.
7469 // @@protoc_insertion_point(field:google.protobuf.SourceCodeInfo.Location.span)
7470 pub span: ::std::vec::Vec<i32>,
7471 // @@protoc_insertion_point(field:google.protobuf.SourceCodeInfo.Location.leading_comments)
7472 pub leading_comments: ::std::option::Option<::std::string::String>,
7473 // @@protoc_insertion_point(field:google.protobuf.SourceCodeInfo.Location.trailing_comments)
7474 pub trailing_comments: ::std::option::Option<::std::string::String>,
7475 // @@protoc_insertion_point(field:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
7476 pub leading_detached_comments: ::std::vec::Vec<::std::string::String>,
7477 // special fields
7478 // @@protoc_insertion_point(special_field:google.protobuf.SourceCodeInfo.Location.special_fields)
7479 pub special_fields: crate::SpecialFields,
7480 }
7481
7482 impl<'a> ::std::default::Default for &'a Location {
default() -> &'a Location7483 fn default() -> &'a Location {
7484 <Location as crate::Message>::default_instance()
7485 }
7486 }
7487
7488 impl Location {
new() -> Location7489 pub fn new() -> Location {
7490 ::std::default::Default::default()
7491 }
7492
7493 // optional string leading_comments = 3;
7494
leading_comments(&self) -> &str7495 pub fn leading_comments(&self) -> &str {
7496 match self.leading_comments.as_ref() {
7497 Some(v) => v,
7498 None => "",
7499 }
7500 }
7501
clear_leading_comments(&mut self)7502 pub fn clear_leading_comments(&mut self) {
7503 self.leading_comments = ::std::option::Option::None;
7504 }
7505
has_leading_comments(&self) -> bool7506 pub fn has_leading_comments(&self) -> bool {
7507 self.leading_comments.is_some()
7508 }
7509
7510 // Param is passed by value, moved
set_leading_comments(&mut self, v: ::std::string::String)7511 pub fn set_leading_comments(&mut self, v: ::std::string::String) {
7512 self.leading_comments = ::std::option::Option::Some(v);
7513 }
7514
7515 // Mutable pointer to the field.
7516 // If field is not initialized, it is initialized with default value first.
mut_leading_comments(&mut self) -> &mut ::std::string::String7517 pub fn mut_leading_comments(&mut self) -> &mut ::std::string::String {
7518 if self.leading_comments.is_none() {
7519 self.leading_comments = ::std::option::Option::Some(::std::string::String::new());
7520 }
7521 self.leading_comments.as_mut().unwrap()
7522 }
7523
7524 // Take field
take_leading_comments(&mut self) -> ::std::string::String7525 pub fn take_leading_comments(&mut self) -> ::std::string::String {
7526 self.leading_comments.take().unwrap_or_else(|| ::std::string::String::new())
7527 }
7528
7529 // optional string trailing_comments = 4;
7530
trailing_comments(&self) -> &str7531 pub fn trailing_comments(&self) -> &str {
7532 match self.trailing_comments.as_ref() {
7533 Some(v) => v,
7534 None => "",
7535 }
7536 }
7537
clear_trailing_comments(&mut self)7538 pub fn clear_trailing_comments(&mut self) {
7539 self.trailing_comments = ::std::option::Option::None;
7540 }
7541
has_trailing_comments(&self) -> bool7542 pub fn has_trailing_comments(&self) -> bool {
7543 self.trailing_comments.is_some()
7544 }
7545
7546 // Param is passed by value, moved
set_trailing_comments(&mut self, v: ::std::string::String)7547 pub fn set_trailing_comments(&mut self, v: ::std::string::String) {
7548 self.trailing_comments = ::std::option::Option::Some(v);
7549 }
7550
7551 // Mutable pointer to the field.
7552 // If field is not initialized, it is initialized with default value first.
mut_trailing_comments(&mut self) -> &mut ::std::string::String7553 pub fn mut_trailing_comments(&mut self) -> &mut ::std::string::String {
7554 if self.trailing_comments.is_none() {
7555 self.trailing_comments = ::std::option::Option::Some(::std::string::String::new());
7556 }
7557 self.trailing_comments.as_mut().unwrap()
7558 }
7559
7560 // Take field
take_trailing_comments(&mut self) -> ::std::string::String7561 pub fn take_trailing_comments(&mut self) -> ::std::string::String {
7562 self.trailing_comments.take().unwrap_or_else(|| ::std::string::String::new())
7563 }
7564
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData7565 pub(in super) fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
7566 let mut fields = ::std::vec::Vec::with_capacity(5);
7567 let mut oneofs = ::std::vec::Vec::with_capacity(0);
7568 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
7569 "path",
7570 |m: &Location| { &m.path },
7571 |m: &mut Location| { &mut m.path },
7572 ));
7573 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
7574 "span",
7575 |m: &Location| { &m.span },
7576 |m: &mut Location| { &mut m.span },
7577 ));
7578 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
7579 "leading_comments",
7580 |m: &Location| { &m.leading_comments },
7581 |m: &mut Location| { &mut m.leading_comments },
7582 ));
7583 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
7584 "trailing_comments",
7585 |m: &Location| { &m.trailing_comments },
7586 |m: &mut Location| { &mut m.trailing_comments },
7587 ));
7588 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
7589 "leading_detached_comments",
7590 |m: &Location| { &m.leading_detached_comments },
7591 |m: &mut Location| { &mut m.leading_detached_comments },
7592 ));
7593 crate::reflect::GeneratedMessageDescriptorData::new_2::<Location>(
7594 "SourceCodeInfo.Location",
7595 fields,
7596 oneofs,
7597 )
7598 }
7599 }
7600
7601 impl crate::Message for Location {
7602 const NAME: &'static str = "Location";
7603
is_initialized(&self) -> bool7604 fn is_initialized(&self) -> bool {
7605 true
7606 }
7607
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>7608 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
7609 while let Some(tag) = is.read_raw_tag_or_eof()? {
7610 match tag {
7611 10 => {
7612 is.read_repeated_packed_int32_into(&mut self.path)?;
7613 },
7614 8 => {
7615 self.path.push(is.read_int32()?);
7616 },
7617 18 => {
7618 is.read_repeated_packed_int32_into(&mut self.span)?;
7619 },
7620 16 => {
7621 self.span.push(is.read_int32()?);
7622 },
7623 26 => {
7624 self.leading_comments = ::std::option::Option::Some(is.read_string()?);
7625 },
7626 34 => {
7627 self.trailing_comments = ::std::option::Option::Some(is.read_string()?);
7628 },
7629 50 => {
7630 self.leading_detached_comments.push(is.read_string()?);
7631 },
7632 tag => {
7633 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
7634 },
7635 };
7636 }
7637 ::std::result::Result::Ok(())
7638 }
7639
7640 // Compute sizes of nested messages
7641 #[allow(unused_variables)]
compute_size(&self) -> u647642 fn compute_size(&self) -> u64 {
7643 let mut my_size = 0;
7644 my_size += crate::rt::vec_packed_int32_size(1, &self.path);
7645 my_size += crate::rt::vec_packed_int32_size(2, &self.span);
7646 if let Some(v) = self.leading_comments.as_ref() {
7647 my_size += crate::rt::string_size(3, &v);
7648 }
7649 if let Some(v) = self.trailing_comments.as_ref() {
7650 my_size += crate::rt::string_size(4, &v);
7651 }
7652 for value in &self.leading_detached_comments {
7653 my_size += crate::rt::string_size(6, &value);
7654 };
7655 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
7656 self.special_fields.cached_size().set(my_size as u32);
7657 my_size
7658 }
7659
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>7660 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
7661 os.write_repeated_packed_int32(1, &self.path)?;
7662 os.write_repeated_packed_int32(2, &self.span)?;
7663 if let Some(v) = self.leading_comments.as_ref() {
7664 os.write_string(3, v)?;
7665 }
7666 if let Some(v) = self.trailing_comments.as_ref() {
7667 os.write_string(4, v)?;
7668 }
7669 for v in &self.leading_detached_comments {
7670 os.write_string(6, &v)?;
7671 };
7672 os.write_unknown_fields(self.special_fields.unknown_fields())?;
7673 ::std::result::Result::Ok(())
7674 }
7675
special_fields(&self) -> &crate::SpecialFields7676 fn special_fields(&self) -> &crate::SpecialFields {
7677 &self.special_fields
7678 }
7679
mut_special_fields(&mut self) -> &mut crate::SpecialFields7680 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
7681 &mut self.special_fields
7682 }
7683
new() -> Location7684 fn new() -> Location {
7685 Location::new()
7686 }
7687
clear(&mut self)7688 fn clear(&mut self) {
7689 self.path.clear();
7690 self.span.clear();
7691 self.leading_comments = ::std::option::Option::None;
7692 self.trailing_comments = ::std::option::Option::None;
7693 self.leading_detached_comments.clear();
7694 self.special_fields.clear();
7695 }
7696
default_instance() -> &'static Location7697 fn default_instance() -> &'static Location {
7698 static instance: Location = Location {
7699 path: ::std::vec::Vec::new(),
7700 span: ::std::vec::Vec::new(),
7701 leading_comments: ::std::option::Option::None,
7702 trailing_comments: ::std::option::Option::None,
7703 leading_detached_comments: ::std::vec::Vec::new(),
7704 special_fields: crate::SpecialFields::new(),
7705 };
7706 &instance
7707 }
7708 }
7709
7710 impl crate::MessageFull for Location {
descriptor() -> crate::reflect::MessageDescriptor7711 fn descriptor() -> crate::reflect::MessageDescriptor {
7712 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
7713 descriptor.get(|| super::file_descriptor().message_by_package_relative_name("SourceCodeInfo.Location").unwrap()).clone()
7714 }
7715 }
7716
7717 impl ::std::fmt::Display for Location {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7718 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7719 crate::text_format::fmt(self, f)
7720 }
7721 }
7722
7723 impl crate::reflect::ProtobufValue for Location {
7724 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
7725 }
7726 }
7727
7728 /// Describes the relationship between generated code and its original source
7729 /// file. A GeneratedCodeInfo message is associated with only one generated
7730 /// source file, but may contain references to different source .proto files.
7731 #[derive(PartialEq,Clone,Default,Debug)]
7732 // @@protoc_insertion_point(message:google.protobuf.GeneratedCodeInfo)
7733 pub struct GeneratedCodeInfo {
7734 // message fields
7735 /// An Annotation connects some span of text in generated code to an element
7736 /// of its generating .proto file.
7737 // @@protoc_insertion_point(field:google.protobuf.GeneratedCodeInfo.annotation)
7738 pub annotation: ::std::vec::Vec<generated_code_info::Annotation>,
7739 // special fields
7740 // @@protoc_insertion_point(special_field:google.protobuf.GeneratedCodeInfo.special_fields)
7741 pub special_fields: crate::SpecialFields,
7742 }
7743
7744 impl<'a> ::std::default::Default for &'a GeneratedCodeInfo {
default() -> &'a GeneratedCodeInfo7745 fn default() -> &'a GeneratedCodeInfo {
7746 <GeneratedCodeInfo as crate::Message>::default_instance()
7747 }
7748 }
7749
7750 impl GeneratedCodeInfo {
new() -> GeneratedCodeInfo7751 pub fn new() -> GeneratedCodeInfo {
7752 ::std::default::Default::default()
7753 }
7754
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData7755 fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
7756 let mut fields = ::std::vec::Vec::with_capacity(1);
7757 let mut oneofs = ::std::vec::Vec::with_capacity(0);
7758 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
7759 "annotation",
7760 |m: &GeneratedCodeInfo| { &m.annotation },
7761 |m: &mut GeneratedCodeInfo| { &mut m.annotation },
7762 ));
7763 crate::reflect::GeneratedMessageDescriptorData::new_2::<GeneratedCodeInfo>(
7764 "GeneratedCodeInfo",
7765 fields,
7766 oneofs,
7767 )
7768 }
7769 }
7770
7771 impl crate::Message for GeneratedCodeInfo {
7772 const NAME: &'static str = "GeneratedCodeInfo";
7773
is_initialized(&self) -> bool7774 fn is_initialized(&self) -> bool {
7775 true
7776 }
7777
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>7778 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
7779 while let Some(tag) = is.read_raw_tag_or_eof()? {
7780 match tag {
7781 10 => {
7782 self.annotation.push(is.read_message()?);
7783 },
7784 tag => {
7785 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
7786 },
7787 };
7788 }
7789 ::std::result::Result::Ok(())
7790 }
7791
7792 // Compute sizes of nested messages
7793 #[allow(unused_variables)]
compute_size(&self) -> u647794 fn compute_size(&self) -> u64 {
7795 let mut my_size = 0;
7796 for value in &self.annotation {
7797 let len = value.compute_size();
7798 my_size += 1 + crate::rt::compute_raw_varint64_size(len) + len;
7799 };
7800 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
7801 self.special_fields.cached_size().set(my_size as u32);
7802 my_size
7803 }
7804
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>7805 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
7806 for v in &self.annotation {
7807 crate::rt::write_message_field_with_cached_size(1, v, os)?;
7808 };
7809 os.write_unknown_fields(self.special_fields.unknown_fields())?;
7810 ::std::result::Result::Ok(())
7811 }
7812
special_fields(&self) -> &crate::SpecialFields7813 fn special_fields(&self) -> &crate::SpecialFields {
7814 &self.special_fields
7815 }
7816
mut_special_fields(&mut self) -> &mut crate::SpecialFields7817 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
7818 &mut self.special_fields
7819 }
7820
new() -> GeneratedCodeInfo7821 fn new() -> GeneratedCodeInfo {
7822 GeneratedCodeInfo::new()
7823 }
7824
clear(&mut self)7825 fn clear(&mut self) {
7826 self.annotation.clear();
7827 self.special_fields.clear();
7828 }
7829
default_instance() -> &'static GeneratedCodeInfo7830 fn default_instance() -> &'static GeneratedCodeInfo {
7831 static instance: GeneratedCodeInfo = GeneratedCodeInfo {
7832 annotation: ::std::vec::Vec::new(),
7833 special_fields: crate::SpecialFields::new(),
7834 };
7835 &instance
7836 }
7837 }
7838
7839 impl crate::MessageFull for GeneratedCodeInfo {
descriptor() -> crate::reflect::MessageDescriptor7840 fn descriptor() -> crate::reflect::MessageDescriptor {
7841 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
7842 descriptor.get(|| file_descriptor().message_by_package_relative_name("GeneratedCodeInfo").unwrap()).clone()
7843 }
7844 }
7845
7846 impl ::std::fmt::Display for GeneratedCodeInfo {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7847 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7848 crate::text_format::fmt(self, f)
7849 }
7850 }
7851
7852 impl crate::reflect::ProtobufValue for GeneratedCodeInfo {
7853 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
7854 }
7855
7856 /// Nested message and enums of message `GeneratedCodeInfo`
7857 pub mod generated_code_info {
7858 #[derive(PartialEq,Clone,Default,Debug)]
7859 // @@protoc_insertion_point(message:google.protobuf.GeneratedCodeInfo.Annotation)
7860 pub struct Annotation {
7861 // message fields
7862 /// Identifies the element in the original source .proto file. This field
7863 /// is formatted the same as SourceCodeInfo.Location.path.
7864 // @@protoc_insertion_point(field:google.protobuf.GeneratedCodeInfo.Annotation.path)
7865 pub path: ::std::vec::Vec<i32>,
7866 /// Identifies the filesystem path to the original source .proto.
7867 // @@protoc_insertion_point(field:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
7868 pub source_file: ::std::option::Option<::std::string::String>,
7869 /// Identifies the starting offset in bytes in the generated code
7870 /// that relates to the identified object.
7871 // @@protoc_insertion_point(field:google.protobuf.GeneratedCodeInfo.Annotation.begin)
7872 pub begin: ::std::option::Option<i32>,
7873 /// Identifies the ending offset in bytes in the generated code that
7874 /// relates to the identified offset. The end offset should be one past
7875 /// the last relevant byte (so the length of the text = end - begin).
7876 // @@protoc_insertion_point(field:google.protobuf.GeneratedCodeInfo.Annotation.end)
7877 pub end: ::std::option::Option<i32>,
7878 // special fields
7879 // @@protoc_insertion_point(special_field:google.protobuf.GeneratedCodeInfo.Annotation.special_fields)
7880 pub special_fields: crate::SpecialFields,
7881 }
7882
7883 impl<'a> ::std::default::Default for &'a Annotation {
default() -> &'a Annotation7884 fn default() -> &'a Annotation {
7885 <Annotation as crate::Message>::default_instance()
7886 }
7887 }
7888
7889 impl Annotation {
new() -> Annotation7890 pub fn new() -> Annotation {
7891 ::std::default::Default::default()
7892 }
7893
7894 // optional string source_file = 2;
7895
source_file(&self) -> &str7896 pub fn source_file(&self) -> &str {
7897 match self.source_file.as_ref() {
7898 Some(v) => v,
7899 None => "",
7900 }
7901 }
7902
clear_source_file(&mut self)7903 pub fn clear_source_file(&mut self) {
7904 self.source_file = ::std::option::Option::None;
7905 }
7906
has_source_file(&self) -> bool7907 pub fn has_source_file(&self) -> bool {
7908 self.source_file.is_some()
7909 }
7910
7911 // Param is passed by value, moved
set_source_file(&mut self, v: ::std::string::String)7912 pub fn set_source_file(&mut self, v: ::std::string::String) {
7913 self.source_file = ::std::option::Option::Some(v);
7914 }
7915
7916 // Mutable pointer to the field.
7917 // If field is not initialized, it is initialized with default value first.
mut_source_file(&mut self) -> &mut ::std::string::String7918 pub fn mut_source_file(&mut self) -> &mut ::std::string::String {
7919 if self.source_file.is_none() {
7920 self.source_file = ::std::option::Option::Some(::std::string::String::new());
7921 }
7922 self.source_file.as_mut().unwrap()
7923 }
7924
7925 // Take field
take_source_file(&mut self) -> ::std::string::String7926 pub fn take_source_file(&mut self) -> ::std::string::String {
7927 self.source_file.take().unwrap_or_else(|| ::std::string::String::new())
7928 }
7929
7930 // optional int32 begin = 3;
7931
begin(&self) -> i327932 pub fn begin(&self) -> i32 {
7933 self.begin.unwrap_or(0)
7934 }
7935
clear_begin(&mut self)7936 pub fn clear_begin(&mut self) {
7937 self.begin = ::std::option::Option::None;
7938 }
7939
has_begin(&self) -> bool7940 pub fn has_begin(&self) -> bool {
7941 self.begin.is_some()
7942 }
7943
7944 // Param is passed by value, moved
set_begin(&mut self, v: i32)7945 pub fn set_begin(&mut self, v: i32) {
7946 self.begin = ::std::option::Option::Some(v);
7947 }
7948
7949 // optional int32 end = 4;
7950
end(&self) -> i327951 pub fn end(&self) -> i32 {
7952 self.end.unwrap_or(0)
7953 }
7954
clear_end(&mut self)7955 pub fn clear_end(&mut self) {
7956 self.end = ::std::option::Option::None;
7957 }
7958
has_end(&self) -> bool7959 pub fn has_end(&self) -> bool {
7960 self.end.is_some()
7961 }
7962
7963 // Param is passed by value, moved
set_end(&mut self, v: i32)7964 pub fn set_end(&mut self, v: i32) {
7965 self.end = ::std::option::Option::Some(v);
7966 }
7967
generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData7968 pub(in super) fn generated_message_descriptor_data() -> crate::reflect::GeneratedMessageDescriptorData {
7969 let mut fields = ::std::vec::Vec::with_capacity(4);
7970 let mut oneofs = ::std::vec::Vec::with_capacity(0);
7971 fields.push(crate::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
7972 "path",
7973 |m: &Annotation| { &m.path },
7974 |m: &mut Annotation| { &mut m.path },
7975 ));
7976 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
7977 "source_file",
7978 |m: &Annotation| { &m.source_file },
7979 |m: &mut Annotation| { &mut m.source_file },
7980 ));
7981 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
7982 "begin",
7983 |m: &Annotation| { &m.begin },
7984 |m: &mut Annotation| { &mut m.begin },
7985 ));
7986 fields.push(crate::reflect::rt::v2::make_option_accessor::<_, _>(
7987 "end",
7988 |m: &Annotation| { &m.end },
7989 |m: &mut Annotation| { &mut m.end },
7990 ));
7991 crate::reflect::GeneratedMessageDescriptorData::new_2::<Annotation>(
7992 "GeneratedCodeInfo.Annotation",
7993 fields,
7994 oneofs,
7995 )
7996 }
7997 }
7998
7999 impl crate::Message for Annotation {
8000 const NAME: &'static str = "Annotation";
8001
is_initialized(&self) -> bool8002 fn is_initialized(&self) -> bool {
8003 true
8004 }
8005
merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()>8006 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::Result<()> {
8007 while let Some(tag) = is.read_raw_tag_or_eof()? {
8008 match tag {
8009 10 => {
8010 is.read_repeated_packed_int32_into(&mut self.path)?;
8011 },
8012 8 => {
8013 self.path.push(is.read_int32()?);
8014 },
8015 18 => {
8016 self.source_file = ::std::option::Option::Some(is.read_string()?);
8017 },
8018 24 => {
8019 self.begin = ::std::option::Option::Some(is.read_int32()?);
8020 },
8021 32 => {
8022 self.end = ::std::option::Option::Some(is.read_int32()?);
8023 },
8024 tag => {
8025 crate::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
8026 },
8027 };
8028 }
8029 ::std::result::Result::Ok(())
8030 }
8031
8032 // Compute sizes of nested messages
8033 #[allow(unused_variables)]
compute_size(&self) -> u648034 fn compute_size(&self) -> u64 {
8035 let mut my_size = 0;
8036 my_size += crate::rt::vec_packed_int32_size(1, &self.path);
8037 if let Some(v) = self.source_file.as_ref() {
8038 my_size += crate::rt::string_size(2, &v);
8039 }
8040 if let Some(v) = self.begin {
8041 my_size += crate::rt::int32_size(3, v);
8042 }
8043 if let Some(v) = self.end {
8044 my_size += crate::rt::int32_size(4, v);
8045 }
8046 my_size += crate::rt::unknown_fields_size(self.special_fields.unknown_fields());
8047 self.special_fields.cached_size().set(my_size as u32);
8048 my_size
8049 }
8050
write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()>8051 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::Result<()> {
8052 os.write_repeated_packed_int32(1, &self.path)?;
8053 if let Some(v) = self.source_file.as_ref() {
8054 os.write_string(2, v)?;
8055 }
8056 if let Some(v) = self.begin {
8057 os.write_int32(3, v)?;
8058 }
8059 if let Some(v) = self.end {
8060 os.write_int32(4, v)?;
8061 }
8062 os.write_unknown_fields(self.special_fields.unknown_fields())?;
8063 ::std::result::Result::Ok(())
8064 }
8065
special_fields(&self) -> &crate::SpecialFields8066 fn special_fields(&self) -> &crate::SpecialFields {
8067 &self.special_fields
8068 }
8069
mut_special_fields(&mut self) -> &mut crate::SpecialFields8070 fn mut_special_fields(&mut self) -> &mut crate::SpecialFields {
8071 &mut self.special_fields
8072 }
8073
new() -> Annotation8074 fn new() -> Annotation {
8075 Annotation::new()
8076 }
8077
clear(&mut self)8078 fn clear(&mut self) {
8079 self.path.clear();
8080 self.source_file = ::std::option::Option::None;
8081 self.begin = ::std::option::Option::None;
8082 self.end = ::std::option::Option::None;
8083 self.special_fields.clear();
8084 }
8085
default_instance() -> &'static Annotation8086 fn default_instance() -> &'static Annotation {
8087 static instance: Annotation = Annotation {
8088 path: ::std::vec::Vec::new(),
8089 source_file: ::std::option::Option::None,
8090 begin: ::std::option::Option::None,
8091 end: ::std::option::Option::None,
8092 special_fields: crate::SpecialFields::new(),
8093 };
8094 &instance
8095 }
8096 }
8097
8098 impl crate::MessageFull for Annotation {
descriptor() -> crate::reflect::MessageDescriptor8099 fn descriptor() -> crate::reflect::MessageDescriptor {
8100 static descriptor: crate::rt::Lazy<crate::reflect::MessageDescriptor> = crate::rt::Lazy::new();
8101 descriptor.get(|| super::file_descriptor().message_by_package_relative_name("GeneratedCodeInfo.Annotation").unwrap()).clone()
8102 }
8103 }
8104
8105 impl ::std::fmt::Display for Annotation {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8106 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8107 crate::text_format::fmt(self, f)
8108 }
8109 }
8110
8111 impl crate::reflect::ProtobufValue for Annotation {
8112 type RuntimeType = crate::reflect::rt::RuntimeTypeMessage<Self>;
8113 }
8114 }
8115
8116 static file_descriptor_proto_data: &'static [u8] = b"\
8117 \n\x20google/protobuf/descriptor.proto\x12\x0fgoogle.protobuf\"M\n\x11Fi\
8118 leDescriptorSet\x128\n\x04file\x18\x01\x20\x03(\x0b2$.google.protobuf.Fi\
8119 leDescriptorProtoR\x04file\"\xe4\x04\n\x13FileDescriptorProto\x12\x12\n\
8120 \x04name\x18\x01\x20\x01(\tR\x04name\x12\x18\n\x07package\x18\x02\x20\
8121 \x01(\tR\x07package\x12\x1e\n\ndependency\x18\x03\x20\x03(\tR\ndependenc\
8122 y\x12+\n\x11public_dependency\x18\n\x20\x03(\x05R\x10publicDependency\
8123 \x12'\n\x0fweak_dependency\x18\x0b\x20\x03(\x05R\x0eweakDependency\x12C\
8124 \n\x0cmessage_type\x18\x04\x20\x03(\x0b2\x20.google.protobuf.DescriptorP\
8125 rotoR\x0bmessageType\x12A\n\tenum_type\x18\x05\x20\x03(\x0b2$.google.pro\
8126 tobuf.EnumDescriptorProtoR\x08enumType\x12A\n\x07service\x18\x06\x20\x03\
8127 (\x0b2'.google.protobuf.ServiceDescriptorProtoR\x07service\x12C\n\texten\
8128 sion\x18\x07\x20\x03(\x0b2%.google.protobuf.FieldDescriptorProtoR\texten\
8129 sion\x126\n\x07options\x18\x08\x20\x01(\x0b2\x1c.google.protobuf.FileOpt\
8130 ionsR\x07options\x12I\n\x10source_code_info\x18\t\x20\x01(\x0b2\x1f.goog\
8131 le.protobuf.SourceCodeInfoR\x0esourceCodeInfo\x12\x16\n\x06syntax\x18\
8132 \x0c\x20\x01(\tR\x06syntax\"\xb9\x06\n\x0fDescriptorProto\x12\x12\n\x04n\
8133 ame\x18\x01\x20\x01(\tR\x04name\x12;\n\x05field\x18\x02\x20\x03(\x0b2%.g\
8134 oogle.protobuf.FieldDescriptorProtoR\x05field\x12C\n\textension\x18\x06\
8135 \x20\x03(\x0b2%.google.protobuf.FieldDescriptorProtoR\textension\x12A\n\
8136 \x0bnested_type\x18\x03\x20\x03(\x0b2\x20.google.protobuf.DescriptorProt\
8137 oR\nnestedType\x12A\n\tenum_type\x18\x04\x20\x03(\x0b2$.google.protobuf.\
8138 EnumDescriptorProtoR\x08enumType\x12X\n\x0fextension_range\x18\x05\x20\
8139 \x03(\x0b2/.google.protobuf.DescriptorProto.ExtensionRangeR\x0eextension\
8140 Range\x12D\n\noneof_decl\x18\x08\x20\x03(\x0b2%.google.protobuf.OneofDes\
8141 criptorProtoR\toneofDecl\x129\n\x07options\x18\x07\x20\x01(\x0b2\x1f.goo\
8142 gle.protobuf.MessageOptionsR\x07options\x12U\n\x0ereserved_range\x18\t\
8143 \x20\x03(\x0b2..google.protobuf.DescriptorProto.ReservedRangeR\rreserved\
8144 Range\x12#\n\rreserved_name\x18\n\x20\x03(\tR\x0creservedName\x1az\n\x0e\
8145 ExtensionRange\x12\x14\n\x05start\x18\x01\x20\x01(\x05R\x05start\x12\x10\
8146 \n\x03end\x18\x02\x20\x01(\x05R\x03end\x12@\n\x07options\x18\x03\x20\x01\
8147 (\x0b2&.google.protobuf.ExtensionRangeOptionsR\x07options\x1a7\n\rReserv\
8148 edRange\x12\x14\n\x05start\x18\x01\x20\x01(\x05R\x05start\x12\x10\n\x03e\
8149 nd\x18\x02\x20\x01(\x05R\x03end\"|\n\x15ExtensionRangeOptions\x12X\n\x14\
8150 uninterpreted_option\x18\xe7\x07\x20\x03(\x0b2$.google.protobuf.Uninterp\
8151 retedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\
8152 \x02\"\xc1\x06\n\x14FieldDescriptorProto\x12\x12\n\x04name\x18\x01\x20\
8153 \x01(\tR\x04name\x12\x16\n\x06number\x18\x03\x20\x01(\x05R\x06number\x12\
8154 A\n\x05label\x18\x04\x20\x01(\x0e2+.google.protobuf.FieldDescriptorProto\
8155 .LabelR\x05label\x12>\n\x04type\x18\x05\x20\x01(\x0e2*.google.protobuf.F\
8156 ieldDescriptorProto.TypeR\x04type\x12\x1b\n\ttype_name\x18\x06\x20\x01(\
8157 \tR\x08typeName\x12\x1a\n\x08extendee\x18\x02\x20\x01(\tR\x08extendee\
8158 \x12#\n\rdefault_value\x18\x07\x20\x01(\tR\x0cdefaultValue\x12\x1f\n\x0b\
8159 oneof_index\x18\t\x20\x01(\x05R\noneofIndex\x12\x1b\n\tjson_name\x18\n\
8160 \x20\x01(\tR\x08jsonName\x127\n\x07options\x18\x08\x20\x01(\x0b2\x1d.goo\
8161 gle.protobuf.FieldOptionsR\x07options\x12'\n\x0fproto3_optional\x18\x11\
8162 \x20\x01(\x08R\x0eproto3Optional\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_D\
8163 OUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\
8164 \x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\
8165 \x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\
8166 \tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\
8167 \x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\
8168 \x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTY\
8169 PE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_S\
8170 INT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\
8171 \x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\x12\x12\n\
8172 \x0eLABEL_REPEATED\x10\x03\"c\n\x14OneofDescriptorProto\x12\x12\n\x04nam\
8173 e\x18\x01\x20\x01(\tR\x04name\x127\n\x07options\x18\x02\x20\x01(\x0b2\
8174 \x1d.google.protobuf.OneofOptionsR\x07options\"\xe3\x02\n\x13EnumDescrip\
8175 torProto\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12?\n\x05value\
8176 \x18\x02\x20\x03(\x0b2).google.protobuf.EnumValueDescriptorProtoR\x05val\
8177 ue\x126\n\x07options\x18\x03\x20\x01(\x0b2\x1c.google.protobuf.EnumOptio\
8178 nsR\x07options\x12]\n\x0ereserved_range\x18\x04\x20\x03(\x0b26.google.pr\
8179 otobuf.EnumDescriptorProto.EnumReservedRangeR\rreservedRange\x12#\n\rres\
8180 erved_name\x18\x05\x20\x03(\tR\x0creservedName\x1a;\n\x11EnumReservedRan\
8181 ge\x12\x14\n\x05start\x18\x01\x20\x01(\x05R\x05start\x12\x10\n\x03end\
8182 \x18\x02\x20\x01(\x05R\x03end\"\x83\x01\n\x18EnumValueDescriptorProto\
8183 \x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x16\n\x06number\x18\
8184 \x02\x20\x01(\x05R\x06number\x12;\n\x07options\x18\x03\x20\x01(\x0b2!.go\
8185 ogle.protobuf.EnumValueOptionsR\x07options\"\xa7\x01\n\x16ServiceDescrip\
8186 torProto\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12>\n\x06method\
8187 \x18\x02\x20\x03(\x0b2&.google.protobuf.MethodDescriptorProtoR\x06method\
8188 \x129\n\x07options\x18\x03\x20\x01(\x0b2\x1f.google.protobuf.ServiceOpti\
8189 onsR\x07options\"\x89\x02\n\x15MethodDescriptorProto\x12\x12\n\x04name\
8190 \x18\x01\x20\x01(\tR\x04name\x12\x1d\n\ninput_type\x18\x02\x20\x01(\tR\t\
8191 inputType\x12\x1f\n\x0boutput_type\x18\x03\x20\x01(\tR\noutputType\x128\
8192 \n\x07options\x18\x04\x20\x01(\x0b2\x1e.google.protobuf.MethodOptionsR\
8193 \x07options\x120\n\x10client_streaming\x18\x05\x20\x01(\x08:\x05falseR\
8194 \x0fclientStreaming\x120\n\x10server_streaming\x18\x06\x20\x01(\x08:\x05\
8195 falseR\x0fserverStreaming\"\x91\t\n\x0bFileOptions\x12!\n\x0cjava_packag\
8196 e\x18\x01\x20\x01(\tR\x0bjavaPackage\x120\n\x14java_outer_classname\x18\
8197 \x08\x20\x01(\tR\x12javaOuterClassname\x125\n\x13java_multiple_files\x18\
8198 \n\x20\x01(\x08:\x05falseR\x11javaMultipleFiles\x12D\n\x1djava_generate_\
8199 equals_and_hash\x18\x14\x20\x01(\x08R\x19javaGenerateEqualsAndHashB\x02\
8200 \x18\x01\x12:\n\x16java_string_check_utf8\x18\x1b\x20\x01(\x08:\x05false\
8201 R\x13javaStringCheckUtf8\x12S\n\x0coptimize_for\x18\t\x20\x01(\x0e2).goo\
8202 gle.protobuf.FileOptions.OptimizeMode:\x05SPEEDR\x0boptimizeFor\x12\x1d\
8203 \n\ngo_package\x18\x0b\x20\x01(\tR\tgoPackage\x125\n\x13cc_generic_servi\
8204 ces\x18\x10\x20\x01(\x08:\x05falseR\x11ccGenericServices\x129\n\x15java_\
8205 generic_services\x18\x11\x20\x01(\x08:\x05falseR\x13javaGenericServices\
8206 \x125\n\x13py_generic_services\x18\x12\x20\x01(\x08:\x05falseR\x11pyGene\
8207 ricServices\x127\n\x14php_generic_services\x18*\x20\x01(\x08:\x05falseR\
8208 \x12phpGenericServices\x12%\n\ndeprecated\x18\x17\x20\x01(\x08:\x05false\
8209 R\ndeprecated\x12.\n\x10cc_enable_arenas\x18\x1f\x20\x01(\x08:\x04trueR\
8210 \x0eccEnableArenas\x12*\n\x11objc_class_prefix\x18$\x20\x01(\tR\x0fobjcC\
8211 lassPrefix\x12)\n\x10csharp_namespace\x18%\x20\x01(\tR\x0fcsharpNamespac\
8212 e\x12!\n\x0cswift_prefix\x18'\x20\x01(\tR\x0bswiftPrefix\x12(\n\x10php_c\
8213 lass_prefix\x18(\x20\x01(\tR\x0ephpClassPrefix\x12#\n\rphp_namespace\x18\
8214 )\x20\x01(\tR\x0cphpNamespace\x124\n\x16php_metadata_namespace\x18,\x20\
8215 \x01(\tR\x14phpMetadataNamespace\x12!\n\x0cruby_package\x18-\x20\x01(\tR\
8216 \x0brubyPackage\x12X\n\x14uninterpreted_option\x18\xe7\x07\x20\x03(\x0b2\
8217 $.google.protobuf.UninterpretedOptionR\x13uninterpretedOption\":\n\x0cOp\
8218 timizeMode\x12\t\n\x05SPEED\x10\x01\x12\r\n\tCODE_SIZE\x10\x02\x12\x10\n\
8219 \x0cLITE_RUNTIME\x10\x03*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\
8220 &\x10'\"\xe3\x02\n\x0eMessageOptions\x12<\n\x17message_set_wire_format\
8221 \x18\x01\x20\x01(\x08:\x05falseR\x14messageSetWireFormat\x12L\n\x1fno_st\
8222 andard_descriptor_accessor\x18\x02\x20\x01(\x08:\x05falseR\x1cnoStandard\
8223 DescriptorAccessor\x12%\n\ndeprecated\x18\x03\x20\x01(\x08:\x05falseR\nd\
8224 eprecated\x12\x1b\n\tmap_entry\x18\x07\x20\x01(\x08R\x08mapEntry\x12X\n\
8225 \x14uninterpreted_option\x18\xe7\x07\x20\x03(\x0b2$.google.protobuf.Unin\
8226 terpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\
8227 \x80\x02J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\
8228 \x04\x08\x08\x10\tJ\x04\x08\t\x10\n\"\xe2\x03\n\x0cFieldOptions\x12A\n\
8229 \x05ctype\x18\x01\x20\x01(\x0e2#.google.protobuf.FieldOptions.CType:\x06\
8230 STRINGR\x05ctype\x12\x16\n\x06packed\x18\x02\x20\x01(\x08R\x06packed\x12\
8231 G\n\x06jstype\x18\x06\x20\x01(\x0e2$.google.protobuf.FieldOptions.JSType\
8232 :\tJS_NORMALR\x06jstype\x12\x19\n\x04lazy\x18\x05\x20\x01(\x08:\x05false\
8233 R\x04lazy\x12%\n\ndeprecated\x18\x03\x20\x01(\x08:\x05falseR\ndeprecated\
8234 \x12\x19\n\x04weak\x18\n\x20\x01(\x08:\x05falseR\x04weak\x12X\n\x14unint\
8235 erpreted_option\x18\xe7\x07\x20\x03(\x0b2$.google.protobuf.Uninterpreted\
8236 OptionR\x13uninterpretedOption\"/\n\x05CType\x12\n\n\x06STRING\x10\0\x12\
8237 \x08\n\x04CORD\x10\x01\x12\x10\n\x0cSTRING_PIECE\x10\x02\"5\n\x06JSType\
8238 \x12\r\n\tJS_NORMAL\x10\0\x12\r\n\tJS_STRING\x10\x01\x12\r\n\tJS_NUMBER\
8239 \x10\x02*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\x04\x10\x05\"s\
8240 \n\x0cOneofOptions\x12X\n\x14uninterpreted_option\x18\xe7\x07\x20\x03(\
8241 \x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\
8242 \x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xc0\x01\n\x0bEnumOptions\x12\x1f\
8243 \n\x0ballow_alias\x18\x02\x20\x01(\x08R\nallowAlias\x12%\n\ndeprecated\
8244 \x18\x03\x20\x01(\x08:\x05falseR\ndeprecated\x12X\n\x14uninterpreted_opt\
8245 ion\x18\xe7\x07\x20\x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13u\
8246 ninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\x05\
8247 \x10\x06\"\x9e\x01\n\x10EnumValueOptions\x12%\n\ndeprecated\x18\x01\x20\
8248 \x01(\x08:\x05falseR\ndeprecated\x12X\n\x14uninterpreted_option\x18\xe7\
8249 \x07\x20\x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterprete\
8250 dOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\x9c\x01\n\x0eServiceOpt\
8251 ions\x12%\n\ndeprecated\x18!\x20\x01(\x08:\x05falseR\ndeprecated\x12X\n\
8252 \x14uninterpreted_option\x18\xe7\x07\x20\x03(\x0b2$.google.protobuf.Unin\
8253 terpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\
8254 \x80\x02\"\xe0\x02\n\rMethodOptions\x12%\n\ndeprecated\x18!\x20\x01(\x08\
8255 :\x05falseR\ndeprecated\x12q\n\x11idempotency_level\x18\"\x20\x01(\x0e2/\
8256 .google.protobuf.MethodOptions.IdempotencyLevel:\x13IDEMPOTENCY_UNKNOWNR\
8257 \x10idempotencyLevel\x12X\n\x14uninterpreted_option\x18\xe7\x07\x20\x03(\
8258 \x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption\"P\n\
8259 \x10IdempotencyLevel\x12\x17\n\x13IDEMPOTENCY_UNKNOWN\x10\0\x12\x13\n\
8260 \x0fNO_SIDE_EFFECTS\x10\x01\x12\x0e\n\nIDEMPOTENT\x10\x02*\t\x08\xe8\x07\
8261 \x10\x80\x80\x80\x80\x02\"\x9a\x03\n\x13UninterpretedOption\x12A\n\x04na\
8262 me\x18\x02\x20\x03(\x0b2-.google.protobuf.UninterpretedOption.NamePartR\
8263 \x04name\x12)\n\x10identifier_value\x18\x03\x20\x01(\tR\x0fidentifierVal\
8264 ue\x12,\n\x12positive_int_value\x18\x04\x20\x01(\x04R\x10positiveIntValu\
8265 e\x12,\n\x12negative_int_value\x18\x05\x20\x01(\x03R\x10negativeIntValue\
8266 \x12!\n\x0cdouble_value\x18\x06\x20\x01(\x01R\x0bdoubleValue\x12!\n\x0cs\
8267 tring_value\x18\x07\x20\x01(\x0cR\x0bstringValue\x12'\n\x0faggregate_val\
8268 ue\x18\x08\x20\x01(\tR\x0eaggregateValue\x1aJ\n\x08NamePart\x12\x1b\n\tn\
8269 ame_part\x18\x01\x20\x02(\tR\x08namePart\x12!\n\x0cis_extension\x18\x02\
8270 \x20\x02(\x08R\x0bisExtension\"\xa7\x02\n\x0eSourceCodeInfo\x12D\n\x08lo\
8271 cation\x18\x01\x20\x03(\x0b2(.google.protobuf.SourceCodeInfo.LocationR\
8272 \x08location\x1a\xce\x01\n\x08Location\x12\x16\n\x04path\x18\x01\x20\x03\
8273 (\x05R\x04pathB\x02\x10\x01\x12\x16\n\x04span\x18\x02\x20\x03(\x05R\x04s\
8274 panB\x02\x10\x01\x12)\n\x10leading_comments\x18\x03\x20\x01(\tR\x0fleadi\
8275 ngComments\x12+\n\x11trailing_comments\x18\x04\x20\x01(\tR\x10trailingCo\
8276 mments\x12:\n\x19leading_detached_comments\x18\x06\x20\x03(\tR\x17leadin\
8277 gDetachedComments\"\xd1\x01\n\x11GeneratedCodeInfo\x12M\n\nannotation\
8278 \x18\x01\x20\x03(\x0b2-.google.protobuf.GeneratedCodeInfo.AnnotationR\na\
8279 nnotation\x1am\n\nAnnotation\x12\x16\n\x04path\x18\x01\x20\x03(\x05R\x04\
8280 pathB\x02\x10\x01\x12\x1f\n\x0bsource_file\x18\x02\x20\x01(\tR\nsourceFi\
8281 le\x12\x14\n\x05begin\x18\x03\x20\x01(\x05R\x05begin\x12\x10\n\x03end\
8282 \x18\x04\x20\x01(\x05R\x03endB~\n\x13com.google.protobufB\x10DescriptorP\
8283 rotosH\x01Z-google.golang.org/protobuf/types/descriptorpb\xf8\x01\x01\
8284 \xa2\x02\x03GPB\xaa\x02\x1aGoogle.Protobuf.ReflectionJ\x82\xca\x02\n\x07\
8285 \x12\x05'\0\x8e\x07\x01\n\xaa\x0f\n\x01\x0c\x12\x03'\0\x122\xc1\x0c\x20P\
8286 rotocol\x20Buffers\x20-\x20Google's\x20data\x20interchange\x20format\n\
8287 \x20Copyright\x202008\x20Google\x20Inc.\x20\x20All\x20rights\x20reserved\
8288 .\n\x20https://developers.google.com/protocol-buffers/\n\n\x20Redistribu\
8289 tion\x20and\x20use\x20in\x20source\x20and\x20binary\x20forms,\x20with\
8290 \x20or\x20without\n\x20modification,\x20are\x20permitted\x20provided\x20\
8291 that\x20the\x20following\x20conditions\x20are\n\x20met:\n\n\x20\x20\x20\
8292 \x20\x20*\x20Redistributions\x20of\x20source\x20code\x20must\x20retain\
8293 \x20the\x20above\x20copyright\n\x20notice,\x20this\x20list\x20of\x20cond\
8294 itions\x20and\x20the\x20following\x20disclaimer.\n\x20\x20\x20\x20\x20*\
8295 \x20Redistributions\x20in\x20binary\x20form\x20must\x20reproduce\x20the\
8296 \x20above\n\x20copyright\x20notice,\x20this\x20list\x20of\x20conditions\
8297 \x20and\x20the\x20following\x20disclaimer\n\x20in\x20the\x20documentatio\
8298 n\x20and/or\x20other\x20materials\x20provided\x20with\x20the\n\x20distri\
8299 bution.\n\x20\x20\x20\x20\x20*\x20Neither\x20the\x20name\x20of\x20Google\
8300 \x20Inc.\x20nor\x20the\x20names\x20of\x20its\n\x20contributors\x20may\
8301 \x20be\x20used\x20to\x20endorse\x20or\x20promote\x20products\x20derived\
8302 \x20from\n\x20this\x20software\x20without\x20specific\x20prior\x20writte\
8303 n\x20permission.\n\n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDED\x20BY\x20THE\
8304 \x20COPYRIGHT\x20HOLDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\x20AND\
8305 \x20ANY\x20EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INCLUDING,\x20BUT\
8306 \x20NOT\n\x20LIMITED\x20TO,\x20THE\x20IMPLIED\x20WARRANTIES\x20OF\x20MER\
8307 CHANTABILITY\x20AND\x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\x20PURPOSE\
8308 \x20ARE\x20DISCLAIMED.\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\x20COPYRIGHT\
8309 \n\x20OWNER\x20OR\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20DIREC\
8310 T,\x20INDIRECT,\x20INCIDENTAL,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20CONS\
8311 EQUENTIAL\x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\
8312 \x20PROCUREMENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\
8313 \x20OF\x20USE,\n\x20DATA,\x20OR\x20PROFITS;\x20OR\x20BUSINESS\x20INTERRU\
8314 PTION)\x20HOWEVER\x20CAUSED\x20AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIA\
8315 BILITY,\x20WHETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILITY,\x20OR\x20T\
8316 ORT\n\x20(INCLUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\
8317 \x20ANY\x20WAY\x20OUT\x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\
8318 \x20EVEN\x20IF\x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20D\
8319 AMAGE.\n2\xdb\x02\x20Author:\x20kenton@google.com\x20(Kenton\x20Varda)\n\
8320 \x20\x20Based\x20on\x20original\x20Protocol\x20Buffers\x20design\x20by\n\
8321 \x20\x20Sanjay\x20Ghemawat,\x20Jeff\x20Dean,\x20and\x20others.\n\n\x20Th\
8322 e\x20messages\x20in\x20this\x20file\x20describe\x20the\x20definitions\
8323 \x20found\x20in\x20.proto\x20files.\n\x20A\x20valid\x20.proto\x20file\
8324 \x20can\x20be\x20translated\x20directly\x20to\x20a\x20FileDescriptorProt\
8325 o\n\x20without\x20any\x20other\x20information\x20(e.g.\x20without\x20rea\
8326 ding\x20its\x20imports).\n\n\x08\n\x01\x02\x12\x03)\0\x18\n\x08\n\x01\
8327 \x08\x12\x03+\0D\n\t\n\x02\x08\x0b\x12\x03+\0D\n\x08\n\x01\x08\x12\x03,\
8328 \0,\n\t\n\x02\x08\x01\x12\x03,\0,\n\x08\n\x01\x08\x12\x03-\01\n\t\n\x02\
8329 \x08\x08\x12\x03-\01\n\x08\n\x01\x08\x12\x03.\07\n\t\n\x02\x08%\x12\x03.\
8330 \07\n\x08\n\x01\x08\x12\x03/\0!\n\t\n\x02\x08$\x12\x03/\0!\n\x08\n\x01\
8331 \x08\x12\x030\0\x1f\n\t\n\x02\x08\x1f\x12\x030\0\x1f\n\x08\n\x01\x08\x12\
8332 \x034\0\x1c\n\x7f\n\x02\x08\t\x12\x034\0\x1c\x1at\x20descriptor.proto\
8333 \x20must\x20be\x20optimized\x20for\x20speed\x20because\x20reflection-bas\
8334 ed\n\x20algorithms\x20don't\x20work\x20during\x20bootstrapping.\n\nj\n\
8335 \x02\x04\0\x12\x048\0:\x01\x1a^\x20The\x20protocol\x20compiler\x20can\
8336 \x20output\x20a\x20FileDescriptorSet\x20containing\x20the\x20.proto\n\
8337 \x20files\x20it\x20parses.\n\n\n\n\x03\x04\0\x01\x12\x038\x08\x19\n\x0b\
8338 \n\x04\x04\0\x02\0\x12\x039\x02(\n\x0c\n\x05\x04\0\x02\0\x04\x12\x039\
8339 \x02\n\n\x0c\n\x05\x04\0\x02\0\x06\x12\x039\x0b\x1e\n\x0c\n\x05\x04\0\
8340 \x02\0\x01\x12\x039\x1f#\n\x0c\n\x05\x04\0\x02\0\x03\x12\x039&'\n/\n\x02\
8341 \x04\x01\x12\x04=\0Z\x01\x1a#\x20Describes\x20a\x20complete\x20.proto\
8342 \x20file.\n\n\n\n\x03\x04\x01\x01\x12\x03=\x08\x1b\n9\n\x04\x04\x01\x02\
8343 \0\x12\x03>\x02\x1b\",\x20file\x20name,\x20relative\x20to\x20root\x20of\
8344 \x20source\x20tree\n\n\x0c\n\x05\x04\x01\x02\0\x04\x12\x03>\x02\n\n\x0c\
8345 \n\x05\x04\x01\x02\0\x05\x12\x03>\x0b\x11\n\x0c\n\x05\x04\x01\x02\0\x01\
8346 \x12\x03>\x12\x16\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03>\x19\x1a\n*\n\
8347 \x04\x04\x01\x02\x01\x12\x03?\x02\x1e\"\x1d\x20e.g.\x20\"foo\",\x20\"foo\
8348 .bar\",\x20etc.\n\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03?\x02\n\n\x0c\n\
8349 \x05\x04\x01\x02\x01\x05\x12\x03?\x0b\x11\n\x0c\n\x05\x04\x01\x02\x01\
8350 \x01\x12\x03?\x12\x19\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03?\x1c\x1d\n\
8351 4\n\x04\x04\x01\x02\x02\x12\x03B\x02!\x1a'\x20Names\x20of\x20files\x20im\
8352 ported\x20by\x20this\x20file.\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03B\
8353 \x02\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03B\x0b\x11\n\x0c\n\x05\x04\
8354 \x01\x02\x02\x01\x12\x03B\x12\x1c\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\
8355 \x03B\x1f\x20\nQ\n\x04\x04\x01\x02\x03\x12\x03D\x02(\x1aD\x20Indexes\x20\
8356 of\x20the\x20public\x20imported\x20files\x20in\x20the\x20dependency\x20l\
8357 ist\x20above.\n\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03D\x02\n\n\x0c\n\
8358 \x05\x04\x01\x02\x03\x05\x12\x03D\x0b\x10\n\x0c\n\x05\x04\x01\x02\x03\
8359 \x01\x12\x03D\x11\"\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03D%'\nz\n\x04\
8360 \x04\x01\x02\x04\x12\x03G\x02&\x1am\x20Indexes\x20of\x20the\x20weak\x20i\
8361 mported\x20files\x20in\x20the\x20dependency\x20list.\n\x20For\x20Google-\
8362 internal\x20migration\x20only.\x20Do\x20not\x20use.\n\n\x0c\n\x05\x04\
8363 \x01\x02\x04\x04\x12\x03G\x02\n\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03G\
8364 \x0b\x10\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03G\x11\x20\n\x0c\n\x05\
8365 \x04\x01\x02\x04\x03\x12\x03G#%\n6\n\x04\x04\x01\x02\x05\x12\x03J\x02,\
8366 \x1a)\x20All\x20top-level\x20definitions\x20in\x20this\x20file.\n\n\x0c\
8367 \n\x05\x04\x01\x02\x05\x04\x12\x03J\x02\n\n\x0c\n\x05\x04\x01\x02\x05\
8368 \x06\x12\x03J\x0b\x1a\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03J\x1b'\n\
8369 \x0c\n\x05\x04\x01\x02\x05\x03\x12\x03J*+\n\x0b\n\x04\x04\x01\x02\x06\
8370 \x12\x03K\x02-\n\x0c\n\x05\x04\x01\x02\x06\x04\x12\x03K\x02\n\n\x0c\n\
8371 \x05\x04\x01\x02\x06\x06\x12\x03K\x0b\x1e\n\x0c\n\x05\x04\x01\x02\x06\
8372 \x01\x12\x03K\x1f(\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x03K+,\n\x0b\n\
8373 \x04\x04\x01\x02\x07\x12\x03L\x02.\n\x0c\n\x05\x04\x01\x02\x07\x04\x12\
8374 \x03L\x02\n\n\x0c\n\x05\x04\x01\x02\x07\x06\x12\x03L\x0b!\n\x0c\n\x05\
8375 \x04\x01\x02\x07\x01\x12\x03L\")\n\x0c\n\x05\x04\x01\x02\x07\x03\x12\x03\
8376 L,-\n\x0b\n\x04\x04\x01\x02\x08\x12\x03M\x02.\n\x0c\n\x05\x04\x01\x02\
8377 \x08\x04\x12\x03M\x02\n\n\x0c\n\x05\x04\x01\x02\x08\x06\x12\x03M\x0b\x1f\
8378 \n\x0c\n\x05\x04\x01\x02\x08\x01\x12\x03M\x20)\n\x0c\n\x05\x04\x01\x02\
8379 \x08\x03\x12\x03M,-\n\x0b\n\x04\x04\x01\x02\t\x12\x03O\x02#\n\x0c\n\x05\
8380 \x04\x01\x02\t\x04\x12\x03O\x02\n\n\x0c\n\x05\x04\x01\x02\t\x06\x12\x03O\
8381 \x0b\x16\n\x0c\n\x05\x04\x01\x02\t\x01\x12\x03O\x17\x1e\n\x0c\n\x05\x04\
8382 \x01\x02\t\x03\x12\x03O!\"\n\xf4\x01\n\x04\x04\x01\x02\n\x12\x03U\x02/\
8383 \x1a\xe6\x01\x20This\x20field\x20contains\x20optional\x20information\x20\
8384 about\x20the\x20original\x20source\x20code.\n\x20You\x20may\x20safely\
8385 \x20remove\x20this\x20entire\x20field\x20without\x20harming\x20runtime\n\
8386 \x20functionality\x20of\x20the\x20descriptors\x20--\x20the\x20informatio\
8387 n\x20is\x20needed\x20only\x20by\n\x20development\x20tools.\n\n\x0c\n\x05\
8388 \x04\x01\x02\n\x04\x12\x03U\x02\n\n\x0c\n\x05\x04\x01\x02\n\x06\x12\x03U\
8389 \x0b\x19\n\x0c\n\x05\x04\x01\x02\n\x01\x12\x03U\x1a*\n\x0c\n\x05\x04\x01\
8390 \x02\n\x03\x12\x03U-.\n]\n\x04\x04\x01\x02\x0b\x12\x03Y\x02\x1e\x1aP\x20\
8391 The\x20syntax\x20of\x20the\x20proto\x20file.\n\x20The\x20supported\x20va\
8392 lues\x20are\x20\"proto2\"\x20and\x20\"proto3\".\n\n\x0c\n\x05\x04\x01\
8393 \x02\x0b\x04\x12\x03Y\x02\n\n\x0c\n\x05\x04\x01\x02\x0b\x05\x12\x03Y\x0b\
8394 \x11\n\x0c\n\x05\x04\x01\x02\x0b\x01\x12\x03Y\x12\x18\n\x0c\n\x05\x04\
8395 \x01\x02\x0b\x03\x12\x03Y\x1b\x1d\n'\n\x02\x04\x02\x12\x04]\0}\x01\x1a\
8396 \x1b\x20Describes\x20a\x20message\x20type.\n\n\n\n\x03\x04\x02\x01\x12\
8397 \x03]\x08\x17\n\x0b\n\x04\x04\x02\x02\0\x12\x03^\x02\x1b\n\x0c\n\x05\x04\
8398 \x02\x02\0\x04\x12\x03^\x02\n\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03^\x0b\
8399 \x11\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03^\x12\x16\n\x0c\n\x05\x04\x02\
8400 \x02\0\x03\x12\x03^\x19\x1a\n\x0b\n\x04\x04\x02\x02\x01\x12\x03`\x02*\n\
8401 \x0c\n\x05\x04\x02\x02\x01\x04\x12\x03`\x02\n\n\x0c\n\x05\x04\x02\x02\
8402 \x01\x06\x12\x03`\x0b\x1f\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03`\x20%\
8403 \n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03`()\n\x0b\n\x04\x04\x02\x02\x02\
8404 \x12\x03a\x02.\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03a\x02\n\n\x0c\n\
8405 \x05\x04\x02\x02\x02\x06\x12\x03a\x0b\x1f\n\x0c\n\x05\x04\x02\x02\x02\
8406 \x01\x12\x03a\x20)\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03a,-\n\x0b\n\
8407 \x04\x04\x02\x02\x03\x12\x03c\x02+\n\x0c\n\x05\x04\x02\x02\x03\x04\x12\
8408 \x03c\x02\n\n\x0c\n\x05\x04\x02\x02\x03\x06\x12\x03c\x0b\x1a\n\x0c\n\x05\
8409 \x04\x02\x02\x03\x01\x12\x03c\x1b&\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\
8410 \x03c)*\n\x0b\n\x04\x04\x02\x02\x04\x12\x03d\x02-\n\x0c\n\x05\x04\x02\
8411 \x02\x04\x04\x12\x03d\x02\n\n\x0c\n\x05\x04\x02\x02\x04\x06\x12\x03d\x0b\
8412 \x1e\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03d\x1f(\n\x0c\n\x05\x04\x02\
8413 \x02\x04\x03\x12\x03d+,\n\x0c\n\x04\x04\x02\x03\0\x12\x04f\x02k\x03\n\
8414 \x0c\n\x05\x04\x02\x03\0\x01\x12\x03f\n\x18\n\x1b\n\x06\x04\x02\x03\0\
8415 \x02\0\x12\x03g\x04\x1d\"\x0c\x20Inclusive.\n\n\x0e\n\x07\x04\x02\x03\0\
8416 \x02\0\x04\x12\x03g\x04\x0c\n\x0e\n\x07\x04\x02\x03\0\x02\0\x05\x12\x03g\
8417 \r\x12\n\x0e\n\x07\x04\x02\x03\0\x02\0\x01\x12\x03g\x13\x18\n\x0e\n\x07\
8418 \x04\x02\x03\0\x02\0\x03\x12\x03g\x1b\x1c\n\x1b\n\x06\x04\x02\x03\0\x02\
8419 \x01\x12\x03h\x04\x1b\"\x0c\x20Exclusive.\n\n\x0e\n\x07\x04\x02\x03\0\
8420 \x02\x01\x04\x12\x03h\x04\x0c\n\x0e\n\x07\x04\x02\x03\0\x02\x01\x05\x12\
8421 \x03h\r\x12\n\x0e\n\x07\x04\x02\x03\0\x02\x01\x01\x12\x03h\x13\x16\n\x0e\
8422 \n\x07\x04\x02\x03\0\x02\x01\x03\x12\x03h\x19\x1a\n\r\n\x06\x04\x02\x03\
8423 \0\x02\x02\x12\x03j\x04/\n\x0e\n\x07\x04\x02\x03\0\x02\x02\x04\x12\x03j\
8424 \x04\x0c\n\x0e\n\x07\x04\x02\x03\0\x02\x02\x06\x12\x03j\r\"\n\x0e\n\x07\
8425 \x04\x02\x03\0\x02\x02\x01\x12\x03j#*\n\x0e\n\x07\x04\x02\x03\0\x02\x02\
8426 \x03\x12\x03j-.\n\x0b\n\x04\x04\x02\x02\x05\x12\x03l\x02.\n\x0c\n\x05\
8427 \x04\x02\x02\x05\x04\x12\x03l\x02\n\n\x0c\n\x05\x04\x02\x02\x05\x06\x12\
8428 \x03l\x0b\x19\n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03l\x1a)\n\x0c\n\x05\
8429 \x04\x02\x02\x05\x03\x12\x03l,-\n\x0b\n\x04\x04\x02\x02\x06\x12\x03n\x02\
8430 /\n\x0c\n\x05\x04\x02\x02\x06\x04\x12\x03n\x02\n\n\x0c\n\x05\x04\x02\x02\
8431 \x06\x06\x12\x03n\x0b\x1f\n\x0c\n\x05\x04\x02\x02\x06\x01\x12\x03n\x20*\
8432 \n\x0c\n\x05\x04\x02\x02\x06\x03\x12\x03n-.\n\x0b\n\x04\x04\x02\x02\x07\
8433 \x12\x03p\x02&\n\x0c\n\x05\x04\x02\x02\x07\x04\x12\x03p\x02\n\n\x0c\n\
8434 \x05\x04\x02\x02\x07\x06\x12\x03p\x0b\x19\n\x0c\n\x05\x04\x02\x02\x07\
8435 \x01\x12\x03p\x1a!\n\x0c\n\x05\x04\x02\x02\x07\x03\x12\x03p$%\n\xaa\x01\
8436 \n\x04\x04\x02\x03\x01\x12\x04u\x02x\x03\x1a\x9b\x01\x20Range\x20of\x20r\
8437 eserved\x20tag\x20numbers.\x20Reserved\x20tag\x20numbers\x20may\x20not\
8438 \x20be\x20used\x20by\n\x20fields\x20or\x20extension\x20ranges\x20in\x20t\
8439 he\x20same\x20message.\x20Reserved\x20ranges\x20may\n\x20not\x20overlap.\
8440 \n\n\x0c\n\x05\x04\x02\x03\x01\x01\x12\x03u\n\x17\n\x1b\n\x06\x04\x02\
8441 \x03\x01\x02\0\x12\x03v\x04\x1d\"\x0c\x20Inclusive.\n\n\x0e\n\x07\x04\
8442 \x02\x03\x01\x02\0\x04\x12\x03v\x04\x0c\n\x0e\n\x07\x04\x02\x03\x01\x02\
8443 \0\x05\x12\x03v\r\x12\n\x0e\n\x07\x04\x02\x03\x01\x02\0\x01\x12\x03v\x13\
8444 \x18\n\x0e\n\x07\x04\x02\x03\x01\x02\0\x03\x12\x03v\x1b\x1c\n\x1b\n\x06\
8445 \x04\x02\x03\x01\x02\x01\x12\x03w\x04\x1b\"\x0c\x20Exclusive.\n\n\x0e\n\
8446 \x07\x04\x02\x03\x01\x02\x01\x04\x12\x03w\x04\x0c\n\x0e\n\x07\x04\x02\
8447 \x03\x01\x02\x01\x05\x12\x03w\r\x12\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\
8448 \x01\x12\x03w\x13\x16\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x03\x12\x03w\
8449 \x19\x1a\n\x0b\n\x04\x04\x02\x02\x08\x12\x03y\x02,\n\x0c\n\x05\x04\x02\
8450 \x02\x08\x04\x12\x03y\x02\n\n\x0c\n\x05\x04\x02\x02\x08\x06\x12\x03y\x0b\
8451 \x18\n\x0c\n\x05\x04\x02\x02\x08\x01\x12\x03y\x19'\n\x0c\n\x05\x04\x02\
8452 \x02\x08\x03\x12\x03y*+\n\x82\x01\n\x04\x04\x02\x02\t\x12\x03|\x02%\x1au\
8453 \x20Reserved\x20field\x20names,\x20which\x20may\x20not\x20be\x20used\x20\
8454 by\x20fields\x20in\x20the\x20same\x20message.\n\x20A\x20given\x20name\
8455 \x20may\x20only\x20be\x20reserved\x20once.\n\n\x0c\n\x05\x04\x02\x02\t\
8456 \x04\x12\x03|\x02\n\n\x0c\n\x05\x04\x02\x02\t\x05\x12\x03|\x0b\x11\n\x0c\
8457 \n\x05\x04\x02\x02\t\x01\x12\x03|\x12\x1f\n\x0c\n\x05\x04\x02\x02\t\x03\
8458 \x12\x03|\"$\n\x0b\n\x02\x04\x03\x12\x05\x7f\0\x86\x01\x01\n\n\n\x03\x04\
8459 \x03\x01\x12\x03\x7f\x08\x1d\nO\n\x04\x04\x03\x02\0\x12\x04\x81\x01\x02:\
8460 \x1aA\x20The\x20parser\x20stores\x20options\x20it\x20doesn't\x20recogniz\
8461 e\x20here.\x20See\x20above.\n\n\r\n\x05\x04\x03\x02\0\x04\x12\x04\x81\
8462 \x01\x02\n\n\r\n\x05\x04\x03\x02\0\x06\x12\x04\x81\x01\x0b\x1e\n\r\n\x05\
8463 \x04\x03\x02\0\x01\x12\x04\x81\x01\x1f3\n\r\n\x05\x04\x03\x02\0\x03\x12\
8464 \x04\x81\x0169\nZ\n\x03\x04\x03\x05\x12\x04\x85\x01\x02\x19\x1aM\x20Clie\
8465 nts\x20can\x20define\x20custom\x20options\x20in\x20extensions\x20of\x20t\
8466 his\x20message.\x20See\x20above.\n\n\x0c\n\x04\x04\x03\x05\0\x12\x04\x85\
8467 \x01\r\x18\n\r\n\x05\x04\x03\x05\0\x01\x12\x04\x85\x01\r\x11\n\r\n\x05\
8468 \x04\x03\x05\0\x02\x12\x04\x85\x01\x15\x18\n3\n\x02\x04\x04\x12\x06\x89\
8469 \x01\0\xee\x01\x01\x1a%\x20Describes\x20a\x20field\x20within\x20a\x20mes\
8470 sage.\n\n\x0b\n\x03\x04\x04\x01\x12\x04\x89\x01\x08\x1c\n\x0e\n\x04\x04\
8471 \x04\x04\0\x12\x06\x8a\x01\x02\xa9\x01\x03\n\r\n\x05\x04\x04\x04\0\x01\
8472 \x12\x04\x8a\x01\x07\x0b\nS\n\x06\x04\x04\x04\0\x02\0\x12\x04\x8d\x01\
8473 \x04\x14\x1aC\x200\x20is\x20reserved\x20for\x20errors.\n\x20Order\x20is\
8474 \x20weird\x20for\x20historical\x20reasons.\n\n\x0f\n\x07\x04\x04\x04\0\
8475 \x02\0\x01\x12\x04\x8d\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\0\x02\0\x02\
8476 \x12\x04\x8d\x01\x12\x13\n\x0e\n\x06\x04\x04\x04\0\x02\x01\x12\x04\x8e\
8477 \x01\x04\x13\n\x0f\n\x07\x04\x04\x04\0\x02\x01\x01\x12\x04\x8e\x01\x04\
8478 \x0e\n\x0f\n\x07\x04\x04\x04\0\x02\x01\x02\x12\x04\x8e\x01\x11\x12\nw\n\
8479 \x06\x04\x04\x04\0\x02\x02\x12\x04\x91\x01\x04\x13\x1ag\x20Not\x20ZigZag\
8480 \x20encoded.\x20\x20Negative\x20numbers\x20take\x2010\x20bytes.\x20\x20U\
8481 se\x20TYPE_SINT64\x20if\n\x20negative\x20values\x20are\x20likely.\n\n\
8482 \x0f\n\x07\x04\x04\x04\0\x02\x02\x01\x12\x04\x91\x01\x04\x0e\n\x0f\n\x07\
8483 \x04\x04\x04\0\x02\x02\x02\x12\x04\x91\x01\x11\x12\n\x0e\n\x06\x04\x04\
8484 \x04\0\x02\x03\x12\x04\x92\x01\x04\x14\n\x0f\n\x07\x04\x04\x04\0\x02\x03\
8485 \x01\x12\x04\x92\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\0\x02\x03\x02\x12\
8486 \x04\x92\x01\x12\x13\nw\n\x06\x04\x04\x04\0\x02\x04\x12\x04\x95\x01\x04\
8487 \x13\x1ag\x20Not\x20ZigZag\x20encoded.\x20\x20Negative\x20numbers\x20tak\
8488 e\x2010\x20bytes.\x20\x20Use\x20TYPE_SINT32\x20if\n\x20negative\x20value\
8489 s\x20are\x20likely.\n\n\x0f\n\x07\x04\x04\x04\0\x02\x04\x01\x12\x04\x95\
8490 \x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\0\x02\x04\x02\x12\x04\x95\x01\x11\
8491 \x12\n\x0e\n\x06\x04\x04\x04\0\x02\x05\x12\x04\x96\x01\x04\x15\n\x0f\n\
8492 \x07\x04\x04\x04\0\x02\x05\x01\x12\x04\x96\x01\x04\x10\n\x0f\n\x07\x04\
8493 \x04\x04\0\x02\x05\x02\x12\x04\x96\x01\x13\x14\n\x0e\n\x06\x04\x04\x04\0\
8494 \x02\x06\x12\x04\x97\x01\x04\x15\n\x0f\n\x07\x04\x04\x04\0\x02\x06\x01\
8495 \x12\x04\x97\x01\x04\x10\n\x0f\n\x07\x04\x04\x04\0\x02\x06\x02\x12\x04\
8496 \x97\x01\x13\x14\n\x0e\n\x06\x04\x04\x04\0\x02\x07\x12\x04\x98\x01\x04\
8497 \x12\n\x0f\n\x07\x04\x04\x04\0\x02\x07\x01\x12\x04\x98\x01\x04\r\n\x0f\n\
8498 \x07\x04\x04\x04\0\x02\x07\x02\x12\x04\x98\x01\x10\x11\n\x0e\n\x06\x04\
8499 \x04\x04\0\x02\x08\x12\x04\x99\x01\x04\x14\n\x0f\n\x07\x04\x04\x04\0\x02\
8500 \x08\x01\x12\x04\x99\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\0\x02\x08\x02\
8501 \x12\x04\x99\x01\x12\x13\n\xe2\x01\n\x06\x04\x04\x04\0\x02\t\x12\x04\x9e\
8502 \x01\x04\x14\x1a\xd1\x01\x20Tag-delimited\x20aggregate.\n\x20Group\x20ty\
8503 pe\x20is\x20deprecated\x20and\x20not\x20supported\x20in\x20proto3.\x20Ho\
8504 wever,\x20Proto3\n\x20implementations\x20should\x20still\x20be\x20able\
8505 \x20to\x20parse\x20the\x20group\x20wire\x20format\x20and\n\x20treat\x20g\
8506 roup\x20fields\x20as\x20unknown\x20fields.\n\n\x0f\n\x07\x04\x04\x04\0\
8507 \x02\t\x01\x12\x04\x9e\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\0\x02\t\x02\
8508 \x12\x04\x9e\x01\x11\x13\n-\n\x06\x04\x04\x04\0\x02\n\x12\x04\x9f\x01\
8509 \x04\x16\"\x1d\x20Length-delimited\x20aggregate.\n\n\x0f\n\x07\x04\x04\
8510 \x04\0\x02\n\x01\x12\x04\x9f\x01\x04\x10\n\x0f\n\x07\x04\x04\x04\0\x02\n\
8511 \x02\x12\x04\x9f\x01\x13\x15\n#\n\x06\x04\x04\x04\0\x02\x0b\x12\x04\xa2\
8512 \x01\x04\x14\x1a\x13\x20New\x20in\x20version\x202.\n\n\x0f\n\x07\x04\x04\
8513 \x04\0\x02\x0b\x01\x12\x04\xa2\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\0\x02\
8514 \x0b\x02\x12\x04\xa2\x01\x11\x13\n\x0e\n\x06\x04\x04\x04\0\x02\x0c\x12\
8515 \x04\xa3\x01\x04\x15\n\x0f\n\x07\x04\x04\x04\0\x02\x0c\x01\x12\x04\xa3\
8516 \x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\0\x02\x0c\x02\x12\x04\xa3\x01\x12\
8517 \x14\n\x0e\n\x06\x04\x04\x04\0\x02\r\x12\x04\xa4\x01\x04\x13\n\x0f\n\x07\
8518 \x04\x04\x04\0\x02\r\x01\x12\x04\xa4\x01\x04\r\n\x0f\n\x07\x04\x04\x04\0\
8519 \x02\r\x02\x12\x04\xa4\x01\x10\x12\n\x0e\n\x06\x04\x04\x04\0\x02\x0e\x12\
8520 \x04\xa5\x01\x04\x17\n\x0f\n\x07\x04\x04\x04\0\x02\x0e\x01\x12\x04\xa5\
8521 \x01\x04\x11\n\x0f\n\x07\x04\x04\x04\0\x02\x0e\x02\x12\x04\xa5\x01\x14\
8522 \x16\n\x0e\n\x06\x04\x04\x04\0\x02\x0f\x12\x04\xa6\x01\x04\x17\n\x0f\n\
8523 \x07\x04\x04\x04\0\x02\x0f\x01\x12\x04\xa6\x01\x04\x11\n\x0f\n\x07\x04\
8524 \x04\x04\0\x02\x0f\x02\x12\x04\xa6\x01\x14\x16\n'\n\x06\x04\x04\x04\0\
8525 \x02\x10\x12\x04\xa7\x01\x04\x15\"\x17\x20Uses\x20ZigZag\x20encoding.\n\
8526 \n\x0f\n\x07\x04\x04\x04\0\x02\x10\x01\x12\x04\xa7\x01\x04\x0f\n\x0f\n\
8527 \x07\x04\x04\x04\0\x02\x10\x02\x12\x04\xa7\x01\x12\x14\n'\n\x06\x04\x04\
8528 \x04\0\x02\x11\x12\x04\xa8\x01\x04\x15\"\x17\x20Uses\x20ZigZag\x20encodi\
8529 ng.\n\n\x0f\n\x07\x04\x04\x04\0\x02\x11\x01\x12\x04\xa8\x01\x04\x0f\n\
8530 \x0f\n\x07\x04\x04\x04\0\x02\x11\x02\x12\x04\xa8\x01\x12\x14\n\x0e\n\x04\
8531 \x04\x04\x04\x01\x12\x06\xab\x01\x02\xb0\x01\x03\n\r\n\x05\x04\x04\x04\
8532 \x01\x01\x12\x04\xab\x01\x07\x0c\n*\n\x06\x04\x04\x04\x01\x02\0\x12\x04\
8533 \xad\x01\x04\x17\x1a\x1a\x200\x20is\x20reserved\x20for\x20errors\n\n\x0f\
8534 \n\x07\x04\x04\x04\x01\x02\0\x01\x12\x04\xad\x01\x04\x12\n\x0f\n\x07\x04\
8535 \x04\x04\x01\x02\0\x02\x12\x04\xad\x01\x15\x16\n\x0e\n\x06\x04\x04\x04\
8536 \x01\x02\x01\x12\x04\xae\x01\x04\x17\n\x0f\n\x07\x04\x04\x04\x01\x02\x01\
8537 \x01\x12\x04\xae\x01\x04\x12\n\x0f\n\x07\x04\x04\x04\x01\x02\x01\x02\x12\
8538 \x04\xae\x01\x15\x16\n\x0e\n\x06\x04\x04\x04\x01\x02\x02\x12\x04\xaf\x01\
8539 \x04\x17\n\x0f\n\x07\x04\x04\x04\x01\x02\x02\x01\x12\x04\xaf\x01\x04\x12\
8540 \n\x0f\n\x07\x04\x04\x04\x01\x02\x02\x02\x12\x04\xaf\x01\x15\x16\n\x0c\n\
8541 \x04\x04\x04\x02\0\x12\x04\xb2\x01\x02\x1b\n\r\n\x05\x04\x04\x02\0\x04\
8542 \x12\x04\xb2\x01\x02\n\n\r\n\x05\x04\x04\x02\0\x05\x12\x04\xb2\x01\x0b\
8543 \x11\n\r\n\x05\x04\x04\x02\0\x01\x12\x04\xb2\x01\x12\x16\n\r\n\x05\x04\
8544 \x04\x02\0\x03\x12\x04\xb2\x01\x19\x1a\n\x0c\n\x04\x04\x04\x02\x01\x12\
8545 \x04\xb3\x01\x02\x1c\n\r\n\x05\x04\x04\x02\x01\x04\x12\x04\xb3\x01\x02\n\
8546 \n\r\n\x05\x04\x04\x02\x01\x05\x12\x04\xb3\x01\x0b\x10\n\r\n\x05\x04\x04\
8547 \x02\x01\x01\x12\x04\xb3\x01\x11\x17\n\r\n\x05\x04\x04\x02\x01\x03\x12\
8548 \x04\xb3\x01\x1a\x1b\n\x0c\n\x04\x04\x04\x02\x02\x12\x04\xb4\x01\x02\x1b\
8549 \n\r\n\x05\x04\x04\x02\x02\x04\x12\x04\xb4\x01\x02\n\n\r\n\x05\x04\x04\
8550 \x02\x02\x06\x12\x04\xb4\x01\x0b\x10\n\r\n\x05\x04\x04\x02\x02\x01\x12\
8551 \x04\xb4\x01\x11\x16\n\r\n\x05\x04\x04\x02\x02\x03\x12\x04\xb4\x01\x19\
8552 \x1a\n\x9c\x01\n\x04\x04\x04\x02\x03\x12\x04\xb8\x01\x02\x19\x1a\x8d\x01\
8553 \x20If\x20type_name\x20is\x20set,\x20this\x20need\x20not\x20be\x20set.\
8554 \x20\x20If\x20both\x20this\x20and\x20type_name\n\x20are\x20set,\x20this\
8555 \x20must\x20be\x20one\x20of\x20TYPE_ENUM,\x20TYPE_MESSAGE\x20or\x20TYPE_\
8556 GROUP.\n\n\r\n\x05\x04\x04\x02\x03\x04\x12\x04\xb8\x01\x02\n\n\r\n\x05\
8557 \x04\x04\x02\x03\x06\x12\x04\xb8\x01\x0b\x0f\n\r\n\x05\x04\x04\x02\x03\
8558 \x01\x12\x04\xb8\x01\x10\x14\n\r\n\x05\x04\x04\x02\x03\x03\x12\x04\xb8\
8559 \x01\x17\x18\n\xb7\x02\n\x04\x04\x04\x02\x04\x12\x04\xbf\x01\x02\x20\x1a\
8560 \xa8\x02\x20For\x20message\x20and\x20enum\x20types,\x20this\x20is\x20the\
8561 \x20name\x20of\x20the\x20type.\x20\x20If\x20the\x20name\n\x20starts\x20w\
8562 ith\x20a\x20'.',\x20it\x20is\x20fully-qualified.\x20\x20Otherwise,\x20C+\
8563 +-like\x20scoping\n\x20rules\x20are\x20used\x20to\x20find\x20the\x20type\
8564 \x20(i.e.\x20first\x20the\x20nested\x20types\x20within\x20this\n\x20mess\
8565 age\x20are\x20searched,\x20then\x20within\x20the\x20parent,\x20on\x20up\
8566 \x20to\x20the\x20root\n\x20namespace).\n\n\r\n\x05\x04\x04\x02\x04\x04\
8567 \x12\x04\xbf\x01\x02\n\n\r\n\x05\x04\x04\x02\x04\x05\x12\x04\xbf\x01\x0b\
8568 \x11\n\r\n\x05\x04\x04\x02\x04\x01\x12\x04\xbf\x01\x12\x1b\n\r\n\x05\x04\
8569 \x04\x02\x04\x03\x12\x04\xbf\x01\x1e\x1f\n~\n\x04\x04\x04\x02\x05\x12\
8570 \x04\xc3\x01\x02\x1f\x1ap\x20For\x20extensions,\x20this\x20is\x20the\x20\
8571 name\x20of\x20the\x20type\x20being\x20extended.\x20\x20It\x20is\n\x20res\
8572 olved\x20in\x20the\x20same\x20manner\x20as\x20type_name.\n\n\r\n\x05\x04\
8573 \x04\x02\x05\x04\x12\x04\xc3\x01\x02\n\n\r\n\x05\x04\x04\x02\x05\x05\x12\
8574 \x04\xc3\x01\x0b\x11\n\r\n\x05\x04\x04\x02\x05\x01\x12\x04\xc3\x01\x12\
8575 \x1a\n\r\n\x05\x04\x04\x02\x05\x03\x12\x04\xc3\x01\x1d\x1e\n\xb1\x02\n\
8576 \x04\x04\x04\x02\x06\x12\x04\xca\x01\x02$\x1a\xa2\x02\x20For\x20numeric\
8577 \x20types,\x20contains\x20the\x20original\x20text\x20representation\x20o\
8578 f\x20the\x20value.\n\x20For\x20booleans,\x20\"true\"\x20or\x20\"false\".\
8579 \n\x20For\x20strings,\x20contains\x20the\x20default\x20text\x20contents\
8580 \x20(not\x20escaped\x20in\x20any\x20way).\n\x20For\x20bytes,\x20contains\
8581 \x20the\x20C\x20escaped\x20value.\x20\x20All\x20bytes\x20>=\x20128\x20ar\
8582 e\x20escaped.\n\x20TODO(kenton):\x20\x20Base-64\x20encode?\n\n\r\n\x05\
8583 \x04\x04\x02\x06\x04\x12\x04\xca\x01\x02\n\n\r\n\x05\x04\x04\x02\x06\x05\
8584 \x12\x04\xca\x01\x0b\x11\n\r\n\x05\x04\x04\x02\x06\x01\x12\x04\xca\x01\
8585 \x12\x1f\n\r\n\x05\x04\x04\x02\x06\x03\x12\x04\xca\x01\"#\n\x84\x01\n\
8586 \x04\x04\x04\x02\x07\x12\x04\xce\x01\x02!\x1av\x20If\x20set,\x20gives\
8587 \x20the\x20index\x20of\x20a\x20oneof\x20in\x20the\x20containing\x20type'\
8588 s\x20oneof_decl\n\x20list.\x20\x20This\x20field\x20is\x20a\x20member\x20\
8589 of\x20that\x20oneof.\n\n\r\n\x05\x04\x04\x02\x07\x04\x12\x04\xce\x01\x02\
8590 \n\n\r\n\x05\x04\x04\x02\x07\x05\x12\x04\xce\x01\x0b\x10\n\r\n\x05\x04\
8591 \x04\x02\x07\x01\x12\x04\xce\x01\x11\x1c\n\r\n\x05\x04\x04\x02\x07\x03\
8592 \x12\x04\xce\x01\x1f\x20\n\xfa\x01\n\x04\x04\x04\x02\x08\x12\x04\xd4\x01\
8593 \x02!\x1a\xeb\x01\x20JSON\x20name\x20of\x20this\x20field.\x20The\x20valu\
8594 e\x20is\x20set\x20by\x20protocol\x20compiler.\x20If\x20the\n\x20user\x20\
8595 has\x20set\x20a\x20\"json_name\"\x20option\x20on\x20this\x20field,\x20th\
8596 at\x20option's\x20value\n\x20will\x20be\x20used.\x20Otherwise,\x20it's\
8597 \x20deduced\x20from\x20the\x20field's\x20name\x20by\x20converting\n\x20i\
8598 t\x20to\x20camelCase.\n\n\r\n\x05\x04\x04\x02\x08\x04\x12\x04\xd4\x01\
8599 \x02\n\n\r\n\x05\x04\x04\x02\x08\x05\x12\x04\xd4\x01\x0b\x11\n\r\n\x05\
8600 \x04\x04\x02\x08\x01\x12\x04\xd4\x01\x12\x1b\n\r\n\x05\x04\x04\x02\x08\
8601 \x03\x12\x04\xd4\x01\x1e\x20\n\x0c\n\x04\x04\x04\x02\t\x12\x04\xd6\x01\
8602 \x02$\n\r\n\x05\x04\x04\x02\t\x04\x12\x04\xd6\x01\x02\n\n\r\n\x05\x04\
8603 \x04\x02\t\x06\x12\x04\xd6\x01\x0b\x17\n\r\n\x05\x04\x04\x02\t\x01\x12\
8604 \x04\xd6\x01\x18\x1f\n\r\n\x05\x04\x04\x02\t\x03\x12\x04\xd6\x01\"#\n\
8605 \xb3\t\n\x04\x04\x04\x02\n\x12\x04\xed\x01\x02%\x1a\xa4\t\x20If\x20true,\
8606 \x20this\x20is\x20a\x20proto3\x20\"optional\".\x20When\x20a\x20proto3\
8607 \x20field\x20is\x20optional,\x20it\n\x20tracks\x20presence\x20regardless\
8608 \x20of\x20field\x20type.\n\n\x20When\x20proto3_optional\x20is\x20true,\
8609 \x20this\x20field\x20must\x20be\x20belong\x20to\x20a\x20oneof\x20to\n\
8610 \x20signal\x20to\x20old\x20proto3\x20clients\x20that\x20presence\x20is\
8611 \x20tracked\x20for\x20this\x20field.\x20This\n\x20oneof\x20is\x20known\
8612 \x20as\x20a\x20\"synthetic\"\x20oneof,\x20and\x20this\x20field\x20must\
8613 \x20be\x20its\x20sole\n\x20member\x20(each\x20proto3\x20optional\x20fiel\
8614 d\x20gets\x20its\x20own\x20synthetic\x20oneof).\x20Synthetic\n\x20oneofs\
8615 \x20exist\x20in\x20the\x20descriptor\x20only,\x20and\x20do\x20not\x20gen\
8616 erate\x20any\x20API.\x20Synthetic\n\x20oneofs\x20must\x20be\x20ordered\
8617 \x20after\x20all\x20\"real\"\x20oneofs.\n\n\x20For\x20message\x20fields,\
8618 \x20proto3_optional\x20doesn't\x20create\x20any\x20semantic\x20change,\n\
8619 \x20since\x20non-repeated\x20message\x20fields\x20always\x20track\x20pre\
8620 sence.\x20However\x20it\x20still\n\x20indicates\x20the\x20semantic\x20de\
8621 tail\x20of\x20whether\x20the\x20user\x20wrote\x20\"optional\"\x20or\x20n\
8622 ot.\n\x20This\x20can\x20be\x20useful\x20for\x20round-tripping\x20the\x20\
8623 .proto\x20file.\x20For\x20consistency\x20we\n\x20give\x20message\x20fiel\
8624 ds\x20a\x20synthetic\x20oneof\x20also,\x20even\x20though\x20it\x20is\x20\
8625 not\x20required\n\x20to\x20track\x20presence.\x20This\x20is\x20especiall\
8626 y\x20important\x20because\x20the\x20parser\x20can't\n\x20tell\x20if\x20a\
8627 \x20field\x20is\x20a\x20message\x20or\x20an\x20enum,\x20so\x20it\x20must\
8628 \x20always\x20create\x20a\n\x20synthetic\x20oneof.\n\n\x20Proto2\x20opti\
8629 onal\x20fields\x20do\x20not\x20set\x20this\x20flag,\x20because\x20they\
8630 \x20already\x20indicate\n\x20optional\x20with\x20`LABEL_OPTIONAL`.\n\n\r\
8631 \n\x05\x04\x04\x02\n\x04\x12\x04\xed\x01\x02\n\n\r\n\x05\x04\x04\x02\n\
8632 \x05\x12\x04\xed\x01\x0b\x0f\n\r\n\x05\x04\x04\x02\n\x01\x12\x04\xed\x01\
8633 \x10\x1f\n\r\n\x05\x04\x04\x02\n\x03\x12\x04\xed\x01\"$\n\"\n\x02\x04\
8634 \x05\x12\x06\xf1\x01\0\xf4\x01\x01\x1a\x14\x20Describes\x20a\x20oneof.\n\
8635 \n\x0b\n\x03\x04\x05\x01\x12\x04\xf1\x01\x08\x1c\n\x0c\n\x04\x04\x05\x02\
8636 \0\x12\x04\xf2\x01\x02\x1b\n\r\n\x05\x04\x05\x02\0\x04\x12\x04\xf2\x01\
8637 \x02\n\n\r\n\x05\x04\x05\x02\0\x05\x12\x04\xf2\x01\x0b\x11\n\r\n\x05\x04\
8638 \x05\x02\0\x01\x12\x04\xf2\x01\x12\x16\n\r\n\x05\x04\x05\x02\0\x03\x12\
8639 \x04\xf2\x01\x19\x1a\n\x0c\n\x04\x04\x05\x02\x01\x12\x04\xf3\x01\x02$\n\
8640 \r\n\x05\x04\x05\x02\x01\x04\x12\x04\xf3\x01\x02\n\n\r\n\x05\x04\x05\x02\
8641 \x01\x06\x12\x04\xf3\x01\x0b\x17\n\r\n\x05\x04\x05\x02\x01\x01\x12\x04\
8642 \xf3\x01\x18\x1f\n\r\n\x05\x04\x05\x02\x01\x03\x12\x04\xf3\x01\"#\n'\n\
8643 \x02\x04\x06\x12\x06\xf7\x01\0\x91\x02\x01\x1a\x19\x20Describes\x20an\
8644 \x20enum\x20type.\n\n\x0b\n\x03\x04\x06\x01\x12\x04\xf7\x01\x08\x1b\n\
8645 \x0c\n\x04\x04\x06\x02\0\x12\x04\xf8\x01\x02\x1b\n\r\n\x05\x04\x06\x02\0\
8646 \x04\x12\x04\xf8\x01\x02\n\n\r\n\x05\x04\x06\x02\0\x05\x12\x04\xf8\x01\
8647 \x0b\x11\n\r\n\x05\x04\x06\x02\0\x01\x12\x04\xf8\x01\x12\x16\n\r\n\x05\
8648 \x04\x06\x02\0\x03\x12\x04\xf8\x01\x19\x1a\n\x0c\n\x04\x04\x06\x02\x01\
8649 \x12\x04\xfa\x01\x02.\n\r\n\x05\x04\x06\x02\x01\x04\x12\x04\xfa\x01\x02\
8650 \n\n\r\n\x05\x04\x06\x02\x01\x06\x12\x04\xfa\x01\x0b#\n\r\n\x05\x04\x06\
8651 \x02\x01\x01\x12\x04\xfa\x01$)\n\r\n\x05\x04\x06\x02\x01\x03\x12\x04\xfa\
8652 \x01,-\n\x0c\n\x04\x04\x06\x02\x02\x12\x04\xfc\x01\x02#\n\r\n\x05\x04\
8653 \x06\x02\x02\x04\x12\x04\xfc\x01\x02\n\n\r\n\x05\x04\x06\x02\x02\x06\x12\
8654 \x04\xfc\x01\x0b\x16\n\r\n\x05\x04\x06\x02\x02\x01\x12\x04\xfc\x01\x17\
8655 \x1e\n\r\n\x05\x04\x06\x02\x02\x03\x12\x04\xfc\x01!\"\n\xaf\x02\n\x04\
8656 \x04\x06\x03\0\x12\x06\x84\x02\x02\x87\x02\x03\x1a\x9e\x02\x20Range\x20o\
8657 f\x20reserved\x20numeric\x20values.\x20Reserved\x20values\x20may\x20not\
8658 \x20be\x20used\x20by\n\x20entries\x20in\x20the\x20same\x20enum.\x20Reser\
8659 ved\x20ranges\x20may\x20not\x20overlap.\n\n\x20Note\x20that\x20this\x20i\
8660 s\x20distinct\x20from\x20DescriptorProto.ReservedRange\x20in\x20that\x20\
8661 it\n\x20is\x20inclusive\x20such\x20that\x20it\x20can\x20appropriately\
8662 \x20represent\x20the\x20entire\x20int32\n\x20domain.\n\n\r\n\x05\x04\x06\
8663 \x03\0\x01\x12\x04\x84\x02\n\x1b\n\x1c\n\x06\x04\x06\x03\0\x02\0\x12\x04\
8664 \x85\x02\x04\x1d\"\x0c\x20Inclusive.\n\n\x0f\n\x07\x04\x06\x03\0\x02\0\
8665 \x04\x12\x04\x85\x02\x04\x0c\n\x0f\n\x07\x04\x06\x03\0\x02\0\x05\x12\x04\
8666 \x85\x02\r\x12\n\x0f\n\x07\x04\x06\x03\0\x02\0\x01\x12\x04\x85\x02\x13\
8667 \x18\n\x0f\n\x07\x04\x06\x03\0\x02\0\x03\x12\x04\x85\x02\x1b\x1c\n\x1c\n\
8668 \x06\x04\x06\x03\0\x02\x01\x12\x04\x86\x02\x04\x1b\"\x0c\x20Inclusive.\n\
8669 \n\x0f\n\x07\x04\x06\x03\0\x02\x01\x04\x12\x04\x86\x02\x04\x0c\n\x0f\n\
8670 \x07\x04\x06\x03\0\x02\x01\x05\x12\x04\x86\x02\r\x12\n\x0f\n\x07\x04\x06\
8671 \x03\0\x02\x01\x01\x12\x04\x86\x02\x13\x16\n\x0f\n\x07\x04\x06\x03\0\x02\
8672 \x01\x03\x12\x04\x86\x02\x19\x1a\n\xaa\x01\n\x04\x04\x06\x02\x03\x12\x04\
8673 \x8c\x02\x020\x1a\x9b\x01\x20Range\x20of\x20reserved\x20numeric\x20value\
8674 s.\x20Reserved\x20numeric\x20values\x20may\x20not\x20be\x20used\n\x20by\
8675 \x20enum\x20values\x20in\x20the\x20same\x20enum\x20declaration.\x20Reser\
8676 ved\x20ranges\x20may\x20not\n\x20overlap.\n\n\r\n\x05\x04\x06\x02\x03\
8677 \x04\x12\x04\x8c\x02\x02\n\n\r\n\x05\x04\x06\x02\x03\x06\x12\x04\x8c\x02\
8678 \x0b\x1c\n\r\n\x05\x04\x06\x02\x03\x01\x12\x04\x8c\x02\x1d+\n\r\n\x05\
8679 \x04\x06\x02\x03\x03\x12\x04\x8c\x02./\nl\n\x04\x04\x06\x02\x04\x12\x04\
8680 \x90\x02\x02$\x1a^\x20Reserved\x20enum\x20value\x20names,\x20which\x20ma\
8681 y\x20not\x20be\x20reused.\x20A\x20given\x20name\x20may\x20only\n\x20be\
8682 \x20reserved\x20once.\n\n\r\n\x05\x04\x06\x02\x04\x04\x12\x04\x90\x02\
8683 \x02\n\n\r\n\x05\x04\x06\x02\x04\x05\x12\x04\x90\x02\x0b\x11\n\r\n\x05\
8684 \x04\x06\x02\x04\x01\x12\x04\x90\x02\x12\x1f\n\r\n\x05\x04\x06\x02\x04\
8685 \x03\x12\x04\x90\x02\"#\n1\n\x02\x04\x07\x12\x06\x94\x02\0\x99\x02\x01\
8686 \x1a#\x20Describes\x20a\x20value\x20within\x20an\x20enum.\n\n\x0b\n\x03\
8687 \x04\x07\x01\x12\x04\x94\x02\x08\x20\n\x0c\n\x04\x04\x07\x02\0\x12\x04\
8688 \x95\x02\x02\x1b\n\r\n\x05\x04\x07\x02\0\x04\x12\x04\x95\x02\x02\n\n\r\n\
8689 \x05\x04\x07\x02\0\x05\x12\x04\x95\x02\x0b\x11\n\r\n\x05\x04\x07\x02\0\
8690 \x01\x12\x04\x95\x02\x12\x16\n\r\n\x05\x04\x07\x02\0\x03\x12\x04\x95\x02\
8691 \x19\x1a\n\x0c\n\x04\x04\x07\x02\x01\x12\x04\x96\x02\x02\x1c\n\r\n\x05\
8692 \x04\x07\x02\x01\x04\x12\x04\x96\x02\x02\n\n\r\n\x05\x04\x07\x02\x01\x05\
8693 \x12\x04\x96\x02\x0b\x10\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\x96\x02\
8694 \x11\x17\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\x96\x02\x1a\x1b\n\x0c\n\
8695 \x04\x04\x07\x02\x02\x12\x04\x98\x02\x02(\n\r\n\x05\x04\x07\x02\x02\x04\
8696 \x12\x04\x98\x02\x02\n\n\r\n\x05\x04\x07\x02\x02\x06\x12\x04\x98\x02\x0b\
8697 \x1b\n\r\n\x05\x04\x07\x02\x02\x01\x12\x04\x98\x02\x1c#\n\r\n\x05\x04\
8698 \x07\x02\x02\x03\x12\x04\x98\x02&'\n$\n\x02\x04\x08\x12\x06\x9c\x02\0\
8699 \xa1\x02\x01\x1a\x16\x20Describes\x20a\x20service.\n\n\x0b\n\x03\x04\x08\
8700 \x01\x12\x04\x9c\x02\x08\x1e\n\x0c\n\x04\x04\x08\x02\0\x12\x04\x9d\x02\
8701 \x02\x1b\n\r\n\x05\x04\x08\x02\0\x04\x12\x04\x9d\x02\x02\n\n\r\n\x05\x04\
8702 \x08\x02\0\x05\x12\x04\x9d\x02\x0b\x11\n\r\n\x05\x04\x08\x02\0\x01\x12\
8703 \x04\x9d\x02\x12\x16\n\r\n\x05\x04\x08\x02\0\x03\x12\x04\x9d\x02\x19\x1a\
8704 \n\x0c\n\x04\x04\x08\x02\x01\x12\x04\x9e\x02\x02,\n\r\n\x05\x04\x08\x02\
8705 \x01\x04\x12\x04\x9e\x02\x02\n\n\r\n\x05\x04\x08\x02\x01\x06\x12\x04\x9e\
8706 \x02\x0b\x20\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\x9e\x02!'\n\r\n\x05\
8707 \x04\x08\x02\x01\x03\x12\x04\x9e\x02*+\n\x0c\n\x04\x04\x08\x02\x02\x12\
8708 \x04\xa0\x02\x02&\n\r\n\x05\x04\x08\x02\x02\x04\x12\x04\xa0\x02\x02\n\n\
8709 \r\n\x05\x04\x08\x02\x02\x06\x12\x04\xa0\x02\x0b\x19\n\r\n\x05\x04\x08\
8710 \x02\x02\x01\x12\x04\xa0\x02\x1a!\n\r\n\x05\x04\x08\x02\x02\x03\x12\x04\
8711 \xa0\x02$%\n0\n\x02\x04\t\x12\x06\xa4\x02\0\xb2\x02\x01\x1a\"\x20Describ\
8712 es\x20a\x20method\x20of\x20a\x20service.\n\n\x0b\n\x03\x04\t\x01\x12\x04\
8713 \xa4\x02\x08\x1d\n\x0c\n\x04\x04\t\x02\0\x12\x04\xa5\x02\x02\x1b\n\r\n\
8714 \x05\x04\t\x02\0\x04\x12\x04\xa5\x02\x02\n\n\r\n\x05\x04\t\x02\0\x05\x12\
8715 \x04\xa5\x02\x0b\x11\n\r\n\x05\x04\t\x02\0\x01\x12\x04\xa5\x02\x12\x16\n\
8716 \r\n\x05\x04\t\x02\0\x03\x12\x04\xa5\x02\x19\x1a\n\x97\x01\n\x04\x04\t\
8717 \x02\x01\x12\x04\xa9\x02\x02!\x1a\x88\x01\x20Input\x20and\x20output\x20t\
8718 ype\x20names.\x20\x20These\x20are\x20resolved\x20in\x20the\x20same\x20wa\
8719 y\x20as\n\x20FieldDescriptorProto.type_name,\x20but\x20must\x20refer\x20\
8720 to\x20a\x20message\x20type.\n\n\r\n\x05\x04\t\x02\x01\x04\x12\x04\xa9\
8721 \x02\x02\n\n\r\n\x05\x04\t\x02\x01\x05\x12\x04\xa9\x02\x0b\x11\n\r\n\x05\
8722 \x04\t\x02\x01\x01\x12\x04\xa9\x02\x12\x1c\n\r\n\x05\x04\t\x02\x01\x03\
8723 \x12\x04\xa9\x02\x1f\x20\n\x0c\n\x04\x04\t\x02\x02\x12\x04\xaa\x02\x02\"\
8724 \n\r\n\x05\x04\t\x02\x02\x04\x12\x04\xaa\x02\x02\n\n\r\n\x05\x04\t\x02\
8725 \x02\x05\x12\x04\xaa\x02\x0b\x11\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\xaa\
8726 \x02\x12\x1d\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\xaa\x02\x20!\n\x0c\n\
8727 \x04\x04\t\x02\x03\x12\x04\xac\x02\x02%\n\r\n\x05\x04\t\x02\x03\x04\x12\
8728 \x04\xac\x02\x02\n\n\r\n\x05\x04\t\x02\x03\x06\x12\x04\xac\x02\x0b\x18\n\
8729 \r\n\x05\x04\t\x02\x03\x01\x12\x04\xac\x02\x19\x20\n\r\n\x05\x04\t\x02\
8730 \x03\x03\x12\x04\xac\x02#$\nE\n\x04\x04\t\x02\x04\x12\x04\xaf\x02\x027\
8731 \x1a7\x20Identifies\x20if\x20client\x20streams\x20multiple\x20client\x20\
8732 messages\n\n\r\n\x05\x04\t\x02\x04\x04\x12\x04\xaf\x02\x02\n\n\r\n\x05\
8733 \x04\t\x02\x04\x05\x12\x04\xaf\x02\x0b\x0f\n\r\n\x05\x04\t\x02\x04\x01\
8734 \x12\x04\xaf\x02\x10\x20\n\r\n\x05\x04\t\x02\x04\x03\x12\x04\xaf\x02#$\n\
8735 \r\n\x05\x04\t\x02\x04\x08\x12\x04\xaf\x02%6\n\r\n\x05\x04\t\x02\x04\x07\
8736 \x12\x04\xaf\x0205\nE\n\x04\x04\t\x02\x05\x12\x04\xb1\x02\x027\x1a7\x20I\
8737 dentifies\x20if\x20server\x20streams\x20multiple\x20server\x20messages\n\
8738 \n\r\n\x05\x04\t\x02\x05\x04\x12\x04\xb1\x02\x02\n\n\r\n\x05\x04\t\x02\
8739 \x05\x05\x12\x04\xb1\x02\x0b\x0f\n\r\n\x05\x04\t\x02\x05\x01\x12\x04\xb1\
8740 \x02\x10\x20\n\r\n\x05\x04\t\x02\x05\x03\x12\x04\xb1\x02#$\n\r\n\x05\x04\
8741 \t\x02\x05\x08\x12\x04\xb1\x02%6\n\r\n\x05\x04\t\x02\x05\x07\x12\x04\xb1\
8742 \x0205\n\xaf\x0e\n\x02\x04\n\x12\x06\xd5\x02\0\xd0\x03\x012N\x20========\
8743 ===========================================================\n\x20Options\
8744 \n2\xd0\r\x20Each\x20of\x20the\x20definitions\x20above\x20may\x20have\
8745 \x20\"options\"\x20attached.\x20\x20These\x20are\n\x20just\x20annotation\
8746 s\x20which\x20may\x20cause\x20code\x20to\x20be\x20generated\x20slightly\
8747 \x20differently\n\x20or\x20may\x20contain\x20hints\x20for\x20code\x20tha\
8748 t\x20manipulates\x20protocol\x20messages.\n\n\x20Clients\x20may\x20defin\
8749 e\x20custom\x20options\x20as\x20extensions\x20of\x20the\x20*Options\x20m\
8750 essages.\n\x20These\x20extensions\x20may\x20not\x20yet\x20be\x20known\
8751 \x20at\x20parsing\x20time,\x20so\x20the\x20parser\x20cannot\n\x20store\
8752 \x20the\x20values\x20in\x20them.\x20\x20Instead\x20it\x20stores\x20them\
8753 \x20in\x20a\x20field\x20in\x20the\x20*Options\n\x20message\x20called\x20\
8754 uninterpreted_option.\x20This\x20field\x20must\x20have\x20the\x20same\
8755 \x20name\n\x20across\x20all\x20*Options\x20messages.\x20We\x20then\x20us\
8756 e\x20this\x20field\x20to\x20populate\x20the\n\x20extensions\x20when\x20w\
8757 e\x20build\x20a\x20descriptor,\x20at\x20which\x20point\x20all\x20protos\
8758 \x20have\x20been\n\x20parsed\x20and\x20so\x20all\x20extensions\x20are\
8759 \x20known.\n\n\x20Extension\x20numbers\x20for\x20custom\x20options\x20ma\
8760 y\x20be\x20chosen\x20as\x20follows:\n\x20*\x20For\x20options\x20which\
8761 \x20will\x20only\x20be\x20used\x20within\x20a\x20single\x20application\
8762 \x20or\n\x20\x20\x20organization,\x20or\x20for\x20experimental\x20option\
8763 s,\x20use\x20field\x20numbers\x2050000\n\x20\x20\x20through\x2099999.\
8764 \x20\x20It\x20is\x20up\x20to\x20you\x20to\x20ensure\x20that\x20you\x20do\
8765 \x20not\x20use\x20the\n\x20\x20\x20same\x20number\x20for\x20multiple\x20\
8766 options.\n\x20*\x20For\x20options\x20which\x20will\x20be\x20published\
8767 \x20and\x20used\x20publicly\x20by\x20multiple\n\x20\x20\x20independent\
8768 \x20entities,\x20e-mail\x20protobuf-global-extension-registry@google.com\
8769 \n\x20\x20\x20to\x20reserve\x20extension\x20numbers.\x20Simply\x20provid\
8770 e\x20your\x20project\x20name\x20(e.g.\n\x20\x20\x20Objective-C\x20plugin\
8771 )\x20and\x20your\x20project\x20website\x20(if\x20available)\x20--\x20the\
8772 re's\x20no\n\x20\x20\x20need\x20to\x20explain\x20how\x20you\x20intend\
8773 \x20to\x20use\x20them.\x20Usually\x20you\x20only\x20need\x20one\n\x20\
8774 \x20\x20extension\x20number.\x20You\x20can\x20declare\x20multiple\x20opt\
8775 ions\x20with\x20only\x20one\x20extension\n\x20\x20\x20number\x20by\x20pu\
8776 tting\x20them\x20in\x20a\x20sub-message.\x20See\x20the\x20Custom\x20Opti\
8777 ons\x20section\x20of\n\x20\x20\x20the\x20docs\x20for\x20examples:\n\x20\
8778 \x20\x20https://developers.google.com/protocol-buffers/docs/proto#option\
8779 s\n\x20\x20\x20If\x20this\x20turns\x20out\x20to\x20be\x20popular,\x20a\
8780 \x20web\x20service\x20will\x20be\x20set\x20up\n\x20\x20\x20to\x20automat\
8781 ically\x20assign\x20option\x20numbers.\n\n\x0b\n\x03\x04\n\x01\x12\x04\
8782 \xd5\x02\x08\x13\n\xf4\x01\n\x04\x04\n\x02\0\x12\x04\xdb\x02\x02#\x1a\
8783 \xe5\x01\x20Sets\x20the\x20Java\x20package\x20where\x20classes\x20genera\
8784 ted\x20from\x20this\x20.proto\x20will\x20be\n\x20placed.\x20\x20By\x20de\
8785 fault,\x20the\x20proto\x20package\x20is\x20used,\x20but\x20this\x20is\
8786 \x20often\n\x20inappropriate\x20because\x20proto\x20packages\x20do\x20no\
8787 t\x20normally\x20start\x20with\x20backwards\n\x20domain\x20names.\n\n\r\
8788 \n\x05\x04\n\x02\0\x04\x12\x04\xdb\x02\x02\n\n\r\n\x05\x04\n\x02\0\x05\
8789 \x12\x04\xdb\x02\x0b\x11\n\r\n\x05\x04\n\x02\0\x01\x12\x04\xdb\x02\x12\
8790 \x1e\n\r\n\x05\x04\n\x02\0\x03\x12\x04\xdb\x02!\"\n\xf1\x02\n\x04\x04\n\
8791 \x02\x01\x12\x04\xe3\x02\x02+\x1a\xe2\x02\x20Controls\x20the\x20name\x20\
8792 of\x20the\x20wrapper\x20Java\x20class\x20generated\x20for\x20the\x20.pro\
8793 to\x20file.\n\x20That\x20class\x20will\x20always\x20contain\x20the\x20.p\
8794 roto\x20file's\x20getDescriptor()\x20method\x20as\n\x20well\x20as\x20any\
8795 \x20top-level\x20extensions\x20defined\x20in\x20the\x20.proto\x20file.\n\
8796 \x20If\x20java_multiple_files\x20is\x20disabled,\x20then\x20all\x20the\
8797 \x20other\x20classes\x20from\x20the\n\x20.proto\x20file\x20will\x20be\
8798 \x20nested\x20inside\x20the\x20single\x20wrapper\x20outer\x20class.\n\n\
8799 \r\n\x05\x04\n\x02\x01\x04\x12\x04\xe3\x02\x02\n\n\r\n\x05\x04\n\x02\x01\
8800 \x05\x12\x04\xe3\x02\x0b\x11\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\xe3\x02\
8801 \x12&\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xe3\x02)*\n\xa6\x03\n\x04\x04\
8802 \n\x02\x02\x12\x04\xeb\x02\x02;\x1a\x97\x03\x20If\x20enabled,\x20then\
8803 \x20the\x20Java\x20code\x20generator\x20will\x20generate\x20a\x20separat\
8804 e\x20.java\n\x20file\x20for\x20each\x20top-level\x20message,\x20enum,\
8805 \x20and\x20service\x20defined\x20in\x20the\x20.proto\n\x20file.\x20\x20T\
8806 hus,\x20these\x20types\x20will\x20*not*\x20be\x20nested\x20inside\x20the\
8807 \x20wrapper\x20class\n\x20named\x20by\x20java_outer_classname.\x20\x20Ho\
8808 wever,\x20the\x20wrapper\x20class\x20will\x20still\x20be\n\x20generated\
8809 \x20to\x20contain\x20the\x20file's\x20getDescriptor()\x20method\x20as\
8810 \x20well\x20as\x20any\n\x20top-level\x20extensions\x20defined\x20in\x20t\
8811 he\x20file.\n\n\r\n\x05\x04\n\x02\x02\x04\x12\x04\xeb\x02\x02\n\n\r\n\
8812 \x05\x04\n\x02\x02\x05\x12\x04\xeb\x02\x0b\x0f\n\r\n\x05\x04\n\x02\x02\
8813 \x01\x12\x04\xeb\x02\x10#\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xeb\x02&(\
8814 \n\r\n\x05\x04\n\x02\x02\x08\x12\x04\xeb\x02):\n\r\n\x05\x04\n\x02\x02\
8815 \x07\x12\x04\xeb\x0249\n)\n\x04\x04\n\x02\x03\x12\x04\xee\x02\x02E\x1a\
8816 \x1b\x20This\x20option\x20does\x20nothing.\n\n\r\n\x05\x04\n\x02\x03\x04\
8817 \x12\x04\xee\x02\x02\n\n\r\n\x05\x04\n\x02\x03\x05\x12\x04\xee\x02\x0b\
8818 \x0f\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\xee\x02\x10-\n\r\n\x05\x04\n\
8819 \x02\x03\x03\x12\x04\xee\x0202\n\r\n\x05\x04\n\x02\x03\x08\x12\x04\xee\
8820 \x023D\n\x0e\n\x06\x04\n\x02\x03\x08\x03\x12\x04\xee\x024C\n\xe6\x02\n\
8821 \x04\x04\n\x02\x04\x12\x04\xf6\x02\x02>\x1a\xd7\x02\x20If\x20set\x20true\
8822 ,\x20then\x20the\x20Java2\x20code\x20generator\x20will\x20generate\x20co\
8823 de\x20that\n\x20throws\x20an\x20exception\x20whenever\x20an\x20attempt\
8824 \x20is\x20made\x20to\x20assign\x20a\x20non-UTF-8\n\x20byte\x20sequence\
8825 \x20to\x20a\x20string\x20field.\n\x20Message\x20reflection\x20will\x20do\
8826 \x20the\x20same.\n\x20However,\x20an\x20extension\x20field\x20still\x20a\
8827 ccepts\x20non-UTF-8\x20byte\x20sequences.\n\x20This\x20option\x20has\x20\
8828 no\x20effect\x20on\x20when\x20used\x20with\x20the\x20lite\x20runtime.\n\
8829 \n\r\n\x05\x04\n\x02\x04\x04\x12\x04\xf6\x02\x02\n\n\r\n\x05\x04\n\x02\
8830 \x04\x05\x12\x04\xf6\x02\x0b\x0f\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\xf6\
8831 \x02\x10&\n\r\n\x05\x04\n\x02\x04\x03\x12\x04\xf6\x02)+\n\r\n\x05\x04\n\
8832 \x02\x04\x08\x12\x04\xf6\x02,=\n\r\n\x05\x04\n\x02\x04\x07\x12\x04\xf6\
8833 \x027<\nL\n\x04\x04\n\x04\0\x12\x06\xfa\x02\x02\xff\x02\x03\x1a<\x20Gene\
8834 rated\x20classes\x20can\x20be\x20optimized\x20for\x20speed\x20or\x20code\
8835 \x20size.\n\n\r\n\x05\x04\n\x04\0\x01\x12\x04\xfa\x02\x07\x13\nD\n\x06\
8836 \x04\n\x04\0\x02\0\x12\x04\xfb\x02\x04\x0e\"4\x20Generate\x20complete\
8837 \x20code\x20for\x20parsing,\x20serialization,\n\n\x0f\n\x07\x04\n\x04\0\
8838 \x02\0\x01\x12\x04\xfb\x02\x04\t\n\x0f\n\x07\x04\n\x04\0\x02\0\x02\x12\
8839 \x04\xfb\x02\x0c\r\nG\n\x06\x04\n\x04\0\x02\x01\x12\x04\xfd\x02\x04\x12\
8840 \x1a\x06\x20etc.\n\"/\x20Use\x20ReflectionOps\x20to\x20implement\x20thes\
8841 e\x20methods.\n\n\x0f\n\x07\x04\n\x04\0\x02\x01\x01\x12\x04\xfd\x02\x04\
8842 \r\n\x0f\n\x07\x04\n\x04\0\x02\x01\x02\x12\x04\xfd\x02\x10\x11\nG\n\x06\
8843 \x04\n\x04\0\x02\x02\x12\x04\xfe\x02\x04\x15\"7\x20Generate\x20code\x20u\
8844 sing\x20MessageLite\x20and\x20the\x20lite\x20runtime.\n\n\x0f\n\x07\x04\
8845 \n\x04\0\x02\x02\x01\x12\x04\xfe\x02\x04\x10\n\x0f\n\x07\x04\n\x04\0\x02\
8846 \x02\x02\x12\x04\xfe\x02\x13\x14\n\x0c\n\x04\x04\n\x02\x05\x12\x04\x80\
8847 \x03\x02;\n\r\n\x05\x04\n\x02\x05\x04\x12\x04\x80\x03\x02\n\n\r\n\x05\
8848 \x04\n\x02\x05\x06\x12\x04\x80\x03\x0b\x17\n\r\n\x05\x04\n\x02\x05\x01\
8849 \x12\x04\x80\x03\x18$\n\r\n\x05\x04\n\x02\x05\x03\x12\x04\x80\x03'(\n\r\
8850 \n\x05\x04\n\x02\x05\x08\x12\x04\x80\x03):\n\r\n\x05\x04\n\x02\x05\x07\
8851 \x12\x04\x80\x0349\n\xe2\x02\n\x04\x04\n\x02\x06\x12\x04\x87\x03\x02\"\
8852 \x1a\xd3\x02\x20Sets\x20the\x20Go\x20package\x20where\x20structs\x20gene\
8853 rated\x20from\x20this\x20.proto\x20will\x20be\n\x20placed.\x20If\x20omit\
8854 ted,\x20the\x20Go\x20package\x20will\x20be\x20derived\x20from\x20the\x20\
8855 following:\n\x20\x20\x20-\x20The\x20basename\x20of\x20the\x20package\x20\
8856 import\x20path,\x20if\x20provided.\n\x20\x20\x20-\x20Otherwise,\x20the\
8857 \x20package\x20statement\x20in\x20the\x20.proto\x20file,\x20if\x20presen\
8858 t.\n\x20\x20\x20-\x20Otherwise,\x20the\x20basename\x20of\x20the\x20.prot\
8859 o\x20file,\x20without\x20extension.\n\n\r\n\x05\x04\n\x02\x06\x04\x12\
8860 \x04\x87\x03\x02\n\n\r\n\x05\x04\n\x02\x06\x05\x12\x04\x87\x03\x0b\x11\n\
8861 \r\n\x05\x04\n\x02\x06\x01\x12\x04\x87\x03\x12\x1c\n\r\n\x05\x04\n\x02\
8862 \x06\x03\x12\x04\x87\x03\x1f!\n\xd4\x04\n\x04\x04\n\x02\x07\x12\x04\x96\
8863 \x03\x02;\x1a\xc5\x04\x20Should\x20generic\x20services\x20be\x20generate\
8864 d\x20in\x20each\x20language?\x20\x20\"Generic\"\x20services\n\x20are\x20\
8865 not\x20specific\x20to\x20any\x20particular\x20RPC\x20system.\x20\x20They\
8866 \x20are\x20generated\x20by\x20the\n\x20main\x20code\x20generators\x20in\
8867 \x20each\x20language\x20(without\x20additional\x20plugins).\n\x20Generic\
8868 \x20services\x20were\x20the\x20only\x20kind\x20of\x20service\x20generati\
8869 on\x20supported\x20by\n\x20early\x20versions\x20of\x20google.protobuf.\n\
8870 \n\x20Generic\x20services\x20are\x20now\x20considered\x20deprecated\x20i\
8871 n\x20favor\x20of\x20using\x20plugins\n\x20that\x20generate\x20code\x20sp\
8872 ecific\x20to\x20your\x20particular\x20RPC\x20system.\x20\x20Therefore,\n\
8873 \x20these\x20default\x20to\x20false.\x20\x20Old\x20code\x20which\x20depe\
8874 nds\x20on\x20generic\x20services\x20should\n\x20explicitly\x20set\x20the\
8875 m\x20to\x20true.\n\n\r\n\x05\x04\n\x02\x07\x04\x12\x04\x96\x03\x02\n\n\r\
8876 \n\x05\x04\n\x02\x07\x05\x12\x04\x96\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x07\
8877 \x01\x12\x04\x96\x03\x10#\n\r\n\x05\x04\n\x02\x07\x03\x12\x04\x96\x03&(\
8878 \n\r\n\x05\x04\n\x02\x07\x08\x12\x04\x96\x03):\n\r\n\x05\x04\n\x02\x07\
8879 \x07\x12\x04\x96\x0349\n\x0c\n\x04\x04\n\x02\x08\x12\x04\x97\x03\x02=\n\
8880 \r\n\x05\x04\n\x02\x08\x04\x12\x04\x97\x03\x02\n\n\r\n\x05\x04\n\x02\x08\
8881 \x05\x12\x04\x97\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x08\x01\x12\x04\x97\x03\
8882 \x10%\n\r\n\x05\x04\n\x02\x08\x03\x12\x04\x97\x03(*\n\r\n\x05\x04\n\x02\
8883 \x08\x08\x12\x04\x97\x03+<\n\r\n\x05\x04\n\x02\x08\x07\x12\x04\x97\x036;\
8884 \n\x0c\n\x04\x04\n\x02\t\x12\x04\x98\x03\x02;\n\r\n\x05\x04\n\x02\t\x04\
8885 \x12\x04\x98\x03\x02\n\n\r\n\x05\x04\n\x02\t\x05\x12\x04\x98\x03\x0b\x0f\
8886 \n\r\n\x05\x04\n\x02\t\x01\x12\x04\x98\x03\x10#\n\r\n\x05\x04\n\x02\t\
8887 \x03\x12\x04\x98\x03&(\n\r\n\x05\x04\n\x02\t\x08\x12\x04\x98\x03):\n\r\n\
8888 \x05\x04\n\x02\t\x07\x12\x04\x98\x0349\n\x0c\n\x04\x04\n\x02\n\x12\x04\
8889 \x99\x03\x02<\n\r\n\x05\x04\n\x02\n\x04\x12\x04\x99\x03\x02\n\n\r\n\x05\
8890 \x04\n\x02\n\x05\x12\x04\x99\x03\x0b\x0f\n\r\n\x05\x04\n\x02\n\x01\x12\
8891 \x04\x99\x03\x10$\n\r\n\x05\x04\n\x02\n\x03\x12\x04\x99\x03')\n\r\n\x05\
8892 \x04\n\x02\n\x08\x12\x04\x99\x03*;\n\r\n\x05\x04\n\x02\n\x07\x12\x04\x99\
8893 \x035:\n\xf3\x01\n\x04\x04\n\x02\x0b\x12\x04\x9f\x03\x022\x1a\xe4\x01\
8894 \x20Is\x20this\x20file\x20deprecated?\n\x20Depending\x20on\x20the\x20tar\
8895 get\x20platform,\x20this\x20can\x20emit\x20Deprecated\x20annotations\n\
8896 \x20for\x20everything\x20in\x20the\x20file,\x20or\x20it\x20will\x20be\
8897 \x20completely\x20ignored;\x20in\x20the\x20very\n\x20least,\x20this\x20i\
8898 s\x20a\x20formalization\x20for\x20deprecating\x20files.\n\n\r\n\x05\x04\
8899 \n\x02\x0b\x04\x12\x04\x9f\x03\x02\n\n\r\n\x05\x04\n\x02\x0b\x05\x12\x04\
8900 \x9f\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x0b\x01\x12\x04\x9f\x03\x10\x1a\n\r\
8901 \n\x05\x04\n\x02\x0b\x03\x12\x04\x9f\x03\x1d\x1f\n\r\n\x05\x04\n\x02\x0b\
8902 \x08\x12\x04\x9f\x03\x201\n\r\n\x05\x04\n\x02\x0b\x07\x12\x04\x9f\x03+0\
8903 \n\x7f\n\x04\x04\n\x02\x0c\x12\x04\xa3\x03\x027\x1aq\x20Enables\x20the\
8904 \x20use\x20of\x20arenas\x20for\x20the\x20proto\x20messages\x20in\x20this\
8905 \x20file.\x20This\x20applies\n\x20only\x20to\x20generated\x20classes\x20\
8906 for\x20C++.\n\n\r\n\x05\x04\n\x02\x0c\x04\x12\x04\xa3\x03\x02\n\n\r\n\
8907 \x05\x04\n\x02\x0c\x05\x12\x04\xa3\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x0c\
8908 \x01\x12\x04\xa3\x03\x10\x20\n\r\n\x05\x04\n\x02\x0c\x03\x12\x04\xa3\x03\
8909 #%\n\r\n\x05\x04\n\x02\x0c\x08\x12\x04\xa3\x03&6\n\r\n\x05\x04\n\x02\x0c\
8910 \x07\x12\x04\xa3\x0315\n\x92\x01\n\x04\x04\n\x02\r\x12\x04\xa8\x03\x02)\
8911 \x1a\x83\x01\x20Sets\x20the\x20objective\x20c\x20class\x20prefix\x20whic\
8912 h\x20is\x20prepended\x20to\x20all\x20objective\x20c\n\x20generated\x20cl\
8913 asses\x20from\x20this\x20.proto.\x20There\x20is\x20no\x20default.\n\n\r\
8914 \n\x05\x04\n\x02\r\x04\x12\x04\xa8\x03\x02\n\n\r\n\x05\x04\n\x02\r\x05\
8915 \x12\x04\xa8\x03\x0b\x11\n\r\n\x05\x04\n\x02\r\x01\x12\x04\xa8\x03\x12#\
8916 \n\r\n\x05\x04\n\x02\r\x03\x12\x04\xa8\x03&(\nI\n\x04\x04\n\x02\x0e\x12\
8917 \x04\xab\x03\x02(\x1a;\x20Namespace\x20for\x20generated\x20classes;\x20d\
8918 efaults\x20to\x20the\x20package.\n\n\r\n\x05\x04\n\x02\x0e\x04\x12\x04\
8919 \xab\x03\x02\n\n\r\n\x05\x04\n\x02\x0e\x05\x12\x04\xab\x03\x0b\x11\n\r\n\
8920 \x05\x04\n\x02\x0e\x01\x12\x04\xab\x03\x12\"\n\r\n\x05\x04\n\x02\x0e\x03\
8921 \x12\x04\xab\x03%'\n\x91\x02\n\x04\x04\n\x02\x0f\x12\x04\xb1\x03\x02$\
8922 \x1a\x82\x02\x20By\x20default\x20Swift\x20generators\x20will\x20take\x20\
8923 the\x20proto\x20package\x20and\x20CamelCase\x20it\n\x20replacing\x20'.'\
8924 \x20with\x20underscore\x20and\x20use\x20that\x20to\x20prefix\x20the\x20t\
8925 ypes/symbols\n\x20defined.\x20When\x20this\x20options\x20is\x20provided,\
8926 \x20they\x20will\x20use\x20this\x20value\x20instead\n\x20to\x20prefix\
8927 \x20the\x20types/symbols\x20defined.\n\n\r\n\x05\x04\n\x02\x0f\x04\x12\
8928 \x04\xb1\x03\x02\n\n\r\n\x05\x04\n\x02\x0f\x05\x12\x04\xb1\x03\x0b\x11\n\
8929 \r\n\x05\x04\n\x02\x0f\x01\x12\x04\xb1\x03\x12\x1e\n\r\n\x05\x04\n\x02\
8930 \x0f\x03\x12\x04\xb1\x03!#\n~\n\x04\x04\n\x02\x10\x12\x04\xb5\x03\x02(\
8931 \x1ap\x20Sets\x20the\x20php\x20class\x20prefix\x20which\x20is\x20prepend\
8932 ed\x20to\x20all\x20php\x20generated\x20classes\n\x20from\x20this\x20.pro\
8933 to.\x20Default\x20is\x20empty.\n\n\r\n\x05\x04\n\x02\x10\x04\x12\x04\xb5\
8934 \x03\x02\n\n\r\n\x05\x04\n\x02\x10\x05\x12\x04\xb5\x03\x0b\x11\n\r\n\x05\
8935 \x04\n\x02\x10\x01\x12\x04\xb5\x03\x12\"\n\r\n\x05\x04\n\x02\x10\x03\x12\
8936 \x04\xb5\x03%'\n\xbe\x01\n\x04\x04\n\x02\x11\x12\x04\xba\x03\x02%\x1a\
8937 \xaf\x01\x20Use\x20this\x20option\x20to\x20change\x20the\x20namespace\
8938 \x20of\x20php\x20generated\x20classes.\x20Default\n\x20is\x20empty.\x20W\
8939 hen\x20this\x20option\x20is\x20empty,\x20the\x20package\x20name\x20will\
8940 \x20be\x20used\x20for\n\x20determining\x20the\x20namespace.\n\n\r\n\x05\
8941 \x04\n\x02\x11\x04\x12\x04\xba\x03\x02\n\n\r\n\x05\x04\n\x02\x11\x05\x12\
8942 \x04\xba\x03\x0b\x11\n\r\n\x05\x04\n\x02\x11\x01\x12\x04\xba\x03\x12\x1f\
8943 \n\r\n\x05\x04\n\x02\x11\x03\x12\x04\xba\x03\"$\n\xca\x01\n\x04\x04\n\
8944 \x02\x12\x12\x04\xbf\x03\x02.\x1a\xbb\x01\x20Use\x20this\x20option\x20to\
8945 \x20change\x20the\x20namespace\x20of\x20php\x20generated\x20metadata\x20\
8946 classes.\n\x20Default\x20is\x20empty.\x20When\x20this\x20option\x20is\
8947 \x20empty,\x20the\x20proto\x20file\x20name\x20will\x20be\n\x20used\x20fo\
8948 r\x20determining\x20the\x20namespace.\n\n\r\n\x05\x04\n\x02\x12\x04\x12\
8949 \x04\xbf\x03\x02\n\n\r\n\x05\x04\n\x02\x12\x05\x12\x04\xbf\x03\x0b\x11\n\
8950 \r\n\x05\x04\n\x02\x12\x01\x12\x04\xbf\x03\x12(\n\r\n\x05\x04\n\x02\x12\
8951 \x03\x12\x04\xbf\x03+-\n\xc2\x01\n\x04\x04\n\x02\x13\x12\x04\xc4\x03\x02\
8952 $\x1a\xb3\x01\x20Use\x20this\x20option\x20to\x20change\x20the\x20package\
8953 \x20of\x20ruby\x20generated\x20classes.\x20Default\n\x20is\x20empty.\x20\
8954 When\x20this\x20option\x20is\x20not\x20set,\x20the\x20package\x20name\
8955 \x20will\x20be\x20used\x20for\n\x20determining\x20the\x20ruby\x20package\
8956 .\n\n\r\n\x05\x04\n\x02\x13\x04\x12\x04\xc4\x03\x02\n\n\r\n\x05\x04\n\
8957 \x02\x13\x05\x12\x04\xc4\x03\x0b\x11\n\r\n\x05\x04\n\x02\x13\x01\x12\x04\
8958 \xc4\x03\x12\x1e\n\r\n\x05\x04\n\x02\x13\x03\x12\x04\xc4\x03!#\n|\n\x04\
8959 \x04\n\x02\x14\x12\x04\xc9\x03\x02:\x1an\x20The\x20parser\x20stores\x20o\
8960 ptions\x20it\x20doesn't\x20recognize\x20here.\n\x20See\x20the\x20documen\
8961 tation\x20for\x20the\x20\"Options\"\x20section\x20above.\n\n\r\n\x05\x04\
8962 \n\x02\x14\x04\x12\x04\xc9\x03\x02\n\n\r\n\x05\x04\n\x02\x14\x06\x12\x04\
8963 \xc9\x03\x0b\x1e\n\r\n\x05\x04\n\x02\x14\x01\x12\x04\xc9\x03\x1f3\n\r\n\
8964 \x05\x04\n\x02\x14\x03\x12\x04\xc9\x0369\n\x87\x01\n\x03\x04\n\x05\x12\
8965 \x04\xcd\x03\x02\x19\x1az\x20Clients\x20can\x20define\x20custom\x20optio\
8966 ns\x20in\x20extensions\x20of\x20this\x20message.\n\x20See\x20the\x20docu\
8967 mentation\x20for\x20the\x20\"Options\"\x20section\x20above.\n\n\x0c\n\
8968 \x04\x04\n\x05\0\x12\x04\xcd\x03\r\x18\n\r\n\x05\x04\n\x05\0\x01\x12\x04\
8969 \xcd\x03\r\x11\n\r\n\x05\x04\n\x05\0\x02\x12\x04\xcd\x03\x15\x18\n\x0b\n\
8970 \x03\x04\n\t\x12\x04\xcf\x03\x02\x0e\n\x0c\n\x04\x04\n\t\0\x12\x04\xcf\
8971 \x03\x0b\r\n\r\n\x05\x04\n\t\0\x01\x12\x04\xcf\x03\x0b\r\n\r\n\x05\x04\n\
8972 \t\0\x02\x12\x04\xcf\x03\x0b\r\n\x0c\n\x02\x04\x0b\x12\x06\xd2\x03\0\x94\
8973 \x04\x01\n\x0b\n\x03\x04\x0b\x01\x12\x04\xd2\x03\x08\x16\n\xd8\x05\n\x04\
8974 \x04\x0b\x02\0\x12\x04\xe5\x03\x02>\x1a\xc9\x05\x20Set\x20true\x20to\x20\
8975 use\x20the\x20old\x20proto1\x20MessageSet\x20wire\x20format\x20for\x20ex\
8976 tensions.\n\x20This\x20is\x20provided\x20for\x20backwards-compatibility\
8977 \x20with\x20the\x20MessageSet\x20wire\n\x20format.\x20\x20You\x20should\
8978 \x20not\x20use\x20this\x20for\x20any\x20other\x20reason:\x20\x20It's\x20\
8979 less\n\x20efficient,\x20has\x20fewer\x20features,\x20and\x20is\x20more\
8980 \x20complicated.\n\n\x20The\x20message\x20must\x20be\x20defined\x20exact\
8981 ly\x20as\x20follows:\n\x20\x20\x20message\x20Foo\x20{\n\x20\x20\x20\x20\
8982 \x20option\x20message_set_wire_format\x20=\x20true;\n\x20\x20\x20\x20\
8983 \x20extensions\x204\x20to\x20max;\n\x20\x20\x20}\n\x20Note\x20that\x20th\
8984 e\x20message\x20cannot\x20have\x20any\x20defined\x20fields;\x20MessageSe\
8985 ts\x20only\n\x20have\x20extensions.\n\n\x20All\x20extensions\x20of\x20yo\
8986 ur\x20type\x20must\x20be\x20singular\x20messages;\x20e.g.\x20they\x20can\
8987 not\n\x20be\x20int32s,\x20enums,\x20or\x20repeated\x20messages.\n\n\x20B\
8988 ecause\x20this\x20is\x20an\x20option,\x20the\x20above\x20two\x20restrict\
8989 ions\x20are\x20not\x20enforced\x20by\n\x20the\x20protocol\x20compiler.\n\
8990 \n\r\n\x05\x04\x0b\x02\0\x04\x12\x04\xe5\x03\x02\n\n\r\n\x05\x04\x0b\x02\
8991 \0\x05\x12\x04\xe5\x03\x0b\x0f\n\r\n\x05\x04\x0b\x02\0\x01\x12\x04\xe5\
8992 \x03\x10'\n\r\n\x05\x04\x0b\x02\0\x03\x12\x04\xe5\x03*+\n\r\n\x05\x04\
8993 \x0b\x02\0\x08\x12\x04\xe5\x03,=\n\r\n\x05\x04\x0b\x02\0\x07\x12\x04\xe5\
8994 \x037<\n\xeb\x01\n\x04\x04\x0b\x02\x01\x12\x04\xea\x03\x02F\x1a\xdc\x01\
8995 \x20Disables\x20the\x20generation\x20of\x20the\x20standard\x20\"descript\
8996 or()\"\x20accessor,\x20which\x20can\n\x20conflict\x20with\x20a\x20field\
8997 \x20of\x20the\x20same\x20name.\x20\x20This\x20is\x20meant\x20to\x20make\
8998 \x20migration\n\x20from\x20proto1\x20easier;\x20new\x20code\x20should\
8999 \x20avoid\x20fields\x20named\x20\"descriptor\".\n\n\r\n\x05\x04\x0b\x02\
9000 \x01\x04\x12\x04\xea\x03\x02\n\n\r\n\x05\x04\x0b\x02\x01\x05\x12\x04\xea\
9001 \x03\x0b\x0f\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xea\x03\x10/\n\r\n\
9002 \x05\x04\x0b\x02\x01\x03\x12\x04\xea\x0323\n\r\n\x05\x04\x0b\x02\x01\x08\
9003 \x12\x04\xea\x034E\n\r\n\x05\x04\x0b\x02\x01\x07\x12\x04\xea\x03?D\n\xee\
9004 \x01\n\x04\x04\x0b\x02\x02\x12\x04\xf0\x03\x021\x1a\xdf\x01\x20Is\x20thi\
9005 s\x20message\x20deprecated?\n\x20Depending\x20on\x20the\x20target\x20pla\
9006 tform,\x20this\x20can\x20emit\x20Deprecated\x20annotations\n\x20for\x20t\
9007 he\x20message,\x20or\x20it\x20will\x20be\x20completely\x20ignored;\x20in\
9008 \x20the\x20very\x20least,\n\x20this\x20is\x20a\x20formalization\x20for\
9009 \x20deprecating\x20messages.\n\n\r\n\x05\x04\x0b\x02\x02\x04\x12\x04\xf0\
9010 \x03\x02\n\n\r\n\x05\x04\x0b\x02\x02\x05\x12\x04\xf0\x03\x0b\x0f\n\r\n\
9011 \x05\x04\x0b\x02\x02\x01\x12\x04\xf0\x03\x10\x1a\n\r\n\x05\x04\x0b\x02\
9012 \x02\x03\x12\x04\xf0\x03\x1d\x1e\n\r\n\x05\x04\x0b\x02\x02\x08\x12\x04\
9013 \xf0\x03\x1f0\n\r\n\x05\x04\x0b\x02\x02\x07\x12\x04\xf0\x03*/\n\x0b\n\
9014 \x03\x04\x0b\t\x12\x04\xf2\x03\x02\x13\n\x0c\n\x04\x04\x0b\t\0\x12\x04\
9015 \xf2\x03\x0b\x0c\n\r\n\x05\x04\x0b\t\0\x01\x12\x04\xf2\x03\x0b\x0c\n\r\n\
9016 \x05\x04\x0b\t\0\x02\x12\x04\xf2\x03\x0b\x0c\n\x0c\n\x04\x04\x0b\t\x01\
9017 \x12\x04\xf2\x03\x0e\x0f\n\r\n\x05\x04\x0b\t\x01\x01\x12\x04\xf2\x03\x0e\
9018 \x0f\n\r\n\x05\x04\x0b\t\x01\x02\x12\x04\xf2\x03\x0e\x0f\n\x0c\n\x04\x04\
9019 \x0b\t\x02\x12\x04\xf2\x03\x11\x12\n\r\n\x05\x04\x0b\t\x02\x01\x12\x04\
9020 \xf2\x03\x11\x12\n\r\n\x05\x04\x0b\t\x02\x02\x12\x04\xf2\x03\x11\x12\n\
9021 \xa0\x06\n\x04\x04\x0b\x02\x03\x12\x04\x89\x04\x02\x1e\x1a\x91\x06\x20Wh\
9022 ether\x20the\x20message\x20is\x20an\x20automatically\x20generated\x20map\
9023 \x20entry\x20type\x20for\x20the\n\x20maps\x20field.\n\n\x20For\x20maps\
9024 \x20fields:\n\x20\x20\x20\x20\x20map<KeyType,\x20ValueType>\x20map_field\
9025 \x20=\x201;\n\x20The\x20parsed\x20descriptor\x20looks\x20like:\n\x20\x20\
9026 \x20\x20\x20message\x20MapFieldEntry\x20{\n\x20\x20\x20\x20\x20\x20\x20\
9027 \x20\x20option\x20map_entry\x20=\x20true;\n\x20\x20\x20\x20\x20\x20\x20\
9028 \x20\x20optional\x20KeyType\x20key\x20=\x201;\n\x20\x20\x20\x20\x20\x20\
9029 \x20\x20\x20optional\x20ValueType\x20value\x20=\x202;\n\x20\x20\x20\x20\
9030 \x20}\n\x20\x20\x20\x20\x20repeated\x20MapFieldEntry\x20map_field\x20=\
9031 \x201;\n\n\x20Implementations\x20may\x20choose\x20not\x20to\x20generate\
9032 \x20the\x20map_entry=true\x20message,\x20but\n\x20use\x20a\x20native\x20\
9033 map\x20in\x20the\x20target\x20language\x20to\x20hold\x20the\x20keys\x20a\
9034 nd\x20values.\n\x20The\x20reflection\x20APIs\x20in\x20such\x20implementa\
9035 tions\x20still\x20need\x20to\x20work\x20as\n\x20if\x20the\x20field\x20is\
9036 \x20a\x20repeated\x20message\x20field.\n\n\x20NOTE:\x20Do\x20not\x20set\
9037 \x20the\x20option\x20in\x20.proto\x20files.\x20Always\x20use\x20the\x20m\
9038 aps\x20syntax\n\x20instead.\x20The\x20option\x20should\x20only\x20be\x20\
9039 implicitly\x20set\x20by\x20the\x20proto\x20compiler\n\x20parser.\n\n\r\n\
9040 \x05\x04\x0b\x02\x03\x04\x12\x04\x89\x04\x02\n\n\r\n\x05\x04\x0b\x02\x03\
9041 \x05\x12\x04\x89\x04\x0b\x0f\n\r\n\x05\x04\x0b\x02\x03\x01\x12\x04\x89\
9042 \x04\x10\x19\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\x89\x04\x1c\x1d\n$\n\
9043 \x03\x04\x0b\t\x12\x04\x8b\x04\x02\r\"\x17\x20javalite_serializable\n\n\
9044 \x0c\n\x04\x04\x0b\t\x03\x12\x04\x8b\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x03\
9045 \x01\x12\x04\x8b\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x03\x02\x12\x04\x8b\x04\
9046 \x0b\x0c\n\x1f\n\x03\x04\x0b\t\x12\x04\x8c\x04\x02\r\"\x12\x20javanano_a\
9047 s_lite\n\n\x0c\n\x04\x04\x0b\t\x04\x12\x04\x8c\x04\x0b\x0c\n\r\n\x05\x04\
9048 \x0b\t\x04\x01\x12\x04\x8c\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x04\x02\x12\
9049 \x04\x8c\x04\x0b\x0c\nO\n\x04\x04\x0b\x02\x04\x12\x04\x90\x04\x02:\x1aA\
9050 \x20The\x20parser\x20stores\x20options\x20it\x20doesn't\x20recognize\x20\
9051 here.\x20See\x20above.\n\n\r\n\x05\x04\x0b\x02\x04\x04\x12\x04\x90\x04\
9052 \x02\n\n\r\n\x05\x04\x0b\x02\x04\x06\x12\x04\x90\x04\x0b\x1e\n\r\n\x05\
9053 \x04\x0b\x02\x04\x01\x12\x04\x90\x04\x1f3\n\r\n\x05\x04\x0b\x02\x04\x03\
9054 \x12\x04\x90\x0469\nZ\n\x03\x04\x0b\x05\x12\x04\x93\x04\x02\x19\x1aM\x20\
9055 Clients\x20can\x20define\x20custom\x20options\x20in\x20extensions\x20of\
9056 \x20this\x20message.\x20See\x20above.\n\n\x0c\n\x04\x04\x0b\x05\0\x12\
9057 \x04\x93\x04\r\x18\n\r\n\x05\x04\x0b\x05\0\x01\x12\x04\x93\x04\r\x11\n\r\
9058 \n\x05\x04\x0b\x05\0\x02\x12\x04\x93\x04\x15\x18\n\x0c\n\x02\x04\x0c\x12\
9059 \x06\x96\x04\0\xf1\x04\x01\n\x0b\n\x03\x04\x0c\x01\x12\x04\x96\x04\x08\
9060 \x14\n\xa3\x02\n\x04\x04\x0c\x02\0\x12\x04\x9b\x04\x02.\x1a\x94\x02\x20T\
9061 he\x20ctype\x20option\x20instructs\x20the\x20C++\x20code\x20generator\
9062 \x20to\x20use\x20a\x20different\n\x20representation\x20of\x20the\x20fiel\
9063 d\x20than\x20it\x20normally\x20would.\x20\x20See\x20the\x20specific\n\
9064 \x20options\x20below.\x20\x20This\x20option\x20is\x20not\x20yet\x20imple\
9065 mented\x20in\x20the\x20open\x20source\n\x20release\x20--\x20sorry,\x20we\
9066 'll\x20try\x20to\x20include\x20it\x20in\x20a\x20future\x20version!\n\n\r\
9067 \n\x05\x04\x0c\x02\0\x04\x12\x04\x9b\x04\x02\n\n\r\n\x05\x04\x0c\x02\0\
9068 \x06\x12\x04\x9b\x04\x0b\x10\n\r\n\x05\x04\x0c\x02\0\x01\x12\x04\x9b\x04\
9069 \x11\x16\n\r\n\x05\x04\x0c\x02\0\x03\x12\x04\x9b\x04\x19\x1a\n\r\n\x05\
9070 \x04\x0c\x02\0\x08\x12\x04\x9b\x04\x1b-\n\r\n\x05\x04\x0c\x02\0\x07\x12\
9071 \x04\x9b\x04&,\n\x0e\n\x04\x04\x0c\x04\0\x12\x06\x9c\x04\x02\xa3\x04\x03\
9072 \n\r\n\x05\x04\x0c\x04\0\x01\x12\x04\x9c\x04\x07\x0c\n\x1f\n\x06\x04\x0c\
9073 \x04\0\x02\0\x12\x04\x9e\x04\x04\x0f\x1a\x0f\x20Default\x20mode.\n\n\x0f\
9074 \n\x07\x04\x0c\x04\0\x02\0\x01\x12\x04\x9e\x04\x04\n\n\x0f\n\x07\x04\x0c\
9075 \x04\0\x02\0\x02\x12\x04\x9e\x04\r\x0e\n\x0e\n\x06\x04\x0c\x04\0\x02\x01\
9076 \x12\x04\xa0\x04\x04\r\n\x0f\n\x07\x04\x0c\x04\0\x02\x01\x01\x12\x04\xa0\
9077 \x04\x04\x08\n\x0f\n\x07\x04\x0c\x04\0\x02\x01\x02\x12\x04\xa0\x04\x0b\
9078 \x0c\n\x0e\n\x06\x04\x0c\x04\0\x02\x02\x12\x04\xa2\x04\x04\x15\n\x0f\n\
9079 \x07\x04\x0c\x04\0\x02\x02\x01\x12\x04\xa2\x04\x04\x10\n\x0f\n\x07\x04\
9080 \x0c\x04\0\x02\x02\x02\x12\x04\xa2\x04\x13\x14\n\xda\x02\n\x04\x04\x0c\
9081 \x02\x01\x12\x04\xa9\x04\x02\x1b\x1a\xcb\x02\x20The\x20packed\x20option\
9082 \x20can\x20be\x20enabled\x20for\x20repeated\x20primitive\x20fields\x20to\
9083 \x20enable\n\x20a\x20more\x20efficient\x20representation\x20on\x20the\
9084 \x20wire.\x20Rather\x20than\x20repeatedly\n\x20writing\x20the\x20tag\x20\
9085 and\x20type\x20for\x20each\x20element,\x20the\x20entire\x20array\x20is\
9086 \x20encoded\x20as\n\x20a\x20single\x20length-delimited\x20blob.\x20In\
9087 \x20proto3,\x20only\x20explicit\x20setting\x20it\x20to\n\x20false\x20wil\
9088 l\x20avoid\x20using\x20packed\x20encoding.\n\n\r\n\x05\x04\x0c\x02\x01\
9089 \x04\x12\x04\xa9\x04\x02\n\n\r\n\x05\x04\x0c\x02\x01\x05\x12\x04\xa9\x04\
9090 \x0b\x0f\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xa9\x04\x10\x16\n\r\n\x05\
9091 \x04\x0c\x02\x01\x03\x12\x04\xa9\x04\x19\x1a\n\x9a\x05\n\x04\x04\x0c\x02\
9092 \x02\x12\x04\xb6\x04\x023\x1a\x8b\x05\x20The\x20jstype\x20option\x20dete\
9093 rmines\x20the\x20JavaScript\x20type\x20used\x20for\x20values\x20of\x20th\
9094 e\n\x20field.\x20\x20The\x20option\x20is\x20permitted\x20only\x20for\x20\
9095 64\x20bit\x20integral\x20and\x20fixed\x20types\n\x20(int64,\x20uint64,\
9096 \x20sint64,\x20fixed64,\x20sfixed64).\x20\x20A\x20field\x20with\x20jstyp\
9097 e\x20JS_STRING\n\x20is\x20represented\x20as\x20JavaScript\x20string,\x20\
9098 which\x20avoids\x20loss\x20of\x20precision\x20that\n\x20can\x20happen\
9099 \x20when\x20a\x20large\x20value\x20is\x20converted\x20to\x20a\x20floatin\
9100 g\x20point\x20JavaScript.\n\x20Specifying\x20JS_NUMBER\x20for\x20the\x20\
9101 jstype\x20causes\x20the\x20generated\x20JavaScript\x20code\x20to\n\x20us\
9102 e\x20the\x20JavaScript\x20\"number\"\x20type.\x20\x20The\x20behavior\x20\
9103 of\x20the\x20default\x20option\n\x20JS_NORMAL\x20is\x20implementation\
9104 \x20dependent.\n\n\x20This\x20option\x20is\x20an\x20enum\x20to\x20permit\
9105 \x20additional\x20types\x20to\x20be\x20added,\x20e.g.\n\x20goog.math.Int\
9106 eger.\n\n\r\n\x05\x04\x0c\x02\x02\x04\x12\x04\xb6\x04\x02\n\n\r\n\x05\
9107 \x04\x0c\x02\x02\x06\x12\x04\xb6\x04\x0b\x11\n\r\n\x05\x04\x0c\x02\x02\
9108 \x01\x12\x04\xb6\x04\x12\x18\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\xb6\
9109 \x04\x1b\x1c\n\r\n\x05\x04\x0c\x02\x02\x08\x12\x04\xb6\x04\x1d2\n\r\n\
9110 \x05\x04\x0c\x02\x02\x07\x12\x04\xb6\x04(1\n\x0e\n\x04\x04\x0c\x04\x01\
9111 \x12\x06\xb7\x04\x02\xc0\x04\x03\n\r\n\x05\x04\x0c\x04\x01\x01\x12\x04\
9112 \xb7\x04\x07\r\n'\n\x06\x04\x0c\x04\x01\x02\0\x12\x04\xb9\x04\x04\x12\
9113 \x1a\x17\x20Use\x20the\x20default\x20type.\n\n\x0f\n\x07\x04\x0c\x04\x01\
9114 \x02\0\x01\x12\x04\xb9\x04\x04\r\n\x0f\n\x07\x04\x0c\x04\x01\x02\0\x02\
9115 \x12\x04\xb9\x04\x10\x11\n)\n\x06\x04\x0c\x04\x01\x02\x01\x12\x04\xbc\
9116 \x04\x04\x12\x1a\x19\x20Use\x20JavaScript\x20strings.\n\n\x0f\n\x07\x04\
9117 \x0c\x04\x01\x02\x01\x01\x12\x04\xbc\x04\x04\r\n\x0f\n\x07\x04\x0c\x04\
9118 \x01\x02\x01\x02\x12\x04\xbc\x04\x10\x11\n)\n\x06\x04\x0c\x04\x01\x02\
9119 \x02\x12\x04\xbf\x04\x04\x12\x1a\x19\x20Use\x20JavaScript\x20numbers.\n\
9120 \n\x0f\n\x07\x04\x0c\x04\x01\x02\x02\x01\x12\x04\xbf\x04\x04\r\n\x0f\n\
9121 \x07\x04\x0c\x04\x01\x02\x02\x02\x12\x04\xbf\x04\x10\x11\n\xef\x0c\n\x04\
9122 \x04\x0c\x02\x03\x12\x04\xde\x04\x02+\x1a\xe0\x0c\x20Should\x20this\x20f\
9123 ield\x20be\x20parsed\x20lazily?\x20\x20Lazy\x20applies\x20only\x20to\x20\
9124 message-type\n\x20fields.\x20\x20It\x20means\x20that\x20when\x20the\x20o\
9125 uter\x20message\x20is\x20initially\x20parsed,\x20the\n\x20inner\x20messa\
9126 ge's\x20contents\x20will\x20not\x20be\x20parsed\x20but\x20instead\x20sto\
9127 red\x20in\x20encoded\n\x20form.\x20\x20The\x20inner\x20message\x20will\
9128 \x20actually\x20be\x20parsed\x20when\x20it\x20is\x20first\x20accessed.\n\
9129 \n\x20This\x20is\x20only\x20a\x20hint.\x20\x20Implementations\x20are\x20\
9130 free\x20to\x20choose\x20whether\x20to\x20use\n\x20eager\x20or\x20lazy\
9131 \x20parsing\x20regardless\x20of\x20the\x20value\x20of\x20this\x20option.\
9132 \x20\x20However,\n\x20setting\x20this\x20option\x20true\x20suggests\x20t\
9133 hat\x20the\x20protocol\x20author\x20believes\x20that\n\x20using\x20lazy\
9134 \x20parsing\x20on\x20this\x20field\x20is\x20worth\x20the\x20additional\
9135 \x20bookkeeping\n\x20overhead\x20typically\x20needed\x20to\x20implement\
9136 \x20it.\n\n\x20This\x20option\x20does\x20not\x20affect\x20the\x20public\
9137 \x20interface\x20of\x20any\x20generated\x20code;\n\x20all\x20method\x20s\
9138 ignatures\x20remain\x20the\x20same.\x20\x20Furthermore,\x20thread-safety\
9139 \x20of\x20the\n\x20interface\x20is\x20not\x20affected\x20by\x20this\x20o\
9140 ption;\x20const\x20methods\x20remain\x20safe\x20to\n\x20call\x20from\x20\
9141 multiple\x20threads\x20concurrently,\x20while\x20non-const\x20methods\
9142 \x20continue\n\x20to\x20require\x20exclusive\x20access.\n\n\n\x20Note\
9143 \x20that\x20implementations\x20may\x20choose\x20not\x20to\x20check\x20re\
9144 quired\x20fields\x20within\n\x20a\x20lazy\x20sub-message.\x20\x20That\
9145 \x20is,\x20calling\x20IsInitialized()\x20on\x20the\x20outer\x20message\n\
9146 \x20may\x20return\x20true\x20even\x20if\x20the\x20inner\x20message\x20ha\
9147 s\x20missing\x20required\x20fields.\n\x20This\x20is\x20necessary\x20beca\
9148 use\x20otherwise\x20the\x20inner\x20message\x20would\x20have\x20to\x20be\
9149 \n\x20parsed\x20in\x20order\x20to\x20perform\x20the\x20check,\x20defeati\
9150 ng\x20the\x20purpose\x20of\x20lazy\n\x20parsing.\x20\x20An\x20implementa\
9151 tion\x20which\x20chooses\x20not\x20to\x20check\x20required\x20fields\n\
9152 \x20must\x20be\x20consistent\x20about\x20it.\x20\x20That\x20is,\x20for\
9153 \x20any\x20particular\x20sub-message,\x20the\n\x20implementation\x20must\
9154 \x20either\x20*always*\x20check\x20its\x20required\x20fields,\x20or\x20*\
9155 never*\n\x20check\x20its\x20required\x20fields,\x20regardless\x20of\x20w\
9156 hether\x20or\x20not\x20the\x20message\x20has\n\x20been\x20parsed.\n\n\r\
9157 \n\x05\x04\x0c\x02\x03\x04\x12\x04\xde\x04\x02\n\n\r\n\x05\x04\x0c\x02\
9158 \x03\x05\x12\x04\xde\x04\x0b\x0f\n\r\n\x05\x04\x0c\x02\x03\x01\x12\x04\
9159 \xde\x04\x10\x14\n\r\n\x05\x04\x0c\x02\x03\x03\x12\x04\xde\x04\x17\x18\n\
9160 \r\n\x05\x04\x0c\x02\x03\x08\x12\x04\xde\x04\x19*\n\r\n\x05\x04\x0c\x02\
9161 \x03\x07\x12\x04\xde\x04$)\n\xe8\x01\n\x04\x04\x0c\x02\x04\x12\x04\xe4\
9162 \x04\x021\x1a\xd9\x01\x20Is\x20this\x20field\x20deprecated?\n\x20Dependi\
9163 ng\x20on\x20the\x20target\x20platform,\x20this\x20can\x20emit\x20Depreca\
9164 ted\x20annotations\n\x20for\x20accessors,\x20or\x20it\x20will\x20be\x20c\
9165 ompletely\x20ignored;\x20in\x20the\x20very\x20least,\x20this\n\x20is\x20\
9166 a\x20formalization\x20for\x20deprecating\x20fields.\n\n\r\n\x05\x04\x0c\
9167 \x02\x04\x04\x12\x04\xe4\x04\x02\n\n\r\n\x05\x04\x0c\x02\x04\x05\x12\x04\
9168 \xe4\x04\x0b\x0f\n\r\n\x05\x04\x0c\x02\x04\x01\x12\x04\xe4\x04\x10\x1a\n\
9169 \r\n\x05\x04\x0c\x02\x04\x03\x12\x04\xe4\x04\x1d\x1e\n\r\n\x05\x04\x0c\
9170 \x02\x04\x08\x12\x04\xe4\x04\x1f0\n\r\n\x05\x04\x0c\x02\x04\x07\x12\x04\
9171 \xe4\x04*/\n?\n\x04\x04\x0c\x02\x05\x12\x04\xe7\x04\x02,\x1a1\x20For\x20\
9172 Google-internal\x20migration\x20only.\x20Do\x20not\x20use.\n\n\r\n\x05\
9173 \x04\x0c\x02\x05\x04\x12\x04\xe7\x04\x02\n\n\r\n\x05\x04\x0c\x02\x05\x05\
9174 \x12\x04\xe7\x04\x0b\x0f\n\r\n\x05\x04\x0c\x02\x05\x01\x12\x04\xe7\x04\
9175 \x10\x14\n\r\n\x05\x04\x0c\x02\x05\x03\x12\x04\xe7\x04\x17\x19\n\r\n\x05\
9176 \x04\x0c\x02\x05\x08\x12\x04\xe7\x04\x1a+\n\r\n\x05\x04\x0c\x02\x05\x07\
9177 \x12\x04\xe7\x04%*\nO\n\x04\x04\x0c\x02\x06\x12\x04\xeb\x04\x02:\x1aA\
9178 \x20The\x20parser\x20stores\x20options\x20it\x20doesn't\x20recognize\x20\
9179 here.\x20See\x20above.\n\n\r\n\x05\x04\x0c\x02\x06\x04\x12\x04\xeb\x04\
9180 \x02\n\n\r\n\x05\x04\x0c\x02\x06\x06\x12\x04\xeb\x04\x0b\x1e\n\r\n\x05\
9181 \x04\x0c\x02\x06\x01\x12\x04\xeb\x04\x1f3\n\r\n\x05\x04\x0c\x02\x06\x03\
9182 \x12\x04\xeb\x0469\nZ\n\x03\x04\x0c\x05\x12\x04\xee\x04\x02\x19\x1aM\x20\
9183 Clients\x20can\x20define\x20custom\x20options\x20in\x20extensions\x20of\
9184 \x20this\x20message.\x20See\x20above.\n\n\x0c\n\x04\x04\x0c\x05\0\x12\
9185 \x04\xee\x04\r\x18\n\r\n\x05\x04\x0c\x05\0\x01\x12\x04\xee\x04\r\x11\n\r\
9186 \n\x05\x04\x0c\x05\0\x02\x12\x04\xee\x04\x15\x18\n\x1c\n\x03\x04\x0c\t\
9187 \x12\x04\xf0\x04\x02\r\"\x0f\x20removed\x20jtype\n\n\x0c\n\x04\x04\x0c\t\
9188 \0\x12\x04\xf0\x04\x0b\x0c\n\r\n\x05\x04\x0c\t\0\x01\x12\x04\xf0\x04\x0b\
9189 \x0c\n\r\n\x05\x04\x0c\t\0\x02\x12\x04\xf0\x04\x0b\x0c\n\x0c\n\x02\x04\r\
9190 \x12\x06\xf3\x04\0\xf9\x04\x01\n\x0b\n\x03\x04\r\x01\x12\x04\xf3\x04\x08\
9191 \x14\nO\n\x04\x04\r\x02\0\x12\x04\xf5\x04\x02:\x1aA\x20The\x20parser\x20\
9192 stores\x20options\x20it\x20doesn't\x20recognize\x20here.\x20See\x20above\
9193 .\n\n\r\n\x05\x04\r\x02\0\x04\x12\x04\xf5\x04\x02\n\n\r\n\x05\x04\r\x02\
9194 \0\x06\x12\x04\xf5\x04\x0b\x1e\n\r\n\x05\x04\r\x02\0\x01\x12\x04\xf5\x04\
9195 \x1f3\n\r\n\x05\x04\r\x02\0\x03\x12\x04\xf5\x0469\nZ\n\x03\x04\r\x05\x12\
9196 \x04\xf8\x04\x02\x19\x1aM\x20Clients\x20can\x20define\x20custom\x20optio\
9197 ns\x20in\x20extensions\x20of\x20this\x20message.\x20See\x20above.\n\n\
9198 \x0c\n\x04\x04\r\x05\0\x12\x04\xf8\x04\r\x18\n\r\n\x05\x04\r\x05\0\x01\
9199 \x12\x04\xf8\x04\r\x11\n\r\n\x05\x04\r\x05\0\x02\x12\x04\xf8\x04\x15\x18\
9200 \n\x0c\n\x02\x04\x0e\x12\x06\xfb\x04\0\x8e\x05\x01\n\x0b\n\x03\x04\x0e\
9201 \x01\x12\x04\xfb\x04\x08\x13\n`\n\x04\x04\x0e\x02\0\x12\x04\xff\x04\x02\
9202 \x20\x1aR\x20Set\x20this\x20option\x20to\x20true\x20to\x20allow\x20mappi\
9203 ng\x20different\x20tag\x20names\x20to\x20the\x20same\n\x20value.\n\n\r\n\
9204 \x05\x04\x0e\x02\0\x04\x12\x04\xff\x04\x02\n\n\r\n\x05\x04\x0e\x02\0\x05\
9205 \x12\x04\xff\x04\x0b\x0f\n\r\n\x05\x04\x0e\x02\0\x01\x12\x04\xff\x04\x10\
9206 \x1b\n\r\n\x05\x04\x0e\x02\0\x03\x12\x04\xff\x04\x1e\x1f\n\xe5\x01\n\x04\
9207 \x04\x0e\x02\x01\x12\x04\x85\x05\x021\x1a\xd6\x01\x20Is\x20this\x20enum\
9208 \x20deprecated?\n\x20Depending\x20on\x20the\x20target\x20platform,\x20th\
9209 is\x20can\x20emit\x20Deprecated\x20annotations\n\x20for\x20the\x20enum,\
9210 \x20or\x20it\x20will\x20be\x20completely\x20ignored;\x20in\x20the\x20ver\
9211 y\x20least,\x20this\n\x20is\x20a\x20formalization\x20for\x20deprecating\
9212 \x20enums.\n\n\r\n\x05\x04\x0e\x02\x01\x04\x12\x04\x85\x05\x02\n\n\r\n\
9213 \x05\x04\x0e\x02\x01\x05\x12\x04\x85\x05\x0b\x0f\n\r\n\x05\x04\x0e\x02\
9214 \x01\x01\x12\x04\x85\x05\x10\x1a\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\
9215 \x85\x05\x1d\x1e\n\r\n\x05\x04\x0e\x02\x01\x08\x12\x04\x85\x05\x1f0\n\r\
9216 \n\x05\x04\x0e\x02\x01\x07\x12\x04\x85\x05*/\n\x1f\n\x03\x04\x0e\t\x12\
9217 \x04\x87\x05\x02\r\"\x12\x20javanano_as_lite\n\n\x0c\n\x04\x04\x0e\t\0\
9218 \x12\x04\x87\x05\x0b\x0c\n\r\n\x05\x04\x0e\t\0\x01\x12\x04\x87\x05\x0b\
9219 \x0c\n\r\n\x05\x04\x0e\t\0\x02\x12\x04\x87\x05\x0b\x0c\nO\n\x04\x04\x0e\
9220 \x02\x02\x12\x04\x8a\x05\x02:\x1aA\x20The\x20parser\x20stores\x20options\
9221 \x20it\x20doesn't\x20recognize\x20here.\x20See\x20above.\n\n\r\n\x05\x04\
9222 \x0e\x02\x02\x04\x12\x04\x8a\x05\x02\n\n\r\n\x05\x04\x0e\x02\x02\x06\x12\
9223 \x04\x8a\x05\x0b\x1e\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\x8a\x05\x1f3\
9224 \n\r\n\x05\x04\x0e\x02\x02\x03\x12\x04\x8a\x0569\nZ\n\x03\x04\x0e\x05\
9225 \x12\x04\x8d\x05\x02\x19\x1aM\x20Clients\x20can\x20define\x20custom\x20o\
9226 ptions\x20in\x20extensions\x20of\x20this\x20message.\x20See\x20above.\n\
9227 \n\x0c\n\x04\x04\x0e\x05\0\x12\x04\x8d\x05\r\x18\n\r\n\x05\x04\x0e\x05\0\
9228 \x01\x12\x04\x8d\x05\r\x11\n\r\n\x05\x04\x0e\x05\0\x02\x12\x04\x8d\x05\
9229 \x15\x18\n\x0c\n\x02\x04\x0f\x12\x06\x90\x05\0\x9c\x05\x01\n\x0b\n\x03\
9230 \x04\x0f\x01\x12\x04\x90\x05\x08\x18\n\xf7\x01\n\x04\x04\x0f\x02\0\x12\
9231 \x04\x95\x05\x021\x1a\xe8\x01\x20Is\x20this\x20enum\x20value\x20deprecat\
9232 ed?\n\x20Depending\x20on\x20the\x20target\x20platform,\x20this\x20can\
9233 \x20emit\x20Deprecated\x20annotations\n\x20for\x20the\x20enum\x20value,\
9234 \x20or\x20it\x20will\x20be\x20completely\x20ignored;\x20in\x20the\x20ver\
9235 y\x20least,\n\x20this\x20is\x20a\x20formalization\x20for\x20deprecating\
9236 \x20enum\x20values.\n\n\r\n\x05\x04\x0f\x02\0\x04\x12\x04\x95\x05\x02\n\
9237 \n\r\n\x05\x04\x0f\x02\0\x05\x12\x04\x95\x05\x0b\x0f\n\r\n\x05\x04\x0f\
9238 \x02\0\x01\x12\x04\x95\x05\x10\x1a\n\r\n\x05\x04\x0f\x02\0\x03\x12\x04\
9239 \x95\x05\x1d\x1e\n\r\n\x05\x04\x0f\x02\0\x08\x12\x04\x95\x05\x1f0\n\r\n\
9240 \x05\x04\x0f\x02\0\x07\x12\x04\x95\x05*/\nO\n\x04\x04\x0f\x02\x01\x12\
9241 \x04\x98\x05\x02:\x1aA\x20The\x20parser\x20stores\x20options\x20it\x20do\
9242 esn't\x20recognize\x20here.\x20See\x20above.\n\n\r\n\x05\x04\x0f\x02\x01\
9243 \x04\x12\x04\x98\x05\x02\n\n\r\n\x05\x04\x0f\x02\x01\x06\x12\x04\x98\x05\
9244 \x0b\x1e\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\x98\x05\x1f3\n\r\n\x05\
9245 \x04\x0f\x02\x01\x03\x12\x04\x98\x0569\nZ\n\x03\x04\x0f\x05\x12\x04\x9b\
9246 \x05\x02\x19\x1aM\x20Clients\x20can\x20define\x20custom\x20options\x20in\
9247 \x20extensions\x20of\x20this\x20message.\x20See\x20above.\n\n\x0c\n\x04\
9248 \x04\x0f\x05\0\x12\x04\x9b\x05\r\x18\n\r\n\x05\x04\x0f\x05\0\x01\x12\x04\
9249 \x9b\x05\r\x11\n\r\n\x05\x04\x0f\x05\0\x02\x12\x04\x9b\x05\x15\x18\n\x0c\
9250 \n\x02\x04\x10\x12\x06\x9e\x05\0\xb0\x05\x01\n\x0b\n\x03\x04\x10\x01\x12\
9251 \x04\x9e\x05\x08\x16\n\xd9\x03\n\x04\x04\x10\x02\0\x12\x04\xa9\x05\x022\
9252 \x1a\xdf\x01\x20Is\x20this\x20service\x20deprecated?\n\x20Depending\x20o\
9253 n\x20the\x20target\x20platform,\x20this\x20can\x20emit\x20Deprecated\x20\
9254 annotations\n\x20for\x20the\x20service,\x20or\x20it\x20will\x20be\x20com\
9255 pletely\x20ignored;\x20in\x20the\x20very\x20least,\n\x20this\x20is\x20a\
9256 \x20formalization\x20for\x20deprecating\x20services.\n2\xe8\x01\x20Note:\
9257 \x20\x20Field\x20numbers\x201\x20through\x2032\x20are\x20reserved\x20for\
9258 \x20Google's\x20internal\x20RPC\n\x20\x20\x20framework.\x20\x20We\x20apo\
9259 logize\x20for\x20hoarding\x20these\x20numbers\x20to\x20ourselves,\x20but\
9260 \n\x20\x20\x20we\x20were\x20already\x20using\x20them\x20long\x20before\
9261 \x20we\x20decided\x20to\x20release\x20Protocol\n\x20\x20\x20Buffers.\n\n\
9262 \r\n\x05\x04\x10\x02\0\x04\x12\x04\xa9\x05\x02\n\n\r\n\x05\x04\x10\x02\0\
9263 \x05\x12\x04\xa9\x05\x0b\x0f\n\r\n\x05\x04\x10\x02\0\x01\x12\x04\xa9\x05\
9264 \x10\x1a\n\r\n\x05\x04\x10\x02\0\x03\x12\x04\xa9\x05\x1d\x1f\n\r\n\x05\
9265 \x04\x10\x02\0\x08\x12\x04\xa9\x05\x201\n\r\n\x05\x04\x10\x02\0\x07\x12\
9266 \x04\xa9\x05+0\nO\n\x04\x04\x10\x02\x01\x12\x04\xac\x05\x02:\x1aA\x20The\
9267 \x20parser\x20stores\x20options\x20it\x20doesn't\x20recognize\x20here.\
9268 \x20See\x20above.\n\n\r\n\x05\x04\x10\x02\x01\x04\x12\x04\xac\x05\x02\n\
9269 \n\r\n\x05\x04\x10\x02\x01\x06\x12\x04\xac\x05\x0b\x1e\n\r\n\x05\x04\x10\
9270 \x02\x01\x01\x12\x04\xac\x05\x1f3\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\
9271 \xac\x0569\nZ\n\x03\x04\x10\x05\x12\x04\xaf\x05\x02\x19\x1aM\x20Clients\
9272 \x20can\x20define\x20custom\x20options\x20in\x20extensions\x20of\x20this\
9273 \x20message.\x20See\x20above.\n\n\x0c\n\x04\x04\x10\x05\0\x12\x04\xaf\
9274 \x05\r\x18\n\r\n\x05\x04\x10\x05\0\x01\x12\x04\xaf\x05\r\x11\n\r\n\x05\
9275 \x04\x10\x05\0\x02\x12\x04\xaf\x05\x15\x18\n\x0c\n\x02\x04\x11\x12\x06\
9276 \xb2\x05\0\xcf\x05\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\xb2\x05\x08\x15\n\
9277 \xd6\x03\n\x04\x04\x11\x02\0\x12\x04\xbd\x05\x022\x1a\xdc\x01\x20Is\x20t\
9278 his\x20method\x20deprecated?\n\x20Depending\x20on\x20the\x20target\x20pl\
9279 atform,\x20this\x20can\x20emit\x20Deprecated\x20annotations\n\x20for\x20\
9280 the\x20method,\x20or\x20it\x20will\x20be\x20completely\x20ignored;\x20in\
9281 \x20the\x20very\x20least,\n\x20this\x20is\x20a\x20formalization\x20for\
9282 \x20deprecating\x20methods.\n2\xe8\x01\x20Note:\x20\x20Field\x20numbers\
9283 \x201\x20through\x2032\x20are\x20reserved\x20for\x20Google's\x20internal\
9284 \x20RPC\n\x20\x20\x20framework.\x20\x20We\x20apologize\x20for\x20hoardin\
9285 g\x20these\x20numbers\x20to\x20ourselves,\x20but\n\x20\x20\x20we\x20were\
9286 \x20already\x20using\x20them\x20long\x20before\x20we\x20decided\x20to\
9287 \x20release\x20Protocol\n\x20\x20\x20Buffers.\n\n\r\n\x05\x04\x11\x02\0\
9288 \x04\x12\x04\xbd\x05\x02\n\n\r\n\x05\x04\x11\x02\0\x05\x12\x04\xbd\x05\
9289 \x0b\x0f\n\r\n\x05\x04\x11\x02\0\x01\x12\x04\xbd\x05\x10\x1a\n\r\n\x05\
9290 \x04\x11\x02\0\x03\x12\x04\xbd\x05\x1d\x1f\n\r\n\x05\x04\x11\x02\0\x08\
9291 \x12\x04\xbd\x05\x201\n\r\n\x05\x04\x11\x02\0\x07\x12\x04\xbd\x05+0\n\
9292 \xf0\x01\n\x04\x04\x11\x04\0\x12\x06\xc2\x05\x02\xc6\x05\x03\x1a\xdf\x01\
9293 \x20Is\x20this\x20method\x20side-effect-free\x20(or\x20safe\x20in\x20HTT\
9294 P\x20parlance),\x20or\x20idempotent,\n\x20or\x20neither?\x20HTTP\x20base\
9295 d\x20RPC\x20implementation\x20may\x20choose\x20GET\x20verb\x20for\x20saf\
9296 e\n\x20methods,\x20and\x20PUT\x20verb\x20for\x20idempotent\x20methods\
9297 \x20instead\x20of\x20the\x20default\x20POST.\n\n\r\n\x05\x04\x11\x04\0\
9298 \x01\x12\x04\xc2\x05\x07\x17\n\x0e\n\x06\x04\x11\x04\0\x02\0\x12\x04\xc3\
9299 \x05\x04\x1c\n\x0f\n\x07\x04\x11\x04\0\x02\0\x01\x12\x04\xc3\x05\x04\x17\
9300 \n\x0f\n\x07\x04\x11\x04\0\x02\0\x02\x12\x04\xc3\x05\x1a\x1b\n$\n\x06\
9301 \x04\x11\x04\0\x02\x01\x12\x04\xc4\x05\x04\x18\"\x14\x20implies\x20idemp\
9302 otent\n\n\x0f\n\x07\x04\x11\x04\0\x02\x01\x01\x12\x04\xc4\x05\x04\x13\n\
9303 \x0f\n\x07\x04\x11\x04\0\x02\x01\x02\x12\x04\xc4\x05\x16\x17\n7\n\x06\
9304 \x04\x11\x04\0\x02\x02\x12\x04\xc5\x05\x04\x13\"'\x20idempotent,\x20but\
9305 \x20may\x20have\x20side\x20effects\n\n\x0f\n\x07\x04\x11\x04\0\x02\x02\
9306 \x01\x12\x04\xc5\x05\x04\x0e\n\x0f\n\x07\x04\x11\x04\0\x02\x02\x02\x12\
9307 \x04\xc5\x05\x11\x12\n\x0e\n\x04\x04\x11\x02\x01\x12\x06\xc7\x05\x02\xc8\
9308 \x05&\n\r\n\x05\x04\x11\x02\x01\x04\x12\x04\xc7\x05\x02\n\n\r\n\x05\x04\
9309 \x11\x02\x01\x06\x12\x04\xc7\x05\x0b\x1b\n\r\n\x05\x04\x11\x02\x01\x01\
9310 \x12\x04\xc7\x05\x1c-\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xc7\x0502\n\
9311 \r\n\x05\x04\x11\x02\x01\x08\x12\x04\xc8\x05\x06%\n\r\n\x05\x04\x11\x02\
9312 \x01\x07\x12\x04\xc8\x05\x11$\nO\n\x04\x04\x11\x02\x02\x12\x04\xcb\x05\
9313 \x02:\x1aA\x20The\x20parser\x20stores\x20options\x20it\x20doesn't\x20rec\
9314 ognize\x20here.\x20See\x20above.\n\n\r\n\x05\x04\x11\x02\x02\x04\x12\x04\
9315 \xcb\x05\x02\n\n\r\n\x05\x04\x11\x02\x02\x06\x12\x04\xcb\x05\x0b\x1e\n\r\
9316 \n\x05\x04\x11\x02\x02\x01\x12\x04\xcb\x05\x1f3\n\r\n\x05\x04\x11\x02\
9317 \x02\x03\x12\x04\xcb\x0569\nZ\n\x03\x04\x11\x05\x12\x04\xce\x05\x02\x19\
9318 \x1aM\x20Clients\x20can\x20define\x20custom\x20options\x20in\x20extensio\
9319 ns\x20of\x20this\x20message.\x20See\x20above.\n\n\x0c\n\x04\x04\x11\x05\
9320 \0\x12\x04\xce\x05\r\x18\n\r\n\x05\x04\x11\x05\0\x01\x12\x04\xce\x05\r\
9321 \x11\n\r\n\x05\x04\x11\x05\0\x02\x12\x04\xce\x05\x15\x18\n\x8b\x03\n\x02\
9322 \x04\x12\x12\x06\xd8\x05\0\xec\x05\x01\x1a\xfc\x02\x20A\x20message\x20re\
9323 presenting\x20a\x20option\x20the\x20parser\x20does\x20not\x20recognize.\
9324 \x20This\x20only\n\x20appears\x20in\x20options\x20protos\x20created\x20b\
9325 y\x20the\x20compiler::Parser\x20class.\n\x20DescriptorPool\x20resolves\
9326 \x20these\x20when\x20building\x20Descriptor\x20objects.\x20Therefore,\n\
9327 \x20options\x20protos\x20in\x20descriptor\x20objects\x20(e.g.\x20returne\
9328 d\x20by\x20Descriptor::options(),\n\x20or\x20produced\x20by\x20Descripto\
9329 r::CopyTo())\x20will\x20never\x20have\x20UninterpretedOptions\n\x20in\
9330 \x20them.\n\n\x0b\n\x03\x04\x12\x01\x12\x04\xd8\x05\x08\x1b\n\xcb\x02\n\
9331 \x04\x04\x12\x03\0\x12\x06\xde\x05\x02\xe1\x05\x03\x1a\xba\x02\x20The\
9332 \x20name\x20of\x20the\x20uninterpreted\x20option.\x20\x20Each\x20string\
9333 \x20represents\x20a\x20segment\x20in\n\x20a\x20dot-separated\x20name.\
9334 \x20\x20is_extension\x20is\x20true\x20iff\x20a\x20segment\x20represents\
9335 \x20an\n\x20extension\x20(denoted\x20with\x20parentheses\x20in\x20option\
9336 s\x20specs\x20in\x20.proto\x20files).\n\x20E.g.,{\x20[\"foo\",\x20false]\
9337 ,\x20[\"bar.baz\",\x20true],\x20[\"qux\",\x20false]\x20}\x20represents\n\
9338 \x20\"foo.(bar.baz).qux\".\n\n\r\n\x05\x04\x12\x03\0\x01\x12\x04\xde\x05\
9339 \n\x12\n\x0e\n\x06\x04\x12\x03\0\x02\0\x12\x04\xdf\x05\x04\"\n\x0f\n\x07\
9340 \x04\x12\x03\0\x02\0\x04\x12\x04\xdf\x05\x04\x0c\n\x0f\n\x07\x04\x12\x03\
9341 \0\x02\0\x05\x12\x04\xdf\x05\r\x13\n\x0f\n\x07\x04\x12\x03\0\x02\0\x01\
9342 \x12\x04\xdf\x05\x14\x1d\n\x0f\n\x07\x04\x12\x03\0\x02\0\x03\x12\x04\xdf\
9343 \x05\x20!\n\x0e\n\x06\x04\x12\x03\0\x02\x01\x12\x04\xe0\x05\x04#\n\x0f\n\
9344 \x07\x04\x12\x03\0\x02\x01\x04\x12\x04\xe0\x05\x04\x0c\n\x0f\n\x07\x04\
9345 \x12\x03\0\x02\x01\x05\x12\x04\xe0\x05\r\x11\n\x0f\n\x07\x04\x12\x03\0\
9346 \x02\x01\x01\x12\x04\xe0\x05\x12\x1e\n\x0f\n\x07\x04\x12\x03\0\x02\x01\
9347 \x03\x12\x04\xe0\x05!\"\n\x0c\n\x04\x04\x12\x02\0\x12\x04\xe2\x05\x02\
9348 \x1d\n\r\n\x05\x04\x12\x02\0\x04\x12\x04\xe2\x05\x02\n\n\r\n\x05\x04\x12\
9349 \x02\0\x06\x12\x04\xe2\x05\x0b\x13\n\r\n\x05\x04\x12\x02\0\x01\x12\x04\
9350 \xe2\x05\x14\x18\n\r\n\x05\x04\x12\x02\0\x03\x12\x04\xe2\x05\x1b\x1c\n\
9351 \x9c\x01\n\x04\x04\x12\x02\x01\x12\x04\xe6\x05\x02'\x1a\x8d\x01\x20The\
9352 \x20value\x20of\x20the\x20uninterpreted\x20option,\x20in\x20whatever\x20\
9353 type\x20the\x20tokenizer\n\x20identified\x20it\x20as\x20during\x20parsin\
9354 g.\x20Exactly\x20one\x20of\x20these\x20should\x20be\x20set.\n\n\r\n\x05\
9355 \x04\x12\x02\x01\x04\x12\x04\xe6\x05\x02\n\n\r\n\x05\x04\x12\x02\x01\x05\
9356 \x12\x04\xe6\x05\x0b\x11\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\xe6\x05\
9357 \x12\"\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\xe6\x05%&\n\x0c\n\x04\x04\
9358 \x12\x02\x02\x12\x04\xe7\x05\x02)\n\r\n\x05\x04\x12\x02\x02\x04\x12\x04\
9359 \xe7\x05\x02\n\n\r\n\x05\x04\x12\x02\x02\x05\x12\x04\xe7\x05\x0b\x11\n\r\
9360 \n\x05\x04\x12\x02\x02\x01\x12\x04\xe7\x05\x12$\n\r\n\x05\x04\x12\x02\
9361 \x02\x03\x12\x04\xe7\x05'(\n\x0c\n\x04\x04\x12\x02\x03\x12\x04\xe8\x05\
9362 \x02(\n\r\n\x05\x04\x12\x02\x03\x04\x12\x04\xe8\x05\x02\n\n\r\n\x05\x04\
9363 \x12\x02\x03\x05\x12\x04\xe8\x05\x0b\x10\n\r\n\x05\x04\x12\x02\x03\x01\
9364 \x12\x04\xe8\x05\x11#\n\r\n\x05\x04\x12\x02\x03\x03\x12\x04\xe8\x05&'\n\
9365 \x0c\n\x04\x04\x12\x02\x04\x12\x04\xe9\x05\x02#\n\r\n\x05\x04\x12\x02\
9366 \x04\x04\x12\x04\xe9\x05\x02\n\n\r\n\x05\x04\x12\x02\x04\x05\x12\x04\xe9\
9367 \x05\x0b\x11\n\r\n\x05\x04\x12\x02\x04\x01\x12\x04\xe9\x05\x12\x1e\n\r\n\
9368 \x05\x04\x12\x02\x04\x03\x12\x04\xe9\x05!\"\n\x0c\n\x04\x04\x12\x02\x05\
9369 \x12\x04\xea\x05\x02\"\n\r\n\x05\x04\x12\x02\x05\x04\x12\x04\xea\x05\x02\
9370 \n\n\r\n\x05\x04\x12\x02\x05\x05\x12\x04\xea\x05\x0b\x10\n\r\n\x05\x04\
9371 \x12\x02\x05\x01\x12\x04\xea\x05\x11\x1d\n\r\n\x05\x04\x12\x02\x05\x03\
9372 \x12\x04\xea\x05\x20!\n\x0c\n\x04\x04\x12\x02\x06\x12\x04\xeb\x05\x02&\n\
9373 \r\n\x05\x04\x12\x02\x06\x04\x12\x04\xeb\x05\x02\n\n\r\n\x05\x04\x12\x02\
9374 \x06\x05\x12\x04\xeb\x05\x0b\x11\n\r\n\x05\x04\x12\x02\x06\x01\x12\x04\
9375 \xeb\x05\x12!\n\r\n\x05\x04\x12\x02\x06\x03\x12\x04\xeb\x05$%\n\xda\x01\
9376 \n\x02\x04\x13\x12\x06\xf3\x05\0\xf4\x06\x01\x1aj\x20Encapsulates\x20inf\
9377 ormation\x20about\x20the\x20original\x20source\x20file\x20from\x20which\
9378 \x20a\n\x20FileDescriptorProto\x20was\x20generated.\n2`\x20=============\
9379 ======================================================\n\x20Optional\x20\
9380 source\x20code\x20info\n\n\x0b\n\x03\x04\x13\x01\x12\x04\xf3\x05\x08\x16\
9381 \n\x82\x11\n\x04\x04\x13\x02\0\x12\x04\x9f\x06\x02!\x1a\xf3\x10\x20A\x20\
9382 Location\x20identifies\x20a\x20piece\x20of\x20source\x20code\x20in\x20a\
9383 \x20.proto\x20file\x20which\n\x20corresponds\x20to\x20a\x20particular\
9384 \x20definition.\x20\x20This\x20information\x20is\x20intended\n\x20to\x20\
9385 be\x20useful\x20to\x20IDEs,\x20code\x20indexers,\x20documentation\x20gen\
9386 erators,\x20and\x20similar\n\x20tools.\n\n\x20For\x20example,\x20say\x20\
9387 we\x20have\x20a\x20file\x20like:\n\x20\x20\x20message\x20Foo\x20{\n\x20\
9388 \x20\x20\x20\x20optional\x20string\x20foo\x20=\x201;\n\x20\x20\x20}\n\
9389 \x20Let's\x20look\x20at\x20just\x20the\x20field\x20definition:\n\x20\x20\
9390 \x20optional\x20string\x20foo\x20=\x201;\n\x20\x20\x20^\x20\x20\x20\x20\
9391 \x20\x20\x20^^\x20\x20\x20\x20\x20^^\x20\x20^\x20\x20^^^\n\x20\x20\x20a\
9392 \x20\x20\x20\x20\x20\x20\x20bc\x20\x20\x20\x20\x20de\x20\x20f\x20\x20ghi\
9393 \n\x20We\x20have\x20the\x20following\x20locations:\n\x20\x20\x20span\x20\
9394 \x20\x20path\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
9395 represents\n\x20\x20\x20[a,i)\x20\x20[\x204,\x200,\x202,\x200\x20]\x20\
9396 \x20\x20\x20\x20The\x20whole\x20field\x20definition.\n\x20\x20\x20[a,b)\
9397 \x20\x20[\x204,\x200,\x202,\x200,\x204\x20]\x20\x20The\x20label\x20(opti\
9398 onal).\n\x20\x20\x20[c,d)\x20\x20[\x204,\x200,\x202,\x200,\x205\x20]\x20\
9399 \x20The\x20type\x20(string).\n\x20\x20\x20[e,f)\x20\x20[\x204,\x200,\x20\
9400 2,\x200,\x201\x20]\x20\x20The\x20name\x20(foo).\n\x20\x20\x20[g,h)\x20\
9401 \x20[\x204,\x200,\x202,\x200,\x203\x20]\x20\x20The\x20number\x20(1).\n\n\
9402 \x20Notes:\n\x20-\x20A\x20location\x20may\x20refer\x20to\x20a\x20repeate\
9403 d\x20field\x20itself\x20(i.e.\x20not\x20to\x20any\n\x20\x20\x20particula\
9404 r\x20index\x20within\x20it).\x20\x20This\x20is\x20used\x20whenever\x20a\
9405 \x20set\x20of\x20elements\x20are\n\x20\x20\x20logically\x20enclosed\x20i\
9406 n\x20a\x20single\x20code\x20segment.\x20\x20For\x20example,\x20an\x20ent\
9407 ire\n\x20\x20\x20extend\x20block\x20(possibly\x20containing\x20multiple\
9408 \x20extension\x20definitions)\x20will\n\x20\x20\x20have\x20an\x20outer\
9409 \x20location\x20whose\x20path\x20refers\x20to\x20the\x20\"extensions\"\
9410 \x20repeated\n\x20\x20\x20field\x20without\x20an\x20index.\n\x20-\x20Mul\
9411 tiple\x20locations\x20may\x20have\x20the\x20same\x20path.\x20\x20This\
9412 \x20happens\x20when\x20a\x20single\n\x20\x20\x20logical\x20declaration\
9413 \x20is\x20spread\x20out\x20across\x20multiple\x20places.\x20\x20The\x20m\
9414 ost\n\x20\x20\x20obvious\x20example\x20is\x20the\x20\"extend\"\x20block\
9415 \x20again\x20--\x20there\x20may\x20be\x20multiple\n\x20\x20\x20extend\
9416 \x20blocks\x20in\x20the\x20same\x20scope,\x20each\x20of\x20which\x20will\
9417 \x20have\x20the\x20same\x20path.\n\x20-\x20A\x20location's\x20span\x20is\
9418 \x20not\x20always\x20a\x20subset\x20of\x20its\x20parent's\x20span.\x20\
9419 \x20For\n\x20\x20\x20example,\x20the\x20\"extendee\"\x20of\x20an\x20exte\
9420 nsion\x20declaration\x20appears\x20at\x20the\n\x20\x20\x20beginning\x20o\
9421 f\x20the\x20\"extend\"\x20block\x20and\x20is\x20shared\x20by\x20all\x20e\
9422 xtensions\x20within\n\x20\x20\x20the\x20block.\n\x20-\x20Just\x20because\
9423 \x20a\x20location's\x20span\x20is\x20a\x20subset\x20of\x20some\x20other\
9424 \x20location's\x20span\n\x20\x20\x20does\x20not\x20mean\x20that\x20it\
9425 \x20is\x20a\x20descendant.\x20\x20For\x20example,\x20a\x20\"group\"\x20d\
9426 efines\n\x20\x20\x20both\x20a\x20type\x20and\x20a\x20field\x20in\x20a\
9427 \x20single\x20declaration.\x20\x20Thus,\x20the\x20locations\n\x20\x20\
9428 \x20corresponding\x20to\x20the\x20type\x20and\x20field\x20and\x20their\
9429 \x20components\x20will\x20overlap.\n\x20-\x20Code\x20which\x20tries\x20t\
9430 o\x20interpret\x20locations\x20should\x20probably\x20be\x20designed\x20t\
9431 o\n\x20\x20\x20ignore\x20those\x20that\x20it\x20doesn't\x20understand,\
9432 \x20as\x20more\x20types\x20of\x20locations\x20could\n\x20\x20\x20be\x20r\
9433 ecorded\x20in\x20the\x20future.\n\n\r\n\x05\x04\x13\x02\0\x04\x12\x04\
9434 \x9f\x06\x02\n\n\r\n\x05\x04\x13\x02\0\x06\x12\x04\x9f\x06\x0b\x13\n\r\n\
9435 \x05\x04\x13\x02\0\x01\x12\x04\x9f\x06\x14\x1c\n\r\n\x05\x04\x13\x02\0\
9436 \x03\x12\x04\x9f\x06\x1f\x20\n\x0e\n\x04\x04\x13\x03\0\x12\x06\xa0\x06\
9437 \x02\xf3\x06\x03\n\r\n\x05\x04\x13\x03\0\x01\x12\x04\xa0\x06\n\x12\n\x83\
9438 \x07\n\x06\x04\x13\x03\0\x02\0\x12\x04\xb8\x06\x04,\x1a\xf2\x06\x20Ident\
9439 ifies\x20which\x20part\x20of\x20the\x20FileDescriptorProto\x20was\x20def\
9440 ined\x20at\x20this\n\x20location.\n\n\x20Each\x20element\x20is\x20a\x20f\
9441 ield\x20number\x20or\x20an\x20index.\x20\x20They\x20form\x20a\x20path\
9442 \x20from\n\x20the\x20root\x20FileDescriptorProto\x20to\x20the\x20place\
9443 \x20where\x20the\x20definition.\x20\x20For\n\x20example,\x20this\x20path\
9444 :\n\x20\x20\x20[\x204,\x203,\x202,\x207,\x201\x20]\n\x20refers\x20to:\n\
9445 \x20\x20\x20file.message_type(3)\x20\x20//\x204,\x203\n\x20\x20\x20\x20\
9446 \x20\x20\x20.field(7)\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x202,\x207\n\
9447 \x20\x20\x20\x20\x20\x20\x20.name()\x20\x20\x20\x20\x20\x20\x20\x20\x20\
9448 \x20\x20//\x201\n\x20This\x20is\x20because\x20FileDescriptorProto.messag\
9449 e_type\x20has\x20field\x20number\x204:\n\x20\x20\x20repeated\x20Descript\
9450 orProto\x20message_type\x20=\x204;\n\x20and\x20DescriptorProto.field\x20\
9451 has\x20field\x20number\x202:\n\x20\x20\x20repeated\x20FieldDescriptorPro\
9452 to\x20field\x20=\x202;\n\x20and\x20FieldDescriptorProto.name\x20has\x20f\
9453 ield\x20number\x201:\n\x20\x20\x20optional\x20string\x20name\x20=\x201;\
9454 \n\n\x20Thus,\x20the\x20above\x20path\x20gives\x20the\x20location\x20of\
9455 \x20a\x20field\x20name.\x20\x20If\x20we\x20removed\n\x20the\x20last\x20e\
9456 lement:\n\x20\x20\x20[\x204,\x203,\x202,\x207\x20]\n\x20this\x20path\x20\
9457 refers\x20to\x20the\x20whole\x20field\x20declaration\x20(from\x20the\x20\
9458 beginning\n\x20of\x20the\x20label\x20to\x20the\x20terminating\x20semicol\
9459 on).\n\n\x0f\n\x07\x04\x13\x03\0\x02\0\x04\x12\x04\xb8\x06\x04\x0c\n\x0f\
9460 \n\x07\x04\x13\x03\0\x02\0\x05\x12\x04\xb8\x06\r\x12\n\x0f\n\x07\x04\x13\
9461 \x03\0\x02\0\x01\x12\x04\xb8\x06\x13\x17\n\x0f\n\x07\x04\x13\x03\0\x02\0\
9462 \x03\x12\x04\xb8\x06\x1a\x1b\n\x0f\n\x07\x04\x13\x03\0\x02\0\x08\x12\x04\
9463 \xb8\x06\x1c+\n\x10\n\x08\x04\x13\x03\0\x02\0\x08\x02\x12\x04\xb8\x06\
9464 \x1d*\n\xd2\x02\n\x06\x04\x13\x03\0\x02\x01\x12\x04\xbf\x06\x04,\x1a\xc1\
9465 \x02\x20Always\x20has\x20exactly\x20three\x20or\x20four\x20elements:\x20\
9466 start\x20line,\x20start\x20column,\n\x20end\x20line\x20(optional,\x20oth\
9467 erwise\x20assumed\x20same\x20as\x20start\x20line),\x20end\x20column.\n\
9468 \x20These\x20are\x20packed\x20into\x20a\x20single\x20field\x20for\x20eff\
9469 iciency.\x20\x20Note\x20that\x20line\n\x20and\x20column\x20numbers\x20ar\
9470 e\x20zero-based\x20--\x20typically\x20you\x20will\x20want\x20to\x20add\n\
9471 \x201\x20to\x20each\x20before\x20displaying\x20to\x20a\x20user.\n\n\x0f\
9472 \n\x07\x04\x13\x03\0\x02\x01\x04\x12\x04\xbf\x06\x04\x0c\n\x0f\n\x07\x04\
9473 \x13\x03\0\x02\x01\x05\x12\x04\xbf\x06\r\x12\n\x0f\n\x07\x04\x13\x03\0\
9474 \x02\x01\x01\x12\x04\xbf\x06\x13\x17\n\x0f\n\x07\x04\x13\x03\0\x02\x01\
9475 \x03\x12\x04\xbf\x06\x1a\x1b\n\x0f\n\x07\x04\x13\x03\0\x02\x01\x08\x12\
9476 \x04\xbf\x06\x1c+\n\x10\n\x08\x04\x13\x03\0\x02\x01\x08\x02\x12\x04\xbf\
9477 \x06\x1d*\n\xa5\x0c\n\x06\x04\x13\x03\0\x02\x02\x12\x04\xf0\x06\x04)\x1a\
9478 \x94\x0c\x20If\x20this\x20SourceCodeInfo\x20represents\x20a\x20complete\
9479 \x20declaration,\x20these\x20are\x20any\n\x20comments\x20appearing\x20be\
9480 fore\x20and\x20after\x20the\x20declaration\x20which\x20appear\x20to\x20b\
9481 e\n\x20attached\x20to\x20the\x20declaration.\n\n\x20A\x20series\x20of\
9482 \x20line\x20comments\x20appearing\x20on\x20consecutive\x20lines,\x20with\
9483 \x20no\x20other\n\x20tokens\x20appearing\x20on\x20those\x20lines,\x20wil\
9484 l\x20be\x20treated\x20as\x20a\x20single\x20comment.\n\n\x20leading_detac\
9485 hed_comments\x20will\x20keep\x20paragraphs\x20of\x20comments\x20that\x20\
9486 appear\n\x20before\x20(but\x20not\x20connected\x20to)\x20the\x20current\
9487 \x20element.\x20Each\x20paragraph,\n\x20separated\x20by\x20empty\x20line\
9488 s,\x20will\x20be\x20one\x20comment\x20element\x20in\x20the\x20repeated\n\
9489 \x20field.\n\n\x20Only\x20the\x20comment\x20content\x20is\x20provided;\
9490 \x20comment\x20markers\x20(e.g.\x20//)\x20are\n\x20stripped\x20out.\x20\
9491 \x20For\x20block\x20comments,\x20leading\x20whitespace\x20and\x20an\x20a\
9492 sterisk\n\x20will\x20be\x20stripped\x20from\x20the\x20beginning\x20of\
9493 \x20each\x20line\x20other\x20than\x20the\x20first.\n\x20Newlines\x20are\
9494 \x20included\x20in\x20the\x20output.\n\n\x20Examples:\n\n\x20\x20\x20opt\
9495 ional\x20int32\x20foo\x20=\x201;\x20\x20//\x20Comment\x20attached\x20to\
9496 \x20foo.\n\x20\x20\x20//\x20Comment\x20attached\x20to\x20bar.\n\x20\x20\
9497 \x20optional\x20int32\x20bar\x20=\x202;\n\n\x20\x20\x20optional\x20strin\
9498 g\x20baz\x20=\x203;\n\x20\x20\x20//\x20Comment\x20attached\x20to\x20baz.\
9499 \n\x20\x20\x20//\x20Another\x20line\x20attached\x20to\x20baz.\n\n\x20\
9500 \x20\x20//\x20Comment\x20attached\x20to\x20qux.\n\x20\x20\x20//\n\x20\
9501 \x20\x20//\x20Another\x20line\x20attached\x20to\x20qux.\n\x20\x20\x20opt\
9502 ional\x20double\x20qux\x20=\x204;\n\n\x20\x20\x20//\x20Detached\x20comme\
9503 nt\x20for\x20corge.\x20This\x20is\x20not\x20leading\x20or\x20trailing\
9504 \x20comments\n\x20\x20\x20//\x20to\x20qux\x20or\x20corge\x20because\x20t\
9505 here\x20are\x20blank\x20lines\x20separating\x20it\x20from\n\x20\x20\x20/\
9506 /\x20both.\n\n\x20\x20\x20//\x20Detached\x20comment\x20for\x20corge\x20p\
9507 aragraph\x202.\n\n\x20\x20\x20optional\x20string\x20corge\x20=\x205;\n\
9508 \x20\x20\x20/*\x20Block\x20comment\x20attached\n\x20\x20\x20\x20*\x20to\
9509 \x20corge.\x20\x20Leading\x20asterisks\n\x20\x20\x20\x20*\x20will\x20be\
9510 \x20removed.\x20*/\n\x20\x20\x20/*\x20Block\x20comment\x20attached\x20to\
9511 \n\x20\x20\x20\x20*\x20grault.\x20*/\n\x20\x20\x20optional\x20int32\x20g\
9512 rault\x20=\x206;\n\n\x20\x20\x20//\x20ignored\x20detached\x20comments.\n\
9513 \n\x0f\n\x07\x04\x13\x03\0\x02\x02\x04\x12\x04\xf0\x06\x04\x0c\n\x0f\n\
9514 \x07\x04\x13\x03\0\x02\x02\x05\x12\x04\xf0\x06\r\x13\n\x0f\n\x07\x04\x13\
9515 \x03\0\x02\x02\x01\x12\x04\xf0\x06\x14$\n\x0f\n\x07\x04\x13\x03\0\x02\
9516 \x02\x03\x12\x04\xf0\x06'(\n\x0e\n\x06\x04\x13\x03\0\x02\x03\x12\x04\xf1\
9517 \x06\x04*\n\x0f\n\x07\x04\x13\x03\0\x02\x03\x04\x12\x04\xf1\x06\x04\x0c\
9518 \n\x0f\n\x07\x04\x13\x03\0\x02\x03\x05\x12\x04\xf1\x06\r\x13\n\x0f\n\x07\
9519 \x04\x13\x03\0\x02\x03\x01\x12\x04\xf1\x06\x14%\n\x0f\n\x07\x04\x13\x03\
9520 \0\x02\x03\x03\x12\x04\xf1\x06()\n\x0e\n\x06\x04\x13\x03\0\x02\x04\x12\
9521 \x04\xf2\x06\x042\n\x0f\n\x07\x04\x13\x03\0\x02\x04\x04\x12\x04\xf2\x06\
9522 \x04\x0c\n\x0f\n\x07\x04\x13\x03\0\x02\x04\x05\x12\x04\xf2\x06\r\x13\n\
9523 \x0f\n\x07\x04\x13\x03\0\x02\x04\x01\x12\x04\xf2\x06\x14-\n\x0f\n\x07\
9524 \x04\x13\x03\0\x02\x04\x03\x12\x04\xf2\x0601\n\xee\x01\n\x02\x04\x14\x12\
9525 \x06\xf9\x06\0\x8e\x07\x01\x1a\xdf\x01\x20Describes\x20the\x20relationsh\
9526 ip\x20between\x20generated\x20code\x20and\x20its\x20original\x20source\n\
9527 \x20file.\x20A\x20GeneratedCodeInfo\x20message\x20is\x20associated\x20wi\
9528 th\x20only\x20one\x20generated\n\x20source\x20file,\x20but\x20may\x20con\
9529 tain\x20references\x20to\x20different\x20source\x20.proto\x20files.\n\n\
9530 \x0b\n\x03\x04\x14\x01\x12\x04\xf9\x06\x08\x19\nx\n\x04\x04\x14\x02\0\
9531 \x12\x04\xfc\x06\x02%\x1aj\x20An\x20Annotation\x20connects\x20some\x20sp\
9532 an\x20of\x20text\x20in\x20generated\x20code\x20to\x20an\x20element\n\x20\
9533 of\x20its\x20generating\x20.proto\x20file.\n\n\r\n\x05\x04\x14\x02\0\x04\
9534 \x12\x04\xfc\x06\x02\n\n\r\n\x05\x04\x14\x02\0\x06\x12\x04\xfc\x06\x0b\
9535 \x15\n\r\n\x05\x04\x14\x02\0\x01\x12\x04\xfc\x06\x16\x20\n\r\n\x05\x04\
9536 \x14\x02\0\x03\x12\x04\xfc\x06#$\n\x0e\n\x04\x04\x14\x03\0\x12\x06\xfd\
9537 \x06\x02\x8d\x07\x03\n\r\n\x05\x04\x14\x03\0\x01\x12\x04\xfd\x06\n\x14\n\
9538 \x8f\x01\n\x06\x04\x14\x03\0\x02\0\x12\x04\x80\x07\x04,\x1a\x7f\x20Ident\
9539 ifies\x20the\x20element\x20in\x20the\x20original\x20source\x20.proto\x20\
9540 file.\x20This\x20field\n\x20is\x20formatted\x20the\x20same\x20as\x20Sour\
9541 ceCodeInfo.Location.path.\n\n\x0f\n\x07\x04\x14\x03\0\x02\0\x04\x12\x04\
9542 \x80\x07\x04\x0c\n\x0f\n\x07\x04\x14\x03\0\x02\0\x05\x12\x04\x80\x07\r\
9543 \x12\n\x0f\n\x07\x04\x14\x03\0\x02\0\x01\x12\x04\x80\x07\x13\x17\n\x0f\n\
9544 \x07\x04\x14\x03\0\x02\0\x03\x12\x04\x80\x07\x1a\x1b\n\x0f\n\x07\x04\x14\
9545 \x03\0\x02\0\x08\x12\x04\x80\x07\x1c+\n\x10\n\x08\x04\x14\x03\0\x02\0\
9546 \x08\x02\x12\x04\x80\x07\x1d*\nO\n\x06\x04\x14\x03\0\x02\x01\x12\x04\x83\
9547 \x07\x04$\x1a?\x20Identifies\x20the\x20filesystem\x20path\x20to\x20the\
9548 \x20original\x20source\x20.proto.\n\n\x0f\n\x07\x04\x14\x03\0\x02\x01\
9549 \x04\x12\x04\x83\x07\x04\x0c\n\x0f\n\x07\x04\x14\x03\0\x02\x01\x05\x12\
9550 \x04\x83\x07\r\x13\n\x0f\n\x07\x04\x14\x03\0\x02\x01\x01\x12\x04\x83\x07\
9551 \x14\x1f\n\x0f\n\x07\x04\x14\x03\0\x02\x01\x03\x12\x04\x83\x07\"#\nw\n\
9552 \x06\x04\x14\x03\0\x02\x02\x12\x04\x87\x07\x04\x1d\x1ag\x20Identifies\
9553 \x20the\x20starting\x20offset\x20in\x20bytes\x20in\x20the\x20generated\
9554 \x20code\n\x20that\x20relates\x20to\x20the\x20identified\x20object.\n\n\
9555 \x0f\n\x07\x04\x14\x03\0\x02\x02\x04\x12\x04\x87\x07\x04\x0c\n\x0f\n\x07\
9556 \x04\x14\x03\0\x02\x02\x05\x12\x04\x87\x07\r\x12\n\x0f\n\x07\x04\x14\x03\
9557 \0\x02\x02\x01\x12\x04\x87\x07\x13\x18\n\x0f\n\x07\x04\x14\x03\0\x02\x02\
9558 \x03\x12\x04\x87\x07\x1b\x1c\n\xdb\x01\n\x06\x04\x14\x03\0\x02\x03\x12\
9559 \x04\x8c\x07\x04\x1b\x1a\xca\x01\x20Identifies\x20the\x20ending\x20offse\
9560 t\x20in\x20bytes\x20in\x20the\x20generated\x20code\x20that\n\x20relates\
9561 \x20to\x20the\x20identified\x20offset.\x20The\x20end\x20offset\x20should\
9562 \x20be\x20one\x20past\n\x20the\x20last\x20relevant\x20byte\x20(so\x20the\
9563 \x20length\x20of\x20the\x20text\x20=\x20end\x20-\x20begin).\n\n\x0f\n\
9564 \x07\x04\x14\x03\0\x02\x03\x04\x12\x04\x8c\x07\x04\x0c\n\x0f\n\x07\x04\
9565 \x14\x03\0\x02\x03\x05\x12\x04\x8c\x07\r\x12\n\x0f\n\x07\x04\x14\x03\0\
9566 \x02\x03\x01\x12\x04\x8c\x07\x13\x16\n\x0f\n\x07\x04\x14\x03\0\x02\x03\
9567 \x03\x12\x04\x8c\x07\x19\x1a\
9568 ";
9569
9570 /// `FileDescriptorProto` object which was a source for this generated file
file_descriptor_proto() -> &'static crate::descriptor::FileDescriptorProto9571 fn file_descriptor_proto() -> &'static crate::descriptor::FileDescriptorProto {
9572 static file_descriptor_proto_lazy: crate::rt::Lazy<crate::descriptor::FileDescriptorProto> = crate::rt::Lazy::new();
9573 file_descriptor_proto_lazy.get(|| {
9574 crate::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
9575 })
9576 }
9577
9578 /// `FileDescriptor` object which allows dynamic access to files
file_descriptor() -> &'static crate::reflect::FileDescriptor9579 pub fn file_descriptor() -> &'static crate::reflect::FileDescriptor {
9580 static generated_file_descriptor_lazy: crate::rt::Lazy<crate::reflect::GeneratedFileDescriptor> = crate::rt::Lazy::new();
9581 static file_descriptor: crate::rt::Lazy<crate::reflect::FileDescriptor> = crate::rt::Lazy::new();
9582 file_descriptor.get(|| {
9583 let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
9584 let mut deps = ::std::vec::Vec::with_capacity(0);
9585 let mut messages = ::std::vec::Vec::with_capacity(27);
9586 messages.push(FileDescriptorSet::generated_message_descriptor_data());
9587 messages.push(FileDescriptorProto::generated_message_descriptor_data());
9588 messages.push(DescriptorProto::generated_message_descriptor_data());
9589 messages.push(ExtensionRangeOptions::generated_message_descriptor_data());
9590 messages.push(FieldDescriptorProto::generated_message_descriptor_data());
9591 messages.push(OneofDescriptorProto::generated_message_descriptor_data());
9592 messages.push(EnumDescriptorProto::generated_message_descriptor_data());
9593 messages.push(EnumValueDescriptorProto::generated_message_descriptor_data());
9594 messages.push(ServiceDescriptorProto::generated_message_descriptor_data());
9595 messages.push(MethodDescriptorProto::generated_message_descriptor_data());
9596 messages.push(FileOptions::generated_message_descriptor_data());
9597 messages.push(MessageOptions::generated_message_descriptor_data());
9598 messages.push(FieldOptions::generated_message_descriptor_data());
9599 messages.push(OneofOptions::generated_message_descriptor_data());
9600 messages.push(EnumOptions::generated_message_descriptor_data());
9601 messages.push(EnumValueOptions::generated_message_descriptor_data());
9602 messages.push(ServiceOptions::generated_message_descriptor_data());
9603 messages.push(MethodOptions::generated_message_descriptor_data());
9604 messages.push(UninterpretedOption::generated_message_descriptor_data());
9605 messages.push(SourceCodeInfo::generated_message_descriptor_data());
9606 messages.push(GeneratedCodeInfo::generated_message_descriptor_data());
9607 messages.push(descriptor_proto::ExtensionRange::generated_message_descriptor_data());
9608 messages.push(descriptor_proto::ReservedRange::generated_message_descriptor_data());
9609 messages.push(enum_descriptor_proto::EnumReservedRange::generated_message_descriptor_data());
9610 messages.push(uninterpreted_option::NamePart::generated_message_descriptor_data());
9611 messages.push(source_code_info::Location::generated_message_descriptor_data());
9612 messages.push(generated_code_info::Annotation::generated_message_descriptor_data());
9613 let mut enums = ::std::vec::Vec::with_capacity(6);
9614 enums.push(field_descriptor_proto::Type::generated_enum_descriptor_data());
9615 enums.push(field_descriptor_proto::Label::generated_enum_descriptor_data());
9616 enums.push(file_options::OptimizeMode::generated_enum_descriptor_data());
9617 enums.push(field_options::CType::generated_enum_descriptor_data());
9618 enums.push(field_options::JSType::generated_enum_descriptor_data());
9619 enums.push(method_options::IdempotencyLevel::generated_enum_descriptor_data());
9620 crate::reflect::GeneratedFileDescriptor::new_generated(
9621 file_descriptor_proto(),
9622 deps,
9623 messages,
9624 enums,
9625 )
9626 });
9627 crate::reflect::FileDescriptor::new_generated_2(generated_file_descriptor)
9628 })
9629 }
9630