text: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: Qot_StockFilter.proto
  
  #include "Qot_StockFilter.pb.h"
  
  #include <algorithm>
  
  #include <google/protobuf/stubs/common.h>
  #include <google/protobuf/stubs/port.h>
  #include <google/protobuf/stubs/once.h>
  #include <google/protobuf/io/coded_stream.h>
  #include <google/protobuf/wire_format_lite_inl.h>
  #include <google/protobuf/descriptor.h>
  #include <google/protobuf/generated_message_reflection.h>
  #include <google/protobuf/reflection_ops.h>
  #include <google/protobuf/wire_format.h>
  // This is a temporary google only hack
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
  #include "third_party/protobuf/version.h"
  #endif
  // @@protoc_insertion_point(includes)
  namespace Qot_StockFilter {
  class BaseFilterDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<BaseFilter>
        _instance;
  } _BaseFilter_default_instance_;
  class AccumulateFilterDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<AccumulateFilter>
        _instance;
  } _AccumulateFilter_default_instance_;
  class FinancialFilterDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<FinancialFilter>
        _instance;
  } _FinancialFilter_default_instance_;
  class BaseDataDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<BaseData>
        _instance;
  } _BaseData_default_instance_;
  class AccumulateDataDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<AccumulateData>
        _instance;
  } _AccumulateData_default_instance_;
  class FinancialDataDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<FinancialData>
        _instance;
  } _FinancialData_default_instance_;
  class StockDataDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<StockData>
        _instance;
  } _StockData_default_instance_;
  class C2SDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<C2S>
        _instance;
  } _C2S_default_instance_;
  class S2CDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<S2C>
        _instance;
  } _S2C_default_instance_;
  class RequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<Request>
        _instance;
  } _Request_default_instance_;
  class ResponseDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<Response>
        _instance;
  } _Response_default_instance_;
  }  // namespace Qot_StockFilter
  namespace protobuf_Qot_5fStockFilter_2eproto {
  void InitDefaultsBaseFilterImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::Qot_StockFilter::_BaseFilter_default_instance_;
      new (ptr) ::Qot_StockFilter::BaseFilter();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::Qot_StockFilter::BaseFilter::InitAsDefaultInstance();
  }
  
  void InitDefaultsBaseFilter() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsBaseFilterImpl);
  }
  
  void InitDefaultsAccumulateFilterImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::Qot_StockFilter::_AccumulateFilter_default_instance_;
      new (ptr) ::Qot_StockFilter::AccumulateFilter();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::Qot_StockFilter::AccumulateFilter::InitAsDefaultInstance();
  }
  
  void InitDefaultsAccumulateFilter() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsAccumulateFilterImpl);
  }
  
  void InitDefaultsFinancialFilterImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::Qot_StockFilter::_FinancialFilter_default_instance_;
      new (ptr) ::Qot_StockFilter::FinancialFilter();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::Qot_StockFilter::FinancialFilter::InitAsDefaultInstance();
  }
  
  void InitDefaultsFinancialFilter() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsFinancialFilterImpl);
  }
  
  void InitDefaultsBaseDataImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::Qot_StockFilter::_BaseData_default_instance_;
      new (ptr) ::Qot_StockFilter::BaseData();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::Qot_StockFilter::BaseData::InitAsDefaultInstance();
  }
  
  void InitDefaultsBaseData() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsBaseDataImpl);
  }
  
  void InitDefaultsAccumulateDataImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::Qot_StockFilter::_AccumulateData_default_instance_;
      new (ptr) ::Qot_StockFilter::AccumulateData();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::Qot_StockFilter::AccumulateData::InitAsDefaultInstance();
  }
  
  void InitDefaultsAccumulateData() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsAccumulateDataImpl);
  }
  
  void InitDefaultsFinancialDataImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    {
      void* ptr = &::Qot_StockFilter::_FinancialData_default_instance_;
      new (ptr) ::Qot_StockFilter::FinancialData();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::Qot_StockFilter::FinancialData::InitAsDefaultInstance();
  }
  
  void InitDefaultsFinancialData() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsFinancialDataImpl);
  }
  
  void InitDefaultsStockDataImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    protobuf_Qot_5fCommon_2eproto::InitDefaultsSecurity();
    protobuf_Qot_5fStockFilter_2eproto::InitDefaultsBaseData();
    protobuf_Qot_5fStockFilter_2eproto::InitDefaultsAccumulateData();
    protobuf_Qot_5fStockFilter_2eproto::InitDefaultsFinancialData();
    {
      void* ptr = &::Qot_StockFilter::_StockData_default_instance_;
      new (ptr) ::Qot_StockFilter::StockData();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::Qot_StockFilter::StockData::InitAsDefaultInstance();
  }
  
  void InitDefaultsStockData() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsStockDataImpl);
  }
  
  void InitDefaultsC2SImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    protobuf_Qot_5fCommon_2eproto::InitDefaultsSecurity();
    protobuf_Qot_5fStockFilter_2eproto::InitDefaultsBaseFilter();
    protobuf_Qot_5fStockFilter_2eproto::InitDefaultsAccumulateFilter();
    protobuf_Qot_5fStockFilter_2eproto::InitDefaultsFinancialFilter();
    {
      void* ptr = &::Qot_StockFilter::_C2S_default_instance_;
      new (ptr) ::Qot_StockFilter::C2S();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::Qot_StockFilter::C2S::InitAsDefaultInstance();
  }
  
  void InitDefaultsC2S() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsC2SImpl);
  }
  
  void InitDefaultsS2CImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    protobuf_Qot_5fStockFilter_2eproto::InitDefaultsStockData();
    {
      void* ptr = &::Qot_StockFilter::_S2C_default_instance_;
      new (ptr) ::Qot_StockFilter::S2C();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::Qot_StockFilter::S2C::InitAsDefaultInstance();
  }
  
  void InitDefaultsS2C() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsS2CImpl);
  }
  
  void InitDefaultsRequestImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    protobuf_Qot_5fStockFilter_2eproto::InitDefaultsC2S();
    {
      void* ptr = &::Qot_StockFilter::_Request_default_instance_;
      new (ptr) ::Qot_StockFilter::Request();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::Qot_StockFilter::Request::InitAsDefaultInstance();
  }
  
  void InitDefaultsRequest() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsRequestImpl);
  }
  
  void InitDefaultsResponseImpl() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
  #ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
  #else
    ::google::protobuf::internal::InitProtobufDefaults();
  #endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
    protobuf_Qot_5fStockFilter_2eproto::InitDefaultsS2C();
    {
      void* ptr = &::Qot_StockFilter::_Response_default_instance_;
      new (ptr) ::Qot_StockFilter::Response();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::Qot_StockFilter::Response::InitAsDefaultInstance();
  }
  
  void InitDefaultsResponse() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsResponseImpl);
  }
  
  ::google::protobuf::Metadata file_level_metadata[11];
  const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors[5];
  
  const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::BaseFilter, _has_bits_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::BaseFilter, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::BaseFilter, field_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::BaseFilter, filtermin_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::BaseFilter, filtermax_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::BaseFilter, isnofilter_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::BaseFilter, sortdir_),
    1,
    0,
    3,
    2,
    4,
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::AccumulateFilter, _has_bits_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::AccumulateFilter, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::AccumulateFilter, field_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::AccumulateFilter, filtermin_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::AccumulateFilter, filtermax_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::AccumulateFilter, isnofilter_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::AccumulateFilter, sortdir_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::AccumulateFilter, days_),
    1,
    0,
    3,
    2,
    4,
    5,
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::FinancialFilter, _has_bits_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::FinancialFilter, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::FinancialFilter, field_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::FinancialFilter, filtermin_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::FinancialFilter, filtermax_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::FinancialFilter, isnofilter_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::FinancialFilter, sortdir_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::FinancialFilter, quarter_),
    1,
    0,
    3,
    2,
    4,
    5,
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::BaseData, _has_bits_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::BaseData, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::BaseData, field_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::BaseData, value_),
    1,
    0,
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::AccumulateData, _has_bits_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::AccumulateData, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::AccumulateData, field_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::AccumulateData, value_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::AccumulateData, days_),
    1,
    0,
    2,
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::FinancialData, _has_bits_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::FinancialData, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::FinancialData, field_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::FinancialData, value_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::FinancialData, quarter_),
    1,
    0,
    2,
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::StockData, _has_bits_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::StockData, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::StockData, security_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::StockData, name_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::StockData, basedatalist_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::StockData, accumulatedatalist_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::StockData, financialdatalist_),
    1,
    0,
    ~0u,
    ~0u,
    ~0u,
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::C2S, _has_bits_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::C2S, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::C2S, begin_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::C2S, num_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::C2S, market_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::C2S, plate_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::C2S, basefilterlist_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::C2S, accumulatefilterlist_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::C2S, financialfilterlist_),
    1,
    2,
    3,
    0,
    ~0u,
    ~0u,
    ~0u,
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::S2C, _has_bits_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::S2C, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::S2C, lastpage_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::S2C, allcount_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::S2C, datalist_),
    0,
    1,
    ~0u,
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::Request, _has_bits_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::Request, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::Request, c2s_),
    0,
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::Response, _has_bits_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::Response, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::Response, rettype_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::Response, retmsg_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::Response, errcode_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::Qot_StockFilter::Response, s2c_),
    3,
    0,
    2,
    1,
  };
  static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
    { 0, 10, sizeof(::Qot_StockFilter::BaseFilter)},
    { 15, 26, sizeof(::Qot_StockFilter::AccumulateFilter)},
    { 32, 43, sizeof(::Qot_StockFilter::FinancialFilter)},
    { 49, 56, sizeof(::Qot_StockFilter::BaseData)},
    { 58, 66, sizeof(::Qot_StockFilter::AccumulateData)},
    { 69, 77, sizeof(::Qot_StockFilter::FinancialData)},
    { 80, 90, sizeof(::Qot_StockFilter::StockData)},
    { 95, 107, sizeof(::Qot_StockFilter::C2S)},
    { 114, 122, sizeof(::Qot_StockFilter::S2C)},
    { 125, 131, sizeof(::Qot_StockFilter::Request)},
    { 132, 141, sizeof(::Qot_StockFilter::Response)},
  };
  
  static ::google::protobuf::Message const * const file_default_instances[] = {
    reinterpret_cast<const ::google::protobuf::Message*>(&::Qot_StockFilter::_BaseFilter_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::Qot_StockFilter::_AccumulateFilter_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::Qot_StockFilter::_FinancialFilter_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::Qot_StockFilter::_BaseData_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::Qot_StockFilter::_AccumulateData_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::Qot_StockFilter::_FinancialData_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::Qot_StockFilter::_StockData_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::Qot_StockFilter::_C2S_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::Qot_StockFilter::_S2C_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::Qot_StockFilter::_Request_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::Qot_StockFilter::_Response_default_instance_),
  };
  
  void protobuf_AssignDescriptors() {
    AddDescriptors();
    ::google::protobuf::MessageFactory* factory = NULL;
    AssignDescriptors(
        "Qot_StockFilter.proto", schemas, file_default_instances, TableStruct::offsets, factory,
        file_level_metadata, file_level_enum_descriptors, NULL);
  }
  
  void protobuf_AssignDescriptorsOnce() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
  }
  
  void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
  void protobuf_RegisterTypes(const ::std::string&) {
    protobuf_AssignDescriptorsOnce();
    ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 11);
  }
  
  void AddDescriptorsImpl() {
    InitDefaults();
    static const char descriptor[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
        "\n\025Qot_StockFilter.proto\022\017Qot_StockFilter"
        "\032\014Common.proto\032\020Qot_Common.proto\"f\n\nBase"
        "Filter\022\r\n\005field\030\001 \002(\005\022\021\n\tfilterMin\030\002 \001(\001"
        "\022\021\n\tfilterMax\030\003 \001(\001\022\022\n\nisNoFilter\030\004 \001(\010\022"
        "\017\n\007sortDir\030\005 \001(\005\"z\n\020AccumulateFilter\022\r\n\005"
        "field\030\001 \002(\005\022\021\n\tfilterMin\030\002 \001(\001\022\021\n\tfilter"
        "Max\030\003 \001(\001\022\022\n\nisNoFilter\030\004 \001(\010\022\017\n\007sortDir"
        "\030\005 \001(\005\022\014\n\004days\030\006 \002(\005\"|\n\017FinancialFilter\022"
        "\r\n\005field\030\001 \002(\005\022\021\n\tfilterMin\030\002 \001(\001\022\021\n\tfil"
        "terMax\030\003 \001(\001\022\022\n\nisNoFilter\030\004 \001(\010\022\017\n\007sort"
        "Dir\030\005 \001(\005\022\017\n\007quarter\030\006 \002(\005\"(\n\010BaseData\022\r"
        "\n\005field\030\001 \002(\005\022\r\n\005value\030\002 \002(\001\"<\n\016Accumula"
        "teData\022\r\n\005field\030\001 \002(\005\022\r\n\005value\030\002 \002(\001\022\014\n\004"
        "days\030\003 \002(\005\">\n\rFinancialData\022\r\n\005field\030\001 \002"
        "(\005\022\r\n\005value\030\002 \002(\001\022\017\n\007quarter\030\003 \002(\005\"\352\001\n\tS"
        "tockData\022&\n\010security\030\001 \002(\0132\024.Qot_Common."
        "Security\022\014\n\004name\030\002 \002(\t\022/\n\014baseDataList\030\003"
        " \003(\0132\031.Qot_StockFilter.BaseData\022;\n\022accum"
        "ulateDataList\030\004 \003(\0132\037.Qot_StockFilter.Ac"
        "cumulateData\0229\n\021financialDataList\030\005 \003(\0132"
        "\036.Qot_StockFilter.FinancialData\"\213\002\n\003C2S\022"
        "\r\n\005begin\030\001 \002(\005\022\013\n\003num\030\002 \002(\005\022\016\n\006market\030\003 "
        "\002(\005\022#\n\005plate\030\004 \001(\0132\024.Qot_Common.Security"
        "\0223\n\016baseFilterList\030\005 \003(\0132\033.Qot_StockFilt"
        "er.BaseFilter\022\?\n\024accumulateFilterList\030\006 "
        "\003(\0132!.Qot_StockFilter.AccumulateFilter\022="
        "\n\023financialFilterList\030\007 \003(\0132 .Qot_StockF"
        "ilter.FinancialFilter\"W\n\003S2C\022\020\n\010lastPage"
        "\030\001 \002(\010\022\020\n\010allCount\030\002 \002(\005\022,\n\010dataList\030\003 \003"
        "(\0132\032.Qot_StockFilter.StockData\",\n\007Reques"
        "t\022!\n\003c2s\030\001 \002(\0132\024.Qot_StockFilter.C2S\"e\n\010"
        "Response\022\025\n\007retType\030\001 \002(\005:\004-400\022\016\n\006retMs"
        "g\030\002 \001(\t\022\017\n\007errCode\030\003 \001(\005\022!\n\003s2c\030\004 \001(\0132\024."
        "Qot_StockFilter.S2C*\234\004\n\nStockField\022\026\n\022St"
        "ockField_Unknown\020\000\022\030\n\024StockField_StockCo"
        "de\020\001\022\030\n\024StockField_StockName\020\002\022\027\n\023StockF"
        "ield_CurPrice\020\003\022,\n(StockField_CurPriceTo"
        "Highest52WeeksRatio\020\004\022+\n\'StockField_CurP"
        "riceToLowest52WeeksRatio\020\005\022-\n)StockField"
        "_HighPriceToHighest52WeeksRatio\020\006\022+\n\'Sto"
        "ckField_LowPriceToLowest52WeeksRatio\020\007\022\032"
        "\n\026StockField_VolumeRatio\020\010\022\032\n\026StockField"
        "_BidAskRatio\020\t\022\027\n\023StockField_LotPrice\020\n\022"
        "\030\n\024StockField_MarketVal\020\013\022\027\n\023StockField_"
        "PeAnnual\020\014\022\024\n\020StockField_PeTTM\020\r\022\025\n\021Stoc"
        "kField_PbRate\020\016\022\035\n\031StockField_ChangeRate"
        "5min\020\017\022\"\n\036StockField_ChangeRateBeginYear"
        "\020\020*\311\001\n\017AccumulateField\022\033\n\027AccumulateFiel"
        "d_Unknown\020\000\022\036\n\032AccumulateField_ChangeRat"
        "e\020\001\022\035\n\031AccumulateField_Amplitude\020\002\022\032\n\026Ac"
        "cumulateField_Volume\020\003\022\034\n\030AccumulateFiel"
        "d_Turnover\020\004\022 \n\034AccumulateField_Turnover"
        "Rate\020\005*\307\002\n\016FinancialField\022\032\n\026FinancialFi"
        "eld_Unknown\020\000\022\034\n\030FinancialField_NetProfi"
        "t\020\001\022\"\n\036FinancialField_NetProfitGrowth\020\002\022"
        " \n\034FinancialField_SumOfBusiness\020\003\022&\n\"Fin"
        "ancialField_SumOfBusinessGrowth\020\004\022 \n\034Fin"
        "ancialField_NetProfitRate\020\005\022\"\n\036Financial"
        "Field_GrossProfitRate\020\006\022 \n\034FinancialFiel"
        "d_DebtAssetRate\020\007\022%\n!FinancialField_Retu"
        "rnOnEquityRate\020\010*\331\001\n\020FinancialQuarter\022\034\n"
        "\030FinancialQuarter_Unknown\020\000\022\033\n\027Financial"
        "Quarter_Annual\020\001\022!\n\035FinancialQuarter_Fir"
        "stQuarter\020\002\022\034\n\030FinancialQuarter_Interim\020"
        "\003\022!\n\035FinancialQuarter_ThirdQuarter\020\004\022&\n\""
        "FinancialQuarter_MostRecentQuarter\020\005*B\n\007"
        "SortDir\022\016\n\nSortDir_No\020\000\022\022\n\016SortDir_Ascen"
        "d\020\001\022\023\n\017SortDir_Descend\020\002B\025\n\023com.futu.ope"
        "napi.pb"
    };
    ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
        descriptor, 2727);
    ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
      "Qot_StockFilter.proto", &protobuf_RegisterTypes);
    ::protobuf_Common_2eproto::AddDescriptors();
    ::protobuf_Qot_5fCommon_2eproto::AddDescriptors();
  }
  
  void AddDescriptors() {
    static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
    ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
  }
  // Force AddDescriptors() to be called at dynamic initialization time.
  struct StaticDescriptorInitializer {
    StaticDescriptorInitializer() {
      AddDescriptors();
    }
  } static_descriptor_initializer;
  }  // namespace protobuf_Qot_5fStockFilter_2eproto
  namespace Qot_StockFilter {
  const ::google::protobuf::EnumDescriptor* StockField_descriptor() {
    protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return protobuf_Qot_5fStockFilter_2eproto::file_level_enum_descriptors[0];
  }
  bool StockField_IsValid(int value) {
    switch (value) {
      case 0:
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
      case 6:
      case 7:
      case 8:
      case 9:
      case 10:
      case 11:
      case 12:
      case 13:
      case 14:
      case 15:
      case 16:
        return true;
      default:
        return false;
    }
  }
  
  const ::google::protobuf::EnumDescriptor* AccumulateField_descriptor() {
    protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return protobuf_Qot_5fStockFilter_2eproto::file_level_enum_descriptors[1];
  }
  bool AccumulateField_IsValid(int value) {
    switch (value) {
      case 0:
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
        return true;
      default:
        return false;
    }
  }
  
  const ::google::protobuf::EnumDescriptor* FinancialField_descriptor() {
    protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return protobuf_Qot_5fStockFilter_2eproto::file_level_enum_descriptors[2];
  }
  bool FinancialField_IsValid(int value) {
    switch (value) {
      case 0:
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
      case 6:
      case 7:
      case 8:
        return true;
      default:
        return false;
    }
  }
  
  const ::google::protobuf::EnumDescriptor* FinancialQuarter_descriptor() {
    protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return protobuf_Qot_5fStockFilter_2eproto::file_level_enum_descriptors[3];
  }
  bool FinancialQuarter_IsValid(int value) {
    switch (value) {
      case 0:
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
        return true;
      default:
        return false;
    }
  }
  
  const ::google::protobuf::EnumDescriptor* SortDir_descriptor() {
    protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return protobuf_Qot_5fStockFilter_2eproto::file_level_enum_descriptors[4];
  }
  bool SortDir_IsValid(int value) {
    switch (value) {
      case 0:
      case 1:
      case 2:
        return true;
      default:
        return false;
    }
  }
  
  
  // ===================================================================
  
  void BaseFilter::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int BaseFilter::kFieldFieldNumber;
  const int BaseFilter::kFilterMinFieldNumber;
  const int BaseFilter::kFilterMaxFieldNumber;
  const int BaseFilter::kIsNoFilterFieldNumber;
  const int BaseFilter::kSortDirFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  BaseFilter::BaseFilter()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsBaseFilter();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:Qot_StockFilter.BaseFilter)
  }
  BaseFilter::BaseFilter(const BaseFilter& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _has_bits_(from._has_bits_),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::memcpy(&filtermin_, &from.filtermin_,
      static_cast<size_t>(reinterpret_cast<char*>(&sortdir_) -
      reinterpret_cast<char*>(&filtermin_)) + sizeof(sortdir_));
    // @@protoc_insertion_point(copy_constructor:Qot_StockFilter.BaseFilter)
  }
  
  void BaseFilter::SharedCtor() {
    _cached_size_ = 0;
    ::memset(&filtermin_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&sortdir_) -
        reinterpret_cast<char*>(&filtermin_)) + sizeof(sortdir_));
  }
  
  BaseFilter::~BaseFilter() {
    // @@protoc_insertion_point(destructor:Qot_StockFilter.BaseFilter)
    SharedDtor();
  }
  
  void BaseFilter::SharedDtor() {
  }
  
  void BaseFilter::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* BaseFilter::descriptor() {
    ::protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const BaseFilter& BaseFilter::default_instance() {
    ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsBaseFilter();
    return *internal_default_instance();
  }
  
  BaseFilter* BaseFilter::New(::google::protobuf::Arena* arena) const {
    BaseFilter* n = new BaseFilter;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void BaseFilter::Clear() {
  // @@protoc_insertion_point(message_clear_start:Qot_StockFilter.BaseFilter)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    if (cached_has_bits & 31u) {
      ::memset(&filtermin_, 0, static_cast<size_t>(
          reinterpret_cast<char*>(&sortdir_) -
          reinterpret_cast<char*>(&filtermin_)) + sizeof(sortdir_));
    }
    _has_bits_.Clear();
    _internal_metadata_.Clear();
  }
  
  bool BaseFilter::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:Qot_StockFilter.BaseFilter)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required int32 field = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
            set_has_field();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &field_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // optional double filterMin = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(17u /* 17 & 0xFF */)) {
            set_has_filtermin();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
                   input, &filtermin_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // optional double filterMax = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(25u /* 25 & 0xFF */)) {
            set_has_filtermax();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
                   input, &filtermax_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // optional bool isNoFilter = 4;
        case 4: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
            set_has_isnofilter();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                   input, &isnofilter_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // optional int32 sortDir = 5;
        case 5: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
            set_has_sortdir();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &sortdir_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:Qot_StockFilter.BaseFilter)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:Qot_StockFilter.BaseFilter)
    return false;
  #undef DO_
  }
  
  void BaseFilter::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:Qot_StockFilter.BaseFilter)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required int32 field = 1;
    if (cached_has_bits & 0x00000002u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->field(), output);
    }
  
    // optional double filterMin = 2;
    if (cached_has_bits & 0x00000001u) {
      ::google::protobuf::internal::WireFormatLite::WriteDouble(2, this->filtermin(), output);
    }
  
    // optional double filterMax = 3;
    if (cached_has_bits & 0x00000008u) {
      ::google::protobuf::internal::WireFormatLite::WriteDouble(3, this->filtermax(), output);
    }
  
    // optional bool isNoFilter = 4;
    if (cached_has_bits & 0x00000004u) {
      ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->isnofilter(), output);
    }
  
    // optional int32 sortDir = 5;
    if (cached_has_bits & 0x00000010u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->sortdir(), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:Qot_StockFilter.BaseFilter)
  }
  
  ::google::protobuf::uint8* BaseFilter::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:Qot_StockFilter.BaseFilter)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required int32 field = 1;
    if (cached_has_bits & 0x00000002u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->field(), target);
    }
  
    // optional double filterMin = 2;
    if (cached_has_bits & 0x00000001u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(2, this->filtermin(), target);
    }
  
    // optional double filterMax = 3;
    if (cached_has_bits & 0x00000008u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(3, this->filtermax(), target);
    }
  
    // optional bool isNoFilter = 4;
    if (cached_has_bits & 0x00000004u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->isnofilter(), target);
    }
  
    // optional int32 sortDir = 5;
    if (cached_has_bits & 0x00000010u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->sortdir(), target);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:Qot_StockFilter.BaseFilter)
    return target;
  }
  
  size_t BaseFilter::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:Qot_StockFilter.BaseFilter)
    size_t total_size = 0;
  
    if (_internal_metadata_.have_unknown_fields()) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          _internal_metadata_.unknown_fields());
    }
    // required int32 field = 1;
    if (has_field()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->field());
    }
    // optional double filterMin = 2;
    if (has_filtermin()) {
      total_size += 1 + 8;
    }
  
    if (_has_bits_[0 / 32] & 28u) {
      // optional bool isNoFilter = 4;
      if (has_isnofilter()) {
        total_size += 1 + 1;
      }
  
      // optional double filterMax = 3;
      if (has_filtermax()) {
        total_size += 1 + 8;
      }
  
      // optional int32 sortDir = 5;
      if (has_sortdir()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int32Size(
            this->sortdir());
      }
  
    }
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void BaseFilter::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:Qot_StockFilter.BaseFilter)
    GOOGLE_DCHECK_NE(&from, this);
    const BaseFilter* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const BaseFilter>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:Qot_StockFilter.BaseFilter)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:Qot_StockFilter.BaseFilter)
      MergeFrom(*source);
    }
  }
  
  void BaseFilter::MergeFrom(const BaseFilter& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:Qot_StockFilter.BaseFilter)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = from._has_bits_[0];
    if (cached_has_bits & 31u) {
      if (cached_has_bits & 0x00000001u) {
        filtermin_ = from.filtermin_;
      }
      if (cached_has_bits & 0x00000002u) {
        field_ = from.field_;
      }
      if (cached_has_bits & 0x00000004u) {
        isnofilter_ = from.isnofilter_;
      }
      if (cached_has_bits & 0x00000008u) {
        filtermax_ = from.filtermax_;
      }
      if (cached_has_bits & 0x00000010u) {
        sortdir_ = from.sortdir_;
      }
      _has_bits_[0] |= cached_has_bits;
    }
  }
  
  void BaseFilter::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:Qot_StockFilter.BaseFilter)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void BaseFilter::CopyFrom(const BaseFilter& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:Qot_StockFilter.BaseFilter)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool BaseFilter::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000002) != 0x00000002) return false;
    return true;
  }
  
  void BaseFilter::Swap(BaseFilter* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void BaseFilter::InternalSwap(BaseFilter* other) {
    using std::swap;
    swap(filtermin_, other->filtermin_);
    swap(field_, other->field_);
    swap(isnofilter_, other->isnofilter_);
    swap(filtermax_, other->filtermax_);
    swap(sortdir_, other->sortdir_);
    swap(_has_bits_[0], other->_has_bits_[0]);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata BaseFilter::GetMetadata() const {
    protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void AccumulateFilter::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int AccumulateFilter::kFieldFieldNumber;
  const int AccumulateFilter::kFilterMinFieldNumber;
  const int AccumulateFilter::kFilterMaxFieldNumber;
  const int AccumulateFilter::kIsNoFilterFieldNumber;
  const int AccumulateFilter::kSortDirFieldNumber;
  const int AccumulateFilter::kDaysFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  AccumulateFilter::AccumulateFilter()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsAccumulateFilter();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:Qot_StockFilter.AccumulateFilter)
  }
  AccumulateFilter::AccumulateFilter(const AccumulateFilter& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _has_bits_(from._has_bits_),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::memcpy(&filtermin_, &from.filtermin_,
      static_cast<size_t>(reinterpret_cast<char*>(&days_) -
      reinterpret_cast<char*>(&filtermin_)) + sizeof(days_));
    // @@protoc_insertion_point(copy_constructor:Qot_StockFilter.AccumulateFilter)
  }
  
  void AccumulateFilter::SharedCtor() {
    _cached_size_ = 0;
    ::memset(&filtermin_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&days_) -
        reinterpret_cast<char*>(&filtermin_)) + sizeof(days_));
  }
  
  AccumulateFilter::~AccumulateFilter() {
    // @@protoc_insertion_point(destructor:Qot_StockFilter.AccumulateFilter)
    SharedDtor();
  }
  
  void AccumulateFilter::SharedDtor() {
  }
  
  void AccumulateFilter::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* AccumulateFilter::descriptor() {
    ::protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const AccumulateFilter& AccumulateFilter::default_instance() {
    ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsAccumulateFilter();
    return *internal_default_instance();
  }
  
  AccumulateFilter* AccumulateFilter::New(::google::protobuf::Arena* arena) const {
    AccumulateFilter* n = new AccumulateFilter;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void AccumulateFilter::Clear() {
  // @@protoc_insertion_point(message_clear_start:Qot_StockFilter.AccumulateFilter)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    if (cached_has_bits & 63u) {
      ::memset(&filtermin_, 0, static_cast<size_t>(
          reinterpret_cast<char*>(&days_) -
          reinterpret_cast<char*>(&filtermin_)) + sizeof(days_));
    }
    _has_bits_.Clear();
    _internal_metadata_.Clear();
  }
  
  bool AccumulateFilter::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:Qot_StockFilter.AccumulateFilter)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required int32 field = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
            set_has_field();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &field_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // optional double filterMin = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(17u /* 17 & 0xFF */)) {
            set_has_filtermin();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
                   input, &filtermin_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // optional double filterMax = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(25u /* 25 & 0xFF */)) {
            set_has_filtermax();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
                   input, &filtermax_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // optional bool isNoFilter = 4;
        case 4: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
            set_has_isnofilter();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                   input, &isnofilter_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // optional int32 sortDir = 5;
        case 5: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
            set_has_sortdir();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &sortdir_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // required int32 days = 6;
        case 6: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) {
            set_has_days();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &days_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:Qot_StockFilter.AccumulateFilter)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:Qot_StockFilter.AccumulateFilter)
    return false;
  #undef DO_
  }
  
  void AccumulateFilter::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:Qot_StockFilter.AccumulateFilter)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required int32 field = 1;
    if (cached_has_bits & 0x00000002u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->field(), output);
    }
  
    // optional double filterMin = 2;
    if (cached_has_bits & 0x00000001u) {
      ::google::protobuf::internal::WireFormatLite::WriteDouble(2, this->filtermin(), output);
    }
  
    // optional double filterMax = 3;
    if (cached_has_bits & 0x00000008u) {
      ::google::protobuf::internal::WireFormatLite::WriteDouble(3, this->filtermax(), output);
    }
  
    // optional bool isNoFilter = 4;
    if (cached_has_bits & 0x00000004u) {
      ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->isnofilter(), output);
    }
  
    // optional int32 sortDir = 5;
    if (cached_has_bits & 0x00000010u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->sortdir(), output);
    }
  
    // required int32 days = 6;
    if (cached_has_bits & 0x00000020u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(6, this->days(), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:Qot_StockFilter.AccumulateFilter)
  }
  
  ::google::protobuf::uint8* AccumulateFilter::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:Qot_StockFilter.AccumulateFilter)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required int32 field = 1;
    if (cached_has_bits & 0x00000002u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->field(), target);
    }
  
    // optional double filterMin = 2;
    if (cached_has_bits & 0x00000001u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(2, this->filtermin(), target);
    }
  
    // optional double filterMax = 3;
    if (cached_has_bits & 0x00000008u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(3, this->filtermax(), target);
    }
  
    // optional bool isNoFilter = 4;
    if (cached_has_bits & 0x00000004u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->isnofilter(), target);
    }
  
    // optional int32 sortDir = 5;
    if (cached_has_bits & 0x00000010u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->sortdir(), target);
    }
  
    // required int32 days = 6;
    if (cached_has_bits & 0x00000020u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(6, this->days(), target);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:Qot_StockFilter.AccumulateFilter)
    return target;
  }
  
  size_t AccumulateFilter::RequiredFieldsByteSizeFallback() const {
  // @@protoc_insertion_point(required_fields_byte_size_fallback_start:Qot_StockFilter.AccumulateFilter)
    size_t total_size = 0;
  
    if (has_field()) {
      // required int32 field = 1;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->field());
    }
  
    if (has_days()) {
      // required int32 days = 6;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->days());
    }
  
    return total_size;
  }
  size_t AccumulateFilter::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:Qot_StockFilter.AccumulateFilter)
    size_t total_size = 0;
  
    if (_internal_metadata_.have_unknown_fields()) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          _internal_metadata_.unknown_fields());
    }
    if (((_has_bits_[0] & 0x00000022) ^ 0x00000022) == 0) {  // All required fields are present.
      // required int32 field = 1;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->field());
  
      // required int32 days = 6;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->days());
  
    } else {
      total_size += RequiredFieldsByteSizeFallback();
    }
    // optional double filterMin = 2;
    if (has_filtermin()) {
      total_size += 1 + 8;
    }
  
    if (_has_bits_[0 / 32] & 28u) {
      // optional bool isNoFilter = 4;
      if (has_isnofilter()) {
        total_size += 1 + 1;
      }
  
      // optional double filterMax = 3;
      if (has_filtermax()) {
        total_size += 1 + 8;
      }
  
      // optional int32 sortDir = 5;
      if (has_sortdir()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int32Size(
            this->sortdir());
      }
  
    }
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void AccumulateFilter::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:Qot_StockFilter.AccumulateFilter)
    GOOGLE_DCHECK_NE(&from, this);
    const AccumulateFilter* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const AccumulateFilter>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:Qot_StockFilter.AccumulateFilter)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:Qot_StockFilter.AccumulateFilter)
      MergeFrom(*source);
    }
  }
  
  void AccumulateFilter::MergeFrom(const AccumulateFilter& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:Qot_StockFilter.AccumulateFilter)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = from._has_bits_[0];
    if (cached_has_bits & 63u) {
      if (cached_has_bits & 0x00000001u) {
        filtermin_ = from.filtermin_;
      }
      if (cached_has_bits & 0x00000002u) {
        field_ = from.field_;
      }
      if (cached_has_bits & 0x00000004u) {
        isnofilter_ = from.isnofilter_;
      }
      if (cached_has_bits & 0x00000008u) {
        filtermax_ = from.filtermax_;
      }
      if (cached_has_bits & 0x00000010u) {
        sortdir_ = from.sortdir_;
      }
      if (cached_has_bits & 0x00000020u) {
        days_ = from.days_;
      }
      _has_bits_[0] |= cached_has_bits;
    }
  }
  
  void AccumulateFilter::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:Qot_StockFilter.AccumulateFilter)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void AccumulateFilter::CopyFrom(const AccumulateFilter& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:Qot_StockFilter.AccumulateFilter)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool AccumulateFilter::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000022) != 0x00000022) return false;
    return true;
  }
  
  void AccumulateFilter::Swap(AccumulateFilter* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void AccumulateFilter::InternalSwap(AccumulateFilter* other) {
    using std::swap;
    swap(filtermin_, other->filtermin_);
    swap(field_, other->field_);
    swap(isnofilter_, other->isnofilter_);
    swap(filtermax_, other->filtermax_);
    swap(sortdir_, other->sortdir_);
    swap(days_, other->days_);
    swap(_has_bits_[0], other->_has_bits_[0]);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata AccumulateFilter::GetMetadata() const {
    protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void FinancialFilter::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int FinancialFilter::kFieldFieldNumber;
  const int FinancialFilter::kFilterMinFieldNumber;
  const int FinancialFilter::kFilterMaxFieldNumber;
  const int FinancialFilter::kIsNoFilterFieldNumber;
  const int FinancialFilter::kSortDirFieldNumber;
  const int FinancialFilter::kQuarterFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  FinancialFilter::FinancialFilter()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsFinancialFilter();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:Qot_StockFilter.FinancialFilter)
  }
  FinancialFilter::FinancialFilter(const FinancialFilter& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _has_bits_(from._has_bits_),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::memcpy(&filtermin_, &from.filtermin_,
      static_cast<size_t>(reinterpret_cast<char*>(&quarter_) -
      reinterpret_cast<char*>(&filtermin_)) + sizeof(quarter_));
    // @@protoc_insertion_point(copy_constructor:Qot_StockFilter.FinancialFilter)
  }
  
  void FinancialFilter::SharedCtor() {
    _cached_size_ = 0;
    ::memset(&filtermin_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&quarter_) -
        reinterpret_cast<char*>(&filtermin_)) + sizeof(quarter_));
  }
  
  FinancialFilter::~FinancialFilter() {
    // @@protoc_insertion_point(destructor:Qot_StockFilter.FinancialFilter)
    SharedDtor();
  }
  
  void FinancialFilter::SharedDtor() {
  }
  
  void FinancialFilter::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* FinancialFilter::descriptor() {
    ::protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const FinancialFilter& FinancialFilter::default_instance() {
    ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsFinancialFilter();
    return *internal_default_instance();
  }
  
  FinancialFilter* FinancialFilter::New(::google::protobuf::Arena* arena) const {
    FinancialFilter* n = new FinancialFilter;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void FinancialFilter::Clear() {
  // @@protoc_insertion_point(message_clear_start:Qot_StockFilter.FinancialFilter)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    if (cached_has_bits & 63u) {
      ::memset(&filtermin_, 0, static_cast<size_t>(
          reinterpret_cast<char*>(&quarter_) -
          reinterpret_cast<char*>(&filtermin_)) + sizeof(quarter_));
    }
    _has_bits_.Clear();
    _internal_metadata_.Clear();
  }
  
  bool FinancialFilter::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:Qot_StockFilter.FinancialFilter)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required int32 field = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
            set_has_field();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &field_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // optional double filterMin = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(17u /* 17 & 0xFF */)) {
            set_has_filtermin();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
                   input, &filtermin_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // optional double filterMax = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(25u /* 25 & 0xFF */)) {
            set_has_filtermax();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
                   input, &filtermax_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // optional bool isNoFilter = 4;
        case 4: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
            set_has_isnofilter();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                   input, &isnofilter_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // optional int32 sortDir = 5;
        case 5: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
            set_has_sortdir();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &sortdir_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // required int32 quarter = 6;
        case 6: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) {
            set_has_quarter();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &quarter_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:Qot_StockFilter.FinancialFilter)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:Qot_StockFilter.FinancialFilter)
    return false;
  #undef DO_
  }
  
  void FinancialFilter::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:Qot_StockFilter.FinancialFilter)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required int32 field = 1;
    if (cached_has_bits & 0x00000002u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->field(), output);
    }
  
    // optional double filterMin = 2;
    if (cached_has_bits & 0x00000001u) {
      ::google::protobuf::internal::WireFormatLite::WriteDouble(2, this->filtermin(), output);
    }
  
    // optional double filterMax = 3;
    if (cached_has_bits & 0x00000008u) {
      ::google::protobuf::internal::WireFormatLite::WriteDouble(3, this->filtermax(), output);
    }
  
    // optional bool isNoFilter = 4;
    if (cached_has_bits & 0x00000004u) {
      ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->isnofilter(), output);
    }
  
    // optional int32 sortDir = 5;
    if (cached_has_bits & 0x00000010u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->sortdir(), output);
    }
  
    // required int32 quarter = 6;
    if (cached_has_bits & 0x00000020u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(6, this->quarter(), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:Qot_StockFilter.FinancialFilter)
  }
  
  ::google::protobuf::uint8* FinancialFilter::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:Qot_StockFilter.FinancialFilter)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required int32 field = 1;
    if (cached_has_bits & 0x00000002u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->field(), target);
    }
  
    // optional double filterMin = 2;
    if (cached_has_bits & 0x00000001u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(2, this->filtermin(), target);
    }
  
    // optional double filterMax = 3;
    if (cached_has_bits & 0x00000008u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(3, this->filtermax(), target);
    }
  
    // optional bool isNoFilter = 4;
    if (cached_has_bits & 0x00000004u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->isnofilter(), target);
    }
  
    // optional int32 sortDir = 5;
    if (cached_has_bits & 0x00000010u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->sortdir(), target);
    }
  
    // required int32 quarter = 6;
    if (cached_has_bits & 0x00000020u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(6, this->quarter(), target);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:Qot_StockFilter.FinancialFilter)
    return target;
  }
  
  size_t FinancialFilter::RequiredFieldsByteSizeFallback() const {
  // @@protoc_insertion_point(required_fields_byte_size_fallback_start:Qot_StockFilter.FinancialFilter)
    size_t total_size = 0;
  
    if (has_field()) {
      // required int32 field = 1;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->field());
    }
  
    if (has_quarter()) {
      // required int32 quarter = 6;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->quarter());
    }
  
    return total_size;
  }
  size_t FinancialFilter::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:Qot_StockFilter.FinancialFilter)
    size_t total_size = 0;
  
    if (_internal_metadata_.have_unknown_fields()) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          _internal_metadata_.unknown_fields());
    }
    if (((_has_bits_[0] & 0x00000022) ^ 0x00000022) == 0) {  // All required fields are present.
      // required int32 field = 1;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->field());
  
      // required int32 quarter = 6;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->quarter());
  
    } else {
      total_size += RequiredFieldsByteSizeFallback();
    }
    // optional double filterMin = 2;
    if (has_filtermin()) {
      total_size += 1 + 8;
    }
  
    if (_has_bits_[0 / 32] & 28u) {
      // optional bool isNoFilter = 4;
      if (has_isnofilter()) {
        total_size += 1 + 1;
      }
  
      // optional double filterMax = 3;
      if (has_filtermax()) {
        total_size += 1 + 8;
      }
  
      // optional int32 sortDir = 5;
      if (has_sortdir()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int32Size(
            this->sortdir());
      }
  
    }
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void FinancialFilter::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:Qot_StockFilter.FinancialFilter)
    GOOGLE_DCHECK_NE(&from, this);
    const FinancialFilter* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const FinancialFilter>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:Qot_StockFilter.FinancialFilter)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:Qot_StockFilter.FinancialFilter)
      MergeFrom(*source);
    }
  }
  
  void FinancialFilter::MergeFrom(const FinancialFilter& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:Qot_StockFilter.FinancialFilter)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = from._has_bits_[0];
    if (cached_has_bits & 63u) {
      if (cached_has_bits & 0x00000001u) {
        filtermin_ = from.filtermin_;
      }
      if (cached_has_bits & 0x00000002u) {
        field_ = from.field_;
      }
      if (cached_has_bits & 0x00000004u) {
        isnofilter_ = from.isnofilter_;
      }
      if (cached_has_bits & 0x00000008u) {
        filtermax_ = from.filtermax_;
      }
      if (cached_has_bits & 0x00000010u) {
        sortdir_ = from.sortdir_;
      }
      if (cached_has_bits & 0x00000020u) {
        quarter_ = from.quarter_;
      }
      _has_bits_[0] |= cached_has_bits;
    }
  }
  
  void FinancialFilter::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:Qot_StockFilter.FinancialFilter)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void FinancialFilter::CopyFrom(const FinancialFilter& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:Qot_StockFilter.FinancialFilter)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool FinancialFilter::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000022) != 0x00000022) return false;
    return true;
  }
  
  void FinancialFilter::Swap(FinancialFilter* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void FinancialFilter::InternalSwap(FinancialFilter* other) {
    using std::swap;
    swap(filtermin_, other->filtermin_);
    swap(field_, other->field_);
    swap(isnofilter_, other->isnofilter_);
    swap(filtermax_, other->filtermax_);
    swap(sortdir_, other->sortdir_);
    swap(quarter_, other->quarter_);
    swap(_has_bits_[0], other->_has_bits_[0]);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata FinancialFilter::GetMetadata() const {
    protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void BaseData::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int BaseData::kFieldFieldNumber;
  const int BaseData::kValueFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  BaseData::BaseData()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsBaseData();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:Qot_StockFilter.BaseData)
  }
  BaseData::BaseData(const BaseData& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _has_bits_(from._has_bits_),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::memcpy(&value_, &from.value_,
      static_cast<size_t>(reinterpret_cast<char*>(&field_) -
      reinterpret_cast<char*>(&value_)) + sizeof(field_));
    // @@protoc_insertion_point(copy_constructor:Qot_StockFilter.BaseData)
  }
  
  void BaseData::SharedCtor() {
    _cached_size_ = 0;
    ::memset(&value_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&field_) -
        reinterpret_cast<char*>(&value_)) + sizeof(field_));
  }
  
  BaseData::~BaseData() {
    // @@protoc_insertion_point(destructor:Qot_StockFilter.BaseData)
    SharedDtor();
  }
  
  void BaseData::SharedDtor() {
  }
  
  void BaseData::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* BaseData::descriptor() {
    ::protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const BaseData& BaseData::default_instance() {
    ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsBaseData();
    return *internal_default_instance();
  }
  
  BaseData* BaseData::New(::google::protobuf::Arena* arena) const {
    BaseData* n = new BaseData;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void BaseData::Clear() {
  // @@protoc_insertion_point(message_clear_start:Qot_StockFilter.BaseData)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    if (cached_has_bits & 3u) {
      ::memset(&value_, 0, static_cast<size_t>(
          reinterpret_cast<char*>(&field_) -
          reinterpret_cast<char*>(&value_)) + sizeof(field_));
    }
    _has_bits_.Clear();
    _internal_metadata_.Clear();
  }
  
  bool BaseData::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:Qot_StockFilter.BaseData)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required int32 field = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
            set_has_field();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &field_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // required double value = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(17u /* 17 & 0xFF */)) {
            set_has_value();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
                   input, &value_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:Qot_StockFilter.BaseData)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:Qot_StockFilter.BaseData)
    return false;
  #undef DO_
  }
  
  void BaseData::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:Qot_StockFilter.BaseData)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required int32 field = 1;
    if (cached_has_bits & 0x00000002u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->field(), output);
    }
  
    // required double value = 2;
    if (cached_has_bits & 0x00000001u) {
      ::google::protobuf::internal::WireFormatLite::WriteDouble(2, this->value(), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:Qot_StockFilter.BaseData)
  }
  
  ::google::protobuf::uint8* BaseData::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:Qot_StockFilter.BaseData)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required int32 field = 1;
    if (cached_has_bits & 0x00000002u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->field(), target);
    }
  
    // required double value = 2;
    if (cached_has_bits & 0x00000001u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(2, this->value(), target);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:Qot_StockFilter.BaseData)
    return target;
  }
  
  size_t BaseData::RequiredFieldsByteSizeFallback() const {
  // @@protoc_insertion_point(required_fields_byte_size_fallback_start:Qot_StockFilter.BaseData)
    size_t total_size = 0;
  
    if (has_value()) {
      // required double value = 2;
      total_size += 1 + 8;
    }
  
    if (has_field()) {
      // required int32 field = 1;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->field());
    }
  
    return total_size;
  }
  size_t BaseData::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:Qot_StockFilter.BaseData)
    size_t total_size = 0;
  
    if (_internal_metadata_.have_unknown_fields()) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          _internal_metadata_.unknown_fields());
    }
    if (((_has_bits_[0] & 0x00000003) ^ 0x00000003) == 0) {  // All required fields are present.
      // required double value = 2;
      total_size += 1 + 8;
  
      // required int32 field = 1;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->field());
  
    } else {
      total_size += RequiredFieldsByteSizeFallback();
    }
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void BaseData::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:Qot_StockFilter.BaseData)
    GOOGLE_DCHECK_NE(&from, this);
    const BaseData* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const BaseData>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:Qot_StockFilter.BaseData)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:Qot_StockFilter.BaseData)
      MergeFrom(*source);
    }
  }
  
  void BaseData::MergeFrom(const BaseData& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:Qot_StockFilter.BaseData)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = from._has_bits_[0];
    if (cached_has_bits & 3u) {
      if (cached_has_bits & 0x00000001u) {
        value_ = from.value_;
      }
      if (cached_has_bits & 0x00000002u) {
        field_ = from.field_;
      }
      _has_bits_[0] |= cached_has_bits;
    }
  }
  
  void BaseData::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:Qot_StockFilter.BaseData)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void BaseData::CopyFrom(const BaseData& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:Qot_StockFilter.BaseData)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool BaseData::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
    return true;
  }
  
  void BaseData::Swap(BaseData* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void BaseData::InternalSwap(BaseData* other) {
    using std::swap;
    swap(value_, other->value_);
    swap(field_, other->field_);
    swap(_has_bits_[0], other->_has_bits_[0]);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata BaseData::GetMetadata() const {
    protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void AccumulateData::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int AccumulateData::kFieldFieldNumber;
  const int AccumulateData::kValueFieldNumber;
  const int AccumulateData::kDaysFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  AccumulateData::AccumulateData()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsAccumulateData();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:Qot_StockFilter.AccumulateData)
  }
  AccumulateData::AccumulateData(const AccumulateData& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _has_bits_(from._has_bits_),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::memcpy(&value_, &from.value_,
      static_cast<size_t>(reinterpret_cast<char*>(&days_) -
      reinterpret_cast<char*>(&value_)) + sizeof(days_));
    // @@protoc_insertion_point(copy_constructor:Qot_StockFilter.AccumulateData)
  }
  
  void AccumulateData::SharedCtor() {
    _cached_size_ = 0;
    ::memset(&value_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&days_) -
        reinterpret_cast<char*>(&value_)) + sizeof(days_));
  }
  
  AccumulateData::~AccumulateData() {
    // @@protoc_insertion_point(destructor:Qot_StockFilter.AccumulateData)
    SharedDtor();
  }
  
  void AccumulateData::SharedDtor() {
  }
  
  void AccumulateData::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* AccumulateData::descriptor() {
    ::protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const AccumulateData& AccumulateData::default_instance() {
    ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsAccumulateData();
    return *internal_default_instance();
  }
  
  AccumulateData* AccumulateData::New(::google::protobuf::Arena* arena) const {
    AccumulateData* n = new AccumulateData;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void AccumulateData::Clear() {
  // @@protoc_insertion_point(message_clear_start:Qot_StockFilter.AccumulateData)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    if (cached_has_bits & 7u) {
      ::memset(&value_, 0, static_cast<size_t>(
          reinterpret_cast<char*>(&days_) -
          reinterpret_cast<char*>(&value_)) + sizeof(days_));
    }
    _has_bits_.Clear();
    _internal_metadata_.Clear();
  }
  
  bool AccumulateData::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:Qot_StockFilter.AccumulateData)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required int32 field = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
            set_has_field();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &field_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // required double value = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(17u /* 17 & 0xFF */)) {
            set_has_value();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
                   input, &value_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // required int32 days = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
            set_has_days();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &days_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:Qot_StockFilter.AccumulateData)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:Qot_StockFilter.AccumulateData)
    return false;
  #undef DO_
  }
  
  void AccumulateData::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:Qot_StockFilter.AccumulateData)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required int32 field = 1;
    if (cached_has_bits & 0x00000002u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->field(), output);
    }
  
    // required double value = 2;
    if (cached_has_bits & 0x00000001u) {
      ::google::protobuf::internal::WireFormatLite::WriteDouble(2, this->value(), output);
    }
  
    // required int32 days = 3;
    if (cached_has_bits & 0x00000004u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->days(), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:Qot_StockFilter.AccumulateData)
  }
  
  ::google::protobuf::uint8* AccumulateData::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:Qot_StockFilter.AccumulateData)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required int32 field = 1;
    if (cached_has_bits & 0x00000002u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->field(), target);
    }
  
    // required double value = 2;
    if (cached_has_bits & 0x00000001u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(2, this->value(), target);
    }
  
    // required int32 days = 3;
    if (cached_has_bits & 0x00000004u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->days(), target);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:Qot_StockFilter.AccumulateData)
    return target;
  }
  
  size_t AccumulateData::RequiredFieldsByteSizeFallback() const {
  // @@protoc_insertion_point(required_fields_byte_size_fallback_start:Qot_StockFilter.AccumulateData)
    size_t total_size = 0;
  
    if (has_value()) {
      // required double value = 2;
      total_size += 1 + 8;
    }
  
    if (has_field()) {
      // required int32 field = 1;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->field());
    }
  
    if (has_days()) {
      // required int32 days = 3;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->days());
    }
  
    return total_size;
  }
  size_t AccumulateData::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:Qot_StockFilter.AccumulateData)
    size_t total_size = 0;
  
    if (_internal_metadata_.have_unknown_fields()) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          _internal_metadata_.unknown_fields());
    }
    if (((_has_bits_[0] & 0x00000007) ^ 0x00000007) == 0) {  // All required fields are present.
      // required double value = 2;
      total_size += 1 + 8;
  
      // required int32 field = 1;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->field());
  
      // required int32 days = 3;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->days());
  
    } else {
      total_size += RequiredFieldsByteSizeFallback();
    }
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void AccumulateData::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:Qot_StockFilter.AccumulateData)
    GOOGLE_DCHECK_NE(&from, this);
    const AccumulateData* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const AccumulateData>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:Qot_StockFilter.AccumulateData)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:Qot_StockFilter.AccumulateData)
      MergeFrom(*source);
    }
  }
  
  void AccumulateData::MergeFrom(const AccumulateData& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:Qot_StockFilter.AccumulateData)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = from._has_bits_[0];
    if (cached_has_bits & 7u) {
      if (cached_has_bits & 0x00000001u) {
        value_ = from.value_;
      }
      if (cached_has_bits & 0x00000002u) {
        field_ = from.field_;
      }
      if (cached_has_bits & 0x00000004u) {
        days_ = from.days_;
      }
      _has_bits_[0] |= cached_has_bits;
    }
  }
  
  void AccumulateData::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:Qot_StockFilter.AccumulateData)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void AccumulateData::CopyFrom(const AccumulateData& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:Qot_StockFilter.AccumulateData)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool AccumulateData::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000007) != 0x00000007) return false;
    return true;
  }
  
  void AccumulateData::Swap(AccumulateData* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void AccumulateData::InternalSwap(AccumulateData* other) {
    using std::swap;
    swap(value_, other->value_);
    swap(field_, other->field_);
    swap(days_, other->days_);
    swap(_has_bits_[0], other->_has_bits_[0]);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata AccumulateData::GetMetadata() const {
    protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void FinancialData::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int FinancialData::kFieldFieldNumber;
  const int FinancialData::kValueFieldNumber;
  const int FinancialData::kQuarterFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  FinancialData::FinancialData()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsFinancialData();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:Qot_StockFilter.FinancialData)
  }
  FinancialData::FinancialData(const FinancialData& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _has_bits_(from._has_bits_),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::memcpy(&value_, &from.value_,
      static_cast<size_t>(reinterpret_cast<char*>(&quarter_) -
      reinterpret_cast<char*>(&value_)) + sizeof(quarter_));
    // @@protoc_insertion_point(copy_constructor:Qot_StockFilter.FinancialData)
  }
  
  void FinancialData::SharedCtor() {
    _cached_size_ = 0;
    ::memset(&value_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&quarter_) -
        reinterpret_cast<char*>(&value_)) + sizeof(quarter_));
  }
  
  FinancialData::~FinancialData() {
    // @@protoc_insertion_point(destructor:Qot_StockFilter.FinancialData)
    SharedDtor();
  }
  
  void FinancialData::SharedDtor() {
  }
  
  void FinancialData::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* FinancialData::descriptor() {
    ::protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const FinancialData& FinancialData::default_instance() {
    ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsFinancialData();
    return *internal_default_instance();
  }
  
  FinancialData* FinancialData::New(::google::protobuf::Arena* arena) const {
    FinancialData* n = new FinancialData;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void FinancialData::Clear() {
  // @@protoc_insertion_point(message_clear_start:Qot_StockFilter.FinancialData)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    if (cached_has_bits & 7u) {
      ::memset(&value_, 0, static_cast<size_t>(
          reinterpret_cast<char*>(&quarter_) -
          reinterpret_cast<char*>(&value_)) + sizeof(quarter_));
    }
    _has_bits_.Clear();
    _internal_metadata_.Clear();
  }
  
  bool FinancialData::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:Qot_StockFilter.FinancialData)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required int32 field = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
            set_has_field();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &field_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // required double value = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(17u /* 17 & 0xFF */)) {
            set_has_value();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
                   input, &value_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // required int32 quarter = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
            set_has_quarter();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &quarter_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:Qot_StockFilter.FinancialData)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:Qot_StockFilter.FinancialData)
    return false;
  #undef DO_
  }
  
  void FinancialData::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:Qot_StockFilter.FinancialData)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required int32 field = 1;
    if (cached_has_bits & 0x00000002u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->field(), output);
    }
  
    // required double value = 2;
    if (cached_has_bits & 0x00000001u) {
      ::google::protobuf::internal::WireFormatLite::WriteDouble(2, this->value(), output);
    }
  
    // required int32 quarter = 3;
    if (cached_has_bits & 0x00000004u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->quarter(), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:Qot_StockFilter.FinancialData)
  }
  
  ::google::protobuf::uint8* FinancialData::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:Qot_StockFilter.FinancialData)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required int32 field = 1;
    if (cached_has_bits & 0x00000002u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->field(), target);
    }
  
    // required double value = 2;
    if (cached_has_bits & 0x00000001u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(2, this->value(), target);
    }
  
    // required int32 quarter = 3;
    if (cached_has_bits & 0x00000004u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->quarter(), target);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:Qot_StockFilter.FinancialData)
    return target;
  }
  
  size_t FinancialData::RequiredFieldsByteSizeFallback() const {
  // @@protoc_insertion_point(required_fields_byte_size_fallback_start:Qot_StockFilter.FinancialData)
    size_t total_size = 0;
  
    if (has_value()) {
      // required double value = 2;
      total_size += 1 + 8;
    }
  
    if (has_field()) {
      // required int32 field = 1;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->field());
    }
  
    if (has_quarter()) {
      // required int32 quarter = 3;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->quarter());
    }
  
    return total_size;
  }
  size_t FinancialData::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:Qot_StockFilter.FinancialData)
    size_t total_size = 0;
  
    if (_internal_metadata_.have_unknown_fields()) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          _internal_metadata_.unknown_fields());
    }
    if (((_has_bits_[0] & 0x00000007) ^ 0x00000007) == 0) {  // All required fields are present.
      // required double value = 2;
      total_size += 1 + 8;
  
      // required int32 field = 1;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->field());
  
      // required int32 quarter = 3;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->quarter());
  
    } else {
      total_size += RequiredFieldsByteSizeFallback();
    }
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void FinancialData::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:Qot_StockFilter.FinancialData)
    GOOGLE_DCHECK_NE(&from, this);
    const FinancialData* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const FinancialData>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:Qot_StockFilter.FinancialData)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:Qot_StockFilter.FinancialData)
      MergeFrom(*source);
    }
  }
  
  void FinancialData::MergeFrom(const FinancialData& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:Qot_StockFilter.FinancialData)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = from._has_bits_[0];
    if (cached_has_bits & 7u) {
      if (cached_has_bits & 0x00000001u) {
        value_ = from.value_;
      }
      if (cached_has_bits & 0x00000002u) {
        field_ = from.field_;
      }
      if (cached_has_bits & 0x00000004u) {
        quarter_ = from.quarter_;
      }
      _has_bits_[0] |= cached_has_bits;
    }
  }
  
  void FinancialData::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:Qot_StockFilter.FinancialData)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void FinancialData::CopyFrom(const FinancialData& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:Qot_StockFilter.FinancialData)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool FinancialData::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000007) != 0x00000007) return false;
    return true;
  }
  
  void FinancialData::Swap(FinancialData* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void FinancialData::InternalSwap(FinancialData* other) {
    using std::swap;
    swap(value_, other->value_);
    swap(field_, other->field_);
    swap(quarter_, other->quarter_);
    swap(_has_bits_[0], other->_has_bits_[0]);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata FinancialData::GetMetadata() const {
    protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void StockData::InitAsDefaultInstance() {
    ::Qot_StockFilter::_StockData_default_instance_._instance.get_mutable()->security_ = const_cast< ::Qot_Common::Security*>(
        ::Qot_Common::Security::internal_default_instance());
  }
  void StockData::clear_security() {
    if (security_ != NULL) security_->Clear();
    clear_has_security();
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int StockData::kSecurityFieldNumber;
  const int StockData::kNameFieldNumber;
  const int StockData::kBaseDataListFieldNumber;
  const int StockData::kAccumulateDataListFieldNumber;
  const int StockData::kFinancialDataListFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  StockData::StockData()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsStockData();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:Qot_StockFilter.StockData)
  }
  StockData::StockData(const StockData& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _has_bits_(from._has_bits_),
        _cached_size_(0),
        basedatalist_(from.basedatalist_),
        accumulatedatalist_(from.accumulatedatalist_),
        financialdatalist_(from.financialdatalist_) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.has_name()) {
      name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
    }
    if (from.has_security()) {
      security_ = new ::Qot_Common::Security(*from.security_);
    } else {
      security_ = NULL;
    }
    // @@protoc_insertion_point(copy_constructor:Qot_StockFilter.StockData)
  }
  
  void StockData::SharedCtor() {
    _cached_size_ = 0;
    name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    security_ = NULL;
  }
  
  StockData::~StockData() {
    // @@protoc_insertion_point(destructor:Qot_StockFilter.StockData)
    SharedDtor();
  }
  
  void StockData::SharedDtor() {
    name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (this != internal_default_instance()) delete security_;
  }
  
  void StockData::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* StockData::descriptor() {
    ::protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const StockData& StockData::default_instance() {
    ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsStockData();
    return *internal_default_instance();
  }
  
  StockData* StockData::New(::google::protobuf::Arena* arena) const {
    StockData* n = new StockData;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void StockData::Clear() {
  // @@protoc_insertion_point(message_clear_start:Qot_StockFilter.StockData)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    basedatalist_.Clear();
    accumulatedatalist_.Clear();
    financialdatalist_.Clear();
    cached_has_bits = _has_bits_[0];
    if (cached_has_bits & 3u) {
      if (cached_has_bits & 0x00000001u) {
        GOOGLE_DCHECK(!name_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
        (*name_.UnsafeRawStringPointer())->clear();
      }
      if (cached_has_bits & 0x00000002u) {
        GOOGLE_DCHECK(security_ != NULL);
        security_->Clear();
      }
    }
    _has_bits_.Clear();
    _internal_metadata_.Clear();
  }
  
  bool StockData::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:Qot_StockFilter.StockData)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required .Qot_Common.Security security = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_security()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // required string name = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_name()));
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
              this->name().data(), static_cast<int>(this->name().length()),
              ::google::protobuf::internal::WireFormat::PARSE,
              "Qot_StockFilter.StockData.name");
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // repeated .Qot_StockFilter.BaseData baseDataList = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_basedatalist()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // repeated .Qot_StockFilter.AccumulateData accumulateDataList = 4;
        case 4: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_accumulatedatalist()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // repeated .Qot_StockFilter.FinancialData financialDataList = 5;
        case 5: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_financialdatalist()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:Qot_StockFilter.StockData)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:Qot_StockFilter.StockData)
    return false;
  #undef DO_
  }
  
  void StockData::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:Qot_StockFilter.StockData)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required .Qot_Common.Security security = 1;
    if (cached_has_bits & 0x00000002u) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        1, *this->security_, output);
    }
  
    // required string name = 2;
    if (cached_has_bits & 0x00000001u) {
      ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
        this->name().data(), static_cast<int>(this->name().length()),
        ::google::protobuf::internal::WireFormat::SERIALIZE,
        "Qot_StockFilter.StockData.name");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        2, this->name(), output);
    }
  
    // repeated .Qot_StockFilter.BaseData baseDataList = 3;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->basedatalist_size()); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        3, this->basedatalist(static_cast<int>(i)), output);
    }
  
    // repeated .Qot_StockFilter.AccumulateData accumulateDataList = 4;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->accumulatedatalist_size()); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        4, this->accumulatedatalist(static_cast<int>(i)), output);
    }
  
    // repeated .Qot_StockFilter.FinancialData financialDataList = 5;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->financialdatalist_size()); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        5, this->financialdatalist(static_cast<int>(i)), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:Qot_StockFilter.StockData)
  }
  
  ::google::protobuf::uint8* StockData::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:Qot_StockFilter.StockData)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required .Qot_Common.Security security = 1;
    if (cached_has_bits & 0x00000002u) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          1, *this->security_, deterministic, target);
    }
  
    // required string name = 2;
    if (cached_has_bits & 0x00000001u) {
      ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
        this->name().data(), static_cast<int>(this->name().length()),
        ::google::protobuf::internal::WireFormat::SERIALIZE,
        "Qot_StockFilter.StockData.name");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          2, this->name(), target);
    }
  
    // repeated .Qot_StockFilter.BaseData baseDataList = 3;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->basedatalist_size()); i < n; i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          3, this->basedatalist(static_cast<int>(i)), deterministic, target);
    }
  
    // repeated .Qot_StockFilter.AccumulateData accumulateDataList = 4;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->accumulatedatalist_size()); i < n; i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          4, this->accumulatedatalist(static_cast<int>(i)), deterministic, target);
    }
  
    // repeated .Qot_StockFilter.FinancialData financialDataList = 5;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->financialdatalist_size()); i < n; i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          5, this->financialdatalist(static_cast<int>(i)), deterministic, target);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:Qot_StockFilter.StockData)
    return target;
  }
  
  size_t StockData::RequiredFieldsByteSizeFallback() const {
  // @@protoc_insertion_point(required_fields_byte_size_fallback_start:Qot_StockFilter.StockData)
    size_t total_size = 0;
  
    if (has_name()) {
      // required string name = 2;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->name());
    }
  
    if (has_security()) {
      // required .Qot_Common.Security security = 1;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *this->security_);
    }
  
    return total_size;
  }
  size_t StockData::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:Qot_StockFilter.StockData)
    size_t total_size = 0;
  
    if (_internal_metadata_.have_unknown_fields()) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          _internal_metadata_.unknown_fields());
    }
    if (((_has_bits_[0] & 0x00000003) ^ 0x00000003) == 0) {  // All required fields are present.
      // required string name = 2;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->name());
  
      // required .Qot_Common.Security security = 1;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *this->security_);
  
    } else {
      total_size += RequiredFieldsByteSizeFallback();
    }
    // repeated .Qot_StockFilter.BaseData baseDataList = 3;
    {
      unsigned int count = static_cast<unsigned int>(this->basedatalist_size());
      total_size += 1UL * count;
      for (unsigned int i = 0; i < count; i++) {
        total_size +=
          ::google::protobuf::internal::WireFormatLite::MessageSize(
            this->basedatalist(static_cast<int>(i)));
      }
    }
  
    // repeated .Qot_StockFilter.AccumulateData accumulateDataList = 4;
    {
      unsigned int count = static_cast<unsigned int>(this->accumulatedatalist_size());
      total_size += 1UL * count;
      for (unsigned int i = 0; i < count; i++) {
        total_size +=
          ::google::protobuf::internal::WireFormatLite::MessageSize(
            this->accumulatedatalist(static_cast<int>(i)));
      }
    }
  
    // repeated .Qot_StockFilter.FinancialData financialDataList = 5;
    {
      unsigned int count = static_cast<unsigned int>(this->financialdatalist_size());
      total_size += 1UL * count;
      for (unsigned int i = 0; i < count; i++) {
        total_size +=
          ::google::protobuf::internal::WireFormatLite::MessageSize(
            this->financialdatalist(static_cast<int>(i)));
      }
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void StockData::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:Qot_StockFilter.StockData)
    GOOGLE_DCHECK_NE(&from, this);
    const StockData* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const StockData>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:Qot_StockFilter.StockData)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:Qot_StockFilter.StockData)
      MergeFrom(*source);
    }
  }
  
  void StockData::MergeFrom(const StockData& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:Qot_StockFilter.StockData)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    basedatalist_.MergeFrom(from.basedatalist_);
    accumulatedatalist_.MergeFrom(from.accumulatedatalist_);
    financialdatalist_.MergeFrom(from.financialdatalist_);
    cached_has_bits = from._has_bits_[0];
    if (cached_has_bits & 3u) {
      if (cached_has_bits & 0x00000001u) {
        set_has_name();
        name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
      }
      if (cached_has_bits & 0x00000002u) {
        mutable_security()->::Qot_Common::Security::MergeFrom(from.security());
      }
    }
  }
  
  void StockData::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:Qot_StockFilter.StockData)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void StockData::CopyFrom(const StockData& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:Qot_StockFilter.StockData)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool StockData::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
    if (!::google::protobuf::internal::AllAreInitialized(this->basedatalist())) return false;
    if (!::google::protobuf::internal::AllAreInitialized(this->accumulatedatalist())) return false;
    if (!::google::protobuf::internal::AllAreInitialized(this->financialdatalist())) return false;
    if (has_security()) {
      if (!this->security_->IsInitialized()) return false;
    }
    return true;
  }
  
  void StockData::Swap(StockData* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void StockData::InternalSwap(StockData* other) {
    using std::swap;
    basedatalist_.InternalSwap(&other->basedatalist_);
    accumulatedatalist_.InternalSwap(&other->accumulatedatalist_);
    financialdatalist_.InternalSwap(&other->financialdatalist_);
    name_.Swap(&other->name_);
    swap(security_, other->security_);
    swap(_has_bits_[0], other->_has_bits_[0]);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata StockData::GetMetadata() const {
    protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void C2S::InitAsDefaultInstance() {
    ::Qot_StockFilter::_C2S_default_instance_._instance.get_mutable()->plate_ = const_cast< ::Qot_Common::Security*>(
        ::Qot_Common::Security::internal_default_instance());
  }
  void C2S::clear_plate() {
    if (plate_ != NULL) plate_->Clear();
    clear_has_plate();
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int C2S::kBeginFieldNumber;
  const int C2S::kNumFieldNumber;
  const int C2S::kMarketFieldNumber;
  const int C2S::kPlateFieldNumber;
  const int C2S::kBaseFilterListFieldNumber;
  const int C2S::kAccumulateFilterListFieldNumber;
  const int C2S::kFinancialFilterListFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  C2S::C2S()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsC2S();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:Qot_StockFilter.C2S)
  }
  C2S::C2S(const C2S& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _has_bits_(from._has_bits_),
        _cached_size_(0),
        basefilterlist_(from.basefilterlist_),
        accumulatefilterlist_(from.accumulatefilterlist_),
        financialfilterlist_(from.financialfilterlist_) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    if (from.has_plate()) {
      plate_ = new ::Qot_Common::Security(*from.plate_);
    } else {
      plate_ = NULL;
    }
    ::memcpy(&begin_, &from.begin_,
      static_cast<size_t>(reinterpret_cast<char*>(&market_) -
      reinterpret_cast<char*>(&begin_)) + sizeof(market_));
    // @@protoc_insertion_point(copy_constructor:Qot_StockFilter.C2S)
  }
  
  void C2S::SharedCtor() {
    _cached_size_ = 0;
    ::memset(&plate_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&market_) -
        reinterpret_cast<char*>(&plate_)) + sizeof(market_));
  }
  
  C2S::~C2S() {
    // @@protoc_insertion_point(destructor:Qot_StockFilter.C2S)
    SharedDtor();
  }
  
  void C2S::SharedDtor() {
    if (this != internal_default_instance()) delete plate_;
  }
  
  void C2S::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* C2S::descriptor() {
    ::protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const C2S& C2S::default_instance() {
    ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsC2S();
    return *internal_default_instance();
  }
  
  C2S* C2S::New(::google::protobuf::Arena* arena) const {
    C2S* n = new C2S;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void C2S::Clear() {
  // @@protoc_insertion_point(message_clear_start:Qot_StockFilter.C2S)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    basefilterlist_.Clear();
    accumulatefilterlist_.Clear();
    financialfilterlist_.Clear();
    cached_has_bits = _has_bits_[0];
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(plate_ != NULL);
      plate_->Clear();
    }
    if (cached_has_bits & 14u) {
      ::memset(&begin_, 0, static_cast<size_t>(
          reinterpret_cast<char*>(&market_) -
          reinterpret_cast<char*>(&begin_)) + sizeof(market_));
    }
    _has_bits_.Clear();
    _internal_metadata_.Clear();
  }
  
  bool C2S::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:Qot_StockFilter.C2S)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required int32 begin = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
            set_has_begin();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &begin_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // required int32 num = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
            set_has_num();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &num_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // required int32 market = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
            set_has_market();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &market_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // optional .Qot_Common.Security plate = 4;
        case 4: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_plate()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // repeated .Qot_StockFilter.BaseFilter baseFilterList = 5;
        case 5: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_basefilterlist()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // repeated .Qot_StockFilter.AccumulateFilter accumulateFilterList = 6;
        case 6: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_accumulatefilterlist()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // repeated .Qot_StockFilter.FinancialFilter financialFilterList = 7;
        case 7: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(58u /* 58 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_financialfilterlist()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:Qot_StockFilter.C2S)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:Qot_StockFilter.C2S)
    return false;
  #undef DO_
  }
  
  void C2S::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:Qot_StockFilter.C2S)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required int32 begin = 1;
    if (cached_has_bits & 0x00000002u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->begin(), output);
    }
  
    // required int32 num = 2;
    if (cached_has_bits & 0x00000004u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->num(), output);
    }
  
    // required int32 market = 3;
    if (cached_has_bits & 0x00000008u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->market(), output);
    }
  
    // optional .Qot_Common.Security plate = 4;
    if (cached_has_bits & 0x00000001u) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        4, *this->plate_, output);
    }
  
    // repeated .Qot_StockFilter.BaseFilter baseFilterList = 5;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->basefilterlist_size()); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        5, this->basefilterlist(static_cast<int>(i)), output);
    }
  
    // repeated .Qot_StockFilter.AccumulateFilter accumulateFilterList = 6;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->accumulatefilterlist_size()); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        6, this->accumulatefilterlist(static_cast<int>(i)), output);
    }
  
    // repeated .Qot_StockFilter.FinancialFilter financialFilterList = 7;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->financialfilterlist_size()); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        7, this->financialfilterlist(static_cast<int>(i)), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:Qot_StockFilter.C2S)
  }
  
  ::google::protobuf::uint8* C2S::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:Qot_StockFilter.C2S)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required int32 begin = 1;
    if (cached_has_bits & 0x00000002u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->begin(), target);
    }
  
    // required int32 num = 2;
    if (cached_has_bits & 0x00000004u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->num(), target);
    }
  
    // required int32 market = 3;
    if (cached_has_bits & 0x00000008u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->market(), target);
    }
  
    // optional .Qot_Common.Security plate = 4;
    if (cached_has_bits & 0x00000001u) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          4, *this->plate_, deterministic, target);
    }
  
    // repeated .Qot_StockFilter.BaseFilter baseFilterList = 5;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->basefilterlist_size()); i < n; i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          5, this->basefilterlist(static_cast<int>(i)), deterministic, target);
    }
  
    // repeated .Qot_StockFilter.AccumulateFilter accumulateFilterList = 6;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->accumulatefilterlist_size()); i < n; i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          6, this->accumulatefilterlist(static_cast<int>(i)), deterministic, target);
    }
  
    // repeated .Qot_StockFilter.FinancialFilter financialFilterList = 7;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->financialfilterlist_size()); i < n; i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          7, this->financialfilterlist(static_cast<int>(i)), deterministic, target);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:Qot_StockFilter.C2S)
    return target;
  }
  
  size_t C2S::RequiredFieldsByteSizeFallback() const {
  // @@protoc_insertion_point(required_fields_byte_size_fallback_start:Qot_StockFilter.C2S)
    size_t total_size = 0;
  
    if (has_begin()) {
      // required int32 begin = 1;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->begin());
    }
  
    if (has_num()) {
      // required int32 num = 2;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->num());
    }
  
    if (has_market()) {
      // required int32 market = 3;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->market());
    }
  
    return total_size;
  }
  size_t C2S::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:Qot_StockFilter.C2S)
    size_t total_size = 0;
  
    if (_internal_metadata_.have_unknown_fields()) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          _internal_metadata_.unknown_fields());
    }
    if (((_has_bits_[0] & 0x0000000e) ^ 0x0000000e) == 0) {  // All required fields are present.
      // required int32 begin = 1;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->begin());
  
      // required int32 num = 2;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->num());
  
      // required int32 market = 3;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->market());
  
    } else {
      total_size += RequiredFieldsByteSizeFallback();
    }
    // repeated .Qot_StockFilter.BaseFilter baseFilterList = 5;
    {
      unsigned int count = static_cast<unsigned int>(this->basefilterlist_size());
      total_size += 1UL * count;
      for (unsigned int i = 0; i < count; i++) {
        total_size +=
          ::google::protobuf::internal::WireFormatLite::MessageSize(
            this->basefilterlist(static_cast<int>(i)));
      }
    }
  
    // repeated .Qot_StockFilter.AccumulateFilter accumulateFilterList = 6;
    {
      unsigned int count = static_cast<unsigned int>(this->accumulatefilterlist_size());
      total_size += 1UL * count;
      for (unsigned int i = 0; i < count; i++) {
        total_size +=
          ::google::protobuf::internal::WireFormatLite::MessageSize(
            this->accumulatefilterlist(static_cast<int>(i)));
      }
    }
  
    // repeated .Qot_StockFilter.FinancialFilter financialFilterList = 7;
    {
      unsigned int count = static_cast<unsigned int>(this->financialfilterlist_size());
      total_size += 1UL * count;
      for (unsigned int i = 0; i < count; i++) {
        total_size +=
          ::google::protobuf::internal::WireFormatLite::MessageSize(
            this->financialfilterlist(static_cast<int>(i)));
      }
    }
  
    // optional .Qot_Common.Security plate = 4;
    if (has_plate()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *this->plate_);
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void C2S::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:Qot_StockFilter.C2S)
    GOOGLE_DCHECK_NE(&from, this);
    const C2S* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const C2S>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:Qot_StockFilter.C2S)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:Qot_StockFilter.C2S)
      MergeFrom(*source);
    }
  }
  
  void C2S::MergeFrom(const C2S& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:Qot_StockFilter.C2S)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    basefilterlist_.MergeFrom(from.basefilterlist_);
    accumulatefilterlist_.MergeFrom(from.accumulatefilterlist_);
    financialfilterlist_.MergeFrom(from.financialfilterlist_);
    cached_has_bits = from._has_bits_[0];
    if (cached_has_bits & 15u) {
      if (cached_has_bits & 0x00000001u) {
        mutable_plate()->::Qot_Common::Security::MergeFrom(from.plate());
      }
      if (cached_has_bits & 0x00000002u) {
        begin_ = from.begin_;
      }
      if (cached_has_bits & 0x00000004u) {
        num_ = from.num_;
      }
      if (cached_has_bits & 0x00000008u) {
        market_ = from.market_;
      }
      _has_bits_[0] |= cached_has_bits;
    }
  }
  
  void C2S::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:Qot_StockFilter.C2S)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void C2S::CopyFrom(const C2S& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:Qot_StockFilter.C2S)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool C2S::IsInitialized() const {
    if ((_has_bits_[0] & 0x0000000e) != 0x0000000e) return false;
    if (!::google::protobuf::internal::AllAreInitialized(this->basefilterlist())) return false;
    if (!::google::protobuf::internal::AllAreInitialized(this->accumulatefilterlist())) return false;
    if (!::google::protobuf::internal::AllAreInitialized(this->financialfilterlist())) return false;
    if (has_plate()) {
      if (!this->plate_->IsInitialized()) return false;
    }
    return true;
  }
  
  void C2S::Swap(C2S* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void C2S::InternalSwap(C2S* other) {
    using std::swap;
    basefilterlist_.InternalSwap(&other->basefilterlist_);
    accumulatefilterlist_.InternalSwap(&other->accumulatefilterlist_);
    financialfilterlist_.InternalSwap(&other->financialfilterlist_);
    swap(plate_, other->plate_);
    swap(begin_, other->begin_);
    swap(num_, other->num_);
    swap(market_, other->market_);
    swap(_has_bits_[0], other->_has_bits_[0]);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata C2S::GetMetadata() const {
    protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void S2C::InitAsDefaultInstance() {
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int S2C::kLastPageFieldNumber;
  const int S2C::kAllCountFieldNumber;
  const int S2C::kDataListFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  S2C::S2C()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsS2C();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:Qot_StockFilter.S2C)
  }
  S2C::S2C(const S2C& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _has_bits_(from._has_bits_),
        _cached_size_(0),
        datalist_(from.datalist_) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::memcpy(&lastpage_, &from.lastpage_,
      static_cast<size_t>(reinterpret_cast<char*>(&allcount_) -
      reinterpret_cast<char*>(&lastpage_)) + sizeof(allcount_));
    // @@protoc_insertion_point(copy_constructor:Qot_StockFilter.S2C)
  }
  
  void S2C::SharedCtor() {
    _cached_size_ = 0;
    ::memset(&lastpage_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&allcount_) -
        reinterpret_cast<char*>(&lastpage_)) + sizeof(allcount_));
  }
  
  S2C::~S2C() {
    // @@protoc_insertion_point(destructor:Qot_StockFilter.S2C)
    SharedDtor();
  }
  
  void S2C::SharedDtor() {
  }
  
  void S2C::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* S2C::descriptor() {
    ::protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const S2C& S2C::default_instance() {
    ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsS2C();
    return *internal_default_instance();
  }
  
  S2C* S2C::New(::google::protobuf::Arena* arena) const {
    S2C* n = new S2C;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void S2C::Clear() {
  // @@protoc_insertion_point(message_clear_start:Qot_StockFilter.S2C)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    datalist_.Clear();
    cached_has_bits = _has_bits_[0];
    if (cached_has_bits & 3u) {
      ::memset(&lastpage_, 0, static_cast<size_t>(
          reinterpret_cast<char*>(&allcount_) -
          reinterpret_cast<char*>(&lastpage_)) + sizeof(allcount_));
    }
    _has_bits_.Clear();
    _internal_metadata_.Clear();
  }
  
  bool S2C::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:Qot_StockFilter.S2C)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required bool lastPage = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
            set_has_lastpage();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                   input, &lastpage_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // required int32 allCount = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
            set_has_allcount();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &allcount_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // repeated .Qot_StockFilter.StockData dataList = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_datalist()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:Qot_StockFilter.S2C)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:Qot_StockFilter.S2C)
    return false;
  #undef DO_
  }
  
  void S2C::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:Qot_StockFilter.S2C)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required bool lastPage = 1;
    if (cached_has_bits & 0x00000001u) {
      ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->lastpage(), output);
    }
  
    // required int32 allCount = 2;
    if (cached_has_bits & 0x00000002u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->allcount(), output);
    }
  
    // repeated .Qot_StockFilter.StockData dataList = 3;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->datalist_size()); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        3, this->datalist(static_cast<int>(i)), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:Qot_StockFilter.S2C)
  }
  
  ::google::protobuf::uint8* S2C::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:Qot_StockFilter.S2C)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required bool lastPage = 1;
    if (cached_has_bits & 0x00000001u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->lastpage(), target);
    }
  
    // required int32 allCount = 2;
    if (cached_has_bits & 0x00000002u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->allcount(), target);
    }
  
    // repeated .Qot_StockFilter.StockData dataList = 3;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->datalist_size()); i < n; i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          3, this->datalist(static_cast<int>(i)), deterministic, target);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:Qot_StockFilter.S2C)
    return target;
  }
  
  size_t S2C::RequiredFieldsByteSizeFallback() const {
  // @@protoc_insertion_point(required_fields_byte_size_fallback_start:Qot_StockFilter.S2C)
    size_t total_size = 0;
  
    if (has_lastpage()) {
      // required bool lastPage = 1;
      total_size += 1 + 1;
    }
  
    if (has_allcount()) {
      // required int32 allCount = 2;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->allcount());
    }
  
    return total_size;
  }
  size_t S2C::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:Qot_StockFilter.S2C)
    size_t total_size = 0;
  
    if (_internal_metadata_.have_unknown_fields()) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          _internal_metadata_.unknown_fields());
    }
    if (((_has_bits_[0] & 0x00000003) ^ 0x00000003) == 0) {  // All required fields are present.
      // required bool lastPage = 1;
      total_size += 1 + 1;
  
      // required int32 allCount = 2;
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->allcount());
  
    } else {
      total_size += RequiredFieldsByteSizeFallback();
    }
    // repeated .Qot_StockFilter.StockData dataList = 3;
    {
      unsigned int count = static_cast<unsigned int>(this->datalist_size());
      total_size += 1UL * count;
      for (unsigned int i = 0; i < count; i++) {
        total_size +=
          ::google::protobuf::internal::WireFormatLite::MessageSize(
            this->datalist(static_cast<int>(i)));
      }
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void S2C::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:Qot_StockFilter.S2C)
    GOOGLE_DCHECK_NE(&from, this);
    const S2C* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const S2C>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:Qot_StockFilter.S2C)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:Qot_StockFilter.S2C)
      MergeFrom(*source);
    }
  }
  
  void S2C::MergeFrom(const S2C& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:Qot_StockFilter.S2C)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    datalist_.MergeFrom(from.datalist_);
    cached_has_bits = from._has_bits_[0];
    if (cached_has_bits & 3u) {
      if (cached_has_bits & 0x00000001u) {
        lastpage_ = from.lastpage_;
      }
      if (cached_has_bits & 0x00000002u) {
        allcount_ = from.allcount_;
      }
      _has_bits_[0] |= cached_has_bits;
    }
  }
  
  void S2C::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:Qot_StockFilter.S2C)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void S2C::CopyFrom(const S2C& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:Qot_StockFilter.S2C)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool S2C::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
    if (!::google::protobuf::internal::AllAreInitialized(this->datalist())) return false;
    return true;
  }
  
  void S2C::Swap(S2C* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void S2C::InternalSwap(S2C* other) {
    using std::swap;
    datalist_.InternalSwap(&other->datalist_);
    swap(lastpage_, other->lastpage_);
    swap(allcount_, other->allcount_);
    swap(_has_bits_[0], other->_has_bits_[0]);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata S2C::GetMetadata() const {
    protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void Request::InitAsDefaultInstance() {
    ::Qot_StockFilter::_Request_default_instance_._instance.get_mutable()->c2s_ = const_cast< ::Qot_StockFilter::C2S*>(
        ::Qot_StockFilter::C2S::internal_default_instance());
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int Request::kC2SFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  Request::Request()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsRequest();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:Qot_StockFilter.Request)
  }
  Request::Request(const Request& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _has_bits_(from._has_bits_),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    if (from.has_c2s()) {
      c2s_ = new ::Qot_StockFilter::C2S(*from.c2s_);
    } else {
      c2s_ = NULL;
    }
    // @@protoc_insertion_point(copy_constructor:Qot_StockFilter.Request)
  }
  
  void Request::SharedCtor() {
    _cached_size_ = 0;
    c2s_ = NULL;
  }
  
  Request::~Request() {
    // @@protoc_insertion_point(destructor:Qot_StockFilter.Request)
    SharedDtor();
  }
  
  void Request::SharedDtor() {
    if (this != internal_default_instance()) delete c2s_;
  }
  
  void Request::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* Request::descriptor() {
    ::protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const Request& Request::default_instance() {
    ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsRequest();
    return *internal_default_instance();
  }
  
  Request* Request::New(::google::protobuf::Arena* arena) const {
    Request* n = new Request;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void Request::Clear() {
  // @@protoc_insertion_point(message_clear_start:Qot_StockFilter.Request)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(c2s_ != NULL);
      c2s_->Clear();
    }
    _has_bits_.Clear();
    _internal_metadata_.Clear();
  }
  
  bool Request::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:Qot_StockFilter.Request)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required .Qot_StockFilter.C2S c2s = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_c2s()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:Qot_StockFilter.Request)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:Qot_StockFilter.Request)
    return false;
  #undef DO_
  }
  
  void Request::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:Qot_StockFilter.Request)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required .Qot_StockFilter.C2S c2s = 1;
    if (cached_has_bits & 0x00000001u) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        1, *this->c2s_, output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:Qot_StockFilter.Request)
  }
  
  ::google::protobuf::uint8* Request::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:Qot_StockFilter.Request)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required .Qot_StockFilter.C2S c2s = 1;
    if (cached_has_bits & 0x00000001u) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          1, *this->c2s_, deterministic, target);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:Qot_StockFilter.Request)
    return target;
  }
  
  size_t Request::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:Qot_StockFilter.Request)
    size_t total_size = 0;
  
    if (_internal_metadata_.have_unknown_fields()) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          _internal_metadata_.unknown_fields());
    }
    // required .Qot_StockFilter.C2S c2s = 1;
    if (has_c2s()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *this->c2s_);
    }
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void Request::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:Qot_StockFilter.Request)
    GOOGLE_DCHECK_NE(&from, this);
    const Request* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const Request>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:Qot_StockFilter.Request)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:Qot_StockFilter.Request)
      MergeFrom(*source);
    }
  }
  
  void Request::MergeFrom(const Request& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:Qot_StockFilter.Request)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.has_c2s()) {
      mutable_c2s()->::Qot_StockFilter::C2S::MergeFrom(from.c2s());
    }
  }
  
  void Request::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:Qot_StockFilter.Request)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void Request::CopyFrom(const Request& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:Qot_StockFilter.Request)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool Request::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
    if (has_c2s()) {
      if (!this->c2s_->IsInitialized()) return false;
    }
    return true;
  }
  
  void Request::Swap(Request* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void Request::InternalSwap(Request* other) {
    using std::swap;
    swap(c2s_, other->c2s_);
    swap(_has_bits_[0], other->_has_bits_[0]);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata Request::GetMetadata() const {
    protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void Response::InitAsDefaultInstance() {
    ::Qot_StockFilter::_Response_default_instance_._instance.get_mutable()->s2c_ = const_cast< ::Qot_StockFilter::S2C*>(
        ::Qot_StockFilter::S2C::internal_default_instance());
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int Response::kRetTypeFieldNumber;
  const int Response::kRetMsgFieldNumber;
  const int Response::kErrCodeFieldNumber;
  const int Response::kS2CFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  Response::Response()
    : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
      ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsResponse();
    }
    SharedCtor();
    // @@protoc_insertion_point(constructor:Qot_StockFilter.Response)
  }
  Response::Response(const Response& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(NULL),
        _has_bits_(from._has_bits_),
        _cached_size_(0) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    retmsg_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.has_retmsg()) {
      retmsg_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.retmsg_);
    }
    if (from.has_s2c()) {
      s2c_ = new ::Qot_StockFilter::S2C(*from.s2c_);
    } else {
      s2c_ = NULL;
    }
    ::memcpy(&errcode_, &from.errcode_,
      static_cast<size_t>(reinterpret_cast<char*>(&rettype_) -
      reinterpret_cast<char*>(&errcode_)) + sizeof(rettype_));
    // @@protoc_insertion_point(copy_constructor:Qot_StockFilter.Response)
  }
  
  void Response::SharedCtor() {
    _cached_size_ = 0;
    retmsg_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ::memset(&s2c_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&errcode_) -
        reinterpret_cast<char*>(&s2c_)) + sizeof(errcode_));
    rettype_ = -400;
  }
  
  Response::~Response() {
    // @@protoc_insertion_point(destructor:Qot_StockFilter.Response)
    SharedDtor();
  }
  
  void Response::SharedDtor() {
    retmsg_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (this != internal_default_instance()) delete s2c_;
  }
  
  void Response::SetCachedSize(int size) const {
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
  }
  const ::google::protobuf::Descriptor* Response::descriptor() {
    ::protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
  }
  
  const Response& Response::default_instance() {
    ::protobuf_Qot_5fStockFilter_2eproto::InitDefaultsResponse();
    return *internal_default_instance();
  }
  
  Response* Response::New(::google::protobuf::Arena* arena) const {
    Response* n = new Response;
    if (arena != NULL) {
      arena->Own(n);
    }
    return n;
  }
  
  void Response::Clear() {
  // @@protoc_insertion_point(message_clear_start:Qot_StockFilter.Response)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    if (cached_has_bits & 3u) {
      if (cached_has_bits & 0x00000001u) {
        GOOGLE_DCHECK(!retmsg_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
        (*retmsg_.UnsafeRawStringPointer())->clear();
      }
      if (cached_has_bits & 0x00000002u) {
        GOOGLE_DCHECK(s2c_ != NULL);
        s2c_->Clear();
      }
    }
    if (cached_has_bits & 12u) {
      errcode_ = 0;
      rettype_ = -400;
    }
    _has_bits_.Clear();
    _internal_metadata_.Clear();
  }
  
  bool Response::MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) {
  #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    ::google::protobuf::uint32 tag;
    // @@protoc_insertion_point(parse_start:Qot_StockFilter.Response)
    for (;;) {
      ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // required int32 retType = 1 [default = -400];
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
            set_has_rettype();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &rettype_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // optional string retMsg = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_retmsg()));
            ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
              this->retmsg().data(), static_cast<int>(this->retmsg().length()),
              ::google::protobuf::internal::WireFormat::PARSE,
              "Qot_StockFilter.Response.retMsg");
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // optional int32 errCode = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
            set_has_errcode();
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                   input, &errcode_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // optional .Qot_StockFilter.S2C s2c = 4;
        case 4: {
          if (static_cast< ::google::protobuf::uint8>(tag) ==
              static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_s2c()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        default: {
        handle_unusual:
          if (tag == 0) {
            goto success;
          }
          DO_(::google::protobuf::internal::WireFormat::SkipField(
                input, tag, _internal_metadata_.mutable_unknown_fields()));
          break;
        }
      }
    }
  success:
    // @@protoc_insertion_point(parse_success:Qot_StockFilter.Response)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:Qot_StockFilter.Response)
    return false;
  #undef DO_
  }
  
  void Response::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:Qot_StockFilter.Response)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required int32 retType = 1 [default = -400];
    if (cached_has_bits & 0x00000008u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->rettype(), output);
    }
  
    // optional string retMsg = 2;
    if (cached_has_bits & 0x00000001u) {
      ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
        this->retmsg().data(), static_cast<int>(this->retmsg().length()),
        ::google::protobuf::internal::WireFormat::SERIALIZE,
        "Qot_StockFilter.Response.retMsg");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        2, this->retmsg(), output);
    }
  
    // optional int32 errCode = 3;
    if (cached_has_bits & 0x00000004u) {
      ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->errcode(), output);
    }
  
    // optional .Qot_StockFilter.S2C s2c = 4;
    if (cached_has_bits & 0x00000002u) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        4, *this->s2c_, output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:Qot_StockFilter.Response)
  }
  
  ::google::protobuf::uint8* Response::InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const {
    (void)deterministic; // Unused
    // @@protoc_insertion_point(serialize_to_array_start:Qot_StockFilter.Response)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = _has_bits_[0];
    // required int32 retType = 1 [default = -400];
    if (cached_has_bits & 0x00000008u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->rettype(), target);
    }
  
    // optional string retMsg = 2;
    if (cached_has_bits & 0x00000001u) {
      ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
        this->retmsg().data(), static_cast<int>(this->retmsg().length()),
        ::google::protobuf::internal::WireFormat::SERIALIZE,
        "Qot_StockFilter.Response.retMsg");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          2, this->retmsg(), target);
    }
  
    // optional int32 errCode = 3;
    if (cached_has_bits & 0x00000004u) {
      target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->errcode(), target);
    }
  
    // optional .Qot_StockFilter.S2C s2c = 4;
    if (cached_has_bits & 0x00000002u) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          4, *this->s2c_, deterministic, target);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields(), target);
    }
    // @@protoc_insertion_point(serialize_to_array_end:Qot_StockFilter.Response)
    return target;
  }
  
  size_t Response::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:Qot_StockFilter.Response)
    size_t total_size = 0;
  
    if (_internal_metadata_.have_unknown_fields()) {
      total_size +=
        ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
          _internal_metadata_.unknown_fields());
    }
    // required int32 retType = 1 [default = -400];
    if (has_rettype()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->rettype());
    }
    if (_has_bits_[0 / 32] & 7u) {
      // optional string retMsg = 2;
      if (has_retmsg()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::StringSize(
            this->retmsg());
      }
  
      // optional .Qot_StockFilter.S2C s2c = 4;
      if (has_s2c()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::MessageSize(
            *this->s2c_);
      }
  
      // optional int32 errCode = 3;
      if (has_errcode()) {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::Int32Size(
            this->errcode());
      }
  
    }
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _cached_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    return total_size;
  }
  
  void Response::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:Qot_StockFilter.Response)
    GOOGLE_DCHECK_NE(&from, this);
    const Response* source =
        ::google::protobuf::internal::DynamicCastToGenerated<const Response>(
            &from);
    if (source == NULL) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:Qot_StockFilter.Response)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:Qot_StockFilter.Response)
      MergeFrom(*source);
    }
  }
  
  void Response::MergeFrom(const Response& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:Qot_StockFilter.Response)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    cached_has_bits = from._has_bits_[0];
    if (cached_has_bits & 15u) {
      if (cached_has_bits & 0x00000001u) {
        set_has_retmsg();
        retmsg_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.retmsg_);
      }
      if (cached_has_bits & 0x00000002u) {
        mutable_s2c()->::Qot_StockFilter::S2C::MergeFrom(from.s2c());
      }
      if (cached_has_bits & 0x00000004u) {
        errcode_ = from.errcode_;
      }
      if (cached_has_bits & 0x00000008u) {
        rettype_ = from.rettype_;
      }
      _has_bits_[0] |= cached_has_bits;
    }
  }
  
  void Response::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:Qot_StockFilter.Response)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void Response::CopyFrom(const Response& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:Qot_StockFilter.Response)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool Response::IsInitialized() const {
    if ((_has_bits_[0] & 0x00000008) != 0x00000008) return false;
    if (has_s2c()) {
      if (!this->s2c_->IsInitialized()) return false;
    }
    return true;
  }
  
  void Response::Swap(Response* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void Response::InternalSwap(Response* other) {
    using std::swap;
    retmsg_.Swap(&other->retmsg_);
    swap(s2c_, other->s2c_);
    swap(errcode_, other->errcode_);
    swap(rettype_, other->rettype_);
    swap(_has_bits_[0], other->_has_bits_[0]);
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(_cached_size_, other->_cached_size_);
  }
  
  ::google::protobuf::Metadata Response::GetMetadata() const {
    protobuf_Qot_5fStockFilter_2eproto::protobuf_AssignDescriptorsOnce();
    return ::protobuf_Qot_5fStockFilter_2eproto::file_level_metadata[kIndexInFileMessages];
  }
  
  
  // @@protoc_insertion_point(namespace_scope)
  }  // namespace Qot_StockFilter
  
  // @@protoc_insertion_point(global_scope)
  