steam-vent-proto 0.1.0

Protobuf structs used by the Steam client protocol
Documentation
// This file is generated by rust-protobuf 2.24.1. Do not edit
// @generated

// https://github.com/rust-lang/rust-clippy/issues/702
#![allow(unknown_lints)]
#![allow(clippy::all)]

#![allow(unused_attributes)]
#![cfg_attr(rustfmt, rustfmt::skip)]

#![allow(box_pointers)]
#![allow(dead_code)]
#![allow(missing_docs)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(trivial_casts)]
#![allow(unused_imports)]
#![allow(unused_results)]
//! Generated file from `steammessages_cloud.steamclient.proto`

/// Generated files are compatible only with the same version
/// of protobuf runtime.
// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_24_1;

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_GetUploadServerInfo_Request {
    // message fields
    appid: ::std::option::Option<u32>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_GetUploadServerInfo_Request {
    fn default() -> &'a CCloud_GetUploadServerInfo_Request {
        <CCloud_GetUploadServerInfo_Request as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_GetUploadServerInfo_Request {
    pub fn new() -> CCloud_GetUploadServerInfo_Request {
        ::std::default::Default::default()
    }

    // optional uint32 appid = 1;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CCloud_GetUploadServerInfo_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.appid {
            os.write_uint32(1, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_GetUploadServerInfo_Request {
        CCloud_GetUploadServerInfo_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CCloud_GetUploadServerInfo_Request| { &m.appid },
                |m: &mut CCloud_GetUploadServerInfo_Request| { &mut m.appid },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_GetUploadServerInfo_Request>(
                "CCloud_GetUploadServerInfo_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_GetUploadServerInfo_Request {
        static instance: ::protobuf::rt::LazyV2<CCloud_GetUploadServerInfo_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_GetUploadServerInfo_Request::new)
    }
}

impl ::protobuf::Clear for CCloud_GetUploadServerInfo_Request {
    fn clear(&mut self) {
        self.appid = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_GetUploadServerInfo_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_GetUploadServerInfo_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_GetUploadServerInfo_Response {
    // message fields
    server_url: ::protobuf::SingularField<::std::string::String>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_GetUploadServerInfo_Response {
    fn default() -> &'a CCloud_GetUploadServerInfo_Response {
        <CCloud_GetUploadServerInfo_Response as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_GetUploadServerInfo_Response {
    pub fn new() -> CCloud_GetUploadServerInfo_Response {
        ::std::default::Default::default()
    }

    // optional string server_url = 1;


    pub fn get_server_url(&self) -> &str {
        match self.server_url.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_server_url(&mut self) {
        self.server_url.clear();
    }

    pub fn has_server_url(&self) -> bool {
        self.server_url.is_some()
    }

    // Param is passed by value, moved
    pub fn set_server_url(&mut self, v: ::std::string::String) {
        self.server_url = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_server_url(&mut self) -> &mut ::std::string::String {
        if self.server_url.is_none() {
            self.server_url.set_default();
        }
        self.server_url.as_mut().unwrap()
    }

    // Take field
    pub fn take_server_url(&mut self) -> ::std::string::String {
        self.server_url.take().unwrap_or_else(|| ::std::string::String::new())
    }
}

impl ::protobuf::Message for CCloud_GetUploadServerInfo_Response {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.server_url)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(ref v) = self.server_url.as_ref() {
            my_size += ::protobuf::rt::string_size(1, &v);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(ref v) = self.server_url.as_ref() {
            os.write_string(1, &v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_GetUploadServerInfo_Response {
        CCloud_GetUploadServerInfo_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "server_url",
                |m: &CCloud_GetUploadServerInfo_Response| { &m.server_url },
                |m: &mut CCloud_GetUploadServerInfo_Response| { &mut m.server_url },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_GetUploadServerInfo_Response>(
                "CCloud_GetUploadServerInfo_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_GetUploadServerInfo_Response {
        static instance: ::protobuf::rt::LazyV2<CCloud_GetUploadServerInfo_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_GetUploadServerInfo_Response::new)
    }
}

impl ::protobuf::Clear for CCloud_GetUploadServerInfo_Response {
    fn clear(&mut self) {
        self.server_url.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_GetUploadServerInfo_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_GetUploadServerInfo_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_BeginHTTPUpload_Request {
    // message fields
    appid: ::std::option::Option<u32>,
    file_size: ::std::option::Option<u32>,
    filename: ::protobuf::SingularField<::std::string::String>,
    file_sha: ::protobuf::SingularField<::std::string::String>,
    is_public: ::std::option::Option<bool>,
    pub platforms_to_sync: ::protobuf::RepeatedField<::std::string::String>,
    pub request_headers_names: ::protobuf::RepeatedField<::std::string::String>,
    pub request_headers_values: ::protobuf::RepeatedField<::std::string::String>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_BeginHTTPUpload_Request {
    fn default() -> &'a CCloud_BeginHTTPUpload_Request {
        <CCloud_BeginHTTPUpload_Request as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_BeginHTTPUpload_Request {
    pub fn new() -> CCloud_BeginHTTPUpload_Request {
        ::std::default::Default::default()
    }

    // optional uint32 appid = 1;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // optional uint32 file_size = 2;


    pub fn get_file_size(&self) -> u32 {
        self.file_size.unwrap_or(0)
    }
    pub fn clear_file_size(&mut self) {
        self.file_size = ::std::option::Option::None;
    }

    pub fn has_file_size(&self) -> bool {
        self.file_size.is_some()
    }

    // Param is passed by value, moved
    pub fn set_file_size(&mut self, v: u32) {
        self.file_size = ::std::option::Option::Some(v);
    }

    // optional string filename = 3;


    pub fn get_filename(&self) -> &str {
        match self.filename.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_filename(&mut self) {
        self.filename.clear();
    }

    pub fn has_filename(&self) -> bool {
        self.filename.is_some()
    }

    // Param is passed by value, moved
    pub fn set_filename(&mut self, v: ::std::string::String) {
        self.filename = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_filename(&mut self) -> &mut ::std::string::String {
        if self.filename.is_none() {
            self.filename.set_default();
        }
        self.filename.as_mut().unwrap()
    }

    // Take field
    pub fn take_filename(&mut self) -> ::std::string::String {
        self.filename.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional string file_sha = 4;


    pub fn get_file_sha(&self) -> &str {
        match self.file_sha.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_file_sha(&mut self) {
        self.file_sha.clear();
    }

    pub fn has_file_sha(&self) -> bool {
        self.file_sha.is_some()
    }

    // Param is passed by value, moved
    pub fn set_file_sha(&mut self, v: ::std::string::String) {
        self.file_sha = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_file_sha(&mut self) -> &mut ::std::string::String {
        if self.file_sha.is_none() {
            self.file_sha.set_default();
        }
        self.file_sha.as_mut().unwrap()
    }

    // Take field
    pub fn take_file_sha(&mut self) -> ::std::string::String {
        self.file_sha.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional bool is_public = 5;


    pub fn get_is_public(&self) -> bool {
        self.is_public.unwrap_or(false)
    }
    pub fn clear_is_public(&mut self) {
        self.is_public = ::std::option::Option::None;
    }

    pub fn has_is_public(&self) -> bool {
        self.is_public.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_public(&mut self, v: bool) {
        self.is_public = ::std::option::Option::Some(v);
    }

    // repeated string platforms_to_sync = 6;


    pub fn get_platforms_to_sync(&self) -> &[::std::string::String] {
        &self.platforms_to_sync
    }
    pub fn clear_platforms_to_sync(&mut self) {
        self.platforms_to_sync.clear();
    }

    // Param is passed by value, moved
    pub fn set_platforms_to_sync(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
        self.platforms_to_sync = v;
    }

    // Mutable pointer to the field.
    pub fn mut_platforms_to_sync(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
        &mut self.platforms_to_sync
    }

    // Take field
    pub fn take_platforms_to_sync(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
        ::std::mem::replace(&mut self.platforms_to_sync, ::protobuf::RepeatedField::new())
    }

    // repeated string request_headers_names = 7;


    pub fn get_request_headers_names(&self) -> &[::std::string::String] {
        &self.request_headers_names
    }
    pub fn clear_request_headers_names(&mut self) {
        self.request_headers_names.clear();
    }

    // Param is passed by value, moved
    pub fn set_request_headers_names(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
        self.request_headers_names = v;
    }

    // Mutable pointer to the field.
    pub fn mut_request_headers_names(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
        &mut self.request_headers_names
    }

    // Take field
    pub fn take_request_headers_names(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
        ::std::mem::replace(&mut self.request_headers_names, ::protobuf::RepeatedField::new())
    }

    // repeated string request_headers_values = 8;


    pub fn get_request_headers_values(&self) -> &[::std::string::String] {
        &self.request_headers_values
    }
    pub fn clear_request_headers_values(&mut self) {
        self.request_headers_values.clear();
    }

    // Param is passed by value, moved
    pub fn set_request_headers_values(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
        self.request_headers_values = v;
    }

    // Mutable pointer to the field.
    pub fn mut_request_headers_values(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
        &mut self.request_headers_values
    }

    // Take field
    pub fn take_request_headers_values(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
        ::std::mem::replace(&mut self.request_headers_values, ::protobuf::RepeatedField::new())
    }
}

impl ::protobuf::Message for CCloud_BeginHTTPUpload_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.file_size = ::std::option::Option::Some(tmp);
                },
                3 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.filename)?;
                },
                4 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.file_sha)?;
                },
                5 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.is_public = ::std::option::Option::Some(tmp);
                },
                6 => {
                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.platforms_to_sync)?;
                },
                7 => {
                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.request_headers_names)?;
                },
                8 => {
                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.request_headers_values)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.file_size {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(ref v) = self.filename.as_ref() {
            my_size += ::protobuf::rt::string_size(3, &v);
        }
        if let Some(ref v) = self.file_sha.as_ref() {
            my_size += ::protobuf::rt::string_size(4, &v);
        }
        if let Some(v) = self.is_public {
            my_size += 2;
        }
        for value in &self.platforms_to_sync {
            my_size += ::protobuf::rt::string_size(6, &value);
        };
        for value in &self.request_headers_names {
            my_size += ::protobuf::rt::string_size(7, &value);
        };
        for value in &self.request_headers_values {
            my_size += ::protobuf::rt::string_size(8, &value);
        };
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.appid {
            os.write_uint32(1, v)?;
        }
        if let Some(v) = self.file_size {
            os.write_uint32(2, v)?;
        }
        if let Some(ref v) = self.filename.as_ref() {
            os.write_string(3, &v)?;
        }
        if let Some(ref v) = self.file_sha.as_ref() {
            os.write_string(4, &v)?;
        }
        if let Some(v) = self.is_public {
            os.write_bool(5, v)?;
        }
        for v in &self.platforms_to_sync {
            os.write_string(6, &v)?;
        };
        for v in &self.request_headers_names {
            os.write_string(7, &v)?;
        };
        for v in &self.request_headers_values {
            os.write_string(8, &v)?;
        };
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_BeginHTTPUpload_Request {
        CCloud_BeginHTTPUpload_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CCloud_BeginHTTPUpload_Request| { &m.appid },
                |m: &mut CCloud_BeginHTTPUpload_Request| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "file_size",
                |m: &CCloud_BeginHTTPUpload_Request| { &m.file_size },
                |m: &mut CCloud_BeginHTTPUpload_Request| { &mut m.file_size },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "filename",
                |m: &CCloud_BeginHTTPUpload_Request| { &m.filename },
                |m: &mut CCloud_BeginHTTPUpload_Request| { &mut m.filename },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "file_sha",
                |m: &CCloud_BeginHTTPUpload_Request| { &m.file_sha },
                |m: &mut CCloud_BeginHTTPUpload_Request| { &mut m.file_sha },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "is_public",
                |m: &CCloud_BeginHTTPUpload_Request| { &m.is_public },
                |m: &mut CCloud_BeginHTTPUpload_Request| { &mut m.is_public },
            ));
            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "platforms_to_sync",
                |m: &CCloud_BeginHTTPUpload_Request| { &m.platforms_to_sync },
                |m: &mut CCloud_BeginHTTPUpload_Request| { &mut m.platforms_to_sync },
            ));
            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "request_headers_names",
                |m: &CCloud_BeginHTTPUpload_Request| { &m.request_headers_names },
                |m: &mut CCloud_BeginHTTPUpload_Request| { &mut m.request_headers_names },
            ));
            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "request_headers_values",
                |m: &CCloud_BeginHTTPUpload_Request| { &m.request_headers_values },
                |m: &mut CCloud_BeginHTTPUpload_Request| { &mut m.request_headers_values },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_BeginHTTPUpload_Request>(
                "CCloud_BeginHTTPUpload_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_BeginHTTPUpload_Request {
        static instance: ::protobuf::rt::LazyV2<CCloud_BeginHTTPUpload_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_BeginHTTPUpload_Request::new)
    }
}

impl ::protobuf::Clear for CCloud_BeginHTTPUpload_Request {
    fn clear(&mut self) {
        self.appid = ::std::option::Option::None;
        self.file_size = ::std::option::Option::None;
        self.filename.clear();
        self.file_sha.clear();
        self.is_public = ::std::option::Option::None;
        self.platforms_to_sync.clear();
        self.request_headers_names.clear();
        self.request_headers_values.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_BeginHTTPUpload_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_BeginHTTPUpload_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_BeginHTTPUpload_Response {
    // message fields
    ugcid: ::std::option::Option<u64>,
    timestamp: ::std::option::Option<u32>,
    url_host: ::protobuf::SingularField<::std::string::String>,
    url_path: ::protobuf::SingularField<::std::string::String>,
    use_https: ::std::option::Option<bool>,
    pub request_headers: ::protobuf::RepeatedField<CCloud_BeginHTTPUpload_Response_HTTPHeaders>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_BeginHTTPUpload_Response {
    fn default() -> &'a CCloud_BeginHTTPUpload_Response {
        <CCloud_BeginHTTPUpload_Response as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_BeginHTTPUpload_Response {
    pub fn new() -> CCloud_BeginHTTPUpload_Response {
        ::std::default::Default::default()
    }

    // optional fixed64 ugcid = 1;


    pub fn get_ugcid(&self) -> u64 {
        self.ugcid.unwrap_or(0)
    }
    pub fn clear_ugcid(&mut self) {
        self.ugcid = ::std::option::Option::None;
    }

    pub fn has_ugcid(&self) -> bool {
        self.ugcid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_ugcid(&mut self, v: u64) {
        self.ugcid = ::std::option::Option::Some(v);
    }

    // optional fixed32 timestamp = 2;


    pub fn get_timestamp(&self) -> u32 {
        self.timestamp.unwrap_or(0)
    }
    pub fn clear_timestamp(&mut self) {
        self.timestamp = ::std::option::Option::None;
    }

    pub fn has_timestamp(&self) -> bool {
        self.timestamp.is_some()
    }

    // Param is passed by value, moved
    pub fn set_timestamp(&mut self, v: u32) {
        self.timestamp = ::std::option::Option::Some(v);
    }

    // optional string url_host = 3;


    pub fn get_url_host(&self) -> &str {
        match self.url_host.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_url_host(&mut self) {
        self.url_host.clear();
    }

    pub fn has_url_host(&self) -> bool {
        self.url_host.is_some()
    }

    // Param is passed by value, moved
    pub fn set_url_host(&mut self, v: ::std::string::String) {
        self.url_host = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_url_host(&mut self) -> &mut ::std::string::String {
        if self.url_host.is_none() {
            self.url_host.set_default();
        }
        self.url_host.as_mut().unwrap()
    }

    // Take field
    pub fn take_url_host(&mut self) -> ::std::string::String {
        self.url_host.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional string url_path = 4;


    pub fn get_url_path(&self) -> &str {
        match self.url_path.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_url_path(&mut self) {
        self.url_path.clear();
    }

    pub fn has_url_path(&self) -> bool {
        self.url_path.is_some()
    }

    // Param is passed by value, moved
    pub fn set_url_path(&mut self, v: ::std::string::String) {
        self.url_path = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_url_path(&mut self) -> &mut ::std::string::String {
        if self.url_path.is_none() {
            self.url_path.set_default();
        }
        self.url_path.as_mut().unwrap()
    }

    // Take field
    pub fn take_url_path(&mut self) -> ::std::string::String {
        self.url_path.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional bool use_https = 5;


    pub fn get_use_https(&self) -> bool {
        self.use_https.unwrap_or(false)
    }
    pub fn clear_use_https(&mut self) {
        self.use_https = ::std::option::Option::None;
    }

    pub fn has_use_https(&self) -> bool {
        self.use_https.is_some()
    }

    // Param is passed by value, moved
    pub fn set_use_https(&mut self, v: bool) {
        self.use_https = ::std::option::Option::Some(v);
    }

    // repeated .CCloud_BeginHTTPUpload_Response.HTTPHeaders request_headers = 6;


    pub fn get_request_headers(&self) -> &[CCloud_BeginHTTPUpload_Response_HTTPHeaders] {
        &self.request_headers
    }
    pub fn clear_request_headers(&mut self) {
        self.request_headers.clear();
    }

    // Param is passed by value, moved
    pub fn set_request_headers(&mut self, v: ::protobuf::RepeatedField<CCloud_BeginHTTPUpload_Response_HTTPHeaders>) {
        self.request_headers = v;
    }

    // Mutable pointer to the field.
    pub fn mut_request_headers(&mut self) -> &mut ::protobuf::RepeatedField<CCloud_BeginHTTPUpload_Response_HTTPHeaders> {
        &mut self.request_headers
    }

    // Take field
    pub fn take_request_headers(&mut self) -> ::protobuf::RepeatedField<CCloud_BeginHTTPUpload_Response_HTTPHeaders> {
        ::std::mem::replace(&mut self.request_headers, ::protobuf::RepeatedField::new())
    }
}

impl ::protobuf::Message for CCloud_BeginHTTPUpload_Response {
    fn is_initialized(&self) -> bool {
        for v in &self.request_headers {
            if !v.is_initialized() {
                return false;
            }
        };
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_fixed64()?;
                    self.ugcid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_fixed32()?;
                    self.timestamp = ::std::option::Option::Some(tmp);
                },
                3 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.url_host)?;
                },
                4 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.url_path)?;
                },
                5 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.use_https = ::std::option::Option::Some(tmp);
                },
                6 => {
                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.request_headers)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.ugcid {
            my_size += 9;
        }
        if let Some(v) = self.timestamp {
            my_size += 5;
        }
        if let Some(ref v) = self.url_host.as_ref() {
            my_size += ::protobuf::rt::string_size(3, &v);
        }
        if let Some(ref v) = self.url_path.as_ref() {
            my_size += ::protobuf::rt::string_size(4, &v);
        }
        if let Some(v) = self.use_https {
            my_size += 2;
        }
        for value in &self.request_headers {
            let len = value.compute_size();
            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
        };
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.ugcid {
            os.write_fixed64(1, v)?;
        }
        if let Some(v) = self.timestamp {
            os.write_fixed32(2, v)?;
        }
        if let Some(ref v) = self.url_host.as_ref() {
            os.write_string(3, &v)?;
        }
        if let Some(ref v) = self.url_path.as_ref() {
            os.write_string(4, &v)?;
        }
        if let Some(v) = self.use_https {
            os.write_bool(5, v)?;
        }
        for v in &self.request_headers {
            os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
            os.write_raw_varint32(v.get_cached_size())?;
            v.write_to_with_cached_sizes(os)?;
        };
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_BeginHTTPUpload_Response {
        CCloud_BeginHTTPUpload_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
                "ugcid",
                |m: &CCloud_BeginHTTPUpload_Response| { &m.ugcid },
                |m: &mut CCloud_BeginHTTPUpload_Response| { &mut m.ugcid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
                "timestamp",
                |m: &CCloud_BeginHTTPUpload_Response| { &m.timestamp },
                |m: &mut CCloud_BeginHTTPUpload_Response| { &mut m.timestamp },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "url_host",
                |m: &CCloud_BeginHTTPUpload_Response| { &m.url_host },
                |m: &mut CCloud_BeginHTTPUpload_Response| { &mut m.url_host },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "url_path",
                |m: &CCloud_BeginHTTPUpload_Response| { &m.url_path },
                |m: &mut CCloud_BeginHTTPUpload_Response| { &mut m.url_path },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "use_https",
                |m: &CCloud_BeginHTTPUpload_Response| { &m.use_https },
                |m: &mut CCloud_BeginHTTPUpload_Response| { &mut m.use_https },
            ));
            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CCloud_BeginHTTPUpload_Response_HTTPHeaders>>(
                "request_headers",
                |m: &CCloud_BeginHTTPUpload_Response| { &m.request_headers },
                |m: &mut CCloud_BeginHTTPUpload_Response| { &mut m.request_headers },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_BeginHTTPUpload_Response>(
                "CCloud_BeginHTTPUpload_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_BeginHTTPUpload_Response {
        static instance: ::protobuf::rt::LazyV2<CCloud_BeginHTTPUpload_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_BeginHTTPUpload_Response::new)
    }
}

impl ::protobuf::Clear for CCloud_BeginHTTPUpload_Response {
    fn clear(&mut self) {
        self.ugcid = ::std::option::Option::None;
        self.timestamp = ::std::option::Option::None;
        self.url_host.clear();
        self.url_path.clear();
        self.use_https = ::std::option::Option::None;
        self.request_headers.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_BeginHTTPUpload_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_BeginHTTPUpload_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_BeginHTTPUpload_Response_HTTPHeaders {
    // message fields
    name: ::protobuf::SingularField<::std::string::String>,
    value: ::protobuf::SingularField<::std::string::String>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_BeginHTTPUpload_Response_HTTPHeaders {
    fn default() -> &'a CCloud_BeginHTTPUpload_Response_HTTPHeaders {
        <CCloud_BeginHTTPUpload_Response_HTTPHeaders as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_BeginHTTPUpload_Response_HTTPHeaders {
    pub fn new() -> CCloud_BeginHTTPUpload_Response_HTTPHeaders {
        ::std::default::Default::default()
    }

    // optional string name = 1;


    pub fn get_name(&self) -> &str {
        match self.name.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_name(&mut self) {
        self.name.clear();
    }

    pub fn has_name(&self) -> bool {
        self.name.is_some()
    }

    // Param is passed by value, moved
    pub fn set_name(&mut self, v: ::std::string::String) {
        self.name = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_name(&mut self) -> &mut ::std::string::String {
        if self.name.is_none() {
            self.name.set_default();
        }
        self.name.as_mut().unwrap()
    }

    // Take field
    pub fn take_name(&mut self) -> ::std::string::String {
        self.name.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional string value = 2;


    pub fn get_value(&self) -> &str {
        match self.value.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_value(&mut self) {
        self.value.clear();
    }

    pub fn has_value(&self) -> bool {
        self.value.is_some()
    }

    // Param is passed by value, moved
    pub fn set_value(&mut self, v: ::std::string::String) {
        self.value = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_value(&mut self) -> &mut ::std::string::String {
        if self.value.is_none() {
            self.value.set_default();
        }
        self.value.as_mut().unwrap()
    }

    // Take field
    pub fn take_value(&mut self) -> ::std::string::String {
        self.value.take().unwrap_or_else(|| ::std::string::String::new())
    }
}

impl ::protobuf::Message for CCloud_BeginHTTPUpload_Response_HTTPHeaders {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name)?;
                },
                2 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.value)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(ref v) = self.name.as_ref() {
            my_size += ::protobuf::rt::string_size(1, &v);
        }
        if let Some(ref v) = self.value.as_ref() {
            my_size += ::protobuf::rt::string_size(2, &v);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(ref v) = self.name.as_ref() {
            os.write_string(1, &v)?;
        }
        if let Some(ref v) = self.value.as_ref() {
            os.write_string(2, &v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_BeginHTTPUpload_Response_HTTPHeaders {
        CCloud_BeginHTTPUpload_Response_HTTPHeaders::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "name",
                |m: &CCloud_BeginHTTPUpload_Response_HTTPHeaders| { &m.name },
                |m: &mut CCloud_BeginHTTPUpload_Response_HTTPHeaders| { &mut m.name },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "value",
                |m: &CCloud_BeginHTTPUpload_Response_HTTPHeaders| { &m.value },
                |m: &mut CCloud_BeginHTTPUpload_Response_HTTPHeaders| { &mut m.value },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_BeginHTTPUpload_Response_HTTPHeaders>(
                "CCloud_BeginHTTPUpload_Response.HTTPHeaders",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_BeginHTTPUpload_Response_HTTPHeaders {
        static instance: ::protobuf::rt::LazyV2<CCloud_BeginHTTPUpload_Response_HTTPHeaders> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_BeginHTTPUpload_Response_HTTPHeaders::new)
    }
}

impl ::protobuf::Clear for CCloud_BeginHTTPUpload_Response_HTTPHeaders {
    fn clear(&mut self) {
        self.name.clear();
        self.value.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_BeginHTTPUpload_Response_HTTPHeaders {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_BeginHTTPUpload_Response_HTTPHeaders {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_CommitHTTPUpload_Request {
    // message fields
    transfer_succeeded: ::std::option::Option<bool>,
    appid: ::std::option::Option<u32>,
    file_sha: ::protobuf::SingularField<::std::string::String>,
    filename: ::protobuf::SingularField<::std::string::String>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_CommitHTTPUpload_Request {
    fn default() -> &'a CCloud_CommitHTTPUpload_Request {
        <CCloud_CommitHTTPUpload_Request as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_CommitHTTPUpload_Request {
    pub fn new() -> CCloud_CommitHTTPUpload_Request {
        ::std::default::Default::default()
    }

    // optional bool transfer_succeeded = 1;


    pub fn get_transfer_succeeded(&self) -> bool {
        self.transfer_succeeded.unwrap_or(false)
    }
    pub fn clear_transfer_succeeded(&mut self) {
        self.transfer_succeeded = ::std::option::Option::None;
    }

    pub fn has_transfer_succeeded(&self) -> bool {
        self.transfer_succeeded.is_some()
    }

    // Param is passed by value, moved
    pub fn set_transfer_succeeded(&mut self, v: bool) {
        self.transfer_succeeded = ::std::option::Option::Some(v);
    }

    // optional uint32 appid = 2;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // optional string file_sha = 3;


    pub fn get_file_sha(&self) -> &str {
        match self.file_sha.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_file_sha(&mut self) {
        self.file_sha.clear();
    }

    pub fn has_file_sha(&self) -> bool {
        self.file_sha.is_some()
    }

    // Param is passed by value, moved
    pub fn set_file_sha(&mut self, v: ::std::string::String) {
        self.file_sha = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_file_sha(&mut self) -> &mut ::std::string::String {
        if self.file_sha.is_none() {
            self.file_sha.set_default();
        }
        self.file_sha.as_mut().unwrap()
    }

    // Take field
    pub fn take_file_sha(&mut self) -> ::std::string::String {
        self.file_sha.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional string filename = 4;


    pub fn get_filename(&self) -> &str {
        match self.filename.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_filename(&mut self) {
        self.filename.clear();
    }

    pub fn has_filename(&self) -> bool {
        self.filename.is_some()
    }

    // Param is passed by value, moved
    pub fn set_filename(&mut self, v: ::std::string::String) {
        self.filename = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_filename(&mut self) -> &mut ::std::string::String {
        if self.filename.is_none() {
            self.filename.set_default();
        }
        self.filename.as_mut().unwrap()
    }

    // Take field
    pub fn take_filename(&mut self) -> ::std::string::String {
        self.filename.take().unwrap_or_else(|| ::std::string::String::new())
    }
}

impl ::protobuf::Message for CCloud_CommitHTTPUpload_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.transfer_succeeded = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                3 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.file_sha)?;
                },
                4 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.filename)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.transfer_succeeded {
            my_size += 2;
        }
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(ref v) = self.file_sha.as_ref() {
            my_size += ::protobuf::rt::string_size(3, &v);
        }
        if let Some(ref v) = self.filename.as_ref() {
            my_size += ::protobuf::rt::string_size(4, &v);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.transfer_succeeded {
            os.write_bool(1, v)?;
        }
        if let Some(v) = self.appid {
            os.write_uint32(2, v)?;
        }
        if let Some(ref v) = self.file_sha.as_ref() {
            os.write_string(3, &v)?;
        }
        if let Some(ref v) = self.filename.as_ref() {
            os.write_string(4, &v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_CommitHTTPUpload_Request {
        CCloud_CommitHTTPUpload_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "transfer_succeeded",
                |m: &CCloud_CommitHTTPUpload_Request| { &m.transfer_succeeded },
                |m: &mut CCloud_CommitHTTPUpload_Request| { &mut m.transfer_succeeded },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CCloud_CommitHTTPUpload_Request| { &m.appid },
                |m: &mut CCloud_CommitHTTPUpload_Request| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "file_sha",
                |m: &CCloud_CommitHTTPUpload_Request| { &m.file_sha },
                |m: &mut CCloud_CommitHTTPUpload_Request| { &mut m.file_sha },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "filename",
                |m: &CCloud_CommitHTTPUpload_Request| { &m.filename },
                |m: &mut CCloud_CommitHTTPUpload_Request| { &mut m.filename },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_CommitHTTPUpload_Request>(
                "CCloud_CommitHTTPUpload_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_CommitHTTPUpload_Request {
        static instance: ::protobuf::rt::LazyV2<CCloud_CommitHTTPUpload_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_CommitHTTPUpload_Request::new)
    }
}

impl ::protobuf::Clear for CCloud_CommitHTTPUpload_Request {
    fn clear(&mut self) {
        self.transfer_succeeded = ::std::option::Option::None;
        self.appid = ::std::option::Option::None;
        self.file_sha.clear();
        self.filename.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_CommitHTTPUpload_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_CommitHTTPUpload_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_CommitHTTPUpload_Response {
    // message fields
    file_committed: ::std::option::Option<bool>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_CommitHTTPUpload_Response {
    fn default() -> &'a CCloud_CommitHTTPUpload_Response {
        <CCloud_CommitHTTPUpload_Response as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_CommitHTTPUpload_Response {
    pub fn new() -> CCloud_CommitHTTPUpload_Response {
        ::std::default::Default::default()
    }

    // optional bool file_committed = 1;


    pub fn get_file_committed(&self) -> bool {
        self.file_committed.unwrap_or(false)
    }
    pub fn clear_file_committed(&mut self) {
        self.file_committed = ::std::option::Option::None;
    }

    pub fn has_file_committed(&self) -> bool {
        self.file_committed.is_some()
    }

    // Param is passed by value, moved
    pub fn set_file_committed(&mut self, v: bool) {
        self.file_committed = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CCloud_CommitHTTPUpload_Response {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.file_committed = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.file_committed {
            my_size += 2;
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.file_committed {
            os.write_bool(1, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_CommitHTTPUpload_Response {
        CCloud_CommitHTTPUpload_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "file_committed",
                |m: &CCloud_CommitHTTPUpload_Response| { &m.file_committed },
                |m: &mut CCloud_CommitHTTPUpload_Response| { &mut m.file_committed },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_CommitHTTPUpload_Response>(
                "CCloud_CommitHTTPUpload_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_CommitHTTPUpload_Response {
        static instance: ::protobuf::rt::LazyV2<CCloud_CommitHTTPUpload_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_CommitHTTPUpload_Response::new)
    }
}

impl ::protobuf::Clear for CCloud_CommitHTTPUpload_Response {
    fn clear(&mut self) {
        self.file_committed = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_CommitHTTPUpload_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_CommitHTTPUpload_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_GetFileDetails_Request {
    // message fields
    ugcid: ::std::option::Option<u64>,
    appid: ::std::option::Option<u32>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_GetFileDetails_Request {
    fn default() -> &'a CCloud_GetFileDetails_Request {
        <CCloud_GetFileDetails_Request as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_GetFileDetails_Request {
    pub fn new() -> CCloud_GetFileDetails_Request {
        ::std::default::Default::default()
    }

    // optional uint64 ugcid = 1;


    pub fn get_ugcid(&self) -> u64 {
        self.ugcid.unwrap_or(0)
    }
    pub fn clear_ugcid(&mut self) {
        self.ugcid = ::std::option::Option::None;
    }

    pub fn has_ugcid(&self) -> bool {
        self.ugcid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_ugcid(&mut self, v: u64) {
        self.ugcid = ::std::option::Option::Some(v);
    }

    // optional uint32 appid = 2;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CCloud_GetFileDetails_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.ugcid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.ugcid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.ugcid {
            os.write_uint64(1, v)?;
        }
        if let Some(v) = self.appid {
            os.write_uint32(2, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_GetFileDetails_Request {
        CCloud_GetFileDetails_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "ugcid",
                |m: &CCloud_GetFileDetails_Request| { &m.ugcid },
                |m: &mut CCloud_GetFileDetails_Request| { &mut m.ugcid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CCloud_GetFileDetails_Request| { &m.appid },
                |m: &mut CCloud_GetFileDetails_Request| { &mut m.appid },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_GetFileDetails_Request>(
                "CCloud_GetFileDetails_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_GetFileDetails_Request {
        static instance: ::protobuf::rt::LazyV2<CCloud_GetFileDetails_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_GetFileDetails_Request::new)
    }
}

impl ::protobuf::Clear for CCloud_GetFileDetails_Request {
    fn clear(&mut self) {
        self.ugcid = ::std::option::Option::None;
        self.appid = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_GetFileDetails_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_GetFileDetails_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_UserFile {
    // message fields
    appid: ::std::option::Option<u32>,
    ugcid: ::std::option::Option<u64>,
    filename: ::protobuf::SingularField<::std::string::String>,
    timestamp: ::std::option::Option<u64>,
    file_size: ::std::option::Option<u32>,
    url: ::protobuf::SingularField<::std::string::String>,
    steamid_creator: ::std::option::Option<u64>,
    flags: ::std::option::Option<u32>,
    pub platforms_to_sync: ::protobuf::RepeatedField<::std::string::String>,
    file_sha: ::protobuf::SingularField<::std::string::String>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_UserFile {
    fn default() -> &'a CCloud_UserFile {
        <CCloud_UserFile as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_UserFile {
    pub fn new() -> CCloud_UserFile {
        ::std::default::Default::default()
    }

    // optional uint32 appid = 1;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // optional uint64 ugcid = 2;


    pub fn get_ugcid(&self) -> u64 {
        self.ugcid.unwrap_or(0)
    }
    pub fn clear_ugcid(&mut self) {
        self.ugcid = ::std::option::Option::None;
    }

    pub fn has_ugcid(&self) -> bool {
        self.ugcid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_ugcid(&mut self, v: u64) {
        self.ugcid = ::std::option::Option::Some(v);
    }

    // optional string filename = 3;


    pub fn get_filename(&self) -> &str {
        match self.filename.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_filename(&mut self) {
        self.filename.clear();
    }

    pub fn has_filename(&self) -> bool {
        self.filename.is_some()
    }

    // Param is passed by value, moved
    pub fn set_filename(&mut self, v: ::std::string::String) {
        self.filename = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_filename(&mut self) -> &mut ::std::string::String {
        if self.filename.is_none() {
            self.filename.set_default();
        }
        self.filename.as_mut().unwrap()
    }

    // Take field
    pub fn take_filename(&mut self) -> ::std::string::String {
        self.filename.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional uint64 timestamp = 4;


    pub fn get_timestamp(&self) -> u64 {
        self.timestamp.unwrap_or(0)
    }
    pub fn clear_timestamp(&mut self) {
        self.timestamp = ::std::option::Option::None;
    }

    pub fn has_timestamp(&self) -> bool {
        self.timestamp.is_some()
    }

    // Param is passed by value, moved
    pub fn set_timestamp(&mut self, v: u64) {
        self.timestamp = ::std::option::Option::Some(v);
    }

    // optional uint32 file_size = 5;


    pub fn get_file_size(&self) -> u32 {
        self.file_size.unwrap_or(0)
    }
    pub fn clear_file_size(&mut self) {
        self.file_size = ::std::option::Option::None;
    }

    pub fn has_file_size(&self) -> bool {
        self.file_size.is_some()
    }

    // Param is passed by value, moved
    pub fn set_file_size(&mut self, v: u32) {
        self.file_size = ::std::option::Option::Some(v);
    }

    // optional string url = 6;


    pub fn get_url(&self) -> &str {
        match self.url.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_url(&mut self) {
        self.url.clear();
    }

    pub fn has_url(&self) -> bool {
        self.url.is_some()
    }

    // Param is passed by value, moved
    pub fn set_url(&mut self, v: ::std::string::String) {
        self.url = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_url(&mut self) -> &mut ::std::string::String {
        if self.url.is_none() {
            self.url.set_default();
        }
        self.url.as_mut().unwrap()
    }

    // Take field
    pub fn take_url(&mut self) -> ::std::string::String {
        self.url.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional fixed64 steamid_creator = 7;


    pub fn get_steamid_creator(&self) -> u64 {
        self.steamid_creator.unwrap_or(0)
    }
    pub fn clear_steamid_creator(&mut self) {
        self.steamid_creator = ::std::option::Option::None;
    }

    pub fn has_steamid_creator(&self) -> bool {
        self.steamid_creator.is_some()
    }

    // Param is passed by value, moved
    pub fn set_steamid_creator(&mut self, v: u64) {
        self.steamid_creator = ::std::option::Option::Some(v);
    }

    // optional uint32 flags = 8;


    pub fn get_flags(&self) -> u32 {
        self.flags.unwrap_or(0)
    }
    pub fn clear_flags(&mut self) {
        self.flags = ::std::option::Option::None;
    }

    pub fn has_flags(&self) -> bool {
        self.flags.is_some()
    }

    // Param is passed by value, moved
    pub fn set_flags(&mut self, v: u32) {
        self.flags = ::std::option::Option::Some(v);
    }

    // repeated string platforms_to_sync = 9;


    pub fn get_platforms_to_sync(&self) -> &[::std::string::String] {
        &self.platforms_to_sync
    }
    pub fn clear_platforms_to_sync(&mut self) {
        self.platforms_to_sync.clear();
    }

    // Param is passed by value, moved
    pub fn set_platforms_to_sync(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
        self.platforms_to_sync = v;
    }

    // Mutable pointer to the field.
    pub fn mut_platforms_to_sync(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
        &mut self.platforms_to_sync
    }

    // Take field
    pub fn take_platforms_to_sync(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
        ::std::mem::replace(&mut self.platforms_to_sync, ::protobuf::RepeatedField::new())
    }

    // optional string file_sha = 10;


    pub fn get_file_sha(&self) -> &str {
        match self.file_sha.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_file_sha(&mut self) {
        self.file_sha.clear();
    }

    pub fn has_file_sha(&self) -> bool {
        self.file_sha.is_some()
    }

    // Param is passed by value, moved
    pub fn set_file_sha(&mut self, v: ::std::string::String) {
        self.file_sha = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_file_sha(&mut self) -> &mut ::std::string::String {
        if self.file_sha.is_none() {
            self.file_sha.set_default();
        }
        self.file_sha.as_mut().unwrap()
    }

    // Take field
    pub fn take_file_sha(&mut self) -> ::std::string::String {
        self.file_sha.take().unwrap_or_else(|| ::std::string::String::new())
    }
}

impl ::protobuf::Message for CCloud_UserFile {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.ugcid = ::std::option::Option::Some(tmp);
                },
                3 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.filename)?;
                },
                4 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.timestamp = ::std::option::Option::Some(tmp);
                },
                5 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.file_size = ::std::option::Option::Some(tmp);
                },
                6 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.url)?;
                },
                7 => {
                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_fixed64()?;
                    self.steamid_creator = ::std::option::Option::Some(tmp);
                },
                8 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.flags = ::std::option::Option::Some(tmp);
                },
                9 => {
                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.platforms_to_sync)?;
                },
                10 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.file_sha)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.ugcid {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(ref v) = self.filename.as_ref() {
            my_size += ::protobuf::rt::string_size(3, &v);
        }
        if let Some(v) = self.timestamp {
            my_size += ::protobuf::rt::value_size(4, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.file_size {
            my_size += ::protobuf::rt::value_size(5, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(ref v) = self.url.as_ref() {
            my_size += ::protobuf::rt::string_size(6, &v);
        }
        if let Some(v) = self.steamid_creator {
            my_size += 9;
        }
        if let Some(v) = self.flags {
            my_size += ::protobuf::rt::value_size(8, v, ::protobuf::wire_format::WireTypeVarint);
        }
        for value in &self.platforms_to_sync {
            my_size += ::protobuf::rt::string_size(9, &value);
        };
        if let Some(ref v) = self.file_sha.as_ref() {
            my_size += ::protobuf::rt::string_size(10, &v);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.appid {
            os.write_uint32(1, v)?;
        }
        if let Some(v) = self.ugcid {
            os.write_uint64(2, v)?;
        }
        if let Some(ref v) = self.filename.as_ref() {
            os.write_string(3, &v)?;
        }
        if let Some(v) = self.timestamp {
            os.write_uint64(4, v)?;
        }
        if let Some(v) = self.file_size {
            os.write_uint32(5, v)?;
        }
        if let Some(ref v) = self.url.as_ref() {
            os.write_string(6, &v)?;
        }
        if let Some(v) = self.steamid_creator {
            os.write_fixed64(7, v)?;
        }
        if let Some(v) = self.flags {
            os.write_uint32(8, v)?;
        }
        for v in &self.platforms_to_sync {
            os.write_string(9, &v)?;
        };
        if let Some(ref v) = self.file_sha.as_ref() {
            os.write_string(10, &v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_UserFile {
        CCloud_UserFile::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CCloud_UserFile| { &m.appid },
                |m: &mut CCloud_UserFile| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "ugcid",
                |m: &CCloud_UserFile| { &m.ugcid },
                |m: &mut CCloud_UserFile| { &mut m.ugcid },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "filename",
                |m: &CCloud_UserFile| { &m.filename },
                |m: &mut CCloud_UserFile| { &mut m.filename },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "timestamp",
                |m: &CCloud_UserFile| { &m.timestamp },
                |m: &mut CCloud_UserFile| { &mut m.timestamp },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "file_size",
                |m: &CCloud_UserFile| { &m.file_size },
                |m: &mut CCloud_UserFile| { &mut m.file_size },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "url",
                |m: &CCloud_UserFile| { &m.url },
                |m: &mut CCloud_UserFile| { &mut m.url },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
                "steamid_creator",
                |m: &CCloud_UserFile| { &m.steamid_creator },
                |m: &mut CCloud_UserFile| { &mut m.steamid_creator },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "flags",
                |m: &CCloud_UserFile| { &m.flags },
                |m: &mut CCloud_UserFile| { &mut m.flags },
            ));
            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "platforms_to_sync",
                |m: &CCloud_UserFile| { &m.platforms_to_sync },
                |m: &mut CCloud_UserFile| { &mut m.platforms_to_sync },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "file_sha",
                |m: &CCloud_UserFile| { &m.file_sha },
                |m: &mut CCloud_UserFile| { &mut m.file_sha },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_UserFile>(
                "CCloud_UserFile",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_UserFile {
        static instance: ::protobuf::rt::LazyV2<CCloud_UserFile> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_UserFile::new)
    }
}

impl ::protobuf::Clear for CCloud_UserFile {
    fn clear(&mut self) {
        self.appid = ::std::option::Option::None;
        self.ugcid = ::std::option::Option::None;
        self.filename.clear();
        self.timestamp = ::std::option::Option::None;
        self.file_size = ::std::option::Option::None;
        self.url.clear();
        self.steamid_creator = ::std::option::Option::None;
        self.flags = ::std::option::Option::None;
        self.platforms_to_sync.clear();
        self.file_sha.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_UserFile {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_UserFile {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_GetFileDetails_Response {
    // message fields
    pub details: ::protobuf::SingularPtrField<CCloud_UserFile>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_GetFileDetails_Response {
    fn default() -> &'a CCloud_GetFileDetails_Response {
        <CCloud_GetFileDetails_Response as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_GetFileDetails_Response {
    pub fn new() -> CCloud_GetFileDetails_Response {
        ::std::default::Default::default()
    }

    // optional .CCloud_UserFile details = 1;


    pub fn get_details(&self) -> &CCloud_UserFile {
        self.details.as_ref().unwrap_or_else(|| <CCloud_UserFile as ::protobuf::Message>::default_instance())
    }
    pub fn clear_details(&mut self) {
        self.details.clear();
    }

    pub fn has_details(&self) -> bool {
        self.details.is_some()
    }

    // Param is passed by value, moved
    pub fn set_details(&mut self, v: CCloud_UserFile) {
        self.details = ::protobuf::SingularPtrField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_details(&mut self) -> &mut CCloud_UserFile {
        if self.details.is_none() {
            self.details.set_default();
        }
        self.details.as_mut().unwrap()
    }

    // Take field
    pub fn take_details(&mut self) -> CCloud_UserFile {
        self.details.take().unwrap_or_else(|| CCloud_UserFile::new())
    }
}

impl ::protobuf::Message for CCloud_GetFileDetails_Response {
    fn is_initialized(&self) -> bool {
        for v in &self.details {
            if !v.is_initialized() {
                return false;
            }
        };
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.details)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(ref v) = self.details.as_ref() {
            let len = v.compute_size();
            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(ref v) = self.details.as_ref() {
            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
            os.write_raw_varint32(v.get_cached_size())?;
            v.write_to_with_cached_sizes(os)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_GetFileDetails_Response {
        CCloud_GetFileDetails_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CCloud_UserFile>>(
                "details",
                |m: &CCloud_GetFileDetails_Response| { &m.details },
                |m: &mut CCloud_GetFileDetails_Response| { &mut m.details },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_GetFileDetails_Response>(
                "CCloud_GetFileDetails_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_GetFileDetails_Response {
        static instance: ::protobuf::rt::LazyV2<CCloud_GetFileDetails_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_GetFileDetails_Response::new)
    }
}

impl ::protobuf::Clear for CCloud_GetFileDetails_Response {
    fn clear(&mut self) {
        self.details.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_GetFileDetails_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_GetFileDetails_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_EnumerateUserFiles_Request {
    // message fields
    appid: ::std::option::Option<u32>,
    extended_details: ::std::option::Option<bool>,
    count: ::std::option::Option<u32>,
    start_index: ::std::option::Option<u32>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_EnumerateUserFiles_Request {
    fn default() -> &'a CCloud_EnumerateUserFiles_Request {
        <CCloud_EnumerateUserFiles_Request as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_EnumerateUserFiles_Request {
    pub fn new() -> CCloud_EnumerateUserFiles_Request {
        ::std::default::Default::default()
    }

    // optional uint32 appid = 1;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // optional bool extended_details = 2;


    pub fn get_extended_details(&self) -> bool {
        self.extended_details.unwrap_or(false)
    }
    pub fn clear_extended_details(&mut self) {
        self.extended_details = ::std::option::Option::None;
    }

    pub fn has_extended_details(&self) -> bool {
        self.extended_details.is_some()
    }

    // Param is passed by value, moved
    pub fn set_extended_details(&mut self, v: bool) {
        self.extended_details = ::std::option::Option::Some(v);
    }

    // optional uint32 count = 3;


    pub fn get_count(&self) -> u32 {
        self.count.unwrap_or(0)
    }
    pub fn clear_count(&mut self) {
        self.count = ::std::option::Option::None;
    }

    pub fn has_count(&self) -> bool {
        self.count.is_some()
    }

    // Param is passed by value, moved
    pub fn set_count(&mut self, v: u32) {
        self.count = ::std::option::Option::Some(v);
    }

    // optional uint32 start_index = 4;


    pub fn get_start_index(&self) -> u32 {
        self.start_index.unwrap_or(0)
    }
    pub fn clear_start_index(&mut self) {
        self.start_index = ::std::option::Option::None;
    }

    pub fn has_start_index(&self) -> bool {
        self.start_index.is_some()
    }

    // Param is passed by value, moved
    pub fn set_start_index(&mut self, v: u32) {
        self.start_index = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CCloud_EnumerateUserFiles_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.extended_details = ::std::option::Option::Some(tmp);
                },
                3 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.count = ::std::option::Option::Some(tmp);
                },
                4 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.start_index = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.extended_details {
            my_size += 2;
        }
        if let Some(v) = self.count {
            my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.start_index {
            my_size += ::protobuf::rt::value_size(4, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.appid {
            os.write_uint32(1, v)?;
        }
        if let Some(v) = self.extended_details {
            os.write_bool(2, v)?;
        }
        if let Some(v) = self.count {
            os.write_uint32(3, v)?;
        }
        if let Some(v) = self.start_index {
            os.write_uint32(4, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_EnumerateUserFiles_Request {
        CCloud_EnumerateUserFiles_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CCloud_EnumerateUserFiles_Request| { &m.appid },
                |m: &mut CCloud_EnumerateUserFiles_Request| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "extended_details",
                |m: &CCloud_EnumerateUserFiles_Request| { &m.extended_details },
                |m: &mut CCloud_EnumerateUserFiles_Request| { &mut m.extended_details },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "count",
                |m: &CCloud_EnumerateUserFiles_Request| { &m.count },
                |m: &mut CCloud_EnumerateUserFiles_Request| { &mut m.count },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "start_index",
                |m: &CCloud_EnumerateUserFiles_Request| { &m.start_index },
                |m: &mut CCloud_EnumerateUserFiles_Request| { &mut m.start_index },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_EnumerateUserFiles_Request>(
                "CCloud_EnumerateUserFiles_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_EnumerateUserFiles_Request {
        static instance: ::protobuf::rt::LazyV2<CCloud_EnumerateUserFiles_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_EnumerateUserFiles_Request::new)
    }
}

impl ::protobuf::Clear for CCloud_EnumerateUserFiles_Request {
    fn clear(&mut self) {
        self.appid = ::std::option::Option::None;
        self.extended_details = ::std::option::Option::None;
        self.count = ::std::option::Option::None;
        self.start_index = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_EnumerateUserFiles_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_EnumerateUserFiles_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_EnumerateUserFiles_Response {
    // message fields
    pub files: ::protobuf::RepeatedField<CCloud_UserFile>,
    total_files: ::std::option::Option<u32>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_EnumerateUserFiles_Response {
    fn default() -> &'a CCloud_EnumerateUserFiles_Response {
        <CCloud_EnumerateUserFiles_Response as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_EnumerateUserFiles_Response {
    pub fn new() -> CCloud_EnumerateUserFiles_Response {
        ::std::default::Default::default()
    }

    // repeated .CCloud_UserFile files = 1;


    pub fn get_files(&self) -> &[CCloud_UserFile] {
        &self.files
    }
    pub fn clear_files(&mut self) {
        self.files.clear();
    }

    // Param is passed by value, moved
    pub fn set_files(&mut self, v: ::protobuf::RepeatedField<CCloud_UserFile>) {
        self.files = v;
    }

    // Mutable pointer to the field.
    pub fn mut_files(&mut self) -> &mut ::protobuf::RepeatedField<CCloud_UserFile> {
        &mut self.files
    }

    // Take field
    pub fn take_files(&mut self) -> ::protobuf::RepeatedField<CCloud_UserFile> {
        ::std::mem::replace(&mut self.files, ::protobuf::RepeatedField::new())
    }

    // optional uint32 total_files = 2;


    pub fn get_total_files(&self) -> u32 {
        self.total_files.unwrap_or(0)
    }
    pub fn clear_total_files(&mut self) {
        self.total_files = ::std::option::Option::None;
    }

    pub fn has_total_files(&self) -> bool {
        self.total_files.is_some()
    }

    // Param is passed by value, moved
    pub fn set_total_files(&mut self, v: u32) {
        self.total_files = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CCloud_EnumerateUserFiles_Response {
    fn is_initialized(&self) -> bool {
        for v in &self.files {
            if !v.is_initialized() {
                return false;
            }
        };
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.files)?;
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.total_files = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        for value in &self.files {
            let len = value.compute_size();
            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
        };
        if let Some(v) = self.total_files {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        for v in &self.files {
            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
            os.write_raw_varint32(v.get_cached_size())?;
            v.write_to_with_cached_sizes(os)?;
        };
        if let Some(v) = self.total_files {
            os.write_uint32(2, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_EnumerateUserFiles_Response {
        CCloud_EnumerateUserFiles_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CCloud_UserFile>>(
                "files",
                |m: &CCloud_EnumerateUserFiles_Response| { &m.files },
                |m: &mut CCloud_EnumerateUserFiles_Response| { &mut m.files },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "total_files",
                |m: &CCloud_EnumerateUserFiles_Response| { &m.total_files },
                |m: &mut CCloud_EnumerateUserFiles_Response| { &mut m.total_files },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_EnumerateUserFiles_Response>(
                "CCloud_EnumerateUserFiles_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_EnumerateUserFiles_Response {
        static instance: ::protobuf::rt::LazyV2<CCloud_EnumerateUserFiles_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_EnumerateUserFiles_Response::new)
    }
}

impl ::protobuf::Clear for CCloud_EnumerateUserFiles_Response {
    fn clear(&mut self) {
        self.files.clear();
        self.total_files = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_EnumerateUserFiles_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_EnumerateUserFiles_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_Delete_Request {
    // message fields
    filename: ::protobuf::SingularField<::std::string::String>,
    appid: ::std::option::Option<u32>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_Delete_Request {
    fn default() -> &'a CCloud_Delete_Request {
        <CCloud_Delete_Request as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_Delete_Request {
    pub fn new() -> CCloud_Delete_Request {
        ::std::default::Default::default()
    }

    // optional string filename = 1;


    pub fn get_filename(&self) -> &str {
        match self.filename.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_filename(&mut self) {
        self.filename.clear();
    }

    pub fn has_filename(&self) -> bool {
        self.filename.is_some()
    }

    // Param is passed by value, moved
    pub fn set_filename(&mut self, v: ::std::string::String) {
        self.filename = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_filename(&mut self) -> &mut ::std::string::String {
        if self.filename.is_none() {
            self.filename.set_default();
        }
        self.filename.as_mut().unwrap()
    }

    // Take field
    pub fn take_filename(&mut self) -> ::std::string::String {
        self.filename.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional uint32 appid = 2;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CCloud_Delete_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.filename)?;
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(ref v) = self.filename.as_ref() {
            my_size += ::protobuf::rt::string_size(1, &v);
        }
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(ref v) = self.filename.as_ref() {
            os.write_string(1, &v)?;
        }
        if let Some(v) = self.appid {
            os.write_uint32(2, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_Delete_Request {
        CCloud_Delete_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "filename",
                |m: &CCloud_Delete_Request| { &m.filename },
                |m: &mut CCloud_Delete_Request| { &mut m.filename },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CCloud_Delete_Request| { &m.appid },
                |m: &mut CCloud_Delete_Request| { &mut m.appid },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_Delete_Request>(
                "CCloud_Delete_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_Delete_Request {
        static instance: ::protobuf::rt::LazyV2<CCloud_Delete_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_Delete_Request::new)
    }
}

impl ::protobuf::Clear for CCloud_Delete_Request {
    fn clear(&mut self) {
        self.filename.clear();
        self.appid = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_Delete_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_Delete_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_Delete_Response {
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_Delete_Response {
    fn default() -> &'a CCloud_Delete_Response {
        <CCloud_Delete_Response as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_Delete_Response {
    pub fn new() -> CCloud_Delete_Response {
        ::std::default::Default::default()
    }
}

impl ::protobuf::Message for CCloud_Delete_Response {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_Delete_Response {
        CCloud_Delete_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let fields = ::std::vec::Vec::new();
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_Delete_Response>(
                "CCloud_Delete_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_Delete_Response {
        static instance: ::protobuf::rt::LazyV2<CCloud_Delete_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_Delete_Response::new)
    }
}

impl ::protobuf::Clear for CCloud_Delete_Response {
    fn clear(&mut self) {
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_Delete_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_Delete_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_GetClientEncryptionKey_Request {
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_GetClientEncryptionKey_Request {
    fn default() -> &'a CCloud_GetClientEncryptionKey_Request {
        <CCloud_GetClientEncryptionKey_Request as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_GetClientEncryptionKey_Request {
    pub fn new() -> CCloud_GetClientEncryptionKey_Request {
        ::std::default::Default::default()
    }
}

impl ::protobuf::Message for CCloud_GetClientEncryptionKey_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_GetClientEncryptionKey_Request {
        CCloud_GetClientEncryptionKey_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let fields = ::std::vec::Vec::new();
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_GetClientEncryptionKey_Request>(
                "CCloud_GetClientEncryptionKey_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_GetClientEncryptionKey_Request {
        static instance: ::protobuf::rt::LazyV2<CCloud_GetClientEncryptionKey_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_GetClientEncryptionKey_Request::new)
    }
}

impl ::protobuf::Clear for CCloud_GetClientEncryptionKey_Request {
    fn clear(&mut self) {
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_GetClientEncryptionKey_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_GetClientEncryptionKey_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_GetClientEncryptionKey_Response {
    // message fields
    key: ::protobuf::SingularField<::std::vec::Vec<u8>>,
    crc: ::std::option::Option<i32>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_GetClientEncryptionKey_Response {
    fn default() -> &'a CCloud_GetClientEncryptionKey_Response {
        <CCloud_GetClientEncryptionKey_Response as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_GetClientEncryptionKey_Response {
    pub fn new() -> CCloud_GetClientEncryptionKey_Response {
        ::std::default::Default::default()
    }

    // optional bytes key = 1;


    pub fn get_key(&self) -> &[u8] {
        match self.key.as_ref() {
            Some(v) => &v,
            None => &[],
        }
    }
    pub fn clear_key(&mut self) {
        self.key.clear();
    }

    pub fn has_key(&self) -> bool {
        self.key.is_some()
    }

    // Param is passed by value, moved
    pub fn set_key(&mut self, v: ::std::vec::Vec<u8>) {
        self.key = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_key(&mut self) -> &mut ::std::vec::Vec<u8> {
        if self.key.is_none() {
            self.key.set_default();
        }
        self.key.as_mut().unwrap()
    }

    // Take field
    pub fn take_key(&mut self) -> ::std::vec::Vec<u8> {
        self.key.take().unwrap_or_else(|| ::std::vec::Vec::new())
    }

    // optional int32 crc = 2;


    pub fn get_crc(&self) -> i32 {
        self.crc.unwrap_or(0)
    }
    pub fn clear_crc(&mut self) {
        self.crc = ::std::option::Option::None;
    }

    pub fn has_crc(&self) -> bool {
        self.crc.is_some()
    }

    // Param is passed by value, moved
    pub fn set_crc(&mut self, v: i32) {
        self.crc = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CCloud_GetClientEncryptionKey_Response {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.key)?;
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_int32()?;
                    self.crc = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(ref v) = self.key.as_ref() {
            my_size += ::protobuf::rt::bytes_size(1, &v);
        }
        if let Some(v) = self.crc {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(ref v) = self.key.as_ref() {
            os.write_bytes(1, &v)?;
        }
        if let Some(v) = self.crc {
            os.write_int32(2, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_GetClientEncryptionKey_Response {
        CCloud_GetClientEncryptionKey_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
                "key",
                |m: &CCloud_GetClientEncryptionKey_Response| { &m.key },
                |m: &mut CCloud_GetClientEncryptionKey_Response| { &mut m.key },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
                "crc",
                |m: &CCloud_GetClientEncryptionKey_Response| { &m.crc },
                |m: &mut CCloud_GetClientEncryptionKey_Response| { &mut m.crc },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_GetClientEncryptionKey_Response>(
                "CCloud_GetClientEncryptionKey_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_GetClientEncryptionKey_Response {
        static instance: ::protobuf::rt::LazyV2<CCloud_GetClientEncryptionKey_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_GetClientEncryptionKey_Response::new)
    }
}

impl ::protobuf::Clear for CCloud_GetClientEncryptionKey_Response {
    fn clear(&mut self) {
        self.key.clear();
        self.crc = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_GetClientEncryptionKey_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_GetClientEncryptionKey_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_CDNReport_Notification {
    // message fields
    steamid: ::std::option::Option<u64>,
    url: ::protobuf::SingularField<::std::string::String>,
    success: ::std::option::Option<bool>,
    http_status_code: ::std::option::Option<u32>,
    expected_bytes: ::std::option::Option<u64>,
    received_bytes: ::std::option::Option<u64>,
    duration: ::std::option::Option<u32>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_CDNReport_Notification {
    fn default() -> &'a CCloud_CDNReport_Notification {
        <CCloud_CDNReport_Notification as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_CDNReport_Notification {
    pub fn new() -> CCloud_CDNReport_Notification {
        ::std::default::Default::default()
    }

    // optional fixed64 steamid = 1;


    pub fn get_steamid(&self) -> u64 {
        self.steamid.unwrap_or(0)
    }
    pub fn clear_steamid(&mut self) {
        self.steamid = ::std::option::Option::None;
    }

    pub fn has_steamid(&self) -> bool {
        self.steamid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_steamid(&mut self, v: u64) {
        self.steamid = ::std::option::Option::Some(v);
    }

    // optional string url = 2;


    pub fn get_url(&self) -> &str {
        match self.url.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_url(&mut self) {
        self.url.clear();
    }

    pub fn has_url(&self) -> bool {
        self.url.is_some()
    }

    // Param is passed by value, moved
    pub fn set_url(&mut self, v: ::std::string::String) {
        self.url = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_url(&mut self) -> &mut ::std::string::String {
        if self.url.is_none() {
            self.url.set_default();
        }
        self.url.as_mut().unwrap()
    }

    // Take field
    pub fn take_url(&mut self) -> ::std::string::String {
        self.url.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional bool success = 3;


    pub fn get_success(&self) -> bool {
        self.success.unwrap_or(false)
    }
    pub fn clear_success(&mut self) {
        self.success = ::std::option::Option::None;
    }

    pub fn has_success(&self) -> bool {
        self.success.is_some()
    }

    // Param is passed by value, moved
    pub fn set_success(&mut self, v: bool) {
        self.success = ::std::option::Option::Some(v);
    }

    // optional uint32 http_status_code = 4;


    pub fn get_http_status_code(&self) -> u32 {
        self.http_status_code.unwrap_or(0)
    }
    pub fn clear_http_status_code(&mut self) {
        self.http_status_code = ::std::option::Option::None;
    }

    pub fn has_http_status_code(&self) -> bool {
        self.http_status_code.is_some()
    }

    // Param is passed by value, moved
    pub fn set_http_status_code(&mut self, v: u32) {
        self.http_status_code = ::std::option::Option::Some(v);
    }

    // optional uint64 expected_bytes = 5;


    pub fn get_expected_bytes(&self) -> u64 {
        self.expected_bytes.unwrap_or(0)
    }
    pub fn clear_expected_bytes(&mut self) {
        self.expected_bytes = ::std::option::Option::None;
    }

    pub fn has_expected_bytes(&self) -> bool {
        self.expected_bytes.is_some()
    }

    // Param is passed by value, moved
    pub fn set_expected_bytes(&mut self, v: u64) {
        self.expected_bytes = ::std::option::Option::Some(v);
    }

    // optional uint64 received_bytes = 6;


    pub fn get_received_bytes(&self) -> u64 {
        self.received_bytes.unwrap_or(0)
    }
    pub fn clear_received_bytes(&mut self) {
        self.received_bytes = ::std::option::Option::None;
    }

    pub fn has_received_bytes(&self) -> bool {
        self.received_bytes.is_some()
    }

    // Param is passed by value, moved
    pub fn set_received_bytes(&mut self, v: u64) {
        self.received_bytes = ::std::option::Option::Some(v);
    }

    // optional uint32 duration = 7;


    pub fn get_duration(&self) -> u32 {
        self.duration.unwrap_or(0)
    }
    pub fn clear_duration(&mut self) {
        self.duration = ::std::option::Option::None;
    }

    pub fn has_duration(&self) -> bool {
        self.duration.is_some()
    }

    // Param is passed by value, moved
    pub fn set_duration(&mut self, v: u32) {
        self.duration = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CCloud_CDNReport_Notification {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_fixed64()?;
                    self.steamid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.url)?;
                },
                3 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.success = ::std::option::Option::Some(tmp);
                },
                4 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.http_status_code = ::std::option::Option::Some(tmp);
                },
                5 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.expected_bytes = ::std::option::Option::Some(tmp);
                },
                6 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.received_bytes = ::std::option::Option::Some(tmp);
                },
                7 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.duration = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.steamid {
            my_size += 9;
        }
        if let Some(ref v) = self.url.as_ref() {
            my_size += ::protobuf::rt::string_size(2, &v);
        }
        if let Some(v) = self.success {
            my_size += 2;
        }
        if let Some(v) = self.http_status_code {
            my_size += ::protobuf::rt::value_size(4, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.expected_bytes {
            my_size += ::protobuf::rt::value_size(5, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.received_bytes {
            my_size += ::protobuf::rt::value_size(6, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.duration {
            my_size += ::protobuf::rt::value_size(7, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.steamid {
            os.write_fixed64(1, v)?;
        }
        if let Some(ref v) = self.url.as_ref() {
            os.write_string(2, &v)?;
        }
        if let Some(v) = self.success {
            os.write_bool(3, v)?;
        }
        if let Some(v) = self.http_status_code {
            os.write_uint32(4, v)?;
        }
        if let Some(v) = self.expected_bytes {
            os.write_uint64(5, v)?;
        }
        if let Some(v) = self.received_bytes {
            os.write_uint64(6, v)?;
        }
        if let Some(v) = self.duration {
            os.write_uint32(7, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_CDNReport_Notification {
        CCloud_CDNReport_Notification::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
                "steamid",
                |m: &CCloud_CDNReport_Notification| { &m.steamid },
                |m: &mut CCloud_CDNReport_Notification| { &mut m.steamid },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "url",
                |m: &CCloud_CDNReport_Notification| { &m.url },
                |m: &mut CCloud_CDNReport_Notification| { &mut m.url },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "success",
                |m: &CCloud_CDNReport_Notification| { &m.success },
                |m: &mut CCloud_CDNReport_Notification| { &mut m.success },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "http_status_code",
                |m: &CCloud_CDNReport_Notification| { &m.http_status_code },
                |m: &mut CCloud_CDNReport_Notification| { &mut m.http_status_code },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "expected_bytes",
                |m: &CCloud_CDNReport_Notification| { &m.expected_bytes },
                |m: &mut CCloud_CDNReport_Notification| { &mut m.expected_bytes },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "received_bytes",
                |m: &CCloud_CDNReport_Notification| { &m.received_bytes },
                |m: &mut CCloud_CDNReport_Notification| { &mut m.received_bytes },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "duration",
                |m: &CCloud_CDNReport_Notification| { &m.duration },
                |m: &mut CCloud_CDNReport_Notification| { &mut m.duration },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_CDNReport_Notification>(
                "CCloud_CDNReport_Notification",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_CDNReport_Notification {
        static instance: ::protobuf::rt::LazyV2<CCloud_CDNReport_Notification> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_CDNReport_Notification::new)
    }
}

impl ::protobuf::Clear for CCloud_CDNReport_Notification {
    fn clear(&mut self) {
        self.steamid = ::std::option::Option::None;
        self.url.clear();
        self.success = ::std::option::Option::None;
        self.http_status_code = ::std::option::Option::None;
        self.expected_bytes = ::std::option::Option::None;
        self.received_bytes = ::std::option::Option::None;
        self.duration = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_CDNReport_Notification {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_CDNReport_Notification {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_ExternalStorageTransferReport_Notification {
    // message fields
    host: ::protobuf::SingularField<::std::string::String>,
    path: ::protobuf::SingularField<::std::string::String>,
    is_upload: ::std::option::Option<bool>,
    success: ::std::option::Option<bool>,
    http_status_code: ::std::option::Option<u32>,
    bytes_expected: ::std::option::Option<u64>,
    bytes_actual: ::std::option::Option<u64>,
    duration_ms: ::std::option::Option<u32>,
    cellid: ::std::option::Option<u32>,
    proxied: ::std::option::Option<bool>,
    ipv6_local: ::std::option::Option<bool>,
    ipv6_remote: ::std::option::Option<bool>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_ExternalStorageTransferReport_Notification {
    fn default() -> &'a CCloud_ExternalStorageTransferReport_Notification {
        <CCloud_ExternalStorageTransferReport_Notification as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_ExternalStorageTransferReport_Notification {
    pub fn new() -> CCloud_ExternalStorageTransferReport_Notification {
        ::std::default::Default::default()
    }

    // optional string host = 1;


    pub fn get_host(&self) -> &str {
        match self.host.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_host(&mut self) {
        self.host.clear();
    }

    pub fn has_host(&self) -> bool {
        self.host.is_some()
    }

    // Param is passed by value, moved
    pub fn set_host(&mut self, v: ::std::string::String) {
        self.host = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_host(&mut self) -> &mut ::std::string::String {
        if self.host.is_none() {
            self.host.set_default();
        }
        self.host.as_mut().unwrap()
    }

    // Take field
    pub fn take_host(&mut self) -> ::std::string::String {
        self.host.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional string path = 2;


    pub fn get_path(&self) -> &str {
        match self.path.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_path(&mut self) {
        self.path.clear();
    }

    pub fn has_path(&self) -> bool {
        self.path.is_some()
    }

    // Param is passed by value, moved
    pub fn set_path(&mut self, v: ::std::string::String) {
        self.path = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_path(&mut self) -> &mut ::std::string::String {
        if self.path.is_none() {
            self.path.set_default();
        }
        self.path.as_mut().unwrap()
    }

    // Take field
    pub fn take_path(&mut self) -> ::std::string::String {
        self.path.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional bool is_upload = 3;


    pub fn get_is_upload(&self) -> bool {
        self.is_upload.unwrap_or(false)
    }
    pub fn clear_is_upload(&mut self) {
        self.is_upload = ::std::option::Option::None;
    }

    pub fn has_is_upload(&self) -> bool {
        self.is_upload.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_upload(&mut self, v: bool) {
        self.is_upload = ::std::option::Option::Some(v);
    }

    // optional bool success = 4;


    pub fn get_success(&self) -> bool {
        self.success.unwrap_or(false)
    }
    pub fn clear_success(&mut self) {
        self.success = ::std::option::Option::None;
    }

    pub fn has_success(&self) -> bool {
        self.success.is_some()
    }

    // Param is passed by value, moved
    pub fn set_success(&mut self, v: bool) {
        self.success = ::std::option::Option::Some(v);
    }

    // optional uint32 http_status_code = 5;


    pub fn get_http_status_code(&self) -> u32 {
        self.http_status_code.unwrap_or(0)
    }
    pub fn clear_http_status_code(&mut self) {
        self.http_status_code = ::std::option::Option::None;
    }

    pub fn has_http_status_code(&self) -> bool {
        self.http_status_code.is_some()
    }

    // Param is passed by value, moved
    pub fn set_http_status_code(&mut self, v: u32) {
        self.http_status_code = ::std::option::Option::Some(v);
    }

    // optional uint64 bytes_expected = 6;


    pub fn get_bytes_expected(&self) -> u64 {
        self.bytes_expected.unwrap_or(0)
    }
    pub fn clear_bytes_expected(&mut self) {
        self.bytes_expected = ::std::option::Option::None;
    }

    pub fn has_bytes_expected(&self) -> bool {
        self.bytes_expected.is_some()
    }

    // Param is passed by value, moved
    pub fn set_bytes_expected(&mut self, v: u64) {
        self.bytes_expected = ::std::option::Option::Some(v);
    }

    // optional uint64 bytes_actual = 7;


    pub fn get_bytes_actual(&self) -> u64 {
        self.bytes_actual.unwrap_or(0)
    }
    pub fn clear_bytes_actual(&mut self) {
        self.bytes_actual = ::std::option::Option::None;
    }

    pub fn has_bytes_actual(&self) -> bool {
        self.bytes_actual.is_some()
    }

    // Param is passed by value, moved
    pub fn set_bytes_actual(&mut self, v: u64) {
        self.bytes_actual = ::std::option::Option::Some(v);
    }

    // optional uint32 duration_ms = 8;


    pub fn get_duration_ms(&self) -> u32 {
        self.duration_ms.unwrap_or(0)
    }
    pub fn clear_duration_ms(&mut self) {
        self.duration_ms = ::std::option::Option::None;
    }

    pub fn has_duration_ms(&self) -> bool {
        self.duration_ms.is_some()
    }

    // Param is passed by value, moved
    pub fn set_duration_ms(&mut self, v: u32) {
        self.duration_ms = ::std::option::Option::Some(v);
    }

    // optional uint32 cellid = 9;


    pub fn get_cellid(&self) -> u32 {
        self.cellid.unwrap_or(0)
    }
    pub fn clear_cellid(&mut self) {
        self.cellid = ::std::option::Option::None;
    }

    pub fn has_cellid(&self) -> bool {
        self.cellid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_cellid(&mut self, v: u32) {
        self.cellid = ::std::option::Option::Some(v);
    }

    // optional bool proxied = 10;


    pub fn get_proxied(&self) -> bool {
        self.proxied.unwrap_or(false)
    }
    pub fn clear_proxied(&mut self) {
        self.proxied = ::std::option::Option::None;
    }

    pub fn has_proxied(&self) -> bool {
        self.proxied.is_some()
    }

    // Param is passed by value, moved
    pub fn set_proxied(&mut self, v: bool) {
        self.proxied = ::std::option::Option::Some(v);
    }

    // optional bool ipv6_local = 11;


    pub fn get_ipv6_local(&self) -> bool {
        self.ipv6_local.unwrap_or(false)
    }
    pub fn clear_ipv6_local(&mut self) {
        self.ipv6_local = ::std::option::Option::None;
    }

    pub fn has_ipv6_local(&self) -> bool {
        self.ipv6_local.is_some()
    }

    // Param is passed by value, moved
    pub fn set_ipv6_local(&mut self, v: bool) {
        self.ipv6_local = ::std::option::Option::Some(v);
    }

    // optional bool ipv6_remote = 12;


    pub fn get_ipv6_remote(&self) -> bool {
        self.ipv6_remote.unwrap_or(false)
    }
    pub fn clear_ipv6_remote(&mut self) {
        self.ipv6_remote = ::std::option::Option::None;
    }

    pub fn has_ipv6_remote(&self) -> bool {
        self.ipv6_remote.is_some()
    }

    // Param is passed by value, moved
    pub fn set_ipv6_remote(&mut self, v: bool) {
        self.ipv6_remote = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CCloud_ExternalStorageTransferReport_Notification {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.host)?;
                },
                2 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.path)?;
                },
                3 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.is_upload = ::std::option::Option::Some(tmp);
                },
                4 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.success = ::std::option::Option::Some(tmp);
                },
                5 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.http_status_code = ::std::option::Option::Some(tmp);
                },
                6 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.bytes_expected = ::std::option::Option::Some(tmp);
                },
                7 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.bytes_actual = ::std::option::Option::Some(tmp);
                },
                8 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.duration_ms = ::std::option::Option::Some(tmp);
                },
                9 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.cellid = ::std::option::Option::Some(tmp);
                },
                10 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.proxied = ::std::option::Option::Some(tmp);
                },
                11 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.ipv6_local = ::std::option::Option::Some(tmp);
                },
                12 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.ipv6_remote = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(ref v) = self.host.as_ref() {
            my_size += ::protobuf::rt::string_size(1, &v);
        }
        if let Some(ref v) = self.path.as_ref() {
            my_size += ::protobuf::rt::string_size(2, &v);
        }
        if let Some(v) = self.is_upload {
            my_size += 2;
        }
        if let Some(v) = self.success {
            my_size += 2;
        }
        if let Some(v) = self.http_status_code {
            my_size += ::protobuf::rt::value_size(5, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.bytes_expected {
            my_size += ::protobuf::rt::value_size(6, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.bytes_actual {
            my_size += ::protobuf::rt::value_size(7, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.duration_ms {
            my_size += ::protobuf::rt::value_size(8, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.cellid {
            my_size += ::protobuf::rt::value_size(9, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.proxied {
            my_size += 2;
        }
        if let Some(v) = self.ipv6_local {
            my_size += 2;
        }
        if let Some(v) = self.ipv6_remote {
            my_size += 2;
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(ref v) = self.host.as_ref() {
            os.write_string(1, &v)?;
        }
        if let Some(ref v) = self.path.as_ref() {
            os.write_string(2, &v)?;
        }
        if let Some(v) = self.is_upload {
            os.write_bool(3, v)?;
        }
        if let Some(v) = self.success {
            os.write_bool(4, v)?;
        }
        if let Some(v) = self.http_status_code {
            os.write_uint32(5, v)?;
        }
        if let Some(v) = self.bytes_expected {
            os.write_uint64(6, v)?;
        }
        if let Some(v) = self.bytes_actual {
            os.write_uint64(7, v)?;
        }
        if let Some(v) = self.duration_ms {
            os.write_uint32(8, v)?;
        }
        if let Some(v) = self.cellid {
            os.write_uint32(9, v)?;
        }
        if let Some(v) = self.proxied {
            os.write_bool(10, v)?;
        }
        if let Some(v) = self.ipv6_local {
            os.write_bool(11, v)?;
        }
        if let Some(v) = self.ipv6_remote {
            os.write_bool(12, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_ExternalStorageTransferReport_Notification {
        CCloud_ExternalStorageTransferReport_Notification::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "host",
                |m: &CCloud_ExternalStorageTransferReport_Notification| { &m.host },
                |m: &mut CCloud_ExternalStorageTransferReport_Notification| { &mut m.host },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "path",
                |m: &CCloud_ExternalStorageTransferReport_Notification| { &m.path },
                |m: &mut CCloud_ExternalStorageTransferReport_Notification| { &mut m.path },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "is_upload",
                |m: &CCloud_ExternalStorageTransferReport_Notification| { &m.is_upload },
                |m: &mut CCloud_ExternalStorageTransferReport_Notification| { &mut m.is_upload },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "success",
                |m: &CCloud_ExternalStorageTransferReport_Notification| { &m.success },
                |m: &mut CCloud_ExternalStorageTransferReport_Notification| { &mut m.success },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "http_status_code",
                |m: &CCloud_ExternalStorageTransferReport_Notification| { &m.http_status_code },
                |m: &mut CCloud_ExternalStorageTransferReport_Notification| { &mut m.http_status_code },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "bytes_expected",
                |m: &CCloud_ExternalStorageTransferReport_Notification| { &m.bytes_expected },
                |m: &mut CCloud_ExternalStorageTransferReport_Notification| { &mut m.bytes_expected },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "bytes_actual",
                |m: &CCloud_ExternalStorageTransferReport_Notification| { &m.bytes_actual },
                |m: &mut CCloud_ExternalStorageTransferReport_Notification| { &mut m.bytes_actual },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "duration_ms",
                |m: &CCloud_ExternalStorageTransferReport_Notification| { &m.duration_ms },
                |m: &mut CCloud_ExternalStorageTransferReport_Notification| { &mut m.duration_ms },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "cellid",
                |m: &CCloud_ExternalStorageTransferReport_Notification| { &m.cellid },
                |m: &mut CCloud_ExternalStorageTransferReport_Notification| { &mut m.cellid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "proxied",
                |m: &CCloud_ExternalStorageTransferReport_Notification| { &m.proxied },
                |m: &mut CCloud_ExternalStorageTransferReport_Notification| { &mut m.proxied },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "ipv6_local",
                |m: &CCloud_ExternalStorageTransferReport_Notification| { &m.ipv6_local },
                |m: &mut CCloud_ExternalStorageTransferReport_Notification| { &mut m.ipv6_local },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "ipv6_remote",
                |m: &CCloud_ExternalStorageTransferReport_Notification| { &m.ipv6_remote },
                |m: &mut CCloud_ExternalStorageTransferReport_Notification| { &mut m.ipv6_remote },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_ExternalStorageTransferReport_Notification>(
                "CCloud_ExternalStorageTransferReport_Notification",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_ExternalStorageTransferReport_Notification {
        static instance: ::protobuf::rt::LazyV2<CCloud_ExternalStorageTransferReport_Notification> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_ExternalStorageTransferReport_Notification::new)
    }
}

impl ::protobuf::Clear for CCloud_ExternalStorageTransferReport_Notification {
    fn clear(&mut self) {
        self.host.clear();
        self.path.clear();
        self.is_upload = ::std::option::Option::None;
        self.success = ::std::option::Option::None;
        self.http_status_code = ::std::option::Option::None;
        self.bytes_expected = ::std::option::Option::None;
        self.bytes_actual = ::std::option::Option::None;
        self.duration_ms = ::std::option::Option::None;
        self.cellid = ::std::option::Option::None;
        self.proxied = ::std::option::Option::None;
        self.ipv6_local = ::std::option::Option::None;
        self.ipv6_remote = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_ExternalStorageTransferReport_Notification {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_ExternalStorageTransferReport_Notification {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_ClientBeginFileUpload_Request {
    // message fields
    appid: ::std::option::Option<u32>,
    file_size: ::std::option::Option<u32>,
    raw_file_size: ::std::option::Option<u32>,
    file_sha: ::protobuf::SingularField<::std::vec::Vec<u8>>,
    time_stamp: ::std::option::Option<u64>,
    filename: ::protobuf::SingularField<::std::string::String>,
    platforms_to_sync: ::std::option::Option<u32>,
    cell_id: ::std::option::Option<u32>,
    can_encrypt: ::std::option::Option<bool>,
    is_shared_file: ::std::option::Option<bool>,
    realm: ::std::option::Option<u32>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_ClientBeginFileUpload_Request {
    fn default() -> &'a CCloud_ClientBeginFileUpload_Request {
        <CCloud_ClientBeginFileUpload_Request as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_ClientBeginFileUpload_Request {
    pub fn new() -> CCloud_ClientBeginFileUpload_Request {
        ::std::default::Default::default()
    }

    // optional uint32 appid = 1;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // optional uint32 file_size = 2;


    pub fn get_file_size(&self) -> u32 {
        self.file_size.unwrap_or(0)
    }
    pub fn clear_file_size(&mut self) {
        self.file_size = ::std::option::Option::None;
    }

    pub fn has_file_size(&self) -> bool {
        self.file_size.is_some()
    }

    // Param is passed by value, moved
    pub fn set_file_size(&mut self, v: u32) {
        self.file_size = ::std::option::Option::Some(v);
    }

    // optional uint32 raw_file_size = 3;


    pub fn get_raw_file_size(&self) -> u32 {
        self.raw_file_size.unwrap_or(0)
    }
    pub fn clear_raw_file_size(&mut self) {
        self.raw_file_size = ::std::option::Option::None;
    }

    pub fn has_raw_file_size(&self) -> bool {
        self.raw_file_size.is_some()
    }

    // Param is passed by value, moved
    pub fn set_raw_file_size(&mut self, v: u32) {
        self.raw_file_size = ::std::option::Option::Some(v);
    }

    // optional bytes file_sha = 4;


    pub fn get_file_sha(&self) -> &[u8] {
        match self.file_sha.as_ref() {
            Some(v) => &v,
            None => &[],
        }
    }
    pub fn clear_file_sha(&mut self) {
        self.file_sha.clear();
    }

    pub fn has_file_sha(&self) -> bool {
        self.file_sha.is_some()
    }

    // Param is passed by value, moved
    pub fn set_file_sha(&mut self, v: ::std::vec::Vec<u8>) {
        self.file_sha = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_file_sha(&mut self) -> &mut ::std::vec::Vec<u8> {
        if self.file_sha.is_none() {
            self.file_sha.set_default();
        }
        self.file_sha.as_mut().unwrap()
    }

    // Take field
    pub fn take_file_sha(&mut self) -> ::std::vec::Vec<u8> {
        self.file_sha.take().unwrap_or_else(|| ::std::vec::Vec::new())
    }

    // optional uint64 time_stamp = 5;


    pub fn get_time_stamp(&self) -> u64 {
        self.time_stamp.unwrap_or(0)
    }
    pub fn clear_time_stamp(&mut self) {
        self.time_stamp = ::std::option::Option::None;
    }

    pub fn has_time_stamp(&self) -> bool {
        self.time_stamp.is_some()
    }

    // Param is passed by value, moved
    pub fn set_time_stamp(&mut self, v: u64) {
        self.time_stamp = ::std::option::Option::Some(v);
    }

    // optional string filename = 6;


    pub fn get_filename(&self) -> &str {
        match self.filename.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_filename(&mut self) {
        self.filename.clear();
    }

    pub fn has_filename(&self) -> bool {
        self.filename.is_some()
    }

    // Param is passed by value, moved
    pub fn set_filename(&mut self, v: ::std::string::String) {
        self.filename = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_filename(&mut self) -> &mut ::std::string::String {
        if self.filename.is_none() {
            self.filename.set_default();
        }
        self.filename.as_mut().unwrap()
    }

    // Take field
    pub fn take_filename(&mut self) -> ::std::string::String {
        self.filename.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional uint32 platforms_to_sync = 7;


    pub fn get_platforms_to_sync(&self) -> u32 {
        self.platforms_to_sync.unwrap_or(4294967295u32)
    }
    pub fn clear_platforms_to_sync(&mut self) {
        self.platforms_to_sync = ::std::option::Option::None;
    }

    pub fn has_platforms_to_sync(&self) -> bool {
        self.platforms_to_sync.is_some()
    }

    // Param is passed by value, moved
    pub fn set_platforms_to_sync(&mut self, v: u32) {
        self.platforms_to_sync = ::std::option::Option::Some(v);
    }

    // optional uint32 cell_id = 9;


    pub fn get_cell_id(&self) -> u32 {
        self.cell_id.unwrap_or(0)
    }
    pub fn clear_cell_id(&mut self) {
        self.cell_id = ::std::option::Option::None;
    }

    pub fn has_cell_id(&self) -> bool {
        self.cell_id.is_some()
    }

    // Param is passed by value, moved
    pub fn set_cell_id(&mut self, v: u32) {
        self.cell_id = ::std::option::Option::Some(v);
    }

    // optional bool can_encrypt = 10;


    pub fn get_can_encrypt(&self) -> bool {
        self.can_encrypt.unwrap_or(false)
    }
    pub fn clear_can_encrypt(&mut self) {
        self.can_encrypt = ::std::option::Option::None;
    }

    pub fn has_can_encrypt(&self) -> bool {
        self.can_encrypt.is_some()
    }

    // Param is passed by value, moved
    pub fn set_can_encrypt(&mut self, v: bool) {
        self.can_encrypt = ::std::option::Option::Some(v);
    }

    // optional bool is_shared_file = 11;


    pub fn get_is_shared_file(&self) -> bool {
        self.is_shared_file.unwrap_or(false)
    }
    pub fn clear_is_shared_file(&mut self) {
        self.is_shared_file = ::std::option::Option::None;
    }

    pub fn has_is_shared_file(&self) -> bool {
        self.is_shared_file.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_shared_file(&mut self, v: bool) {
        self.is_shared_file = ::std::option::Option::Some(v);
    }

    // optional uint32 realm = 12;


    pub fn get_realm(&self) -> u32 {
        self.realm.unwrap_or(0)
    }
    pub fn clear_realm(&mut self) {
        self.realm = ::std::option::Option::None;
    }

    pub fn has_realm(&self) -> bool {
        self.realm.is_some()
    }

    // Param is passed by value, moved
    pub fn set_realm(&mut self, v: u32) {
        self.realm = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CCloud_ClientBeginFileUpload_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.file_size = ::std::option::Option::Some(tmp);
                },
                3 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.raw_file_size = ::std::option::Option::Some(tmp);
                },
                4 => {
                    ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.file_sha)?;
                },
                5 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.time_stamp = ::std::option::Option::Some(tmp);
                },
                6 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.filename)?;
                },
                7 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.platforms_to_sync = ::std::option::Option::Some(tmp);
                },
                9 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.cell_id = ::std::option::Option::Some(tmp);
                },
                10 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.can_encrypt = ::std::option::Option::Some(tmp);
                },
                11 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.is_shared_file = ::std::option::Option::Some(tmp);
                },
                12 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.realm = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.file_size {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.raw_file_size {
            my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(ref v) = self.file_sha.as_ref() {
            my_size += ::protobuf::rt::bytes_size(4, &v);
        }
        if let Some(v) = self.time_stamp {
            my_size += ::protobuf::rt::value_size(5, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(ref v) = self.filename.as_ref() {
            my_size += ::protobuf::rt::string_size(6, &v);
        }
        if let Some(v) = self.platforms_to_sync {
            my_size += ::protobuf::rt::value_size(7, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.cell_id {
            my_size += ::protobuf::rt::value_size(9, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.can_encrypt {
            my_size += 2;
        }
        if let Some(v) = self.is_shared_file {
            my_size += 2;
        }
        if let Some(v) = self.realm {
            my_size += ::protobuf::rt::value_size(12, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.appid {
            os.write_uint32(1, v)?;
        }
        if let Some(v) = self.file_size {
            os.write_uint32(2, v)?;
        }
        if let Some(v) = self.raw_file_size {
            os.write_uint32(3, v)?;
        }
        if let Some(ref v) = self.file_sha.as_ref() {
            os.write_bytes(4, &v)?;
        }
        if let Some(v) = self.time_stamp {
            os.write_uint64(5, v)?;
        }
        if let Some(ref v) = self.filename.as_ref() {
            os.write_string(6, &v)?;
        }
        if let Some(v) = self.platforms_to_sync {
            os.write_uint32(7, v)?;
        }
        if let Some(v) = self.cell_id {
            os.write_uint32(9, v)?;
        }
        if let Some(v) = self.can_encrypt {
            os.write_bool(10, v)?;
        }
        if let Some(v) = self.is_shared_file {
            os.write_bool(11, v)?;
        }
        if let Some(v) = self.realm {
            os.write_uint32(12, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_ClientBeginFileUpload_Request {
        CCloud_ClientBeginFileUpload_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CCloud_ClientBeginFileUpload_Request| { &m.appid },
                |m: &mut CCloud_ClientBeginFileUpload_Request| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "file_size",
                |m: &CCloud_ClientBeginFileUpload_Request| { &m.file_size },
                |m: &mut CCloud_ClientBeginFileUpload_Request| { &mut m.file_size },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "raw_file_size",
                |m: &CCloud_ClientBeginFileUpload_Request| { &m.raw_file_size },
                |m: &mut CCloud_ClientBeginFileUpload_Request| { &mut m.raw_file_size },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
                "file_sha",
                |m: &CCloud_ClientBeginFileUpload_Request| { &m.file_sha },
                |m: &mut CCloud_ClientBeginFileUpload_Request| { &mut m.file_sha },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "time_stamp",
                |m: &CCloud_ClientBeginFileUpload_Request| { &m.time_stamp },
                |m: &mut CCloud_ClientBeginFileUpload_Request| { &mut m.time_stamp },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "filename",
                |m: &CCloud_ClientBeginFileUpload_Request| { &m.filename },
                |m: &mut CCloud_ClientBeginFileUpload_Request| { &mut m.filename },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "platforms_to_sync",
                |m: &CCloud_ClientBeginFileUpload_Request| { &m.platforms_to_sync },
                |m: &mut CCloud_ClientBeginFileUpload_Request| { &mut m.platforms_to_sync },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "cell_id",
                |m: &CCloud_ClientBeginFileUpload_Request| { &m.cell_id },
                |m: &mut CCloud_ClientBeginFileUpload_Request| { &mut m.cell_id },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "can_encrypt",
                |m: &CCloud_ClientBeginFileUpload_Request| { &m.can_encrypt },
                |m: &mut CCloud_ClientBeginFileUpload_Request| { &mut m.can_encrypt },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "is_shared_file",
                |m: &CCloud_ClientBeginFileUpload_Request| { &m.is_shared_file },
                |m: &mut CCloud_ClientBeginFileUpload_Request| { &mut m.is_shared_file },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "realm",
                |m: &CCloud_ClientBeginFileUpload_Request| { &m.realm },
                |m: &mut CCloud_ClientBeginFileUpload_Request| { &mut m.realm },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_ClientBeginFileUpload_Request>(
                "CCloud_ClientBeginFileUpload_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_ClientBeginFileUpload_Request {
        static instance: ::protobuf::rt::LazyV2<CCloud_ClientBeginFileUpload_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_ClientBeginFileUpload_Request::new)
    }
}

impl ::protobuf::Clear for CCloud_ClientBeginFileUpload_Request {
    fn clear(&mut self) {
        self.appid = ::std::option::Option::None;
        self.file_size = ::std::option::Option::None;
        self.raw_file_size = ::std::option::Option::None;
        self.file_sha.clear();
        self.time_stamp = ::std::option::Option::None;
        self.filename.clear();
        self.platforms_to_sync = ::std::option::Option::None;
        self.cell_id = ::std::option::Option::None;
        self.can_encrypt = ::std::option::Option::None;
        self.is_shared_file = ::std::option::Option::None;
        self.realm = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_ClientBeginFileUpload_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_ClientBeginFileUpload_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct ClientCloudFileUploadBlockDetails {
    // message fields
    url_host: ::protobuf::SingularField<::std::string::String>,
    url_path: ::protobuf::SingularField<::std::string::String>,
    use_https: ::std::option::Option<bool>,
    http_method: ::std::option::Option<i32>,
    pub request_headers: ::protobuf::RepeatedField<ClientCloudFileUploadBlockDetails_HTTPHeaders>,
    block_offset: ::std::option::Option<u64>,
    block_length: ::std::option::Option<u32>,
    explicit_body_data: ::protobuf::SingularField<::std::vec::Vec<u8>>,
    may_parallelize: ::std::option::Option<bool>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a ClientCloudFileUploadBlockDetails {
    fn default() -> &'a ClientCloudFileUploadBlockDetails {
        <ClientCloudFileUploadBlockDetails as ::protobuf::Message>::default_instance()
    }
}

impl ClientCloudFileUploadBlockDetails {
    pub fn new() -> ClientCloudFileUploadBlockDetails {
        ::std::default::Default::default()
    }

    // optional string url_host = 1;


    pub fn get_url_host(&self) -> &str {
        match self.url_host.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_url_host(&mut self) {
        self.url_host.clear();
    }

    pub fn has_url_host(&self) -> bool {
        self.url_host.is_some()
    }

    // Param is passed by value, moved
    pub fn set_url_host(&mut self, v: ::std::string::String) {
        self.url_host = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_url_host(&mut self) -> &mut ::std::string::String {
        if self.url_host.is_none() {
            self.url_host.set_default();
        }
        self.url_host.as_mut().unwrap()
    }

    // Take field
    pub fn take_url_host(&mut self) -> ::std::string::String {
        self.url_host.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional string url_path = 2;


    pub fn get_url_path(&self) -> &str {
        match self.url_path.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_url_path(&mut self) {
        self.url_path.clear();
    }

    pub fn has_url_path(&self) -> bool {
        self.url_path.is_some()
    }

    // Param is passed by value, moved
    pub fn set_url_path(&mut self, v: ::std::string::String) {
        self.url_path = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_url_path(&mut self) -> &mut ::std::string::String {
        if self.url_path.is_none() {
            self.url_path.set_default();
        }
        self.url_path.as_mut().unwrap()
    }

    // Take field
    pub fn take_url_path(&mut self) -> ::std::string::String {
        self.url_path.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional bool use_https = 3;


    pub fn get_use_https(&self) -> bool {
        self.use_https.unwrap_or(false)
    }
    pub fn clear_use_https(&mut self) {
        self.use_https = ::std::option::Option::None;
    }

    pub fn has_use_https(&self) -> bool {
        self.use_https.is_some()
    }

    // Param is passed by value, moved
    pub fn set_use_https(&mut self, v: bool) {
        self.use_https = ::std::option::Option::Some(v);
    }

    // optional int32 http_method = 4;


    pub fn get_http_method(&self) -> i32 {
        self.http_method.unwrap_or(0)
    }
    pub fn clear_http_method(&mut self) {
        self.http_method = ::std::option::Option::None;
    }

    pub fn has_http_method(&self) -> bool {
        self.http_method.is_some()
    }

    // Param is passed by value, moved
    pub fn set_http_method(&mut self, v: i32) {
        self.http_method = ::std::option::Option::Some(v);
    }

    // repeated .ClientCloudFileUploadBlockDetails.HTTPHeaders request_headers = 5;


    pub fn get_request_headers(&self) -> &[ClientCloudFileUploadBlockDetails_HTTPHeaders] {
        &self.request_headers
    }
    pub fn clear_request_headers(&mut self) {
        self.request_headers.clear();
    }

    // Param is passed by value, moved
    pub fn set_request_headers(&mut self, v: ::protobuf::RepeatedField<ClientCloudFileUploadBlockDetails_HTTPHeaders>) {
        self.request_headers = v;
    }

    // Mutable pointer to the field.
    pub fn mut_request_headers(&mut self) -> &mut ::protobuf::RepeatedField<ClientCloudFileUploadBlockDetails_HTTPHeaders> {
        &mut self.request_headers
    }

    // Take field
    pub fn take_request_headers(&mut self) -> ::protobuf::RepeatedField<ClientCloudFileUploadBlockDetails_HTTPHeaders> {
        ::std::mem::replace(&mut self.request_headers, ::protobuf::RepeatedField::new())
    }

    // optional uint64 block_offset = 6;


    pub fn get_block_offset(&self) -> u64 {
        self.block_offset.unwrap_or(0)
    }
    pub fn clear_block_offset(&mut self) {
        self.block_offset = ::std::option::Option::None;
    }

    pub fn has_block_offset(&self) -> bool {
        self.block_offset.is_some()
    }

    // Param is passed by value, moved
    pub fn set_block_offset(&mut self, v: u64) {
        self.block_offset = ::std::option::Option::Some(v);
    }

    // optional uint32 block_length = 7;


    pub fn get_block_length(&self) -> u32 {
        self.block_length.unwrap_or(0)
    }
    pub fn clear_block_length(&mut self) {
        self.block_length = ::std::option::Option::None;
    }

    pub fn has_block_length(&self) -> bool {
        self.block_length.is_some()
    }

    // Param is passed by value, moved
    pub fn set_block_length(&mut self, v: u32) {
        self.block_length = ::std::option::Option::Some(v);
    }

    // optional bytes explicit_body_data = 8;


    pub fn get_explicit_body_data(&self) -> &[u8] {
        match self.explicit_body_data.as_ref() {
            Some(v) => &v,
            None => &[],
        }
    }
    pub fn clear_explicit_body_data(&mut self) {
        self.explicit_body_data.clear();
    }

    pub fn has_explicit_body_data(&self) -> bool {
        self.explicit_body_data.is_some()
    }

    // Param is passed by value, moved
    pub fn set_explicit_body_data(&mut self, v: ::std::vec::Vec<u8>) {
        self.explicit_body_data = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_explicit_body_data(&mut self) -> &mut ::std::vec::Vec<u8> {
        if self.explicit_body_data.is_none() {
            self.explicit_body_data.set_default();
        }
        self.explicit_body_data.as_mut().unwrap()
    }

    // Take field
    pub fn take_explicit_body_data(&mut self) -> ::std::vec::Vec<u8> {
        self.explicit_body_data.take().unwrap_or_else(|| ::std::vec::Vec::new())
    }

    // optional bool may_parallelize = 9;


    pub fn get_may_parallelize(&self) -> bool {
        self.may_parallelize.unwrap_or(false)
    }
    pub fn clear_may_parallelize(&mut self) {
        self.may_parallelize = ::std::option::Option::None;
    }

    pub fn has_may_parallelize(&self) -> bool {
        self.may_parallelize.is_some()
    }

    // Param is passed by value, moved
    pub fn set_may_parallelize(&mut self, v: bool) {
        self.may_parallelize = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for ClientCloudFileUploadBlockDetails {
    fn is_initialized(&self) -> bool {
        for v in &self.request_headers {
            if !v.is_initialized() {
                return false;
            }
        };
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.url_host)?;
                },
                2 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.url_path)?;
                },
                3 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.use_https = ::std::option::Option::Some(tmp);
                },
                4 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_int32()?;
                    self.http_method = ::std::option::Option::Some(tmp);
                },
                5 => {
                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.request_headers)?;
                },
                6 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.block_offset = ::std::option::Option::Some(tmp);
                },
                7 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.block_length = ::std::option::Option::Some(tmp);
                },
                8 => {
                    ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.explicit_body_data)?;
                },
                9 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.may_parallelize = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(ref v) = self.url_host.as_ref() {
            my_size += ::protobuf::rt::string_size(1, &v);
        }
        if let Some(ref v) = self.url_path.as_ref() {
            my_size += ::protobuf::rt::string_size(2, &v);
        }
        if let Some(v) = self.use_https {
            my_size += 2;
        }
        if let Some(v) = self.http_method {
            my_size += ::protobuf::rt::value_size(4, v, ::protobuf::wire_format::WireTypeVarint);
        }
        for value in &self.request_headers {
            let len = value.compute_size();
            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
        };
        if let Some(v) = self.block_offset {
            my_size += ::protobuf::rt::value_size(6, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.block_length {
            my_size += ::protobuf::rt::value_size(7, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(ref v) = self.explicit_body_data.as_ref() {
            my_size += ::protobuf::rt::bytes_size(8, &v);
        }
        if let Some(v) = self.may_parallelize {
            my_size += 2;
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(ref v) = self.url_host.as_ref() {
            os.write_string(1, &v)?;
        }
        if let Some(ref v) = self.url_path.as_ref() {
            os.write_string(2, &v)?;
        }
        if let Some(v) = self.use_https {
            os.write_bool(3, v)?;
        }
        if let Some(v) = self.http_method {
            os.write_int32(4, v)?;
        }
        for v in &self.request_headers {
            os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
            os.write_raw_varint32(v.get_cached_size())?;
            v.write_to_with_cached_sizes(os)?;
        };
        if let Some(v) = self.block_offset {
            os.write_uint64(6, v)?;
        }
        if let Some(v) = self.block_length {
            os.write_uint32(7, v)?;
        }
        if let Some(ref v) = self.explicit_body_data.as_ref() {
            os.write_bytes(8, &v)?;
        }
        if let Some(v) = self.may_parallelize {
            os.write_bool(9, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> ClientCloudFileUploadBlockDetails {
        ClientCloudFileUploadBlockDetails::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "url_host",
                |m: &ClientCloudFileUploadBlockDetails| { &m.url_host },
                |m: &mut ClientCloudFileUploadBlockDetails| { &mut m.url_host },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "url_path",
                |m: &ClientCloudFileUploadBlockDetails| { &m.url_path },
                |m: &mut ClientCloudFileUploadBlockDetails| { &mut m.url_path },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "use_https",
                |m: &ClientCloudFileUploadBlockDetails| { &m.use_https },
                |m: &mut ClientCloudFileUploadBlockDetails| { &mut m.use_https },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
                "http_method",
                |m: &ClientCloudFileUploadBlockDetails| { &m.http_method },
                |m: &mut ClientCloudFileUploadBlockDetails| { &mut m.http_method },
            ));
            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ClientCloudFileUploadBlockDetails_HTTPHeaders>>(
                "request_headers",
                |m: &ClientCloudFileUploadBlockDetails| { &m.request_headers },
                |m: &mut ClientCloudFileUploadBlockDetails| { &mut m.request_headers },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "block_offset",
                |m: &ClientCloudFileUploadBlockDetails| { &m.block_offset },
                |m: &mut ClientCloudFileUploadBlockDetails| { &mut m.block_offset },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "block_length",
                |m: &ClientCloudFileUploadBlockDetails| { &m.block_length },
                |m: &mut ClientCloudFileUploadBlockDetails| { &mut m.block_length },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
                "explicit_body_data",
                |m: &ClientCloudFileUploadBlockDetails| { &m.explicit_body_data },
                |m: &mut ClientCloudFileUploadBlockDetails| { &mut m.explicit_body_data },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "may_parallelize",
                |m: &ClientCloudFileUploadBlockDetails| { &m.may_parallelize },
                |m: &mut ClientCloudFileUploadBlockDetails| { &mut m.may_parallelize },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ClientCloudFileUploadBlockDetails>(
                "ClientCloudFileUploadBlockDetails",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static ClientCloudFileUploadBlockDetails {
        static instance: ::protobuf::rt::LazyV2<ClientCloudFileUploadBlockDetails> = ::protobuf::rt::LazyV2::INIT;
        instance.get(ClientCloudFileUploadBlockDetails::new)
    }
}

impl ::protobuf::Clear for ClientCloudFileUploadBlockDetails {
    fn clear(&mut self) {
        self.url_host.clear();
        self.url_path.clear();
        self.use_https = ::std::option::Option::None;
        self.http_method = ::std::option::Option::None;
        self.request_headers.clear();
        self.block_offset = ::std::option::Option::None;
        self.block_length = ::std::option::Option::None;
        self.explicit_body_data.clear();
        self.may_parallelize = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for ClientCloudFileUploadBlockDetails {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for ClientCloudFileUploadBlockDetails {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct ClientCloudFileUploadBlockDetails_HTTPHeaders {
    // message fields
    name: ::protobuf::SingularField<::std::string::String>,
    value: ::protobuf::SingularField<::std::string::String>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a ClientCloudFileUploadBlockDetails_HTTPHeaders {
    fn default() -> &'a ClientCloudFileUploadBlockDetails_HTTPHeaders {
        <ClientCloudFileUploadBlockDetails_HTTPHeaders as ::protobuf::Message>::default_instance()
    }
}

impl ClientCloudFileUploadBlockDetails_HTTPHeaders {
    pub fn new() -> ClientCloudFileUploadBlockDetails_HTTPHeaders {
        ::std::default::Default::default()
    }

    // optional string name = 1;


    pub fn get_name(&self) -> &str {
        match self.name.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_name(&mut self) {
        self.name.clear();
    }

    pub fn has_name(&self) -> bool {
        self.name.is_some()
    }

    // Param is passed by value, moved
    pub fn set_name(&mut self, v: ::std::string::String) {
        self.name = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_name(&mut self) -> &mut ::std::string::String {
        if self.name.is_none() {
            self.name.set_default();
        }
        self.name.as_mut().unwrap()
    }

    // Take field
    pub fn take_name(&mut self) -> ::std::string::String {
        self.name.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional string value = 2;


    pub fn get_value(&self) -> &str {
        match self.value.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_value(&mut self) {
        self.value.clear();
    }

    pub fn has_value(&self) -> bool {
        self.value.is_some()
    }

    // Param is passed by value, moved
    pub fn set_value(&mut self, v: ::std::string::String) {
        self.value = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_value(&mut self) -> &mut ::std::string::String {
        if self.value.is_none() {
            self.value.set_default();
        }
        self.value.as_mut().unwrap()
    }

    // Take field
    pub fn take_value(&mut self) -> ::std::string::String {
        self.value.take().unwrap_or_else(|| ::std::string::String::new())
    }
}

impl ::protobuf::Message for ClientCloudFileUploadBlockDetails_HTTPHeaders {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name)?;
                },
                2 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.value)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(ref v) = self.name.as_ref() {
            my_size += ::protobuf::rt::string_size(1, &v);
        }
        if let Some(ref v) = self.value.as_ref() {
            my_size += ::protobuf::rt::string_size(2, &v);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(ref v) = self.name.as_ref() {
            os.write_string(1, &v)?;
        }
        if let Some(ref v) = self.value.as_ref() {
            os.write_string(2, &v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> ClientCloudFileUploadBlockDetails_HTTPHeaders {
        ClientCloudFileUploadBlockDetails_HTTPHeaders::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "name",
                |m: &ClientCloudFileUploadBlockDetails_HTTPHeaders| { &m.name },
                |m: &mut ClientCloudFileUploadBlockDetails_HTTPHeaders| { &mut m.name },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "value",
                |m: &ClientCloudFileUploadBlockDetails_HTTPHeaders| { &m.value },
                |m: &mut ClientCloudFileUploadBlockDetails_HTTPHeaders| { &mut m.value },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ClientCloudFileUploadBlockDetails_HTTPHeaders>(
                "ClientCloudFileUploadBlockDetails.HTTPHeaders",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static ClientCloudFileUploadBlockDetails_HTTPHeaders {
        static instance: ::protobuf::rt::LazyV2<ClientCloudFileUploadBlockDetails_HTTPHeaders> = ::protobuf::rt::LazyV2::INIT;
        instance.get(ClientCloudFileUploadBlockDetails_HTTPHeaders::new)
    }
}

impl ::protobuf::Clear for ClientCloudFileUploadBlockDetails_HTTPHeaders {
    fn clear(&mut self) {
        self.name.clear();
        self.value.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for ClientCloudFileUploadBlockDetails_HTTPHeaders {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for ClientCloudFileUploadBlockDetails_HTTPHeaders {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_ClientBeginFileUpload_Response {
    // message fields
    encrypt_file: ::std::option::Option<bool>,
    pub block_requests: ::protobuf::RepeatedField<ClientCloudFileUploadBlockDetails>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_ClientBeginFileUpload_Response {
    fn default() -> &'a CCloud_ClientBeginFileUpload_Response {
        <CCloud_ClientBeginFileUpload_Response as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_ClientBeginFileUpload_Response {
    pub fn new() -> CCloud_ClientBeginFileUpload_Response {
        ::std::default::Default::default()
    }

    // optional bool encrypt_file = 1;


    pub fn get_encrypt_file(&self) -> bool {
        self.encrypt_file.unwrap_or(false)
    }
    pub fn clear_encrypt_file(&mut self) {
        self.encrypt_file = ::std::option::Option::None;
    }

    pub fn has_encrypt_file(&self) -> bool {
        self.encrypt_file.is_some()
    }

    // Param is passed by value, moved
    pub fn set_encrypt_file(&mut self, v: bool) {
        self.encrypt_file = ::std::option::Option::Some(v);
    }

    // repeated .ClientCloudFileUploadBlockDetails block_requests = 2;


    pub fn get_block_requests(&self) -> &[ClientCloudFileUploadBlockDetails] {
        &self.block_requests
    }
    pub fn clear_block_requests(&mut self) {
        self.block_requests.clear();
    }

    // Param is passed by value, moved
    pub fn set_block_requests(&mut self, v: ::protobuf::RepeatedField<ClientCloudFileUploadBlockDetails>) {
        self.block_requests = v;
    }

    // Mutable pointer to the field.
    pub fn mut_block_requests(&mut self) -> &mut ::protobuf::RepeatedField<ClientCloudFileUploadBlockDetails> {
        &mut self.block_requests
    }

    // Take field
    pub fn take_block_requests(&mut self) -> ::protobuf::RepeatedField<ClientCloudFileUploadBlockDetails> {
        ::std::mem::replace(&mut self.block_requests, ::protobuf::RepeatedField::new())
    }
}

impl ::protobuf::Message for CCloud_ClientBeginFileUpload_Response {
    fn is_initialized(&self) -> bool {
        for v in &self.block_requests {
            if !v.is_initialized() {
                return false;
            }
        };
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.encrypt_file = ::std::option::Option::Some(tmp);
                },
                2 => {
                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.block_requests)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.encrypt_file {
            my_size += 2;
        }
        for value in &self.block_requests {
            let len = value.compute_size();
            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
        };
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.encrypt_file {
            os.write_bool(1, v)?;
        }
        for v in &self.block_requests {
            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
            os.write_raw_varint32(v.get_cached_size())?;
            v.write_to_with_cached_sizes(os)?;
        };
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_ClientBeginFileUpload_Response {
        CCloud_ClientBeginFileUpload_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "encrypt_file",
                |m: &CCloud_ClientBeginFileUpload_Response| { &m.encrypt_file },
                |m: &mut CCloud_ClientBeginFileUpload_Response| { &mut m.encrypt_file },
            ));
            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ClientCloudFileUploadBlockDetails>>(
                "block_requests",
                |m: &CCloud_ClientBeginFileUpload_Response| { &m.block_requests },
                |m: &mut CCloud_ClientBeginFileUpload_Response| { &mut m.block_requests },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_ClientBeginFileUpload_Response>(
                "CCloud_ClientBeginFileUpload_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_ClientBeginFileUpload_Response {
        static instance: ::protobuf::rt::LazyV2<CCloud_ClientBeginFileUpload_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_ClientBeginFileUpload_Response::new)
    }
}

impl ::protobuf::Clear for CCloud_ClientBeginFileUpload_Response {
    fn clear(&mut self) {
        self.encrypt_file = ::std::option::Option::None;
        self.block_requests.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_ClientBeginFileUpload_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_ClientBeginFileUpload_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_ClientCommitFileUpload_Request {
    // message fields
    transfer_succeeded: ::std::option::Option<bool>,
    appid: ::std::option::Option<u32>,
    file_sha: ::protobuf::SingularField<::std::vec::Vec<u8>>,
    filename: ::protobuf::SingularField<::std::string::String>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_ClientCommitFileUpload_Request {
    fn default() -> &'a CCloud_ClientCommitFileUpload_Request {
        <CCloud_ClientCommitFileUpload_Request as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_ClientCommitFileUpload_Request {
    pub fn new() -> CCloud_ClientCommitFileUpload_Request {
        ::std::default::Default::default()
    }

    // optional bool transfer_succeeded = 1;


    pub fn get_transfer_succeeded(&self) -> bool {
        self.transfer_succeeded.unwrap_or(false)
    }
    pub fn clear_transfer_succeeded(&mut self) {
        self.transfer_succeeded = ::std::option::Option::None;
    }

    pub fn has_transfer_succeeded(&self) -> bool {
        self.transfer_succeeded.is_some()
    }

    // Param is passed by value, moved
    pub fn set_transfer_succeeded(&mut self, v: bool) {
        self.transfer_succeeded = ::std::option::Option::Some(v);
    }

    // optional uint32 appid = 2;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // optional bytes file_sha = 3;


    pub fn get_file_sha(&self) -> &[u8] {
        match self.file_sha.as_ref() {
            Some(v) => &v,
            None => &[],
        }
    }
    pub fn clear_file_sha(&mut self) {
        self.file_sha.clear();
    }

    pub fn has_file_sha(&self) -> bool {
        self.file_sha.is_some()
    }

    // Param is passed by value, moved
    pub fn set_file_sha(&mut self, v: ::std::vec::Vec<u8>) {
        self.file_sha = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_file_sha(&mut self) -> &mut ::std::vec::Vec<u8> {
        if self.file_sha.is_none() {
            self.file_sha.set_default();
        }
        self.file_sha.as_mut().unwrap()
    }

    // Take field
    pub fn take_file_sha(&mut self) -> ::std::vec::Vec<u8> {
        self.file_sha.take().unwrap_or_else(|| ::std::vec::Vec::new())
    }

    // optional string filename = 4;


    pub fn get_filename(&self) -> &str {
        match self.filename.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_filename(&mut self) {
        self.filename.clear();
    }

    pub fn has_filename(&self) -> bool {
        self.filename.is_some()
    }

    // Param is passed by value, moved
    pub fn set_filename(&mut self, v: ::std::string::String) {
        self.filename = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_filename(&mut self) -> &mut ::std::string::String {
        if self.filename.is_none() {
            self.filename.set_default();
        }
        self.filename.as_mut().unwrap()
    }

    // Take field
    pub fn take_filename(&mut self) -> ::std::string::String {
        self.filename.take().unwrap_or_else(|| ::std::string::String::new())
    }
}

impl ::protobuf::Message for CCloud_ClientCommitFileUpload_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.transfer_succeeded = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                3 => {
                    ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.file_sha)?;
                },
                4 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.filename)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.transfer_succeeded {
            my_size += 2;
        }
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(ref v) = self.file_sha.as_ref() {
            my_size += ::protobuf::rt::bytes_size(3, &v);
        }
        if let Some(ref v) = self.filename.as_ref() {
            my_size += ::protobuf::rt::string_size(4, &v);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.transfer_succeeded {
            os.write_bool(1, v)?;
        }
        if let Some(v) = self.appid {
            os.write_uint32(2, v)?;
        }
        if let Some(ref v) = self.file_sha.as_ref() {
            os.write_bytes(3, &v)?;
        }
        if let Some(ref v) = self.filename.as_ref() {
            os.write_string(4, &v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_ClientCommitFileUpload_Request {
        CCloud_ClientCommitFileUpload_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "transfer_succeeded",
                |m: &CCloud_ClientCommitFileUpload_Request| { &m.transfer_succeeded },
                |m: &mut CCloud_ClientCommitFileUpload_Request| { &mut m.transfer_succeeded },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CCloud_ClientCommitFileUpload_Request| { &m.appid },
                |m: &mut CCloud_ClientCommitFileUpload_Request| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
                "file_sha",
                |m: &CCloud_ClientCommitFileUpload_Request| { &m.file_sha },
                |m: &mut CCloud_ClientCommitFileUpload_Request| { &mut m.file_sha },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "filename",
                |m: &CCloud_ClientCommitFileUpload_Request| { &m.filename },
                |m: &mut CCloud_ClientCommitFileUpload_Request| { &mut m.filename },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_ClientCommitFileUpload_Request>(
                "CCloud_ClientCommitFileUpload_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_ClientCommitFileUpload_Request {
        static instance: ::protobuf::rt::LazyV2<CCloud_ClientCommitFileUpload_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_ClientCommitFileUpload_Request::new)
    }
}

impl ::protobuf::Clear for CCloud_ClientCommitFileUpload_Request {
    fn clear(&mut self) {
        self.transfer_succeeded = ::std::option::Option::None;
        self.appid = ::std::option::Option::None;
        self.file_sha.clear();
        self.filename.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_ClientCommitFileUpload_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_ClientCommitFileUpload_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_ClientCommitFileUpload_Response {
    // message fields
    file_committed: ::std::option::Option<bool>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_ClientCommitFileUpload_Response {
    fn default() -> &'a CCloud_ClientCommitFileUpload_Response {
        <CCloud_ClientCommitFileUpload_Response as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_ClientCommitFileUpload_Response {
    pub fn new() -> CCloud_ClientCommitFileUpload_Response {
        ::std::default::Default::default()
    }

    // optional bool file_committed = 1;


    pub fn get_file_committed(&self) -> bool {
        self.file_committed.unwrap_or(false)
    }
    pub fn clear_file_committed(&mut self) {
        self.file_committed = ::std::option::Option::None;
    }

    pub fn has_file_committed(&self) -> bool {
        self.file_committed.is_some()
    }

    // Param is passed by value, moved
    pub fn set_file_committed(&mut self, v: bool) {
        self.file_committed = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CCloud_ClientCommitFileUpload_Response {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.file_committed = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.file_committed {
            my_size += 2;
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.file_committed {
            os.write_bool(1, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_ClientCommitFileUpload_Response {
        CCloud_ClientCommitFileUpload_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "file_committed",
                |m: &CCloud_ClientCommitFileUpload_Response| { &m.file_committed },
                |m: &mut CCloud_ClientCommitFileUpload_Response| { &mut m.file_committed },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_ClientCommitFileUpload_Response>(
                "CCloud_ClientCommitFileUpload_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_ClientCommitFileUpload_Response {
        static instance: ::protobuf::rt::LazyV2<CCloud_ClientCommitFileUpload_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_ClientCommitFileUpload_Response::new)
    }
}

impl ::protobuf::Clear for CCloud_ClientCommitFileUpload_Response {
    fn clear(&mut self) {
        self.file_committed = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_ClientCommitFileUpload_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_ClientCommitFileUpload_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_ClientFileDownload_Request {
    // message fields
    appid: ::std::option::Option<u32>,
    filename: ::protobuf::SingularField<::std::string::String>,
    realm: ::std::option::Option<u32>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_ClientFileDownload_Request {
    fn default() -> &'a CCloud_ClientFileDownload_Request {
        <CCloud_ClientFileDownload_Request as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_ClientFileDownload_Request {
    pub fn new() -> CCloud_ClientFileDownload_Request {
        ::std::default::Default::default()
    }

    // optional uint32 appid = 1;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // optional string filename = 2;


    pub fn get_filename(&self) -> &str {
        match self.filename.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_filename(&mut self) {
        self.filename.clear();
    }

    pub fn has_filename(&self) -> bool {
        self.filename.is_some()
    }

    // Param is passed by value, moved
    pub fn set_filename(&mut self, v: ::std::string::String) {
        self.filename = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_filename(&mut self) -> &mut ::std::string::String {
        if self.filename.is_none() {
            self.filename.set_default();
        }
        self.filename.as_mut().unwrap()
    }

    // Take field
    pub fn take_filename(&mut self) -> ::std::string::String {
        self.filename.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional uint32 realm = 3;


    pub fn get_realm(&self) -> u32 {
        self.realm.unwrap_or(0)
    }
    pub fn clear_realm(&mut self) {
        self.realm = ::std::option::Option::None;
    }

    pub fn has_realm(&self) -> bool {
        self.realm.is_some()
    }

    // Param is passed by value, moved
    pub fn set_realm(&mut self, v: u32) {
        self.realm = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CCloud_ClientFileDownload_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.filename)?;
                },
                3 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.realm = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(ref v) = self.filename.as_ref() {
            my_size += ::protobuf::rt::string_size(2, &v);
        }
        if let Some(v) = self.realm {
            my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.appid {
            os.write_uint32(1, v)?;
        }
        if let Some(ref v) = self.filename.as_ref() {
            os.write_string(2, &v)?;
        }
        if let Some(v) = self.realm {
            os.write_uint32(3, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_ClientFileDownload_Request {
        CCloud_ClientFileDownload_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CCloud_ClientFileDownload_Request| { &m.appid },
                |m: &mut CCloud_ClientFileDownload_Request| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "filename",
                |m: &CCloud_ClientFileDownload_Request| { &m.filename },
                |m: &mut CCloud_ClientFileDownload_Request| { &mut m.filename },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "realm",
                |m: &CCloud_ClientFileDownload_Request| { &m.realm },
                |m: &mut CCloud_ClientFileDownload_Request| { &mut m.realm },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_ClientFileDownload_Request>(
                "CCloud_ClientFileDownload_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_ClientFileDownload_Request {
        static instance: ::protobuf::rt::LazyV2<CCloud_ClientFileDownload_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_ClientFileDownload_Request::new)
    }
}

impl ::protobuf::Clear for CCloud_ClientFileDownload_Request {
    fn clear(&mut self) {
        self.appid = ::std::option::Option::None;
        self.filename.clear();
        self.realm = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_ClientFileDownload_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_ClientFileDownload_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_ClientFileDownload_Response {
    // message fields
    appid: ::std::option::Option<u32>,
    file_size: ::std::option::Option<u32>,
    raw_file_size: ::std::option::Option<u32>,
    sha_file: ::protobuf::SingularField<::std::vec::Vec<u8>>,
    time_stamp: ::std::option::Option<u64>,
    is_explicit_delete: ::std::option::Option<bool>,
    url_host: ::protobuf::SingularField<::std::string::String>,
    url_path: ::protobuf::SingularField<::std::string::String>,
    use_https: ::std::option::Option<bool>,
    pub request_headers: ::protobuf::RepeatedField<CCloud_ClientFileDownload_Response_HTTPHeaders>,
    encrypted: ::std::option::Option<bool>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_ClientFileDownload_Response {
    fn default() -> &'a CCloud_ClientFileDownload_Response {
        <CCloud_ClientFileDownload_Response as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_ClientFileDownload_Response {
    pub fn new() -> CCloud_ClientFileDownload_Response {
        ::std::default::Default::default()
    }

    // optional uint32 appid = 1;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // optional uint32 file_size = 2;


    pub fn get_file_size(&self) -> u32 {
        self.file_size.unwrap_or(0)
    }
    pub fn clear_file_size(&mut self) {
        self.file_size = ::std::option::Option::None;
    }

    pub fn has_file_size(&self) -> bool {
        self.file_size.is_some()
    }

    // Param is passed by value, moved
    pub fn set_file_size(&mut self, v: u32) {
        self.file_size = ::std::option::Option::Some(v);
    }

    // optional uint32 raw_file_size = 3;


    pub fn get_raw_file_size(&self) -> u32 {
        self.raw_file_size.unwrap_or(0)
    }
    pub fn clear_raw_file_size(&mut self) {
        self.raw_file_size = ::std::option::Option::None;
    }

    pub fn has_raw_file_size(&self) -> bool {
        self.raw_file_size.is_some()
    }

    // Param is passed by value, moved
    pub fn set_raw_file_size(&mut self, v: u32) {
        self.raw_file_size = ::std::option::Option::Some(v);
    }

    // optional bytes sha_file = 4;


    pub fn get_sha_file(&self) -> &[u8] {
        match self.sha_file.as_ref() {
            Some(v) => &v,
            None => &[],
        }
    }
    pub fn clear_sha_file(&mut self) {
        self.sha_file.clear();
    }

    pub fn has_sha_file(&self) -> bool {
        self.sha_file.is_some()
    }

    // Param is passed by value, moved
    pub fn set_sha_file(&mut self, v: ::std::vec::Vec<u8>) {
        self.sha_file = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_sha_file(&mut self) -> &mut ::std::vec::Vec<u8> {
        if self.sha_file.is_none() {
            self.sha_file.set_default();
        }
        self.sha_file.as_mut().unwrap()
    }

    // Take field
    pub fn take_sha_file(&mut self) -> ::std::vec::Vec<u8> {
        self.sha_file.take().unwrap_or_else(|| ::std::vec::Vec::new())
    }

    // optional uint64 time_stamp = 5;


    pub fn get_time_stamp(&self) -> u64 {
        self.time_stamp.unwrap_or(0)
    }
    pub fn clear_time_stamp(&mut self) {
        self.time_stamp = ::std::option::Option::None;
    }

    pub fn has_time_stamp(&self) -> bool {
        self.time_stamp.is_some()
    }

    // Param is passed by value, moved
    pub fn set_time_stamp(&mut self, v: u64) {
        self.time_stamp = ::std::option::Option::Some(v);
    }

    // optional bool is_explicit_delete = 6;


    pub fn get_is_explicit_delete(&self) -> bool {
        self.is_explicit_delete.unwrap_or(false)
    }
    pub fn clear_is_explicit_delete(&mut self) {
        self.is_explicit_delete = ::std::option::Option::None;
    }

    pub fn has_is_explicit_delete(&self) -> bool {
        self.is_explicit_delete.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_explicit_delete(&mut self, v: bool) {
        self.is_explicit_delete = ::std::option::Option::Some(v);
    }

    // optional string url_host = 7;


    pub fn get_url_host(&self) -> &str {
        match self.url_host.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_url_host(&mut self) {
        self.url_host.clear();
    }

    pub fn has_url_host(&self) -> bool {
        self.url_host.is_some()
    }

    // Param is passed by value, moved
    pub fn set_url_host(&mut self, v: ::std::string::String) {
        self.url_host = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_url_host(&mut self) -> &mut ::std::string::String {
        if self.url_host.is_none() {
            self.url_host.set_default();
        }
        self.url_host.as_mut().unwrap()
    }

    // Take field
    pub fn take_url_host(&mut self) -> ::std::string::String {
        self.url_host.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional string url_path = 8;


    pub fn get_url_path(&self) -> &str {
        match self.url_path.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_url_path(&mut self) {
        self.url_path.clear();
    }

    pub fn has_url_path(&self) -> bool {
        self.url_path.is_some()
    }

    // Param is passed by value, moved
    pub fn set_url_path(&mut self, v: ::std::string::String) {
        self.url_path = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_url_path(&mut self) -> &mut ::std::string::String {
        if self.url_path.is_none() {
            self.url_path.set_default();
        }
        self.url_path.as_mut().unwrap()
    }

    // Take field
    pub fn take_url_path(&mut self) -> ::std::string::String {
        self.url_path.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional bool use_https = 9;


    pub fn get_use_https(&self) -> bool {
        self.use_https.unwrap_or(false)
    }
    pub fn clear_use_https(&mut self) {
        self.use_https = ::std::option::Option::None;
    }

    pub fn has_use_https(&self) -> bool {
        self.use_https.is_some()
    }

    // Param is passed by value, moved
    pub fn set_use_https(&mut self, v: bool) {
        self.use_https = ::std::option::Option::Some(v);
    }

    // repeated .CCloud_ClientFileDownload_Response.HTTPHeaders request_headers = 10;


    pub fn get_request_headers(&self) -> &[CCloud_ClientFileDownload_Response_HTTPHeaders] {
        &self.request_headers
    }
    pub fn clear_request_headers(&mut self) {
        self.request_headers.clear();
    }

    // Param is passed by value, moved
    pub fn set_request_headers(&mut self, v: ::protobuf::RepeatedField<CCloud_ClientFileDownload_Response_HTTPHeaders>) {
        self.request_headers = v;
    }

    // Mutable pointer to the field.
    pub fn mut_request_headers(&mut self) -> &mut ::protobuf::RepeatedField<CCloud_ClientFileDownload_Response_HTTPHeaders> {
        &mut self.request_headers
    }

    // Take field
    pub fn take_request_headers(&mut self) -> ::protobuf::RepeatedField<CCloud_ClientFileDownload_Response_HTTPHeaders> {
        ::std::mem::replace(&mut self.request_headers, ::protobuf::RepeatedField::new())
    }

    // optional bool encrypted = 11;


    pub fn get_encrypted(&self) -> bool {
        self.encrypted.unwrap_or(false)
    }
    pub fn clear_encrypted(&mut self) {
        self.encrypted = ::std::option::Option::None;
    }

    pub fn has_encrypted(&self) -> bool {
        self.encrypted.is_some()
    }

    // Param is passed by value, moved
    pub fn set_encrypted(&mut self, v: bool) {
        self.encrypted = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CCloud_ClientFileDownload_Response {
    fn is_initialized(&self) -> bool {
        for v in &self.request_headers {
            if !v.is_initialized() {
                return false;
            }
        };
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.file_size = ::std::option::Option::Some(tmp);
                },
                3 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.raw_file_size = ::std::option::Option::Some(tmp);
                },
                4 => {
                    ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.sha_file)?;
                },
                5 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint64()?;
                    self.time_stamp = ::std::option::Option::Some(tmp);
                },
                6 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.is_explicit_delete = ::std::option::Option::Some(tmp);
                },
                7 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.url_host)?;
                },
                8 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.url_path)?;
                },
                9 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.use_https = ::std::option::Option::Some(tmp);
                },
                10 => {
                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.request_headers)?;
                },
                11 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.encrypted = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.file_size {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.raw_file_size {
            my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(ref v) = self.sha_file.as_ref() {
            my_size += ::protobuf::rt::bytes_size(4, &v);
        }
        if let Some(v) = self.time_stamp {
            my_size += ::protobuf::rt::value_size(5, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.is_explicit_delete {
            my_size += 2;
        }
        if let Some(ref v) = self.url_host.as_ref() {
            my_size += ::protobuf::rt::string_size(7, &v);
        }
        if let Some(ref v) = self.url_path.as_ref() {
            my_size += ::protobuf::rt::string_size(8, &v);
        }
        if let Some(v) = self.use_https {
            my_size += 2;
        }
        for value in &self.request_headers {
            let len = value.compute_size();
            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
        };
        if let Some(v) = self.encrypted {
            my_size += 2;
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.appid {
            os.write_uint32(1, v)?;
        }
        if let Some(v) = self.file_size {
            os.write_uint32(2, v)?;
        }
        if let Some(v) = self.raw_file_size {
            os.write_uint32(3, v)?;
        }
        if let Some(ref v) = self.sha_file.as_ref() {
            os.write_bytes(4, &v)?;
        }
        if let Some(v) = self.time_stamp {
            os.write_uint64(5, v)?;
        }
        if let Some(v) = self.is_explicit_delete {
            os.write_bool(6, v)?;
        }
        if let Some(ref v) = self.url_host.as_ref() {
            os.write_string(7, &v)?;
        }
        if let Some(ref v) = self.url_path.as_ref() {
            os.write_string(8, &v)?;
        }
        if let Some(v) = self.use_https {
            os.write_bool(9, v)?;
        }
        for v in &self.request_headers {
            os.write_tag(10, ::protobuf::wire_format::WireTypeLengthDelimited)?;
            os.write_raw_varint32(v.get_cached_size())?;
            v.write_to_with_cached_sizes(os)?;
        };
        if let Some(v) = self.encrypted {
            os.write_bool(11, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_ClientFileDownload_Response {
        CCloud_ClientFileDownload_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CCloud_ClientFileDownload_Response| { &m.appid },
                |m: &mut CCloud_ClientFileDownload_Response| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "file_size",
                |m: &CCloud_ClientFileDownload_Response| { &m.file_size },
                |m: &mut CCloud_ClientFileDownload_Response| { &mut m.file_size },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "raw_file_size",
                |m: &CCloud_ClientFileDownload_Response| { &m.raw_file_size },
                |m: &mut CCloud_ClientFileDownload_Response| { &mut m.raw_file_size },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
                "sha_file",
                |m: &CCloud_ClientFileDownload_Response| { &m.sha_file },
                |m: &mut CCloud_ClientFileDownload_Response| { &mut m.sha_file },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
                "time_stamp",
                |m: &CCloud_ClientFileDownload_Response| { &m.time_stamp },
                |m: &mut CCloud_ClientFileDownload_Response| { &mut m.time_stamp },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "is_explicit_delete",
                |m: &CCloud_ClientFileDownload_Response| { &m.is_explicit_delete },
                |m: &mut CCloud_ClientFileDownload_Response| { &mut m.is_explicit_delete },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "url_host",
                |m: &CCloud_ClientFileDownload_Response| { &m.url_host },
                |m: &mut CCloud_ClientFileDownload_Response| { &mut m.url_host },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "url_path",
                |m: &CCloud_ClientFileDownload_Response| { &m.url_path },
                |m: &mut CCloud_ClientFileDownload_Response| { &mut m.url_path },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "use_https",
                |m: &CCloud_ClientFileDownload_Response| { &m.use_https },
                |m: &mut CCloud_ClientFileDownload_Response| { &mut m.use_https },
            ));
            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CCloud_ClientFileDownload_Response_HTTPHeaders>>(
                "request_headers",
                |m: &CCloud_ClientFileDownload_Response| { &m.request_headers },
                |m: &mut CCloud_ClientFileDownload_Response| { &mut m.request_headers },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "encrypted",
                |m: &CCloud_ClientFileDownload_Response| { &m.encrypted },
                |m: &mut CCloud_ClientFileDownload_Response| { &mut m.encrypted },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_ClientFileDownload_Response>(
                "CCloud_ClientFileDownload_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_ClientFileDownload_Response {
        static instance: ::protobuf::rt::LazyV2<CCloud_ClientFileDownload_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_ClientFileDownload_Response::new)
    }
}

impl ::protobuf::Clear for CCloud_ClientFileDownload_Response {
    fn clear(&mut self) {
        self.appid = ::std::option::Option::None;
        self.file_size = ::std::option::Option::None;
        self.raw_file_size = ::std::option::Option::None;
        self.sha_file.clear();
        self.time_stamp = ::std::option::Option::None;
        self.is_explicit_delete = ::std::option::Option::None;
        self.url_host.clear();
        self.url_path.clear();
        self.use_https = ::std::option::Option::None;
        self.request_headers.clear();
        self.encrypted = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_ClientFileDownload_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_ClientFileDownload_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_ClientFileDownload_Response_HTTPHeaders {
    // message fields
    name: ::protobuf::SingularField<::std::string::String>,
    value: ::protobuf::SingularField<::std::string::String>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_ClientFileDownload_Response_HTTPHeaders {
    fn default() -> &'a CCloud_ClientFileDownload_Response_HTTPHeaders {
        <CCloud_ClientFileDownload_Response_HTTPHeaders as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_ClientFileDownload_Response_HTTPHeaders {
    pub fn new() -> CCloud_ClientFileDownload_Response_HTTPHeaders {
        ::std::default::Default::default()
    }

    // optional string name = 1;


    pub fn get_name(&self) -> &str {
        match self.name.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_name(&mut self) {
        self.name.clear();
    }

    pub fn has_name(&self) -> bool {
        self.name.is_some()
    }

    // Param is passed by value, moved
    pub fn set_name(&mut self, v: ::std::string::String) {
        self.name = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_name(&mut self) -> &mut ::std::string::String {
        if self.name.is_none() {
            self.name.set_default();
        }
        self.name.as_mut().unwrap()
    }

    // Take field
    pub fn take_name(&mut self) -> ::std::string::String {
        self.name.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional string value = 2;


    pub fn get_value(&self) -> &str {
        match self.value.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_value(&mut self) {
        self.value.clear();
    }

    pub fn has_value(&self) -> bool {
        self.value.is_some()
    }

    // Param is passed by value, moved
    pub fn set_value(&mut self, v: ::std::string::String) {
        self.value = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_value(&mut self) -> &mut ::std::string::String {
        if self.value.is_none() {
            self.value.set_default();
        }
        self.value.as_mut().unwrap()
    }

    // Take field
    pub fn take_value(&mut self) -> ::std::string::String {
        self.value.take().unwrap_or_else(|| ::std::string::String::new())
    }
}

impl ::protobuf::Message for CCloud_ClientFileDownload_Response_HTTPHeaders {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name)?;
                },
                2 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.value)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(ref v) = self.name.as_ref() {
            my_size += ::protobuf::rt::string_size(1, &v);
        }
        if let Some(ref v) = self.value.as_ref() {
            my_size += ::protobuf::rt::string_size(2, &v);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(ref v) = self.name.as_ref() {
            os.write_string(1, &v)?;
        }
        if let Some(ref v) = self.value.as_ref() {
            os.write_string(2, &v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_ClientFileDownload_Response_HTTPHeaders {
        CCloud_ClientFileDownload_Response_HTTPHeaders::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "name",
                |m: &CCloud_ClientFileDownload_Response_HTTPHeaders| { &m.name },
                |m: &mut CCloud_ClientFileDownload_Response_HTTPHeaders| { &mut m.name },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "value",
                |m: &CCloud_ClientFileDownload_Response_HTTPHeaders| { &m.value },
                |m: &mut CCloud_ClientFileDownload_Response_HTTPHeaders| { &mut m.value },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_ClientFileDownload_Response_HTTPHeaders>(
                "CCloud_ClientFileDownload_Response.HTTPHeaders",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_ClientFileDownload_Response_HTTPHeaders {
        static instance: ::protobuf::rt::LazyV2<CCloud_ClientFileDownload_Response_HTTPHeaders> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_ClientFileDownload_Response_HTTPHeaders::new)
    }
}

impl ::protobuf::Clear for CCloud_ClientFileDownload_Response_HTTPHeaders {
    fn clear(&mut self) {
        self.name.clear();
        self.value.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_ClientFileDownload_Response_HTTPHeaders {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_ClientFileDownload_Response_HTTPHeaders {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_ClientDeleteFile_Request {
    // message fields
    appid: ::std::option::Option<u32>,
    filename: ::protobuf::SingularField<::std::string::String>,
    is_explicit_delete: ::std::option::Option<bool>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_ClientDeleteFile_Request {
    fn default() -> &'a CCloud_ClientDeleteFile_Request {
        <CCloud_ClientDeleteFile_Request as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_ClientDeleteFile_Request {
    pub fn new() -> CCloud_ClientDeleteFile_Request {
        ::std::default::Default::default()
    }

    // optional uint32 appid = 1;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // optional string filename = 2;


    pub fn get_filename(&self) -> &str {
        match self.filename.as_ref() {
            Some(v) => &v,
            None => "",
        }
    }
    pub fn clear_filename(&mut self) {
        self.filename.clear();
    }

    pub fn has_filename(&self) -> bool {
        self.filename.is_some()
    }

    // Param is passed by value, moved
    pub fn set_filename(&mut self, v: ::std::string::String) {
        self.filename = ::protobuf::SingularField::some(v);
    }

    // Mutable pointer to the field.
    // If field is not initialized, it is initialized with default value first.
    pub fn mut_filename(&mut self) -> &mut ::std::string::String {
        if self.filename.is_none() {
            self.filename.set_default();
        }
        self.filename.as_mut().unwrap()
    }

    // Take field
    pub fn take_filename(&mut self) -> ::std::string::String {
        self.filename.take().unwrap_or_else(|| ::std::string::String::new())
    }

    // optional bool is_explicit_delete = 3;


    pub fn get_is_explicit_delete(&self) -> bool {
        self.is_explicit_delete.unwrap_or(false)
    }
    pub fn clear_is_explicit_delete(&mut self) {
        self.is_explicit_delete = ::std::option::Option::None;
    }

    pub fn has_is_explicit_delete(&self) -> bool {
        self.is_explicit_delete.is_some()
    }

    // Param is passed by value, moved
    pub fn set_is_explicit_delete(&mut self, v: bool) {
        self.is_explicit_delete = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CCloud_ClientDeleteFile_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.filename)?;
                },
                3 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.is_explicit_delete = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(ref v) = self.filename.as_ref() {
            my_size += ::protobuf::rt::string_size(2, &v);
        }
        if let Some(v) = self.is_explicit_delete {
            my_size += 2;
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.appid {
            os.write_uint32(1, v)?;
        }
        if let Some(ref v) = self.filename.as_ref() {
            os.write_string(2, &v)?;
        }
        if let Some(v) = self.is_explicit_delete {
            os.write_bool(3, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_ClientDeleteFile_Request {
        CCloud_ClientDeleteFile_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CCloud_ClientDeleteFile_Request| { &m.appid },
                |m: &mut CCloud_ClientDeleteFile_Request| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
                "filename",
                |m: &CCloud_ClientDeleteFile_Request| { &m.filename },
                |m: &mut CCloud_ClientDeleteFile_Request| { &mut m.filename },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "is_explicit_delete",
                |m: &CCloud_ClientDeleteFile_Request| { &m.is_explicit_delete },
                |m: &mut CCloud_ClientDeleteFile_Request| { &mut m.is_explicit_delete },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_ClientDeleteFile_Request>(
                "CCloud_ClientDeleteFile_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_ClientDeleteFile_Request {
        static instance: ::protobuf::rt::LazyV2<CCloud_ClientDeleteFile_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_ClientDeleteFile_Request::new)
    }
}

impl ::protobuf::Clear for CCloud_ClientDeleteFile_Request {
    fn clear(&mut self) {
        self.appid = ::std::option::Option::None;
        self.filename.clear();
        self.is_explicit_delete = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_ClientDeleteFile_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_ClientDeleteFile_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_ClientDeleteFile_Response {
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_ClientDeleteFile_Response {
    fn default() -> &'a CCloud_ClientDeleteFile_Response {
        <CCloud_ClientDeleteFile_Response as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_ClientDeleteFile_Response {
    pub fn new() -> CCloud_ClientDeleteFile_Response {
        ::std::default::Default::default()
    }
}

impl ::protobuf::Message for CCloud_ClientDeleteFile_Response {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_ClientDeleteFile_Response {
        CCloud_ClientDeleteFile_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let fields = ::std::vec::Vec::new();
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_ClientDeleteFile_Response>(
                "CCloud_ClientDeleteFile_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_ClientDeleteFile_Response {
        static instance: ::protobuf::rt::LazyV2<CCloud_ClientDeleteFile_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_ClientDeleteFile_Response::new)
    }
}

impl ::protobuf::Clear for CCloud_ClientDeleteFile_Response {
    fn clear(&mut self) {
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_ClientDeleteFile_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_ClientDeleteFile_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_ClientConflictResolution_Notification {
    // message fields
    appid: ::std::option::Option<u32>,
    chose_local_files: ::std::option::Option<bool>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_ClientConflictResolution_Notification {
    fn default() -> &'a CCloud_ClientConflictResolution_Notification {
        <CCloud_ClientConflictResolution_Notification as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_ClientConflictResolution_Notification {
    pub fn new() -> CCloud_ClientConflictResolution_Notification {
        ::std::default::Default::default()
    }

    // optional uint32 appid = 1;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // optional bool chose_local_files = 2;


    pub fn get_chose_local_files(&self) -> bool {
        self.chose_local_files.unwrap_or(false)
    }
    pub fn clear_chose_local_files(&mut self) {
        self.chose_local_files = ::std::option::Option::None;
    }

    pub fn has_chose_local_files(&self) -> bool {
        self.chose_local_files.is_some()
    }

    // Param is passed by value, moved
    pub fn set_chose_local_files(&mut self, v: bool) {
        self.chose_local_files = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CCloud_ClientConflictResolution_Notification {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_bool()?;
                    self.chose_local_files = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.chose_local_files {
            my_size += 2;
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.appid {
            os.write_uint32(1, v)?;
        }
        if let Some(v) = self.chose_local_files {
            os.write_bool(2, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_ClientConflictResolution_Notification {
        CCloud_ClientConflictResolution_Notification::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CCloud_ClientConflictResolution_Notification| { &m.appid },
                |m: &mut CCloud_ClientConflictResolution_Notification| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
                "chose_local_files",
                |m: &CCloud_ClientConflictResolution_Notification| { &m.chose_local_files },
                |m: &mut CCloud_ClientConflictResolution_Notification| { &mut m.chose_local_files },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_ClientConflictResolution_Notification>(
                "CCloud_ClientConflictResolution_Notification",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_ClientConflictResolution_Notification {
        static instance: ::protobuf::rt::LazyV2<CCloud_ClientConflictResolution_Notification> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_ClientConflictResolution_Notification::new)
    }
}

impl ::protobuf::Clear for CCloud_ClientConflictResolution_Notification {
    fn clear(&mut self) {
        self.appid = ::std::option::Option::None;
        self.chose_local_files = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_ClientConflictResolution_Notification {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_ClientConflictResolution_Notification {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_EnumerateUserApps_Request {
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_EnumerateUserApps_Request {
    fn default() -> &'a CCloud_EnumerateUserApps_Request {
        <CCloud_EnumerateUserApps_Request as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_EnumerateUserApps_Request {
    pub fn new() -> CCloud_EnumerateUserApps_Request {
        ::std::default::Default::default()
    }
}

impl ::protobuf::Message for CCloud_EnumerateUserApps_Request {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_EnumerateUserApps_Request {
        CCloud_EnumerateUserApps_Request::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let fields = ::std::vec::Vec::new();
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_EnumerateUserApps_Request>(
                "CCloud_EnumerateUserApps_Request",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_EnumerateUserApps_Request {
        static instance: ::protobuf::rt::LazyV2<CCloud_EnumerateUserApps_Request> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_EnumerateUserApps_Request::new)
    }
}

impl ::protobuf::Clear for CCloud_EnumerateUserApps_Request {
    fn clear(&mut self) {
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_EnumerateUserApps_Request {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_EnumerateUserApps_Request {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_EnumerateUserApps_Response {
    // message fields
    pub apps: ::protobuf::RepeatedField<CCloud_EnumerateUserApps_Response_Apps>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_EnumerateUserApps_Response {
    fn default() -> &'a CCloud_EnumerateUserApps_Response {
        <CCloud_EnumerateUserApps_Response as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_EnumerateUserApps_Response {
    pub fn new() -> CCloud_EnumerateUserApps_Response {
        ::std::default::Default::default()
    }

    // repeated .CCloud_EnumerateUserApps_Response.Apps apps = 1;


    pub fn get_apps(&self) -> &[CCloud_EnumerateUserApps_Response_Apps] {
        &self.apps
    }
    pub fn clear_apps(&mut self) {
        self.apps.clear();
    }

    // Param is passed by value, moved
    pub fn set_apps(&mut self, v: ::protobuf::RepeatedField<CCloud_EnumerateUserApps_Response_Apps>) {
        self.apps = v;
    }

    // Mutable pointer to the field.
    pub fn mut_apps(&mut self) -> &mut ::protobuf::RepeatedField<CCloud_EnumerateUserApps_Response_Apps> {
        &mut self.apps
    }

    // Take field
    pub fn take_apps(&mut self) -> ::protobuf::RepeatedField<CCloud_EnumerateUserApps_Response_Apps> {
        ::std::mem::replace(&mut self.apps, ::protobuf::RepeatedField::new())
    }
}

impl ::protobuf::Message for CCloud_EnumerateUserApps_Response {
    fn is_initialized(&self) -> bool {
        for v in &self.apps {
            if !v.is_initialized() {
                return false;
            }
        };
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.apps)?;
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        for value in &self.apps {
            let len = value.compute_size();
            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
        };
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        for v in &self.apps {
            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
            os.write_raw_varint32(v.get_cached_size())?;
            v.write_to_with_cached_sizes(os)?;
        };
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_EnumerateUserApps_Response {
        CCloud_EnumerateUserApps_Response::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CCloud_EnumerateUserApps_Response_Apps>>(
                "apps",
                |m: &CCloud_EnumerateUserApps_Response| { &m.apps },
                |m: &mut CCloud_EnumerateUserApps_Response| { &mut m.apps },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_EnumerateUserApps_Response>(
                "CCloud_EnumerateUserApps_Response",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_EnumerateUserApps_Response {
        static instance: ::protobuf::rt::LazyV2<CCloud_EnumerateUserApps_Response> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_EnumerateUserApps_Response::new)
    }
}

impl ::protobuf::Clear for CCloud_EnumerateUserApps_Response {
    fn clear(&mut self) {
        self.apps.clear();
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_EnumerateUserApps_Response {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_EnumerateUserApps_Response {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

#[derive(PartialEq,Clone,Default)]
pub struct CCloud_EnumerateUserApps_Response_Apps {
    // message fields
    appid: ::std::option::Option<u32>,
    totalcount: ::std::option::Option<i32>,
    totalsize: ::std::option::Option<i64>,
    // special fields
    pub unknown_fields: ::protobuf::UnknownFields,
    pub cached_size: ::protobuf::CachedSize,
}

impl<'a> ::std::default::Default for &'a CCloud_EnumerateUserApps_Response_Apps {
    fn default() -> &'a CCloud_EnumerateUserApps_Response_Apps {
        <CCloud_EnumerateUserApps_Response_Apps as ::protobuf::Message>::default_instance()
    }
}

impl CCloud_EnumerateUserApps_Response_Apps {
    pub fn new() -> CCloud_EnumerateUserApps_Response_Apps {
        ::std::default::Default::default()
    }

    // optional uint32 appid = 1;


    pub fn get_appid(&self) -> u32 {
        self.appid.unwrap_or(0)
    }
    pub fn clear_appid(&mut self) {
        self.appid = ::std::option::Option::None;
    }

    pub fn has_appid(&self) -> bool {
        self.appid.is_some()
    }

    // Param is passed by value, moved
    pub fn set_appid(&mut self, v: u32) {
        self.appid = ::std::option::Option::Some(v);
    }

    // optional int32 totalcount = 2;


    pub fn get_totalcount(&self) -> i32 {
        self.totalcount.unwrap_or(0)
    }
    pub fn clear_totalcount(&mut self) {
        self.totalcount = ::std::option::Option::None;
    }

    pub fn has_totalcount(&self) -> bool {
        self.totalcount.is_some()
    }

    // Param is passed by value, moved
    pub fn set_totalcount(&mut self, v: i32) {
        self.totalcount = ::std::option::Option::Some(v);
    }

    // optional int64 totalsize = 3;


    pub fn get_totalsize(&self) -> i64 {
        self.totalsize.unwrap_or(0)
    }
    pub fn clear_totalsize(&mut self) {
        self.totalsize = ::std::option::Option::None;
    }

    pub fn has_totalsize(&self) -> bool {
        self.totalsize.is_some()
    }

    // Param is passed by value, moved
    pub fn set_totalsize(&mut self, v: i64) {
        self.totalsize = ::std::option::Option::Some(v);
    }
}

impl ::protobuf::Message for CCloud_EnumerateUserApps_Response_Apps {
    fn is_initialized(&self) -> bool {
        true
    }

    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        while !is.eof()? {
            let (field_number, wire_type) = is.read_tag_unpack()?;
            match field_number {
                1 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_uint32()?;
                    self.appid = ::std::option::Option::Some(tmp);
                },
                2 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_int32()?;
                    self.totalcount = ::std::option::Option::Some(tmp);
                },
                3 => {
                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
                    }
                    let tmp = is.read_int64()?;
                    self.totalsize = ::std::option::Option::Some(tmp);
                },
                _ => {
                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
                },
            };
        }
        ::std::result::Result::Ok(())
    }

    // Compute sizes of nested messages
    #[allow(unused_variables)]
    fn compute_size(&self) -> u32 {
        let mut my_size = 0;
        if let Some(v) = self.appid {
            my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.totalcount {
            my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
        }
        if let Some(v) = self.totalsize {
            my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
        }
        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
        self.cached_size.set(my_size);
        my_size
    }

    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
        if let Some(v) = self.appid {
            os.write_uint32(1, v)?;
        }
        if let Some(v) = self.totalcount {
            os.write_int32(2, v)?;
        }
        if let Some(v) = self.totalsize {
            os.write_int64(3, v)?;
        }
        os.write_unknown_fields(self.get_unknown_fields())?;
        ::std::result::Result::Ok(())
    }

    fn get_cached_size(&self) -> u32 {
        self.cached_size.get()
    }

    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
        &self.unknown_fields
    }

    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
        &mut self.unknown_fields
    }

    fn as_any(&self) -> &dyn (::std::any::Any) {
        self as &dyn (::std::any::Any)
    }
    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
        self as &mut dyn (::std::any::Any)
    }
    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
        self
    }

    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
        Self::descriptor_static()
    }

    fn new() -> CCloud_EnumerateUserApps_Response_Apps {
        CCloud_EnumerateUserApps_Response_Apps::new()
    }

    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
        descriptor.get(|| {
            let mut fields = ::std::vec::Vec::new();
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
                "appid",
                |m: &CCloud_EnumerateUserApps_Response_Apps| { &m.appid },
                |m: &mut CCloud_EnumerateUserApps_Response_Apps| { &mut m.appid },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
                "totalcount",
                |m: &CCloud_EnumerateUserApps_Response_Apps| { &m.totalcount },
                |m: &mut CCloud_EnumerateUserApps_Response_Apps| { &mut m.totalcount },
            ));
            fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
                "totalsize",
                |m: &CCloud_EnumerateUserApps_Response_Apps| { &m.totalsize },
                |m: &mut CCloud_EnumerateUserApps_Response_Apps| { &mut m.totalsize },
            ));
            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CCloud_EnumerateUserApps_Response_Apps>(
                "CCloud_EnumerateUserApps_Response.Apps",
                fields,
                file_descriptor_proto()
            )
        })
    }

    fn default_instance() -> &'static CCloud_EnumerateUserApps_Response_Apps {
        static instance: ::protobuf::rt::LazyV2<CCloud_EnumerateUserApps_Response_Apps> = ::protobuf::rt::LazyV2::INIT;
        instance.get(CCloud_EnumerateUserApps_Response_Apps::new)
    }
}

impl ::protobuf::Clear for CCloud_EnumerateUserApps_Response_Apps {
    fn clear(&mut self) {
        self.appid = ::std::option::Option::None;
        self.totalcount = ::std::option::Option::None;
        self.totalsize = ::std::option::Option::None;
        self.unknown_fields.clear();
    }
}

impl ::std::fmt::Debug for CCloud_EnumerateUserApps_Response_Apps {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        ::protobuf::text_format::fmt(self, f)
    }
}

impl ::protobuf::reflect::ProtobufValue for CCloud_EnumerateUserApps_Response_Apps {
    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
        ::protobuf::reflect::ReflectValueRef::Message(self)
    }
}

static file_descriptor_proto_data: &'static [u8] = b"\
    \n%steammessages_cloud.steamclient.proto\x1a,steammessages_unified_base.\
    steamclient.proto\"k\n\"CCloud_GetUploadServerInfo_Request\x12E\n\x05app\
    id\x18\x01\x20\x01(\rR\x05appidB/\x82\xb5\x18+App\x20ID\x20to\x20which\
    \x20a\x20file\x20will\x20be\x20uploaded\x20to.\"D\n#CCloud_GetUploadServ\
    erInfo_Response\x12\x1d\n\nserver_url\x18\x01\x20\x01(\tR\tserverUrl\"\
    \x9d\x07\n\x1eCCloud_BeginHTTPUpload_Request\x12F\n\x05appid\x18\x01\x20\
    \x01(\rR\x05appidB0\x82\xb5\x18,App\x20ID\x20for\x20which\x20the\x20file\
    \x20is\x20being\x20uploaded.\x12=\n\tfile_size\x18\x02\x20\x01(\rR\x08fi\
    leSizeB\x20\x82\xb5\x18\x1cOriginal\x20file\x20size\x20in\x20bytes.\x12G\
    \n\x08filename\x18\x03\x20\x01(\tR\x08filenameB+\x82\xb5\x18'Name\x20of\
    \x20the\x20file\x20to\x20store\x20in\x20the\x20cloud.\x12_\n\x08file_sha\
    \x18\x04\x20\x01(\tR\x07fileShaBD\x82\xb5\x18@Hex\x20string\x20(40\x20di\
    gits)\x20representing\x20the\x20SHA1\x20digest\x20of\x20the\x20file.\x12\
    f\n\tis_public\x18\x05\x20\x01(\x08R\x08isPublicBI\x82\xb5\x18ETrue\x20i\
    f\x20the\x20file\x20should\x20be\x20marked\x20public\x20on\x20the\x20UFS\
    ,\x20false\x20otherwise.\x12\xa8\x01\n\x11platforms_to_sync\x18\x06\x20\
    \x03(\tR\x0fplatformsToSyncB|\x82\xb5\x18xArray\x20of\x20string\x20speci\
    fying\x20which\x20platforms\x20to\x20sync;\x20value\x20values:\x20all,\
    \x20Windows,\x20MacOS,\x20linux,\x20Switch,\x20iPhoneOS,\x20Android.\x12\
    \x87\x01\n\x15request_headers_names\x18\x07\x20\x03(\tR\x13requestHeader\
    sNamesBS\x82\xb5\x18ONames\x20for\x20headers\x20you'll\x20want\x20to\x20\
    set\x20on\x20your\x20upload\x20request.\x20May\x20be\x20left\x20blank.\
    \x12\xac\x01\n\x16request_headers_values\x18\x08\x20\x03(\tR\x14requestH\
    eadersValuesBv\x82\xb5\x18rValues\x20for\x20headers\x20you'll\x20want\
    \x20to\x20set\x20on\x20your\x20upload\x20request.\x20The\x20number\x20of\
    \x20names\x20must\x20equal\x20the\x20number\x20of\x20values.\"\xe4\x04\n\
    \x1fCCloud_BeginHTTPUpload_Response\x126\n\x05ugcid\x18\x01\x20\x01(\x06\
    R\x05ugcidB\x20\x82\xb5\x18\x1cUGC\x20ID\x20of\x20the\x20uploaded\x20fil\
    e.\x12;\n\ttimestamp\x18\x02\x20\x01(\x07R\ttimestampB\x1d\x82\xb5\x18\
    \x19Server\x20timestamp\x20of\x20file.\x12a\n\x08url_host\x18\x03\x20\
    \x01(\tR\x07urlHostBF\x82\xb5\x18BHost\x20name\x20of\x20server\x20to\x20\
    which\x20file\x20should\x20be\x20uploaded\x20via\x20HTTP\x20PUT.\x12X\n\
    \x08url_path\x18\x04\x20\x01(\tR\x07urlPathB=\x82\xb5\x189Relative\x20pa\
    th\x20on\x20server\x20to\x20which\x20file\x20should\x20be\x20uploaded.\
    \x12H\n\tuse_https\x18\x05\x20\x01(\x08R\x08useHttpsB+\x82\xb5\x18'If\
    \x20true,\x20use\x20https,\x20otherwise\x20use\x20http.\x12\x8b\x01\n\
    \x0frequest_headers\x18\x06\x20\x03(\x0b2,.CCloud_BeginHTTPUpload_Respon\
    se.HTTPHeadersR\x0erequestHeadersB4\x82\xb5\x180Name-value\x20pairs\x20t\
    o\x20be\x20sent\x20in\x20HTTP\x20PUT\x20request.\x1a7\n\x0bHTTPHeaders\
    \x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x14\n\x05value\x18\
    \x02\x20\x01(\tR\x05value\"\xda\x04\n\x1fCCloud_CommitHTTPUpload_Request\
    \x12\xb7\x01\n\x12transfer_succeeded\x18\x01\x20\x01(\x08R\x11transferSu\
    cceededB\x87\x01\x82\xb5\x18\x82\x01True\x20if\x20the\x20HTTP\x20PUT\x20\
    to\x20the\x20upload\x20URL\x20succeeded\x20(URL\x20provided\x20in\x20res\
    ponse\x20to\x20Cloud.BeginHTTPUpload),\x20false\x20if\x20a\x20failure\
    \x20occurred.\x12\x7f\n\x05appid\x18\x02\x20\x01(\rR\x05appidBi\x82\xb5\
    \x18eApp\x20ID\x20for\x20which\x20the\x20file\x20is\x20being\x20uploaded\
    .\x20Must\x20match\x20the\x20app\x20ID\x20provided\x20to\x20Cloud.BeginH\
    TTPUpload.\x12\x9e\x01\n\x08file_sha\x18\x03\x20\x01(\tR\x07fileShaB\x82\
    \x01\x82\xb5\x18~Hex\x20string\x20(40\x20digits)\x20representing\x20the\
    \x20SHA1\x20digest\x20of\x20the\x20file.\x20Must\x20match\x20the\x20SHA1\
    \x20digest\x20provided\x20to\x20Cloud.BeginHTTPUpload.\x12[\n\x08filenam\
    e\x18\x04\x20\x01(\tR\x08filenameB?\x82\xb5\x18;Filename\x20as\x20specif\
    ied\x20in\x20the\x20Cloud.BeginHTTPUpload\x20request.\"\x8c\x01\n\x20CCl\
    oud_CommitHTTPUpload_Response\x12h\n\x0efile_committed\x18\x01\x20\x01(\
    \x08R\rfileCommittedBA\x82\xb5\x18=True\x20if\x20the\x20file\x20was\x20s\
    uccessfully\x20committed,\x20false\x20otherwise.\"\x9a\x01\n\x1dCCloud_G\
    etFileDetails_Request\x12B\n\x05ugcid\x18\x01\x20\x01(\x04R\x05ugcidB,\
    \x82\xb5\x18(ID\x20of\x20the\x20Cloud\x20file\x20to\x20get\x20details\
    \x20for.\x125\n\x05appid\x18\x02\x20\x01(\rR\x05appidB\x1f\x82\xb5\x18\
    \x1bApp\x20ID\x20the\x20file\x20belongs\x20to.\"\xf1\x03\n\x0fCCloud_Use\
    rFile\x12\x14\n\x05appid\x18\x01\x20\x01(\rR\x05appid\x12\x14\n\x05ugcid\
    \x18\x02\x20\x01(\x04R\x05ugcid\x12\x1a\n\x08filename\x18\x03\x20\x01(\t\
    R\x08filename\x12\x1c\n\ttimestamp\x18\x04\x20\x01(\x04R\ttimestamp\x12\
    \x1b\n\tfile_size\x18\x05\x20\x01(\rR\x08fileSize\x12\x10\n\x03url\x18\
    \x06\x20\x01(\tR\x03url\x12'\n\x0fsteamid_creator\x18\x07\x20\x01(\x06R\
    \x0esteamidCreator\x12\x14\n\x05flags\x18\x08\x20\x01(\rR\x05flags\x12\
    \xa8\x01\n\x11platforms_to_sync\x18\t\x20\x03(\tR\x0fplatformsToSyncB|\
    \x82\xb5\x18xArray\x20of\x20string\x20specifying\x20which\x20platforms\
    \x20to\x20sync;\x20value\x20values:\x20all,\x20Windows,\x20MacOS,\x20lin\
    ux,\x20Switch,\x20iPhoneOS,\x20Android.\x12_\n\x08file_sha\x18\n\x20\x01\
    (\tR\x07fileShaBD\x82\xb5\x18@Hex\x20string\x20(40\x20digits)\x20represe\
    nting\x20the\x20SHA1\x20digest\x20of\x20the\x20file.\"L\n\x1eCCloud_GetF\
    ileDetails_Response\x12*\n\x07details\x18\x01\x20\x01(\x0b2\x10.CCloud_U\
    serFileR\x07details\"\x95\x04\n!CCloud_EnumerateUserFiles_Request\x12;\n\
    \x05appid\x18\x01\x20\x01(\rR\x05appidB%\x82\xb5\x18!App\x20ID\x20to\x20\
    enumerate\x20the\x20files\x20of.\x12\xac\x01\n\x10extended_details\x18\
    \x02\x20\x01(\x08R\x0fextendedDetailsB\x80\x01\x82\xb5\x18|(Optional)\
    \x20Get\x20extended\x20details\x20back\x20on\x20the\x20files\x20found.\
    \x20Defaults\x20to\x20only\x20returned\x20the\x20app\x20Id\x20and\x20UGC\
    \x20Id\x20of\x20the\x20files\x20found.\x12\x83\x01\n\x05count\x18\x03\
    \x20\x01(\rR\x05countBm\x82\xb5\x18i(Optional)\x20Maximum\x20number\x20o\
    f\x20results\x20to\x20return\x20on\x20this\x20call.\x20Defaults\x20to\
    \x20a\x20maximum\x20of\x20500\x20files\x20returned.\x12~\n\x0bstart_inde\
    x\x18\x04\x20\x01(\rR\nstartIndexB]\x82\xb5\x18Y(Optional)\x20Starting\
    \x20index\x20to\x20begin\x20enumeration\x20at.\x20Defaults\x20to\x20the\
    \x20beginning\x20of\x20the\x20list.\"m\n\"CCloud_EnumerateUserFiles_Resp\
    onse\x12&\n\x05files\x18\x01\x20\x03(\x0b2\x10.CCloud_UserFileR\x05files\
    \x12\x1f\n\x0btotal_files\x18\x02\x20\x01(\rR\ntotalFiles\"j\n\x15CCloud\
    _Delete_Request\x12\x1a\n\x08filename\x18\x01\x20\x01(\tR\x08filename\
    \x125\n\x05appid\x18\x02\x20\x01(\rR\x05appidB\x1f\x82\xb5\x18\x1bApp\
    \x20ID\x20the\x20file\x20belongs\x20to.\"\x18\n\x16CCloud_Delete_Respons\
    e\"'\n%CCloud_GetClientEncryptionKey_Request\"x\n&CCloud_GetClientEncryp\
    tionKey_Response\x12,\n\x03key\x18\x01\x20\x01(\x0cR\x03keyB\x1a\x82\xb5\
    \x18\x16AES-256\x20encryption\x20key\x12\x20\n\x03crc\x18\x02\x20\x01(\
    \x05R\x03crcB\x0e\x82\xb5\x18\nCRC\x20of\x20key\"\xf9\x01\n\x1dCCloud_CD\
    NReport_Notification\x12\x18\n\x07steamid\x18\x01\x20\x01(\x06R\x07steam\
    id\x12\x10\n\x03url\x18\x02\x20\x01(\tR\x03url\x12\x18\n\x07success\x18\
    \x03\x20\x01(\x08R\x07success\x12(\n\x10http_status_code\x18\x04\x20\x01\
    (\rR\x0ehttpStatusCode\x12%\n\x0eexpected_bytes\x18\x05\x20\x01(\x04R\re\
    xpectedBytes\x12%\n\x0ereceived_bytes\x18\x06\x20\x01(\x04R\rreceivedByt\
    es\x12\x1a\n\x08duration\x18\x07\x20\x01(\rR\x08duration\"\x99\x03\n1CCl\
    oud_ExternalStorageTransferReport_Notification\x12\x12\n\x04host\x18\x01\
    \x20\x01(\tR\x04host\x12\x12\n\x04path\x18\x02\x20\x01(\tR\x04path\x12\
    \x1b\n\tis_upload\x18\x03\x20\x01(\x08R\x08isUpload\x12\x18\n\x07success\
    \x18\x04\x20\x01(\x08R\x07success\x12(\n\x10http_status_code\x18\x05\x20\
    \x01(\rR\x0ehttpStatusCode\x12%\n\x0ebytes_expected\x18\x06\x20\x01(\x04\
    R\rbytesExpected\x12!\n\x0cbytes_actual\x18\x07\x20\x01(\x04R\x0bbytesAc\
    tual\x12\x1f\n\x0bduration_ms\x18\x08\x20\x01(\rR\ndurationMs\x12\x16\n\
    \x06cellid\x18\t\x20\x01(\rR\x06cellid\x12\x18\n\x07proxied\x18\n\x20\
    \x01(\x08R\x07proxied\x12\x1d\n\nipv6_local\x18\x0b\x20\x01(\x08R\tipv6L\
    ocal\x12\x1f\n\x0bipv6_remote\x18\x0c\x20\x01(\x08R\nipv6Remote\"\xd2\
    \x06\n$CCloud_ClientBeginFileUpload_Request\x12F\n\x05appid\x18\x01\x20\
    \x01(\rR\x05appidB0\x82\xb5\x18,App\x20ID\x20for\x20which\x20the\x20file\
    \x20is\x20being\x20uploaded.\x12N\n\tfile_size\x18\x02\x20\x01(\rR\x08fi\
    leSizeB1\x82\xb5\x18-file\x20size\x20as\x20transmitted\x20and\x20stored\
    \x20in\x20Cloud.\x12[\n\rraw_file_size\x18\x03\x20\x01(\rR\x0brawFileSiz\
    eB7\x82\xb5\x183file\x20size\x20before\x20any\x20compression\x20and/or\
    \x20encryption.\x121\n\x08file_sha\x18\x04\x20\x01(\x0cR\x07fileShaB\x16\
    \x82\xb5\x18\x12SHA-1\x20of\x20raw\x20file.\x125\n\ntime_stamp\x18\x05\
    \x20\x01(\x04R\ttimeStampB\x16\x82\xb5\x18\x12Timestamp\x20of\x20file.\
    \x12G\n\x08filename\x18\x06\x20\x01(\tR\x08filenameB+\x82\xb5\x18'Name\
    \x20of\x20the\x20file\x20to\x20store\x20in\x20the\x20cloud.\x126\n\x11pl\
    atforms_to_sync\x18\x07\x20\x01(\r:\n4294967295R\x0fplatformsToSync\x12N\
    \n\x07cell_id\x18\t\x20\x01(\rR\x06cellIdB5\x82\xb5\x181Client's\x20cell\
    \x20ID\x20so\x20we\x20can\x20pick\x20storage\x20location.\x12]\n\x0bcan_\
    encrypt\x18\n\x20\x01(\x08R\ncanEncryptB<\x82\xb5\x188if\x20true,\x20cli\
    ent\x20can\x20encrypt\x20the\x20file\x20before\x20uploading\x20it\x12t\n\
    \x0eis_shared_file\x18\x0b\x20\x01(\x08R\x0cisSharedFileBN\x82\xb5\x18Ji\
    f\x20true,\x20this\x20is\x20going\x20to\x20be\x20UGC\x20or\x20a\x20scree\
    nshot\x20or\x20some\x20other\x20shared\x20file\x12%\n\x05realm\x18\x0c\
    \x20\x01(\rR\x05realmB\x0f\x82\xb5\x18\x0bSteam\x20Realm\"\xf3\x07\n!Cli\
    entCloudFileUploadBlockDetails\x12a\n\x08url_host\x18\x01\x20\x01(\tR\
    \x07urlHostBF\x82\xb5\x18BHost\x20name\x20of\x20server\x20to\x20which\
    \x20file\x20should\x20be\x20uploaded\x20via\x20HTTP\x20PUT.\x12X\n\x08ur\
    l_path\x18\x02\x20\x01(\tR\x07urlPathB=\x82\xb5\x189Relative\x20path\x20\
    on\x20server\x20to\x20which\x20file\x20should\x20be\x20uploaded.\x12H\n\
    \tuse_https\x18\x03\x20\x01(\x08R\x08useHttpsB+\x82\xb5\x18'If\x20true,\
    \x20use\x20https,\x20otherwise\x20use\x20http.\x12G\n\x0bhttp_method\x18\
    \x04\x20\x01(\x05R\nhttpMethodB&\x82\xb5\x18\"EHTTPMethod\x20to\x20use\
    \x20for\x20this\x20block.\x12\x8d\x01\n\x0frequest_headers\x18\x05\x20\
    \x03(\x0b2..ClientCloudFileUploadBlockDetails.HTTPHeadersR\x0erequestHea\
    dersB4\x82\xb5\x180Name-value\x20pairs\x20to\x20be\x20sent\x20in\x20HTTP\
    \x20PUT\x20request.\x12E\n\x0cblock_offset\x18\x06\x20\x01(\x04R\x0bbloc\
    kOffsetB\"\x82\xb5\x18\x1eoffset\x20of\x20file\x20block\x20to\x20upload\
    \x12z\n\x0cblock_length\x18\x07\x20\x01(\rR\x0bblockLengthBW\x82\xb5\x18\
    Slength\x20of\x20file\x20block\x20to\x20upload\x20-\x20if\x20zero,\x20no\
    \x20part\x20of\x20the\x20file\x20is\x20part\x20of\x20this\x20block\x12q\
    \n\x12explicit_body_data\x18\x08\x20\x01(\x0cR\x10explicitBodyDataBC\x82\
    \xb5\x18?explicit\x20body\x20data\x20to\x20use,\x20instead\x20of\x20file\
    \x20data,\x20for\x20this\x20block\x12\x7f\n\x0fmay_parallelize\x18\t\x20\
    \x01(\x08R\x0emayParallelizeBV\x82\xb5\x18Rif\x20true,\x20this\x20reques\
    t\x20may\x20be\x20done\x20in\x20parallel\x20with\x20other\x20similarly-m\
    arked\x20requests\x1a7\n\x0bHTTPHeaders\x12\x12\n\x04name\x18\x01\x20\
    \x01(\tR\x04name\x12\x14\n\x05value\x18\x02\x20\x01(\tR\x05value\"\x89\
    \x02\n%CCloud_ClientBeginFileUpload_Response\x12h\n\x0cencrypt_file\x18\
    \x01\x20\x01(\x08R\x0bencryptFileBE\x82\xb5\x18AIf\x20true,\x20the\x20fi\
    le\x20should\x20be\x20encrypted\x20by\x20the\x20client\x20before\x20uplo\
    ad\x12v\n\x0eblock_requests\x18\x02\x20\x03(\x0b2\".ClientCloudFileUploa\
    dBlockDetailsR\rblockRequestsB+\x82\xb5\x18'HTTP\x20requests\x20to\x20ma\
    ke\x20to\x20perform\x20upload\"\xf6\x03\n%CCloud_ClientCommitFileUpload_\
    Request\x12t\n\x12transfer_succeeded\x18\x01\x20\x01(\x08R\x11transferSu\
    cceededBE\x82\xb5\x18ATrue\x20if\x20all\x20block\x20uploads\x20succeeded\
    ,\x20false\x20if\x20any\x20of\x20them\x20failed.\x12\x7f\n\x05appid\x18\
    \x02\x20\x01(\rR\x05appidBi\x82\xb5\x18eApp\x20ID\x20for\x20which\x20the\
    \x20file\x20is\x20being\x20uploaded.\x20Must\x20match\x20the\x20app\x20I\
    D\x20provided\x20to\x20Cloud.BeginFileUpload.\x12y\n\x08file_sha\x18\x03\
    \x20\x01(\x0cR\x07fileShaB^\x82\xb5\x18ZSHA1\x20digest\x20of\x20the\x20r\
    aw\x20file.\x20Must\x20match\x20the\x20SHA1\x20digest\x20provided\x20to\
    \x20Cloud.BeginFileUpload.\x12[\n\x08filename\x18\x04\x20\x01(\tR\x08fil\
    enameB?\x82\xb5\x18;Filename\x20as\x20specified\x20in\x20the\x20Cloud.Be\
    ginFileUpload\x20request.\"\x92\x01\n&CCloud_ClientCommitFileUpload_Resp\
    onse\x12h\n\x0efile_committed\x18\x01\x20\x01(\x08R\rfileCommittedBA\x82\
    \xb5\x18=True\x20if\x20the\x20file\x20was\x20successfully\x20committed,\
    \x20false\x20otherwise.\"\xb8\x01\n!CCloud_ClientFileDownload_Request\
    \x125\n\x05appid\x18\x01\x20\x01(\rR\x05appidB\x1f\x82\xb5\x18\x1bApp\
    \x20ID\x20the\x20file\x20is\x20part\x20of.\x125\n\x08filename\x18\x02\
    \x20\x01(\tR\x08filenameB\x19\x82\xb5\x18\x15Filename\x20of\x20the\x20fi\
    le.\x12%\n\x05realm\x18\x03\x20\x01(\rR\x05realmB\x0f\x82\xb5\x18\x0bSte\
    am\x20Realm\"\x87\x07\n\"CCloud_ClientFileDownload_Response\x129\n\x05ap\
    pid\x18\x01\x20\x01(\rR\x05appidB#\x82\xb5\x18\x1fApplication\x20the\x20\
    file\x20belongs\x20to\x12Q\n\tfile_size\x18\x02\x20\x01(\rR\x08fileSizeB\
    4\x82\xb5\x180file\x20size\x20as\x20transmitted\x20and\x20stored\x20in\
    \x20the\x20Cloud\x12T\n\rraw_file_size\x18\x03\x20\x01(\rR\x0brawFileSiz\
    eB0\x82\xb5\x18,file\x20size\x20when\x20decompressed\x20and/or\x20decryp\
    ted\x12*\n\x08sha_file\x18\x04\x20\x01(\x0cR\x07shaFileB\x0f\x82\xb5\x18\
    \x0bSHA\x20of\x20file\x124\n\ntime_stamp\x18\x05\x20\x01(\x04R\ttimeStam\
    pB\x15\x82\xb5\x18\x11Timestamp\x20of\x20file\x12\\\n\x12is_explicit_del\
    ete\x18\x06\x20\x01(\x08R\x10isExplicitDeleteB.\x82\xb5\x18*True\x20if\
    \x20this\x20is\x20an\x20explicitly\x20deleted\x20file\x128\n\x08url_host\
    \x18\x07\x20\x01(\tR\x07urlHostB\x1d\x82\xb5\x18\x19Host\x20to\x20GET\
    \x20the\x20file\x20from\x12X\n\x08url_path\x18\x08\x20\x01(\tR\x07urlPat\
    hB=\x82\xb5\x189Path\x20on\x20that\x20host\x20to\x20use,\x20including\
    \x20URL\x20parameters\x20if\x20any\x12A\n\tuse_https\x18\t\x20\x01(\x08R\
    \x08useHttpsB$\x82\xb5\x18\x20If\x20set,\x20use\x20HTTPS,\x20else\x20use\
    \x20HTTP\x12\x8e\x01\n\x0frequest_headers\x18\n\x20\x03(\x0b2/.CCloud_Cl\
    ientFileDownload_Response.HTTPHeadersR\x0erequestHeadersB4\x82\xb5\x180N\
    ame-value\x20pairs\x20to\x20be\x20sent\x20in\x20HTTP\x20GET\x20request.\
    \x12\x1c\n\tencrypted\x18\x0b\x20\x01(\x08R\tencrypted\x1a7\n\x0bHTTPHea\
    ders\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x14\n\x05value\
    \x18\x02\x20\x01(\tR\x05value\"\x86\x02\n\x1fCCloud_ClientDeleteFile_Req\
    uest\x12E\n\x05appid\x18\x01\x20\x01(\rR\x05appidB/\x82\xb5\x18+App\x20I\
    D\x20for\x20which\x20the\x20file\x20is\x20being\x20deleted.\x121\n\x08fi\
    lename\x18\x02\x20\x01(\tR\x08filenameB\x15\x82\xb5\x18\x11Filename\x20o\
    f\x20file.\x12i\n\x12is_explicit_delete\x18\x03\x20\x01(\x08R\x10isExpli\
    citDeleteB;\x82\xb5\x187If\x20true,\x20this\x20is\x20a\x20'delete';\x20i\
    f\x20false,\x20it\x20is\x20a\x20'forget'\"\"\n\x20CCloud_ClientDeleteFil\
    e_Response\"\xf9\x01\n,CCloud_ClientConflictResolution_Notification\x12E\
    \n\x05appid\x18\x01\x20\x01(\rR\x05appidB/\x82\xb5\x18+App\x20ID\x20for\
    \x20which\x20the\x20conflict\x20was\x20resolved.\x12\x81\x01\n\x11chose_\
    local_files\x18\x02\x20\x01(\x08R\x0fchoseLocalFilesBU\x82\xb5\x18QDid\
    \x20the\x20user\x20choose\x20to\x20keep\x20the\x20files\x20local\x20to\
    \x20the\x20machine\x20they\x20are\x20on\x20right\x20now?\"\"\n\x20CCloud\
    _EnumerateUserApps_Request\"\xbc\x01\n!CCloud_EnumerateUserApps_Response\
    \x12;\n\x04apps\x18\x01\x20\x03(\x0b2'.CCloud_EnumerateUserApps_Response\
    .AppsR\x04apps\x1aZ\n\x04Apps\x12\x14\n\x05appid\x18\x01\x20\x01(\rR\x05\
    appid\x12\x1e\n\ntotalcount\x18\x02\x20\x01(\x05R\ntotalcount\x12\x1c\n\
    \ttotalsize\x18\x03\x20\x01(\x03R\ttotalsize2\xab\x12\n\x05Cloud\x12\x9c\
    \x01\n\x13GetUploadServerInfo\x12#.CCloud_GetUploadServerInfo_Request\
    \x1a$.CCloud_GetUploadServerInfo_Response\":\x82\xb5\x186Returns\x20the\
    \x20URL\x20of\x20the\x20proper\x20cloud\x20server\x20for\x20a\x20user.\
    \x12\xa8\x02\n\x0fBeginHTTPUpload\x12\x1f.CCloud_BeginHTTPUpload_Request\
    \x1a\x20.CCloud_BeginHTTPUpload_Response\"\xd1\x01\x82\xb5\x18\xcc\x01Be\
    gins\x20the\x20process\x20of\x20uploading\x20a\x20file\x20to\x20Steam\
    \x20external\x20storage\x20services.\x20File\x20should\x20be\x20uploaded\
    \x20via\x20HTTP\x20PUT\x20to\x20the\x20returned\x20URL,\x20after\x20whic\
    h\x20the\x20upload\x20must\x20be\x20finalized\x20by\x20a\x20call\x20to\
    \x20CommitHTTPUpload.\x12\xad\x01\n\x10CommitHTTPUpload\x12\x20.CCloud_C\
    ommitHTTPUpload_Request\x1a!.CCloud_CommitHTTPUpload_Response\"T\x82\xb5\
    \x18PCommits\x20a\x20file\x20upload\x20initiated\x20by\x20BeginHTTPUploa\
    d\x20and\x20transferred\x20via\x20HTTP\x20PUT.\x12w\n\x0eGetFileDetails\
    \x12\x1e.CCloud_GetFileDetails_Request\x1a\x1f.CCloud_GetFileDetails_Res\
    ponse\"$\x82\xb5\x18\x20Returns\x20details\x20on\x20a\x20Cloud\x20file.\
    \x12\xba\x01\n\x12EnumerateUserFiles\x12\".CCloud_EnumerateUserFiles_Req\
    uest\x1a#.CCloud_EnumerateUserFiles_Response\"[\x82\xb5\x18WEnumerates\
    \x20Cloud\x20files\x20for\x20a\x20user\x20of\x20a\x20given\x20app\x20ID.\
    \x20Returns\x20up\x20to\x20500\x20files\x20at\x20a\x20time.\x12d\n\x06De\
    lete\x12\x16.CCloud_Delete_Request\x1a\x17.CCloud_Delete_Response\")\x82\
    \xb5\x18%Deletes\x20a\x20file\x20from\x20the\x20user's\x20cloud.\x12\x99\
    \x01\n\x16GetClientEncryptionKey\x12&.CCloud_GetClientEncryptionKey_Requ\
    est\x1a'.CCloud_GetClientEncryptionKey_Response\".\x82\xb5\x18*Gets\x20t\
    he\x20user's\x20Cloud\x20file\x20encryption\x20key.\x12c\n\tCDNReport\
    \x12\x1e.CCloud_CDNReport_Notification\x1a\x0b.NoResponse\")\x82\xb5\x18\
    %Reports\x20the\x20result\x20of\x20a\x20CDN\x20transfer.\x12\x9f\x01\n\
    \x1dExternalStorageTransferReport\x122.CCloud_ExternalStorageTransferRep\
    ort_Notification\x1a\x0b.NoResponse\"=\x82\xb5\x189Reports\x20the\x20res\
    ult\x20of\x20an\x20external\x20Cloud\x20storage\x20transfer.\x12\x88\x01\
    \n\x15ClientBeginFileUpload\x12%.CCloud_ClientBeginFileUpload_Request\
    \x1a&.CCloud_ClientBeginFileUpload_Response\"\x20\x82\xb5\x18\x1cInitiat\
    e\x20an\x20upload\x20to\x20Cloud.\x12\x9a\x01\n\x16ClientCommitFileUploa\
    d\x12&.CCloud_ClientCommitFileUpload_Request\x1a'.CCloud_ClientCommitFil\
    eUpload_Response\"/\x82\xb5\x18+Commit\x20the\x20file\x20upload\x20or\
    \x20indicate\x20failure.\x12|\n\x12ClientFileDownload\x12\".CCloud_Clien\
    tFileDownload_Request\x1a#.CCloud_ClientFileDownload_Response\"\x1d\x82\
    \xb5\x18\x19Initiate\x20a\x20file\x20download.\x12u\n\x10ClientDeleteFil\
    e\x12\x20.CCloud_ClientDeleteFile_Request\x1a!.CCloud_ClientDeleteFile_R\
    esponse\"\x1c\x82\xb5\x18\x18Delete\x20or\x20forget\x20a\x20file.\x12\
    \x8e\x01\n\x18ClientConflictResolution\x12-.CCloud_ClientConflictResolut\
    ion_Notification\x1a\x0b.NoResponse\"6\x82\xb5\x182User\x20has\x20picked\
    \x20a\x20resolution\x20for\x20a\x20Cloud\x20conflict.\x12\x8f\x01\n\x11E\
    numerateUserApps\x12!.CCloud_EnumerateUserApps_Request\x1a\".CCloud_Enum\
    erateUserApps_Response\"3\x82\xb5\x18/Enumerates\x20apps\x20stroing\x20c\
    loud\x20files\x20for\x20a\x20user.\x1a)\x82\xb5\x18%A\x20service\x20for\
    \x20Steam\x20Cloud\x20operations.B\x03\x80\x01\x01J\xe8h\n\x07\x12\x05\0\
    \0\x9c\x02\x01\n\t\n\x02\x03\0\x12\x03\0\06\n\x08\n\x01\x08\x12\x03\x02\
    \0\"\n\t\n\x02\x08\x10\x12\x03\x02\0\"\n\n\n\x02\x04\0\x12\x04\x04\0\x06\
    \x01\n\n\n\x03\x04\0\x01\x12\x03\x04\x08*\n\x0b\n\x04\x04\0\x02\0\x12\
    \x03\x05\x08b\n\x0c\n\x05\x04\0\x02\0\x04\x12\x03\x05\x08\x10\n\x0c\n\
    \x05\x04\0\x02\0\x05\x12\x03\x05\x11\x17\n\x0c\n\x05\x04\0\x02\0\x01\x12\
    \x03\x05\x18\x1d\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x05\x20!\n\x0c\n\
    \x05\x04\0\x02\0\x08\x12\x03\x05\"a\n\x0f\n\x08\x04\0\x02\0\x08\xd0\x86\
    \x03\x12\x03\x05#`\n\n\n\x02\x04\x01\x12\x04\x08\0\n\x01\n\n\n\x03\x04\
    \x01\x01\x12\x03\x08\x08+\n\x0b\n\x04\x04\x01\x02\0\x12\x03\t\x08'\n\x0c\
    \n\x05\x04\x01\x02\0\x04\x12\x03\t\x08\x10\n\x0c\n\x05\x04\x01\x02\0\x05\
    \x12\x03\t\x11\x17\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\t\x18\"\n\x0c\n\
    \x05\x04\x01\x02\0\x03\x12\x03\t%&\n\n\n\x02\x04\x02\x12\x04\x0c\0\x15\
    \x01\n\n\n\x03\x04\x02\x01\x12\x03\x0c\x08&\n\x0b\n\x04\x04\x02\x02\0\
    \x12\x03\r\x08c\n\x0c\n\x05\x04\x02\x02\0\x04\x12\x03\r\x08\x10\n\x0c\n\
    \x05\x04\x02\x02\0\x05\x12\x03\r\x11\x17\n\x0c\n\x05\x04\x02\x02\0\x01\
    \x12\x03\r\x18\x1d\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03\r\x20!\n\x0c\n\
    \x05\x04\x02\x02\0\x08\x12\x03\r\"b\n\x0f\n\x08\x04\x02\x02\0\x08\xd0\
    \x86\x03\x12\x03\r#a\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x0e\x08W\n\x0c\
    \n\x05\x04\x02\x02\x01\x04\x12\x03\x0e\x08\x10\n\x0c\n\x05\x04\x02\x02\
    \x01\x05\x12\x03\x0e\x11\x17\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x0e\
    \x18!\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x0e$%\n\x0c\n\x05\x04\x02\
    \x02\x01\x08\x12\x03\x0e&V\n\x0f\n\x08\x04\x02\x02\x01\x08\xd0\x86\x03\
    \x12\x03\x0e'U\n\x0b\n\x04\x04\x02\x02\x02\x12\x03\x0f\x08a\n\x0c\n\x05\
    \x04\x02\x02\x02\x04\x12\x03\x0f\x08\x10\n\x0c\n\x05\x04\x02\x02\x02\x05\
    \x12\x03\x0f\x11\x17\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03\x0f\x18\x20\
    \n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03\x0f#$\n\x0c\n\x05\x04\x02\x02\
    \x02\x08\x12\x03\x0f%`\n\x0f\n\x08\x04\x02\x02\x02\x08\xd0\x86\x03\x12\
    \x03\x0f&_\n\x0b\n\x04\x04\x02\x02\x03\x12\x03\x10\x08z\n\x0c\n\x05\x04\
    \x02\x02\x03\x04\x12\x03\x10\x08\x10\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\
    \x03\x10\x11\x17\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03\x10\x18\x20\n\
    \x0c\n\x05\x04\x02\x02\x03\x03\x12\x03\x10#$\n\x0c\n\x05\x04\x02\x02\x03\
    \x08\x12\x03\x10%y\n\x0f\n\x08\x04\x02\x02\x03\x08\xd0\x86\x03\x12\x03\
    \x10&x\n\x0b\n\x04\x04\x02\x02\x04\x12\x03\x11\x08~\n\x0c\n\x05\x04\x02\
    \x02\x04\x04\x12\x03\x11\x08\x10\n\x0c\n\x05\x04\x02\x02\x04\x05\x12\x03\
    \x11\x11\x15\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03\x11\x16\x1f\n\x0c\n\
    \x05\x04\x02\x02\x04\x03\x12\x03\x11\"#\n\x0c\n\x05\x04\x02\x02\x04\x08\
    \x12\x03\x11$}\n\x0f\n\x08\x04\x02\x02\x04\x08\xd0\x86\x03\x12\x03\x11%|\
    \n\x0c\n\x04\x04\x02\x02\x05\x12\x04\x12\x08\xbb\x01\n\x0c\n\x05\x04\x02\
    \x02\x05\x04\x12\x03\x12\x08\x10\n\x0c\n\x05\x04\x02\x02\x05\x05\x12\x03\
    \x12\x11\x17\n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03\x12\x18)\n\x0c\n\
    \x05\x04\x02\x02\x05\x03\x12\x03\x12,-\n\r\n\x05\x04\x02\x02\x05\x08\x12\
    \x04\x12.\xba\x01\n\x10\n\x08\x04\x02\x02\x05\x08\xd0\x86\x03\x12\x04\
    \x12/\xb9\x01\n\x0c\n\x04\x04\x02\x02\x06\x12\x04\x13\x08\x96\x01\n\x0c\
    \n\x05\x04\x02\x02\x06\x04\x12\x03\x13\x08\x10\n\x0c\n\x05\x04\x02\x02\
    \x06\x05\x12\x03\x13\x11\x17\n\x0c\n\x05\x04\x02\x02\x06\x01\x12\x03\x13\
    \x18-\n\x0c\n\x05\x04\x02\x02\x06\x03\x12\x03\x1301\n\r\n\x05\x04\x02\
    \x02\x06\x08\x12\x04\x132\x95\x01\n\x10\n\x08\x04\x02\x02\x06\x08\xd0\
    \x86\x03\x12\x04\x133\x94\x01\n\x0c\n\x04\x04\x02\x02\x07\x12\x04\x14\
    \x08\xba\x01\n\x0c\n\x05\x04\x02\x02\x07\x04\x12\x03\x14\x08\x10\n\x0c\n\
    \x05\x04\x02\x02\x07\x05\x12\x03\x14\x11\x17\n\x0c\n\x05\x04\x02\x02\x07\
    \x01\x12\x03\x14\x18.\n\x0c\n\x05\x04\x02\x02\x07\x03\x12\x03\x1412\n\r\
    \n\x05\x04\x02\x02\x07\x08\x12\x04\x143\xb9\x01\n\x10\n\x08\x04\x02\x02\
    \x07\x08\xd0\x86\x03\x12\x04\x144\xb8\x01\n\n\n\x02\x04\x03\x12\x04\x17\
    \0#\x01\n\n\n\x03\x04\x03\x01\x12\x03\x17\x08'\n\x0c\n\x04\x04\x03\x03\0\
    \x12\x04\x18\x08\x1b\t\n\x0c\n\x05\x04\x03\x03\0\x01\x12\x03\x18\x10\x1b\
    \n\r\n\x06\x04\x03\x03\0\x02\0\x12\x03\x19\x10)\n\x0e\n\x07\x04\x03\x03\
    \0\x02\0\x04\x12\x03\x19\x10\x18\n\x0e\n\x07\x04\x03\x03\0\x02\0\x05\x12\
    \x03\x19\x19\x1f\n\x0e\n\x07\x04\x03\x03\0\x02\0\x01\x12\x03\x19\x20$\n\
    \x0e\n\x07\x04\x03\x03\0\x02\0\x03\x12\x03\x19'(\n\r\n\x06\x04\x03\x03\0\
    \x02\x01\x12\x03\x1a\x10*\n\x0e\n\x07\x04\x03\x03\0\x02\x01\x04\x12\x03\
    \x1a\x10\x18\n\x0e\n\x07\x04\x03\x03\0\x02\x01\x05\x12\x03\x1a\x19\x1f\n\
    \x0e\n\x07\x04\x03\x03\0\x02\x01\x01\x12\x03\x1a\x20%\n\x0e\n\x07\x04\
    \x03\x03\0\x02\x01\x03\x12\x03\x1a()\n\x0b\n\x04\x04\x03\x02\0\x12\x03\
    \x1d\x08T\n\x0c\n\x05\x04\x03\x02\0\x04\x12\x03\x1d\x08\x10\n\x0c\n\x05\
    \x04\x03\x02\0\x05\x12\x03\x1d\x11\x18\n\x0c\n\x05\x04\x03\x02\0\x01\x12\
    \x03\x1d\x19\x1e\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03\x1d!\"\n\x0c\n\
    \x05\x04\x03\x02\0\x08\x12\x03\x1d#S\n\x0f\n\x08\x04\x03\x02\0\x08\xd0\
    \x86\x03\x12\x03\x1d$R\n\x0b\n\x04\x04\x03\x02\x01\x12\x03\x1e\x08U\n\
    \x0c\n\x05\x04\x03\x02\x01\x04\x12\x03\x1e\x08\x10\n\x0c\n\x05\x04\x03\
    \x02\x01\x05\x12\x03\x1e\x11\x18\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03\
    \x1e\x19\"\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03\x1e%&\n\x0c\n\x05\x04\
    \x03\x02\x01\x08\x12\x03\x1e'T\n\x0f\n\x08\x04\x03\x02\x01\x08\xd0\x86\
    \x03\x12\x03\x1e(S\n\x0b\n\x04\x04\x03\x02\x02\x12\x03\x1f\x08|\n\x0c\n\
    \x05\x04\x03\x02\x02\x04\x12\x03\x1f\x08\x10\n\x0c\n\x05\x04\x03\x02\x02\
    \x05\x12\x03\x1f\x11\x17\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03\x1f\x18\
    \x20\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03\x1f#$\n\x0c\n\x05\x04\x03\
    \x02\x02\x08\x12\x03\x1f%{\n\x0f\n\x08\x04\x03\x02\x02\x08\xd0\x86\x03\
    \x12\x03\x1f&z\n\x0b\n\x04\x04\x03\x02\x03\x12\x03\x20\x08s\n\x0c\n\x05\
    \x04\x03\x02\x03\x04\x12\x03\x20\x08\x10\n\x0c\n\x05\x04\x03\x02\x03\x05\
    \x12\x03\x20\x11\x17\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x03\x20\x18\x20\
    \n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03\x20#$\n\x0c\n\x05\x04\x03\x02\
    \x03\x08\x12\x03\x20%r\n\x0f\n\x08\x04\x03\x02\x03\x08\xd0\x86\x03\x12\
    \x03\x20&q\n\x0b\n\x04\x04\x03\x02\x04\x12\x03!\x08`\n\x0c\n\x05\x04\x03\
    \x02\x04\x04\x12\x03!\x08\x10\n\x0c\n\x05\x04\x03\x02\x04\x05\x12\x03!\
    \x11\x15\n\x0c\n\x05\x04\x03\x02\x04\x01\x12\x03!\x16\x1f\n\x0c\n\x05\
    \x04\x03\x02\x04\x03\x12\x03!\"#\n\x0c\n\x05\x04\x03\x02\x04\x08\x12\x03\
    !$_\n\x0f\n\x08\x04\x03\x02\x04\x08\xd0\x86\x03\x12\x03!%^\n\x0c\n\x04\
    \x04\x03\x02\x05\x12\x04\"\x08\x97\x01\n\x0c\n\x05\x04\x03\x02\x05\x04\
    \x12\x03\"\x08\x10\n\x0c\n\x05\x04\x03\x02\x05\x06\x12\x03\"\x11=\n\x0c\
    \n\x05\x04\x03\x02\x05\x01\x12\x03\">M\n\x0c\n\x05\x04\x03\x02\x05\x03\
    \x12\x03\"PQ\n\r\n\x05\x04\x03\x02\x05\x08\x12\x04\"R\x96\x01\n\x10\n\
    \x08\x04\x03\x02\x05\x08\xd0\x86\x03\x12\x04\"S\x95\x01\n\n\n\x02\x04\
    \x04\x12\x04%\0*\x01\n\n\n\x03\x04\x04\x01\x12\x03%\x08'\n\x0c\n\x04\x04\
    \x04\x02\0\x12\x04&\x08\xc4\x01\n\x0c\n\x05\x04\x04\x02\0\x04\x12\x03&\
    \x08\x10\n\x0c\n\x05\x04\x04\x02\0\x05\x12\x03&\x11\x15\n\x0c\n\x05\x04\
    \x04\x02\0\x01\x12\x03&\x16(\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03&+,\n\
    \r\n\x05\x04\x04\x02\0\x08\x12\x04&-\xc3\x01\n\x10\n\x08\x04\x04\x02\0\
    \x08\xd0\x86\x03\x12\x04&.\xc2\x01\n\x0c\n\x04\x04\x04\x02\x01\x12\x04'\
    \x08\x9c\x01\n\x0c\n\x05\x04\x04\x02\x01\x04\x12\x03'\x08\x10\n\x0c\n\
    \x05\x04\x04\x02\x01\x05\x12\x03'\x11\x17\n\x0c\n\x05\x04\x04\x02\x01\
    \x01\x12\x03'\x18\x1d\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03'\x20!\n\r\
    \n\x05\x04\x04\x02\x01\x08\x12\x04'\"\x9b\x01\n\x10\n\x08\x04\x04\x02\
    \x01\x08\xd0\x86\x03\x12\x04'#\x9a\x01\n\x0c\n\x04\x04\x04\x02\x02\x12\
    \x04(\x08\xb8\x01\n\x0c\n\x05\x04\x04\x02\x02\x04\x12\x03(\x08\x10\n\x0c\
    \n\x05\x04\x04\x02\x02\x05\x12\x03(\x11\x17\n\x0c\n\x05\x04\x04\x02\x02\
    \x01\x12\x03(\x18\x20\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03(#$\n\r\n\
    \x05\x04\x04\x02\x02\x08\x12\x04(%\xb7\x01\n\x10\n\x08\x04\x04\x02\x02\
    \x08\xd0\x86\x03\x12\x04(&\xb6\x01\n\x0b\n\x04\x04\x04\x02\x03\x12\x03)\
    \x08u\n\x0c\n\x05\x04\x04\x02\x03\x04\x12\x03)\x08\x10\n\x0c\n\x05\x04\
    \x04\x02\x03\x05\x12\x03)\x11\x17\n\x0c\n\x05\x04\x04\x02\x03\x01\x12\
    \x03)\x18\x20\n\x0c\n\x05\x04\x04\x02\x03\x03\x12\x03)#$\n\x0c\n\x05\x04\
    \x04\x02\x03\x08\x12\x03)%t\n\x0f\n\x08\x04\x04\x02\x03\x08\xd0\x86\x03\
    \x12\x03)&s\n\n\n\x02\x04\x05\x12\x04,\0.\x01\n\n\n\x03\x04\x05\x01\x12\
    \x03,\x08(\n\x0b\n\x04\x04\x05\x02\0\x12\x03-\x08{\n\x0c\n\x05\x04\x05\
    \x02\0\x04\x12\x03-\x08\x10\n\x0c\n\x05\x04\x05\x02\0\x05\x12\x03-\x11\
    \x15\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03-\x16$\n\x0c\n\x05\x04\x05\x02\
    \0\x03\x12\x03-'(\n\x0c\n\x05\x04\x05\x02\0\x08\x12\x03-)z\n\x0f\n\x08\
    \x04\x05\x02\0\x08\xd0\x86\x03\x12\x03-*y\n\n\n\x02\x04\x06\x12\x040\03\
    \x01\n\n\n\x03\x04\x06\x01\x12\x030\x08%\n\x0b\n\x04\x04\x06\x02\0\x12\
    \x031\x08_\n\x0c\n\x05\x04\x06\x02\0\x04\x12\x031\x08\x10\n\x0c\n\x05\
    \x04\x06\x02\0\x05\x12\x031\x11\x17\n\x0c\n\x05\x04\x06\x02\0\x01\x12\
    \x031\x18\x1d\n\x0c\n\x05\x04\x06\x02\0\x03\x12\x031\x20!\n\x0c\n\x05\
    \x04\x06\x02\0\x08\x12\x031\"^\n\x0f\n\x08\x04\x06\x02\0\x08\xd0\x86\x03\
    \x12\x031#]\n\x0b\n\x04\x04\x06\x02\x01\x12\x032\x08R\n\x0c\n\x05\x04\
    \x06\x02\x01\x04\x12\x032\x08\x10\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\
    \x032\x11\x17\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x032\x18\x1d\n\x0c\n\
    \x05\x04\x06\x02\x01\x03\x12\x032\x20!\n\x0c\n\x05\x04\x06\x02\x01\x08\
    \x12\x032\"Q\n\x0f\n\x08\x04\x06\x02\x01\x08\xd0\x86\x03\x12\x032#P\n\n\
    \n\x02\x04\x07\x12\x045\0@\x01\n\n\n\x03\x04\x07\x01\x12\x035\x08\x17\n\
    \x0b\n\x04\x04\x07\x02\0\x12\x036\x08\"\n\x0c\n\x05\x04\x07\x02\0\x04\
    \x12\x036\x08\x10\n\x0c\n\x05\x04\x07\x02\0\x05\x12\x036\x11\x17\n\x0c\n\
    \x05\x04\x07\x02\0\x01\x12\x036\x18\x1d\n\x0c\n\x05\x04\x07\x02\0\x03\
    \x12\x036\x20!\n\x0b\n\x04\x04\x07\x02\x01\x12\x037\x08\"\n\x0c\n\x05\
    \x04\x07\x02\x01\x04\x12\x037\x08\x10\n\x0c\n\x05\x04\x07\x02\x01\x05\
    \x12\x037\x11\x17\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x037\x18\x1d\n\x0c\
    \n\x05\x04\x07\x02\x01\x03\x12\x037\x20!\n\x0b\n\x04\x04\x07\x02\x02\x12\
    \x038\x08%\n\x0c\n\x05\x04\x07\x02\x02\x04\x12\x038\x08\x10\n\x0c\n\x05\
    \x04\x07\x02\x02\x05\x12\x038\x11\x17\n\x0c\n\x05\x04\x07\x02\x02\x01\
    \x12\x038\x18\x20\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x038#$\n\x0b\n\x04\
    \x04\x07\x02\x03\x12\x039\x08&\n\x0c\n\x05\x04\x07\x02\x03\x04\x12\x039\
    \x08\x10\n\x0c\n\x05\x04\x07\x02\x03\x05\x12\x039\x11\x17\n\x0c\n\x05\
    \x04\x07\x02\x03\x01\x12\x039\x18!\n\x0c\n\x05\x04\x07\x02\x03\x03\x12\
    \x039$%\n\x0b\n\x04\x04\x07\x02\x04\x12\x03:\x08&\n\x0c\n\x05\x04\x07\
    \x02\x04\x04\x12\x03:\x08\x10\n\x0c\n\x05\x04\x07\x02\x04\x05\x12\x03:\
    \x11\x17\n\x0c\n\x05\x04\x07\x02\x04\x01\x12\x03:\x18!\n\x0c\n\x05\x04\
    \x07\x02\x04\x03\x12\x03:$%\n\x0b\n\x04\x04\x07\x02\x05\x12\x03;\x08\x20\
    \n\x0c\n\x05\x04\x07\x02\x05\x04\x12\x03;\x08\x10\n\x0c\n\x05\x04\x07\
    \x02\x05\x05\x12\x03;\x11\x17\n\x0c\n\x05\x04\x07\x02\x05\x01\x12\x03;\
    \x18\x1b\n\x0c\n\x05\x04\x07\x02\x05\x03\x12\x03;\x1e\x1f\n\x0b\n\x04\
    \x04\x07\x02\x06\x12\x03<\x08-\n\x0c\n\x05\x04\x07\x02\x06\x04\x12\x03<\
    \x08\x10\n\x0c\n\x05\x04\x07\x02\x06\x05\x12\x03<\x11\x18\n\x0c\n\x05\
    \x04\x07\x02\x06\x01\x12\x03<\x19(\n\x0c\n\x05\x04\x07\x02\x06\x03\x12\
    \x03<+,\n\x0b\n\x04\x04\x07\x02\x07\x12\x03=\x08\"\n\x0c\n\x05\x04\x07\
    \x02\x07\x04\x12\x03=\x08\x10\n\x0c\n\x05\x04\x07\x02\x07\x05\x12\x03=\
    \x11\x17\n\x0c\n\x05\x04\x07\x02\x07\x01\x12\x03=\x18\x1d\n\x0c\n\x05\
    \x04\x07\x02\x07\x03\x12\x03=\x20!\n\x0c\n\x04\x04\x07\x02\x08\x12\x04>\
    \x08\xbb\x01\n\x0c\n\x05\x04\x07\x02\x08\x04\x12\x03>\x08\x10\n\x0c\n\
    \x05\x04\x07\x02\x08\x05\x12\x03>\x11\x17\n\x0c\n\x05\x04\x07\x02\x08\
    \x01\x12\x03>\x18)\n\x0c\n\x05\x04\x07\x02\x08\x03\x12\x03>,-\n\r\n\x05\
    \x04\x07\x02\x08\x08\x12\x04>.\xba\x01\n\x10\n\x08\x04\x07\x02\x08\x08\
    \xd0\x86\x03\x12\x04>/\xb9\x01\n\x0b\n\x04\x04\x07\x02\t\x12\x03?\x08{\n\
    \x0c\n\x05\x04\x07\x02\t\x04\x12\x03?\x08\x10\n\x0c\n\x05\x04\x07\x02\t\
    \x05\x12\x03?\x11\x17\n\x0c\n\x05\x04\x07\x02\t\x01\x12\x03?\x18\x20\n\
    \x0c\n\x05\x04\x07\x02\t\x03\x12\x03?#%\n\x0c\n\x05\x04\x07\x02\t\x08\
    \x12\x03?&z\n\x0f\n\x08\x04\x07\x02\t\x08\xd0\x86\x03\x12\x03?'y\n\n\n\
    \x02\x04\x08\x12\x04B\0D\x01\n\n\n\x03\x04\x08\x01\x12\x03B\x08&\n\x0b\n\
    \x04\x04\x08\x02\0\x12\x03C\x08.\n\x0c\n\x05\x04\x08\x02\0\x04\x12\x03C\
    \x08\x10\n\x0c\n\x05\x04\x08\x02\0\x06\x12\x03C\x11!\n\x0c\n\x05\x04\x08\
    \x02\0\x01\x12\x03C\")\n\x0c\n\x05\x04\x08\x02\0\x03\x12\x03C,-\n\n\n\
    \x02\x04\t\x12\x04F\0K\x01\n\n\n\x03\x04\t\x01\x12\x03F\x08)\n\x0b\n\x04\
    \x04\t\x02\0\x12\x03G\x08X\n\x0c\n\x05\x04\t\x02\0\x04\x12\x03G\x08\x10\
    \n\x0c\n\x05\x04\t\x02\0\x05\x12\x03G\x11\x17\n\x0c\n\x05\x04\t\x02\0\
    \x01\x12\x03G\x18\x1d\n\x0c\n\x05\x04\t\x02\0\x03\x12\x03G\x20!\n\x0c\n\
    \x05\x04\t\x02\0\x08\x12\x03G\"W\n\x0f\n\x08\x04\t\x02\0\x08\xd0\x86\x03\
    \x12\x03G#V\n\x0c\n\x04\x04\t\x02\x01\x12\x04H\x08\xbc\x01\n\x0c\n\x05\
    \x04\t\x02\x01\x04\x12\x03H\x08\x10\n\x0c\n\x05\x04\t\x02\x01\x05\x12\
    \x03H\x11\x15\n\x0c\n\x05\x04\t\x02\x01\x01\x12\x03H\x16&\n\x0c\n\x05\
    \x04\t\x02\x01\x03\x12\x03H)*\n\r\n\x05\x04\t\x02\x01\x08\x12\x04H+\xbb\
    \x01\n\x10\n\x08\x04\t\x02\x01\x08\xd0\x86\x03\x12\x04H,\xba\x01\n\x0c\n\
    \x04\x04\t\x02\x02\x12\x04I\x08\xa0\x01\n\x0c\n\x05\x04\t\x02\x02\x04\
    \x12\x03I\x08\x10\n\x0c\n\x05\x04\t\x02\x02\x05\x12\x03I\x11\x17\n\x0c\n\
    \x05\x04\t\x02\x02\x01\x12\x03I\x18\x1d\n\x0c\n\x05\x04\t\x02\x02\x03\
    \x12\x03I\x20!\n\r\n\x05\x04\t\x02\x02\x08\x12\x04I\"\x9f\x01\n\x10\n\
    \x08\x04\t\x02\x02\x08\xd0\x86\x03\x12\x04I#\x9e\x01\n\x0c\n\x04\x04\t\
    \x02\x03\x12\x04J\x08\x96\x01\n\x0c\n\x05\x04\t\x02\x03\x04\x12\x03J\x08\
    \x10\n\x0c\n\x05\x04\t\x02\x03\x05\x12\x03J\x11\x17\n\x0c\n\x05\x04\t\
    \x02\x03\x01\x12\x03J\x18#\n\x0c\n\x05\x04\t\x02\x03\x03\x12\x03J&'\n\r\
    \n\x05\x04\t\x02\x03\x08\x12\x04J(\x95\x01\n\x10\n\x08\x04\t\x02\x03\x08\
    \xd0\x86\x03\x12\x04J)\x94\x01\n\n\n\x02\x04\n\x12\x04M\0P\x01\n\n\n\x03\
    \x04\n\x01\x12\x03M\x08*\n\x0b\n\x04\x04\n\x02\0\x12\x03N\x08,\n\x0c\n\
    \x05\x04\n\x02\0\x04\x12\x03N\x08\x10\n\x0c\n\x05\x04\n\x02\0\x06\x12\
    \x03N\x11!\n\x0c\n\x05\x04\n\x02\0\x01\x12\x03N\"'\n\x0c\n\x05\x04\n\x02\
    \0\x03\x12\x03N*+\n\x0b\n\x04\x04\n\x02\x01\x12\x03O\x08(\n\x0c\n\x05\
    \x04\n\x02\x01\x04\x12\x03O\x08\x10\n\x0c\n\x05\x04\n\x02\x01\x05\x12\
    \x03O\x11\x17\n\x0c\n\x05\x04\n\x02\x01\x01\x12\x03O\x18#\n\x0c\n\x05\
    \x04\n\x02\x01\x03\x12\x03O&'\n\n\n\x02\x04\x0b\x12\x04R\0U\x01\n\n\n\
    \x03\x04\x0b\x01\x12\x03R\x08\x1d\n\x0b\n\x04\x04\x0b\x02\0\x12\x03S\x08\
    %\n\x0c\n\x05\x04\x0b\x02\0\x04\x12\x03S\x08\x10\n\x0c\n\x05\x04\x0b\x02\
    \0\x05\x12\x03S\x11\x17\n\x0c\n\x05\x04\x0b\x02\0\x01\x12\x03S\x18\x20\n\
    \x0c\n\x05\x04\x0b\x02\0\x03\x12\x03S#$\n\x0b\n\x04\x04\x0b\x02\x01\x12\
    \x03T\x08R\n\x0c\n\x05\x04\x0b\x02\x01\x04\x12\x03T\x08\x10\n\x0c\n\x05\
    \x04\x0b\x02\x01\x05\x12\x03T\x11\x17\n\x0c\n\x05\x04\x0b\x02\x01\x01\
    \x12\x03T\x18\x1d\n\x0c\n\x05\x04\x0b\x02\x01\x03\x12\x03T\x20!\n\x0c\n\
    \x05\x04\x0b\x02\x01\x08\x12\x03T\"Q\n\x0f\n\x08\x04\x0b\x02\x01\x08\xd0\
    \x86\x03\x12\x03T#P\n\n\n\x02\x04\x0c\x12\x04W\0X\x01\n\n\n\x03\x04\x0c\
    \x01\x12\x03W\x08\x1e\n\n\n\x02\x04\r\x12\x04Z\0[\x01\n\n\n\x03\x04\r\
    \x01\x12\x03Z\x08-\n\n\n\x02\x04\x0e\x12\x04]\0`\x01\n\n\n\x03\x04\x0e\
    \x01\x12\x03]\x08.\n\x0b\n\x04\x04\x0e\x02\0\x12\x03^\x08J\n\x0c\n\x05\
    \x04\x0e\x02\0\x04\x12\x03^\x08\x10\n\x0c\n\x05\x04\x0e\x02\0\x05\x12\
    \x03^\x11\x16\n\x0c\n\x05\x04\x0e\x02\0\x01\x12\x03^\x17\x1a\n\x0c\n\x05\
    \x04\x0e\x02\0\x03\x12\x03^\x1d\x1e\n\x0c\n\x05\x04\x0e\x02\0\x08\x12\
    \x03^\x1fI\n\x0f\n\x08\x04\x0e\x02\0\x08\xd0\x86\x03\x12\x03^\x20H\n\x0b\
    \n\x04\x04\x0e\x02\x01\x12\x03_\x08>\n\x0c\n\x05\x04\x0e\x02\x01\x04\x12\
    \x03_\x08\x10\n\x0c\n\x05\x04\x0e\x02\x01\x05\x12\x03_\x11\x16\n\x0c\n\
    \x05\x04\x0e\x02\x01\x01\x12\x03_\x17\x1a\n\x0c\n\x05\x04\x0e\x02\x01\
    \x03\x12\x03_\x1d\x1e\n\x0c\n\x05\x04\x0e\x02\x01\x08\x12\x03_\x1f=\n\
    \x0f\n\x08\x04\x0e\x02\x01\x08\xd0\x86\x03\x12\x03_\x20<\n\n\n\x02\x04\
    \x0f\x12\x04b\0j\x01\n\n\n\x03\x04\x0f\x01\x12\x03b\x08%\n\x0b\n\x04\x04\
    \x0f\x02\0\x12\x03c\x08%\n\x0c\n\x05\x04\x0f\x02\0\x04\x12\x03c\x08\x10\
    \n\x0c\n\x05\x04\x0f\x02\0\x05\x12\x03c\x11\x18\n\x0c\n\x05\x04\x0f\x02\
    \0\x01\x12\x03c\x19\x20\n\x0c\n\x05\x04\x0f\x02\0\x03\x12\x03c#$\n\x0b\n\
    \x04\x04\x0f\x02\x01\x12\x03d\x08\x20\n\x0c\n\x05\x04\x0f\x02\x01\x04\
    \x12\x03d\x08\x10\n\x0c\n\x05\x04\x0f\x02\x01\x05\x12\x03d\x11\x17\n\x0c\
    \n\x05\x04\x0f\x02\x01\x01\x12\x03d\x18\x1b\n\x0c\n\x05\x04\x0f\x02\x01\
    \x03\x12\x03d\x1e\x1f\n\x0b\n\x04\x04\x0f\x02\x02\x12\x03e\x08\"\n\x0c\n\
    \x05\x04\x0f\x02\x02\x04\x12\x03e\x08\x10\n\x0c\n\x05\x04\x0f\x02\x02\
    \x05\x12\x03e\x11\x15\n\x0c\n\x05\x04\x0f\x02\x02\x01\x12\x03e\x16\x1d\n\
    \x0c\n\x05\x04\x0f\x02\x02\x03\x12\x03e\x20!\n\x0b\n\x04\x04\x0f\x02\x03\
    \x12\x03f\x08-\n\x0c\n\x05\x04\x0f\x02\x03\x04\x12\x03f\x08\x10\n\x0c\n\
    \x05\x04\x0f\x02\x03\x05\x12\x03f\x11\x17\n\x0c\n\x05\x04\x0f\x02\x03\
    \x01\x12\x03f\x18(\n\x0c\n\x05\x04\x0f\x02\x03\x03\x12\x03f+,\n\x0b\n\
    \x04\x04\x0f\x02\x04\x12\x03g\x08+\n\x0c\n\x05\x04\x0f\x02\x04\x04\x12\
    \x03g\x08\x10\n\x0c\n\x05\x04\x0f\x02\x04\x05\x12\x03g\x11\x17\n\x0c\n\
    \x05\x04\x0f\x02\x04\x01\x12\x03g\x18&\n\x0c\n\x05\x04\x0f\x02\x04\x03\
    \x12\x03g)*\n\x0b\n\x04\x04\x0f\x02\x05\x12\x03h\x08+\n\x0c\n\x05\x04\
    \x0f\x02\x05\x04\x12\x03h\x08\x10\n\x0c\n\x05\x04\x0f\x02\x05\x05\x12\
    \x03h\x11\x17\n\x0c\n\x05\x04\x0f\x02\x05\x01\x12\x03h\x18&\n\x0c\n\x05\
    \x04\x0f\x02\x05\x03\x12\x03h)*\n\x0b\n\x04\x04\x0f\x02\x06\x12\x03i\x08\
    %\n\x0c\n\x05\x04\x0f\x02\x06\x04\x12\x03i\x08\x10\n\x0c\n\x05\x04\x0f\
    \x02\x06\x05\x12\x03i\x11\x17\n\x0c\n\x05\x04\x0f\x02\x06\x01\x12\x03i\
    \x18\x20\n\x0c\n\x05\x04\x0f\x02\x06\x03\x12\x03i#$\n\n\n\x02\x04\x10\
    \x12\x04l\0y\x01\n\n\n\x03\x04\x10\x01\x12\x03l\x089\n\x0b\n\x04\x04\x10\
    \x02\0\x12\x03m\x08!\n\x0c\n\x05\x04\x10\x02\0\x04\x12\x03m\x08\x10\n\
    \x0c\n\x05\x04\x10\x02\0\x05\x12\x03m\x11\x17\n\x0c\n\x05\x04\x10\x02\0\
    \x01\x12\x03m\x18\x1c\n\x0c\n\x05\x04\x10\x02\0\x03\x12\x03m\x1f\x20\n\
    \x0b\n\x04\x04\x10\x02\x01\x12\x03n\x08!\n\x0c\n\x05\x04\x10\x02\x01\x04\
    \x12\x03n\x08\x10\n\x0c\n\x05\x04\x10\x02\x01\x05\x12\x03n\x11\x17\n\x0c\
    \n\x05\x04\x10\x02\x01\x01\x12\x03n\x18\x1c\n\x0c\n\x05\x04\x10\x02\x01\
    \x03\x12\x03n\x1f\x20\n\x0b\n\x04\x04\x10\x02\x02\x12\x03o\x08$\n\x0c\n\
    \x05\x04\x10\x02\x02\x04\x12\x03o\x08\x10\n\x0c\n\x05\x04\x10\x02\x02\
    \x05\x12\x03o\x11\x15\n\x0c\n\x05\x04\x10\x02\x02\x01\x12\x03o\x16\x1f\n\
    \x0c\n\x05\x04\x10\x02\x02\x03\x12\x03o\"#\n\x0b\n\x04\x04\x10\x02\x03\
    \x12\x03p\x08\"\n\x0c\n\x05\x04\x10\x02\x03\x04\x12\x03p\x08\x10\n\x0c\n\
    \x05\x04\x10\x02\x03\x05\x12\x03p\x11\x15\n\x0c\n\x05\x04\x10\x02\x03\
    \x01\x12\x03p\x16\x1d\n\x0c\n\x05\x04\x10\x02\x03\x03\x12\x03p\x20!\n\
    \x0b\n\x04\x04\x10\x02\x04\x12\x03q\x08-\n\x0c\n\x05\x04\x10\x02\x04\x04\
    \x12\x03q\x08\x10\n\x0c\n\x05\x04\x10\x02\x04\x05\x12\x03q\x11\x17\n\x0c\
    \n\x05\x04\x10\x02\x04\x01\x12\x03q\x18(\n\x0c\n\x05\x04\x10\x02\x04\x03\
    \x12\x03q+,\n\x0b\n\x04\x04\x10\x02\x05\x12\x03r\x08+\n\x0c\n\x05\x04\
    \x10\x02\x05\x04\x12\x03r\x08\x10\n\x0c\n\x05\x04\x10\x02\x05\x05\x12\
    \x03r\x11\x17\n\x0c\n\x05\x04\x10\x02\x05\x01\x12\x03r\x18&\n\x0c\n\x05\
    \x04\x10\x02\x05\x03\x12\x03r)*\n\x0b\n\x04\x04\x10\x02\x06\x12\x03s\x08\
    )\n\x0c\n\x05\x04\x10\x02\x06\x04\x12\x03s\x08\x10\n\x0c\n\x05\x04\x10\
    \x02\x06\x05\x12\x03s\x11\x17\n\x0c\n\x05\x04\x10\x02\x06\x01\x12\x03s\
    \x18$\n\x0c\n\x05\x04\x10\x02\x06\x03\x12\x03s'(\n\x0b\n\x04\x04\x10\x02\
    \x07\x12\x03t\x08(\n\x0c\n\x05\x04\x10\x02\x07\x04\x12\x03t\x08\x10\n\
    \x0c\n\x05\x04\x10\x02\x07\x05\x12\x03t\x11\x17\n\x0c\n\x05\x04\x10\x02\
    \x07\x01\x12\x03t\x18#\n\x0c\n\x05\x04\x10\x02\x07\x03\x12\x03t&'\n\x0b\
    \n\x04\x04\x10\x02\x08\x12\x03u\x08#\n\x0c\n\x05\x04\x10\x02\x08\x04\x12\
    \x03u\x08\x10\n\x0c\n\x05\x04\x10\x02\x08\x05\x12\x03u\x11\x17\n\x0c\n\
    \x05\x04\x10\x02\x08\x01\x12\x03u\x18\x1e\n\x0c\n\x05\x04\x10\x02\x08\
    \x03\x12\x03u!\"\n\x0b\n\x04\x04\x10\x02\t\x12\x03v\x08#\n\x0c\n\x05\x04\
    \x10\x02\t\x04\x12\x03v\x08\x10\n\x0c\n\x05\x04\x10\x02\t\x05\x12\x03v\
    \x11\x15\n\x0c\n\x05\x04\x10\x02\t\x01\x12\x03v\x16\x1d\n\x0c\n\x05\x04\
    \x10\x02\t\x03\x12\x03v\x20\"\n\x0b\n\x04\x04\x10\x02\n\x12\x03w\x08&\n\
    \x0c\n\x05\x04\x10\x02\n\x04\x12\x03w\x08\x10\n\x0c\n\x05\x04\x10\x02\n\
    \x05\x12\x03w\x11\x15\n\x0c\n\x05\x04\x10\x02\n\x01\x12\x03w\x16\x20\n\
    \x0c\n\x05\x04\x10\x02\n\x03\x12\x03w#%\n\x0b\n\x04\x04\x10\x02\x0b\x12\
    \x03x\x08'\n\x0c\n\x05\x04\x10\x02\x0b\x04\x12\x03x\x08\x10\n\x0c\n\x05\
    \x04\x10\x02\x0b\x05\x12\x03x\x11\x15\n\x0c\n\x05\x04\x10\x02\x0b\x01\
    \x12\x03x\x16!\n\x0c\n\x05\x04\x10\x02\x0b\x03\x12\x03x$&\n\x0b\n\x02\
    \x04\x11\x12\x05{\0\x87\x01\x01\n\n\n\x03\x04\x11\x01\x12\x03{\x08,\n\
    \x0b\n\x04\x04\x11\x02\0\x12\x03|\x08c\n\x0c\n\x05\x04\x11\x02\0\x04\x12\
    \x03|\x08\x10\n\x0c\n\x05\x04\x11\x02\0\x05\x12\x03|\x11\x17\n\x0c\n\x05\
    \x04\x11\x02\0\x01\x12\x03|\x18\x1d\n\x0c\n\x05\x04\x11\x02\0\x03\x12\
    \x03|\x20!\n\x0c\n\x05\x04\x11\x02\0\x08\x12\x03|\"b\n\x0f\n\x08\x04\x11\
    \x02\0\x08\xd0\x86\x03\x12\x03|#a\n\x0b\n\x04\x04\x11\x02\x01\x12\x03}\
    \x08h\n\x0c\n\x05\x04\x11\x02\x01\x04\x12\x03}\x08\x10\n\x0c\n\x05\x04\
    \x11\x02\x01\x05\x12\x03}\x11\x17\n\x0c\n\x05\x04\x11\x02\x01\x01\x12\
    \x03}\x18!\n\x0c\n\x05\x04\x11\x02\x01\x03\x12\x03}$%\n\x0c\n\x05\x04\
    \x11\x02\x01\x08\x12\x03}&g\n\x0f\n\x08\x04\x11\x02\x01\x08\xd0\x86\x03\
    \x12\x03}'f\n\x0b\n\x04\x04\x11\x02\x02\x12\x03~\x08r\n\x0c\n\x05\x04\
    \x11\x02\x02\x04\x12\x03~\x08\x10\n\x0c\n\x05\x04\x11\x02\x02\x05\x12\
    \x03~\x11\x17\n\x0c\n\x05\x04\x11\x02\x02\x01\x12\x03~\x18%\n\x0c\n\x05\
    \x04\x11\x02\x02\x03\x12\x03~()\n\x0c\n\x05\x04\x11\x02\x02\x08\x12\x03~\
    *q\n\x0f\n\x08\x04\x11\x02\x02\x08\xd0\x86\x03\x12\x03~+p\n\x0b\n\x04\
    \x04\x11\x02\x03\x12\x03\x7f\x08K\n\x0c\n\x05\x04\x11\x02\x03\x04\x12\
    \x03\x7f\x08\x10\n\x0c\n\x05\x04\x11\x02\x03\x05\x12\x03\x7f\x11\x16\n\
    \x0c\n\x05\x04\x11\x02\x03\x01\x12\x03\x7f\x17\x1f\n\x0c\n\x05\x04\x11\
    \x02\x03\x03\x12\x03\x7f\"#\n\x0c\n\x05\x04\x11\x02\x03\x08\x12\x03\x7f$\
    J\n\x0f\n\x08\x04\x11\x02\x03\x08\xd0\x86\x03\x12\x03\x7f%I\n\x0c\n\x04\
    \x04\x11\x02\x04\x12\x04\x80\x01\x08N\n\r\n\x05\x04\x11\x02\x04\x04\x12\
    \x04\x80\x01\x08\x10\n\r\n\x05\x04\x11\x02\x04\x05\x12\x04\x80\x01\x11\
    \x17\n\r\n\x05\x04\x11\x02\x04\x01\x12\x04\x80\x01\x18\"\n\r\n\x05\x04\
    \x11\x02\x04\x03\x12\x04\x80\x01%&\n\r\n\x05\x04\x11\x02\x04\x08\x12\x04\
    \x80\x01'M\n\x10\n\x08\x04\x11\x02\x04\x08\xd0\x86\x03\x12\x04\x80\x01(L\
    \n\x0c\n\x04\x04\x11\x02\x05\x12\x04\x81\x01\x08a\n\r\n\x05\x04\x11\x02\
    \x05\x04\x12\x04\x81\x01\x08\x10\n\r\n\x05\x04\x11\x02\x05\x05\x12\x04\
    \x81\x01\x11\x17\n\r\n\x05\x04\x11\x02\x05\x01\x12\x04\x81\x01\x18\x20\n\
    \r\n\x05\x04\x11\x02\x05\x03\x12\x04\x81\x01#$\n\r\n\x05\x04\x11\x02\x05\
    \x08\x12\x04\x81\x01%`\n\x10\n\x08\x04\x11\x02\x05\x08\xd0\x86\x03\x12\
    \x04\x81\x01&_\n\x0c\n\x04\x04\x11\x02\x06\x12\x04\x82\x01\x08E\n\r\n\
    \x05\x04\x11\x02\x06\x04\x12\x04\x82\x01\x08\x10\n\r\n\x05\x04\x11\x02\
    \x06\x05\x12\x04\x82\x01\x11\x17\n\r\n\x05\x04\x11\x02\x06\x01\x12\x04\
    \x82\x01\x18)\n\r\n\x05\x04\x11\x02\x06\x03\x12\x04\x82\x01,-\n\r\n\x05\
    \x04\x11\x02\x06\x08\x12\x04\x82\x01.D\n\r\n\x05\x04\x11\x02\x06\x07\x12\
    \x04\x82\x019C\n\x0c\n\x04\x04\x11\x02\x07\x12\x04\x83\x01\x08j\n\r\n\
    \x05\x04\x11\x02\x07\x04\x12\x04\x83\x01\x08\x10\n\r\n\x05\x04\x11\x02\
    \x07\x05\x12\x04\x83\x01\x11\x17\n\r\n\x05\x04\x11\x02\x07\x01\x12\x04\
    \x83\x01\x18\x1f\n\r\n\x05\x04\x11\x02\x07\x03\x12\x04\x83\x01\"#\n\r\n\
    \x05\x04\x11\x02\x07\x08\x12\x04\x83\x01$i\n\x10\n\x08\x04\x11\x02\x07\
    \x08\xd0\x86\x03\x12\x04\x83\x01%h\n\x0c\n\x04\x04\x11\x02\x08\x12\x04\
    \x84\x01\x08t\n\r\n\x05\x04\x11\x02\x08\x04\x12\x04\x84\x01\x08\x10\n\r\
    \n\x05\x04\x11\x02\x08\x05\x12\x04\x84\x01\x11\x15\n\r\n\x05\x04\x11\x02\
    \x08\x01\x12\x04\x84\x01\x16!\n\r\n\x05\x04\x11\x02\x08\x03\x12\x04\x84\
    \x01$&\n\r\n\x05\x04\x11\x02\x08\x08\x12\x04\x84\x01's\n\x10\n\x08\x04\
    \x11\x02\x08\x08\xd0\x86\x03\x12\x04\x84\x01(r\n\r\n\x04\x04\x11\x02\t\
    \x12\x05\x85\x01\x08\x89\x01\n\r\n\x05\x04\x11\x02\t\x04\x12\x04\x85\x01\
    \x08\x10\n\r\n\x05\x04\x11\x02\t\x05\x12\x04\x85\x01\x11\x15\n\r\n\x05\
    \x04\x11\x02\t\x01\x12\x04\x85\x01\x16$\n\r\n\x05\x04\x11\x02\t\x03\x12\
    \x04\x85\x01')\n\x0e\n\x05\x04\x11\x02\t\x08\x12\x05\x85\x01*\x88\x01\n\
    \x11\n\x08\x04\x11\x02\t\x08\xd0\x86\x03\x12\x05\x85\x01+\x87\x01\n\x0c\
    \n\x04\x04\x11\x02\n\x12\x04\x86\x01\x08C\n\r\n\x05\x04\x11\x02\n\x04\
    \x12\x04\x86\x01\x08\x10\n\r\n\x05\x04\x11\x02\n\x05\x12\x04\x86\x01\x11\
    \x17\n\r\n\x05\x04\x11\x02\n\x01\x12\x04\x86\x01\x18\x1d\n\r\n\x05\x04\
    \x11\x02\n\x03\x12\x04\x86\x01\x20\"\n\r\n\x05\x04\x11\x02\n\x08\x12\x04\
    \x86\x01#B\n\x10\n\x08\x04\x11\x02\n\x08\xd0\x86\x03\x12\x04\x86\x01$A\n\
    \x0c\n\x02\x04\x12\x12\x06\x89\x01\0\x98\x01\x01\n\x0b\n\x03\x04\x12\x01\
    \x12\x04\x89\x01\x08)\n\x0e\n\x04\x04\x12\x03\0\x12\x06\x8a\x01\x08\x8d\
    \x01\t\n\r\n\x05\x04\x12\x03\0\x01\x12\x04\x8a\x01\x10\x1b\n\x0e\n\x06\
    \x04\x12\x03\0\x02\0\x12\x04\x8b\x01\x10)\n\x0f\n\x07\x04\x12\x03\0\x02\
    \0\x04\x12\x04\x8b\x01\x10\x18\n\x0f\n\x07\x04\x12\x03\0\x02\0\x05\x12\
    \x04\x8b\x01\x19\x1f\n\x0f\n\x07\x04\x12\x03\0\x02\0\x01\x12\x04\x8b\x01\
    \x20$\n\x0f\n\x07\x04\x12\x03\0\x02\0\x03\x12\x04\x8b\x01'(\n\x0e\n\x06\
    \x04\x12\x03\0\x02\x01\x12\x04\x8c\x01\x10*\n\x0f\n\x07\x04\x12\x03\0\
    \x02\x01\x04\x12\x04\x8c\x01\x10\x18\n\x0f\n\x07\x04\x12\x03\0\x02\x01\
    \x05\x12\x04\x8c\x01\x19\x1f\n\x0f\n\x07\x04\x12\x03\0\x02\x01\x01\x12\
    \x04\x8c\x01\x20%\n\x0f\n\x07\x04\x12\x03\0\x02\x01\x03\x12\x04\x8c\x01(\
    )\n\x0c\n\x04\x04\x12\x02\0\x12\x04\x8f\x01\x08|\n\r\n\x05\x04\x12\x02\0\
    \x04\x12\x04\x8f\x01\x08\x10\n\r\n\x05\x04\x12\x02\0\x05\x12\x04\x8f\x01\
    \x11\x17\n\r\n\x05\x04\x12\x02\0\x01\x12\x04\x8f\x01\x18\x20\n\r\n\x05\
    \x04\x12\x02\0\x03\x12\x04\x8f\x01#$\n\r\n\x05\x04\x12\x02\0\x08\x12\x04\
    \x8f\x01%{\n\x10\n\x08\x04\x12\x02\0\x08\xd0\x86\x03\x12\x04\x8f\x01&z\n\
    \x0c\n\x04\x04\x12\x02\x01\x12\x04\x90\x01\x08s\n\r\n\x05\x04\x12\x02\
    \x01\x04\x12\x04\x90\x01\x08\x10\n\r\n\x05\x04\x12\x02\x01\x05\x12\x04\
    \x90\x01\x11\x17\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\x90\x01\x18\x20\n\
    \r\n\x05\x04\x12\x02\x01\x03\x12\x04\x90\x01#$\n\r\n\x05\x04\x12\x02\x01\
    \x08\x12\x04\x90\x01%r\n\x10\n\x08\x04\x12\x02\x01\x08\xd0\x86\x03\x12\
    \x04\x90\x01&q\n\x0c\n\x04\x04\x12\x02\x02\x12\x04\x91\x01\x08`\n\r\n\
    \x05\x04\x12\x02\x02\x04\x12\x04\x91\x01\x08\x10\n\r\n\x05\x04\x12\x02\
    \x02\x05\x12\x04\x91\x01\x11\x15\n\r\n\x05\x04\x12\x02\x02\x01\x12\x04\
    \x91\x01\x16\x1f\n\r\n\x05\x04\x12\x02\x02\x03\x12\x04\x91\x01\"#\n\r\n\
    \x05\x04\x12\x02\x02\x08\x12\x04\x91\x01$_\n\x10\n\x08\x04\x12\x02\x02\
    \x08\xd0\x86\x03\x12\x04\x91\x01%^\n\x0c\n\x04\x04\x12\x02\x03\x12\x04\
    \x92\x01\x08^\n\r\n\x05\x04\x12\x02\x03\x04\x12\x04\x92\x01\x08\x10\n\r\
    \n\x05\x04\x12\x02\x03\x05\x12\x04\x92\x01\x11\x16\n\r\n\x05\x04\x12\x02\
    \x03\x01\x12\x04\x92\x01\x17\"\n\r\n\x05\x04\x12\x02\x03\x03\x12\x04\x92\
    \x01%&\n\r\n\x05\x04\x12\x02\x03\x08\x12\x04\x92\x01']\n\x10\n\x08\x04\
    \x12\x02\x03\x08\xd0\x86\x03\x12\x04\x92\x01(\\\n\r\n\x04\x04\x12\x02\
    \x04\x12\x05\x93\x01\x08\x99\x01\n\r\n\x05\x04\x12\x02\x04\x04\x12\x04\
    \x93\x01\x08\x10\n\r\n\x05\x04\x12\x02\x04\x06\x12\x04\x93\x01\x11?\n\r\
    \n\x05\x04\x12\x02\x04\x01\x12\x04\x93\x01@O\n\r\n\x05\x04\x12\x02\x04\
    \x03\x12\x04\x93\x01RS\n\x0e\n\x05\x04\x12\x02\x04\x08\x12\x05\x93\x01T\
    \x98\x01\n\x11\n\x08\x04\x12\x02\x04\x08\xd0\x86\x03\x12\x05\x93\x01U\
    \x97\x01\n\x0c\n\x04\x04\x12\x02\x05\x12\x04\x94\x01\x08\\\n\r\n\x05\x04\
    \x12\x02\x05\x04\x12\x04\x94\x01\x08\x10\n\r\n\x05\x04\x12\x02\x05\x05\
    \x12\x04\x94\x01\x11\x17\n\r\n\x05\x04\x12\x02\x05\x01\x12\x04\x94\x01\
    \x18$\n\r\n\x05\x04\x12\x02\x05\x03\x12\x04\x94\x01'(\n\r\n\x05\x04\x12\
    \x02\x05\x08\x12\x04\x94\x01)[\n\x10\n\x08\x04\x12\x02\x05\x08\xd0\x86\
    \x03\x12\x04\x94\x01*Z\n\r\n\x04\x04\x12\x02\x06\x12\x05\x95\x01\x08\x91\
    \x01\n\r\n\x05\x04\x12\x02\x06\x04\x12\x04\x95\x01\x08\x10\n\r\n\x05\x04\
    \x12\x02\x06\x05\x12\x04\x95\x01\x11\x17\n\r\n\x05\x04\x12\x02\x06\x01\
    \x12\x04\x95\x01\x18$\n\r\n\x05\x04\x12\x02\x06\x03\x12\x04\x95\x01'(\n\
    \x0e\n\x05\x04\x12\x02\x06\x08\x12\x05\x95\x01)\x90\x01\n\x11\n\x08\x04\
    \x12\x02\x06\x08\xd0\x86\x03\x12\x05\x95\x01*\x8f\x01\n\r\n\x04\x04\x12\
    \x02\x07\x12\x05\x96\x01\x08\x82\x01\n\r\n\x05\x04\x12\x02\x07\x04\x12\
    \x04\x96\x01\x08\x10\n\r\n\x05\x04\x12\x02\x07\x05\x12\x04\x96\x01\x11\
    \x16\n\r\n\x05\x04\x12\x02\x07\x01\x12\x04\x96\x01\x17)\n\r\n\x05\x04\
    \x12\x02\x07\x03\x12\x04\x96\x01,-\n\x0e\n\x05\x04\x12\x02\x07\x08\x12\
    \x05\x96\x01.\x81\x01\n\x11\n\x08\x04\x12\x02\x07\x08\xd0\x86\x03\x12\
    \x05\x96\x01/\x80\x01\n\r\n\x04\x04\x12\x02\x08\x12\x05\x97\x01\x08\x91\
    \x01\n\r\n\x05\x04\x12\x02\x08\x04\x12\x04\x97\x01\x08\x10\n\r\n\x05\x04\
    \x12\x02\x08\x05\x12\x04\x97\x01\x11\x15\n\r\n\x05\x04\x12\x02\x08\x01\
    \x12\x04\x97\x01\x16%\n\r\n\x05\x04\x12\x02\x08\x03\x12\x04\x97\x01()\n\
    \x0e\n\x05\x04\x12\x02\x08\x08\x12\x05\x97\x01*\x90\x01\n\x11\n\x08\x04\
    \x12\x02\x08\x08\xd0\x86\x03\x12\x05\x97\x01+\x8f\x01\n\x0c\n\x02\x04\
    \x13\x12\x06\x9a\x01\0\x9d\x01\x01\n\x0b\n\x03\x04\x13\x01\x12\x04\x9a\
    \x01\x08-\n\x0c\n\x04\x04\x13\x02\0\x12\x04\x9b\x01\x08}\n\r\n\x05\x04\
    \x13\x02\0\x04\x12\x04\x9b\x01\x08\x10\n\r\n\x05\x04\x13\x02\0\x05\x12\
    \x04\x9b\x01\x11\x15\n\r\n\x05\x04\x13\x02\0\x01\x12\x04\x9b\x01\x16\"\n\
    \r\n\x05\x04\x13\x02\0\x03\x12\x04\x9b\x01%&\n\r\n\x05\x04\x13\x02\0\x08\
    \x12\x04\x9b\x01'|\n\x10\n\x08\x04\x13\x02\0\x08\xd0\x86\x03\x12\x04\x9b\
    \x01({\n\r\n\x04\x04\x13\x02\x01\x12\x05\x9c\x01\x08\x83\x01\n\r\n\x05\
    \x04\x13\x02\x01\x04\x12\x04\x9c\x01\x08\x10\n\r\n\x05\x04\x13\x02\x01\
    \x06\x12\x04\x9c\x01\x113\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\x9c\x014\
    B\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\x9c\x01EF\n\x0e\n\x05\x04\x13\
    \x02\x01\x08\x12\x05\x9c\x01G\x82\x01\n\x11\n\x08\x04\x13\x02\x01\x08\
    \xd0\x86\x03\x12\x05\x9c\x01H\x81\x01\n\x0c\n\x02\x04\x14\x12\x06\x9f\
    \x01\0\xa4\x01\x01\n\x0b\n\x03\x04\x14\x01\x12\x04\x9f\x01\x08-\n\r\n\
    \x04\x04\x14\x02\0\x12\x05\xa0\x01\x08\x83\x01\n\r\n\x05\x04\x14\x02\0\
    \x04\x12\x04\xa0\x01\x08\x10\n\r\n\x05\x04\x14\x02\0\x05\x12\x04\xa0\x01\
    \x11\x15\n\r\n\x05\x04\x14\x02\0\x01\x12\x04\xa0\x01\x16(\n\r\n\x05\x04\
    \x14\x02\0\x03\x12\x04\xa0\x01+,\n\x0e\n\x05\x04\x14\x02\0\x08\x12\x05\
    \xa0\x01-\x82\x01\n\x11\n\x08\x04\x14\x02\0\x08\xd0\x86\x03\x12\x05\xa0\
    \x01.\x81\x01\n\r\n\x04\x04\x14\x02\x01\x12\x05\xa1\x01\x08\x9c\x01\n\r\
    \n\x05\x04\x14\x02\x01\x04\x12\x04\xa1\x01\x08\x10\n\r\n\x05\x04\x14\x02\
    \x01\x05\x12\x04\xa1\x01\x11\x17\n\r\n\x05\x04\x14\x02\x01\x01\x12\x04\
    \xa1\x01\x18\x1d\n\r\n\x05\x04\x14\x02\x01\x03\x12\x04\xa1\x01\x20!\n\
    \x0e\n\x05\x04\x14\x02\x01\x08\x12\x05\xa1\x01\"\x9b\x01\n\x11\n\x08\x04\
    \x14\x02\x01\x08\xd0\x86\x03\x12\x05\xa1\x01#\x9a\x01\n\r\n\x04\x04\x14\
    \x02\x02\x12\x05\xa2\x01\x08\x93\x01\n\r\n\x05\x04\x14\x02\x02\x04\x12\
    \x04\xa2\x01\x08\x10\n\r\n\x05\x04\x14\x02\x02\x05\x12\x04\xa2\x01\x11\
    \x16\n\r\n\x05\x04\x14\x02\x02\x01\x12\x04\xa2\x01\x17\x1f\n\r\n\x05\x04\
    \x14\x02\x02\x03\x12\x04\xa2\x01\"#\n\x0e\n\x05\x04\x14\x02\x02\x08\x12\
    \x05\xa2\x01$\x92\x01\n\x11\n\x08\x04\x14\x02\x02\x08\xd0\x86\x03\x12\
    \x05\xa2\x01%\x91\x01\n\x0c\n\x04\x04\x14\x02\x03\x12\x04\xa3\x01\x08u\n\
    \r\n\x05\x04\x14\x02\x03\x04\x12\x04\xa3\x01\x08\x10\n\r\n\x05\x04\x14\
    \x02\x03\x05\x12\x04\xa3\x01\x11\x17\n\r\n\x05\x04\x14\x02\x03\x01\x12\
    \x04\xa3\x01\x18\x20\n\r\n\x05\x04\x14\x02\x03\x03\x12\x04\xa3\x01#$\n\r\
    \n\x05\x04\x14\x02\x03\x08\x12\x04\xa3\x01%t\n\x10\n\x08\x04\x14\x02\x03\
    \x08\xd0\x86\x03\x12\x04\xa3\x01&s\n\x0c\n\x02\x04\x15\x12\x06\xa6\x01\0\
    \xa8\x01\x01\n\x0b\n\x03\x04\x15\x01\x12\x04\xa6\x01\x08.\n\x0c\n\x04\
    \x04\x15\x02\0\x12\x04\xa7\x01\x08{\n\r\n\x05\x04\x15\x02\0\x04\x12\x04\
    \xa7\x01\x08\x10\n\r\n\x05\x04\x15\x02\0\x05\x12\x04\xa7\x01\x11\x15\n\r\
    \n\x05\x04\x15\x02\0\x01\x12\x04\xa7\x01\x16$\n\r\n\x05\x04\x15\x02\0\
    \x03\x12\x04\xa7\x01'(\n\r\n\x05\x04\x15\x02\0\x08\x12\x04\xa7\x01)z\n\
    \x10\n\x08\x04\x15\x02\0\x08\xd0\x86\x03\x12\x04\xa7\x01*y\n\x0c\n\x02\
    \x04\x16\x12\x06\xaa\x01\0\xae\x01\x01\n\x0b\n\x03\x04\x16\x01\x12\x04\
    \xaa\x01\x08)\n\x0c\n\x04\x04\x16\x02\0\x12\x04\xab\x01\x08R\n\r\n\x05\
    \x04\x16\x02\0\x04\x12\x04\xab\x01\x08\x10\n\r\n\x05\x04\x16\x02\0\x05\
    \x12\x04\xab\x01\x11\x17\n\r\n\x05\x04\x16\x02\0\x01\x12\x04\xab\x01\x18\
    \x1d\n\r\n\x05\x04\x16\x02\0\x03\x12\x04\xab\x01\x20!\n\r\n\x05\x04\x16\
    \x02\0\x08\x12\x04\xab\x01\"Q\n\x10\n\x08\x04\x16\x02\0\x08\xd0\x86\x03\
    \x12\x04\xab\x01#P\n\x0c\n\x04\x04\x16\x02\x01\x12\x04\xac\x01\x08O\n\r\
    \n\x05\x04\x16\x02\x01\x04\x12\x04\xac\x01\x08\x10\n\r\n\x05\x04\x16\x02\
    \x01\x05\x12\x04\xac\x01\x11\x17\n\r\n\x05\x04\x16\x02\x01\x01\x12\x04\
    \xac\x01\x18\x20\n\r\n\x05\x04\x16\x02\x01\x03\x12\x04\xac\x01#$\n\r\n\
    \x05\x04\x16\x02\x01\x08\x12\x04\xac\x01%N\n\x10\n\x08\x04\x16\x02\x01\
    \x08\xd0\x86\x03\x12\x04\xac\x01&M\n\x0c\n\x04\x04\x16\x02\x02\x12\x04\
    \xad\x01\x08B\n\r\n\x05\x04\x16\x02\x02\x04\x12\x04\xad\x01\x08\x10\n\r\
    \n\x05\x04\x16\x02\x02\x05\x12\x04\xad\x01\x11\x17\n\r\n\x05\x04\x16\x02\
    \x02\x01\x12\x04\xad\x01\x18\x1d\n\r\n\x05\x04\x16\x02\x02\x03\x12\x04\
    \xad\x01\x20!\n\r\n\x05\x04\x16\x02\x02\x08\x12\x04\xad\x01\"A\n\x10\n\
    \x08\x04\x16\x02\x02\x08\xd0\x86\x03\x12\x04\xad\x01#@\n\x0c\n\x02\x04\
    \x17\x12\x06\xb0\x01\0\xc1\x01\x01\n\x0b\n\x03\x04\x17\x01\x12\x04\xb0\
    \x01\x08*\n\x0e\n\x04\x04\x17\x03\0\x12\x06\xb1\x01\x08\xb4\x01\t\n\r\n\
    \x05\x04\x17\x03\0\x01\x12\x04\xb1\x01\x10\x1b\n\x0e\n\x06\x04\x17\x03\0\
    \x02\0\x12\x04\xb2\x01\x10)\n\x0f\n\x07\x04\x17\x03\0\x02\0\x04\x12\x04\
    \xb2\x01\x10\x18\n\x0f\n\x07\x04\x17\x03\0\x02\0\x05\x12\x04\xb2\x01\x19\
    \x1f\n\x0f\n\x07\x04\x17\x03\0\x02\0\x01\x12\x04\xb2\x01\x20$\n\x0f\n\
    \x07\x04\x17\x03\0\x02\0\x03\x12\x04\xb2\x01'(\n\x0e\n\x06\x04\x17\x03\0\
    \x02\x01\x12\x04\xb3\x01\x10*\n\x0f\n\x07\x04\x17\x03\0\x02\x01\x04\x12\
    \x04\xb3\x01\x10\x18\n\x0f\n\x07\x04\x17\x03\0\x02\x01\x05\x12\x04\xb3\
    \x01\x19\x1f\n\x0f\n\x07\x04\x17\x03\0\x02\x01\x01\x12\x04\xb3\x01\x20%\
    \n\x0f\n\x07\x04\x17\x03\0\x02\x01\x03\x12\x04\xb3\x01()\n\x0c\n\x04\x04\
    \x17\x02\0\x12\x04\xb6\x01\x08V\n\r\n\x05\x04\x17\x02\0\x04\x12\x04\xb6\
    \x01\x08\x10\n\r\n\x05\x04\x17\x02\0\x05\x12\x04\xb6\x01\x11\x17\n\r\n\
    \x05\x04\x17\x02\0\x01\x12\x04\xb6\x01\x18\x1d\n\r\n\x05\x04\x17\x02\0\
    \x03\x12\x04\xb6\x01\x20!\n\r\n\x05\x04\x17\x02\0\x08\x12\x04\xb6\x01\"U\
    \n\x10\n\x08\x04\x17\x02\0\x08\xd0\x86\x03\x12\x04\xb6\x01#T\n\x0c\n\x04\
    \x04\x17\x02\x01\x12\x04\xb7\x01\x08k\n\r\n\x05\x04\x17\x02\x01\x04\x12\
    \x04\xb7\x01\x08\x10\n\r\n\x05\x04\x17\x02\x01\x05\x12\x04\xb7\x01\x11\
    \x17\n\r\n\x05\x04\x17\x02\x01\x01\x12\x04\xb7\x01\x18!\n\r\n\x05\x04\
    \x17\x02\x01\x03\x12\x04\xb7\x01$%\n\r\n\x05\x04\x17\x02\x01\x08\x12\x04\
    \xb7\x01&j\n\x10\n\x08\x04\x17\x02\x01\x08\xd0\x86\x03\x12\x04\xb7\x01'i\
    \n\x0c\n\x04\x04\x17\x02\x02\x12\x04\xb8\x01\x08k\n\r\n\x05\x04\x17\x02\
    \x02\x04\x12\x04\xb8\x01\x08\x10\n\r\n\x05\x04\x17\x02\x02\x05\x12\x04\
    \xb8\x01\x11\x17\n\r\n\x05\x04\x17\x02\x02\x01\x12\x04\xb8\x01\x18%\n\r\
    \n\x05\x04\x17\x02\x02\x03\x12\x04\xb8\x01()\n\r\n\x05\x04\x17\x02\x02\
    \x08\x12\x04\xb8\x01*j\n\x10\n\x08\x04\x17\x02\x02\x08\xd0\x86\x03\x12\
    \x04\xb8\x01+i\n\x0c\n\x04\x04\x17\x02\x03\x12\x04\xb9\x01\x08D\n\r\n\
    \x05\x04\x17\x02\x03\x04\x12\x04\xb9\x01\x08\x10\n\r\n\x05\x04\x17\x02\
    \x03\x05\x12\x04\xb9\x01\x11\x16\n\r\n\x05\x04\x17\x02\x03\x01\x12\x04\
    \xb9\x01\x17\x1f\n\r\n\x05\x04\x17\x02\x03\x03\x12\x04\xb9\x01\"#\n\r\n\
    \x05\x04\x17\x02\x03\x08\x12\x04\xb9\x01$C\n\x10\n\x08\x04\x17\x02\x03\
    \x08\xd0\x86\x03\x12\x04\xb9\x01%B\n\x0c\n\x04\x04\x17\x02\x04\x12\x04\
    \xba\x01\x08M\n\r\n\x05\x04\x17\x02\x04\x04\x12\x04\xba\x01\x08\x10\n\r\
    \n\x05\x04\x17\x02\x04\x05\x12\x04\xba\x01\x11\x17\n\r\n\x05\x04\x17\x02\
    \x04\x01\x12\x04\xba\x01\x18\"\n\r\n\x05\x04\x17\x02\x04\x03\x12\x04\xba\
    \x01%&\n\r\n\x05\x04\x17\x02\x04\x08\x12\x04\xba\x01'L\n\x10\n\x08\x04\
    \x17\x02\x04\x08\xd0\x86\x03\x12\x04\xba\x01(K\n\x0c\n\x04\x04\x17\x02\
    \x05\x12\x04\xbb\x01\x08l\n\r\n\x05\x04\x17\x02\x05\x04\x12\x04\xbb\x01\
    \x08\x10\n\r\n\x05\x04\x17\x02\x05\x05\x12\x04\xbb\x01\x11\x15\n\r\n\x05\
    \x04\x17\x02\x05\x01\x12\x04\xbb\x01\x16(\n\r\n\x05\x04\x17\x02\x05\x03\
    \x12\x04\xbb\x01+,\n\r\n\x05\x04\x17\x02\x05\x08\x12\x04\xbb\x01-k\n\x10\
    \n\x08\x04\x17\x02\x05\x08\xd0\x86\x03\x12\x04\xbb\x01.j\n\x0c\n\x04\x04\
    \x17\x02\x06\x12\x04\xbc\x01\x08S\n\r\n\x05\x04\x17\x02\x06\x04\x12\x04\
    \xbc\x01\x08\x10\n\r\n\x05\x04\x17\x02\x06\x05\x12\x04\xbc\x01\x11\x17\n\
    \r\n\x05\x04\x17\x02\x06\x01\x12\x04\xbc\x01\x18\x20\n\r\n\x05\x04\x17\
    \x02\x06\x03\x12\x04\xbc\x01#$\n\r\n\x05\x04\x17\x02\x06\x08\x12\x04\xbc\
    \x01%R\n\x10\n\x08\x04\x17\x02\x06\x08\xd0\x86\x03\x12\x04\xbc\x01&Q\n\
    \x0c\n\x04\x04\x17\x02\x07\x12\x04\xbd\x01\x08s\n\r\n\x05\x04\x17\x02\
    \x07\x04\x12\x04\xbd\x01\x08\x10\n\r\n\x05\x04\x17\x02\x07\x05\x12\x04\
    \xbd\x01\x11\x17\n\r\n\x05\x04\x17\x02\x07\x01\x12\x04\xbd\x01\x18\x20\n\
    \r\n\x05\x04\x17\x02\x07\x03\x12\x04\xbd\x01#$\n\r\n\x05\x04\x17\x02\x07\
    \x08\x12\x04\xbd\x01%r\n\x10\n\x08\x04\x17\x02\x07\x08\xd0\x86\x03\x12\
    \x04\xbd\x01&q\n\x0c\n\x04\x04\x17\x02\x08\x12\x04\xbe\x01\x08Y\n\r\n\
    \x05\x04\x17\x02\x08\x04\x12\x04\xbe\x01\x08\x10\n\r\n\x05\x04\x17\x02\
    \x08\x05\x12\x04\xbe\x01\x11\x15\n\r\n\x05\x04\x17\x02\x08\x01\x12\x04\
    \xbe\x01\x16\x1f\n\r\n\x05\x04\x17\x02\x08\x03\x12\x04\xbe\x01\"#\n\r\n\
    \x05\x04\x17\x02\x08\x08\x12\x04\xbe\x01$X\n\x10\n\x08\x04\x17\x02\x08\
    \x08\xd0\x86\x03\x12\x04\xbe\x01%W\n\r\n\x04\x04\x17\x02\t\x12\x05\xbf\
    \x01\x08\x9b\x01\n\r\n\x05\x04\x17\x02\t\x04\x12\x04\xbf\x01\x08\x10\n\r\
    \n\x05\x04\x17\x02\t\x06\x12\x04\xbf\x01\x11@\n\r\n\x05\x04\x17\x02\t\
    \x01\x12\x04\xbf\x01AP\n\r\n\x05\x04\x17\x02\t\x03\x12\x04\xbf\x01SU\n\
    \x0e\n\x05\x04\x17\x02\t\x08\x12\x05\xbf\x01V\x9a\x01\n\x11\n\x08\x04\
    \x17\x02\t\x08\xd0\x86\x03\x12\x05\xbf\x01W\x99\x01\n\x0c\n\x04\x04\x17\
    \x02\n\x12\x04\xc0\x01\x08%\n\r\n\x05\x04\x17\x02\n\x04\x12\x04\xc0\x01\
    \x08\x10\n\r\n\x05\x04\x17\x02\n\x05\x12\x04\xc0\x01\x11\x15\n\r\n\x05\
    \x04\x17\x02\n\x01\x12\x04\xc0\x01\x16\x1f\n\r\n\x05\x04\x17\x02\n\x03\
    \x12\x04\xc0\x01\"$\n\x0c\n\x02\x04\x18\x12\x06\xc3\x01\0\xc7\x01\x01\n\
    \x0b\n\x03\x04\x18\x01\x12\x04\xc3\x01\x08'\n\x0c\n\x04\x04\x18\x02\0\
    \x12\x04\xc4\x01\x08b\n\r\n\x05\x04\x18\x02\0\x04\x12\x04\xc4\x01\x08\
    \x10\n\r\n\x05\x04\x18\x02\0\x05\x12\x04\xc4\x01\x11\x17\n\r\n\x05\x04\
    \x18\x02\0\x01\x12\x04\xc4\x01\x18\x1d\n\r\n\x05\x04\x18\x02\0\x03\x12\
    \x04\xc4\x01\x20!\n\r\n\x05\x04\x18\x02\0\x08\x12\x04\xc4\x01\"a\n\x10\n\
    \x08\x04\x18\x02\0\x08\xd0\x86\x03\x12\x04\xc4\x01#`\n\x0c\n\x04\x04\x18\
    \x02\x01\x12\x04\xc5\x01\x08K\n\r\n\x05\x04\x18\x02\x01\x04\x12\x04\xc5\
    \x01\x08\x10\n\r\n\x05\x04\x18\x02\x01\x05\x12\x04\xc5\x01\x11\x17\n\r\n\
    \x05\x04\x18\x02\x01\x01\x12\x04\xc5\x01\x18\x20\n\r\n\x05\x04\x18\x02\
    \x01\x03\x12\x04\xc5\x01#$\n\r\n\x05\x04\x18\x02\x01\x08\x12\x04\xc5\x01\
    %J\n\x10\n\x08\x04\x18\x02\x01\x08\xd0\x86\x03\x12\x04\xc5\x01&I\n\x0c\n\
    \x04\x04\x18\x02\x02\x12\x04\xc6\x01\x08y\n\r\n\x05\x04\x18\x02\x02\x04\
    \x12\x04\xc6\x01\x08\x10\n\r\n\x05\x04\x18\x02\x02\x05\x12\x04\xc6\x01\
    \x11\x15\n\r\n\x05\x04\x18\x02\x02\x01\x12\x04\xc6\x01\x16(\n\r\n\x05\
    \x04\x18\x02\x02\x03\x12\x04\xc6\x01+,\n\r\n\x05\x04\x18\x02\x02\x08\x12\
    \x04\xc6\x01-x\n\x10\n\x08\x04\x18\x02\x02\x08\xd0\x86\x03\x12\x04\xc6\
    \x01.w\n\x0c\n\x02\x04\x19\x12\x06\xc9\x01\0\xca\x01\x01\n\x0b\n\x03\x04\
    \x19\x01\x12\x04\xc9\x01\x08(\n\x0c\n\x02\x04\x1a\x12\x06\xcc\x01\0\xcf\
    \x01\x01\n\x0b\n\x03\x04\x1a\x01\x12\x04\xcc\x01\x084\n\x0c\n\x04\x04\
    \x1a\x02\0\x12\x04\xcd\x01\x08b\n\r\n\x05\x04\x1a\x02\0\x04\x12\x04\xcd\
    \x01\x08\x10\n\r\n\x05\x04\x1a\x02\0\x05\x12\x04\xcd\x01\x11\x17\n\r\n\
    \x05\x04\x1a\x02\0\x01\x12\x04\xcd\x01\x18\x1d\n\r\n\x05\x04\x1a\x02\0\
    \x03\x12\x04\xcd\x01\x20!\n\r\n\x05\x04\x1a\x02\0\x08\x12\x04\xcd\x01\"a\
    \n\x10\n\x08\x04\x1a\x02\0\x08\xd0\x86\x03\x12\x04\xcd\x01#`\n\r\n\x04\
    \x04\x1a\x02\x01\x12\x05\xce\x01\x08\x92\x01\n\r\n\x05\x04\x1a\x02\x01\
    \x04\x12\x04\xce\x01\x08\x10\n\r\n\x05\x04\x1a\x02\x01\x05\x12\x04\xce\
    \x01\x11\x15\n\r\n\x05\x04\x1a\x02\x01\x01\x12\x04\xce\x01\x16'\n\r\n\
    \x05\x04\x1a\x02\x01\x03\x12\x04\xce\x01*+\n\x0e\n\x05\x04\x1a\x02\x01\
    \x08\x12\x05\xce\x01,\x91\x01\n\x11\n\x08\x04\x1a\x02\x01\x08\xd0\x86\
    \x03\x12\x05\xce\x01-\x90\x01\n\x0c\n\x02\x04\x1b\x12\x06\xd1\x01\0\xd2\
    \x01\x01\n\x0b\n\x03\x04\x1b\x01\x12\x04\xd1\x01\x08(\n\x0c\n\x02\x04\
    \x1c\x12\x06\xd4\x01\0\xdc\x01\x01\n\x0b\n\x03\x04\x1c\x01\x12\x04\xd4\
    \x01\x08)\n\x0e\n\x04\x04\x1c\x03\0\x12\x06\xd5\x01\x08\xd9\x01\t\n\r\n\
    \x05\x04\x1c\x03\0\x01\x12\x04\xd5\x01\x10\x14\n\x0e\n\x06\x04\x1c\x03\0\
    \x02\0\x12\x04\xd6\x01\x10*\n\x0f\n\x07\x04\x1c\x03\0\x02\0\x04\x12\x04\
    \xd6\x01\x10\x18\n\x0f\n\x07\x04\x1c\x03\0\x02\0\x05\x12\x04\xd6\x01\x19\
    \x1f\n\x0f\n\x07\x04\x1c\x03\0\x02\0\x01\x12\x04\xd6\x01\x20%\n\x0f\n\
    \x07\x04\x1c\x03\0\x02\0\x03\x12\x04\xd6\x01()\n\x0e\n\x06\x04\x1c\x03\0\
    \x02\x01\x12\x04\xd7\x01\x10.\n\x0f\n\x07\x04\x1c\x03\0\x02\x01\x04\x12\
    \x04\xd7\x01\x10\x18\n\x0f\n\x07\x04\x1c\x03\0\x02\x01\x05\x12\x04\xd7\
    \x01\x19\x1e\n\x0f\n\x07\x04\x1c\x03\0\x02\x01\x01\x12\x04\xd7\x01\x1f)\
    \n\x0f\n\x07\x04\x1c\x03\0\x02\x01\x03\x12\x04\xd7\x01,-\n\x0e\n\x06\x04\
    \x1c\x03\0\x02\x02\x12\x04\xd8\x01\x10-\n\x0f\n\x07\x04\x1c\x03\0\x02\
    \x02\x04\x12\x04\xd8\x01\x10\x18\n\x0f\n\x07\x04\x1c\x03\0\x02\x02\x05\
    \x12\x04\xd8\x01\x19\x1e\n\x0f\n\x07\x04\x1c\x03\0\x02\x02\x01\x12\x04\
    \xd8\x01\x1f(\n\x0f\n\x07\x04\x1c\x03\0\x02\x02\x03\x12\x04\xd8\x01+,\n\
    \x0c\n\x04\x04\x1c\x02\0\x12\x04\xdb\x01\x08B\n\r\n\x05\x04\x1c\x02\0\
    \x04\x12\x04\xdb\x01\x08\x10\n\r\n\x05\x04\x1c\x02\0\x06\x12\x04\xdb\x01\
    \x118\n\r\n\x05\x04\x1c\x02\0\x01\x12\x04\xdb\x019=\n\r\n\x05\x04\x1c\
    \x02\0\x03\x12\x04\xdb\x01@A\n\x0c\n\x02\x06\0\x12\x06\xde\x01\0\x9c\x02\
    \x01\n\x0b\n\x03\x06\0\x01\x12\x04\xde\x01\x08\r\n\x0b\n\x03\x06\0\x03\
    \x12\x04\xdf\x01\x08O\n\x0e\n\x06\x06\0\x03\xd0\x86\x03\x12\x04\xdf\x01\
    \x08O\n\x0e\n\x04\x06\0\x02\0\x12\x06\xe1\x01\x08\xe3\x01\t\n\r\n\x05\
    \x06\0\x02\0\x01\x12\x04\xe1\x01\x0c\x1f\n\r\n\x05\x06\0\x02\0\x02\x12\
    \x04\xe1\x01!D\n\r\n\x05\x06\0\x02\0\x03\x12\x04\xe1\x01Os\n\r\n\x05\x06\
    \0\x02\0\x04\x12\x04\xe2\x01\x10g\n\x10\n\x08\x06\0\x02\0\x04\xd0\x86\
    \x03\x12\x04\xe2\x01\x10g\n\x0e\n\x04\x06\0\x02\x01\x12\x06\xe5\x01\x08\
    \xe7\x01\t\n\r\n\x05\x06\0\x02\x01\x01\x12\x04\xe5\x01\x0c\x1b\n\r\n\x05\
    \x06\0\x02\x01\x02\x12\x04\xe5\x01\x1d<\n\r\n\x05\x06\0\x02\x01\x03\x12\
    \x04\xe5\x01Gg\n\x0e\n\x05\x06\0\x02\x01\x04\x12\x05\xe6\x01\x10\xfd\x01\
    \n\x11\n\x08\x06\0\x02\x01\x04\xd0\x86\x03\x12\x05\xe6\x01\x10\xfd\x01\n\
    \x0e\n\x04\x06\0\x02\x02\x12\x06\xe9\x01\x08\xeb\x01\t\n\r\n\x05\x06\0\
    \x02\x02\x01\x12\x04\xe9\x01\x0c\x1c\n\r\n\x05\x06\0\x02\x02\x02\x12\x04\
    \xe9\x01\x1e>\n\r\n\x05\x06\0\x02\x02\x03\x12\x04\xe9\x01Ij\n\x0e\n\x05\
    \x06\0\x02\x02\x04\x12\x05\xea\x01\x10\x81\x01\n\x11\n\x08\x06\0\x02\x02\
    \x04\xd0\x86\x03\x12\x05\xea\x01\x10\x81\x01\n\x0e\n\x04\x06\0\x02\x03\
    \x12\x06\xed\x01\x08\xef\x01\t\n\r\n\x05\x06\0\x02\x03\x01\x12\x04\xed\
    \x01\x0c\x1a\n\r\n\x05\x06\0\x02\x03\x02\x12\x04\xed\x01\x1c:\n\r\n\x05\
    \x06\0\x02\x03\x03\x12\x04\xed\x01Ed\n\r\n\x05\x06\0\x02\x03\x04\x12\x04\
    \xee\x01\x10Q\n\x10\n\x08\x06\0\x02\x03\x04\xd0\x86\x03\x12\x04\xee\x01\
    \x10Q\n\x0e\n\x04\x06\0\x02\x04\x12\x06\xf1\x01\x08\xf3\x01\t\n\r\n\x05\
    \x06\0\x02\x04\x01\x12\x04\xf1\x01\x0c\x1e\n\r\n\x05\x06\0\x02\x04\x02\
    \x12\x04\xf1\x01\x20B\n\r\n\x05\x06\0\x02\x04\x03\x12\x04\xf1\x01Mp\n\
    \x0e\n\x05\x06\0\x02\x04\x04\x12\x05\xf2\x01\x10\x88\x01\n\x11\n\x08\x06\
    \0\x02\x04\x04\xd0\x86\x03\x12\x05\xf2\x01\x10\x88\x01\n\x0e\n\x04\x06\0\
    \x02\x05\x12\x06\xf5\x01\x08\xf7\x01\t\n\r\n\x05\x06\0\x02\x05\x01\x12\
    \x04\xf5\x01\x0c\x12\n\r\n\x05\x06\0\x02\x05\x02\x12\x04\xf5\x01\x14*\n\
    \r\n\x05\x06\0\x02\x05\x03\x12\x04\xf5\x015L\n\r\n\x05\x06\0\x02\x05\x04\
    \x12\x04\xf6\x01\x10V\n\x10\n\x08\x06\0\x02\x05\x04\xd0\x86\x03\x12\x04\
    \xf6\x01\x10V\n\x0e\n\x04\x06\0\x02\x06\x12\x06\xf9\x01\x08\xfb\x01\t\n\
    \r\n\x05\x06\0\x02\x06\x01\x12\x04\xf9\x01\x0c\"\n\r\n\x05\x06\0\x02\x06\
    \x02\x12\x04\xf9\x01$J\n\r\n\x05\x06\0\x02\x06\x03\x12\x04\xf9\x01U|\n\r\
    \n\x05\x06\0\x02\x06\x04\x12\x04\xfa\x01\x10[\n\x10\n\x08\x06\0\x02\x06\
    \x04\xd0\x86\x03\x12\x04\xfa\x01\x10[\n\x0e\n\x04\x06\0\x02\x07\x12\x06\
    \xfd\x01\x08\xff\x01\t\n\r\n\x05\x06\0\x02\x07\x01\x12\x04\xfd\x01\x0c\
    \x15\n\r\n\x05\x06\0\x02\x07\x02\x12\x04\xfd\x01\x175\n\r\n\x05\x06\0\
    \x02\x07\x03\x12\x04\xfd\x01@K\n\r\n\x05\x06\0\x02\x07\x04\x12\x04\xfe\
    \x01\x10V\n\x10\n\x08\x06\0\x02\x07\x04\xd0\x86\x03\x12\x04\xfe\x01\x10V\
    \n\x0e\n\x04\x06\0\x02\x08\x12\x06\x81\x02\x08\x83\x02\t\n\r\n\x05\x06\0\
    \x02\x08\x01\x12\x04\x81\x02\x0c)\n\r\n\x05\x06\0\x02\x08\x02\x12\x04\
    \x81\x02+]\n\r\n\x05\x06\0\x02\x08\x03\x12\x04\x81\x02hs\n\r\n\x05\x06\0\
    \x02\x08\x04\x12\x04\x82\x02\x10j\n\x10\n\x08\x06\0\x02\x08\x04\xd0\x86\
    \x03\x12\x04\x82\x02\x10j\n\x0e\n\x04\x06\0\x02\t\x12\x06\x85\x02\x08\
    \x87\x02\t\n\r\n\x05\x06\0\x02\t\x01\x12\x04\x85\x02\x0c!\n\r\n\x05\x06\
    \0\x02\t\x02\x12\x04\x85\x02#H\n\r\n\x05\x06\0\x02\t\x03\x12\x04\x85\x02\
    Sy\n\r\n\x05\x06\0\x02\t\x04\x12\x04\x86\x02\x10M\n\x10\n\x08\x06\0\x02\
    \t\x04\xd0\x86\x03\x12\x04\x86\x02\x10M\n\x0e\n\x04\x06\0\x02\n\x12\x06\
    \x89\x02\x08\x8b\x02\t\n\r\n\x05\x06\0\x02\n\x01\x12\x04\x89\x02\x0c\"\n\
    \r\n\x05\x06\0\x02\n\x02\x12\x04\x89\x02$J\n\r\n\x05\x06\0\x02\n\x03\x12\
    \x04\x89\x02U|\n\r\n\x05\x06\0\x02\n\x04\x12\x04\x8a\x02\x10\\\n\x10\n\
    \x08\x06\0\x02\n\x04\xd0\x86\x03\x12\x04\x8a\x02\x10\\\n\x0e\n\x04\x06\0\
    \x02\x0b\x12\x06\x8d\x02\x08\x8f\x02\t\n\r\n\x05\x06\0\x02\x0b\x01\x12\
    \x04\x8d\x02\x0c\x1e\n\r\n\x05\x06\0\x02\x0b\x02\x12\x04\x8d\x02\x20B\n\
    \r\n\x05\x06\0\x02\x0b\x03\x12\x04\x8d\x02Mp\n\r\n\x05\x06\0\x02\x0b\x04\
    \x12\x04\x8e\x02\x10J\n\x10\n\x08\x06\0\x02\x0b\x04\xd0\x86\x03\x12\x04\
    \x8e\x02\x10J\n\x0e\n\x04\x06\0\x02\x0c\x12\x06\x91\x02\x08\x93\x02\t\n\
    \r\n\x05\x06\0\x02\x0c\x01\x12\x04\x91\x02\x0c\x1c\n\r\n\x05\x06\0\x02\
    \x0c\x02\x12\x04\x91\x02\x1e>\n\r\n\x05\x06\0\x02\x0c\x03\x12\x04\x91\
    \x02Ij\n\r\n\x05\x06\0\x02\x0c\x04\x12\x04\x92\x02\x10I\n\x10\n\x08\x06\
    \0\x02\x0c\x04\xd0\x86\x03\x12\x04\x92\x02\x10I\n\x0e\n\x04\x06\0\x02\r\
    \x12\x06\x95\x02\x08\x97\x02\t\n\r\n\x05\x06\0\x02\r\x01\x12\x04\x95\x02\
    \x0c$\n\r\n\x05\x06\0\x02\r\x02\x12\x04\x95\x02&S\n\r\n\x05\x06\0\x02\r\
    \x03\x12\x04\x95\x02^i\n\r\n\x05\x06\0\x02\r\x04\x12\x04\x96\x02\x10c\n\
    \x10\n\x08\x06\0\x02\r\x04\xd0\x86\x03\x12\x04\x96\x02\x10c\n\x0e\n\x04\
    \x06\0\x02\x0e\x12\x06\x99\x02\x08\x9b\x02\t\n\r\n\x05\x06\0\x02\x0e\x01\
    \x12\x04\x99\x02\x0c\x1d\n\r\n\x05\x06\0\x02\x0e\x02\x12\x04\x99\x02\x1f\
    @\n\r\n\x05\x06\0\x02\x0e\x03\x12\x04\x99\x02Km\n\r\n\x05\x06\0\x02\x0e\
    \x04\x12\x04\x9a\x02\x10`\n\x10\n\x08\x06\0\x02\x0e\x04\xd0\x86\x03\x12\
    \x04\x9a\x02\x10`\
";

static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;

fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
}

pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
    file_descriptor_proto_lazy.get(|| {
        parse_descriptor_proto()
    })
}