emerald_vault/proto/
crypto.rs

1// This file is generated by rust-protobuf 2.25.2. Do not edit
2// @generated
3
4// https://github.com/rust-lang/rust-clippy/issues/702
5#![allow(unknown_lints)]
6#![allow(clippy::all)]
7
8#![allow(unused_attributes)]
9#![cfg_attr(rustfmt, rustfmt::skip)]
10
11#![allow(box_pointers)]
12#![allow(dead_code)]
13#![allow(missing_docs)]
14#![allow(non_camel_case_types)]
15#![allow(non_snake_case)]
16#![allow(non_upper_case_globals)]
17#![allow(trivial_casts)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20//! Generated file from `crypto.proto`
21
22/// Generated files are compatible only with the same version
23/// of protobuf runtime.
24// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_2;
25
26#[derive(PartialEq,Clone,Default)]
27pub struct ScryptKdf {
28    // message fields
29    pub dklen: u32,
30    pub salt: ::std::vec::Vec<u8>,
31    pub n: u32,
32    pub r: u32,
33    pub p: u32,
34    // special fields
35    pub unknown_fields: ::protobuf::UnknownFields,
36    pub cached_size: ::protobuf::CachedSize,
37}
38
39impl<'a> ::std::default::Default for &'a ScryptKdf {
40    fn default() -> &'a ScryptKdf {
41        <ScryptKdf as ::protobuf::Message>::default_instance()
42    }
43}
44
45impl ScryptKdf {
46    pub fn new() -> ScryptKdf {
47        ::std::default::Default::default()
48    }
49
50    // uint32 dklen = 1;
51
52
53    pub fn get_dklen(&self) -> u32 {
54        self.dklen
55    }
56    pub fn clear_dklen(&mut self) {
57        self.dklen = 0;
58    }
59
60    // Param is passed by value, moved
61    pub fn set_dklen(&mut self, v: u32) {
62        self.dklen = v;
63    }
64
65    // bytes salt = 2;
66
67
68    pub fn get_salt(&self) -> &[u8] {
69        &self.salt
70    }
71    pub fn clear_salt(&mut self) {
72        self.salt.clear();
73    }
74
75    // Param is passed by value, moved
76    pub fn set_salt(&mut self, v: ::std::vec::Vec<u8>) {
77        self.salt = v;
78    }
79
80    // Mutable pointer to the field.
81    // If field is not initialized, it is initialized with default value first.
82    pub fn mut_salt(&mut self) -> &mut ::std::vec::Vec<u8> {
83        &mut self.salt
84    }
85
86    // Take field
87    pub fn take_salt(&mut self) -> ::std::vec::Vec<u8> {
88        ::std::mem::replace(&mut self.salt, ::std::vec::Vec::new())
89    }
90
91    // uint32 n = 3;
92
93
94    pub fn get_n(&self) -> u32 {
95        self.n
96    }
97    pub fn clear_n(&mut self) {
98        self.n = 0;
99    }
100
101    // Param is passed by value, moved
102    pub fn set_n(&mut self, v: u32) {
103        self.n = v;
104    }
105
106    // uint32 r = 4;
107
108
109    pub fn get_r(&self) -> u32 {
110        self.r
111    }
112    pub fn clear_r(&mut self) {
113        self.r = 0;
114    }
115
116    // Param is passed by value, moved
117    pub fn set_r(&mut self, v: u32) {
118        self.r = v;
119    }
120
121    // uint32 p = 5;
122
123
124    pub fn get_p(&self) -> u32 {
125        self.p
126    }
127    pub fn clear_p(&mut self) {
128        self.p = 0;
129    }
130
131    // Param is passed by value, moved
132    pub fn set_p(&mut self, v: u32) {
133        self.p = v;
134    }
135}
136
137impl ::protobuf::Message for ScryptKdf {
138    fn is_initialized(&self) -> bool {
139        true
140    }
141
142    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
143        while !is.eof()? {
144            let (field_number, wire_type) = is.read_tag_unpack()?;
145            match field_number {
146                1 => {
147                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
148                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
149                    }
150                    let tmp = is.read_uint32()?;
151                    self.dklen = tmp;
152                },
153                2 => {
154                    ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.salt)?;
155                },
156                3 => {
157                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
158                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
159                    }
160                    let tmp = is.read_uint32()?;
161                    self.n = tmp;
162                },
163                4 => {
164                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
165                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
166                    }
167                    let tmp = is.read_uint32()?;
168                    self.r = tmp;
169                },
170                5 => {
171                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
172                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
173                    }
174                    let tmp = is.read_uint32()?;
175                    self.p = tmp;
176                },
177                _ => {
178                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
179                },
180            };
181        }
182        ::std::result::Result::Ok(())
183    }
184
185    // Compute sizes of nested messages
186    #[allow(unused_variables)]
187    fn compute_size(&self) -> u32 {
188        let mut my_size = 0;
189        if self.dklen != 0 {
190            my_size += ::protobuf::rt::value_size(1, self.dklen, ::protobuf::wire_format::WireTypeVarint);
191        }
192        if !self.salt.is_empty() {
193            my_size += ::protobuf::rt::bytes_size(2, &self.salt);
194        }
195        if self.n != 0 {
196            my_size += ::protobuf::rt::value_size(3, self.n, ::protobuf::wire_format::WireTypeVarint);
197        }
198        if self.r != 0 {
199            my_size += ::protobuf::rt::value_size(4, self.r, ::protobuf::wire_format::WireTypeVarint);
200        }
201        if self.p != 0 {
202            my_size += ::protobuf::rt::value_size(5, self.p, ::protobuf::wire_format::WireTypeVarint);
203        }
204        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
205        self.cached_size.set(my_size);
206        my_size
207    }
208
209    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
210        if self.dklen != 0 {
211            os.write_uint32(1, self.dklen)?;
212        }
213        if !self.salt.is_empty() {
214            os.write_bytes(2, &self.salt)?;
215        }
216        if self.n != 0 {
217            os.write_uint32(3, self.n)?;
218        }
219        if self.r != 0 {
220            os.write_uint32(4, self.r)?;
221        }
222        if self.p != 0 {
223            os.write_uint32(5, self.p)?;
224        }
225        os.write_unknown_fields(self.get_unknown_fields())?;
226        ::std::result::Result::Ok(())
227    }
228
229    fn get_cached_size(&self) -> u32 {
230        self.cached_size.get()
231    }
232
233    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
234        &self.unknown_fields
235    }
236
237    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
238        &mut self.unknown_fields
239    }
240
241    fn as_any(&self) -> &dyn (::std::any::Any) {
242        self as &dyn (::std::any::Any)
243    }
244    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
245        self as &mut dyn (::std::any::Any)
246    }
247    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
248        self
249    }
250
251    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
252        Self::descriptor_static()
253    }
254
255    fn new() -> ScryptKdf {
256        ScryptKdf::new()
257    }
258
259    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
260        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
261        descriptor.get(|| {
262            let mut fields = ::std::vec::Vec::new();
263            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
264                "dklen",
265                |m: &ScryptKdf| { &m.dklen },
266                |m: &mut ScryptKdf| { &mut m.dklen },
267            ));
268            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
269                "salt",
270                |m: &ScryptKdf| { &m.salt },
271                |m: &mut ScryptKdf| { &mut m.salt },
272            ));
273            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
274                "n",
275                |m: &ScryptKdf| { &m.n },
276                |m: &mut ScryptKdf| { &mut m.n },
277            ));
278            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
279                "r",
280                |m: &ScryptKdf| { &m.r },
281                |m: &mut ScryptKdf| { &mut m.r },
282            ));
283            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
284                "p",
285                |m: &ScryptKdf| { &m.p },
286                |m: &mut ScryptKdf| { &mut m.p },
287            ));
288            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ScryptKdf>(
289                "ScryptKdf",
290                fields,
291                file_descriptor_proto()
292            )
293        })
294    }
295
296    fn default_instance() -> &'static ScryptKdf {
297        static instance: ::protobuf::rt::LazyV2<ScryptKdf> = ::protobuf::rt::LazyV2::INIT;
298        instance.get(ScryptKdf::new)
299    }
300}
301
302impl ::protobuf::Clear for ScryptKdf {
303    fn clear(&mut self) {
304        self.dklen = 0;
305        self.salt.clear();
306        self.n = 0;
307        self.r = 0;
308        self.p = 0;
309        self.unknown_fields.clear();
310    }
311}
312
313impl ::std::fmt::Debug for ScryptKdf {
314    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
315        ::protobuf::text_format::fmt(self, f)
316    }
317}
318
319impl ::protobuf::reflect::ProtobufValue for ScryptKdf {
320    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
321        ::protobuf::reflect::ReflectValueRef::Message(self)
322    }
323}
324
325#[derive(PartialEq,Clone,Default)]
326pub struct Pbkdf2 {
327    // message fields
328    pub dklen: u32,
329    pub c: u32,
330    pub prf: PrfType,
331    pub salt: ::std::vec::Vec<u8>,
332    // special fields
333    pub unknown_fields: ::protobuf::UnknownFields,
334    pub cached_size: ::protobuf::CachedSize,
335}
336
337impl<'a> ::std::default::Default for &'a Pbkdf2 {
338    fn default() -> &'a Pbkdf2 {
339        <Pbkdf2 as ::protobuf::Message>::default_instance()
340    }
341}
342
343impl Pbkdf2 {
344    pub fn new() -> Pbkdf2 {
345        ::std::default::Default::default()
346    }
347
348    // uint32 dklen = 1;
349
350
351    pub fn get_dklen(&self) -> u32 {
352        self.dklen
353    }
354    pub fn clear_dklen(&mut self) {
355        self.dklen = 0;
356    }
357
358    // Param is passed by value, moved
359    pub fn set_dklen(&mut self, v: u32) {
360        self.dklen = v;
361    }
362
363    // uint32 c = 2;
364
365
366    pub fn get_c(&self) -> u32 {
367        self.c
368    }
369    pub fn clear_c(&mut self) {
370        self.c = 0;
371    }
372
373    // Param is passed by value, moved
374    pub fn set_c(&mut self, v: u32) {
375        self.c = v;
376    }
377
378    // .emerald.vault.PrfType prf = 3;
379
380
381    pub fn get_prf(&self) -> PrfType {
382        self.prf
383    }
384    pub fn clear_prf(&mut self) {
385        self.prf = PrfType::PRF_UNKNOWN;
386    }
387
388    // Param is passed by value, moved
389    pub fn set_prf(&mut self, v: PrfType) {
390        self.prf = v;
391    }
392
393    // bytes salt = 4;
394
395
396    pub fn get_salt(&self) -> &[u8] {
397        &self.salt
398    }
399    pub fn clear_salt(&mut self) {
400        self.salt.clear();
401    }
402
403    // Param is passed by value, moved
404    pub fn set_salt(&mut self, v: ::std::vec::Vec<u8>) {
405        self.salt = v;
406    }
407
408    // Mutable pointer to the field.
409    // If field is not initialized, it is initialized with default value first.
410    pub fn mut_salt(&mut self) -> &mut ::std::vec::Vec<u8> {
411        &mut self.salt
412    }
413
414    // Take field
415    pub fn take_salt(&mut self) -> ::std::vec::Vec<u8> {
416        ::std::mem::replace(&mut self.salt, ::std::vec::Vec::new())
417    }
418}
419
420impl ::protobuf::Message for Pbkdf2 {
421    fn is_initialized(&self) -> bool {
422        true
423    }
424
425    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
426        while !is.eof()? {
427            let (field_number, wire_type) = is.read_tag_unpack()?;
428            match field_number {
429                1 => {
430                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
431                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
432                    }
433                    let tmp = is.read_uint32()?;
434                    self.dklen = tmp;
435                },
436                2 => {
437                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
438                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
439                    }
440                    let tmp = is.read_uint32()?;
441                    self.c = tmp;
442                },
443                3 => {
444                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.prf, 3, &mut self.unknown_fields)?
445                },
446                4 => {
447                    ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.salt)?;
448                },
449                _ => {
450                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
451                },
452            };
453        }
454        ::std::result::Result::Ok(())
455    }
456
457    // Compute sizes of nested messages
458    #[allow(unused_variables)]
459    fn compute_size(&self) -> u32 {
460        let mut my_size = 0;
461        if self.dklen != 0 {
462            my_size += ::protobuf::rt::value_size(1, self.dklen, ::protobuf::wire_format::WireTypeVarint);
463        }
464        if self.c != 0 {
465            my_size += ::protobuf::rt::value_size(2, self.c, ::protobuf::wire_format::WireTypeVarint);
466        }
467        if self.prf != PrfType::PRF_UNKNOWN {
468            my_size += ::protobuf::rt::enum_size(3, self.prf);
469        }
470        if !self.salt.is_empty() {
471            my_size += ::protobuf::rt::bytes_size(4, &self.salt);
472        }
473        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
474        self.cached_size.set(my_size);
475        my_size
476    }
477
478    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
479        if self.dklen != 0 {
480            os.write_uint32(1, self.dklen)?;
481        }
482        if self.c != 0 {
483            os.write_uint32(2, self.c)?;
484        }
485        if self.prf != PrfType::PRF_UNKNOWN {
486            os.write_enum(3, ::protobuf::ProtobufEnum::value(&self.prf))?;
487        }
488        if !self.salt.is_empty() {
489            os.write_bytes(4, &self.salt)?;
490        }
491        os.write_unknown_fields(self.get_unknown_fields())?;
492        ::std::result::Result::Ok(())
493    }
494
495    fn get_cached_size(&self) -> u32 {
496        self.cached_size.get()
497    }
498
499    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
500        &self.unknown_fields
501    }
502
503    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
504        &mut self.unknown_fields
505    }
506
507    fn as_any(&self) -> &dyn (::std::any::Any) {
508        self as &dyn (::std::any::Any)
509    }
510    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
511        self as &mut dyn (::std::any::Any)
512    }
513    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
514        self
515    }
516
517    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
518        Self::descriptor_static()
519    }
520
521    fn new() -> Pbkdf2 {
522        Pbkdf2::new()
523    }
524
525    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
526        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
527        descriptor.get(|| {
528            let mut fields = ::std::vec::Vec::new();
529            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
530                "dklen",
531                |m: &Pbkdf2| { &m.dklen },
532                |m: &mut Pbkdf2| { &mut m.dklen },
533            ));
534            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
535                "c",
536                |m: &Pbkdf2| { &m.c },
537                |m: &mut Pbkdf2| { &mut m.c },
538            ));
539            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<PrfType>>(
540                "prf",
541                |m: &Pbkdf2| { &m.prf },
542                |m: &mut Pbkdf2| { &mut m.prf },
543            ));
544            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
545                "salt",
546                |m: &Pbkdf2| { &m.salt },
547                |m: &mut Pbkdf2| { &mut m.salt },
548            ));
549            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Pbkdf2>(
550                "Pbkdf2",
551                fields,
552                file_descriptor_proto()
553            )
554        })
555    }
556
557    fn default_instance() -> &'static Pbkdf2 {
558        static instance: ::protobuf::rt::LazyV2<Pbkdf2> = ::protobuf::rt::LazyV2::INIT;
559        instance.get(Pbkdf2::new)
560    }
561}
562
563impl ::protobuf::Clear for Pbkdf2 {
564    fn clear(&mut self) {
565        self.dklen = 0;
566        self.c = 0;
567        self.prf = PrfType::PRF_UNKNOWN;
568        self.salt.clear();
569        self.unknown_fields.clear();
570    }
571}
572
573impl ::std::fmt::Debug for Pbkdf2 {
574    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
575        ::protobuf::text_format::fmt(self, f)
576    }
577}
578
579impl ::protobuf::reflect::ProtobufValue for Pbkdf2 {
580    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
581        ::protobuf::reflect::ReflectValueRef::Message(self)
582    }
583}
584
585#[derive(PartialEq, Clone, Default)]
586pub struct Argon2 {
587    // message fields
588    pub mem: u32,
589    pub iterations: u32,
590    pub parallel: u32,
591    pub salt: ::std::vec::Vec<u8>,
592    // special fields
593    pub unknown_fields: ::protobuf::UnknownFields,
594    pub cached_size: ::protobuf::CachedSize,
595}
596
597impl<'a> ::std::default::Default for &'a Argon2 {
598    fn default() -> &'a Argon2 {
599        <Argon2 as ::protobuf::Message>::default_instance()
600    }
601}
602
603impl Argon2 {
604    pub fn new() -> Argon2 {
605        ::std::default::Default::default()
606    }
607
608    // uint32 mem = 1;
609
610
611    pub fn get_mem(&self) -> u32 {
612        self.mem
613    }
614    pub fn clear_mem(&mut self) {
615        self.mem = 0;
616    }
617
618    // Param is passed by value, moved
619    pub fn set_mem(&mut self, v: u32) {
620        self.mem = v;
621    }
622
623    // uint32 iterations = 2;
624
625
626    pub fn get_iterations(&self) -> u32 {
627        self.iterations
628    }
629    pub fn clear_iterations(&mut self) {
630        self.iterations = 0;
631    }
632
633    // Param is passed by value, moved
634    pub fn set_iterations(&mut self, v: u32) {
635        self.iterations = v;
636    }
637
638    // uint32 parallel = 3;
639
640
641    pub fn get_parallel(&self) -> u32 {
642        self.parallel
643    }
644    pub fn clear_parallel(&mut self) {
645        self.parallel = 0;
646    }
647
648    // Param is passed by value, moved
649    pub fn set_parallel(&mut self, v: u32) {
650        self.parallel = v;
651    }
652
653    // bytes salt = 4;
654
655
656    pub fn get_salt(&self) -> &[u8] {
657        &self.salt
658    }
659    pub fn clear_salt(&mut self) {
660        self.salt.clear();
661    }
662
663    // Param is passed by value, moved
664    pub fn set_salt(&mut self, v: ::std::vec::Vec<u8>) {
665        self.salt = v;
666    }
667
668    // Mutable pointer to the field.
669    // If field is not initialized, it is initialized with default value first.
670    pub fn mut_salt(&mut self) -> &mut ::std::vec::Vec<u8> {
671        &mut self.salt
672    }
673
674    // Take field
675    pub fn take_salt(&mut self) -> ::std::vec::Vec<u8> {
676        ::std::mem::replace(&mut self.salt, ::std::vec::Vec::new())
677    }
678}
679
680impl ::protobuf::Message for Argon2 {
681    fn is_initialized(&self) -> bool {
682        true
683    }
684
685    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
686        while !is.eof()? {
687            let (field_number, wire_type) = is.read_tag_unpack()?;
688            match field_number {
689                1 => {
690                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
691                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
692                    }
693                    let tmp = is.read_uint32()?;
694                    self.mem = tmp;
695                },
696                2 => {
697                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
698                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
699                    }
700                    let tmp = is.read_uint32()?;
701                    self.iterations = tmp;
702                },
703                3 => {
704                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
705                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
706                    }
707                    let tmp = is.read_uint32()?;
708                    self.parallel = tmp;
709                },
710                4 => {
711                    ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.salt)?;
712                },
713                _ => {
714                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
715                },
716            };
717        }
718        ::std::result::Result::Ok(())
719    }
720
721    // Compute sizes of nested messages
722    #[allow(unused_variables)]
723    fn compute_size(&self) -> u32 {
724        let mut my_size = 0;
725        if self.mem != 0 {
726            my_size += ::protobuf::rt::value_size(1, self.mem, ::protobuf::wire_format::WireTypeVarint);
727        }
728        if self.iterations != 0 {
729            my_size += ::protobuf::rt::value_size(2, self.iterations, ::protobuf::wire_format::WireTypeVarint);
730        }
731        if self.parallel != 0 {
732            my_size += ::protobuf::rt::value_size(3, self.parallel, ::protobuf::wire_format::WireTypeVarint);
733        }
734        if !self.salt.is_empty() {
735            my_size += ::protobuf::rt::bytes_size(4, &self.salt);
736        }
737        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
738        self.cached_size.set(my_size);
739        my_size
740    }
741
742    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
743        if self.mem != 0 {
744            os.write_uint32(1, self.mem)?;
745        }
746        if self.iterations != 0 {
747            os.write_uint32(2, self.iterations)?;
748        }
749        if self.parallel != 0 {
750            os.write_uint32(3, self.parallel)?;
751        }
752        if !self.salt.is_empty() {
753            os.write_bytes(4, &self.salt)?;
754        }
755        os.write_unknown_fields(self.get_unknown_fields())?;
756        ::std::result::Result::Ok(())
757    }
758
759    fn get_cached_size(&self) -> u32 {
760        self.cached_size.get()
761    }
762
763    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
764        &self.unknown_fields
765    }
766
767    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
768        &mut self.unknown_fields
769    }
770
771    fn as_any(&self) -> &dyn (::std::any::Any) {
772        self as &dyn (::std::any::Any)
773    }
774    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
775        self as &mut dyn (::std::any::Any)
776    }
777    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
778        self
779    }
780
781    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
782        Self::descriptor_static()
783    }
784
785    fn new() -> Argon2 {
786        Argon2::new()
787    }
788
789    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
790        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
791        descriptor.get(|| {
792            let mut fields = ::std::vec::Vec::new();
793            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
794                "mem",
795                |m: &Argon2| { &m.mem },
796                |m: &mut Argon2| { &mut m.mem },
797            ));
798            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
799                "iterations",
800                |m: &Argon2| { &m.iterations },
801                |m: &mut Argon2| { &mut m.iterations },
802            ));
803            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
804                "parallel",
805                |m: &Argon2| { &m.parallel },
806                |m: &mut Argon2| { &mut m.parallel },
807            ));
808            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
809                "salt",
810                |m: &Argon2| { &m.salt },
811                |m: &mut Argon2| { &mut m.salt },
812            ));
813            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Argon2>(
814                "Argon2",
815                fields,
816                file_descriptor_proto()
817            )
818        })
819    }
820
821    fn default_instance() -> &'static Argon2 {
822        static instance: ::protobuf::rt::LazyV2<Argon2> = ::protobuf::rt::LazyV2::INIT;
823        instance.get(Argon2::new)
824    }
825}
826
827impl ::protobuf::Clear for Argon2 {
828    fn clear(&mut self) {
829        self.mem = 0;
830        self.iterations = 0;
831        self.parallel = 0;
832        self.salt.clear();
833        self.unknown_fields.clear();
834    }
835}
836
837impl ::std::fmt::Debug for Argon2 {
838    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
839        ::protobuf::text_format::fmt(self, f)
840    }
841}
842
843impl ::protobuf::reflect::ProtobufValue for Argon2 {
844    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
845        ::protobuf::reflect::ReflectValueRef::Message(self)
846    }
847}
848
849#[derive(PartialEq, Clone, Default)]
850pub struct Encrypted {
851    // message fields
852    pub field_type: Encrypted_CipherType,
853    pub secret: ::std::vec::Vec<u8>,
854    pub iv: ::std::vec::Vec<u8>,
855    pub mac: ::protobuf::SingularPtrField<Mac>,
856    pub global_key: ::protobuf::SingularPtrField<GlobalKeyRef>,
857    // message oneof groups
858    pub kdf_type: ::std::option::Option<Encrypted_oneof_kdf_type>,
859    // special fields
860    pub unknown_fields: ::protobuf::UnknownFields,
861    pub cached_size: ::protobuf::CachedSize,
862}
863
864impl<'a> ::std::default::Default for &'a Encrypted {
865    fn default() -> &'a Encrypted {
866        <Encrypted as ::protobuf::Message>::default_instance()
867    }
868}
869
870#[derive(Clone,PartialEq,Debug)]
871pub enum Encrypted_oneof_kdf_type {
872    kdf_scrypt(ScryptKdf),
873    kdf_pbkdf(Pbkdf2),
874    kdf_argon(Argon2),
875}
876
877impl Encrypted {
878    pub fn new() -> Encrypted {
879        ::std::default::Default::default()
880    }
881
882    // .emerald.vault.Encrypted.CipherType type = 1;
883
884
885    pub fn get_field_type(&self) -> Encrypted_CipherType {
886        self.field_type
887    }
888    pub fn clear_field_type(&mut self) {
889        self.field_type = Encrypted_CipherType::CIPHER_UNKNOWN;
890    }
891
892    // Param is passed by value, moved
893    pub fn set_field_type(&mut self, v: Encrypted_CipherType) {
894        self.field_type = v;
895    }
896
897    // bytes secret = 2;
898
899
900    pub fn get_secret(&self) -> &[u8] {
901        &self.secret
902    }
903    pub fn clear_secret(&mut self) {
904        self.secret.clear();
905    }
906
907    // Param is passed by value, moved
908    pub fn set_secret(&mut self, v: ::std::vec::Vec<u8>) {
909        self.secret = v;
910    }
911
912    // Mutable pointer to the field.
913    // If field is not initialized, it is initialized with default value first.
914    pub fn mut_secret(&mut self) -> &mut ::std::vec::Vec<u8> {
915        &mut self.secret
916    }
917
918    // Take field
919    pub fn take_secret(&mut self) -> ::std::vec::Vec<u8> {
920        ::std::mem::replace(&mut self.secret, ::std::vec::Vec::new())
921    }
922
923    // bytes iv = 3;
924
925
926    pub fn get_iv(&self) -> &[u8] {
927        &self.iv
928    }
929    pub fn clear_iv(&mut self) {
930        self.iv.clear();
931    }
932
933    // Param is passed by value, moved
934    pub fn set_iv(&mut self, v: ::std::vec::Vec<u8>) {
935        self.iv = v;
936    }
937
938    // Mutable pointer to the field.
939    // If field is not initialized, it is initialized with default value first.
940    pub fn mut_iv(&mut self) -> &mut ::std::vec::Vec<u8> {
941        &mut self.iv
942    }
943
944    // Take field
945    pub fn take_iv(&mut self) -> ::std::vec::Vec<u8> {
946        ::std::mem::replace(&mut self.iv, ::std::vec::Vec::new())
947    }
948
949    // .emerald.vault.Mac mac = 4;
950
951
952    pub fn get_mac(&self) -> &Mac {
953        self.mac.as_ref().unwrap_or_else(|| <Mac as ::protobuf::Message>::default_instance())
954    }
955    pub fn clear_mac(&mut self) {
956        self.mac.clear();
957    }
958
959    pub fn has_mac(&self) -> bool {
960        self.mac.is_some()
961    }
962
963    // Param is passed by value, moved
964    pub fn set_mac(&mut self, v: Mac) {
965        self.mac = ::protobuf::SingularPtrField::some(v);
966    }
967
968    // Mutable pointer to the field.
969    // If field is not initialized, it is initialized with default value first.
970    pub fn mut_mac(&mut self) -> &mut Mac {
971        if self.mac.is_none() {
972            self.mac.set_default();
973        }
974        self.mac.as_mut().unwrap()
975    }
976
977    // Take field
978    pub fn take_mac(&mut self) -> Mac {
979        self.mac.take().unwrap_or_else(|| Mac::new())
980    }
981
982    // .emerald.vault.ScryptKdf kdf_scrypt = 5;
983
984
985    pub fn get_kdf_scrypt(&self) -> &ScryptKdf {
986        match self.kdf_type {
987            ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_scrypt(ref v)) => v,
988            _ => <ScryptKdf as ::protobuf::Message>::default_instance(),
989        }
990    }
991    pub fn clear_kdf_scrypt(&mut self) {
992        self.kdf_type = ::std::option::Option::None;
993    }
994
995    pub fn has_kdf_scrypt(&self) -> bool {
996        match self.kdf_type {
997            ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_scrypt(..)) => true,
998            _ => false,
999        }
1000    }
1001
1002    // Param is passed by value, moved
1003    pub fn set_kdf_scrypt(&mut self, v: ScryptKdf) {
1004        self.kdf_type = ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_scrypt(v))
1005    }
1006
1007    // Mutable pointer to the field.
1008    pub fn mut_kdf_scrypt(&mut self) -> &mut ScryptKdf {
1009        if let ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_scrypt(_)) = self.kdf_type {
1010        } else {
1011            self.kdf_type = ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_scrypt(ScryptKdf::new()));
1012        }
1013        match self.kdf_type {
1014            ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_scrypt(ref mut v)) => v,
1015            _ => panic!(),
1016        }
1017    }
1018
1019    // Take field
1020    pub fn take_kdf_scrypt(&mut self) -> ScryptKdf {
1021        if self.has_kdf_scrypt() {
1022            match self.kdf_type.take() {
1023                ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_scrypt(v)) => v,
1024                _ => panic!(),
1025            }
1026        } else {
1027            ScryptKdf::new()
1028        }
1029    }
1030
1031    // .emerald.vault.Pbkdf2 kdf_pbkdf = 6;
1032
1033
1034    pub fn get_kdf_pbkdf(&self) -> &Pbkdf2 {
1035        match self.kdf_type {
1036            ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_pbkdf(ref v)) => v,
1037            _ => <Pbkdf2 as ::protobuf::Message>::default_instance(),
1038        }
1039    }
1040    pub fn clear_kdf_pbkdf(&mut self) {
1041        self.kdf_type = ::std::option::Option::None;
1042    }
1043
1044    pub fn has_kdf_pbkdf(&self) -> bool {
1045        match self.kdf_type {
1046            ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_pbkdf(..)) => true,
1047            _ => false,
1048        }
1049    }
1050
1051    // Param is passed by value, moved
1052    pub fn set_kdf_pbkdf(&mut self, v: Pbkdf2) {
1053        self.kdf_type = ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_pbkdf(v))
1054    }
1055
1056    // Mutable pointer to the field.
1057    pub fn mut_kdf_pbkdf(&mut self) -> &mut Pbkdf2 {
1058        if let ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_pbkdf(_)) = self.kdf_type {
1059        } else {
1060            self.kdf_type = ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_pbkdf(Pbkdf2::new()));
1061        }
1062        match self.kdf_type {
1063            ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_pbkdf(ref mut v)) => v,
1064            _ => panic!(),
1065        }
1066    }
1067
1068    // Take field
1069    pub fn take_kdf_pbkdf(&mut self) -> Pbkdf2 {
1070        if self.has_kdf_pbkdf() {
1071            match self.kdf_type.take() {
1072                ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_pbkdf(v)) => v,
1073                _ => panic!(),
1074            }
1075        } else {
1076            Pbkdf2::new()
1077        }
1078    }
1079
1080    // .emerald.vault.Argon2 kdf_argon = 7;
1081
1082
1083    pub fn get_kdf_argon(&self) -> &Argon2 {
1084        match self.kdf_type {
1085            ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_argon(ref v)) => v,
1086            _ => <Argon2 as ::protobuf::Message>::default_instance(),
1087        }
1088    }
1089    pub fn clear_kdf_argon(&mut self) {
1090        self.kdf_type = ::std::option::Option::None;
1091    }
1092
1093    pub fn has_kdf_argon(&self) -> bool {
1094        match self.kdf_type {
1095            ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_argon(..)) => true,
1096            _ => false,
1097        }
1098    }
1099
1100    // Param is passed by value, moved
1101    pub fn set_kdf_argon(&mut self, v: Argon2) {
1102        self.kdf_type = ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_argon(v))
1103    }
1104
1105    // Mutable pointer to the field.
1106    pub fn mut_kdf_argon(&mut self) -> &mut Argon2 {
1107        if let ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_argon(_)) = self.kdf_type {} else {
1108            self.kdf_type = ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_argon(Argon2::new()));
1109        }
1110        match self.kdf_type {
1111            ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_argon(ref mut v)) => v,
1112            _ => panic!(),
1113        }
1114    }
1115
1116    // Take field
1117    pub fn take_kdf_argon(&mut self) -> Argon2 {
1118        if self.has_kdf_argon() {
1119            match self.kdf_type.take() {
1120                ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_argon(v)) => v,
1121                _ => panic!(),
1122            }
1123        } else {
1124            Argon2::new()
1125        }
1126    }
1127
1128    // .emerald.vault.GlobalKeyRef global_key = 8;
1129
1130
1131    pub fn get_global_key(&self) -> &GlobalKeyRef {
1132        self.global_key.as_ref().unwrap_or_else(|| <GlobalKeyRef as ::protobuf::Message>::default_instance())
1133    }
1134    pub fn clear_global_key(&mut self) {
1135        self.global_key.clear();
1136    }
1137
1138    pub fn has_global_key(&self) -> bool {
1139        self.global_key.is_some()
1140    }
1141
1142    // Param is passed by value, moved
1143    pub fn set_global_key(&mut self, v: GlobalKeyRef) {
1144        self.global_key = ::protobuf::SingularPtrField::some(v);
1145    }
1146
1147    // Mutable pointer to the field.
1148    // If field is not initialized, it is initialized with default value first.
1149    pub fn mut_global_key(&mut self) -> &mut GlobalKeyRef {
1150        if self.global_key.is_none() {
1151            self.global_key.set_default();
1152        }
1153        self.global_key.as_mut().unwrap()
1154    }
1155
1156    // Take field
1157    pub fn take_global_key(&mut self) -> GlobalKeyRef {
1158        self.global_key.take().unwrap_or_else(|| GlobalKeyRef::new())
1159    }
1160}
1161
1162impl ::protobuf::Message for Encrypted {
1163    fn is_initialized(&self) -> bool {
1164        for v in &self.mac {
1165            if !v.is_initialized() {
1166                return false;
1167            }
1168        };
1169        if let Some(Encrypted_oneof_kdf_type::kdf_scrypt(ref v)) = self.kdf_type {
1170            if !v.is_initialized() {
1171                return false;
1172            }
1173        }
1174        if let Some(Encrypted_oneof_kdf_type::kdf_pbkdf(ref v)) = self.kdf_type {
1175            if !v.is_initialized() {
1176                return false;
1177            }
1178        }
1179        if let Some(Encrypted_oneof_kdf_type::kdf_argon(ref v)) = self.kdf_type {
1180            if !v.is_initialized() {
1181                return false;
1182            }
1183        }
1184        for v in &self.global_key {
1185            if !v.is_initialized() {
1186                return false;
1187            }
1188        };
1189        true
1190    }
1191
1192    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1193        while !is.eof()? {
1194            let (field_number, wire_type) = is.read_tag_unpack()?;
1195            match field_number {
1196                1 => {
1197                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.field_type, 1, &mut self.unknown_fields)?
1198                },
1199                2 => {
1200                    ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.secret)?;
1201                },
1202                3 => {
1203                    ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.iv)?;
1204                },
1205                4 => {
1206                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.mac)?;
1207                },
1208                5 => {
1209                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1210                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1211                    }
1212                    self.kdf_type = ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_scrypt(is.read_message()?));
1213                },
1214                6 => {
1215                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1216                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1217                    }
1218                    self.kdf_type = ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_pbkdf(is.read_message()?));
1219                },
1220                7 => {
1221                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1222                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1223                    }
1224                    self.kdf_type = ::std::option::Option::Some(Encrypted_oneof_kdf_type::kdf_argon(is.read_message()?));
1225                },
1226                8 => {
1227                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.global_key)?;
1228                },
1229                _ => {
1230                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1231                },
1232            };
1233        }
1234        ::std::result::Result::Ok(())
1235    }
1236
1237    // Compute sizes of nested messages
1238    #[allow(unused_variables)]
1239    fn compute_size(&self) -> u32 {
1240        let mut my_size = 0;
1241        if self.field_type != Encrypted_CipherType::CIPHER_UNKNOWN {
1242            my_size += ::protobuf::rt::enum_size(1, self.field_type);
1243        }
1244        if !self.secret.is_empty() {
1245            my_size += ::protobuf::rt::bytes_size(2, &self.secret);
1246        }
1247        if !self.iv.is_empty() {
1248            my_size += ::protobuf::rt::bytes_size(3, &self.iv);
1249        }
1250        if let Some(ref v) = self.mac.as_ref() {
1251            let len = v.compute_size();
1252            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1253        }
1254        if let Some(ref v) = self.global_key.as_ref() {
1255            let len = v.compute_size();
1256            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1257        }
1258        if let ::std::option::Option::Some(ref v) = self.kdf_type {
1259            match v {
1260                &Encrypted_oneof_kdf_type::kdf_scrypt(ref v) => {
1261                    let len = v.compute_size();
1262                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1263                },
1264                &Encrypted_oneof_kdf_type::kdf_pbkdf(ref v) => {
1265                    let len = v.compute_size();
1266                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1267                },
1268                &Encrypted_oneof_kdf_type::kdf_argon(ref v) => {
1269                    let len = v.compute_size();
1270                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1271                },
1272            };
1273        }
1274        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1275        self.cached_size.set(my_size);
1276        my_size
1277    }
1278
1279    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1280        if self.field_type != Encrypted_CipherType::CIPHER_UNKNOWN {
1281            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.field_type))?;
1282        }
1283        if !self.secret.is_empty() {
1284            os.write_bytes(2, &self.secret)?;
1285        }
1286        if !self.iv.is_empty() {
1287            os.write_bytes(3, &self.iv)?;
1288        }
1289        if let Some(ref v) = self.mac.as_ref() {
1290            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1291            os.write_raw_varint32(v.get_cached_size())?;
1292            v.write_to_with_cached_sizes(os)?;
1293        }
1294        if let Some(ref v) = self.global_key.as_ref() {
1295            os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1296            os.write_raw_varint32(v.get_cached_size())?;
1297            v.write_to_with_cached_sizes(os)?;
1298        }
1299        if let ::std::option::Option::Some(ref v) = self.kdf_type {
1300            match v {
1301                &Encrypted_oneof_kdf_type::kdf_scrypt(ref v) => {
1302                    os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1303                    os.write_raw_varint32(v.get_cached_size())?;
1304                    v.write_to_with_cached_sizes(os)?;
1305                },
1306                &Encrypted_oneof_kdf_type::kdf_pbkdf(ref v) => {
1307                    os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1308                    os.write_raw_varint32(v.get_cached_size())?;
1309                    v.write_to_with_cached_sizes(os)?;
1310                },
1311                &Encrypted_oneof_kdf_type::kdf_argon(ref v) => {
1312                    os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1313                    os.write_raw_varint32(v.get_cached_size())?;
1314                    v.write_to_with_cached_sizes(os)?;
1315                },
1316            };
1317        }
1318        os.write_unknown_fields(self.get_unknown_fields())?;
1319        ::std::result::Result::Ok(())
1320    }
1321
1322    fn get_cached_size(&self) -> u32 {
1323        self.cached_size.get()
1324    }
1325
1326    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1327        &self.unknown_fields
1328    }
1329
1330    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1331        &mut self.unknown_fields
1332    }
1333
1334    fn as_any(&self) -> &dyn (::std::any::Any) {
1335        self as &dyn (::std::any::Any)
1336    }
1337    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1338        self as &mut dyn (::std::any::Any)
1339    }
1340    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1341        self
1342    }
1343
1344    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1345        Self::descriptor_static()
1346    }
1347
1348    fn new() -> Encrypted {
1349        Encrypted::new()
1350    }
1351
1352    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1353        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1354        descriptor.get(|| {
1355            let mut fields = ::std::vec::Vec::new();
1356            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Encrypted_CipherType>>(
1357                "type",
1358                |m: &Encrypted| { &m.field_type },
1359                |m: &mut Encrypted| { &mut m.field_type },
1360            ));
1361            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
1362                "secret",
1363                |m: &Encrypted| { &m.secret },
1364                |m: &mut Encrypted| { &mut m.secret },
1365            ));
1366            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
1367                "iv",
1368                |m: &Encrypted| { &m.iv },
1369                |m: &mut Encrypted| { &mut m.iv },
1370            ));
1371            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Mac>>(
1372                "mac",
1373                |m: &Encrypted| { &m.mac },
1374                |m: &mut Encrypted| { &mut m.mac },
1375            ));
1376            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ScryptKdf>(
1377                "kdf_scrypt",
1378                Encrypted::has_kdf_scrypt,
1379                Encrypted::get_kdf_scrypt,
1380            ));
1381            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Pbkdf2>(
1382                "kdf_pbkdf",
1383                Encrypted::has_kdf_pbkdf,
1384                Encrypted::get_kdf_pbkdf,
1385            ));
1386            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Argon2>(
1387                "kdf_argon",
1388                Encrypted::has_kdf_argon,
1389                Encrypted::get_kdf_argon,
1390            ));
1391            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<GlobalKeyRef>>(
1392                "global_key",
1393                |m: &Encrypted| { &m.global_key },
1394                |m: &mut Encrypted| { &mut m.global_key },
1395            ));
1396            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Encrypted>(
1397                "Encrypted",
1398                fields,
1399                file_descriptor_proto(),
1400            )
1401        })
1402    }
1403
1404    fn default_instance() -> &'static Encrypted {
1405        static instance: ::protobuf::rt::LazyV2<Encrypted> = ::protobuf::rt::LazyV2::INIT;
1406        instance.get(Encrypted::new)
1407    }
1408}
1409
1410impl ::protobuf::Clear for Encrypted {
1411    fn clear(&mut self) {
1412        self.field_type = Encrypted_CipherType::CIPHER_UNKNOWN;
1413        self.secret.clear();
1414        self.iv.clear();
1415        self.mac.clear();
1416        self.kdf_type = ::std::option::Option::None;
1417        self.kdf_type = ::std::option::Option::None;
1418        self.kdf_type = ::std::option::Option::None;
1419        self.global_key.clear();
1420        self.unknown_fields.clear();
1421    }
1422}
1423
1424impl ::std::fmt::Debug for Encrypted {
1425    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1426        ::protobuf::text_format::fmt(self, f)
1427    }
1428}
1429
1430impl ::protobuf::reflect::ProtobufValue for Encrypted {
1431    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1432        ::protobuf::reflect::ReflectValueRef::Message(self)
1433    }
1434}
1435
1436#[derive(Clone,PartialEq,Eq,Debug,Hash)]
1437pub enum Encrypted_CipherType {
1438    CIPHER_UNKNOWN = 0,
1439    CIPHER_AES128_CTR = 1,
1440}
1441
1442impl ::protobuf::ProtobufEnum for Encrypted_CipherType {
1443    fn value(&self) -> i32 {
1444        *self as i32
1445    }
1446
1447    fn from_i32(value: i32) -> ::std::option::Option<Encrypted_CipherType> {
1448        match value {
1449            0 => ::std::option::Option::Some(Encrypted_CipherType::CIPHER_UNKNOWN),
1450            1 => ::std::option::Option::Some(Encrypted_CipherType::CIPHER_AES128_CTR),
1451            _ => ::std::option::Option::None
1452        }
1453    }
1454
1455    fn values() -> &'static [Self] {
1456        static values: &'static [Encrypted_CipherType] = &[
1457            Encrypted_CipherType::CIPHER_UNKNOWN,
1458            Encrypted_CipherType::CIPHER_AES128_CTR,
1459        ];
1460        values
1461    }
1462
1463    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
1464        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
1465        descriptor.get(|| {
1466            ::protobuf::reflect::EnumDescriptor::new_pb_name::<Encrypted_CipherType>("Encrypted.CipherType", file_descriptor_proto())
1467        })
1468    }
1469}
1470
1471impl ::std::marker::Copy for Encrypted_CipherType {
1472}
1473
1474impl ::std::default::Default for Encrypted_CipherType {
1475    fn default() -> Self {
1476        Encrypted_CipherType::CIPHER_UNKNOWN
1477    }
1478}
1479
1480impl ::protobuf::reflect::ProtobufValue for Encrypted_CipherType {
1481    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1482        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
1483    }
1484}
1485
1486#[derive(PartialEq,Clone,Default)]
1487pub struct Mac {
1488    // message fields
1489    pub field_type: Mac_MacType,
1490    pub value: ::std::vec::Vec<u8>,
1491    // special fields
1492    pub unknown_fields: ::protobuf::UnknownFields,
1493    pub cached_size: ::protobuf::CachedSize,
1494}
1495
1496impl<'a> ::std::default::Default for &'a Mac {
1497    fn default() -> &'a Mac {
1498        <Mac as ::protobuf::Message>::default_instance()
1499    }
1500}
1501
1502impl Mac {
1503    pub fn new() -> Mac {
1504        ::std::default::Default::default()
1505    }
1506
1507    // .emerald.vault.Mac.MacType type = 1;
1508
1509
1510    pub fn get_field_type(&self) -> Mac_MacType {
1511        self.field_type
1512    }
1513    pub fn clear_field_type(&mut self) {
1514        self.field_type = Mac_MacType::MAC_UNKNOWN;
1515    }
1516
1517    // Param is passed by value, moved
1518    pub fn set_field_type(&mut self, v: Mac_MacType) {
1519        self.field_type = v;
1520    }
1521
1522    // bytes value = 2;
1523
1524
1525    pub fn get_value(&self) -> &[u8] {
1526        &self.value
1527    }
1528    pub fn clear_value(&mut self) {
1529        self.value.clear();
1530    }
1531
1532    // Param is passed by value, moved
1533    pub fn set_value(&mut self, v: ::std::vec::Vec<u8>) {
1534        self.value = v;
1535    }
1536
1537    // Mutable pointer to the field.
1538    // If field is not initialized, it is initialized with default value first.
1539    pub fn mut_value(&mut self) -> &mut ::std::vec::Vec<u8> {
1540        &mut self.value
1541    }
1542
1543    // Take field
1544    pub fn take_value(&mut self) -> ::std::vec::Vec<u8> {
1545        ::std::mem::replace(&mut self.value, ::std::vec::Vec::new())
1546    }
1547}
1548
1549impl ::protobuf::Message for Mac {
1550    fn is_initialized(&self) -> bool {
1551        true
1552    }
1553
1554    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1555        while !is.eof()? {
1556            let (field_number, wire_type) = is.read_tag_unpack()?;
1557            match field_number {
1558                1 => {
1559                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.field_type, 1, &mut self.unknown_fields)?
1560                },
1561                2 => {
1562                    ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.value)?;
1563                },
1564                _ => {
1565                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1566                },
1567            };
1568        }
1569        ::std::result::Result::Ok(())
1570    }
1571
1572    // Compute sizes of nested messages
1573    #[allow(unused_variables)]
1574    fn compute_size(&self) -> u32 {
1575        let mut my_size = 0;
1576        if self.field_type != Mac_MacType::MAC_UNKNOWN {
1577            my_size += ::protobuf::rt::enum_size(1, self.field_type);
1578        }
1579        if !self.value.is_empty() {
1580            my_size += ::protobuf::rt::bytes_size(2, &self.value);
1581        }
1582        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1583        self.cached_size.set(my_size);
1584        my_size
1585    }
1586
1587    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1588        if self.field_type != Mac_MacType::MAC_UNKNOWN {
1589            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.field_type))?;
1590        }
1591        if !self.value.is_empty() {
1592            os.write_bytes(2, &self.value)?;
1593        }
1594        os.write_unknown_fields(self.get_unknown_fields())?;
1595        ::std::result::Result::Ok(())
1596    }
1597
1598    fn get_cached_size(&self) -> u32 {
1599        self.cached_size.get()
1600    }
1601
1602    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1603        &self.unknown_fields
1604    }
1605
1606    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1607        &mut self.unknown_fields
1608    }
1609
1610    fn as_any(&self) -> &dyn (::std::any::Any) {
1611        self as &dyn (::std::any::Any)
1612    }
1613    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1614        self as &mut dyn (::std::any::Any)
1615    }
1616    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1617        self
1618    }
1619
1620    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1621        Self::descriptor_static()
1622    }
1623
1624    fn new() -> Mac {
1625        Mac::new()
1626    }
1627
1628    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1629        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1630        descriptor.get(|| {
1631            let mut fields = ::std::vec::Vec::new();
1632            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Mac_MacType>>(
1633                "type",
1634                |m: &Mac| { &m.field_type },
1635                |m: &mut Mac| { &mut m.field_type },
1636            ));
1637            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
1638                "value",
1639                |m: &Mac| { &m.value },
1640                |m: &mut Mac| { &mut m.value },
1641            ));
1642            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Mac>(
1643                "Mac",
1644                fields,
1645                file_descriptor_proto()
1646            )
1647        })
1648    }
1649
1650    fn default_instance() -> &'static Mac {
1651        static instance: ::protobuf::rt::LazyV2<Mac> = ::protobuf::rt::LazyV2::INIT;
1652        instance.get(Mac::new)
1653    }
1654}
1655
1656impl ::protobuf::Clear for Mac {
1657    fn clear(&mut self) {
1658        self.field_type = Mac_MacType::MAC_UNKNOWN;
1659        self.value.clear();
1660        self.unknown_fields.clear();
1661    }
1662}
1663
1664impl ::std::fmt::Debug for Mac {
1665    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1666        ::protobuf::text_format::fmt(self, f)
1667    }
1668}
1669
1670impl ::protobuf::reflect::ProtobufValue for Mac {
1671    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1672        ::protobuf::reflect::ReflectValueRef::Message(self)
1673    }
1674}
1675
1676#[derive(Clone,PartialEq,Eq,Debug,Hash)]
1677pub enum Mac_MacType {
1678    MAC_UNKNOWN = 0,
1679    MAC_WEB3 = 1,
1680}
1681
1682impl ::protobuf::ProtobufEnum for Mac_MacType {
1683    fn value(&self) -> i32 {
1684        *self as i32
1685    }
1686
1687    fn from_i32(value: i32) -> ::std::option::Option<Mac_MacType> {
1688        match value {
1689            0 => ::std::option::Option::Some(Mac_MacType::MAC_UNKNOWN),
1690            1 => ::std::option::Option::Some(Mac_MacType::MAC_WEB3),
1691            _ => ::std::option::Option::None
1692        }
1693    }
1694
1695    fn values() -> &'static [Self] {
1696        static values: &'static [Mac_MacType] = &[
1697            Mac_MacType::MAC_UNKNOWN,
1698            Mac_MacType::MAC_WEB3,
1699        ];
1700        values
1701    }
1702
1703    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
1704        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
1705        descriptor.get(|| {
1706            ::protobuf::reflect::EnumDescriptor::new_pb_name::<Mac_MacType>("Mac.MacType", file_descriptor_proto())
1707        })
1708    }
1709}
1710
1711impl ::std::marker::Copy for Mac_MacType {
1712}
1713
1714impl ::std::default::Default for Mac_MacType {
1715    fn default() -> Self {
1716        Mac_MacType::MAC_UNKNOWN
1717    }
1718}
1719
1720impl ::protobuf::reflect::ProtobufValue for Mac_MacType {
1721    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1722        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
1723    }
1724}
1725
1726#[derive(PartialEq, Clone, Default)]
1727pub struct GlobalKeyRef {
1728    // message fields
1729    pub nonce: ::std::vec::Vec<u8>,
1730    // special fields
1731    pub unknown_fields: ::protobuf::UnknownFields,
1732    pub cached_size: ::protobuf::CachedSize,
1733}
1734
1735impl<'a> ::std::default::Default for &'a GlobalKeyRef {
1736    fn default() -> &'a GlobalKeyRef {
1737        <GlobalKeyRef as ::protobuf::Message>::default_instance()
1738    }
1739}
1740
1741impl GlobalKeyRef {
1742    pub fn new() -> GlobalKeyRef {
1743        ::std::default::Default::default()
1744    }
1745
1746    // bytes nonce = 1;
1747
1748
1749    pub fn get_nonce(&self) -> &[u8] {
1750        &self.nonce
1751    }
1752    pub fn clear_nonce(&mut self) {
1753        self.nonce.clear();
1754    }
1755
1756    // Param is passed by value, moved
1757    pub fn set_nonce(&mut self, v: ::std::vec::Vec<u8>) {
1758        self.nonce = v;
1759    }
1760
1761    // Mutable pointer to the field.
1762    // If field is not initialized, it is initialized with default value first.
1763    pub fn mut_nonce(&mut self) -> &mut ::std::vec::Vec<u8> {
1764        &mut self.nonce
1765    }
1766
1767    // Take field
1768    pub fn take_nonce(&mut self) -> ::std::vec::Vec<u8> {
1769        ::std::mem::replace(&mut self.nonce, ::std::vec::Vec::new())
1770    }
1771}
1772
1773impl ::protobuf::Message for GlobalKeyRef {
1774    fn is_initialized(&self) -> bool {
1775        true
1776    }
1777
1778    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1779        while !is.eof()? {
1780            let (field_number, wire_type) = is.read_tag_unpack()?;
1781            match field_number {
1782                1 => {
1783                    ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.nonce)?;
1784                },
1785                _ => {
1786                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1787                },
1788            };
1789        }
1790        ::std::result::Result::Ok(())
1791    }
1792
1793    // Compute sizes of nested messages
1794    #[allow(unused_variables)]
1795    fn compute_size(&self) -> u32 {
1796        let mut my_size = 0;
1797        if !self.nonce.is_empty() {
1798            my_size += ::protobuf::rt::bytes_size(1, &self.nonce);
1799        }
1800        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1801        self.cached_size.set(my_size);
1802        my_size
1803    }
1804
1805    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1806        if !self.nonce.is_empty() {
1807            os.write_bytes(1, &self.nonce)?;
1808        }
1809        os.write_unknown_fields(self.get_unknown_fields())?;
1810        ::std::result::Result::Ok(())
1811    }
1812
1813    fn get_cached_size(&self) -> u32 {
1814        self.cached_size.get()
1815    }
1816
1817    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1818        &self.unknown_fields
1819    }
1820
1821    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1822        &mut self.unknown_fields
1823    }
1824
1825    fn as_any(&self) -> &dyn (::std::any::Any) {
1826        self as &dyn (::std::any::Any)
1827    }
1828    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1829        self as &mut dyn (::std::any::Any)
1830    }
1831    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1832        self
1833    }
1834
1835    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1836        Self::descriptor_static()
1837    }
1838
1839    fn new() -> GlobalKeyRef {
1840        GlobalKeyRef::new()
1841    }
1842
1843    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1844        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1845        descriptor.get(|| {
1846            let mut fields = ::std::vec::Vec::new();
1847            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
1848                "nonce",
1849                |m: &GlobalKeyRef| { &m.nonce },
1850                |m: &mut GlobalKeyRef| { &mut m.nonce },
1851            ));
1852            ::protobuf::reflect::MessageDescriptor::new_pb_name::<GlobalKeyRef>(
1853                "GlobalKeyRef",
1854                fields,
1855                file_descriptor_proto(),
1856            )
1857        })
1858    }
1859
1860    fn default_instance() -> &'static GlobalKeyRef {
1861        static instance: ::protobuf::rt::LazyV2<GlobalKeyRef> = ::protobuf::rt::LazyV2::INIT;
1862        instance.get(GlobalKeyRef::new)
1863    }
1864}
1865
1866impl ::protobuf::Clear for GlobalKeyRef {
1867    fn clear(&mut self) {
1868        self.nonce.clear();
1869        self.unknown_fields.clear();
1870    }
1871}
1872
1873impl ::std::fmt::Debug for GlobalKeyRef {
1874    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1875        ::protobuf::text_format::fmt(self, f)
1876    }
1877}
1878
1879impl ::protobuf::reflect::ProtobufValue for GlobalKeyRef {
1880    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1881        ::protobuf::reflect::ReflectValueRef::Message(self)
1882    }
1883}
1884
1885#[derive(PartialEq, Clone, Default)]
1886pub struct GlobalKey {
1887    // message fields
1888    pub key: ::protobuf::SingularPtrField<Encrypted>,
1889    // special fields
1890    pub unknown_fields: ::protobuf::UnknownFields,
1891    pub cached_size: ::protobuf::CachedSize,
1892}
1893
1894impl<'a> ::std::default::Default for &'a GlobalKey {
1895    fn default() -> &'a GlobalKey {
1896        <GlobalKey as ::protobuf::Message>::default_instance()
1897    }
1898}
1899
1900impl GlobalKey {
1901    pub fn new() -> GlobalKey {
1902        ::std::default::Default::default()
1903    }
1904
1905    // .emerald.vault.Encrypted key = 1;
1906
1907
1908    pub fn get_key(&self) -> &Encrypted {
1909        self.key.as_ref().unwrap_or_else(|| <Encrypted as ::protobuf::Message>::default_instance())
1910    }
1911    pub fn clear_key(&mut self) {
1912        self.key.clear();
1913    }
1914
1915    pub fn has_key(&self) -> bool {
1916        self.key.is_some()
1917    }
1918
1919    // Param is passed by value, moved
1920    pub fn set_key(&mut self, v: Encrypted) {
1921        self.key = ::protobuf::SingularPtrField::some(v);
1922    }
1923
1924    // Mutable pointer to the field.
1925    // If field is not initialized, it is initialized with default value first.
1926    pub fn mut_key(&mut self) -> &mut Encrypted {
1927        if self.key.is_none() {
1928            self.key.set_default();
1929        }
1930        self.key.as_mut().unwrap()
1931    }
1932
1933    // Take field
1934    pub fn take_key(&mut self) -> Encrypted {
1935        self.key.take().unwrap_or_else(|| Encrypted::new())
1936    }
1937}
1938
1939impl ::protobuf::Message for GlobalKey {
1940    fn is_initialized(&self) -> bool {
1941        for v in &self.key {
1942            if !v.is_initialized() {
1943                return false;
1944            }
1945        };
1946        true
1947    }
1948
1949    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1950        while !is.eof()? {
1951            let (field_number, wire_type) = is.read_tag_unpack()?;
1952            match field_number {
1953                1 => {
1954                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.key)?;
1955                },
1956                _ => {
1957                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1958                },
1959            };
1960        }
1961        ::std::result::Result::Ok(())
1962    }
1963
1964    // Compute sizes of nested messages
1965    #[allow(unused_variables)]
1966    fn compute_size(&self) -> u32 {
1967        let mut my_size = 0;
1968        if let Some(ref v) = self.key.as_ref() {
1969            let len = v.compute_size();
1970            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1971        }
1972        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1973        self.cached_size.set(my_size);
1974        my_size
1975    }
1976
1977    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1978        if let Some(ref v) = self.key.as_ref() {
1979            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1980            os.write_raw_varint32(v.get_cached_size())?;
1981            v.write_to_with_cached_sizes(os)?;
1982        }
1983        os.write_unknown_fields(self.get_unknown_fields())?;
1984        ::std::result::Result::Ok(())
1985    }
1986
1987    fn get_cached_size(&self) -> u32 {
1988        self.cached_size.get()
1989    }
1990
1991    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1992        &self.unknown_fields
1993    }
1994
1995    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1996        &mut self.unknown_fields
1997    }
1998
1999    fn as_any(&self) -> &dyn (::std::any::Any) {
2000        self as &dyn (::std::any::Any)
2001    }
2002    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2003        self as &mut dyn (::std::any::Any)
2004    }
2005    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2006        self
2007    }
2008
2009    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2010        Self::descriptor_static()
2011    }
2012
2013    fn new() -> GlobalKey {
2014        GlobalKey::new()
2015    }
2016
2017    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2018        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2019        descriptor.get(|| {
2020            let mut fields = ::std::vec::Vec::new();
2021            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Encrypted>>(
2022                "key",
2023                |m: &GlobalKey| { &m.key },
2024                |m: &mut GlobalKey| { &mut m.key },
2025            ));
2026            ::protobuf::reflect::MessageDescriptor::new_pb_name::<GlobalKey>(
2027                "GlobalKey",
2028                fields,
2029                file_descriptor_proto(),
2030            )
2031        })
2032    }
2033
2034    fn default_instance() -> &'static GlobalKey {
2035        static instance: ::protobuf::rt::LazyV2<GlobalKey> = ::protobuf::rt::LazyV2::INIT;
2036        instance.get(GlobalKey::new)
2037    }
2038}
2039
2040impl ::protobuf::Clear for GlobalKey {
2041    fn clear(&mut self) {
2042        self.key.clear();
2043        self.unknown_fields.clear();
2044    }
2045}
2046
2047impl ::std::fmt::Debug for GlobalKey {
2048    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2049        ::protobuf::text_format::fmt(self, f)
2050    }
2051}
2052
2053impl ::protobuf::reflect::ProtobufValue for GlobalKey {
2054    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2055        ::protobuf::reflect::ReflectValueRef::Message(self)
2056    }
2057}
2058
2059#[derive(Clone, PartialEq, Eq, Debug, Hash)]
2060pub enum PrfType {
2061    PRF_UNKNOWN = 0,
2062    PRF_HMAC_SHA256 = 1,
2063}
2064
2065impl ::protobuf::ProtobufEnum for PrfType {
2066    fn value(&self) -> i32 {
2067        *self as i32
2068    }
2069
2070    fn from_i32(value: i32) -> ::std::option::Option<PrfType> {
2071        match value {
2072            0 => ::std::option::Option::Some(PrfType::PRF_UNKNOWN),
2073            1 => ::std::option::Option::Some(PrfType::PRF_HMAC_SHA256),
2074            _ => ::std::option::Option::None
2075        }
2076    }
2077
2078    fn values() -> &'static [Self] {
2079        static values: &'static [PrfType] = &[
2080            PrfType::PRF_UNKNOWN,
2081            PrfType::PRF_HMAC_SHA256,
2082        ];
2083        values
2084    }
2085
2086    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
2087        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
2088        descriptor.get(|| {
2089            ::protobuf::reflect::EnumDescriptor::new_pb_name::<PrfType>("PrfType", file_descriptor_proto())
2090        })
2091    }
2092}
2093
2094impl ::std::marker::Copy for PrfType {
2095}
2096
2097impl ::std::default::Default for PrfType {
2098    fn default() -> Self {
2099        PrfType::PRF_UNKNOWN
2100    }
2101}
2102
2103impl ::protobuf::reflect::ProtobufValue for PrfType {
2104    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2105        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
2106    }
2107}
2108
2109static file_descriptor_proto_data: &'static [u8] = b"\
2110    \n\x0ccrypto.proto\x12\remerald.vault\"_\n\tScryptKdf\x12\x14\n\x05dklen\
2111    \x18\x01\x20\x01(\rR\x05dklen\x12\x12\n\x04salt\x18\x02\x20\x01(\x0cR\
2112    \x04salt\x12\x0c\n\x01n\x18\x03\x20\x01(\rR\x01n\x12\x0c\n\x01r\x18\x04\
2113    \x20\x01(\rR\x01r\x12\x0c\n\x01p\x18\x05\x20\x01(\rR\x01p\"j\n\x06Pbkdf2\
2114    \x12\x14\n\x05dklen\x18\x01\x20\x01(\rR\x05dklen\x12\x0c\n\x01c\x18\x02\
2115    \x20\x01(\rR\x01c\x12(\n\x03prf\x18\x03\x20\x01(\x0e2\x16.emerald.vault.\
2116    PrfTypeR\x03prf\x12\x12\n\x04salt\x18\x04\x20\x01(\x0cR\x04salt\"j\n\x06\
2117    Argon2\x12\x10\n\x03mem\x18\x01\x20\x01(\rR\x03mem\x12\x1e\n\niterations\
2118    \x18\x02\x20\x01(\rR\niterations\x12\x1a\n\x08parallel\x18\x03\x20\x01(\
2119    \rR\x08parallel\x12\x12\n\x04salt\x18\x04\x20\x01(\x0cR\x04salt\"\xba\
2120    \x03\n\tEncrypted\x127\n\x04type\x18\x01\x20\x01(\x0e2#.emerald.vault.En\
2121    crypted.CipherTypeR\x04type\x12\x16\n\x06secret\x18\x02\x20\x01(\x0cR\
2122    \x06secret\x12\x0e\n\x02iv\x18\x03\x20\x01(\x0cR\x02iv\x12$\n\x03mac\x18\
2123    \x04\x20\x01(\x0b2\x12.emerald.vault.MacR\x03mac\x129\n\nkdf_scrypt\x18\
2124    \x05\x20\x01(\x0b2\x18.emerald.vault.ScryptKdfH\0R\tkdfScrypt\x124\n\tkd\
2125    f_pbkdf\x18\x06\x20\x01(\x0b2\x15.emerald.vault.Pbkdf2H\0R\x08kdfPbkdf\
2126    \x124\n\tkdf_argon\x18\x07\x20\x01(\x0b2\x15.emerald.vault.Argon2H\0R\
2127    \x08kdfArgon\x12:\n\nglobal_key\x18\x08\x20\x01(\x0b2\x1b.emerald.vault.\
2128    GlobalKeyRefR\tglobalKey\"7\n\nCipherType\x12\x12\n\x0eCIPHER_UNKNOWN\
2129    \x10\0\x12\x15\n\x11CIPHER_AES128_CTR\x10\x01B\n\n\x08kdf_type\"u\n\x03M\
2130    ac\x12.\n\x04type\x18\x01\x20\x01(\x0e2\x1a.emerald.vault.Mac.MacTypeR\
2131    \x04type\x12\x14\n\x05value\x18\x02\x20\x01(\x0cR\x05value\"(\n\x07MacTy\
2132    pe\x12\x0f\n\x0bMAC_UNKNOWN\x10\0\x12\x0c\n\x08MAC_WEB3\x10\x01\"$\n\x0c\
2133    GlobalKeyRef\x12\x14\n\x05nonce\x18\x01\x20\x01(\x0cR\x05nonce\"7\n\tGlo\
2134    balKey\x12*\n\x03key\x18\x01\x20\x01(\x0b2\x18.emerald.vault.EncryptedR\
2135    \x03key*/\n\x07PrfType\x12\x0f\n\x0bPRF_UNKNOWN\x10\0\x12\x13\n\x0fPRF_H\
2136    MAC_SHA256\x10\x01J\x9d\x0f\n\x06\x12\x04\0\0@\x01\n\x08\n\x01\x0c\x12\
2137    \x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x01\0\x16\n\n\n\x02\x04\0\x12\x04\
2138    \x03\0\t\x01\n\n\n\x03\x04\0\x01\x12\x03\x03\x08\x11\n\x0b\n\x04\x04\0\
2139    \x02\0\x12\x03\x04\x04\x15\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x04\x04\n\
2140    \n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x04\x0b\x10\n\x0c\n\x05\x04\0\x02\0\
2141    \x03\x12\x03\x04\x13\x14\n\x0b\n\x04\x04\0\x02\x01\x12\x03\x05\x04\x13\n\
2142    \x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x05\x04\t\n\x0c\n\x05\x04\0\x02\x01\
2143    \x01\x12\x03\x05\n\x0e\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x05\x11\x12\
2144    \n\x0b\n\x04\x04\0\x02\x02\x12\x03\x06\x04\x11\n\x0c\n\x05\x04\0\x02\x02\
2145    \x05\x12\x03\x06\x04\n\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\x06\x0b\x0c\
2146    \n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\x06\x0f\x10\n\x0b\n\x04\x04\0\x02\
2147    \x03\x12\x03\x07\x04\x11\n\x0c\n\x05\x04\0\x02\x03\x05\x12\x03\x07\x04\n\
2148    \n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03\x07\x0b\x0c\n\x0c\n\x05\x04\0\x02\
2149    \x03\x03\x12\x03\x07\x0f\x10\n\x0b\n\x04\x04\0\x02\x04\x12\x03\x08\x04\
2150    \x11\n\x0c\n\x05\x04\0\x02\x04\x05\x12\x03\x08\x04\n\n\x0c\n\x05\x04\0\
2151    \x02\x04\x01\x12\x03\x08\x0b\x0c\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03\
2152    \x08\x0f\x10\n\n\n\x02\x04\x01\x12\x04\x0b\0\x10\x01\n\n\n\x03\x04\x01\
2153    \x01\x12\x03\x0b\x08\x0e\n\x0b\n\x04\x04\x01\x02\0\x12\x03\x0c\x04\x15\n\
2154    \x0c\n\x05\x04\x01\x02\0\x05\x12\x03\x0c\x04\n\n\x0c\n\x05\x04\x01\x02\0\
2155    \x01\x12\x03\x0c\x0b\x10\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x0c\x13\
2156    \x14\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\r\x04\x11\n\x0c\n\x05\x04\x01\
2157    \x02\x01\x05\x12\x03\r\x04\n\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\r\
2158    \x0b\x0c\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\r\x0f\x10\n\x0b\n\x04\
2159    \x04\x01\x02\x02\x12\x03\x0e\x04\x14\n\x0c\n\x05\x04\x01\x02\x02\x06\x12\
2160    \x03\x0e\x04\x0b\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x0e\x0c\x0f\n\
2161    \x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x0e\x12\x13\n\x0b\n\x04\x04\x01\
2162    \x02\x03\x12\x03\x0f\x04\x13\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03\x0f\
2163    \x04\t\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\x0f\n\x0e\n\x0c\n\x05\x04\
2164    \x01\x02\x03\x03\x12\x03\x0f\x11\x12\n\n\n\x02\x04\x02\x12\x04\x12\0\x17\
2165    \x01\n\n\n\x03\x04\x02\x01\x12\x03\x12\x08\x0e\n\x0b\n\x04\x04\x02\x02\0\
2166    \x12\x03\x13\x04\x13\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03\x13\x04\n\n\
2167    \x0c\n\x05\x04\x02\x02\0\x01\x12\x03\x13\x0b\x0e\n\x0c\n\x05\x04\x02\x02\
2168    \0\x03\x12\x03\x13\x11\x12\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x14\x04\
2169    \x1a\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x14\x04\n\n\x0c\n\x05\x04\
2170    \x02\x02\x01\x01\x12\x03\x14\x0b\x15\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\
2171    \x03\x14\x18\x19\n\x0b\n\x04\x04\x02\x02\x02\x12\x03\x15\x04\x18\n\x0c\n\
2172    \x05\x04\x02\x02\x02\x05\x12\x03\x15\x04\n\n\x0c\n\x05\x04\x02\x02\x02\
2173    \x01\x12\x03\x15\x0b\x13\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03\x15\x16\
2174    \x17\n\x0b\n\x04\x04\x02\x02\x03\x12\x03\x16\x04\x13\n\x0c\n\x05\x04\x02\
2175    \x02\x03\x05\x12\x03\x16\x04\t\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03\
2176    \x16\n\x0e\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03\x16\x11\x12\n\n\n\x02\
2177    \x05\0\x12\x04\x19\0\x1c\x01\n\n\n\x03\x05\0\x01\x12\x03\x19\x05\x0c\n\
2178    \x0b\n\x04\x05\0\x02\0\x12\x03\x1a\x04\x14\n\x0c\n\x05\x05\0\x02\0\x01\
2179    \x12\x03\x1a\x04\x0f\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x1a\x12\x13\n\
2180    \x0b\n\x04\x05\0\x02\x01\x12\x03\x1b\x04\x18\n\x0c\n\x05\x05\0\x02\x01\
2181    \x01\x12\x03\x1b\x04\x13\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\x1b\x16\
2182    \x17\n\n\n\x02\x04\x03\x12\x04\x1e\0.\x01\n\n\n\x03\x04\x03\x01\x12\x03\
2183    \x1e\x08\x11\n\x0b\n\x04\x04\x03\x02\0\x12\x03\x1f\x04\x18\n\x0c\n\x05\
2184    \x04\x03\x02\0\x06\x12\x03\x1f\x04\x0e\n\x0c\n\x05\x04\x03\x02\0\x01\x12\
2185    \x03\x1f\x0f\x13\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03\x1f\x16\x17\n\x0b\
2186    \n\x04\x04\x03\x02\x01\x12\x03\x20\x04\x15\n\x0c\n\x05\x04\x03\x02\x01\
2187    \x05\x12\x03\x20\x04\t\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03\x20\n\x10\
2188    \n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03\x20\x13\x14\n\x0b\n\x04\x04\x03\
2189    \x02\x02\x12\x03!\x04\x11\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x03!\x04\t\
2190    \n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03!\n\x0c\n\x0c\n\x05\x04\x03\x02\
2191    \x02\x03\x12\x03!\x0f\x10\n\x0b\n\x04\x04\x03\x02\x03\x12\x03\"\x04\x10\
2192    \n\x0c\n\x05\x04\x03\x02\x03\x06\x12\x03\"\x04\x07\n\x0c\n\x05\x04\x03\
2193    \x02\x03\x01\x12\x03\"\x08\x0b\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03\"\
2194    \x0e\x0f\n\x0c\n\x04\x04\x03\x08\0\x12\x04#\x04'\x05\n\x0c\n\x05\x04\x03\
2195    \x08\0\x01\x12\x03#\n\x12\n\x0b\n\x04\x04\x03\x02\x04\x12\x03$\x08!\n\
2196    \x0c\n\x05\x04\x03\x02\x04\x06\x12\x03$\x08\x11\n\x0c\n\x05\x04\x03\x02\
2197    \x04\x01\x12\x03$\x12\x1c\n\x0c\n\x05\x04\x03\x02\x04\x03\x12\x03$\x1f\
2198    \x20\n\x0b\n\x04\x04\x03\x02\x05\x12\x03%\x08\x1d\n\x0c\n\x05\x04\x03\
2199    \x02\x05\x06\x12\x03%\x08\x0e\n\x0c\n\x05\x04\x03\x02\x05\x01\x12\x03%\
2200    \x0f\x18\n\x0c\n\x05\x04\x03\x02\x05\x03\x12\x03%\x1b\x1c\n\x0b\n\x04\
2201    \x04\x03\x02\x06\x12\x03&\x08\x1d\n\x0c\n\x05\x04\x03\x02\x06\x06\x12\
2202    \x03&\x08\x0e\n\x0c\n\x05\x04\x03\x02\x06\x01\x12\x03&\x0f\x18\n\x0c\n\
2203    \x05\x04\x03\x02\x06\x03\x12\x03&\x1b\x1c\n\x0b\n\x04\x04\x03\x02\x07\
2204    \x12\x03(\x04\x20\n\x0c\n\x05\x04\x03\x02\x07\x06\x12\x03(\x04\x10\n\x0c\
2205    \n\x05\x04\x03\x02\x07\x01\x12\x03(\x11\x1b\n\x0c\n\x05\x04\x03\x02\x07\
2206    \x03\x12\x03(\x1e\x1f\n\x0c\n\x04\x04\x03\x04\0\x12\x04*\x04-\x05\n\x0c\
2207    \n\x05\x04\x03\x04\0\x01\x12\x03*\t\x13\n\r\n\x06\x04\x03\x04\0\x02\0\
2208    \x12\x03+\x08\x1b\n\x0e\n\x07\x04\x03\x04\0\x02\0\x01\x12\x03+\x08\x16\n\
2209    \x0e\n\x07\x04\x03\x04\0\x02\0\x02\x12\x03+\x19\x1a\n\r\n\x06\x04\x03\
2210    \x04\0\x02\x01\x12\x03,\x08\x1e\n\x0e\n\x07\x04\x03\x04\0\x02\x01\x01\
2211    \x12\x03,\x08\x19\n\x0e\n\x07\x04\x03\x04\0\x02\x01\x02\x12\x03,\x1c\x1d\
2212    \n\n\n\x02\x04\x04\x12\x040\08\x01\n\n\n\x03\x04\x04\x01\x12\x030\x08\
2213    \x0b\n\x0b\n\x04\x04\x04\x02\0\x12\x031\x04\x15\n\x0c\n\x05\x04\x04\x02\
2214    \0\x06\x12\x031\x04\x0b\n\x0c\n\x05\x04\x04\x02\0\x01\x12\x031\x0c\x10\n\
2215    \x0c\n\x05\x04\x04\x02\0\x03\x12\x031\x13\x14\n\x0b\n\x04\x04\x04\x02\
2216    \x01\x12\x032\x04\x14\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x032\x04\t\n\
2217    \x0c\n\x05\x04\x04\x02\x01\x01\x12\x032\n\x0f\n\x0c\n\x05\x04\x04\x02\
2218    \x01\x03\x12\x032\x12\x13\n\x0c\n\x04\x04\x04\x04\0\x12\x044\x047\x05\n\
2219    \x0c\n\x05\x04\x04\x04\0\x01\x12\x034\t\x10\n\r\n\x06\x04\x04\x04\0\x02\
2220    \0\x12\x035\x08\x18\n\x0e\n\x07\x04\x04\x04\0\x02\0\x01\x12\x035\x08\x13\
2221    \n\x0e\n\x07\x04\x04\x04\0\x02\0\x02\x12\x035\x16\x17\n\r\n\x06\x04\x04\
2222    \x04\0\x02\x01\x12\x036\x08\x15\n\x0e\n\x07\x04\x04\x04\0\x02\x01\x01\
2223    \x12\x036\x08\x10\n\x0e\n\x07\x04\x04\x04\0\x02\x01\x02\x12\x036\x13\x14\
2224    \n\n\n\x02\x04\x05\x12\x04:\0<\x01\n\n\n\x03\x04\x05\x01\x12\x03:\x08\
2225    \x14\n\x0b\n\x04\x04\x05\x02\0\x12\x03;\x04\x14\n\x0c\n\x05\x04\x05\x02\
2226    \0\x05\x12\x03;\x04\t\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03;\n\x0f\n\x0c\
2227    \n\x05\x04\x05\x02\0\x03\x12\x03;\x12\x13\n\n\n\x02\x04\x06\x12\x04>\0@\
2228    \x01\n\n\n\x03\x04\x06\x01\x12\x03>\x08\x11\n\x0b\n\x04\x04\x06\x02\0\
2229    \x12\x03?\x04\x16\n\x0c\n\x05\x04\x06\x02\0\x06\x12\x03?\x04\r\n\x0c\n\
2230    \x05\x04\x06\x02\0\x01\x12\x03?\x0e\x11\n\x0c\n\x05\x04\x06\x02\0\x03\
2231    \x12\x03?\x14\x15b\x06proto3\
2232";
2233
2234static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
2235
2236fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
2237    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
2238}
2239
2240pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
2241    file_descriptor_proto_lazy.get(|| {
2242        parse_descriptor_proto()
2243    })
2244}