prom/
proto.rs

1// This file is generated. Do not edit
2// @generated
3
4// https://github.com/Manishearth/rust-clippy/issues/702
5#![allow(unknown_lints)]
6#![allow(clippy)]
7
8#![cfg_attr(rustfmt, rustfmt_skip)]
9
10#![allow(box_pointers)]
11#![allow(dead_code)]
12#![allow(non_camel_case_types)]
13#![allow(non_snake_case)]
14#![allow(non_upper_case_globals)]
15#![allow(trivial_casts)]
16#![allow(unsafe_code)]
17#![allow(unused_imports)]
18#![allow(unused_results)]
19
20use protobuf::Message as Message_imported_for_functions;
21use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
22
23#[derive(Clone,Default)]
24pub struct LabelPair {
25    // message fields
26    name: ::protobuf::SingularField<::std::string::String>,
27    value: ::protobuf::SingularField<::std::string::String>,
28    // special fields
29    unknown_fields: ::protobuf::UnknownFields,
30    cached_size: ::std::cell::Cell<u32>,
31}
32
33// see codegen.rs for the explanation why impl Sync explicitly
34unsafe impl ::std::marker::Sync for LabelPair {}
35
36impl LabelPair {
37    pub fn new() -> LabelPair {
38        ::std::default::Default::default()
39    }
40
41    pub fn default_instance() -> &'static LabelPair {
42        static mut instance: ::protobuf::lazy::Lazy<LabelPair> = ::protobuf::lazy::Lazy {
43            lock: ::protobuf::lazy::ONCE_INIT,
44            ptr: 0 as *const LabelPair,
45        };
46        unsafe {
47            instance.get(|| {
48                LabelPair {
49                    name: ::protobuf::SingularField::none(),
50                    value: ::protobuf::SingularField::none(),
51                    unknown_fields: ::protobuf::UnknownFields::new(),
52                    cached_size: ::std::cell::Cell::new(0),
53                }
54            })
55        }
56    }
57
58    // optional string name = 1;
59
60    pub fn clear_name(&mut self) {
61        self.name.clear();
62    }
63
64    pub fn has_name(&self) -> bool {
65        self.name.is_some()
66    }
67
68    // Param is passed by value, moved
69    pub fn set_name(&mut self, v: ::std::string::String) {
70        self.name = ::protobuf::SingularField::some(v);
71    }
72
73    // Mutable pointer to the field.
74    // If field is not initialized, it is initialized with default value first.
75    pub fn mut_name(&mut self) -> &mut ::std::string::String {
76        if self.name.is_none() {
77            self.name.set_default();
78        };
79        self.name.as_mut().unwrap()
80    }
81
82    // Take field
83    pub fn take_name(&mut self) -> ::std::string::String {
84        self.name.take().unwrap_or_else(|| ::std::string::String::new())
85    }
86
87    pub fn get_name(&self) -> &str {
88        match self.name.as_ref() {
89            Some(v) => &v,
90            None => "",
91        }
92    }
93
94    // optional string value = 2;
95
96    pub fn clear_value(&mut self) {
97        self.value.clear();
98    }
99
100    pub fn has_value(&self) -> bool {
101        self.value.is_some()
102    }
103
104    // Param is passed by value, moved
105    pub fn set_value(&mut self, v: ::std::string::String) {
106        self.value = ::protobuf::SingularField::some(v);
107    }
108
109    // Mutable pointer to the field.
110    // If field is not initialized, it is initialized with default value first.
111    pub fn mut_value(&mut self) -> &mut ::std::string::String {
112        if self.value.is_none() {
113            self.value.set_default();
114        };
115        self.value.as_mut().unwrap()
116    }
117
118    // Take field
119    pub fn take_value(&mut self) -> ::std::string::String {
120        self.value.take().unwrap_or_else(|| ::std::string::String::new())
121    }
122
123    pub fn get_value(&self) -> &str {
124        match self.value.as_ref() {
125            Some(v) => &v,
126            None => "",
127        }
128    }
129}
130
131impl ::protobuf::Message for LabelPair {
132    fn is_initialized(&self) -> bool {
133        true
134    }
135
136    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
137        while !try!(is.eof()) {
138            let (field_number, wire_type) = try!(is.read_tag_unpack());
139            match field_number {
140                1 => {
141                    try!(::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name));
142                },
143                2 => {
144                    try!(::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.value));
145                },
146                _ => {
147                    try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
148                },
149            };
150        }
151        ::std::result::Result::Ok(())
152    }
153
154    // Compute sizes of nested messages
155    #[allow(unused_variables)]
156    fn compute_size(&self) -> u32 {
157        let mut my_size = 0;
158        for value in &self.name {
159            my_size += ::protobuf::rt::string_size(1, &value);
160        };
161        for value in &self.value {
162            my_size += ::protobuf::rt::string_size(2, &value);
163        };
164        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
165        self.cached_size.set(my_size);
166        my_size
167    }
168
169    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
170        if let Some(v) = self.name.as_ref() {
171            try!(os.write_string(1, &v));
172        };
173        if let Some(v) = self.value.as_ref() {
174            try!(os.write_string(2, &v));
175        };
176        try!(os.write_unknown_fields(self.get_unknown_fields()));
177        ::std::result::Result::Ok(())
178    }
179
180    fn get_cached_size(&self) -> u32 {
181        self.cached_size.get()
182    }
183
184    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
185        &self.unknown_fields
186    }
187
188    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
189        &mut self.unknown_fields
190    }
191
192    fn type_id(&self) -> ::std::any::TypeId {
193        ::std::any::TypeId::of::<LabelPair>()
194    }
195
196    fn as_any(&self) -> &::std::any::Any {
197        self as &::std::any::Any
198    }
199
200    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
201        ::protobuf::MessageStatic::descriptor_static(None::<Self>)
202    }
203}
204
205impl ::protobuf::MessageStatic for LabelPair {
206    fn new() -> LabelPair {
207        LabelPair::new()
208    }
209
210    fn descriptor_static(_: ::std::option::Option<LabelPair>) -> &'static ::protobuf::reflect::MessageDescriptor {
211        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
212            lock: ::protobuf::lazy::ONCE_INIT,
213            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
214        };
215        unsafe {
216            descriptor.get(|| {
217                let mut fields = ::std::vec::Vec::new();
218                fields.push(::protobuf::reflect::accessor::make_singular_string_accessor(
219                    "name",
220                    LabelPair::has_name,
221                    LabelPair::get_name,
222                ));
223                fields.push(::protobuf::reflect::accessor::make_singular_string_accessor(
224                    "value",
225                    LabelPair::has_value,
226                    LabelPair::get_value,
227                ));
228                ::protobuf::reflect::MessageDescriptor::new::<LabelPair>(
229                    "LabelPair",
230                    fields,
231                    file_descriptor_proto()
232                )
233            })
234        }
235    }
236}
237
238impl ::protobuf::Clear for LabelPair {
239    fn clear(&mut self) {
240        self.clear_name();
241        self.clear_value();
242        self.unknown_fields.clear();
243    }
244}
245
246impl ::std::cmp::PartialEq for LabelPair {
247    fn eq(&self, other: &LabelPair) -> bool {
248        self.name == other.name &&
249        self.value == other.value &&
250        self.unknown_fields == other.unknown_fields
251    }
252}
253
254impl ::std::fmt::Debug for LabelPair {
255    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
256        ::protobuf::text_format::fmt(self, f)
257    }
258}
259
260#[derive(Clone,Default)]
261pub struct Gauge {
262    // message fields
263    value: ::std::option::Option<f64>,
264    // special fields
265    unknown_fields: ::protobuf::UnknownFields,
266    cached_size: ::std::cell::Cell<u32>,
267}
268
269// see codegen.rs for the explanation why impl Sync explicitly
270unsafe impl ::std::marker::Sync for Gauge {}
271
272impl Gauge {
273    pub fn new() -> Gauge {
274        ::std::default::Default::default()
275    }
276
277    pub fn default_instance() -> &'static Gauge {
278        static mut instance: ::protobuf::lazy::Lazy<Gauge> = ::protobuf::lazy::Lazy {
279            lock: ::protobuf::lazy::ONCE_INIT,
280            ptr: 0 as *const Gauge,
281        };
282        unsafe {
283            instance.get(|| {
284                Gauge {
285                    value: ::std::option::Option::None,
286                    unknown_fields: ::protobuf::UnknownFields::new(),
287                    cached_size: ::std::cell::Cell::new(0),
288                }
289            })
290        }
291    }
292
293    // optional double value = 1;
294
295    pub fn clear_value(&mut self) {
296        self.value = ::std::option::Option::None;
297    }
298
299    pub fn has_value(&self) -> bool {
300        self.value.is_some()
301    }
302
303    // Param is passed by value, moved
304    pub fn set_value(&mut self, v: f64) {
305        self.value = ::std::option::Option::Some(v);
306    }
307
308    pub fn get_value(&self) -> f64 {
309        self.value.unwrap_or(0.)
310    }
311}
312
313impl ::protobuf::Message for Gauge {
314    fn is_initialized(&self) -> bool {
315        true
316    }
317
318    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
319        while !try!(is.eof()) {
320            let (field_number, wire_type) = try!(is.read_tag_unpack());
321            match field_number {
322                1 => {
323                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
324                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
325                    };
326                    let tmp = try!(is.read_double());
327                    self.value = ::std::option::Option::Some(tmp);
328                },
329                _ => {
330                    try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
331                },
332            };
333        }
334        ::std::result::Result::Ok(())
335    }
336
337    // Compute sizes of nested messages
338    #[allow(unused_variables)]
339    fn compute_size(&self) -> u32 {
340        let mut my_size = 0;
341        if self.value.is_some() {
342            my_size += 9;
343        };
344        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
345        self.cached_size.set(my_size);
346        my_size
347    }
348
349    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
350        if let Some(v) = self.value {
351            try!(os.write_double(1, v));
352        };
353        try!(os.write_unknown_fields(self.get_unknown_fields()));
354        ::std::result::Result::Ok(())
355    }
356
357    fn get_cached_size(&self) -> u32 {
358        self.cached_size.get()
359    }
360
361    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
362        &self.unknown_fields
363    }
364
365    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
366        &mut self.unknown_fields
367    }
368
369    fn type_id(&self) -> ::std::any::TypeId {
370        ::std::any::TypeId::of::<Gauge>()
371    }
372
373    fn as_any(&self) -> &::std::any::Any {
374        self as &::std::any::Any
375    }
376
377    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
378        ::protobuf::MessageStatic::descriptor_static(None::<Self>)
379    }
380}
381
382impl ::protobuf::MessageStatic for Gauge {
383    fn new() -> Gauge {
384        Gauge::new()
385    }
386
387    fn descriptor_static(_: ::std::option::Option<Gauge>) -> &'static ::protobuf::reflect::MessageDescriptor {
388        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
389            lock: ::protobuf::lazy::ONCE_INIT,
390            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
391        };
392        unsafe {
393            descriptor.get(|| {
394                let mut fields = ::std::vec::Vec::new();
395                fields.push(::protobuf::reflect::accessor::make_singular_f64_accessor(
396                    "value",
397                    Gauge::has_value,
398                    Gauge::get_value,
399                ));
400                ::protobuf::reflect::MessageDescriptor::new::<Gauge>(
401                    "Gauge",
402                    fields,
403                    file_descriptor_proto()
404                )
405            })
406        }
407    }
408}
409
410impl ::protobuf::Clear for Gauge {
411    fn clear(&mut self) {
412        self.clear_value();
413        self.unknown_fields.clear();
414    }
415}
416
417impl ::std::cmp::PartialEq for Gauge {
418    fn eq(&self, other: &Gauge) -> bool {
419        self.value == other.value &&
420        self.unknown_fields == other.unknown_fields
421    }
422}
423
424impl ::std::fmt::Debug for Gauge {
425    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
426        ::protobuf::text_format::fmt(self, f)
427    }
428}
429
430#[derive(Clone,Default)]
431pub struct Counter {
432    // message fields
433    value: ::std::option::Option<f64>,
434    // special fields
435    unknown_fields: ::protobuf::UnknownFields,
436    cached_size: ::std::cell::Cell<u32>,
437}
438
439// see codegen.rs for the explanation why impl Sync explicitly
440unsafe impl ::std::marker::Sync for Counter {}
441
442impl Counter {
443    pub fn new() -> Counter {
444        ::std::default::Default::default()
445    }
446
447    pub fn default_instance() -> &'static Counter {
448        static mut instance: ::protobuf::lazy::Lazy<Counter> = ::protobuf::lazy::Lazy {
449            lock: ::protobuf::lazy::ONCE_INIT,
450            ptr: 0 as *const Counter,
451        };
452        unsafe {
453            instance.get(|| {
454                Counter {
455                    value: ::std::option::Option::None,
456                    unknown_fields: ::protobuf::UnknownFields::new(),
457                    cached_size: ::std::cell::Cell::new(0),
458                }
459            })
460        }
461    }
462
463    // optional double value = 1;
464
465    pub fn clear_value(&mut self) {
466        self.value = ::std::option::Option::None;
467    }
468
469    pub fn has_value(&self) -> bool {
470        self.value.is_some()
471    }
472
473    // Param is passed by value, moved
474    pub fn set_value(&mut self, v: f64) {
475        self.value = ::std::option::Option::Some(v);
476    }
477
478    pub fn get_value(&self) -> f64 {
479        self.value.unwrap_or(0.)
480    }
481}
482
483impl ::protobuf::Message for Counter {
484    fn is_initialized(&self) -> bool {
485        true
486    }
487
488    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
489        while !try!(is.eof()) {
490            let (field_number, wire_type) = try!(is.read_tag_unpack());
491            match field_number {
492                1 => {
493                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
494                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
495                    };
496                    let tmp = try!(is.read_double());
497                    self.value = ::std::option::Option::Some(tmp);
498                },
499                _ => {
500                    try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
501                },
502            };
503        }
504        ::std::result::Result::Ok(())
505    }
506
507    // Compute sizes of nested messages
508    #[allow(unused_variables)]
509    fn compute_size(&self) -> u32 {
510        let mut my_size = 0;
511        if self.value.is_some() {
512            my_size += 9;
513        };
514        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
515        self.cached_size.set(my_size);
516        my_size
517    }
518
519    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
520        if let Some(v) = self.value {
521            try!(os.write_double(1, v));
522        };
523        try!(os.write_unknown_fields(self.get_unknown_fields()));
524        ::std::result::Result::Ok(())
525    }
526
527    fn get_cached_size(&self) -> u32 {
528        self.cached_size.get()
529    }
530
531    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
532        &self.unknown_fields
533    }
534
535    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
536        &mut self.unknown_fields
537    }
538
539    fn type_id(&self) -> ::std::any::TypeId {
540        ::std::any::TypeId::of::<Counter>()
541    }
542
543    fn as_any(&self) -> &::std::any::Any {
544        self as &::std::any::Any
545    }
546
547    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
548        ::protobuf::MessageStatic::descriptor_static(None::<Self>)
549    }
550}
551
552impl ::protobuf::MessageStatic for Counter {
553    fn new() -> Counter {
554        Counter::new()
555    }
556
557    fn descriptor_static(_: ::std::option::Option<Counter>) -> &'static ::protobuf::reflect::MessageDescriptor {
558        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
559            lock: ::protobuf::lazy::ONCE_INIT,
560            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
561        };
562        unsafe {
563            descriptor.get(|| {
564                let mut fields = ::std::vec::Vec::new();
565                fields.push(::protobuf::reflect::accessor::make_singular_f64_accessor(
566                    "value",
567                    Counter::has_value,
568                    Counter::get_value,
569                ));
570                ::protobuf::reflect::MessageDescriptor::new::<Counter>(
571                    "Counter",
572                    fields,
573                    file_descriptor_proto()
574                )
575            })
576        }
577    }
578}
579
580impl ::protobuf::Clear for Counter {
581    fn clear(&mut self) {
582        self.clear_value();
583        self.unknown_fields.clear();
584    }
585}
586
587impl ::std::cmp::PartialEq for Counter {
588    fn eq(&self, other: &Counter) -> bool {
589        self.value == other.value &&
590        self.unknown_fields == other.unknown_fields
591    }
592}
593
594impl ::std::fmt::Debug for Counter {
595    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
596        ::protobuf::text_format::fmt(self, f)
597    }
598}
599
600#[derive(Clone,Default)]
601pub struct Quantile {
602    // message fields
603    quantile: ::std::option::Option<f64>,
604    value: ::std::option::Option<f64>,
605    // special fields
606    unknown_fields: ::protobuf::UnknownFields,
607    cached_size: ::std::cell::Cell<u32>,
608}
609
610// see codegen.rs for the explanation why impl Sync explicitly
611unsafe impl ::std::marker::Sync for Quantile {}
612
613impl Quantile {
614    pub fn new() -> Quantile {
615        ::std::default::Default::default()
616    }
617
618    pub fn default_instance() -> &'static Quantile {
619        static mut instance: ::protobuf::lazy::Lazy<Quantile> = ::protobuf::lazy::Lazy {
620            lock: ::protobuf::lazy::ONCE_INIT,
621            ptr: 0 as *const Quantile,
622        };
623        unsafe {
624            instance.get(|| {
625                Quantile {
626                    quantile: ::std::option::Option::None,
627                    value: ::std::option::Option::None,
628                    unknown_fields: ::protobuf::UnknownFields::new(),
629                    cached_size: ::std::cell::Cell::new(0),
630                }
631            })
632        }
633    }
634
635    // optional double quantile = 1;
636
637    pub fn clear_quantile(&mut self) {
638        self.quantile = ::std::option::Option::None;
639    }
640
641    pub fn has_quantile(&self) -> bool {
642        self.quantile.is_some()
643    }
644
645    // Param is passed by value, moved
646    pub fn set_quantile(&mut self, v: f64) {
647        self.quantile = ::std::option::Option::Some(v);
648    }
649
650    pub fn get_quantile(&self) -> f64 {
651        self.quantile.unwrap_or(0.)
652    }
653
654    // optional double value = 2;
655
656    pub fn clear_value(&mut self) {
657        self.value = ::std::option::Option::None;
658    }
659
660    pub fn has_value(&self) -> bool {
661        self.value.is_some()
662    }
663
664    // Param is passed by value, moved
665    pub fn set_value(&mut self, v: f64) {
666        self.value = ::std::option::Option::Some(v);
667    }
668
669    pub fn get_value(&self) -> f64 {
670        self.value.unwrap_or(0.)
671    }
672}
673
674impl ::protobuf::Message for Quantile {
675    fn is_initialized(&self) -> bool {
676        true
677    }
678
679    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
680        while !try!(is.eof()) {
681            let (field_number, wire_type) = try!(is.read_tag_unpack());
682            match field_number {
683                1 => {
684                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
685                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
686                    };
687                    let tmp = try!(is.read_double());
688                    self.quantile = ::std::option::Option::Some(tmp);
689                },
690                2 => {
691                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
692                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
693                    };
694                    let tmp = try!(is.read_double());
695                    self.value = ::std::option::Option::Some(tmp);
696                },
697                _ => {
698                    try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
699                },
700            };
701        }
702        ::std::result::Result::Ok(())
703    }
704
705    // Compute sizes of nested messages
706    #[allow(unused_variables)]
707    fn compute_size(&self) -> u32 {
708        let mut my_size = 0;
709        if self.quantile.is_some() {
710            my_size += 9;
711        };
712        if self.value.is_some() {
713            my_size += 9;
714        };
715        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
716        self.cached_size.set(my_size);
717        my_size
718    }
719
720    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
721        if let Some(v) = self.quantile {
722            try!(os.write_double(1, v));
723        };
724        if let Some(v) = self.value {
725            try!(os.write_double(2, v));
726        };
727        try!(os.write_unknown_fields(self.get_unknown_fields()));
728        ::std::result::Result::Ok(())
729    }
730
731    fn get_cached_size(&self) -> u32 {
732        self.cached_size.get()
733    }
734
735    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
736        &self.unknown_fields
737    }
738
739    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
740        &mut self.unknown_fields
741    }
742
743    fn type_id(&self) -> ::std::any::TypeId {
744        ::std::any::TypeId::of::<Quantile>()
745    }
746
747    fn as_any(&self) -> &::std::any::Any {
748        self as &::std::any::Any
749    }
750
751    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
752        ::protobuf::MessageStatic::descriptor_static(None::<Self>)
753    }
754}
755
756impl ::protobuf::MessageStatic for Quantile {
757    fn new() -> Quantile {
758        Quantile::new()
759    }
760
761    fn descriptor_static(_: ::std::option::Option<Quantile>) -> &'static ::protobuf::reflect::MessageDescriptor {
762        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
763            lock: ::protobuf::lazy::ONCE_INIT,
764            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
765        };
766        unsafe {
767            descriptor.get(|| {
768                let mut fields = ::std::vec::Vec::new();
769                fields.push(::protobuf::reflect::accessor::make_singular_f64_accessor(
770                    "quantile",
771                    Quantile::has_quantile,
772                    Quantile::get_quantile,
773                ));
774                fields.push(::protobuf::reflect::accessor::make_singular_f64_accessor(
775                    "value",
776                    Quantile::has_value,
777                    Quantile::get_value,
778                ));
779                ::protobuf::reflect::MessageDescriptor::new::<Quantile>(
780                    "Quantile",
781                    fields,
782                    file_descriptor_proto()
783                )
784            })
785        }
786    }
787}
788
789impl ::protobuf::Clear for Quantile {
790    fn clear(&mut self) {
791        self.clear_quantile();
792        self.clear_value();
793        self.unknown_fields.clear();
794    }
795}
796
797impl ::std::cmp::PartialEq for Quantile {
798    fn eq(&self, other: &Quantile) -> bool {
799        self.quantile == other.quantile &&
800        self.value == other.value &&
801        self.unknown_fields == other.unknown_fields
802    }
803}
804
805impl ::std::fmt::Debug for Quantile {
806    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
807        ::protobuf::text_format::fmt(self, f)
808    }
809}
810
811#[derive(Clone,Default)]
812pub struct Summary {
813    // message fields
814    sample_count: ::std::option::Option<u64>,
815    sample_sum: ::std::option::Option<f64>,
816    quantile: ::protobuf::RepeatedField<Quantile>,
817    // special fields
818    unknown_fields: ::protobuf::UnknownFields,
819    cached_size: ::std::cell::Cell<u32>,
820}
821
822// see codegen.rs for the explanation why impl Sync explicitly
823unsafe impl ::std::marker::Sync for Summary {}
824
825impl Summary {
826    pub fn new() -> Summary {
827        ::std::default::Default::default()
828    }
829
830    pub fn default_instance() -> &'static Summary {
831        static mut instance: ::protobuf::lazy::Lazy<Summary> = ::protobuf::lazy::Lazy {
832            lock: ::protobuf::lazy::ONCE_INIT,
833            ptr: 0 as *const Summary,
834        };
835        unsafe {
836            instance.get(|| {
837                Summary {
838                    sample_count: ::std::option::Option::None,
839                    sample_sum: ::std::option::Option::None,
840                    quantile: ::protobuf::RepeatedField::new(),
841                    unknown_fields: ::protobuf::UnknownFields::new(),
842                    cached_size: ::std::cell::Cell::new(0),
843                }
844            })
845        }
846    }
847
848    // optional uint64 sample_count = 1;
849
850    pub fn clear_sample_count(&mut self) {
851        self.sample_count = ::std::option::Option::None;
852    }
853
854    pub fn has_sample_count(&self) -> bool {
855        self.sample_count.is_some()
856    }
857
858    // Param is passed by value, moved
859    pub fn set_sample_count(&mut self, v: u64) {
860        self.sample_count = ::std::option::Option::Some(v);
861    }
862
863    pub fn get_sample_count(&self) -> u64 {
864        self.sample_count.unwrap_or(0)
865    }
866
867    // optional double sample_sum = 2;
868
869    pub fn clear_sample_sum(&mut self) {
870        self.sample_sum = ::std::option::Option::None;
871    }
872
873    pub fn has_sample_sum(&self) -> bool {
874        self.sample_sum.is_some()
875    }
876
877    // Param is passed by value, moved
878    pub fn set_sample_sum(&mut self, v: f64) {
879        self.sample_sum = ::std::option::Option::Some(v);
880    }
881
882    pub fn get_sample_sum(&self) -> f64 {
883        self.sample_sum.unwrap_or(0.)
884    }
885
886    // repeated .io.prometheus.client.Quantile quantile = 3;
887
888    pub fn clear_quantile(&mut self) {
889        self.quantile.clear();
890    }
891
892    // Param is passed by value, moved
893    pub fn set_quantile(&mut self, v: ::protobuf::RepeatedField<Quantile>) {
894        self.quantile = v;
895    }
896
897    // Mutable pointer to the field.
898    pub fn mut_quantile(&mut self) -> &mut ::protobuf::RepeatedField<Quantile> {
899        &mut self.quantile
900    }
901
902    // Take field
903    pub fn take_quantile(&mut self) -> ::protobuf::RepeatedField<Quantile> {
904        ::std::mem::replace(&mut self.quantile, ::protobuf::RepeatedField::new())
905    }
906
907    pub fn get_quantile(&self) -> &[Quantile] {
908        &self.quantile
909    }
910}
911
912impl ::protobuf::Message for Summary {
913    fn is_initialized(&self) -> bool {
914        true
915    }
916
917    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
918        while !try!(is.eof()) {
919            let (field_number, wire_type) = try!(is.read_tag_unpack());
920            match field_number {
921                1 => {
922                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
923                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
924                    };
925                    let tmp = try!(is.read_uint64());
926                    self.sample_count = ::std::option::Option::Some(tmp);
927                },
928                2 => {
929                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
930                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
931                    };
932                    let tmp = try!(is.read_double());
933                    self.sample_sum = ::std::option::Option::Some(tmp);
934                },
935                3 => {
936                    try!(::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.quantile));
937                },
938                _ => {
939                    try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
940                },
941            };
942        }
943        ::std::result::Result::Ok(())
944    }
945
946    // Compute sizes of nested messages
947    #[allow(unused_variables)]
948    fn compute_size(&self) -> u32 {
949        let mut my_size = 0;
950        for value in &self.sample_count {
951            my_size += ::protobuf::rt::value_size(1, *value, ::protobuf::wire_format::WireTypeVarint);
952        };
953        if self.sample_sum.is_some() {
954            my_size += 9;
955        };
956        for value in &self.quantile {
957            let len = value.compute_size();
958            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
959        };
960        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
961        self.cached_size.set(my_size);
962        my_size
963    }
964
965    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
966        if let Some(v) = self.sample_count {
967            try!(os.write_uint64(1, v));
968        };
969        if let Some(v) = self.sample_sum {
970            try!(os.write_double(2, v));
971        };
972        for v in &self.quantile {
973            try!(os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited));
974            try!(os.write_raw_varint32(v.get_cached_size()));
975            try!(v.write_to_with_cached_sizes(os));
976        };
977        try!(os.write_unknown_fields(self.get_unknown_fields()));
978        ::std::result::Result::Ok(())
979    }
980
981    fn get_cached_size(&self) -> u32 {
982        self.cached_size.get()
983    }
984
985    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
986        &self.unknown_fields
987    }
988
989    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
990        &mut self.unknown_fields
991    }
992
993    fn type_id(&self) -> ::std::any::TypeId {
994        ::std::any::TypeId::of::<Summary>()
995    }
996
997    fn as_any(&self) -> &::std::any::Any {
998        self as &::std::any::Any
999    }
1000
1001    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1002        ::protobuf::MessageStatic::descriptor_static(None::<Self>)
1003    }
1004}
1005
1006impl ::protobuf::MessageStatic for Summary {
1007    fn new() -> Summary {
1008        Summary::new()
1009    }
1010
1011    fn descriptor_static(_: ::std::option::Option<Summary>) -> &'static ::protobuf::reflect::MessageDescriptor {
1012        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
1013            lock: ::protobuf::lazy::ONCE_INIT,
1014            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
1015        };
1016        unsafe {
1017            descriptor.get(|| {
1018                let mut fields = ::std::vec::Vec::new();
1019                fields.push(::protobuf::reflect::accessor::make_singular_u64_accessor(
1020                    "sample_count",
1021                    Summary::has_sample_count,
1022                    Summary::get_sample_count,
1023                ));
1024                fields.push(::protobuf::reflect::accessor::make_singular_f64_accessor(
1025                    "sample_sum",
1026                    Summary::has_sample_sum,
1027                    Summary::get_sample_sum,
1028                ));
1029                fields.push(::protobuf::reflect::accessor::make_repeated_message_accessor(
1030                    "quantile",
1031                    Summary::get_quantile,
1032                ));
1033                ::protobuf::reflect::MessageDescriptor::new::<Summary>(
1034                    "Summary",
1035                    fields,
1036                    file_descriptor_proto()
1037                )
1038            })
1039        }
1040    }
1041}
1042
1043impl ::protobuf::Clear for Summary {
1044    fn clear(&mut self) {
1045        self.clear_sample_count();
1046        self.clear_sample_sum();
1047        self.clear_quantile();
1048        self.unknown_fields.clear();
1049    }
1050}
1051
1052impl ::std::cmp::PartialEq for Summary {
1053    fn eq(&self, other: &Summary) -> bool {
1054        self.sample_count == other.sample_count &&
1055        self.sample_sum == other.sample_sum &&
1056        self.quantile == other.quantile &&
1057        self.unknown_fields == other.unknown_fields
1058    }
1059}
1060
1061impl ::std::fmt::Debug for Summary {
1062    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1063        ::protobuf::text_format::fmt(self, f)
1064    }
1065}
1066
1067#[derive(Clone,Default)]
1068pub struct Untyped {
1069    // message fields
1070    value: ::std::option::Option<f64>,
1071    // special fields
1072    unknown_fields: ::protobuf::UnknownFields,
1073    cached_size: ::std::cell::Cell<u32>,
1074}
1075
1076// see codegen.rs for the explanation why impl Sync explicitly
1077unsafe impl ::std::marker::Sync for Untyped {}
1078
1079impl Untyped {
1080    pub fn new() -> Untyped {
1081        ::std::default::Default::default()
1082    }
1083
1084    pub fn default_instance() -> &'static Untyped {
1085        static mut instance: ::protobuf::lazy::Lazy<Untyped> = ::protobuf::lazy::Lazy {
1086            lock: ::protobuf::lazy::ONCE_INIT,
1087            ptr: 0 as *const Untyped,
1088        };
1089        unsafe {
1090            instance.get(|| {
1091                Untyped {
1092                    value: ::std::option::Option::None,
1093                    unknown_fields: ::protobuf::UnknownFields::new(),
1094                    cached_size: ::std::cell::Cell::new(0),
1095                }
1096            })
1097        }
1098    }
1099
1100    // optional double value = 1;
1101
1102    pub fn clear_value(&mut self) {
1103        self.value = ::std::option::Option::None;
1104    }
1105
1106    pub fn has_value(&self) -> bool {
1107        self.value.is_some()
1108    }
1109
1110    // Param is passed by value, moved
1111    pub fn set_value(&mut self, v: f64) {
1112        self.value = ::std::option::Option::Some(v);
1113    }
1114
1115    pub fn get_value(&self) -> f64 {
1116        self.value.unwrap_or(0.)
1117    }
1118}
1119
1120impl ::protobuf::Message for Untyped {
1121    fn is_initialized(&self) -> bool {
1122        true
1123    }
1124
1125    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
1126        while !try!(is.eof()) {
1127            let (field_number, wire_type) = try!(is.read_tag_unpack());
1128            match field_number {
1129                1 => {
1130                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
1131                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1132                    };
1133                    let tmp = try!(is.read_double());
1134                    self.value = ::std::option::Option::Some(tmp);
1135                },
1136                _ => {
1137                    try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
1138                },
1139            };
1140        }
1141        ::std::result::Result::Ok(())
1142    }
1143
1144    // Compute sizes of nested messages
1145    #[allow(unused_variables)]
1146    fn compute_size(&self) -> u32 {
1147        let mut my_size = 0;
1148        if self.value.is_some() {
1149            my_size += 9;
1150        };
1151        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1152        self.cached_size.set(my_size);
1153        my_size
1154    }
1155
1156    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
1157        if let Some(v) = self.value {
1158            try!(os.write_double(1, v));
1159        };
1160        try!(os.write_unknown_fields(self.get_unknown_fields()));
1161        ::std::result::Result::Ok(())
1162    }
1163
1164    fn get_cached_size(&self) -> u32 {
1165        self.cached_size.get()
1166    }
1167
1168    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1169        &self.unknown_fields
1170    }
1171
1172    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1173        &mut self.unknown_fields
1174    }
1175
1176    fn type_id(&self) -> ::std::any::TypeId {
1177        ::std::any::TypeId::of::<Untyped>()
1178    }
1179
1180    fn as_any(&self) -> &::std::any::Any {
1181        self as &::std::any::Any
1182    }
1183
1184    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1185        ::protobuf::MessageStatic::descriptor_static(None::<Self>)
1186    }
1187}
1188
1189impl ::protobuf::MessageStatic for Untyped {
1190    fn new() -> Untyped {
1191        Untyped::new()
1192    }
1193
1194    fn descriptor_static(_: ::std::option::Option<Untyped>) -> &'static ::protobuf::reflect::MessageDescriptor {
1195        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
1196            lock: ::protobuf::lazy::ONCE_INIT,
1197            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
1198        };
1199        unsafe {
1200            descriptor.get(|| {
1201                let mut fields = ::std::vec::Vec::new();
1202                fields.push(::protobuf::reflect::accessor::make_singular_f64_accessor(
1203                    "value",
1204                    Untyped::has_value,
1205                    Untyped::get_value,
1206                ));
1207                ::protobuf::reflect::MessageDescriptor::new::<Untyped>(
1208                    "Untyped",
1209                    fields,
1210                    file_descriptor_proto()
1211                )
1212            })
1213        }
1214    }
1215}
1216
1217impl ::protobuf::Clear for Untyped {
1218    fn clear(&mut self) {
1219        self.clear_value();
1220        self.unknown_fields.clear();
1221    }
1222}
1223
1224impl ::std::cmp::PartialEq for Untyped {
1225    fn eq(&self, other: &Untyped) -> bool {
1226        self.value == other.value &&
1227        self.unknown_fields == other.unknown_fields
1228    }
1229}
1230
1231impl ::std::fmt::Debug for Untyped {
1232    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1233        ::protobuf::text_format::fmt(self, f)
1234    }
1235}
1236
1237#[derive(Clone,Default)]
1238pub struct Histogram {
1239    // message fields
1240    sample_count: ::std::option::Option<u64>,
1241    sample_sum: ::std::option::Option<f64>,
1242    bucket: ::protobuf::RepeatedField<Bucket>,
1243    // special fields
1244    unknown_fields: ::protobuf::UnknownFields,
1245    cached_size: ::std::cell::Cell<u32>,
1246}
1247
1248// see codegen.rs for the explanation why impl Sync explicitly
1249unsafe impl ::std::marker::Sync for Histogram {}
1250
1251impl Histogram {
1252    pub fn new() -> Histogram {
1253        ::std::default::Default::default()
1254    }
1255
1256    pub fn default_instance() -> &'static Histogram {
1257        static mut instance: ::protobuf::lazy::Lazy<Histogram> = ::protobuf::lazy::Lazy {
1258            lock: ::protobuf::lazy::ONCE_INIT,
1259            ptr: 0 as *const Histogram,
1260        };
1261        unsafe {
1262            instance.get(|| {
1263                Histogram {
1264                    sample_count: ::std::option::Option::None,
1265                    sample_sum: ::std::option::Option::None,
1266                    bucket: ::protobuf::RepeatedField::new(),
1267                    unknown_fields: ::protobuf::UnknownFields::new(),
1268                    cached_size: ::std::cell::Cell::new(0),
1269                }
1270            })
1271        }
1272    }
1273
1274    // optional uint64 sample_count = 1;
1275
1276    pub fn clear_sample_count(&mut self) {
1277        self.sample_count = ::std::option::Option::None;
1278    }
1279
1280    pub fn has_sample_count(&self) -> bool {
1281        self.sample_count.is_some()
1282    }
1283
1284    // Param is passed by value, moved
1285    pub fn set_sample_count(&mut self, v: u64) {
1286        self.sample_count = ::std::option::Option::Some(v);
1287    }
1288
1289    pub fn get_sample_count(&self) -> u64 {
1290        self.sample_count.unwrap_or(0)
1291    }
1292
1293    // optional double sample_sum = 2;
1294
1295    pub fn clear_sample_sum(&mut self) {
1296        self.sample_sum = ::std::option::Option::None;
1297    }
1298
1299    pub fn has_sample_sum(&self) -> bool {
1300        self.sample_sum.is_some()
1301    }
1302
1303    // Param is passed by value, moved
1304    pub fn set_sample_sum(&mut self, v: f64) {
1305        self.sample_sum = ::std::option::Option::Some(v);
1306    }
1307
1308    pub fn get_sample_sum(&self) -> f64 {
1309        self.sample_sum.unwrap_or(0.)
1310    }
1311
1312    // repeated .io.prometheus.client.Bucket bucket = 3;
1313
1314    pub fn clear_bucket(&mut self) {
1315        self.bucket.clear();
1316    }
1317
1318    // Param is passed by value, moved
1319    pub fn set_bucket(&mut self, v: ::protobuf::RepeatedField<Bucket>) {
1320        self.bucket = v;
1321    }
1322
1323    // Mutable pointer to the field.
1324    pub fn mut_bucket(&mut self) -> &mut ::protobuf::RepeatedField<Bucket> {
1325        &mut self.bucket
1326    }
1327
1328    // Take field
1329    pub fn take_bucket(&mut self) -> ::protobuf::RepeatedField<Bucket> {
1330        ::std::mem::replace(&mut self.bucket, ::protobuf::RepeatedField::new())
1331    }
1332
1333    pub fn get_bucket(&self) -> &[Bucket] {
1334        &self.bucket
1335    }
1336}
1337
1338impl ::protobuf::Message for Histogram {
1339    fn is_initialized(&self) -> bool {
1340        true
1341    }
1342
1343    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
1344        while !try!(is.eof()) {
1345            let (field_number, wire_type) = try!(is.read_tag_unpack());
1346            match field_number {
1347                1 => {
1348                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1349                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1350                    };
1351                    let tmp = try!(is.read_uint64());
1352                    self.sample_count = ::std::option::Option::Some(tmp);
1353                },
1354                2 => {
1355                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
1356                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1357                    };
1358                    let tmp = try!(is.read_double());
1359                    self.sample_sum = ::std::option::Option::Some(tmp);
1360                },
1361                3 => {
1362                    try!(::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.bucket));
1363                },
1364                _ => {
1365                    try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
1366                },
1367            };
1368        }
1369        ::std::result::Result::Ok(())
1370    }
1371
1372    // Compute sizes of nested messages
1373    #[allow(unused_variables)]
1374    fn compute_size(&self) -> u32 {
1375        let mut my_size = 0;
1376        for value in &self.sample_count {
1377            my_size += ::protobuf::rt::value_size(1, *value, ::protobuf::wire_format::WireTypeVarint);
1378        };
1379        if self.sample_sum.is_some() {
1380            my_size += 9;
1381        };
1382        for value in &self.bucket {
1383            let len = value.compute_size();
1384            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1385        };
1386        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1387        self.cached_size.set(my_size);
1388        my_size
1389    }
1390
1391    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
1392        if let Some(v) = self.sample_count {
1393            try!(os.write_uint64(1, v));
1394        };
1395        if let Some(v) = self.sample_sum {
1396            try!(os.write_double(2, v));
1397        };
1398        for v in &self.bucket {
1399            try!(os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited));
1400            try!(os.write_raw_varint32(v.get_cached_size()));
1401            try!(v.write_to_with_cached_sizes(os));
1402        };
1403        try!(os.write_unknown_fields(self.get_unknown_fields()));
1404        ::std::result::Result::Ok(())
1405    }
1406
1407    fn get_cached_size(&self) -> u32 {
1408        self.cached_size.get()
1409    }
1410
1411    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1412        &self.unknown_fields
1413    }
1414
1415    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1416        &mut self.unknown_fields
1417    }
1418
1419    fn type_id(&self) -> ::std::any::TypeId {
1420        ::std::any::TypeId::of::<Histogram>()
1421    }
1422
1423    fn as_any(&self) -> &::std::any::Any {
1424        self as &::std::any::Any
1425    }
1426
1427    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1428        ::protobuf::MessageStatic::descriptor_static(None::<Self>)
1429    }
1430}
1431
1432impl ::protobuf::MessageStatic for Histogram {
1433    fn new() -> Histogram {
1434        Histogram::new()
1435    }
1436
1437    fn descriptor_static(_: ::std::option::Option<Histogram>) -> &'static ::protobuf::reflect::MessageDescriptor {
1438        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
1439            lock: ::protobuf::lazy::ONCE_INIT,
1440            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
1441        };
1442        unsafe {
1443            descriptor.get(|| {
1444                let mut fields = ::std::vec::Vec::new();
1445                fields.push(::protobuf::reflect::accessor::make_singular_u64_accessor(
1446                    "sample_count",
1447                    Histogram::has_sample_count,
1448                    Histogram::get_sample_count,
1449                ));
1450                fields.push(::protobuf::reflect::accessor::make_singular_f64_accessor(
1451                    "sample_sum",
1452                    Histogram::has_sample_sum,
1453                    Histogram::get_sample_sum,
1454                ));
1455                fields.push(::protobuf::reflect::accessor::make_repeated_message_accessor(
1456                    "bucket",
1457                    Histogram::get_bucket,
1458                ));
1459                ::protobuf::reflect::MessageDescriptor::new::<Histogram>(
1460                    "Histogram",
1461                    fields,
1462                    file_descriptor_proto()
1463                )
1464            })
1465        }
1466    }
1467}
1468
1469impl ::protobuf::Clear for Histogram {
1470    fn clear(&mut self) {
1471        self.clear_sample_count();
1472        self.clear_sample_sum();
1473        self.clear_bucket();
1474        self.unknown_fields.clear();
1475    }
1476}
1477
1478impl ::std::cmp::PartialEq for Histogram {
1479    fn eq(&self, other: &Histogram) -> bool {
1480        self.sample_count == other.sample_count &&
1481        self.sample_sum == other.sample_sum &&
1482        self.bucket == other.bucket &&
1483        self.unknown_fields == other.unknown_fields
1484    }
1485}
1486
1487impl ::std::fmt::Debug for Histogram {
1488    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1489        ::protobuf::text_format::fmt(self, f)
1490    }
1491}
1492
1493#[derive(Clone,Default)]
1494pub struct Bucket {
1495    // message fields
1496    cumulative_count: ::std::option::Option<u64>,
1497    upper_bound: ::std::option::Option<f64>,
1498    // special fields
1499    unknown_fields: ::protobuf::UnknownFields,
1500    cached_size: ::std::cell::Cell<u32>,
1501}
1502
1503// see codegen.rs for the explanation why impl Sync explicitly
1504unsafe impl ::std::marker::Sync for Bucket {}
1505
1506impl Bucket {
1507    pub fn new() -> Bucket {
1508        ::std::default::Default::default()
1509    }
1510
1511    pub fn default_instance() -> &'static Bucket {
1512        static mut instance: ::protobuf::lazy::Lazy<Bucket> = ::protobuf::lazy::Lazy {
1513            lock: ::protobuf::lazy::ONCE_INIT,
1514            ptr: 0 as *const Bucket,
1515        };
1516        unsafe {
1517            instance.get(|| {
1518                Bucket {
1519                    cumulative_count: ::std::option::Option::None,
1520                    upper_bound: ::std::option::Option::None,
1521                    unknown_fields: ::protobuf::UnknownFields::new(),
1522                    cached_size: ::std::cell::Cell::new(0),
1523                }
1524            })
1525        }
1526    }
1527
1528    // optional uint64 cumulative_count = 1;
1529
1530    pub fn clear_cumulative_count(&mut self) {
1531        self.cumulative_count = ::std::option::Option::None;
1532    }
1533
1534    pub fn has_cumulative_count(&self) -> bool {
1535        self.cumulative_count.is_some()
1536    }
1537
1538    // Param is passed by value, moved
1539    pub fn set_cumulative_count(&mut self, v: u64) {
1540        self.cumulative_count = ::std::option::Option::Some(v);
1541    }
1542
1543    pub fn get_cumulative_count(&self) -> u64 {
1544        self.cumulative_count.unwrap_or(0)
1545    }
1546
1547    // optional double upper_bound = 2;
1548
1549    pub fn clear_upper_bound(&mut self) {
1550        self.upper_bound = ::std::option::Option::None;
1551    }
1552
1553    pub fn has_upper_bound(&self) -> bool {
1554        self.upper_bound.is_some()
1555    }
1556
1557    // Param is passed by value, moved
1558    pub fn set_upper_bound(&mut self, v: f64) {
1559        self.upper_bound = ::std::option::Option::Some(v);
1560    }
1561
1562    pub fn get_upper_bound(&self) -> f64 {
1563        self.upper_bound.unwrap_or(0.)
1564    }
1565}
1566
1567impl ::protobuf::Message for Bucket {
1568    fn is_initialized(&self) -> bool {
1569        true
1570    }
1571
1572    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
1573        while !try!(is.eof()) {
1574            let (field_number, wire_type) = try!(is.read_tag_unpack());
1575            match field_number {
1576                1 => {
1577                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1578                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1579                    };
1580                    let tmp = try!(is.read_uint64());
1581                    self.cumulative_count = ::std::option::Option::Some(tmp);
1582                },
1583                2 => {
1584                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
1585                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1586                    };
1587                    let tmp = try!(is.read_double());
1588                    self.upper_bound = ::std::option::Option::Some(tmp);
1589                },
1590                _ => {
1591                    try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
1592                },
1593            };
1594        }
1595        ::std::result::Result::Ok(())
1596    }
1597
1598    // Compute sizes of nested messages
1599    #[allow(unused_variables)]
1600    fn compute_size(&self) -> u32 {
1601        let mut my_size = 0;
1602        for value in &self.cumulative_count {
1603            my_size += ::protobuf::rt::value_size(1, *value, ::protobuf::wire_format::WireTypeVarint);
1604        };
1605        if self.upper_bound.is_some() {
1606            my_size += 9;
1607        };
1608        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1609        self.cached_size.set(my_size);
1610        my_size
1611    }
1612
1613    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
1614        if let Some(v) = self.cumulative_count {
1615            try!(os.write_uint64(1, v));
1616        };
1617        if let Some(v) = self.upper_bound {
1618            try!(os.write_double(2, v));
1619        };
1620        try!(os.write_unknown_fields(self.get_unknown_fields()));
1621        ::std::result::Result::Ok(())
1622    }
1623
1624    fn get_cached_size(&self) -> u32 {
1625        self.cached_size.get()
1626    }
1627
1628    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1629        &self.unknown_fields
1630    }
1631
1632    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1633        &mut self.unknown_fields
1634    }
1635
1636    fn type_id(&self) -> ::std::any::TypeId {
1637        ::std::any::TypeId::of::<Bucket>()
1638    }
1639
1640    fn as_any(&self) -> &::std::any::Any {
1641        self as &::std::any::Any
1642    }
1643
1644    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1645        ::protobuf::MessageStatic::descriptor_static(None::<Self>)
1646    }
1647}
1648
1649impl ::protobuf::MessageStatic for Bucket {
1650    fn new() -> Bucket {
1651        Bucket::new()
1652    }
1653
1654    fn descriptor_static(_: ::std::option::Option<Bucket>) -> &'static ::protobuf::reflect::MessageDescriptor {
1655        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
1656            lock: ::protobuf::lazy::ONCE_INIT,
1657            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
1658        };
1659        unsafe {
1660            descriptor.get(|| {
1661                let mut fields = ::std::vec::Vec::new();
1662                fields.push(::protobuf::reflect::accessor::make_singular_u64_accessor(
1663                    "cumulative_count",
1664                    Bucket::has_cumulative_count,
1665                    Bucket::get_cumulative_count,
1666                ));
1667                fields.push(::protobuf::reflect::accessor::make_singular_f64_accessor(
1668                    "upper_bound",
1669                    Bucket::has_upper_bound,
1670                    Bucket::get_upper_bound,
1671                ));
1672                ::protobuf::reflect::MessageDescriptor::new::<Bucket>(
1673                    "Bucket",
1674                    fields,
1675                    file_descriptor_proto()
1676                )
1677            })
1678        }
1679    }
1680}
1681
1682impl ::protobuf::Clear for Bucket {
1683    fn clear(&mut self) {
1684        self.clear_cumulative_count();
1685        self.clear_upper_bound();
1686        self.unknown_fields.clear();
1687    }
1688}
1689
1690impl ::std::cmp::PartialEq for Bucket {
1691    fn eq(&self, other: &Bucket) -> bool {
1692        self.cumulative_count == other.cumulative_count &&
1693        self.upper_bound == other.upper_bound &&
1694        self.unknown_fields == other.unknown_fields
1695    }
1696}
1697
1698impl ::std::fmt::Debug for Bucket {
1699    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1700        ::protobuf::text_format::fmt(self, f)
1701    }
1702}
1703
1704#[derive(Clone,Default)]
1705pub struct Metric {
1706    // message fields
1707    label: ::protobuf::RepeatedField<LabelPair>,
1708    gauge: ::protobuf::SingularPtrField<Gauge>,
1709    counter: ::protobuf::SingularPtrField<Counter>,
1710    summary: ::protobuf::SingularPtrField<Summary>,
1711    untyped: ::protobuf::SingularPtrField<Untyped>,
1712    histogram: ::protobuf::SingularPtrField<Histogram>,
1713    timestamp_ms: ::std::option::Option<i64>,
1714    // special fields
1715    unknown_fields: ::protobuf::UnknownFields,
1716    cached_size: ::std::cell::Cell<u32>,
1717}
1718
1719// see codegen.rs for the explanation why impl Sync explicitly
1720unsafe impl ::std::marker::Sync for Metric {}
1721
1722impl Metric {
1723    pub fn new() -> Metric {
1724        ::std::default::Default::default()
1725    }
1726
1727    pub fn default_instance() -> &'static Metric {
1728        static mut instance: ::protobuf::lazy::Lazy<Metric> = ::protobuf::lazy::Lazy {
1729            lock: ::protobuf::lazy::ONCE_INIT,
1730            ptr: 0 as *const Metric,
1731        };
1732        unsafe {
1733            instance.get(|| {
1734                Metric {
1735                    label: ::protobuf::RepeatedField::new(),
1736                    gauge: ::protobuf::SingularPtrField::none(),
1737                    counter: ::protobuf::SingularPtrField::none(),
1738                    summary: ::protobuf::SingularPtrField::none(),
1739                    untyped: ::protobuf::SingularPtrField::none(),
1740                    histogram: ::protobuf::SingularPtrField::none(),
1741                    timestamp_ms: ::std::option::Option::None,
1742                    unknown_fields: ::protobuf::UnknownFields::new(),
1743                    cached_size: ::std::cell::Cell::new(0),
1744                }
1745            })
1746        }
1747    }
1748
1749    // repeated .io.prometheus.client.LabelPair label = 1;
1750
1751    pub fn clear_label(&mut self) {
1752        self.label.clear();
1753    }
1754
1755    // Param is passed by value, moved
1756    pub fn set_label(&mut self, v: ::protobuf::RepeatedField<LabelPair>) {
1757        self.label = v;
1758    }
1759
1760    // Mutable pointer to the field.
1761    pub fn mut_label(&mut self) -> &mut ::protobuf::RepeatedField<LabelPair> {
1762        &mut self.label
1763    }
1764
1765    // Take field
1766    pub fn take_label(&mut self) -> ::protobuf::RepeatedField<LabelPair> {
1767        ::std::mem::replace(&mut self.label, ::protobuf::RepeatedField::new())
1768    }
1769
1770    pub fn get_label(&self) -> &[LabelPair] {
1771        &self.label
1772    }
1773
1774    // optional .io.prometheus.client.Gauge gauge = 2;
1775
1776    pub fn clear_gauge(&mut self) {
1777        self.gauge.clear();
1778    }
1779
1780    pub fn has_gauge(&self) -> bool {
1781        self.gauge.is_some()
1782    }
1783
1784    // Param is passed by value, moved
1785    pub fn set_gauge(&mut self, v: Gauge) {
1786        self.gauge = ::protobuf::SingularPtrField::some(v);
1787    }
1788
1789    // Mutable pointer to the field.
1790    // If field is not initialized, it is initialized with default value first.
1791    pub fn mut_gauge(&mut self) -> &mut Gauge {
1792        if self.gauge.is_none() {
1793            self.gauge.set_default();
1794        };
1795        self.gauge.as_mut().unwrap()
1796    }
1797
1798    // Take field
1799    pub fn take_gauge(&mut self) -> Gauge {
1800        self.gauge.take().unwrap_or_else(|| Gauge::new())
1801    }
1802
1803    pub fn get_gauge(&self) -> &Gauge {
1804        self.gauge.as_ref().unwrap_or_else(|| Gauge::default_instance())
1805    }
1806
1807    // optional .io.prometheus.client.Counter counter = 3;
1808
1809    pub fn clear_counter(&mut self) {
1810        self.counter.clear();
1811    }
1812
1813    pub fn has_counter(&self) -> bool {
1814        self.counter.is_some()
1815    }
1816
1817    // Param is passed by value, moved
1818    pub fn set_counter(&mut self, v: Counter) {
1819        self.counter = ::protobuf::SingularPtrField::some(v);
1820    }
1821
1822    // Mutable pointer to the field.
1823    // If field is not initialized, it is initialized with default value first.
1824    pub fn mut_counter(&mut self) -> &mut Counter {
1825        if self.counter.is_none() {
1826            self.counter.set_default();
1827        };
1828        self.counter.as_mut().unwrap()
1829    }
1830
1831    // Take field
1832    pub fn take_counter(&mut self) -> Counter {
1833        self.counter.take().unwrap_or_else(|| Counter::new())
1834    }
1835
1836    pub fn get_counter(&self) -> &Counter {
1837        self.counter.as_ref().unwrap_or_else(|| Counter::default_instance())
1838    }
1839
1840    // optional .io.prometheus.client.Summary summary = 4;
1841
1842    pub fn clear_summary(&mut self) {
1843        self.summary.clear();
1844    }
1845
1846    pub fn has_summary(&self) -> bool {
1847        self.summary.is_some()
1848    }
1849
1850    // Param is passed by value, moved
1851    pub fn set_summary(&mut self, v: Summary) {
1852        self.summary = ::protobuf::SingularPtrField::some(v);
1853    }
1854
1855    // Mutable pointer to the field.
1856    // If field is not initialized, it is initialized with default value first.
1857    pub fn mut_summary(&mut self) -> &mut Summary {
1858        if self.summary.is_none() {
1859            self.summary.set_default();
1860        };
1861        self.summary.as_mut().unwrap()
1862    }
1863
1864    // Take field
1865    pub fn take_summary(&mut self) -> Summary {
1866        self.summary.take().unwrap_or_else(|| Summary::new())
1867    }
1868
1869    pub fn get_summary(&self) -> &Summary {
1870        self.summary.as_ref().unwrap_or_else(|| Summary::default_instance())
1871    }
1872
1873    // optional .io.prometheus.client.Untyped untyped = 5;
1874
1875    pub fn clear_untyped(&mut self) {
1876        self.untyped.clear();
1877    }
1878
1879    pub fn has_untyped(&self) -> bool {
1880        self.untyped.is_some()
1881    }
1882
1883    // Param is passed by value, moved
1884    pub fn set_untyped(&mut self, v: Untyped) {
1885        self.untyped = ::protobuf::SingularPtrField::some(v);
1886    }
1887
1888    // Mutable pointer to the field.
1889    // If field is not initialized, it is initialized with default value first.
1890    pub fn mut_untyped(&mut self) -> &mut Untyped {
1891        if self.untyped.is_none() {
1892            self.untyped.set_default();
1893        };
1894        self.untyped.as_mut().unwrap()
1895    }
1896
1897    // Take field
1898    pub fn take_untyped(&mut self) -> Untyped {
1899        self.untyped.take().unwrap_or_else(|| Untyped::new())
1900    }
1901
1902    pub fn get_untyped(&self) -> &Untyped {
1903        self.untyped.as_ref().unwrap_or_else(|| Untyped::default_instance())
1904    }
1905
1906    // optional .io.prometheus.client.Histogram histogram = 7;
1907
1908    pub fn clear_histogram(&mut self) {
1909        self.histogram.clear();
1910    }
1911
1912    pub fn has_histogram(&self) -> bool {
1913        self.histogram.is_some()
1914    }
1915
1916    // Param is passed by value, moved
1917    pub fn set_histogram(&mut self, v: Histogram) {
1918        self.histogram = ::protobuf::SingularPtrField::some(v);
1919    }
1920
1921    // Mutable pointer to the field.
1922    // If field is not initialized, it is initialized with default value first.
1923    pub fn mut_histogram(&mut self) -> &mut Histogram {
1924        if self.histogram.is_none() {
1925            self.histogram.set_default();
1926        };
1927        self.histogram.as_mut().unwrap()
1928    }
1929
1930    // Take field
1931    pub fn take_histogram(&mut self) -> Histogram {
1932        self.histogram.take().unwrap_or_else(|| Histogram::new())
1933    }
1934
1935    pub fn get_histogram(&self) -> &Histogram {
1936        self.histogram.as_ref().unwrap_or_else(|| Histogram::default_instance())
1937    }
1938
1939    // optional int64 timestamp_ms = 6;
1940
1941    pub fn clear_timestamp_ms(&mut self) {
1942        self.timestamp_ms = ::std::option::Option::None;
1943    }
1944
1945    pub fn has_timestamp_ms(&self) -> bool {
1946        self.timestamp_ms.is_some()
1947    }
1948
1949    // Param is passed by value, moved
1950    pub fn set_timestamp_ms(&mut self, v: i64) {
1951        self.timestamp_ms = ::std::option::Option::Some(v);
1952    }
1953
1954    pub fn get_timestamp_ms(&self) -> i64 {
1955        self.timestamp_ms.unwrap_or(0)
1956    }
1957}
1958
1959impl ::protobuf::Message for Metric {
1960    fn is_initialized(&self) -> bool {
1961        true
1962    }
1963
1964    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
1965        while !try!(is.eof()) {
1966            let (field_number, wire_type) = try!(is.read_tag_unpack());
1967            match field_number {
1968                1 => {
1969                    try!(::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.label));
1970                },
1971                2 => {
1972                    try!(::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.gauge));
1973                },
1974                3 => {
1975                    try!(::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.counter));
1976                },
1977                4 => {
1978                    try!(::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.summary));
1979                },
1980                5 => {
1981                    try!(::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.untyped));
1982                },
1983                7 => {
1984                    try!(::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.histogram));
1985                },
1986                6 => {
1987                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1988                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1989                    };
1990                    let tmp = try!(is.read_int64());
1991                    self.timestamp_ms = ::std::option::Option::Some(tmp);
1992                },
1993                _ => {
1994                    try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
1995                },
1996            };
1997        }
1998        ::std::result::Result::Ok(())
1999    }
2000
2001    // Compute sizes of nested messages
2002    #[allow(unused_variables)]
2003    fn compute_size(&self) -> u32 {
2004        let mut my_size = 0;
2005        for value in &self.label {
2006            let len = value.compute_size();
2007            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2008        };
2009        for value in &self.gauge {
2010            let len = value.compute_size();
2011            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2012        };
2013        for value in &self.counter {
2014            let len = value.compute_size();
2015            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2016        };
2017        for value in &self.summary {
2018            let len = value.compute_size();
2019            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2020        };
2021        for value in &self.untyped {
2022            let len = value.compute_size();
2023            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2024        };
2025        for value in &self.histogram {
2026            let len = value.compute_size();
2027            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2028        };
2029        for value in &self.timestamp_ms {
2030            my_size += ::protobuf::rt::value_size(6, *value, ::protobuf::wire_format::WireTypeVarint);
2031        };
2032        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2033        self.cached_size.set(my_size);
2034        my_size
2035    }
2036
2037    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
2038        for v in &self.label {
2039            try!(os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited));
2040            try!(os.write_raw_varint32(v.get_cached_size()));
2041            try!(v.write_to_with_cached_sizes(os));
2042        };
2043        if let Some(v) = self.gauge.as_ref() {
2044            try!(os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited));
2045            try!(os.write_raw_varint32(v.get_cached_size()));
2046            try!(v.write_to_with_cached_sizes(os));
2047        };
2048        if let Some(v) = self.counter.as_ref() {
2049            try!(os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited));
2050            try!(os.write_raw_varint32(v.get_cached_size()));
2051            try!(v.write_to_with_cached_sizes(os));
2052        };
2053        if let Some(v) = self.summary.as_ref() {
2054            try!(os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited));
2055            try!(os.write_raw_varint32(v.get_cached_size()));
2056            try!(v.write_to_with_cached_sizes(os));
2057        };
2058        if let Some(v) = self.untyped.as_ref() {
2059            try!(os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited));
2060            try!(os.write_raw_varint32(v.get_cached_size()));
2061            try!(v.write_to_with_cached_sizes(os));
2062        };
2063        if let Some(v) = self.histogram.as_ref() {
2064            try!(os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited));
2065            try!(os.write_raw_varint32(v.get_cached_size()));
2066            try!(v.write_to_with_cached_sizes(os));
2067        };
2068        if let Some(v) = self.timestamp_ms {
2069            try!(os.write_int64(6, v));
2070        };
2071        try!(os.write_unknown_fields(self.get_unknown_fields()));
2072        ::std::result::Result::Ok(())
2073    }
2074
2075    fn get_cached_size(&self) -> u32 {
2076        self.cached_size.get()
2077    }
2078
2079    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2080        &self.unknown_fields
2081    }
2082
2083    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2084        &mut self.unknown_fields
2085    }
2086
2087    fn type_id(&self) -> ::std::any::TypeId {
2088        ::std::any::TypeId::of::<Metric>()
2089    }
2090
2091    fn as_any(&self) -> &::std::any::Any {
2092        self as &::std::any::Any
2093    }
2094
2095    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2096        ::protobuf::MessageStatic::descriptor_static(None::<Self>)
2097    }
2098}
2099
2100impl ::protobuf::MessageStatic for Metric {
2101    fn new() -> Metric {
2102        Metric::new()
2103    }
2104
2105    fn descriptor_static(_: ::std::option::Option<Metric>) -> &'static ::protobuf::reflect::MessageDescriptor {
2106        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
2107            lock: ::protobuf::lazy::ONCE_INIT,
2108            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
2109        };
2110        unsafe {
2111            descriptor.get(|| {
2112                let mut fields = ::std::vec::Vec::new();
2113                fields.push(::protobuf::reflect::accessor::make_repeated_message_accessor(
2114                    "label",
2115                    Metric::get_label,
2116                ));
2117                fields.push(::protobuf::reflect::accessor::make_singular_message_accessor(
2118                    "gauge",
2119                    Metric::has_gauge,
2120                    Metric::get_gauge,
2121                ));
2122                fields.push(::protobuf::reflect::accessor::make_singular_message_accessor(
2123                    "counter",
2124                    Metric::has_counter,
2125                    Metric::get_counter,
2126                ));
2127                fields.push(::protobuf::reflect::accessor::make_singular_message_accessor(
2128                    "summary",
2129                    Metric::has_summary,
2130                    Metric::get_summary,
2131                ));
2132                fields.push(::protobuf::reflect::accessor::make_singular_message_accessor(
2133                    "untyped",
2134                    Metric::has_untyped,
2135                    Metric::get_untyped,
2136                ));
2137                fields.push(::protobuf::reflect::accessor::make_singular_message_accessor(
2138                    "histogram",
2139                    Metric::has_histogram,
2140                    Metric::get_histogram,
2141                ));
2142                fields.push(::protobuf::reflect::accessor::make_singular_i64_accessor(
2143                    "timestamp_ms",
2144                    Metric::has_timestamp_ms,
2145                    Metric::get_timestamp_ms,
2146                ));
2147                ::protobuf::reflect::MessageDescriptor::new::<Metric>(
2148                    "Metric",
2149                    fields,
2150                    file_descriptor_proto()
2151                )
2152            })
2153        }
2154    }
2155}
2156
2157impl ::protobuf::Clear for Metric {
2158    fn clear(&mut self) {
2159        self.clear_label();
2160        self.clear_gauge();
2161        self.clear_counter();
2162        self.clear_summary();
2163        self.clear_untyped();
2164        self.clear_histogram();
2165        self.clear_timestamp_ms();
2166        self.unknown_fields.clear();
2167    }
2168}
2169
2170impl ::std::cmp::PartialEq for Metric {
2171    fn eq(&self, other: &Metric) -> bool {
2172        self.label == other.label &&
2173        self.gauge == other.gauge &&
2174        self.counter == other.counter &&
2175        self.summary == other.summary &&
2176        self.untyped == other.untyped &&
2177        self.histogram == other.histogram &&
2178        self.timestamp_ms == other.timestamp_ms &&
2179        self.unknown_fields == other.unknown_fields
2180    }
2181}
2182
2183impl ::std::fmt::Debug for Metric {
2184    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2185        ::protobuf::text_format::fmt(self, f)
2186    }
2187}
2188
2189#[derive(Clone,Default)]
2190pub struct MetricFamily {
2191    // message fields
2192    name: ::protobuf::SingularField<::std::string::String>,
2193    help: ::protobuf::SingularField<::std::string::String>,
2194    field_type: ::std::option::Option<MetricType>,
2195    metric: ::protobuf::RepeatedField<Metric>,
2196    // special fields
2197    unknown_fields: ::protobuf::UnknownFields,
2198    cached_size: ::std::cell::Cell<u32>,
2199}
2200
2201// see codegen.rs for the explanation why impl Sync explicitly
2202unsafe impl ::std::marker::Sync for MetricFamily {}
2203
2204impl MetricFamily {
2205    pub fn new() -> MetricFamily {
2206        ::std::default::Default::default()
2207    }
2208
2209    pub fn default_instance() -> &'static MetricFamily {
2210        static mut instance: ::protobuf::lazy::Lazy<MetricFamily> = ::protobuf::lazy::Lazy {
2211            lock: ::protobuf::lazy::ONCE_INIT,
2212            ptr: 0 as *const MetricFamily,
2213        };
2214        unsafe {
2215            instance.get(|| {
2216                MetricFamily {
2217                    name: ::protobuf::SingularField::none(),
2218                    help: ::protobuf::SingularField::none(),
2219                    field_type: ::std::option::Option::None,
2220                    metric: ::protobuf::RepeatedField::new(),
2221                    unknown_fields: ::protobuf::UnknownFields::new(),
2222                    cached_size: ::std::cell::Cell::new(0),
2223                }
2224            })
2225        }
2226    }
2227
2228    // optional string name = 1;
2229
2230    pub fn clear_name(&mut self) {
2231        self.name.clear();
2232    }
2233
2234    pub fn has_name(&self) -> bool {
2235        self.name.is_some()
2236    }
2237
2238    // Param is passed by value, moved
2239    pub fn set_name(&mut self, v: ::std::string::String) {
2240        self.name = ::protobuf::SingularField::some(v);
2241    }
2242
2243    // Mutable pointer to the field.
2244    // If field is not initialized, it is initialized with default value first.
2245    pub fn mut_name(&mut self) -> &mut ::std::string::String {
2246        if self.name.is_none() {
2247            self.name.set_default();
2248        };
2249        self.name.as_mut().unwrap()
2250    }
2251
2252    // Take field
2253    pub fn take_name(&mut self) -> ::std::string::String {
2254        self.name.take().unwrap_or_else(|| ::std::string::String::new())
2255    }
2256
2257    pub fn get_name(&self) -> &str {
2258        match self.name.as_ref() {
2259            Some(v) => &v,
2260            None => "",
2261        }
2262    }
2263
2264    // optional string help = 2;
2265
2266    pub fn clear_help(&mut self) {
2267        self.help.clear();
2268    }
2269
2270    pub fn has_help(&self) -> bool {
2271        self.help.is_some()
2272    }
2273
2274    // Param is passed by value, moved
2275    pub fn set_help(&mut self, v: ::std::string::String) {
2276        self.help = ::protobuf::SingularField::some(v);
2277    }
2278
2279    // Mutable pointer to the field.
2280    // If field is not initialized, it is initialized with default value first.
2281    pub fn mut_help(&mut self) -> &mut ::std::string::String {
2282        if self.help.is_none() {
2283            self.help.set_default();
2284        };
2285        self.help.as_mut().unwrap()
2286    }
2287
2288    // Take field
2289    pub fn take_help(&mut self) -> ::std::string::String {
2290        self.help.take().unwrap_or_else(|| ::std::string::String::new())
2291    }
2292
2293    pub fn get_help(&self) -> &str {
2294        match self.help.as_ref() {
2295            Some(v) => &v,
2296            None => "",
2297        }
2298    }
2299
2300    // optional .io.prometheus.client.MetricType type = 3;
2301
2302    pub fn clear_field_type(&mut self) {
2303        self.field_type = ::std::option::Option::None;
2304    }
2305
2306    pub fn has_field_type(&self) -> bool {
2307        self.field_type.is_some()
2308    }
2309
2310    // Param is passed by value, moved
2311    pub fn set_field_type(&mut self, v: MetricType) {
2312        self.field_type = ::std::option::Option::Some(v);
2313    }
2314
2315    pub fn get_field_type(&self) -> MetricType {
2316        self.field_type.unwrap_or(MetricType::COUNTER)
2317    }
2318
2319    // repeated .io.prometheus.client.Metric metric = 4;
2320
2321    pub fn clear_metric(&mut self) {
2322        self.metric.clear();
2323    }
2324
2325    // Param is passed by value, moved
2326    pub fn set_metric(&mut self, v: ::protobuf::RepeatedField<Metric>) {
2327        self.metric = v;
2328    }
2329
2330    // Mutable pointer to the field.
2331    pub fn mut_metric(&mut self) -> &mut ::protobuf::RepeatedField<Metric> {
2332        &mut self.metric
2333    }
2334
2335    // Take field
2336    pub fn take_metric(&mut self) -> ::protobuf::RepeatedField<Metric> {
2337        ::std::mem::replace(&mut self.metric, ::protobuf::RepeatedField::new())
2338    }
2339
2340    pub fn get_metric(&self) -> &[Metric] {
2341        &self.metric
2342    }
2343}
2344
2345impl ::protobuf::Message for MetricFamily {
2346    fn is_initialized(&self) -> bool {
2347        true
2348    }
2349
2350    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
2351        while !try!(is.eof()) {
2352            let (field_number, wire_type) = try!(is.read_tag_unpack());
2353            match field_number {
2354                1 => {
2355                    try!(::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name));
2356                },
2357                2 => {
2358                    try!(::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.help));
2359                },
2360                3 => {
2361                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2362                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2363                    };
2364                    let tmp = try!(is.read_enum());
2365                    self.field_type = ::std::option::Option::Some(tmp);
2366                },
2367                4 => {
2368                    try!(::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.metric));
2369                },
2370                _ => {
2371                    try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
2372                },
2373            };
2374        }
2375        ::std::result::Result::Ok(())
2376    }
2377
2378    // Compute sizes of nested messages
2379    #[allow(unused_variables)]
2380    fn compute_size(&self) -> u32 {
2381        let mut my_size = 0;
2382        for value in &self.name {
2383            my_size += ::protobuf::rt::string_size(1, &value);
2384        };
2385        for value in &self.help {
2386            my_size += ::protobuf::rt::string_size(2, &value);
2387        };
2388        for value in &self.field_type {
2389            my_size += ::protobuf::rt::enum_size(3, *value);
2390        };
2391        for value in &self.metric {
2392            let len = value.compute_size();
2393            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2394        };
2395        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2396        self.cached_size.set(my_size);
2397        my_size
2398    }
2399
2400    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
2401        if let Some(v) = self.name.as_ref() {
2402            try!(os.write_string(1, &v));
2403        };
2404        if let Some(v) = self.help.as_ref() {
2405            try!(os.write_string(2, &v));
2406        };
2407        if let Some(v) = self.field_type {
2408            try!(os.write_enum(3, v.value()));
2409        };
2410        for v in &self.metric {
2411            try!(os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited));
2412            try!(os.write_raw_varint32(v.get_cached_size()));
2413            try!(v.write_to_with_cached_sizes(os));
2414        };
2415        try!(os.write_unknown_fields(self.get_unknown_fields()));
2416        ::std::result::Result::Ok(())
2417    }
2418
2419    fn get_cached_size(&self) -> u32 {
2420        self.cached_size.get()
2421    }
2422
2423    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2424        &self.unknown_fields
2425    }
2426
2427    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2428        &mut self.unknown_fields
2429    }
2430
2431    fn type_id(&self) -> ::std::any::TypeId {
2432        ::std::any::TypeId::of::<MetricFamily>()
2433    }
2434
2435    fn as_any(&self) -> &::std::any::Any {
2436        self as &::std::any::Any
2437    }
2438
2439    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2440        ::protobuf::MessageStatic::descriptor_static(None::<Self>)
2441    }
2442}
2443
2444impl ::protobuf::MessageStatic for MetricFamily {
2445    fn new() -> MetricFamily {
2446        MetricFamily::new()
2447    }
2448
2449    fn descriptor_static(_: ::std::option::Option<MetricFamily>) -> &'static ::protobuf::reflect::MessageDescriptor {
2450        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
2451            lock: ::protobuf::lazy::ONCE_INIT,
2452            ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
2453        };
2454        unsafe {
2455            descriptor.get(|| {
2456                let mut fields = ::std::vec::Vec::new();
2457                fields.push(::protobuf::reflect::accessor::make_singular_string_accessor(
2458                    "name",
2459                    MetricFamily::has_name,
2460                    MetricFamily::get_name,
2461                ));
2462                fields.push(::protobuf::reflect::accessor::make_singular_string_accessor(
2463                    "help",
2464                    MetricFamily::has_help,
2465                    MetricFamily::get_help,
2466                ));
2467                fields.push(::protobuf::reflect::accessor::make_singular_enum_accessor(
2468                    "type",
2469                    MetricFamily::has_field_type,
2470                    MetricFamily::get_field_type,
2471                ));
2472                fields.push(::protobuf::reflect::accessor::make_repeated_message_accessor(
2473                    "metric",
2474                    MetricFamily::get_metric,
2475                ));
2476                ::protobuf::reflect::MessageDescriptor::new::<MetricFamily>(
2477                    "MetricFamily",
2478                    fields,
2479                    file_descriptor_proto()
2480                )
2481            })
2482        }
2483    }
2484}
2485
2486impl ::protobuf::Clear for MetricFamily {
2487    fn clear(&mut self) {
2488        self.clear_name();
2489        self.clear_help();
2490        self.clear_field_type();
2491        self.clear_metric();
2492        self.unknown_fields.clear();
2493    }
2494}
2495
2496impl ::std::cmp::PartialEq for MetricFamily {
2497    fn eq(&self, other: &MetricFamily) -> bool {
2498        self.name == other.name &&
2499        self.help == other.help &&
2500        self.field_type == other.field_type &&
2501        self.metric == other.metric &&
2502        self.unknown_fields == other.unknown_fields
2503    }
2504}
2505
2506impl ::std::fmt::Debug for MetricFamily {
2507    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2508        ::protobuf::text_format::fmt(self, f)
2509    }
2510}
2511
2512#[derive(Clone,PartialEq,Eq,Debug,Hash)]
2513pub enum MetricType {
2514    COUNTER = 0,
2515    GAUGE = 1,
2516    SUMMARY = 2,
2517    UNTYPED = 3,
2518    HISTOGRAM = 4,
2519}
2520
2521impl ::protobuf::ProtobufEnum for MetricType {
2522    fn value(&self) -> i32 {
2523        *self as i32
2524    }
2525
2526    fn from_i32(value: i32) -> ::std::option::Option<MetricType> {
2527        match value {
2528            0 => ::std::option::Option::Some(MetricType::COUNTER),
2529            1 => ::std::option::Option::Some(MetricType::GAUGE),
2530            2 => ::std::option::Option::Some(MetricType::SUMMARY),
2531            3 => ::std::option::Option::Some(MetricType::UNTYPED),
2532            4 => ::std::option::Option::Some(MetricType::HISTOGRAM),
2533            _ => ::std::option::Option::None
2534        }
2535    }
2536
2537    fn values() -> &'static [Self] {
2538        static values: &'static [MetricType] = &[
2539            MetricType::COUNTER,
2540            MetricType::GAUGE,
2541            MetricType::SUMMARY,
2542            MetricType::UNTYPED,
2543            MetricType::HISTOGRAM,
2544        ];
2545        values
2546    }
2547
2548    fn enum_descriptor_static(_: Option<MetricType>) -> &'static ::protobuf::reflect::EnumDescriptor {
2549        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
2550            lock: ::protobuf::lazy::ONCE_INIT,
2551            ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
2552        };
2553        unsafe {
2554            descriptor.get(|| {
2555                ::protobuf::reflect::EnumDescriptor::new("MetricType", file_descriptor_proto())
2556            })
2557        }
2558    }
2559}
2560
2561impl ::std::marker::Copy for MetricType {
2562}
2563
2564static file_descriptor_proto_data: &'static [u8] = &[
2565    0x0a, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
2566    0x14, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x2e, 0x63,
2567    0x6c, 0x69, 0x65, 0x6e, 0x74, 0x22, 0x28, 0x0a, 0x09, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x50, 0x61,
2568    0x69, 0x72, 0x12, 0x0c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
2569    0x12, 0x0d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x22,
2570    0x16, 0x0a, 0x05, 0x47, 0x61, 0x75, 0x67, 0x65, 0x12, 0x0d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
2571    0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x22, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x74,
2572    0x65, 0x72, 0x12, 0x0d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
2573    0x01, 0x22, 0x2b, 0x0a, 0x08, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x10, 0x0a,
2574    0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x12,
2575    0x0d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x22, 0x65,
2576    0x0a, 0x07, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x0c, 0x73, 0x61, 0x6d,
2577    0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x12,
2578    0x12, 0x0a, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x02, 0x20,
2579    0x01, 0x28, 0x01, 0x12, 0x30, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18,
2580    0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x6d, 0x65,
2581    0x74, 0x68, 0x65, 0x75, 0x73, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x61,
2582    0x6e, 0x74, 0x69, 0x6c, 0x65, 0x22, 0x18, 0x0a, 0x07, 0x55, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x64,
2583    0x12, 0x0d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x22,
2584    0x63, 0x0a, 0x09, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x0c,
2585    0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
2586    0x28, 0x04, 0x12, 0x12, 0x0a, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x73, 0x75, 0x6d,
2587    0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x12, 0x2c, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
2588    0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x6d,
2589    0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x75,
2590    0x63, 0x6b, 0x65, 0x74, 0x22, 0x37, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18,
2591    0x0a, 0x10, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75,
2592    0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x12, 0x13, 0x0a, 0x0b, 0x75, 0x70, 0x70, 0x65,
2593    0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x22, 0xbe, 0x02,
2594    0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x2e, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65,
2595    0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
2596    0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x4c,
2597    0x61, 0x62, 0x65, 0x6c, 0x50, 0x61, 0x69, 0x72, 0x12, 0x2a, 0x0a, 0x05, 0x67, 0x61, 0x75, 0x67,
2598    0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
2599    0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x47,
2600    0x61, 0x75, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18,
2601    0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x6d, 0x65,
2602    0x74, 0x68, 0x65, 0x75, 0x73, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x75,
2603    0x6e, 0x74, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18,
2604    0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x6d, 0x65,
2605    0x74, 0x68, 0x65, 0x75, 0x73, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x75, 0x6d,
2606    0x6d, 0x61, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x07, 0x75, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x64, 0x18,
2607    0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x6d, 0x65,
2608    0x74, 0x68, 0x65, 0x75, 0x73, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x6e, 0x74,
2609    0x79, 0x70, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x09, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61,
2610    0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
2611    0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x48,
2612    0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65,
2613    0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x22, 0x88,
2614    0x01, 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12,
2615    0x0c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x12, 0x0c, 0x0a,
2616    0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x12, 0x2e, 0x0a, 0x04, 0x74,
2617    0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x69, 0x6f, 0x2e, 0x70,
2618    0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
2619    0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x6d,
2620    0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6f,
2621    0x2e, 0x70, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x2e, 0x63, 0x6c, 0x69, 0x65,
2622    0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2a, 0x4d, 0x0a, 0x0a, 0x4d, 0x65, 0x74,
2623    0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x55, 0x4e, 0x54,
2624    0x45, 0x52, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x41, 0x55, 0x47, 0x45, 0x10, 0x01, 0x12,
2625    0x0b, 0x0a, 0x07, 0x53, 0x55, 0x4d, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07,
2626    0x55, 0x4e, 0x54, 0x59, 0x50, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x49, 0x53,
2627    0x54, 0x4f, 0x47, 0x52, 0x41, 0x4d, 0x10, 0x04, 0x42, 0x16, 0x0a, 0x14, 0x69, 0x6f, 0x2e, 0x70,
2628    0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
2629    0x4a, 0xb4, 0x13, 0x0a, 0x06, 0x12, 0x04, 0x0d, 0x00, 0x50, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x02,
2630    0x12, 0x03, 0x0f, 0x08, 0x1c, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x10, 0x00, 0x2d, 0x0a,
2631    0x0b, 0x0a, 0x04, 0x08, 0xe7, 0x07, 0x00, 0x12, 0x03, 0x10, 0x00, 0x2d, 0x0a, 0x0c, 0x0a, 0x05,
2632    0x08, 0xe7, 0x07, 0x00, 0x02, 0x12, 0x03, 0x10, 0x07, 0x13, 0x0a, 0x0d, 0x0a, 0x06, 0x08, 0xe7,
2633    0x07, 0x00, 0x02, 0x00, 0x12, 0x03, 0x10, 0x07, 0x13, 0x0a, 0x0e, 0x0a, 0x07, 0x08, 0xe7, 0x07,
2634    0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x10, 0x07, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0xe7, 0x07,
2635    0x00, 0x07, 0x12, 0x03, 0x10, 0x16, 0x2c, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x12,
2636    0x00, 0x15, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x12, 0x08, 0x11, 0x0a,
2637    0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x13, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05,
2638    0x04, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x13, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00,
2639    0x02, 0x00, 0x05, 0x12, 0x03, 0x13, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00,
2640    0x01, 0x12, 0x03, 0x13, 0x12, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12,
2641    0x03, 0x13, 0x1a, 0x1b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x14, 0x02,
2642    0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x04, 0x12, 0x03, 0x14, 0x02, 0x0a, 0x0a,
2643    0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x14, 0x0b, 0x11, 0x0a, 0x0c, 0x0a,
2644    0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x14, 0x12, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
2645    0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x14, 0x1a, 0x1b, 0x0a, 0x0a, 0x0a, 0x02, 0x05, 0x00, 0x12,
2646    0x04, 0x17, 0x00, 0x1d, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x17, 0x05,
2647    0x0f, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x18, 0x02, 0x11, 0x0a, 0x0c,
2648    0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x18, 0x02, 0x09, 0x0a, 0x0c, 0x0a, 0x05,
2649    0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x18, 0x0f, 0x10, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00,
2650    0x02, 0x01, 0x12, 0x03, 0x19, 0x02, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01,
2651    0x12, 0x03, 0x19, 0x02, 0x07, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03,
2652    0x19, 0x0f, 0x10, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x1a, 0x02, 0x11,
2653    0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x1a, 0x02, 0x09, 0x0a, 0x0c,
2654    0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x1a, 0x0f, 0x10, 0x0a, 0x0b, 0x0a, 0x04,
2655    0x05, 0x00, 0x02, 0x03, 0x12, 0x03, 0x1b, 0x02, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02,
2656    0x03, 0x01, 0x12, 0x03, 0x1b, 0x02, 0x09, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02,
2657    0x12, 0x03, 0x1b, 0x0f, 0x10, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x04, 0x12, 0x03, 0x1c,
2658    0x02, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x1c, 0x02, 0x0b,
2659    0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x1c, 0x0f, 0x10, 0x0a, 0x0a,
2660    0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x1f, 0x00, 0x21, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01,
2661    0x01, 0x12, 0x03, 0x1f, 0x08, 0x0d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03,
2662    0x20, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x04, 0x12, 0x03, 0x20, 0x02,
2663    0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x03, 0x20, 0x0b, 0x11, 0x0a,
2664    0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x20, 0x12, 0x17, 0x0a, 0x0c, 0x0a,
2665    0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x20, 0x1a, 0x1b, 0x0a, 0x0a, 0x0a, 0x02, 0x04,
2666    0x02, 0x12, 0x04, 0x23, 0x00, 0x25, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03,
2667    0x23, 0x08, 0x0f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x24, 0x02, 0x1c,
2668    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x04, 0x12, 0x03, 0x24, 0x02, 0x0a, 0x0a, 0x0c,
2669    0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, 0x03, 0x24, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05,
2670    0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x24, 0x12, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02,
2671    0x02, 0x00, 0x03, 0x12, 0x03, 0x24, 0x1a, 0x1b, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04,
2672    0x27, 0x00, 0x2a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x27, 0x08, 0x10,
2673    0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, 0x28, 0x02, 0x1f, 0x0a, 0x0c, 0x0a,
2674    0x05, 0x04, 0x03, 0x02, 0x00, 0x04, 0x12, 0x03, 0x28, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
2675    0x03, 0x02, 0x00, 0x05, 0x12, 0x03, 0x28, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02,
2676    0x00, 0x01, 0x12, 0x03, 0x28, 0x12, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03,
2677    0x12, 0x03, 0x28, 0x1d, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x03, 0x29,
2678    0x02, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x04, 0x12, 0x03, 0x29, 0x02, 0x0a,
2679    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x05, 0x12, 0x03, 0x29, 0x0b, 0x11, 0x0a, 0x0c,
2680    0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x03, 0x29, 0x12, 0x17, 0x0a, 0x0c, 0x0a, 0x05,
2681    0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x03, 0x29, 0x1d, 0x1e, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x04,
2682    0x12, 0x04, 0x2c, 0x00, 0x30, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x2c,
2683    0x08, 0x0f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x2d, 0x02, 0x25, 0x0a,
2684    0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x04, 0x12, 0x03, 0x2d, 0x02, 0x0a, 0x0a, 0x0c, 0x0a,
2685    0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, 0x03, 0x2d, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
2686    0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x2d, 0x14, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02,
2687    0x00, 0x03, 0x12, 0x03, 0x2d, 0x23, 0x24, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12,
2688    0x03, 0x2e, 0x02, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x04, 0x12, 0x03, 0x2e,
2689    0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, 0x03, 0x2e, 0x0b, 0x11,
2690    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x03, 0x2e, 0x14, 0x1e, 0x0a, 0x0c,
2691    0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x03, 0x2e, 0x23, 0x24, 0x0a, 0x0b, 0x0a, 0x04,
2692    0x04, 0x04, 0x02, 0x02, 0x12, 0x03, 0x2f, 0x02, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02,
2693    0x02, 0x04, 0x12, 0x03, 0x2f, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x06,
2694    0x12, 0x03, 0x2f, 0x0b, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03,
2695    0x2f, 0x14, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x03, 0x2f, 0x23,
2696    0x24, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x32, 0x00, 0x34, 0x01, 0x0a, 0x0a, 0x0a,
2697    0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x32, 0x08, 0x0f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02,
2698    0x00, 0x12, 0x03, 0x33, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x04, 0x12,
2699    0x03, 0x33, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x03, 0x33,
2700    0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, 0x33, 0x12, 0x17,
2701    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x33, 0x1a, 0x1b, 0x0a, 0x0a,
2702    0x0a, 0x02, 0x04, 0x06, 0x12, 0x04, 0x36, 0x00, 0x3a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x06,
2703    0x01, 0x12, 0x03, 0x36, 0x08, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x03,
2704    0x37, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x04, 0x12, 0x03, 0x37, 0x02,
2705    0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x03, 0x37, 0x0b, 0x11, 0x0a,
2706    0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x03, 0x37, 0x12, 0x1e, 0x0a, 0x0c, 0x0a,
2707    0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x03, 0x37, 0x21, 0x22, 0x0a, 0x0b, 0x0a, 0x04, 0x04,
2708    0x06, 0x02, 0x01, 0x12, 0x03, 0x38, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01,
2709    0x04, 0x12, 0x03, 0x38, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12,
2710    0x03, 0x38, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x03, 0x38,
2711    0x12, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x03, 0x38, 0x21, 0x22,
2712    0x0a, 0x53, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x02, 0x12, 0x03, 0x39, 0x02, 0x23, 0x22, 0x46, 0x20,
2713    0x4f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65,
2714    0x61, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x75,
2715    0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2c, 0x20, 0x2b, 0x49, 0x6e, 0x66,
2716    0x20, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f,
2717    0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x04, 0x12, 0x03,
2718    0x39, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x06, 0x12, 0x03, 0x39, 0x0b,
2719    0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x01, 0x12, 0x03, 0x39, 0x12, 0x18, 0x0a,
2720    0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x03, 0x12, 0x03, 0x39, 0x21, 0x22, 0x0a, 0x0a, 0x0a,
2721    0x02, 0x04, 0x07, 0x12, 0x04, 0x3c, 0x00, 0x3f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x07, 0x01,
2722    0x12, 0x03, 0x3c, 0x08, 0x0e, 0x0a, 0x2e, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x03, 0x3d,
2723    0x02, 0x27, 0x22, 0x21, 0x20, 0x43, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20,
2724    0x69, 0x6e, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72,
2725    0x64, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x04, 0x12, 0x03,
2726    0x3d, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x05, 0x12, 0x03, 0x3d, 0x0b,
2727    0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x03, 0x3d, 0x12, 0x22, 0x0a,
2728    0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x03, 0x3d, 0x25, 0x26, 0x0a, 0x19, 0x0a,
2729    0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x03, 0x3e, 0x02, 0x22, 0x22, 0x0c, 0x20, 0x49, 0x6e, 0x63,
2730    0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01,
2731    0x04, 0x12, 0x03, 0x3e, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x05, 0x12,
2732    0x03, 0x3e, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x03, 0x3e,
2733    0x12, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x03, 0x3e, 0x20, 0x21,
2734    0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x04, 0x41, 0x00, 0x49, 0x01, 0x0a, 0x0a, 0x0a, 0x03,
2735    0x04, 0x08, 0x01, 0x12, 0x03, 0x41, 0x08, 0x0e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00,
2736    0x12, 0x03, 0x42, 0x02, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x04, 0x12, 0x03,
2737    0x42, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x03, 0x42, 0x0b,
2738    0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x03, 0x42, 0x15, 0x1a, 0x0a,
2739    0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x03, 0x42, 0x24, 0x25, 0x0a, 0x0b, 0x0a,
2740    0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x03, 0x43, 0x02, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08,
2741    0x02, 0x01, 0x04, 0x12, 0x03, 0x43, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01,
2742    0x06, 0x12, 0x03, 0x43, 0x0b, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x01, 0x12,
2743    0x03, 0x43, 0x15, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x03, 0x12, 0x03, 0x43,
2744    0x24, 0x25, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x02, 0x12, 0x03, 0x44, 0x02, 0x26, 0x0a,
2745    0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x04, 0x12, 0x03, 0x44, 0x02, 0x0a, 0x0a, 0x0c, 0x0a,
2746    0x05, 0x04, 0x08, 0x02, 0x02, 0x06, 0x12, 0x03, 0x44, 0x0b, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
2747    0x08, 0x02, 0x02, 0x01, 0x12, 0x03, 0x44, 0x15, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02,
2748    0x02, 0x03, 0x12, 0x03, 0x44, 0x24, 0x25, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x03, 0x12,
2749    0x03, 0x45, 0x02, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x04, 0x12, 0x03, 0x45,
2750    0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x06, 0x12, 0x03, 0x45, 0x0b, 0x12,
2751    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x01, 0x12, 0x03, 0x45, 0x15, 0x1c, 0x0a, 0x0c,
2752    0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x03, 0x12, 0x03, 0x45, 0x24, 0x25, 0x0a, 0x0b, 0x0a, 0x04,
2753    0x04, 0x08, 0x02, 0x04, 0x12, 0x03, 0x46, 0x02, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02,
2754    0x04, 0x04, 0x12, 0x03, 0x46, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x06,
2755    0x12, 0x03, 0x46, 0x0b, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x01, 0x12, 0x03,
2756    0x46, 0x15, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x03, 0x12, 0x03, 0x46, 0x24,
2757    0x25, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x05, 0x12, 0x03, 0x47, 0x02, 0x26, 0x0a, 0x0c,
2758    0x0a, 0x05, 0x04, 0x08, 0x02, 0x05, 0x04, 0x12, 0x03, 0x47, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05,
2759    0x04, 0x08, 0x02, 0x05, 0x06, 0x12, 0x03, 0x47, 0x0b, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08,
2760    0x02, 0x05, 0x01, 0x12, 0x03, 0x47, 0x15, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x05,
2761    0x03, 0x12, 0x03, 0x47, 0x24, 0x25, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x06, 0x12, 0x03,
2762    0x48, 0x02, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x04, 0x12, 0x03, 0x48, 0x02,
2763    0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x05, 0x12, 0x03, 0x48, 0x0b, 0x10, 0x0a,
2764    0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x01, 0x12, 0x03, 0x48, 0x15, 0x21, 0x0a, 0x0c, 0x0a,
2765    0x05, 0x04, 0x08, 0x02, 0x06, 0x03, 0x12, 0x03, 0x48, 0x24, 0x25, 0x0a, 0x0a, 0x0a, 0x02, 0x04,
2766    0x09, 0x12, 0x04, 0x4b, 0x00, 0x50, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x03,
2767    0x4b, 0x08, 0x14, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x03, 0x4c, 0x02, 0x21,
2768    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x04, 0x12, 0x03, 0x4c, 0x02, 0x0a, 0x0a, 0x0c,
2769    0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x05, 0x12, 0x03, 0x4c, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05,
2770    0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x03, 0x4c, 0x16, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x09,
2771    0x02, 0x00, 0x03, 0x12, 0x03, 0x4c, 0x1f, 0x20, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x01,
2772    0x12, 0x03, 0x4d, 0x02, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x04, 0x12, 0x03,
2773    0x4d, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x05, 0x12, 0x03, 0x4d, 0x0b,
2774    0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x01, 0x12, 0x03, 0x4d, 0x16, 0x1a, 0x0a,
2775    0x0c, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x03, 0x12, 0x03, 0x4d, 0x1f, 0x20, 0x0a, 0x0b, 0x0a,
2776    0x04, 0x04, 0x09, 0x02, 0x02, 0x12, 0x03, 0x4e, 0x02, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x09,
2777    0x02, 0x02, 0x04, 0x12, 0x03, 0x4e, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02,
2778    0x06, 0x12, 0x03, 0x4e, 0x0b, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x01, 0x12,
2779    0x03, 0x4e, 0x16, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x03, 0x12, 0x03, 0x4e,
2780    0x1f, 0x20, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x03, 0x12, 0x03, 0x4f, 0x02, 0x21, 0x0a,
2781    0x0c, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x04, 0x12, 0x03, 0x4f, 0x02, 0x0a, 0x0a, 0x0c, 0x0a,
2782    0x05, 0x04, 0x09, 0x02, 0x03, 0x06, 0x12, 0x03, 0x4f, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
2783    0x09, 0x02, 0x03, 0x01, 0x12, 0x03, 0x4f, 0x16, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x09, 0x02,
2784    0x03, 0x03, 0x12, 0x03, 0x4f, 0x1f, 0x20,
2785];
2786
2787static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
2788    lock: ::protobuf::lazy::ONCE_INIT,
2789    ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto,
2790};
2791
2792fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
2793    ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
2794}
2795
2796pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
2797    unsafe {
2798        file_descriptor_proto_lazy.get(|| {
2799            parse_descriptor_proto()
2800        })
2801    }
2802}