mikufans_proto_intl/
bilibili.mall.tab3.viewunite.common.rs

1// This file is @generated by prost-build.
2///
3#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct ActBannerItem {
5    ///
6    #[prost(string, tag = "1")]
7    pub url: ::prost::alloc::string::String,
8    ///
9    #[prost(string, tag = "2")]
10    pub cover: ::prost::alloc::string::String,
11    ///
12    #[prost(enumeration = "JumpType", tag = "3")]
13    pub jump_type: i32,
14    ///
15    #[prost(map = "string, string", tag = "4")]
16    pub report: ::std::collections::HashMap<
17        ::prost::alloc::string::String,
18        ::prost::alloc::string::String,
19    >,
20}
21///
22#[derive(Clone, PartialEq, ::prost::Message)]
23pub struct ActPageItems {
24    ///
25    #[prost(message, repeated, tag = "1")]
26    pub item: ::prost::alloc::vec::Vec<ActBannerItem>,
27    ///
28    #[prost(enumeration = "ShowStyle", tag = "2")]
29    pub show_style: i32,
30    ///
31    #[prost(string, tag = "3")]
32    pub title: ::prost::alloc::string::String,
33}
34///
35#[derive(Clone, PartialEq, ::prost::Message)]
36pub struct Activity {
37    ///
38    #[prost(int32, tag = "1")]
39    pub id: i32,
40    ///
41    #[prost(string, tag = "2")]
42    pub title: ::prost::alloc::string::String,
43    ///
44    #[prost(string, tag = "3")]
45    pub link: ::prost::alloc::string::String,
46    ///
47    #[prost(string, tag = "4")]
48    pub cover: ::prost::alloc::string::String,
49    ///
50    #[prost(int32, tag = "5")]
51    pub r#type: i32,
52    ///
53    #[prost(string, tag = "6")]
54    pub ab: ::prost::alloc::string::String,
55    ///
56    #[prost(string, tag = "7")]
57    pub show_name: ::prost::alloc::string::String,
58    ///
59    #[prost(string, tag = "8")]
60    pub picurl: ::prost::alloc::string::String,
61    ///
62    #[prost(string, tag = "9")]
63    pub picurl_selected: ::prost::alloc::string::String,
64    ///
65    #[prost(string, tag = "10")]
66    pub h5_link: ::prost::alloc::string::String,
67    ///
68    #[prost(string, tag = "11")]
69    pub jump_mode: ::prost::alloc::string::String,
70    ///
71    #[prost(message, repeated, tag = "12")]
72    pub items: ::prost::alloc::vec::Vec<Item>,
73}
74///
75#[derive(Clone, PartialEq, ::prost::Message)]
76pub struct ActivityEntrance {
77    ///
78    #[prost(string, tag = "1")]
79    pub activity_cover: ::prost::alloc::string::String,
80    ///
81    #[prost(string, tag = "2")]
82    pub activity_title: ::prost::alloc::string::String,
83    ///
84    #[prost(string, tag = "3")]
85    pub word_tag: ::prost::alloc::string::String,
86    ///
87    #[prost(string, tag = "4")]
88    pub activity_subtitle: ::prost::alloc::string::String,
89    ///
90    #[prost(string, tag = "5")]
91    pub activity_link: ::prost::alloc::string::String,
92    ///
93    #[prost(int32, tag = "6")]
94    pub activity_type: i32,
95    ///
96    #[prost(int32, tag = "7")]
97    pub reserve_id: i32,
98    ///
99    #[prost(int32, tag = "8")]
100    pub status: i32,
101    ///
102    #[prost(message, repeated, tag = "9")]
103    pub upper_list: ::prost::alloc::vec::Vec<User>,
104    ///
105    #[prost(map = "string, string", tag = "10")]
106    pub report: ::std::collections::HashMap<
107        ::prost::alloc::string::String,
108        ::prost::alloc::string::String,
109    >,
110}
111///
112#[derive(Clone, PartialEq, ::prost::Message)]
113pub struct ActivityEntranceModule {
114    ///
115    #[prost(message, repeated, tag = "1")]
116    pub activity_entrance: ::prost::alloc::vec::Vec<ActivityEntrance>,
117}
118///
119#[derive(Clone, PartialEq, ::prost::Message)]
120pub struct ActivityReserve {
121    ///
122    #[prost(string, tag = "1")]
123    pub title: ::prost::alloc::string::String,
124    ///
125    #[prost(message, optional, tag = "2")]
126    pub vt: ::core::option::Option<StatInfo>,
127    ///
128    #[prost(message, optional, tag = "3")]
129    pub danmaku: ::core::option::Option<StatInfo>,
130    ///
131    #[prost(message, optional, tag = "4")]
132    pub button: ::core::option::Option<ReserveButton>,
133}
134///
135#[derive(Clone, PartialEq, ::prost::Message)]
136pub struct ActivityResource {
137    ///
138    #[prost(string, tag = "1")]
139    pub mod_pool_name: ::prost::alloc::string::String,
140    ///
141    #[prost(string, tag = "2")]
142    pub mod_resource_name: ::prost::alloc::string::String,
143}
144///
145#[derive(Clone, PartialEq, ::prost::Message)]
146pub struct ActivityTab {
147    ///
148    #[prost(int32, tag = "1")]
149    pub id: i32,
150    ///
151    #[prost(string, tag = "2")]
152    pub title: ::prost::alloc::string::String,
153    ///
154    #[prost(int32, tag = "3")]
155    pub r#type: i32,
156    ///
157    #[prost(string, tag = "4")]
158    pub show_name: ::prost::alloc::string::String,
159    ///
160    #[prost(string, tag = "5")]
161    pub picurl: ::prost::alloc::string::String,
162    ///
163    #[prost(string, tag = "6")]
164    pub picurl_selected: ::prost::alloc::string::String,
165    ///
166    #[prost(string, tag = "7")]
167    pub h5_link: ::prost::alloc::string::String,
168    ///
169    #[prost(string, tag = "8")]
170    pub link: ::prost::alloc::string::String,
171    ///
172    #[prost(int32, tag = "9")]
173    pub link_type: i32,
174    ///
175    #[prost(int64, tag = "10")]
176    pub biz_key: i64,
177    ///
178    #[prost(string, tag = "11")]
179    pub desc: ::prost::alloc::string::String,
180    ///
181    #[prost(string, tag = "12")]
182    pub act_ext: ::prost::alloc::string::String,
183    ///
184    #[prost(map = "string, string", tag = "13")]
185    pub report: ::std::collections::HashMap<
186        ::prost::alloc::string::String,
187        ::prost::alloc::string::String,
188    >,
189}
190///
191#[derive(Clone, PartialEq, ::prost::Message)]
192pub struct AggEpCard {
193    ///
194    #[prost(string, tag = "1")]
195    pub title: ::prost::alloc::string::String,
196    ///
197    #[prost(string, tag = "2")]
198    pub cover: ::prost::alloc::string::String,
199    ///
200    #[prost(string, tag = "3")]
201    pub icon: ::prost::alloc::string::String,
202    ///
203    #[prost(int32, tag = "4")]
204    pub num: i32,
205    ///
206    #[prost(string, tag = "5")]
207    pub jump_url: ::prost::alloc::string::String,
208}
209///
210#[derive(Clone, PartialEq, ::prost::Message)]
211pub struct AggEps {
212    ///
213    #[prost(message, repeated, tag = "1")]
214    pub agg_ep_cards: ::prost::alloc::vec::Vec<AggEpCard>,
215    ///
216    #[prost(int32, tag = "2")]
217    pub place_index: i32,
218}
219///
220#[derive(Clone, Copy, PartialEq, ::prost::Message)]
221pub struct AttentionRecommend {}
222///
223#[derive(Clone, PartialEq, ::prost::Message)]
224pub struct Audio {
225    ///
226    #[prost(map = "int64, message", tag = "1")]
227    pub audio_info: ::std::collections::HashMap<i64, AudioInfo>,
228}
229///
230#[derive(Clone, PartialEq, ::prost::Message)]
231pub struct AudioInfo {
232    ///
233    #[prost(string, tag = "1")]
234    pub title: ::prost::alloc::string::String,
235    ///
236    #[prost(string, tag = "2")]
237    pub cover_url: ::prost::alloc::string::String,
238    ///
239    #[prost(int64, tag = "3")]
240    pub song_id: i64,
241    ///
242    #[prost(int64, tag = "4")]
243    pub play_count: i64,
244    ///
245    #[prost(int64, tag = "5")]
246    pub reply_count: i64,
247    ///
248    #[prost(int64, tag = "6")]
249    pub upper_id: i64,
250    ///
251    #[prost(string, tag = "7")]
252    pub entrance: ::prost::alloc::string::String,
253    ///
254    #[prost(int64, tag = "8")]
255    pub song_attr: i64,
256}
257///
258#[derive(Clone, PartialEq, ::prost::Message)]
259pub struct BadgeInfo {
260    ///
261    #[prost(string, tag = "1")]
262    pub text: ::prost::alloc::string::String,
263    ///
264    #[prost(string, tag = "2")]
265    pub text_color: ::prost::alloc::string::String,
266    ///
267    #[prost(string, tag = "3")]
268    pub text_color_night: ::prost::alloc::string::String,
269    ///
270    #[prost(string, tag = "4")]
271    pub bg_color: ::prost::alloc::string::String,
272    ///
273    #[prost(string, tag = "5")]
274    pub bg_color_night: ::prost::alloc::string::String,
275    ///
276    #[prost(string, tag = "6")]
277    pub border_color: ::prost::alloc::string::String,
278    ///
279    #[prost(string, tag = "7")]
280    pub border_color_night: ::prost::alloc::string::String,
281    ///
282    #[prost(int32, tag = "8")]
283    pub bg_style: i32,
284    ///
285    #[prost(string, tag = "9")]
286    pub img: ::prost::alloc::string::String,
287    ///
288    #[prost(int32, tag = "10")]
289    pub r#type: i32,
290}
291///
292#[derive(Clone, PartialEq, ::prost::Message)]
293pub struct Banner {
294    ///
295    #[prost(string, tag = "1")]
296    pub title: ::prost::alloc::string::String,
297    ///
298    #[prost(message, repeated, tag = "2")]
299    pub relate_item: ::prost::alloc::vec::Vec<RelateItem>,
300}
301///
302#[derive(Clone, Copy, PartialEq, ::prost::Message)]
303pub struct BizFavParam {
304    ///
305    #[prost(int64, tag = "1")]
306    pub season_id: i64,
307}
308///
309#[derive(Clone, PartialEq, ::prost::Message)]
310pub struct BizReserveActivityParam {
311    ///
312    #[prost(int64, tag = "1")]
313    pub activity_id: i64,
314    ///
315    #[prost(string, tag = "2")]
316    pub from: ::prost::alloc::string::String,
317    ///
318    #[prost(string, tag = "3")]
319    pub r#type: ::prost::alloc::string::String,
320    ///
321    #[prost(int64, tag = "4")]
322    pub oid: i64,
323    ///
324    #[prost(int64, tag = "5")]
325    pub reserve_id: i64,
326}
327///
328#[derive(Clone, PartialEq, ::prost::Message)]
329pub struct Button {
330    ///
331    #[prost(string, tag = "1")]
332    pub title: ::prost::alloc::string::String,
333    ///
334    #[prost(string, tag = "2")]
335    pub left_strikethrough_text: ::prost::alloc::string::String,
336    ///
337    #[prost(string, tag = "3")]
338    pub r#type: ::prost::alloc::string::String,
339    ///
340    #[prost(string, tag = "4")]
341    pub link: ::prost::alloc::string::String,
342    ///
343    #[prost(message, optional, tag = "5")]
344    pub badge_info: ::core::option::Option<BadgeInfo>,
345    ///
346    #[prost(string, tag = "6")]
347    pub sub_title: ::prost::alloc::string::String,
348}
349///
350#[derive(Clone, PartialEq, ::prost::Message)]
351pub struct CardBasicInfo {
352    ///
353    #[prost(string, tag = "1")]
354    pub title: ::prost::alloc::string::String,
355    ///
356    #[prost(string, tag = "2")]
357    pub desc: ::prost::alloc::string::String,
358    ///
359    #[prost(string, tag = "3")]
360    pub cover: ::prost::alloc::string::String,
361    ///
362    #[prost(string, tag = "4")]
363    pub uri: ::prost::alloc::string::String,
364    ///
365    #[prost(string, tag = "5")]
366    pub track_id: ::prost::alloc::string::String,
367    ///
368    #[prost(string, tag = "6")]
369    pub unique_id: ::prost::alloc::string::String,
370    ///
371    #[prost(int64, tag = "7")]
372    pub from_source_type: i64,
373    ///
374    #[prost(string, tag = "8")]
375    pub from_source_id: ::prost::alloc::string::String,
376    ///
377    #[prost(int64, tag = "9")]
378    pub material_id: i64,
379    ///
380    #[prost(string, tag = "10")]
381    pub cover_gif: ::prost::alloc::string::String,
382    ///
383    #[prost(message, optional, tag = "11")]
384    pub author: ::core::option::Option<Owner>,
385    ///
386    #[prost(int64, tag = "12")]
387    pub id: i64,
388    ///
389    #[prost(string, tag = "13")]
390    pub from: ::prost::alloc::string::String,
391    ///
392    #[prost(string, tag = "14")]
393    pub from_spmid_suffix: ::prost::alloc::string::String,
394    ///
395    #[prost(string, tag = "15")]
396    pub report_flow_data: ::prost::alloc::string::String,
397}
398///
399#[derive(Clone, PartialEq, ::prost::Message)]
400pub struct CardStyle {
401    ///
402    #[prost(int32, tag = "1")]
403    pub id: i32,
404    ///
405    #[prost(string, tag = "2")]
406    pub name: ::prost::alloc::string::String,
407}
408///
409#[derive(Clone, PartialEq, ::prost::Message)]
410pub struct Celebrity {
411    ///
412    #[prost(int32, tag = "1")]
413    pub id: i32,
414    ///
415    #[prost(string, tag = "2")]
416    pub name: ::prost::alloc::string::String,
417    ///
418    #[prost(string, tag = "3")]
419    pub role: ::prost::alloc::string::String,
420    ///
421    #[prost(string, tag = "4")]
422    pub avatar: ::prost::alloc::string::String,
423    ///
424    #[prost(string, tag = "5")]
425    pub short_desc: ::prost::alloc::string::String,
426    ///
427    #[prost(string, tag = "6")]
428    pub desc: ::prost::alloc::string::String,
429    ///
430    #[prost(string, tag = "7")]
431    pub character_avatar: ::prost::alloc::string::String,
432    ///
433    #[prost(string, tag = "8")]
434    pub link: ::prost::alloc::string::String,
435    ///
436    #[prost(int64, tag = "9")]
437    pub mid: i64,
438    ///
439    #[prost(int32, tag = "10")]
440    pub is_follow: i32,
441    ///
442    #[prost(string, tag = "11")]
443    pub occupation_name: ::prost::alloc::string::String,
444    ///
445    #[prost(enumeration = "OccupationType", tag = "12")]
446    pub occupation_type: i32,
447    ///
448    #[prost(int32, tag = "13")]
449    pub relate_attr: i32,
450    ///
451    #[prost(string, tag = "14")]
452    pub small_avatar: ::prost::alloc::string::String,
453    ///
454    #[prost(map = "string, string", tag = "15")]
455    pub report: ::std::collections::HashMap<
456        ::prost::alloc::string::String,
457        ::prost::alloc::string::String,
458    >,
459    ///
460    #[prost(message, optional, tag = "16")]
461    pub official: ::core::option::Option<OfficialVerify>,
462}
463///
464#[derive(Clone, PartialEq, ::prost::Message)]
465pub struct CellFluid {
466    ///
467    #[prost(string, tag = "1")]
468    pub top_base_color: ::prost::alloc::string::String,
469    ///
470    #[prost(string, tag = "2")]
471    pub top_split_color: ::prost::alloc::string::String,
472    ///
473    #[prost(string, tag = "3")]
474    pub top_text_color: ::prost::alloc::string::String,
475}
476///
477#[derive(Clone, PartialEq, ::prost::Message)]
478pub struct CharacterGroup {
479    ///
480    #[prost(string, tag = "1")]
481    pub title: ::prost::alloc::string::String,
482    ///
483    #[prost(message, repeated, tag = "2")]
484    pub characters: ::prost::alloc::vec::Vec<Celebrity>,
485}
486///
487#[derive(Clone, PartialEq, ::prost::Message)]
488pub struct Characters {
489    ///
490    #[prost(message, repeated, tag = "1")]
491    pub groups: ::prost::alloc::vec::Vec<CharacterGroup>,
492}
493///
494#[derive(Clone, PartialEq, ::prost::Message)]
495pub struct CoinExtend {
496    ///
497    #[prost(string, tag = "1")]
498    pub coin_app_zip_icon: ::prost::alloc::string::String,
499    ///
500    #[prost(string, tag = "2")]
501    pub coin_app_icon1: ::prost::alloc::string::String,
502    ///
503    #[prost(string, tag = "3")]
504    pub coin_app_icon2: ::prost::alloc::string::String,
505    ///
506    #[prost(string, tag = "4")]
507    pub coin_app_icon3: ::prost::alloc::string::String,
508    ///
509    #[prost(string, tag = "5")]
510    pub coin_app_icon4: ::prost::alloc::string::String,
511}
512///
513#[derive(Clone, PartialEq, ::prost::Message)]
514pub struct CombinationEp {
515    ///
516    #[prost(int32, tag = "1")]
517    pub id: i32,
518    ///
519    #[prost(int32, tag = "2")]
520    pub section_id: i32,
521    ///
522    #[prost(string, tag = "3")]
523    pub title: ::prost::alloc::string::String,
524    ///
525    #[prost(int32, tag = "4")]
526    pub can_ord_desc: i32,
527    ///
528    #[prost(string, tag = "5")]
529    pub more: ::prost::alloc::string::String,
530    ///
531    #[prost(int32, repeated, tag = "6")]
532    pub episode_ids: ::prost::alloc::vec::Vec<i32>,
533    ///
534    #[prost(message, repeated, tag = "7")]
535    pub episodes: ::prost::alloc::vec::Vec<ViewEpisode>,
536    ///
537    #[prost(string, tag = "8")]
538    pub split_text: ::prost::alloc::string::String,
539    ///
540    #[prost(message, optional, tag = "9")]
541    pub module_style: ::core::option::Option<Style>,
542    ///
543    #[prost(message, repeated, tag = "10")]
544    pub serial_season: ::prost::alloc::vec::Vec<SerialSeason>,
545    ///
546    #[prost(message, optional, tag = "11")]
547    pub section_data: ::core::option::Option<SectionData>,
548}
549///
550#[derive(Clone, PartialEq, ::prost::Message)]
551pub struct ContractText {
552    ///
553    #[prost(string, tag = "1")]
554    pub title: ::prost::alloc::string::String,
555    ///
556    #[prost(string, tag = "2")]
557    pub subtitle: ::prost::alloc::string::String,
558}
559///
560#[derive(Clone, PartialEq, ::prost::Message)]
561pub struct Covenanter {
562    ///
563    #[prost(int32, tag = "1")]
564    pub is_follow_display: i32,
565    ///
566    #[prost(message, optional, tag = "2")]
567    pub text: ::core::option::Option<ContractText>,
568    ///
569    #[prost(int32, tag = "3")]
570    pub is_interact_display: i32,
571}
572///
573#[derive(Clone, PartialEq, ::prost::Message)]
574pub struct DeliveryData {
575    ///
576    #[prost(string, tag = "1")]
577    pub title: ::prost::alloc::string::String,
578    ///
579    #[prost(message, optional, tag = "2")]
580    pub module_style: ::core::option::Option<Style>,
581    ///
582    #[prost(string, tag = "3")]
583    pub more: ::prost::alloc::string::String,
584    ///
585    #[prost(int32, tag = "8")]
586    pub id: i32,
587    ///
588    #[prost(map = "string, string", tag = "9")]
589    pub report: ::std::collections::HashMap<
590        ::prost::alloc::string::String,
591        ::prost::alloc::string::String,
592    >,
593    ///
594    #[prost(oneof = "delivery_data::Data", tags = "4, 5, 6, 7, 10")]
595    pub data: ::core::option::Option<delivery_data::Data>,
596}
597/// Nested message and enum types in `DeliveryData`.
598pub mod delivery_data {
599    ///
600    #[derive(Clone, PartialEq, ::prost::Oneof)]
601    pub enum Data {
602        ///
603        #[prost(message, tag = "4")]
604        Activity(super::Activity),
605        ///
606        #[prost(message, tag = "5")]
607        Characters(super::Characters),
608        ///
609        #[prost(message, tag = "6")]
610        TheatreHotTopic(super::TheatreHotTopic),
611        ///
612        #[prost(message, tag = "7")]
613        AggEps(super::AggEps),
614        ///
615        #[prost(message, tag = "10")]
616        ActPageItems(super::ActPageItems),
617    }
618}
619///
620#[derive(Clone, PartialEq, ::prost::Message)]
621pub struct Desc {
622    ///
623    #[prost(string, tag = "1")]
624    pub info: ::prost::alloc::string::String,
625    ///
626    #[prost(string, tag = "2")]
627    pub title: ::prost::alloc::string::String,
628}
629///
630#[derive(Clone, PartialEq, ::prost::Message)]
631pub struct DescV2 {
632    ///
633    #[prost(string, tag = "1")]
634    pub text: ::prost::alloc::string::String,
635    ///
636    #[prost(enumeration = "DescType", tag = "2")]
637    pub r#type: i32,
638    ///
639    #[prost(string, tag = "3")]
640    pub uri: ::prost::alloc::string::String,
641    ///
642    #[prost(int64, tag = "4")]
643    pub rid: i64,
644}
645///
646#[derive(Clone, Copy, PartialEq, ::prost::Message)]
647pub struct Dimension {
648    ///
649    #[prost(int64, tag = "1")]
650    pub width: i64,
651    ///
652    #[prost(int64, tag = "2")]
653    pub height: i64,
654    ///
655    #[prost(int64, tag = "3")]
656    pub rotate: i64,
657}
658///
659#[derive(Clone, PartialEq, ::prost::Message)]
660pub struct DislikeReasons {
661    ///
662    #[prost(int64, tag = "1")]
663    pub id: i64,
664    ///
665    #[prost(int64, tag = "2")]
666    pub mid: i64,
667    ///
668    #[prost(int32, tag = "3")]
669    pub rid: i32,
670    ///
671    #[prost(int64, tag = "4")]
672    pub tag_id: i64,
673    ///
674    #[prost(string, tag = "5")]
675    pub name: ::prost::alloc::string::String,
676}
677///
678#[derive(Clone, PartialEq, ::prost::Message)]
679pub struct ExtTab {
680    ///
681    #[prost(enumeration = "ExtType", tag = "1")]
682    pub ext_type: i32,
683    ///
684    #[prost(string, tag = "2")]
685    pub data: ::prost::alloc::string::String,
686}
687///
688#[derive(Clone, PartialEq, ::prost::Message)]
689pub struct FollowLayer {
690    ///
691    #[prost(message, optional, tag = "1")]
692    pub staff: ::core::option::Option<Staff>,
693    ///
694    #[prost(message, optional, tag = "2")]
695    pub desc: ::core::option::Option<Desc>,
696    ///
697    #[prost(map = "string, string", tag = "3")]
698    pub report: ::std::collections::HashMap<
699        ::prost::alloc::string::String,
700        ::prost::alloc::string::String,
701    >,
702}
703///
704#[derive(Clone, PartialEq, ::prost::Message)]
705pub struct Headline {
706    ///
707    #[prost(message, optional, tag = "1")]
708    pub label: ::core::option::Option<Label>,
709    ///
710    #[prost(string, tag = "2")]
711    pub content: ::prost::alloc::string::String,
712}
713///
714#[derive(Clone, PartialEq, ::prost::Message)]
715pub struct HistoryNode {
716    ///
717    #[prost(int64, tag = "1")]
718    pub node_id: i64,
719    ///
720    #[prost(string, tag = "2")]
721    pub title: ::prost::alloc::string::String,
722    ///
723    #[prost(int64, tag = "3")]
724    pub cid: i64,
725}
726///
727#[derive(Clone, PartialEq, ::prost::Message)]
728pub struct Honor {
729    ///
730    #[prost(string, tag = "1")]
731    pub icon: ::prost::alloc::string::String,
732    ///
733    #[prost(string, tag = "2")]
734    pub icon_night: ::prost::alloc::string::String,
735    ///
736    #[prost(string, tag = "3")]
737    pub text: ::prost::alloc::string::String,
738    ///
739    #[prost(string, tag = "4")]
740    pub text_extra: ::prost::alloc::string::String,
741    ///
742    #[prost(string, tag = "5")]
743    pub text_color: ::prost::alloc::string::String,
744    ///
745    #[prost(string, tag = "6")]
746    pub text_color_night: ::prost::alloc::string::String,
747    ///
748    #[prost(string, tag = "7")]
749    pub bg_color: ::prost::alloc::string::String,
750    ///
751    #[prost(string, tag = "8")]
752    pub bg_color_night: ::prost::alloc::string::String,
753    ///
754    #[prost(string, tag = "9")]
755    pub url: ::prost::alloc::string::String,
756    ///
757    #[prost(string, tag = "10")]
758    pub url_text: ::prost::alloc::string::String,
759    ///
760    #[prost(enumeration = "HonorType", tag = "11")]
761    pub r#type: i32,
762    ///
763    #[prost(enumeration = "HonorJumpType", tag = "12")]
764    pub honor_jump_type: i32,
765    ///
766    #[prost(map = "string, string", tag = "13")]
767    pub report: ::std::collections::HashMap<
768        ::prost::alloc::string::String,
769        ::prost::alloc::string::String,
770    >,
771}
772///
773#[derive(Clone, PartialEq, ::prost::Message)]
774pub struct IconFont {
775    ///
776    #[prost(string, tag = "1")]
777    pub name: ::prost::alloc::string::String,
778    ///
779    #[prost(string, tag = "2")]
780    pub text: ::prost::alloc::string::String,
781}
782///
783#[derive(Clone, PartialEq, ::prost::Message)]
784pub struct Interaction {
785    ///
786    #[prost(int64, tag = "1")]
787    pub ep_id: i64,
788    ///
789    #[prost(message, optional, tag = "2")]
790    pub history_node: ::core::option::Option<HistoryNode>,
791    ///
792    #[prost(int64, tag = "3")]
793    pub graph_version: i64,
794    ///
795    #[prost(string, tag = "4")]
796    pub msg: ::prost::alloc::string::String,
797    ///
798    #[prost(bool, tag = "5")]
799    pub is_interaction: bool,
800}
801///
802#[derive(Clone, PartialEq, ::prost::Message)]
803pub struct Item {
804    ///
805    #[prost(string, tag = "1")]
806    pub link: ::prost::alloc::string::String,
807    ///
808    #[prost(string, tag = "2")]
809    pub cover: ::prost::alloc::string::String,
810}
811///
812#[derive(Clone, PartialEq, ::prost::Message)]
813pub struct KingPos {
814    ///
815    #[prost(bool, tag = "1")]
816    pub disable: bool,
817    ///
818    #[prost(string, tag = "2")]
819    pub icon: ::prost::alloc::string::String,
820    ///
821    #[prost(enumeration = "KingPositionType", tag = "3")]
822    pub r#type: i32,
823    ///
824    #[prost(string, tag = "4")]
825    pub disable_toast: ::prost::alloc::string::String,
826    ///
827    #[prost(string, tag = "5")]
828    pub checked_toast: ::prost::alloc::string::String,
829    ///
830    #[prost(oneof = "king_pos::Extend", tags = "6, 7")]
831    pub extend: ::core::option::Option<king_pos::Extend>,
832}
833/// Nested message and enum types in `KingPos`.
834pub mod king_pos {
835    ///
836    #[derive(Clone, PartialEq, ::prost::Oneof)]
837    pub enum Extend {
838        ///
839        #[prost(message, tag = "6")]
840        Like(super::LikeExtend),
841        ///
842        #[prost(message, tag = "7")]
843        Coin(super::CoinExtend),
844    }
845}
846///
847#[derive(Clone, PartialEq, ::prost::Message)]
848pub struct KingPosition {
849    ///
850    #[prost(message, repeated, tag = "1")]
851    pub king_pos: ::prost::alloc::vec::Vec<KingPos>,
852    ///
853    #[prost(message, repeated, tag = "2")]
854    pub extend: ::prost::alloc::vec::Vec<KingPos>,
855}
856///
857#[derive(Clone, PartialEq, ::prost::Message)]
858pub struct Label {
859    ///
860    #[prost(int32, tag = "1")]
861    pub r#type: i32,
862    ///
863    #[prost(string, tag = "2")]
864    pub uri: ::prost::alloc::string::String,
865    ///
866    #[prost(string, tag = "3")]
867    pub icon: ::prost::alloc::string::String,
868    ///
869    #[prost(string, tag = "4")]
870    pub icon_night: ::prost::alloc::string::String,
871    ///
872    #[prost(int64, tag = "5")]
873    pub icon_width: i64,
874    ///
875    #[prost(int64, tag = "6")]
876    pub icon_height: i64,
877    ///
878    #[prost(string, tag = "7")]
879    pub lottie: ::prost::alloc::string::String,
880    ///
881    #[prost(string, tag = "8")]
882    pub lottie_night: ::prost::alloc::string::String,
883}
884///
885#[derive(Clone, PartialEq, ::prost::Message)]
886pub struct LikeComment {
887    ///
888    #[prost(string, tag = "1")]
889    pub reply: ::prost::alloc::string::String,
890    ///
891    #[prost(string, tag = "2")]
892    pub title: ::prost::alloc::string::String,
893}
894///
895#[derive(Clone, PartialEq, ::prost::Message)]
896pub struct LikeExtend {
897    ///
898    #[prost(message, optional, tag = "1")]
899    pub triple_like: ::core::option::Option<UpLikeImg>,
900    ///
901    #[prost(string, tag = "2")]
902    pub like_animation: ::prost::alloc::string::String,
903    ///
904    #[prost(message, optional, tag = "3")]
905    pub player_animation: ::core::option::Option<PlayerAnimation>,
906    ///
907    #[prost(message, optional, tag = "4")]
908    pub resource: ::core::option::Option<ActivityResource>,
909}
910///
911#[derive(Clone, PartialEq, ::prost::Message)]
912pub struct Live {
913    ///
914    #[prost(int64, tag = "1")]
915    pub mid: i64,
916    ///
917    #[prost(int64, tag = "2")]
918    pub room_id: i64,
919    ///
920    #[prost(string, tag = "3")]
921    pub uri: ::prost::alloc::string::String,
922    ///
923    #[prost(string, tag = "4")]
924    pub endpage_uri: ::prost::alloc::string::String,
925}
926///
927#[derive(Clone, PartialEq, ::prost::Message)]
928pub struct LiveOrder {
929    ///
930    #[prost(int64, tag = "1")]
931    pub sid: i64,
932    ///
933    #[prost(string, tag = "2")]
934    pub text: ::prost::alloc::string::String,
935    ///
936    #[prost(int64, tag = "3")]
937    pub live_plan_start_time: i64,
938    ///
939    #[prost(bool, tag = "4")]
940    pub is_follow: bool,
941    ///
942    #[prost(int64, tag = "5")]
943    pub follow_count: i64,
944}
945///
946#[derive(Clone, PartialEq, ::prost::Message)]
947pub struct Mine {
948    ///
949    #[prost(double, tag = "1")]
950    pub amount: f64,
951    ///
952    #[prost(int32, tag = "2")]
953    pub rank: i32,
954    ///
955    #[prost(string, tag = "3")]
956    pub msg: ::prost::alloc::string::String,
957}
958///
959#[derive(Clone, PartialEq, ::prost::Message)]
960pub struct Module {
961    ///
962    #[prost(enumeration = "ModuleType", tag = "1")]
963    pub r#type: i32,
964    ///
965    #[prost(
966        oneof = "module::Data",
967        tags = "2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30"
968    )]
969    pub data: ::core::option::Option<module::Data>,
970}
971/// Nested message and enum types in `Module`.
972pub mod module {
973    ///
974    #[derive(Clone, PartialEq, ::prost::Oneof)]
975    pub enum Data {
976        ///
977        #[prost(message, tag = "2")]
978        OgvIntroduction(super::OgvIntroduction),
979        ///
980        #[prost(message, tag = "3")]
981        UgcIntroduction(super::UgcIntroduction),
982        ///
983        #[prost(message, tag = "4")]
984        KingPosition(super::KingPosition),
985        ///
986        #[prost(message, tag = "5")]
987        HeadLine(super::Headline),
988        ///
989        #[prost(message, tag = "6")]
990        OgvTitle(super::OgvTitle),
991        ///
992        #[prost(message, tag = "7")]
993        Honor(super::Honor),
994        ///
995        #[prost(message, tag = "8")]
996        List(super::UserList),
997        ///
998        #[prost(message, tag = "9")]
999        Staffs(super::Staffs),
1000        ///
1001        #[prost(message, tag = "10")]
1002        ActivityReserve(super::ActivityReserve),
1003        ///
1004        #[prost(message, tag = "11")]
1005        LiveOrder(super::LiveOrder),
1006        ///
1007        #[prost(message, tag = "12")]
1008        SectionData(super::SectionData),
1009        ///
1010        #[prost(message, tag = "13")]
1011        DeliveryData(super::DeliveryData),
1012        ///
1013        #[prost(message, tag = "14")]
1014        FollowLayer(super::FollowLayer),
1015        ///
1016        #[prost(message, tag = "15")]
1017        OgvSeasons(super::OgvSeasons),
1018        ///
1019        #[prost(message, tag = "16")]
1020        UgcSeason(super::UgcSeasons),
1021        ///
1022        #[prost(message, tag = "17")]
1023        OgvLiveReserve(super::OgvLiveReserve),
1024        ///
1025        #[prost(message, tag = "18")]
1026        CombinationEp(super::CombinationEp),
1027        ///
1028        #[prost(message, tag = "19")]
1029        Sponsor(super::Sponsor),
1030        ///
1031        #[prost(message, tag = "20")]
1032        ActivityEntranceModule(super::ActivityEntranceModule),
1033        ///
1034        #[prost(message, tag = "21")]
1035        SerialSeason(super::SerialSeason),
1036        ///
1037        #[prost(message, tag = "22")]
1038        Relates(super::Relates),
1039        ///
1040        #[prost(message, tag = "23")]
1041        Banner(super::Banner),
1042        ///
1043        #[prost(message, tag = "24")]
1044        Audio(super::Audio),
1045        ///
1046        #[prost(message, tag = "25")]
1047        LikeComment(super::LikeComment),
1048        ///
1049        #[prost(message, tag = "26")]
1050        AttentionRecommend(super::AttentionRecommend),
1051        ///
1052        #[prost(message, tag = "27")]
1053        Covenanter(super::Covenanter),
1054        ///
1055        #[prost(message, tag = "28")]
1056        SpecialTag(super::SpecialTag),
1057        ///
1058        #[prost(message, tag = "29")]
1059        UpDataModule(super::UpDataModule),
1060        ///
1061        #[prost(message, tag = "30")]
1062        ProfessionApproval(super::ProfessionApproval),
1063    }
1064}
1065///
1066#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1067pub struct MultiViewEp {
1068    ///
1069    #[prost(int64, tag = "1")]
1070    pub ep_id: i64,
1071}
1072///
1073#[derive(Clone, PartialEq, ::prost::Message)]
1074pub struct NewEp {
1075    ///
1076    #[prost(int32, tag = "1")]
1077    pub id: i32,
1078    ///
1079    #[prost(string, tag = "2")]
1080    pub title: ::prost::alloc::string::String,
1081    ///
1082    #[prost(string, tag = "3")]
1083    pub desc: ::prost::alloc::string::String,
1084    ///
1085    #[prost(int32, tag = "4")]
1086    pub is_new: i32,
1087    ///
1088    #[prost(string, tag = "5")]
1089    pub more: ::prost::alloc::string::String,
1090    ///
1091    #[prost(string, tag = "6")]
1092    pub cover: ::prost::alloc::string::String,
1093    ///
1094    #[prost(string, tag = "7")]
1095    pub index_show: ::prost::alloc::string::String,
1096}
1097///
1098#[derive(Clone, PartialEq, ::prost::Message)]
1099pub struct OfficialVerify {
1100    ///
1101    #[prost(int32, tag = "1")]
1102    pub r#type: i32,
1103    ///
1104    #[prost(string, tag = "2")]
1105    pub desc: ::prost::alloc::string::String,
1106}
1107///
1108#[derive(Clone, PartialEq, ::prost::Message)]
1109pub struct OgvIntroduction {
1110    ///
1111    #[prost(string, tag = "1")]
1112    pub followers: ::prost::alloc::string::String,
1113    ///
1114    #[prost(string, tag = "2")]
1115    pub score: ::prost::alloc::string::String,
1116    ///
1117    #[prost(message, optional, tag = "3")]
1118    pub play_data: ::core::option::Option<StatInfo>,
1119}
1120///
1121#[derive(Clone, PartialEq, ::prost::Message)]
1122pub struct OgvLiveReserve {
1123    ///
1124    #[prost(int64, tag = "1")]
1125    pub reserve_id: i64,
1126    ///
1127    #[prost(string, tag = "2")]
1128    pub title: ::prost::alloc::string::String,
1129    ///
1130    #[prost(string, tag = "3")]
1131    pub icon: ::prost::alloc::string::String,
1132    ///
1133    #[prost(string, tag = "4")]
1134    pub night_icon: ::prost::alloc::string::String,
1135    ///
1136    #[prost(string, tag = "5")]
1137    pub click_button: ::prost::alloc::string::String,
1138    ///
1139    #[prost(string, tag = "6")]
1140    pub link: ::prost::alloc::string::String,
1141    ///
1142    #[prost(int32, tag = "7")]
1143    pub follow_video_is_reserve_live: i32,
1144    ///
1145    #[prost(string, tag = "8")]
1146    pub bg_color: ::prost::alloc::string::String,
1147    ///
1148    #[prost(string, tag = "9")]
1149    pub night_bg_color: ::prost::alloc::string::String,
1150    ///
1151    #[prost(string, tag = "10")]
1152    pub text_color: ::prost::alloc::string::String,
1153    ///
1154    #[prost(string, tag = "11")]
1155    pub night_text_color: ::prost::alloc::string::String,
1156    ///
1157    #[prost(string, tag = "12")]
1158    pub bt_bg_color: ::prost::alloc::string::String,
1159    ///
1160    #[prost(string, tag = "13")]
1161    pub bt_frame_color: ::prost::alloc::string::String,
1162    ///
1163    #[prost(string, tag = "14")]
1164    pub night_bt_bg_color: ::prost::alloc::string::String,
1165    ///
1166    #[prost(string, tag = "15")]
1167    pub night_bt_frame_color: ::prost::alloc::string::String,
1168    ///
1169    #[prost(int32, tag = "16")]
1170    pub active_type: i32,
1171    ///
1172    #[prost(int32, tag = "17")]
1173    pub reserve_status: i32,
1174    ///
1175    #[prost(string, tag = "18")]
1176    pub bt_text_color: ::prost::alloc::string::String,
1177    ///
1178    #[prost(string, tag = "19")]
1179    pub night_bt_text_color: ::prost::alloc::string::String,
1180    ///
1181    #[prost(map = "string, string", tag = "20")]
1182    pub report: ::std::collections::HashMap<
1183        ::prost::alloc::string::String,
1184        ::prost::alloc::string::String,
1185    >,
1186}
1187///
1188#[derive(Clone, PartialEq, ::prost::Message)]
1189pub struct OgvSeasons {
1190    ///
1191    #[prost(string, tag = "1")]
1192    pub title: ::prost::alloc::string::String,
1193    ///
1194    #[prost(message, repeated, tag = "2")]
1195    pub serial_season: ::prost::alloc::vec::Vec<SerialSeason>,
1196    ///
1197    #[prost(enumeration = "SerialSeasonCoverStyle", tag = "3")]
1198    pub style: i32,
1199}
1200///
1201#[derive(Clone, PartialEq, ::prost::Message)]
1202pub struct OgvTitle {
1203    ///
1204    #[prost(string, tag = "1")]
1205    pub title: ::prost::alloc::string::String,
1206    ///
1207    #[prost(message, optional, tag = "2")]
1208    pub badge_info: ::core::option::Option<BadgeInfo>,
1209    ///
1210    #[prost(int32, tag = "3")]
1211    pub is_show_btn_animation: i32,
1212    ///
1213    #[prost(int32, tag = "4")]
1214    pub follow_video_is_reserve_live: i32,
1215    ///
1216    #[prost(int64, tag = "5")]
1217    pub reserve_id: i64,
1218    ///
1219    #[prost(message, optional, tag = "6")]
1220    pub title_delivery_button: ::core::option::Option<TitleDeliveryButton>,
1221}
1222///
1223#[derive(Clone, PartialEq, ::prost::Message)]
1224pub struct Owner {
1225    ///
1226    #[prost(message, optional, tag = "1")]
1227    pub avatar: ::core::option::Option<
1228        super::super::super::super::dagw::component::avatar::v1::AvatarItem,
1229    >,
1230    ///
1231    #[prost(string, tag = "2")]
1232    pub url: ::prost::alloc::string::String,
1233    ///
1234    #[prost(string, tag = "3")]
1235    pub title: ::prost::alloc::string::String,
1236    ///
1237    #[prost(string, tag = "4")]
1238    pub fans: ::prost::alloc::string::String,
1239    ///
1240    #[prost(string, tag = "5")]
1241    pub arc_count: ::prost::alloc::string::String,
1242    ///
1243    #[prost(enumeration = "AttentionRelationStatus", tag = "6")]
1244    pub attention: i32,
1245    ///
1246    #[prost(enumeration = "AttentionRelationStatus", tag = "7")]
1247    pub attention_relation: i32,
1248    ///
1249    #[prost(string, tag = "8")]
1250    pub pub_location: ::prost::alloc::string::String,
1251    ///
1252    #[prost(message, optional, tag = "9")]
1253    pub vip: ::core::option::Option<Vip>,
1254    ///
1255    #[prost(string, tag = "10")]
1256    pub title_url: ::prost::alloc::string::String,
1257    ///
1258    #[prost(string, tag = "11")]
1259    pub face: ::prost::alloc::string::String,
1260    ///
1261    #[prost(int64, tag = "12")]
1262    pub mid: i64,
1263    ///
1264    #[prost(message, optional, tag = "13")]
1265    pub official_verify: ::core::option::Option<OfficialVerify>,
1266    ///
1267    #[prost(message, optional, tag = "14")]
1268    pub live: ::core::option::Option<Live>,
1269    ///
1270    #[prost(int64, tag = "15")]
1271    pub fans_num: i64,
1272    ///
1273    #[prost(int64, repeated, tag = "16")]
1274    pub assists: ::prost::alloc::vec::Vec<i64>,
1275}
1276///
1277#[derive(Clone, PartialEq, ::prost::Message)]
1278pub struct Page {
1279    ///
1280    #[prost(int64, tag = "1")]
1281    pub cid: i64,
1282    ///
1283    #[prost(string, tag = "2")]
1284    pub part: ::prost::alloc::string::String,
1285    ///
1286    #[prost(int64, tag = "3")]
1287    pub duration: i64,
1288    ///
1289    #[prost(string, tag = "4")]
1290    pub desc: ::prost::alloc::string::String,
1291    ///
1292    #[prost(message, optional, tag = "5")]
1293    pub dimension: ::core::option::Option<Dimension>,
1294    ///
1295    #[prost(string, tag = "6")]
1296    pub dl_title: ::prost::alloc::string::String,
1297    ///
1298    #[prost(string, tag = "7")]
1299    pub dl_subtitle: ::prost::alloc::string::String,
1300}
1301///
1302#[derive(Clone, PartialEq, ::prost::Message)]
1303pub struct Pendant {
1304    ///
1305    #[prost(int32, tag = "1")]
1306    pub pid: i32,
1307    ///
1308    #[prost(string, tag = "2")]
1309    pub name: ::prost::alloc::string::String,
1310    ///
1311    #[prost(string, tag = "3")]
1312    pub image: ::prost::alloc::string::String,
1313}
1314///
1315#[derive(Clone, PartialEq, ::prost::Message)]
1316pub struct PlayerAnimation {
1317    ///
1318    #[prost(string, tag = "1")]
1319    pub player_icon: ::prost::alloc::string::String,
1320    ///
1321    #[prost(string, tag = "2")]
1322    pub player_triple_icon: ::prost::alloc::string::String,
1323}
1324///
1325#[derive(Clone, PartialEq, ::prost::Message)]
1326pub struct PointActivity {
1327    ///
1328    #[prost(string, tag = "1")]
1329    pub tip: ::prost::alloc::string::String,
1330    ///
1331    #[prost(string, tag = "2")]
1332    pub content: ::prost::alloc::string::String,
1333    ///
1334    #[prost(string, tag = "3")]
1335    pub link: ::prost::alloc::string::String,
1336}
1337///
1338#[derive(Clone, PartialEq, ::prost::Message)]
1339pub struct PowerIconStyle {
1340    ///
1341    #[prost(string, tag = "1")]
1342    pub icon_url: ::prost::alloc::string::String,
1343    ///
1344    #[prost(string, tag = "2")]
1345    pub icon_night_url: ::prost::alloc::string::String,
1346    ///
1347    #[prost(int64, tag = "3")]
1348    pub icon_width: i64,
1349    ///
1350    #[prost(int64, tag = "4")]
1351    pub icon_height: i64,
1352}
1353///
1354#[derive(Clone, PartialEq, ::prost::Message)]
1355pub struct ProfessionApproval {
1356    ///
1357    #[prost(string, tag = "1")]
1358    pub title: ::prost::alloc::string::String,
1359}
1360///
1361#[derive(Clone, PartialEq, ::prost::Message)]
1362pub struct Rank {
1363    ///
1364    #[prost(string, tag = "1")]
1365    pub icon: ::prost::alloc::string::String,
1366    ///
1367    #[prost(string, tag = "2")]
1368    pub icon_night: ::prost::alloc::string::String,
1369    ///
1370    #[prost(string, tag = "3")]
1371    pub text: ::prost::alloc::string::String,
1372}
1373///
1374#[derive(Clone, PartialEq, ::prost::Message)]
1375pub struct RankInfo {
1376    ///
1377    #[prost(string, tag = "1")]
1378    pub icon_url_night: ::prost::alloc::string::String,
1379    ///
1380    #[prost(string, tag = "2")]
1381    pub icon_url_day: ::prost::alloc::string::String,
1382    ///
1383    #[prost(string, tag = "3")]
1384    pub bkg_night_color: ::prost::alloc::string::String,
1385    ///
1386    #[prost(string, tag = "4")]
1387    pub bkg_day_color: ::prost::alloc::string::String,
1388    ///
1389    #[prost(string, tag = "5")]
1390    pub font_night_color: ::prost::alloc::string::String,
1391    ///
1392    #[prost(string, tag = "6")]
1393    pub font_day_color: ::prost::alloc::string::String,
1394    ///
1395    #[prost(string, tag = "7")]
1396    pub rank_content: ::prost::alloc::string::String,
1397    ///
1398    #[prost(string, tag = "8")]
1399    pub rank_link: ::prost::alloc::string::String,
1400}
1401///
1402#[derive(Clone, PartialEq, ::prost::Message)]
1403pub struct Rating {
1404    ///
1405    #[prost(string, tag = "1")]
1406    pub score: ::prost::alloc::string::String,
1407    ///
1408    #[prost(int32, tag = "2")]
1409    pub count: i32,
1410}
1411///
1412#[derive(Clone, PartialEq, ::prost::Message)]
1413pub struct RelateAvCard {
1414    ///
1415    #[prost(int64, tag = "1")]
1416    pub duration: i64,
1417    ///
1418    #[prost(int64, tag = "2")]
1419    pub cid: i64,
1420    ///
1421    #[prost(message, optional, tag = "3")]
1422    pub dimension: ::core::option::Option<Dimension>,
1423    ///
1424    #[prost(message, optional, tag = "4")]
1425    pub stat: ::core::option::Option<Stat>,
1426    ///
1427    #[prost(string, tag = "5")]
1428    pub jump_url: ::prost::alloc::string::String,
1429    ///
1430    #[prost(bool, tag = "6")]
1431    pub show_up_name: bool,
1432    ///
1433    #[prost(message, optional, tag = "7")]
1434    pub rcmd_reason: ::core::option::Option<BadgeInfo>,
1435}
1436///
1437#[derive(Clone, PartialEq, ::prost::Message)]
1438pub struct RelateBangumiAvCard {
1439    ///
1440    #[prost(message, optional, tag = "1")]
1441    pub badge: ::core::option::Option<BadgeInfo>,
1442    ///
1443    #[prost(message, optional, tag = "2")]
1444    pub stat: ::core::option::Option<Stat>,
1445    ///
1446    #[prost(message, optional, tag = "3")]
1447    pub rating: ::core::option::Option<Rating>,
1448}
1449///
1450#[derive(Clone, PartialEq, ::prost::Message)]
1451pub struct RelateBangumiCard {
1452    ///
1453    #[prost(int32, tag = "1")]
1454    pub season_id: i32,
1455    ///
1456    #[prost(int32, tag = "2")]
1457    pub season_type: i32,
1458    ///
1459    #[prost(message, optional, tag = "3")]
1460    pub new_ep: ::core::option::Option<NewEp>,
1461    ///
1462    #[prost(message, optional, tag = "4")]
1463    pub stat: ::core::option::Option<Stat>,
1464    ///
1465    #[prost(message, optional, tag = "5")]
1466    pub rating: ::core::option::Option<Rating>,
1467    ///
1468    #[prost(string, tag = "6")]
1469    pub rcmd_reason: ::prost::alloc::string::String,
1470    ///
1471    #[prost(message, optional, tag = "7")]
1472    pub badge_info: ::core::option::Option<BadgeInfo>,
1473    ///
1474    #[prost(string, tag = "8")]
1475    pub goto_type: ::prost::alloc::string::String,
1476    ///
1477    #[prost(map = "string, string", tag = "9")]
1478    pub report: ::std::collections::HashMap<
1479        ::prost::alloc::string::String,
1480        ::prost::alloc::string::String,
1481    >,
1482}
1483///
1484#[derive(Clone, PartialEq, ::prost::Message)]
1485pub struct RelateBangumiResourceCard {
1486    ///
1487    #[prost(int32, tag = "1")]
1488    pub r#type: i32,
1489    ///
1490    #[prost(string, tag = "2")]
1491    pub scover: ::prost::alloc::string::String,
1492    ///
1493    #[prost(int32, tag = "3")]
1494    pub re_type: i32,
1495    ///
1496    #[prost(string, tag = "4")]
1497    pub re_value: ::prost::alloc::string::String,
1498    ///
1499    #[prost(string, tag = "5")]
1500    pub corner: ::prost::alloc::string::String,
1501    ///
1502    #[prost(int32, tag = "6")]
1503    pub card: i32,
1504    ///
1505    #[prost(string, tag = "7")]
1506    pub siz: ::prost::alloc::string::String,
1507    ///
1508    #[prost(int32, tag = "8")]
1509    pub position: i32,
1510    ///
1511    #[prost(string, tag = "9")]
1512    pub rcmd_reason: ::prost::alloc::string::String,
1513    ///
1514    #[prost(string, tag = "10")]
1515    pub label: ::prost::alloc::string::String,
1516    ///
1517    #[prost(map = "string, string", tag = "11")]
1518    pub report: ::std::collections::HashMap<
1519        ::prost::alloc::string::String,
1520        ::prost::alloc::string::String,
1521    >,
1522    ///
1523    #[prost(string, tag = "12")]
1524    pub goto_type: ::prost::alloc::string::String,
1525}
1526///
1527#[derive(Clone, PartialEq, ::prost::Message)]
1528pub struct RelateBangumiUgcCard {
1529    ///
1530    #[prost(message, optional, tag = "1")]
1531    pub badge: ::core::option::Option<BadgeInfo>,
1532    ///
1533    #[prost(message, optional, tag = "2")]
1534    pub stat: ::core::option::Option<Stat>,
1535    ///
1536    #[prost(message, optional, tag = "3")]
1537    pub rating: ::core::option::Option<Rating>,
1538}
1539///
1540#[derive(Clone, PartialEq, ::prost::Message)]
1541pub struct RelateCmCard {
1542    ///
1543    #[prost(int64, tag = "1")]
1544    pub aid: i64,
1545    ///
1546    #[prost(message, optional, tag = "2")]
1547    pub source_content: ::core::option::Option<::prost_types::Any>,
1548    ///
1549    #[prost(int64, tag = "3")]
1550    pub duration: i64,
1551    ///
1552    #[prost(message, optional, tag = "4")]
1553    pub stat: ::core::option::Option<Stat>,
1554}
1555///
1556#[derive(Clone, PartialEq, ::prost::Message)]
1557pub struct RelateCard {
1558    ///
1559    #[prost(enumeration = "RelateCardType", tag = "1")]
1560    pub relate_card_type: i32,
1561    ///
1562    #[prost(message, optional, tag = "10")]
1563    pub three_point: ::core::option::Option<RelateThreePoint>,
1564    ///
1565    #[prost(message, optional, tag = "11")]
1566    pub cm_stock: ::core::option::Option<::prost_types::Any>,
1567    ///
1568    #[prost(message, optional, tag = "12")]
1569    pub basic_info: ::core::option::Option<CardBasicInfo>,
1570    ///
1571    #[prost(oneof = "relate_card::Card", tags = "2, 3, 4, 5, 6, 7, 8, 9, 13, 14")]
1572    pub card: ::core::option::Option<relate_card::Card>,
1573}
1574/// Nested message and enum types in `RelateCard`.
1575pub mod relate_card {
1576    ///
1577    #[derive(Clone, PartialEq, ::prost::Oneof)]
1578    pub enum Card {
1579        ///
1580        #[prost(message, tag = "2")]
1581        Av(super::RelateAvCard),
1582        ///
1583        #[prost(message, tag = "3")]
1584        Bangumi(super::RelateBangumiCard),
1585        ///
1586        #[prost(message, tag = "4")]
1587        Resource(super::RelateBangumiResourceCard),
1588        ///
1589        #[prost(message, tag = "5")]
1590        Game(super::RelateGameCard),
1591        ///
1592        #[prost(message, tag = "6")]
1593        Cm(super::RelateCmCard),
1594        ///
1595        #[prost(message, tag = "7")]
1596        Live(super::RelateLiveCard),
1597        ///
1598        #[prost(message, tag = "8")]
1599        BangumiAv(super::RelateBangumiAvCard),
1600        ///
1601        #[prost(message, tag = "9")]
1602        AiCard(super::RelatedAiCard),
1603        ///
1604        #[prost(message, tag = "13")]
1605        BangumiUgc(super::RelateBangumiUgcCard),
1606        ///
1607        #[prost(message, tag = "14")]
1608        Special(super::RelateSpecial),
1609    }
1610}
1611///
1612#[derive(Clone, PartialEq, ::prost::Message)]
1613pub struct RelateConfig {
1614    ///
1615    #[prost(int64, tag = "1")]
1616    pub valid_show_m: i64,
1617    ///
1618    #[prost(int64, tag = "2")]
1619    pub valid_show_n: i64,
1620    ///
1621    #[prost(message, optional, tag = "3")]
1622    pub pagination: ::core::option::Option<
1623        super::super::super::super::pagination::Pagination,
1624    >,
1625    ///
1626    #[prost(bool, tag = "4")]
1627    pub can_load_more: bool,
1628}
1629///
1630#[derive(Clone, PartialEq, ::prost::Message)]
1631pub struct RelateDislike {
1632    ///
1633    #[prost(string, tag = "1")]
1634    pub title: ::prost::alloc::string::String,
1635    ///
1636    #[prost(string, tag = "2")]
1637    pub sub_title: ::prost::alloc::string::String,
1638    ///
1639    #[prost(string, tag = "3")]
1640    pub closed_sub_title: ::prost::alloc::string::String,
1641    ///
1642    #[prost(string, tag = "4")]
1643    pub paste_text: ::prost::alloc::string::String,
1644    ///
1645    #[prost(string, tag = "5")]
1646    pub closed_paste_text: ::prost::alloc::string::String,
1647    ///
1648    #[prost(message, repeated, tag = "6")]
1649    pub dislike_reason: ::prost::alloc::vec::Vec<DislikeReasons>,
1650    ///
1651    #[prost(string, tag = "7")]
1652    pub toast: ::prost::alloc::string::String,
1653    ///
1654    #[prost(string, tag = "8")]
1655    pub closed_toast: ::prost::alloc::string::String,
1656}
1657///
1658#[derive(Clone, PartialEq, ::prost::Message)]
1659pub struct RelateGameCard {
1660    ///
1661    #[prost(int64, tag = "1")]
1662    pub reserve_status: i64,
1663    ///
1664    #[prost(string, tag = "2")]
1665    pub reserve_status_text: ::prost::alloc::string::String,
1666    ///
1667    #[prost(string, tag = "3")]
1668    pub reserve: ::prost::alloc::string::String,
1669    ///
1670    #[prost(float, tag = "4")]
1671    pub rating: f32,
1672    ///
1673    #[prost(string, tag = "5")]
1674    pub tag_name: ::prost::alloc::string::String,
1675    ///
1676    #[prost(message, optional, tag = "6")]
1677    pub rank_info: ::core::option::Option<RankInfo>,
1678    ///
1679    #[prost(message, optional, tag = "7")]
1680    pub pack_info: ::core::option::Option<Button>,
1681    ///
1682    #[prost(message, optional, tag = "8")]
1683    pub notice: ::core::option::Option<Button>,
1684    ///
1685    #[prost(message, optional, tag = "9")]
1686    pub power_icon_style: ::core::option::Option<PowerIconStyle>,
1687    ///
1688    #[prost(string, tag = "10")]
1689    pub game_rcmd_reason: ::prost::alloc::string::String,
1690    ///
1691    #[prost(message, optional, tag = "11")]
1692    pub wiki_info: ::core::option::Option<WikiInfo>,
1693    ///
1694    #[prost(message, optional, tag = "12")]
1695    pub badge: ::core::option::Option<BadgeInfo>,
1696}
1697///
1698#[derive(Clone, PartialEq, ::prost::Message)]
1699pub struct RelateItem {
1700    ///
1701    #[prost(string, tag = "1")]
1702    pub url: ::prost::alloc::string::String,
1703    ///
1704    #[prost(string, tag = "2")]
1705    pub cover: ::prost::alloc::string::String,
1706    ///
1707    #[prost(bool, tag = "3")]
1708    pub use_default_browser: bool,
1709}
1710///
1711#[derive(Clone, PartialEq, ::prost::Message)]
1712pub struct RelateLiveCard {
1713    ///
1714    #[prost(int64, tag = "1")]
1715    pub icon_type: i64,
1716    ///
1717    #[prost(string, tag = "2")]
1718    pub area_name: ::prost::alloc::string::String,
1719    ///
1720    #[prost(int64, tag = "3")]
1721    pub watched_show: i64,
1722    ///
1723    #[prost(int64, tag = "4")]
1724    pub live_status: i64,
1725}
1726///
1727#[derive(Clone, PartialEq, ::prost::Message)]
1728pub struct RelateSpecial {
1729    ///
1730    #[prost(message, optional, tag = "1")]
1731    pub badge: ::core::option::Option<BadgeInfo>,
1732    ///
1733    #[prost(message, optional, tag = "2")]
1734    pub rcmd_reason: ::core::option::Option<BadgeInfo>,
1735}
1736///
1737#[derive(Clone, PartialEq, ::prost::Message)]
1738pub struct RelateThreePoint {
1739    ///
1740    #[prost(message, optional, tag = "1")]
1741    pub dislike: ::core::option::Option<RelateDislike>,
1742    ///
1743    #[prost(message, optional, tag = "2")]
1744    pub feedback: ::core::option::Option<RelateDislike>,
1745    ///
1746    #[prost(bool, tag = "3")]
1747    pub watch_later: bool,
1748    ///
1749    #[prost(string, tag = "4")]
1750    pub dislike_report_data: ::prost::alloc::string::String,
1751}
1752///
1753#[derive(Clone, PartialEq, ::prost::Message)]
1754pub struct RelatedAiCard {
1755    ///
1756    #[prost(int64, tag = "1")]
1757    pub aid: i64,
1758    ///
1759    #[prost(int64, tag = "2")]
1760    pub duration: i64,
1761    ///
1762    #[prost(message, optional, tag = "3")]
1763    pub up_info: ::core::option::Option<Staff>,
1764    ///
1765    #[prost(message, optional, tag = "4")]
1766    pub stat: ::core::option::Option<Stat>,
1767    ///
1768    #[prost(map = "string, string", tag = "5")]
1769    pub report: ::std::collections::HashMap<
1770        ::prost::alloc::string::String,
1771        ::prost::alloc::string::String,
1772    >,
1773    ///
1774    #[prost(string, tag = "6")]
1775    pub goto_type: ::prost::alloc::string::String,
1776}
1777///
1778#[derive(Clone, PartialEq, ::prost::Message)]
1779pub struct Relates {
1780    ///
1781    #[prost(message, repeated, tag = "1")]
1782    pub cards: ::prost::alloc::vec::Vec<RelateCard>,
1783    ///
1784    #[prost(message, optional, tag = "2")]
1785    pub config: ::core::option::Option<RelateConfig>,
1786}
1787///
1788#[derive(Clone, PartialEq, ::prost::Message)]
1789pub struct ReserveButton {
1790    ///
1791    #[prost(bool, tag = "1")]
1792    pub status: bool,
1793    ///
1794    #[prost(string, tag = "3")]
1795    pub text: ::prost::alloc::string::String,
1796    ///
1797    #[prost(string, tag = "4")]
1798    pub selected_text: ::prost::alloc::string::String,
1799    ///
1800    #[prost(enumeration = "ReserveBizType", tag = "7")]
1801    pub order_type: i32,
1802    ///
1803    #[prost(oneof = "reserve_button::OrderParam", tags = "8, 9")]
1804    pub order_param: ::core::option::Option<reserve_button::OrderParam>,
1805}
1806/// Nested message and enum types in `ReserveButton`.
1807pub mod reserve_button {
1808    ///
1809    #[derive(Clone, PartialEq, ::prost::Oneof)]
1810    pub enum OrderParam {
1811        ///
1812        #[prost(message, tag = "8")]
1813        Reserve(super::BizReserveActivityParam),
1814        ///
1815        #[prost(message, tag = "9")]
1816        Fav(super::BizFavParam),
1817    }
1818}
1819///
1820#[derive(Clone, PartialEq, ::prost::Message)]
1821pub struct Rights {
1822    ///
1823    #[prost(int32, tag = "1")]
1824    pub allow_download: i32,
1825    ///
1826    #[prost(int32, tag = "2")]
1827    pub allow_review: i32,
1828    ///
1829    #[prost(int32, tag = "3")]
1830    pub can_watch: i32,
1831    ///
1832    #[prost(string, tag = "4")]
1833    pub resource: ::prost::alloc::string::String,
1834    ///
1835    #[prost(int32, tag = "5")]
1836    pub allow_dm: i32,
1837    ///
1838    #[prost(int32, tag = "6")]
1839    pub allow_demand: i32,
1840    ///
1841    #[prost(int32, tag = "7")]
1842    pub area_limit: i32,
1843}
1844///
1845#[derive(Clone, PartialEq, ::prost::Message)]
1846pub struct SeasonHead {
1847    ///
1848    #[prost(string, tag = "1")]
1849    pub title: ::prost::alloc::string::String,
1850    ///
1851    #[prost(string, tag = "2")]
1852    pub intro: ::prost::alloc::string::String,
1853    ///
1854    #[prost(message, optional, tag = "3")]
1855    pub vt: ::core::option::Option<StatInfo>,
1856    ///
1857    #[prost(message, optional, tag = "4")]
1858    pub danmaku: ::core::option::Option<StatInfo>,
1859}
1860///
1861#[derive(Clone, PartialEq, ::prost::Message)]
1862pub struct SeasonShow {
1863    ///
1864    #[prost(string, tag = "1")]
1865    pub button_text: ::prost::alloc::string::String,
1866    ///
1867    #[prost(string, tag = "2")]
1868    pub join_text: ::prost::alloc::string::String,
1869    ///
1870    #[prost(string, tag = "3")]
1871    pub rule_text: ::prost::alloc::string::String,
1872    ///
1873    #[prost(string, tag = "4")]
1874    pub checkin_text: ::prost::alloc::string::String,
1875    ///
1876    #[prost(string, tag = "5")]
1877    pub checkin_prompt: ::prost::alloc::string::String,
1878}
1879///
1880#[derive(Clone, PartialEq, ::prost::Message)]
1881pub struct SectionData {
1882    ///
1883    #[prost(int32, tag = "1")]
1884    pub id: i32,
1885    ///
1886    #[prost(int32, tag = "2")]
1887    pub section_id: i32,
1888    ///
1889    #[prost(string, tag = "3")]
1890    pub title: ::prost::alloc::string::String,
1891    ///
1892    #[prost(int32, tag = "4")]
1893    pub can_ord_desc: i32,
1894    ///
1895    #[prost(string, tag = "5")]
1896    pub more: ::prost::alloc::string::String,
1897    ///
1898    #[prost(int32, repeated, tag = "6")]
1899    pub episode_ids: ::prost::alloc::vec::Vec<i32>,
1900    ///
1901    #[prost(message, repeated, tag = "7")]
1902    pub episodes: ::prost::alloc::vec::Vec<ViewEpisode>,
1903    ///
1904    #[prost(string, tag = "8")]
1905    pub split_text: ::prost::alloc::string::String,
1906    ///
1907    #[prost(message, optional, tag = "9")]
1908    pub module_style: ::core::option::Option<Style>,
1909    ///
1910    #[prost(string, tag = "10")]
1911    pub more_bottom_desc: ::prost::alloc::string::String,
1912    ///
1913    #[prost(message, repeated, tag = "11")]
1914    pub seasons: ::prost::alloc::vec::Vec<SerialSeason>,
1915    ///
1916    #[prost(message, optional, tag = "12")]
1917    pub more_left: ::core::option::Option<Button>,
1918    ///
1919    #[prost(int32, tag = "13")]
1920    pub r#type: i32,
1921    ///
1922    #[prost(map = "string, string", tag = "14")]
1923    pub report: ::std::collections::HashMap<
1924        ::prost::alloc::string::String,
1925        ::prost::alloc::string::String,
1926    >,
1927}
1928///
1929#[derive(Clone, PartialEq, ::prost::Message)]
1930pub struct SerialSeason {
1931    ///
1932    #[prost(int32, tag = "1")]
1933    pub season_id: i32,
1934    ///
1935    #[prost(string, tag = "2")]
1936    pub title: ::prost::alloc::string::String,
1937    ///
1938    #[prost(string, tag = "3")]
1939    pub season_title: ::prost::alloc::string::String,
1940    ///
1941    #[prost(int32, tag = "4")]
1942    pub is_new: i32,
1943    ///
1944    #[prost(string, tag = "5")]
1945    pub cover: ::prost::alloc::string::String,
1946    ///
1947    #[prost(string, tag = "6")]
1948    pub badge: ::prost::alloc::string::String,
1949    ///
1950    #[prost(int32, tag = "7")]
1951    pub badge_type: i32,
1952    ///
1953    #[prost(message, optional, tag = "8")]
1954    pub badge_info: ::core::option::Option<BadgeInfo>,
1955    ///
1956    #[prost(string, tag = "9")]
1957    pub link: ::prost::alloc::string::String,
1958    ///
1959    #[prost(string, tag = "10")]
1960    pub resource: ::prost::alloc::string::String,
1961    ///
1962    #[prost(message, optional, tag = "11")]
1963    pub new_ep: ::core::option::Option<NewEp>,
1964    ///
1965    #[prost(map = "string, string", tag = "12")]
1966    pub report: ::std::collections::HashMap<
1967        ::prost::alloc::string::String,
1968        ::prost::alloc::string::String,
1969    >,
1970}
1971///
1972#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1973pub struct SkipRange {
1974    ///
1975    #[prost(int32, tag = "1")]
1976    pub start: i32,
1977    ///
1978    #[prost(int32, tag = "2")]
1979    pub end: i32,
1980}
1981///
1982#[derive(Clone, PartialEq, ::prost::Message)]
1983pub struct SpecialCell {
1984    ///
1985    #[prost(string, tag = "1")]
1986    pub icon: ::prost::alloc::string::String,
1987    ///
1988    #[prost(string, tag = "2")]
1989    pub icon_night: ::prost::alloc::string::String,
1990    ///
1991    #[prost(string, tag = "3")]
1992    pub text: ::prost::alloc::string::String,
1993    ///
1994    #[prost(string, tag = "4")]
1995    pub text_color: ::prost::alloc::string::String,
1996    ///
1997    #[prost(string, tag = "5")]
1998    pub text_color_night: ::prost::alloc::string::String,
1999    ///
2000    #[prost(string, tag = "6")]
2001    pub jump_url: ::prost::alloc::string::String,
2002    ///
2003    #[prost(string, tag = "7")]
2004    pub cell_type: ::prost::alloc::string::String,
2005    ///
2006    #[prost(string, tag = "8")]
2007    pub cell_bgcolor: ::prost::alloc::string::String,
2008    ///
2009    #[prost(string, tag = "9")]
2010    pub cell_bgcolor_night: ::prost::alloc::string::String,
2011    ///
2012    #[prost(string, tag = "10")]
2013    pub param: ::prost::alloc::string::String,
2014    ///
2015    #[prost(string, tag = "11")]
2016    pub page_title: ::prost::alloc::string::String,
2017    ///
2018    #[prost(string, tag = "12")]
2019    pub jump_type: ::prost::alloc::string::String,
2020    ///
2021    #[prost(string, tag = "13")]
2022    pub end_icon: ::prost::alloc::string::String,
2023    ///
2024    #[prost(string, tag = "14")]
2025    pub end_icon_night: ::prost::alloc::string::String,
2026    ///
2027    #[prost(message, optional, tag = "15")]
2028    pub cell_fluid: ::core::option::Option<CellFluid>,
2029}
2030///
2031#[derive(Clone, PartialEq, ::prost::Message)]
2032pub struct SpecialTag {
2033    ///
2034    #[prost(message, repeated, tag = "1")]
2035    pub special_cell: ::prost::alloc::vec::Vec<SpecialCell>,
2036    ///
2037    #[prost(bool, tag = "2")]
2038    pub refresh: bool,
2039}
2040///
2041#[derive(Clone, PartialEq, ::prost::Message)]
2042pub struct Sponsor {
2043    ///
2044    #[prost(int64, tag = "1")]
2045    pub total: i64,
2046    ///
2047    #[prost(int64, tag = "2")]
2048    pub week: i64,
2049    ///
2050    #[prost(message, repeated, tag = "3")]
2051    pub rank_list: ::prost::alloc::vec::Vec<SponsorRank>,
2052    ///
2053    #[prost(message, optional, tag = "4")]
2054    pub mine: ::core::option::Option<Mine>,
2055    ///
2056    #[prost(message, optional, tag = "5")]
2057    pub point_activity: ::core::option::Option<PointActivity>,
2058    ///
2059    #[prost(message, repeated, tag = "6")]
2060    pub pendants: ::prost::alloc::vec::Vec<Pendant>,
2061    ///
2062    #[prost(message, repeated, tag = "7")]
2063    pub threshold: ::prost::alloc::vec::Vec<Threshold>,
2064}
2065///
2066#[derive(Clone, PartialEq, ::prost::Message)]
2067pub struct SponsorRank {
2068    ///
2069    #[prost(int64, tag = "1")]
2070    pub uid: i64,
2071    ///
2072    #[prost(string, tag = "2")]
2073    pub msg: ::prost::alloc::string::String,
2074    ///
2075    #[prost(string, tag = "3")]
2076    pub uname: ::prost::alloc::string::String,
2077    ///
2078    #[prost(string, tag = "4")]
2079    pub face: ::prost::alloc::string::String,
2080    ///
2081    #[prost(message, optional, tag = "5")]
2082    pub vip: ::core::option::Option<Vip>,
2083}
2084///
2085#[derive(Clone, PartialEq, ::prost::Message)]
2086pub struct Staff {
2087    ///
2088    #[prost(int64, tag = "1")]
2089    pub mid: i64,
2090    ///
2091    #[prost(int32, tag = "2")]
2092    pub attention: i32,
2093    ///
2094    #[prost(string, tag = "3")]
2095    pub title: ::prost::alloc::string::String,
2096    ///
2097    #[prost(string, tag = "4")]
2098    pub name: ::prost::alloc::string::String,
2099    ///
2100    #[prost(string, tag = "5")]
2101    pub face: ::prost::alloc::string::String,
2102    ///
2103    #[prost(message, optional, tag = "6")]
2104    pub official: ::core::option::Option<OfficialVerify>,
2105    ///
2106    #[prost(message, optional, tag = "7")]
2107    pub vip: ::core::option::Option<Vip>,
2108    ///
2109    #[prost(int32, tag = "8")]
2110    pub label_style: i32,
2111    ///
2112    #[prost(string, tag = "9")]
2113    pub fans: ::prost::alloc::string::String,
2114}
2115///
2116#[derive(Clone, PartialEq, ::prost::Message)]
2117pub struct Staffs {
2118    ///
2119    #[prost(message, repeated, tag = "1")]
2120    pub staff: ::prost::alloc::vec::Vec<Staff>,
2121    ///
2122    #[prost(string, tag = "2")]
2123    pub title: ::prost::alloc::string::String,
2124}
2125///
2126#[derive(Clone, PartialEq, ::prost::Message)]
2127pub struct Stat {
2128    ///
2129    #[prost(message, optional, tag = "1")]
2130    pub vt: ::core::option::Option<StatInfo>,
2131    ///
2132    #[prost(message, optional, tag = "2")]
2133    pub danmaku: ::core::option::Option<StatInfo>,
2134    ///
2135    #[prost(int64, tag = "3")]
2136    pub reply: i64,
2137    ///
2138    #[prost(int64, tag = "4")]
2139    pub fav: i64,
2140    ///
2141    #[prost(int64, tag = "5")]
2142    pub coin: i64,
2143    ///
2144    #[prost(int64, tag = "6")]
2145    pub share: i64,
2146    ///
2147    #[prost(int64, tag = "7")]
2148    pub like: i64,
2149    ///
2150    #[prost(int64, tag = "8")]
2151    pub follow: i64,
2152}
2153///
2154#[derive(Clone, PartialEq, ::prost::Message)]
2155pub struct StatInfo {
2156    ///
2157    #[prost(int64, tag = "1")]
2158    pub value: i64,
2159    ///
2160    #[prost(string, tag = "2")]
2161    pub text: ::prost::alloc::string::String,
2162    ///
2163    #[prost(string, tag = "3")]
2164    pub pure_text: ::prost::alloc::string::String,
2165    ///
2166    #[prost(string, tag = "4")]
2167    pub icon: ::prost::alloc::string::String,
2168}
2169///
2170#[derive(Clone, PartialEq, ::prost::Message)]
2171pub struct Style {
2172    ///
2173    #[prost(int32, tag = "1")]
2174    pub line: i32,
2175    ///
2176    #[prost(int32, tag = "2")]
2177    pub hidden: i32,
2178    ///
2179    #[prost(string, repeated, tag = "3")]
2180    pub show_pages: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2181}
2182///
2183#[derive(Clone, PartialEq, ::prost::Message)]
2184pub struct Tag {
2185    ///
2186    #[prost(int64, tag = "1")]
2187    pub tag_id: i64,
2188    ///
2189    #[prost(string, tag = "2")]
2190    pub name: ::prost::alloc::string::String,
2191    ///
2192    #[prost(string, tag = "3")]
2193    pub uri: ::prost::alloc::string::String,
2194    ///
2195    #[prost(string, tag = "4")]
2196    pub tag_type: ::prost::alloc::string::String,
2197}
2198///
2199#[derive(Clone, PartialEq, ::prost::Message)]
2200pub struct TheatreHotTopic {
2201    ///
2202    #[prost(int64, tag = "1")]
2203    pub theatre_id: i64,
2204    ///
2205    #[prost(int64, tag = "2")]
2206    pub theatre_set_id: i64,
2207    ///
2208    #[prost(string, tag = "3")]
2209    pub theatre_title: ::prost::alloc::string::String,
2210    ///
2211    #[prost(string, tag = "4")]
2212    pub background_image_url: ::prost::alloc::string::String,
2213    ///
2214    #[prost(string, tag = "5")]
2215    pub theatre_url: ::prost::alloc::string::String,
2216    ///
2217    #[prost(int64, tag = "6")]
2218    pub hot_topic_id: i64,
2219    ///
2220    #[prost(int64, tag = "7")]
2221    pub hot_topic_set_id: i64,
2222    ///
2223    #[prost(string, tag = "8")]
2224    pub hot_topic_title: ::prost::alloc::string::String,
2225    ///
2226    #[prost(string, tag = "9")]
2227    pub hot_topic_url: ::prost::alloc::string::String,
2228    ///
2229    #[prost(int32, tag = "10")]
2230    pub is_subscribe: i32,
2231    ///
2232    #[prost(map = "string, string", tag = "11")]
2233    pub report: ::std::collections::HashMap<
2234        ::prost::alloc::string::String,
2235        ::prost::alloc::string::String,
2236    >,
2237}
2238///
2239#[derive(Clone, PartialEq, ::prost::Message)]
2240pub struct Threshold {
2241    ///
2242    #[prost(int32, tag = "1")]
2243    pub bp: i32,
2244    ///
2245    #[prost(int32, tag = "2")]
2246    pub days: i32,
2247    ///
2248    #[prost(string, tag = "3")]
2249    pub days_text: ::prost::alloc::string::String,
2250}
2251///
2252#[derive(Clone, PartialEq, ::prost::Message)]
2253pub struct TitleDeliveryButton {
2254    ///
2255    #[prost(string, tag = "1")]
2256    pub icon: ::prost::alloc::string::String,
2257    ///
2258    #[prost(string, tag = "2")]
2259    pub title: ::prost::alloc::string::String,
2260    ///
2261    #[prost(string, tag = "3")]
2262    pub link: ::prost::alloc::string::String,
2263    ///
2264    #[prost(map = "string, string", tag = "4")]
2265    pub report: ::std::collections::HashMap<
2266        ::prost::alloc::string::String,
2267        ::prost::alloc::string::String,
2268    >,
2269}
2270///
2271#[derive(Clone, PartialEq, ::prost::Message)]
2272pub struct UgcEpisode {
2273    ///
2274    #[prost(int64, tag = "1")]
2275    pub id: i64,
2276    ///
2277    #[prost(int64, tag = "2")]
2278    pub aid: i64,
2279    ///
2280    #[prost(int64, tag = "3")]
2281    pub cid: i64,
2282    ///
2283    #[prost(string, tag = "4")]
2284    pub title: ::prost::alloc::string::String,
2285    ///
2286    #[prost(string, tag = "5")]
2287    pub cover: ::prost::alloc::string::String,
2288    ///
2289    #[prost(string, tag = "6")]
2290    pub cover_right_text: ::prost::alloc::string::String,
2291    ///
2292    #[prost(message, optional, tag = "7")]
2293    pub page: ::core::option::Option<Page>,
2294    ///
2295    #[prost(message, optional, tag = "8")]
2296    pub vt: ::core::option::Option<StatInfo>,
2297    ///
2298    #[prost(message, optional, tag = "9")]
2299    pub danmaku: ::core::option::Option<StatInfo>,
2300}
2301///
2302#[derive(Clone, PartialEq, ::prost::Message)]
2303pub struct UgcIntroduction {
2304    ///
2305    #[prost(message, repeated, tag = "1")]
2306    pub tags: ::prost::alloc::vec::Vec<Tag>,
2307    ///
2308    #[prost(message, optional, tag = "2")]
2309    pub rating: ::core::option::Option<Rating>,
2310    ///
2311    #[prost(message, optional, tag = "3")]
2312    pub rank: ::core::option::Option<Rank>,
2313    ///
2314    #[prost(message, repeated, tag = "4")]
2315    pub bgm: ::prost::alloc::vec::Vec<ViewMaterial>,
2316    ///
2317    #[prost(message, repeated, tag = "5")]
2318    pub sticker: ::prost::alloc::vec::Vec<ViewMaterial>,
2319    ///
2320    #[prost(message, repeated, tag = "6")]
2321    pub video_source: ::prost::alloc::vec::Vec<ViewMaterial>,
2322    ///
2323    #[prost(int64, tag = "7")]
2324    pub pubdate: i64,
2325    ///
2326    #[prost(message, repeated, tag = "8")]
2327    pub desc: ::prost::alloc::vec::Vec<DescV2>,
2328}
2329///
2330#[derive(Clone, PartialEq, ::prost::Message)]
2331pub struct UgcSeasonActivity {
2332    ///
2333    #[prost(int32, tag = "1")]
2334    pub r#type: i32,
2335    ///
2336    #[prost(int64, tag = "2")]
2337    pub oid: i64,
2338    ///
2339    #[prost(int64, tag = "3")]
2340    pub activity_id: i64,
2341    ///
2342    #[prost(string, tag = "4")]
2343    pub title: ::prost::alloc::string::String,
2344    ///
2345    #[prost(string, tag = "5")]
2346    pub intro: ::prost::alloc::string::String,
2347    ///
2348    #[prost(int32, tag = "6")]
2349    pub day_count: i32,
2350    ///
2351    #[prost(int32, tag = "7")]
2352    pub user_count: i32,
2353    ///
2354    #[prost(int64, tag = "8")]
2355    pub join_deadline: i64,
2356    ///
2357    #[prost(int64, tag = "9")]
2358    pub activity_deadline: i64,
2359    ///
2360    #[prost(int32, tag = "10")]
2361    pub checkin_view_time: i32,
2362    ///
2363    #[prost(bool, tag = "11")]
2364    pub new_activity: bool,
2365    ///
2366    #[prost(message, optional, tag = "12")]
2367    pub user_activity: ::core::option::Option<UserActivity>,
2368    ///
2369    #[prost(message, optional, tag = "13")]
2370    pub season_show: ::core::option::Option<SeasonShow>,
2371}
2372///
2373#[derive(Clone, PartialEq, ::prost::Message)]
2374pub struct UgcSeasons {
2375    ///
2376    #[prost(int64, tag = "1")]
2377    pub id: i64,
2378    ///
2379    #[prost(string, tag = "2")]
2380    pub title: ::prost::alloc::string::String,
2381    ///
2382    #[prost(string, tag = "3")]
2383    pub cover: ::prost::alloc::string::String,
2384    ///
2385    #[prost(string, tag = "4")]
2386    pub supernatant_title: ::prost::alloc::string::String,
2387    ///
2388    #[prost(message, repeated, tag = "5")]
2389    pub section: ::prost::alloc::vec::Vec<UgcSection>,
2390    ///
2391    #[prost(string, tag = "6")]
2392    pub union_title: ::prost::alloc::string::String,
2393    ///
2394    #[prost(message, optional, tag = "7")]
2395    pub head: ::core::option::Option<SeasonHead>,
2396    ///
2397    #[prost(int64, tag = "8")]
2398    pub ep_count: i64,
2399    ///
2400    #[prost(enumeration = "SeasonType", tag = "9")]
2401    pub season_type: i32,
2402    ///
2403    #[prost(message, optional, tag = "10")]
2404    pub activity: ::core::option::Option<UgcSeasonActivity>,
2405    ///
2406    #[prost(string, repeated, tag = "11")]
2407    pub season_ability: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2408    ///
2409    #[prost(string, tag = "12")]
2410    pub season_title: ::prost::alloc::string::String,
2411}
2412///
2413#[derive(Clone, PartialEq, ::prost::Message)]
2414pub struct UgcSection {
2415    ///
2416    #[prost(int64, tag = "1")]
2417    pub id: i64,
2418    ///
2419    #[prost(string, tag = "2")]
2420    pub title: ::prost::alloc::string::String,
2421    ///
2422    #[prost(int64, tag = "3")]
2423    pub r#type: i64,
2424    ///
2425    #[prost(message, repeated, tag = "4")]
2426    pub episodes: ::prost::alloc::vec::Vec<UgcEpisode>,
2427}
2428///
2429#[derive(Clone, PartialEq, ::prost::Message)]
2430pub struct UpDataModule {
2431    ///
2432    #[prost(message, repeated, tag = "1")]
2433    pub ext_tabs: ::prost::alloc::vec::Vec<ExtTab>,
2434    ///
2435    #[prost(int32, tag = "2")]
2436    pub idx: i32,
2437    ///
2438    #[prost(string, tag = "3")]
2439    pub protocol_url: ::prost::alloc::string::String,
2440}
2441///
2442#[derive(Clone, PartialEq, ::prost::Message)]
2443pub struct UpLikeImg {
2444    ///
2445    #[prost(string, tag = "1")]
2446    pub pre_img: ::prost::alloc::string::String,
2447    ///
2448    #[prost(string, tag = "2")]
2449    pub suc_img: ::prost::alloc::string::String,
2450    ///
2451    #[prost(string, tag = "3")]
2452    pub content: ::prost::alloc::string::String,
2453    ///
2454    #[prost(int64, tag = "4")]
2455    pub r#type: i64,
2456}
2457///
2458#[derive(Clone, PartialEq, ::prost::Message)]
2459pub struct User {
2460    ///
2461    #[prost(int64, tag = "1")]
2462    pub mid: i64,
2463    ///
2464    #[prost(string, tag = "2")]
2465    pub name: ::prost::alloc::string::String,
2466    ///
2467    #[prost(string, tag = "3")]
2468    pub face: ::prost::alloc::string::String,
2469    ///
2470    #[prost(int64, tag = "4")]
2471    pub follower: i64,
2472}
2473///
2474#[derive(Clone, PartialEq, ::prost::Message)]
2475pub struct UserActivity {
2476    ///
2477    #[prost(int32, tag = "1")]
2478    pub user_state: i32,
2479    ///
2480    #[prost(int64, tag = "2")]
2481    pub last_checkin_date: i64,
2482    ///
2483    #[prost(int32, tag = "3")]
2484    pub checkin_today: i32,
2485    ///
2486    #[prost(int32, tag = "4")]
2487    pub user_day_count: i32,
2488    ///
2489    #[prost(int32, tag = "5")]
2490    pub user_view_time: i32,
2491    ///
2492    #[prost(string, tag = "6")]
2493    pub portrait: ::prost::alloc::string::String,
2494}
2495///
2496#[derive(Clone, PartialEq, ::prost::Message)]
2497pub struct UserList {
2498    ///
2499    #[prost(message, repeated, tag = "1")]
2500    pub list: ::prost::alloc::vec::Vec<User>,
2501    ///
2502    #[prost(string, tag = "2")]
2503    pub title: ::prost::alloc::string::String,
2504}
2505///
2506#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2507pub struct UserStatus {
2508    ///
2509    #[prost(int32, tag = "1")]
2510    pub show: i32,
2511    ///
2512    #[prost(int32, tag = "2")]
2513    pub follow: i32,
2514}
2515///
2516#[derive(Clone, PartialEq, ::prost::Message)]
2517pub struct ViewEpisode {
2518    ///
2519    #[prost(int64, tag = "1")]
2520    pub ep_id: i64,
2521    ///
2522    #[prost(string, tag = "2")]
2523    pub badge: ::prost::alloc::string::String,
2524    ///
2525    #[prost(int32, tag = "3")]
2526    pub badge_type: i32,
2527    ///
2528    #[prost(message, optional, tag = "4")]
2529    pub badge_info: ::core::option::Option<BadgeInfo>,
2530    ///
2531    #[prost(int32, tag = "5")]
2532    pub duration: i32,
2533    ///
2534    #[prost(int32, tag = "6")]
2535    pub status: i32,
2536    ///
2537    #[prost(string, tag = "7")]
2538    pub cover: ::prost::alloc::string::String,
2539    ///
2540    #[prost(int64, tag = "8")]
2541    pub aid: i64,
2542    ///
2543    #[prost(string, tag = "9")]
2544    pub title: ::prost::alloc::string::String,
2545    ///
2546    #[prost(string, tag = "10")]
2547    pub movie_title: ::prost::alloc::string::String,
2548    ///
2549    #[prost(string, tag = "11")]
2550    pub subtitle: ::prost::alloc::string::String,
2551    ///
2552    #[prost(string, tag = "12")]
2553    pub long_title: ::prost::alloc::string::String,
2554    ///
2555    #[prost(string, tag = "13")]
2556    pub toast_title: ::prost::alloc::string::String,
2557    ///
2558    #[prost(int64, tag = "14")]
2559    pub cid: i64,
2560    ///
2561    #[prost(string, tag = "15")]
2562    pub from: ::prost::alloc::string::String,
2563    ///
2564    #[prost(string, tag = "16")]
2565    pub share_url: ::prost::alloc::string::String,
2566    ///
2567    #[prost(string, tag = "17")]
2568    pub share_copy: ::prost::alloc::string::String,
2569    ///
2570    #[prost(string, tag = "18")]
2571    pub short_link: ::prost::alloc::string::String,
2572    ///
2573    #[prost(string, tag = "19")]
2574    pub vid: ::prost::alloc::string::String,
2575    ///
2576    #[prost(string, tag = "20")]
2577    pub release_date: ::prost::alloc::string::String,
2578    ///
2579    #[prost(message, optional, tag = "21")]
2580    pub dimension: ::core::option::Option<Dimension>,
2581    ///
2582    #[prost(message, optional, tag = "22")]
2583    pub rights: ::core::option::Option<Rights>,
2584    ///
2585    #[prost(message, optional, tag = "23")]
2586    pub interaction: ::core::option::Option<Interaction>,
2587    ///
2588    #[prost(string, tag = "24")]
2589    pub bvid: ::prost::alloc::string::String,
2590    ///
2591    #[prost(int32, tag = "25")]
2592    pub archive_attr: i32,
2593    ///
2594    #[prost(string, tag = "26")]
2595    pub link: ::prost::alloc::string::String,
2596    ///
2597    #[prost(string, tag = "27")]
2598    pub link_type: ::prost::alloc::string::String,
2599    ///
2600    #[prost(string, tag = "28")]
2601    pub bmid: ::prost::alloc::string::String,
2602    ///
2603    #[prost(int64, tag = "29")]
2604    pub pub_time: i64,
2605    ///
2606    #[prost(int32, tag = "30")]
2607    pub pv: i32,
2608    ///
2609    #[prost(int32, tag = "31")]
2610    pub ep_index: i32,
2611    ///
2612    #[prost(int32, tag = "32")]
2613    pub section_index: i32,
2614    ///
2615    #[prost(message, repeated, tag = "33")]
2616    pub up_infos: ::prost::alloc::vec::Vec<Staff>,
2617    ///
2618    #[prost(message, optional, tag = "34")]
2619    pub up_info: ::core::option::Option<Staff>,
2620    ///
2621    #[prost(string, tag = "35")]
2622    pub dialog_type: ::prost::alloc::string::String,
2623    ///
2624    #[prost(string, tag = "36")]
2625    pub toast_type: ::prost::alloc::string::String,
2626    ///
2627    #[prost(message, repeated, tag = "37")]
2628    pub multi_view_eps: ::prost::alloc::vec::Vec<MultiViewEp>,
2629    ///
2630    #[prost(bool, tag = "38")]
2631    pub is_sub_view: bool,
2632    ///
2633    #[prost(bool, tag = "39")]
2634    pub is_view_hide: bool,
2635    ///
2636    #[prost(string, tag = "40")]
2637    pub jump_link: ::prost::alloc::string::String,
2638    ///
2639    #[prost(message, optional, tag = "41")]
2640    pub stat_for_unity: ::core::option::Option<Stat>,
2641    ///
2642    #[prost(map = "string, string", tag = "42")]
2643    pub report: ::std::collections::HashMap<
2644        ::prost::alloc::string::String,
2645        ::prost::alloc::string::String,
2646    >,
2647}
2648///
2649#[derive(Clone, PartialEq, ::prost::Message)]
2650pub struct ViewMaterial {
2651    ///
2652    #[prost(int64, tag = "1")]
2653    pub oid: i64,
2654    ///
2655    #[prost(int64, tag = "2")]
2656    pub mid: i64,
2657    ///
2658    #[prost(string, tag = "3")]
2659    pub title: ::prost::alloc::string::String,
2660    ///
2661    #[prost(string, tag = "4")]
2662    pub author: ::prost::alloc::string::String,
2663    ///
2664    #[prost(string, tag = "5")]
2665    pub jump_url: ::prost::alloc::string::String,
2666}
2667///
2668#[derive(Clone, PartialEq, ::prost::Message)]
2669pub struct Vip {
2670    ///
2671    #[prost(int32, tag = "1")]
2672    pub r#type: i32,
2673    ///
2674    #[prost(int32, tag = "2")]
2675    pub vip_status: i32,
2676    ///
2677    #[prost(int32, tag = "3")]
2678    pub theme_type: i32,
2679    ///
2680    #[prost(message, optional, tag = "4")]
2681    pub label: ::core::option::Option<VipLabel>,
2682    ///
2683    #[prost(int32, tag = "5")]
2684    pub is_vip: i32,
2685}
2686///
2687#[derive(Clone, PartialEq, ::prost::Message)]
2688pub struct VipLabel {
2689    ///
2690    #[prost(string, tag = "1")]
2691    pub path: ::prost::alloc::string::String,
2692    ///
2693    #[prost(string, tag = "2")]
2694    pub text: ::prost::alloc::string::String,
2695    ///
2696    #[prost(string, tag = "3")]
2697    pub label_theme: ::prost::alloc::string::String,
2698}
2699///
2700#[derive(Clone, PartialEq, ::prost::Message)]
2701pub struct WikiInfo {
2702    ///
2703    #[prost(string, tag = "1")]
2704    pub wiki_label: ::prost::alloc::string::String,
2705    ///
2706    #[prost(string, tag = "2")]
2707    pub wiki_url: ::prost::alloc::string::String,
2708}
2709///
2710#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2711#[repr(i32)]
2712pub enum AttentionRelationStatus {
2713    ///
2714    ArsNone = 0,
2715    ///
2716    ArsN0relation = 1,
2717    ///
2718    ArsFollowhim = 2,
2719    ///
2720    ArsFollowme = 3,
2721    ///
2722    ArsBuddy = 4,
2723    ///
2724    ArsSpecial = 5,
2725    ///
2726    ArsCancelblock = 6,
2727}
2728impl AttentionRelationStatus {
2729    /// String value of the enum field names used in the ProtoBuf definition.
2730    ///
2731    /// The values are not transformed in any way and thus are considered stable
2732    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2733    pub fn as_str_name(&self) -> &'static str {
2734        match self {
2735            Self::ArsNone => "ARS_NONE",
2736            Self::ArsN0relation => "ARS_N0RELATION",
2737            Self::ArsFollowhim => "ARS_FOLLOWHIM",
2738            Self::ArsFollowme => "ARS_FOLLOWME",
2739            Self::ArsBuddy => "ARS_BUDDY",
2740            Self::ArsSpecial => "ARS_SPECIAL",
2741            Self::ArsCancelblock => "ARS_CANCELBLOCK",
2742        }
2743    }
2744    /// Creates an enum from field names used in the ProtoBuf definition.
2745    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2746        match value {
2747            "ARS_NONE" => Some(Self::ArsNone),
2748            "ARS_N0RELATION" => Some(Self::ArsN0relation),
2749            "ARS_FOLLOWHIM" => Some(Self::ArsFollowhim),
2750            "ARS_FOLLOWME" => Some(Self::ArsFollowme),
2751            "ARS_BUDDY" => Some(Self::ArsBuddy),
2752            "ARS_SPECIAL" => Some(Self::ArsSpecial),
2753            "ARS_CANCELBLOCK" => Some(Self::ArsCancelblock),
2754            _ => None,
2755        }
2756    }
2757}
2758///
2759#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2760#[repr(i32)]
2761pub enum DescType {
2762    ///
2763    Unknown = 0,
2764    ///
2765    Text = 1,
2766    ///
2767    At = 2,
2768}
2769impl DescType {
2770    /// String value of the enum field names used in the ProtoBuf definition.
2771    ///
2772    /// The values are not transformed in any way and thus are considered stable
2773    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2774    pub fn as_str_name(&self) -> &'static str {
2775        match self {
2776            Self::Unknown => "DescTypeUnknown",
2777            Self::Text => "DescTypeText",
2778            Self::At => "DescTypeAt",
2779        }
2780    }
2781    /// Creates an enum from field names used in the ProtoBuf definition.
2782    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2783        match value {
2784            "DescTypeUnknown" => Some(Self::Unknown),
2785            "DescTypeText" => Some(Self::Text),
2786            "DescTypeAt" => Some(Self::At),
2787            _ => None,
2788        }
2789    }
2790}
2791///
2792#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2793#[repr(i32)]
2794pub enum ExtType {
2795    ///
2796    ExtNone = 0,
2797    ///
2798    ExtDataCenter = 1,
2799    ///
2800    ExtDataEarnings = 2,
2801}
2802impl ExtType {
2803    /// String value of the enum field names used in the ProtoBuf definition.
2804    ///
2805    /// The values are not transformed in any way and thus are considered stable
2806    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2807    pub fn as_str_name(&self) -> &'static str {
2808        match self {
2809            Self::ExtNone => "ExtNone",
2810            Self::ExtDataCenter => "ExtDataCenter",
2811            Self::ExtDataEarnings => "ExtDataEarnings",
2812        }
2813    }
2814    /// Creates an enum from field names used in the ProtoBuf definition.
2815    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2816        match value {
2817            "ExtNone" => Some(Self::ExtNone),
2818            "ExtDataCenter" => Some(Self::ExtDataCenter),
2819            "ExtDataEarnings" => Some(Self::ExtDataEarnings),
2820            _ => None,
2821        }
2822    }
2823}
2824///
2825#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2826#[repr(i32)]
2827pub enum HonorJumpType {
2828    ///
2829    Unknown = 0,
2830    ///
2831    HonorOpenUrl = 1,
2832    ///
2833    HonorHalfScreen = 2,
2834}
2835impl HonorJumpType {
2836    /// String value of the enum field names used in the ProtoBuf definition.
2837    ///
2838    /// The values are not transformed in any way and thus are considered stable
2839    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2840    pub fn as_str_name(&self) -> &'static str {
2841        match self {
2842            Self::Unknown => "HONOR_JUMP_TYPE_UNKNOWN",
2843            Self::HonorOpenUrl => "HONOR_OPEN_URL",
2844            Self::HonorHalfScreen => "HONOR_HALF_SCREEN",
2845        }
2846    }
2847    /// Creates an enum from field names used in the ProtoBuf definition.
2848    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2849        match value {
2850            "HONOR_JUMP_TYPE_UNKNOWN" => Some(Self::Unknown),
2851            "HONOR_OPEN_URL" => Some(Self::HonorOpenUrl),
2852            "HONOR_HALF_SCREEN" => Some(Self::HonorHalfScreen),
2853            _ => None,
2854        }
2855    }
2856}
2857///
2858#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2859#[repr(i32)]
2860pub enum HonorType {
2861    ///
2862    HonorNone = 0,
2863    ///
2864    Playlet = 1,
2865    ///
2866    Argue = 2,
2867    ///
2868    Notice = 3,
2869    ///
2870    Guidance = 4,
2871    ///
2872    HonorBiliRank = 5,
2873    ///
2874    HonorWeeklyRank = 6,
2875    ///
2876    HonorDailyRank = 7,
2877    ///
2878    HonorChannel = 8,
2879    ///
2880    HonorMusic = 9,
2881    ///
2882    HonorReply = 10,
2883}
2884impl HonorType {
2885    /// String value of the enum field names used in the ProtoBuf definition.
2886    ///
2887    /// The values are not transformed in any way and thus are considered stable
2888    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2889    pub fn as_str_name(&self) -> &'static str {
2890        match self {
2891            Self::HonorNone => "HONOR_NONE",
2892            Self::Playlet => "PLAYLET",
2893            Self::Argue => "ARGUE",
2894            Self::Notice => "NOTICE",
2895            Self::Guidance => "GUIDANCE",
2896            Self::HonorBiliRank => "HONOR_BILI_RANK",
2897            Self::HonorWeeklyRank => "HONOR_WEEKLY_RANK",
2898            Self::HonorDailyRank => "HONOR_DAILY_RANK",
2899            Self::HonorChannel => "HONOR_CHANNEL",
2900            Self::HonorMusic => "HONOR_MUSIC",
2901            Self::HonorReply => "HONOR_REPLY",
2902        }
2903    }
2904    /// Creates an enum from field names used in the ProtoBuf definition.
2905    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2906        match value {
2907            "HONOR_NONE" => Some(Self::HonorNone),
2908            "PLAYLET" => Some(Self::Playlet),
2909            "ARGUE" => Some(Self::Argue),
2910            "NOTICE" => Some(Self::Notice),
2911            "GUIDANCE" => Some(Self::Guidance),
2912            "HONOR_BILI_RANK" => Some(Self::HonorBiliRank),
2913            "HONOR_WEEKLY_RANK" => Some(Self::HonorWeeklyRank),
2914            "HONOR_DAILY_RANK" => Some(Self::HonorDailyRank),
2915            "HONOR_CHANNEL" => Some(Self::HonorChannel),
2916            "HONOR_MUSIC" => Some(Self::HonorMusic),
2917            "HONOR_REPLY" => Some(Self::HonorReply),
2918            _ => None,
2919        }
2920    }
2921}
2922///
2923#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2924#[repr(i32)]
2925pub enum JumpType {
2926    ///
2927    Unknown = 0,
2928    ///
2929    OpenUrl = 1,
2930    ///
2931    Refresh = 2,
2932    ///
2933    HalfScreen = 3,
2934    ///
2935    OpenUrlByOuterBrowser = 4,
2936}
2937impl JumpType {
2938    /// String value of the enum field names used in the ProtoBuf definition.
2939    ///
2940    /// The values are not transformed in any way and thus are considered stable
2941    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2942    pub fn as_str_name(&self) -> &'static str {
2943        match self {
2944            Self::Unknown => "JUMP_TYPE_UNKNOWN",
2945            Self::OpenUrl => "OPEN_URL",
2946            Self::Refresh => "REFRESH",
2947            Self::HalfScreen => "HALF_SCREEN",
2948            Self::OpenUrlByOuterBrowser => "OPEN_URL_BY_OUTER_BROWSER",
2949        }
2950    }
2951    /// Creates an enum from field names used in the ProtoBuf definition.
2952    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2953        match value {
2954            "JUMP_TYPE_UNKNOWN" => Some(Self::Unknown),
2955            "OPEN_URL" => Some(Self::OpenUrl),
2956            "REFRESH" => Some(Self::Refresh),
2957            "HALF_SCREEN" => Some(Self::HalfScreen),
2958            "OPEN_URL_BY_OUTER_BROWSER" => Some(Self::OpenUrlByOuterBrowser),
2959            _ => None,
2960        }
2961    }
2962}
2963///
2964#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2965#[repr(i32)]
2966pub enum KingPositionType {
2967    ///
2968    KingPosUnspecified = 0,
2969    ///
2970    Like = 1,
2971    ///
2972    Dislike = 2,
2973    ///
2974    Coin = 3,
2975    ///
2976    Fav = 4,
2977    ///
2978    Share = 5,
2979    ///
2980    Cache = 6,
2981    ///
2982    Danmaku = 7,
2983}
2984impl KingPositionType {
2985    /// String value of the enum field names used in the ProtoBuf definition.
2986    ///
2987    /// The values are not transformed in any way and thus are considered stable
2988    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2989    pub fn as_str_name(&self) -> &'static str {
2990        match self {
2991            Self::KingPosUnspecified => "KING_POS_UNSPECIFIED",
2992            Self::Like => "LIKE",
2993            Self::Dislike => "DISLIKE",
2994            Self::Coin => "COIN",
2995            Self::Fav => "FAV",
2996            Self::Share => "SHARE",
2997            Self::Cache => "CACHE",
2998            Self::Danmaku => "DANMAKU",
2999        }
3000    }
3001    /// Creates an enum from field names used in the ProtoBuf definition.
3002    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3003        match value {
3004            "KING_POS_UNSPECIFIED" => Some(Self::KingPosUnspecified),
3005            "LIKE" => Some(Self::Like),
3006            "DISLIKE" => Some(Self::Dislike),
3007            "COIN" => Some(Self::Coin),
3008            "FAV" => Some(Self::Fav),
3009            "SHARE" => Some(Self::Share),
3010            "CACHE" => Some(Self::Cache),
3011            "DANMAKU" => Some(Self::Danmaku),
3012            _ => None,
3013        }
3014    }
3015}
3016///
3017#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3018#[repr(i32)]
3019pub enum ModuleType {
3020    ///
3021    Unknown = 0,
3022    ///
3023    OgvIntroduction = 1,
3024    ///
3025    OgvTitle = 2,
3026    ///
3027    UgcHeadline = 3,
3028    ///
3029    UgcIntroduction = 4,
3030    ///
3031    KingPosition = 5,
3032    ///
3033    MasterUserList = 6,
3034    ///
3035    Staffs = 7,
3036    ///
3037    Honor = 8,
3038    ///
3039    Owner = 9,
3040    ///
3041    Page = 10,
3042    ///
3043    ActivityReserve = 11,
3044    ///
3045    LiveOrder = 12,
3046    ///
3047    Positive = 13,
3048    ///
3049    Section = 14,
3050    ///
3051    Relate = 15,
3052    ///
3053    Pugv = 16,
3054    ///
3055    CollectionCard = 17,
3056    ///
3057    Activity = 18,
3058    ///
3059    Character = 19,
3060    ///
3061    FollowLayer = 20,
3062    ///
3063    OgvSeasons = 21,
3064    ///
3065    UgcSeason = 22,
3066    ///
3067    OgvLiveReserve = 23,
3068    ///
3069    CombinationEpisode = 24,
3070    ///
3071    Sponsor = 25,
3072    ///
3073    ActivityEntrance = 26,
3074    ///
3075    TheatreHotTopic = 27,
3076    ///
3077    RelatedRecommend = 28,
3078    ///
3079    PayBar = 29,
3080    ///
3081    Banner = 30,
3082    ///
3083    Audio = 31,
3084    ///
3085    AggCard = 32,
3086    ///
3087    SingleEp = 33,
3088    ///
3089    LikeComment = 34,
3090    ///
3091    AttentionRecommend = 35,
3092    ///
3093    Covenanter = 36,
3094    ///
3095    Specialtag = 37,
3096    ///
3097    Updata = 38,
3098    ///
3099    ProfessionApproval = 39,
3100}
3101impl ModuleType {
3102    /// String value of the enum field names used in the ProtoBuf definition.
3103    ///
3104    /// The values are not transformed in any way and thus are considered stable
3105    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
3106    pub fn as_str_name(&self) -> &'static str {
3107        match self {
3108            Self::Unknown => "UNKNOWN",
3109            Self::OgvIntroduction => "OGV_INTRODUCTION",
3110            Self::OgvTitle => "OGV_TITLE",
3111            Self::UgcHeadline => "UGC_HEADLINE",
3112            Self::UgcIntroduction => "UGC_INTRODUCTION",
3113            Self::KingPosition => "KING_POSITION",
3114            Self::MasterUserList => "MASTER_USER_LIST",
3115            Self::Staffs => "STAFFS",
3116            Self::Honor => "HONOR",
3117            Self::Owner => "OWNER",
3118            Self::Page => "PAGE",
3119            Self::ActivityReserve => "ACTIVITY_RESERVE",
3120            Self::LiveOrder => "LIVE_ORDER",
3121            Self::Positive => "POSITIVE",
3122            Self::Section => "SECTION",
3123            Self::Relate => "RELATE",
3124            Self::Pugv => "PUGV",
3125            Self::CollectionCard => "COLLECTION_CARD",
3126            Self::Activity => "ACTIVITY",
3127            Self::Character => "CHARACTER",
3128            Self::FollowLayer => "FOLLOW_LAYER",
3129            Self::OgvSeasons => "OGV_SEASONS",
3130            Self::UgcSeason => "UGC_SEASON",
3131            Self::OgvLiveReserve => "OGV_LIVE_RESERVE",
3132            Self::CombinationEpisode => "COMBINATION_EPISODE",
3133            Self::Sponsor => "SPONSOR",
3134            Self::ActivityEntrance => "ACTIVITY_ENTRANCE",
3135            Self::TheatreHotTopic => "THEATRE_HOT_TOPIC",
3136            Self::RelatedRecommend => "RELATED_RECOMMEND",
3137            Self::PayBar => "PAY_BAR",
3138            Self::Banner => "BANNER",
3139            Self::Audio => "AUDIO",
3140            Self::AggCard => "AGG_CARD",
3141            Self::SingleEp => "SINGLE_EP",
3142            Self::LikeComment => "LIKE_COMMENT",
3143            Self::AttentionRecommend => "ATTENTION_RECOMMEND",
3144            Self::Covenanter => "COVENANTER",
3145            Self::Specialtag => "SPECIALTAG",
3146            Self::Updata => "UPDATA",
3147            Self::ProfessionApproval => "PROFESSION_APPROVAL",
3148        }
3149    }
3150    /// Creates an enum from field names used in the ProtoBuf definition.
3151    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3152        match value {
3153            "UNKNOWN" => Some(Self::Unknown),
3154            "OGV_INTRODUCTION" => Some(Self::OgvIntroduction),
3155            "OGV_TITLE" => Some(Self::OgvTitle),
3156            "UGC_HEADLINE" => Some(Self::UgcHeadline),
3157            "UGC_INTRODUCTION" => Some(Self::UgcIntroduction),
3158            "KING_POSITION" => Some(Self::KingPosition),
3159            "MASTER_USER_LIST" => Some(Self::MasterUserList),
3160            "STAFFS" => Some(Self::Staffs),
3161            "HONOR" => Some(Self::Honor),
3162            "OWNER" => Some(Self::Owner),
3163            "PAGE" => Some(Self::Page),
3164            "ACTIVITY_RESERVE" => Some(Self::ActivityReserve),
3165            "LIVE_ORDER" => Some(Self::LiveOrder),
3166            "POSITIVE" => Some(Self::Positive),
3167            "SECTION" => Some(Self::Section),
3168            "RELATE" => Some(Self::Relate),
3169            "PUGV" => Some(Self::Pugv),
3170            "COLLECTION_CARD" => Some(Self::CollectionCard),
3171            "ACTIVITY" => Some(Self::Activity),
3172            "CHARACTER" => Some(Self::Character),
3173            "FOLLOW_LAYER" => Some(Self::FollowLayer),
3174            "OGV_SEASONS" => Some(Self::OgvSeasons),
3175            "UGC_SEASON" => Some(Self::UgcSeason),
3176            "OGV_LIVE_RESERVE" => Some(Self::OgvLiveReserve),
3177            "COMBINATION_EPISODE" => Some(Self::CombinationEpisode),
3178            "SPONSOR" => Some(Self::Sponsor),
3179            "ACTIVITY_ENTRANCE" => Some(Self::ActivityEntrance),
3180            "THEATRE_HOT_TOPIC" => Some(Self::TheatreHotTopic),
3181            "RELATED_RECOMMEND" => Some(Self::RelatedRecommend),
3182            "PAY_BAR" => Some(Self::PayBar),
3183            "BANNER" => Some(Self::Banner),
3184            "AUDIO" => Some(Self::Audio),
3185            "AGG_CARD" => Some(Self::AggCard),
3186            "SINGLE_EP" => Some(Self::SingleEp),
3187            "LIKE_COMMENT" => Some(Self::LikeComment),
3188            "ATTENTION_RECOMMEND" => Some(Self::AttentionRecommend),
3189            "COVENANTER" => Some(Self::Covenanter),
3190            "SPECIALTAG" => Some(Self::Specialtag),
3191            "UPDATA" => Some(Self::Updata),
3192            "PROFESSION_APPROVAL" => Some(Self::ProfessionApproval),
3193            _ => None,
3194        }
3195    }
3196}
3197///
3198#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3199#[repr(i32)]
3200pub enum OccupationType {
3201    ///
3202    Staff = 0,
3203    ///
3204    Cast = 1,
3205    ///
3206    UnknownType = -1,
3207}
3208impl OccupationType {
3209    /// String value of the enum field names used in the ProtoBuf definition.
3210    ///
3211    /// The values are not transformed in any way and thus are considered stable
3212    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
3213    pub fn as_str_name(&self) -> &'static str {
3214        match self {
3215            Self::Staff => "STAFF",
3216            Self::Cast => "CAST",
3217            Self::UnknownType => "UNKNOWN_TYPE",
3218        }
3219    }
3220    /// Creates an enum from field names used in the ProtoBuf definition.
3221    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3222        match value {
3223            "STAFF" => Some(Self::Staff),
3224            "CAST" => Some(Self::Cast),
3225            "UNKNOWN_TYPE" => Some(Self::UnknownType),
3226            _ => None,
3227        }
3228    }
3229}
3230///
3231#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3232#[repr(i32)]
3233pub enum RelateCardType {
3234    ///
3235    CardTypeUnknown = 0,
3236    ///
3237    Av = 1,
3238    ///
3239    Bangumi = 2,
3240    ///
3241    Resource = 3,
3242    ///
3243    Game = 4,
3244    ///
3245    Cm = 5,
3246    ///
3247    Live = 6,
3248    ///
3249    AiRecommend = 7,
3250    ///
3251    BangumiAv = 8,
3252    ///
3253    BangumiUgc = 9,
3254    ///
3255    Special = 10,
3256}
3257impl RelateCardType {
3258    /// String value of the enum field names used in the ProtoBuf definition.
3259    ///
3260    /// The values are not transformed in any way and thus are considered stable
3261    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
3262    pub fn as_str_name(&self) -> &'static str {
3263        match self {
3264            Self::CardTypeUnknown => "CARD_TYPE_UNKNOWN",
3265            Self::Av => "AV",
3266            Self::Bangumi => "BANGUMI",
3267            Self::Resource => "RESOURCE",
3268            Self::Game => "GAME",
3269            Self::Cm => "CM",
3270            Self::Live => "LIVE",
3271            Self::AiRecommend => "AI_RECOMMEND",
3272            Self::BangumiAv => "BANGUMI_AV",
3273            Self::BangumiUgc => "BANGUMI_UGC",
3274            Self::Special => "SPECIAL",
3275        }
3276    }
3277    /// Creates an enum from field names used in the ProtoBuf definition.
3278    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3279        match value {
3280            "CARD_TYPE_UNKNOWN" => Some(Self::CardTypeUnknown),
3281            "AV" => Some(Self::Av),
3282            "BANGUMI" => Some(Self::Bangumi),
3283            "RESOURCE" => Some(Self::Resource),
3284            "GAME" => Some(Self::Game),
3285            "CM" => Some(Self::Cm),
3286            "LIVE" => Some(Self::Live),
3287            "AI_RECOMMEND" => Some(Self::AiRecommend),
3288            "BANGUMI_AV" => Some(Self::BangumiAv),
3289            "BANGUMI_UGC" => Some(Self::BangumiUgc),
3290            "SPECIAL" => Some(Self::Special),
3291            _ => None,
3292        }
3293    }
3294}
3295///
3296#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3297#[repr(i32)]
3298pub enum ReserveBizType {
3299    ///
3300    BizTypeNone = 0,
3301    ///
3302    BizTypeReserveActivity = 1,
3303    ///
3304    BizTypeFavSeason = 2,
3305}
3306impl ReserveBizType {
3307    /// String value of the enum field names used in the ProtoBuf definition.
3308    ///
3309    /// The values are not transformed in any way and thus are considered stable
3310    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
3311    pub fn as_str_name(&self) -> &'static str {
3312        match self {
3313            Self::BizTypeNone => "BizTypeNone",
3314            Self::BizTypeReserveActivity => "BizTypeReserveActivity",
3315            Self::BizTypeFavSeason => "BizTypeFavSeason",
3316        }
3317    }
3318    /// Creates an enum from field names used in the ProtoBuf definition.
3319    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3320        match value {
3321            "BizTypeNone" => Some(Self::BizTypeNone),
3322            "BizTypeReserveActivity" => Some(Self::BizTypeReserveActivity),
3323            "BizTypeFavSeason" => Some(Self::BizTypeFavSeason),
3324            _ => None,
3325        }
3326    }
3327}
3328///
3329#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3330#[repr(i32)]
3331pub enum SeasonType {
3332    ///
3333    Unknown = 0,
3334    ///
3335    Base = 1,
3336    ///
3337    Good = 2,
3338}
3339impl SeasonType {
3340    /// String value of the enum field names used in the ProtoBuf definition.
3341    ///
3342    /// The values are not transformed in any way and thus are considered stable
3343    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
3344    pub fn as_str_name(&self) -> &'static str {
3345        match self {
3346            Self::Unknown => "Unknown",
3347            Self::Base => "Base",
3348            Self::Good => "Good",
3349        }
3350    }
3351    /// Creates an enum from field names used in the ProtoBuf definition.
3352    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3353        match value {
3354            "Unknown" => Some(Self::Unknown),
3355            "Base" => Some(Self::Base),
3356            "Good" => Some(Self::Good),
3357            _ => None,
3358        }
3359    }
3360}
3361///
3362#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3363#[repr(i32)]
3364pub enum SerialSeasonCoverStyle {
3365    ///
3366    Title = 0,
3367    ///
3368    Picture = 1,
3369    ///
3370    Unknown = -1,
3371}
3372impl SerialSeasonCoverStyle {
3373    /// String value of the enum field names used in the ProtoBuf definition.
3374    ///
3375    /// The values are not transformed in any way and thus are considered stable
3376    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
3377    pub fn as_str_name(&self) -> &'static str {
3378        match self {
3379            Self::Title => "TITLE",
3380            Self::Picture => "PICTURE",
3381            Self::Unknown => "SERIAL_SEASON_COVER_STYLE_UNKNOWN",
3382        }
3383    }
3384    /// Creates an enum from field names used in the ProtoBuf definition.
3385    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3386        match value {
3387            "TITLE" => Some(Self::Title),
3388            "PICTURE" => Some(Self::Picture),
3389            "SERIAL_SEASON_COVER_STYLE_UNKNOWN" => Some(Self::Unknown),
3390            _ => None,
3391        }
3392    }
3393}
3394///
3395#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3396#[repr(i32)]
3397pub enum ShowStyle {
3398    ///
3399    Unknown = 0,
3400    ///
3401    OneRowOneColumn = 1,
3402    ///
3403    OneRowMultiColumn = 2,
3404    ///
3405    OneColumnMultiRow = 3,
3406}
3407impl ShowStyle {
3408    /// String value of the enum field names used in the ProtoBuf definition.
3409    ///
3410    /// The values are not transformed in any way and thus are considered stable
3411    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
3412    pub fn as_str_name(&self) -> &'static str {
3413        match self {
3414            Self::Unknown => "SHOW_STYLE_UNKNOWN",
3415            Self::OneRowOneColumn => "ONE_ROW_ONE_COLUMN",
3416            Self::OneRowMultiColumn => "ONE_ROW_MULTI_COLUMN",
3417            Self::OneColumnMultiRow => "ONE_COLUMN_MULTI_ROW",
3418        }
3419    }
3420    /// Creates an enum from field names used in the ProtoBuf definition.
3421    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3422        match value {
3423            "SHOW_STYLE_UNKNOWN" => Some(Self::Unknown),
3424            "ONE_ROW_ONE_COLUMN" => Some(Self::OneRowOneColumn),
3425            "ONE_ROW_MULTI_COLUMN" => Some(Self::OneRowMultiColumn),
3426            "ONE_COLUMN_MULTI_ROW" => Some(Self::OneColumnMultiRow),
3427            _ => None,
3428        }
3429    }
3430}