mikufans_proto_intl/
bilibili.playershared.rs

1// This file is @generated by prost-build.
2///
3#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct ArcConf {
5    ///
6    #[prost(bool, tag = "1")]
7    pub is_support: bool,
8    ///
9    #[prost(bool, tag = "2")]
10    pub disabled: bool,
11    ///
12    #[prost(message, optional, tag = "3")]
13    pub extra_content: ::core::option::Option<ExtraContent>,
14    ///
15    #[prost(int32, repeated, tag = "4")]
16    pub unsupport_scene: ::prost::alloc::vec::Vec<i32>,
17}
18///
19#[derive(Clone, PartialEq, ::prost::Message)]
20pub struct AutoQnCtl {
21    ///
22    #[prost(int64, tag = "1")]
23    pub login_half: i64,
24    ///
25    #[prost(int64, tag = "2")]
26    pub nologin_half: i64,
27    ///
28    #[prost(int64, tag = "3")]
29    pub login_full: i64,
30    ///
31    #[prost(int64, tag = "4")]
32    pub nologin_full: i64,
33    ///
34    #[prost(int64, tag = "5")]
35    pub mobile_login_full: i64,
36    ///
37    #[prost(int64, tag = "6")]
38    pub mobile_nologin_full: i64,
39    ///
40    #[prost(map = "string, message", tag = "7")]
41    pub scene_qn_range: ::std::collections::HashMap<
42        ::prost::alloc::string::String,
43        AutoQnRange,
44    >,
45}
46///
47#[derive(Clone, Copy, PartialEq, ::prost::Message)]
48pub struct AutoQnRange {
49    ///
50    #[prost(int64, tag = "1")]
51    pub max: i64,
52    ///
53    #[prost(int64, tag = "2")]
54    pub min: i64,
55}
56///
57#[derive(Clone, PartialEq, ::prost::Message)]
58pub struct BackgroundInfo {
59    ///
60    #[prost(string, tag = "1")]
61    pub drawable_color: ::prost::alloc::string::String,
62    ///
63    #[prost(string, tag = "2")]
64    pub drawable_bitmap_url: ::prost::alloc::string::String,
65    ///
66    #[prost(enumeration = "Effects", tag = "3")]
67    pub effects: i32,
68}
69///
70#[derive(Clone, PartialEq, ::prost::Message)]
71pub struct Badge {
72    ///
73    #[prost(string, tag = "1")]
74    pub text: ::prost::alloc::string::String,
75    ///
76    #[prost(string, tag = "2")]
77    pub text_color: ::prost::alloc::string::String,
78    ///
79    #[prost(string, tag = "3")]
80    pub text_color_night: ::prost::alloc::string::String,
81    ///
82    #[prost(string, tag = "4")]
83    pub bg_color: ::prost::alloc::string::String,
84    ///
85    #[prost(string, tag = "5")]
86    pub bg_color_night: ::prost::alloc::string::String,
87    ///
88    #[prost(string, tag = "6")]
89    pub border_color: ::prost::alloc::string::String,
90    ///
91    #[prost(string, tag = "7")]
92    pub border_color_night: ::prost::alloc::string::String,
93    ///
94    #[prost(int32, tag = "8")]
95    pub bg_style: i32,
96}
97///
98#[derive(Clone, PartialEq, ::prost::Message)]
99pub struct BadgeInfo {
100    ///
101    #[prost(string, tag = "1")]
102    pub text: ::prost::alloc::string::String,
103    ///
104    #[prost(string, tag = "2")]
105    pub bg_color: ::prost::alloc::string::String,
106    ///
107    #[prost(string, tag = "3")]
108    pub bg_color_night: ::prost::alloc::string::String,
109    ///
110    #[prost(string, tag = "4")]
111    pub text_color: ::prost::alloc::string::String,
112    ///
113    #[prost(message, optional, tag = "5")]
114    pub bg_gradient_color: ::core::option::Option<GradientColor>,
115    ///
116    #[prost(string, tag = "6")]
117    pub img: ::prost::alloc::string::String,
118}
119///
120#[derive(Clone, PartialEq, ::prost::Message)]
121pub struct Banner {
122    ///
123    #[prost(string, tag = "1")]
124    pub jump_link: ::prost::alloc::string::String,
125    ///
126    #[prost(string, tag = "2")]
127    pub image_link: ::prost::alloc::string::String,
128    ///
129    #[prost(string, tag = "3")]
130    pub half_image_link: ::prost::alloc::string::String,
131    ///
132    #[prost(message, optional, tag = "4")]
133    pub report: ::core::option::Option<Report>,
134}
135///
136#[derive(Clone, PartialEq, ::prost::Message)]
137pub struct BenefitInfo {
138    ///
139    #[prost(string, tag = "1")]
140    pub title: ::prost::alloc::string::String,
141    ///
142    #[prost(string, tag = "2")]
143    pub icon: ::prost::alloc::string::String,
144}
145///
146#[derive(Clone, PartialEq, ::prost::Message)]
147pub struct BottomDisplay {
148    ///
149    #[prost(message, optional, tag = "1")]
150    pub title: ::core::option::Option<TextInfo>,
151    ///
152    #[prost(string, tag = "2")]
153    pub icon: ::prost::alloc::string::String,
154}
155///
156#[derive(Clone, PartialEq, ::prost::Message)]
157pub struct Button {
158    ///
159    #[prost(string, tag = "1")]
160    pub text: ::prost::alloc::string::String,
161    ///
162    #[prost(string, tag = "2")]
163    pub link: ::prost::alloc::string::String,
164    ///
165    #[prost(map = "string, string", tag = "3")]
166    pub report_params: ::std::collections::HashMap<
167        ::prost::alloc::string::String,
168        ::prost::alloc::string::String,
169    >,
170}
171///
172#[derive(Clone, PartialEq, ::prost::Message)]
173pub struct ButtonInfo {
174    ///
175    #[prost(string, tag = "1")]
176    pub text: ::prost::alloc::string::String,
177    ///
178    #[prost(string, tag = "2")]
179    pub text_color: ::prost::alloc::string::String,
180    ///
181    #[prost(string, tag = "3")]
182    pub text_color_night: ::prost::alloc::string::String,
183    ///
184    #[prost(string, tag = "4")]
185    pub bg_color: ::prost::alloc::string::String,
186    ///
187    #[prost(string, tag = "5")]
188    pub bg_color_night: ::prost::alloc::string::String,
189    ///
190    #[prost(string, tag = "6")]
191    pub link: ::prost::alloc::string::String,
192    ///
193    #[prost(enumeration = "ButtonAction", tag = "7")]
194    pub action_type: i32,
195    ///
196    #[prost(message, optional, tag = "8")]
197    pub badge_info: ::core::option::Option<BadgeInfo>,
198    ///
199    #[prost(message, optional, tag = "9")]
200    pub report: ::core::option::Option<Report>,
201    ///
202    #[prost(string, tag = "10")]
203    pub left_strikethrough_text: ::prost::alloc::string::String,
204    ///
205    #[prost(message, optional, tag = "11")]
206    pub simple_text_info: ::core::option::Option<TextInfo>,
207    ///
208    #[prost(string, tag = "12")]
209    pub simple_bg_color: ::prost::alloc::string::String,
210    ///
211    #[prost(string, tag = "13")]
212    pub simple_bg_color_night: ::prost::alloc::string::String,
213    ///
214    #[prost(message, optional, tag = "14")]
215    pub bg_gradient_color: ::core::option::Option<GradientColor>,
216    ///
217    #[prost(map = "string, string", tag = "15")]
218    pub order_report_params: ::std::collections::HashMap<
219        ::prost::alloc::string::String,
220        ::prost::alloc::string::String,
221    >,
222    ///
223    #[prost(message, optional, tag = "16")]
224    pub task_param: ::core::option::Option<TaskParam>,
225    ///
226    #[prost(string, tag = "17")]
227    pub frame_color: ::prost::alloc::string::String,
228    ///
229    #[prost(string, tag = "18")]
230    pub icon: ::prost::alloc::string::String,
231    ///
232    #[prost(int32, tag = "19")]
233    pub font_size: i32,
234    ///
235    #[prost(string, tag = "20")]
236    pub tips_link: ::prost::alloc::string::String,
237    ///
238    #[prost(string, tag = "21")]
239    pub deliver_code: ::prost::alloc::string::String,
240}
241///
242#[derive(Clone, Copy, PartialEq, ::prost::Message)]
243pub struct ChargingExt {
244    ///
245    #[prost(bool, tag = "1")]
246    pub hide_bg_img: bool,
247}
248///
249#[derive(Clone, PartialEq, ::prost::Message)]
250pub struct ComprehensiveToast {
251    ///
252    #[prost(enumeration = "ToastType", tag = "1")]
253    pub r#type: i32,
254    ///
255    #[prost(message, optional, tag = "2")]
256    pub button: ::core::option::Option<ButtonInfo>,
257    ///
258    #[prost(enumeration = "ShowStyleType", tag = "3")]
259    pub show_style_type: i32,
260    ///
261    #[prost(string, tag = "4")]
262    pub icon: ::prost::alloc::string::String,
263    ///
264    #[prost(message, optional, tag = "5")]
265    pub toast_text: ::core::option::Option<TextInfo>,
266    ///
267    #[prost(message, optional, tag = "6")]
268    pub report: ::core::option::Option<Report>,
269    ///
270    #[prost(map = "string, string", tag = "7")]
271    pub order_report_params: ::std::collections::HashMap<
272        ::prost::alloc::string::String,
273        ::prost::alloc::string::String,
274    >,
275}
276///
277#[derive(Clone, Copy, PartialEq, ::prost::Message)]
278pub struct ConfValue {
279    ///
280    #[prost(oneof = "conf_value::Value", tags = "1, 2")]
281    pub value: ::core::option::Option<conf_value::Value>,
282}
283/// Nested message and enum types in `ConfValue`.
284pub mod conf_value {
285    ///
286    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
287    pub enum Value {
288        ///
289        #[prost(bool, tag = "1")]
290        SwitchVal(bool),
291        ///
292        #[prost(int64, tag = "2")]
293        SelectedVal(i64),
294    }
295}
296///
297#[derive(Clone, PartialEq, ::prost::Message)]
298pub struct CountDownItem {
299    ///
300    #[prost(int64, tag = "1")]
301    pub fold_countdown: i64,
302    ///
303    #[prost(message, optional, tag = "2")]
304    pub title: ::core::option::Option<TextInfo>,
305    ///
306    #[prost(message, optional, tag = "3")]
307    pub subtitle: ::core::option::Option<TextInfo>,
308}
309///
310#[derive(Clone, PartialEq, ::prost::Message)]
311pub struct DashItem {
312    ///
313    #[prost(int32, tag = "1")]
314    pub id: i32,
315    ///
316    #[prost(string, tag = "2")]
317    pub base_url: ::prost::alloc::string::String,
318    ///
319    #[prost(string, repeated, tag = "3")]
320    pub backup_url: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
321    ///
322    #[prost(int32, tag = "4")]
323    pub bandwidth: i32,
324    ///
325    #[prost(int32, tag = "5")]
326    pub codecid: i32,
327    ///
328    #[prost(string, tag = "6")]
329    pub md5: ::prost::alloc::string::String,
330    ///
331    #[prost(int64, tag = "7")]
332    pub size: i64,
333    ///
334    #[prost(string, tag = "8")]
335    pub frame_rate: ::prost::alloc::string::String,
336    ///
337    #[prost(string, tag = "9")]
338    pub widevine_pssh: ::prost::alloc::string::String,
339    ///
340    #[prost(string, tag = "10")]
341    pub bilidrm_uri: ::prost::alloc::string::String,
342}
343///
344#[derive(Clone, PartialEq, ::prost::Message)]
345pub struct DashVideo {
346    ///
347    #[prost(string, tag = "1")]
348    pub base_url: ::prost::alloc::string::String,
349    ///
350    #[prost(string, repeated, tag = "2")]
351    pub backup_url: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
352    ///
353    #[prost(int32, tag = "3")]
354    pub bandwidth: i32,
355    ///
356    #[prost(int32, tag = "4")]
357    pub codecid: i32,
358    ///
359    #[prost(string, tag = "5")]
360    pub md5: ::prost::alloc::string::String,
361    ///
362    #[prost(int64, tag = "6")]
363    pub size: i64,
364    ///
365    #[prost(int32, tag = "7")]
366    pub audio_id: i32,
367    ///
368    #[prost(bool, tag = "8")]
369    pub no_rexcode: bool,
370    ///
371    #[prost(string, tag = "9")]
372    pub frame_rate: ::prost::alloc::string::String,
373    ///
374    #[prost(int32, tag = "10")]
375    pub width: i32,
376    ///
377    #[prost(int32, tag = "11")]
378    pub height: i32,
379    ///
380    #[prost(string, tag = "12")]
381    pub widevine_pssh: ::prost::alloc::string::String,
382    ///
383    #[prost(string, tag = "13")]
384    pub bilidrm_uri: ::prost::alloc::string::String,
385}
386///
387#[derive(Clone, Copy, PartialEq, ::prost::Message)]
388pub struct DeviceConf {
389    ///
390    #[prost(message, optional, tag = "1")]
391    pub conf_value: ::core::option::Option<ConfValue>,
392}
393///
394#[derive(Clone, PartialEq, ::prost::Message)]
395pub struct Dialog {
396    ///
397    #[prost(enumeration = "GuideStyle", tag = "1")]
398    pub style_type: i32,
399    ///
400    #[prost(message, optional, tag = "2")]
401    pub background_info: ::core::option::Option<BackgroundInfo>,
402    ///
403    #[prost(message, optional, tag = "3")]
404    pub title: ::core::option::Option<TextInfo>,
405    ///
406    #[prost(message, optional, tag = "4")]
407    pub subtitle: ::core::option::Option<TextInfo>,
408    ///
409    #[prost(message, optional, tag = "5")]
410    pub image: ::core::option::Option<ImageInfo>,
411    ///
412    #[prost(message, repeated, tag = "6")]
413    pub button: ::prost::alloc::vec::Vec<ButtonInfo>,
414    ///
415    #[prost(message, optional, tag = "7")]
416    pub bottom_desc: ::core::option::Option<ButtonInfo>,
417    ///
418    #[prost(message, optional, tag = "8")]
419    pub report: ::core::option::Option<Report>,
420    ///
421    #[prost(int32, tag = "9")]
422    pub count_down_sec: i32,
423    ///
424    #[prost(message, optional, tag = "10")]
425    pub right_bottom_desc: ::core::option::Option<TextInfo>,
426    ///
427    #[prost(message, repeated, tag = "11")]
428    pub bottom_display: ::prost::alloc::vec::Vec<BottomDisplay>,
429    ///
430    #[prost(message, optional, tag = "12")]
431    pub ext_data: ::core::option::Option<ExtData>,
432    ///
433    #[prost(enumeration = "LimitActionType", tag = "13")]
434    pub limit_action_type: i32,
435    ///
436    #[prost(int32, tag = "14")]
437    pub is_hide_more_btn: i32,
438    ///
439    #[prost(int32, tag = "15")]
440    pub hide_button_on_half: i32,
441    ///
442    #[prost(string, tag = "16")]
443    pub deliver_win_id: ::prost::alloc::string::String,
444    ///
445    #[prost(map = "string, string", tag = "17")]
446    pub conditions: ::std::collections::HashMap<
447        ::prost::alloc::string::String,
448        ::prost::alloc::string::String,
449    >,
450}
451///
452#[derive(Clone, Copy, PartialEq, ::prost::Message)]
453pub struct Dimension {
454    ///
455    #[prost(int64, tag = "1")]
456    pub width: i64,
457    ///
458    #[prost(int64, tag = "2")]
459    pub height: i64,
460    ///
461    #[prost(int64, tag = "3")]
462    pub rotate: i64,
463    ///
464    #[prost(int64, tag = "4")]
465    pub variable: i64,
466}
467///
468#[derive(Clone, PartialEq, ::prost::Message)]
469pub struct DolbyItem {
470    ///
471    #[prost(enumeration = "dolby_item::Type", tag = "1")]
472    pub r#type: i32,
473    ///
474    #[prost(message, repeated, tag = "2")]
475    pub audio: ::prost::alloc::vec::Vec<DashItem>,
476}
477/// Nested message and enum types in `DolbyItem`.
478pub mod dolby_item {
479    ///
480    #[derive(
481        Clone,
482        Copy,
483        Debug,
484        PartialEq,
485        Eq,
486        Hash,
487        PartialOrd,
488        Ord,
489        ::prost::Enumeration
490    )]
491    #[repr(i32)]
492    pub enum Type {
493        ///
494        None = 0,
495        ///
496        Common = 1,
497        ///
498        Atmos = 2,
499    }
500    impl Type {
501        /// String value of the enum field names used in the ProtoBuf definition.
502        ///
503        /// The values are not transformed in any way and thus are considered stable
504        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
505        pub fn as_str_name(&self) -> &'static str {
506            match self {
507                Self::None => "NONE",
508                Self::Common => "COMMON",
509                Self::Atmos => "ATMOS",
510            }
511        }
512        /// Creates an enum from field names used in the ProtoBuf definition.
513        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
514            match value {
515                "NONE" => Some(Self::None),
516                "COMMON" => Some(Self::Common),
517                "ATMOS" => Some(Self::Atmos),
518                _ => None,
519            }
520        }
521    }
522}
523///
524#[derive(Clone, Copy, PartialEq, ::prost::Message)]
525pub struct EpInlineVideo {
526    ///
527    #[prost(int64, tag = "1")]
528    pub material_no: i64,
529    ///
530    #[prost(int64, tag = "2")]
531    pub aid: i64,
532    ///
533    #[prost(int64, tag = "3")]
534    pub cid: i64,
535}
536///
537#[derive(Clone, PartialEq, ::prost::Message)]
538pub struct EpInlineVideoInfo {
539    ///
540    #[prost(message, repeated, tag = "1")]
541    pub ep_inline_video: ::prost::alloc::vec::Vec<EpInlineVideo>,
542}
543///
544#[derive(Clone, PartialEq, ::prost::Message)]
545pub struct Event {
546    ///
547    #[prost(message, optional, tag = "1")]
548    pub shake: ::core::option::Option<Shake>,
549    ///
550    #[prost(message, optional, tag = "2")]
551    pub qn_tip: ::core::option::Option<QnTip>,
552}
553///
554#[derive(Clone, PartialEq, ::prost::Message)]
555pub struct ExpSwitch {
556    ///
557    #[prost(int32, tag = "2")]
558    pub hit_opti_try_watch: i32,
559    ///
560    #[prost(map = "string, string", tag = "3")]
561    pub exp_ab: ::std::collections::HashMap<
562        ::prost::alloc::string::String,
563        ::prost::alloc::string::String,
564    >,
565}
566///
567#[derive(Clone, PartialEq, ::prost::Message)]
568pub struct ExtData {
569    ///
570    #[prost(enumeration = "ExtDataType", tag = "1")]
571    pub r#type: i32,
572    ///
573    #[prost(oneof = "ext_data::Data", tags = "2, 3, 4, 5, 6")]
574    pub data: ::core::option::Option<ext_data::Data>,
575}
576/// Nested message and enum types in `ExtData`.
577pub mod ext_data {
578    ///
579    #[derive(Clone, PartialEq, ::prost::Oneof)]
580    pub enum Data {
581        ///
582        #[prost(message, tag = "2")]
583        PlayListInfo(super::PlayListInfo),
584        ///
585        #[prost(message, tag = "3")]
586        Banner(super::Banner),
587        ///
588        #[prost(message, tag = "4")]
589        EpInlineVideoInfo(super::EpInlineVideoInfo),
590        ///
591        #[prost(message, tag = "5")]
592        ChargingExt(super::ChargingExt),
593        ///
594        #[prost(message, tag = "6")]
595        QrCode(super::QrCode),
596    }
597}
598///
599#[derive(Clone, PartialEq, ::prost::Message)]
600pub struct ExtraContent {
601    ///
602    #[prost(string, tag = "1")]
603    pub disabled_reason: ::prost::alloc::string::String,
604    ///
605    #[prost(int64, tag = "2")]
606    pub disabled_code: i64,
607}
608///
609#[derive(Clone, PartialEq, ::prost::Message)]
610pub struct FoldData {
611    ///
612    #[prost(enumeration = "FoldStyle", tag = "1")]
613    pub fold_style: i32,
614    ///
615    #[prost(oneof = "fold_data::Data", tags = "2")]
616    pub data: ::core::option::Option<fold_data::Data>,
617}
618/// Nested message and enum types in `FoldData`.
619pub mod fold_data {
620    ///
621    #[derive(Clone, PartialEq, ::prost::Oneof)]
622    pub enum Data {
623        ///
624        #[prost(message, tag = "2")]
625        CountDown(super::CountDownItem),
626    }
627}
628///
629#[derive(Clone, PartialEq, ::prost::Message)]
630pub struct Fragment {
631    ///
632    #[prost(message, repeated, tag = "1")]
633    pub infos: ::prost::alloc::vec::Vec<FragmentInfo>,
634}
635///
636#[derive(Clone, PartialEq, ::prost::Message)]
637pub struct FragmentInfo {
638    ///
639    #[prost(int32, tag = "1")]
640    pub index: i32,
641    ///
642    #[prost(enumeration = "FragmentPosition", tag = "2")]
643    pub fragment_position: i32,
644    ///
645    #[prost(enumeration = "FragmentType", tag = "3")]
646    pub fragment_type: i32,
647    ///
648    #[prost(int64, tag = "4")]
649    pub aid: i64,
650    ///
651    #[prost(int64, tag = "5")]
652    pub cid: i64,
653    ///
654    #[prost(int64, tag = "6")]
655    pub start_time: i64,
656    ///
657    #[prost(message, optional, tag = "7")]
658    pub report: ::core::option::Option<::prost_types::Any>,
659}
660///
661#[derive(Clone, PartialEq, ::prost::Message)]
662pub struct FragmentVideo {
663    ///
664    #[prost(message, repeated, tag = "1")]
665    pub videos: ::prost::alloc::vec::Vec<FragmentVideoInfo>,
666}
667///
668#[derive(Clone, PartialEq, ::prost::Message)]
669pub struct FragmentVideoInfo {
670    ///
671    #[prost(message, optional, tag = "1")]
672    pub fragment_info: ::core::option::Option<FragmentInfo>,
673    ///
674    #[prost(message, optional, tag = "2")]
675    pub vod_info: ::core::option::Option<VodInfo>,
676    ///
677    #[prost(message, optional, tag = "3")]
678    pub play_arc_conf: ::core::option::Option<PlayArcConf>,
679    ///
680    #[prost(message, optional, tag = "4")]
681    pub dimension: ::core::option::Option<Dimension>,
682    ///
683    #[prost(int64, tag = "5")]
684    pub timelength: i64,
685    ///
686    #[prost(enumeration = "BizType", tag = "6")]
687    pub video_type: i32,
688    ///
689    #[prost(bool, tag = "7")]
690    pub playable_status: bool,
691}
692///
693#[derive(Clone, PartialEq, ::prost::Message)]
694pub struct FullPromptBar {
695    ///
696    #[prost(string, tag = "1")]
697    pub icon: ::prost::alloc::string::String,
698    ///
699    #[prost(message, optional, tag = "2")]
700    pub title: ::core::option::Option<TextInfo>,
701    ///
702    #[prost(int64, tag = "3")]
703    pub timer_countdown: i64,
704    ///
705    #[prost(bool, tag = "4")]
706    pub countdown_enable: bool,
707    ///
708    #[prost(message, optional, tag = "5")]
709    pub subtitle: ::core::option::Option<TextInfo>,
710    ///
711    #[prost(message, repeated, tag = "6")]
712    pub button: ::prost::alloc::vec::Vec<ButtonInfo>,
713    ///
714    #[prost(message, optional, tag = "7")]
715    pub fold_data: ::core::option::Option<FoldData>,
716    ///
717    #[prost(message, optional, tag = "8")]
718    pub report: ::core::option::Option<Report>,
719    ///
720    #[prost(string, tag = "9")]
721    pub bg_image: ::prost::alloc::string::String,
722    ///
723    #[prost(int32, tag = "10")]
724    pub bar_height: i32,
725}
726///
727#[derive(Clone, PartialEq, ::prost::Message)]
728pub struct GradientColor {
729    ///
730    #[prost(string, tag = "1")]
731    pub start_color: ::prost::alloc::string::String,
732    ///
733    #[prost(string, tag = "2")]
734    pub end_color: ::prost::alloc::string::String,
735}
736///
737#[derive(Clone, PartialEq, ::prost::Message)]
738pub struct History {
739    ///
740    #[prost(message, optional, tag = "1")]
741    pub current_video: ::core::option::Option<HistoryInfo>,
742    ///
743    #[prost(message, optional, tag = "2")]
744    pub related_video: ::core::option::Option<HistoryInfo>,
745}
746///
747#[derive(Clone, PartialEq, ::prost::Message)]
748pub struct HistoryInfo {
749    ///
750    #[prost(int64, tag = "1")]
751    pub progress: i64,
752    ///
753    #[prost(int64, tag = "2")]
754    pub last_play_cid: i64,
755    ///
756    #[prost(message, optional, tag = "3")]
757    pub toast: ::core::option::Option<Toast>,
758    ///
759    #[prost(message, optional, tag = "4")]
760    pub toast_without_time: ::core::option::Option<Toast>,
761    ///
762    #[prost(int64, tag = "5")]
763    pub last_play_aid: i64,
764}
765///
766#[derive(Clone, PartialEq, ::prost::Message)]
767pub struct ImageInfo {
768    ///
769    #[prost(string, tag = "1")]
770    pub url: ::prost::alloc::string::String,
771}
772///
773#[derive(Clone, PartialEq, ::prost::Message)]
774pub struct Interaction {
775    ///
776    #[prost(message, optional, tag = "1")]
777    pub history_node: ::core::option::Option<Node>,
778    ///
779    #[prost(int64, tag = "2")]
780    pub graph_version: i64,
781    ///
782    #[prost(string, tag = "3")]
783    pub msg: ::prost::alloc::string::String,
784    ///
785    #[prost(int64, tag = "4")]
786    pub mark: i64,
787}
788///
789#[derive(Clone, PartialEq, ::prost::Message)]
790pub struct LossLessItem {
791    ///
792    #[prost(bool, tag = "1")]
793    pub is_lossless_audio: bool,
794    ///
795    #[prost(message, optional, tag = "2")]
796    pub audio: ::core::option::Option<DashItem>,
797    ///
798    #[prost(bool, tag = "3")]
799    pub need_vip: bool,
800}
801///
802#[derive(Clone, PartialEq, ::prost::Message)]
803pub struct Node {
804    ///
805    #[prost(int64, tag = "1")]
806    pub node_id: i64,
807    ///
808    #[prost(string, tag = "2")]
809    pub title: ::prost::alloc::string::String,
810    ///
811    #[prost(int64, tag = "3")]
812    pub cid: i64,
813}
814///
815#[derive(Clone, PartialEq, ::prost::Message)]
816pub struct PayWallOnshowAction {
817    ///
818    #[prost(string, tag = "1")]
819    pub link: ::prost::alloc::string::String,
820    ///
821    #[prost(map = "string, string", tag = "2")]
822    pub order_report_params: ::std::collections::HashMap<
823        ::prost::alloc::string::String,
824        ::prost::alloc::string::String,
825    >,
826    ///
827    #[prost(enumeration = "ButtonAction", tag = "3")]
828    pub action_type: i32,
829}
830///
831#[derive(Clone, PartialEq, ::prost::Message)]
832pub struct PlayArc {
833    ///
834    #[prost(enumeration = "BizType", tag = "1")]
835    pub video_type: i32,
836    ///
837    #[prost(int64, tag = "2")]
838    pub aid: i64,
839    ///
840    #[prost(int64, tag = "3")]
841    pub cid: i64,
842    ///
843    #[prost(enumeration = "DrmTechType", tag = "4")]
844    pub drm_tech_type: i32,
845    ///
846    #[prost(enumeration = "ArcType", tag = "5")]
847    pub arc_type: i32,
848    ///
849    #[prost(message, optional, tag = "6")]
850    pub interaction: ::core::option::Option<Interaction>,
851    ///
852    #[prost(message, optional, tag = "7")]
853    pub dimension: ::core::option::Option<Dimension>,
854    ///
855    #[prost(int64, tag = "8")]
856    pub duration: i64,
857    ///
858    #[prost(bool, tag = "9")]
859    pub is_preview: bool,
860    ///
861    #[prost(int64, tag = "10")]
862    pub watch_time_length: i64,
863    ///
864    #[prost(int64, tag = "11")]
865    pub duration_ms: i64,
866}
867///
868#[derive(Clone, PartialEq, ::prost::Message)]
869pub struct PlayArcConf {
870    ///
871    #[prost(map = "int32, message", tag = "1")]
872    pub arc_confs: ::std::collections::HashMap<i32, ArcConf>,
873}
874///
875#[derive(Clone, PartialEq, ::prost::Message)]
876pub struct PlayDeviceConf {
877    ///
878    #[prost(map = "int32, message", tag = "1")]
879    pub device_confs: ::std::collections::HashMap<i32, DeviceConf>,
880}
881///
882#[derive(Clone, PartialEq, ::prost::Message)]
883pub struct PlayList {
884    ///
885    #[prost(int64, tag = "1")]
886    pub season_id: i64,
887    ///
888    #[prost(string, tag = "2")]
889    pub title: ::prost::alloc::string::String,
890    ///
891    #[prost(string, tag = "3")]
892    pub cover: ::prost::alloc::string::String,
893    ///
894    #[prost(string, tag = "4")]
895    pub link: ::prost::alloc::string::String,
896    ///
897    #[prost(message, optional, tag = "5")]
898    pub badge_info: ::core::option::Option<BadgeInfo>,
899}
900///
901#[derive(Clone, PartialEq, ::prost::Message)]
902pub struct PlayListInfo {
903    ///
904    #[prost(message, repeated, tag = "2")]
905    pub play_list: ::prost::alloc::vec::Vec<PlayList>,
906}
907///
908#[derive(Clone, PartialEq, ::prost::Message)]
909pub struct PromptBar {
910    ///
911    #[prost(message, optional, tag = "1")]
912    pub title: ::core::option::Option<TextInfo>,
913    ///
914    #[prost(message, optional, tag = "2")]
915    pub sub_title: ::core::option::Option<TextInfo>,
916    ///
917    #[prost(string, tag = "3")]
918    pub sub_title_icon: ::prost::alloc::string::String,
919    ///
920    #[prost(string, tag = "4")]
921    pub bg_image: ::prost::alloc::string::String,
922    ///
923    #[prost(message, optional, tag = "5")]
924    pub bg_gradient_color: ::core::option::Option<GradientColor>,
925    ///
926    #[prost(message, repeated, tag = "6")]
927    pub button: ::prost::alloc::vec::Vec<ButtonInfo>,
928    ///
929    #[prost(message, optional, tag = "7")]
930    pub report: ::core::option::Option<Report>,
931    ///
932    #[prost(string, tag = "8")]
933    pub full_screen_ip_icon: ::prost::alloc::string::String,
934    ///
935    #[prost(message, optional, tag = "9")]
936    pub full_screen_bg_gradient_color: ::core::option::Option<GradientColor>,
937    ///
938    #[prost(enumeration = "PromptBarType", tag = "10")]
939    pub prompt_bar_type: i32,
940    ///
941    #[prost(enumeration = "PromptBarStyle", tag = "11")]
942    pub prompt_bar_style: i32,
943    ///
944    #[prost(message, repeated, tag = "12")]
945    pub benefit_infos: ::prost::alloc::vec::Vec<BenefitInfo>,
946    ///
947    #[prost(int64, tag = "13")]
948    pub end_time: i64,
949    ///
950    #[prost(int32, tag = "14")]
951    pub show_on_paywall: i32,
952}
953///
954#[derive(Clone, Copy, PartialEq, ::prost::Message)]
955pub struct QnExp {
956    ///
957    #[prost(bool, tag = "1")]
958    pub qn_exp1: bool,
959    ///
960    #[prost(bool, tag = "2")]
961    pub qn_exp2: bool,
962}
963///
964#[derive(Clone, PartialEq, ::prost::Message)]
965pub struct QnTip {
966    ///
967    #[prost(string, tag = "1")]
968    pub msg: ::prost::alloc::string::String,
969}
970///
971#[derive(Clone, PartialEq, ::prost::Message)]
972pub struct QnTrialInfo {
973    ///
974    #[prost(bool, tag = "1")]
975    pub trial_able: bool,
976    ///
977    #[prost(int32, tag = "2")]
978    pub remaining_times: i32,
979    ///
980    #[prost(int32, tag = "3")]
981    pub start: i32,
982    ///
983    #[prost(int32, tag = "4")]
984    pub time_length: i32,
985    ///
986    #[prost(message, optional, tag = "5")]
987    pub start_toast: ::core::option::Option<Toast>,
988    ///
989    #[prost(message, optional, tag = "6")]
990    pub end_toast: ::core::option::Option<Toast>,
991    ///
992    #[prost(message, optional, tag = "8")]
993    pub quality_open_tip_btn: ::core::option::Option<Button>,
994    ///
995    #[prost(int32, tag = "9")]
996    pub trial_quality_type: i32,
997}
998///
999#[derive(Clone, PartialEq, ::prost::Message)]
1000pub struct QrCode {
1001    ///
1002    #[prost(string, tag = "1")]
1003    pub link: ::prost::alloc::string::String,
1004    ///
1005    #[prost(string, tag = "2")]
1006    pub link_desc: ::prost::alloc::string::String,
1007}
1008///
1009#[derive(Clone, PartialEq, ::prost::Message)]
1010pub struct Report {
1011    ///
1012    #[prost(string, tag = "1")]
1013    pub show_event_id: ::prost::alloc::string::String,
1014    ///
1015    #[prost(string, tag = "2")]
1016    pub click_event_id: ::prost::alloc::string::String,
1017    ///
1018    #[prost(string, tag = "3")]
1019    pub extends: ::prost::alloc::string::String,
1020}
1021///
1022#[derive(Clone, PartialEq, ::prost::Message)]
1023pub struct ResponseDash {
1024    ///
1025    #[prost(message, repeated, tag = "1")]
1026    pub video: ::prost::alloc::vec::Vec<DashItem>,
1027    ///
1028    #[prost(message, repeated, tag = "2")]
1029    pub audio: ::prost::alloc::vec::Vec<DashItem>,
1030}
1031///
1032#[derive(Clone, PartialEq, ::prost::Message)]
1033pub struct ResponseUrl {
1034    ///
1035    #[prost(int32, tag = "1")]
1036    pub order: i32,
1037    ///
1038    #[prost(int64, tag = "2")]
1039    pub length: i64,
1040    ///
1041    #[prost(int64, tag = "3")]
1042    pub size: i64,
1043    ///
1044    #[prost(string, tag = "4")]
1045    pub url: ::prost::alloc::string::String,
1046    ///
1047    #[prost(string, repeated, tag = "5")]
1048    pub backup_url: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1049    ///
1050    #[prost(string, tag = "6")]
1051    pub md5: ::prost::alloc::string::String,
1052}
1053///
1054#[derive(Clone, PartialEq, ::prost::Message)]
1055pub struct Scheme {
1056    ///
1057    #[prost(enumeration = "scheme::ActionType", tag = "1")]
1058    pub action_type: i32,
1059    ///
1060    #[prost(string, tag = "2")]
1061    pub toast: ::prost::alloc::string::String,
1062}
1063/// Nested message and enum types in `Scheme`.
1064pub mod scheme {
1065    ///
1066    #[derive(
1067        Clone,
1068        Copy,
1069        Debug,
1070        PartialEq,
1071        Eq,
1072        Hash,
1073        PartialOrd,
1074        Ord,
1075        ::prost::Enumeration
1076    )]
1077    #[repr(i32)]
1078    pub enum ActionType {
1079        ///
1080        UnknownActionType = 0,
1081        ///
1082        ShowToast = 1,
1083    }
1084    impl ActionType {
1085        /// String value of the enum field names used in the ProtoBuf definition.
1086        ///
1087        /// The values are not transformed in any way and thus are considered stable
1088        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1089        pub fn as_str_name(&self) -> &'static str {
1090            match self {
1091                Self::UnknownActionType => "UNKNOWN_ActionType",
1092                Self::ShowToast => "SHOW_TOAST",
1093            }
1094        }
1095        /// Creates an enum from field names used in the ProtoBuf definition.
1096        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1097            match value {
1098                "UNKNOWN_ActionType" => Some(Self::UnknownActionType),
1099                "SHOW_TOAST" => Some(Self::ShowToast),
1100                _ => None,
1101            }
1102        }
1103    }
1104}
1105///
1106#[derive(Clone, PartialEq, ::prost::Message)]
1107pub struct SegmentVideo {
1108    ///
1109    #[prost(message, repeated, tag = "1")]
1110    pub segment: ::prost::alloc::vec::Vec<ResponseUrl>,
1111}
1112///
1113#[derive(Clone, PartialEq, ::prost::Message)]
1114pub struct SettingBase {
1115    ///
1116    #[prost(string, tag = "1")]
1117    pub left_icon: ::prost::alloc::string::String,
1118    ///
1119    #[prost(string, tag = "2")]
1120    pub left_title: ::prost::alloc::string::String,
1121    ///
1122    #[prost(enumeration = "SettingItemType", tag = "3")]
1123    pub r#type: i32,
1124    ///
1125    #[prost(message, optional, tag = "4")]
1126    pub control: ::core::option::Option<SettingControl>,
1127    ///
1128    #[prost(map = "string, string", tag = "5")]
1129    pub report: ::std::collections::HashMap<
1130        ::prost::alloc::string::String,
1131        ::prost::alloc::string::String,
1132    >,
1133}
1134///
1135#[derive(Clone, PartialEq, ::prost::Message)]
1136pub struct SettingControl {
1137    ///
1138    #[prost(bool, tag = "1")]
1139    pub disabled: bool,
1140    ///
1141    #[prost(string, tag = "2")]
1142    pub disabled_reason: ::prost::alloc::string::String,
1143    ///
1144    #[prost(bool, tag = "3")]
1145    pub disable_gray: bool,
1146}
1147///
1148#[derive(Clone, PartialEq, ::prost::Message)]
1149pub struct SettingGroup {
1150    ///
1151    #[prost(string, tag = "1")]
1152    pub title: ::prost::alloc::string::String,
1153    ///
1154    #[prost(message, repeated, tag = "2")]
1155    pub items: ::prost::alloc::vec::Vec<SettingItem>,
1156    ///
1157    #[prost(enumeration = "GroupStyle", tag = "3")]
1158    pub group_style: i32,
1159}
1160///
1161#[derive(Clone, PartialEq, ::prost::Message)]
1162pub struct SettingItem {
1163    ///
1164    #[prost(message, optional, tag = "1")]
1165    pub base: ::core::option::Option<SettingBase>,
1166    ///
1167    #[prost(enumeration = "SettingItemStyle", tag = "2")]
1168    pub style: i32,
1169    ///
1170    #[prost(oneof = "setting_item::Value", tags = "3, 4")]
1171    pub value: ::core::option::Option<setting_item::Value>,
1172}
1173/// Nested message and enum types in `SettingItem`.
1174pub mod setting_item {
1175    ///
1176    #[derive(Clone, PartialEq, ::prost::Oneof)]
1177    pub enum Value {
1178        ///
1179        #[prost(message, tag = "3")]
1180        More(super::SettingMore),
1181        ///
1182        #[prost(message, tag = "4")]
1183        Vertical(super::SettingVertical),
1184    }
1185}
1186///
1187#[derive(Clone, PartialEq, ::prost::Message)]
1188pub struct SettingMore {
1189    ///
1190    #[prost(string, tag = "1")]
1191    pub url: ::prost::alloc::string::String,
1192    ///
1193    #[prost(string, tag = "2")]
1194    pub right_title: ::prost::alloc::string::String,
1195    ///
1196    #[prost(string, tag = "3")]
1197    pub right_icon: ::prost::alloc::string::String,
1198    ///
1199    #[prost(enumeration = "SettingJumpType", tag = "4")]
1200    pub jump_type: i32,
1201    ///
1202    #[prost(bool, tag = "5")]
1203    pub need_login: bool,
1204}
1205///
1206#[derive(Clone, PartialEq, ::prost::Message)]
1207pub struct SettingVertical {
1208    ///
1209    #[prost(string, tag = "1")]
1210    pub url: ::prost::alloc::string::String,
1211    ///
1212    #[prost(enumeration = "SettingJumpType", tag = "2")]
1213    pub jump_type: i32,
1214    ///
1215    #[prost(bool, tag = "3")]
1216    pub need_login: bool,
1217    ///
1218    #[prost(message, optional, tag = "4")]
1219    pub badge: ::core::option::Option<Badge>,
1220}
1221///
1222#[derive(Clone, PartialEq, ::prost::Message)]
1223pub struct Shake {
1224    ///
1225    #[prost(string, tag = "1")]
1226    pub file: ::prost::alloc::string::String,
1227}
1228///
1229#[derive(Clone, PartialEq, ::prost::Message)]
1230pub struct Stream {
1231    ///
1232    #[prost(message, optional, tag = "1")]
1233    pub stream_info: ::core::option::Option<StreamInfo>,
1234    ///
1235    #[prost(oneof = "stream::Content", tags = "2, 3")]
1236    pub content: ::core::option::Option<stream::Content>,
1237}
1238/// Nested message and enum types in `Stream`.
1239pub mod stream {
1240    ///
1241    #[derive(Clone, PartialEq, ::prost::Oneof)]
1242    pub enum Content {
1243        ///
1244        #[prost(message, tag = "2")]
1245        DashVideo(super::DashVideo),
1246        ///
1247        #[prost(message, tag = "3")]
1248        SegmentVideo(super::SegmentVideo),
1249    }
1250}
1251///
1252#[derive(Clone, PartialEq, ::prost::Message)]
1253pub struct StreamInfo {
1254    ///
1255    #[prost(int32, tag = "1")]
1256    pub quality: i32,
1257    ///
1258    #[prost(string, tag = "2")]
1259    pub format: ::prost::alloc::string::String,
1260    ///
1261    #[prost(string, tag = "3")]
1262    pub description: ::prost::alloc::string::String,
1263    ///
1264    #[prost(enumeration = "PlayErr", tag = "4")]
1265    pub err_code: i32,
1266    ///
1267    #[prost(message, optional, tag = "5")]
1268    pub limit: ::core::option::Option<StreamLimit>,
1269    ///
1270    #[prost(bool, tag = "6")]
1271    pub need_vip: bool,
1272    ///
1273    #[prost(bool, tag = "7")]
1274    pub need_login: bool,
1275    ///
1276    #[prost(bool, tag = "8")]
1277    pub intact: bool,
1278    ///
1279    #[prost(bool, tag = "9")]
1280    pub no_rexcode: bool,
1281    ///
1282    #[prost(int64, tag = "10")]
1283    pub attribute: i64,
1284    ///
1285    #[prost(string, tag = "11")]
1286    pub new_description: ::prost::alloc::string::String,
1287    ///
1288    #[prost(string, tag = "12")]
1289    pub display_desc: ::prost::alloc::string::String,
1290    ///
1291    #[prost(string, tag = "13")]
1292    pub superscript: ::prost::alloc::string::String,
1293    ///
1294    #[prost(bool, tag = "14")]
1295    pub vip_free: bool,
1296    ///
1297    #[prost(string, tag = "15")]
1298    pub subtitle: ::prost::alloc::string::String,
1299    ///
1300    #[prost(message, optional, tag = "16")]
1301    pub scheme: ::core::option::Option<Scheme>,
1302    ///
1303    #[prost(bool, tag = "17")]
1304    pub support_drm: bool,
1305}
1306///
1307#[derive(Clone, PartialEq, ::prost::Message)]
1308pub struct StreamLimit {
1309    ///
1310    #[prost(string, tag = "1")]
1311    pub title: ::prost::alloc::string::String,
1312    ///
1313    #[prost(string, tag = "2")]
1314    pub uri: ::prost::alloc::string::String,
1315    ///
1316    #[prost(string, tag = "3")]
1317    pub msg: ::prost::alloc::string::String,
1318}
1319///
1320#[derive(Clone, PartialEq, ::prost::Message)]
1321pub struct TaskParam {
1322    ///
1323    #[prost(string, tag = "1")]
1324    pub task_type: ::prost::alloc::string::String,
1325    ///
1326    #[prost(int64, tag = "2")]
1327    pub activity_id: i64,
1328    ///
1329    #[prost(int64, tag = "3")]
1330    pub tips_id: i64,
1331}
1332///
1333#[derive(Clone, PartialEq, ::prost::Message)]
1334pub struct TextInfo {
1335    ///
1336    #[prost(string, tag = "1")]
1337    pub text: ::prost::alloc::string::String,
1338    ///
1339    #[prost(string, tag = "2")]
1340    pub text_color: ::prost::alloc::string::String,
1341    ///
1342    #[prost(string, tag = "3")]
1343    pub text_color_night: ::prost::alloc::string::String,
1344    ///
1345    #[prost(int32, tag = "4")]
1346    pub font_size: i32,
1347}
1348///
1349#[derive(Clone, PartialEq, ::prost::Message)]
1350pub struct Toast {
1351    ///
1352    #[prost(string, tag = "1")]
1353    pub text: ::prost::alloc::string::String,
1354    ///
1355    #[prost(message, optional, tag = "2")]
1356    pub button: ::core::option::Option<Button>,
1357}
1358///
1359#[derive(Clone, PartialEq, ::prost::Message)]
1360pub struct VideoCtrl {
1361    ///
1362    #[prost(message, optional, tag = "1")]
1363    pub auto_qn_ctl: ::core::option::Option<AutoQnCtl>,
1364    ///
1365    #[prost(message, optional, tag = "2")]
1366    pub qn_exp: ::core::option::Option<QnExp>,
1367}
1368///
1369#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1370pub struct VideoVod {
1371    ///
1372    #[prost(int64, tag = "1")]
1373    pub aid: i64,
1374    ///
1375    #[prost(int64, tag = "2")]
1376    pub cid: i64,
1377    ///
1378    #[prost(int64, tag = "3")]
1379    pub qn: i64,
1380    ///
1381    #[prost(int32, tag = "4")]
1382    pub fnver: i32,
1383    ///
1384    #[prost(int32, tag = "5")]
1385    pub fnval: i32,
1386    ///
1387    #[prost(int32, tag = "6")]
1388    pub download: i32,
1389    ///
1390    #[prost(int32, tag = "7")]
1391    pub force_host: i32,
1392    ///
1393    #[prost(bool, tag = "8")]
1394    pub fourk: bool,
1395    ///
1396    #[prost(enumeration = "CodeType", tag = "9")]
1397    pub prefer_codec_type: i32,
1398    ///
1399    #[prost(int64, tag = "10")]
1400    pub voice_balance: i64,
1401    ///
1402    #[prost(bool, tag = "11")]
1403    pub is_need_trial: bool,
1404    ///
1405    #[prost(enumeration = "QnPolicy", tag = "12")]
1406    pub qn_policy: i32,
1407}
1408///
1409#[derive(Clone, PartialEq, ::prost::Message)]
1410pub struct ViewInfo {
1411    ///
1412    #[prost(map = "string, message", tag = "1")]
1413    pub dialog_map: ::std::collections::HashMap<::prost::alloc::string::String, Dialog>,
1414    ///
1415    #[prost(message, optional, tag = "2")]
1416    pub prompt_bar: ::core::option::Option<PromptBar>,
1417    ///
1418    #[prost(message, repeated, tag = "3")]
1419    pub toasts: ::prost::alloc::vec::Vec<ComprehensiveToast>,
1420    ///
1421    #[prost(message, optional, tag = "4")]
1422    pub pay_wall_onshow_action: ::core::option::Option<PayWallOnshowAction>,
1423    ///
1424    #[prost(message, optional, tag = "5")]
1425    pub exp_switch: ::core::option::Option<ExpSwitch>,
1426    ///
1427    #[prost(message, optional, tag = "6")]
1428    pub full_prompt_bar: ::core::option::Option<FullPromptBar>,
1429}
1430///
1431#[derive(Clone, PartialEq, ::prost::Message)]
1432pub struct VodInfo {
1433    ///
1434    #[prost(int32, tag = "1")]
1435    pub quality: i32,
1436    ///
1437    #[prost(string, tag = "2")]
1438    pub format: ::prost::alloc::string::String,
1439    ///
1440    #[prost(int64, tag = "3")]
1441    pub timelength: i64,
1442    ///
1443    #[prost(int32, tag = "4")]
1444    pub video_codecid: i32,
1445    ///
1446    #[prost(message, repeated, tag = "5")]
1447    pub stream_list: ::prost::alloc::vec::Vec<Stream>,
1448    ///
1449    #[prost(message, repeated, tag = "6")]
1450    pub dash_audio: ::prost::alloc::vec::Vec<DashItem>,
1451    ///
1452    #[prost(message, optional, tag = "7")]
1453    pub dolby: ::core::option::Option<DolbyItem>,
1454    ///
1455    #[prost(message, optional, tag = "8")]
1456    pub volume: ::core::option::Option<VolumeInfo>,
1457    ///
1458    #[prost(message, optional, tag = "9")]
1459    pub loss_less_item: ::core::option::Option<LossLessItem>,
1460    ///
1461    #[prost(bool, tag = "10")]
1462    pub support_project: bool,
1463}
1464///
1465#[derive(Clone, PartialEq, ::prost::Message)]
1466pub struct VolumeInfo {
1467    ///
1468    #[prost(double, tag = "1")]
1469    pub measured_i: f64,
1470    ///
1471    #[prost(double, tag = "2")]
1472    pub measured_lra: f64,
1473    ///
1474    #[prost(double, tag = "3")]
1475    pub measured_tp: f64,
1476    ///
1477    #[prost(double, tag = "4")]
1478    pub measured_threshold: f64,
1479    ///
1480    #[prost(double, tag = "5")]
1481    pub target_offset: f64,
1482    ///
1483    #[prost(double, tag = "6")]
1484    pub target_i: f64,
1485    ///
1486    #[prost(double, tag = "7")]
1487    pub target_tp: f64,
1488    ///
1489    #[prost(map = "string, string", tag = "8")]
1490    pub multi_scene_args: ::std::collections::HashMap<
1491        ::prost::alloc::string::String,
1492        ::prost::alloc::string::String,
1493    >,
1494}
1495///
1496#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1497#[repr(i32)]
1498pub enum ArcType {
1499    ///
1500    Normal = 0,
1501    ///
1502    Interact = 1,
1503}
1504impl ArcType {
1505    /// String value of the enum field names used in the ProtoBuf definition.
1506    ///
1507    /// The values are not transformed in any way and thus are considered stable
1508    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1509    pub fn as_str_name(&self) -> &'static str {
1510        match self {
1511            Self::Normal => "ARC_TYPE_NORMAL",
1512            Self::Interact => "ARC_TYPE_INTERACT",
1513        }
1514    }
1515    /// Creates an enum from field names used in the ProtoBuf definition.
1516    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1517        match value {
1518            "ARC_TYPE_NORMAL" => Some(Self::Normal),
1519            "ARC_TYPE_INTERACT" => Some(Self::Interact),
1520            _ => None,
1521        }
1522    }
1523}
1524///
1525#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1526#[repr(i32)]
1527pub enum BizType {
1528    ///
1529    Unknown = 0,
1530    ///
1531    Ugc = 1,
1532    ///
1533    Pgc = 2,
1534    ///
1535    Pugv = 3,
1536}
1537impl BizType {
1538    /// String value of the enum field names used in the ProtoBuf definition.
1539    ///
1540    /// The values are not transformed in any way and thus are considered stable
1541    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1542    pub fn as_str_name(&self) -> &'static str {
1543        match self {
1544            Self::Unknown => "BIZ_TYPE_UNKNOWN",
1545            Self::Ugc => "BIZ_TYPE_UGC",
1546            Self::Pgc => "BIZ_TYPE_PGC",
1547            Self::Pugv => "BIZ_TYPE_PUGV",
1548        }
1549    }
1550    /// Creates an enum from field names used in the ProtoBuf definition.
1551    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1552        match value {
1553            "BIZ_TYPE_UNKNOWN" => Some(Self::Unknown),
1554            "BIZ_TYPE_UGC" => Some(Self::Ugc),
1555            "BIZ_TYPE_PGC" => Some(Self::Pgc),
1556            "BIZ_TYPE_PUGV" => Some(Self::Pugv),
1557            _ => None,
1558        }
1559    }
1560}
1561///
1562#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1563#[repr(i32)]
1564pub enum ButtonAction {
1565    ///
1566    ButtonUnknown = 0,
1567    ///
1568    Pay = 1,
1569    ///
1570    Vip = 2,
1571    ///
1572    Pack = 3,
1573    ///
1574    Link = 4,
1575    ///
1576    Coupon = 5,
1577    ///
1578    Demand = 6,
1579    ///
1580    DemandPack = 7,
1581    ///
1582    Follow = 8,
1583    ///
1584    Appointment = 9,
1585    ///
1586    VipFree = 10,
1587    ///
1588    Task = 11,
1589    ///
1590    Chargingplus = 12,
1591    ///
1592    Bp = 13,
1593    ///
1594    PreSell = 14,
1595    ///
1596    Login = 15,
1597    ///
1598    CheesePay = 16,
1599    ///
1600    DeliverReport = 17,
1601    ///
1602    DeviceManage = 18,
1603    ///
1604    Reload = 19,
1605}
1606impl ButtonAction {
1607    /// String value of the enum field names used in the ProtoBuf definition.
1608    ///
1609    /// The values are not transformed in any way and thus are considered stable
1610    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1611    pub fn as_str_name(&self) -> &'static str {
1612        match self {
1613            Self::ButtonUnknown => "BUTTON_UNKNOWN",
1614            Self::Pay => "PAY",
1615            Self::Vip => "VIP",
1616            Self::Pack => "PACK",
1617            Self::Link => "LINK",
1618            Self::Coupon => "COUPON",
1619            Self::Demand => "DEMAND",
1620            Self::DemandPack => "DEMAND_PACK",
1621            Self::Follow => "FOLLOW",
1622            Self::Appointment => "APPOINTMENT",
1623            Self::VipFree => "VIP_FREE",
1624            Self::Task => "TASK",
1625            Self::Chargingplus => "CHARGINGPLUS",
1626            Self::Bp => "BP",
1627            Self::PreSell => "PRE_SELL",
1628            Self::Login => "LOGIN",
1629            Self::CheesePay => "BUTTON_ACTION_CHEESE_PAY",
1630            Self::DeliverReport => "DELIVER_REPORT",
1631            Self::DeviceManage => "DEVICE_MANAGE",
1632            Self::Reload => "RELOAD",
1633        }
1634    }
1635    /// Creates an enum from field names used in the ProtoBuf definition.
1636    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1637        match value {
1638            "BUTTON_UNKNOWN" => Some(Self::ButtonUnknown),
1639            "PAY" => Some(Self::Pay),
1640            "VIP" => Some(Self::Vip),
1641            "PACK" => Some(Self::Pack),
1642            "LINK" => Some(Self::Link),
1643            "COUPON" => Some(Self::Coupon),
1644            "DEMAND" => Some(Self::Demand),
1645            "DEMAND_PACK" => Some(Self::DemandPack),
1646            "FOLLOW" => Some(Self::Follow),
1647            "APPOINTMENT" => Some(Self::Appointment),
1648            "VIP_FREE" => Some(Self::VipFree),
1649            "TASK" => Some(Self::Task),
1650            "CHARGINGPLUS" => Some(Self::Chargingplus),
1651            "BP" => Some(Self::Bp),
1652            "PRE_SELL" => Some(Self::PreSell),
1653            "LOGIN" => Some(Self::Login),
1654            "BUTTON_ACTION_CHEESE_PAY" => Some(Self::CheesePay),
1655            "DELIVER_REPORT" => Some(Self::DeliverReport),
1656            "DEVICE_MANAGE" => Some(Self::DeviceManage),
1657            "RELOAD" => Some(Self::Reload),
1658            _ => None,
1659        }
1660    }
1661}
1662///
1663#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1664#[repr(i32)]
1665pub enum CodeType {
1666    ///
1667    Nocode = 0,
1668    ///
1669    Code264 = 1,
1670    ///
1671    Code265 = 2,
1672    ///
1673    Codeav1 = 3,
1674}
1675impl CodeType {
1676    /// String value of the enum field names used in the ProtoBuf definition.
1677    ///
1678    /// The values are not transformed in any way and thus are considered stable
1679    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1680    pub fn as_str_name(&self) -> &'static str {
1681        match self {
1682            Self::Nocode => "NOCODE",
1683            Self::Code264 => "CODE264",
1684            Self::Code265 => "CODE265",
1685            Self::Codeav1 => "CODEAV1",
1686        }
1687    }
1688    /// Creates an enum from field names used in the ProtoBuf definition.
1689    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1690        match value {
1691            "NOCODE" => Some(Self::Nocode),
1692            "CODE264" => Some(Self::Code264),
1693            "CODE265" => Some(Self::Code265),
1694            "CODEAV1" => Some(Self::Codeav1),
1695            _ => None,
1696        }
1697    }
1698}
1699///
1700#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1701#[repr(i32)]
1702pub enum ConfType {
1703    ///
1704    NoType = 0,
1705    ///
1706    Flipconf = 1,
1707    ///
1708    Castconf = 2,
1709    ///
1710    Feedback = 3,
1711    ///
1712    Subtitle = 4,
1713    ///
1714    Playbackrate = 5,
1715    ///
1716    Timeup = 6,
1717    ///
1718    Playbackmode = 7,
1719    ///
1720    Scalemode = 8,
1721    ///
1722    Backgroundplay = 9,
1723    ///
1724    Like = 10,
1725    ///
1726    Dislike = 11,
1727    ///
1728    Coin = 12,
1729    ///
1730    Elec = 13,
1731    ///
1732    Share = 14,
1733    ///
1734    Screenshot = 15,
1735    ///
1736    Lockscreen = 16,
1737    ///
1738    Recommend = 17,
1739    ///
1740    Playbackspeed = 18,
1741    ///
1742    Definition = 19,
1743    ///
1744    Selections = 20,
1745    ///
1746    Next = 21,
1747    ///
1748    Editdm = 22,
1749    ///
1750    Smallwindow = 23,
1751    ///
1752    Shake = 24,
1753    ///
1754    Outerdm = 25,
1755    ///
1756    Innerdm = 26,
1757    ///
1758    Panorama = 27,
1759    ///
1760    Dolby = 28,
1761    ///
1762    Colorfilter = 29,
1763    ///
1764    Lossless = 30,
1765    ///
1766    Freyaenter = 31,
1767    ///
1768    Freyafullenter = 32,
1769    ///
1770    Skipoped = 33,
1771    ///
1772    Recordscreen = 34,
1773    ///
1774    Dubbing = 35,
1775    ///
1776    Listen = 36,
1777    ///
1778    WatchLater = 37,
1779}
1780impl ConfType {
1781    /// String value of the enum field names used in the ProtoBuf definition.
1782    ///
1783    /// The values are not transformed in any way and thus are considered stable
1784    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1785    pub fn as_str_name(&self) -> &'static str {
1786        match self {
1787            Self::NoType => "NoType",
1788            Self::Flipconf => "FLIPCONF",
1789            Self::Castconf => "CASTCONF",
1790            Self::Feedback => "FEEDBACK",
1791            Self::Subtitle => "SUBTITLE",
1792            Self::Playbackrate => "PLAYBACKRATE",
1793            Self::Timeup => "TIMEUP",
1794            Self::Playbackmode => "PLAYBACKMODE",
1795            Self::Scalemode => "SCALEMODE",
1796            Self::Backgroundplay => "BACKGROUNDPLAY",
1797            Self::Like => "LIKE",
1798            Self::Dislike => "DISLIKE",
1799            Self::Coin => "COIN",
1800            Self::Elec => "ELEC",
1801            Self::Share => "SHARE",
1802            Self::Screenshot => "SCREENSHOT",
1803            Self::Lockscreen => "LOCKSCREEN",
1804            Self::Recommend => "RECOMMEND",
1805            Self::Playbackspeed => "PLAYBACKSPEED",
1806            Self::Definition => "DEFINITION",
1807            Self::Selections => "SELECTIONS",
1808            Self::Next => "NEXT",
1809            Self::Editdm => "EDITDM",
1810            Self::Smallwindow => "SMALLWINDOW",
1811            Self::Shake => "SHAKE",
1812            Self::Outerdm => "OUTERDM",
1813            Self::Innerdm => "INNERDM",
1814            Self::Panorama => "PANORAMA",
1815            Self::Dolby => "DOLBY",
1816            Self::Colorfilter => "COLORFILTER",
1817            Self::Lossless => "LOSSLESS",
1818            Self::Freyaenter => "FREYAENTER",
1819            Self::Freyafullenter => "FREYAFULLENTER",
1820            Self::Skipoped => "SKIPOPED",
1821            Self::Recordscreen => "RECORDSCREEN",
1822            Self::Dubbing => "DUBBING",
1823            Self::Listen => "LISTEN",
1824            Self::WatchLater => "WATCH_LATER",
1825        }
1826    }
1827    /// Creates an enum from field names used in the ProtoBuf definition.
1828    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1829        match value {
1830            "NoType" => Some(Self::NoType),
1831            "FLIPCONF" => Some(Self::Flipconf),
1832            "CASTCONF" => Some(Self::Castconf),
1833            "FEEDBACK" => Some(Self::Feedback),
1834            "SUBTITLE" => Some(Self::Subtitle),
1835            "PLAYBACKRATE" => Some(Self::Playbackrate),
1836            "TIMEUP" => Some(Self::Timeup),
1837            "PLAYBACKMODE" => Some(Self::Playbackmode),
1838            "SCALEMODE" => Some(Self::Scalemode),
1839            "BACKGROUNDPLAY" => Some(Self::Backgroundplay),
1840            "LIKE" => Some(Self::Like),
1841            "DISLIKE" => Some(Self::Dislike),
1842            "COIN" => Some(Self::Coin),
1843            "ELEC" => Some(Self::Elec),
1844            "SHARE" => Some(Self::Share),
1845            "SCREENSHOT" => Some(Self::Screenshot),
1846            "LOCKSCREEN" => Some(Self::Lockscreen),
1847            "RECOMMEND" => Some(Self::Recommend),
1848            "PLAYBACKSPEED" => Some(Self::Playbackspeed),
1849            "DEFINITION" => Some(Self::Definition),
1850            "SELECTIONS" => Some(Self::Selections),
1851            "NEXT" => Some(Self::Next),
1852            "EDITDM" => Some(Self::Editdm),
1853            "SMALLWINDOW" => Some(Self::Smallwindow),
1854            "SHAKE" => Some(Self::Shake),
1855            "OUTERDM" => Some(Self::Outerdm),
1856            "INNERDM" => Some(Self::Innerdm),
1857            "PANORAMA" => Some(Self::Panorama),
1858            "DOLBY" => Some(Self::Dolby),
1859            "COLORFILTER" => Some(Self::Colorfilter),
1860            "LOSSLESS" => Some(Self::Lossless),
1861            "FREYAENTER" => Some(Self::Freyaenter),
1862            "FREYAFULLENTER" => Some(Self::Freyafullenter),
1863            "SKIPOPED" => Some(Self::Skipoped),
1864            "RECORDSCREEN" => Some(Self::Recordscreen),
1865            "DUBBING" => Some(Self::Dubbing),
1866            "LISTEN" => Some(Self::Listen),
1867            "WATCH_LATER" => Some(Self::WatchLater),
1868            _ => None,
1869        }
1870    }
1871}
1872///
1873#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1874#[repr(i32)]
1875pub enum DrmTechType {
1876    ///
1877    UnknownDrm = 0,
1878    ///
1879    FairPlay = 1,
1880    ///
1881    WideVine = 2,
1882    ///
1883    BiliDrm = 3,
1884}
1885impl DrmTechType {
1886    /// String value of the enum field names used in the ProtoBuf definition.
1887    ///
1888    /// The values are not transformed in any way and thus are considered stable
1889    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1890    pub fn as_str_name(&self) -> &'static str {
1891        match self {
1892            Self::UnknownDrm => "UNKNOWN_DRM",
1893            Self::FairPlay => "FAIR_PLAY",
1894            Self::WideVine => "WIDE_VINE",
1895            Self::BiliDrm => "BILI_DRM",
1896        }
1897    }
1898    /// Creates an enum from field names used in the ProtoBuf definition.
1899    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1900        match value {
1901            "UNKNOWN_DRM" => Some(Self::UnknownDrm),
1902            "FAIR_PLAY" => Some(Self::FairPlay),
1903            "WIDE_VINE" => Some(Self::WideVine),
1904            "BILI_DRM" => Some(Self::BiliDrm),
1905            _ => None,
1906        }
1907    }
1908}
1909///
1910#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1911#[repr(i32)]
1912pub enum Effects {
1913    ///
1914    Unknown = 0,
1915    ///
1916    GaussianBlur = 1,
1917    ///
1918    HalfAlpha = 2,
1919}
1920impl Effects {
1921    /// String value of the enum field names used in the ProtoBuf definition.
1922    ///
1923    /// The values are not transformed in any way and thus are considered stable
1924    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1925    pub fn as_str_name(&self) -> &'static str {
1926        match self {
1927            Self::Unknown => "EFFECTS_UNKNOWN",
1928            Self::GaussianBlur => "GAUSSIAN_BLUR",
1929            Self::HalfAlpha => "HALF_ALPHA",
1930        }
1931    }
1932    /// Creates an enum from field names used in the ProtoBuf definition.
1933    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1934        match value {
1935            "EFFECTS_UNKNOWN" => Some(Self::Unknown),
1936            "GAUSSIAN_BLUR" => Some(Self::GaussianBlur),
1937            "HALF_ALPHA" => Some(Self::HalfAlpha),
1938            _ => None,
1939        }
1940    }
1941}
1942///
1943#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1944#[repr(i32)]
1945pub enum ExtDataType {
1946    ///
1947    Unknown = 0,
1948    ///
1949    PlayList = 1,
1950    ///
1951    Banner = 2,
1952    ///
1953    HeInline = 3,
1954    ///
1955    Charging = 4,
1956    ///
1957    QrCode = 5,
1958}
1959impl ExtDataType {
1960    /// String value of the enum field names used in the ProtoBuf definition.
1961    ///
1962    /// The values are not transformed in any way and thus are considered stable
1963    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1964    pub fn as_str_name(&self) -> &'static str {
1965        match self {
1966            Self::Unknown => "EXT_DATA_TYPE_UNKNOWN",
1967            Self::PlayList => "PLAY_LIST",
1968            Self::Banner => "BANNER",
1969            Self::HeInline => "HE_INLINE",
1970            Self::Charging => "EXT_DATA_TYPE_CHARGING",
1971            Self::QrCode => "QR_CODE",
1972        }
1973    }
1974    /// Creates an enum from field names used in the ProtoBuf definition.
1975    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1976        match value {
1977            "EXT_DATA_TYPE_UNKNOWN" => Some(Self::Unknown),
1978            "PLAY_LIST" => Some(Self::PlayList),
1979            "BANNER" => Some(Self::Banner),
1980            "HE_INLINE" => Some(Self::HeInline),
1981            "EXT_DATA_TYPE_CHARGING" => Some(Self::Charging),
1982            "QR_CODE" => Some(Self::QrCode),
1983            _ => None,
1984        }
1985    }
1986}
1987///
1988#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1989#[repr(i32)]
1990pub enum FoldStyle {
1991    ///
1992    Unspecified = 0,
1993    ///
1994    CountDown = 1,
1995    ///
1996    OnlyButton = 2,
1997}
1998impl FoldStyle {
1999    /// String value of the enum field names used in the ProtoBuf definition.
2000    ///
2001    /// The values are not transformed in any way and thus are considered stable
2002    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2003    pub fn as_str_name(&self) -> &'static str {
2004        match self {
2005            Self::Unspecified => "FOLD_STYLE_UNSPECIFIED",
2006            Self::CountDown => "FOLD_STYLE_COUNT_DOWN",
2007            Self::OnlyButton => "FOLD_STYLE_ONLY_BUTTON",
2008        }
2009    }
2010    /// Creates an enum from field names used in the ProtoBuf definition.
2011    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2012        match value {
2013            "FOLD_STYLE_UNSPECIFIED" => Some(Self::Unspecified),
2014            "FOLD_STYLE_COUNT_DOWN" => Some(Self::CountDown),
2015            "FOLD_STYLE_ONLY_BUTTON" => Some(Self::OnlyButton),
2016            _ => None,
2017        }
2018    }
2019}
2020///
2021#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2022#[repr(i32)]
2023pub enum FragmentPosition {
2024    ///
2025    Invalid = 0,
2026    ///
2027    Pre = 1,
2028    ///
2029    Middle = 2,
2030    ///
2031    Post = 3,
2032}
2033impl FragmentPosition {
2034    /// String value of the enum field names used in the ProtoBuf definition.
2035    ///
2036    /// The values are not transformed in any way and thus are considered stable
2037    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2038    pub fn as_str_name(&self) -> &'static str {
2039        match self {
2040            Self::Invalid => "INVALID",
2041            Self::Pre => "PRE",
2042            Self::Middle => "MIDDLE",
2043            Self::Post => "POST",
2044        }
2045    }
2046    /// Creates an enum from field names used in the ProtoBuf definition.
2047    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2048        match value {
2049            "INVALID" => Some(Self::Invalid),
2050            "PRE" => Some(Self::Pre),
2051            "MIDDLE" => Some(Self::Middle),
2052            "POST" => Some(Self::Post),
2053            _ => None,
2054        }
2055    }
2056}
2057///
2058#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2059#[repr(i32)]
2060pub enum FragmentType {
2061    ///
2062    Unknown = 0,
2063    ///
2064    AdFragment = 1,
2065    ///
2066    OgvFragment = 2,
2067    ///
2068    PugvFragment = 3,
2069}
2070impl FragmentType {
2071    /// String value of the enum field names used in the ProtoBuf definition.
2072    ///
2073    /// The values are not transformed in any way and thus are considered stable
2074    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2075    pub fn as_str_name(&self) -> &'static str {
2076        match self {
2077            Self::Unknown => "UNKNOWN",
2078            Self::AdFragment => "AD_FRAGMENT",
2079            Self::OgvFragment => "OGV_FRAGMENT",
2080            Self::PugvFragment => "PUGV_FRAGMENT",
2081        }
2082    }
2083    /// Creates an enum from field names used in the ProtoBuf definition.
2084    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2085        match value {
2086            "UNKNOWN" => Some(Self::Unknown),
2087            "AD_FRAGMENT" => Some(Self::AdFragment),
2088            "OGV_FRAGMENT" => Some(Self::OgvFragment),
2089            "PUGV_FRAGMENT" => Some(Self::PugvFragment),
2090            _ => None,
2091        }
2092    }
2093}
2094///
2095#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2096#[repr(i32)]
2097pub enum GroupStyle {
2098    ///
2099    Default = 0,
2100    ///
2101    Horizon = 1,
2102}
2103impl GroupStyle {
2104    /// String value of the enum field names used in the ProtoBuf definition.
2105    ///
2106    /// The values are not transformed in any way and thus are considered stable
2107    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2108    pub fn as_str_name(&self) -> &'static str {
2109        match self {
2110            Self::Default => "GROUP_STYLE_DEFAULT",
2111            Self::Horizon => "GROUP_STYLE_HORIZON",
2112        }
2113    }
2114    /// Creates an enum from field names used in the ProtoBuf definition.
2115    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2116        match value {
2117            "GROUP_STYLE_DEFAULT" => Some(Self::Default),
2118            "GROUP_STYLE_HORIZON" => Some(Self::Horizon),
2119            _ => None,
2120        }
2121    }
2122}
2123///
2124#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2125#[repr(i32)]
2126pub enum GuideStyle {
2127    ///
2128    StyleUnknown = 0,
2129    ///
2130    HorizontalImage = 1,
2131    ///
2132    VerticalText = 2,
2133    ///
2134    SimpleText = 3,
2135    ///
2136    ChargingText = 4,
2137    ///
2138    UniversalIntercept = 5,
2139    ///
2140    MsgAttachQrCode = 6,
2141}
2142impl GuideStyle {
2143    /// String value of the enum field names used in the ProtoBuf definition.
2144    ///
2145    /// The values are not transformed in any way and thus are considered stable
2146    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2147    pub fn as_str_name(&self) -> &'static str {
2148        match self {
2149            Self::StyleUnknown => "STYLE_UNKNOWN",
2150            Self::HorizontalImage => "HORIZONTAL_IMAGE",
2151            Self::VerticalText => "VERTICAL_TEXT",
2152            Self::SimpleText => "SIMPLE_TEXT",
2153            Self::ChargingText => "CHARGING_TEXT",
2154            Self::UniversalIntercept => "UNIVERSAL_INTERCEPT",
2155            Self::MsgAttachQrCode => "MSG_ATTACH_QR_CODE",
2156        }
2157    }
2158    /// Creates an enum from field names used in the ProtoBuf definition.
2159    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2160        match value {
2161            "STYLE_UNKNOWN" => Some(Self::StyleUnknown),
2162            "HORIZONTAL_IMAGE" => Some(Self::HorizontalImage),
2163            "VERTICAL_TEXT" => Some(Self::VerticalText),
2164            "SIMPLE_TEXT" => Some(Self::SimpleText),
2165            "CHARGING_TEXT" => Some(Self::ChargingText),
2166            "UNIVERSAL_INTERCEPT" => Some(Self::UniversalIntercept),
2167            "MSG_ATTACH_QR_CODE" => Some(Self::MsgAttachQrCode),
2168            _ => None,
2169        }
2170    }
2171}
2172///
2173#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2174#[repr(i32)]
2175pub enum LimitActionType {
2176    ///
2177    LatUnknown = 0,
2178    ///
2179    ShowLimitDialog = 1,
2180    ///
2181    SkipCurrentEp = 2,
2182}
2183impl LimitActionType {
2184    /// String value of the enum field names used in the ProtoBuf definition.
2185    ///
2186    /// The values are not transformed in any way and thus are considered stable
2187    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2188    pub fn as_str_name(&self) -> &'static str {
2189        match self {
2190            Self::LatUnknown => "LAT_UNKNOWN",
2191            Self::ShowLimitDialog => "SHOW_LIMIT_DIALOG",
2192            Self::SkipCurrentEp => "SKIP_CURRENT_EP",
2193        }
2194    }
2195    /// Creates an enum from field names used in the ProtoBuf definition.
2196    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2197        match value {
2198            "LAT_UNKNOWN" => Some(Self::LatUnknown),
2199            "SHOW_LIMIT_DIALOG" => Some(Self::ShowLimitDialog),
2200            "SKIP_CURRENT_EP" => Some(Self::SkipCurrentEp),
2201            _ => None,
2202        }
2203    }
2204}
2205///
2206#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2207#[repr(i32)]
2208pub enum PlayCtrl {
2209    ///
2210    Default = 0,
2211    ///
2212    Simple = 1,
2213}
2214impl PlayCtrl {
2215    /// String value of the enum field names used in the ProtoBuf definition.
2216    ///
2217    /// The values are not transformed in any way and thus are considered stable
2218    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2219    pub fn as_str_name(&self) -> &'static str {
2220        match self {
2221            Self::Default => "PLAY_CTRL_DEFAULT",
2222            Self::Simple => "PLAY_CTRL_SIMPLE",
2223        }
2224    }
2225    /// Creates an enum from field names used in the ProtoBuf definition.
2226    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2227        match value {
2228            "PLAY_CTRL_DEFAULT" => Some(Self::Default),
2229            "PLAY_CTRL_SIMPLE" => Some(Self::Simple),
2230            _ => None,
2231        }
2232    }
2233}
2234///
2235#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2236#[repr(i32)]
2237pub enum PlayErr {
2238    ///
2239    NoErr = 0,
2240    ///
2241    WithMultiDeviceLoginErr = 1,
2242}
2243impl PlayErr {
2244    /// String value of the enum field names used in the ProtoBuf definition.
2245    ///
2246    /// The values are not transformed in any way and thus are considered stable
2247    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2248    pub fn as_str_name(&self) -> &'static str {
2249        match self {
2250            Self::NoErr => "NoErr",
2251            Self::WithMultiDeviceLoginErr => "WithMultiDeviceLoginErr",
2252        }
2253    }
2254    /// Creates an enum from field names used in the ProtoBuf definition.
2255    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2256        match value {
2257            "NoErr" => Some(Self::NoErr),
2258            "WithMultiDeviceLoginErr" => Some(Self::WithMultiDeviceLoginErr),
2259            _ => None,
2260        }
2261    }
2262}
2263///
2264#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2265#[repr(i32)]
2266pub enum PromptBarStyle {
2267    ///
2268    Unknown = 0,
2269    ///
2270    Text = 1,
2271    ///
2272    CuringBenefits = 2,
2273    ///
2274    CardOpeningGift = 3,
2275    ///
2276    Countdown = 4,
2277}
2278impl PromptBarStyle {
2279    /// String value of the enum field names used in the ProtoBuf definition.
2280    ///
2281    /// The values are not transformed in any way and thus are considered stable
2282    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2283    pub fn as_str_name(&self) -> &'static str {
2284        match self {
2285            Self::Unknown => "PROMPT_BAR_STYLE_UNKNOWN",
2286            Self::Text => "TEXT",
2287            Self::CuringBenefits => "CURING_BENEFITS",
2288            Self::CardOpeningGift => "CARD_OPENING_GIFT",
2289            Self::Countdown => "COUNTDOWN",
2290        }
2291    }
2292    /// Creates an enum from field names used in the ProtoBuf definition.
2293    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2294        match value {
2295            "PROMPT_BAR_STYLE_UNKNOWN" => Some(Self::Unknown),
2296            "TEXT" => Some(Self::Text),
2297            "CURING_BENEFITS" => Some(Self::CuringBenefits),
2298            "CARD_OPENING_GIFT" => Some(Self::CardOpeningGift),
2299            "COUNTDOWN" => Some(Self::Countdown),
2300            _ => None,
2301        }
2302    }
2303}
2304///
2305#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2306#[repr(i32)]
2307pub enum PromptBarType {
2308    ///
2309    Unknown = 0,
2310    ///
2311    OpenPromptBar = 1,
2312    ///
2313    TryPromptBar = 2,
2314}
2315impl PromptBarType {
2316    /// String value of the enum field names used in the ProtoBuf definition.
2317    ///
2318    /// The values are not transformed in any way and thus are considered stable
2319    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2320    pub fn as_str_name(&self) -> &'static str {
2321        match self {
2322            Self::Unknown => "PROMPT_BAR_TYPE_UNKNOWN",
2323            Self::OpenPromptBar => "OPEN_PROMPT_BAR",
2324            Self::TryPromptBar => "TRY_PROMPT_BAR",
2325        }
2326    }
2327    /// Creates an enum from field names used in the ProtoBuf definition.
2328    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2329        match value {
2330            "PROMPT_BAR_TYPE_UNKNOWN" => Some(Self::Unknown),
2331            "OPEN_PROMPT_BAR" => Some(Self::OpenPromptBar),
2332            "TRY_PROMPT_BAR" => Some(Self::TryPromptBar),
2333            _ => None,
2334        }
2335    }
2336}
2337///
2338#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2339#[repr(i32)]
2340pub enum QnPolicy {
2341    ///
2342    Default = 0,
2343    ///
2344    AutoQnEnable = 1,
2345}
2346impl QnPolicy {
2347    /// String value of the enum field names used in the ProtoBuf definition.
2348    ///
2349    /// The values are not transformed in any way and thus are considered stable
2350    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2351    pub fn as_str_name(&self) -> &'static str {
2352        match self {
2353            Self::Default => "QN_POLICY_DEFAULT",
2354            Self::AutoQnEnable => "QN_POLICY_AUTO_QN_ENABLE",
2355        }
2356    }
2357    /// Creates an enum from field names used in the ProtoBuf definition.
2358    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2359        match value {
2360            "QN_POLICY_DEFAULT" => Some(Self::Default),
2361            "QN_POLICY_AUTO_QN_ENABLE" => Some(Self::AutoQnEnable),
2362            _ => None,
2363        }
2364    }
2365}
2366///
2367#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2368#[repr(i32)]
2369pub enum SettingItemStyle {
2370    ///
2371    SettingStyleNone = 0,
2372    ///
2373    SettingStyleSwitch = 1,
2374    ///
2375    SettingStyleMore = 2,
2376    ///
2377    SettingStyleSelect = 3,
2378    ///
2379    SettingStyleVertical = 4,
2380}
2381impl SettingItemStyle {
2382    /// String value of the enum field names used in the ProtoBuf definition.
2383    ///
2384    /// The values are not transformed in any way and thus are considered stable
2385    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2386    pub fn as_str_name(&self) -> &'static str {
2387        match self {
2388            Self::SettingStyleNone => "SETTING_STYLE_NONE",
2389            Self::SettingStyleSwitch => "SETTING_STYLE_SWITCH",
2390            Self::SettingStyleMore => "SETTING_STYLE_MORE",
2391            Self::SettingStyleSelect => "SETTING_STYLE_SELECT",
2392            Self::SettingStyleVertical => "SETTING_STYLE_VERTICAL",
2393        }
2394    }
2395    /// Creates an enum from field names used in the ProtoBuf definition.
2396    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2397        match value {
2398            "SETTING_STYLE_NONE" => Some(Self::SettingStyleNone),
2399            "SETTING_STYLE_SWITCH" => Some(Self::SettingStyleSwitch),
2400            "SETTING_STYLE_MORE" => Some(Self::SettingStyleMore),
2401            "SETTING_STYLE_SELECT" => Some(Self::SettingStyleSelect),
2402            "SETTING_STYLE_VERTICAL" => Some(Self::SettingStyleVertical),
2403            _ => None,
2404        }
2405    }
2406}
2407///
2408#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2409#[repr(i32)]
2410pub enum SettingItemType {
2411    ///
2412    SettingNone = 0,
2413    ///
2414    SettingPlaybackRate = 1,
2415    ///
2416    SettingWatchLater = 2,
2417    ///
2418    SettingDowNlOad = 3,
2419    ///
2420    SettingSmallWindow = 4,
2421    ///
2422    SettingFreyaenter = 5,
2423    ///
2424    SettingPlaybackMode = 6,
2425    ///
2426    SettingLoopPlayback = 7,
2427    ///
2428    SettingTimingSwitch = 8,
2429    ///
2430    SettingBackgroundPlay = 9,
2431    ///
2432    SettingSubtitle = 10,
2433    ///
2434    SettingSubtitleExchange = 11,
2435    ///
2436    SettingFlipConf = 12,
2437    ///
2438    SettingMorePlay = 13,
2439    ///
2440    SettingShake = 14,
2441    ///
2442    SettingSkipOped = 15,
2443    ///
2444    SettingNote = 16,
2445    ///
2446    SettingReport = 17,
2447    ///
2448    SettingFeedback = 18,
2449    ///
2450    SettingFreeGift = 19,
2451    ///
2452    SettingDub = 20,
2453    ///
2454    SettingListen = 21,
2455    ///
2456    SettingProject = 22,
2457    ///
2458    SettingPicSize = 23,
2459    ///
2460    SettingPanorama = 24,
2461    ///
2462    SettingVisionAssist = 25,
2463    ///
2464    SettingEdit = 26,
2465    ///
2466    SettingDislike = 27,
2467    ///
2468    SettingBihuo = 28,
2469    ///
2470    SettingGesture = 29,
2471    ///
2472    SettingDm = 30,
2473    ///
2474    SettingDefinition = 31,
2475    ///
2476    SettingSuggest = 32,
2477    ///
2478    SettingAutomaticScroll = 33,
2479    ///
2480    SettingBacktracking = 34,
2481}
2482impl SettingItemType {
2483    /// String value of the enum field names used in the ProtoBuf definition.
2484    ///
2485    /// The values are not transformed in any way and thus are considered stable
2486    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2487    pub fn as_str_name(&self) -> &'static str {
2488        match self {
2489            Self::SettingNone => "SETTING_NONE",
2490            Self::SettingPlaybackRate => "SETTING_PLAYBACK_RATE",
2491            Self::SettingWatchLater => "SETTING_WATCH_LATER",
2492            Self::SettingDowNlOad => "SETTING_DOWNlOAD",
2493            Self::SettingSmallWindow => "SETTING_SMALL_WINDOW",
2494            Self::SettingFreyaenter => "SETTING_FREYAENTER",
2495            Self::SettingPlaybackMode => "SETTING_PLAYBACK_MODE",
2496            Self::SettingLoopPlayback => "SETTING_LOOP_PLAYBACK",
2497            Self::SettingTimingSwitch => "SETTING_TIMING_SWITCH",
2498            Self::SettingBackgroundPlay => "SETTING_BACKGROUND_PLAY",
2499            Self::SettingSubtitle => "SETTING_SUBTITLE",
2500            Self::SettingSubtitleExchange => "SETTING_SUBTITLE_EXCHANGE",
2501            Self::SettingFlipConf => "SETTING_FLIP_CONF",
2502            Self::SettingMorePlay => "SETTING_MORE_PLAY",
2503            Self::SettingShake => "SETTING_SHAKE",
2504            Self::SettingSkipOped => "SETTING_SKIP_OPED",
2505            Self::SettingNote => "SETTING_NOTE",
2506            Self::SettingReport => "SETTING_REPORT",
2507            Self::SettingFeedback => "SETTING_FEEDBACK",
2508            Self::SettingFreeGift => "SETTING_FREE_GIFT",
2509            Self::SettingDub => "SETTING_DUB",
2510            Self::SettingListen => "SETTING_LISTEN",
2511            Self::SettingProject => "SETTING_PROJECT",
2512            Self::SettingPicSize => "SETTING_PIC_SIZE",
2513            Self::SettingPanorama => "SETTING_PANORAMA",
2514            Self::SettingVisionAssist => "SETTING_VISION_ASSIST",
2515            Self::SettingEdit => "SETTING_EDIT",
2516            Self::SettingDislike => "SETTING_DISLIKE",
2517            Self::SettingBihuo => "SETTING_BIHUO",
2518            Self::SettingGesture => "SETTING_GESTURE",
2519            Self::SettingDm => "SETTING_DM",
2520            Self::SettingDefinition => "SETTING_DEFINITION",
2521            Self::SettingSuggest => "SETTING_SUGGEST",
2522            Self::SettingAutomaticScroll => "SETTING_AUTOMATIC_SCROLL",
2523            Self::SettingBacktracking => "SETTING_BACKTRACKING",
2524        }
2525    }
2526    /// Creates an enum from field names used in the ProtoBuf definition.
2527    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2528        match value {
2529            "SETTING_NONE" => Some(Self::SettingNone),
2530            "SETTING_PLAYBACK_RATE" => Some(Self::SettingPlaybackRate),
2531            "SETTING_WATCH_LATER" => Some(Self::SettingWatchLater),
2532            "SETTING_DOWNlOAD" => Some(Self::SettingDowNlOad),
2533            "SETTING_SMALL_WINDOW" => Some(Self::SettingSmallWindow),
2534            "SETTING_FREYAENTER" => Some(Self::SettingFreyaenter),
2535            "SETTING_PLAYBACK_MODE" => Some(Self::SettingPlaybackMode),
2536            "SETTING_LOOP_PLAYBACK" => Some(Self::SettingLoopPlayback),
2537            "SETTING_TIMING_SWITCH" => Some(Self::SettingTimingSwitch),
2538            "SETTING_BACKGROUND_PLAY" => Some(Self::SettingBackgroundPlay),
2539            "SETTING_SUBTITLE" => Some(Self::SettingSubtitle),
2540            "SETTING_SUBTITLE_EXCHANGE" => Some(Self::SettingSubtitleExchange),
2541            "SETTING_FLIP_CONF" => Some(Self::SettingFlipConf),
2542            "SETTING_MORE_PLAY" => Some(Self::SettingMorePlay),
2543            "SETTING_SHAKE" => Some(Self::SettingShake),
2544            "SETTING_SKIP_OPED" => Some(Self::SettingSkipOped),
2545            "SETTING_NOTE" => Some(Self::SettingNote),
2546            "SETTING_REPORT" => Some(Self::SettingReport),
2547            "SETTING_FEEDBACK" => Some(Self::SettingFeedback),
2548            "SETTING_FREE_GIFT" => Some(Self::SettingFreeGift),
2549            "SETTING_DUB" => Some(Self::SettingDub),
2550            "SETTING_LISTEN" => Some(Self::SettingListen),
2551            "SETTING_PROJECT" => Some(Self::SettingProject),
2552            "SETTING_PIC_SIZE" => Some(Self::SettingPicSize),
2553            "SETTING_PANORAMA" => Some(Self::SettingPanorama),
2554            "SETTING_VISION_ASSIST" => Some(Self::SettingVisionAssist),
2555            "SETTING_EDIT" => Some(Self::SettingEdit),
2556            "SETTING_DISLIKE" => Some(Self::SettingDislike),
2557            "SETTING_BIHUO" => Some(Self::SettingBihuo),
2558            "SETTING_GESTURE" => Some(Self::SettingGesture),
2559            "SETTING_DM" => Some(Self::SettingDm),
2560            "SETTING_DEFINITION" => Some(Self::SettingDefinition),
2561            "SETTING_SUGGEST" => Some(Self::SettingSuggest),
2562            "SETTING_AUTOMATIC_SCROLL" => Some(Self::SettingAutomaticScroll),
2563            "SETTING_BACKTRACKING" => Some(Self::SettingBacktracking),
2564            _ => None,
2565        }
2566    }
2567}
2568///
2569#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2570#[repr(i32)]
2571pub enum SettingJumpType {
2572    ///
2573    None = 0,
2574    ///
2575    OpenUrl = 1,
2576    ///
2577    HalfScreen = 2,
2578    ///
2579    OpenUrlByOuterBrowser = 3,
2580}
2581impl SettingJumpType {
2582    /// String value of the enum field names used in the ProtoBuf definition.
2583    ///
2584    /// The values are not transformed in any way and thus are considered stable
2585    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2586    pub fn as_str_name(&self) -> &'static str {
2587        match self {
2588            Self::None => "SETTING_JUMP_TYPE_NONE",
2589            Self::OpenUrl => "SETTING_JUMP_TYPE_OPEN_URL",
2590            Self::HalfScreen => "SETTING_JUMP_TYPE_HALF_SCREEN",
2591            Self::OpenUrlByOuterBrowser => "SETTING_JUMP_TYPE_OPEN_URL_BY_OUTER_BROWSER",
2592        }
2593    }
2594    /// Creates an enum from field names used in the ProtoBuf definition.
2595    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2596        match value {
2597            "SETTING_JUMP_TYPE_NONE" => Some(Self::None),
2598            "SETTING_JUMP_TYPE_OPEN_URL" => Some(Self::OpenUrl),
2599            "SETTING_JUMP_TYPE_HALF_SCREEN" => Some(Self::HalfScreen),
2600            "SETTING_JUMP_TYPE_OPEN_URL_BY_OUTER_BROWSER" => {
2601                Some(Self::OpenUrlByOuterBrowser)
2602            }
2603            _ => None,
2604        }
2605    }
2606}
2607///
2608#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2609#[repr(i32)]
2610pub enum ShowStyleType {
2611    ///
2612    Unknown = 0,
2613    ///
2614    Ordinary = 1,
2615    ///
2616    Resident = 2,
2617}
2618impl ShowStyleType {
2619    /// String value of the enum field names used in the ProtoBuf definition.
2620    ///
2621    /// The values are not transformed in any way and thus are considered stable
2622    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2623    pub fn as_str_name(&self) -> &'static str {
2624        match self {
2625            Self::Unknown => "SHOW_STYLE_TYPE_UNKNOWN",
2626            Self::Ordinary => "SHOW_STYLE_TYPE_ORDINARY",
2627            Self::Resident => "SHOW_STYLE_TYPE_RESIDENT",
2628        }
2629    }
2630    /// Creates an enum from field names used in the ProtoBuf definition.
2631    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2632        match value {
2633            "SHOW_STYLE_TYPE_UNKNOWN" => Some(Self::Unknown),
2634            "SHOW_STYLE_TYPE_ORDINARY" => Some(Self::Ordinary),
2635            "SHOW_STYLE_TYPE_RESIDENT" => Some(Self::Resident),
2636            _ => None,
2637        }
2638    }
2639}
2640///
2641#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2642#[repr(i32)]
2643pub enum ToastType {
2644    ///
2645    Unknown = 0,
2646    ///
2647    VipContentRemind = 1,
2648    ///
2649    VipDefinitionRemind = 2,
2650    ///
2651    VipDefinitionGuide = 3,
2652    ///
2653    OgvVideoStartToast = 4,
2654    ///
2655    ChargingToast = 5,
2656    ///
2657    VipSkipFragmentToast = 6,
2658    ///
2659    VipAiFixDefinitionRemind = 7,
2660    ///
2661    NewUserDefinitionRemind = 8,
2662    ///
2663    VipRiskToast = 9,
2664}
2665impl ToastType {
2666    /// String value of the enum field names used in the ProtoBuf definition.
2667    ///
2668    /// The values are not transformed in any way and thus are considered stable
2669    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2670    pub fn as_str_name(&self) -> &'static str {
2671        match self {
2672            Self::Unknown => "TOAST_TYPE_UNKNOWN",
2673            Self::VipContentRemind => "VIP_CONTENT_REMIND",
2674            Self::VipDefinitionRemind => "VIP_DEFINITION_REMIND",
2675            Self::VipDefinitionGuide => "VIP_DEFINITION_GUIDE",
2676            Self::OgvVideoStartToast => "OGV_VIDEO_START_TOAST",
2677            Self::ChargingToast => "CHARGING_TOAST",
2678            Self::VipSkipFragmentToast => "VIP_SKIP_FRAGMENT_TOAST",
2679            Self::VipAiFixDefinitionRemind => "VIP_AI_FIX_DEFINITION_REMIND",
2680            Self::NewUserDefinitionRemind => "NEW_USER_DEFINITION_REMIND",
2681            Self::VipRiskToast => "VIP_RISK_TOAST",
2682        }
2683    }
2684    /// Creates an enum from field names used in the ProtoBuf definition.
2685    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2686        match value {
2687            "TOAST_TYPE_UNKNOWN" => Some(Self::Unknown),
2688            "VIP_CONTENT_REMIND" => Some(Self::VipContentRemind),
2689            "VIP_DEFINITION_REMIND" => Some(Self::VipDefinitionRemind),
2690            "VIP_DEFINITION_GUIDE" => Some(Self::VipDefinitionGuide),
2691            "OGV_VIDEO_START_TOAST" => Some(Self::OgvVideoStartToast),
2692            "CHARGING_TOAST" => Some(Self::ChargingToast),
2693            "VIP_SKIP_FRAGMENT_TOAST" => Some(Self::VipSkipFragmentToast),
2694            "VIP_AI_FIX_DEFINITION_REMIND" => Some(Self::VipAiFixDefinitionRemind),
2695            "NEW_USER_DEFINITION_REMIND" => Some(Self::NewUserDefinitionRemind),
2696            "VIP_RISK_TOAST" => Some(Self::VipRiskToast),
2697            _ => None,
2698        }
2699    }
2700}
2701///
2702#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2703#[repr(i32)]
2704pub enum UnsupportScene {
2705    ///
2706    UnknownScene = 0,
2707    ///
2708    Premiere = 1,
2709}
2710impl UnsupportScene {
2711    /// String value of the enum field names used in the ProtoBuf definition.
2712    ///
2713    /// The values are not transformed in any way and thus are considered stable
2714    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2715    pub fn as_str_name(&self) -> &'static str {
2716        match self {
2717            Self::UnknownScene => "UNKNOWN_SCENE",
2718            Self::Premiere => "PREMIERE",
2719        }
2720    }
2721    /// Creates an enum from field names used in the ProtoBuf definition.
2722    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2723        match value {
2724            "UNKNOWN_SCENE" => Some(Self::UnknownScene),
2725            "PREMIERE" => Some(Self::Premiere),
2726            _ => None,
2727        }
2728    }
2729}