1#![allow(unknown_lints)]
7#![allow(clippy::all)]
8
9#![allow(unused_attributes)]
10#![cfg_attr(rustfmt, rustfmt::skip)]
11
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_results)]
19#![allow(unused_mut)]
20
21const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_7_2;
26
27#[derive(PartialEq,Clone,Default,Debug)]
29pub struct FamilyProto {
30 pub name: ::std::option::Option<::std::string::String>,
33 pub designer: ::std::option::Option<::std::string::String>,
35 pub license: ::std::option::Option<::std::string::String>,
37 pub category: ::std::vec::Vec<::std::string::String>,
50 pub date_added: ::std::option::Option<::std::string::String>,
52 pub fonts: ::std::vec::Vec<FontProto>,
54 pub aliases: ::std::vec::Vec<::std::string::String>,
56 pub subsets: ::std::vec::Vec<::std::string::String>,
58 pub ttf_autohint_args: ::std::option::Option<::std::string::String>,
60 pub axes: ::std::vec::Vec<AxisSegmentProto>,
62 pub registry_default_overrides: ::std::collections::HashMap<::std::string::String, f32>,
64 pub source: ::protobuf::MessageField<SourceProto>,
66 pub is_noto: ::std::option::Option<bool>,
68 pub languages: ::std::vec::Vec<::std::string::String>,
70 pub fallbacks: ::std::vec::Vec<FamilyFallbackProto>,
72 pub sample_glyphs: ::std::collections::HashMap<::std::string::String, ::std::string::String>,
74 pub sample_text: ::protobuf::MessageField<SampleTextProto>,
76 pub display_name: ::std::option::Option<::std::string::String>,
78 pub ordered_sample_glyphs: ::std::vec::Vec<GlyphGroupProto>,
80 pub minisite_url: ::std::option::Option<::std::string::String>,
83 pub primary_script: ::std::option::Option<::std::string::String>,
86 pub primary_language: ::std::option::Option<::std::string::String>,
88 pub stroke: ::std::option::Option<::std::string::String>,
93 pub classifications: ::std::vec::Vec<::std::string::String>,
97 pub special_fields: ::protobuf::SpecialFields,
100}
101
102impl<'a> ::std::default::Default for &'a FamilyProto {
103 fn default() -> &'a FamilyProto {
104 <FamilyProto as ::protobuf::Message>::default_instance()
105 }
106}
107
108impl FamilyProto {
109 pub fn new() -> FamilyProto {
110 ::std::default::Default::default()
111 }
112
113 pub fn name(&self) -> &str {
116 match self.name.as_ref() {
117 Some(v) => v,
118 None => "",
119 }
120 }
121
122 pub fn clear_name(&mut self) {
123 self.name = ::std::option::Option::None;
124 }
125
126 pub fn has_name(&self) -> bool {
127 self.name.is_some()
128 }
129
130 pub fn set_name(&mut self, v: ::std::string::String) {
132 self.name = ::std::option::Option::Some(v);
133 }
134
135 pub fn mut_name(&mut self) -> &mut ::std::string::String {
138 if self.name.is_none() {
139 self.name = ::std::option::Option::Some(::std::string::String::new());
140 }
141 self.name.as_mut().unwrap()
142 }
143
144 pub fn take_name(&mut self) -> ::std::string::String {
146 self.name.take().unwrap_or_else(|| ::std::string::String::new())
147 }
148
149 pub fn designer(&self) -> &str {
152 match self.designer.as_ref() {
153 Some(v) => v,
154 None => "",
155 }
156 }
157
158 pub fn clear_designer(&mut self) {
159 self.designer = ::std::option::Option::None;
160 }
161
162 pub fn has_designer(&self) -> bool {
163 self.designer.is_some()
164 }
165
166 pub fn set_designer(&mut self, v: ::std::string::String) {
168 self.designer = ::std::option::Option::Some(v);
169 }
170
171 pub fn mut_designer(&mut self) -> &mut ::std::string::String {
174 if self.designer.is_none() {
175 self.designer = ::std::option::Option::Some(::std::string::String::new());
176 }
177 self.designer.as_mut().unwrap()
178 }
179
180 pub fn take_designer(&mut self) -> ::std::string::String {
182 self.designer.take().unwrap_or_else(|| ::std::string::String::new())
183 }
184
185 pub fn license(&self) -> &str {
188 match self.license.as_ref() {
189 Some(v) => v,
190 None => "",
191 }
192 }
193
194 pub fn clear_license(&mut self) {
195 self.license = ::std::option::Option::None;
196 }
197
198 pub fn has_license(&self) -> bool {
199 self.license.is_some()
200 }
201
202 pub fn set_license(&mut self, v: ::std::string::String) {
204 self.license = ::std::option::Option::Some(v);
205 }
206
207 pub fn mut_license(&mut self) -> &mut ::std::string::String {
210 if self.license.is_none() {
211 self.license = ::std::option::Option::Some(::std::string::String::new());
212 }
213 self.license.as_mut().unwrap()
214 }
215
216 pub fn take_license(&mut self) -> ::std::string::String {
218 self.license.take().unwrap_or_else(|| ::std::string::String::new())
219 }
220
221 pub fn date_added(&self) -> &str {
224 match self.date_added.as_ref() {
225 Some(v) => v,
226 None => "",
227 }
228 }
229
230 pub fn clear_date_added(&mut self) {
231 self.date_added = ::std::option::Option::None;
232 }
233
234 pub fn has_date_added(&self) -> bool {
235 self.date_added.is_some()
236 }
237
238 pub fn set_date_added(&mut self, v: ::std::string::String) {
240 self.date_added = ::std::option::Option::Some(v);
241 }
242
243 pub fn mut_date_added(&mut self) -> &mut ::std::string::String {
246 if self.date_added.is_none() {
247 self.date_added = ::std::option::Option::Some(::std::string::String::new());
248 }
249 self.date_added.as_mut().unwrap()
250 }
251
252 pub fn take_date_added(&mut self) -> ::std::string::String {
254 self.date_added.take().unwrap_or_else(|| ::std::string::String::new())
255 }
256
257 pub fn ttf_autohint_args(&self) -> &str {
260 match self.ttf_autohint_args.as_ref() {
261 Some(v) => v,
262 None => "",
263 }
264 }
265
266 pub fn clear_ttf_autohint_args(&mut self) {
267 self.ttf_autohint_args = ::std::option::Option::None;
268 }
269
270 pub fn has_ttf_autohint_args(&self) -> bool {
271 self.ttf_autohint_args.is_some()
272 }
273
274 pub fn set_ttf_autohint_args(&mut self, v: ::std::string::String) {
276 self.ttf_autohint_args = ::std::option::Option::Some(v);
277 }
278
279 pub fn mut_ttf_autohint_args(&mut self) -> &mut ::std::string::String {
282 if self.ttf_autohint_args.is_none() {
283 self.ttf_autohint_args = ::std::option::Option::Some(::std::string::String::new());
284 }
285 self.ttf_autohint_args.as_mut().unwrap()
286 }
287
288 pub fn take_ttf_autohint_args(&mut self) -> ::std::string::String {
290 self.ttf_autohint_args.take().unwrap_or_else(|| ::std::string::String::new())
291 }
292
293 pub fn is_noto(&self) -> bool {
296 self.is_noto.unwrap_or(false)
297 }
298
299 pub fn clear_is_noto(&mut self) {
300 self.is_noto = ::std::option::Option::None;
301 }
302
303 pub fn has_is_noto(&self) -> bool {
304 self.is_noto.is_some()
305 }
306
307 pub fn set_is_noto(&mut self, v: bool) {
309 self.is_noto = ::std::option::Option::Some(v);
310 }
311
312 pub fn display_name(&self) -> &str {
315 match self.display_name.as_ref() {
316 Some(v) => v,
317 None => "",
318 }
319 }
320
321 pub fn clear_display_name(&mut self) {
322 self.display_name = ::std::option::Option::None;
323 }
324
325 pub fn has_display_name(&self) -> bool {
326 self.display_name.is_some()
327 }
328
329 pub fn set_display_name(&mut self, v: ::std::string::String) {
331 self.display_name = ::std::option::Option::Some(v);
332 }
333
334 pub fn mut_display_name(&mut self) -> &mut ::std::string::String {
337 if self.display_name.is_none() {
338 self.display_name = ::std::option::Option::Some(::std::string::String::new());
339 }
340 self.display_name.as_mut().unwrap()
341 }
342
343 pub fn take_display_name(&mut self) -> ::std::string::String {
345 self.display_name.take().unwrap_or_else(|| ::std::string::String::new())
346 }
347
348 pub fn minisite_url(&self) -> &str {
351 match self.minisite_url.as_ref() {
352 Some(v) => v,
353 None => "",
354 }
355 }
356
357 pub fn clear_minisite_url(&mut self) {
358 self.minisite_url = ::std::option::Option::None;
359 }
360
361 pub fn has_minisite_url(&self) -> bool {
362 self.minisite_url.is_some()
363 }
364
365 pub fn set_minisite_url(&mut self, v: ::std::string::String) {
367 self.minisite_url = ::std::option::Option::Some(v);
368 }
369
370 pub fn mut_minisite_url(&mut self) -> &mut ::std::string::String {
373 if self.minisite_url.is_none() {
374 self.minisite_url = ::std::option::Option::Some(::std::string::String::new());
375 }
376 self.minisite_url.as_mut().unwrap()
377 }
378
379 pub fn take_minisite_url(&mut self) -> ::std::string::String {
381 self.minisite_url.take().unwrap_or_else(|| ::std::string::String::new())
382 }
383
384 pub fn primary_script(&self) -> &str {
387 match self.primary_script.as_ref() {
388 Some(v) => v,
389 None => "",
390 }
391 }
392
393 pub fn clear_primary_script(&mut self) {
394 self.primary_script = ::std::option::Option::None;
395 }
396
397 pub fn has_primary_script(&self) -> bool {
398 self.primary_script.is_some()
399 }
400
401 pub fn set_primary_script(&mut self, v: ::std::string::String) {
403 self.primary_script = ::std::option::Option::Some(v);
404 }
405
406 pub fn mut_primary_script(&mut self) -> &mut ::std::string::String {
409 if self.primary_script.is_none() {
410 self.primary_script = ::std::option::Option::Some(::std::string::String::new());
411 }
412 self.primary_script.as_mut().unwrap()
413 }
414
415 pub fn take_primary_script(&mut self) -> ::std::string::String {
417 self.primary_script.take().unwrap_or_else(|| ::std::string::String::new())
418 }
419
420 pub fn primary_language(&self) -> &str {
423 match self.primary_language.as_ref() {
424 Some(v) => v,
425 None => "",
426 }
427 }
428
429 pub fn clear_primary_language(&mut self) {
430 self.primary_language = ::std::option::Option::None;
431 }
432
433 pub fn has_primary_language(&self) -> bool {
434 self.primary_language.is_some()
435 }
436
437 pub fn set_primary_language(&mut self, v: ::std::string::String) {
439 self.primary_language = ::std::option::Option::Some(v);
440 }
441
442 pub fn mut_primary_language(&mut self) -> &mut ::std::string::String {
445 if self.primary_language.is_none() {
446 self.primary_language = ::std::option::Option::Some(::std::string::String::new());
447 }
448 self.primary_language.as_mut().unwrap()
449 }
450
451 pub fn take_primary_language(&mut self) -> ::std::string::String {
453 self.primary_language.take().unwrap_or_else(|| ::std::string::String::new())
454 }
455
456 pub fn stroke(&self) -> &str {
459 match self.stroke.as_ref() {
460 Some(v) => v,
461 None => "",
462 }
463 }
464
465 pub fn clear_stroke(&mut self) {
466 self.stroke = ::std::option::Option::None;
467 }
468
469 pub fn has_stroke(&self) -> bool {
470 self.stroke.is_some()
471 }
472
473 pub fn set_stroke(&mut self, v: ::std::string::String) {
475 self.stroke = ::std::option::Option::Some(v);
476 }
477
478 pub fn mut_stroke(&mut self) -> &mut ::std::string::String {
481 if self.stroke.is_none() {
482 self.stroke = ::std::option::Option::Some(::std::string::String::new());
483 }
484 self.stroke.as_mut().unwrap()
485 }
486
487 pub fn take_stroke(&mut self) -> ::std::string::String {
489 self.stroke.take().unwrap_or_else(|| ::std::string::String::new())
490 }
491
492 fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
493 let mut fields = ::std::vec::Vec::with_capacity(24);
494 let mut oneofs = ::std::vec::Vec::with_capacity(0);
495 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
496 "name",
497 |m: &FamilyProto| { &m.name },
498 |m: &mut FamilyProto| { &mut m.name },
499 ));
500 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
501 "designer",
502 |m: &FamilyProto| { &m.designer },
503 |m: &mut FamilyProto| { &mut m.designer },
504 ));
505 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
506 "license",
507 |m: &FamilyProto| { &m.license },
508 |m: &mut FamilyProto| { &mut m.license },
509 ));
510 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
511 "category",
512 |m: &FamilyProto| { &m.category },
513 |m: &mut FamilyProto| { &mut m.category },
514 ));
515 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
516 "date_added",
517 |m: &FamilyProto| { &m.date_added },
518 |m: &mut FamilyProto| { &mut m.date_added },
519 ));
520 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
521 "fonts",
522 |m: &FamilyProto| { &m.fonts },
523 |m: &mut FamilyProto| { &mut m.fonts },
524 ));
525 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
526 "aliases",
527 |m: &FamilyProto| { &m.aliases },
528 |m: &mut FamilyProto| { &mut m.aliases },
529 ));
530 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
531 "subsets",
532 |m: &FamilyProto| { &m.subsets },
533 |m: &mut FamilyProto| { &mut m.subsets },
534 ));
535 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
536 "ttf_autohint_args",
537 |m: &FamilyProto| { &m.ttf_autohint_args },
538 |m: &mut FamilyProto| { &mut m.ttf_autohint_args },
539 ));
540 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
541 "axes",
542 |m: &FamilyProto| { &m.axes },
543 |m: &mut FamilyProto| { &mut m.axes },
544 ));
545 fields.push(::protobuf::reflect::rt::v2::make_map_simpler_accessor_new::<_, _>(
546 "registry_default_overrides",
547 |m: &FamilyProto| { &m.registry_default_overrides },
548 |m: &mut FamilyProto| { &mut m.registry_default_overrides },
549 ));
550 fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, SourceProto>(
551 "source",
552 |m: &FamilyProto| { &m.source },
553 |m: &mut FamilyProto| { &mut m.source },
554 ));
555 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
556 "is_noto",
557 |m: &FamilyProto| { &m.is_noto },
558 |m: &mut FamilyProto| { &mut m.is_noto },
559 ));
560 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
561 "languages",
562 |m: &FamilyProto| { &m.languages },
563 |m: &mut FamilyProto| { &mut m.languages },
564 ));
565 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
566 "fallbacks",
567 |m: &FamilyProto| { &m.fallbacks },
568 |m: &mut FamilyProto| { &mut m.fallbacks },
569 ));
570 fields.push(::protobuf::reflect::rt::v2::make_map_simpler_accessor_new::<_, _>(
571 "sample_glyphs",
572 |m: &FamilyProto| { &m.sample_glyphs },
573 |m: &mut FamilyProto| { &mut m.sample_glyphs },
574 ));
575 fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, SampleTextProto>(
576 "sample_text",
577 |m: &FamilyProto| { &m.sample_text },
578 |m: &mut FamilyProto| { &mut m.sample_text },
579 ));
580 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
581 "display_name",
582 |m: &FamilyProto| { &m.display_name },
583 |m: &mut FamilyProto| { &mut m.display_name },
584 ));
585 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
586 "ordered_sample_glyphs",
587 |m: &FamilyProto| { &m.ordered_sample_glyphs },
588 |m: &mut FamilyProto| { &mut m.ordered_sample_glyphs },
589 ));
590 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
591 "minisite_url",
592 |m: &FamilyProto| { &m.minisite_url },
593 |m: &mut FamilyProto| { &mut m.minisite_url },
594 ));
595 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
596 "primary_script",
597 |m: &FamilyProto| { &m.primary_script },
598 |m: &mut FamilyProto| { &mut m.primary_script },
599 ));
600 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
601 "primary_language",
602 |m: &FamilyProto| { &m.primary_language },
603 |m: &mut FamilyProto| { &mut m.primary_language },
604 ));
605 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
606 "stroke",
607 |m: &FamilyProto| { &m.stroke },
608 |m: &mut FamilyProto| { &mut m.stroke },
609 ));
610 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
611 "classifications",
612 |m: &FamilyProto| { &m.classifications },
613 |m: &mut FamilyProto| { &mut m.classifications },
614 ));
615 ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<FamilyProto>(
616 "FamilyProto",
617 fields,
618 oneofs,
619 )
620 }
621}
622
623impl ::protobuf::Message for FamilyProto {
624 const NAME: &'static str = "FamilyProto";
625
626 fn is_initialized(&self) -> bool {
627 if self.name.is_none() {
628 return false;
629 }
630 if self.designer.is_none() {
631 return false;
632 }
633 if self.license.is_none() {
634 return false;
635 }
636 if self.date_added.is_none() {
637 return false;
638 }
639 for v in &self.fonts {
640 if !v.is_initialized() {
641 return false;
642 }
643 };
644 for v in &self.axes {
645 if !v.is_initialized() {
646 return false;
647 }
648 };
649 for v in &self.source {
651 if !v.is_initialized() {
652 return false;
653 }
654 };
655 for v in &self.fallbacks {
656 if !v.is_initialized() {
657 return false;
658 }
659 };
660 for v in &self.sample_text {
662 if !v.is_initialized() {
663 return false;
664 }
665 };
666 for v in &self.ordered_sample_glyphs {
667 if !v.is_initialized() {
668 return false;
669 }
670 };
671 true
672 }
673
674 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
675 while let Some(tag) = is.read_raw_tag_or_eof()? {
676 match tag {
677 10 => {
678 self.name = ::std::option::Option::Some(is.read_string()?);
679 },
680 18 => {
681 self.designer = ::std::option::Option::Some(is.read_string()?);
682 },
683 26 => {
684 self.license = ::std::option::Option::Some(is.read_string()?);
685 },
686 34 => {
687 self.category.push(is.read_string()?);
688 },
689 42 => {
690 self.date_added = ::std::option::Option::Some(is.read_string()?);
691 },
692 50 => {
693 self.fonts.push(is.read_message()?);
694 },
695 58 => {
696 self.aliases.push(is.read_string()?);
697 },
698 66 => {
699 self.subsets.push(is.read_string()?);
700 },
701 74 => {
702 self.ttf_autohint_args = ::std::option::Option::Some(is.read_string()?);
703 },
704 82 => {
705 self.axes.push(is.read_message()?);
706 },
707 90 => {
708 let len = is.read_raw_varint32()?;
709 let old_limit = is.push_limit(len as u64)?;
710 let mut key = ::std::default::Default::default();
711 let mut value = ::std::default::Default::default();
712 while let Some(tag) = is.read_raw_tag_or_eof()? {
713 match tag {
714 10 => key = is.read_string()?,
715 21 => value = is.read_float()?,
716 _ => ::protobuf::rt::skip_field_for_tag(tag, is)?,
717 };
718 }
719 is.pop_limit(old_limit);
720 self.registry_default_overrides.insert(key, value);
721 },
722 98 => {
723 ::protobuf::rt::read_singular_message_into_field(is, &mut self.source)?;
724 },
725 104 => {
726 self.is_noto = ::std::option::Option::Some(is.read_bool()?);
727 },
728 114 => {
729 self.languages.push(is.read_string()?);
730 },
731 122 => {
732 self.fallbacks.push(is.read_message()?);
733 },
734 130 => {
735 let len = is.read_raw_varint32()?;
736 let old_limit = is.push_limit(len as u64)?;
737 let mut key = ::std::default::Default::default();
738 let mut value = ::std::default::Default::default();
739 while let Some(tag) = is.read_raw_tag_or_eof()? {
740 match tag {
741 10 => key = is.read_string()?,
742 18 => value = is.read_string()?,
743 _ => ::protobuf::rt::skip_field_for_tag(tag, is)?,
744 };
745 }
746 is.pop_limit(old_limit);
747 self.sample_glyphs.insert(key, value);
748 },
749 138 => {
750 ::protobuf::rt::read_singular_message_into_field(is, &mut self.sample_text)?;
751 },
752 146 => {
753 self.display_name = ::std::option::Option::Some(is.read_string()?);
754 },
755 154 => {
756 self.ordered_sample_glyphs.push(is.read_message()?);
757 },
758 162 => {
759 self.minisite_url = ::std::option::Option::Some(is.read_string()?);
760 },
761 170 => {
762 self.primary_script = ::std::option::Option::Some(is.read_string()?);
763 },
764 178 => {
765 self.primary_language = ::std::option::Option::Some(is.read_string()?);
766 },
767 186 => {
768 self.stroke = ::std::option::Option::Some(is.read_string()?);
769 },
770 202 => {
771 self.classifications.push(is.read_string()?);
772 },
773 tag => {
774 ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
775 },
776 };
777 }
778 ::std::result::Result::Ok(())
779 }
780
781 #[allow(unused_variables)]
783 fn compute_size(&self) -> u64 {
784 let mut my_size = 0;
785 if let Some(v) = self.name.as_ref() {
786 my_size += ::protobuf::rt::string_size(1, &v);
787 }
788 if let Some(v) = self.designer.as_ref() {
789 my_size += ::protobuf::rt::string_size(2, &v);
790 }
791 if let Some(v) = self.license.as_ref() {
792 my_size += ::protobuf::rt::string_size(3, &v);
793 }
794 for value in &self.category {
795 my_size += ::protobuf::rt::string_size(4, &value);
796 };
797 if let Some(v) = self.date_added.as_ref() {
798 my_size += ::protobuf::rt::string_size(5, &v);
799 }
800 for value in &self.fonts {
801 let len = value.compute_size();
802 my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
803 };
804 for value in &self.aliases {
805 my_size += ::protobuf::rt::string_size(7, &value);
806 };
807 for value in &self.subsets {
808 my_size += ::protobuf::rt::string_size(8, &value);
809 };
810 if let Some(v) = self.ttf_autohint_args.as_ref() {
811 my_size += ::protobuf::rt::string_size(9, &v);
812 }
813 for value in &self.axes {
814 let len = value.compute_size();
815 my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
816 };
817 for (k, v) in &self.registry_default_overrides {
818 let mut entry_size = 0;
819 entry_size += ::protobuf::rt::string_size(1, &k);
820 entry_size += 1 + 4;
821 my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(entry_size) + entry_size
822 };
823 if let Some(v) = self.source.as_ref() {
824 let len = v.compute_size();
825 my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
826 }
827 if let Some(v) = self.is_noto {
828 my_size += 1 + 1;
829 }
830 for value in &self.languages {
831 my_size += ::protobuf::rt::string_size(14, &value);
832 };
833 for value in &self.fallbacks {
834 let len = value.compute_size();
835 my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
836 };
837 for (k, v) in &self.sample_glyphs {
838 let mut entry_size = 0;
839 entry_size += ::protobuf::rt::string_size(1, &k);
840 entry_size += ::protobuf::rt::string_size(2, &v);
841 my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(entry_size) + entry_size
842 };
843 if let Some(v) = self.sample_text.as_ref() {
844 let len = v.compute_size();
845 my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
846 }
847 if let Some(v) = self.display_name.as_ref() {
848 my_size += ::protobuf::rt::string_size(18, &v);
849 }
850 for value in &self.ordered_sample_glyphs {
851 let len = value.compute_size();
852 my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
853 };
854 if let Some(v) = self.minisite_url.as_ref() {
855 my_size += ::protobuf::rt::string_size(20, &v);
856 }
857 if let Some(v) = self.primary_script.as_ref() {
858 my_size += ::protobuf::rt::string_size(21, &v);
859 }
860 if let Some(v) = self.primary_language.as_ref() {
861 my_size += ::protobuf::rt::string_size(22, &v);
862 }
863 if let Some(v) = self.stroke.as_ref() {
864 my_size += ::protobuf::rt::string_size(23, &v);
865 }
866 for value in &self.classifications {
867 my_size += ::protobuf::rt::string_size(25, &value);
868 };
869 my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
870 self.special_fields.cached_size().set(my_size as u32);
871 my_size
872 }
873
874 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
875 if let Some(v) = self.name.as_ref() {
876 os.write_string(1, v)?;
877 }
878 if let Some(v) = self.designer.as_ref() {
879 os.write_string(2, v)?;
880 }
881 if let Some(v) = self.license.as_ref() {
882 os.write_string(3, v)?;
883 }
884 for v in &self.category {
885 os.write_string(4, &v)?;
886 };
887 if let Some(v) = self.date_added.as_ref() {
888 os.write_string(5, v)?;
889 }
890 for v in &self.fonts {
891 ::protobuf::rt::write_message_field_with_cached_size(6, v, os)?;
892 };
893 for v in &self.aliases {
894 os.write_string(7, &v)?;
895 };
896 for v in &self.subsets {
897 os.write_string(8, &v)?;
898 };
899 if let Some(v) = self.ttf_autohint_args.as_ref() {
900 os.write_string(9, v)?;
901 }
902 for v in &self.axes {
903 ::protobuf::rt::write_message_field_with_cached_size(10, v, os)?;
904 };
905 for (k, v) in &self.registry_default_overrides {
906 let mut entry_size = 0;
907 entry_size += ::protobuf::rt::string_size(1, &k);
908 entry_size += 1 + 4;
909 os.write_raw_varint32(90)?; os.write_raw_varint32(entry_size as u32)?;
911 os.write_string(1, &k)?;
912 os.write_float(2, *v)?;
913 };
914 if let Some(v) = self.source.as_ref() {
915 ::protobuf::rt::write_message_field_with_cached_size(12, v, os)?;
916 }
917 if let Some(v) = self.is_noto {
918 os.write_bool(13, v)?;
919 }
920 for v in &self.languages {
921 os.write_string(14, &v)?;
922 };
923 for v in &self.fallbacks {
924 ::protobuf::rt::write_message_field_with_cached_size(15, v, os)?;
925 };
926 for (k, v) in &self.sample_glyphs {
927 let mut entry_size = 0;
928 entry_size += ::protobuf::rt::string_size(1, &k);
929 entry_size += ::protobuf::rt::string_size(2, &v);
930 os.write_raw_varint32(130)?; os.write_raw_varint32(entry_size as u32)?;
932 os.write_string(1, &k)?;
933 os.write_string(2, &v)?;
934 };
935 if let Some(v) = self.sample_text.as_ref() {
936 ::protobuf::rt::write_message_field_with_cached_size(17, v, os)?;
937 }
938 if let Some(v) = self.display_name.as_ref() {
939 os.write_string(18, v)?;
940 }
941 for v in &self.ordered_sample_glyphs {
942 ::protobuf::rt::write_message_field_with_cached_size(19, v, os)?;
943 };
944 if let Some(v) = self.minisite_url.as_ref() {
945 os.write_string(20, v)?;
946 }
947 if let Some(v) = self.primary_script.as_ref() {
948 os.write_string(21, v)?;
949 }
950 if let Some(v) = self.primary_language.as_ref() {
951 os.write_string(22, v)?;
952 }
953 if let Some(v) = self.stroke.as_ref() {
954 os.write_string(23, v)?;
955 }
956 for v in &self.classifications {
957 os.write_string(25, &v)?;
958 };
959 os.write_unknown_fields(self.special_fields.unknown_fields())?;
960 ::std::result::Result::Ok(())
961 }
962
963 fn special_fields(&self) -> &::protobuf::SpecialFields {
964 &self.special_fields
965 }
966
967 fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
968 &mut self.special_fields
969 }
970
971 fn new() -> FamilyProto {
972 FamilyProto::new()
973 }
974
975 fn clear(&mut self) {
976 self.name = ::std::option::Option::None;
977 self.designer = ::std::option::Option::None;
978 self.license = ::std::option::Option::None;
979 self.category.clear();
980 self.date_added = ::std::option::Option::None;
981 self.fonts.clear();
982 self.aliases.clear();
983 self.subsets.clear();
984 self.ttf_autohint_args = ::std::option::Option::None;
985 self.axes.clear();
986 self.registry_default_overrides.clear();
987 self.source.clear();
988 self.is_noto = ::std::option::Option::None;
989 self.languages.clear();
990 self.fallbacks.clear();
991 self.sample_glyphs.clear();
992 self.sample_text.clear();
993 self.display_name = ::std::option::Option::None;
994 self.ordered_sample_glyphs.clear();
995 self.minisite_url = ::std::option::Option::None;
996 self.primary_script = ::std::option::Option::None;
997 self.primary_language = ::std::option::Option::None;
998 self.stroke = ::std::option::Option::None;
999 self.classifications.clear();
1000 self.special_fields.clear();
1001 }
1002
1003 fn default_instance() -> &'static FamilyProto {
1004 static instance: ::protobuf::rt::Lazy<FamilyProto> = ::protobuf::rt::Lazy::new();
1005 instance.get(FamilyProto::new)
1006 }
1007}
1008
1009impl ::protobuf::MessageFull for FamilyProto {
1010 fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
1011 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
1012 descriptor.get(|| file_descriptor().message_by_package_relative_name("FamilyProto").unwrap()).clone()
1013 }
1014}
1015
1016impl ::std::fmt::Display for FamilyProto {
1017 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1018 ::protobuf::text_format::fmt(self, f)
1019 }
1020}
1021
1022impl ::protobuf::reflect::ProtobufValue for FamilyProto {
1023 type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
1024}
1025
1026#[derive(PartialEq,Clone,Default,Debug)]
1028pub struct FontProto {
1029 pub name: ::std::option::Option<::std::string::String>,
1032 pub style: ::std::option::Option<::std::string::String>,
1034 pub weight: ::std::option::Option<i32>,
1036 pub filename: ::std::option::Option<::std::string::String>,
1038 pub post_script_name: ::std::option::Option<::std::string::String>,
1040 pub full_name: ::std::option::Option<::std::string::String>,
1042 pub copyright: ::std::option::Option<::std::string::String>,
1044 pub special_fields: ::protobuf::SpecialFields,
1047}
1048
1049impl<'a> ::std::default::Default for &'a FontProto {
1050 fn default() -> &'a FontProto {
1051 <FontProto as ::protobuf::Message>::default_instance()
1052 }
1053}
1054
1055impl FontProto {
1056 pub fn new() -> FontProto {
1057 ::std::default::Default::default()
1058 }
1059
1060 pub fn name(&self) -> &str {
1063 match self.name.as_ref() {
1064 Some(v) => v,
1065 None => "",
1066 }
1067 }
1068
1069 pub fn clear_name(&mut self) {
1070 self.name = ::std::option::Option::None;
1071 }
1072
1073 pub fn has_name(&self) -> bool {
1074 self.name.is_some()
1075 }
1076
1077 pub fn set_name(&mut self, v: ::std::string::String) {
1079 self.name = ::std::option::Option::Some(v);
1080 }
1081
1082 pub fn mut_name(&mut self) -> &mut ::std::string::String {
1085 if self.name.is_none() {
1086 self.name = ::std::option::Option::Some(::std::string::String::new());
1087 }
1088 self.name.as_mut().unwrap()
1089 }
1090
1091 pub fn take_name(&mut self) -> ::std::string::String {
1093 self.name.take().unwrap_or_else(|| ::std::string::String::new())
1094 }
1095
1096 pub fn style(&self) -> &str {
1099 match self.style.as_ref() {
1100 Some(v) => v,
1101 None => "",
1102 }
1103 }
1104
1105 pub fn clear_style(&mut self) {
1106 self.style = ::std::option::Option::None;
1107 }
1108
1109 pub fn has_style(&self) -> bool {
1110 self.style.is_some()
1111 }
1112
1113 pub fn set_style(&mut self, v: ::std::string::String) {
1115 self.style = ::std::option::Option::Some(v);
1116 }
1117
1118 pub fn mut_style(&mut self) -> &mut ::std::string::String {
1121 if self.style.is_none() {
1122 self.style = ::std::option::Option::Some(::std::string::String::new());
1123 }
1124 self.style.as_mut().unwrap()
1125 }
1126
1127 pub fn take_style(&mut self) -> ::std::string::String {
1129 self.style.take().unwrap_or_else(|| ::std::string::String::new())
1130 }
1131
1132 pub fn weight(&self) -> i32 {
1135 self.weight.unwrap_or(0)
1136 }
1137
1138 pub fn clear_weight(&mut self) {
1139 self.weight = ::std::option::Option::None;
1140 }
1141
1142 pub fn has_weight(&self) -> bool {
1143 self.weight.is_some()
1144 }
1145
1146 pub fn set_weight(&mut self, v: i32) {
1148 self.weight = ::std::option::Option::Some(v);
1149 }
1150
1151 pub fn filename(&self) -> &str {
1154 match self.filename.as_ref() {
1155 Some(v) => v,
1156 None => "",
1157 }
1158 }
1159
1160 pub fn clear_filename(&mut self) {
1161 self.filename = ::std::option::Option::None;
1162 }
1163
1164 pub fn has_filename(&self) -> bool {
1165 self.filename.is_some()
1166 }
1167
1168 pub fn set_filename(&mut self, v: ::std::string::String) {
1170 self.filename = ::std::option::Option::Some(v);
1171 }
1172
1173 pub fn mut_filename(&mut self) -> &mut ::std::string::String {
1176 if self.filename.is_none() {
1177 self.filename = ::std::option::Option::Some(::std::string::String::new());
1178 }
1179 self.filename.as_mut().unwrap()
1180 }
1181
1182 pub fn take_filename(&mut self) -> ::std::string::String {
1184 self.filename.take().unwrap_or_else(|| ::std::string::String::new())
1185 }
1186
1187 pub fn post_script_name(&self) -> &str {
1190 match self.post_script_name.as_ref() {
1191 Some(v) => v,
1192 None => "",
1193 }
1194 }
1195
1196 pub fn clear_post_script_name(&mut self) {
1197 self.post_script_name = ::std::option::Option::None;
1198 }
1199
1200 pub fn has_post_script_name(&self) -> bool {
1201 self.post_script_name.is_some()
1202 }
1203
1204 pub fn set_post_script_name(&mut self, v: ::std::string::String) {
1206 self.post_script_name = ::std::option::Option::Some(v);
1207 }
1208
1209 pub fn mut_post_script_name(&mut self) -> &mut ::std::string::String {
1212 if self.post_script_name.is_none() {
1213 self.post_script_name = ::std::option::Option::Some(::std::string::String::new());
1214 }
1215 self.post_script_name.as_mut().unwrap()
1216 }
1217
1218 pub fn take_post_script_name(&mut self) -> ::std::string::String {
1220 self.post_script_name.take().unwrap_or_else(|| ::std::string::String::new())
1221 }
1222
1223 pub fn full_name(&self) -> &str {
1226 match self.full_name.as_ref() {
1227 Some(v) => v,
1228 None => "",
1229 }
1230 }
1231
1232 pub fn clear_full_name(&mut self) {
1233 self.full_name = ::std::option::Option::None;
1234 }
1235
1236 pub fn has_full_name(&self) -> bool {
1237 self.full_name.is_some()
1238 }
1239
1240 pub fn set_full_name(&mut self, v: ::std::string::String) {
1242 self.full_name = ::std::option::Option::Some(v);
1243 }
1244
1245 pub fn mut_full_name(&mut self) -> &mut ::std::string::String {
1248 if self.full_name.is_none() {
1249 self.full_name = ::std::option::Option::Some(::std::string::String::new());
1250 }
1251 self.full_name.as_mut().unwrap()
1252 }
1253
1254 pub fn take_full_name(&mut self) -> ::std::string::String {
1256 self.full_name.take().unwrap_or_else(|| ::std::string::String::new())
1257 }
1258
1259 pub fn copyright(&self) -> &str {
1262 match self.copyright.as_ref() {
1263 Some(v) => v,
1264 None => "",
1265 }
1266 }
1267
1268 pub fn clear_copyright(&mut self) {
1269 self.copyright = ::std::option::Option::None;
1270 }
1271
1272 pub fn has_copyright(&self) -> bool {
1273 self.copyright.is_some()
1274 }
1275
1276 pub fn set_copyright(&mut self, v: ::std::string::String) {
1278 self.copyright = ::std::option::Option::Some(v);
1279 }
1280
1281 pub fn mut_copyright(&mut self) -> &mut ::std::string::String {
1284 if self.copyright.is_none() {
1285 self.copyright = ::std::option::Option::Some(::std::string::String::new());
1286 }
1287 self.copyright.as_mut().unwrap()
1288 }
1289
1290 pub fn take_copyright(&mut self) -> ::std::string::String {
1292 self.copyright.take().unwrap_or_else(|| ::std::string::String::new())
1293 }
1294
1295 fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
1296 let mut fields = ::std::vec::Vec::with_capacity(7);
1297 let mut oneofs = ::std::vec::Vec::with_capacity(0);
1298 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1299 "name",
1300 |m: &FontProto| { &m.name },
1301 |m: &mut FontProto| { &mut m.name },
1302 ));
1303 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1304 "style",
1305 |m: &FontProto| { &m.style },
1306 |m: &mut FontProto| { &mut m.style },
1307 ));
1308 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1309 "weight",
1310 |m: &FontProto| { &m.weight },
1311 |m: &mut FontProto| { &mut m.weight },
1312 ));
1313 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1314 "filename",
1315 |m: &FontProto| { &m.filename },
1316 |m: &mut FontProto| { &mut m.filename },
1317 ));
1318 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1319 "post_script_name",
1320 |m: &FontProto| { &m.post_script_name },
1321 |m: &mut FontProto| { &mut m.post_script_name },
1322 ));
1323 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1324 "full_name",
1325 |m: &FontProto| { &m.full_name },
1326 |m: &mut FontProto| { &mut m.full_name },
1327 ));
1328 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1329 "copyright",
1330 |m: &FontProto| { &m.copyright },
1331 |m: &mut FontProto| { &mut m.copyright },
1332 ));
1333 ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<FontProto>(
1334 "FontProto",
1335 fields,
1336 oneofs,
1337 )
1338 }
1339}
1340
1341impl ::protobuf::Message for FontProto {
1342 const NAME: &'static str = "FontProto";
1343
1344 fn is_initialized(&self) -> bool {
1345 if self.name.is_none() {
1346 return false;
1347 }
1348 if self.style.is_none() {
1349 return false;
1350 }
1351 if self.weight.is_none() {
1352 return false;
1353 }
1354 if self.filename.is_none() {
1355 return false;
1356 }
1357 if self.post_script_name.is_none() {
1358 return false;
1359 }
1360 if self.full_name.is_none() {
1361 return false;
1362 }
1363 true
1364 }
1365
1366 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
1367 while let Some(tag) = is.read_raw_tag_or_eof()? {
1368 match tag {
1369 10 => {
1370 self.name = ::std::option::Option::Some(is.read_string()?);
1371 },
1372 18 => {
1373 self.style = ::std::option::Option::Some(is.read_string()?);
1374 },
1375 24 => {
1376 self.weight = ::std::option::Option::Some(is.read_int32()?);
1377 },
1378 34 => {
1379 self.filename = ::std::option::Option::Some(is.read_string()?);
1380 },
1381 42 => {
1382 self.post_script_name = ::std::option::Option::Some(is.read_string()?);
1383 },
1384 50 => {
1385 self.full_name = ::std::option::Option::Some(is.read_string()?);
1386 },
1387 58 => {
1388 self.copyright = ::std::option::Option::Some(is.read_string()?);
1389 },
1390 tag => {
1391 ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1392 },
1393 };
1394 }
1395 ::std::result::Result::Ok(())
1396 }
1397
1398 #[allow(unused_variables)]
1400 fn compute_size(&self) -> u64 {
1401 let mut my_size = 0;
1402 if let Some(v) = self.name.as_ref() {
1403 my_size += ::protobuf::rt::string_size(1, &v);
1404 }
1405 if let Some(v) = self.style.as_ref() {
1406 my_size += ::protobuf::rt::string_size(2, &v);
1407 }
1408 if let Some(v) = self.weight {
1409 my_size += ::protobuf::rt::int32_size(3, v);
1410 }
1411 if let Some(v) = self.filename.as_ref() {
1412 my_size += ::protobuf::rt::string_size(4, &v);
1413 }
1414 if let Some(v) = self.post_script_name.as_ref() {
1415 my_size += ::protobuf::rt::string_size(5, &v);
1416 }
1417 if let Some(v) = self.full_name.as_ref() {
1418 my_size += ::protobuf::rt::string_size(6, &v);
1419 }
1420 if let Some(v) = self.copyright.as_ref() {
1421 my_size += ::protobuf::rt::string_size(7, &v);
1422 }
1423 my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
1424 self.special_fields.cached_size().set(my_size as u32);
1425 my_size
1426 }
1427
1428 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
1429 if let Some(v) = self.name.as_ref() {
1430 os.write_string(1, v)?;
1431 }
1432 if let Some(v) = self.style.as_ref() {
1433 os.write_string(2, v)?;
1434 }
1435 if let Some(v) = self.weight {
1436 os.write_int32(3, v)?;
1437 }
1438 if let Some(v) = self.filename.as_ref() {
1439 os.write_string(4, v)?;
1440 }
1441 if let Some(v) = self.post_script_name.as_ref() {
1442 os.write_string(5, v)?;
1443 }
1444 if let Some(v) = self.full_name.as_ref() {
1445 os.write_string(6, v)?;
1446 }
1447 if let Some(v) = self.copyright.as_ref() {
1448 os.write_string(7, v)?;
1449 }
1450 os.write_unknown_fields(self.special_fields.unknown_fields())?;
1451 ::std::result::Result::Ok(())
1452 }
1453
1454 fn special_fields(&self) -> &::protobuf::SpecialFields {
1455 &self.special_fields
1456 }
1457
1458 fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
1459 &mut self.special_fields
1460 }
1461
1462 fn new() -> FontProto {
1463 FontProto::new()
1464 }
1465
1466 fn clear(&mut self) {
1467 self.name = ::std::option::Option::None;
1468 self.style = ::std::option::Option::None;
1469 self.weight = ::std::option::Option::None;
1470 self.filename = ::std::option::Option::None;
1471 self.post_script_name = ::std::option::Option::None;
1472 self.full_name = ::std::option::Option::None;
1473 self.copyright = ::std::option::Option::None;
1474 self.special_fields.clear();
1475 }
1476
1477 fn default_instance() -> &'static FontProto {
1478 static instance: FontProto = FontProto {
1479 name: ::std::option::Option::None,
1480 style: ::std::option::Option::None,
1481 weight: ::std::option::Option::None,
1482 filename: ::std::option::Option::None,
1483 post_script_name: ::std::option::Option::None,
1484 full_name: ::std::option::Option::None,
1485 copyright: ::std::option::Option::None,
1486 special_fields: ::protobuf::SpecialFields::new(),
1487 };
1488 &instance
1489 }
1490}
1491
1492impl ::protobuf::MessageFull for FontProto {
1493 fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
1494 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
1495 descriptor.get(|| file_descriptor().message_by_package_relative_name("FontProto").unwrap()).clone()
1496 }
1497}
1498
1499impl ::std::fmt::Display for FontProto {
1500 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1501 ::protobuf::text_format::fmt(self, f)
1502 }
1503}
1504
1505impl ::protobuf::reflect::ProtobufValue for FontProto {
1506 type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
1507}
1508
1509#[derive(PartialEq,Clone,Default,Debug)]
1511pub struct AxisSegmentProto {
1512 pub tag: ::std::option::Option<::std::string::String>,
1515 pub min_value: ::std::option::Option<f32>,
1517 pub max_value: ::std::option::Option<f32>,
1519 pub special_fields: ::protobuf::SpecialFields,
1522}
1523
1524impl<'a> ::std::default::Default for &'a AxisSegmentProto {
1525 fn default() -> &'a AxisSegmentProto {
1526 <AxisSegmentProto as ::protobuf::Message>::default_instance()
1527 }
1528}
1529
1530impl AxisSegmentProto {
1531 pub fn new() -> AxisSegmentProto {
1532 ::std::default::Default::default()
1533 }
1534
1535 pub fn tag(&self) -> &str {
1538 match self.tag.as_ref() {
1539 Some(v) => v,
1540 None => "",
1541 }
1542 }
1543
1544 pub fn clear_tag(&mut self) {
1545 self.tag = ::std::option::Option::None;
1546 }
1547
1548 pub fn has_tag(&self) -> bool {
1549 self.tag.is_some()
1550 }
1551
1552 pub fn set_tag(&mut self, v: ::std::string::String) {
1554 self.tag = ::std::option::Option::Some(v);
1555 }
1556
1557 pub fn mut_tag(&mut self) -> &mut ::std::string::String {
1560 if self.tag.is_none() {
1561 self.tag = ::std::option::Option::Some(::std::string::String::new());
1562 }
1563 self.tag.as_mut().unwrap()
1564 }
1565
1566 pub fn take_tag(&mut self) -> ::std::string::String {
1568 self.tag.take().unwrap_or_else(|| ::std::string::String::new())
1569 }
1570
1571 pub fn min_value(&self) -> f32 {
1574 self.min_value.unwrap_or(0.)
1575 }
1576
1577 pub fn clear_min_value(&mut self) {
1578 self.min_value = ::std::option::Option::None;
1579 }
1580
1581 pub fn has_min_value(&self) -> bool {
1582 self.min_value.is_some()
1583 }
1584
1585 pub fn set_min_value(&mut self, v: f32) {
1587 self.min_value = ::std::option::Option::Some(v);
1588 }
1589
1590 pub fn max_value(&self) -> f32 {
1593 self.max_value.unwrap_or(0.)
1594 }
1595
1596 pub fn clear_max_value(&mut self) {
1597 self.max_value = ::std::option::Option::None;
1598 }
1599
1600 pub fn has_max_value(&self) -> bool {
1601 self.max_value.is_some()
1602 }
1603
1604 pub fn set_max_value(&mut self, v: f32) {
1606 self.max_value = ::std::option::Option::Some(v);
1607 }
1608
1609 fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
1610 let mut fields = ::std::vec::Vec::with_capacity(3);
1611 let mut oneofs = ::std::vec::Vec::with_capacity(0);
1612 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1613 "tag",
1614 |m: &AxisSegmentProto| { &m.tag },
1615 |m: &mut AxisSegmentProto| { &mut m.tag },
1616 ));
1617 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1618 "min_value",
1619 |m: &AxisSegmentProto| { &m.min_value },
1620 |m: &mut AxisSegmentProto| { &mut m.min_value },
1621 ));
1622 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1623 "max_value",
1624 |m: &AxisSegmentProto| { &m.max_value },
1625 |m: &mut AxisSegmentProto| { &mut m.max_value },
1626 ));
1627 ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<AxisSegmentProto>(
1628 "AxisSegmentProto",
1629 fields,
1630 oneofs,
1631 )
1632 }
1633}
1634
1635impl ::protobuf::Message for AxisSegmentProto {
1636 const NAME: &'static str = "AxisSegmentProto";
1637
1638 fn is_initialized(&self) -> bool {
1639 true
1640 }
1641
1642 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
1643 while let Some(tag) = is.read_raw_tag_or_eof()? {
1644 match tag {
1645 10 => {
1646 self.tag = ::std::option::Option::Some(is.read_string()?);
1647 },
1648 21 => {
1649 self.min_value = ::std::option::Option::Some(is.read_float()?);
1650 },
1651 37 => {
1652 self.max_value = ::std::option::Option::Some(is.read_float()?);
1653 },
1654 tag => {
1655 ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1656 },
1657 };
1658 }
1659 ::std::result::Result::Ok(())
1660 }
1661
1662 #[allow(unused_variables)]
1664 fn compute_size(&self) -> u64 {
1665 let mut my_size = 0;
1666 if let Some(v) = self.tag.as_ref() {
1667 my_size += ::protobuf::rt::string_size(1, &v);
1668 }
1669 if let Some(v) = self.min_value {
1670 my_size += 1 + 4;
1671 }
1672 if let Some(v) = self.max_value {
1673 my_size += 1 + 4;
1674 }
1675 my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
1676 self.special_fields.cached_size().set(my_size as u32);
1677 my_size
1678 }
1679
1680 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
1681 if let Some(v) = self.tag.as_ref() {
1682 os.write_string(1, v)?;
1683 }
1684 if let Some(v) = self.min_value {
1685 os.write_float(2, v)?;
1686 }
1687 if let Some(v) = self.max_value {
1688 os.write_float(4, v)?;
1689 }
1690 os.write_unknown_fields(self.special_fields.unknown_fields())?;
1691 ::std::result::Result::Ok(())
1692 }
1693
1694 fn special_fields(&self) -> &::protobuf::SpecialFields {
1695 &self.special_fields
1696 }
1697
1698 fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
1699 &mut self.special_fields
1700 }
1701
1702 fn new() -> AxisSegmentProto {
1703 AxisSegmentProto::new()
1704 }
1705
1706 fn clear(&mut self) {
1707 self.tag = ::std::option::Option::None;
1708 self.min_value = ::std::option::Option::None;
1709 self.max_value = ::std::option::Option::None;
1710 self.special_fields.clear();
1711 }
1712
1713 fn default_instance() -> &'static AxisSegmentProto {
1714 static instance: AxisSegmentProto = AxisSegmentProto {
1715 tag: ::std::option::Option::None,
1716 min_value: ::std::option::Option::None,
1717 max_value: ::std::option::Option::None,
1718 special_fields: ::protobuf::SpecialFields::new(),
1719 };
1720 &instance
1721 }
1722}
1723
1724impl ::protobuf::MessageFull for AxisSegmentProto {
1725 fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
1726 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
1727 descriptor.get(|| file_descriptor().message_by_package_relative_name("AxisSegmentProto").unwrap()).clone()
1728 }
1729}
1730
1731impl ::std::fmt::Display for AxisSegmentProto {
1732 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1733 ::protobuf::text_format::fmt(self, f)
1734 }
1735}
1736
1737impl ::protobuf::reflect::ProtobufValue for AxisSegmentProto {
1738 type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
1739}
1740
1741#[derive(PartialEq,Clone,Default,Debug)]
1743pub struct SourceProto {
1744 pub repository_url: ::std::option::Option<::std::string::String>,
1747 pub branch: ::std::option::Option<::std::string::String>,
1749 pub commit: ::std::option::Option<::std::string::String>,
1751 pub archive_url: ::std::option::Option<::std::string::String>,
1753 pub config_yaml: ::std::option::Option<::std::string::String>,
1755 pub files: ::std::vec::Vec<SourceFileProto>,
1757 pub special_fields: ::protobuf::SpecialFields,
1760}
1761
1762impl<'a> ::std::default::Default for &'a SourceProto {
1763 fn default() -> &'a SourceProto {
1764 <SourceProto as ::protobuf::Message>::default_instance()
1765 }
1766}
1767
1768impl SourceProto {
1769 pub fn new() -> SourceProto {
1770 ::std::default::Default::default()
1771 }
1772
1773 pub fn repository_url(&self) -> &str {
1776 match self.repository_url.as_ref() {
1777 Some(v) => v,
1778 None => "",
1779 }
1780 }
1781
1782 pub fn clear_repository_url(&mut self) {
1783 self.repository_url = ::std::option::Option::None;
1784 }
1785
1786 pub fn has_repository_url(&self) -> bool {
1787 self.repository_url.is_some()
1788 }
1789
1790 pub fn set_repository_url(&mut self, v: ::std::string::String) {
1792 self.repository_url = ::std::option::Option::Some(v);
1793 }
1794
1795 pub fn mut_repository_url(&mut self) -> &mut ::std::string::String {
1798 if self.repository_url.is_none() {
1799 self.repository_url = ::std::option::Option::Some(::std::string::String::new());
1800 }
1801 self.repository_url.as_mut().unwrap()
1802 }
1803
1804 pub fn take_repository_url(&mut self) -> ::std::string::String {
1806 self.repository_url.take().unwrap_or_else(|| ::std::string::String::new())
1807 }
1808
1809 pub fn branch(&self) -> &str {
1812 match self.branch.as_ref() {
1813 Some(v) => v,
1814 None => "",
1815 }
1816 }
1817
1818 pub fn clear_branch(&mut self) {
1819 self.branch = ::std::option::Option::None;
1820 }
1821
1822 pub fn has_branch(&self) -> bool {
1823 self.branch.is_some()
1824 }
1825
1826 pub fn set_branch(&mut self, v: ::std::string::String) {
1828 self.branch = ::std::option::Option::Some(v);
1829 }
1830
1831 pub fn mut_branch(&mut self) -> &mut ::std::string::String {
1834 if self.branch.is_none() {
1835 self.branch = ::std::option::Option::Some(::std::string::String::new());
1836 }
1837 self.branch.as_mut().unwrap()
1838 }
1839
1840 pub fn take_branch(&mut self) -> ::std::string::String {
1842 self.branch.take().unwrap_or_else(|| ::std::string::String::new())
1843 }
1844
1845 pub fn commit(&self) -> &str {
1848 match self.commit.as_ref() {
1849 Some(v) => v,
1850 None => "",
1851 }
1852 }
1853
1854 pub fn clear_commit(&mut self) {
1855 self.commit = ::std::option::Option::None;
1856 }
1857
1858 pub fn has_commit(&self) -> bool {
1859 self.commit.is_some()
1860 }
1861
1862 pub fn set_commit(&mut self, v: ::std::string::String) {
1864 self.commit = ::std::option::Option::Some(v);
1865 }
1866
1867 pub fn mut_commit(&mut self) -> &mut ::std::string::String {
1870 if self.commit.is_none() {
1871 self.commit = ::std::option::Option::Some(::std::string::String::new());
1872 }
1873 self.commit.as_mut().unwrap()
1874 }
1875
1876 pub fn take_commit(&mut self) -> ::std::string::String {
1878 self.commit.take().unwrap_or_else(|| ::std::string::String::new())
1879 }
1880
1881 pub fn archive_url(&self) -> &str {
1884 match self.archive_url.as_ref() {
1885 Some(v) => v,
1886 None => "",
1887 }
1888 }
1889
1890 pub fn clear_archive_url(&mut self) {
1891 self.archive_url = ::std::option::Option::None;
1892 }
1893
1894 pub fn has_archive_url(&self) -> bool {
1895 self.archive_url.is_some()
1896 }
1897
1898 pub fn set_archive_url(&mut self, v: ::std::string::String) {
1900 self.archive_url = ::std::option::Option::Some(v);
1901 }
1902
1903 pub fn mut_archive_url(&mut self) -> &mut ::std::string::String {
1906 if self.archive_url.is_none() {
1907 self.archive_url = ::std::option::Option::Some(::std::string::String::new());
1908 }
1909 self.archive_url.as_mut().unwrap()
1910 }
1911
1912 pub fn take_archive_url(&mut self) -> ::std::string::String {
1914 self.archive_url.take().unwrap_or_else(|| ::std::string::String::new())
1915 }
1916
1917 pub fn config_yaml(&self) -> &str {
1920 match self.config_yaml.as_ref() {
1921 Some(v) => v,
1922 None => "",
1923 }
1924 }
1925
1926 pub fn clear_config_yaml(&mut self) {
1927 self.config_yaml = ::std::option::Option::None;
1928 }
1929
1930 pub fn has_config_yaml(&self) -> bool {
1931 self.config_yaml.is_some()
1932 }
1933
1934 pub fn set_config_yaml(&mut self, v: ::std::string::String) {
1936 self.config_yaml = ::std::option::Option::Some(v);
1937 }
1938
1939 pub fn mut_config_yaml(&mut self) -> &mut ::std::string::String {
1942 if self.config_yaml.is_none() {
1943 self.config_yaml = ::std::option::Option::Some(::std::string::String::new());
1944 }
1945 self.config_yaml.as_mut().unwrap()
1946 }
1947
1948 pub fn take_config_yaml(&mut self) -> ::std::string::String {
1950 self.config_yaml.take().unwrap_or_else(|| ::std::string::String::new())
1951 }
1952
1953 fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
1954 let mut fields = ::std::vec::Vec::with_capacity(6);
1955 let mut oneofs = ::std::vec::Vec::with_capacity(0);
1956 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1957 "repository_url",
1958 |m: &SourceProto| { &m.repository_url },
1959 |m: &mut SourceProto| { &mut m.repository_url },
1960 ));
1961 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1962 "branch",
1963 |m: &SourceProto| { &m.branch },
1964 |m: &mut SourceProto| { &mut m.branch },
1965 ));
1966 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1967 "commit",
1968 |m: &SourceProto| { &m.commit },
1969 |m: &mut SourceProto| { &mut m.commit },
1970 ));
1971 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1972 "archive_url",
1973 |m: &SourceProto| { &m.archive_url },
1974 |m: &mut SourceProto| { &mut m.archive_url },
1975 ));
1976 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1977 "config_yaml",
1978 |m: &SourceProto| { &m.config_yaml },
1979 |m: &mut SourceProto| { &mut m.config_yaml },
1980 ));
1981 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1982 "files",
1983 |m: &SourceProto| { &m.files },
1984 |m: &mut SourceProto| { &mut m.files },
1985 ));
1986 ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<SourceProto>(
1987 "SourceProto",
1988 fields,
1989 oneofs,
1990 )
1991 }
1992}
1993
1994impl ::protobuf::Message for SourceProto {
1995 const NAME: &'static str = "SourceProto";
1996
1997 fn is_initialized(&self) -> bool {
1998 true
1999 }
2000
2001 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
2002 while let Some(tag) = is.read_raw_tag_or_eof()? {
2003 match tag {
2004 10 => {
2005 self.repository_url = ::std::option::Option::Some(is.read_string()?);
2006 },
2007 42 => {
2008 self.branch = ::std::option::Option::Some(is.read_string()?);
2009 },
2010 18 => {
2011 self.commit = ::std::option::Option::Some(is.read_string()?);
2012 },
2013 26 => {
2014 self.archive_url = ::std::option::Option::Some(is.read_string()?);
2015 },
2016 50 => {
2017 self.config_yaml = ::std::option::Option::Some(is.read_string()?);
2018 },
2019 34 => {
2020 self.files.push(is.read_message()?);
2021 },
2022 tag => {
2023 ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
2024 },
2025 };
2026 }
2027 ::std::result::Result::Ok(())
2028 }
2029
2030 #[allow(unused_variables)]
2032 fn compute_size(&self) -> u64 {
2033 let mut my_size = 0;
2034 if let Some(v) = self.repository_url.as_ref() {
2035 my_size += ::protobuf::rt::string_size(1, &v);
2036 }
2037 if let Some(v) = self.branch.as_ref() {
2038 my_size += ::protobuf::rt::string_size(5, &v);
2039 }
2040 if let Some(v) = self.commit.as_ref() {
2041 my_size += ::protobuf::rt::string_size(2, &v);
2042 }
2043 if let Some(v) = self.archive_url.as_ref() {
2044 my_size += ::protobuf::rt::string_size(3, &v);
2045 }
2046 if let Some(v) = self.config_yaml.as_ref() {
2047 my_size += ::protobuf::rt::string_size(6, &v);
2048 }
2049 for value in &self.files {
2050 let len = value.compute_size();
2051 my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
2052 };
2053 my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
2054 self.special_fields.cached_size().set(my_size as u32);
2055 my_size
2056 }
2057
2058 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
2059 if let Some(v) = self.repository_url.as_ref() {
2060 os.write_string(1, v)?;
2061 }
2062 if let Some(v) = self.branch.as_ref() {
2063 os.write_string(5, v)?;
2064 }
2065 if let Some(v) = self.commit.as_ref() {
2066 os.write_string(2, v)?;
2067 }
2068 if let Some(v) = self.archive_url.as_ref() {
2069 os.write_string(3, v)?;
2070 }
2071 if let Some(v) = self.config_yaml.as_ref() {
2072 os.write_string(6, v)?;
2073 }
2074 for v in &self.files {
2075 ::protobuf::rt::write_message_field_with_cached_size(4, v, os)?;
2076 };
2077 os.write_unknown_fields(self.special_fields.unknown_fields())?;
2078 ::std::result::Result::Ok(())
2079 }
2080
2081 fn special_fields(&self) -> &::protobuf::SpecialFields {
2082 &self.special_fields
2083 }
2084
2085 fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
2086 &mut self.special_fields
2087 }
2088
2089 fn new() -> SourceProto {
2090 SourceProto::new()
2091 }
2092
2093 fn clear(&mut self) {
2094 self.repository_url = ::std::option::Option::None;
2095 self.branch = ::std::option::Option::None;
2096 self.commit = ::std::option::Option::None;
2097 self.archive_url = ::std::option::Option::None;
2098 self.config_yaml = ::std::option::Option::None;
2099 self.files.clear();
2100 self.special_fields.clear();
2101 }
2102
2103 fn default_instance() -> &'static SourceProto {
2104 static instance: SourceProto = SourceProto {
2105 repository_url: ::std::option::Option::None,
2106 branch: ::std::option::Option::None,
2107 commit: ::std::option::Option::None,
2108 archive_url: ::std::option::Option::None,
2109 config_yaml: ::std::option::Option::None,
2110 files: ::std::vec::Vec::new(),
2111 special_fields: ::protobuf::SpecialFields::new(),
2112 };
2113 &instance
2114 }
2115}
2116
2117impl ::protobuf::MessageFull for SourceProto {
2118 fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
2119 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
2120 descriptor.get(|| file_descriptor().message_by_package_relative_name("SourceProto").unwrap()).clone()
2121 }
2122}
2123
2124impl ::std::fmt::Display for SourceProto {
2125 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2126 ::protobuf::text_format::fmt(self, f)
2127 }
2128}
2129
2130impl ::protobuf::reflect::ProtobufValue for SourceProto {
2131 type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
2132}
2133
2134#[derive(PartialEq,Clone,Default,Debug)]
2138pub struct SourceFileProto {
2139 pub source_file: ::std::option::Option<::std::string::String>,
2142 pub dest_file: ::std::option::Option<::std::string::String>,
2144 pub special_fields: ::protobuf::SpecialFields,
2147}
2148
2149impl<'a> ::std::default::Default for &'a SourceFileProto {
2150 fn default() -> &'a SourceFileProto {
2151 <SourceFileProto as ::protobuf::Message>::default_instance()
2152 }
2153}
2154
2155impl SourceFileProto {
2156 pub fn new() -> SourceFileProto {
2157 ::std::default::Default::default()
2158 }
2159
2160 pub fn source_file(&self) -> &str {
2163 match self.source_file.as_ref() {
2164 Some(v) => v,
2165 None => "",
2166 }
2167 }
2168
2169 pub fn clear_source_file(&mut self) {
2170 self.source_file = ::std::option::Option::None;
2171 }
2172
2173 pub fn has_source_file(&self) -> bool {
2174 self.source_file.is_some()
2175 }
2176
2177 pub fn set_source_file(&mut self, v: ::std::string::String) {
2179 self.source_file = ::std::option::Option::Some(v);
2180 }
2181
2182 pub fn mut_source_file(&mut self) -> &mut ::std::string::String {
2185 if self.source_file.is_none() {
2186 self.source_file = ::std::option::Option::Some(::std::string::String::new());
2187 }
2188 self.source_file.as_mut().unwrap()
2189 }
2190
2191 pub fn take_source_file(&mut self) -> ::std::string::String {
2193 self.source_file.take().unwrap_or_else(|| ::std::string::String::new())
2194 }
2195
2196 pub fn dest_file(&self) -> &str {
2199 match self.dest_file.as_ref() {
2200 Some(v) => v,
2201 None => "",
2202 }
2203 }
2204
2205 pub fn clear_dest_file(&mut self) {
2206 self.dest_file = ::std::option::Option::None;
2207 }
2208
2209 pub fn has_dest_file(&self) -> bool {
2210 self.dest_file.is_some()
2211 }
2212
2213 pub fn set_dest_file(&mut self, v: ::std::string::String) {
2215 self.dest_file = ::std::option::Option::Some(v);
2216 }
2217
2218 pub fn mut_dest_file(&mut self) -> &mut ::std::string::String {
2221 if self.dest_file.is_none() {
2222 self.dest_file = ::std::option::Option::Some(::std::string::String::new());
2223 }
2224 self.dest_file.as_mut().unwrap()
2225 }
2226
2227 pub fn take_dest_file(&mut self) -> ::std::string::String {
2229 self.dest_file.take().unwrap_or_else(|| ::std::string::String::new())
2230 }
2231
2232 fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
2233 let mut fields = ::std::vec::Vec::with_capacity(2);
2234 let mut oneofs = ::std::vec::Vec::with_capacity(0);
2235 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
2236 "source_file",
2237 |m: &SourceFileProto| { &m.source_file },
2238 |m: &mut SourceFileProto| { &mut m.source_file },
2239 ));
2240 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
2241 "dest_file",
2242 |m: &SourceFileProto| { &m.dest_file },
2243 |m: &mut SourceFileProto| { &mut m.dest_file },
2244 ));
2245 ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<SourceFileProto>(
2246 "SourceFileProto",
2247 fields,
2248 oneofs,
2249 )
2250 }
2251}
2252
2253impl ::protobuf::Message for SourceFileProto {
2254 const NAME: &'static str = "SourceFileProto";
2255
2256 fn is_initialized(&self) -> bool {
2257 true
2258 }
2259
2260 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
2261 while let Some(tag) = is.read_raw_tag_or_eof()? {
2262 match tag {
2263 10 => {
2264 self.source_file = ::std::option::Option::Some(is.read_string()?);
2265 },
2266 18 => {
2267 self.dest_file = ::std::option::Option::Some(is.read_string()?);
2268 },
2269 tag => {
2270 ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
2271 },
2272 };
2273 }
2274 ::std::result::Result::Ok(())
2275 }
2276
2277 #[allow(unused_variables)]
2279 fn compute_size(&self) -> u64 {
2280 let mut my_size = 0;
2281 if let Some(v) = self.source_file.as_ref() {
2282 my_size += ::protobuf::rt::string_size(1, &v);
2283 }
2284 if let Some(v) = self.dest_file.as_ref() {
2285 my_size += ::protobuf::rt::string_size(2, &v);
2286 }
2287 my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
2288 self.special_fields.cached_size().set(my_size as u32);
2289 my_size
2290 }
2291
2292 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
2293 if let Some(v) = self.source_file.as_ref() {
2294 os.write_string(1, v)?;
2295 }
2296 if let Some(v) = self.dest_file.as_ref() {
2297 os.write_string(2, v)?;
2298 }
2299 os.write_unknown_fields(self.special_fields.unknown_fields())?;
2300 ::std::result::Result::Ok(())
2301 }
2302
2303 fn special_fields(&self) -> &::protobuf::SpecialFields {
2304 &self.special_fields
2305 }
2306
2307 fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
2308 &mut self.special_fields
2309 }
2310
2311 fn new() -> SourceFileProto {
2312 SourceFileProto::new()
2313 }
2314
2315 fn clear(&mut self) {
2316 self.source_file = ::std::option::Option::None;
2317 self.dest_file = ::std::option::Option::None;
2318 self.special_fields.clear();
2319 }
2320
2321 fn default_instance() -> &'static SourceFileProto {
2322 static instance: SourceFileProto = SourceFileProto {
2323 source_file: ::std::option::Option::None,
2324 dest_file: ::std::option::Option::None,
2325 special_fields: ::protobuf::SpecialFields::new(),
2326 };
2327 &instance
2328 }
2329}
2330
2331impl ::protobuf::MessageFull for SourceFileProto {
2332 fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
2333 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
2334 descriptor.get(|| file_descriptor().message_by_package_relative_name("SourceFileProto").unwrap()).clone()
2335 }
2336}
2337
2338impl ::std::fmt::Display for SourceFileProto {
2339 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2340 ::protobuf::text_format::fmt(self, f)
2341 }
2342}
2343
2344impl ::protobuf::reflect::ProtobufValue for SourceFileProto {
2345 type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
2346}
2347
2348#[derive(PartialEq,Clone,Default,Debug)]
2351pub struct TargetProto {
2352 pub target_type: ::std::option::Option<::protobuf::EnumOrUnknown<TargetTypeProto>>,
2355 pub special_fields: ::protobuf::SpecialFields,
2358}
2359
2360impl<'a> ::std::default::Default for &'a TargetProto {
2361 fn default() -> &'a TargetProto {
2362 <TargetProto as ::protobuf::Message>::default_instance()
2363 }
2364}
2365
2366impl TargetProto {
2367 pub fn new() -> TargetProto {
2368 ::std::default::Default::default()
2369 }
2370
2371 pub fn target_type(&self) -> TargetTypeProto {
2374 match self.target_type {
2375 Some(e) => e.enum_value_or(TargetTypeProto::TARGET_UNSPECIFIED),
2376 None => TargetTypeProto::TARGET_UNSPECIFIED,
2377 }
2378 }
2379
2380 pub fn clear_target_type(&mut self) {
2381 self.target_type = ::std::option::Option::None;
2382 }
2383
2384 pub fn has_target_type(&self) -> bool {
2385 self.target_type.is_some()
2386 }
2387
2388 pub fn set_target_type(&mut self, v: TargetTypeProto) {
2390 self.target_type = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v));
2391 }
2392
2393 fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
2394 let mut fields = ::std::vec::Vec::with_capacity(1);
2395 let mut oneofs = ::std::vec::Vec::with_capacity(0);
2396 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
2397 "target_type",
2398 |m: &TargetProto| { &m.target_type },
2399 |m: &mut TargetProto| { &mut m.target_type },
2400 ));
2401 ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<TargetProto>(
2402 "TargetProto",
2403 fields,
2404 oneofs,
2405 )
2406 }
2407}
2408
2409impl ::protobuf::Message for TargetProto {
2410 const NAME: &'static str = "TargetProto";
2411
2412 fn is_initialized(&self) -> bool {
2413 true
2414 }
2415
2416 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
2417 while let Some(tag) = is.read_raw_tag_or_eof()? {
2418 match tag {
2419 8 => {
2420 self.target_type = ::std::option::Option::Some(is.read_enum_or_unknown()?);
2421 },
2422 tag => {
2423 ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
2424 },
2425 };
2426 }
2427 ::std::result::Result::Ok(())
2428 }
2429
2430 #[allow(unused_variables)]
2432 fn compute_size(&self) -> u64 {
2433 let mut my_size = 0;
2434 if let Some(v) = self.target_type {
2435 my_size += ::protobuf::rt::int32_size(1, v.value());
2436 }
2437 my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
2438 self.special_fields.cached_size().set(my_size as u32);
2439 my_size
2440 }
2441
2442 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
2443 if let Some(v) = self.target_type {
2444 os.write_enum(1, ::protobuf::EnumOrUnknown::value(&v))?;
2445 }
2446 os.write_unknown_fields(self.special_fields.unknown_fields())?;
2447 ::std::result::Result::Ok(())
2448 }
2449
2450 fn special_fields(&self) -> &::protobuf::SpecialFields {
2451 &self.special_fields
2452 }
2453
2454 fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
2455 &mut self.special_fields
2456 }
2457
2458 fn new() -> TargetProto {
2459 TargetProto::new()
2460 }
2461
2462 fn clear(&mut self) {
2463 self.target_type = ::std::option::Option::None;
2464 self.special_fields.clear();
2465 }
2466
2467 fn default_instance() -> &'static TargetProto {
2468 static instance: TargetProto = TargetProto {
2469 target_type: ::std::option::Option::None,
2470 special_fields: ::protobuf::SpecialFields::new(),
2471 };
2472 &instance
2473 }
2474}
2475
2476impl ::protobuf::MessageFull for TargetProto {
2477 fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
2478 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
2479 descriptor.get(|| file_descriptor().message_by_package_relative_name("TargetProto").unwrap()).clone()
2480 }
2481}
2482
2483impl ::std::fmt::Display for TargetProto {
2484 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2485 ::protobuf::text_format::fmt(self, f)
2486 }
2487}
2488
2489impl ::protobuf::reflect::ProtobufValue for TargetProto {
2490 type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
2491}
2492
2493#[derive(PartialEq,Clone,Default,Debug)]
2495pub struct FamilyFallbackProto {
2496 pub axis_target: ::std::vec::Vec<AxisSegmentProto>,
2499 pub target: ::std::vec::Vec<TargetProto>,
2501 pub size_adjust_pct: ::std::option::Option<f32>,
2503 pub ascent_override_pct: ::std::option::Option<f32>,
2505 pub local_src: ::std::vec::Vec<::std::string::String>,
2507 pub special_fields: ::protobuf::SpecialFields,
2510}
2511
2512impl<'a> ::std::default::Default for &'a FamilyFallbackProto {
2513 fn default() -> &'a FamilyFallbackProto {
2514 <FamilyFallbackProto as ::protobuf::Message>::default_instance()
2515 }
2516}
2517
2518impl FamilyFallbackProto {
2519 pub fn new() -> FamilyFallbackProto {
2520 ::std::default::Default::default()
2521 }
2522
2523 pub fn size_adjust_pct(&self) -> f32 {
2526 self.size_adjust_pct.unwrap_or(0.)
2527 }
2528
2529 pub fn clear_size_adjust_pct(&mut self) {
2530 self.size_adjust_pct = ::std::option::Option::None;
2531 }
2532
2533 pub fn has_size_adjust_pct(&self) -> bool {
2534 self.size_adjust_pct.is_some()
2535 }
2536
2537 pub fn set_size_adjust_pct(&mut self, v: f32) {
2539 self.size_adjust_pct = ::std::option::Option::Some(v);
2540 }
2541
2542 pub fn ascent_override_pct(&self) -> f32 {
2545 self.ascent_override_pct.unwrap_or(0.)
2546 }
2547
2548 pub fn clear_ascent_override_pct(&mut self) {
2549 self.ascent_override_pct = ::std::option::Option::None;
2550 }
2551
2552 pub fn has_ascent_override_pct(&self) -> bool {
2553 self.ascent_override_pct.is_some()
2554 }
2555
2556 pub fn set_ascent_override_pct(&mut self, v: f32) {
2558 self.ascent_override_pct = ::std::option::Option::Some(v);
2559 }
2560
2561 fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
2562 let mut fields = ::std::vec::Vec::with_capacity(5);
2563 let mut oneofs = ::std::vec::Vec::with_capacity(0);
2564 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
2565 "axis_target",
2566 |m: &FamilyFallbackProto| { &m.axis_target },
2567 |m: &mut FamilyFallbackProto| { &mut m.axis_target },
2568 ));
2569 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
2570 "target",
2571 |m: &FamilyFallbackProto| { &m.target },
2572 |m: &mut FamilyFallbackProto| { &mut m.target },
2573 ));
2574 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
2575 "size_adjust_pct",
2576 |m: &FamilyFallbackProto| { &m.size_adjust_pct },
2577 |m: &mut FamilyFallbackProto| { &mut m.size_adjust_pct },
2578 ));
2579 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
2580 "ascent_override_pct",
2581 |m: &FamilyFallbackProto| { &m.ascent_override_pct },
2582 |m: &mut FamilyFallbackProto| { &mut m.ascent_override_pct },
2583 ));
2584 fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
2585 "local_src",
2586 |m: &FamilyFallbackProto| { &m.local_src },
2587 |m: &mut FamilyFallbackProto| { &mut m.local_src },
2588 ));
2589 ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<FamilyFallbackProto>(
2590 "FamilyFallbackProto",
2591 fields,
2592 oneofs,
2593 )
2594 }
2595}
2596
2597impl ::protobuf::Message for FamilyFallbackProto {
2598 const NAME: &'static str = "FamilyFallbackProto";
2599
2600 fn is_initialized(&self) -> bool {
2601 true
2602 }
2603
2604 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
2605 while let Some(tag) = is.read_raw_tag_or_eof()? {
2606 match tag {
2607 10 => {
2608 self.axis_target.push(is.read_message()?);
2609 },
2610 18 => {
2611 self.target.push(is.read_message()?);
2612 },
2613 29 => {
2614 self.size_adjust_pct = ::std::option::Option::Some(is.read_float()?);
2615 },
2616 45 => {
2617 self.ascent_override_pct = ::std::option::Option::Some(is.read_float()?);
2618 },
2619 34 => {
2620 self.local_src.push(is.read_string()?);
2621 },
2622 tag => {
2623 ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
2624 },
2625 };
2626 }
2627 ::std::result::Result::Ok(())
2628 }
2629
2630 #[allow(unused_variables)]
2632 fn compute_size(&self) -> u64 {
2633 let mut my_size = 0;
2634 for value in &self.axis_target {
2635 let len = value.compute_size();
2636 my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
2637 };
2638 for value in &self.target {
2639 let len = value.compute_size();
2640 my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
2641 };
2642 if let Some(v) = self.size_adjust_pct {
2643 my_size += 1 + 4;
2644 }
2645 if let Some(v) = self.ascent_override_pct {
2646 my_size += 1 + 4;
2647 }
2648 for value in &self.local_src {
2649 my_size += ::protobuf::rt::string_size(4, &value);
2650 };
2651 my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
2652 self.special_fields.cached_size().set(my_size as u32);
2653 my_size
2654 }
2655
2656 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
2657 for v in &self.axis_target {
2658 ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
2659 };
2660 for v in &self.target {
2661 ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
2662 };
2663 if let Some(v) = self.size_adjust_pct {
2664 os.write_float(3, v)?;
2665 }
2666 if let Some(v) = self.ascent_override_pct {
2667 os.write_float(5, v)?;
2668 }
2669 for v in &self.local_src {
2670 os.write_string(4, &v)?;
2671 };
2672 os.write_unknown_fields(self.special_fields.unknown_fields())?;
2673 ::std::result::Result::Ok(())
2674 }
2675
2676 fn special_fields(&self) -> &::protobuf::SpecialFields {
2677 &self.special_fields
2678 }
2679
2680 fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
2681 &mut self.special_fields
2682 }
2683
2684 fn new() -> FamilyFallbackProto {
2685 FamilyFallbackProto::new()
2686 }
2687
2688 fn clear(&mut self) {
2689 self.axis_target.clear();
2690 self.target.clear();
2691 self.size_adjust_pct = ::std::option::Option::None;
2692 self.ascent_override_pct = ::std::option::Option::None;
2693 self.local_src.clear();
2694 self.special_fields.clear();
2695 }
2696
2697 fn default_instance() -> &'static FamilyFallbackProto {
2698 static instance: FamilyFallbackProto = FamilyFallbackProto {
2699 axis_target: ::std::vec::Vec::new(),
2700 target: ::std::vec::Vec::new(),
2701 size_adjust_pct: ::std::option::Option::None,
2702 ascent_override_pct: ::std::option::Option::None,
2703 local_src: ::std::vec::Vec::new(),
2704 special_fields: ::protobuf::SpecialFields::new(),
2705 };
2706 &instance
2707 }
2708}
2709
2710impl ::protobuf::MessageFull for FamilyFallbackProto {
2711 fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
2712 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
2713 descriptor.get(|| file_descriptor().message_by_package_relative_name("FamilyFallbackProto").unwrap()).clone()
2714 }
2715}
2716
2717impl ::std::fmt::Display for FamilyFallbackProto {
2718 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2719 ::protobuf::text_format::fmt(self, f)
2720 }
2721}
2722
2723impl ::protobuf::reflect::ProtobufValue for FamilyFallbackProto {
2724 type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
2725}
2726
2727#[derive(PartialEq,Clone,Default,Debug)]
2731pub struct SampleTextProto {
2732 pub masthead_full: ::std::option::Option<::std::string::String>,
2735 pub masthead_partial: ::std::option::Option<::std::string::String>,
2737 pub styles: ::std::option::Option<::std::string::String>,
2739 pub tester: ::std::option::Option<::std::string::String>,
2741 pub poster_sm: ::std::option::Option<::std::string::String>,
2743 pub poster_md: ::std::option::Option<::std::string::String>,
2745 pub poster_lg: ::std::option::Option<::std::string::String>,
2747 pub specimen_48: ::std::option::Option<::std::string::String>,
2749 pub specimen_36: ::std::option::Option<::std::string::String>,
2751 pub specimen_32: ::std::option::Option<::std::string::String>,
2753 pub specimen_21: ::std::option::Option<::std::string::String>,
2755 pub specimen_16: ::std::option::Option<::std::string::String>,
2757 pub note: ::std::option::Option<::std::string::String>,
2759 pub special_fields: ::protobuf::SpecialFields,
2762}
2763
2764impl<'a> ::std::default::Default for &'a SampleTextProto {
2765 fn default() -> &'a SampleTextProto {
2766 <SampleTextProto as ::protobuf::Message>::default_instance()
2767 }
2768}
2769
2770impl SampleTextProto {
2771 pub fn new() -> SampleTextProto {
2772 ::std::default::Default::default()
2773 }
2774
2775 pub fn masthead_full(&self) -> &str {
2778 match self.masthead_full.as_ref() {
2779 Some(v) => v,
2780 None => "",
2781 }
2782 }
2783
2784 pub fn clear_masthead_full(&mut self) {
2785 self.masthead_full = ::std::option::Option::None;
2786 }
2787
2788 pub fn has_masthead_full(&self) -> bool {
2789 self.masthead_full.is_some()
2790 }
2791
2792 pub fn set_masthead_full(&mut self, v: ::std::string::String) {
2794 self.masthead_full = ::std::option::Option::Some(v);
2795 }
2796
2797 pub fn mut_masthead_full(&mut self) -> &mut ::std::string::String {
2800 if self.masthead_full.is_none() {
2801 self.masthead_full = ::std::option::Option::Some(::std::string::String::new());
2802 }
2803 self.masthead_full.as_mut().unwrap()
2804 }
2805
2806 pub fn take_masthead_full(&mut self) -> ::std::string::String {
2808 self.masthead_full.take().unwrap_or_else(|| ::std::string::String::new())
2809 }
2810
2811 pub fn masthead_partial(&self) -> &str {
2814 match self.masthead_partial.as_ref() {
2815 Some(v) => v,
2816 None => "",
2817 }
2818 }
2819
2820 pub fn clear_masthead_partial(&mut self) {
2821 self.masthead_partial = ::std::option::Option::None;
2822 }
2823
2824 pub fn has_masthead_partial(&self) -> bool {
2825 self.masthead_partial.is_some()
2826 }
2827
2828 pub fn set_masthead_partial(&mut self, v: ::std::string::String) {
2830 self.masthead_partial = ::std::option::Option::Some(v);
2831 }
2832
2833 pub fn mut_masthead_partial(&mut self) -> &mut ::std::string::String {
2836 if self.masthead_partial.is_none() {
2837 self.masthead_partial = ::std::option::Option::Some(::std::string::String::new());
2838 }
2839 self.masthead_partial.as_mut().unwrap()
2840 }
2841
2842 pub fn take_masthead_partial(&mut self) -> ::std::string::String {
2844 self.masthead_partial.take().unwrap_or_else(|| ::std::string::String::new())
2845 }
2846
2847 pub fn styles(&self) -> &str {
2850 match self.styles.as_ref() {
2851 Some(v) => v,
2852 None => "",
2853 }
2854 }
2855
2856 pub fn clear_styles(&mut self) {
2857 self.styles = ::std::option::Option::None;
2858 }
2859
2860 pub fn has_styles(&self) -> bool {
2861 self.styles.is_some()
2862 }
2863
2864 pub fn set_styles(&mut self, v: ::std::string::String) {
2866 self.styles = ::std::option::Option::Some(v);
2867 }
2868
2869 pub fn mut_styles(&mut self) -> &mut ::std::string::String {
2872 if self.styles.is_none() {
2873 self.styles = ::std::option::Option::Some(::std::string::String::new());
2874 }
2875 self.styles.as_mut().unwrap()
2876 }
2877
2878 pub fn take_styles(&mut self) -> ::std::string::String {
2880 self.styles.take().unwrap_or_else(|| ::std::string::String::new())
2881 }
2882
2883 pub fn tester(&self) -> &str {
2886 match self.tester.as_ref() {
2887 Some(v) => v,
2888 None => "",
2889 }
2890 }
2891
2892 pub fn clear_tester(&mut self) {
2893 self.tester = ::std::option::Option::None;
2894 }
2895
2896 pub fn has_tester(&self) -> bool {
2897 self.tester.is_some()
2898 }
2899
2900 pub fn set_tester(&mut self, v: ::std::string::String) {
2902 self.tester = ::std::option::Option::Some(v);
2903 }
2904
2905 pub fn mut_tester(&mut self) -> &mut ::std::string::String {
2908 if self.tester.is_none() {
2909 self.tester = ::std::option::Option::Some(::std::string::String::new());
2910 }
2911 self.tester.as_mut().unwrap()
2912 }
2913
2914 pub fn take_tester(&mut self) -> ::std::string::String {
2916 self.tester.take().unwrap_or_else(|| ::std::string::String::new())
2917 }
2918
2919 pub fn poster_sm(&self) -> &str {
2922 match self.poster_sm.as_ref() {
2923 Some(v) => v,
2924 None => "",
2925 }
2926 }
2927
2928 pub fn clear_poster_sm(&mut self) {
2929 self.poster_sm = ::std::option::Option::None;
2930 }
2931
2932 pub fn has_poster_sm(&self) -> bool {
2933 self.poster_sm.is_some()
2934 }
2935
2936 pub fn set_poster_sm(&mut self, v: ::std::string::String) {
2938 self.poster_sm = ::std::option::Option::Some(v);
2939 }
2940
2941 pub fn mut_poster_sm(&mut self) -> &mut ::std::string::String {
2944 if self.poster_sm.is_none() {
2945 self.poster_sm = ::std::option::Option::Some(::std::string::String::new());
2946 }
2947 self.poster_sm.as_mut().unwrap()
2948 }
2949
2950 pub fn take_poster_sm(&mut self) -> ::std::string::String {
2952 self.poster_sm.take().unwrap_or_else(|| ::std::string::String::new())
2953 }
2954
2955 pub fn poster_md(&self) -> &str {
2958 match self.poster_md.as_ref() {
2959 Some(v) => v,
2960 None => "",
2961 }
2962 }
2963
2964 pub fn clear_poster_md(&mut self) {
2965 self.poster_md = ::std::option::Option::None;
2966 }
2967
2968 pub fn has_poster_md(&self) -> bool {
2969 self.poster_md.is_some()
2970 }
2971
2972 pub fn set_poster_md(&mut self, v: ::std::string::String) {
2974 self.poster_md = ::std::option::Option::Some(v);
2975 }
2976
2977 pub fn mut_poster_md(&mut self) -> &mut ::std::string::String {
2980 if self.poster_md.is_none() {
2981 self.poster_md = ::std::option::Option::Some(::std::string::String::new());
2982 }
2983 self.poster_md.as_mut().unwrap()
2984 }
2985
2986 pub fn take_poster_md(&mut self) -> ::std::string::String {
2988 self.poster_md.take().unwrap_or_else(|| ::std::string::String::new())
2989 }
2990
2991 pub fn poster_lg(&self) -> &str {
2994 match self.poster_lg.as_ref() {
2995 Some(v) => v,
2996 None => "",
2997 }
2998 }
2999
3000 pub fn clear_poster_lg(&mut self) {
3001 self.poster_lg = ::std::option::Option::None;
3002 }
3003
3004 pub fn has_poster_lg(&self) -> bool {
3005 self.poster_lg.is_some()
3006 }
3007
3008 pub fn set_poster_lg(&mut self, v: ::std::string::String) {
3010 self.poster_lg = ::std::option::Option::Some(v);
3011 }
3012
3013 pub fn mut_poster_lg(&mut self) -> &mut ::std::string::String {
3016 if self.poster_lg.is_none() {
3017 self.poster_lg = ::std::option::Option::Some(::std::string::String::new());
3018 }
3019 self.poster_lg.as_mut().unwrap()
3020 }
3021
3022 pub fn take_poster_lg(&mut self) -> ::std::string::String {
3024 self.poster_lg.take().unwrap_or_else(|| ::std::string::String::new())
3025 }
3026
3027 pub fn specimen_48(&self) -> &str {
3030 match self.specimen_48.as_ref() {
3031 Some(v) => v,
3032 None => "",
3033 }
3034 }
3035
3036 pub fn clear_specimen_48(&mut self) {
3037 self.specimen_48 = ::std::option::Option::None;
3038 }
3039
3040 pub fn has_specimen_48(&self) -> bool {
3041 self.specimen_48.is_some()
3042 }
3043
3044 pub fn set_specimen_48(&mut self, v: ::std::string::String) {
3046 self.specimen_48 = ::std::option::Option::Some(v);
3047 }
3048
3049 pub fn mut_specimen_48(&mut self) -> &mut ::std::string::String {
3052 if self.specimen_48.is_none() {
3053 self.specimen_48 = ::std::option::Option::Some(::std::string::String::new());
3054 }
3055 self.specimen_48.as_mut().unwrap()
3056 }
3057
3058 pub fn take_specimen_48(&mut self) -> ::std::string::String {
3060 self.specimen_48.take().unwrap_or_else(|| ::std::string::String::new())
3061 }
3062
3063 pub fn specimen_36(&self) -> &str {
3066 match self.specimen_36.as_ref() {
3067 Some(v) => v,
3068 None => "",
3069 }
3070 }
3071
3072 pub fn clear_specimen_36(&mut self) {
3073 self.specimen_36 = ::std::option::Option::None;
3074 }
3075
3076 pub fn has_specimen_36(&self) -> bool {
3077 self.specimen_36.is_some()
3078 }
3079
3080 pub fn set_specimen_36(&mut self, v: ::std::string::String) {
3082 self.specimen_36 = ::std::option::Option::Some(v);
3083 }
3084
3085 pub fn mut_specimen_36(&mut self) -> &mut ::std::string::String {
3088 if self.specimen_36.is_none() {
3089 self.specimen_36 = ::std::option::Option::Some(::std::string::String::new());
3090 }
3091 self.specimen_36.as_mut().unwrap()
3092 }
3093
3094 pub fn take_specimen_36(&mut self) -> ::std::string::String {
3096 self.specimen_36.take().unwrap_or_else(|| ::std::string::String::new())
3097 }
3098
3099 pub fn specimen_32(&self) -> &str {
3102 match self.specimen_32.as_ref() {
3103 Some(v) => v,
3104 None => "",
3105 }
3106 }
3107
3108 pub fn clear_specimen_32(&mut self) {
3109 self.specimen_32 = ::std::option::Option::None;
3110 }
3111
3112 pub fn has_specimen_32(&self) -> bool {
3113 self.specimen_32.is_some()
3114 }
3115
3116 pub fn set_specimen_32(&mut self, v: ::std::string::String) {
3118 self.specimen_32 = ::std::option::Option::Some(v);
3119 }
3120
3121 pub fn mut_specimen_32(&mut self) -> &mut ::std::string::String {
3124 if self.specimen_32.is_none() {
3125 self.specimen_32 = ::std::option::Option::Some(::std::string::String::new());
3126 }
3127 self.specimen_32.as_mut().unwrap()
3128 }
3129
3130 pub fn take_specimen_32(&mut self) -> ::std::string::String {
3132 self.specimen_32.take().unwrap_or_else(|| ::std::string::String::new())
3133 }
3134
3135 pub fn specimen_21(&self) -> &str {
3138 match self.specimen_21.as_ref() {
3139 Some(v) => v,
3140 None => "",
3141 }
3142 }
3143
3144 pub fn clear_specimen_21(&mut self) {
3145 self.specimen_21 = ::std::option::Option::None;
3146 }
3147
3148 pub fn has_specimen_21(&self) -> bool {
3149 self.specimen_21.is_some()
3150 }
3151
3152 pub fn set_specimen_21(&mut self, v: ::std::string::String) {
3154 self.specimen_21 = ::std::option::Option::Some(v);
3155 }
3156
3157 pub fn mut_specimen_21(&mut self) -> &mut ::std::string::String {
3160 if self.specimen_21.is_none() {
3161 self.specimen_21 = ::std::option::Option::Some(::std::string::String::new());
3162 }
3163 self.specimen_21.as_mut().unwrap()
3164 }
3165
3166 pub fn take_specimen_21(&mut self) -> ::std::string::String {
3168 self.specimen_21.take().unwrap_or_else(|| ::std::string::String::new())
3169 }
3170
3171 pub fn specimen_16(&self) -> &str {
3174 match self.specimen_16.as_ref() {
3175 Some(v) => v,
3176 None => "",
3177 }
3178 }
3179
3180 pub fn clear_specimen_16(&mut self) {
3181 self.specimen_16 = ::std::option::Option::None;
3182 }
3183
3184 pub fn has_specimen_16(&self) -> bool {
3185 self.specimen_16.is_some()
3186 }
3187
3188 pub fn set_specimen_16(&mut self, v: ::std::string::String) {
3190 self.specimen_16 = ::std::option::Option::Some(v);
3191 }
3192
3193 pub fn mut_specimen_16(&mut self) -> &mut ::std::string::String {
3196 if self.specimen_16.is_none() {
3197 self.specimen_16 = ::std::option::Option::Some(::std::string::String::new());
3198 }
3199 self.specimen_16.as_mut().unwrap()
3200 }
3201
3202 pub fn take_specimen_16(&mut self) -> ::std::string::String {
3204 self.specimen_16.take().unwrap_or_else(|| ::std::string::String::new())
3205 }
3206
3207 pub fn note(&self) -> &str {
3210 match self.note.as_ref() {
3211 Some(v) => v,
3212 None => "",
3213 }
3214 }
3215
3216 pub fn clear_note(&mut self) {
3217 self.note = ::std::option::Option::None;
3218 }
3219
3220 pub fn has_note(&self) -> bool {
3221 self.note.is_some()
3222 }
3223
3224 pub fn set_note(&mut self, v: ::std::string::String) {
3226 self.note = ::std::option::Option::Some(v);
3227 }
3228
3229 pub fn mut_note(&mut self) -> &mut ::std::string::String {
3232 if self.note.is_none() {
3233 self.note = ::std::option::Option::Some(::std::string::String::new());
3234 }
3235 self.note.as_mut().unwrap()
3236 }
3237
3238 pub fn take_note(&mut self) -> ::std::string::String {
3240 self.note.take().unwrap_or_else(|| ::std::string::String::new())
3241 }
3242
3243 fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
3244 let mut fields = ::std::vec::Vec::with_capacity(13);
3245 let mut oneofs = ::std::vec::Vec::with_capacity(0);
3246 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
3247 "masthead_full",
3248 |m: &SampleTextProto| { &m.masthead_full },
3249 |m: &mut SampleTextProto| { &mut m.masthead_full },
3250 ));
3251 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
3252 "masthead_partial",
3253 |m: &SampleTextProto| { &m.masthead_partial },
3254 |m: &mut SampleTextProto| { &mut m.masthead_partial },
3255 ));
3256 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
3257 "styles",
3258 |m: &SampleTextProto| { &m.styles },
3259 |m: &mut SampleTextProto| { &mut m.styles },
3260 ));
3261 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
3262 "tester",
3263 |m: &SampleTextProto| { &m.tester },
3264 |m: &mut SampleTextProto| { &mut m.tester },
3265 ));
3266 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
3267 "poster_sm",
3268 |m: &SampleTextProto| { &m.poster_sm },
3269 |m: &mut SampleTextProto| { &mut m.poster_sm },
3270 ));
3271 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
3272 "poster_md",
3273 |m: &SampleTextProto| { &m.poster_md },
3274 |m: &mut SampleTextProto| { &mut m.poster_md },
3275 ));
3276 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
3277 "poster_lg",
3278 |m: &SampleTextProto| { &m.poster_lg },
3279 |m: &mut SampleTextProto| { &mut m.poster_lg },
3280 ));
3281 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
3282 "specimen_48",
3283 |m: &SampleTextProto| { &m.specimen_48 },
3284 |m: &mut SampleTextProto| { &mut m.specimen_48 },
3285 ));
3286 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
3287 "specimen_36",
3288 |m: &SampleTextProto| { &m.specimen_36 },
3289 |m: &mut SampleTextProto| { &mut m.specimen_36 },
3290 ));
3291 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
3292 "specimen_32",
3293 |m: &SampleTextProto| { &m.specimen_32 },
3294 |m: &mut SampleTextProto| { &mut m.specimen_32 },
3295 ));
3296 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
3297 "specimen_21",
3298 |m: &SampleTextProto| { &m.specimen_21 },
3299 |m: &mut SampleTextProto| { &mut m.specimen_21 },
3300 ));
3301 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
3302 "specimen_16",
3303 |m: &SampleTextProto| { &m.specimen_16 },
3304 |m: &mut SampleTextProto| { &mut m.specimen_16 },
3305 ));
3306 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
3307 "note",
3308 |m: &SampleTextProto| { &m.note },
3309 |m: &mut SampleTextProto| { &mut m.note },
3310 ));
3311 ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<SampleTextProto>(
3312 "SampleTextProto",
3313 fields,
3314 oneofs,
3315 )
3316 }
3317}
3318
3319impl ::protobuf::Message for SampleTextProto {
3320 const NAME: &'static str = "SampleTextProto";
3321
3322 fn is_initialized(&self) -> bool {
3323 true
3324 }
3325
3326 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
3327 while let Some(tag) = is.read_raw_tag_or_eof()? {
3328 match tag {
3329 10 => {
3330 self.masthead_full = ::std::option::Option::Some(is.read_string()?);
3331 },
3332 18 => {
3333 self.masthead_partial = ::std::option::Option::Some(is.read_string()?);
3334 },
3335 26 => {
3336 self.styles = ::std::option::Option::Some(is.read_string()?);
3337 },
3338 34 => {
3339 self.tester = ::std::option::Option::Some(is.read_string()?);
3340 },
3341 42 => {
3342 self.poster_sm = ::std::option::Option::Some(is.read_string()?);
3343 },
3344 50 => {
3345 self.poster_md = ::std::option::Option::Some(is.read_string()?);
3346 },
3347 58 => {
3348 self.poster_lg = ::std::option::Option::Some(is.read_string()?);
3349 },
3350 66 => {
3351 self.specimen_48 = ::std::option::Option::Some(is.read_string()?);
3352 },
3353 74 => {
3354 self.specimen_36 = ::std::option::Option::Some(is.read_string()?);
3355 },
3356 82 => {
3357 self.specimen_32 = ::std::option::Option::Some(is.read_string()?);
3358 },
3359 90 => {
3360 self.specimen_21 = ::std::option::Option::Some(is.read_string()?);
3361 },
3362 98 => {
3363 self.specimen_16 = ::std::option::Option::Some(is.read_string()?);
3364 },
3365 106 => {
3366 self.note = ::std::option::Option::Some(is.read_string()?);
3367 },
3368 tag => {
3369 ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
3370 },
3371 };
3372 }
3373 ::std::result::Result::Ok(())
3374 }
3375
3376 #[allow(unused_variables)]
3378 fn compute_size(&self) -> u64 {
3379 let mut my_size = 0;
3380 if let Some(v) = self.masthead_full.as_ref() {
3381 my_size += ::protobuf::rt::string_size(1, &v);
3382 }
3383 if let Some(v) = self.masthead_partial.as_ref() {
3384 my_size += ::protobuf::rt::string_size(2, &v);
3385 }
3386 if let Some(v) = self.styles.as_ref() {
3387 my_size += ::protobuf::rt::string_size(3, &v);
3388 }
3389 if let Some(v) = self.tester.as_ref() {
3390 my_size += ::protobuf::rt::string_size(4, &v);
3391 }
3392 if let Some(v) = self.poster_sm.as_ref() {
3393 my_size += ::protobuf::rt::string_size(5, &v);
3394 }
3395 if let Some(v) = self.poster_md.as_ref() {
3396 my_size += ::protobuf::rt::string_size(6, &v);
3397 }
3398 if let Some(v) = self.poster_lg.as_ref() {
3399 my_size += ::protobuf::rt::string_size(7, &v);
3400 }
3401 if let Some(v) = self.specimen_48.as_ref() {
3402 my_size += ::protobuf::rt::string_size(8, &v);
3403 }
3404 if let Some(v) = self.specimen_36.as_ref() {
3405 my_size += ::protobuf::rt::string_size(9, &v);
3406 }
3407 if let Some(v) = self.specimen_32.as_ref() {
3408 my_size += ::protobuf::rt::string_size(10, &v);
3409 }
3410 if let Some(v) = self.specimen_21.as_ref() {
3411 my_size += ::protobuf::rt::string_size(11, &v);
3412 }
3413 if let Some(v) = self.specimen_16.as_ref() {
3414 my_size += ::protobuf::rt::string_size(12, &v);
3415 }
3416 if let Some(v) = self.note.as_ref() {
3417 my_size += ::protobuf::rt::string_size(13, &v);
3418 }
3419 my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
3420 self.special_fields.cached_size().set(my_size as u32);
3421 my_size
3422 }
3423
3424 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
3425 if let Some(v) = self.masthead_full.as_ref() {
3426 os.write_string(1, v)?;
3427 }
3428 if let Some(v) = self.masthead_partial.as_ref() {
3429 os.write_string(2, v)?;
3430 }
3431 if let Some(v) = self.styles.as_ref() {
3432 os.write_string(3, v)?;
3433 }
3434 if let Some(v) = self.tester.as_ref() {
3435 os.write_string(4, v)?;
3436 }
3437 if let Some(v) = self.poster_sm.as_ref() {
3438 os.write_string(5, v)?;
3439 }
3440 if let Some(v) = self.poster_md.as_ref() {
3441 os.write_string(6, v)?;
3442 }
3443 if let Some(v) = self.poster_lg.as_ref() {
3444 os.write_string(7, v)?;
3445 }
3446 if let Some(v) = self.specimen_48.as_ref() {
3447 os.write_string(8, v)?;
3448 }
3449 if let Some(v) = self.specimen_36.as_ref() {
3450 os.write_string(9, v)?;
3451 }
3452 if let Some(v) = self.specimen_32.as_ref() {
3453 os.write_string(10, v)?;
3454 }
3455 if let Some(v) = self.specimen_21.as_ref() {
3456 os.write_string(11, v)?;
3457 }
3458 if let Some(v) = self.specimen_16.as_ref() {
3459 os.write_string(12, v)?;
3460 }
3461 if let Some(v) = self.note.as_ref() {
3462 os.write_string(13, v)?;
3463 }
3464 os.write_unknown_fields(self.special_fields.unknown_fields())?;
3465 ::std::result::Result::Ok(())
3466 }
3467
3468 fn special_fields(&self) -> &::protobuf::SpecialFields {
3469 &self.special_fields
3470 }
3471
3472 fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
3473 &mut self.special_fields
3474 }
3475
3476 fn new() -> SampleTextProto {
3477 SampleTextProto::new()
3478 }
3479
3480 fn clear(&mut self) {
3481 self.masthead_full = ::std::option::Option::None;
3482 self.masthead_partial = ::std::option::Option::None;
3483 self.styles = ::std::option::Option::None;
3484 self.tester = ::std::option::Option::None;
3485 self.poster_sm = ::std::option::Option::None;
3486 self.poster_md = ::std::option::Option::None;
3487 self.poster_lg = ::std::option::Option::None;
3488 self.specimen_48 = ::std::option::Option::None;
3489 self.specimen_36 = ::std::option::Option::None;
3490 self.specimen_32 = ::std::option::Option::None;
3491 self.specimen_21 = ::std::option::Option::None;
3492 self.specimen_16 = ::std::option::Option::None;
3493 self.note = ::std::option::Option::None;
3494 self.special_fields.clear();
3495 }
3496
3497 fn default_instance() -> &'static SampleTextProto {
3498 static instance: SampleTextProto = SampleTextProto {
3499 masthead_full: ::std::option::Option::None,
3500 masthead_partial: ::std::option::Option::None,
3501 styles: ::std::option::Option::None,
3502 tester: ::std::option::Option::None,
3503 poster_sm: ::std::option::Option::None,
3504 poster_md: ::std::option::Option::None,
3505 poster_lg: ::std::option::Option::None,
3506 specimen_48: ::std::option::Option::None,
3507 specimen_36: ::std::option::Option::None,
3508 specimen_32: ::std::option::Option::None,
3509 specimen_21: ::std::option::Option::None,
3510 specimen_16: ::std::option::Option::None,
3511 note: ::std::option::Option::None,
3512 special_fields: ::protobuf::SpecialFields::new(),
3513 };
3514 &instance
3515 }
3516}
3517
3518impl ::protobuf::MessageFull for SampleTextProto {
3519 fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
3520 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
3521 descriptor.get(|| file_descriptor().message_by_package_relative_name("SampleTextProto").unwrap()).clone()
3522 }
3523}
3524
3525impl ::std::fmt::Display for SampleTextProto {
3526 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3527 ::protobuf::text_format::fmt(self, f)
3528 }
3529}
3530
3531impl ::protobuf::reflect::ProtobufValue for SampleTextProto {
3532 type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
3533}
3534
3535#[derive(PartialEq,Clone,Default,Debug)]
3537pub struct GlyphGroupProto {
3538 pub name: ::std::option::Option<::std::string::String>,
3541 pub glyphs: ::std::option::Option<::std::string::String>,
3543 pub special_fields: ::protobuf::SpecialFields,
3546}
3547
3548impl<'a> ::std::default::Default for &'a GlyphGroupProto {
3549 fn default() -> &'a GlyphGroupProto {
3550 <GlyphGroupProto as ::protobuf::Message>::default_instance()
3551 }
3552}
3553
3554impl GlyphGroupProto {
3555 pub fn new() -> GlyphGroupProto {
3556 ::std::default::Default::default()
3557 }
3558
3559 pub fn name(&self) -> &str {
3562 match self.name.as_ref() {
3563 Some(v) => v,
3564 None => "",
3565 }
3566 }
3567
3568 pub fn clear_name(&mut self) {
3569 self.name = ::std::option::Option::None;
3570 }
3571
3572 pub fn has_name(&self) -> bool {
3573 self.name.is_some()
3574 }
3575
3576 pub fn set_name(&mut self, v: ::std::string::String) {
3578 self.name = ::std::option::Option::Some(v);
3579 }
3580
3581 pub fn mut_name(&mut self) -> &mut ::std::string::String {
3584 if self.name.is_none() {
3585 self.name = ::std::option::Option::Some(::std::string::String::new());
3586 }
3587 self.name.as_mut().unwrap()
3588 }
3589
3590 pub fn take_name(&mut self) -> ::std::string::String {
3592 self.name.take().unwrap_or_else(|| ::std::string::String::new())
3593 }
3594
3595 pub fn glyphs(&self) -> &str {
3598 match self.glyphs.as_ref() {
3599 Some(v) => v,
3600 None => "",
3601 }
3602 }
3603
3604 pub fn clear_glyphs(&mut self) {
3605 self.glyphs = ::std::option::Option::None;
3606 }
3607
3608 pub fn has_glyphs(&self) -> bool {
3609 self.glyphs.is_some()
3610 }
3611
3612 pub fn set_glyphs(&mut self, v: ::std::string::String) {
3614 self.glyphs = ::std::option::Option::Some(v);
3615 }
3616
3617 pub fn mut_glyphs(&mut self) -> &mut ::std::string::String {
3620 if self.glyphs.is_none() {
3621 self.glyphs = ::std::option::Option::Some(::std::string::String::new());
3622 }
3623 self.glyphs.as_mut().unwrap()
3624 }
3625
3626 pub fn take_glyphs(&mut self) -> ::std::string::String {
3628 self.glyphs.take().unwrap_or_else(|| ::std::string::String::new())
3629 }
3630
3631 fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
3632 let mut fields = ::std::vec::Vec::with_capacity(2);
3633 let mut oneofs = ::std::vec::Vec::with_capacity(0);
3634 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
3635 "name",
3636 |m: &GlyphGroupProto| { &m.name },
3637 |m: &mut GlyphGroupProto| { &mut m.name },
3638 ));
3639 fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
3640 "glyphs",
3641 |m: &GlyphGroupProto| { &m.glyphs },
3642 |m: &mut GlyphGroupProto| { &mut m.glyphs },
3643 ));
3644 ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<GlyphGroupProto>(
3645 "GlyphGroupProto",
3646 fields,
3647 oneofs,
3648 )
3649 }
3650}
3651
3652impl ::protobuf::Message for GlyphGroupProto {
3653 const NAME: &'static str = "GlyphGroupProto";
3654
3655 fn is_initialized(&self) -> bool {
3656 true
3657 }
3658
3659 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
3660 while let Some(tag) = is.read_raw_tag_or_eof()? {
3661 match tag {
3662 10 => {
3663 self.name = ::std::option::Option::Some(is.read_string()?);
3664 },
3665 18 => {
3666 self.glyphs = ::std::option::Option::Some(is.read_string()?);
3667 },
3668 tag => {
3669 ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
3670 },
3671 };
3672 }
3673 ::std::result::Result::Ok(())
3674 }
3675
3676 #[allow(unused_variables)]
3678 fn compute_size(&self) -> u64 {
3679 let mut my_size = 0;
3680 if let Some(v) = self.name.as_ref() {
3681 my_size += ::protobuf::rt::string_size(1, &v);
3682 }
3683 if let Some(v) = self.glyphs.as_ref() {
3684 my_size += ::protobuf::rt::string_size(2, &v);
3685 }
3686 my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
3687 self.special_fields.cached_size().set(my_size as u32);
3688 my_size
3689 }
3690
3691 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
3692 if let Some(v) = self.name.as_ref() {
3693 os.write_string(1, v)?;
3694 }
3695 if let Some(v) = self.glyphs.as_ref() {
3696 os.write_string(2, v)?;
3697 }
3698 os.write_unknown_fields(self.special_fields.unknown_fields())?;
3699 ::std::result::Result::Ok(())
3700 }
3701
3702 fn special_fields(&self) -> &::protobuf::SpecialFields {
3703 &self.special_fields
3704 }
3705
3706 fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
3707 &mut self.special_fields
3708 }
3709
3710 fn new() -> GlyphGroupProto {
3711 GlyphGroupProto::new()
3712 }
3713
3714 fn clear(&mut self) {
3715 self.name = ::std::option::Option::None;
3716 self.glyphs = ::std::option::Option::None;
3717 self.special_fields.clear();
3718 }
3719
3720 fn default_instance() -> &'static GlyphGroupProto {
3721 static instance: GlyphGroupProto = GlyphGroupProto {
3722 name: ::std::option::Option::None,
3723 glyphs: ::std::option::Option::None,
3724 special_fields: ::protobuf::SpecialFields::new(),
3725 };
3726 &instance
3727 }
3728}
3729
3730impl ::protobuf::MessageFull for GlyphGroupProto {
3731 fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
3732 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
3733 descriptor.get(|| file_descriptor().message_by_package_relative_name("GlyphGroupProto").unwrap()).clone()
3734 }
3735}
3736
3737impl ::std::fmt::Display for GlyphGroupProto {
3738 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3739 ::protobuf::text_format::fmt(self, f)
3740 }
3741}
3742
3743impl ::protobuf::reflect::ProtobufValue for GlyphGroupProto {
3744 type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
3745}
3746
3747#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
3748pub enum TargetTypeProto {
3750 TARGET_UNSPECIFIED = 0,
3752 TARGET_OS_WINDOWS = 1,
3754 TARGET_OS_MAC = 2,
3756 TARGET_OS_LINUX = 3,
3758 TARGET_OS_ANDROID = 4,
3760 TARGET_OS_IOS = 5,
3762}
3763
3764impl ::protobuf::Enum for TargetTypeProto {
3765 const NAME: &'static str = "TargetTypeProto";
3766
3767 fn value(&self) -> i32 {
3768 *self as i32
3769 }
3770
3771 fn from_i32(value: i32) -> ::std::option::Option<TargetTypeProto> {
3772 match value {
3773 0 => ::std::option::Option::Some(TargetTypeProto::TARGET_UNSPECIFIED),
3774 1 => ::std::option::Option::Some(TargetTypeProto::TARGET_OS_WINDOWS),
3775 2 => ::std::option::Option::Some(TargetTypeProto::TARGET_OS_MAC),
3776 3 => ::std::option::Option::Some(TargetTypeProto::TARGET_OS_LINUX),
3777 4 => ::std::option::Option::Some(TargetTypeProto::TARGET_OS_ANDROID),
3778 5 => ::std::option::Option::Some(TargetTypeProto::TARGET_OS_IOS),
3779 _ => ::std::option::Option::None
3780 }
3781 }
3782
3783 fn from_str(str: &str) -> ::std::option::Option<TargetTypeProto> {
3784 match str {
3785 "TARGET_UNSPECIFIED" => ::std::option::Option::Some(TargetTypeProto::TARGET_UNSPECIFIED),
3786 "TARGET_OS_WINDOWS" => ::std::option::Option::Some(TargetTypeProto::TARGET_OS_WINDOWS),
3787 "TARGET_OS_MAC" => ::std::option::Option::Some(TargetTypeProto::TARGET_OS_MAC),
3788 "TARGET_OS_LINUX" => ::std::option::Option::Some(TargetTypeProto::TARGET_OS_LINUX),
3789 "TARGET_OS_ANDROID" => ::std::option::Option::Some(TargetTypeProto::TARGET_OS_ANDROID),
3790 "TARGET_OS_IOS" => ::std::option::Option::Some(TargetTypeProto::TARGET_OS_IOS),
3791 _ => ::std::option::Option::None
3792 }
3793 }
3794
3795 const VALUES: &'static [TargetTypeProto] = &[
3796 TargetTypeProto::TARGET_UNSPECIFIED,
3797 TargetTypeProto::TARGET_OS_WINDOWS,
3798 TargetTypeProto::TARGET_OS_MAC,
3799 TargetTypeProto::TARGET_OS_LINUX,
3800 TargetTypeProto::TARGET_OS_ANDROID,
3801 TargetTypeProto::TARGET_OS_IOS,
3802 ];
3803}
3804
3805impl ::protobuf::EnumFull for TargetTypeProto {
3806 fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
3807 static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
3808 descriptor.get(|| file_descriptor().enum_by_package_relative_name("TargetTypeProto").unwrap()).clone()
3809 }
3810
3811 fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
3812 let index = *self as usize;
3813 Self::enum_descriptor().value_by_index(index)
3814 }
3815}
3816
3817impl ::std::default::Default for TargetTypeProto {
3818 fn default() -> Self {
3819 TargetTypeProto::TARGET_UNSPECIFIED
3820 }
3821}
3822
3823impl TargetTypeProto {
3824 fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
3825 ::protobuf::reflect::GeneratedEnumDescriptorData::new::<TargetTypeProto>("TargetTypeProto")
3826 }
3827}
3828
3829static file_descriptor_proto_data: &'static [u8] = b"\
3830 \n\x12fonts_public.proto\x12\x13google.fonts_public\"\xfc\t\n\x0bFamilyP\
3831 roto\x12\x12\n\x04name\x18\x01\x20\x02(\tR\x04name\x12\x1a\n\x08designer\
3832 \x18\x02\x20\x02(\tR\x08designer\x12\x18\n\x07license\x18\x03\x20\x02(\t\
3833 R\x07license\x12\x1a\n\x08category\x18\x04\x20\x03(\tR\x08category\x12\
3834 \x1d\n\ndate_added\x18\x05\x20\x02(\tR\tdateAdded\x124\n\x05fonts\x18\
3835 \x06\x20\x03(\x0b2\x1e.google.fonts_public.FontProtoR\x05fonts\x12\x18\n\
3836 \x07aliases\x18\x07\x20\x03(\tR\x07aliases\x12\x18\n\x07subsets\x18\x08\
3837 \x20\x03(\tR\x07subsets\x12*\n\x11ttf_autohint_args\x18\t\x20\x01(\tR\
3838 \x0fttfAutohintArgs\x129\n\x04axes\x18\n\x20\x03(\x0b2%.google.fonts_pub\
3839 lic.AxisSegmentProtoR\x04axes\x12|\n\x1aregistry_default_overrides\x18\
3840 \x0b\x20\x03(\x0b2>.google.fonts_public.FamilyProto.RegistryDefaultOverr\
3841 idesEntryR\x18registryDefaultOverrides\x128\n\x06source\x18\x0c\x20\x01(\
3842 \x0b2\x20.google.fonts_public.SourceProtoR\x06source\x12\x17\n\x07is_not\
3843 o\x18\r\x20\x01(\x08R\x06isNoto\x12\x1c\n\tlanguages\x18\x0e\x20\x03(\tR\
3844 \tlanguages\x12F\n\tfallbacks\x18\x0f\x20\x03(\x0b2(.google.fonts_public\
3845 .FamilyFallbackProtoR\tfallbacks\x12W\n\rsample_glyphs\x18\x10\x20\x03(\
3846 \x0b22.google.fonts_public.FamilyProto.SampleGlyphsEntryR\x0csampleGlyph\
3847 s\x12E\n\x0bsample_text\x18\x11\x20\x01(\x0b2$.google.fonts_public.Sampl\
3848 eTextProtoR\nsampleText\x12!\n\x0cdisplay_name\x18\x12\x20\x01(\tR\x0bdi\
3849 splayName\x12X\n\x15ordered_sample_glyphs\x18\x13\x20\x03(\x0b2$.google.\
3850 fonts_public.GlyphGroupProtoR\x13orderedSampleGlyphs\x12!\n\x0cminisite_\
3851 url\x18\x14\x20\x01(\tR\x0bminisiteUrl\x12%\n\x0eprimary_script\x18\x15\
3852 \x20\x01(\tR\rprimaryScript\x12)\n\x10primary_language\x18\x16\x20\x01(\
3853 \tR\x0fprimaryLanguage\x12\x16\n\x06stroke\x18\x17\x20\x01(\tR\x06stroke\
3854 \x12(\n\x0fclassifications\x18\x19\x20\x03(\tR\x0fclassifications\x1aK\n\
3855 \x1dRegistryDefaultOverridesEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\
3856 \x03key\x12\x14\n\x05value\x18\x02\x20\x01(\x02R\x05value:\x028\x01\x1a?\
3857 \n\x11SampleGlyphsEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\
3858 \x14\n\x05value\x18\x02\x20\x01(\tR\x05value:\x028\x01\"\xce\x01\n\tFont\
3859 Proto\x12\x12\n\x04name\x18\x01\x20\x02(\tR\x04name\x12\x14\n\x05style\
3860 \x18\x02\x20\x02(\tR\x05style\x12\x16\n\x06weight\x18\x03\x20\x02(\x05R\
3861 \x06weight\x12\x1a\n\x08filename\x18\x04\x20\x02(\tR\x08filename\x12(\n\
3862 \x10post_script_name\x18\x05\x20\x02(\tR\x0epostScriptName\x12\x1b\n\tfu\
3863 ll_name\x18\x06\x20\x02(\tR\x08fullName\x12\x1c\n\tcopyright\x18\x07\x20\
3864 \x01(\tR\tcopyright\"s\n\x10AxisSegmentProto\x12\x10\n\x03tag\x18\x01\
3865 \x20\x01(\tR\x03tag\x12\x1b\n\tmin_value\x18\x02\x20\x01(\x02R\x08minVal\
3866 ue\x12\x1b\n\tmax_value\x18\x04\x20\x01(\x02R\x08maxValueJ\x04\x08\x03\
3867 \x10\x04R\rdefault_value\"\xe2\x01\n\x0bSourceProto\x12%\n\x0erepository\
3868 _url\x18\x01\x20\x01(\tR\rrepositoryUrl\x12\x16\n\x06branch\x18\x05\x20\
3869 \x01(\tR\x06branch\x12\x16\n\x06commit\x18\x02\x20\x01(\tR\x06commit\x12\
3870 \x1f\n\x0barchive_url\x18\x03\x20\x01(\tR\narchiveUrl\x12\x1f\n\x0bconfi\
3871 g_yaml\x18\x06\x20\x01(\tR\nconfigYaml\x12:\n\x05files\x18\x04\x20\x03(\
3872 \x0b2$.google.fonts_public.SourceFileProtoR\x05files\"O\n\x0fSourceFileP\
3873 roto\x12\x1f\n\x0bsource_file\x18\x01\x20\x01(\tR\nsourceFile\x12\x1b\n\
3874 \tdest_file\x18\x02\x20\x01(\tR\x08destFile\"T\n\x0bTargetProto\x12E\n\
3875 \x0btarget_type\x18\x01\x20\x01(\x0e2$.google.fonts_public.TargetTypePro\
3876 toR\ntargetType\"\x8c\x02\n\x13FamilyFallbackProto\x12F\n\x0baxis_target\
3877 \x18\x01\x20\x03(\x0b2%.google.fonts_public.AxisSegmentProtoR\naxisTarge\
3878 t\x128\n\x06target\x18\x02\x20\x03(\x0b2\x20.google.fonts_public.TargetP\
3879 rotoR\x06target\x12&\n\x0fsize_adjust_pct\x18\x03\x20\x01(\x02R\rsizeAdj\
3880 ustPct\x12.\n\x13ascent_override_pct\x18\x05\x20\x01(\x02R\x11ascentOver\
3881 ridePct\x12\x1b\n\tlocal_src\x18\x04\x20\x03(\tR\x08localSrc\"\xa1\x03\n\
3882 \x0fSampleTextProto\x12#\n\rmasthead_full\x18\x01\x20\x01(\tR\x0cmasthea\
3883 dFull\x12)\n\x10masthead_partial\x18\x02\x20\x01(\tR\x0fmastheadPartial\
3884 \x12\x16\n\x06styles\x18\x03\x20\x01(\tR\x06styles\x12\x16\n\x06tester\
3885 \x18\x04\x20\x01(\tR\x06tester\x12\x1b\n\tposter_sm\x18\x05\x20\x01(\tR\
3886 \x08posterSm\x12\x1b\n\tposter_md\x18\x06\x20\x01(\tR\x08posterMd\x12\
3887 \x1b\n\tposter_lg\x18\x07\x20\x01(\tR\x08posterLg\x12\x1f\n\x0bspecimen_\
3888 48\x18\x08\x20\x01(\tR\nspecimen48\x12\x1f\n\x0bspecimen_36\x18\t\x20\
3889 \x01(\tR\nspecimen36\x12\x1f\n\x0bspecimen_32\x18\n\x20\x01(\tR\nspecime\
3890 n32\x12\x1f\n\x0bspecimen_21\x18\x0b\x20\x01(\tR\nspecimen21\x12\x1f\n\
3891 \x0bspecimen_16\x18\x0c\x20\x01(\tR\nspecimen16\x12\x12\n\x04note\x18\r\
3892 \x20\x01(\tR\x04note\"=\n\x0fGlyphGroupProto\x12\x12\n\x04name\x18\x01\
3893 \x20\x01(\tR\x04name\x12\x16\n\x06glyphs\x18\x02\x20\x01(\tR\x06glyphs*\
3894 \x92\x01\n\x0fTargetTypeProto\x12\x16\n\x12TARGET_UNSPECIFIED\x10\0\x12\
3895 \x15\n\x11TARGET_OS_WINDOWS\x10\x01\x12\x11\n\rTARGET_OS_MAC\x10\x02\x12\
3896 \x13\n\x0fTARGET_OS_LINUX\x10\x03\x12\x15\n\x11TARGET_OS_ANDROID\x10\x04\
3897 \x12\x11\n\rTARGET_OS_IOS\x10\x05B%\n\x16com.google.fonts.protoB\x0bFont\
3898 sPublicJ\xe63\n\x07\x12\x05\0\0\x8e\x01\x01\n\x08\n\x01\x0c\x12\x03\0\0\
3899 \x12\n8\n\x01\x02\x12\x03\x05\0\x1c\x1a.*\n\x20Open\x20Source'd\x20font\
3900 \x20metadata\x20proto\x20formats.\n\n\x08\n\x01\x08\x12\x03\x07\0/\n\t\n\
3901 \x02\x08\x01\x12\x03\x07\0/\n\x08\n\x01\x08\x12\x03\x08\0,\n\t\n\x02\x08\
3902 \x08\x12\x03\x08\0,\n\n\n\x02\x04\0\x12\x04\n\0:\x01\n\n\n\x03\x04\0\x01\
3903 \x12\x03\n\x08\x13\n\x0b\n\x04\x04\0\x02\0\x12\x03\x0b\x02\x1b\n\x0c\n\
3904 \x05\x04\0\x02\0\x04\x12\x03\x0b\x02\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\
3905 \x03\x0b\x0b\x11\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x0b\x12\x16\n\x0c\n\
3906 \x05\x04\0\x02\0\x03\x12\x03\x0b\x19\x1a\n\x0b\n\x04\x04\0\x02\x01\x12\
3907 \x03\x0c\x02\x1f\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03\x0c\x02\n\n\x0c\n\
3908 \x05\x04\0\x02\x01\x05\x12\x03\x0c\x0b\x11\n\x0c\n\x05\x04\0\x02\x01\x01\
3909 \x12\x03\x0c\x12\x1a\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x0c\x1d\x1e\n\
3910 \x0b\n\x04\x04\0\x02\x02\x12\x03\r\x02\x1e\n\x0c\n\x05\x04\0\x02\x02\x04\
3911 \x12\x03\r\x02\n\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03\r\x0b\x11\n\x0c\n\
3912 \x05\x04\0\x02\x02\x01\x12\x03\r\x12\x19\n\x0c\n\x05\x04\0\x02\x02\x03\
3913 \x12\x03\r\x1c\x1d\n\x83\x05\n\x04\x04\0\x02\x03\x12\x03\x1a\x02\x1f\x1a\
3914 \xc6\x04\x20A\x20mutually-exclusive\x20category\x20for\x20each\x20font.\
3915 \x20The\x20categories\x20are:\x20Serif,\n\x20Sans\x20Serif,\x20Display,\
3916 \x20Handwriting\x20and\x20Monospace.\x20Being\x20mutually\x20exclusive\
3917 \x20is\n\x20a\x20significant\x20deficiency\x20as,\x20for\x20example,\x20\
3918 most\x20Display\x20fonts\x20are\x20typically\n\x20Serif\x20or\x20Sans\
3919 \x20Serif\x20and\x20that\x20is\x20not\x20captured.\n\n\x20For\x20searchi\
3920 ng,\x20this\x20field\x20is\x20replaced\x20by\x20stroke\x20and\x20classif\
3921 ications\x20(see\n\x20below),\x20however,\x20this\x20field\x20persists\
3922 \x20(it's\x20required\x20after\x20all)\x20and\x20will\n\x20continue\x20t\
3923 o\x20be\x20populated\x20in\x20the\x20onboarding\x20process.\n\n\x20This\
3924 \x20is\x20repeated\x20field,\x20yet\x20Google\x20Fonts\x20only\x20uses\
3925 \x20the\x20last\x20entry\x20so\n\x20multiple\x20entries\x20should\x20be\
3926 \x20avoided.\n\"-\x20Only\x20the\x20LAST\x20value\x20is\x20used\x20by\
3927 \x20Google\x20Fonts\n\n\x0c\n\x05\x04\0\x02\x03\x04\x12\x03\x1a\x02\n\n\
3928 \x0c\n\x05\x04\0\x02\x03\x05\x12\x03\x1a\x0b\x11\n\x0c\n\x05\x04\0\x02\
3929 \x03\x01\x12\x03\x1a\x12\x1a\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03\x1a\
3930 \x1d\x1e\n\x0b\n\x04\x04\0\x02\x04\x12\x03\x1b\x02!\n\x0c\n\x05\x04\0\
3931 \x02\x04\x04\x12\x03\x1b\x02\n\n\x0c\n\x05\x04\0\x02\x04\x05\x12\x03\x1b\
3932 \x0b\x11\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03\x1b\x12\x1c\n\x0c\n\x05\
3933 \x04\0\x02\x04\x03\x12\x03\x1b\x1f\x20\n\x0b\n\x04\x04\0\x02\x05\x12\x03\
3934 \x1c\x02\x1f\n\x0c\n\x05\x04\0\x02\x05\x04\x12\x03\x1c\x02\n\n\x0c\n\x05\
3935 \x04\0\x02\x05\x06\x12\x03\x1c\x0b\x14\n\x0c\n\x05\x04\0\x02\x05\x01\x12\
3936 \x03\x1c\x15\x1a\n\x0c\n\x05\x04\0\x02\x05\x03\x12\x03\x1c\x1d\x1e\n\x0b\
3937 \n\x04\x04\0\x02\x06\x12\x03\x1d\x02\x1e\n\x0c\n\x05\x04\0\x02\x06\x04\
3938 \x12\x03\x1d\x02\n\n\x0c\n\x05\x04\0\x02\x06\x05\x12\x03\x1d\x0b\x11\n\
3939 \x0c\n\x05\x04\0\x02\x06\x01\x12\x03\x1d\x12\x19\n\x0c\n\x05\x04\0\x02\
3940 \x06\x03\x12\x03\x1d\x1c\x1d\n\x0b\n\x04\x04\0\x02\x07\x12\x03\x1e\x02\
3941 \x1e\n\x0c\n\x05\x04\0\x02\x07\x04\x12\x03\x1e\x02\n\n\x0c\n\x05\x04\0\
3942 \x02\x07\x05\x12\x03\x1e\x0b\x11\n\x0c\n\x05\x04\0\x02\x07\x01\x12\x03\
3943 \x1e\x12\x19\n\x0c\n\x05\x04\0\x02\x07\x03\x12\x03\x1e\x1c\x1d\n\x0b\n\
3944 \x04\x04\0\x02\x08\x12\x03\x1f\x02(\n\x0c\n\x05\x04\0\x02\x08\x04\x12\
3945 \x03\x1f\x02\n\n\x0c\n\x05\x04\0\x02\x08\x05\x12\x03\x1f\x0b\x11\n\x0c\n\
3946 \x05\x04\0\x02\x08\x01\x12\x03\x1f\x12#\n\x0c\n\x05\x04\0\x02\x08\x03\
3947 \x12\x03\x1f&'\n\x0b\n\x04\x04\0\x02\t\x12\x03\x20\x02&\n\x0c\n\x05\x04\
3948 \0\x02\t\x04\x12\x03\x20\x02\n\n\x0c\n\x05\x04\0\x02\t\x06\x12\x03\x20\
3949 \x0b\x1b\n\x0c\n\x05\x04\0\x02\t\x01\x12\x03\x20\x1c\x20\n\x0c\n\x05\x04\
3950 \0\x02\t\x03\x12\x03\x20#%\n\x0b\n\x04\x04\0\x02\n\x12\x03!\x025\n\x0c\n\
3951 \x05\x04\0\x02\n\x06\x12\x03!\x02\x14\n\x0c\n\x05\x04\0\x02\n\x01\x12\
3952 \x03!\x15/\n\x0c\n\x05\x04\0\x02\n\x03\x12\x03!24\n\x0b\n\x04\x04\0\x02\
3953 \x0b\x12\x03\"\x02#\n\x0c\n\x05\x04\0\x02\x0b\x04\x12\x03\"\x02\n\n\x0c\
3954 \n\x05\x04\0\x02\x0b\x06\x12\x03\"\x0b\x16\n\x0c\n\x05\x04\0\x02\x0b\x01\
3955 \x12\x03\"\x17\x1d\n\x0c\n\x05\x04\0\x02\x0b\x03\x12\x03\"\x20\"\n\x0b\n\
3956 \x04\x04\0\x02\x0c\x12\x03#\x02\x1d\n\x0c\n\x05\x04\0\x02\x0c\x04\x12\
3957 \x03#\x02\n\n\x0c\n\x05\x04\0\x02\x0c\x05\x12\x03#\x0b\x0f\n\x0c\n\x05\
3958 \x04\0\x02\x0c\x01\x12\x03#\x10\x17\n\x0c\n\x05\x04\0\x02\x0c\x03\x12\
3959 \x03#\x1a\x1c\n\x0b\n\x04\x04\0\x02\r\x12\x03$\x02!\n\x0c\n\x05\x04\0\
3960 \x02\r\x04\x12\x03$\x02\n\n\x0c\n\x05\x04\0\x02\r\x05\x12\x03$\x0b\x11\n\
3961 \x0c\n\x05\x04\0\x02\r\x01\x12\x03$\x12\x1b\n\x0c\n\x05\x04\0\x02\r\x03\
3962 \x12\x03$\x1e\x20\n\x0b\n\x04\x04\0\x02\x0e\x12\x03%\x02.\n\x0c\n\x05\
3963 \x04\0\x02\x0e\x04\x12\x03%\x02\n\n\x0c\n\x05\x04\0\x02\x0e\x06\x12\x03%\
3964 \x0b\x1e\n\x0c\n\x05\x04\0\x02\x0e\x01\x12\x03%\x1f(\n\x0c\n\x05\x04\0\
3965 \x02\x0e\x03\x12\x03%+-\n\x0b\n\x04\x04\0\x02\x0f\x12\x03&\x02)\n\x0c\n\
3966 \x05\x04\0\x02\x0f\x06\x12\x03&\x02\x15\n\x0c\n\x05\x04\0\x02\x0f\x01\
3967 \x12\x03&\x16#\n\x0c\n\x05\x04\0\x02\x0f\x03\x12\x03&&(\n\x0b\n\x04\x04\
3968 \0\x02\x10\x12\x03'\x02,\n\x0c\n\x05\x04\0\x02\x10\x04\x12\x03'\x02\n\n\
3969 \x0c\n\x05\x04\0\x02\x10\x06\x12\x03'\x0b\x1a\n\x0c\n\x05\x04\0\x02\x10\
3970 \x01\x12\x03'\x1b&\n\x0c\n\x05\x04\0\x02\x10\x03\x12\x03')+\n\x0b\n\x04\
3971 \x04\0\x02\x11\x12\x03(\x02$\n\x0c\n\x05\x04\0\x02\x11\x04\x12\x03(\x02\
3972 \n\n\x0c\n\x05\x04\0\x02\x11\x05\x12\x03(\x0b\x11\n\x0c\n\x05\x04\0\x02\
3973 \x11\x01\x12\x03(\x12\x1e\n\x0c\n\x05\x04\0\x02\x11\x03\x12\x03(!#\n\x0b\
3974 \n\x04\x04\0\x02\x12\x12\x03)\x026\n\x0c\n\x05\x04\0\x02\x12\x04\x12\x03\
3975 )\x02\n\n\x0c\n\x05\x04\0\x02\x12\x06\x12\x03)\x0b\x1a\n\x0c\n\x05\x04\0\
3976 \x02\x12\x01\x12\x03)\x1b0\n\x0c\n\x05\x04\0\x02\x12\x03\x12\x03)35\n9\n\
3977 \x04\x04\0\x02\x13\x12\x03+\x02$\x1a,\x20Optional\x20url\x20for\x20more\
3978 \x20info\x20about\x20the\x20font.\n\n\x0c\n\x05\x04\0\x02\x13\x04\x12\
3979 \x03+\x02\n\n\x0c\n\x05\x04\0\x02\x13\x05\x12\x03+\x0b\x11\n\x0c\n\x05\
3980 \x04\0\x02\x13\x01\x12\x03+\x12\x1e\n\x0c\n\x05\x04\0\x02\x13\x03\x12\
3981 \x03+!#\nX\n\x04\x04\0\x02\x14\x12\x03-\x02&\x1aK\x20The\x20script\x20to\
3982 \x20use\x20when\x20picking\x20sample\x20text.\x20See\x20the\x20Script\
3983 \x20spanner\x20table.\n\n\x0c\n\x05\x04\0\x02\x14\x04\x12\x03-\x02\n\n\
3984 \x0c\n\x05\x04\0\x02\x14\x05\x12\x03-\x0b\x11\n\x0c\n\x05\x04\0\x02\x14\
3985 \x01\x12\x03-\x12\x20\n\x0c\n\x05\x04\0\x02\x14\x03\x12\x03-#%\n\x0b\n\
3986 \x04\x04\0\x02\x15\x12\x03/\x02(\n\x0c\n\x05\x04\0\x02\x15\x04\x12\x03/\
3987 \x02\n\n\x0c\n\x05\x04\0\x02\x15\x05\x12\x03/\x0b\x11\n\x0c\n\x05\x04\0\
3988 \x02\x15\x01\x12\x03/\x12\"\n\x0c\n\x05\x04\0\x02\x15\x03\x12\x03/%'\n\
3989 \xad\x01\n\x04\x04\0\x02\x16\x12\x034\x02\x1e\x1a\x9f\x01\x20Stroke\x20o\
3990 f\x20the\x20letter\x20forms:\x20serif,\x20sans\x20serif,\x20etc.\x20Stro\
3991 ke\x20is\x20mutually\n\x20exclusive.\x20The\x20values\x20are\x20the\x20s\
3992 tring\x20names\x20from\x20the\x20Stroke\x20enum\x20or\x20the\n\x20empty\
3993 \x20string.\n\n\x0c\n\x05\x04\0\x02\x16\x04\x12\x034\x02\n\n\x0c\n\x05\
3994 \x04\0\x02\x16\x05\x12\x034\x0b\x11\n\x0c\n\x05\x04\0\x02\x16\x01\x12\
3995 \x034\x12\x18\n\x0c\n\x05\x04\0\x02\x16\x03\x12\x034\x1b\x1d\n\xa3\x01\n\
3996 \x04\x04\0\x02\x17\x12\x038\x02'\x1a\x88\x01\x20A\x20family's\x20broad\
3997 \x20classifications:\x20display,\x20handwriting,\x20monospace,\x20etc.\n\
3998 \x20The\x20values\x20are\x20the\x20string\x20names\x20from\x20the\x20Cla\
3999 ssification\x20enum.\n\"\x0b\x20Next\x20=\x2025\n\n\x0c\n\x05\x04\0\x02\
4000 \x17\x04\x12\x038\x02\n\n\x0c\n\x05\x04\0\x02\x17\x05\x12\x038\x0b\x11\n\
4001 \x0c\n\x05\x04\0\x02\x17\x01\x12\x038\x12!\n\x0c\n\x05\x04\0\x02\x17\x03\
4002 \x12\x038$&\n\n\n\x02\x04\x01\x12\x04<\0D\x01\n\n\n\x03\x04\x01\x01\x12\
4003 \x03<\x08\x11\n\x0b\n\x04\x04\x01\x02\0\x12\x03=\x02\x1b\n\x0c\n\x05\x04\
4004 \x01\x02\0\x04\x12\x03=\x02\n\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03=\x0b\
4005 \x11\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03=\x12\x16\n\x0c\n\x05\x04\x01\
4006 \x02\0\x03\x12\x03=\x19\x1a\n\x0b\n\x04\x04\x01\x02\x01\x12\x03>\x02\x1c\
4007 \n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03>\x02\n\n\x0c\n\x05\x04\x01\x02\
4008 \x01\x05\x12\x03>\x0b\x11\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03>\x12\
4009 \x17\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03>\x1a\x1b\n\x0b\n\x04\x04\
4010 \x01\x02\x02\x12\x03?\x02\x1c\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03?\
4011 \x02\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03?\x0b\x10\n\x0c\n\x05\x04\
4012 \x01\x02\x02\x01\x12\x03?\x11\x17\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\
4013 \x03?\x1a\x1b\n\x0b\n\x04\x04\x01\x02\x03\x12\x03@\x02\x1f\n\x0c\n\x05\
4014 \x04\x01\x02\x03\x04\x12\x03@\x02\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\
4015 \x03@\x0b\x11\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03@\x12\x1a\n\x0c\n\
4016 \x05\x04\x01\x02\x03\x03\x12\x03@\x1d\x1e\n\x0b\n\x04\x04\x01\x02\x04\
4017 \x12\x03A\x02'\n\x0c\n\x05\x04\x01\x02\x04\x04\x12\x03A\x02\n\n\x0c\n\
4018 \x05\x04\x01\x02\x04\x05\x12\x03A\x0b\x11\n\x0c\n\x05\x04\x01\x02\x04\
4019 \x01\x12\x03A\x12\"\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03A%&\n\x0b\n\
4020 \x04\x04\x01\x02\x05\x12\x03B\x02\x20\n\x0c\n\x05\x04\x01\x02\x05\x04\
4021 \x12\x03B\x02\n\n\x0c\n\x05\x04\x01\x02\x05\x05\x12\x03B\x0b\x11\n\x0c\n\
4022 \x05\x04\x01\x02\x05\x01\x12\x03B\x12\x1b\n\x0c\n\x05\x04\x01\x02\x05\
4023 \x03\x12\x03B\x1e\x1f\n\x0b\n\x04\x04\x01\x02\x06\x12\x03C\x02\x20\n\x0c\
4024 \n\x05\x04\x01\x02\x06\x04\x12\x03C\x02\n\n\x0c\n\x05\x04\x01\x02\x06\
4025 \x05\x12\x03C\x0b\x11\n\x0c\n\x05\x04\x01\x02\x06\x01\x12\x03C\x12\x1b\n\
4026 \x0c\n\x05\x04\x01\x02\x06\x03\x12\x03C\x1e\x1f\n\n\n\x02\x04\x02\x12\
4027 \x04F\0M\x01\n\n\n\x03\x04\x02\x01\x12\x03F\x08\x18\n\x0b\n\x04\x04\x02\
4028 \x02\0\x12\x03G\x02\x1a\n\x0c\n\x05\x04\x02\x02\0\x04\x12\x03G\x02\n\n\
4029 \x0c\n\x05\x04\x02\x02\0\x05\x12\x03G\x0b\x11\n\x0c\n\x05\x04\x02\x02\0\
4030 \x01\x12\x03G\x12\x15\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03G\x18\x19\n\
4031 \x0b\n\x04\x04\x02\x02\x01\x12\x03H\x02\x1f\n\x0c\n\x05\x04\x02\x02\x01\
4032 \x04\x12\x03H\x02\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03H\x0b\x10\n\
4033 \x0c\n\x05\x04\x02\x02\x01\x01\x12\x03H\x11\x1a\n\x0c\n\x05\x04\x02\x02\
4034 \x01\x03\x12\x03H\x1d\x1e\n\n\n\x03\x04\x02\t\x12\x03I\x02\r\n\x0b\n\x04\
4035 \x04\x02\t\0\x12\x03I\x0b\x0c\n\x0c\n\x05\x04\x02\t\0\x01\x12\x03I\x0b\
4036 \x0c\n\x0c\n\x05\x04\x02\t\0\x02\x12\x03I\x0b\x0c\n\n\n\x03\x04\x02\n\
4037 \x12\x03J\x02\x1b\n\x0b\n\x04\x04\x02\n\0\x12\x03J\x0b\x1a\n\x17\n\x04\
4038 \x04\x02\x02\x02\x12\x03K\x02\x1f\"\n\x20Next\x20=\x205\n\n\x0c\n\x05\
4039 \x04\x02\x02\x02\x04\x12\x03K\x02\n\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\
4040 \x03K\x0b\x10\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03K\x11\x1a\n\x0c\n\
4041 \x05\x04\x02\x02\x02\x03\x12\x03K\x1d\x1e\n\n\n\x02\x04\x03\x12\x04O\0Y\
4042 \x01\n\n\n\x03\x04\x03\x01\x12\x03O\x08\x13\n\x0b\n\x04\x04\x03\x02\0\
4043 \x12\x03P\x02%\n\x0c\n\x05\x04\x03\x02\0\x04\x12\x03P\x02\n\n\x0c\n\x05\
4044 \x04\x03\x02\0\x05\x12\x03P\x0b\x11\n\x0c\n\x05\x04\x03\x02\0\x01\x12\
4045 \x03P\x12\x20\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03P#$\n\x0b\n\x04\x04\
4046 \x03\x02\x01\x12\x03Q\x02\x1d\n\x0c\n\x05\x04\x03\x02\x01\x04\x12\x03Q\
4047 \x02\n\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03Q\x0b\x11\n\x0c\n\x05\x04\
4048 \x03\x02\x01\x01\x12\x03Q\x12\x18\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\
4049 \x03Q\x1b\x1c\n\x0b\n\x04\x04\x03\x02\x02\x12\x03R\x02\x1d\n\x0c\n\x05\
4050 \x04\x03\x02\x02\x04\x12\x03R\x02\n\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\
4051 \x03R\x0b\x11\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03R\x12\x18\n\x0c\n\
4052 \x05\x04\x03\x02\x02\x03\x12\x03R\x1b\x1c\n\x0b\n\x04\x04\x03\x02\x03\
4053 \x12\x03S\x02\"\n\x0c\n\x05\x04\x03\x02\x03\x04\x12\x03S\x02\n\n\x0c\n\
4054 \x05\x04\x03\x02\x03\x05\x12\x03S\x0b\x11\n\x0c\n\x05\x04\x03\x02\x03\
4055 \x01\x12\x03S\x12\x1d\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03S\x20!\nD\n\
4056 \x04\x04\x03\x02\x04\x12\x04T\x02U\x08\"6\x20See\x20https://github.com/g\
4057 ooglefonts/fontc/issues/1124\n\n\x0c\n\x05\x04\x03\x02\x04\x04\x12\x03T\
4058 \x02\n\n\x0c\n\x05\x04\x03\x02\x04\x05\x12\x03T\x0b\x11\n\x0c\n\x05\x04\
4059 \x03\x02\x04\x01\x12\x03T\x12\x1d\n\x0c\n\x05\x04\x03\x02\x04\x03\x12\
4060 \x03U\x06\x07\n\x0b\n\x04\x04\x03\x02\x05\x12\x03V\x02%\n\x0c\n\x05\x04\
4061 \x03\x02\x05\x04\x12\x03V\x02\n\n\x0c\n\x05\x04\x03\x02\x05\x06\x12\x03V\
4062 \x0b\x1a\n\x0c\n\x05\x04\x03\x02\x05\x01\x12\x03V\x1b\x20\n\x0c\n\x05\
4063 \x04\x03\x02\x05\x03\x12\x03V#$\n\x81\x01\n\x02\x04\x04\x12\x04]\0`\x01\
4064 \x1au\x20A\x20file\x20to\x20take\x20from\x20source\x20and\x20where\x20to\
4065 \x20put\x20it\x20in\x20dest\n\x20Ex\x20web/split/Roboto[wdth,wght].ttf\
4066 \x20=>\x20Roboto[wdth,wght].ttf\n\n\n\n\x03\x04\x04\x01\x12\x03]\x08\x17\
4067 \n\x0b\n\x04\x04\x04\x02\0\x12\x03^\x02\"\n\x0c\n\x05\x04\x04\x02\0\x04\
4068 \x12\x03^\x02\n\n\x0c\n\x05\x04\x04\x02\0\x05\x12\x03^\x0b\x11\n\x0c\n\
4069 \x05\x04\x04\x02\0\x01\x12\x03^\x12\x1d\n\x0c\n\x05\x04\x04\x02\0\x03\
4070 \x12\x03^\x20!\n\x0b\n\x04\x04\x04\x02\x01\x12\x03_\x02\x20\n\x0c\n\x05\
4071 \x04\x04\x02\x01\x04\x12\x03_\x02\n\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\
4072 \x03_\x0b\x11\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03_\x12\x1b\n\x0c\n\
4073 \x05\x04\x04\x02\x01\x03\x12\x03_\x1e\x1f\n\n\n\x02\x05\0\x12\x04b\0i\
4074 \x01\n\n\n\x03\x05\0\x01\x12\x03b\x05\x14\n\x0b\n\x04\x05\0\x02\0\x12\
4075 \x03c\x02\x19\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03c\x02\x14\n\x0c\n\x05\
4076 \x05\0\x02\0\x02\x12\x03c\x17\x18\n\x0b\n\x04\x05\0\x02\x01\x12\x03d\x02\
4077 \x18\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03d\x02\x13\n\x0c\n\x05\x05\0\
4078 \x02\x01\x02\x12\x03d\x16\x17\n\x0b\n\x04\x05\0\x02\x02\x12\x03e\x02\x14\
4079 \n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03e\x02\x0f\n\x0c\n\x05\x05\0\x02\
4080 \x02\x02\x12\x03e\x12\x13\n\x0b\n\x04\x05\0\x02\x03\x12\x03f\x02\x16\n\
4081 \x0c\n\x05\x05\0\x02\x03\x01\x12\x03f\x02\x11\n\x0c\n\x05\x05\0\x02\x03\
4082 \x02\x12\x03f\x14\x15\n\x0b\n\x04\x05\0\x02\x04\x12\x03g\x02\x18\n\x0c\n\
4083 \x05\x05\0\x02\x04\x01\x12\x03g\x02\x13\n\x0c\n\x05\x05\0\x02\x04\x02\
4084 \x12\x03g\x16\x17\n\x0b\n\x04\x05\0\x02\x05\x12\x03h\x02\x14\n\x0c\n\x05\
4085 \x05\0\x02\x05\x01\x12\x03h\x02\x0f\n\x0c\n\x05\x05\0\x02\x05\x02\x12\
4086 \x03h\x12\x13\nJ\n\x02\x04\x05\x12\x04l\0n\x01\x1a>\x20Message\x20so\x20\
4087 we\x20can\x20add\x20additional\x20fields\x20like\x20value\x20in\x20futur\
4088 e\n\n\n\n\x03\x04\x05\x01\x12\x03l\x08\x13\n\x18\n\x04\x04\x05\x02\0\x12\
4089 \x03m\x02+\"\x0b\x20\x20e.g.,\x20OS\n\n\x0c\n\x05\x04\x05\x02\0\x04\x12\
4090 \x03m\x02\n\n\x0c\n\x05\x04\x05\x02\0\x06\x12\x03m\x0b\x1a\n\x0c\n\x05\
4091 \x04\x05\x02\0\x01\x12\x03m\x1b&\n\x0c\n\x05\x04\x05\x02\0\x03\x12\x03m)\
4092 *\n\n\n\x02\x04\x06\x12\x04p\0w\x01\n\n\n\x03\x04\x06\x01\x12\x03p\x08\
4093 \x1b\n'\n\x04\x04\x06\x02\0\x12\x03q\x02,\"\x1a\x20activate\x20for\x20th\
4094 is\x20region\n\n\x0c\n\x05\x04\x06\x02\0\x04\x12\x03q\x02\n\n\x0c\n\x05\
4095 \x04\x06\x02\0\x06\x12\x03q\x0b\x1b\n\x0c\n\x05\x04\x06\x02\0\x01\x12\
4096 \x03q\x1c'\n\x0c\n\x05\x04\x06\x02\0\x03\x12\x03q*+\n(\n\x04\x04\x06\x02\
4097 \x01\x12\x03r\x02\"\"\x1b\x20activate\x20for\x20any\x20of\x20these\n\n\
4098 \x0c\n\x05\x04\x06\x02\x01\x04\x12\x03r\x02\n\n\x0c\n\x05\x04\x06\x02\
4099 \x01\x06\x12\x03r\x0b\x16\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03r\x17\
4100 \x1d\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03r\x20!\n\x17\n\x04\x04\x06\
4101 \x02\x02\x12\x03s\x02%\"\n\x20e.g.\x2090%\n\n\x0c\n\x05\x04\x06\x02\x02\
4102 \x04\x12\x03s\x02\n\n\x0c\n\x05\x04\x06\x02\x02\x05\x12\x03s\x0b\x10\n\
4103 \x0c\n\x05\x04\x06\x02\x02\x01\x12\x03s\x11\x20\n\x0c\n\x05\x04\x06\x02\
4104 \x02\x03\x12\x03s#$\n\x18\n\x04\x04\x06\x02\x03\x12\x03t\x02)\"\x0b\x20e\
4105 .g.\x20110%\n\n\x0c\n\x05\x04\x06\x02\x03\x04\x12\x03t\x02\n\n\x0c\n\x05\
4106 \x04\x06\x02\x03\x05\x12\x03t\x0b\x10\n\x0c\n\x05\x04\x06\x02\x03\x01\
4107 \x12\x03t\x11$\n\x0c\n\x05\x04\x06\x02\x03\x03\x12\x03t'(\n3\n\x04\x04\
4108 \x06\x02\x04\x12\x03u\x02\x20\"&\x20e.g.\x20Impact;\x20the\x20local\x20f\
4109 amily\x20to\x20use\n\n\x0c\n\x05\x04\x06\x02\x04\x04\x12\x03u\x02\n\n\
4110 \x0c\n\x05\x04\x06\x02\x04\x05\x12\x03u\x0b\x11\n\x0c\n\x05\x04\x06\x02\
4111 \x04\x01\x12\x03u\x12\x1b\n\x0c\n\x05\x04\x06\x02\x04\x03\x12\x03u\x1e\
4112 \x1f\nx\n\x02\x04\x07\x12\x05{\0\x89\x01\x01\x1ak\x20Corresponds\x20to\
4113 \x20SampleTextProto\x20in\n\x20google3/java/com/google/fonts/backend/spa\
4114 nner/google_fonts_proto.proto\n\n\n\n\x03\x04\x07\x01\x12\x03{\x08\x17\n\
4115 \x0b\n\x04\x04\x07\x02\0\x12\x03|\x02$\n\x0c\n\x05\x04\x07\x02\0\x04\x12\
4116 \x03|\x02\n\n\x0c\n\x05\x04\x07\x02\0\x05\x12\x03|\x0b\x11\n\x0c\n\x05\
4117 \x04\x07\x02\0\x01\x12\x03|\x12\x1f\n\x0c\n\x05\x04\x07\x02\0\x03\x12\
4118 \x03|\"#\n\x0b\n\x04\x04\x07\x02\x01\x12\x03}\x02'\n\x0c\n\x05\x04\x07\
4119 \x02\x01\x04\x12\x03}\x02\n\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03}\x0b\
4120 \x11\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03}\x12\"\n\x0c\n\x05\x04\x07\
4121 \x02\x01\x03\x12\x03}%&\n\x0b\n\x04\x04\x07\x02\x02\x12\x03~\x02\x1d\n\
4122 \x0c\n\x05\x04\x07\x02\x02\x04\x12\x03~\x02\n\n\x0c\n\x05\x04\x07\x02\
4123 \x02\x05\x12\x03~\x0b\x11\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03~\x12\
4124 \x18\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03~\x1b\x1c\n\x0b\n\x04\x04\
4125 \x07\x02\x03\x12\x03\x7f\x02\x1d\n\x0c\n\x05\x04\x07\x02\x03\x04\x12\x03\
4126 \x7f\x02\n\n\x0c\n\x05\x04\x07\x02\x03\x05\x12\x03\x7f\x0b\x11\n\x0c\n\
4127 \x05\x04\x07\x02\x03\x01\x12\x03\x7f\x12\x18\n\x0c\n\x05\x04\x07\x02\x03\
4128 \x03\x12\x03\x7f\x1b\x1c\n\x0c\n\x04\x04\x07\x02\x04\x12\x04\x80\x01\x02\
4129 \x20\n\r\n\x05\x04\x07\x02\x04\x04\x12\x04\x80\x01\x02\n\n\r\n\x05\x04\
4130 \x07\x02\x04\x05\x12\x04\x80\x01\x0b\x11\n\r\n\x05\x04\x07\x02\x04\x01\
4131 \x12\x04\x80\x01\x12\x1b\n\r\n\x05\x04\x07\x02\x04\x03\x12\x04\x80\x01\
4132 \x1e\x1f\n\x0c\n\x04\x04\x07\x02\x05\x12\x04\x81\x01\x02\x20\n\r\n\x05\
4133 \x04\x07\x02\x05\x04\x12\x04\x81\x01\x02\n\n\r\n\x05\x04\x07\x02\x05\x05\
4134 \x12\x04\x81\x01\x0b\x11\n\r\n\x05\x04\x07\x02\x05\x01\x12\x04\x81\x01\
4135 \x12\x1b\n\r\n\x05\x04\x07\x02\x05\x03\x12\x04\x81\x01\x1e\x1f\n\x0c\n\
4136 \x04\x04\x07\x02\x06\x12\x04\x82\x01\x02\x20\n\r\n\x05\x04\x07\x02\x06\
4137 \x04\x12\x04\x82\x01\x02\n\n\r\n\x05\x04\x07\x02\x06\x05\x12\x04\x82\x01\
4138 \x0b\x11\n\r\n\x05\x04\x07\x02\x06\x01\x12\x04\x82\x01\x12\x1b\n\r\n\x05\
4139 \x04\x07\x02\x06\x03\x12\x04\x82\x01\x1e\x1f\n\x0c\n\x04\x04\x07\x02\x07\
4140 \x12\x04\x83\x01\x02\"\n\r\n\x05\x04\x07\x02\x07\x04\x12\x04\x83\x01\x02\
4141 \n\n\r\n\x05\x04\x07\x02\x07\x05\x12\x04\x83\x01\x0b\x11\n\r\n\x05\x04\
4142 \x07\x02\x07\x01\x12\x04\x83\x01\x12\x1d\n\r\n\x05\x04\x07\x02\x07\x03\
4143 \x12\x04\x83\x01\x20!\n\x0c\n\x04\x04\x07\x02\x08\x12\x04\x84\x01\x02\"\
4144 \n\r\n\x05\x04\x07\x02\x08\x04\x12\x04\x84\x01\x02\n\n\r\n\x05\x04\x07\
4145 \x02\x08\x05\x12\x04\x84\x01\x0b\x11\n\r\n\x05\x04\x07\x02\x08\x01\x12\
4146 \x04\x84\x01\x12\x1d\n\r\n\x05\x04\x07\x02\x08\x03\x12\x04\x84\x01\x20!\
4147 \n\x0c\n\x04\x04\x07\x02\t\x12\x04\x85\x01\x02#\n\r\n\x05\x04\x07\x02\t\
4148 \x04\x12\x04\x85\x01\x02\n\n\r\n\x05\x04\x07\x02\t\x05\x12\x04\x85\x01\
4149 \x0b\x11\n\r\n\x05\x04\x07\x02\t\x01\x12\x04\x85\x01\x12\x1d\n\r\n\x05\
4150 \x04\x07\x02\t\x03\x12\x04\x85\x01\x20\"\n\x0c\n\x04\x04\x07\x02\n\x12\
4151 \x04\x86\x01\x02#\n\r\n\x05\x04\x07\x02\n\x04\x12\x04\x86\x01\x02\n\n\r\
4152 \n\x05\x04\x07\x02\n\x05\x12\x04\x86\x01\x0b\x11\n\r\n\x05\x04\x07\x02\n\
4153 \x01\x12\x04\x86\x01\x12\x1d\n\r\n\x05\x04\x07\x02\n\x03\x12\x04\x86\x01\
4154 \x20\"\n\x0c\n\x04\x04\x07\x02\x0b\x12\x04\x87\x01\x02#\n\r\n\x05\x04\
4155 \x07\x02\x0b\x04\x12\x04\x87\x01\x02\n\n\r\n\x05\x04\x07\x02\x0b\x05\x12\
4156 \x04\x87\x01\x0b\x11\n\r\n\x05\x04\x07\x02\x0b\x01\x12\x04\x87\x01\x12\
4157 \x1d\n\r\n\x05\x04\x07\x02\x0b\x03\x12\x04\x87\x01\x20\"\n\x0c\n\x04\x04\
4158 \x07\x02\x0c\x12\x04\x88\x01\x02\x1c\n\r\n\x05\x04\x07\x02\x0c\x04\x12\
4159 \x04\x88\x01\x02\n\n\r\n\x05\x04\x07\x02\x0c\x05\x12\x04\x88\x01\x0b\x11\
4160 \n\r\n\x05\x04\x07\x02\x0c\x01\x12\x04\x88\x01\x12\x16\n\r\n\x05\x04\x07\
4161 \x02\x0c\x03\x12\x04\x88\x01\x19\x1b\n\x0c\n\x02\x04\x08\x12\x06\x8b\x01\
4162 \0\x8e\x01\x01\n\x0b\n\x03\x04\x08\x01\x12\x04\x8b\x01\x08\x17\n\x0c\n\
4163 \x04\x04\x08\x02\0\x12\x04\x8c\x01\x02\x1b\n\r\n\x05\x04\x08\x02\0\x04\
4164 \x12\x04\x8c\x01\x02\n\n\r\n\x05\x04\x08\x02\0\x05\x12\x04\x8c\x01\x0b\
4165 \x11\n\r\n\x05\x04\x08\x02\0\x01\x12\x04\x8c\x01\x12\x16\n\r\n\x05\x04\
4166 \x08\x02\0\x03\x12\x04\x8c\x01\x19\x1a\n\x0c\n\x04\x04\x08\x02\x01\x12\
4167 \x04\x8d\x01\x02\x1d\n\r\n\x05\x04\x08\x02\x01\x04\x12\x04\x8d\x01\x02\n\
4168 \n\r\n\x05\x04\x08\x02\x01\x05\x12\x04\x8d\x01\x0b\x11\n\r\n\x05\x04\x08\
4169 \x02\x01\x01\x12\x04\x8d\x01\x12\x18\n\r\n\x05\x04\x08\x02\x01\x03\x12\
4170 \x04\x8d\x01\x1b\x1c\
4171";
4172
4173fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
4175 static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new();
4176 file_descriptor_proto_lazy.get(|| {
4177 ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
4178 })
4179}
4180
4181pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
4183 static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new();
4184 static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
4185 file_descriptor.get(|| {
4186 let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
4187 let mut deps = ::std::vec::Vec::with_capacity(0);
4188 let mut messages = ::std::vec::Vec::with_capacity(9);
4189 messages.push(FamilyProto::generated_message_descriptor_data());
4190 messages.push(FontProto::generated_message_descriptor_data());
4191 messages.push(AxisSegmentProto::generated_message_descriptor_data());
4192 messages.push(SourceProto::generated_message_descriptor_data());
4193 messages.push(SourceFileProto::generated_message_descriptor_data());
4194 messages.push(TargetProto::generated_message_descriptor_data());
4195 messages.push(FamilyFallbackProto::generated_message_descriptor_data());
4196 messages.push(SampleTextProto::generated_message_descriptor_data());
4197 messages.push(GlyphGroupProto::generated_message_descriptor_data());
4198 let mut enums = ::std::vec::Vec::with_capacity(1);
4199 enums.push(TargetTypeProto::generated_enum_descriptor_data());
4200 ::protobuf::reflect::GeneratedFileDescriptor::new_generated(
4201 file_descriptor_proto(),
4202 deps,
4203 messages,
4204 enums,
4205 )
4206 });
4207 ::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor)
4208 })
4209}