// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: quote/api.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_quote_2fapi_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_quote_2fapi_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3019000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3019004 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_bases.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/generated_enum_reflection.h>
#include <google/protobuf/unknown_field_set.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_quote_2fapi_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_quote_2fapi_2eproto {
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[53]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
  static const uint32_t offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_quote_2fapi_2eproto;
namespace longbridgeapp {
namespace quote {
namespace v1 {
class Brokers;
struct BrokersDefaultTypeInternal;
extern BrokersDefaultTypeInternal _Brokers_default_instance_;
class Candlestick;
struct CandlestickDefaultTypeInternal;
extern CandlestickDefaultTypeInternal _Candlestick_default_instance_;
class Depth;
struct DepthDefaultTypeInternal;
extern DepthDefaultTypeInternal _Depth_default_instance_;
class FilterConfig;
struct FilterConfigDefaultTypeInternal;
extern FilterConfigDefaultTypeInternal _FilterConfig_default_instance_;
class FilterWarrant;
struct FilterWarrantDefaultTypeInternal;
extern FilterWarrantDefaultTypeInternal _FilterWarrant_default_instance_;
class IssuerInfo;
struct IssuerInfoDefaultTypeInternal;
extern IssuerInfoDefaultTypeInternal _IssuerInfo_default_instance_;
class IssuerInfoResponse;
struct IssuerInfoResponseDefaultTypeInternal;
extern IssuerInfoResponseDefaultTypeInternal _IssuerInfoResponse_default_instance_;
class Line;
struct LineDefaultTypeInternal;
extern LineDefaultTypeInternal _Line_default_instance_;
class MarketTradeDayRequest;
struct MarketTradeDayRequestDefaultTypeInternal;
extern MarketTradeDayRequestDefaultTypeInternal _MarketTradeDayRequest_default_instance_;
class MarketTradeDayResponse;
struct MarketTradeDayResponseDefaultTypeInternal;
extern MarketTradeDayResponseDefaultTypeInternal _MarketTradeDayResponse_default_instance_;
class MarketTradePeriod;
struct MarketTradePeriodDefaultTypeInternal;
extern MarketTradePeriodDefaultTypeInternal _MarketTradePeriod_default_instance_;
class MarketTradePeriodResponse;
struct MarketTradePeriodResponseDefaultTypeInternal;
extern MarketTradePeriodResponseDefaultTypeInternal _MarketTradePeriodResponse_default_instance_;
class MultiSecurityRequest;
struct MultiSecurityRequestDefaultTypeInternal;
extern MultiSecurityRequestDefaultTypeInternal _MultiSecurityRequest_default_instance_;
class OptionChainDateListResponse;
struct OptionChainDateListResponseDefaultTypeInternal;
extern OptionChainDateListResponseDefaultTypeInternal _OptionChainDateListResponse_default_instance_;
class OptionChainDateStrikeInfoRequest;
struct OptionChainDateStrikeInfoRequestDefaultTypeInternal;
extern OptionChainDateStrikeInfoRequestDefaultTypeInternal _OptionChainDateStrikeInfoRequest_default_instance_;
class OptionChainDateStrikeInfoResponse;
struct OptionChainDateStrikeInfoResponseDefaultTypeInternal;
extern OptionChainDateStrikeInfoResponseDefaultTypeInternal _OptionChainDateStrikeInfoResponse_default_instance_;
class OptionExtend;
struct OptionExtendDefaultTypeInternal;
extern OptionExtendDefaultTypeInternal _OptionExtend_default_instance_;
class OptionQuote;
struct OptionQuoteDefaultTypeInternal;
extern OptionQuoteDefaultTypeInternal _OptionQuote_default_instance_;
class OptionQuoteResponse;
struct OptionQuoteResponseDefaultTypeInternal;
extern OptionQuoteResponseDefaultTypeInternal _OptionQuoteResponse_default_instance_;
class ParticipantBrokerIdsResponse;
struct ParticipantBrokerIdsResponseDefaultTypeInternal;
extern ParticipantBrokerIdsResponseDefaultTypeInternal _ParticipantBrokerIdsResponse_default_instance_;
class ParticipantInfo;
struct ParticipantInfoDefaultTypeInternal;
extern ParticipantInfoDefaultTypeInternal _ParticipantInfo_default_instance_;
class PrePostQuote;
struct PrePostQuoteDefaultTypeInternal;
extern PrePostQuoteDefaultTypeInternal _PrePostQuote_default_instance_;
class PushBrokers;
struct PushBrokersDefaultTypeInternal;
extern PushBrokersDefaultTypeInternal _PushBrokers_default_instance_;
class PushDepth;
struct PushDepthDefaultTypeInternal;
extern PushDepthDefaultTypeInternal _PushDepth_default_instance_;
class PushQuote;
struct PushQuoteDefaultTypeInternal;
extern PushQuoteDefaultTypeInternal _PushQuote_default_instance_;
class PushTrade;
struct PushTradeDefaultTypeInternal;
extern PushTradeDefaultTypeInternal _PushTrade_default_instance_;
class SecurityBrokersResponse;
struct SecurityBrokersResponseDefaultTypeInternal;
extern SecurityBrokersResponseDefaultTypeInternal _SecurityBrokersResponse_default_instance_;
class SecurityCandlestickRequest;
struct SecurityCandlestickRequestDefaultTypeInternal;
extern SecurityCandlestickRequestDefaultTypeInternal _SecurityCandlestickRequest_default_instance_;
class SecurityCandlestickResponse;
struct SecurityCandlestickResponseDefaultTypeInternal;
extern SecurityCandlestickResponseDefaultTypeInternal _SecurityCandlestickResponse_default_instance_;
class SecurityDepthResponse;
struct SecurityDepthResponseDefaultTypeInternal;
extern SecurityDepthResponseDefaultTypeInternal _SecurityDepthResponse_default_instance_;
class SecurityIntradayRequest;
struct SecurityIntradayRequestDefaultTypeInternal;
extern SecurityIntradayRequestDefaultTypeInternal _SecurityIntradayRequest_default_instance_;
class SecurityIntradayResponse;
struct SecurityIntradayResponseDefaultTypeInternal;
extern SecurityIntradayResponseDefaultTypeInternal _SecurityIntradayResponse_default_instance_;
class SecurityQuote;
struct SecurityQuoteDefaultTypeInternal;
extern SecurityQuoteDefaultTypeInternal _SecurityQuote_default_instance_;
class SecurityQuoteResponse;
struct SecurityQuoteResponseDefaultTypeInternal;
extern SecurityQuoteResponseDefaultTypeInternal _SecurityQuoteResponse_default_instance_;
class SecurityRequest;
struct SecurityRequestDefaultTypeInternal;
extern SecurityRequestDefaultTypeInternal _SecurityRequest_default_instance_;
class SecurityStaticInfoResponse;
struct SecurityStaticInfoResponseDefaultTypeInternal;
extern SecurityStaticInfoResponseDefaultTypeInternal _SecurityStaticInfoResponse_default_instance_;
class SecurityTradeRequest;
struct SecurityTradeRequestDefaultTypeInternal;
extern SecurityTradeRequestDefaultTypeInternal _SecurityTradeRequest_default_instance_;
class SecurityTradeResponse;
struct SecurityTradeResponseDefaultTypeInternal;
extern SecurityTradeResponseDefaultTypeInternal _SecurityTradeResponse_default_instance_;
class StaticInfo;
struct StaticInfoDefaultTypeInternal;
extern StaticInfoDefaultTypeInternal _StaticInfo_default_instance_;
class StrikePriceInfo;
struct StrikePriceInfoDefaultTypeInternal;
extern StrikePriceInfoDefaultTypeInternal _StrikePriceInfo_default_instance_;
class SubTypeList;
struct SubTypeListDefaultTypeInternal;
extern SubTypeListDefaultTypeInternal _SubTypeList_default_instance_;
class SubscribeRequest;
struct SubscribeRequestDefaultTypeInternal;
extern SubscribeRequestDefaultTypeInternal _SubscribeRequest_default_instance_;
class SubscriptionRequest;
struct SubscriptionRequestDefaultTypeInternal;
extern SubscriptionRequestDefaultTypeInternal _SubscriptionRequest_default_instance_;
class SubscriptionResponse;
struct SubscriptionResponseDefaultTypeInternal;
extern SubscriptionResponseDefaultTypeInternal _SubscriptionResponse_default_instance_;
class Trade;
struct TradeDefaultTypeInternal;
extern TradeDefaultTypeInternal _Trade_default_instance_;
class TradePeriod;
struct TradePeriodDefaultTypeInternal;
extern TradePeriodDefaultTypeInternal _TradePeriod_default_instance_;
class UnsubscribeRequest;
struct UnsubscribeRequestDefaultTypeInternal;
extern UnsubscribeRequestDefaultTypeInternal _UnsubscribeRequest_default_instance_;
class UnsubscribeResponse;
struct UnsubscribeResponseDefaultTypeInternal;
extern UnsubscribeResponseDefaultTypeInternal _UnsubscribeResponse_default_instance_;
class WarrantExtend;
struct WarrantExtendDefaultTypeInternal;
extern WarrantExtendDefaultTypeInternal _WarrantExtend_default_instance_;
class WarrantFilterListRequest;
struct WarrantFilterListRequestDefaultTypeInternal;
extern WarrantFilterListRequestDefaultTypeInternal _WarrantFilterListRequest_default_instance_;
class WarrantFilterListResponse;
struct WarrantFilterListResponseDefaultTypeInternal;
extern WarrantFilterListResponseDefaultTypeInternal _WarrantFilterListResponse_default_instance_;
class WarrantQuote;
struct WarrantQuoteDefaultTypeInternal;
extern WarrantQuoteDefaultTypeInternal _WarrantQuote_default_instance_;
class WarrantQuoteResponse;
struct WarrantQuoteResponseDefaultTypeInternal;
extern WarrantQuoteResponseDefaultTypeInternal _WarrantQuoteResponse_default_instance_;
}  // namespace v1
}  // namespace quote
}  // namespace longbridgeapp
PROTOBUF_NAMESPACE_OPEN
template<> ::longbridgeapp::quote::v1::Brokers* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::Brokers>(Arena*);
template<> ::longbridgeapp::quote::v1::Candlestick* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::Candlestick>(Arena*);
template<> ::longbridgeapp::quote::v1::Depth* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::Depth>(Arena*);
template<> ::longbridgeapp::quote::v1::FilterConfig* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::FilterConfig>(Arena*);
template<> ::longbridgeapp::quote::v1::FilterWarrant* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::FilterWarrant>(Arena*);
template<> ::longbridgeapp::quote::v1::IssuerInfo* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::IssuerInfo>(Arena*);
template<> ::longbridgeapp::quote::v1::IssuerInfoResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::IssuerInfoResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::Line* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::Line>(Arena*);
template<> ::longbridgeapp::quote::v1::MarketTradeDayRequest* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::MarketTradeDayRequest>(Arena*);
template<> ::longbridgeapp::quote::v1::MarketTradeDayResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::MarketTradeDayResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::MarketTradePeriod* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::MarketTradePeriod>(Arena*);
template<> ::longbridgeapp::quote::v1::MarketTradePeriodResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::MarketTradePeriodResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::MultiSecurityRequest* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::MultiSecurityRequest>(Arena*);
template<> ::longbridgeapp::quote::v1::OptionChainDateListResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::OptionChainDateListResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::OptionChainDateStrikeInfoRequest* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::OptionChainDateStrikeInfoRequest>(Arena*);
template<> ::longbridgeapp::quote::v1::OptionChainDateStrikeInfoResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::OptionChainDateStrikeInfoResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::OptionExtend* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::OptionExtend>(Arena*);
template<> ::longbridgeapp::quote::v1::OptionQuote* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::OptionQuote>(Arena*);
template<> ::longbridgeapp::quote::v1::OptionQuoteResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::OptionQuoteResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::ParticipantBrokerIdsResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::ParticipantBrokerIdsResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::ParticipantInfo* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::ParticipantInfo>(Arena*);
template<> ::longbridgeapp::quote::v1::PrePostQuote* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::PrePostQuote>(Arena*);
template<> ::longbridgeapp::quote::v1::PushBrokers* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::PushBrokers>(Arena*);
template<> ::longbridgeapp::quote::v1::PushDepth* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::PushDepth>(Arena*);
template<> ::longbridgeapp::quote::v1::PushQuote* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::PushQuote>(Arena*);
template<> ::longbridgeapp::quote::v1::PushTrade* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::PushTrade>(Arena*);
template<> ::longbridgeapp::quote::v1::SecurityBrokersResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::SecurityBrokersResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::SecurityCandlestickRequest* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::SecurityCandlestickRequest>(Arena*);
template<> ::longbridgeapp::quote::v1::SecurityCandlestickResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::SecurityCandlestickResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::SecurityDepthResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::SecurityDepthResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::SecurityIntradayRequest* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::SecurityIntradayRequest>(Arena*);
template<> ::longbridgeapp::quote::v1::SecurityIntradayResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::SecurityIntradayResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::SecurityQuote* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::SecurityQuote>(Arena*);
template<> ::longbridgeapp::quote::v1::SecurityQuoteResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::SecurityQuoteResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::SecurityRequest* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::SecurityRequest>(Arena*);
template<> ::longbridgeapp::quote::v1::SecurityStaticInfoResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::SecurityStaticInfoResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::SecurityTradeRequest* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::SecurityTradeRequest>(Arena*);
template<> ::longbridgeapp::quote::v1::SecurityTradeResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::SecurityTradeResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::StaticInfo* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::StaticInfo>(Arena*);
template<> ::longbridgeapp::quote::v1::StrikePriceInfo* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::StrikePriceInfo>(Arena*);
template<> ::longbridgeapp::quote::v1::SubTypeList* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::SubTypeList>(Arena*);
template<> ::longbridgeapp::quote::v1::SubscribeRequest* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::SubscribeRequest>(Arena*);
template<> ::longbridgeapp::quote::v1::SubscriptionRequest* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::SubscriptionRequest>(Arena*);
template<> ::longbridgeapp::quote::v1::SubscriptionResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::SubscriptionResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::Trade* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::Trade>(Arena*);
template<> ::longbridgeapp::quote::v1::TradePeriod* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::TradePeriod>(Arena*);
template<> ::longbridgeapp::quote::v1::UnsubscribeRequest* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::UnsubscribeRequest>(Arena*);
template<> ::longbridgeapp::quote::v1::UnsubscribeResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::UnsubscribeResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::WarrantExtend* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::WarrantExtend>(Arena*);
template<> ::longbridgeapp::quote::v1::WarrantFilterListRequest* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::WarrantFilterListRequest>(Arena*);
template<> ::longbridgeapp::quote::v1::WarrantFilterListResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::WarrantFilterListResponse>(Arena*);
template<> ::longbridgeapp::quote::v1::WarrantQuote* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::WarrantQuote>(Arena*);
template<> ::longbridgeapp::quote::v1::WarrantQuoteResponse* Arena::CreateMaybeMessage<::longbridgeapp::quote::v1::WarrantQuoteResponse>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace longbridgeapp {
namespace quote {
namespace v1 {

enum Command : int {
  UNKNOWN_COMMAND = 0,
  HEART_BEAT = 1,
  AUTH = 2,
  RECONNECT = 3,
  Subscription = 5,
  Subscribe = 6,
  Unsubscribe = 7,
  QueryMarketTradePeriod = 8,
  QueryMarketTradeDay = 9,
  QuerySecurityStaticInfo = 10,
  QuerySecurityQuote = 11,
  QueryOptionQuote = 12,
  QueryWarrantQuote = 13,
  QueryDepth = 14,
  QueryBrokers = 15,
  QueryParticipantBrokerIds = 16,
  QueryTrade = 17,
  QueryIntraday = 18,
  QueryCandlestick = 19,
  QueryOptionChainDate = 20,
  QueryOptionChainDateStrikeInfo = 21,
  QueryWarrantIssuerInfo = 22,
  QueryWarrantFilterList = 23,
  PushQuoteData = 101,
  PushDepthData = 102,
  PushBrokersData = 103,
  PushTradeData = 104,
  Command_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::min(),
  Command_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::max()
};
bool Command_IsValid(int value);
constexpr Command Command_MIN = UNKNOWN_COMMAND;
constexpr Command Command_MAX = PushTradeData;
constexpr int Command_ARRAYSIZE = Command_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Command_descriptor();
template<typename T>
inline const std::string& Command_Name(T enum_t_value) {
  static_assert(::std::is_same<T, Command>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function Command_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    Command_descriptor(), enum_t_value);
}
inline bool Command_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Command* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Command>(
    Command_descriptor(), name, value);
}
enum TradeStatus : int {
  NORMAL = 0,
  HALTED = 1,
  DELISTED = 2,
  FUSE = 3,
  PREPARE_LIST = 4,
  CODE_MOVED = 5,
  TO_BE_OPENED = 6,
  SPLIT_STOCK_HALTS = 7,
  EXPIRED = 8,
  WARRANT_PREPARE_LIST = 9,
  SUSPEND_TRADE = 10,
  TradeStatus_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::min(),
  TradeStatus_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::max()
};
bool TradeStatus_IsValid(int value);
constexpr TradeStatus TradeStatus_MIN = NORMAL;
constexpr TradeStatus TradeStatus_MAX = SUSPEND_TRADE;
constexpr int TradeStatus_ARRAYSIZE = TradeStatus_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* TradeStatus_descriptor();
template<typename T>
inline const std::string& TradeStatus_Name(T enum_t_value) {
  static_assert(::std::is_same<T, TradeStatus>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function TradeStatus_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    TradeStatus_descriptor(), enum_t_value);
}
inline bool TradeStatus_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, TradeStatus* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<TradeStatus>(
    TradeStatus_descriptor(), name, value);
}
enum TradeSession : int {
  NORMAL_TRADE = 0,
  PRE_TRADE = 1,
  POST_TRADE = 2,
  TradeSession_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::min(),
  TradeSession_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::max()
};
bool TradeSession_IsValid(int value);
constexpr TradeSession TradeSession_MIN = NORMAL_TRADE;
constexpr TradeSession TradeSession_MAX = POST_TRADE;
constexpr int TradeSession_ARRAYSIZE = TradeSession_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* TradeSession_descriptor();
template<typename T>
inline const std::string& TradeSession_Name(T enum_t_value) {
  static_assert(::std::is_same<T, TradeSession>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function TradeSession_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    TradeSession_descriptor(), enum_t_value);
}
inline bool TradeSession_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, TradeSession* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<TradeSession>(
    TradeSession_descriptor(), name, value);
}
enum AdjustType : int {
  NO_ADJUST = 0,
  FORWARD_ADJUST = 1,
  AdjustType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::min(),
  AdjustType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::max()
};
bool AdjustType_IsValid(int value);
constexpr AdjustType AdjustType_MIN = NO_ADJUST;
constexpr AdjustType AdjustType_MAX = FORWARD_ADJUST;
constexpr int AdjustType_ARRAYSIZE = AdjustType_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AdjustType_descriptor();
template<typename T>
inline const std::string& AdjustType_Name(T enum_t_value) {
  static_assert(::std::is_same<T, AdjustType>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function AdjustType_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    AdjustType_descriptor(), enum_t_value);
}
inline bool AdjustType_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, AdjustType* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<AdjustType>(
    AdjustType_descriptor(), name, value);
}
enum Period : int {
  UNKNOWN_PERIOD = 0,
  ONE_MINUTE = 1,
  FIVE_MINUTE = 5,
  FIFTEEN_MINUTE = 15,
  THIRTY_MINUTE = 30,
  SIXTY_MINUTE = 60,
  DAY = 1000,
  WEEK = 2000,
  MONTH = 3000,
  YEAR = 4000,
  Period_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::min(),
  Period_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::max()
};
bool Period_IsValid(int value);
constexpr Period Period_MIN = UNKNOWN_PERIOD;
constexpr Period Period_MAX = YEAR;
constexpr int Period_ARRAYSIZE = Period_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Period_descriptor();
template<typename T>
inline const std::string& Period_Name(T enum_t_value) {
  static_assert(::std::is_same<T, Period>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function Period_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    Period_descriptor(), enum_t_value);
}
inline bool Period_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Period* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Period>(
    Period_descriptor(), name, value);
}
enum SubType : int {
  UNKNOWN_TYPE = 0,
  QUOTE = 1,
  DEPTH = 2,
  BROKERS = 3,
  TRADE = 4,
  SubType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::min(),
  SubType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::max()
};
bool SubType_IsValid(int value);
constexpr SubType SubType_MIN = UNKNOWN_TYPE;
constexpr SubType SubType_MAX = TRADE;
constexpr int SubType_ARRAYSIZE = SubType_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SubType_descriptor();
template<typename T>
inline const std::string& SubType_Name(T enum_t_value) {
  static_assert(::std::is_same<T, SubType>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function SubType_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    SubType_descriptor(), enum_t_value);
}
inline bool SubType_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SubType* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<SubType>(
    SubType_descriptor(), name, value);
}
// ===================================================================

class SecurityRequest final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.SecurityRequest) */ {
 public:
  inline SecurityRequest() : SecurityRequest(nullptr) {}
  ~SecurityRequest() override;
  explicit constexpr SecurityRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  SecurityRequest(const SecurityRequest& from);
  SecurityRequest(SecurityRequest&& from) noexcept
    : SecurityRequest() {
    *this = ::std::move(from);
  }

  inline SecurityRequest& operator=(const SecurityRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline SecurityRequest& operator=(SecurityRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SecurityRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const SecurityRequest* internal_default_instance() {
    return reinterpret_cast<const SecurityRequest*>(
               &_SecurityRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(SecurityRequest& a, SecurityRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(SecurityRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SecurityRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SecurityRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SecurityRequest>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const SecurityRequest& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const SecurityRequest& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SecurityRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.SecurityRequest";
  }
  protected:
  explicit SecurityRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSymbolFieldNumber = 1,
  };
  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.SecurityRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class MultiSecurityRequest final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.MultiSecurityRequest) */ {
 public:
  inline MultiSecurityRequest() : MultiSecurityRequest(nullptr) {}
  ~MultiSecurityRequest() override;
  explicit constexpr MultiSecurityRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  MultiSecurityRequest(const MultiSecurityRequest& from);
  MultiSecurityRequest(MultiSecurityRequest&& from) noexcept
    : MultiSecurityRequest() {
    *this = ::std::move(from);
  }

  inline MultiSecurityRequest& operator=(const MultiSecurityRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline MultiSecurityRequest& operator=(MultiSecurityRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const MultiSecurityRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const MultiSecurityRequest* internal_default_instance() {
    return reinterpret_cast<const MultiSecurityRequest*>(
               &_MultiSecurityRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(MultiSecurityRequest& a, MultiSecurityRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(MultiSecurityRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MultiSecurityRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  MultiSecurityRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<MultiSecurityRequest>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const MultiSecurityRequest& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const MultiSecurityRequest& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MultiSecurityRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.MultiSecurityRequest";
  }
  protected:
  explicit MultiSecurityRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSymbolFieldNumber = 1,
  };
  // repeated string symbol = 1 [json_name = "symbol"];
  int symbol_size() const;
  private:
  int _internal_symbol_size() const;
  public:
  void clear_symbol();
  const std::string& symbol(int index) const;
  std::string* mutable_symbol(int index);
  void set_symbol(int index, const std::string& value);
  void set_symbol(int index, std::string&& value);
  void set_symbol(int index, const char* value);
  void set_symbol(int index, const char* value, size_t size);
  std::string* add_symbol();
  void add_symbol(const std::string& value);
  void add_symbol(std::string&& value);
  void add_symbol(const char* value);
  void add_symbol(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& symbol() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_symbol();
  private:
  const std::string& _internal_symbol(int index) const;
  std::string* _internal_add_symbol();
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.MultiSecurityRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> symbol_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class SecurityStaticInfoResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.SecurityStaticInfoResponse) */ {
 public:
  inline SecurityStaticInfoResponse() : SecurityStaticInfoResponse(nullptr) {}
  ~SecurityStaticInfoResponse() override;
  explicit constexpr SecurityStaticInfoResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  SecurityStaticInfoResponse(const SecurityStaticInfoResponse& from);
  SecurityStaticInfoResponse(SecurityStaticInfoResponse&& from) noexcept
    : SecurityStaticInfoResponse() {
    *this = ::std::move(from);
  }

  inline SecurityStaticInfoResponse& operator=(const SecurityStaticInfoResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline SecurityStaticInfoResponse& operator=(SecurityStaticInfoResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SecurityStaticInfoResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const SecurityStaticInfoResponse* internal_default_instance() {
    return reinterpret_cast<const SecurityStaticInfoResponse*>(
               &_SecurityStaticInfoResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(SecurityStaticInfoResponse& a, SecurityStaticInfoResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(SecurityStaticInfoResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SecurityStaticInfoResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SecurityStaticInfoResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SecurityStaticInfoResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const SecurityStaticInfoResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const SecurityStaticInfoResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SecurityStaticInfoResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.SecurityStaticInfoResponse";
  }
  protected:
  explicit SecurityStaticInfoResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSecuStaticInfoFieldNumber = 1,
  };
  // repeated .longbridgeapp.quote.v1.StaticInfo secu_static_info = 1 [json_name = "secuStaticInfo"];
  int secu_static_info_size() const;
  private:
  int _internal_secu_static_info_size() const;
  public:
  void clear_secu_static_info();
  ::longbridgeapp::quote::v1::StaticInfo* mutable_secu_static_info(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::StaticInfo >*
      mutable_secu_static_info();
  private:
  const ::longbridgeapp::quote::v1::StaticInfo& _internal_secu_static_info(int index) const;
  ::longbridgeapp::quote::v1::StaticInfo* _internal_add_secu_static_info();
  public:
  const ::longbridgeapp::quote::v1::StaticInfo& secu_static_info(int index) const;
  ::longbridgeapp::quote::v1::StaticInfo* add_secu_static_info();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::StaticInfo >&
      secu_static_info() const;

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.SecurityStaticInfoResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::StaticInfo > secu_static_info_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class StaticInfo final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.StaticInfo) */ {
 public:
  inline StaticInfo() : StaticInfo(nullptr) {}
  ~StaticInfo() override;
  explicit constexpr StaticInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  StaticInfo(const StaticInfo& from);
  StaticInfo(StaticInfo&& from) noexcept
    : StaticInfo() {
    *this = ::std::move(from);
  }

  inline StaticInfo& operator=(const StaticInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline StaticInfo& operator=(StaticInfo&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const StaticInfo& default_instance() {
    return *internal_default_instance();
  }
  static inline const StaticInfo* internal_default_instance() {
    return reinterpret_cast<const StaticInfo*>(
               &_StaticInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(StaticInfo& a, StaticInfo& b) {
    a.Swap(&b);
  }
  inline void Swap(StaticInfo* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(StaticInfo* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  StaticInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<StaticInfo>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const StaticInfo& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const StaticInfo& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(StaticInfo* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.StaticInfo";
  }
  protected:
  explicit StaticInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kStockDerivativesFieldNumber = 16,
    kSymbolFieldNumber = 1,
    kNameCnFieldNumber = 2,
    kNameEnFieldNumber = 3,
    kNameHkFieldNumber = 4,
    kListingDateFieldNumber = 5,
    kExchangeFieldNumber = 6,
    kCurrencyFieldNumber = 7,
    kEpsFieldNumber = 12,
    kEpsTtmFieldNumber = 13,
    kBpsFieldNumber = 14,
    kDividendYieldFieldNumber = 15,
    kTotalSharesFieldNumber = 9,
    kCirculatingSharesFieldNumber = 10,
    kHkSharesFieldNumber = 11,
    kLotSizeFieldNumber = 8,
  };
  // repeated int32 stock_derivatives = 16 [json_name = "stockDerivatives"];
  int stock_derivatives_size() const;
  private:
  int _internal_stock_derivatives_size() const;
  public:
  void clear_stock_derivatives();
  private:
  int32_t _internal_stock_derivatives(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      _internal_stock_derivatives() const;
  void _internal_add_stock_derivatives(int32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      _internal_mutable_stock_derivatives();
  public:
  int32_t stock_derivatives(int index) const;
  void set_stock_derivatives(int index, int32_t value);
  void add_stock_derivatives(int32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      stock_derivatives() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      mutable_stock_derivatives();

  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // string name_cn = 2 [json_name = "nameCn"];
  void clear_name_cn();
  const std::string& name_cn() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name_cn(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name_cn();
  PROTOBUF_NODISCARD std::string* release_name_cn();
  void set_allocated_name_cn(std::string* name_cn);
  private:
  const std::string& _internal_name_cn() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name_cn(const std::string& value);
  std::string* _internal_mutable_name_cn();
  public:

  // string name_en = 3 [json_name = "nameEn"];
  void clear_name_en();
  const std::string& name_en() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name_en(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name_en();
  PROTOBUF_NODISCARD std::string* release_name_en();
  void set_allocated_name_en(std::string* name_en);
  private:
  const std::string& _internal_name_en() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name_en(const std::string& value);
  std::string* _internal_mutable_name_en();
  public:

  // string name_hk = 4 [json_name = "nameHk"];
  void clear_name_hk();
  const std::string& name_hk() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name_hk(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name_hk();
  PROTOBUF_NODISCARD std::string* release_name_hk();
  void set_allocated_name_hk(std::string* name_hk);
  private:
  const std::string& _internal_name_hk() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name_hk(const std::string& value);
  std::string* _internal_mutable_name_hk();
  public:

  // string listing_date = 5 [json_name = "listingDate"];
  void clear_listing_date();
  const std::string& listing_date() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_listing_date(ArgT0&& arg0, ArgT... args);
  std::string* mutable_listing_date();
  PROTOBUF_NODISCARD std::string* release_listing_date();
  void set_allocated_listing_date(std::string* listing_date);
  private:
  const std::string& _internal_listing_date() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_listing_date(const std::string& value);
  std::string* _internal_mutable_listing_date();
  public:

  // string exchange = 6 [json_name = "exchange"];
  void clear_exchange();
  const std::string& exchange() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_exchange(ArgT0&& arg0, ArgT... args);
  std::string* mutable_exchange();
  PROTOBUF_NODISCARD std::string* release_exchange();
  void set_allocated_exchange(std::string* exchange);
  private:
  const std::string& _internal_exchange() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_exchange(const std::string& value);
  std::string* _internal_mutable_exchange();
  public:

  // string currency = 7 [json_name = "currency"];
  void clear_currency();
  const std::string& currency() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_currency(ArgT0&& arg0, ArgT... args);
  std::string* mutable_currency();
  PROTOBUF_NODISCARD std::string* release_currency();
  void set_allocated_currency(std::string* currency);
  private:
  const std::string& _internal_currency() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_currency(const std::string& value);
  std::string* _internal_mutable_currency();
  public:

  // string eps = 12 [json_name = "eps"];
  void clear_eps();
  const std::string& eps() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_eps(ArgT0&& arg0, ArgT... args);
  std::string* mutable_eps();
  PROTOBUF_NODISCARD std::string* release_eps();
  void set_allocated_eps(std::string* eps);
  private:
  const std::string& _internal_eps() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_eps(const std::string& value);
  std::string* _internal_mutable_eps();
  public:

  // string eps_ttm = 13 [json_name = "epsTtm"];
  void clear_eps_ttm();
  const std::string& eps_ttm() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_eps_ttm(ArgT0&& arg0, ArgT... args);
  std::string* mutable_eps_ttm();
  PROTOBUF_NODISCARD std::string* release_eps_ttm();
  void set_allocated_eps_ttm(std::string* eps_ttm);
  private:
  const std::string& _internal_eps_ttm() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_eps_ttm(const std::string& value);
  std::string* _internal_mutable_eps_ttm();
  public:

  // string bps = 14 [json_name = "bps"];
  void clear_bps();
  const std::string& bps() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_bps(ArgT0&& arg0, ArgT... args);
  std::string* mutable_bps();
  PROTOBUF_NODISCARD std::string* release_bps();
  void set_allocated_bps(std::string* bps);
  private:
  const std::string& _internal_bps() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_bps(const std::string& value);
  std::string* _internal_mutable_bps();
  public:

  // string dividend_yield = 15 [json_name = "dividendYield"];
  void clear_dividend_yield();
  const std::string& dividend_yield() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_dividend_yield(ArgT0&& arg0, ArgT... args);
  std::string* mutable_dividend_yield();
  PROTOBUF_NODISCARD std::string* release_dividend_yield();
  void set_allocated_dividend_yield(std::string* dividend_yield);
  private:
  const std::string& _internal_dividend_yield() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_dividend_yield(const std::string& value);
  std::string* _internal_mutable_dividend_yield();
  public:

  // int64 total_shares = 9 [json_name = "totalShares"];
  void clear_total_shares();
  int64_t total_shares() const;
  void set_total_shares(int64_t value);
  private:
  int64_t _internal_total_shares() const;
  void _internal_set_total_shares(int64_t value);
  public:

  // int64 circulating_shares = 10 [json_name = "circulatingShares"];
  void clear_circulating_shares();
  int64_t circulating_shares() const;
  void set_circulating_shares(int64_t value);
  private:
  int64_t _internal_circulating_shares() const;
  void _internal_set_circulating_shares(int64_t value);
  public:

  // int64 hk_shares = 11 [json_name = "hkShares"];
  void clear_hk_shares();
  int64_t hk_shares() const;
  void set_hk_shares(int64_t value);
  private:
  int64_t _internal_hk_shares() const;
  void _internal_set_hk_shares(int64_t value);
  public:

  // int32 lot_size = 8 [json_name = "lotSize"];
  void clear_lot_size();
  int32_t lot_size() const;
  void set_lot_size(int32_t value);
  private:
  int32_t _internal_lot_size() const;
  void _internal_set_lot_size(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.StaticInfo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > stock_derivatives_;
  mutable std::atomic<int> _stock_derivatives_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_cn_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_en_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_hk_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr listing_date_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr exchange_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr currency_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr eps_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr eps_ttm_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr bps_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr dividend_yield_;
  int64_t total_shares_;
  int64_t circulating_shares_;
  int64_t hk_shares_;
  int32_t lot_size_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class SecurityQuoteResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.SecurityQuoteResponse) */ {
 public:
  inline SecurityQuoteResponse() : SecurityQuoteResponse(nullptr) {}
  ~SecurityQuoteResponse() override;
  explicit constexpr SecurityQuoteResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  SecurityQuoteResponse(const SecurityQuoteResponse& from);
  SecurityQuoteResponse(SecurityQuoteResponse&& from) noexcept
    : SecurityQuoteResponse() {
    *this = ::std::move(from);
  }

  inline SecurityQuoteResponse& operator=(const SecurityQuoteResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline SecurityQuoteResponse& operator=(SecurityQuoteResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SecurityQuoteResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const SecurityQuoteResponse* internal_default_instance() {
    return reinterpret_cast<const SecurityQuoteResponse*>(
               &_SecurityQuoteResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(SecurityQuoteResponse& a, SecurityQuoteResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(SecurityQuoteResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SecurityQuoteResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SecurityQuoteResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SecurityQuoteResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const SecurityQuoteResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const SecurityQuoteResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SecurityQuoteResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.SecurityQuoteResponse";
  }
  protected:
  explicit SecurityQuoteResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSecuQuoteFieldNumber = 1,
  };
  // repeated .longbridgeapp.quote.v1.SecurityQuote secu_quote = 1 [json_name = "secuQuote"];
  int secu_quote_size() const;
  private:
  int _internal_secu_quote_size() const;
  public:
  void clear_secu_quote();
  ::longbridgeapp::quote::v1::SecurityQuote* mutable_secu_quote(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::SecurityQuote >*
      mutable_secu_quote();
  private:
  const ::longbridgeapp::quote::v1::SecurityQuote& _internal_secu_quote(int index) const;
  ::longbridgeapp::quote::v1::SecurityQuote* _internal_add_secu_quote();
  public:
  const ::longbridgeapp::quote::v1::SecurityQuote& secu_quote(int index) const;
  ::longbridgeapp::quote::v1::SecurityQuote* add_secu_quote();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::SecurityQuote >&
      secu_quote() const;

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.SecurityQuoteResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::SecurityQuote > secu_quote_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class SecurityQuote final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.SecurityQuote) */ {
 public:
  inline SecurityQuote() : SecurityQuote(nullptr) {}
  ~SecurityQuote() override;
  explicit constexpr SecurityQuote(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  SecurityQuote(const SecurityQuote& from);
  SecurityQuote(SecurityQuote&& from) noexcept
    : SecurityQuote() {
    *this = ::std::move(from);
  }

  inline SecurityQuote& operator=(const SecurityQuote& from) {
    CopyFrom(from);
    return *this;
  }
  inline SecurityQuote& operator=(SecurityQuote&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SecurityQuote& default_instance() {
    return *internal_default_instance();
  }
  static inline const SecurityQuote* internal_default_instance() {
    return reinterpret_cast<const SecurityQuote*>(
               &_SecurityQuote_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(SecurityQuote& a, SecurityQuote& b) {
    a.Swap(&b);
  }
  inline void Swap(SecurityQuote* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SecurityQuote* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SecurityQuote* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SecurityQuote>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const SecurityQuote& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const SecurityQuote& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SecurityQuote* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.SecurityQuote";
  }
  protected:
  explicit SecurityQuote(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSymbolFieldNumber = 1,
    kLastDoneFieldNumber = 2,
    kPrevCloseFieldNumber = 3,
    kOpenFieldNumber = 4,
    kHighFieldNumber = 5,
    kLowFieldNumber = 6,
    kTurnoverFieldNumber = 9,
    kPreMarketQuoteFieldNumber = 11,
    kPostMarketQuoteFieldNumber = 12,
    kTimestampFieldNumber = 7,
    kVolumeFieldNumber = 8,
    kTradeStatusFieldNumber = 10,
  };
  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // string last_done = 2 [json_name = "lastDone"];
  void clear_last_done();
  const std::string& last_done() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_last_done(ArgT0&& arg0, ArgT... args);
  std::string* mutable_last_done();
  PROTOBUF_NODISCARD std::string* release_last_done();
  void set_allocated_last_done(std::string* last_done);
  private:
  const std::string& _internal_last_done() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_last_done(const std::string& value);
  std::string* _internal_mutable_last_done();
  public:

  // string prev_close = 3 [json_name = "prevClose"];
  void clear_prev_close();
  const std::string& prev_close() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_prev_close(ArgT0&& arg0, ArgT... args);
  std::string* mutable_prev_close();
  PROTOBUF_NODISCARD std::string* release_prev_close();
  void set_allocated_prev_close(std::string* prev_close);
  private:
  const std::string& _internal_prev_close() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_prev_close(const std::string& value);
  std::string* _internal_mutable_prev_close();
  public:

  // string open = 4 [json_name = "open"];
  void clear_open();
  const std::string& open() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_open(ArgT0&& arg0, ArgT... args);
  std::string* mutable_open();
  PROTOBUF_NODISCARD std::string* release_open();
  void set_allocated_open(std::string* open);
  private:
  const std::string& _internal_open() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_open(const std::string& value);
  std::string* _internal_mutable_open();
  public:

  // string high = 5 [json_name = "high"];
  void clear_high();
  const std::string& high() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_high(ArgT0&& arg0, ArgT... args);
  std::string* mutable_high();
  PROTOBUF_NODISCARD std::string* release_high();
  void set_allocated_high(std::string* high);
  private:
  const std::string& _internal_high() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_high(const std::string& value);
  std::string* _internal_mutable_high();
  public:

  // string low = 6 [json_name = "low"];
  void clear_low();
  const std::string& low() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_low(ArgT0&& arg0, ArgT... args);
  std::string* mutable_low();
  PROTOBUF_NODISCARD std::string* release_low();
  void set_allocated_low(std::string* low);
  private:
  const std::string& _internal_low() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_low(const std::string& value);
  std::string* _internal_mutable_low();
  public:

  // string turnover = 9 [json_name = "turnover"];
  void clear_turnover();
  const std::string& turnover() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_turnover(ArgT0&& arg0, ArgT... args);
  std::string* mutable_turnover();
  PROTOBUF_NODISCARD std::string* release_turnover();
  void set_allocated_turnover(std::string* turnover);
  private:
  const std::string& _internal_turnover() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_turnover(const std::string& value);
  std::string* _internal_mutable_turnover();
  public:

  // .longbridgeapp.quote.v1.PrePostQuote pre_market_quote = 11 [json_name = "preMarketQuote"];
  bool has_pre_market_quote() const;
  private:
  bool _internal_has_pre_market_quote() const;
  public:
  void clear_pre_market_quote();
  const ::longbridgeapp::quote::v1::PrePostQuote& pre_market_quote() const;
  PROTOBUF_NODISCARD ::longbridgeapp::quote::v1::PrePostQuote* release_pre_market_quote();
  ::longbridgeapp::quote::v1::PrePostQuote* mutable_pre_market_quote();
  void set_allocated_pre_market_quote(::longbridgeapp::quote::v1::PrePostQuote* pre_market_quote);
  private:
  const ::longbridgeapp::quote::v1::PrePostQuote& _internal_pre_market_quote() const;
  ::longbridgeapp::quote::v1::PrePostQuote* _internal_mutable_pre_market_quote();
  public:
  void unsafe_arena_set_allocated_pre_market_quote(
      ::longbridgeapp::quote::v1::PrePostQuote* pre_market_quote);
  ::longbridgeapp::quote::v1::PrePostQuote* unsafe_arena_release_pre_market_quote();

  // .longbridgeapp.quote.v1.PrePostQuote post_market_quote = 12 [json_name = "postMarketQuote"];
  bool has_post_market_quote() const;
  private:
  bool _internal_has_post_market_quote() const;
  public:
  void clear_post_market_quote();
  const ::longbridgeapp::quote::v1::PrePostQuote& post_market_quote() const;
  PROTOBUF_NODISCARD ::longbridgeapp::quote::v1::PrePostQuote* release_post_market_quote();
  ::longbridgeapp::quote::v1::PrePostQuote* mutable_post_market_quote();
  void set_allocated_post_market_quote(::longbridgeapp::quote::v1::PrePostQuote* post_market_quote);
  private:
  const ::longbridgeapp::quote::v1::PrePostQuote& _internal_post_market_quote() const;
  ::longbridgeapp::quote::v1::PrePostQuote* _internal_mutable_post_market_quote();
  public:
  void unsafe_arena_set_allocated_post_market_quote(
      ::longbridgeapp::quote::v1::PrePostQuote* post_market_quote);
  ::longbridgeapp::quote::v1::PrePostQuote* unsafe_arena_release_post_market_quote();

  // int64 timestamp = 7 [json_name = "timestamp"];
  void clear_timestamp();
  int64_t timestamp() const;
  void set_timestamp(int64_t value);
  private:
  int64_t _internal_timestamp() const;
  void _internal_set_timestamp(int64_t value);
  public:

  // int64 volume = 8 [json_name = "volume"];
  void clear_volume();
  int64_t volume() const;
  void set_volume(int64_t value);
  private:
  int64_t _internal_volume() const;
  void _internal_set_volume(int64_t value);
  public:

  // .longbridgeapp.quote.v1.TradeStatus trade_status = 10 [json_name = "tradeStatus"];
  void clear_trade_status();
  ::longbridgeapp::quote::v1::TradeStatus trade_status() const;
  void set_trade_status(::longbridgeapp::quote::v1::TradeStatus value);
  private:
  ::longbridgeapp::quote::v1::TradeStatus _internal_trade_status() const;
  void _internal_set_trade_status(::longbridgeapp::quote::v1::TradeStatus value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.SecurityQuote)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr last_done_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr prev_close_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr open_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr high_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr low_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr turnover_;
  ::longbridgeapp::quote::v1::PrePostQuote* pre_market_quote_;
  ::longbridgeapp::quote::v1::PrePostQuote* post_market_quote_;
  int64_t timestamp_;
  int64_t volume_;
  int trade_status_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class PrePostQuote final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.PrePostQuote) */ {
 public:
  inline PrePostQuote() : PrePostQuote(nullptr) {}
  ~PrePostQuote() override;
  explicit constexpr PrePostQuote(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PrePostQuote(const PrePostQuote& from);
  PrePostQuote(PrePostQuote&& from) noexcept
    : PrePostQuote() {
    *this = ::std::move(from);
  }

  inline PrePostQuote& operator=(const PrePostQuote& from) {
    CopyFrom(from);
    return *this;
  }
  inline PrePostQuote& operator=(PrePostQuote&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const PrePostQuote& default_instance() {
    return *internal_default_instance();
  }
  static inline const PrePostQuote* internal_default_instance() {
    return reinterpret_cast<const PrePostQuote*>(
               &_PrePostQuote_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  friend void swap(PrePostQuote& a, PrePostQuote& b) {
    a.Swap(&b);
  }
  inline void Swap(PrePostQuote* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PrePostQuote* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PrePostQuote* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PrePostQuote>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const PrePostQuote& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const PrePostQuote& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(PrePostQuote* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.PrePostQuote";
  }
  protected:
  explicit PrePostQuote(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kLastDoneFieldNumber = 1,
    kTurnoverFieldNumber = 4,
    kHighFieldNumber = 5,
    kLowFieldNumber = 6,
    kPrevCloseFieldNumber = 7,
    kTimestampFieldNumber = 2,
    kVolumeFieldNumber = 3,
  };
  // string last_done = 1 [json_name = "lastDone"];
  void clear_last_done();
  const std::string& last_done() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_last_done(ArgT0&& arg0, ArgT... args);
  std::string* mutable_last_done();
  PROTOBUF_NODISCARD std::string* release_last_done();
  void set_allocated_last_done(std::string* last_done);
  private:
  const std::string& _internal_last_done() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_last_done(const std::string& value);
  std::string* _internal_mutable_last_done();
  public:

  // string turnover = 4 [json_name = "turnover"];
  void clear_turnover();
  const std::string& turnover() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_turnover(ArgT0&& arg0, ArgT... args);
  std::string* mutable_turnover();
  PROTOBUF_NODISCARD std::string* release_turnover();
  void set_allocated_turnover(std::string* turnover);
  private:
  const std::string& _internal_turnover() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_turnover(const std::string& value);
  std::string* _internal_mutable_turnover();
  public:

  // string high = 5 [json_name = "high"];
  void clear_high();
  const std::string& high() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_high(ArgT0&& arg0, ArgT... args);
  std::string* mutable_high();
  PROTOBUF_NODISCARD std::string* release_high();
  void set_allocated_high(std::string* high);
  private:
  const std::string& _internal_high() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_high(const std::string& value);
  std::string* _internal_mutable_high();
  public:

  // string low = 6 [json_name = "low"];
  void clear_low();
  const std::string& low() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_low(ArgT0&& arg0, ArgT... args);
  std::string* mutable_low();
  PROTOBUF_NODISCARD std::string* release_low();
  void set_allocated_low(std::string* low);
  private:
  const std::string& _internal_low() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_low(const std::string& value);
  std::string* _internal_mutable_low();
  public:

  // string prev_close = 7 [json_name = "prevClose"];
  void clear_prev_close();
  const std::string& prev_close() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_prev_close(ArgT0&& arg0, ArgT... args);
  std::string* mutable_prev_close();
  PROTOBUF_NODISCARD std::string* release_prev_close();
  void set_allocated_prev_close(std::string* prev_close);
  private:
  const std::string& _internal_prev_close() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_prev_close(const std::string& value);
  std::string* _internal_mutable_prev_close();
  public:

  // int64 timestamp = 2 [json_name = "timestamp"];
  void clear_timestamp();
  int64_t timestamp() const;
  void set_timestamp(int64_t value);
  private:
  int64_t _internal_timestamp() const;
  void _internal_set_timestamp(int64_t value);
  public:

  // int64 volume = 3 [json_name = "volume"];
  void clear_volume();
  int64_t volume() const;
  void set_volume(int64_t value);
  private:
  int64_t _internal_volume() const;
  void _internal_set_volume(int64_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.PrePostQuote)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr last_done_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr turnover_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr high_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr low_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr prev_close_;
  int64_t timestamp_;
  int64_t volume_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class OptionQuoteResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.OptionQuoteResponse) */ {
 public:
  inline OptionQuoteResponse() : OptionQuoteResponse(nullptr) {}
  ~OptionQuoteResponse() override;
  explicit constexpr OptionQuoteResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  OptionQuoteResponse(const OptionQuoteResponse& from);
  OptionQuoteResponse(OptionQuoteResponse&& from) noexcept
    : OptionQuoteResponse() {
    *this = ::std::move(from);
  }

  inline OptionQuoteResponse& operator=(const OptionQuoteResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline OptionQuoteResponse& operator=(OptionQuoteResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const OptionQuoteResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const OptionQuoteResponse* internal_default_instance() {
    return reinterpret_cast<const OptionQuoteResponse*>(
               &_OptionQuoteResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    7;

  friend void swap(OptionQuoteResponse& a, OptionQuoteResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(OptionQuoteResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(OptionQuoteResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  OptionQuoteResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<OptionQuoteResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const OptionQuoteResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const OptionQuoteResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(OptionQuoteResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.OptionQuoteResponse";
  }
  protected:
  explicit OptionQuoteResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSecuQuoteFieldNumber = 1,
  };
  // repeated .longbridgeapp.quote.v1.OptionQuote secu_quote = 1 [json_name = "secuQuote"];
  int secu_quote_size() const;
  private:
  int _internal_secu_quote_size() const;
  public:
  void clear_secu_quote();
  ::longbridgeapp::quote::v1::OptionQuote* mutable_secu_quote(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::OptionQuote >*
      mutable_secu_quote();
  private:
  const ::longbridgeapp::quote::v1::OptionQuote& _internal_secu_quote(int index) const;
  ::longbridgeapp::quote::v1::OptionQuote* _internal_add_secu_quote();
  public:
  const ::longbridgeapp::quote::v1::OptionQuote& secu_quote(int index) const;
  ::longbridgeapp::quote::v1::OptionQuote* add_secu_quote();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::OptionQuote >&
      secu_quote() const;

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.OptionQuoteResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::OptionQuote > secu_quote_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class OptionQuote final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.OptionQuote) */ {
 public:
  inline OptionQuote() : OptionQuote(nullptr) {}
  ~OptionQuote() override;
  explicit constexpr OptionQuote(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  OptionQuote(const OptionQuote& from);
  OptionQuote(OptionQuote&& from) noexcept
    : OptionQuote() {
    *this = ::std::move(from);
  }

  inline OptionQuote& operator=(const OptionQuote& from) {
    CopyFrom(from);
    return *this;
  }
  inline OptionQuote& operator=(OptionQuote&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const OptionQuote& default_instance() {
    return *internal_default_instance();
  }
  static inline const OptionQuote* internal_default_instance() {
    return reinterpret_cast<const OptionQuote*>(
               &_OptionQuote_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    8;

  friend void swap(OptionQuote& a, OptionQuote& b) {
    a.Swap(&b);
  }
  inline void Swap(OptionQuote* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(OptionQuote* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  OptionQuote* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<OptionQuote>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const OptionQuote& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const OptionQuote& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(OptionQuote* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.OptionQuote";
  }
  protected:
  explicit OptionQuote(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSymbolFieldNumber = 1,
    kLastDoneFieldNumber = 2,
    kPrevCloseFieldNumber = 3,
    kOpenFieldNumber = 4,
    kHighFieldNumber = 5,
    kLowFieldNumber = 6,
    kTurnoverFieldNumber = 9,
    kOptionExtendFieldNumber = 11,
    kTimestampFieldNumber = 7,
    kVolumeFieldNumber = 8,
    kTradeStatusFieldNumber = 10,
  };
  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // string last_done = 2 [json_name = "lastDone"];
  void clear_last_done();
  const std::string& last_done() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_last_done(ArgT0&& arg0, ArgT... args);
  std::string* mutable_last_done();
  PROTOBUF_NODISCARD std::string* release_last_done();
  void set_allocated_last_done(std::string* last_done);
  private:
  const std::string& _internal_last_done() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_last_done(const std::string& value);
  std::string* _internal_mutable_last_done();
  public:

  // string prev_close = 3 [json_name = "prevClose"];
  void clear_prev_close();
  const std::string& prev_close() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_prev_close(ArgT0&& arg0, ArgT... args);
  std::string* mutable_prev_close();
  PROTOBUF_NODISCARD std::string* release_prev_close();
  void set_allocated_prev_close(std::string* prev_close);
  private:
  const std::string& _internal_prev_close() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_prev_close(const std::string& value);
  std::string* _internal_mutable_prev_close();
  public:

  // string open = 4 [json_name = "open"];
  void clear_open();
  const std::string& open() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_open(ArgT0&& arg0, ArgT... args);
  std::string* mutable_open();
  PROTOBUF_NODISCARD std::string* release_open();
  void set_allocated_open(std::string* open);
  private:
  const std::string& _internal_open() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_open(const std::string& value);
  std::string* _internal_mutable_open();
  public:

  // string high = 5 [json_name = "high"];
  void clear_high();
  const std::string& high() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_high(ArgT0&& arg0, ArgT... args);
  std::string* mutable_high();
  PROTOBUF_NODISCARD std::string* release_high();
  void set_allocated_high(std::string* high);
  private:
  const std::string& _internal_high() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_high(const std::string& value);
  std::string* _internal_mutable_high();
  public:

  // string low = 6 [json_name = "low"];
  void clear_low();
  const std::string& low() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_low(ArgT0&& arg0, ArgT... args);
  std::string* mutable_low();
  PROTOBUF_NODISCARD std::string* release_low();
  void set_allocated_low(std::string* low);
  private:
  const std::string& _internal_low() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_low(const std::string& value);
  std::string* _internal_mutable_low();
  public:

  // string turnover = 9 [json_name = "turnover"];
  void clear_turnover();
  const std::string& turnover() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_turnover(ArgT0&& arg0, ArgT... args);
  std::string* mutable_turnover();
  PROTOBUF_NODISCARD std::string* release_turnover();
  void set_allocated_turnover(std::string* turnover);
  private:
  const std::string& _internal_turnover() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_turnover(const std::string& value);
  std::string* _internal_mutable_turnover();
  public:

  // .longbridgeapp.quote.v1.OptionExtend option_extend = 11 [json_name = "optionExtend"];
  bool has_option_extend() const;
  private:
  bool _internal_has_option_extend() const;
  public:
  void clear_option_extend();
  const ::longbridgeapp::quote::v1::OptionExtend& option_extend() const;
  PROTOBUF_NODISCARD ::longbridgeapp::quote::v1::OptionExtend* release_option_extend();
  ::longbridgeapp::quote::v1::OptionExtend* mutable_option_extend();
  void set_allocated_option_extend(::longbridgeapp::quote::v1::OptionExtend* option_extend);
  private:
  const ::longbridgeapp::quote::v1::OptionExtend& _internal_option_extend() const;
  ::longbridgeapp::quote::v1::OptionExtend* _internal_mutable_option_extend();
  public:
  void unsafe_arena_set_allocated_option_extend(
      ::longbridgeapp::quote::v1::OptionExtend* option_extend);
  ::longbridgeapp::quote::v1::OptionExtend* unsafe_arena_release_option_extend();

  // int64 timestamp = 7 [json_name = "timestamp"];
  void clear_timestamp();
  int64_t timestamp() const;
  void set_timestamp(int64_t value);
  private:
  int64_t _internal_timestamp() const;
  void _internal_set_timestamp(int64_t value);
  public:

  // int64 volume = 8 [json_name = "volume"];
  void clear_volume();
  int64_t volume() const;
  void set_volume(int64_t value);
  private:
  int64_t _internal_volume() const;
  void _internal_set_volume(int64_t value);
  public:

  // .longbridgeapp.quote.v1.TradeStatus trade_status = 10 [json_name = "tradeStatus"];
  void clear_trade_status();
  ::longbridgeapp::quote::v1::TradeStatus trade_status() const;
  void set_trade_status(::longbridgeapp::quote::v1::TradeStatus value);
  private:
  ::longbridgeapp::quote::v1::TradeStatus _internal_trade_status() const;
  void _internal_set_trade_status(::longbridgeapp::quote::v1::TradeStatus value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.OptionQuote)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr last_done_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr prev_close_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr open_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr high_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr low_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr turnover_;
  ::longbridgeapp::quote::v1::OptionExtend* option_extend_;
  int64_t timestamp_;
  int64_t volume_;
  int trade_status_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class OptionExtend final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.OptionExtend) */ {
 public:
  inline OptionExtend() : OptionExtend(nullptr) {}
  ~OptionExtend() override;
  explicit constexpr OptionExtend(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  OptionExtend(const OptionExtend& from);
  OptionExtend(OptionExtend&& from) noexcept
    : OptionExtend() {
    *this = ::std::move(from);
  }

  inline OptionExtend& operator=(const OptionExtend& from) {
    CopyFrom(from);
    return *this;
  }
  inline OptionExtend& operator=(OptionExtend&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const OptionExtend& default_instance() {
    return *internal_default_instance();
  }
  static inline const OptionExtend* internal_default_instance() {
    return reinterpret_cast<const OptionExtend*>(
               &_OptionExtend_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    9;

  friend void swap(OptionExtend& a, OptionExtend& b) {
    a.Swap(&b);
  }
  inline void Swap(OptionExtend* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(OptionExtend* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  OptionExtend* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<OptionExtend>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const OptionExtend& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const OptionExtend& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(OptionExtend* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.OptionExtend";
  }
  protected:
  explicit OptionExtend(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kImpliedVolatilityFieldNumber = 1,
    kExpiryDateFieldNumber = 3,
    kStrikePriceFieldNumber = 4,
    kContractMultiplierFieldNumber = 5,
    kContractTypeFieldNumber = 6,
    kContractSizeFieldNumber = 7,
    kDirectionFieldNumber = 8,
    kHistoricalVolatilityFieldNumber = 9,
    kUnderlyingSymbolFieldNumber = 10,
    kOpenInterestFieldNumber = 2,
  };
  // string implied_volatility = 1 [json_name = "impliedVolatility"];
  void clear_implied_volatility();
  const std::string& implied_volatility() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_implied_volatility(ArgT0&& arg0, ArgT... args);
  std::string* mutable_implied_volatility();
  PROTOBUF_NODISCARD std::string* release_implied_volatility();
  void set_allocated_implied_volatility(std::string* implied_volatility);
  private:
  const std::string& _internal_implied_volatility() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_implied_volatility(const std::string& value);
  std::string* _internal_mutable_implied_volatility();
  public:

  // string expiry_date = 3 [json_name = "expiryDate"];
  void clear_expiry_date();
  const std::string& expiry_date() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_expiry_date(ArgT0&& arg0, ArgT... args);
  std::string* mutable_expiry_date();
  PROTOBUF_NODISCARD std::string* release_expiry_date();
  void set_allocated_expiry_date(std::string* expiry_date);
  private:
  const std::string& _internal_expiry_date() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_expiry_date(const std::string& value);
  std::string* _internal_mutable_expiry_date();
  public:

  // string strike_price = 4 [json_name = "strikePrice"];
  void clear_strike_price();
  const std::string& strike_price() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_strike_price(ArgT0&& arg0, ArgT... args);
  std::string* mutable_strike_price();
  PROTOBUF_NODISCARD std::string* release_strike_price();
  void set_allocated_strike_price(std::string* strike_price);
  private:
  const std::string& _internal_strike_price() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_strike_price(const std::string& value);
  std::string* _internal_mutable_strike_price();
  public:

  // string contract_multiplier = 5 [json_name = "contractMultiplier"];
  void clear_contract_multiplier();
  const std::string& contract_multiplier() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_contract_multiplier(ArgT0&& arg0, ArgT... args);
  std::string* mutable_contract_multiplier();
  PROTOBUF_NODISCARD std::string* release_contract_multiplier();
  void set_allocated_contract_multiplier(std::string* contract_multiplier);
  private:
  const std::string& _internal_contract_multiplier() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_contract_multiplier(const std::string& value);
  std::string* _internal_mutable_contract_multiplier();
  public:

  // string contract_type = 6 [json_name = "contractType"];
  void clear_contract_type();
  const std::string& contract_type() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_contract_type(ArgT0&& arg0, ArgT... args);
  std::string* mutable_contract_type();
  PROTOBUF_NODISCARD std::string* release_contract_type();
  void set_allocated_contract_type(std::string* contract_type);
  private:
  const std::string& _internal_contract_type() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_contract_type(const std::string& value);
  std::string* _internal_mutable_contract_type();
  public:

  // string contract_size = 7 [json_name = "contractSize"];
  void clear_contract_size();
  const std::string& contract_size() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_contract_size(ArgT0&& arg0, ArgT... args);
  std::string* mutable_contract_size();
  PROTOBUF_NODISCARD std::string* release_contract_size();
  void set_allocated_contract_size(std::string* contract_size);
  private:
  const std::string& _internal_contract_size() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_contract_size(const std::string& value);
  std::string* _internal_mutable_contract_size();
  public:

  // string direction = 8 [json_name = "direction"];
  void clear_direction();
  const std::string& direction() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_direction(ArgT0&& arg0, ArgT... args);
  std::string* mutable_direction();
  PROTOBUF_NODISCARD std::string* release_direction();
  void set_allocated_direction(std::string* direction);
  private:
  const std::string& _internal_direction() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_direction(const std::string& value);
  std::string* _internal_mutable_direction();
  public:

  // string historical_volatility = 9 [json_name = "historicalVolatility"];
  void clear_historical_volatility();
  const std::string& historical_volatility() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_historical_volatility(ArgT0&& arg0, ArgT... args);
  std::string* mutable_historical_volatility();
  PROTOBUF_NODISCARD std::string* release_historical_volatility();
  void set_allocated_historical_volatility(std::string* historical_volatility);
  private:
  const std::string& _internal_historical_volatility() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_historical_volatility(const std::string& value);
  std::string* _internal_mutable_historical_volatility();
  public:

  // string underlying_symbol = 10 [json_name = "underlyingSymbol"];
  void clear_underlying_symbol();
  const std::string& underlying_symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_underlying_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_underlying_symbol();
  PROTOBUF_NODISCARD std::string* release_underlying_symbol();
  void set_allocated_underlying_symbol(std::string* underlying_symbol);
  private:
  const std::string& _internal_underlying_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_underlying_symbol(const std::string& value);
  std::string* _internal_mutable_underlying_symbol();
  public:

  // int64 open_interest = 2 [json_name = "openInterest"];
  void clear_open_interest();
  int64_t open_interest() const;
  void set_open_interest(int64_t value);
  private:
  int64_t _internal_open_interest() const;
  void _internal_set_open_interest(int64_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.OptionExtend)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr implied_volatility_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr expiry_date_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr strike_price_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr contract_multiplier_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr contract_type_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr contract_size_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr direction_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr historical_volatility_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr underlying_symbol_;
  int64_t open_interest_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class WarrantQuoteResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.WarrantQuoteResponse) */ {
 public:
  inline WarrantQuoteResponse() : WarrantQuoteResponse(nullptr) {}
  ~WarrantQuoteResponse() override;
  explicit constexpr WarrantQuoteResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  WarrantQuoteResponse(const WarrantQuoteResponse& from);
  WarrantQuoteResponse(WarrantQuoteResponse&& from) noexcept
    : WarrantQuoteResponse() {
    *this = ::std::move(from);
  }

  inline WarrantQuoteResponse& operator=(const WarrantQuoteResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline WarrantQuoteResponse& operator=(WarrantQuoteResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const WarrantQuoteResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const WarrantQuoteResponse* internal_default_instance() {
    return reinterpret_cast<const WarrantQuoteResponse*>(
               &_WarrantQuoteResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    10;

  friend void swap(WarrantQuoteResponse& a, WarrantQuoteResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(WarrantQuoteResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(WarrantQuoteResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  WarrantQuoteResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<WarrantQuoteResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const WarrantQuoteResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const WarrantQuoteResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(WarrantQuoteResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.WarrantQuoteResponse";
  }
  protected:
  explicit WarrantQuoteResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSecuQuoteFieldNumber = 2,
  };
  // repeated .longbridgeapp.quote.v1.WarrantQuote secu_quote = 2 [json_name = "secuQuote"];
  int secu_quote_size() const;
  private:
  int _internal_secu_quote_size() const;
  public:
  void clear_secu_quote();
  ::longbridgeapp::quote::v1::WarrantQuote* mutable_secu_quote(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::WarrantQuote >*
      mutable_secu_quote();
  private:
  const ::longbridgeapp::quote::v1::WarrantQuote& _internal_secu_quote(int index) const;
  ::longbridgeapp::quote::v1::WarrantQuote* _internal_add_secu_quote();
  public:
  const ::longbridgeapp::quote::v1::WarrantQuote& secu_quote(int index) const;
  ::longbridgeapp::quote::v1::WarrantQuote* add_secu_quote();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::WarrantQuote >&
      secu_quote() const;

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.WarrantQuoteResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::WarrantQuote > secu_quote_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class WarrantQuote final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.WarrantQuote) */ {
 public:
  inline WarrantQuote() : WarrantQuote(nullptr) {}
  ~WarrantQuote() override;
  explicit constexpr WarrantQuote(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  WarrantQuote(const WarrantQuote& from);
  WarrantQuote(WarrantQuote&& from) noexcept
    : WarrantQuote() {
    *this = ::std::move(from);
  }

  inline WarrantQuote& operator=(const WarrantQuote& from) {
    CopyFrom(from);
    return *this;
  }
  inline WarrantQuote& operator=(WarrantQuote&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const WarrantQuote& default_instance() {
    return *internal_default_instance();
  }
  static inline const WarrantQuote* internal_default_instance() {
    return reinterpret_cast<const WarrantQuote*>(
               &_WarrantQuote_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    11;

  friend void swap(WarrantQuote& a, WarrantQuote& b) {
    a.Swap(&b);
  }
  inline void Swap(WarrantQuote* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(WarrantQuote* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  WarrantQuote* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<WarrantQuote>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const WarrantQuote& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const WarrantQuote& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(WarrantQuote* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.WarrantQuote";
  }
  protected:
  explicit WarrantQuote(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSymbolFieldNumber = 1,
    kLastDoneFieldNumber = 2,
    kPrevCloseFieldNumber = 3,
    kOpenFieldNumber = 4,
    kHighFieldNumber = 5,
    kLowFieldNumber = 6,
    kTurnoverFieldNumber = 9,
    kWarrantExtendFieldNumber = 11,
    kTimestampFieldNumber = 7,
    kVolumeFieldNumber = 8,
    kTradeStatusFieldNumber = 10,
  };
  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // string last_done = 2 [json_name = "lastDone"];
  void clear_last_done();
  const std::string& last_done() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_last_done(ArgT0&& arg0, ArgT... args);
  std::string* mutable_last_done();
  PROTOBUF_NODISCARD std::string* release_last_done();
  void set_allocated_last_done(std::string* last_done);
  private:
  const std::string& _internal_last_done() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_last_done(const std::string& value);
  std::string* _internal_mutable_last_done();
  public:

  // string prev_close = 3 [json_name = "prevClose"];
  void clear_prev_close();
  const std::string& prev_close() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_prev_close(ArgT0&& arg0, ArgT... args);
  std::string* mutable_prev_close();
  PROTOBUF_NODISCARD std::string* release_prev_close();
  void set_allocated_prev_close(std::string* prev_close);
  private:
  const std::string& _internal_prev_close() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_prev_close(const std::string& value);
  std::string* _internal_mutable_prev_close();
  public:

  // string open = 4 [json_name = "open"];
  void clear_open();
  const std::string& open() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_open(ArgT0&& arg0, ArgT... args);
  std::string* mutable_open();
  PROTOBUF_NODISCARD std::string* release_open();
  void set_allocated_open(std::string* open);
  private:
  const std::string& _internal_open() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_open(const std::string& value);
  std::string* _internal_mutable_open();
  public:

  // string high = 5 [json_name = "high"];
  void clear_high();
  const std::string& high() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_high(ArgT0&& arg0, ArgT... args);
  std::string* mutable_high();
  PROTOBUF_NODISCARD std::string* release_high();
  void set_allocated_high(std::string* high);
  private:
  const std::string& _internal_high() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_high(const std::string& value);
  std::string* _internal_mutable_high();
  public:

  // string low = 6 [json_name = "low"];
  void clear_low();
  const std::string& low() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_low(ArgT0&& arg0, ArgT... args);
  std::string* mutable_low();
  PROTOBUF_NODISCARD std::string* release_low();
  void set_allocated_low(std::string* low);
  private:
  const std::string& _internal_low() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_low(const std::string& value);
  std::string* _internal_mutable_low();
  public:

  // string turnover = 9 [json_name = "turnover"];
  void clear_turnover();
  const std::string& turnover() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_turnover(ArgT0&& arg0, ArgT... args);
  std::string* mutable_turnover();
  PROTOBUF_NODISCARD std::string* release_turnover();
  void set_allocated_turnover(std::string* turnover);
  private:
  const std::string& _internal_turnover() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_turnover(const std::string& value);
  std::string* _internal_mutable_turnover();
  public:

  // .longbridgeapp.quote.v1.WarrantExtend warrant_extend = 11 [json_name = "warrantExtend"];
  bool has_warrant_extend() const;
  private:
  bool _internal_has_warrant_extend() const;
  public:
  void clear_warrant_extend();
  const ::longbridgeapp::quote::v1::WarrantExtend& warrant_extend() const;
  PROTOBUF_NODISCARD ::longbridgeapp::quote::v1::WarrantExtend* release_warrant_extend();
  ::longbridgeapp::quote::v1::WarrantExtend* mutable_warrant_extend();
  void set_allocated_warrant_extend(::longbridgeapp::quote::v1::WarrantExtend* warrant_extend);
  private:
  const ::longbridgeapp::quote::v1::WarrantExtend& _internal_warrant_extend() const;
  ::longbridgeapp::quote::v1::WarrantExtend* _internal_mutable_warrant_extend();
  public:
  void unsafe_arena_set_allocated_warrant_extend(
      ::longbridgeapp::quote::v1::WarrantExtend* warrant_extend);
  ::longbridgeapp::quote::v1::WarrantExtend* unsafe_arena_release_warrant_extend();

  // int64 timestamp = 7 [json_name = "timestamp"];
  void clear_timestamp();
  int64_t timestamp() const;
  void set_timestamp(int64_t value);
  private:
  int64_t _internal_timestamp() const;
  void _internal_set_timestamp(int64_t value);
  public:

  // int64 volume = 8 [json_name = "volume"];
  void clear_volume();
  int64_t volume() const;
  void set_volume(int64_t value);
  private:
  int64_t _internal_volume() const;
  void _internal_set_volume(int64_t value);
  public:

  // .longbridgeapp.quote.v1.TradeStatus trade_status = 10 [json_name = "tradeStatus"];
  void clear_trade_status();
  ::longbridgeapp::quote::v1::TradeStatus trade_status() const;
  void set_trade_status(::longbridgeapp::quote::v1::TradeStatus value);
  private:
  ::longbridgeapp::quote::v1::TradeStatus _internal_trade_status() const;
  void _internal_set_trade_status(::longbridgeapp::quote::v1::TradeStatus value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.WarrantQuote)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr last_done_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr prev_close_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr open_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr high_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr low_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr turnover_;
  ::longbridgeapp::quote::v1::WarrantExtend* warrant_extend_;
  int64_t timestamp_;
  int64_t volume_;
  int trade_status_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class WarrantExtend final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.WarrantExtend) */ {
 public:
  inline WarrantExtend() : WarrantExtend(nullptr) {}
  ~WarrantExtend() override;
  explicit constexpr WarrantExtend(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  WarrantExtend(const WarrantExtend& from);
  WarrantExtend(WarrantExtend&& from) noexcept
    : WarrantExtend() {
    *this = ::std::move(from);
  }

  inline WarrantExtend& operator=(const WarrantExtend& from) {
    CopyFrom(from);
    return *this;
  }
  inline WarrantExtend& operator=(WarrantExtend&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const WarrantExtend& default_instance() {
    return *internal_default_instance();
  }
  static inline const WarrantExtend* internal_default_instance() {
    return reinterpret_cast<const WarrantExtend*>(
               &_WarrantExtend_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    12;

  friend void swap(WarrantExtend& a, WarrantExtend& b) {
    a.Swap(&b);
  }
  inline void Swap(WarrantExtend* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(WarrantExtend* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  WarrantExtend* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<WarrantExtend>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const WarrantExtend& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const WarrantExtend& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(WarrantExtend* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.WarrantExtend";
  }
  protected:
  explicit WarrantExtend(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kImpliedVolatilityFieldNumber = 1,
    kExpiryDateFieldNumber = 2,
    kLastTradeDateFieldNumber = 3,
    kOutstandingRatioFieldNumber = 4,
    kConversionRatioFieldNumber = 6,
    kCategoryFieldNumber = 7,
    kStrikePriceFieldNumber = 8,
    kUpperStrikePriceFieldNumber = 9,
    kLowerStrikePriceFieldNumber = 10,
    kCallPriceFieldNumber = 11,
    kUnderlyingSymbolFieldNumber = 12,
    kOutstandingQtyFieldNumber = 5,
  };
  // string implied_volatility = 1 [json_name = "impliedVolatility"];
  void clear_implied_volatility();
  const std::string& implied_volatility() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_implied_volatility(ArgT0&& arg0, ArgT... args);
  std::string* mutable_implied_volatility();
  PROTOBUF_NODISCARD std::string* release_implied_volatility();
  void set_allocated_implied_volatility(std::string* implied_volatility);
  private:
  const std::string& _internal_implied_volatility() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_implied_volatility(const std::string& value);
  std::string* _internal_mutable_implied_volatility();
  public:

  // string expiry_date = 2 [json_name = "expiryDate"];
  void clear_expiry_date();
  const std::string& expiry_date() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_expiry_date(ArgT0&& arg0, ArgT... args);
  std::string* mutable_expiry_date();
  PROTOBUF_NODISCARD std::string* release_expiry_date();
  void set_allocated_expiry_date(std::string* expiry_date);
  private:
  const std::string& _internal_expiry_date() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_expiry_date(const std::string& value);
  std::string* _internal_mutable_expiry_date();
  public:

  // string last_trade_date = 3 [json_name = "lastTradeDate"];
  void clear_last_trade_date();
  const std::string& last_trade_date() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_last_trade_date(ArgT0&& arg0, ArgT... args);
  std::string* mutable_last_trade_date();
  PROTOBUF_NODISCARD std::string* release_last_trade_date();
  void set_allocated_last_trade_date(std::string* last_trade_date);
  private:
  const std::string& _internal_last_trade_date() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_last_trade_date(const std::string& value);
  std::string* _internal_mutable_last_trade_date();
  public:

  // string outstanding_ratio = 4 [json_name = "outstandingRatio"];
  void clear_outstanding_ratio();
  const std::string& outstanding_ratio() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_outstanding_ratio(ArgT0&& arg0, ArgT... args);
  std::string* mutable_outstanding_ratio();
  PROTOBUF_NODISCARD std::string* release_outstanding_ratio();
  void set_allocated_outstanding_ratio(std::string* outstanding_ratio);
  private:
  const std::string& _internal_outstanding_ratio() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_outstanding_ratio(const std::string& value);
  std::string* _internal_mutable_outstanding_ratio();
  public:

  // string conversion_ratio = 6 [json_name = "conversionRatio"];
  void clear_conversion_ratio();
  const std::string& conversion_ratio() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_conversion_ratio(ArgT0&& arg0, ArgT... args);
  std::string* mutable_conversion_ratio();
  PROTOBUF_NODISCARD std::string* release_conversion_ratio();
  void set_allocated_conversion_ratio(std::string* conversion_ratio);
  private:
  const std::string& _internal_conversion_ratio() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_conversion_ratio(const std::string& value);
  std::string* _internal_mutable_conversion_ratio();
  public:

  // string category = 7 [json_name = "category"];
  void clear_category();
  const std::string& category() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_category(ArgT0&& arg0, ArgT... args);
  std::string* mutable_category();
  PROTOBUF_NODISCARD std::string* release_category();
  void set_allocated_category(std::string* category);
  private:
  const std::string& _internal_category() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_category(const std::string& value);
  std::string* _internal_mutable_category();
  public:

  // string strike_price = 8 [json_name = "strikePrice"];
  void clear_strike_price();
  const std::string& strike_price() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_strike_price(ArgT0&& arg0, ArgT... args);
  std::string* mutable_strike_price();
  PROTOBUF_NODISCARD std::string* release_strike_price();
  void set_allocated_strike_price(std::string* strike_price);
  private:
  const std::string& _internal_strike_price() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_strike_price(const std::string& value);
  std::string* _internal_mutable_strike_price();
  public:

  // string upper_strike_price = 9 [json_name = "upperStrikePrice"];
  void clear_upper_strike_price();
  const std::string& upper_strike_price() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_upper_strike_price(ArgT0&& arg0, ArgT... args);
  std::string* mutable_upper_strike_price();
  PROTOBUF_NODISCARD std::string* release_upper_strike_price();
  void set_allocated_upper_strike_price(std::string* upper_strike_price);
  private:
  const std::string& _internal_upper_strike_price() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_upper_strike_price(const std::string& value);
  std::string* _internal_mutable_upper_strike_price();
  public:

  // string lower_strike_price = 10 [json_name = "lowerStrikePrice"];
  void clear_lower_strike_price();
  const std::string& lower_strike_price() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_lower_strike_price(ArgT0&& arg0, ArgT... args);
  std::string* mutable_lower_strike_price();
  PROTOBUF_NODISCARD std::string* release_lower_strike_price();
  void set_allocated_lower_strike_price(std::string* lower_strike_price);
  private:
  const std::string& _internal_lower_strike_price() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_lower_strike_price(const std::string& value);
  std::string* _internal_mutable_lower_strike_price();
  public:

  // string call_price = 11 [json_name = "callPrice"];
  void clear_call_price();
  const std::string& call_price() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_call_price(ArgT0&& arg0, ArgT... args);
  std::string* mutable_call_price();
  PROTOBUF_NODISCARD std::string* release_call_price();
  void set_allocated_call_price(std::string* call_price);
  private:
  const std::string& _internal_call_price() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_call_price(const std::string& value);
  std::string* _internal_mutable_call_price();
  public:

  // string underlying_symbol = 12 [json_name = "underlyingSymbol"];
  void clear_underlying_symbol();
  const std::string& underlying_symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_underlying_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_underlying_symbol();
  PROTOBUF_NODISCARD std::string* release_underlying_symbol();
  void set_allocated_underlying_symbol(std::string* underlying_symbol);
  private:
  const std::string& _internal_underlying_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_underlying_symbol(const std::string& value);
  std::string* _internal_mutable_underlying_symbol();
  public:

  // int64 outstanding_qty = 5 [json_name = "outstandingQty"];
  void clear_outstanding_qty();
  int64_t outstanding_qty() const;
  void set_outstanding_qty(int64_t value);
  private:
  int64_t _internal_outstanding_qty() const;
  void _internal_set_outstanding_qty(int64_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.WarrantExtend)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr implied_volatility_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr expiry_date_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr last_trade_date_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr outstanding_ratio_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr conversion_ratio_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr category_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr strike_price_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr upper_strike_price_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr lower_strike_price_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr call_price_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr underlying_symbol_;
  int64_t outstanding_qty_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class SecurityDepthResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.SecurityDepthResponse) */ {
 public:
  inline SecurityDepthResponse() : SecurityDepthResponse(nullptr) {}
  ~SecurityDepthResponse() override;
  explicit constexpr SecurityDepthResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  SecurityDepthResponse(const SecurityDepthResponse& from);
  SecurityDepthResponse(SecurityDepthResponse&& from) noexcept
    : SecurityDepthResponse() {
    *this = ::std::move(from);
  }

  inline SecurityDepthResponse& operator=(const SecurityDepthResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline SecurityDepthResponse& operator=(SecurityDepthResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SecurityDepthResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const SecurityDepthResponse* internal_default_instance() {
    return reinterpret_cast<const SecurityDepthResponse*>(
               &_SecurityDepthResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    13;

  friend void swap(SecurityDepthResponse& a, SecurityDepthResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(SecurityDepthResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SecurityDepthResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SecurityDepthResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SecurityDepthResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const SecurityDepthResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const SecurityDepthResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SecurityDepthResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.SecurityDepthResponse";
  }
  protected:
  explicit SecurityDepthResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kAskFieldNumber = 2,
    kBidFieldNumber = 3,
    kSymbolFieldNumber = 1,
  };
  // repeated .longbridgeapp.quote.v1.Depth ask = 2 [json_name = "ask"];
  int ask_size() const;
  private:
  int _internal_ask_size() const;
  public:
  void clear_ask();
  ::longbridgeapp::quote::v1::Depth* mutable_ask(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth >*
      mutable_ask();
  private:
  const ::longbridgeapp::quote::v1::Depth& _internal_ask(int index) const;
  ::longbridgeapp::quote::v1::Depth* _internal_add_ask();
  public:
  const ::longbridgeapp::quote::v1::Depth& ask(int index) const;
  ::longbridgeapp::quote::v1::Depth* add_ask();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth >&
      ask() const;

  // repeated .longbridgeapp.quote.v1.Depth bid = 3 [json_name = "bid"];
  int bid_size() const;
  private:
  int _internal_bid_size() const;
  public:
  void clear_bid();
  ::longbridgeapp::quote::v1::Depth* mutable_bid(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth >*
      mutable_bid();
  private:
  const ::longbridgeapp::quote::v1::Depth& _internal_bid(int index) const;
  ::longbridgeapp::quote::v1::Depth* _internal_add_bid();
  public:
  const ::longbridgeapp::quote::v1::Depth& bid(int index) const;
  ::longbridgeapp::quote::v1::Depth* add_bid();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth >&
      bid() const;

  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.SecurityDepthResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth > ask_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth > bid_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class Depth final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.Depth) */ {
 public:
  inline Depth() : Depth(nullptr) {}
  ~Depth() override;
  explicit constexpr Depth(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  Depth(const Depth& from);
  Depth(Depth&& from) noexcept
    : Depth() {
    *this = ::std::move(from);
  }

  inline Depth& operator=(const Depth& from) {
    CopyFrom(from);
    return *this;
  }
  inline Depth& operator=(Depth&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Depth& default_instance() {
    return *internal_default_instance();
  }
  static inline const Depth* internal_default_instance() {
    return reinterpret_cast<const Depth*>(
               &_Depth_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    14;

  friend void swap(Depth& a, Depth& b) {
    a.Swap(&b);
  }
  inline void Swap(Depth* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Depth* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  Depth* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Depth>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const Depth& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const Depth& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Depth* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.Depth";
  }
  protected:
  explicit Depth(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kPriceFieldNumber = 2,
    kVolumeFieldNumber = 3,
    kOrderNumFieldNumber = 4,
    kPositionFieldNumber = 1,
  };
  // string price = 2 [json_name = "price"];
  void clear_price();
  const std::string& price() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_price(ArgT0&& arg0, ArgT... args);
  std::string* mutable_price();
  PROTOBUF_NODISCARD std::string* release_price();
  void set_allocated_price(std::string* price);
  private:
  const std::string& _internal_price() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_price(const std::string& value);
  std::string* _internal_mutable_price();
  public:

  // int64 volume = 3 [json_name = "volume"];
  void clear_volume();
  int64_t volume() const;
  void set_volume(int64_t value);
  private:
  int64_t _internal_volume() const;
  void _internal_set_volume(int64_t value);
  public:

  // int64 order_num = 4 [json_name = "orderNum"];
  void clear_order_num();
  int64_t order_num() const;
  void set_order_num(int64_t value);
  private:
  int64_t _internal_order_num() const;
  void _internal_set_order_num(int64_t value);
  public:

  // int32 position = 1 [json_name = "position"];
  void clear_position();
  int32_t position() const;
  void set_position(int32_t value);
  private:
  int32_t _internal_position() const;
  void _internal_set_position(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.Depth)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr price_;
  int64_t volume_;
  int64_t order_num_;
  int32_t position_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class SecurityBrokersResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.SecurityBrokersResponse) */ {
 public:
  inline SecurityBrokersResponse() : SecurityBrokersResponse(nullptr) {}
  ~SecurityBrokersResponse() override;
  explicit constexpr SecurityBrokersResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  SecurityBrokersResponse(const SecurityBrokersResponse& from);
  SecurityBrokersResponse(SecurityBrokersResponse&& from) noexcept
    : SecurityBrokersResponse() {
    *this = ::std::move(from);
  }

  inline SecurityBrokersResponse& operator=(const SecurityBrokersResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline SecurityBrokersResponse& operator=(SecurityBrokersResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SecurityBrokersResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const SecurityBrokersResponse* internal_default_instance() {
    return reinterpret_cast<const SecurityBrokersResponse*>(
               &_SecurityBrokersResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    15;

  friend void swap(SecurityBrokersResponse& a, SecurityBrokersResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(SecurityBrokersResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SecurityBrokersResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SecurityBrokersResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SecurityBrokersResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const SecurityBrokersResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const SecurityBrokersResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SecurityBrokersResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.SecurityBrokersResponse";
  }
  protected:
  explicit SecurityBrokersResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kAskBrokersFieldNumber = 2,
    kBidBrokersFieldNumber = 3,
    kSymbolFieldNumber = 1,
  };
  // repeated .longbridgeapp.quote.v1.Brokers ask_brokers = 2 [json_name = "askBrokers"];
  int ask_brokers_size() const;
  private:
  int _internal_ask_brokers_size() const;
  public:
  void clear_ask_brokers();
  ::longbridgeapp::quote::v1::Brokers* mutable_ask_brokers(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers >*
      mutable_ask_brokers();
  private:
  const ::longbridgeapp::quote::v1::Brokers& _internal_ask_brokers(int index) const;
  ::longbridgeapp::quote::v1::Brokers* _internal_add_ask_brokers();
  public:
  const ::longbridgeapp::quote::v1::Brokers& ask_brokers(int index) const;
  ::longbridgeapp::quote::v1::Brokers* add_ask_brokers();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers >&
      ask_brokers() const;

  // repeated .longbridgeapp.quote.v1.Brokers bid_brokers = 3 [json_name = "bidBrokers"];
  int bid_brokers_size() const;
  private:
  int _internal_bid_brokers_size() const;
  public:
  void clear_bid_brokers();
  ::longbridgeapp::quote::v1::Brokers* mutable_bid_brokers(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers >*
      mutable_bid_brokers();
  private:
  const ::longbridgeapp::quote::v1::Brokers& _internal_bid_brokers(int index) const;
  ::longbridgeapp::quote::v1::Brokers* _internal_add_bid_brokers();
  public:
  const ::longbridgeapp::quote::v1::Brokers& bid_brokers(int index) const;
  ::longbridgeapp::quote::v1::Brokers* add_bid_brokers();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers >&
      bid_brokers() const;

  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.SecurityBrokersResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers > ask_brokers_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers > bid_brokers_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class Brokers final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.Brokers) */ {
 public:
  inline Brokers() : Brokers(nullptr) {}
  ~Brokers() override;
  explicit constexpr Brokers(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  Brokers(const Brokers& from);
  Brokers(Brokers&& from) noexcept
    : Brokers() {
    *this = ::std::move(from);
  }

  inline Brokers& operator=(const Brokers& from) {
    CopyFrom(from);
    return *this;
  }
  inline Brokers& operator=(Brokers&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Brokers& default_instance() {
    return *internal_default_instance();
  }
  static inline const Brokers* internal_default_instance() {
    return reinterpret_cast<const Brokers*>(
               &_Brokers_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    16;

  friend void swap(Brokers& a, Brokers& b) {
    a.Swap(&b);
  }
  inline void Swap(Brokers* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Brokers* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  Brokers* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Brokers>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const Brokers& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const Brokers& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Brokers* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.Brokers";
  }
  protected:
  explicit Brokers(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kBrokerIdsFieldNumber = 2,
    kPositionFieldNumber = 1,
  };
  // repeated int32 broker_ids = 2 [json_name = "brokerIds"];
  int broker_ids_size() const;
  private:
  int _internal_broker_ids_size() const;
  public:
  void clear_broker_ids();
  private:
  int32_t _internal_broker_ids(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      _internal_broker_ids() const;
  void _internal_add_broker_ids(int32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      _internal_mutable_broker_ids();
  public:
  int32_t broker_ids(int index) const;
  void set_broker_ids(int index, int32_t value);
  void add_broker_ids(int32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      broker_ids() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      mutable_broker_ids();

  // int32 position = 1 [json_name = "position"];
  void clear_position();
  int32_t position() const;
  void set_position(int32_t value);
  private:
  int32_t _internal_position() const;
  void _internal_set_position(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.Brokers)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > broker_ids_;
  mutable std::atomic<int> _broker_ids_cached_byte_size_;
  int32_t position_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class ParticipantBrokerIdsResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.ParticipantBrokerIdsResponse) */ {
 public:
  inline ParticipantBrokerIdsResponse() : ParticipantBrokerIdsResponse(nullptr) {}
  ~ParticipantBrokerIdsResponse() override;
  explicit constexpr ParticipantBrokerIdsResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  ParticipantBrokerIdsResponse(const ParticipantBrokerIdsResponse& from);
  ParticipantBrokerIdsResponse(ParticipantBrokerIdsResponse&& from) noexcept
    : ParticipantBrokerIdsResponse() {
    *this = ::std::move(from);
  }

  inline ParticipantBrokerIdsResponse& operator=(const ParticipantBrokerIdsResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline ParticipantBrokerIdsResponse& operator=(ParticipantBrokerIdsResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const ParticipantBrokerIdsResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const ParticipantBrokerIdsResponse* internal_default_instance() {
    return reinterpret_cast<const ParticipantBrokerIdsResponse*>(
               &_ParticipantBrokerIdsResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    17;

  friend void swap(ParticipantBrokerIdsResponse& a, ParticipantBrokerIdsResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(ParticipantBrokerIdsResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ParticipantBrokerIdsResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  ParticipantBrokerIdsResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ParticipantBrokerIdsResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const ParticipantBrokerIdsResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const ParticipantBrokerIdsResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(ParticipantBrokerIdsResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.ParticipantBrokerIdsResponse";
  }
  protected:
  explicit ParticipantBrokerIdsResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kParticipantBrokerNumbersFieldNumber = 1,
  };
  // repeated .longbridgeapp.quote.v1.ParticipantInfo participant_broker_numbers = 1 [json_name = "participantBrokerNumbers"];
  int participant_broker_numbers_size() const;
  private:
  int _internal_participant_broker_numbers_size() const;
  public:
  void clear_participant_broker_numbers();
  ::longbridgeapp::quote::v1::ParticipantInfo* mutable_participant_broker_numbers(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::ParticipantInfo >*
      mutable_participant_broker_numbers();
  private:
  const ::longbridgeapp::quote::v1::ParticipantInfo& _internal_participant_broker_numbers(int index) const;
  ::longbridgeapp::quote::v1::ParticipantInfo* _internal_add_participant_broker_numbers();
  public:
  const ::longbridgeapp::quote::v1::ParticipantInfo& participant_broker_numbers(int index) const;
  ::longbridgeapp::quote::v1::ParticipantInfo* add_participant_broker_numbers();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::ParticipantInfo >&
      participant_broker_numbers() const;

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.ParticipantBrokerIdsResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::ParticipantInfo > participant_broker_numbers_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class ParticipantInfo final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.ParticipantInfo) */ {
 public:
  inline ParticipantInfo() : ParticipantInfo(nullptr) {}
  ~ParticipantInfo() override;
  explicit constexpr ParticipantInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  ParticipantInfo(const ParticipantInfo& from);
  ParticipantInfo(ParticipantInfo&& from) noexcept
    : ParticipantInfo() {
    *this = ::std::move(from);
  }

  inline ParticipantInfo& operator=(const ParticipantInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline ParticipantInfo& operator=(ParticipantInfo&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const ParticipantInfo& default_instance() {
    return *internal_default_instance();
  }
  static inline const ParticipantInfo* internal_default_instance() {
    return reinterpret_cast<const ParticipantInfo*>(
               &_ParticipantInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    18;

  friend void swap(ParticipantInfo& a, ParticipantInfo& b) {
    a.Swap(&b);
  }
  inline void Swap(ParticipantInfo* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ParticipantInfo* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  ParticipantInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ParticipantInfo>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const ParticipantInfo& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const ParticipantInfo& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(ParticipantInfo* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.ParticipantInfo";
  }
  protected:
  explicit ParticipantInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kBrokerIdsFieldNumber = 1,
    kParticipantNameCnFieldNumber = 2,
    kParticipantNameEnFieldNumber = 3,
    kParticipantNameHkFieldNumber = 4,
  };
  // repeated int32 broker_ids = 1 [json_name = "brokerIds"];
  int broker_ids_size() const;
  private:
  int _internal_broker_ids_size() const;
  public:
  void clear_broker_ids();
  private:
  int32_t _internal_broker_ids(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      _internal_broker_ids() const;
  void _internal_add_broker_ids(int32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      _internal_mutable_broker_ids();
  public:
  int32_t broker_ids(int index) const;
  void set_broker_ids(int index, int32_t value);
  void add_broker_ids(int32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      broker_ids() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      mutable_broker_ids();

  // string participant_name_cn = 2 [json_name = "participantNameCn"];
  void clear_participant_name_cn();
  const std::string& participant_name_cn() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_participant_name_cn(ArgT0&& arg0, ArgT... args);
  std::string* mutable_participant_name_cn();
  PROTOBUF_NODISCARD std::string* release_participant_name_cn();
  void set_allocated_participant_name_cn(std::string* participant_name_cn);
  private:
  const std::string& _internal_participant_name_cn() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_participant_name_cn(const std::string& value);
  std::string* _internal_mutable_participant_name_cn();
  public:

  // string participant_name_en = 3 [json_name = "participantNameEn"];
  void clear_participant_name_en();
  const std::string& participant_name_en() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_participant_name_en(ArgT0&& arg0, ArgT... args);
  std::string* mutable_participant_name_en();
  PROTOBUF_NODISCARD std::string* release_participant_name_en();
  void set_allocated_participant_name_en(std::string* participant_name_en);
  private:
  const std::string& _internal_participant_name_en() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_participant_name_en(const std::string& value);
  std::string* _internal_mutable_participant_name_en();
  public:

  // string participant_name_hk = 4 [json_name = "participantNameHk"];
  void clear_participant_name_hk();
  const std::string& participant_name_hk() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_participant_name_hk(ArgT0&& arg0, ArgT... args);
  std::string* mutable_participant_name_hk();
  PROTOBUF_NODISCARD std::string* release_participant_name_hk();
  void set_allocated_participant_name_hk(std::string* participant_name_hk);
  private:
  const std::string& _internal_participant_name_hk() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_participant_name_hk(const std::string& value);
  std::string* _internal_mutable_participant_name_hk();
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.ParticipantInfo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > broker_ids_;
  mutable std::atomic<int> _broker_ids_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr participant_name_cn_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr participant_name_en_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr participant_name_hk_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class SecurityTradeRequest final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.SecurityTradeRequest) */ {
 public:
  inline SecurityTradeRequest() : SecurityTradeRequest(nullptr) {}
  ~SecurityTradeRequest() override;
  explicit constexpr SecurityTradeRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  SecurityTradeRequest(const SecurityTradeRequest& from);
  SecurityTradeRequest(SecurityTradeRequest&& from) noexcept
    : SecurityTradeRequest() {
    *this = ::std::move(from);
  }

  inline SecurityTradeRequest& operator=(const SecurityTradeRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline SecurityTradeRequest& operator=(SecurityTradeRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SecurityTradeRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const SecurityTradeRequest* internal_default_instance() {
    return reinterpret_cast<const SecurityTradeRequest*>(
               &_SecurityTradeRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    19;

  friend void swap(SecurityTradeRequest& a, SecurityTradeRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(SecurityTradeRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SecurityTradeRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SecurityTradeRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SecurityTradeRequest>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const SecurityTradeRequest& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const SecurityTradeRequest& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SecurityTradeRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.SecurityTradeRequest";
  }
  protected:
  explicit SecurityTradeRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSymbolFieldNumber = 1,
    kCountFieldNumber = 2,
  };
  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // int32 count = 2 [json_name = "count"];
  void clear_count();
  int32_t count() const;
  void set_count(int32_t value);
  private:
  int32_t _internal_count() const;
  void _internal_set_count(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.SecurityTradeRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  int32_t count_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class SecurityTradeResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.SecurityTradeResponse) */ {
 public:
  inline SecurityTradeResponse() : SecurityTradeResponse(nullptr) {}
  ~SecurityTradeResponse() override;
  explicit constexpr SecurityTradeResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  SecurityTradeResponse(const SecurityTradeResponse& from);
  SecurityTradeResponse(SecurityTradeResponse&& from) noexcept
    : SecurityTradeResponse() {
    *this = ::std::move(from);
  }

  inline SecurityTradeResponse& operator=(const SecurityTradeResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline SecurityTradeResponse& operator=(SecurityTradeResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SecurityTradeResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const SecurityTradeResponse* internal_default_instance() {
    return reinterpret_cast<const SecurityTradeResponse*>(
               &_SecurityTradeResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    20;

  friend void swap(SecurityTradeResponse& a, SecurityTradeResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(SecurityTradeResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SecurityTradeResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SecurityTradeResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SecurityTradeResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const SecurityTradeResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const SecurityTradeResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SecurityTradeResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.SecurityTradeResponse";
  }
  protected:
  explicit SecurityTradeResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kTradesFieldNumber = 2,
    kSymbolFieldNumber = 1,
  };
  // repeated .longbridgeapp.quote.v1.Trade trades = 2 [json_name = "trades"];
  int trades_size() const;
  private:
  int _internal_trades_size() const;
  public:
  void clear_trades();
  ::longbridgeapp::quote::v1::Trade* mutable_trades(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Trade >*
      mutable_trades();
  private:
  const ::longbridgeapp::quote::v1::Trade& _internal_trades(int index) const;
  ::longbridgeapp::quote::v1::Trade* _internal_add_trades();
  public:
  const ::longbridgeapp::quote::v1::Trade& trades(int index) const;
  ::longbridgeapp::quote::v1::Trade* add_trades();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Trade >&
      trades() const;

  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.SecurityTradeResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Trade > trades_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class Trade final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.Trade) */ {
 public:
  inline Trade() : Trade(nullptr) {}
  ~Trade() override;
  explicit constexpr Trade(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  Trade(const Trade& from);
  Trade(Trade&& from) noexcept
    : Trade() {
    *this = ::std::move(from);
  }

  inline Trade& operator=(const Trade& from) {
    CopyFrom(from);
    return *this;
  }
  inline Trade& operator=(Trade&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Trade& default_instance() {
    return *internal_default_instance();
  }
  static inline const Trade* internal_default_instance() {
    return reinterpret_cast<const Trade*>(
               &_Trade_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    21;

  friend void swap(Trade& a, Trade& b) {
    a.Swap(&b);
  }
  inline void Swap(Trade* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Trade* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  Trade* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Trade>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const Trade& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const Trade& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Trade* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.Trade";
  }
  protected:
  explicit Trade(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kPriceFieldNumber = 1,
    kTradeTypeFieldNumber = 4,
    kVolumeFieldNumber = 2,
    kTimestampFieldNumber = 3,
    kDirectionFieldNumber = 5,
    kTradeSessionFieldNumber = 6,
  };
  // string price = 1 [json_name = "price"];
  void clear_price();
  const std::string& price() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_price(ArgT0&& arg0, ArgT... args);
  std::string* mutable_price();
  PROTOBUF_NODISCARD std::string* release_price();
  void set_allocated_price(std::string* price);
  private:
  const std::string& _internal_price() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_price(const std::string& value);
  std::string* _internal_mutable_price();
  public:

  // string trade_type = 4 [json_name = "tradeType"];
  void clear_trade_type();
  const std::string& trade_type() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_trade_type(ArgT0&& arg0, ArgT... args);
  std::string* mutable_trade_type();
  PROTOBUF_NODISCARD std::string* release_trade_type();
  void set_allocated_trade_type(std::string* trade_type);
  private:
  const std::string& _internal_trade_type() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_trade_type(const std::string& value);
  std::string* _internal_mutable_trade_type();
  public:

  // int64 volume = 2 [json_name = "volume"];
  void clear_volume();
  int64_t volume() const;
  void set_volume(int64_t value);
  private:
  int64_t _internal_volume() const;
  void _internal_set_volume(int64_t value);
  public:

  // int64 timestamp = 3 [json_name = "timestamp"];
  void clear_timestamp();
  int64_t timestamp() const;
  void set_timestamp(int64_t value);
  private:
  int64_t _internal_timestamp() const;
  void _internal_set_timestamp(int64_t value);
  public:

  // int32 direction = 5 [json_name = "direction"];
  void clear_direction();
  int32_t direction() const;
  void set_direction(int32_t value);
  private:
  int32_t _internal_direction() const;
  void _internal_set_direction(int32_t value);
  public:

  // .longbridgeapp.quote.v1.TradeSession trade_session = 6 [json_name = "tradeSession"];
  void clear_trade_session();
  ::longbridgeapp::quote::v1::TradeSession trade_session() const;
  void set_trade_session(::longbridgeapp::quote::v1::TradeSession value);
  private:
  ::longbridgeapp::quote::v1::TradeSession _internal_trade_session() const;
  void _internal_set_trade_session(::longbridgeapp::quote::v1::TradeSession value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.Trade)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr price_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr trade_type_;
  int64_t volume_;
  int64_t timestamp_;
  int32_t direction_;
  int trade_session_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class SecurityIntradayRequest final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.SecurityIntradayRequest) */ {
 public:
  inline SecurityIntradayRequest() : SecurityIntradayRequest(nullptr) {}
  ~SecurityIntradayRequest() override;
  explicit constexpr SecurityIntradayRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  SecurityIntradayRequest(const SecurityIntradayRequest& from);
  SecurityIntradayRequest(SecurityIntradayRequest&& from) noexcept
    : SecurityIntradayRequest() {
    *this = ::std::move(from);
  }

  inline SecurityIntradayRequest& operator=(const SecurityIntradayRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline SecurityIntradayRequest& operator=(SecurityIntradayRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SecurityIntradayRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const SecurityIntradayRequest* internal_default_instance() {
    return reinterpret_cast<const SecurityIntradayRequest*>(
               &_SecurityIntradayRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    22;

  friend void swap(SecurityIntradayRequest& a, SecurityIntradayRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(SecurityIntradayRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SecurityIntradayRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SecurityIntradayRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SecurityIntradayRequest>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const SecurityIntradayRequest& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const SecurityIntradayRequest& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SecurityIntradayRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.SecurityIntradayRequest";
  }
  protected:
  explicit SecurityIntradayRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSymbolFieldNumber = 1,
  };
  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.SecurityIntradayRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class SecurityIntradayResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.SecurityIntradayResponse) */ {
 public:
  inline SecurityIntradayResponse() : SecurityIntradayResponse(nullptr) {}
  ~SecurityIntradayResponse() override;
  explicit constexpr SecurityIntradayResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  SecurityIntradayResponse(const SecurityIntradayResponse& from);
  SecurityIntradayResponse(SecurityIntradayResponse&& from) noexcept
    : SecurityIntradayResponse() {
    *this = ::std::move(from);
  }

  inline SecurityIntradayResponse& operator=(const SecurityIntradayResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline SecurityIntradayResponse& operator=(SecurityIntradayResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SecurityIntradayResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const SecurityIntradayResponse* internal_default_instance() {
    return reinterpret_cast<const SecurityIntradayResponse*>(
               &_SecurityIntradayResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    23;

  friend void swap(SecurityIntradayResponse& a, SecurityIntradayResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(SecurityIntradayResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SecurityIntradayResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SecurityIntradayResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SecurityIntradayResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const SecurityIntradayResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const SecurityIntradayResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SecurityIntradayResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.SecurityIntradayResponse";
  }
  protected:
  explicit SecurityIntradayResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kLinesFieldNumber = 2,
    kSymbolFieldNumber = 1,
  };
  // repeated .longbridgeapp.quote.v1.Line lines = 2 [json_name = "lines"];
  int lines_size() const;
  private:
  int _internal_lines_size() const;
  public:
  void clear_lines();
  ::longbridgeapp::quote::v1::Line* mutable_lines(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Line >*
      mutable_lines();
  private:
  const ::longbridgeapp::quote::v1::Line& _internal_lines(int index) const;
  ::longbridgeapp::quote::v1::Line* _internal_add_lines();
  public:
  const ::longbridgeapp::quote::v1::Line& lines(int index) const;
  ::longbridgeapp::quote::v1::Line* add_lines();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Line >&
      lines() const;

  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.SecurityIntradayResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Line > lines_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class Line final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.Line) */ {
 public:
  inline Line() : Line(nullptr) {}
  ~Line() override;
  explicit constexpr Line(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  Line(const Line& from);
  Line(Line&& from) noexcept
    : Line() {
    *this = ::std::move(from);
  }

  inline Line& operator=(const Line& from) {
    CopyFrom(from);
    return *this;
  }
  inline Line& operator=(Line&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Line& default_instance() {
    return *internal_default_instance();
  }
  static inline const Line* internal_default_instance() {
    return reinterpret_cast<const Line*>(
               &_Line_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    24;

  friend void swap(Line& a, Line& b) {
    a.Swap(&b);
  }
  inline void Swap(Line* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Line* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  Line* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Line>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const Line& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const Line& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Line* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.Line";
  }
  protected:
  explicit Line(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kPriceFieldNumber = 1,
    kTurnoverFieldNumber = 4,
    kAvgPriceFieldNumber = 5,
    kTimestampFieldNumber = 2,
    kVolumeFieldNumber = 3,
  };
  // string price = 1 [json_name = "price"];
  void clear_price();
  const std::string& price() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_price(ArgT0&& arg0, ArgT... args);
  std::string* mutable_price();
  PROTOBUF_NODISCARD std::string* release_price();
  void set_allocated_price(std::string* price);
  private:
  const std::string& _internal_price() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_price(const std::string& value);
  std::string* _internal_mutable_price();
  public:

  // string turnover = 4 [json_name = "turnover"];
  void clear_turnover();
  const std::string& turnover() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_turnover(ArgT0&& arg0, ArgT... args);
  std::string* mutable_turnover();
  PROTOBUF_NODISCARD std::string* release_turnover();
  void set_allocated_turnover(std::string* turnover);
  private:
  const std::string& _internal_turnover() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_turnover(const std::string& value);
  std::string* _internal_mutable_turnover();
  public:

  // string avg_price = 5 [json_name = "avgPrice"];
  void clear_avg_price();
  const std::string& avg_price() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_avg_price(ArgT0&& arg0, ArgT... args);
  std::string* mutable_avg_price();
  PROTOBUF_NODISCARD std::string* release_avg_price();
  void set_allocated_avg_price(std::string* avg_price);
  private:
  const std::string& _internal_avg_price() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_avg_price(const std::string& value);
  std::string* _internal_mutable_avg_price();
  public:

  // int64 timestamp = 2 [json_name = "timestamp"];
  void clear_timestamp();
  int64_t timestamp() const;
  void set_timestamp(int64_t value);
  private:
  int64_t _internal_timestamp() const;
  void _internal_set_timestamp(int64_t value);
  public:

  // int64 volume = 3 [json_name = "volume"];
  void clear_volume();
  int64_t volume() const;
  void set_volume(int64_t value);
  private:
  int64_t _internal_volume() const;
  void _internal_set_volume(int64_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.Line)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr price_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr turnover_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr avg_price_;
  int64_t timestamp_;
  int64_t volume_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class SecurityCandlestickRequest final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.SecurityCandlestickRequest) */ {
 public:
  inline SecurityCandlestickRequest() : SecurityCandlestickRequest(nullptr) {}
  ~SecurityCandlestickRequest() override;
  explicit constexpr SecurityCandlestickRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  SecurityCandlestickRequest(const SecurityCandlestickRequest& from);
  SecurityCandlestickRequest(SecurityCandlestickRequest&& from) noexcept
    : SecurityCandlestickRequest() {
    *this = ::std::move(from);
  }

  inline SecurityCandlestickRequest& operator=(const SecurityCandlestickRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline SecurityCandlestickRequest& operator=(SecurityCandlestickRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SecurityCandlestickRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const SecurityCandlestickRequest* internal_default_instance() {
    return reinterpret_cast<const SecurityCandlestickRequest*>(
               &_SecurityCandlestickRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    25;

  friend void swap(SecurityCandlestickRequest& a, SecurityCandlestickRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(SecurityCandlestickRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SecurityCandlestickRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SecurityCandlestickRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SecurityCandlestickRequest>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const SecurityCandlestickRequest& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const SecurityCandlestickRequest& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SecurityCandlestickRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.SecurityCandlestickRequest";
  }
  protected:
  explicit SecurityCandlestickRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSymbolFieldNumber = 1,
    kPeriodFieldNumber = 2,
    kCountFieldNumber = 3,
    kAdjustTypeFieldNumber = 4,
  };
  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // .longbridgeapp.quote.v1.Period period = 2 [json_name = "period"];
  void clear_period();
  ::longbridgeapp::quote::v1::Period period() const;
  void set_period(::longbridgeapp::quote::v1::Period value);
  private:
  ::longbridgeapp::quote::v1::Period _internal_period() const;
  void _internal_set_period(::longbridgeapp::quote::v1::Period value);
  public:

  // int32 count = 3 [json_name = "count"];
  void clear_count();
  int32_t count() const;
  void set_count(int32_t value);
  private:
  int32_t _internal_count() const;
  void _internal_set_count(int32_t value);
  public:

  // .longbridgeapp.quote.v1.AdjustType adjust_type = 4 [json_name = "adjustType"];
  void clear_adjust_type();
  ::longbridgeapp::quote::v1::AdjustType adjust_type() const;
  void set_adjust_type(::longbridgeapp::quote::v1::AdjustType value);
  private:
  ::longbridgeapp::quote::v1::AdjustType _internal_adjust_type() const;
  void _internal_set_adjust_type(::longbridgeapp::quote::v1::AdjustType value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.SecurityCandlestickRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  int period_;
  int32_t count_;
  int adjust_type_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class SecurityCandlestickResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.SecurityCandlestickResponse) */ {
 public:
  inline SecurityCandlestickResponse() : SecurityCandlestickResponse(nullptr) {}
  ~SecurityCandlestickResponse() override;
  explicit constexpr SecurityCandlestickResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  SecurityCandlestickResponse(const SecurityCandlestickResponse& from);
  SecurityCandlestickResponse(SecurityCandlestickResponse&& from) noexcept
    : SecurityCandlestickResponse() {
    *this = ::std::move(from);
  }

  inline SecurityCandlestickResponse& operator=(const SecurityCandlestickResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline SecurityCandlestickResponse& operator=(SecurityCandlestickResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SecurityCandlestickResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const SecurityCandlestickResponse* internal_default_instance() {
    return reinterpret_cast<const SecurityCandlestickResponse*>(
               &_SecurityCandlestickResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    26;

  friend void swap(SecurityCandlestickResponse& a, SecurityCandlestickResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(SecurityCandlestickResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SecurityCandlestickResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SecurityCandlestickResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SecurityCandlestickResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const SecurityCandlestickResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const SecurityCandlestickResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SecurityCandlestickResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.SecurityCandlestickResponse";
  }
  protected:
  explicit SecurityCandlestickResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kCandlesticksFieldNumber = 2,
    kSymbolFieldNumber = 1,
  };
  // repeated .longbridgeapp.quote.v1.Candlestick candlesticks = 2 [json_name = "candlesticks"];
  int candlesticks_size() const;
  private:
  int _internal_candlesticks_size() const;
  public:
  void clear_candlesticks();
  ::longbridgeapp::quote::v1::Candlestick* mutable_candlesticks(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Candlestick >*
      mutable_candlesticks();
  private:
  const ::longbridgeapp::quote::v1::Candlestick& _internal_candlesticks(int index) const;
  ::longbridgeapp::quote::v1::Candlestick* _internal_add_candlesticks();
  public:
  const ::longbridgeapp::quote::v1::Candlestick& candlesticks(int index) const;
  ::longbridgeapp::quote::v1::Candlestick* add_candlesticks();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Candlestick >&
      candlesticks() const;

  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.SecurityCandlestickResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Candlestick > candlesticks_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class Candlestick final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.Candlestick) */ {
 public:
  inline Candlestick() : Candlestick(nullptr) {}
  ~Candlestick() override;
  explicit constexpr Candlestick(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  Candlestick(const Candlestick& from);
  Candlestick(Candlestick&& from) noexcept
    : Candlestick() {
    *this = ::std::move(from);
  }

  inline Candlestick& operator=(const Candlestick& from) {
    CopyFrom(from);
    return *this;
  }
  inline Candlestick& operator=(Candlestick&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Candlestick& default_instance() {
    return *internal_default_instance();
  }
  static inline const Candlestick* internal_default_instance() {
    return reinterpret_cast<const Candlestick*>(
               &_Candlestick_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    27;

  friend void swap(Candlestick& a, Candlestick& b) {
    a.Swap(&b);
  }
  inline void Swap(Candlestick* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Candlestick* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  Candlestick* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Candlestick>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const Candlestick& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const Candlestick& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Candlestick* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.Candlestick";
  }
  protected:
  explicit Candlestick(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kCloseFieldNumber = 1,
    kOpenFieldNumber = 2,
    kLowFieldNumber = 3,
    kHighFieldNumber = 4,
    kTurnoverFieldNumber = 6,
    kVolumeFieldNumber = 5,
    kTimestampFieldNumber = 7,
  };
  // string close = 1 [json_name = "close"];
  void clear_close();
  const std::string& close() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_close(ArgT0&& arg0, ArgT... args);
  std::string* mutable_close();
  PROTOBUF_NODISCARD std::string* release_close();
  void set_allocated_close(std::string* close);
  private:
  const std::string& _internal_close() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_close(const std::string& value);
  std::string* _internal_mutable_close();
  public:

  // string open = 2 [json_name = "open"];
  void clear_open();
  const std::string& open() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_open(ArgT0&& arg0, ArgT... args);
  std::string* mutable_open();
  PROTOBUF_NODISCARD std::string* release_open();
  void set_allocated_open(std::string* open);
  private:
  const std::string& _internal_open() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_open(const std::string& value);
  std::string* _internal_mutable_open();
  public:

  // string low = 3 [json_name = "low"];
  void clear_low();
  const std::string& low() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_low(ArgT0&& arg0, ArgT... args);
  std::string* mutable_low();
  PROTOBUF_NODISCARD std::string* release_low();
  void set_allocated_low(std::string* low);
  private:
  const std::string& _internal_low() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_low(const std::string& value);
  std::string* _internal_mutable_low();
  public:

  // string high = 4 [json_name = "high"];
  void clear_high();
  const std::string& high() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_high(ArgT0&& arg0, ArgT... args);
  std::string* mutable_high();
  PROTOBUF_NODISCARD std::string* release_high();
  void set_allocated_high(std::string* high);
  private:
  const std::string& _internal_high() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_high(const std::string& value);
  std::string* _internal_mutable_high();
  public:

  // string turnover = 6 [json_name = "turnover"];
  void clear_turnover();
  const std::string& turnover() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_turnover(ArgT0&& arg0, ArgT... args);
  std::string* mutable_turnover();
  PROTOBUF_NODISCARD std::string* release_turnover();
  void set_allocated_turnover(std::string* turnover);
  private:
  const std::string& _internal_turnover() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_turnover(const std::string& value);
  std::string* _internal_mutable_turnover();
  public:

  // int64 volume = 5 [json_name = "volume"];
  void clear_volume();
  int64_t volume() const;
  void set_volume(int64_t value);
  private:
  int64_t _internal_volume() const;
  void _internal_set_volume(int64_t value);
  public:

  // int64 timestamp = 7 [json_name = "timestamp"];
  void clear_timestamp();
  int64_t timestamp() const;
  void set_timestamp(int64_t value);
  private:
  int64_t _internal_timestamp() const;
  void _internal_set_timestamp(int64_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.Candlestick)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr close_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr open_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr low_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr high_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr turnover_;
  int64_t volume_;
  int64_t timestamp_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class OptionChainDateListResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.OptionChainDateListResponse) */ {
 public:
  inline OptionChainDateListResponse() : OptionChainDateListResponse(nullptr) {}
  ~OptionChainDateListResponse() override;
  explicit constexpr OptionChainDateListResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  OptionChainDateListResponse(const OptionChainDateListResponse& from);
  OptionChainDateListResponse(OptionChainDateListResponse&& from) noexcept
    : OptionChainDateListResponse() {
    *this = ::std::move(from);
  }

  inline OptionChainDateListResponse& operator=(const OptionChainDateListResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline OptionChainDateListResponse& operator=(OptionChainDateListResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const OptionChainDateListResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const OptionChainDateListResponse* internal_default_instance() {
    return reinterpret_cast<const OptionChainDateListResponse*>(
               &_OptionChainDateListResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    28;

  friend void swap(OptionChainDateListResponse& a, OptionChainDateListResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(OptionChainDateListResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(OptionChainDateListResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  OptionChainDateListResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<OptionChainDateListResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const OptionChainDateListResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const OptionChainDateListResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(OptionChainDateListResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.OptionChainDateListResponse";
  }
  protected:
  explicit OptionChainDateListResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kExpiryDateFieldNumber = 1,
  };
  // repeated string expiry_date = 1 [json_name = "expiryDate"];
  int expiry_date_size() const;
  private:
  int _internal_expiry_date_size() const;
  public:
  void clear_expiry_date();
  const std::string& expiry_date(int index) const;
  std::string* mutable_expiry_date(int index);
  void set_expiry_date(int index, const std::string& value);
  void set_expiry_date(int index, std::string&& value);
  void set_expiry_date(int index, const char* value);
  void set_expiry_date(int index, const char* value, size_t size);
  std::string* add_expiry_date();
  void add_expiry_date(const std::string& value);
  void add_expiry_date(std::string&& value);
  void add_expiry_date(const char* value);
  void add_expiry_date(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& expiry_date() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_expiry_date();
  private:
  const std::string& _internal_expiry_date(int index) const;
  std::string* _internal_add_expiry_date();
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.OptionChainDateListResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> expiry_date_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class OptionChainDateStrikeInfoRequest final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.OptionChainDateStrikeInfoRequest) */ {
 public:
  inline OptionChainDateStrikeInfoRequest() : OptionChainDateStrikeInfoRequest(nullptr) {}
  ~OptionChainDateStrikeInfoRequest() override;
  explicit constexpr OptionChainDateStrikeInfoRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  OptionChainDateStrikeInfoRequest(const OptionChainDateStrikeInfoRequest& from);
  OptionChainDateStrikeInfoRequest(OptionChainDateStrikeInfoRequest&& from) noexcept
    : OptionChainDateStrikeInfoRequest() {
    *this = ::std::move(from);
  }

  inline OptionChainDateStrikeInfoRequest& operator=(const OptionChainDateStrikeInfoRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline OptionChainDateStrikeInfoRequest& operator=(OptionChainDateStrikeInfoRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const OptionChainDateStrikeInfoRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const OptionChainDateStrikeInfoRequest* internal_default_instance() {
    return reinterpret_cast<const OptionChainDateStrikeInfoRequest*>(
               &_OptionChainDateStrikeInfoRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    29;

  friend void swap(OptionChainDateStrikeInfoRequest& a, OptionChainDateStrikeInfoRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(OptionChainDateStrikeInfoRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(OptionChainDateStrikeInfoRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  OptionChainDateStrikeInfoRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<OptionChainDateStrikeInfoRequest>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const OptionChainDateStrikeInfoRequest& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const OptionChainDateStrikeInfoRequest& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(OptionChainDateStrikeInfoRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.OptionChainDateStrikeInfoRequest";
  }
  protected:
  explicit OptionChainDateStrikeInfoRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSymbolFieldNumber = 1,
    kExpiryDateFieldNumber = 2,
  };
  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // string expiry_date = 2 [json_name = "expiryDate"];
  void clear_expiry_date();
  const std::string& expiry_date() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_expiry_date(ArgT0&& arg0, ArgT... args);
  std::string* mutable_expiry_date();
  PROTOBUF_NODISCARD std::string* release_expiry_date();
  void set_allocated_expiry_date(std::string* expiry_date);
  private:
  const std::string& _internal_expiry_date() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_expiry_date(const std::string& value);
  std::string* _internal_mutable_expiry_date();
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.OptionChainDateStrikeInfoRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr expiry_date_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class OptionChainDateStrikeInfoResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.OptionChainDateStrikeInfoResponse) */ {
 public:
  inline OptionChainDateStrikeInfoResponse() : OptionChainDateStrikeInfoResponse(nullptr) {}
  ~OptionChainDateStrikeInfoResponse() override;
  explicit constexpr OptionChainDateStrikeInfoResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  OptionChainDateStrikeInfoResponse(const OptionChainDateStrikeInfoResponse& from);
  OptionChainDateStrikeInfoResponse(OptionChainDateStrikeInfoResponse&& from) noexcept
    : OptionChainDateStrikeInfoResponse() {
    *this = ::std::move(from);
  }

  inline OptionChainDateStrikeInfoResponse& operator=(const OptionChainDateStrikeInfoResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline OptionChainDateStrikeInfoResponse& operator=(OptionChainDateStrikeInfoResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const OptionChainDateStrikeInfoResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const OptionChainDateStrikeInfoResponse* internal_default_instance() {
    return reinterpret_cast<const OptionChainDateStrikeInfoResponse*>(
               &_OptionChainDateStrikeInfoResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    30;

  friend void swap(OptionChainDateStrikeInfoResponse& a, OptionChainDateStrikeInfoResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(OptionChainDateStrikeInfoResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(OptionChainDateStrikeInfoResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  OptionChainDateStrikeInfoResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<OptionChainDateStrikeInfoResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const OptionChainDateStrikeInfoResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const OptionChainDateStrikeInfoResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(OptionChainDateStrikeInfoResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.OptionChainDateStrikeInfoResponse";
  }
  protected:
  explicit OptionChainDateStrikeInfoResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kStrikePriceInfoFieldNumber = 1,
  };
  // repeated .longbridgeapp.quote.v1.StrikePriceInfo strike_price_info = 1 [json_name = "strikePriceInfo"];
  int strike_price_info_size() const;
  private:
  int _internal_strike_price_info_size() const;
  public:
  void clear_strike_price_info();
  ::longbridgeapp::quote::v1::StrikePriceInfo* mutable_strike_price_info(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::StrikePriceInfo >*
      mutable_strike_price_info();
  private:
  const ::longbridgeapp::quote::v1::StrikePriceInfo& _internal_strike_price_info(int index) const;
  ::longbridgeapp::quote::v1::StrikePriceInfo* _internal_add_strike_price_info();
  public:
  const ::longbridgeapp::quote::v1::StrikePriceInfo& strike_price_info(int index) const;
  ::longbridgeapp::quote::v1::StrikePriceInfo* add_strike_price_info();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::StrikePriceInfo >&
      strike_price_info() const;

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.OptionChainDateStrikeInfoResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::StrikePriceInfo > strike_price_info_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class StrikePriceInfo final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.StrikePriceInfo) */ {
 public:
  inline StrikePriceInfo() : StrikePriceInfo(nullptr) {}
  ~StrikePriceInfo() override;
  explicit constexpr StrikePriceInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  StrikePriceInfo(const StrikePriceInfo& from);
  StrikePriceInfo(StrikePriceInfo&& from) noexcept
    : StrikePriceInfo() {
    *this = ::std::move(from);
  }

  inline StrikePriceInfo& operator=(const StrikePriceInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline StrikePriceInfo& operator=(StrikePriceInfo&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const StrikePriceInfo& default_instance() {
    return *internal_default_instance();
  }
  static inline const StrikePriceInfo* internal_default_instance() {
    return reinterpret_cast<const StrikePriceInfo*>(
               &_StrikePriceInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    31;

  friend void swap(StrikePriceInfo& a, StrikePriceInfo& b) {
    a.Swap(&b);
  }
  inline void Swap(StrikePriceInfo* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(StrikePriceInfo* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  StrikePriceInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<StrikePriceInfo>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const StrikePriceInfo& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const StrikePriceInfo& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(StrikePriceInfo* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.StrikePriceInfo";
  }
  protected:
  explicit StrikePriceInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kPriceFieldNumber = 1,
    kCallSymbolFieldNumber = 2,
    kPutSymbolFieldNumber = 3,
    kStandardFieldNumber = 4,
  };
  // string price = 1 [json_name = "price"];
  void clear_price();
  const std::string& price() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_price(ArgT0&& arg0, ArgT... args);
  std::string* mutable_price();
  PROTOBUF_NODISCARD std::string* release_price();
  void set_allocated_price(std::string* price);
  private:
  const std::string& _internal_price() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_price(const std::string& value);
  std::string* _internal_mutable_price();
  public:

  // string call_symbol = 2 [json_name = "callSymbol"];
  void clear_call_symbol();
  const std::string& call_symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_call_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_call_symbol();
  PROTOBUF_NODISCARD std::string* release_call_symbol();
  void set_allocated_call_symbol(std::string* call_symbol);
  private:
  const std::string& _internal_call_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_call_symbol(const std::string& value);
  std::string* _internal_mutable_call_symbol();
  public:

  // string put_symbol = 3 [json_name = "putSymbol"];
  void clear_put_symbol();
  const std::string& put_symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_put_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_put_symbol();
  PROTOBUF_NODISCARD std::string* release_put_symbol();
  void set_allocated_put_symbol(std::string* put_symbol);
  private:
  const std::string& _internal_put_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_put_symbol(const std::string& value);
  std::string* _internal_mutable_put_symbol();
  public:

  // bool standard = 4 [json_name = "standard"];
  void clear_standard();
  bool standard() const;
  void set_standard(bool value);
  private:
  bool _internal_standard() const;
  void _internal_set_standard(bool value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.StrikePriceInfo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr price_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr call_symbol_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr put_symbol_;
  bool standard_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class IssuerInfoResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.IssuerInfoResponse) */ {
 public:
  inline IssuerInfoResponse() : IssuerInfoResponse(nullptr) {}
  ~IssuerInfoResponse() override;
  explicit constexpr IssuerInfoResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  IssuerInfoResponse(const IssuerInfoResponse& from);
  IssuerInfoResponse(IssuerInfoResponse&& from) noexcept
    : IssuerInfoResponse() {
    *this = ::std::move(from);
  }

  inline IssuerInfoResponse& operator=(const IssuerInfoResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline IssuerInfoResponse& operator=(IssuerInfoResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const IssuerInfoResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const IssuerInfoResponse* internal_default_instance() {
    return reinterpret_cast<const IssuerInfoResponse*>(
               &_IssuerInfoResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    32;

  friend void swap(IssuerInfoResponse& a, IssuerInfoResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(IssuerInfoResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(IssuerInfoResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  IssuerInfoResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<IssuerInfoResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const IssuerInfoResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const IssuerInfoResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(IssuerInfoResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.IssuerInfoResponse";
  }
  protected:
  explicit IssuerInfoResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kIssuerInfoFieldNumber = 1,
  };
  // repeated .longbridgeapp.quote.v1.IssuerInfo issuer_info = 1 [json_name = "issuerInfo"];
  int issuer_info_size() const;
  private:
  int _internal_issuer_info_size() const;
  public:
  void clear_issuer_info();
  ::longbridgeapp::quote::v1::IssuerInfo* mutable_issuer_info(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::IssuerInfo >*
      mutable_issuer_info();
  private:
  const ::longbridgeapp::quote::v1::IssuerInfo& _internal_issuer_info(int index) const;
  ::longbridgeapp::quote::v1::IssuerInfo* _internal_add_issuer_info();
  public:
  const ::longbridgeapp::quote::v1::IssuerInfo& issuer_info(int index) const;
  ::longbridgeapp::quote::v1::IssuerInfo* add_issuer_info();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::IssuerInfo >&
      issuer_info() const;

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.IssuerInfoResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::IssuerInfo > issuer_info_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class IssuerInfo final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.IssuerInfo) */ {
 public:
  inline IssuerInfo() : IssuerInfo(nullptr) {}
  ~IssuerInfo() override;
  explicit constexpr IssuerInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  IssuerInfo(const IssuerInfo& from);
  IssuerInfo(IssuerInfo&& from) noexcept
    : IssuerInfo() {
    *this = ::std::move(from);
  }

  inline IssuerInfo& operator=(const IssuerInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline IssuerInfo& operator=(IssuerInfo&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const IssuerInfo& default_instance() {
    return *internal_default_instance();
  }
  static inline const IssuerInfo* internal_default_instance() {
    return reinterpret_cast<const IssuerInfo*>(
               &_IssuerInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    33;

  friend void swap(IssuerInfo& a, IssuerInfo& b) {
    a.Swap(&b);
  }
  inline void Swap(IssuerInfo* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(IssuerInfo* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  IssuerInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<IssuerInfo>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const IssuerInfo& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const IssuerInfo& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(IssuerInfo* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.IssuerInfo";
  }
  protected:
  explicit IssuerInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kNameCnFieldNumber = 2,
    kNameEnFieldNumber = 3,
    kNameHkFieldNumber = 4,
    kIdFieldNumber = 1,
  };
  // string name_cn = 2 [json_name = "nameCn"];
  void clear_name_cn();
  const std::string& name_cn() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name_cn(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name_cn();
  PROTOBUF_NODISCARD std::string* release_name_cn();
  void set_allocated_name_cn(std::string* name_cn);
  private:
  const std::string& _internal_name_cn() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name_cn(const std::string& value);
  std::string* _internal_mutable_name_cn();
  public:

  // string name_en = 3 [json_name = "nameEn"];
  void clear_name_en();
  const std::string& name_en() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name_en(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name_en();
  PROTOBUF_NODISCARD std::string* release_name_en();
  void set_allocated_name_en(std::string* name_en);
  private:
  const std::string& _internal_name_en() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name_en(const std::string& value);
  std::string* _internal_mutable_name_en();
  public:

  // string name_hk = 4 [json_name = "nameHk"];
  void clear_name_hk();
  const std::string& name_hk() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name_hk(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name_hk();
  PROTOBUF_NODISCARD std::string* release_name_hk();
  void set_allocated_name_hk(std::string* name_hk);
  private:
  const std::string& _internal_name_hk() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name_hk(const std::string& value);
  std::string* _internal_mutable_name_hk();
  public:

  // int32 id = 1 [json_name = "id"];
  void clear_id();
  int32_t id() const;
  void set_id(int32_t value);
  private:
  int32_t _internal_id() const;
  void _internal_set_id(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.IssuerInfo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_cn_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_en_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_hk_;
  int32_t id_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class WarrantFilterListRequest final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.WarrantFilterListRequest) */ {
 public:
  inline WarrantFilterListRequest() : WarrantFilterListRequest(nullptr) {}
  ~WarrantFilterListRequest() override;
  explicit constexpr WarrantFilterListRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  WarrantFilterListRequest(const WarrantFilterListRequest& from);
  WarrantFilterListRequest(WarrantFilterListRequest&& from) noexcept
    : WarrantFilterListRequest() {
    *this = ::std::move(from);
  }

  inline WarrantFilterListRequest& operator=(const WarrantFilterListRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline WarrantFilterListRequest& operator=(WarrantFilterListRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const WarrantFilterListRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const WarrantFilterListRequest* internal_default_instance() {
    return reinterpret_cast<const WarrantFilterListRequest*>(
               &_WarrantFilterListRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    34;

  friend void swap(WarrantFilterListRequest& a, WarrantFilterListRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(WarrantFilterListRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(WarrantFilterListRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  WarrantFilterListRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<WarrantFilterListRequest>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const WarrantFilterListRequest& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const WarrantFilterListRequest& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(WarrantFilterListRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.WarrantFilterListRequest";
  }
  protected:
  explicit WarrantFilterListRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSymbolFieldNumber = 1,
    kFilterConfigFieldNumber = 2,
    kLanguageFieldNumber = 3,
  };
  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // .longbridgeapp.quote.v1.FilterConfig filter_config = 2 [json_name = "filterConfig"];
  bool has_filter_config() const;
  private:
  bool _internal_has_filter_config() const;
  public:
  void clear_filter_config();
  const ::longbridgeapp::quote::v1::FilterConfig& filter_config() const;
  PROTOBUF_NODISCARD ::longbridgeapp::quote::v1::FilterConfig* release_filter_config();
  ::longbridgeapp::quote::v1::FilterConfig* mutable_filter_config();
  void set_allocated_filter_config(::longbridgeapp::quote::v1::FilterConfig* filter_config);
  private:
  const ::longbridgeapp::quote::v1::FilterConfig& _internal_filter_config() const;
  ::longbridgeapp::quote::v1::FilterConfig* _internal_mutable_filter_config();
  public:
  void unsafe_arena_set_allocated_filter_config(
      ::longbridgeapp::quote::v1::FilterConfig* filter_config);
  ::longbridgeapp::quote::v1::FilterConfig* unsafe_arena_release_filter_config();

  // int32 language = 3 [json_name = "language"];
  void clear_language();
  int32_t language() const;
  void set_language(int32_t value);
  private:
  int32_t _internal_language() const;
  void _internal_set_language(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.WarrantFilterListRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  ::longbridgeapp::quote::v1::FilterConfig* filter_config_;
  int32_t language_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class FilterConfig final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.FilterConfig) */ {
 public:
  inline FilterConfig() : FilterConfig(nullptr) {}
  ~FilterConfig() override;
  explicit constexpr FilterConfig(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  FilterConfig(const FilterConfig& from);
  FilterConfig(FilterConfig&& from) noexcept
    : FilterConfig() {
    *this = ::std::move(from);
  }

  inline FilterConfig& operator=(const FilterConfig& from) {
    CopyFrom(from);
    return *this;
  }
  inline FilterConfig& operator=(FilterConfig&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const FilterConfig& default_instance() {
    return *internal_default_instance();
  }
  static inline const FilterConfig* internal_default_instance() {
    return reinterpret_cast<const FilterConfig*>(
               &_FilterConfig_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    35;

  friend void swap(FilterConfig& a, FilterConfig& b) {
    a.Swap(&b);
  }
  inline void Swap(FilterConfig* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(FilterConfig* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  FilterConfig* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<FilterConfig>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const FilterConfig& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const FilterConfig& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(FilterConfig* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.FilterConfig";
  }
  protected:
  explicit FilterConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kTypeFieldNumber = 5,
    kIssuerFieldNumber = 6,
    kExpiryDateFieldNumber = 7,
    kPriceTypeFieldNumber = 8,
    kStatusFieldNumber = 9,
    kSortByFieldNumber = 1,
    kSortOrderFieldNumber = 2,
    kSortOffsetFieldNumber = 3,
    kSortCountFieldNumber = 4,
  };
  // repeated int32 type = 5 [json_name = "type"];
  int type_size() const;
  private:
  int _internal_type_size() const;
  public:
  void clear_type();
  private:
  int32_t _internal_type(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      _internal_type() const;
  void _internal_add_type(int32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      _internal_mutable_type();
  public:
  int32_t type(int index) const;
  void set_type(int index, int32_t value);
  void add_type(int32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      type() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      mutable_type();

  // repeated int32 issuer = 6 [json_name = "issuer"];
  int issuer_size() const;
  private:
  int _internal_issuer_size() const;
  public:
  void clear_issuer();
  private:
  int32_t _internal_issuer(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      _internal_issuer() const;
  void _internal_add_issuer(int32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      _internal_mutable_issuer();
  public:
  int32_t issuer(int index) const;
  void set_issuer(int index, int32_t value);
  void add_issuer(int32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      issuer() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      mutable_issuer();

  // repeated int32 expiry_date = 7 [json_name = "expiryDate"];
  int expiry_date_size() const;
  private:
  int _internal_expiry_date_size() const;
  public:
  void clear_expiry_date();
  private:
  int32_t _internal_expiry_date(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      _internal_expiry_date() const;
  void _internal_add_expiry_date(int32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      _internal_mutable_expiry_date();
  public:
  int32_t expiry_date(int index) const;
  void set_expiry_date(int index, int32_t value);
  void add_expiry_date(int32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      expiry_date() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      mutable_expiry_date();

  // repeated int32 price_type = 8 [json_name = "priceType"];
  int price_type_size() const;
  private:
  int _internal_price_type_size() const;
  public:
  void clear_price_type();
  private:
  int32_t _internal_price_type(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      _internal_price_type() const;
  void _internal_add_price_type(int32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      _internal_mutable_price_type();
  public:
  int32_t price_type(int index) const;
  void set_price_type(int index, int32_t value);
  void add_price_type(int32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      price_type() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      mutable_price_type();

  // repeated int32 status = 9 [json_name = "status"];
  int status_size() const;
  private:
  int _internal_status_size() const;
  public:
  void clear_status();
  private:
  int32_t _internal_status(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      _internal_status() const;
  void _internal_add_status(int32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      _internal_mutable_status();
  public:
  int32_t status(int index) const;
  void set_status(int index, int32_t value);
  void add_status(int32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      status() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      mutable_status();

  // int32 sort_by = 1 [json_name = "sortBy"];
  void clear_sort_by();
  int32_t sort_by() const;
  void set_sort_by(int32_t value);
  private:
  int32_t _internal_sort_by() const;
  void _internal_set_sort_by(int32_t value);
  public:

  // int32 sort_order = 2 [json_name = "sortOrder"];
  void clear_sort_order();
  int32_t sort_order() const;
  void set_sort_order(int32_t value);
  private:
  int32_t _internal_sort_order() const;
  void _internal_set_sort_order(int32_t value);
  public:

  // int32 sort_offset = 3 [json_name = "sortOffset"];
  void clear_sort_offset();
  int32_t sort_offset() const;
  void set_sort_offset(int32_t value);
  private:
  int32_t _internal_sort_offset() const;
  void _internal_set_sort_offset(int32_t value);
  public:

  // int32 sort_count = 4 [json_name = "sortCount"];
  void clear_sort_count();
  int32_t sort_count() const;
  void set_sort_count(int32_t value);
  private:
  int32_t _internal_sort_count() const;
  void _internal_set_sort_count(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.FilterConfig)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > type_;
  mutable std::atomic<int> _type_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > issuer_;
  mutable std::atomic<int> _issuer_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > expiry_date_;
  mutable std::atomic<int> _expiry_date_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > price_type_;
  mutable std::atomic<int> _price_type_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > status_;
  mutable std::atomic<int> _status_cached_byte_size_;
  int32_t sort_by_;
  int32_t sort_order_;
  int32_t sort_offset_;
  int32_t sort_count_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class WarrantFilterListResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.WarrantFilterListResponse) */ {
 public:
  inline WarrantFilterListResponse() : WarrantFilterListResponse(nullptr) {}
  ~WarrantFilterListResponse() override;
  explicit constexpr WarrantFilterListResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  WarrantFilterListResponse(const WarrantFilterListResponse& from);
  WarrantFilterListResponse(WarrantFilterListResponse&& from) noexcept
    : WarrantFilterListResponse() {
    *this = ::std::move(from);
  }

  inline WarrantFilterListResponse& operator=(const WarrantFilterListResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline WarrantFilterListResponse& operator=(WarrantFilterListResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const WarrantFilterListResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const WarrantFilterListResponse* internal_default_instance() {
    return reinterpret_cast<const WarrantFilterListResponse*>(
               &_WarrantFilterListResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    36;

  friend void swap(WarrantFilterListResponse& a, WarrantFilterListResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(WarrantFilterListResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(WarrantFilterListResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  WarrantFilterListResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<WarrantFilterListResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const WarrantFilterListResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const WarrantFilterListResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(WarrantFilterListResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.WarrantFilterListResponse";
  }
  protected:
  explicit WarrantFilterListResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kWarrantListFieldNumber = 1,
    kTotalCountFieldNumber = 2,
  };
  // repeated .longbridgeapp.quote.v1.FilterWarrant warrant_list = 1 [json_name = "warrantList"];
  int warrant_list_size() const;
  private:
  int _internal_warrant_list_size() const;
  public:
  void clear_warrant_list();
  ::longbridgeapp::quote::v1::FilterWarrant* mutable_warrant_list(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::FilterWarrant >*
      mutable_warrant_list();
  private:
  const ::longbridgeapp::quote::v1::FilterWarrant& _internal_warrant_list(int index) const;
  ::longbridgeapp::quote::v1::FilterWarrant* _internal_add_warrant_list();
  public:
  const ::longbridgeapp::quote::v1::FilterWarrant& warrant_list(int index) const;
  ::longbridgeapp::quote::v1::FilterWarrant* add_warrant_list();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::FilterWarrant >&
      warrant_list() const;

  // int32 total_count = 2 [json_name = "totalCount"];
  void clear_total_count();
  int32_t total_count() const;
  void set_total_count(int32_t value);
  private:
  int32_t _internal_total_count() const;
  void _internal_set_total_count(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.WarrantFilterListResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::FilterWarrant > warrant_list_;
  int32_t total_count_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class FilterWarrant final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.FilterWarrant) */ {
 public:
  inline FilterWarrant() : FilterWarrant(nullptr) {}
  ~FilterWarrant() override;
  explicit constexpr FilterWarrant(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  FilterWarrant(const FilterWarrant& from);
  FilterWarrant(FilterWarrant&& from) noexcept
    : FilterWarrant() {
    *this = ::std::move(from);
  }

  inline FilterWarrant& operator=(const FilterWarrant& from) {
    CopyFrom(from);
    return *this;
  }
  inline FilterWarrant& operator=(FilterWarrant&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const FilterWarrant& default_instance() {
    return *internal_default_instance();
  }
  static inline const FilterWarrant* internal_default_instance() {
    return reinterpret_cast<const FilterWarrant*>(
               &_FilterWarrant_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    37;

  friend void swap(FilterWarrant& a, FilterWarrant& b) {
    a.Swap(&b);
  }
  inline void Swap(FilterWarrant* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(FilterWarrant* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  FilterWarrant* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<FilterWarrant>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const FilterWarrant& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const FilterWarrant& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(FilterWarrant* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.FilterWarrant";
  }
  protected:
  explicit FilterWarrant(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSymbolFieldNumber = 1,
    kNameFieldNumber = 2,
    kLastDoneFieldNumber = 3,
    kChangeRateFieldNumber = 4,
    kChangeValFieldNumber = 5,
    kTurnoverFieldNumber = 7,
    kExpiryDateFieldNumber = 8,
    kStrikePriceFieldNumber = 9,
    kUpperStrikePriceFieldNumber = 10,
    kLowerStrikePriceFieldNumber = 11,
    kOutstandingQtyFieldNumber = 12,
    kOutstandingRatioFieldNumber = 13,
    kPremiumFieldNumber = 14,
    kItmOtmFieldNumber = 15,
    kImpliedVolatilityFieldNumber = 16,
    kDeltaFieldNumber = 17,
    kCallPriceFieldNumber = 18,
    kToCallPriceFieldNumber = 19,
    kEffectiveLeverageFieldNumber = 20,
    kLeverageRatioFieldNumber = 21,
    kConversionRatioFieldNumber = 22,
    kBalancePointFieldNumber = 23,
    kStateFieldNumber = 24,
    kVolumeFieldNumber = 6,
  };
  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // string name = 2 [json_name = "name"];
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // string last_done = 3 [json_name = "lastDone"];
  void clear_last_done();
  const std::string& last_done() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_last_done(ArgT0&& arg0, ArgT... args);
  std::string* mutable_last_done();
  PROTOBUF_NODISCARD std::string* release_last_done();
  void set_allocated_last_done(std::string* last_done);
  private:
  const std::string& _internal_last_done() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_last_done(const std::string& value);
  std::string* _internal_mutable_last_done();
  public:

  // string change_rate = 4 [json_name = "changeRate"];
  void clear_change_rate();
  const std::string& change_rate() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_change_rate(ArgT0&& arg0, ArgT... args);
  std::string* mutable_change_rate();
  PROTOBUF_NODISCARD std::string* release_change_rate();
  void set_allocated_change_rate(std::string* change_rate);
  private:
  const std::string& _internal_change_rate() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_change_rate(const std::string& value);
  std::string* _internal_mutable_change_rate();
  public:

  // string change_val = 5 [json_name = "changeVal"];
  void clear_change_val();
  const std::string& change_val() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_change_val(ArgT0&& arg0, ArgT... args);
  std::string* mutable_change_val();
  PROTOBUF_NODISCARD std::string* release_change_val();
  void set_allocated_change_val(std::string* change_val);
  private:
  const std::string& _internal_change_val() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_change_val(const std::string& value);
  std::string* _internal_mutable_change_val();
  public:

  // string turnover = 7 [json_name = "turnover"];
  void clear_turnover();
  const std::string& turnover() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_turnover(ArgT0&& arg0, ArgT... args);
  std::string* mutable_turnover();
  PROTOBUF_NODISCARD std::string* release_turnover();
  void set_allocated_turnover(std::string* turnover);
  private:
  const std::string& _internal_turnover() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_turnover(const std::string& value);
  std::string* _internal_mutable_turnover();
  public:

  // string expiry_date = 8 [json_name = "expiryDate"];
  void clear_expiry_date();
  const std::string& expiry_date() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_expiry_date(ArgT0&& arg0, ArgT... args);
  std::string* mutable_expiry_date();
  PROTOBUF_NODISCARD std::string* release_expiry_date();
  void set_allocated_expiry_date(std::string* expiry_date);
  private:
  const std::string& _internal_expiry_date() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_expiry_date(const std::string& value);
  std::string* _internal_mutable_expiry_date();
  public:

  // string strike_price = 9 [json_name = "strikePrice"];
  void clear_strike_price();
  const std::string& strike_price() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_strike_price(ArgT0&& arg0, ArgT... args);
  std::string* mutable_strike_price();
  PROTOBUF_NODISCARD std::string* release_strike_price();
  void set_allocated_strike_price(std::string* strike_price);
  private:
  const std::string& _internal_strike_price() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_strike_price(const std::string& value);
  std::string* _internal_mutable_strike_price();
  public:

  // string upper_strike_price = 10 [json_name = "upperStrikePrice"];
  void clear_upper_strike_price();
  const std::string& upper_strike_price() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_upper_strike_price(ArgT0&& arg0, ArgT... args);
  std::string* mutable_upper_strike_price();
  PROTOBUF_NODISCARD std::string* release_upper_strike_price();
  void set_allocated_upper_strike_price(std::string* upper_strike_price);
  private:
  const std::string& _internal_upper_strike_price() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_upper_strike_price(const std::string& value);
  std::string* _internal_mutable_upper_strike_price();
  public:

  // string lower_strike_price = 11 [json_name = "lowerStrikePrice"];
  void clear_lower_strike_price();
  const std::string& lower_strike_price() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_lower_strike_price(ArgT0&& arg0, ArgT... args);
  std::string* mutable_lower_strike_price();
  PROTOBUF_NODISCARD std::string* release_lower_strike_price();
  void set_allocated_lower_strike_price(std::string* lower_strike_price);
  private:
  const std::string& _internal_lower_strike_price() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_lower_strike_price(const std::string& value);
  std::string* _internal_mutable_lower_strike_price();
  public:

  // string outstanding_qty = 12 [json_name = "outstandingQty"];
  void clear_outstanding_qty();
  const std::string& outstanding_qty() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_outstanding_qty(ArgT0&& arg0, ArgT... args);
  std::string* mutable_outstanding_qty();
  PROTOBUF_NODISCARD std::string* release_outstanding_qty();
  void set_allocated_outstanding_qty(std::string* outstanding_qty);
  private:
  const std::string& _internal_outstanding_qty() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_outstanding_qty(const std::string& value);
  std::string* _internal_mutable_outstanding_qty();
  public:

  // string outstanding_ratio = 13 [json_name = "outstandingRatio"];
  void clear_outstanding_ratio();
  const std::string& outstanding_ratio() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_outstanding_ratio(ArgT0&& arg0, ArgT... args);
  std::string* mutable_outstanding_ratio();
  PROTOBUF_NODISCARD std::string* release_outstanding_ratio();
  void set_allocated_outstanding_ratio(std::string* outstanding_ratio);
  private:
  const std::string& _internal_outstanding_ratio() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_outstanding_ratio(const std::string& value);
  std::string* _internal_mutable_outstanding_ratio();
  public:

  // string premium = 14 [json_name = "premium"];
  void clear_premium();
  const std::string& premium() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_premium(ArgT0&& arg0, ArgT... args);
  std::string* mutable_premium();
  PROTOBUF_NODISCARD std::string* release_premium();
  void set_allocated_premium(std::string* premium);
  private:
  const std::string& _internal_premium() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_premium(const std::string& value);
  std::string* _internal_mutable_premium();
  public:

  // string itm_otm = 15 [json_name = "itmOtm"];
  void clear_itm_otm();
  const std::string& itm_otm() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_itm_otm(ArgT0&& arg0, ArgT... args);
  std::string* mutable_itm_otm();
  PROTOBUF_NODISCARD std::string* release_itm_otm();
  void set_allocated_itm_otm(std::string* itm_otm);
  private:
  const std::string& _internal_itm_otm() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_itm_otm(const std::string& value);
  std::string* _internal_mutable_itm_otm();
  public:

  // string implied_volatility = 16 [json_name = "impliedVolatility"];
  void clear_implied_volatility();
  const std::string& implied_volatility() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_implied_volatility(ArgT0&& arg0, ArgT... args);
  std::string* mutable_implied_volatility();
  PROTOBUF_NODISCARD std::string* release_implied_volatility();
  void set_allocated_implied_volatility(std::string* implied_volatility);
  private:
  const std::string& _internal_implied_volatility() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_implied_volatility(const std::string& value);
  std::string* _internal_mutable_implied_volatility();
  public:

  // string delta = 17 [json_name = "delta"];
  void clear_delta();
  const std::string& delta() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_delta(ArgT0&& arg0, ArgT... args);
  std::string* mutable_delta();
  PROTOBUF_NODISCARD std::string* release_delta();
  void set_allocated_delta(std::string* delta);
  private:
  const std::string& _internal_delta() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_delta(const std::string& value);
  std::string* _internal_mutable_delta();
  public:

  // string call_price = 18 [json_name = "callPrice"];
  void clear_call_price();
  const std::string& call_price() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_call_price(ArgT0&& arg0, ArgT... args);
  std::string* mutable_call_price();
  PROTOBUF_NODISCARD std::string* release_call_price();
  void set_allocated_call_price(std::string* call_price);
  private:
  const std::string& _internal_call_price() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_call_price(const std::string& value);
  std::string* _internal_mutable_call_price();
  public:

  // string to_call_price = 19 [json_name = "toCallPrice"];
  void clear_to_call_price();
  const std::string& to_call_price() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_to_call_price(ArgT0&& arg0, ArgT... args);
  std::string* mutable_to_call_price();
  PROTOBUF_NODISCARD std::string* release_to_call_price();
  void set_allocated_to_call_price(std::string* to_call_price);
  private:
  const std::string& _internal_to_call_price() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_to_call_price(const std::string& value);
  std::string* _internal_mutable_to_call_price();
  public:

  // string effective_leverage = 20 [json_name = "effectiveLeverage"];
  void clear_effective_leverage();
  const std::string& effective_leverage() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_effective_leverage(ArgT0&& arg0, ArgT... args);
  std::string* mutable_effective_leverage();
  PROTOBUF_NODISCARD std::string* release_effective_leverage();
  void set_allocated_effective_leverage(std::string* effective_leverage);
  private:
  const std::string& _internal_effective_leverage() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_effective_leverage(const std::string& value);
  std::string* _internal_mutable_effective_leverage();
  public:

  // string leverage_ratio = 21 [json_name = "leverageRatio"];
  void clear_leverage_ratio();
  const std::string& leverage_ratio() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_leverage_ratio(ArgT0&& arg0, ArgT... args);
  std::string* mutable_leverage_ratio();
  PROTOBUF_NODISCARD std::string* release_leverage_ratio();
  void set_allocated_leverage_ratio(std::string* leverage_ratio);
  private:
  const std::string& _internal_leverage_ratio() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_leverage_ratio(const std::string& value);
  std::string* _internal_mutable_leverage_ratio();
  public:

  // string conversion_ratio = 22 [json_name = "conversionRatio"];
  void clear_conversion_ratio();
  const std::string& conversion_ratio() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_conversion_ratio(ArgT0&& arg0, ArgT... args);
  std::string* mutable_conversion_ratio();
  PROTOBUF_NODISCARD std::string* release_conversion_ratio();
  void set_allocated_conversion_ratio(std::string* conversion_ratio);
  private:
  const std::string& _internal_conversion_ratio() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_conversion_ratio(const std::string& value);
  std::string* _internal_mutable_conversion_ratio();
  public:

  // string balance_point = 23 [json_name = "balancePoint"];
  void clear_balance_point();
  const std::string& balance_point() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_balance_point(ArgT0&& arg0, ArgT... args);
  std::string* mutable_balance_point();
  PROTOBUF_NODISCARD std::string* release_balance_point();
  void set_allocated_balance_point(std::string* balance_point);
  private:
  const std::string& _internal_balance_point() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_balance_point(const std::string& value);
  std::string* _internal_mutable_balance_point();
  public:

  // string state = 24 [json_name = "state"];
  void clear_state();
  const std::string& state() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_state(ArgT0&& arg0, ArgT... args);
  std::string* mutable_state();
  PROTOBUF_NODISCARD std::string* release_state();
  void set_allocated_state(std::string* state);
  private:
  const std::string& _internal_state() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_state(const std::string& value);
  std::string* _internal_mutable_state();
  public:

  // int64 volume = 6 [json_name = "volume"];
  void clear_volume();
  int64_t volume() const;
  void set_volume(int64_t value);
  private:
  int64_t _internal_volume() const;
  void _internal_set_volume(int64_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.FilterWarrant)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr last_done_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr change_rate_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr change_val_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr turnover_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr expiry_date_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr strike_price_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr upper_strike_price_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr lower_strike_price_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr outstanding_qty_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr outstanding_ratio_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr premium_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr itm_otm_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr implied_volatility_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr delta_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr call_price_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr to_call_price_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr effective_leverage_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr leverage_ratio_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr conversion_ratio_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr balance_point_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr state_;
  int64_t volume_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class MarketTradePeriodResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.MarketTradePeriodResponse) */ {
 public:
  inline MarketTradePeriodResponse() : MarketTradePeriodResponse(nullptr) {}
  ~MarketTradePeriodResponse() override;
  explicit constexpr MarketTradePeriodResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  MarketTradePeriodResponse(const MarketTradePeriodResponse& from);
  MarketTradePeriodResponse(MarketTradePeriodResponse&& from) noexcept
    : MarketTradePeriodResponse() {
    *this = ::std::move(from);
  }

  inline MarketTradePeriodResponse& operator=(const MarketTradePeriodResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline MarketTradePeriodResponse& operator=(MarketTradePeriodResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const MarketTradePeriodResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const MarketTradePeriodResponse* internal_default_instance() {
    return reinterpret_cast<const MarketTradePeriodResponse*>(
               &_MarketTradePeriodResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    38;

  friend void swap(MarketTradePeriodResponse& a, MarketTradePeriodResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(MarketTradePeriodResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MarketTradePeriodResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  MarketTradePeriodResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<MarketTradePeriodResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const MarketTradePeriodResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const MarketTradePeriodResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MarketTradePeriodResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.MarketTradePeriodResponse";
  }
  protected:
  explicit MarketTradePeriodResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kMarketTradeSessionFieldNumber = 1,
  };
  // repeated .longbridgeapp.quote.v1.MarketTradePeriod market_trade_session = 1 [json_name = "marketTradeSession"];
  int market_trade_session_size() const;
  private:
  int _internal_market_trade_session_size() const;
  public:
  void clear_market_trade_session();
  ::longbridgeapp::quote::v1::MarketTradePeriod* mutable_market_trade_session(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::MarketTradePeriod >*
      mutable_market_trade_session();
  private:
  const ::longbridgeapp::quote::v1::MarketTradePeriod& _internal_market_trade_session(int index) const;
  ::longbridgeapp::quote::v1::MarketTradePeriod* _internal_add_market_trade_session();
  public:
  const ::longbridgeapp::quote::v1::MarketTradePeriod& market_trade_session(int index) const;
  ::longbridgeapp::quote::v1::MarketTradePeriod* add_market_trade_session();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::MarketTradePeriod >&
      market_trade_session() const;

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.MarketTradePeriodResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::MarketTradePeriod > market_trade_session_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class MarketTradePeriod final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.MarketTradePeriod) */ {
 public:
  inline MarketTradePeriod() : MarketTradePeriod(nullptr) {}
  ~MarketTradePeriod() override;
  explicit constexpr MarketTradePeriod(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  MarketTradePeriod(const MarketTradePeriod& from);
  MarketTradePeriod(MarketTradePeriod&& from) noexcept
    : MarketTradePeriod() {
    *this = ::std::move(from);
  }

  inline MarketTradePeriod& operator=(const MarketTradePeriod& from) {
    CopyFrom(from);
    return *this;
  }
  inline MarketTradePeriod& operator=(MarketTradePeriod&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const MarketTradePeriod& default_instance() {
    return *internal_default_instance();
  }
  static inline const MarketTradePeriod* internal_default_instance() {
    return reinterpret_cast<const MarketTradePeriod*>(
               &_MarketTradePeriod_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    39;

  friend void swap(MarketTradePeriod& a, MarketTradePeriod& b) {
    a.Swap(&b);
  }
  inline void Swap(MarketTradePeriod* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MarketTradePeriod* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  MarketTradePeriod* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<MarketTradePeriod>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const MarketTradePeriod& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const MarketTradePeriod& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MarketTradePeriod* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.MarketTradePeriod";
  }
  protected:
  explicit MarketTradePeriod(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kTradeSessionFieldNumber = 2,
    kMarketFieldNumber = 1,
  };
  // repeated .longbridgeapp.quote.v1.TradePeriod trade_session = 2 [json_name = "tradeSession"];
  int trade_session_size() const;
  private:
  int _internal_trade_session_size() const;
  public:
  void clear_trade_session();
  ::longbridgeapp::quote::v1::TradePeriod* mutable_trade_session(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::TradePeriod >*
      mutable_trade_session();
  private:
  const ::longbridgeapp::quote::v1::TradePeriod& _internal_trade_session(int index) const;
  ::longbridgeapp::quote::v1::TradePeriod* _internal_add_trade_session();
  public:
  const ::longbridgeapp::quote::v1::TradePeriod& trade_session(int index) const;
  ::longbridgeapp::quote::v1::TradePeriod* add_trade_session();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::TradePeriod >&
      trade_session() const;

  // string market = 1 [json_name = "market"];
  void clear_market();
  const std::string& market() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_market(ArgT0&& arg0, ArgT... args);
  std::string* mutable_market();
  PROTOBUF_NODISCARD std::string* release_market();
  void set_allocated_market(std::string* market);
  private:
  const std::string& _internal_market() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_market(const std::string& value);
  std::string* _internal_mutable_market();
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.MarketTradePeriod)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::TradePeriod > trade_session_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr market_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class TradePeriod final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.TradePeriod) */ {
 public:
  inline TradePeriod() : TradePeriod(nullptr) {}
  ~TradePeriod() override;
  explicit constexpr TradePeriod(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  TradePeriod(const TradePeriod& from);
  TradePeriod(TradePeriod&& from) noexcept
    : TradePeriod() {
    *this = ::std::move(from);
  }

  inline TradePeriod& operator=(const TradePeriod& from) {
    CopyFrom(from);
    return *this;
  }
  inline TradePeriod& operator=(TradePeriod&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const TradePeriod& default_instance() {
    return *internal_default_instance();
  }
  static inline const TradePeriod* internal_default_instance() {
    return reinterpret_cast<const TradePeriod*>(
               &_TradePeriod_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    40;

  friend void swap(TradePeriod& a, TradePeriod& b) {
    a.Swap(&b);
  }
  inline void Swap(TradePeriod* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TradePeriod* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  TradePeriod* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<TradePeriod>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const TradePeriod& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const TradePeriod& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(TradePeriod* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.TradePeriod";
  }
  protected:
  explicit TradePeriod(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kBegTimeFieldNumber = 1,
    kEndTimeFieldNumber = 2,
    kTradeSessionFieldNumber = 3,
  };
  // int32 beg_time = 1 [json_name = "begTime"];
  void clear_beg_time();
  int32_t beg_time() const;
  void set_beg_time(int32_t value);
  private:
  int32_t _internal_beg_time() const;
  void _internal_set_beg_time(int32_t value);
  public:

  // int32 end_time = 2 [json_name = "endTime"];
  void clear_end_time();
  int32_t end_time() const;
  void set_end_time(int32_t value);
  private:
  int32_t _internal_end_time() const;
  void _internal_set_end_time(int32_t value);
  public:

  // .longbridgeapp.quote.v1.TradeSession trade_session = 3 [json_name = "tradeSession"];
  void clear_trade_session();
  ::longbridgeapp::quote::v1::TradeSession trade_session() const;
  void set_trade_session(::longbridgeapp::quote::v1::TradeSession value);
  private:
  ::longbridgeapp::quote::v1::TradeSession _internal_trade_session() const;
  void _internal_set_trade_session(::longbridgeapp::quote::v1::TradeSession value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.TradePeriod)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  int32_t beg_time_;
  int32_t end_time_;
  int trade_session_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class SubscriptionRequest final :
    public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.SubscriptionRequest) */ {
 public:
  inline SubscriptionRequest() : SubscriptionRequest(nullptr) {}
  explicit constexpr SubscriptionRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  SubscriptionRequest(const SubscriptionRequest& from);
  SubscriptionRequest(SubscriptionRequest&& from) noexcept
    : SubscriptionRequest() {
    *this = ::std::move(from);
  }

  inline SubscriptionRequest& operator=(const SubscriptionRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline SubscriptionRequest& operator=(SubscriptionRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SubscriptionRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const SubscriptionRequest* internal_default_instance() {
    return reinterpret_cast<const SubscriptionRequest*>(
               &_SubscriptionRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    41;

  friend void swap(SubscriptionRequest& a, SubscriptionRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(SubscriptionRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SubscriptionRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SubscriptionRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SubscriptionRequest>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const SubscriptionRequest& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(this, from);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const SubscriptionRequest& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(this, from);
  }
  public:

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.SubscriptionRequest";
  }
  protected:
  explicit SubscriptionRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.SubscriptionRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class SubscriptionResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.SubscriptionResponse) */ {
 public:
  inline SubscriptionResponse() : SubscriptionResponse(nullptr) {}
  ~SubscriptionResponse() override;
  explicit constexpr SubscriptionResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  SubscriptionResponse(const SubscriptionResponse& from);
  SubscriptionResponse(SubscriptionResponse&& from) noexcept
    : SubscriptionResponse() {
    *this = ::std::move(from);
  }

  inline SubscriptionResponse& operator=(const SubscriptionResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline SubscriptionResponse& operator=(SubscriptionResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SubscriptionResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const SubscriptionResponse* internal_default_instance() {
    return reinterpret_cast<const SubscriptionResponse*>(
               &_SubscriptionResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    42;

  friend void swap(SubscriptionResponse& a, SubscriptionResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(SubscriptionResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SubscriptionResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SubscriptionResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SubscriptionResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const SubscriptionResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const SubscriptionResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SubscriptionResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.SubscriptionResponse";
  }
  protected:
  explicit SubscriptionResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSubListFieldNumber = 1,
  };
  // repeated .longbridgeapp.quote.v1.SubTypeList sub_list = 1 [json_name = "subList"];
  int sub_list_size() const;
  private:
  int _internal_sub_list_size() const;
  public:
  void clear_sub_list();
  ::longbridgeapp::quote::v1::SubTypeList* mutable_sub_list(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::SubTypeList >*
      mutable_sub_list();
  private:
  const ::longbridgeapp::quote::v1::SubTypeList& _internal_sub_list(int index) const;
  ::longbridgeapp::quote::v1::SubTypeList* _internal_add_sub_list();
  public:
  const ::longbridgeapp::quote::v1::SubTypeList& sub_list(int index) const;
  ::longbridgeapp::quote::v1::SubTypeList* add_sub_list();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::SubTypeList >&
      sub_list() const;

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.SubscriptionResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::SubTypeList > sub_list_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class SubTypeList final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.SubTypeList) */ {
 public:
  inline SubTypeList() : SubTypeList(nullptr) {}
  ~SubTypeList() override;
  explicit constexpr SubTypeList(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  SubTypeList(const SubTypeList& from);
  SubTypeList(SubTypeList&& from) noexcept
    : SubTypeList() {
    *this = ::std::move(from);
  }

  inline SubTypeList& operator=(const SubTypeList& from) {
    CopyFrom(from);
    return *this;
  }
  inline SubTypeList& operator=(SubTypeList&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SubTypeList& default_instance() {
    return *internal_default_instance();
  }
  static inline const SubTypeList* internal_default_instance() {
    return reinterpret_cast<const SubTypeList*>(
               &_SubTypeList_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    43;

  friend void swap(SubTypeList& a, SubTypeList& b) {
    a.Swap(&b);
  }
  inline void Swap(SubTypeList* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SubTypeList* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SubTypeList* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SubTypeList>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const SubTypeList& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const SubTypeList& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SubTypeList* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.SubTypeList";
  }
  protected:
  explicit SubTypeList(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSubTypeFieldNumber = 2,
    kSymbolFieldNumber = 1,
  };
  // repeated .longbridgeapp.quote.v1.SubType sub_type = 2 [json_name = "subType"];
  int sub_type_size() const;
  private:
  int _internal_sub_type_size() const;
  public:
  void clear_sub_type();
  private:
  ::longbridgeapp::quote::v1::SubType _internal_sub_type(int index) const;
  void _internal_add_sub_type(::longbridgeapp::quote::v1::SubType value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* _internal_mutable_sub_type();
  public:
  ::longbridgeapp::quote::v1::SubType sub_type(int index) const;
  void set_sub_type(int index, ::longbridgeapp::quote::v1::SubType value);
  void add_sub_type(::longbridgeapp::quote::v1::SubType value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>& sub_type() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* mutable_sub_type();

  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.SubTypeList)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int> sub_type_;
  mutable std::atomic<int> _sub_type_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class SubscribeRequest final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.SubscribeRequest) */ {
 public:
  inline SubscribeRequest() : SubscribeRequest(nullptr) {}
  ~SubscribeRequest() override;
  explicit constexpr SubscribeRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  SubscribeRequest(const SubscribeRequest& from);
  SubscribeRequest(SubscribeRequest&& from) noexcept
    : SubscribeRequest() {
    *this = ::std::move(from);
  }

  inline SubscribeRequest& operator=(const SubscribeRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline SubscribeRequest& operator=(SubscribeRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SubscribeRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const SubscribeRequest* internal_default_instance() {
    return reinterpret_cast<const SubscribeRequest*>(
               &_SubscribeRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    44;

  friend void swap(SubscribeRequest& a, SubscribeRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(SubscribeRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SubscribeRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SubscribeRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SubscribeRequest>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const SubscribeRequest& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const SubscribeRequest& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SubscribeRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.SubscribeRequest";
  }
  protected:
  explicit SubscribeRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSymbolFieldNumber = 1,
    kSubTypeFieldNumber = 2,
    kIsFirstPushFieldNumber = 3,
  };
  // repeated string symbol = 1 [json_name = "symbol"];
  int symbol_size() const;
  private:
  int _internal_symbol_size() const;
  public:
  void clear_symbol();
  const std::string& symbol(int index) const;
  std::string* mutable_symbol(int index);
  void set_symbol(int index, const std::string& value);
  void set_symbol(int index, std::string&& value);
  void set_symbol(int index, const char* value);
  void set_symbol(int index, const char* value, size_t size);
  std::string* add_symbol();
  void add_symbol(const std::string& value);
  void add_symbol(std::string&& value);
  void add_symbol(const char* value);
  void add_symbol(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& symbol() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_symbol();
  private:
  const std::string& _internal_symbol(int index) const;
  std::string* _internal_add_symbol();
  public:

  // repeated .longbridgeapp.quote.v1.SubType sub_type = 2 [json_name = "subType"];
  int sub_type_size() const;
  private:
  int _internal_sub_type_size() const;
  public:
  void clear_sub_type();
  private:
  ::longbridgeapp::quote::v1::SubType _internal_sub_type(int index) const;
  void _internal_add_sub_type(::longbridgeapp::quote::v1::SubType value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* _internal_mutable_sub_type();
  public:
  ::longbridgeapp::quote::v1::SubType sub_type(int index) const;
  void set_sub_type(int index, ::longbridgeapp::quote::v1::SubType value);
  void add_sub_type(::longbridgeapp::quote::v1::SubType value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>& sub_type() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* mutable_sub_type();

  // bool is_first_push = 3 [json_name = "isFirstPush"];
  void clear_is_first_push();
  bool is_first_push() const;
  void set_is_first_push(bool value);
  private:
  bool _internal_is_first_push() const;
  void _internal_set_is_first_push(bool value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.SubscribeRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> symbol_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int> sub_type_;
  mutable std::atomic<int> _sub_type_cached_byte_size_;
  bool is_first_push_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class UnsubscribeRequest final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.UnsubscribeRequest) */ {
 public:
  inline UnsubscribeRequest() : UnsubscribeRequest(nullptr) {}
  ~UnsubscribeRequest() override;
  explicit constexpr UnsubscribeRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  UnsubscribeRequest(const UnsubscribeRequest& from);
  UnsubscribeRequest(UnsubscribeRequest&& from) noexcept
    : UnsubscribeRequest() {
    *this = ::std::move(from);
  }

  inline UnsubscribeRequest& operator=(const UnsubscribeRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline UnsubscribeRequest& operator=(UnsubscribeRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const UnsubscribeRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const UnsubscribeRequest* internal_default_instance() {
    return reinterpret_cast<const UnsubscribeRequest*>(
               &_UnsubscribeRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    45;

  friend void swap(UnsubscribeRequest& a, UnsubscribeRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(UnsubscribeRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UnsubscribeRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  UnsubscribeRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<UnsubscribeRequest>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const UnsubscribeRequest& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const UnsubscribeRequest& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(UnsubscribeRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.UnsubscribeRequest";
  }
  protected:
  explicit UnsubscribeRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSymbolFieldNumber = 1,
    kSubTypeFieldNumber = 2,
    kUnsubAllFieldNumber = 3,
  };
  // repeated string symbol = 1 [json_name = "symbol"];
  int symbol_size() const;
  private:
  int _internal_symbol_size() const;
  public:
  void clear_symbol();
  const std::string& symbol(int index) const;
  std::string* mutable_symbol(int index);
  void set_symbol(int index, const std::string& value);
  void set_symbol(int index, std::string&& value);
  void set_symbol(int index, const char* value);
  void set_symbol(int index, const char* value, size_t size);
  std::string* add_symbol();
  void add_symbol(const std::string& value);
  void add_symbol(std::string&& value);
  void add_symbol(const char* value);
  void add_symbol(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& symbol() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_symbol();
  private:
  const std::string& _internal_symbol(int index) const;
  std::string* _internal_add_symbol();
  public:

  // repeated .longbridgeapp.quote.v1.SubType sub_type = 2 [json_name = "subType"];
  int sub_type_size() const;
  private:
  int _internal_sub_type_size() const;
  public:
  void clear_sub_type();
  private:
  ::longbridgeapp::quote::v1::SubType _internal_sub_type(int index) const;
  void _internal_add_sub_type(::longbridgeapp::quote::v1::SubType value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* _internal_mutable_sub_type();
  public:
  ::longbridgeapp::quote::v1::SubType sub_type(int index) const;
  void set_sub_type(int index, ::longbridgeapp::quote::v1::SubType value);
  void add_sub_type(::longbridgeapp::quote::v1::SubType value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>& sub_type() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* mutable_sub_type();

  // bool unsub_all = 3 [json_name = "unsubAll"];
  void clear_unsub_all();
  bool unsub_all() const;
  void set_unsub_all(bool value);
  private:
  bool _internal_unsub_all() const;
  void _internal_set_unsub_all(bool value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.UnsubscribeRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> symbol_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int> sub_type_;
  mutable std::atomic<int> _sub_type_cached_byte_size_;
  bool unsub_all_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class UnsubscribeResponse final :
    public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.UnsubscribeResponse) */ {
 public:
  inline UnsubscribeResponse() : UnsubscribeResponse(nullptr) {}
  explicit constexpr UnsubscribeResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  UnsubscribeResponse(const UnsubscribeResponse& from);
  UnsubscribeResponse(UnsubscribeResponse&& from) noexcept
    : UnsubscribeResponse() {
    *this = ::std::move(from);
  }

  inline UnsubscribeResponse& operator=(const UnsubscribeResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline UnsubscribeResponse& operator=(UnsubscribeResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const UnsubscribeResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const UnsubscribeResponse* internal_default_instance() {
    return reinterpret_cast<const UnsubscribeResponse*>(
               &_UnsubscribeResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    46;

  friend void swap(UnsubscribeResponse& a, UnsubscribeResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(UnsubscribeResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UnsubscribeResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  UnsubscribeResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<UnsubscribeResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const UnsubscribeResponse& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(this, from);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const UnsubscribeResponse& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(this, from);
  }
  public:

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.UnsubscribeResponse";
  }
  protected:
  explicit UnsubscribeResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.UnsubscribeResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class PushQuote final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.PushQuote) */ {
 public:
  inline PushQuote() : PushQuote(nullptr) {}
  ~PushQuote() override;
  explicit constexpr PushQuote(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PushQuote(const PushQuote& from);
  PushQuote(PushQuote&& from) noexcept
    : PushQuote() {
    *this = ::std::move(from);
  }

  inline PushQuote& operator=(const PushQuote& from) {
    CopyFrom(from);
    return *this;
  }
  inline PushQuote& operator=(PushQuote&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const PushQuote& default_instance() {
    return *internal_default_instance();
  }
  static inline const PushQuote* internal_default_instance() {
    return reinterpret_cast<const PushQuote*>(
               &_PushQuote_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    47;

  friend void swap(PushQuote& a, PushQuote& b) {
    a.Swap(&b);
  }
  inline void Swap(PushQuote* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PushQuote* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PushQuote* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PushQuote>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const PushQuote& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const PushQuote& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(PushQuote* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.PushQuote";
  }
  protected:
  explicit PushQuote(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSymbolFieldNumber = 1,
    kLastDoneFieldNumber = 3,
    kOpenFieldNumber = 4,
    kHighFieldNumber = 5,
    kLowFieldNumber = 6,
    kTurnoverFieldNumber = 9,
    kSequenceFieldNumber = 2,
    kTimestampFieldNumber = 7,
    kVolumeFieldNumber = 8,
    kTradeStatusFieldNumber = 10,
    kTradeSessionFieldNumber = 11,
  };
  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // string last_done = 3 [json_name = "lastDone"];
  void clear_last_done();
  const std::string& last_done() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_last_done(ArgT0&& arg0, ArgT... args);
  std::string* mutable_last_done();
  PROTOBUF_NODISCARD std::string* release_last_done();
  void set_allocated_last_done(std::string* last_done);
  private:
  const std::string& _internal_last_done() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_last_done(const std::string& value);
  std::string* _internal_mutable_last_done();
  public:

  // string open = 4 [json_name = "open"];
  void clear_open();
  const std::string& open() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_open(ArgT0&& arg0, ArgT... args);
  std::string* mutable_open();
  PROTOBUF_NODISCARD std::string* release_open();
  void set_allocated_open(std::string* open);
  private:
  const std::string& _internal_open() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_open(const std::string& value);
  std::string* _internal_mutable_open();
  public:

  // string high = 5 [json_name = "high"];
  void clear_high();
  const std::string& high() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_high(ArgT0&& arg0, ArgT... args);
  std::string* mutable_high();
  PROTOBUF_NODISCARD std::string* release_high();
  void set_allocated_high(std::string* high);
  private:
  const std::string& _internal_high() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_high(const std::string& value);
  std::string* _internal_mutable_high();
  public:

  // string low = 6 [json_name = "low"];
  void clear_low();
  const std::string& low() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_low(ArgT0&& arg0, ArgT... args);
  std::string* mutable_low();
  PROTOBUF_NODISCARD std::string* release_low();
  void set_allocated_low(std::string* low);
  private:
  const std::string& _internal_low() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_low(const std::string& value);
  std::string* _internal_mutable_low();
  public:

  // string turnover = 9 [json_name = "turnover"];
  void clear_turnover();
  const std::string& turnover() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_turnover(ArgT0&& arg0, ArgT... args);
  std::string* mutable_turnover();
  PROTOBUF_NODISCARD std::string* release_turnover();
  void set_allocated_turnover(std::string* turnover);
  private:
  const std::string& _internal_turnover() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_turnover(const std::string& value);
  std::string* _internal_mutable_turnover();
  public:

  // int64 sequence = 2 [json_name = "sequence"];
  void clear_sequence();
  int64_t sequence() const;
  void set_sequence(int64_t value);
  private:
  int64_t _internal_sequence() const;
  void _internal_set_sequence(int64_t value);
  public:

  // int64 timestamp = 7 [json_name = "timestamp"];
  void clear_timestamp();
  int64_t timestamp() const;
  void set_timestamp(int64_t value);
  private:
  int64_t _internal_timestamp() const;
  void _internal_set_timestamp(int64_t value);
  public:

  // int64 volume = 8 [json_name = "volume"];
  void clear_volume();
  int64_t volume() const;
  void set_volume(int64_t value);
  private:
  int64_t _internal_volume() const;
  void _internal_set_volume(int64_t value);
  public:

  // .longbridgeapp.quote.v1.TradeStatus trade_status = 10 [json_name = "tradeStatus"];
  void clear_trade_status();
  ::longbridgeapp::quote::v1::TradeStatus trade_status() const;
  void set_trade_status(::longbridgeapp::quote::v1::TradeStatus value);
  private:
  ::longbridgeapp::quote::v1::TradeStatus _internal_trade_status() const;
  void _internal_set_trade_status(::longbridgeapp::quote::v1::TradeStatus value);
  public:

  // .longbridgeapp.quote.v1.TradeSession trade_session = 11 [json_name = "tradeSession"];
  void clear_trade_session();
  ::longbridgeapp::quote::v1::TradeSession trade_session() const;
  void set_trade_session(::longbridgeapp::quote::v1::TradeSession value);
  private:
  ::longbridgeapp::quote::v1::TradeSession _internal_trade_session() const;
  void _internal_set_trade_session(::longbridgeapp::quote::v1::TradeSession value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.PushQuote)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr last_done_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr open_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr high_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr low_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr turnover_;
  int64_t sequence_;
  int64_t timestamp_;
  int64_t volume_;
  int trade_status_;
  int trade_session_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class PushDepth final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.PushDepth) */ {
 public:
  inline PushDepth() : PushDepth(nullptr) {}
  ~PushDepth() override;
  explicit constexpr PushDepth(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PushDepth(const PushDepth& from);
  PushDepth(PushDepth&& from) noexcept
    : PushDepth() {
    *this = ::std::move(from);
  }

  inline PushDepth& operator=(const PushDepth& from) {
    CopyFrom(from);
    return *this;
  }
  inline PushDepth& operator=(PushDepth&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const PushDepth& default_instance() {
    return *internal_default_instance();
  }
  static inline const PushDepth* internal_default_instance() {
    return reinterpret_cast<const PushDepth*>(
               &_PushDepth_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    48;

  friend void swap(PushDepth& a, PushDepth& b) {
    a.Swap(&b);
  }
  inline void Swap(PushDepth* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PushDepth* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PushDepth* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PushDepth>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const PushDepth& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const PushDepth& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(PushDepth* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.PushDepth";
  }
  protected:
  explicit PushDepth(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kAskFieldNumber = 3,
    kBidFieldNumber = 4,
    kSymbolFieldNumber = 1,
    kSequenceFieldNumber = 2,
  };
  // repeated .longbridgeapp.quote.v1.Depth ask = 3 [json_name = "ask"];
  int ask_size() const;
  private:
  int _internal_ask_size() const;
  public:
  void clear_ask();
  ::longbridgeapp::quote::v1::Depth* mutable_ask(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth >*
      mutable_ask();
  private:
  const ::longbridgeapp::quote::v1::Depth& _internal_ask(int index) const;
  ::longbridgeapp::quote::v1::Depth* _internal_add_ask();
  public:
  const ::longbridgeapp::quote::v1::Depth& ask(int index) const;
  ::longbridgeapp::quote::v1::Depth* add_ask();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth >&
      ask() const;

  // repeated .longbridgeapp.quote.v1.Depth bid = 4 [json_name = "bid"];
  int bid_size() const;
  private:
  int _internal_bid_size() const;
  public:
  void clear_bid();
  ::longbridgeapp::quote::v1::Depth* mutable_bid(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth >*
      mutable_bid();
  private:
  const ::longbridgeapp::quote::v1::Depth& _internal_bid(int index) const;
  ::longbridgeapp::quote::v1::Depth* _internal_add_bid();
  public:
  const ::longbridgeapp::quote::v1::Depth& bid(int index) const;
  ::longbridgeapp::quote::v1::Depth* add_bid();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth >&
      bid() const;

  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // int64 sequence = 2 [json_name = "sequence"];
  void clear_sequence();
  int64_t sequence() const;
  void set_sequence(int64_t value);
  private:
  int64_t _internal_sequence() const;
  void _internal_set_sequence(int64_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.PushDepth)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth > ask_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth > bid_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  int64_t sequence_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class PushBrokers final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.PushBrokers) */ {
 public:
  inline PushBrokers() : PushBrokers(nullptr) {}
  ~PushBrokers() override;
  explicit constexpr PushBrokers(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PushBrokers(const PushBrokers& from);
  PushBrokers(PushBrokers&& from) noexcept
    : PushBrokers() {
    *this = ::std::move(from);
  }

  inline PushBrokers& operator=(const PushBrokers& from) {
    CopyFrom(from);
    return *this;
  }
  inline PushBrokers& operator=(PushBrokers&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const PushBrokers& default_instance() {
    return *internal_default_instance();
  }
  static inline const PushBrokers* internal_default_instance() {
    return reinterpret_cast<const PushBrokers*>(
               &_PushBrokers_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    49;

  friend void swap(PushBrokers& a, PushBrokers& b) {
    a.Swap(&b);
  }
  inline void Swap(PushBrokers* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PushBrokers* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PushBrokers* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PushBrokers>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const PushBrokers& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const PushBrokers& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(PushBrokers* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.PushBrokers";
  }
  protected:
  explicit PushBrokers(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kAskBrokersFieldNumber = 3,
    kBidBrokersFieldNumber = 4,
    kSymbolFieldNumber = 1,
    kSequenceFieldNumber = 2,
  };
  // repeated .longbridgeapp.quote.v1.Brokers ask_brokers = 3 [json_name = "askBrokers"];
  int ask_brokers_size() const;
  private:
  int _internal_ask_brokers_size() const;
  public:
  void clear_ask_brokers();
  ::longbridgeapp::quote::v1::Brokers* mutable_ask_brokers(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers >*
      mutable_ask_brokers();
  private:
  const ::longbridgeapp::quote::v1::Brokers& _internal_ask_brokers(int index) const;
  ::longbridgeapp::quote::v1::Brokers* _internal_add_ask_brokers();
  public:
  const ::longbridgeapp::quote::v1::Brokers& ask_brokers(int index) const;
  ::longbridgeapp::quote::v1::Brokers* add_ask_brokers();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers >&
      ask_brokers() const;

  // repeated .longbridgeapp.quote.v1.Brokers bid_brokers = 4 [json_name = "bidBrokers"];
  int bid_brokers_size() const;
  private:
  int _internal_bid_brokers_size() const;
  public:
  void clear_bid_brokers();
  ::longbridgeapp::quote::v1::Brokers* mutable_bid_brokers(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers >*
      mutable_bid_brokers();
  private:
  const ::longbridgeapp::quote::v1::Brokers& _internal_bid_brokers(int index) const;
  ::longbridgeapp::quote::v1::Brokers* _internal_add_bid_brokers();
  public:
  const ::longbridgeapp::quote::v1::Brokers& bid_brokers(int index) const;
  ::longbridgeapp::quote::v1::Brokers* add_bid_brokers();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers >&
      bid_brokers() const;

  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // int64 sequence = 2 [json_name = "sequence"];
  void clear_sequence();
  int64_t sequence() const;
  void set_sequence(int64_t value);
  private:
  int64_t _internal_sequence() const;
  void _internal_set_sequence(int64_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.PushBrokers)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers > ask_brokers_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers > bid_brokers_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  int64_t sequence_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class PushTrade final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.PushTrade) */ {
 public:
  inline PushTrade() : PushTrade(nullptr) {}
  ~PushTrade() override;
  explicit constexpr PushTrade(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PushTrade(const PushTrade& from);
  PushTrade(PushTrade&& from) noexcept
    : PushTrade() {
    *this = ::std::move(from);
  }

  inline PushTrade& operator=(const PushTrade& from) {
    CopyFrom(from);
    return *this;
  }
  inline PushTrade& operator=(PushTrade&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const PushTrade& default_instance() {
    return *internal_default_instance();
  }
  static inline const PushTrade* internal_default_instance() {
    return reinterpret_cast<const PushTrade*>(
               &_PushTrade_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    50;

  friend void swap(PushTrade& a, PushTrade& b) {
    a.Swap(&b);
  }
  inline void Swap(PushTrade* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PushTrade* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PushTrade* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PushTrade>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const PushTrade& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const PushTrade& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(PushTrade* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.PushTrade";
  }
  protected:
  explicit PushTrade(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kTradeFieldNumber = 3,
    kSymbolFieldNumber = 1,
    kSequenceFieldNumber = 2,
  };
  // repeated .longbridgeapp.quote.v1.Trade trade = 3 [json_name = "trade"];
  int trade_size() const;
  private:
  int _internal_trade_size() const;
  public:
  void clear_trade();
  ::longbridgeapp::quote::v1::Trade* mutable_trade(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Trade >*
      mutable_trade();
  private:
  const ::longbridgeapp::quote::v1::Trade& _internal_trade(int index) const;
  ::longbridgeapp::quote::v1::Trade* _internal_add_trade();
  public:
  const ::longbridgeapp::quote::v1::Trade& trade(int index) const;
  ::longbridgeapp::quote::v1::Trade* add_trade();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Trade >&
      trade() const;

  // string symbol = 1 [json_name = "symbol"];
  void clear_symbol();
  const std::string& symbol() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_symbol(ArgT0&& arg0, ArgT... args);
  std::string* mutable_symbol();
  PROTOBUF_NODISCARD std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);
  private:
  const std::string& _internal_symbol() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_symbol(const std::string& value);
  std::string* _internal_mutable_symbol();
  public:

  // int64 sequence = 2 [json_name = "sequence"];
  void clear_sequence();
  int64_t sequence() const;
  void set_sequence(int64_t value);
  private:
  int64_t _internal_sequence() const;
  void _internal_set_sequence(int64_t value);
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.PushTrade)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Trade > trade_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  int64_t sequence_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class MarketTradeDayRequest final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.MarketTradeDayRequest) */ {
 public:
  inline MarketTradeDayRequest() : MarketTradeDayRequest(nullptr) {}
  ~MarketTradeDayRequest() override;
  explicit constexpr MarketTradeDayRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  MarketTradeDayRequest(const MarketTradeDayRequest& from);
  MarketTradeDayRequest(MarketTradeDayRequest&& from) noexcept
    : MarketTradeDayRequest() {
    *this = ::std::move(from);
  }

  inline MarketTradeDayRequest& operator=(const MarketTradeDayRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline MarketTradeDayRequest& operator=(MarketTradeDayRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const MarketTradeDayRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const MarketTradeDayRequest* internal_default_instance() {
    return reinterpret_cast<const MarketTradeDayRequest*>(
               &_MarketTradeDayRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    51;

  friend void swap(MarketTradeDayRequest& a, MarketTradeDayRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(MarketTradeDayRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MarketTradeDayRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  MarketTradeDayRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<MarketTradeDayRequest>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const MarketTradeDayRequest& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const MarketTradeDayRequest& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MarketTradeDayRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.MarketTradeDayRequest";
  }
  protected:
  explicit MarketTradeDayRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kMarketFieldNumber = 1,
    kBegDayFieldNumber = 2,
    kEndDayFieldNumber = 3,
  };
  // string market = 1 [json_name = "market"];
  void clear_market();
  const std::string& market() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_market(ArgT0&& arg0, ArgT... args);
  std::string* mutable_market();
  PROTOBUF_NODISCARD std::string* release_market();
  void set_allocated_market(std::string* market);
  private:
  const std::string& _internal_market() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_market(const std::string& value);
  std::string* _internal_mutable_market();
  public:

  // string beg_day = 2 [json_name = "begDay"];
  void clear_beg_day();
  const std::string& beg_day() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_beg_day(ArgT0&& arg0, ArgT... args);
  std::string* mutable_beg_day();
  PROTOBUF_NODISCARD std::string* release_beg_day();
  void set_allocated_beg_day(std::string* beg_day);
  private:
  const std::string& _internal_beg_day() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_beg_day(const std::string& value);
  std::string* _internal_mutable_beg_day();
  public:

  // string end_day = 3 [json_name = "endDay"];
  void clear_end_day();
  const std::string& end_day() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_end_day(ArgT0&& arg0, ArgT... args);
  std::string* mutable_end_day();
  PROTOBUF_NODISCARD std::string* release_end_day();
  void set_allocated_end_day(std::string* end_day);
  private:
  const std::string& _internal_end_day() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_end_day(const std::string& value);
  std::string* _internal_mutable_end_day();
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.MarketTradeDayRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr market_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr beg_day_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr end_day_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// -------------------------------------------------------------------

class MarketTradeDayResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:longbridgeapp.quote.v1.MarketTradeDayResponse) */ {
 public:
  inline MarketTradeDayResponse() : MarketTradeDayResponse(nullptr) {}
  ~MarketTradeDayResponse() override;
  explicit constexpr MarketTradeDayResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  MarketTradeDayResponse(const MarketTradeDayResponse& from);
  MarketTradeDayResponse(MarketTradeDayResponse&& from) noexcept
    : MarketTradeDayResponse() {
    *this = ::std::move(from);
  }

  inline MarketTradeDayResponse& operator=(const MarketTradeDayResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline MarketTradeDayResponse& operator=(MarketTradeDayResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const MarketTradeDayResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const MarketTradeDayResponse* internal_default_instance() {
    return reinterpret_cast<const MarketTradeDayResponse*>(
               &_MarketTradeDayResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    52;

  friend void swap(MarketTradeDayResponse& a, MarketTradeDayResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(MarketTradeDayResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MarketTradeDayResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  MarketTradeDayResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<MarketTradeDayResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const MarketTradeDayResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const MarketTradeDayResponse& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MarketTradeDayResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "longbridgeapp.quote.v1.MarketTradeDayResponse";
  }
  protected:
  explicit MarketTradeDayResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kTradeDayFieldNumber = 1,
    kHalfTradeDayFieldNumber = 2,
  };
  // repeated string trade_day = 1 [json_name = "tradeDay"];
  int trade_day_size() const;
  private:
  int _internal_trade_day_size() const;
  public:
  void clear_trade_day();
  const std::string& trade_day(int index) const;
  std::string* mutable_trade_day(int index);
  void set_trade_day(int index, const std::string& value);
  void set_trade_day(int index, std::string&& value);
  void set_trade_day(int index, const char* value);
  void set_trade_day(int index, const char* value, size_t size);
  std::string* add_trade_day();
  void add_trade_day(const std::string& value);
  void add_trade_day(std::string&& value);
  void add_trade_day(const char* value);
  void add_trade_day(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& trade_day() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_trade_day();
  private:
  const std::string& _internal_trade_day(int index) const;
  std::string* _internal_add_trade_day();
  public:

  // repeated string half_trade_day = 2 [json_name = "halfTradeDay"];
  int half_trade_day_size() const;
  private:
  int _internal_half_trade_day_size() const;
  public:
  void clear_half_trade_day();
  const std::string& half_trade_day(int index) const;
  std::string* mutable_half_trade_day(int index);
  void set_half_trade_day(int index, const std::string& value);
  void set_half_trade_day(int index, std::string&& value);
  void set_half_trade_day(int index, const char* value);
  void set_half_trade_day(int index, const char* value, size_t size);
  std::string* add_half_trade_day();
  void add_half_trade_day(const std::string& value);
  void add_half_trade_day(std::string&& value);
  void add_half_trade_day(const char* value);
  void add_half_trade_day(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& half_trade_day() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_half_trade_day();
  private:
  const std::string& _internal_half_trade_day(int index) const;
  std::string* _internal_add_half_trade_day();
  public:

  // @@protoc_insertion_point(class_scope:longbridgeapp.quote.v1.MarketTradeDayResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> trade_day_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> half_trade_day_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_quote_2fapi_2eproto;
};
// ===================================================================


// ===================================================================

#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// SecurityRequest

// string symbol = 1 [json_name = "symbol"];
inline void SecurityRequest::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& SecurityRequest::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityRequest.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SecurityRequest::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityRequest.symbol)
}
inline std::string* SecurityRequest::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityRequest.symbol)
  return _s;
}
inline const std::string& SecurityRequest::_internal_symbol() const {
  return symbol_.Get();
}
inline void SecurityRequest::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SecurityRequest::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SecurityRequest::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityRequest.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SecurityRequest::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityRequest.symbol)
}

// -------------------------------------------------------------------

// MultiSecurityRequest

// repeated string symbol = 1 [json_name = "symbol"];
inline int MultiSecurityRequest::_internal_symbol_size() const {
  return symbol_.size();
}
inline int MultiSecurityRequest::symbol_size() const {
  return _internal_symbol_size();
}
inline void MultiSecurityRequest::clear_symbol() {
  symbol_.Clear();
}
inline std::string* MultiSecurityRequest::add_symbol() {
  std::string* _s = _internal_add_symbol();
  // @@protoc_insertion_point(field_add_mutable:longbridgeapp.quote.v1.MultiSecurityRequest.symbol)
  return _s;
}
inline const std::string& MultiSecurityRequest::_internal_symbol(int index) const {
  return symbol_.Get(index);
}
inline const std::string& MultiSecurityRequest::symbol(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.MultiSecurityRequest.symbol)
  return _internal_symbol(index);
}
inline std::string* MultiSecurityRequest::mutable_symbol(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.MultiSecurityRequest.symbol)
  return symbol_.Mutable(index);
}
inline void MultiSecurityRequest::set_symbol(int index, const std::string& value) {
  symbol_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.MultiSecurityRequest.symbol)
}
inline void MultiSecurityRequest::set_symbol(int index, std::string&& value) {
  symbol_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.MultiSecurityRequest.symbol)
}
inline void MultiSecurityRequest::set_symbol(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  symbol_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:longbridgeapp.quote.v1.MultiSecurityRequest.symbol)
}
inline void MultiSecurityRequest::set_symbol(int index, const char* value, size_t size) {
  symbol_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:longbridgeapp.quote.v1.MultiSecurityRequest.symbol)
}
inline std::string* MultiSecurityRequest::_internal_add_symbol() {
  return symbol_.Add();
}
inline void MultiSecurityRequest::add_symbol(const std::string& value) {
  symbol_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.MultiSecurityRequest.symbol)
}
inline void MultiSecurityRequest::add_symbol(std::string&& value) {
  symbol_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.MultiSecurityRequest.symbol)
}
inline void MultiSecurityRequest::add_symbol(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  symbol_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:longbridgeapp.quote.v1.MultiSecurityRequest.symbol)
}
inline void MultiSecurityRequest::add_symbol(const char* value, size_t size) {
  symbol_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:longbridgeapp.quote.v1.MultiSecurityRequest.symbol)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
MultiSecurityRequest::symbol() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.MultiSecurityRequest.symbol)
  return symbol_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
MultiSecurityRequest::mutable_symbol() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.MultiSecurityRequest.symbol)
  return &symbol_;
}

// -------------------------------------------------------------------

// SecurityStaticInfoResponse

// repeated .longbridgeapp.quote.v1.StaticInfo secu_static_info = 1 [json_name = "secuStaticInfo"];
inline int SecurityStaticInfoResponse::_internal_secu_static_info_size() const {
  return secu_static_info_.size();
}
inline int SecurityStaticInfoResponse::secu_static_info_size() const {
  return _internal_secu_static_info_size();
}
inline void SecurityStaticInfoResponse::clear_secu_static_info() {
  secu_static_info_.Clear();
}
inline ::longbridgeapp::quote::v1::StaticInfo* SecurityStaticInfoResponse::mutable_secu_static_info(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityStaticInfoResponse.secu_static_info)
  return secu_static_info_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::StaticInfo >*
SecurityStaticInfoResponse::mutable_secu_static_info() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.SecurityStaticInfoResponse.secu_static_info)
  return &secu_static_info_;
}
inline const ::longbridgeapp::quote::v1::StaticInfo& SecurityStaticInfoResponse::_internal_secu_static_info(int index) const {
  return secu_static_info_.Get(index);
}
inline const ::longbridgeapp::quote::v1::StaticInfo& SecurityStaticInfoResponse::secu_static_info(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityStaticInfoResponse.secu_static_info)
  return _internal_secu_static_info(index);
}
inline ::longbridgeapp::quote::v1::StaticInfo* SecurityStaticInfoResponse::_internal_add_secu_static_info() {
  return secu_static_info_.Add();
}
inline ::longbridgeapp::quote::v1::StaticInfo* SecurityStaticInfoResponse::add_secu_static_info() {
  ::longbridgeapp::quote::v1::StaticInfo* _add = _internal_add_secu_static_info();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.SecurityStaticInfoResponse.secu_static_info)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::StaticInfo >&
SecurityStaticInfoResponse::secu_static_info() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.SecurityStaticInfoResponse.secu_static_info)
  return secu_static_info_;
}

// -------------------------------------------------------------------

// StaticInfo

// string symbol = 1 [json_name = "symbol"];
inline void StaticInfo::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& StaticInfo::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StaticInfo.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void StaticInfo::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StaticInfo.symbol)
}
inline std::string* StaticInfo::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.StaticInfo.symbol)
  return _s;
}
inline const std::string& StaticInfo::_internal_symbol() const {
  return symbol_.Get();
}
inline void StaticInfo::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* StaticInfo::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* StaticInfo::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.StaticInfo.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void StaticInfo::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.StaticInfo.symbol)
}

// string name_cn = 2 [json_name = "nameCn"];
inline void StaticInfo::clear_name_cn() {
  name_cn_.ClearToEmpty();
}
inline const std::string& StaticInfo::name_cn() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StaticInfo.name_cn)
  return _internal_name_cn();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void StaticInfo::set_name_cn(ArgT0&& arg0, ArgT... args) {
 
 name_cn_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StaticInfo.name_cn)
}
inline std::string* StaticInfo::mutable_name_cn() {
  std::string* _s = _internal_mutable_name_cn();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.StaticInfo.name_cn)
  return _s;
}
inline const std::string& StaticInfo::_internal_name_cn() const {
  return name_cn_.Get();
}
inline void StaticInfo::_internal_set_name_cn(const std::string& value) {
  
  name_cn_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* StaticInfo::_internal_mutable_name_cn() {
  
  return name_cn_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* StaticInfo::release_name_cn() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.StaticInfo.name_cn)
  return name_cn_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void StaticInfo::set_allocated_name_cn(std::string* name_cn) {
  if (name_cn != nullptr) {
    
  } else {
    
  }
  name_cn_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name_cn,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (name_cn_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    name_cn_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.StaticInfo.name_cn)
}

// string name_en = 3 [json_name = "nameEn"];
inline void StaticInfo::clear_name_en() {
  name_en_.ClearToEmpty();
}
inline const std::string& StaticInfo::name_en() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StaticInfo.name_en)
  return _internal_name_en();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void StaticInfo::set_name_en(ArgT0&& arg0, ArgT... args) {
 
 name_en_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StaticInfo.name_en)
}
inline std::string* StaticInfo::mutable_name_en() {
  std::string* _s = _internal_mutable_name_en();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.StaticInfo.name_en)
  return _s;
}
inline const std::string& StaticInfo::_internal_name_en() const {
  return name_en_.Get();
}
inline void StaticInfo::_internal_set_name_en(const std::string& value) {
  
  name_en_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* StaticInfo::_internal_mutable_name_en() {
  
  return name_en_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* StaticInfo::release_name_en() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.StaticInfo.name_en)
  return name_en_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void StaticInfo::set_allocated_name_en(std::string* name_en) {
  if (name_en != nullptr) {
    
  } else {
    
  }
  name_en_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name_en,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (name_en_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    name_en_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.StaticInfo.name_en)
}

// string name_hk = 4 [json_name = "nameHk"];
inline void StaticInfo::clear_name_hk() {
  name_hk_.ClearToEmpty();
}
inline const std::string& StaticInfo::name_hk() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StaticInfo.name_hk)
  return _internal_name_hk();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void StaticInfo::set_name_hk(ArgT0&& arg0, ArgT... args) {
 
 name_hk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StaticInfo.name_hk)
}
inline std::string* StaticInfo::mutable_name_hk() {
  std::string* _s = _internal_mutable_name_hk();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.StaticInfo.name_hk)
  return _s;
}
inline const std::string& StaticInfo::_internal_name_hk() const {
  return name_hk_.Get();
}
inline void StaticInfo::_internal_set_name_hk(const std::string& value) {
  
  name_hk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* StaticInfo::_internal_mutable_name_hk() {
  
  return name_hk_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* StaticInfo::release_name_hk() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.StaticInfo.name_hk)
  return name_hk_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void StaticInfo::set_allocated_name_hk(std::string* name_hk) {
  if (name_hk != nullptr) {
    
  } else {
    
  }
  name_hk_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name_hk,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (name_hk_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    name_hk_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.StaticInfo.name_hk)
}

// string listing_date = 5 [json_name = "listingDate"];
inline void StaticInfo::clear_listing_date() {
  listing_date_.ClearToEmpty();
}
inline const std::string& StaticInfo::listing_date() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StaticInfo.listing_date)
  return _internal_listing_date();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void StaticInfo::set_listing_date(ArgT0&& arg0, ArgT... args) {
 
 listing_date_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StaticInfo.listing_date)
}
inline std::string* StaticInfo::mutable_listing_date() {
  std::string* _s = _internal_mutable_listing_date();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.StaticInfo.listing_date)
  return _s;
}
inline const std::string& StaticInfo::_internal_listing_date() const {
  return listing_date_.Get();
}
inline void StaticInfo::_internal_set_listing_date(const std::string& value) {
  
  listing_date_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* StaticInfo::_internal_mutable_listing_date() {
  
  return listing_date_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* StaticInfo::release_listing_date() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.StaticInfo.listing_date)
  return listing_date_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void StaticInfo::set_allocated_listing_date(std::string* listing_date) {
  if (listing_date != nullptr) {
    
  } else {
    
  }
  listing_date_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), listing_date,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (listing_date_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    listing_date_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.StaticInfo.listing_date)
}

// string exchange = 6 [json_name = "exchange"];
inline void StaticInfo::clear_exchange() {
  exchange_.ClearToEmpty();
}
inline const std::string& StaticInfo::exchange() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StaticInfo.exchange)
  return _internal_exchange();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void StaticInfo::set_exchange(ArgT0&& arg0, ArgT... args) {
 
 exchange_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StaticInfo.exchange)
}
inline std::string* StaticInfo::mutable_exchange() {
  std::string* _s = _internal_mutable_exchange();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.StaticInfo.exchange)
  return _s;
}
inline const std::string& StaticInfo::_internal_exchange() const {
  return exchange_.Get();
}
inline void StaticInfo::_internal_set_exchange(const std::string& value) {
  
  exchange_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* StaticInfo::_internal_mutable_exchange() {
  
  return exchange_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* StaticInfo::release_exchange() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.StaticInfo.exchange)
  return exchange_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void StaticInfo::set_allocated_exchange(std::string* exchange) {
  if (exchange != nullptr) {
    
  } else {
    
  }
  exchange_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), exchange,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (exchange_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    exchange_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.StaticInfo.exchange)
}

// string currency = 7 [json_name = "currency"];
inline void StaticInfo::clear_currency() {
  currency_.ClearToEmpty();
}
inline const std::string& StaticInfo::currency() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StaticInfo.currency)
  return _internal_currency();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void StaticInfo::set_currency(ArgT0&& arg0, ArgT... args) {
 
 currency_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StaticInfo.currency)
}
inline std::string* StaticInfo::mutable_currency() {
  std::string* _s = _internal_mutable_currency();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.StaticInfo.currency)
  return _s;
}
inline const std::string& StaticInfo::_internal_currency() const {
  return currency_.Get();
}
inline void StaticInfo::_internal_set_currency(const std::string& value) {
  
  currency_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* StaticInfo::_internal_mutable_currency() {
  
  return currency_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* StaticInfo::release_currency() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.StaticInfo.currency)
  return currency_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void StaticInfo::set_allocated_currency(std::string* currency) {
  if (currency != nullptr) {
    
  } else {
    
  }
  currency_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), currency,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (currency_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    currency_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.StaticInfo.currency)
}

// int32 lot_size = 8 [json_name = "lotSize"];
inline void StaticInfo::clear_lot_size() {
  lot_size_ = 0;
}
inline int32_t StaticInfo::_internal_lot_size() const {
  return lot_size_;
}
inline int32_t StaticInfo::lot_size() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StaticInfo.lot_size)
  return _internal_lot_size();
}
inline void StaticInfo::_internal_set_lot_size(int32_t value) {
  
  lot_size_ = value;
}
inline void StaticInfo::set_lot_size(int32_t value) {
  _internal_set_lot_size(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StaticInfo.lot_size)
}

// int64 total_shares = 9 [json_name = "totalShares"];
inline void StaticInfo::clear_total_shares() {
  total_shares_ = int64_t{0};
}
inline int64_t StaticInfo::_internal_total_shares() const {
  return total_shares_;
}
inline int64_t StaticInfo::total_shares() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StaticInfo.total_shares)
  return _internal_total_shares();
}
inline void StaticInfo::_internal_set_total_shares(int64_t value) {
  
  total_shares_ = value;
}
inline void StaticInfo::set_total_shares(int64_t value) {
  _internal_set_total_shares(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StaticInfo.total_shares)
}

// int64 circulating_shares = 10 [json_name = "circulatingShares"];
inline void StaticInfo::clear_circulating_shares() {
  circulating_shares_ = int64_t{0};
}
inline int64_t StaticInfo::_internal_circulating_shares() const {
  return circulating_shares_;
}
inline int64_t StaticInfo::circulating_shares() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StaticInfo.circulating_shares)
  return _internal_circulating_shares();
}
inline void StaticInfo::_internal_set_circulating_shares(int64_t value) {
  
  circulating_shares_ = value;
}
inline void StaticInfo::set_circulating_shares(int64_t value) {
  _internal_set_circulating_shares(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StaticInfo.circulating_shares)
}

// int64 hk_shares = 11 [json_name = "hkShares"];
inline void StaticInfo::clear_hk_shares() {
  hk_shares_ = int64_t{0};
}
inline int64_t StaticInfo::_internal_hk_shares() const {
  return hk_shares_;
}
inline int64_t StaticInfo::hk_shares() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StaticInfo.hk_shares)
  return _internal_hk_shares();
}
inline void StaticInfo::_internal_set_hk_shares(int64_t value) {
  
  hk_shares_ = value;
}
inline void StaticInfo::set_hk_shares(int64_t value) {
  _internal_set_hk_shares(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StaticInfo.hk_shares)
}

// string eps = 12 [json_name = "eps"];
inline void StaticInfo::clear_eps() {
  eps_.ClearToEmpty();
}
inline const std::string& StaticInfo::eps() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StaticInfo.eps)
  return _internal_eps();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void StaticInfo::set_eps(ArgT0&& arg0, ArgT... args) {
 
 eps_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StaticInfo.eps)
}
inline std::string* StaticInfo::mutable_eps() {
  std::string* _s = _internal_mutable_eps();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.StaticInfo.eps)
  return _s;
}
inline const std::string& StaticInfo::_internal_eps() const {
  return eps_.Get();
}
inline void StaticInfo::_internal_set_eps(const std::string& value) {
  
  eps_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* StaticInfo::_internal_mutable_eps() {
  
  return eps_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* StaticInfo::release_eps() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.StaticInfo.eps)
  return eps_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void StaticInfo::set_allocated_eps(std::string* eps) {
  if (eps != nullptr) {
    
  } else {
    
  }
  eps_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), eps,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (eps_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    eps_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.StaticInfo.eps)
}

// string eps_ttm = 13 [json_name = "epsTtm"];
inline void StaticInfo::clear_eps_ttm() {
  eps_ttm_.ClearToEmpty();
}
inline const std::string& StaticInfo::eps_ttm() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StaticInfo.eps_ttm)
  return _internal_eps_ttm();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void StaticInfo::set_eps_ttm(ArgT0&& arg0, ArgT... args) {
 
 eps_ttm_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StaticInfo.eps_ttm)
}
inline std::string* StaticInfo::mutable_eps_ttm() {
  std::string* _s = _internal_mutable_eps_ttm();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.StaticInfo.eps_ttm)
  return _s;
}
inline const std::string& StaticInfo::_internal_eps_ttm() const {
  return eps_ttm_.Get();
}
inline void StaticInfo::_internal_set_eps_ttm(const std::string& value) {
  
  eps_ttm_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* StaticInfo::_internal_mutable_eps_ttm() {
  
  return eps_ttm_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* StaticInfo::release_eps_ttm() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.StaticInfo.eps_ttm)
  return eps_ttm_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void StaticInfo::set_allocated_eps_ttm(std::string* eps_ttm) {
  if (eps_ttm != nullptr) {
    
  } else {
    
  }
  eps_ttm_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), eps_ttm,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (eps_ttm_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    eps_ttm_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.StaticInfo.eps_ttm)
}

// string bps = 14 [json_name = "bps"];
inline void StaticInfo::clear_bps() {
  bps_.ClearToEmpty();
}
inline const std::string& StaticInfo::bps() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StaticInfo.bps)
  return _internal_bps();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void StaticInfo::set_bps(ArgT0&& arg0, ArgT... args) {
 
 bps_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StaticInfo.bps)
}
inline std::string* StaticInfo::mutable_bps() {
  std::string* _s = _internal_mutable_bps();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.StaticInfo.bps)
  return _s;
}
inline const std::string& StaticInfo::_internal_bps() const {
  return bps_.Get();
}
inline void StaticInfo::_internal_set_bps(const std::string& value) {
  
  bps_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* StaticInfo::_internal_mutable_bps() {
  
  return bps_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* StaticInfo::release_bps() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.StaticInfo.bps)
  return bps_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void StaticInfo::set_allocated_bps(std::string* bps) {
  if (bps != nullptr) {
    
  } else {
    
  }
  bps_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), bps,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (bps_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    bps_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.StaticInfo.bps)
}

// string dividend_yield = 15 [json_name = "dividendYield"];
inline void StaticInfo::clear_dividend_yield() {
  dividend_yield_.ClearToEmpty();
}
inline const std::string& StaticInfo::dividend_yield() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StaticInfo.dividend_yield)
  return _internal_dividend_yield();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void StaticInfo::set_dividend_yield(ArgT0&& arg0, ArgT... args) {
 
 dividend_yield_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StaticInfo.dividend_yield)
}
inline std::string* StaticInfo::mutable_dividend_yield() {
  std::string* _s = _internal_mutable_dividend_yield();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.StaticInfo.dividend_yield)
  return _s;
}
inline const std::string& StaticInfo::_internal_dividend_yield() const {
  return dividend_yield_.Get();
}
inline void StaticInfo::_internal_set_dividend_yield(const std::string& value) {
  
  dividend_yield_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* StaticInfo::_internal_mutable_dividend_yield() {
  
  return dividend_yield_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* StaticInfo::release_dividend_yield() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.StaticInfo.dividend_yield)
  return dividend_yield_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void StaticInfo::set_allocated_dividend_yield(std::string* dividend_yield) {
  if (dividend_yield != nullptr) {
    
  } else {
    
  }
  dividend_yield_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), dividend_yield,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (dividend_yield_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    dividend_yield_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.StaticInfo.dividend_yield)
}

// repeated int32 stock_derivatives = 16 [json_name = "stockDerivatives"];
inline int StaticInfo::_internal_stock_derivatives_size() const {
  return stock_derivatives_.size();
}
inline int StaticInfo::stock_derivatives_size() const {
  return _internal_stock_derivatives_size();
}
inline void StaticInfo::clear_stock_derivatives() {
  stock_derivatives_.Clear();
}
inline int32_t StaticInfo::_internal_stock_derivatives(int index) const {
  return stock_derivatives_.Get(index);
}
inline int32_t StaticInfo::stock_derivatives(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StaticInfo.stock_derivatives)
  return _internal_stock_derivatives(index);
}
inline void StaticInfo::set_stock_derivatives(int index, int32_t value) {
  stock_derivatives_.Set(index, value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StaticInfo.stock_derivatives)
}
inline void StaticInfo::_internal_add_stock_derivatives(int32_t value) {
  stock_derivatives_.Add(value);
}
inline void StaticInfo::add_stock_derivatives(int32_t value) {
  _internal_add_stock_derivatives(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.StaticInfo.stock_derivatives)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
StaticInfo::_internal_stock_derivatives() const {
  return stock_derivatives_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
StaticInfo::stock_derivatives() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.StaticInfo.stock_derivatives)
  return _internal_stock_derivatives();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
StaticInfo::_internal_mutable_stock_derivatives() {
  return &stock_derivatives_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
StaticInfo::mutable_stock_derivatives() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.StaticInfo.stock_derivatives)
  return _internal_mutable_stock_derivatives();
}

// -------------------------------------------------------------------

// SecurityQuoteResponse

// repeated .longbridgeapp.quote.v1.SecurityQuote secu_quote = 1 [json_name = "secuQuote"];
inline int SecurityQuoteResponse::_internal_secu_quote_size() const {
  return secu_quote_.size();
}
inline int SecurityQuoteResponse::secu_quote_size() const {
  return _internal_secu_quote_size();
}
inline void SecurityQuoteResponse::clear_secu_quote() {
  secu_quote_.Clear();
}
inline ::longbridgeapp::quote::v1::SecurityQuote* SecurityQuoteResponse::mutable_secu_quote(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityQuoteResponse.secu_quote)
  return secu_quote_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::SecurityQuote >*
SecurityQuoteResponse::mutable_secu_quote() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.SecurityQuoteResponse.secu_quote)
  return &secu_quote_;
}
inline const ::longbridgeapp::quote::v1::SecurityQuote& SecurityQuoteResponse::_internal_secu_quote(int index) const {
  return secu_quote_.Get(index);
}
inline const ::longbridgeapp::quote::v1::SecurityQuote& SecurityQuoteResponse::secu_quote(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityQuoteResponse.secu_quote)
  return _internal_secu_quote(index);
}
inline ::longbridgeapp::quote::v1::SecurityQuote* SecurityQuoteResponse::_internal_add_secu_quote() {
  return secu_quote_.Add();
}
inline ::longbridgeapp::quote::v1::SecurityQuote* SecurityQuoteResponse::add_secu_quote() {
  ::longbridgeapp::quote::v1::SecurityQuote* _add = _internal_add_secu_quote();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.SecurityQuoteResponse.secu_quote)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::SecurityQuote >&
SecurityQuoteResponse::secu_quote() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.SecurityQuoteResponse.secu_quote)
  return secu_quote_;
}

// -------------------------------------------------------------------

// SecurityQuote

// string symbol = 1 [json_name = "symbol"];
inline void SecurityQuote::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& SecurityQuote::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityQuote.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SecurityQuote::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityQuote.symbol)
}
inline std::string* SecurityQuote::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityQuote.symbol)
  return _s;
}
inline const std::string& SecurityQuote::_internal_symbol() const {
  return symbol_.Get();
}
inline void SecurityQuote::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SecurityQuote::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SecurityQuote::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityQuote.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SecurityQuote::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityQuote.symbol)
}

// string last_done = 2 [json_name = "lastDone"];
inline void SecurityQuote::clear_last_done() {
  last_done_.ClearToEmpty();
}
inline const std::string& SecurityQuote::last_done() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityQuote.last_done)
  return _internal_last_done();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SecurityQuote::set_last_done(ArgT0&& arg0, ArgT... args) {
 
 last_done_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityQuote.last_done)
}
inline std::string* SecurityQuote::mutable_last_done() {
  std::string* _s = _internal_mutable_last_done();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityQuote.last_done)
  return _s;
}
inline const std::string& SecurityQuote::_internal_last_done() const {
  return last_done_.Get();
}
inline void SecurityQuote::_internal_set_last_done(const std::string& value) {
  
  last_done_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SecurityQuote::_internal_mutable_last_done() {
  
  return last_done_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SecurityQuote::release_last_done() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityQuote.last_done)
  return last_done_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SecurityQuote::set_allocated_last_done(std::string* last_done) {
  if (last_done != nullptr) {
    
  } else {
    
  }
  last_done_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), last_done,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (last_done_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    last_done_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityQuote.last_done)
}

// string prev_close = 3 [json_name = "prevClose"];
inline void SecurityQuote::clear_prev_close() {
  prev_close_.ClearToEmpty();
}
inline const std::string& SecurityQuote::prev_close() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityQuote.prev_close)
  return _internal_prev_close();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SecurityQuote::set_prev_close(ArgT0&& arg0, ArgT... args) {
 
 prev_close_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityQuote.prev_close)
}
inline std::string* SecurityQuote::mutable_prev_close() {
  std::string* _s = _internal_mutable_prev_close();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityQuote.prev_close)
  return _s;
}
inline const std::string& SecurityQuote::_internal_prev_close() const {
  return prev_close_.Get();
}
inline void SecurityQuote::_internal_set_prev_close(const std::string& value) {
  
  prev_close_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SecurityQuote::_internal_mutable_prev_close() {
  
  return prev_close_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SecurityQuote::release_prev_close() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityQuote.prev_close)
  return prev_close_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SecurityQuote::set_allocated_prev_close(std::string* prev_close) {
  if (prev_close != nullptr) {
    
  } else {
    
  }
  prev_close_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), prev_close,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (prev_close_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    prev_close_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityQuote.prev_close)
}

// string open = 4 [json_name = "open"];
inline void SecurityQuote::clear_open() {
  open_.ClearToEmpty();
}
inline const std::string& SecurityQuote::open() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityQuote.open)
  return _internal_open();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SecurityQuote::set_open(ArgT0&& arg0, ArgT... args) {
 
 open_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityQuote.open)
}
inline std::string* SecurityQuote::mutable_open() {
  std::string* _s = _internal_mutable_open();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityQuote.open)
  return _s;
}
inline const std::string& SecurityQuote::_internal_open() const {
  return open_.Get();
}
inline void SecurityQuote::_internal_set_open(const std::string& value) {
  
  open_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SecurityQuote::_internal_mutable_open() {
  
  return open_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SecurityQuote::release_open() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityQuote.open)
  return open_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SecurityQuote::set_allocated_open(std::string* open) {
  if (open != nullptr) {
    
  } else {
    
  }
  open_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), open,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (open_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    open_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityQuote.open)
}

// string high = 5 [json_name = "high"];
inline void SecurityQuote::clear_high() {
  high_.ClearToEmpty();
}
inline const std::string& SecurityQuote::high() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityQuote.high)
  return _internal_high();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SecurityQuote::set_high(ArgT0&& arg0, ArgT... args) {
 
 high_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityQuote.high)
}
inline std::string* SecurityQuote::mutable_high() {
  std::string* _s = _internal_mutable_high();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityQuote.high)
  return _s;
}
inline const std::string& SecurityQuote::_internal_high() const {
  return high_.Get();
}
inline void SecurityQuote::_internal_set_high(const std::string& value) {
  
  high_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SecurityQuote::_internal_mutable_high() {
  
  return high_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SecurityQuote::release_high() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityQuote.high)
  return high_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SecurityQuote::set_allocated_high(std::string* high) {
  if (high != nullptr) {
    
  } else {
    
  }
  high_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), high,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (high_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    high_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityQuote.high)
}

// string low = 6 [json_name = "low"];
inline void SecurityQuote::clear_low() {
  low_.ClearToEmpty();
}
inline const std::string& SecurityQuote::low() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityQuote.low)
  return _internal_low();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SecurityQuote::set_low(ArgT0&& arg0, ArgT... args) {
 
 low_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityQuote.low)
}
inline std::string* SecurityQuote::mutable_low() {
  std::string* _s = _internal_mutable_low();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityQuote.low)
  return _s;
}
inline const std::string& SecurityQuote::_internal_low() const {
  return low_.Get();
}
inline void SecurityQuote::_internal_set_low(const std::string& value) {
  
  low_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SecurityQuote::_internal_mutable_low() {
  
  return low_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SecurityQuote::release_low() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityQuote.low)
  return low_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SecurityQuote::set_allocated_low(std::string* low) {
  if (low != nullptr) {
    
  } else {
    
  }
  low_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), low,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (low_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    low_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityQuote.low)
}

// int64 timestamp = 7 [json_name = "timestamp"];
inline void SecurityQuote::clear_timestamp() {
  timestamp_ = int64_t{0};
}
inline int64_t SecurityQuote::_internal_timestamp() const {
  return timestamp_;
}
inline int64_t SecurityQuote::timestamp() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityQuote.timestamp)
  return _internal_timestamp();
}
inline void SecurityQuote::_internal_set_timestamp(int64_t value) {
  
  timestamp_ = value;
}
inline void SecurityQuote::set_timestamp(int64_t value) {
  _internal_set_timestamp(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityQuote.timestamp)
}

// int64 volume = 8 [json_name = "volume"];
inline void SecurityQuote::clear_volume() {
  volume_ = int64_t{0};
}
inline int64_t SecurityQuote::_internal_volume() const {
  return volume_;
}
inline int64_t SecurityQuote::volume() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityQuote.volume)
  return _internal_volume();
}
inline void SecurityQuote::_internal_set_volume(int64_t value) {
  
  volume_ = value;
}
inline void SecurityQuote::set_volume(int64_t value) {
  _internal_set_volume(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityQuote.volume)
}

// string turnover = 9 [json_name = "turnover"];
inline void SecurityQuote::clear_turnover() {
  turnover_.ClearToEmpty();
}
inline const std::string& SecurityQuote::turnover() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityQuote.turnover)
  return _internal_turnover();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SecurityQuote::set_turnover(ArgT0&& arg0, ArgT... args) {
 
 turnover_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityQuote.turnover)
}
inline std::string* SecurityQuote::mutable_turnover() {
  std::string* _s = _internal_mutable_turnover();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityQuote.turnover)
  return _s;
}
inline const std::string& SecurityQuote::_internal_turnover() const {
  return turnover_.Get();
}
inline void SecurityQuote::_internal_set_turnover(const std::string& value) {
  
  turnover_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SecurityQuote::_internal_mutable_turnover() {
  
  return turnover_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SecurityQuote::release_turnover() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityQuote.turnover)
  return turnover_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SecurityQuote::set_allocated_turnover(std::string* turnover) {
  if (turnover != nullptr) {
    
  } else {
    
  }
  turnover_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), turnover,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (turnover_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    turnover_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityQuote.turnover)
}

// .longbridgeapp.quote.v1.TradeStatus trade_status = 10 [json_name = "tradeStatus"];
inline void SecurityQuote::clear_trade_status() {
  trade_status_ = 0;
}
inline ::longbridgeapp::quote::v1::TradeStatus SecurityQuote::_internal_trade_status() const {
  return static_cast< ::longbridgeapp::quote::v1::TradeStatus >(trade_status_);
}
inline ::longbridgeapp::quote::v1::TradeStatus SecurityQuote::trade_status() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityQuote.trade_status)
  return _internal_trade_status();
}
inline void SecurityQuote::_internal_set_trade_status(::longbridgeapp::quote::v1::TradeStatus value) {
  
  trade_status_ = value;
}
inline void SecurityQuote::set_trade_status(::longbridgeapp::quote::v1::TradeStatus value) {
  _internal_set_trade_status(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityQuote.trade_status)
}

// .longbridgeapp.quote.v1.PrePostQuote pre_market_quote = 11 [json_name = "preMarketQuote"];
inline bool SecurityQuote::_internal_has_pre_market_quote() const {
  return this != internal_default_instance() && pre_market_quote_ != nullptr;
}
inline bool SecurityQuote::has_pre_market_quote() const {
  return _internal_has_pre_market_quote();
}
inline void SecurityQuote::clear_pre_market_quote() {
  if (GetArenaForAllocation() == nullptr && pre_market_quote_ != nullptr) {
    delete pre_market_quote_;
  }
  pre_market_quote_ = nullptr;
}
inline const ::longbridgeapp::quote::v1::PrePostQuote& SecurityQuote::_internal_pre_market_quote() const {
  const ::longbridgeapp::quote::v1::PrePostQuote* p = pre_market_quote_;
  return p != nullptr ? *p : reinterpret_cast<const ::longbridgeapp::quote::v1::PrePostQuote&>(
      ::longbridgeapp::quote::v1::_PrePostQuote_default_instance_);
}
inline const ::longbridgeapp::quote::v1::PrePostQuote& SecurityQuote::pre_market_quote() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityQuote.pre_market_quote)
  return _internal_pre_market_quote();
}
inline void SecurityQuote::unsafe_arena_set_allocated_pre_market_quote(
    ::longbridgeapp::quote::v1::PrePostQuote* pre_market_quote) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(pre_market_quote_);
  }
  pre_market_quote_ = pre_market_quote;
  if (pre_market_quote) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:longbridgeapp.quote.v1.SecurityQuote.pre_market_quote)
}
inline ::longbridgeapp::quote::v1::PrePostQuote* SecurityQuote::release_pre_market_quote() {
  
  ::longbridgeapp::quote::v1::PrePostQuote* temp = pre_market_quote_;
  pre_market_quote_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::longbridgeapp::quote::v1::PrePostQuote* SecurityQuote::unsafe_arena_release_pre_market_quote() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityQuote.pre_market_quote)
  
  ::longbridgeapp::quote::v1::PrePostQuote* temp = pre_market_quote_;
  pre_market_quote_ = nullptr;
  return temp;
}
inline ::longbridgeapp::quote::v1::PrePostQuote* SecurityQuote::_internal_mutable_pre_market_quote() {
  
  if (pre_market_quote_ == nullptr) {
    auto* p = CreateMaybeMessage<::longbridgeapp::quote::v1::PrePostQuote>(GetArenaForAllocation());
    pre_market_quote_ = p;
  }
  return pre_market_quote_;
}
inline ::longbridgeapp::quote::v1::PrePostQuote* SecurityQuote::mutable_pre_market_quote() {
  ::longbridgeapp::quote::v1::PrePostQuote* _msg = _internal_mutable_pre_market_quote();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityQuote.pre_market_quote)
  return _msg;
}
inline void SecurityQuote::set_allocated_pre_market_quote(::longbridgeapp::quote::v1::PrePostQuote* pre_market_quote) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete pre_market_quote_;
  }
  if (pre_market_quote) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::longbridgeapp::quote::v1::PrePostQuote>::GetOwningArena(pre_market_quote);
    if (message_arena != submessage_arena) {
      pre_market_quote = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, pre_market_quote, submessage_arena);
    }
    
  } else {
    
  }
  pre_market_quote_ = pre_market_quote;
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityQuote.pre_market_quote)
}

// .longbridgeapp.quote.v1.PrePostQuote post_market_quote = 12 [json_name = "postMarketQuote"];
inline bool SecurityQuote::_internal_has_post_market_quote() const {
  return this != internal_default_instance() && post_market_quote_ != nullptr;
}
inline bool SecurityQuote::has_post_market_quote() const {
  return _internal_has_post_market_quote();
}
inline void SecurityQuote::clear_post_market_quote() {
  if (GetArenaForAllocation() == nullptr && post_market_quote_ != nullptr) {
    delete post_market_quote_;
  }
  post_market_quote_ = nullptr;
}
inline const ::longbridgeapp::quote::v1::PrePostQuote& SecurityQuote::_internal_post_market_quote() const {
  const ::longbridgeapp::quote::v1::PrePostQuote* p = post_market_quote_;
  return p != nullptr ? *p : reinterpret_cast<const ::longbridgeapp::quote::v1::PrePostQuote&>(
      ::longbridgeapp::quote::v1::_PrePostQuote_default_instance_);
}
inline const ::longbridgeapp::quote::v1::PrePostQuote& SecurityQuote::post_market_quote() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityQuote.post_market_quote)
  return _internal_post_market_quote();
}
inline void SecurityQuote::unsafe_arena_set_allocated_post_market_quote(
    ::longbridgeapp::quote::v1::PrePostQuote* post_market_quote) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(post_market_quote_);
  }
  post_market_quote_ = post_market_quote;
  if (post_market_quote) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:longbridgeapp.quote.v1.SecurityQuote.post_market_quote)
}
inline ::longbridgeapp::quote::v1::PrePostQuote* SecurityQuote::release_post_market_quote() {
  
  ::longbridgeapp::quote::v1::PrePostQuote* temp = post_market_quote_;
  post_market_quote_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::longbridgeapp::quote::v1::PrePostQuote* SecurityQuote::unsafe_arena_release_post_market_quote() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityQuote.post_market_quote)
  
  ::longbridgeapp::quote::v1::PrePostQuote* temp = post_market_quote_;
  post_market_quote_ = nullptr;
  return temp;
}
inline ::longbridgeapp::quote::v1::PrePostQuote* SecurityQuote::_internal_mutable_post_market_quote() {
  
  if (post_market_quote_ == nullptr) {
    auto* p = CreateMaybeMessage<::longbridgeapp::quote::v1::PrePostQuote>(GetArenaForAllocation());
    post_market_quote_ = p;
  }
  return post_market_quote_;
}
inline ::longbridgeapp::quote::v1::PrePostQuote* SecurityQuote::mutable_post_market_quote() {
  ::longbridgeapp::quote::v1::PrePostQuote* _msg = _internal_mutable_post_market_quote();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityQuote.post_market_quote)
  return _msg;
}
inline void SecurityQuote::set_allocated_post_market_quote(::longbridgeapp::quote::v1::PrePostQuote* post_market_quote) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete post_market_quote_;
  }
  if (post_market_quote) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::longbridgeapp::quote::v1::PrePostQuote>::GetOwningArena(post_market_quote);
    if (message_arena != submessage_arena) {
      post_market_quote = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, post_market_quote, submessage_arena);
    }
    
  } else {
    
  }
  post_market_quote_ = post_market_quote;
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityQuote.post_market_quote)
}

// -------------------------------------------------------------------

// PrePostQuote

// string last_done = 1 [json_name = "lastDone"];
inline void PrePostQuote::clear_last_done() {
  last_done_.ClearToEmpty();
}
inline const std::string& PrePostQuote::last_done() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PrePostQuote.last_done)
  return _internal_last_done();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void PrePostQuote::set_last_done(ArgT0&& arg0, ArgT... args) {
 
 last_done_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PrePostQuote.last_done)
}
inline std::string* PrePostQuote::mutable_last_done() {
  std::string* _s = _internal_mutable_last_done();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PrePostQuote.last_done)
  return _s;
}
inline const std::string& PrePostQuote::_internal_last_done() const {
  return last_done_.Get();
}
inline void PrePostQuote::_internal_set_last_done(const std::string& value) {
  
  last_done_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* PrePostQuote::_internal_mutable_last_done() {
  
  return last_done_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* PrePostQuote::release_last_done() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.PrePostQuote.last_done)
  return last_done_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void PrePostQuote::set_allocated_last_done(std::string* last_done) {
  if (last_done != nullptr) {
    
  } else {
    
  }
  last_done_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), last_done,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (last_done_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    last_done_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.PrePostQuote.last_done)
}

// int64 timestamp = 2 [json_name = "timestamp"];
inline void PrePostQuote::clear_timestamp() {
  timestamp_ = int64_t{0};
}
inline int64_t PrePostQuote::_internal_timestamp() const {
  return timestamp_;
}
inline int64_t PrePostQuote::timestamp() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PrePostQuote.timestamp)
  return _internal_timestamp();
}
inline void PrePostQuote::_internal_set_timestamp(int64_t value) {
  
  timestamp_ = value;
}
inline void PrePostQuote::set_timestamp(int64_t value) {
  _internal_set_timestamp(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PrePostQuote.timestamp)
}

// int64 volume = 3 [json_name = "volume"];
inline void PrePostQuote::clear_volume() {
  volume_ = int64_t{0};
}
inline int64_t PrePostQuote::_internal_volume() const {
  return volume_;
}
inline int64_t PrePostQuote::volume() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PrePostQuote.volume)
  return _internal_volume();
}
inline void PrePostQuote::_internal_set_volume(int64_t value) {
  
  volume_ = value;
}
inline void PrePostQuote::set_volume(int64_t value) {
  _internal_set_volume(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PrePostQuote.volume)
}

// string turnover = 4 [json_name = "turnover"];
inline void PrePostQuote::clear_turnover() {
  turnover_.ClearToEmpty();
}
inline const std::string& PrePostQuote::turnover() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PrePostQuote.turnover)
  return _internal_turnover();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void PrePostQuote::set_turnover(ArgT0&& arg0, ArgT... args) {
 
 turnover_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PrePostQuote.turnover)
}
inline std::string* PrePostQuote::mutable_turnover() {
  std::string* _s = _internal_mutable_turnover();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PrePostQuote.turnover)
  return _s;
}
inline const std::string& PrePostQuote::_internal_turnover() const {
  return turnover_.Get();
}
inline void PrePostQuote::_internal_set_turnover(const std::string& value) {
  
  turnover_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* PrePostQuote::_internal_mutable_turnover() {
  
  return turnover_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* PrePostQuote::release_turnover() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.PrePostQuote.turnover)
  return turnover_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void PrePostQuote::set_allocated_turnover(std::string* turnover) {
  if (turnover != nullptr) {
    
  } else {
    
  }
  turnover_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), turnover,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (turnover_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    turnover_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.PrePostQuote.turnover)
}

// string high = 5 [json_name = "high"];
inline void PrePostQuote::clear_high() {
  high_.ClearToEmpty();
}
inline const std::string& PrePostQuote::high() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PrePostQuote.high)
  return _internal_high();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void PrePostQuote::set_high(ArgT0&& arg0, ArgT... args) {
 
 high_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PrePostQuote.high)
}
inline std::string* PrePostQuote::mutable_high() {
  std::string* _s = _internal_mutable_high();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PrePostQuote.high)
  return _s;
}
inline const std::string& PrePostQuote::_internal_high() const {
  return high_.Get();
}
inline void PrePostQuote::_internal_set_high(const std::string& value) {
  
  high_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* PrePostQuote::_internal_mutable_high() {
  
  return high_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* PrePostQuote::release_high() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.PrePostQuote.high)
  return high_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void PrePostQuote::set_allocated_high(std::string* high) {
  if (high != nullptr) {
    
  } else {
    
  }
  high_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), high,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (high_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    high_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.PrePostQuote.high)
}

// string low = 6 [json_name = "low"];
inline void PrePostQuote::clear_low() {
  low_.ClearToEmpty();
}
inline const std::string& PrePostQuote::low() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PrePostQuote.low)
  return _internal_low();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void PrePostQuote::set_low(ArgT0&& arg0, ArgT... args) {
 
 low_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PrePostQuote.low)
}
inline std::string* PrePostQuote::mutable_low() {
  std::string* _s = _internal_mutable_low();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PrePostQuote.low)
  return _s;
}
inline const std::string& PrePostQuote::_internal_low() const {
  return low_.Get();
}
inline void PrePostQuote::_internal_set_low(const std::string& value) {
  
  low_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* PrePostQuote::_internal_mutable_low() {
  
  return low_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* PrePostQuote::release_low() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.PrePostQuote.low)
  return low_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void PrePostQuote::set_allocated_low(std::string* low) {
  if (low != nullptr) {
    
  } else {
    
  }
  low_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), low,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (low_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    low_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.PrePostQuote.low)
}

// string prev_close = 7 [json_name = "prevClose"];
inline void PrePostQuote::clear_prev_close() {
  prev_close_.ClearToEmpty();
}
inline const std::string& PrePostQuote::prev_close() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PrePostQuote.prev_close)
  return _internal_prev_close();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void PrePostQuote::set_prev_close(ArgT0&& arg0, ArgT... args) {
 
 prev_close_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PrePostQuote.prev_close)
}
inline std::string* PrePostQuote::mutable_prev_close() {
  std::string* _s = _internal_mutable_prev_close();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PrePostQuote.prev_close)
  return _s;
}
inline const std::string& PrePostQuote::_internal_prev_close() const {
  return prev_close_.Get();
}
inline void PrePostQuote::_internal_set_prev_close(const std::string& value) {
  
  prev_close_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* PrePostQuote::_internal_mutable_prev_close() {
  
  return prev_close_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* PrePostQuote::release_prev_close() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.PrePostQuote.prev_close)
  return prev_close_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void PrePostQuote::set_allocated_prev_close(std::string* prev_close) {
  if (prev_close != nullptr) {
    
  } else {
    
  }
  prev_close_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), prev_close,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (prev_close_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    prev_close_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.PrePostQuote.prev_close)
}

// -------------------------------------------------------------------

// OptionQuoteResponse

// repeated .longbridgeapp.quote.v1.OptionQuote secu_quote = 1 [json_name = "secuQuote"];
inline int OptionQuoteResponse::_internal_secu_quote_size() const {
  return secu_quote_.size();
}
inline int OptionQuoteResponse::secu_quote_size() const {
  return _internal_secu_quote_size();
}
inline void OptionQuoteResponse::clear_secu_quote() {
  secu_quote_.Clear();
}
inline ::longbridgeapp::quote::v1::OptionQuote* OptionQuoteResponse::mutable_secu_quote(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionQuoteResponse.secu_quote)
  return secu_quote_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::OptionQuote >*
OptionQuoteResponse::mutable_secu_quote() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.OptionQuoteResponse.secu_quote)
  return &secu_quote_;
}
inline const ::longbridgeapp::quote::v1::OptionQuote& OptionQuoteResponse::_internal_secu_quote(int index) const {
  return secu_quote_.Get(index);
}
inline const ::longbridgeapp::quote::v1::OptionQuote& OptionQuoteResponse::secu_quote(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionQuoteResponse.secu_quote)
  return _internal_secu_quote(index);
}
inline ::longbridgeapp::quote::v1::OptionQuote* OptionQuoteResponse::_internal_add_secu_quote() {
  return secu_quote_.Add();
}
inline ::longbridgeapp::quote::v1::OptionQuote* OptionQuoteResponse::add_secu_quote() {
  ::longbridgeapp::quote::v1::OptionQuote* _add = _internal_add_secu_quote();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.OptionQuoteResponse.secu_quote)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::OptionQuote >&
OptionQuoteResponse::secu_quote() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.OptionQuoteResponse.secu_quote)
  return secu_quote_;
}

// -------------------------------------------------------------------

// OptionQuote

// string symbol = 1 [json_name = "symbol"];
inline void OptionQuote::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& OptionQuote::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionQuote.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionQuote::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionQuote.symbol)
}
inline std::string* OptionQuote::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionQuote.symbol)
  return _s;
}
inline const std::string& OptionQuote::_internal_symbol() const {
  return symbol_.Get();
}
inline void OptionQuote::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionQuote::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionQuote::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionQuote.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionQuote::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionQuote.symbol)
}

// string last_done = 2 [json_name = "lastDone"];
inline void OptionQuote::clear_last_done() {
  last_done_.ClearToEmpty();
}
inline const std::string& OptionQuote::last_done() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionQuote.last_done)
  return _internal_last_done();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionQuote::set_last_done(ArgT0&& arg0, ArgT... args) {
 
 last_done_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionQuote.last_done)
}
inline std::string* OptionQuote::mutable_last_done() {
  std::string* _s = _internal_mutable_last_done();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionQuote.last_done)
  return _s;
}
inline const std::string& OptionQuote::_internal_last_done() const {
  return last_done_.Get();
}
inline void OptionQuote::_internal_set_last_done(const std::string& value) {
  
  last_done_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionQuote::_internal_mutable_last_done() {
  
  return last_done_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionQuote::release_last_done() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionQuote.last_done)
  return last_done_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionQuote::set_allocated_last_done(std::string* last_done) {
  if (last_done != nullptr) {
    
  } else {
    
  }
  last_done_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), last_done,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (last_done_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    last_done_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionQuote.last_done)
}

// string prev_close = 3 [json_name = "prevClose"];
inline void OptionQuote::clear_prev_close() {
  prev_close_.ClearToEmpty();
}
inline const std::string& OptionQuote::prev_close() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionQuote.prev_close)
  return _internal_prev_close();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionQuote::set_prev_close(ArgT0&& arg0, ArgT... args) {
 
 prev_close_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionQuote.prev_close)
}
inline std::string* OptionQuote::mutable_prev_close() {
  std::string* _s = _internal_mutable_prev_close();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionQuote.prev_close)
  return _s;
}
inline const std::string& OptionQuote::_internal_prev_close() const {
  return prev_close_.Get();
}
inline void OptionQuote::_internal_set_prev_close(const std::string& value) {
  
  prev_close_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionQuote::_internal_mutable_prev_close() {
  
  return prev_close_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionQuote::release_prev_close() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionQuote.prev_close)
  return prev_close_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionQuote::set_allocated_prev_close(std::string* prev_close) {
  if (prev_close != nullptr) {
    
  } else {
    
  }
  prev_close_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), prev_close,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (prev_close_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    prev_close_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionQuote.prev_close)
}

// string open = 4 [json_name = "open"];
inline void OptionQuote::clear_open() {
  open_.ClearToEmpty();
}
inline const std::string& OptionQuote::open() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionQuote.open)
  return _internal_open();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionQuote::set_open(ArgT0&& arg0, ArgT... args) {
 
 open_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionQuote.open)
}
inline std::string* OptionQuote::mutable_open() {
  std::string* _s = _internal_mutable_open();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionQuote.open)
  return _s;
}
inline const std::string& OptionQuote::_internal_open() const {
  return open_.Get();
}
inline void OptionQuote::_internal_set_open(const std::string& value) {
  
  open_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionQuote::_internal_mutable_open() {
  
  return open_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionQuote::release_open() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionQuote.open)
  return open_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionQuote::set_allocated_open(std::string* open) {
  if (open != nullptr) {
    
  } else {
    
  }
  open_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), open,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (open_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    open_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionQuote.open)
}

// string high = 5 [json_name = "high"];
inline void OptionQuote::clear_high() {
  high_.ClearToEmpty();
}
inline const std::string& OptionQuote::high() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionQuote.high)
  return _internal_high();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionQuote::set_high(ArgT0&& arg0, ArgT... args) {
 
 high_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionQuote.high)
}
inline std::string* OptionQuote::mutable_high() {
  std::string* _s = _internal_mutable_high();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionQuote.high)
  return _s;
}
inline const std::string& OptionQuote::_internal_high() const {
  return high_.Get();
}
inline void OptionQuote::_internal_set_high(const std::string& value) {
  
  high_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionQuote::_internal_mutable_high() {
  
  return high_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionQuote::release_high() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionQuote.high)
  return high_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionQuote::set_allocated_high(std::string* high) {
  if (high != nullptr) {
    
  } else {
    
  }
  high_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), high,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (high_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    high_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionQuote.high)
}

// string low = 6 [json_name = "low"];
inline void OptionQuote::clear_low() {
  low_.ClearToEmpty();
}
inline const std::string& OptionQuote::low() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionQuote.low)
  return _internal_low();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionQuote::set_low(ArgT0&& arg0, ArgT... args) {
 
 low_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionQuote.low)
}
inline std::string* OptionQuote::mutable_low() {
  std::string* _s = _internal_mutable_low();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionQuote.low)
  return _s;
}
inline const std::string& OptionQuote::_internal_low() const {
  return low_.Get();
}
inline void OptionQuote::_internal_set_low(const std::string& value) {
  
  low_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionQuote::_internal_mutable_low() {
  
  return low_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionQuote::release_low() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionQuote.low)
  return low_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionQuote::set_allocated_low(std::string* low) {
  if (low != nullptr) {
    
  } else {
    
  }
  low_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), low,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (low_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    low_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionQuote.low)
}

// int64 timestamp = 7 [json_name = "timestamp"];
inline void OptionQuote::clear_timestamp() {
  timestamp_ = int64_t{0};
}
inline int64_t OptionQuote::_internal_timestamp() const {
  return timestamp_;
}
inline int64_t OptionQuote::timestamp() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionQuote.timestamp)
  return _internal_timestamp();
}
inline void OptionQuote::_internal_set_timestamp(int64_t value) {
  
  timestamp_ = value;
}
inline void OptionQuote::set_timestamp(int64_t value) {
  _internal_set_timestamp(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionQuote.timestamp)
}

// int64 volume = 8 [json_name = "volume"];
inline void OptionQuote::clear_volume() {
  volume_ = int64_t{0};
}
inline int64_t OptionQuote::_internal_volume() const {
  return volume_;
}
inline int64_t OptionQuote::volume() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionQuote.volume)
  return _internal_volume();
}
inline void OptionQuote::_internal_set_volume(int64_t value) {
  
  volume_ = value;
}
inline void OptionQuote::set_volume(int64_t value) {
  _internal_set_volume(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionQuote.volume)
}

// string turnover = 9 [json_name = "turnover"];
inline void OptionQuote::clear_turnover() {
  turnover_.ClearToEmpty();
}
inline const std::string& OptionQuote::turnover() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionQuote.turnover)
  return _internal_turnover();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionQuote::set_turnover(ArgT0&& arg0, ArgT... args) {
 
 turnover_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionQuote.turnover)
}
inline std::string* OptionQuote::mutable_turnover() {
  std::string* _s = _internal_mutable_turnover();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionQuote.turnover)
  return _s;
}
inline const std::string& OptionQuote::_internal_turnover() const {
  return turnover_.Get();
}
inline void OptionQuote::_internal_set_turnover(const std::string& value) {
  
  turnover_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionQuote::_internal_mutable_turnover() {
  
  return turnover_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionQuote::release_turnover() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionQuote.turnover)
  return turnover_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionQuote::set_allocated_turnover(std::string* turnover) {
  if (turnover != nullptr) {
    
  } else {
    
  }
  turnover_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), turnover,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (turnover_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    turnover_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionQuote.turnover)
}

// .longbridgeapp.quote.v1.TradeStatus trade_status = 10 [json_name = "tradeStatus"];
inline void OptionQuote::clear_trade_status() {
  trade_status_ = 0;
}
inline ::longbridgeapp::quote::v1::TradeStatus OptionQuote::_internal_trade_status() const {
  return static_cast< ::longbridgeapp::quote::v1::TradeStatus >(trade_status_);
}
inline ::longbridgeapp::quote::v1::TradeStatus OptionQuote::trade_status() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionQuote.trade_status)
  return _internal_trade_status();
}
inline void OptionQuote::_internal_set_trade_status(::longbridgeapp::quote::v1::TradeStatus value) {
  
  trade_status_ = value;
}
inline void OptionQuote::set_trade_status(::longbridgeapp::quote::v1::TradeStatus value) {
  _internal_set_trade_status(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionQuote.trade_status)
}

// .longbridgeapp.quote.v1.OptionExtend option_extend = 11 [json_name = "optionExtend"];
inline bool OptionQuote::_internal_has_option_extend() const {
  return this != internal_default_instance() && option_extend_ != nullptr;
}
inline bool OptionQuote::has_option_extend() const {
  return _internal_has_option_extend();
}
inline void OptionQuote::clear_option_extend() {
  if (GetArenaForAllocation() == nullptr && option_extend_ != nullptr) {
    delete option_extend_;
  }
  option_extend_ = nullptr;
}
inline const ::longbridgeapp::quote::v1::OptionExtend& OptionQuote::_internal_option_extend() const {
  const ::longbridgeapp::quote::v1::OptionExtend* p = option_extend_;
  return p != nullptr ? *p : reinterpret_cast<const ::longbridgeapp::quote::v1::OptionExtend&>(
      ::longbridgeapp::quote::v1::_OptionExtend_default_instance_);
}
inline const ::longbridgeapp::quote::v1::OptionExtend& OptionQuote::option_extend() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionQuote.option_extend)
  return _internal_option_extend();
}
inline void OptionQuote::unsafe_arena_set_allocated_option_extend(
    ::longbridgeapp::quote::v1::OptionExtend* option_extend) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(option_extend_);
  }
  option_extend_ = option_extend;
  if (option_extend) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:longbridgeapp.quote.v1.OptionQuote.option_extend)
}
inline ::longbridgeapp::quote::v1::OptionExtend* OptionQuote::release_option_extend() {
  
  ::longbridgeapp::quote::v1::OptionExtend* temp = option_extend_;
  option_extend_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::longbridgeapp::quote::v1::OptionExtend* OptionQuote::unsafe_arena_release_option_extend() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionQuote.option_extend)
  
  ::longbridgeapp::quote::v1::OptionExtend* temp = option_extend_;
  option_extend_ = nullptr;
  return temp;
}
inline ::longbridgeapp::quote::v1::OptionExtend* OptionQuote::_internal_mutable_option_extend() {
  
  if (option_extend_ == nullptr) {
    auto* p = CreateMaybeMessage<::longbridgeapp::quote::v1::OptionExtend>(GetArenaForAllocation());
    option_extend_ = p;
  }
  return option_extend_;
}
inline ::longbridgeapp::quote::v1::OptionExtend* OptionQuote::mutable_option_extend() {
  ::longbridgeapp::quote::v1::OptionExtend* _msg = _internal_mutable_option_extend();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionQuote.option_extend)
  return _msg;
}
inline void OptionQuote::set_allocated_option_extend(::longbridgeapp::quote::v1::OptionExtend* option_extend) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete option_extend_;
  }
  if (option_extend) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::longbridgeapp::quote::v1::OptionExtend>::GetOwningArena(option_extend);
    if (message_arena != submessage_arena) {
      option_extend = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, option_extend, submessage_arena);
    }
    
  } else {
    
  }
  option_extend_ = option_extend;
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionQuote.option_extend)
}

// -------------------------------------------------------------------

// OptionExtend

// string implied_volatility = 1 [json_name = "impliedVolatility"];
inline void OptionExtend::clear_implied_volatility() {
  implied_volatility_.ClearToEmpty();
}
inline const std::string& OptionExtend::implied_volatility() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionExtend.implied_volatility)
  return _internal_implied_volatility();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionExtend::set_implied_volatility(ArgT0&& arg0, ArgT... args) {
 
 implied_volatility_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionExtend.implied_volatility)
}
inline std::string* OptionExtend::mutable_implied_volatility() {
  std::string* _s = _internal_mutable_implied_volatility();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionExtend.implied_volatility)
  return _s;
}
inline const std::string& OptionExtend::_internal_implied_volatility() const {
  return implied_volatility_.Get();
}
inline void OptionExtend::_internal_set_implied_volatility(const std::string& value) {
  
  implied_volatility_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionExtend::_internal_mutable_implied_volatility() {
  
  return implied_volatility_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionExtend::release_implied_volatility() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionExtend.implied_volatility)
  return implied_volatility_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionExtend::set_allocated_implied_volatility(std::string* implied_volatility) {
  if (implied_volatility != nullptr) {
    
  } else {
    
  }
  implied_volatility_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), implied_volatility,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (implied_volatility_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    implied_volatility_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionExtend.implied_volatility)
}

// int64 open_interest = 2 [json_name = "openInterest"];
inline void OptionExtend::clear_open_interest() {
  open_interest_ = int64_t{0};
}
inline int64_t OptionExtend::_internal_open_interest() const {
  return open_interest_;
}
inline int64_t OptionExtend::open_interest() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionExtend.open_interest)
  return _internal_open_interest();
}
inline void OptionExtend::_internal_set_open_interest(int64_t value) {
  
  open_interest_ = value;
}
inline void OptionExtend::set_open_interest(int64_t value) {
  _internal_set_open_interest(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionExtend.open_interest)
}

// string expiry_date = 3 [json_name = "expiryDate"];
inline void OptionExtend::clear_expiry_date() {
  expiry_date_.ClearToEmpty();
}
inline const std::string& OptionExtend::expiry_date() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionExtend.expiry_date)
  return _internal_expiry_date();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionExtend::set_expiry_date(ArgT0&& arg0, ArgT... args) {
 
 expiry_date_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionExtend.expiry_date)
}
inline std::string* OptionExtend::mutable_expiry_date() {
  std::string* _s = _internal_mutable_expiry_date();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionExtend.expiry_date)
  return _s;
}
inline const std::string& OptionExtend::_internal_expiry_date() const {
  return expiry_date_.Get();
}
inline void OptionExtend::_internal_set_expiry_date(const std::string& value) {
  
  expiry_date_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionExtend::_internal_mutable_expiry_date() {
  
  return expiry_date_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionExtend::release_expiry_date() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionExtend.expiry_date)
  return expiry_date_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionExtend::set_allocated_expiry_date(std::string* expiry_date) {
  if (expiry_date != nullptr) {
    
  } else {
    
  }
  expiry_date_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), expiry_date,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (expiry_date_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    expiry_date_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionExtend.expiry_date)
}

// string strike_price = 4 [json_name = "strikePrice"];
inline void OptionExtend::clear_strike_price() {
  strike_price_.ClearToEmpty();
}
inline const std::string& OptionExtend::strike_price() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionExtend.strike_price)
  return _internal_strike_price();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionExtend::set_strike_price(ArgT0&& arg0, ArgT... args) {
 
 strike_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionExtend.strike_price)
}
inline std::string* OptionExtend::mutable_strike_price() {
  std::string* _s = _internal_mutable_strike_price();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionExtend.strike_price)
  return _s;
}
inline const std::string& OptionExtend::_internal_strike_price() const {
  return strike_price_.Get();
}
inline void OptionExtend::_internal_set_strike_price(const std::string& value) {
  
  strike_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionExtend::_internal_mutable_strike_price() {
  
  return strike_price_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionExtend::release_strike_price() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionExtend.strike_price)
  return strike_price_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionExtend::set_allocated_strike_price(std::string* strike_price) {
  if (strike_price != nullptr) {
    
  } else {
    
  }
  strike_price_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), strike_price,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (strike_price_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    strike_price_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionExtend.strike_price)
}

// string contract_multiplier = 5 [json_name = "contractMultiplier"];
inline void OptionExtend::clear_contract_multiplier() {
  contract_multiplier_.ClearToEmpty();
}
inline const std::string& OptionExtend::contract_multiplier() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionExtend.contract_multiplier)
  return _internal_contract_multiplier();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionExtend::set_contract_multiplier(ArgT0&& arg0, ArgT... args) {
 
 contract_multiplier_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionExtend.contract_multiplier)
}
inline std::string* OptionExtend::mutable_contract_multiplier() {
  std::string* _s = _internal_mutable_contract_multiplier();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionExtend.contract_multiplier)
  return _s;
}
inline const std::string& OptionExtend::_internal_contract_multiplier() const {
  return contract_multiplier_.Get();
}
inline void OptionExtend::_internal_set_contract_multiplier(const std::string& value) {
  
  contract_multiplier_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionExtend::_internal_mutable_contract_multiplier() {
  
  return contract_multiplier_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionExtend::release_contract_multiplier() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionExtend.contract_multiplier)
  return contract_multiplier_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionExtend::set_allocated_contract_multiplier(std::string* contract_multiplier) {
  if (contract_multiplier != nullptr) {
    
  } else {
    
  }
  contract_multiplier_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), contract_multiplier,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (contract_multiplier_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    contract_multiplier_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionExtend.contract_multiplier)
}

// string contract_type = 6 [json_name = "contractType"];
inline void OptionExtend::clear_contract_type() {
  contract_type_.ClearToEmpty();
}
inline const std::string& OptionExtend::contract_type() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionExtend.contract_type)
  return _internal_contract_type();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionExtend::set_contract_type(ArgT0&& arg0, ArgT... args) {
 
 contract_type_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionExtend.contract_type)
}
inline std::string* OptionExtend::mutable_contract_type() {
  std::string* _s = _internal_mutable_contract_type();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionExtend.contract_type)
  return _s;
}
inline const std::string& OptionExtend::_internal_contract_type() const {
  return contract_type_.Get();
}
inline void OptionExtend::_internal_set_contract_type(const std::string& value) {
  
  contract_type_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionExtend::_internal_mutable_contract_type() {
  
  return contract_type_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionExtend::release_contract_type() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionExtend.contract_type)
  return contract_type_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionExtend::set_allocated_contract_type(std::string* contract_type) {
  if (contract_type != nullptr) {
    
  } else {
    
  }
  contract_type_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), contract_type,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (contract_type_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    contract_type_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionExtend.contract_type)
}

// string contract_size = 7 [json_name = "contractSize"];
inline void OptionExtend::clear_contract_size() {
  contract_size_.ClearToEmpty();
}
inline const std::string& OptionExtend::contract_size() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionExtend.contract_size)
  return _internal_contract_size();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionExtend::set_contract_size(ArgT0&& arg0, ArgT... args) {
 
 contract_size_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionExtend.contract_size)
}
inline std::string* OptionExtend::mutable_contract_size() {
  std::string* _s = _internal_mutable_contract_size();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionExtend.contract_size)
  return _s;
}
inline const std::string& OptionExtend::_internal_contract_size() const {
  return contract_size_.Get();
}
inline void OptionExtend::_internal_set_contract_size(const std::string& value) {
  
  contract_size_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionExtend::_internal_mutable_contract_size() {
  
  return contract_size_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionExtend::release_contract_size() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionExtend.contract_size)
  return contract_size_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionExtend::set_allocated_contract_size(std::string* contract_size) {
  if (contract_size != nullptr) {
    
  } else {
    
  }
  contract_size_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), contract_size,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (contract_size_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    contract_size_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionExtend.contract_size)
}

// string direction = 8 [json_name = "direction"];
inline void OptionExtend::clear_direction() {
  direction_.ClearToEmpty();
}
inline const std::string& OptionExtend::direction() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionExtend.direction)
  return _internal_direction();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionExtend::set_direction(ArgT0&& arg0, ArgT... args) {
 
 direction_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionExtend.direction)
}
inline std::string* OptionExtend::mutable_direction() {
  std::string* _s = _internal_mutable_direction();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionExtend.direction)
  return _s;
}
inline const std::string& OptionExtend::_internal_direction() const {
  return direction_.Get();
}
inline void OptionExtend::_internal_set_direction(const std::string& value) {
  
  direction_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionExtend::_internal_mutable_direction() {
  
  return direction_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionExtend::release_direction() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionExtend.direction)
  return direction_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionExtend::set_allocated_direction(std::string* direction) {
  if (direction != nullptr) {
    
  } else {
    
  }
  direction_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), direction,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (direction_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    direction_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionExtend.direction)
}

// string historical_volatility = 9 [json_name = "historicalVolatility"];
inline void OptionExtend::clear_historical_volatility() {
  historical_volatility_.ClearToEmpty();
}
inline const std::string& OptionExtend::historical_volatility() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionExtend.historical_volatility)
  return _internal_historical_volatility();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionExtend::set_historical_volatility(ArgT0&& arg0, ArgT... args) {
 
 historical_volatility_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionExtend.historical_volatility)
}
inline std::string* OptionExtend::mutable_historical_volatility() {
  std::string* _s = _internal_mutable_historical_volatility();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionExtend.historical_volatility)
  return _s;
}
inline const std::string& OptionExtend::_internal_historical_volatility() const {
  return historical_volatility_.Get();
}
inline void OptionExtend::_internal_set_historical_volatility(const std::string& value) {
  
  historical_volatility_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionExtend::_internal_mutable_historical_volatility() {
  
  return historical_volatility_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionExtend::release_historical_volatility() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionExtend.historical_volatility)
  return historical_volatility_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionExtend::set_allocated_historical_volatility(std::string* historical_volatility) {
  if (historical_volatility != nullptr) {
    
  } else {
    
  }
  historical_volatility_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), historical_volatility,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (historical_volatility_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    historical_volatility_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionExtend.historical_volatility)
}

// string underlying_symbol = 10 [json_name = "underlyingSymbol"];
inline void OptionExtend::clear_underlying_symbol() {
  underlying_symbol_.ClearToEmpty();
}
inline const std::string& OptionExtend::underlying_symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionExtend.underlying_symbol)
  return _internal_underlying_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionExtend::set_underlying_symbol(ArgT0&& arg0, ArgT... args) {
 
 underlying_symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionExtend.underlying_symbol)
}
inline std::string* OptionExtend::mutable_underlying_symbol() {
  std::string* _s = _internal_mutable_underlying_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionExtend.underlying_symbol)
  return _s;
}
inline const std::string& OptionExtend::_internal_underlying_symbol() const {
  return underlying_symbol_.Get();
}
inline void OptionExtend::_internal_set_underlying_symbol(const std::string& value) {
  
  underlying_symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionExtend::_internal_mutable_underlying_symbol() {
  
  return underlying_symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionExtend::release_underlying_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionExtend.underlying_symbol)
  return underlying_symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionExtend::set_allocated_underlying_symbol(std::string* underlying_symbol) {
  if (underlying_symbol != nullptr) {
    
  } else {
    
  }
  underlying_symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), underlying_symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (underlying_symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    underlying_symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionExtend.underlying_symbol)
}

// -------------------------------------------------------------------

// WarrantQuoteResponse

// repeated .longbridgeapp.quote.v1.WarrantQuote secu_quote = 2 [json_name = "secuQuote"];
inline int WarrantQuoteResponse::_internal_secu_quote_size() const {
  return secu_quote_.size();
}
inline int WarrantQuoteResponse::secu_quote_size() const {
  return _internal_secu_quote_size();
}
inline void WarrantQuoteResponse::clear_secu_quote() {
  secu_quote_.Clear();
}
inline ::longbridgeapp::quote::v1::WarrantQuote* WarrantQuoteResponse::mutable_secu_quote(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantQuoteResponse.secu_quote)
  return secu_quote_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::WarrantQuote >*
WarrantQuoteResponse::mutable_secu_quote() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.WarrantQuoteResponse.secu_quote)
  return &secu_quote_;
}
inline const ::longbridgeapp::quote::v1::WarrantQuote& WarrantQuoteResponse::_internal_secu_quote(int index) const {
  return secu_quote_.Get(index);
}
inline const ::longbridgeapp::quote::v1::WarrantQuote& WarrantQuoteResponse::secu_quote(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantQuoteResponse.secu_quote)
  return _internal_secu_quote(index);
}
inline ::longbridgeapp::quote::v1::WarrantQuote* WarrantQuoteResponse::_internal_add_secu_quote() {
  return secu_quote_.Add();
}
inline ::longbridgeapp::quote::v1::WarrantQuote* WarrantQuoteResponse::add_secu_quote() {
  ::longbridgeapp::quote::v1::WarrantQuote* _add = _internal_add_secu_quote();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.WarrantQuoteResponse.secu_quote)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::WarrantQuote >&
WarrantQuoteResponse::secu_quote() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.WarrantQuoteResponse.secu_quote)
  return secu_quote_;
}

// -------------------------------------------------------------------

// WarrantQuote

// string symbol = 1 [json_name = "symbol"];
inline void WarrantQuote::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& WarrantQuote::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantQuote.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantQuote::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantQuote.symbol)
}
inline std::string* WarrantQuote::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantQuote.symbol)
  return _s;
}
inline const std::string& WarrantQuote::_internal_symbol() const {
  return symbol_.Get();
}
inline void WarrantQuote::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantQuote::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantQuote::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantQuote.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantQuote::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantQuote.symbol)
}

// string last_done = 2 [json_name = "lastDone"];
inline void WarrantQuote::clear_last_done() {
  last_done_.ClearToEmpty();
}
inline const std::string& WarrantQuote::last_done() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantQuote.last_done)
  return _internal_last_done();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantQuote::set_last_done(ArgT0&& arg0, ArgT... args) {
 
 last_done_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantQuote.last_done)
}
inline std::string* WarrantQuote::mutable_last_done() {
  std::string* _s = _internal_mutable_last_done();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantQuote.last_done)
  return _s;
}
inline const std::string& WarrantQuote::_internal_last_done() const {
  return last_done_.Get();
}
inline void WarrantQuote::_internal_set_last_done(const std::string& value) {
  
  last_done_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantQuote::_internal_mutable_last_done() {
  
  return last_done_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantQuote::release_last_done() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantQuote.last_done)
  return last_done_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantQuote::set_allocated_last_done(std::string* last_done) {
  if (last_done != nullptr) {
    
  } else {
    
  }
  last_done_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), last_done,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (last_done_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    last_done_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantQuote.last_done)
}

// string prev_close = 3 [json_name = "prevClose"];
inline void WarrantQuote::clear_prev_close() {
  prev_close_.ClearToEmpty();
}
inline const std::string& WarrantQuote::prev_close() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantQuote.prev_close)
  return _internal_prev_close();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantQuote::set_prev_close(ArgT0&& arg0, ArgT... args) {
 
 prev_close_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantQuote.prev_close)
}
inline std::string* WarrantQuote::mutable_prev_close() {
  std::string* _s = _internal_mutable_prev_close();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantQuote.prev_close)
  return _s;
}
inline const std::string& WarrantQuote::_internal_prev_close() const {
  return prev_close_.Get();
}
inline void WarrantQuote::_internal_set_prev_close(const std::string& value) {
  
  prev_close_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantQuote::_internal_mutable_prev_close() {
  
  return prev_close_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantQuote::release_prev_close() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantQuote.prev_close)
  return prev_close_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantQuote::set_allocated_prev_close(std::string* prev_close) {
  if (prev_close != nullptr) {
    
  } else {
    
  }
  prev_close_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), prev_close,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (prev_close_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    prev_close_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantQuote.prev_close)
}

// string open = 4 [json_name = "open"];
inline void WarrantQuote::clear_open() {
  open_.ClearToEmpty();
}
inline const std::string& WarrantQuote::open() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantQuote.open)
  return _internal_open();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantQuote::set_open(ArgT0&& arg0, ArgT... args) {
 
 open_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantQuote.open)
}
inline std::string* WarrantQuote::mutable_open() {
  std::string* _s = _internal_mutable_open();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantQuote.open)
  return _s;
}
inline const std::string& WarrantQuote::_internal_open() const {
  return open_.Get();
}
inline void WarrantQuote::_internal_set_open(const std::string& value) {
  
  open_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantQuote::_internal_mutable_open() {
  
  return open_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantQuote::release_open() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantQuote.open)
  return open_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantQuote::set_allocated_open(std::string* open) {
  if (open != nullptr) {
    
  } else {
    
  }
  open_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), open,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (open_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    open_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantQuote.open)
}

// string high = 5 [json_name = "high"];
inline void WarrantQuote::clear_high() {
  high_.ClearToEmpty();
}
inline const std::string& WarrantQuote::high() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantQuote.high)
  return _internal_high();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantQuote::set_high(ArgT0&& arg0, ArgT... args) {
 
 high_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantQuote.high)
}
inline std::string* WarrantQuote::mutable_high() {
  std::string* _s = _internal_mutable_high();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantQuote.high)
  return _s;
}
inline const std::string& WarrantQuote::_internal_high() const {
  return high_.Get();
}
inline void WarrantQuote::_internal_set_high(const std::string& value) {
  
  high_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantQuote::_internal_mutable_high() {
  
  return high_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantQuote::release_high() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantQuote.high)
  return high_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantQuote::set_allocated_high(std::string* high) {
  if (high != nullptr) {
    
  } else {
    
  }
  high_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), high,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (high_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    high_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantQuote.high)
}

// string low = 6 [json_name = "low"];
inline void WarrantQuote::clear_low() {
  low_.ClearToEmpty();
}
inline const std::string& WarrantQuote::low() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantQuote.low)
  return _internal_low();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantQuote::set_low(ArgT0&& arg0, ArgT... args) {
 
 low_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantQuote.low)
}
inline std::string* WarrantQuote::mutable_low() {
  std::string* _s = _internal_mutable_low();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantQuote.low)
  return _s;
}
inline const std::string& WarrantQuote::_internal_low() const {
  return low_.Get();
}
inline void WarrantQuote::_internal_set_low(const std::string& value) {
  
  low_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantQuote::_internal_mutable_low() {
  
  return low_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantQuote::release_low() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantQuote.low)
  return low_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantQuote::set_allocated_low(std::string* low) {
  if (low != nullptr) {
    
  } else {
    
  }
  low_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), low,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (low_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    low_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantQuote.low)
}

// int64 timestamp = 7 [json_name = "timestamp"];
inline void WarrantQuote::clear_timestamp() {
  timestamp_ = int64_t{0};
}
inline int64_t WarrantQuote::_internal_timestamp() const {
  return timestamp_;
}
inline int64_t WarrantQuote::timestamp() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantQuote.timestamp)
  return _internal_timestamp();
}
inline void WarrantQuote::_internal_set_timestamp(int64_t value) {
  
  timestamp_ = value;
}
inline void WarrantQuote::set_timestamp(int64_t value) {
  _internal_set_timestamp(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantQuote.timestamp)
}

// int64 volume = 8 [json_name = "volume"];
inline void WarrantQuote::clear_volume() {
  volume_ = int64_t{0};
}
inline int64_t WarrantQuote::_internal_volume() const {
  return volume_;
}
inline int64_t WarrantQuote::volume() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantQuote.volume)
  return _internal_volume();
}
inline void WarrantQuote::_internal_set_volume(int64_t value) {
  
  volume_ = value;
}
inline void WarrantQuote::set_volume(int64_t value) {
  _internal_set_volume(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantQuote.volume)
}

// string turnover = 9 [json_name = "turnover"];
inline void WarrantQuote::clear_turnover() {
  turnover_.ClearToEmpty();
}
inline const std::string& WarrantQuote::turnover() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantQuote.turnover)
  return _internal_turnover();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantQuote::set_turnover(ArgT0&& arg0, ArgT... args) {
 
 turnover_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantQuote.turnover)
}
inline std::string* WarrantQuote::mutable_turnover() {
  std::string* _s = _internal_mutable_turnover();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantQuote.turnover)
  return _s;
}
inline const std::string& WarrantQuote::_internal_turnover() const {
  return turnover_.Get();
}
inline void WarrantQuote::_internal_set_turnover(const std::string& value) {
  
  turnover_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantQuote::_internal_mutable_turnover() {
  
  return turnover_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantQuote::release_turnover() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantQuote.turnover)
  return turnover_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantQuote::set_allocated_turnover(std::string* turnover) {
  if (turnover != nullptr) {
    
  } else {
    
  }
  turnover_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), turnover,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (turnover_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    turnover_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantQuote.turnover)
}

// .longbridgeapp.quote.v1.TradeStatus trade_status = 10 [json_name = "tradeStatus"];
inline void WarrantQuote::clear_trade_status() {
  trade_status_ = 0;
}
inline ::longbridgeapp::quote::v1::TradeStatus WarrantQuote::_internal_trade_status() const {
  return static_cast< ::longbridgeapp::quote::v1::TradeStatus >(trade_status_);
}
inline ::longbridgeapp::quote::v1::TradeStatus WarrantQuote::trade_status() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantQuote.trade_status)
  return _internal_trade_status();
}
inline void WarrantQuote::_internal_set_trade_status(::longbridgeapp::quote::v1::TradeStatus value) {
  
  trade_status_ = value;
}
inline void WarrantQuote::set_trade_status(::longbridgeapp::quote::v1::TradeStatus value) {
  _internal_set_trade_status(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantQuote.trade_status)
}

// .longbridgeapp.quote.v1.WarrantExtend warrant_extend = 11 [json_name = "warrantExtend"];
inline bool WarrantQuote::_internal_has_warrant_extend() const {
  return this != internal_default_instance() && warrant_extend_ != nullptr;
}
inline bool WarrantQuote::has_warrant_extend() const {
  return _internal_has_warrant_extend();
}
inline void WarrantQuote::clear_warrant_extend() {
  if (GetArenaForAllocation() == nullptr && warrant_extend_ != nullptr) {
    delete warrant_extend_;
  }
  warrant_extend_ = nullptr;
}
inline const ::longbridgeapp::quote::v1::WarrantExtend& WarrantQuote::_internal_warrant_extend() const {
  const ::longbridgeapp::quote::v1::WarrantExtend* p = warrant_extend_;
  return p != nullptr ? *p : reinterpret_cast<const ::longbridgeapp::quote::v1::WarrantExtend&>(
      ::longbridgeapp::quote::v1::_WarrantExtend_default_instance_);
}
inline const ::longbridgeapp::quote::v1::WarrantExtend& WarrantQuote::warrant_extend() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantQuote.warrant_extend)
  return _internal_warrant_extend();
}
inline void WarrantQuote::unsafe_arena_set_allocated_warrant_extend(
    ::longbridgeapp::quote::v1::WarrantExtend* warrant_extend) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(warrant_extend_);
  }
  warrant_extend_ = warrant_extend;
  if (warrant_extend) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:longbridgeapp.quote.v1.WarrantQuote.warrant_extend)
}
inline ::longbridgeapp::quote::v1::WarrantExtend* WarrantQuote::release_warrant_extend() {
  
  ::longbridgeapp::quote::v1::WarrantExtend* temp = warrant_extend_;
  warrant_extend_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::longbridgeapp::quote::v1::WarrantExtend* WarrantQuote::unsafe_arena_release_warrant_extend() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantQuote.warrant_extend)
  
  ::longbridgeapp::quote::v1::WarrantExtend* temp = warrant_extend_;
  warrant_extend_ = nullptr;
  return temp;
}
inline ::longbridgeapp::quote::v1::WarrantExtend* WarrantQuote::_internal_mutable_warrant_extend() {
  
  if (warrant_extend_ == nullptr) {
    auto* p = CreateMaybeMessage<::longbridgeapp::quote::v1::WarrantExtend>(GetArenaForAllocation());
    warrant_extend_ = p;
  }
  return warrant_extend_;
}
inline ::longbridgeapp::quote::v1::WarrantExtend* WarrantQuote::mutable_warrant_extend() {
  ::longbridgeapp::quote::v1::WarrantExtend* _msg = _internal_mutable_warrant_extend();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantQuote.warrant_extend)
  return _msg;
}
inline void WarrantQuote::set_allocated_warrant_extend(::longbridgeapp::quote::v1::WarrantExtend* warrant_extend) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete warrant_extend_;
  }
  if (warrant_extend) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::longbridgeapp::quote::v1::WarrantExtend>::GetOwningArena(warrant_extend);
    if (message_arena != submessage_arena) {
      warrant_extend = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, warrant_extend, submessage_arena);
    }
    
  } else {
    
  }
  warrant_extend_ = warrant_extend;
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantQuote.warrant_extend)
}

// -------------------------------------------------------------------

// WarrantExtend

// string implied_volatility = 1 [json_name = "impliedVolatility"];
inline void WarrantExtend::clear_implied_volatility() {
  implied_volatility_.ClearToEmpty();
}
inline const std::string& WarrantExtend::implied_volatility() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantExtend.implied_volatility)
  return _internal_implied_volatility();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantExtend::set_implied_volatility(ArgT0&& arg0, ArgT... args) {
 
 implied_volatility_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantExtend.implied_volatility)
}
inline std::string* WarrantExtend::mutable_implied_volatility() {
  std::string* _s = _internal_mutable_implied_volatility();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantExtend.implied_volatility)
  return _s;
}
inline const std::string& WarrantExtend::_internal_implied_volatility() const {
  return implied_volatility_.Get();
}
inline void WarrantExtend::_internal_set_implied_volatility(const std::string& value) {
  
  implied_volatility_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantExtend::_internal_mutable_implied_volatility() {
  
  return implied_volatility_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantExtend::release_implied_volatility() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantExtend.implied_volatility)
  return implied_volatility_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantExtend::set_allocated_implied_volatility(std::string* implied_volatility) {
  if (implied_volatility != nullptr) {
    
  } else {
    
  }
  implied_volatility_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), implied_volatility,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (implied_volatility_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    implied_volatility_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantExtend.implied_volatility)
}

// string expiry_date = 2 [json_name = "expiryDate"];
inline void WarrantExtend::clear_expiry_date() {
  expiry_date_.ClearToEmpty();
}
inline const std::string& WarrantExtend::expiry_date() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantExtend.expiry_date)
  return _internal_expiry_date();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantExtend::set_expiry_date(ArgT0&& arg0, ArgT... args) {
 
 expiry_date_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantExtend.expiry_date)
}
inline std::string* WarrantExtend::mutable_expiry_date() {
  std::string* _s = _internal_mutable_expiry_date();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantExtend.expiry_date)
  return _s;
}
inline const std::string& WarrantExtend::_internal_expiry_date() const {
  return expiry_date_.Get();
}
inline void WarrantExtend::_internal_set_expiry_date(const std::string& value) {
  
  expiry_date_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantExtend::_internal_mutable_expiry_date() {
  
  return expiry_date_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantExtend::release_expiry_date() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantExtend.expiry_date)
  return expiry_date_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantExtend::set_allocated_expiry_date(std::string* expiry_date) {
  if (expiry_date != nullptr) {
    
  } else {
    
  }
  expiry_date_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), expiry_date,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (expiry_date_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    expiry_date_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantExtend.expiry_date)
}

// string last_trade_date = 3 [json_name = "lastTradeDate"];
inline void WarrantExtend::clear_last_trade_date() {
  last_trade_date_.ClearToEmpty();
}
inline const std::string& WarrantExtend::last_trade_date() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantExtend.last_trade_date)
  return _internal_last_trade_date();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantExtend::set_last_trade_date(ArgT0&& arg0, ArgT... args) {
 
 last_trade_date_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantExtend.last_trade_date)
}
inline std::string* WarrantExtend::mutable_last_trade_date() {
  std::string* _s = _internal_mutable_last_trade_date();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantExtend.last_trade_date)
  return _s;
}
inline const std::string& WarrantExtend::_internal_last_trade_date() const {
  return last_trade_date_.Get();
}
inline void WarrantExtend::_internal_set_last_trade_date(const std::string& value) {
  
  last_trade_date_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantExtend::_internal_mutable_last_trade_date() {
  
  return last_trade_date_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantExtend::release_last_trade_date() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantExtend.last_trade_date)
  return last_trade_date_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantExtend::set_allocated_last_trade_date(std::string* last_trade_date) {
  if (last_trade_date != nullptr) {
    
  } else {
    
  }
  last_trade_date_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), last_trade_date,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (last_trade_date_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    last_trade_date_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantExtend.last_trade_date)
}

// string outstanding_ratio = 4 [json_name = "outstandingRatio"];
inline void WarrantExtend::clear_outstanding_ratio() {
  outstanding_ratio_.ClearToEmpty();
}
inline const std::string& WarrantExtend::outstanding_ratio() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantExtend.outstanding_ratio)
  return _internal_outstanding_ratio();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantExtend::set_outstanding_ratio(ArgT0&& arg0, ArgT... args) {
 
 outstanding_ratio_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantExtend.outstanding_ratio)
}
inline std::string* WarrantExtend::mutable_outstanding_ratio() {
  std::string* _s = _internal_mutable_outstanding_ratio();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantExtend.outstanding_ratio)
  return _s;
}
inline const std::string& WarrantExtend::_internal_outstanding_ratio() const {
  return outstanding_ratio_.Get();
}
inline void WarrantExtend::_internal_set_outstanding_ratio(const std::string& value) {
  
  outstanding_ratio_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantExtend::_internal_mutable_outstanding_ratio() {
  
  return outstanding_ratio_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantExtend::release_outstanding_ratio() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantExtend.outstanding_ratio)
  return outstanding_ratio_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantExtend::set_allocated_outstanding_ratio(std::string* outstanding_ratio) {
  if (outstanding_ratio != nullptr) {
    
  } else {
    
  }
  outstanding_ratio_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), outstanding_ratio,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (outstanding_ratio_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    outstanding_ratio_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantExtend.outstanding_ratio)
}

// int64 outstanding_qty = 5 [json_name = "outstandingQty"];
inline void WarrantExtend::clear_outstanding_qty() {
  outstanding_qty_ = int64_t{0};
}
inline int64_t WarrantExtend::_internal_outstanding_qty() const {
  return outstanding_qty_;
}
inline int64_t WarrantExtend::outstanding_qty() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantExtend.outstanding_qty)
  return _internal_outstanding_qty();
}
inline void WarrantExtend::_internal_set_outstanding_qty(int64_t value) {
  
  outstanding_qty_ = value;
}
inline void WarrantExtend::set_outstanding_qty(int64_t value) {
  _internal_set_outstanding_qty(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantExtend.outstanding_qty)
}

// string conversion_ratio = 6 [json_name = "conversionRatio"];
inline void WarrantExtend::clear_conversion_ratio() {
  conversion_ratio_.ClearToEmpty();
}
inline const std::string& WarrantExtend::conversion_ratio() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantExtend.conversion_ratio)
  return _internal_conversion_ratio();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantExtend::set_conversion_ratio(ArgT0&& arg0, ArgT... args) {
 
 conversion_ratio_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantExtend.conversion_ratio)
}
inline std::string* WarrantExtend::mutable_conversion_ratio() {
  std::string* _s = _internal_mutable_conversion_ratio();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantExtend.conversion_ratio)
  return _s;
}
inline const std::string& WarrantExtend::_internal_conversion_ratio() const {
  return conversion_ratio_.Get();
}
inline void WarrantExtend::_internal_set_conversion_ratio(const std::string& value) {
  
  conversion_ratio_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantExtend::_internal_mutable_conversion_ratio() {
  
  return conversion_ratio_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantExtend::release_conversion_ratio() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantExtend.conversion_ratio)
  return conversion_ratio_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantExtend::set_allocated_conversion_ratio(std::string* conversion_ratio) {
  if (conversion_ratio != nullptr) {
    
  } else {
    
  }
  conversion_ratio_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), conversion_ratio,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (conversion_ratio_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    conversion_ratio_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantExtend.conversion_ratio)
}

// string category = 7 [json_name = "category"];
inline void WarrantExtend::clear_category() {
  category_.ClearToEmpty();
}
inline const std::string& WarrantExtend::category() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantExtend.category)
  return _internal_category();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantExtend::set_category(ArgT0&& arg0, ArgT... args) {
 
 category_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantExtend.category)
}
inline std::string* WarrantExtend::mutable_category() {
  std::string* _s = _internal_mutable_category();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantExtend.category)
  return _s;
}
inline const std::string& WarrantExtend::_internal_category() const {
  return category_.Get();
}
inline void WarrantExtend::_internal_set_category(const std::string& value) {
  
  category_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantExtend::_internal_mutable_category() {
  
  return category_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantExtend::release_category() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantExtend.category)
  return category_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantExtend::set_allocated_category(std::string* category) {
  if (category != nullptr) {
    
  } else {
    
  }
  category_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), category,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (category_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    category_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantExtend.category)
}

// string strike_price = 8 [json_name = "strikePrice"];
inline void WarrantExtend::clear_strike_price() {
  strike_price_.ClearToEmpty();
}
inline const std::string& WarrantExtend::strike_price() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantExtend.strike_price)
  return _internal_strike_price();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantExtend::set_strike_price(ArgT0&& arg0, ArgT... args) {
 
 strike_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantExtend.strike_price)
}
inline std::string* WarrantExtend::mutable_strike_price() {
  std::string* _s = _internal_mutable_strike_price();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantExtend.strike_price)
  return _s;
}
inline const std::string& WarrantExtend::_internal_strike_price() const {
  return strike_price_.Get();
}
inline void WarrantExtend::_internal_set_strike_price(const std::string& value) {
  
  strike_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantExtend::_internal_mutable_strike_price() {
  
  return strike_price_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantExtend::release_strike_price() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantExtend.strike_price)
  return strike_price_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantExtend::set_allocated_strike_price(std::string* strike_price) {
  if (strike_price != nullptr) {
    
  } else {
    
  }
  strike_price_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), strike_price,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (strike_price_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    strike_price_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantExtend.strike_price)
}

// string upper_strike_price = 9 [json_name = "upperStrikePrice"];
inline void WarrantExtend::clear_upper_strike_price() {
  upper_strike_price_.ClearToEmpty();
}
inline const std::string& WarrantExtend::upper_strike_price() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantExtend.upper_strike_price)
  return _internal_upper_strike_price();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantExtend::set_upper_strike_price(ArgT0&& arg0, ArgT... args) {
 
 upper_strike_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantExtend.upper_strike_price)
}
inline std::string* WarrantExtend::mutable_upper_strike_price() {
  std::string* _s = _internal_mutable_upper_strike_price();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantExtend.upper_strike_price)
  return _s;
}
inline const std::string& WarrantExtend::_internal_upper_strike_price() const {
  return upper_strike_price_.Get();
}
inline void WarrantExtend::_internal_set_upper_strike_price(const std::string& value) {
  
  upper_strike_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantExtend::_internal_mutable_upper_strike_price() {
  
  return upper_strike_price_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantExtend::release_upper_strike_price() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantExtend.upper_strike_price)
  return upper_strike_price_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantExtend::set_allocated_upper_strike_price(std::string* upper_strike_price) {
  if (upper_strike_price != nullptr) {
    
  } else {
    
  }
  upper_strike_price_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), upper_strike_price,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (upper_strike_price_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    upper_strike_price_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantExtend.upper_strike_price)
}

// string lower_strike_price = 10 [json_name = "lowerStrikePrice"];
inline void WarrantExtend::clear_lower_strike_price() {
  lower_strike_price_.ClearToEmpty();
}
inline const std::string& WarrantExtend::lower_strike_price() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantExtend.lower_strike_price)
  return _internal_lower_strike_price();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantExtend::set_lower_strike_price(ArgT0&& arg0, ArgT... args) {
 
 lower_strike_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantExtend.lower_strike_price)
}
inline std::string* WarrantExtend::mutable_lower_strike_price() {
  std::string* _s = _internal_mutable_lower_strike_price();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantExtend.lower_strike_price)
  return _s;
}
inline const std::string& WarrantExtend::_internal_lower_strike_price() const {
  return lower_strike_price_.Get();
}
inline void WarrantExtend::_internal_set_lower_strike_price(const std::string& value) {
  
  lower_strike_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantExtend::_internal_mutable_lower_strike_price() {
  
  return lower_strike_price_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantExtend::release_lower_strike_price() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantExtend.lower_strike_price)
  return lower_strike_price_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantExtend::set_allocated_lower_strike_price(std::string* lower_strike_price) {
  if (lower_strike_price != nullptr) {
    
  } else {
    
  }
  lower_strike_price_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), lower_strike_price,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (lower_strike_price_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    lower_strike_price_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantExtend.lower_strike_price)
}

// string call_price = 11 [json_name = "callPrice"];
inline void WarrantExtend::clear_call_price() {
  call_price_.ClearToEmpty();
}
inline const std::string& WarrantExtend::call_price() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantExtend.call_price)
  return _internal_call_price();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantExtend::set_call_price(ArgT0&& arg0, ArgT... args) {
 
 call_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantExtend.call_price)
}
inline std::string* WarrantExtend::mutable_call_price() {
  std::string* _s = _internal_mutable_call_price();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantExtend.call_price)
  return _s;
}
inline const std::string& WarrantExtend::_internal_call_price() const {
  return call_price_.Get();
}
inline void WarrantExtend::_internal_set_call_price(const std::string& value) {
  
  call_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantExtend::_internal_mutable_call_price() {
  
  return call_price_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantExtend::release_call_price() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantExtend.call_price)
  return call_price_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantExtend::set_allocated_call_price(std::string* call_price) {
  if (call_price != nullptr) {
    
  } else {
    
  }
  call_price_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), call_price,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (call_price_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    call_price_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantExtend.call_price)
}

// string underlying_symbol = 12 [json_name = "underlyingSymbol"];
inline void WarrantExtend::clear_underlying_symbol() {
  underlying_symbol_.ClearToEmpty();
}
inline const std::string& WarrantExtend::underlying_symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantExtend.underlying_symbol)
  return _internal_underlying_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantExtend::set_underlying_symbol(ArgT0&& arg0, ArgT... args) {
 
 underlying_symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantExtend.underlying_symbol)
}
inline std::string* WarrantExtend::mutable_underlying_symbol() {
  std::string* _s = _internal_mutable_underlying_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantExtend.underlying_symbol)
  return _s;
}
inline const std::string& WarrantExtend::_internal_underlying_symbol() const {
  return underlying_symbol_.Get();
}
inline void WarrantExtend::_internal_set_underlying_symbol(const std::string& value) {
  
  underlying_symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantExtend::_internal_mutable_underlying_symbol() {
  
  return underlying_symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantExtend::release_underlying_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantExtend.underlying_symbol)
  return underlying_symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantExtend::set_allocated_underlying_symbol(std::string* underlying_symbol) {
  if (underlying_symbol != nullptr) {
    
  } else {
    
  }
  underlying_symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), underlying_symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (underlying_symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    underlying_symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantExtend.underlying_symbol)
}

// -------------------------------------------------------------------

// SecurityDepthResponse

// string symbol = 1 [json_name = "symbol"];
inline void SecurityDepthResponse::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& SecurityDepthResponse::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityDepthResponse.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SecurityDepthResponse::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityDepthResponse.symbol)
}
inline std::string* SecurityDepthResponse::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityDepthResponse.symbol)
  return _s;
}
inline const std::string& SecurityDepthResponse::_internal_symbol() const {
  return symbol_.Get();
}
inline void SecurityDepthResponse::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SecurityDepthResponse::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SecurityDepthResponse::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityDepthResponse.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SecurityDepthResponse::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityDepthResponse.symbol)
}

// repeated .longbridgeapp.quote.v1.Depth ask = 2 [json_name = "ask"];
inline int SecurityDepthResponse::_internal_ask_size() const {
  return ask_.size();
}
inline int SecurityDepthResponse::ask_size() const {
  return _internal_ask_size();
}
inline void SecurityDepthResponse::clear_ask() {
  ask_.Clear();
}
inline ::longbridgeapp::quote::v1::Depth* SecurityDepthResponse::mutable_ask(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityDepthResponse.ask)
  return ask_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth >*
SecurityDepthResponse::mutable_ask() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.SecurityDepthResponse.ask)
  return &ask_;
}
inline const ::longbridgeapp::quote::v1::Depth& SecurityDepthResponse::_internal_ask(int index) const {
  return ask_.Get(index);
}
inline const ::longbridgeapp::quote::v1::Depth& SecurityDepthResponse::ask(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityDepthResponse.ask)
  return _internal_ask(index);
}
inline ::longbridgeapp::quote::v1::Depth* SecurityDepthResponse::_internal_add_ask() {
  return ask_.Add();
}
inline ::longbridgeapp::quote::v1::Depth* SecurityDepthResponse::add_ask() {
  ::longbridgeapp::quote::v1::Depth* _add = _internal_add_ask();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.SecurityDepthResponse.ask)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth >&
SecurityDepthResponse::ask() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.SecurityDepthResponse.ask)
  return ask_;
}

// repeated .longbridgeapp.quote.v1.Depth bid = 3 [json_name = "bid"];
inline int SecurityDepthResponse::_internal_bid_size() const {
  return bid_.size();
}
inline int SecurityDepthResponse::bid_size() const {
  return _internal_bid_size();
}
inline void SecurityDepthResponse::clear_bid() {
  bid_.Clear();
}
inline ::longbridgeapp::quote::v1::Depth* SecurityDepthResponse::mutable_bid(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityDepthResponse.bid)
  return bid_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth >*
SecurityDepthResponse::mutable_bid() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.SecurityDepthResponse.bid)
  return &bid_;
}
inline const ::longbridgeapp::quote::v1::Depth& SecurityDepthResponse::_internal_bid(int index) const {
  return bid_.Get(index);
}
inline const ::longbridgeapp::quote::v1::Depth& SecurityDepthResponse::bid(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityDepthResponse.bid)
  return _internal_bid(index);
}
inline ::longbridgeapp::quote::v1::Depth* SecurityDepthResponse::_internal_add_bid() {
  return bid_.Add();
}
inline ::longbridgeapp::quote::v1::Depth* SecurityDepthResponse::add_bid() {
  ::longbridgeapp::quote::v1::Depth* _add = _internal_add_bid();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.SecurityDepthResponse.bid)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth >&
SecurityDepthResponse::bid() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.SecurityDepthResponse.bid)
  return bid_;
}

// -------------------------------------------------------------------

// Depth

// int32 position = 1 [json_name = "position"];
inline void Depth::clear_position() {
  position_ = 0;
}
inline int32_t Depth::_internal_position() const {
  return position_;
}
inline int32_t Depth::position() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Depth.position)
  return _internal_position();
}
inline void Depth::_internal_set_position(int32_t value) {
  
  position_ = value;
}
inline void Depth::set_position(int32_t value) {
  _internal_set_position(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Depth.position)
}

// string price = 2 [json_name = "price"];
inline void Depth::clear_price() {
  price_.ClearToEmpty();
}
inline const std::string& Depth::price() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Depth.price)
  return _internal_price();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Depth::set_price(ArgT0&& arg0, ArgT... args) {
 
 price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Depth.price)
}
inline std::string* Depth::mutable_price() {
  std::string* _s = _internal_mutable_price();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.Depth.price)
  return _s;
}
inline const std::string& Depth::_internal_price() const {
  return price_.Get();
}
inline void Depth::_internal_set_price(const std::string& value) {
  
  price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* Depth::_internal_mutable_price() {
  
  return price_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* Depth::release_price() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.Depth.price)
  return price_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void Depth::set_allocated_price(std::string* price) {
  if (price != nullptr) {
    
  } else {
    
  }
  price_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), price,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (price_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    price_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.Depth.price)
}

// int64 volume = 3 [json_name = "volume"];
inline void Depth::clear_volume() {
  volume_ = int64_t{0};
}
inline int64_t Depth::_internal_volume() const {
  return volume_;
}
inline int64_t Depth::volume() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Depth.volume)
  return _internal_volume();
}
inline void Depth::_internal_set_volume(int64_t value) {
  
  volume_ = value;
}
inline void Depth::set_volume(int64_t value) {
  _internal_set_volume(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Depth.volume)
}

// int64 order_num = 4 [json_name = "orderNum"];
inline void Depth::clear_order_num() {
  order_num_ = int64_t{0};
}
inline int64_t Depth::_internal_order_num() const {
  return order_num_;
}
inline int64_t Depth::order_num() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Depth.order_num)
  return _internal_order_num();
}
inline void Depth::_internal_set_order_num(int64_t value) {
  
  order_num_ = value;
}
inline void Depth::set_order_num(int64_t value) {
  _internal_set_order_num(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Depth.order_num)
}

// -------------------------------------------------------------------

// SecurityBrokersResponse

// string symbol = 1 [json_name = "symbol"];
inline void SecurityBrokersResponse::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& SecurityBrokersResponse::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityBrokersResponse.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SecurityBrokersResponse::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityBrokersResponse.symbol)
}
inline std::string* SecurityBrokersResponse::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityBrokersResponse.symbol)
  return _s;
}
inline const std::string& SecurityBrokersResponse::_internal_symbol() const {
  return symbol_.Get();
}
inline void SecurityBrokersResponse::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SecurityBrokersResponse::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SecurityBrokersResponse::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityBrokersResponse.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SecurityBrokersResponse::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityBrokersResponse.symbol)
}

// repeated .longbridgeapp.quote.v1.Brokers ask_brokers = 2 [json_name = "askBrokers"];
inline int SecurityBrokersResponse::_internal_ask_brokers_size() const {
  return ask_brokers_.size();
}
inline int SecurityBrokersResponse::ask_brokers_size() const {
  return _internal_ask_brokers_size();
}
inline void SecurityBrokersResponse::clear_ask_brokers() {
  ask_brokers_.Clear();
}
inline ::longbridgeapp::quote::v1::Brokers* SecurityBrokersResponse::mutable_ask_brokers(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityBrokersResponse.ask_brokers)
  return ask_brokers_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers >*
SecurityBrokersResponse::mutable_ask_brokers() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.SecurityBrokersResponse.ask_brokers)
  return &ask_brokers_;
}
inline const ::longbridgeapp::quote::v1::Brokers& SecurityBrokersResponse::_internal_ask_brokers(int index) const {
  return ask_brokers_.Get(index);
}
inline const ::longbridgeapp::quote::v1::Brokers& SecurityBrokersResponse::ask_brokers(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityBrokersResponse.ask_brokers)
  return _internal_ask_brokers(index);
}
inline ::longbridgeapp::quote::v1::Brokers* SecurityBrokersResponse::_internal_add_ask_brokers() {
  return ask_brokers_.Add();
}
inline ::longbridgeapp::quote::v1::Brokers* SecurityBrokersResponse::add_ask_brokers() {
  ::longbridgeapp::quote::v1::Brokers* _add = _internal_add_ask_brokers();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.SecurityBrokersResponse.ask_brokers)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers >&
SecurityBrokersResponse::ask_brokers() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.SecurityBrokersResponse.ask_brokers)
  return ask_brokers_;
}

// repeated .longbridgeapp.quote.v1.Brokers bid_brokers = 3 [json_name = "bidBrokers"];
inline int SecurityBrokersResponse::_internal_bid_brokers_size() const {
  return bid_brokers_.size();
}
inline int SecurityBrokersResponse::bid_brokers_size() const {
  return _internal_bid_brokers_size();
}
inline void SecurityBrokersResponse::clear_bid_brokers() {
  bid_brokers_.Clear();
}
inline ::longbridgeapp::quote::v1::Brokers* SecurityBrokersResponse::mutable_bid_brokers(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityBrokersResponse.bid_brokers)
  return bid_brokers_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers >*
SecurityBrokersResponse::mutable_bid_brokers() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.SecurityBrokersResponse.bid_brokers)
  return &bid_brokers_;
}
inline const ::longbridgeapp::quote::v1::Brokers& SecurityBrokersResponse::_internal_bid_brokers(int index) const {
  return bid_brokers_.Get(index);
}
inline const ::longbridgeapp::quote::v1::Brokers& SecurityBrokersResponse::bid_brokers(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityBrokersResponse.bid_brokers)
  return _internal_bid_brokers(index);
}
inline ::longbridgeapp::quote::v1::Brokers* SecurityBrokersResponse::_internal_add_bid_brokers() {
  return bid_brokers_.Add();
}
inline ::longbridgeapp::quote::v1::Brokers* SecurityBrokersResponse::add_bid_brokers() {
  ::longbridgeapp::quote::v1::Brokers* _add = _internal_add_bid_brokers();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.SecurityBrokersResponse.bid_brokers)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers >&
SecurityBrokersResponse::bid_brokers() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.SecurityBrokersResponse.bid_brokers)
  return bid_brokers_;
}

// -------------------------------------------------------------------

// Brokers

// int32 position = 1 [json_name = "position"];
inline void Brokers::clear_position() {
  position_ = 0;
}
inline int32_t Brokers::_internal_position() const {
  return position_;
}
inline int32_t Brokers::position() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Brokers.position)
  return _internal_position();
}
inline void Brokers::_internal_set_position(int32_t value) {
  
  position_ = value;
}
inline void Brokers::set_position(int32_t value) {
  _internal_set_position(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Brokers.position)
}

// repeated int32 broker_ids = 2 [json_name = "brokerIds"];
inline int Brokers::_internal_broker_ids_size() const {
  return broker_ids_.size();
}
inline int Brokers::broker_ids_size() const {
  return _internal_broker_ids_size();
}
inline void Brokers::clear_broker_ids() {
  broker_ids_.Clear();
}
inline int32_t Brokers::_internal_broker_ids(int index) const {
  return broker_ids_.Get(index);
}
inline int32_t Brokers::broker_ids(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Brokers.broker_ids)
  return _internal_broker_ids(index);
}
inline void Brokers::set_broker_ids(int index, int32_t value) {
  broker_ids_.Set(index, value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Brokers.broker_ids)
}
inline void Brokers::_internal_add_broker_ids(int32_t value) {
  broker_ids_.Add(value);
}
inline void Brokers::add_broker_ids(int32_t value) {
  _internal_add_broker_ids(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.Brokers.broker_ids)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
Brokers::_internal_broker_ids() const {
  return broker_ids_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
Brokers::broker_ids() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.Brokers.broker_ids)
  return _internal_broker_ids();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
Brokers::_internal_mutable_broker_ids() {
  return &broker_ids_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
Brokers::mutable_broker_ids() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.Brokers.broker_ids)
  return _internal_mutable_broker_ids();
}

// -------------------------------------------------------------------

// ParticipantBrokerIdsResponse

// repeated .longbridgeapp.quote.v1.ParticipantInfo participant_broker_numbers = 1 [json_name = "participantBrokerNumbers"];
inline int ParticipantBrokerIdsResponse::_internal_participant_broker_numbers_size() const {
  return participant_broker_numbers_.size();
}
inline int ParticipantBrokerIdsResponse::participant_broker_numbers_size() const {
  return _internal_participant_broker_numbers_size();
}
inline void ParticipantBrokerIdsResponse::clear_participant_broker_numbers() {
  participant_broker_numbers_.Clear();
}
inline ::longbridgeapp::quote::v1::ParticipantInfo* ParticipantBrokerIdsResponse::mutable_participant_broker_numbers(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.ParticipantBrokerIdsResponse.participant_broker_numbers)
  return participant_broker_numbers_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::ParticipantInfo >*
ParticipantBrokerIdsResponse::mutable_participant_broker_numbers() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.ParticipantBrokerIdsResponse.participant_broker_numbers)
  return &participant_broker_numbers_;
}
inline const ::longbridgeapp::quote::v1::ParticipantInfo& ParticipantBrokerIdsResponse::_internal_participant_broker_numbers(int index) const {
  return participant_broker_numbers_.Get(index);
}
inline const ::longbridgeapp::quote::v1::ParticipantInfo& ParticipantBrokerIdsResponse::participant_broker_numbers(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.ParticipantBrokerIdsResponse.participant_broker_numbers)
  return _internal_participant_broker_numbers(index);
}
inline ::longbridgeapp::quote::v1::ParticipantInfo* ParticipantBrokerIdsResponse::_internal_add_participant_broker_numbers() {
  return participant_broker_numbers_.Add();
}
inline ::longbridgeapp::quote::v1::ParticipantInfo* ParticipantBrokerIdsResponse::add_participant_broker_numbers() {
  ::longbridgeapp::quote::v1::ParticipantInfo* _add = _internal_add_participant_broker_numbers();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.ParticipantBrokerIdsResponse.participant_broker_numbers)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::ParticipantInfo >&
ParticipantBrokerIdsResponse::participant_broker_numbers() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.ParticipantBrokerIdsResponse.participant_broker_numbers)
  return participant_broker_numbers_;
}

// -------------------------------------------------------------------

// ParticipantInfo

// repeated int32 broker_ids = 1 [json_name = "brokerIds"];
inline int ParticipantInfo::_internal_broker_ids_size() const {
  return broker_ids_.size();
}
inline int ParticipantInfo::broker_ids_size() const {
  return _internal_broker_ids_size();
}
inline void ParticipantInfo::clear_broker_ids() {
  broker_ids_.Clear();
}
inline int32_t ParticipantInfo::_internal_broker_ids(int index) const {
  return broker_ids_.Get(index);
}
inline int32_t ParticipantInfo::broker_ids(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.ParticipantInfo.broker_ids)
  return _internal_broker_ids(index);
}
inline void ParticipantInfo::set_broker_ids(int index, int32_t value) {
  broker_ids_.Set(index, value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.ParticipantInfo.broker_ids)
}
inline void ParticipantInfo::_internal_add_broker_ids(int32_t value) {
  broker_ids_.Add(value);
}
inline void ParticipantInfo::add_broker_ids(int32_t value) {
  _internal_add_broker_ids(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.ParticipantInfo.broker_ids)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
ParticipantInfo::_internal_broker_ids() const {
  return broker_ids_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
ParticipantInfo::broker_ids() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.ParticipantInfo.broker_ids)
  return _internal_broker_ids();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
ParticipantInfo::_internal_mutable_broker_ids() {
  return &broker_ids_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
ParticipantInfo::mutable_broker_ids() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.ParticipantInfo.broker_ids)
  return _internal_mutable_broker_ids();
}

// string participant_name_cn = 2 [json_name = "participantNameCn"];
inline void ParticipantInfo::clear_participant_name_cn() {
  participant_name_cn_.ClearToEmpty();
}
inline const std::string& ParticipantInfo::participant_name_cn() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.ParticipantInfo.participant_name_cn)
  return _internal_participant_name_cn();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ParticipantInfo::set_participant_name_cn(ArgT0&& arg0, ArgT... args) {
 
 participant_name_cn_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.ParticipantInfo.participant_name_cn)
}
inline std::string* ParticipantInfo::mutable_participant_name_cn() {
  std::string* _s = _internal_mutable_participant_name_cn();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.ParticipantInfo.participant_name_cn)
  return _s;
}
inline const std::string& ParticipantInfo::_internal_participant_name_cn() const {
  return participant_name_cn_.Get();
}
inline void ParticipantInfo::_internal_set_participant_name_cn(const std::string& value) {
  
  participant_name_cn_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* ParticipantInfo::_internal_mutable_participant_name_cn() {
  
  return participant_name_cn_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* ParticipantInfo::release_participant_name_cn() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.ParticipantInfo.participant_name_cn)
  return participant_name_cn_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void ParticipantInfo::set_allocated_participant_name_cn(std::string* participant_name_cn) {
  if (participant_name_cn != nullptr) {
    
  } else {
    
  }
  participant_name_cn_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), participant_name_cn,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (participant_name_cn_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    participant_name_cn_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.ParticipantInfo.participant_name_cn)
}

// string participant_name_en = 3 [json_name = "participantNameEn"];
inline void ParticipantInfo::clear_participant_name_en() {
  participant_name_en_.ClearToEmpty();
}
inline const std::string& ParticipantInfo::participant_name_en() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.ParticipantInfo.participant_name_en)
  return _internal_participant_name_en();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ParticipantInfo::set_participant_name_en(ArgT0&& arg0, ArgT... args) {
 
 participant_name_en_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.ParticipantInfo.participant_name_en)
}
inline std::string* ParticipantInfo::mutable_participant_name_en() {
  std::string* _s = _internal_mutable_participant_name_en();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.ParticipantInfo.participant_name_en)
  return _s;
}
inline const std::string& ParticipantInfo::_internal_participant_name_en() const {
  return participant_name_en_.Get();
}
inline void ParticipantInfo::_internal_set_participant_name_en(const std::string& value) {
  
  participant_name_en_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* ParticipantInfo::_internal_mutable_participant_name_en() {
  
  return participant_name_en_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* ParticipantInfo::release_participant_name_en() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.ParticipantInfo.participant_name_en)
  return participant_name_en_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void ParticipantInfo::set_allocated_participant_name_en(std::string* participant_name_en) {
  if (participant_name_en != nullptr) {
    
  } else {
    
  }
  participant_name_en_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), participant_name_en,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (participant_name_en_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    participant_name_en_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.ParticipantInfo.participant_name_en)
}

// string participant_name_hk = 4 [json_name = "participantNameHk"];
inline void ParticipantInfo::clear_participant_name_hk() {
  participant_name_hk_.ClearToEmpty();
}
inline const std::string& ParticipantInfo::participant_name_hk() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.ParticipantInfo.participant_name_hk)
  return _internal_participant_name_hk();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ParticipantInfo::set_participant_name_hk(ArgT0&& arg0, ArgT... args) {
 
 participant_name_hk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.ParticipantInfo.participant_name_hk)
}
inline std::string* ParticipantInfo::mutable_participant_name_hk() {
  std::string* _s = _internal_mutable_participant_name_hk();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.ParticipantInfo.participant_name_hk)
  return _s;
}
inline const std::string& ParticipantInfo::_internal_participant_name_hk() const {
  return participant_name_hk_.Get();
}
inline void ParticipantInfo::_internal_set_participant_name_hk(const std::string& value) {
  
  participant_name_hk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* ParticipantInfo::_internal_mutable_participant_name_hk() {
  
  return participant_name_hk_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* ParticipantInfo::release_participant_name_hk() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.ParticipantInfo.participant_name_hk)
  return participant_name_hk_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void ParticipantInfo::set_allocated_participant_name_hk(std::string* participant_name_hk) {
  if (participant_name_hk != nullptr) {
    
  } else {
    
  }
  participant_name_hk_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), participant_name_hk,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (participant_name_hk_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    participant_name_hk_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.ParticipantInfo.participant_name_hk)
}

// -------------------------------------------------------------------

// SecurityTradeRequest

// string symbol = 1 [json_name = "symbol"];
inline void SecurityTradeRequest::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& SecurityTradeRequest::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityTradeRequest.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SecurityTradeRequest::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityTradeRequest.symbol)
}
inline std::string* SecurityTradeRequest::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityTradeRequest.symbol)
  return _s;
}
inline const std::string& SecurityTradeRequest::_internal_symbol() const {
  return symbol_.Get();
}
inline void SecurityTradeRequest::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SecurityTradeRequest::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SecurityTradeRequest::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityTradeRequest.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SecurityTradeRequest::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityTradeRequest.symbol)
}

// int32 count = 2 [json_name = "count"];
inline void SecurityTradeRequest::clear_count() {
  count_ = 0;
}
inline int32_t SecurityTradeRequest::_internal_count() const {
  return count_;
}
inline int32_t SecurityTradeRequest::count() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityTradeRequest.count)
  return _internal_count();
}
inline void SecurityTradeRequest::_internal_set_count(int32_t value) {
  
  count_ = value;
}
inline void SecurityTradeRequest::set_count(int32_t value) {
  _internal_set_count(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityTradeRequest.count)
}

// -------------------------------------------------------------------

// SecurityTradeResponse

// string symbol = 1 [json_name = "symbol"];
inline void SecurityTradeResponse::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& SecurityTradeResponse::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityTradeResponse.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SecurityTradeResponse::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityTradeResponse.symbol)
}
inline std::string* SecurityTradeResponse::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityTradeResponse.symbol)
  return _s;
}
inline const std::string& SecurityTradeResponse::_internal_symbol() const {
  return symbol_.Get();
}
inline void SecurityTradeResponse::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SecurityTradeResponse::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SecurityTradeResponse::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityTradeResponse.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SecurityTradeResponse::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityTradeResponse.symbol)
}

// repeated .longbridgeapp.quote.v1.Trade trades = 2 [json_name = "trades"];
inline int SecurityTradeResponse::_internal_trades_size() const {
  return trades_.size();
}
inline int SecurityTradeResponse::trades_size() const {
  return _internal_trades_size();
}
inline void SecurityTradeResponse::clear_trades() {
  trades_.Clear();
}
inline ::longbridgeapp::quote::v1::Trade* SecurityTradeResponse::mutable_trades(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityTradeResponse.trades)
  return trades_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Trade >*
SecurityTradeResponse::mutable_trades() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.SecurityTradeResponse.trades)
  return &trades_;
}
inline const ::longbridgeapp::quote::v1::Trade& SecurityTradeResponse::_internal_trades(int index) const {
  return trades_.Get(index);
}
inline const ::longbridgeapp::quote::v1::Trade& SecurityTradeResponse::trades(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityTradeResponse.trades)
  return _internal_trades(index);
}
inline ::longbridgeapp::quote::v1::Trade* SecurityTradeResponse::_internal_add_trades() {
  return trades_.Add();
}
inline ::longbridgeapp::quote::v1::Trade* SecurityTradeResponse::add_trades() {
  ::longbridgeapp::quote::v1::Trade* _add = _internal_add_trades();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.SecurityTradeResponse.trades)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Trade >&
SecurityTradeResponse::trades() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.SecurityTradeResponse.trades)
  return trades_;
}

// -------------------------------------------------------------------

// Trade

// string price = 1 [json_name = "price"];
inline void Trade::clear_price() {
  price_.ClearToEmpty();
}
inline const std::string& Trade::price() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Trade.price)
  return _internal_price();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Trade::set_price(ArgT0&& arg0, ArgT... args) {
 
 price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Trade.price)
}
inline std::string* Trade::mutable_price() {
  std::string* _s = _internal_mutable_price();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.Trade.price)
  return _s;
}
inline const std::string& Trade::_internal_price() const {
  return price_.Get();
}
inline void Trade::_internal_set_price(const std::string& value) {
  
  price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* Trade::_internal_mutable_price() {
  
  return price_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* Trade::release_price() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.Trade.price)
  return price_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void Trade::set_allocated_price(std::string* price) {
  if (price != nullptr) {
    
  } else {
    
  }
  price_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), price,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (price_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    price_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.Trade.price)
}

// int64 volume = 2 [json_name = "volume"];
inline void Trade::clear_volume() {
  volume_ = int64_t{0};
}
inline int64_t Trade::_internal_volume() const {
  return volume_;
}
inline int64_t Trade::volume() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Trade.volume)
  return _internal_volume();
}
inline void Trade::_internal_set_volume(int64_t value) {
  
  volume_ = value;
}
inline void Trade::set_volume(int64_t value) {
  _internal_set_volume(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Trade.volume)
}

// int64 timestamp = 3 [json_name = "timestamp"];
inline void Trade::clear_timestamp() {
  timestamp_ = int64_t{0};
}
inline int64_t Trade::_internal_timestamp() const {
  return timestamp_;
}
inline int64_t Trade::timestamp() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Trade.timestamp)
  return _internal_timestamp();
}
inline void Trade::_internal_set_timestamp(int64_t value) {
  
  timestamp_ = value;
}
inline void Trade::set_timestamp(int64_t value) {
  _internal_set_timestamp(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Trade.timestamp)
}

// string trade_type = 4 [json_name = "tradeType"];
inline void Trade::clear_trade_type() {
  trade_type_.ClearToEmpty();
}
inline const std::string& Trade::trade_type() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Trade.trade_type)
  return _internal_trade_type();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Trade::set_trade_type(ArgT0&& arg0, ArgT... args) {
 
 trade_type_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Trade.trade_type)
}
inline std::string* Trade::mutable_trade_type() {
  std::string* _s = _internal_mutable_trade_type();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.Trade.trade_type)
  return _s;
}
inline const std::string& Trade::_internal_trade_type() const {
  return trade_type_.Get();
}
inline void Trade::_internal_set_trade_type(const std::string& value) {
  
  trade_type_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* Trade::_internal_mutable_trade_type() {
  
  return trade_type_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* Trade::release_trade_type() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.Trade.trade_type)
  return trade_type_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void Trade::set_allocated_trade_type(std::string* trade_type) {
  if (trade_type != nullptr) {
    
  } else {
    
  }
  trade_type_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), trade_type,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (trade_type_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    trade_type_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.Trade.trade_type)
}

// int32 direction = 5 [json_name = "direction"];
inline void Trade::clear_direction() {
  direction_ = 0;
}
inline int32_t Trade::_internal_direction() const {
  return direction_;
}
inline int32_t Trade::direction() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Trade.direction)
  return _internal_direction();
}
inline void Trade::_internal_set_direction(int32_t value) {
  
  direction_ = value;
}
inline void Trade::set_direction(int32_t value) {
  _internal_set_direction(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Trade.direction)
}

// .longbridgeapp.quote.v1.TradeSession trade_session = 6 [json_name = "tradeSession"];
inline void Trade::clear_trade_session() {
  trade_session_ = 0;
}
inline ::longbridgeapp::quote::v1::TradeSession Trade::_internal_trade_session() const {
  return static_cast< ::longbridgeapp::quote::v1::TradeSession >(trade_session_);
}
inline ::longbridgeapp::quote::v1::TradeSession Trade::trade_session() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Trade.trade_session)
  return _internal_trade_session();
}
inline void Trade::_internal_set_trade_session(::longbridgeapp::quote::v1::TradeSession value) {
  
  trade_session_ = value;
}
inline void Trade::set_trade_session(::longbridgeapp::quote::v1::TradeSession value) {
  _internal_set_trade_session(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Trade.trade_session)
}

// -------------------------------------------------------------------

// SecurityIntradayRequest

// string symbol = 1 [json_name = "symbol"];
inline void SecurityIntradayRequest::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& SecurityIntradayRequest::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityIntradayRequest.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SecurityIntradayRequest::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityIntradayRequest.symbol)
}
inline std::string* SecurityIntradayRequest::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityIntradayRequest.symbol)
  return _s;
}
inline const std::string& SecurityIntradayRequest::_internal_symbol() const {
  return symbol_.Get();
}
inline void SecurityIntradayRequest::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SecurityIntradayRequest::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SecurityIntradayRequest::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityIntradayRequest.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SecurityIntradayRequest::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityIntradayRequest.symbol)
}

// -------------------------------------------------------------------

// SecurityIntradayResponse

// string symbol = 1 [json_name = "symbol"];
inline void SecurityIntradayResponse::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& SecurityIntradayResponse::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityIntradayResponse.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SecurityIntradayResponse::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityIntradayResponse.symbol)
}
inline std::string* SecurityIntradayResponse::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityIntradayResponse.symbol)
  return _s;
}
inline const std::string& SecurityIntradayResponse::_internal_symbol() const {
  return symbol_.Get();
}
inline void SecurityIntradayResponse::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SecurityIntradayResponse::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SecurityIntradayResponse::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityIntradayResponse.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SecurityIntradayResponse::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityIntradayResponse.symbol)
}

// repeated .longbridgeapp.quote.v1.Line lines = 2 [json_name = "lines"];
inline int SecurityIntradayResponse::_internal_lines_size() const {
  return lines_.size();
}
inline int SecurityIntradayResponse::lines_size() const {
  return _internal_lines_size();
}
inline void SecurityIntradayResponse::clear_lines() {
  lines_.Clear();
}
inline ::longbridgeapp::quote::v1::Line* SecurityIntradayResponse::mutable_lines(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityIntradayResponse.lines)
  return lines_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Line >*
SecurityIntradayResponse::mutable_lines() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.SecurityIntradayResponse.lines)
  return &lines_;
}
inline const ::longbridgeapp::quote::v1::Line& SecurityIntradayResponse::_internal_lines(int index) const {
  return lines_.Get(index);
}
inline const ::longbridgeapp::quote::v1::Line& SecurityIntradayResponse::lines(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityIntradayResponse.lines)
  return _internal_lines(index);
}
inline ::longbridgeapp::quote::v1::Line* SecurityIntradayResponse::_internal_add_lines() {
  return lines_.Add();
}
inline ::longbridgeapp::quote::v1::Line* SecurityIntradayResponse::add_lines() {
  ::longbridgeapp::quote::v1::Line* _add = _internal_add_lines();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.SecurityIntradayResponse.lines)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Line >&
SecurityIntradayResponse::lines() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.SecurityIntradayResponse.lines)
  return lines_;
}

// -------------------------------------------------------------------

// Line

// string price = 1 [json_name = "price"];
inline void Line::clear_price() {
  price_.ClearToEmpty();
}
inline const std::string& Line::price() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Line.price)
  return _internal_price();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Line::set_price(ArgT0&& arg0, ArgT... args) {
 
 price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Line.price)
}
inline std::string* Line::mutable_price() {
  std::string* _s = _internal_mutable_price();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.Line.price)
  return _s;
}
inline const std::string& Line::_internal_price() const {
  return price_.Get();
}
inline void Line::_internal_set_price(const std::string& value) {
  
  price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* Line::_internal_mutable_price() {
  
  return price_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* Line::release_price() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.Line.price)
  return price_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void Line::set_allocated_price(std::string* price) {
  if (price != nullptr) {
    
  } else {
    
  }
  price_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), price,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (price_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    price_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.Line.price)
}

// int64 timestamp = 2 [json_name = "timestamp"];
inline void Line::clear_timestamp() {
  timestamp_ = int64_t{0};
}
inline int64_t Line::_internal_timestamp() const {
  return timestamp_;
}
inline int64_t Line::timestamp() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Line.timestamp)
  return _internal_timestamp();
}
inline void Line::_internal_set_timestamp(int64_t value) {
  
  timestamp_ = value;
}
inline void Line::set_timestamp(int64_t value) {
  _internal_set_timestamp(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Line.timestamp)
}

// int64 volume = 3 [json_name = "volume"];
inline void Line::clear_volume() {
  volume_ = int64_t{0};
}
inline int64_t Line::_internal_volume() const {
  return volume_;
}
inline int64_t Line::volume() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Line.volume)
  return _internal_volume();
}
inline void Line::_internal_set_volume(int64_t value) {
  
  volume_ = value;
}
inline void Line::set_volume(int64_t value) {
  _internal_set_volume(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Line.volume)
}

// string turnover = 4 [json_name = "turnover"];
inline void Line::clear_turnover() {
  turnover_.ClearToEmpty();
}
inline const std::string& Line::turnover() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Line.turnover)
  return _internal_turnover();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Line::set_turnover(ArgT0&& arg0, ArgT... args) {
 
 turnover_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Line.turnover)
}
inline std::string* Line::mutable_turnover() {
  std::string* _s = _internal_mutable_turnover();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.Line.turnover)
  return _s;
}
inline const std::string& Line::_internal_turnover() const {
  return turnover_.Get();
}
inline void Line::_internal_set_turnover(const std::string& value) {
  
  turnover_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* Line::_internal_mutable_turnover() {
  
  return turnover_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* Line::release_turnover() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.Line.turnover)
  return turnover_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void Line::set_allocated_turnover(std::string* turnover) {
  if (turnover != nullptr) {
    
  } else {
    
  }
  turnover_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), turnover,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (turnover_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    turnover_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.Line.turnover)
}

// string avg_price = 5 [json_name = "avgPrice"];
inline void Line::clear_avg_price() {
  avg_price_.ClearToEmpty();
}
inline const std::string& Line::avg_price() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Line.avg_price)
  return _internal_avg_price();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Line::set_avg_price(ArgT0&& arg0, ArgT... args) {
 
 avg_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Line.avg_price)
}
inline std::string* Line::mutable_avg_price() {
  std::string* _s = _internal_mutable_avg_price();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.Line.avg_price)
  return _s;
}
inline const std::string& Line::_internal_avg_price() const {
  return avg_price_.Get();
}
inline void Line::_internal_set_avg_price(const std::string& value) {
  
  avg_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* Line::_internal_mutable_avg_price() {
  
  return avg_price_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* Line::release_avg_price() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.Line.avg_price)
  return avg_price_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void Line::set_allocated_avg_price(std::string* avg_price) {
  if (avg_price != nullptr) {
    
  } else {
    
  }
  avg_price_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), avg_price,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (avg_price_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    avg_price_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.Line.avg_price)
}

// -------------------------------------------------------------------

// SecurityCandlestickRequest

// string symbol = 1 [json_name = "symbol"];
inline void SecurityCandlestickRequest::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& SecurityCandlestickRequest::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityCandlestickRequest.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SecurityCandlestickRequest::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityCandlestickRequest.symbol)
}
inline std::string* SecurityCandlestickRequest::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityCandlestickRequest.symbol)
  return _s;
}
inline const std::string& SecurityCandlestickRequest::_internal_symbol() const {
  return symbol_.Get();
}
inline void SecurityCandlestickRequest::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SecurityCandlestickRequest::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SecurityCandlestickRequest::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityCandlestickRequest.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SecurityCandlestickRequest::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityCandlestickRequest.symbol)
}

// .longbridgeapp.quote.v1.Period period = 2 [json_name = "period"];
inline void SecurityCandlestickRequest::clear_period() {
  period_ = 0;
}
inline ::longbridgeapp::quote::v1::Period SecurityCandlestickRequest::_internal_period() const {
  return static_cast< ::longbridgeapp::quote::v1::Period >(period_);
}
inline ::longbridgeapp::quote::v1::Period SecurityCandlestickRequest::period() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityCandlestickRequest.period)
  return _internal_period();
}
inline void SecurityCandlestickRequest::_internal_set_period(::longbridgeapp::quote::v1::Period value) {
  
  period_ = value;
}
inline void SecurityCandlestickRequest::set_period(::longbridgeapp::quote::v1::Period value) {
  _internal_set_period(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityCandlestickRequest.period)
}

// int32 count = 3 [json_name = "count"];
inline void SecurityCandlestickRequest::clear_count() {
  count_ = 0;
}
inline int32_t SecurityCandlestickRequest::_internal_count() const {
  return count_;
}
inline int32_t SecurityCandlestickRequest::count() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityCandlestickRequest.count)
  return _internal_count();
}
inline void SecurityCandlestickRequest::_internal_set_count(int32_t value) {
  
  count_ = value;
}
inline void SecurityCandlestickRequest::set_count(int32_t value) {
  _internal_set_count(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityCandlestickRequest.count)
}

// .longbridgeapp.quote.v1.AdjustType adjust_type = 4 [json_name = "adjustType"];
inline void SecurityCandlestickRequest::clear_adjust_type() {
  adjust_type_ = 0;
}
inline ::longbridgeapp::quote::v1::AdjustType SecurityCandlestickRequest::_internal_adjust_type() const {
  return static_cast< ::longbridgeapp::quote::v1::AdjustType >(adjust_type_);
}
inline ::longbridgeapp::quote::v1::AdjustType SecurityCandlestickRequest::adjust_type() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityCandlestickRequest.adjust_type)
  return _internal_adjust_type();
}
inline void SecurityCandlestickRequest::_internal_set_adjust_type(::longbridgeapp::quote::v1::AdjustType value) {
  
  adjust_type_ = value;
}
inline void SecurityCandlestickRequest::set_adjust_type(::longbridgeapp::quote::v1::AdjustType value) {
  _internal_set_adjust_type(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityCandlestickRequest.adjust_type)
}

// -------------------------------------------------------------------

// SecurityCandlestickResponse

// string symbol = 1 [json_name = "symbol"];
inline void SecurityCandlestickResponse::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& SecurityCandlestickResponse::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityCandlestickResponse.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SecurityCandlestickResponse::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SecurityCandlestickResponse.symbol)
}
inline std::string* SecurityCandlestickResponse::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityCandlestickResponse.symbol)
  return _s;
}
inline const std::string& SecurityCandlestickResponse::_internal_symbol() const {
  return symbol_.Get();
}
inline void SecurityCandlestickResponse::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SecurityCandlestickResponse::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SecurityCandlestickResponse::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SecurityCandlestickResponse.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SecurityCandlestickResponse::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SecurityCandlestickResponse.symbol)
}

// repeated .longbridgeapp.quote.v1.Candlestick candlesticks = 2 [json_name = "candlesticks"];
inline int SecurityCandlestickResponse::_internal_candlesticks_size() const {
  return candlesticks_.size();
}
inline int SecurityCandlestickResponse::candlesticks_size() const {
  return _internal_candlesticks_size();
}
inline void SecurityCandlestickResponse::clear_candlesticks() {
  candlesticks_.Clear();
}
inline ::longbridgeapp::quote::v1::Candlestick* SecurityCandlestickResponse::mutable_candlesticks(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SecurityCandlestickResponse.candlesticks)
  return candlesticks_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Candlestick >*
SecurityCandlestickResponse::mutable_candlesticks() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.SecurityCandlestickResponse.candlesticks)
  return &candlesticks_;
}
inline const ::longbridgeapp::quote::v1::Candlestick& SecurityCandlestickResponse::_internal_candlesticks(int index) const {
  return candlesticks_.Get(index);
}
inline const ::longbridgeapp::quote::v1::Candlestick& SecurityCandlestickResponse::candlesticks(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SecurityCandlestickResponse.candlesticks)
  return _internal_candlesticks(index);
}
inline ::longbridgeapp::quote::v1::Candlestick* SecurityCandlestickResponse::_internal_add_candlesticks() {
  return candlesticks_.Add();
}
inline ::longbridgeapp::quote::v1::Candlestick* SecurityCandlestickResponse::add_candlesticks() {
  ::longbridgeapp::quote::v1::Candlestick* _add = _internal_add_candlesticks();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.SecurityCandlestickResponse.candlesticks)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Candlestick >&
SecurityCandlestickResponse::candlesticks() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.SecurityCandlestickResponse.candlesticks)
  return candlesticks_;
}

// -------------------------------------------------------------------

// Candlestick

// string close = 1 [json_name = "close"];
inline void Candlestick::clear_close() {
  close_.ClearToEmpty();
}
inline const std::string& Candlestick::close() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Candlestick.close)
  return _internal_close();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Candlestick::set_close(ArgT0&& arg0, ArgT... args) {
 
 close_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Candlestick.close)
}
inline std::string* Candlestick::mutable_close() {
  std::string* _s = _internal_mutable_close();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.Candlestick.close)
  return _s;
}
inline const std::string& Candlestick::_internal_close() const {
  return close_.Get();
}
inline void Candlestick::_internal_set_close(const std::string& value) {
  
  close_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* Candlestick::_internal_mutable_close() {
  
  return close_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* Candlestick::release_close() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.Candlestick.close)
  return close_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void Candlestick::set_allocated_close(std::string* close) {
  if (close != nullptr) {
    
  } else {
    
  }
  close_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), close,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (close_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    close_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.Candlestick.close)
}

// string open = 2 [json_name = "open"];
inline void Candlestick::clear_open() {
  open_.ClearToEmpty();
}
inline const std::string& Candlestick::open() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Candlestick.open)
  return _internal_open();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Candlestick::set_open(ArgT0&& arg0, ArgT... args) {
 
 open_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Candlestick.open)
}
inline std::string* Candlestick::mutable_open() {
  std::string* _s = _internal_mutable_open();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.Candlestick.open)
  return _s;
}
inline const std::string& Candlestick::_internal_open() const {
  return open_.Get();
}
inline void Candlestick::_internal_set_open(const std::string& value) {
  
  open_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* Candlestick::_internal_mutable_open() {
  
  return open_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* Candlestick::release_open() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.Candlestick.open)
  return open_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void Candlestick::set_allocated_open(std::string* open) {
  if (open != nullptr) {
    
  } else {
    
  }
  open_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), open,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (open_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    open_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.Candlestick.open)
}

// string low = 3 [json_name = "low"];
inline void Candlestick::clear_low() {
  low_.ClearToEmpty();
}
inline const std::string& Candlestick::low() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Candlestick.low)
  return _internal_low();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Candlestick::set_low(ArgT0&& arg0, ArgT... args) {
 
 low_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Candlestick.low)
}
inline std::string* Candlestick::mutable_low() {
  std::string* _s = _internal_mutable_low();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.Candlestick.low)
  return _s;
}
inline const std::string& Candlestick::_internal_low() const {
  return low_.Get();
}
inline void Candlestick::_internal_set_low(const std::string& value) {
  
  low_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* Candlestick::_internal_mutable_low() {
  
  return low_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* Candlestick::release_low() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.Candlestick.low)
  return low_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void Candlestick::set_allocated_low(std::string* low) {
  if (low != nullptr) {
    
  } else {
    
  }
  low_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), low,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (low_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    low_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.Candlestick.low)
}

// string high = 4 [json_name = "high"];
inline void Candlestick::clear_high() {
  high_.ClearToEmpty();
}
inline const std::string& Candlestick::high() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Candlestick.high)
  return _internal_high();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Candlestick::set_high(ArgT0&& arg0, ArgT... args) {
 
 high_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Candlestick.high)
}
inline std::string* Candlestick::mutable_high() {
  std::string* _s = _internal_mutable_high();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.Candlestick.high)
  return _s;
}
inline const std::string& Candlestick::_internal_high() const {
  return high_.Get();
}
inline void Candlestick::_internal_set_high(const std::string& value) {
  
  high_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* Candlestick::_internal_mutable_high() {
  
  return high_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* Candlestick::release_high() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.Candlestick.high)
  return high_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void Candlestick::set_allocated_high(std::string* high) {
  if (high != nullptr) {
    
  } else {
    
  }
  high_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), high,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (high_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    high_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.Candlestick.high)
}

// int64 volume = 5 [json_name = "volume"];
inline void Candlestick::clear_volume() {
  volume_ = int64_t{0};
}
inline int64_t Candlestick::_internal_volume() const {
  return volume_;
}
inline int64_t Candlestick::volume() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Candlestick.volume)
  return _internal_volume();
}
inline void Candlestick::_internal_set_volume(int64_t value) {
  
  volume_ = value;
}
inline void Candlestick::set_volume(int64_t value) {
  _internal_set_volume(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Candlestick.volume)
}

// string turnover = 6 [json_name = "turnover"];
inline void Candlestick::clear_turnover() {
  turnover_.ClearToEmpty();
}
inline const std::string& Candlestick::turnover() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Candlestick.turnover)
  return _internal_turnover();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Candlestick::set_turnover(ArgT0&& arg0, ArgT... args) {
 
 turnover_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Candlestick.turnover)
}
inline std::string* Candlestick::mutable_turnover() {
  std::string* _s = _internal_mutable_turnover();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.Candlestick.turnover)
  return _s;
}
inline const std::string& Candlestick::_internal_turnover() const {
  return turnover_.Get();
}
inline void Candlestick::_internal_set_turnover(const std::string& value) {
  
  turnover_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* Candlestick::_internal_mutable_turnover() {
  
  return turnover_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* Candlestick::release_turnover() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.Candlestick.turnover)
  return turnover_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void Candlestick::set_allocated_turnover(std::string* turnover) {
  if (turnover != nullptr) {
    
  } else {
    
  }
  turnover_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), turnover,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (turnover_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    turnover_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.Candlestick.turnover)
}

// int64 timestamp = 7 [json_name = "timestamp"];
inline void Candlestick::clear_timestamp() {
  timestamp_ = int64_t{0};
}
inline int64_t Candlestick::_internal_timestamp() const {
  return timestamp_;
}
inline int64_t Candlestick::timestamp() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.Candlestick.timestamp)
  return _internal_timestamp();
}
inline void Candlestick::_internal_set_timestamp(int64_t value) {
  
  timestamp_ = value;
}
inline void Candlestick::set_timestamp(int64_t value) {
  _internal_set_timestamp(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.Candlestick.timestamp)
}

// -------------------------------------------------------------------

// OptionChainDateListResponse

// repeated string expiry_date = 1 [json_name = "expiryDate"];
inline int OptionChainDateListResponse::_internal_expiry_date_size() const {
  return expiry_date_.size();
}
inline int OptionChainDateListResponse::expiry_date_size() const {
  return _internal_expiry_date_size();
}
inline void OptionChainDateListResponse::clear_expiry_date() {
  expiry_date_.Clear();
}
inline std::string* OptionChainDateListResponse::add_expiry_date() {
  std::string* _s = _internal_add_expiry_date();
  // @@protoc_insertion_point(field_add_mutable:longbridgeapp.quote.v1.OptionChainDateListResponse.expiry_date)
  return _s;
}
inline const std::string& OptionChainDateListResponse::_internal_expiry_date(int index) const {
  return expiry_date_.Get(index);
}
inline const std::string& OptionChainDateListResponse::expiry_date(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionChainDateListResponse.expiry_date)
  return _internal_expiry_date(index);
}
inline std::string* OptionChainDateListResponse::mutable_expiry_date(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionChainDateListResponse.expiry_date)
  return expiry_date_.Mutable(index);
}
inline void OptionChainDateListResponse::set_expiry_date(int index, const std::string& value) {
  expiry_date_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionChainDateListResponse.expiry_date)
}
inline void OptionChainDateListResponse::set_expiry_date(int index, std::string&& value) {
  expiry_date_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionChainDateListResponse.expiry_date)
}
inline void OptionChainDateListResponse::set_expiry_date(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  expiry_date_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:longbridgeapp.quote.v1.OptionChainDateListResponse.expiry_date)
}
inline void OptionChainDateListResponse::set_expiry_date(int index, const char* value, size_t size) {
  expiry_date_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:longbridgeapp.quote.v1.OptionChainDateListResponse.expiry_date)
}
inline std::string* OptionChainDateListResponse::_internal_add_expiry_date() {
  return expiry_date_.Add();
}
inline void OptionChainDateListResponse::add_expiry_date(const std::string& value) {
  expiry_date_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.OptionChainDateListResponse.expiry_date)
}
inline void OptionChainDateListResponse::add_expiry_date(std::string&& value) {
  expiry_date_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.OptionChainDateListResponse.expiry_date)
}
inline void OptionChainDateListResponse::add_expiry_date(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  expiry_date_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:longbridgeapp.quote.v1.OptionChainDateListResponse.expiry_date)
}
inline void OptionChainDateListResponse::add_expiry_date(const char* value, size_t size) {
  expiry_date_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:longbridgeapp.quote.v1.OptionChainDateListResponse.expiry_date)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
OptionChainDateListResponse::expiry_date() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.OptionChainDateListResponse.expiry_date)
  return expiry_date_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
OptionChainDateListResponse::mutable_expiry_date() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.OptionChainDateListResponse.expiry_date)
  return &expiry_date_;
}

// -------------------------------------------------------------------

// OptionChainDateStrikeInfoRequest

// string symbol = 1 [json_name = "symbol"];
inline void OptionChainDateStrikeInfoRequest::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& OptionChainDateStrikeInfoRequest::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionChainDateStrikeInfoRequest.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionChainDateStrikeInfoRequest::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionChainDateStrikeInfoRequest.symbol)
}
inline std::string* OptionChainDateStrikeInfoRequest::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionChainDateStrikeInfoRequest.symbol)
  return _s;
}
inline const std::string& OptionChainDateStrikeInfoRequest::_internal_symbol() const {
  return symbol_.Get();
}
inline void OptionChainDateStrikeInfoRequest::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionChainDateStrikeInfoRequest::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionChainDateStrikeInfoRequest::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionChainDateStrikeInfoRequest.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionChainDateStrikeInfoRequest::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionChainDateStrikeInfoRequest.symbol)
}

// string expiry_date = 2 [json_name = "expiryDate"];
inline void OptionChainDateStrikeInfoRequest::clear_expiry_date() {
  expiry_date_.ClearToEmpty();
}
inline const std::string& OptionChainDateStrikeInfoRequest::expiry_date() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionChainDateStrikeInfoRequest.expiry_date)
  return _internal_expiry_date();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void OptionChainDateStrikeInfoRequest::set_expiry_date(ArgT0&& arg0, ArgT... args) {
 
 expiry_date_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.OptionChainDateStrikeInfoRequest.expiry_date)
}
inline std::string* OptionChainDateStrikeInfoRequest::mutable_expiry_date() {
  std::string* _s = _internal_mutable_expiry_date();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionChainDateStrikeInfoRequest.expiry_date)
  return _s;
}
inline const std::string& OptionChainDateStrikeInfoRequest::_internal_expiry_date() const {
  return expiry_date_.Get();
}
inline void OptionChainDateStrikeInfoRequest::_internal_set_expiry_date(const std::string& value) {
  
  expiry_date_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* OptionChainDateStrikeInfoRequest::_internal_mutable_expiry_date() {
  
  return expiry_date_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* OptionChainDateStrikeInfoRequest::release_expiry_date() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.OptionChainDateStrikeInfoRequest.expiry_date)
  return expiry_date_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void OptionChainDateStrikeInfoRequest::set_allocated_expiry_date(std::string* expiry_date) {
  if (expiry_date != nullptr) {
    
  } else {
    
  }
  expiry_date_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), expiry_date,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (expiry_date_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    expiry_date_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.OptionChainDateStrikeInfoRequest.expiry_date)
}

// -------------------------------------------------------------------

// OptionChainDateStrikeInfoResponse

// repeated .longbridgeapp.quote.v1.StrikePriceInfo strike_price_info = 1 [json_name = "strikePriceInfo"];
inline int OptionChainDateStrikeInfoResponse::_internal_strike_price_info_size() const {
  return strike_price_info_.size();
}
inline int OptionChainDateStrikeInfoResponse::strike_price_info_size() const {
  return _internal_strike_price_info_size();
}
inline void OptionChainDateStrikeInfoResponse::clear_strike_price_info() {
  strike_price_info_.Clear();
}
inline ::longbridgeapp::quote::v1::StrikePriceInfo* OptionChainDateStrikeInfoResponse::mutable_strike_price_info(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.OptionChainDateStrikeInfoResponse.strike_price_info)
  return strike_price_info_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::StrikePriceInfo >*
OptionChainDateStrikeInfoResponse::mutable_strike_price_info() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.OptionChainDateStrikeInfoResponse.strike_price_info)
  return &strike_price_info_;
}
inline const ::longbridgeapp::quote::v1::StrikePriceInfo& OptionChainDateStrikeInfoResponse::_internal_strike_price_info(int index) const {
  return strike_price_info_.Get(index);
}
inline const ::longbridgeapp::quote::v1::StrikePriceInfo& OptionChainDateStrikeInfoResponse::strike_price_info(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.OptionChainDateStrikeInfoResponse.strike_price_info)
  return _internal_strike_price_info(index);
}
inline ::longbridgeapp::quote::v1::StrikePriceInfo* OptionChainDateStrikeInfoResponse::_internal_add_strike_price_info() {
  return strike_price_info_.Add();
}
inline ::longbridgeapp::quote::v1::StrikePriceInfo* OptionChainDateStrikeInfoResponse::add_strike_price_info() {
  ::longbridgeapp::quote::v1::StrikePriceInfo* _add = _internal_add_strike_price_info();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.OptionChainDateStrikeInfoResponse.strike_price_info)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::StrikePriceInfo >&
OptionChainDateStrikeInfoResponse::strike_price_info() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.OptionChainDateStrikeInfoResponse.strike_price_info)
  return strike_price_info_;
}

// -------------------------------------------------------------------

// StrikePriceInfo

// string price = 1 [json_name = "price"];
inline void StrikePriceInfo::clear_price() {
  price_.ClearToEmpty();
}
inline const std::string& StrikePriceInfo::price() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StrikePriceInfo.price)
  return _internal_price();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void StrikePriceInfo::set_price(ArgT0&& arg0, ArgT... args) {
 
 price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StrikePriceInfo.price)
}
inline std::string* StrikePriceInfo::mutable_price() {
  std::string* _s = _internal_mutable_price();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.StrikePriceInfo.price)
  return _s;
}
inline const std::string& StrikePriceInfo::_internal_price() const {
  return price_.Get();
}
inline void StrikePriceInfo::_internal_set_price(const std::string& value) {
  
  price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* StrikePriceInfo::_internal_mutable_price() {
  
  return price_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* StrikePriceInfo::release_price() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.StrikePriceInfo.price)
  return price_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void StrikePriceInfo::set_allocated_price(std::string* price) {
  if (price != nullptr) {
    
  } else {
    
  }
  price_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), price,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (price_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    price_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.StrikePriceInfo.price)
}

// string call_symbol = 2 [json_name = "callSymbol"];
inline void StrikePriceInfo::clear_call_symbol() {
  call_symbol_.ClearToEmpty();
}
inline const std::string& StrikePriceInfo::call_symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StrikePriceInfo.call_symbol)
  return _internal_call_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void StrikePriceInfo::set_call_symbol(ArgT0&& arg0, ArgT... args) {
 
 call_symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StrikePriceInfo.call_symbol)
}
inline std::string* StrikePriceInfo::mutable_call_symbol() {
  std::string* _s = _internal_mutable_call_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.StrikePriceInfo.call_symbol)
  return _s;
}
inline const std::string& StrikePriceInfo::_internal_call_symbol() const {
  return call_symbol_.Get();
}
inline void StrikePriceInfo::_internal_set_call_symbol(const std::string& value) {
  
  call_symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* StrikePriceInfo::_internal_mutable_call_symbol() {
  
  return call_symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* StrikePriceInfo::release_call_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.StrikePriceInfo.call_symbol)
  return call_symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void StrikePriceInfo::set_allocated_call_symbol(std::string* call_symbol) {
  if (call_symbol != nullptr) {
    
  } else {
    
  }
  call_symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), call_symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (call_symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    call_symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.StrikePriceInfo.call_symbol)
}

// string put_symbol = 3 [json_name = "putSymbol"];
inline void StrikePriceInfo::clear_put_symbol() {
  put_symbol_.ClearToEmpty();
}
inline const std::string& StrikePriceInfo::put_symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StrikePriceInfo.put_symbol)
  return _internal_put_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void StrikePriceInfo::set_put_symbol(ArgT0&& arg0, ArgT... args) {
 
 put_symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StrikePriceInfo.put_symbol)
}
inline std::string* StrikePriceInfo::mutable_put_symbol() {
  std::string* _s = _internal_mutable_put_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.StrikePriceInfo.put_symbol)
  return _s;
}
inline const std::string& StrikePriceInfo::_internal_put_symbol() const {
  return put_symbol_.Get();
}
inline void StrikePriceInfo::_internal_set_put_symbol(const std::string& value) {
  
  put_symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* StrikePriceInfo::_internal_mutable_put_symbol() {
  
  return put_symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* StrikePriceInfo::release_put_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.StrikePriceInfo.put_symbol)
  return put_symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void StrikePriceInfo::set_allocated_put_symbol(std::string* put_symbol) {
  if (put_symbol != nullptr) {
    
  } else {
    
  }
  put_symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), put_symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (put_symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    put_symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.StrikePriceInfo.put_symbol)
}

// bool standard = 4 [json_name = "standard"];
inline void StrikePriceInfo::clear_standard() {
  standard_ = false;
}
inline bool StrikePriceInfo::_internal_standard() const {
  return standard_;
}
inline bool StrikePriceInfo::standard() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.StrikePriceInfo.standard)
  return _internal_standard();
}
inline void StrikePriceInfo::_internal_set_standard(bool value) {
  
  standard_ = value;
}
inline void StrikePriceInfo::set_standard(bool value) {
  _internal_set_standard(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.StrikePriceInfo.standard)
}

// -------------------------------------------------------------------

// IssuerInfoResponse

// repeated .longbridgeapp.quote.v1.IssuerInfo issuer_info = 1 [json_name = "issuerInfo"];
inline int IssuerInfoResponse::_internal_issuer_info_size() const {
  return issuer_info_.size();
}
inline int IssuerInfoResponse::issuer_info_size() const {
  return _internal_issuer_info_size();
}
inline void IssuerInfoResponse::clear_issuer_info() {
  issuer_info_.Clear();
}
inline ::longbridgeapp::quote::v1::IssuerInfo* IssuerInfoResponse::mutable_issuer_info(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.IssuerInfoResponse.issuer_info)
  return issuer_info_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::IssuerInfo >*
IssuerInfoResponse::mutable_issuer_info() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.IssuerInfoResponse.issuer_info)
  return &issuer_info_;
}
inline const ::longbridgeapp::quote::v1::IssuerInfo& IssuerInfoResponse::_internal_issuer_info(int index) const {
  return issuer_info_.Get(index);
}
inline const ::longbridgeapp::quote::v1::IssuerInfo& IssuerInfoResponse::issuer_info(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.IssuerInfoResponse.issuer_info)
  return _internal_issuer_info(index);
}
inline ::longbridgeapp::quote::v1::IssuerInfo* IssuerInfoResponse::_internal_add_issuer_info() {
  return issuer_info_.Add();
}
inline ::longbridgeapp::quote::v1::IssuerInfo* IssuerInfoResponse::add_issuer_info() {
  ::longbridgeapp::quote::v1::IssuerInfo* _add = _internal_add_issuer_info();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.IssuerInfoResponse.issuer_info)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::IssuerInfo >&
IssuerInfoResponse::issuer_info() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.IssuerInfoResponse.issuer_info)
  return issuer_info_;
}

// -------------------------------------------------------------------

// IssuerInfo

// int32 id = 1 [json_name = "id"];
inline void IssuerInfo::clear_id() {
  id_ = 0;
}
inline int32_t IssuerInfo::_internal_id() const {
  return id_;
}
inline int32_t IssuerInfo::id() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.IssuerInfo.id)
  return _internal_id();
}
inline void IssuerInfo::_internal_set_id(int32_t value) {
  
  id_ = value;
}
inline void IssuerInfo::set_id(int32_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.IssuerInfo.id)
}

// string name_cn = 2 [json_name = "nameCn"];
inline void IssuerInfo::clear_name_cn() {
  name_cn_.ClearToEmpty();
}
inline const std::string& IssuerInfo::name_cn() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.IssuerInfo.name_cn)
  return _internal_name_cn();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void IssuerInfo::set_name_cn(ArgT0&& arg0, ArgT... args) {
 
 name_cn_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.IssuerInfo.name_cn)
}
inline std::string* IssuerInfo::mutable_name_cn() {
  std::string* _s = _internal_mutable_name_cn();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.IssuerInfo.name_cn)
  return _s;
}
inline const std::string& IssuerInfo::_internal_name_cn() const {
  return name_cn_.Get();
}
inline void IssuerInfo::_internal_set_name_cn(const std::string& value) {
  
  name_cn_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* IssuerInfo::_internal_mutable_name_cn() {
  
  return name_cn_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* IssuerInfo::release_name_cn() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.IssuerInfo.name_cn)
  return name_cn_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void IssuerInfo::set_allocated_name_cn(std::string* name_cn) {
  if (name_cn != nullptr) {
    
  } else {
    
  }
  name_cn_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name_cn,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (name_cn_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    name_cn_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.IssuerInfo.name_cn)
}

// string name_en = 3 [json_name = "nameEn"];
inline void IssuerInfo::clear_name_en() {
  name_en_.ClearToEmpty();
}
inline const std::string& IssuerInfo::name_en() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.IssuerInfo.name_en)
  return _internal_name_en();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void IssuerInfo::set_name_en(ArgT0&& arg0, ArgT... args) {
 
 name_en_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.IssuerInfo.name_en)
}
inline std::string* IssuerInfo::mutable_name_en() {
  std::string* _s = _internal_mutable_name_en();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.IssuerInfo.name_en)
  return _s;
}
inline const std::string& IssuerInfo::_internal_name_en() const {
  return name_en_.Get();
}
inline void IssuerInfo::_internal_set_name_en(const std::string& value) {
  
  name_en_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* IssuerInfo::_internal_mutable_name_en() {
  
  return name_en_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* IssuerInfo::release_name_en() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.IssuerInfo.name_en)
  return name_en_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void IssuerInfo::set_allocated_name_en(std::string* name_en) {
  if (name_en != nullptr) {
    
  } else {
    
  }
  name_en_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name_en,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (name_en_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    name_en_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.IssuerInfo.name_en)
}

// string name_hk = 4 [json_name = "nameHk"];
inline void IssuerInfo::clear_name_hk() {
  name_hk_.ClearToEmpty();
}
inline const std::string& IssuerInfo::name_hk() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.IssuerInfo.name_hk)
  return _internal_name_hk();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void IssuerInfo::set_name_hk(ArgT0&& arg0, ArgT... args) {
 
 name_hk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.IssuerInfo.name_hk)
}
inline std::string* IssuerInfo::mutable_name_hk() {
  std::string* _s = _internal_mutable_name_hk();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.IssuerInfo.name_hk)
  return _s;
}
inline const std::string& IssuerInfo::_internal_name_hk() const {
  return name_hk_.Get();
}
inline void IssuerInfo::_internal_set_name_hk(const std::string& value) {
  
  name_hk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* IssuerInfo::_internal_mutable_name_hk() {
  
  return name_hk_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* IssuerInfo::release_name_hk() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.IssuerInfo.name_hk)
  return name_hk_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void IssuerInfo::set_allocated_name_hk(std::string* name_hk) {
  if (name_hk != nullptr) {
    
  } else {
    
  }
  name_hk_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name_hk,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (name_hk_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    name_hk_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.IssuerInfo.name_hk)
}

// -------------------------------------------------------------------

// WarrantFilterListRequest

// string symbol = 1 [json_name = "symbol"];
inline void WarrantFilterListRequest::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& WarrantFilterListRequest::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantFilterListRequest.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WarrantFilterListRequest::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantFilterListRequest.symbol)
}
inline std::string* WarrantFilterListRequest::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantFilterListRequest.symbol)
  return _s;
}
inline const std::string& WarrantFilterListRequest::_internal_symbol() const {
  return symbol_.Get();
}
inline void WarrantFilterListRequest::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WarrantFilterListRequest::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WarrantFilterListRequest::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantFilterListRequest.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WarrantFilterListRequest::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantFilterListRequest.symbol)
}

// .longbridgeapp.quote.v1.FilterConfig filter_config = 2 [json_name = "filterConfig"];
inline bool WarrantFilterListRequest::_internal_has_filter_config() const {
  return this != internal_default_instance() && filter_config_ != nullptr;
}
inline bool WarrantFilterListRequest::has_filter_config() const {
  return _internal_has_filter_config();
}
inline void WarrantFilterListRequest::clear_filter_config() {
  if (GetArenaForAllocation() == nullptr && filter_config_ != nullptr) {
    delete filter_config_;
  }
  filter_config_ = nullptr;
}
inline const ::longbridgeapp::quote::v1::FilterConfig& WarrantFilterListRequest::_internal_filter_config() const {
  const ::longbridgeapp::quote::v1::FilterConfig* p = filter_config_;
  return p != nullptr ? *p : reinterpret_cast<const ::longbridgeapp::quote::v1::FilterConfig&>(
      ::longbridgeapp::quote::v1::_FilterConfig_default_instance_);
}
inline const ::longbridgeapp::quote::v1::FilterConfig& WarrantFilterListRequest::filter_config() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantFilterListRequest.filter_config)
  return _internal_filter_config();
}
inline void WarrantFilterListRequest::unsafe_arena_set_allocated_filter_config(
    ::longbridgeapp::quote::v1::FilterConfig* filter_config) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(filter_config_);
  }
  filter_config_ = filter_config;
  if (filter_config) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:longbridgeapp.quote.v1.WarrantFilterListRequest.filter_config)
}
inline ::longbridgeapp::quote::v1::FilterConfig* WarrantFilterListRequest::release_filter_config() {
  
  ::longbridgeapp::quote::v1::FilterConfig* temp = filter_config_;
  filter_config_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::longbridgeapp::quote::v1::FilterConfig* WarrantFilterListRequest::unsafe_arena_release_filter_config() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.WarrantFilterListRequest.filter_config)
  
  ::longbridgeapp::quote::v1::FilterConfig* temp = filter_config_;
  filter_config_ = nullptr;
  return temp;
}
inline ::longbridgeapp::quote::v1::FilterConfig* WarrantFilterListRequest::_internal_mutable_filter_config() {
  
  if (filter_config_ == nullptr) {
    auto* p = CreateMaybeMessage<::longbridgeapp::quote::v1::FilterConfig>(GetArenaForAllocation());
    filter_config_ = p;
  }
  return filter_config_;
}
inline ::longbridgeapp::quote::v1::FilterConfig* WarrantFilterListRequest::mutable_filter_config() {
  ::longbridgeapp::quote::v1::FilterConfig* _msg = _internal_mutable_filter_config();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantFilterListRequest.filter_config)
  return _msg;
}
inline void WarrantFilterListRequest::set_allocated_filter_config(::longbridgeapp::quote::v1::FilterConfig* filter_config) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete filter_config_;
  }
  if (filter_config) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::longbridgeapp::quote::v1::FilterConfig>::GetOwningArena(filter_config);
    if (message_arena != submessage_arena) {
      filter_config = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, filter_config, submessage_arena);
    }
    
  } else {
    
  }
  filter_config_ = filter_config;
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.WarrantFilterListRequest.filter_config)
}

// int32 language = 3 [json_name = "language"];
inline void WarrantFilterListRequest::clear_language() {
  language_ = 0;
}
inline int32_t WarrantFilterListRequest::_internal_language() const {
  return language_;
}
inline int32_t WarrantFilterListRequest::language() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantFilterListRequest.language)
  return _internal_language();
}
inline void WarrantFilterListRequest::_internal_set_language(int32_t value) {
  
  language_ = value;
}
inline void WarrantFilterListRequest::set_language(int32_t value) {
  _internal_set_language(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantFilterListRequest.language)
}

// -------------------------------------------------------------------

// FilterConfig

// int32 sort_by = 1 [json_name = "sortBy"];
inline void FilterConfig::clear_sort_by() {
  sort_by_ = 0;
}
inline int32_t FilterConfig::_internal_sort_by() const {
  return sort_by_;
}
inline int32_t FilterConfig::sort_by() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterConfig.sort_by)
  return _internal_sort_by();
}
inline void FilterConfig::_internal_set_sort_by(int32_t value) {
  
  sort_by_ = value;
}
inline void FilterConfig::set_sort_by(int32_t value) {
  _internal_set_sort_by(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterConfig.sort_by)
}

// int32 sort_order = 2 [json_name = "sortOrder"];
inline void FilterConfig::clear_sort_order() {
  sort_order_ = 0;
}
inline int32_t FilterConfig::_internal_sort_order() const {
  return sort_order_;
}
inline int32_t FilterConfig::sort_order() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterConfig.sort_order)
  return _internal_sort_order();
}
inline void FilterConfig::_internal_set_sort_order(int32_t value) {
  
  sort_order_ = value;
}
inline void FilterConfig::set_sort_order(int32_t value) {
  _internal_set_sort_order(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterConfig.sort_order)
}

// int32 sort_offset = 3 [json_name = "sortOffset"];
inline void FilterConfig::clear_sort_offset() {
  sort_offset_ = 0;
}
inline int32_t FilterConfig::_internal_sort_offset() const {
  return sort_offset_;
}
inline int32_t FilterConfig::sort_offset() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterConfig.sort_offset)
  return _internal_sort_offset();
}
inline void FilterConfig::_internal_set_sort_offset(int32_t value) {
  
  sort_offset_ = value;
}
inline void FilterConfig::set_sort_offset(int32_t value) {
  _internal_set_sort_offset(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterConfig.sort_offset)
}

// int32 sort_count = 4 [json_name = "sortCount"];
inline void FilterConfig::clear_sort_count() {
  sort_count_ = 0;
}
inline int32_t FilterConfig::_internal_sort_count() const {
  return sort_count_;
}
inline int32_t FilterConfig::sort_count() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterConfig.sort_count)
  return _internal_sort_count();
}
inline void FilterConfig::_internal_set_sort_count(int32_t value) {
  
  sort_count_ = value;
}
inline void FilterConfig::set_sort_count(int32_t value) {
  _internal_set_sort_count(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterConfig.sort_count)
}

// repeated int32 type = 5 [json_name = "type"];
inline int FilterConfig::_internal_type_size() const {
  return type_.size();
}
inline int FilterConfig::type_size() const {
  return _internal_type_size();
}
inline void FilterConfig::clear_type() {
  type_.Clear();
}
inline int32_t FilterConfig::_internal_type(int index) const {
  return type_.Get(index);
}
inline int32_t FilterConfig::type(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterConfig.type)
  return _internal_type(index);
}
inline void FilterConfig::set_type(int index, int32_t value) {
  type_.Set(index, value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterConfig.type)
}
inline void FilterConfig::_internal_add_type(int32_t value) {
  type_.Add(value);
}
inline void FilterConfig::add_type(int32_t value) {
  _internal_add_type(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.FilterConfig.type)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
FilterConfig::_internal_type() const {
  return type_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
FilterConfig::type() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.FilterConfig.type)
  return _internal_type();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
FilterConfig::_internal_mutable_type() {
  return &type_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
FilterConfig::mutable_type() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.FilterConfig.type)
  return _internal_mutable_type();
}

// repeated int32 issuer = 6 [json_name = "issuer"];
inline int FilterConfig::_internal_issuer_size() const {
  return issuer_.size();
}
inline int FilterConfig::issuer_size() const {
  return _internal_issuer_size();
}
inline void FilterConfig::clear_issuer() {
  issuer_.Clear();
}
inline int32_t FilterConfig::_internal_issuer(int index) const {
  return issuer_.Get(index);
}
inline int32_t FilterConfig::issuer(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterConfig.issuer)
  return _internal_issuer(index);
}
inline void FilterConfig::set_issuer(int index, int32_t value) {
  issuer_.Set(index, value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterConfig.issuer)
}
inline void FilterConfig::_internal_add_issuer(int32_t value) {
  issuer_.Add(value);
}
inline void FilterConfig::add_issuer(int32_t value) {
  _internal_add_issuer(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.FilterConfig.issuer)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
FilterConfig::_internal_issuer() const {
  return issuer_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
FilterConfig::issuer() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.FilterConfig.issuer)
  return _internal_issuer();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
FilterConfig::_internal_mutable_issuer() {
  return &issuer_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
FilterConfig::mutable_issuer() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.FilterConfig.issuer)
  return _internal_mutable_issuer();
}

// repeated int32 expiry_date = 7 [json_name = "expiryDate"];
inline int FilterConfig::_internal_expiry_date_size() const {
  return expiry_date_.size();
}
inline int FilterConfig::expiry_date_size() const {
  return _internal_expiry_date_size();
}
inline void FilterConfig::clear_expiry_date() {
  expiry_date_.Clear();
}
inline int32_t FilterConfig::_internal_expiry_date(int index) const {
  return expiry_date_.Get(index);
}
inline int32_t FilterConfig::expiry_date(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterConfig.expiry_date)
  return _internal_expiry_date(index);
}
inline void FilterConfig::set_expiry_date(int index, int32_t value) {
  expiry_date_.Set(index, value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterConfig.expiry_date)
}
inline void FilterConfig::_internal_add_expiry_date(int32_t value) {
  expiry_date_.Add(value);
}
inline void FilterConfig::add_expiry_date(int32_t value) {
  _internal_add_expiry_date(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.FilterConfig.expiry_date)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
FilterConfig::_internal_expiry_date() const {
  return expiry_date_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
FilterConfig::expiry_date() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.FilterConfig.expiry_date)
  return _internal_expiry_date();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
FilterConfig::_internal_mutable_expiry_date() {
  return &expiry_date_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
FilterConfig::mutable_expiry_date() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.FilterConfig.expiry_date)
  return _internal_mutable_expiry_date();
}

// repeated int32 price_type = 8 [json_name = "priceType"];
inline int FilterConfig::_internal_price_type_size() const {
  return price_type_.size();
}
inline int FilterConfig::price_type_size() const {
  return _internal_price_type_size();
}
inline void FilterConfig::clear_price_type() {
  price_type_.Clear();
}
inline int32_t FilterConfig::_internal_price_type(int index) const {
  return price_type_.Get(index);
}
inline int32_t FilterConfig::price_type(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterConfig.price_type)
  return _internal_price_type(index);
}
inline void FilterConfig::set_price_type(int index, int32_t value) {
  price_type_.Set(index, value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterConfig.price_type)
}
inline void FilterConfig::_internal_add_price_type(int32_t value) {
  price_type_.Add(value);
}
inline void FilterConfig::add_price_type(int32_t value) {
  _internal_add_price_type(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.FilterConfig.price_type)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
FilterConfig::_internal_price_type() const {
  return price_type_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
FilterConfig::price_type() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.FilterConfig.price_type)
  return _internal_price_type();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
FilterConfig::_internal_mutable_price_type() {
  return &price_type_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
FilterConfig::mutable_price_type() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.FilterConfig.price_type)
  return _internal_mutable_price_type();
}

// repeated int32 status = 9 [json_name = "status"];
inline int FilterConfig::_internal_status_size() const {
  return status_.size();
}
inline int FilterConfig::status_size() const {
  return _internal_status_size();
}
inline void FilterConfig::clear_status() {
  status_.Clear();
}
inline int32_t FilterConfig::_internal_status(int index) const {
  return status_.Get(index);
}
inline int32_t FilterConfig::status(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterConfig.status)
  return _internal_status(index);
}
inline void FilterConfig::set_status(int index, int32_t value) {
  status_.Set(index, value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterConfig.status)
}
inline void FilterConfig::_internal_add_status(int32_t value) {
  status_.Add(value);
}
inline void FilterConfig::add_status(int32_t value) {
  _internal_add_status(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.FilterConfig.status)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
FilterConfig::_internal_status() const {
  return status_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
FilterConfig::status() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.FilterConfig.status)
  return _internal_status();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
FilterConfig::_internal_mutable_status() {
  return &status_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
FilterConfig::mutable_status() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.FilterConfig.status)
  return _internal_mutable_status();
}

// -------------------------------------------------------------------

// WarrantFilterListResponse

// repeated .longbridgeapp.quote.v1.FilterWarrant warrant_list = 1 [json_name = "warrantList"];
inline int WarrantFilterListResponse::_internal_warrant_list_size() const {
  return warrant_list_.size();
}
inline int WarrantFilterListResponse::warrant_list_size() const {
  return _internal_warrant_list_size();
}
inline void WarrantFilterListResponse::clear_warrant_list() {
  warrant_list_.Clear();
}
inline ::longbridgeapp::quote::v1::FilterWarrant* WarrantFilterListResponse::mutable_warrant_list(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.WarrantFilterListResponse.warrant_list)
  return warrant_list_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::FilterWarrant >*
WarrantFilterListResponse::mutable_warrant_list() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.WarrantFilterListResponse.warrant_list)
  return &warrant_list_;
}
inline const ::longbridgeapp::quote::v1::FilterWarrant& WarrantFilterListResponse::_internal_warrant_list(int index) const {
  return warrant_list_.Get(index);
}
inline const ::longbridgeapp::quote::v1::FilterWarrant& WarrantFilterListResponse::warrant_list(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantFilterListResponse.warrant_list)
  return _internal_warrant_list(index);
}
inline ::longbridgeapp::quote::v1::FilterWarrant* WarrantFilterListResponse::_internal_add_warrant_list() {
  return warrant_list_.Add();
}
inline ::longbridgeapp::quote::v1::FilterWarrant* WarrantFilterListResponse::add_warrant_list() {
  ::longbridgeapp::quote::v1::FilterWarrant* _add = _internal_add_warrant_list();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.WarrantFilterListResponse.warrant_list)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::FilterWarrant >&
WarrantFilterListResponse::warrant_list() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.WarrantFilterListResponse.warrant_list)
  return warrant_list_;
}

// int32 total_count = 2 [json_name = "totalCount"];
inline void WarrantFilterListResponse::clear_total_count() {
  total_count_ = 0;
}
inline int32_t WarrantFilterListResponse::_internal_total_count() const {
  return total_count_;
}
inline int32_t WarrantFilterListResponse::total_count() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.WarrantFilterListResponse.total_count)
  return _internal_total_count();
}
inline void WarrantFilterListResponse::_internal_set_total_count(int32_t value) {
  
  total_count_ = value;
}
inline void WarrantFilterListResponse::set_total_count(int32_t value) {
  _internal_set_total_count(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.WarrantFilterListResponse.total_count)
}

// -------------------------------------------------------------------

// FilterWarrant

// string symbol = 1 [json_name = "symbol"];
inline void FilterWarrant::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& FilterWarrant::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.symbol)
}
inline std::string* FilterWarrant::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.symbol)
  return _s;
}
inline const std::string& FilterWarrant::_internal_symbol() const {
  return symbol_.Get();
}
inline void FilterWarrant::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.symbol)
}

// string name = 2 [json_name = "name"];
inline void FilterWarrant::clear_name() {
  name_.ClearToEmpty();
}
inline const std::string& FilterWarrant::name() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_name(ArgT0&& arg0, ArgT... args) {
 
 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.name)
}
inline std::string* FilterWarrant::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.name)
  return _s;
}
inline const std::string& FilterWarrant::_internal_name() const {
  return name_.Get();
}
inline void FilterWarrant::_internal_set_name(const std::string& value) {
  
  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_name() {
  
  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_name() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.name)
  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    
  } else {
    
  }
  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.name)
}

// string last_done = 3 [json_name = "lastDone"];
inline void FilterWarrant::clear_last_done() {
  last_done_.ClearToEmpty();
}
inline const std::string& FilterWarrant::last_done() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.last_done)
  return _internal_last_done();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_last_done(ArgT0&& arg0, ArgT... args) {
 
 last_done_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.last_done)
}
inline std::string* FilterWarrant::mutable_last_done() {
  std::string* _s = _internal_mutable_last_done();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.last_done)
  return _s;
}
inline const std::string& FilterWarrant::_internal_last_done() const {
  return last_done_.Get();
}
inline void FilterWarrant::_internal_set_last_done(const std::string& value) {
  
  last_done_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_last_done() {
  
  return last_done_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_last_done() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.last_done)
  return last_done_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_last_done(std::string* last_done) {
  if (last_done != nullptr) {
    
  } else {
    
  }
  last_done_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), last_done,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (last_done_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    last_done_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.last_done)
}

// string change_rate = 4 [json_name = "changeRate"];
inline void FilterWarrant::clear_change_rate() {
  change_rate_.ClearToEmpty();
}
inline const std::string& FilterWarrant::change_rate() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.change_rate)
  return _internal_change_rate();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_change_rate(ArgT0&& arg0, ArgT... args) {
 
 change_rate_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.change_rate)
}
inline std::string* FilterWarrant::mutable_change_rate() {
  std::string* _s = _internal_mutable_change_rate();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.change_rate)
  return _s;
}
inline const std::string& FilterWarrant::_internal_change_rate() const {
  return change_rate_.Get();
}
inline void FilterWarrant::_internal_set_change_rate(const std::string& value) {
  
  change_rate_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_change_rate() {
  
  return change_rate_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_change_rate() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.change_rate)
  return change_rate_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_change_rate(std::string* change_rate) {
  if (change_rate != nullptr) {
    
  } else {
    
  }
  change_rate_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), change_rate,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (change_rate_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    change_rate_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.change_rate)
}

// string change_val = 5 [json_name = "changeVal"];
inline void FilterWarrant::clear_change_val() {
  change_val_.ClearToEmpty();
}
inline const std::string& FilterWarrant::change_val() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.change_val)
  return _internal_change_val();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_change_val(ArgT0&& arg0, ArgT... args) {
 
 change_val_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.change_val)
}
inline std::string* FilterWarrant::mutable_change_val() {
  std::string* _s = _internal_mutable_change_val();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.change_val)
  return _s;
}
inline const std::string& FilterWarrant::_internal_change_val() const {
  return change_val_.Get();
}
inline void FilterWarrant::_internal_set_change_val(const std::string& value) {
  
  change_val_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_change_val() {
  
  return change_val_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_change_val() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.change_val)
  return change_val_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_change_val(std::string* change_val) {
  if (change_val != nullptr) {
    
  } else {
    
  }
  change_val_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), change_val,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (change_val_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    change_val_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.change_val)
}

// int64 volume = 6 [json_name = "volume"];
inline void FilterWarrant::clear_volume() {
  volume_ = int64_t{0};
}
inline int64_t FilterWarrant::_internal_volume() const {
  return volume_;
}
inline int64_t FilterWarrant::volume() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.volume)
  return _internal_volume();
}
inline void FilterWarrant::_internal_set_volume(int64_t value) {
  
  volume_ = value;
}
inline void FilterWarrant::set_volume(int64_t value) {
  _internal_set_volume(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.volume)
}

// string turnover = 7 [json_name = "turnover"];
inline void FilterWarrant::clear_turnover() {
  turnover_.ClearToEmpty();
}
inline const std::string& FilterWarrant::turnover() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.turnover)
  return _internal_turnover();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_turnover(ArgT0&& arg0, ArgT... args) {
 
 turnover_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.turnover)
}
inline std::string* FilterWarrant::mutable_turnover() {
  std::string* _s = _internal_mutable_turnover();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.turnover)
  return _s;
}
inline const std::string& FilterWarrant::_internal_turnover() const {
  return turnover_.Get();
}
inline void FilterWarrant::_internal_set_turnover(const std::string& value) {
  
  turnover_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_turnover() {
  
  return turnover_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_turnover() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.turnover)
  return turnover_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_turnover(std::string* turnover) {
  if (turnover != nullptr) {
    
  } else {
    
  }
  turnover_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), turnover,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (turnover_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    turnover_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.turnover)
}

// string expiry_date = 8 [json_name = "expiryDate"];
inline void FilterWarrant::clear_expiry_date() {
  expiry_date_.ClearToEmpty();
}
inline const std::string& FilterWarrant::expiry_date() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.expiry_date)
  return _internal_expiry_date();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_expiry_date(ArgT0&& arg0, ArgT... args) {
 
 expiry_date_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.expiry_date)
}
inline std::string* FilterWarrant::mutable_expiry_date() {
  std::string* _s = _internal_mutable_expiry_date();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.expiry_date)
  return _s;
}
inline const std::string& FilterWarrant::_internal_expiry_date() const {
  return expiry_date_.Get();
}
inline void FilterWarrant::_internal_set_expiry_date(const std::string& value) {
  
  expiry_date_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_expiry_date() {
  
  return expiry_date_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_expiry_date() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.expiry_date)
  return expiry_date_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_expiry_date(std::string* expiry_date) {
  if (expiry_date != nullptr) {
    
  } else {
    
  }
  expiry_date_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), expiry_date,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (expiry_date_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    expiry_date_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.expiry_date)
}

// string strike_price = 9 [json_name = "strikePrice"];
inline void FilterWarrant::clear_strike_price() {
  strike_price_.ClearToEmpty();
}
inline const std::string& FilterWarrant::strike_price() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.strike_price)
  return _internal_strike_price();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_strike_price(ArgT0&& arg0, ArgT... args) {
 
 strike_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.strike_price)
}
inline std::string* FilterWarrant::mutable_strike_price() {
  std::string* _s = _internal_mutable_strike_price();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.strike_price)
  return _s;
}
inline const std::string& FilterWarrant::_internal_strike_price() const {
  return strike_price_.Get();
}
inline void FilterWarrant::_internal_set_strike_price(const std::string& value) {
  
  strike_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_strike_price() {
  
  return strike_price_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_strike_price() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.strike_price)
  return strike_price_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_strike_price(std::string* strike_price) {
  if (strike_price != nullptr) {
    
  } else {
    
  }
  strike_price_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), strike_price,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (strike_price_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    strike_price_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.strike_price)
}

// string upper_strike_price = 10 [json_name = "upperStrikePrice"];
inline void FilterWarrant::clear_upper_strike_price() {
  upper_strike_price_.ClearToEmpty();
}
inline const std::string& FilterWarrant::upper_strike_price() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.upper_strike_price)
  return _internal_upper_strike_price();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_upper_strike_price(ArgT0&& arg0, ArgT... args) {
 
 upper_strike_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.upper_strike_price)
}
inline std::string* FilterWarrant::mutable_upper_strike_price() {
  std::string* _s = _internal_mutable_upper_strike_price();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.upper_strike_price)
  return _s;
}
inline const std::string& FilterWarrant::_internal_upper_strike_price() const {
  return upper_strike_price_.Get();
}
inline void FilterWarrant::_internal_set_upper_strike_price(const std::string& value) {
  
  upper_strike_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_upper_strike_price() {
  
  return upper_strike_price_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_upper_strike_price() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.upper_strike_price)
  return upper_strike_price_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_upper_strike_price(std::string* upper_strike_price) {
  if (upper_strike_price != nullptr) {
    
  } else {
    
  }
  upper_strike_price_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), upper_strike_price,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (upper_strike_price_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    upper_strike_price_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.upper_strike_price)
}

// string lower_strike_price = 11 [json_name = "lowerStrikePrice"];
inline void FilterWarrant::clear_lower_strike_price() {
  lower_strike_price_.ClearToEmpty();
}
inline const std::string& FilterWarrant::lower_strike_price() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.lower_strike_price)
  return _internal_lower_strike_price();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_lower_strike_price(ArgT0&& arg0, ArgT... args) {
 
 lower_strike_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.lower_strike_price)
}
inline std::string* FilterWarrant::mutable_lower_strike_price() {
  std::string* _s = _internal_mutable_lower_strike_price();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.lower_strike_price)
  return _s;
}
inline const std::string& FilterWarrant::_internal_lower_strike_price() const {
  return lower_strike_price_.Get();
}
inline void FilterWarrant::_internal_set_lower_strike_price(const std::string& value) {
  
  lower_strike_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_lower_strike_price() {
  
  return lower_strike_price_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_lower_strike_price() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.lower_strike_price)
  return lower_strike_price_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_lower_strike_price(std::string* lower_strike_price) {
  if (lower_strike_price != nullptr) {
    
  } else {
    
  }
  lower_strike_price_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), lower_strike_price,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (lower_strike_price_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    lower_strike_price_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.lower_strike_price)
}

// string outstanding_qty = 12 [json_name = "outstandingQty"];
inline void FilterWarrant::clear_outstanding_qty() {
  outstanding_qty_.ClearToEmpty();
}
inline const std::string& FilterWarrant::outstanding_qty() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.outstanding_qty)
  return _internal_outstanding_qty();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_outstanding_qty(ArgT0&& arg0, ArgT... args) {
 
 outstanding_qty_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.outstanding_qty)
}
inline std::string* FilterWarrant::mutable_outstanding_qty() {
  std::string* _s = _internal_mutable_outstanding_qty();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.outstanding_qty)
  return _s;
}
inline const std::string& FilterWarrant::_internal_outstanding_qty() const {
  return outstanding_qty_.Get();
}
inline void FilterWarrant::_internal_set_outstanding_qty(const std::string& value) {
  
  outstanding_qty_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_outstanding_qty() {
  
  return outstanding_qty_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_outstanding_qty() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.outstanding_qty)
  return outstanding_qty_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_outstanding_qty(std::string* outstanding_qty) {
  if (outstanding_qty != nullptr) {
    
  } else {
    
  }
  outstanding_qty_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), outstanding_qty,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (outstanding_qty_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    outstanding_qty_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.outstanding_qty)
}

// string outstanding_ratio = 13 [json_name = "outstandingRatio"];
inline void FilterWarrant::clear_outstanding_ratio() {
  outstanding_ratio_.ClearToEmpty();
}
inline const std::string& FilterWarrant::outstanding_ratio() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.outstanding_ratio)
  return _internal_outstanding_ratio();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_outstanding_ratio(ArgT0&& arg0, ArgT... args) {
 
 outstanding_ratio_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.outstanding_ratio)
}
inline std::string* FilterWarrant::mutable_outstanding_ratio() {
  std::string* _s = _internal_mutable_outstanding_ratio();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.outstanding_ratio)
  return _s;
}
inline const std::string& FilterWarrant::_internal_outstanding_ratio() const {
  return outstanding_ratio_.Get();
}
inline void FilterWarrant::_internal_set_outstanding_ratio(const std::string& value) {
  
  outstanding_ratio_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_outstanding_ratio() {
  
  return outstanding_ratio_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_outstanding_ratio() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.outstanding_ratio)
  return outstanding_ratio_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_outstanding_ratio(std::string* outstanding_ratio) {
  if (outstanding_ratio != nullptr) {
    
  } else {
    
  }
  outstanding_ratio_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), outstanding_ratio,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (outstanding_ratio_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    outstanding_ratio_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.outstanding_ratio)
}

// string premium = 14 [json_name = "premium"];
inline void FilterWarrant::clear_premium() {
  premium_.ClearToEmpty();
}
inline const std::string& FilterWarrant::premium() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.premium)
  return _internal_premium();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_premium(ArgT0&& arg0, ArgT... args) {
 
 premium_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.premium)
}
inline std::string* FilterWarrant::mutable_premium() {
  std::string* _s = _internal_mutable_premium();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.premium)
  return _s;
}
inline const std::string& FilterWarrant::_internal_premium() const {
  return premium_.Get();
}
inline void FilterWarrant::_internal_set_premium(const std::string& value) {
  
  premium_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_premium() {
  
  return premium_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_premium() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.premium)
  return premium_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_premium(std::string* premium) {
  if (premium != nullptr) {
    
  } else {
    
  }
  premium_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), premium,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (premium_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    premium_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.premium)
}

// string itm_otm = 15 [json_name = "itmOtm"];
inline void FilterWarrant::clear_itm_otm() {
  itm_otm_.ClearToEmpty();
}
inline const std::string& FilterWarrant::itm_otm() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.itm_otm)
  return _internal_itm_otm();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_itm_otm(ArgT0&& arg0, ArgT... args) {
 
 itm_otm_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.itm_otm)
}
inline std::string* FilterWarrant::mutable_itm_otm() {
  std::string* _s = _internal_mutable_itm_otm();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.itm_otm)
  return _s;
}
inline const std::string& FilterWarrant::_internal_itm_otm() const {
  return itm_otm_.Get();
}
inline void FilterWarrant::_internal_set_itm_otm(const std::string& value) {
  
  itm_otm_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_itm_otm() {
  
  return itm_otm_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_itm_otm() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.itm_otm)
  return itm_otm_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_itm_otm(std::string* itm_otm) {
  if (itm_otm != nullptr) {
    
  } else {
    
  }
  itm_otm_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), itm_otm,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (itm_otm_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    itm_otm_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.itm_otm)
}

// string implied_volatility = 16 [json_name = "impliedVolatility"];
inline void FilterWarrant::clear_implied_volatility() {
  implied_volatility_.ClearToEmpty();
}
inline const std::string& FilterWarrant::implied_volatility() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.implied_volatility)
  return _internal_implied_volatility();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_implied_volatility(ArgT0&& arg0, ArgT... args) {
 
 implied_volatility_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.implied_volatility)
}
inline std::string* FilterWarrant::mutable_implied_volatility() {
  std::string* _s = _internal_mutable_implied_volatility();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.implied_volatility)
  return _s;
}
inline const std::string& FilterWarrant::_internal_implied_volatility() const {
  return implied_volatility_.Get();
}
inline void FilterWarrant::_internal_set_implied_volatility(const std::string& value) {
  
  implied_volatility_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_implied_volatility() {
  
  return implied_volatility_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_implied_volatility() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.implied_volatility)
  return implied_volatility_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_implied_volatility(std::string* implied_volatility) {
  if (implied_volatility != nullptr) {
    
  } else {
    
  }
  implied_volatility_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), implied_volatility,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (implied_volatility_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    implied_volatility_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.implied_volatility)
}

// string delta = 17 [json_name = "delta"];
inline void FilterWarrant::clear_delta() {
  delta_.ClearToEmpty();
}
inline const std::string& FilterWarrant::delta() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.delta)
  return _internal_delta();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_delta(ArgT0&& arg0, ArgT... args) {
 
 delta_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.delta)
}
inline std::string* FilterWarrant::mutable_delta() {
  std::string* _s = _internal_mutable_delta();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.delta)
  return _s;
}
inline const std::string& FilterWarrant::_internal_delta() const {
  return delta_.Get();
}
inline void FilterWarrant::_internal_set_delta(const std::string& value) {
  
  delta_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_delta() {
  
  return delta_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_delta() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.delta)
  return delta_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_delta(std::string* delta) {
  if (delta != nullptr) {
    
  } else {
    
  }
  delta_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), delta,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (delta_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    delta_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.delta)
}

// string call_price = 18 [json_name = "callPrice"];
inline void FilterWarrant::clear_call_price() {
  call_price_.ClearToEmpty();
}
inline const std::string& FilterWarrant::call_price() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.call_price)
  return _internal_call_price();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_call_price(ArgT0&& arg0, ArgT... args) {
 
 call_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.call_price)
}
inline std::string* FilterWarrant::mutable_call_price() {
  std::string* _s = _internal_mutable_call_price();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.call_price)
  return _s;
}
inline const std::string& FilterWarrant::_internal_call_price() const {
  return call_price_.Get();
}
inline void FilterWarrant::_internal_set_call_price(const std::string& value) {
  
  call_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_call_price() {
  
  return call_price_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_call_price() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.call_price)
  return call_price_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_call_price(std::string* call_price) {
  if (call_price != nullptr) {
    
  } else {
    
  }
  call_price_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), call_price,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (call_price_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    call_price_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.call_price)
}

// string to_call_price = 19 [json_name = "toCallPrice"];
inline void FilterWarrant::clear_to_call_price() {
  to_call_price_.ClearToEmpty();
}
inline const std::string& FilterWarrant::to_call_price() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.to_call_price)
  return _internal_to_call_price();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_to_call_price(ArgT0&& arg0, ArgT... args) {
 
 to_call_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.to_call_price)
}
inline std::string* FilterWarrant::mutable_to_call_price() {
  std::string* _s = _internal_mutable_to_call_price();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.to_call_price)
  return _s;
}
inline const std::string& FilterWarrant::_internal_to_call_price() const {
  return to_call_price_.Get();
}
inline void FilterWarrant::_internal_set_to_call_price(const std::string& value) {
  
  to_call_price_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_to_call_price() {
  
  return to_call_price_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_to_call_price() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.to_call_price)
  return to_call_price_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_to_call_price(std::string* to_call_price) {
  if (to_call_price != nullptr) {
    
  } else {
    
  }
  to_call_price_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), to_call_price,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (to_call_price_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    to_call_price_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.to_call_price)
}

// string effective_leverage = 20 [json_name = "effectiveLeverage"];
inline void FilterWarrant::clear_effective_leverage() {
  effective_leverage_.ClearToEmpty();
}
inline const std::string& FilterWarrant::effective_leverage() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.effective_leverage)
  return _internal_effective_leverage();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_effective_leverage(ArgT0&& arg0, ArgT... args) {
 
 effective_leverage_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.effective_leverage)
}
inline std::string* FilterWarrant::mutable_effective_leverage() {
  std::string* _s = _internal_mutable_effective_leverage();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.effective_leverage)
  return _s;
}
inline const std::string& FilterWarrant::_internal_effective_leverage() const {
  return effective_leverage_.Get();
}
inline void FilterWarrant::_internal_set_effective_leverage(const std::string& value) {
  
  effective_leverage_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_effective_leverage() {
  
  return effective_leverage_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_effective_leverage() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.effective_leverage)
  return effective_leverage_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_effective_leverage(std::string* effective_leverage) {
  if (effective_leverage != nullptr) {
    
  } else {
    
  }
  effective_leverage_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), effective_leverage,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (effective_leverage_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    effective_leverage_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.effective_leverage)
}

// string leverage_ratio = 21 [json_name = "leverageRatio"];
inline void FilterWarrant::clear_leverage_ratio() {
  leverage_ratio_.ClearToEmpty();
}
inline const std::string& FilterWarrant::leverage_ratio() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.leverage_ratio)
  return _internal_leverage_ratio();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_leverage_ratio(ArgT0&& arg0, ArgT... args) {
 
 leverage_ratio_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.leverage_ratio)
}
inline std::string* FilterWarrant::mutable_leverage_ratio() {
  std::string* _s = _internal_mutable_leverage_ratio();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.leverage_ratio)
  return _s;
}
inline const std::string& FilterWarrant::_internal_leverage_ratio() const {
  return leverage_ratio_.Get();
}
inline void FilterWarrant::_internal_set_leverage_ratio(const std::string& value) {
  
  leverage_ratio_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_leverage_ratio() {
  
  return leverage_ratio_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_leverage_ratio() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.leverage_ratio)
  return leverage_ratio_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_leverage_ratio(std::string* leverage_ratio) {
  if (leverage_ratio != nullptr) {
    
  } else {
    
  }
  leverage_ratio_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), leverage_ratio,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (leverage_ratio_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    leverage_ratio_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.leverage_ratio)
}

// string conversion_ratio = 22 [json_name = "conversionRatio"];
inline void FilterWarrant::clear_conversion_ratio() {
  conversion_ratio_.ClearToEmpty();
}
inline const std::string& FilterWarrant::conversion_ratio() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.conversion_ratio)
  return _internal_conversion_ratio();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_conversion_ratio(ArgT0&& arg0, ArgT... args) {
 
 conversion_ratio_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.conversion_ratio)
}
inline std::string* FilterWarrant::mutable_conversion_ratio() {
  std::string* _s = _internal_mutable_conversion_ratio();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.conversion_ratio)
  return _s;
}
inline const std::string& FilterWarrant::_internal_conversion_ratio() const {
  return conversion_ratio_.Get();
}
inline void FilterWarrant::_internal_set_conversion_ratio(const std::string& value) {
  
  conversion_ratio_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_conversion_ratio() {
  
  return conversion_ratio_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_conversion_ratio() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.conversion_ratio)
  return conversion_ratio_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_conversion_ratio(std::string* conversion_ratio) {
  if (conversion_ratio != nullptr) {
    
  } else {
    
  }
  conversion_ratio_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), conversion_ratio,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (conversion_ratio_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    conversion_ratio_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.conversion_ratio)
}

// string balance_point = 23 [json_name = "balancePoint"];
inline void FilterWarrant::clear_balance_point() {
  balance_point_.ClearToEmpty();
}
inline const std::string& FilterWarrant::balance_point() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.balance_point)
  return _internal_balance_point();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_balance_point(ArgT0&& arg0, ArgT... args) {
 
 balance_point_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.balance_point)
}
inline std::string* FilterWarrant::mutable_balance_point() {
  std::string* _s = _internal_mutable_balance_point();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.balance_point)
  return _s;
}
inline const std::string& FilterWarrant::_internal_balance_point() const {
  return balance_point_.Get();
}
inline void FilterWarrant::_internal_set_balance_point(const std::string& value) {
  
  balance_point_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_balance_point() {
  
  return balance_point_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_balance_point() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.balance_point)
  return balance_point_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_balance_point(std::string* balance_point) {
  if (balance_point != nullptr) {
    
  } else {
    
  }
  balance_point_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), balance_point,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (balance_point_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    balance_point_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.balance_point)
}

// string state = 24 [json_name = "state"];
inline void FilterWarrant::clear_state() {
  state_.ClearToEmpty();
}
inline const std::string& FilterWarrant::state() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.FilterWarrant.state)
  return _internal_state();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FilterWarrant::set_state(ArgT0&& arg0, ArgT... args) {
 
 state_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.FilterWarrant.state)
}
inline std::string* FilterWarrant::mutable_state() {
  std::string* _s = _internal_mutable_state();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.FilterWarrant.state)
  return _s;
}
inline const std::string& FilterWarrant::_internal_state() const {
  return state_.Get();
}
inline void FilterWarrant::_internal_set_state(const std::string& value) {
  
  state_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FilterWarrant::_internal_mutable_state() {
  
  return state_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FilterWarrant::release_state() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.FilterWarrant.state)
  return state_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FilterWarrant::set_allocated_state(std::string* state) {
  if (state != nullptr) {
    
  } else {
    
  }
  state_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), state,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (state_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    state_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.FilterWarrant.state)
}

// -------------------------------------------------------------------

// MarketTradePeriodResponse

// repeated .longbridgeapp.quote.v1.MarketTradePeriod market_trade_session = 1 [json_name = "marketTradeSession"];
inline int MarketTradePeriodResponse::_internal_market_trade_session_size() const {
  return market_trade_session_.size();
}
inline int MarketTradePeriodResponse::market_trade_session_size() const {
  return _internal_market_trade_session_size();
}
inline void MarketTradePeriodResponse::clear_market_trade_session() {
  market_trade_session_.Clear();
}
inline ::longbridgeapp::quote::v1::MarketTradePeriod* MarketTradePeriodResponse::mutable_market_trade_session(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.MarketTradePeriodResponse.market_trade_session)
  return market_trade_session_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::MarketTradePeriod >*
MarketTradePeriodResponse::mutable_market_trade_session() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.MarketTradePeriodResponse.market_trade_session)
  return &market_trade_session_;
}
inline const ::longbridgeapp::quote::v1::MarketTradePeriod& MarketTradePeriodResponse::_internal_market_trade_session(int index) const {
  return market_trade_session_.Get(index);
}
inline const ::longbridgeapp::quote::v1::MarketTradePeriod& MarketTradePeriodResponse::market_trade_session(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.MarketTradePeriodResponse.market_trade_session)
  return _internal_market_trade_session(index);
}
inline ::longbridgeapp::quote::v1::MarketTradePeriod* MarketTradePeriodResponse::_internal_add_market_trade_session() {
  return market_trade_session_.Add();
}
inline ::longbridgeapp::quote::v1::MarketTradePeriod* MarketTradePeriodResponse::add_market_trade_session() {
  ::longbridgeapp::quote::v1::MarketTradePeriod* _add = _internal_add_market_trade_session();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.MarketTradePeriodResponse.market_trade_session)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::MarketTradePeriod >&
MarketTradePeriodResponse::market_trade_session() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.MarketTradePeriodResponse.market_trade_session)
  return market_trade_session_;
}

// -------------------------------------------------------------------

// MarketTradePeriod

// string market = 1 [json_name = "market"];
inline void MarketTradePeriod::clear_market() {
  market_.ClearToEmpty();
}
inline const std::string& MarketTradePeriod::market() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.MarketTradePeriod.market)
  return _internal_market();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void MarketTradePeriod::set_market(ArgT0&& arg0, ArgT... args) {
 
 market_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.MarketTradePeriod.market)
}
inline std::string* MarketTradePeriod::mutable_market() {
  std::string* _s = _internal_mutable_market();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.MarketTradePeriod.market)
  return _s;
}
inline const std::string& MarketTradePeriod::_internal_market() const {
  return market_.Get();
}
inline void MarketTradePeriod::_internal_set_market(const std::string& value) {
  
  market_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* MarketTradePeriod::_internal_mutable_market() {
  
  return market_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* MarketTradePeriod::release_market() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.MarketTradePeriod.market)
  return market_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void MarketTradePeriod::set_allocated_market(std::string* market) {
  if (market != nullptr) {
    
  } else {
    
  }
  market_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), market,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (market_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    market_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.MarketTradePeriod.market)
}

// repeated .longbridgeapp.quote.v1.TradePeriod trade_session = 2 [json_name = "tradeSession"];
inline int MarketTradePeriod::_internal_trade_session_size() const {
  return trade_session_.size();
}
inline int MarketTradePeriod::trade_session_size() const {
  return _internal_trade_session_size();
}
inline void MarketTradePeriod::clear_trade_session() {
  trade_session_.Clear();
}
inline ::longbridgeapp::quote::v1::TradePeriod* MarketTradePeriod::mutable_trade_session(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.MarketTradePeriod.trade_session)
  return trade_session_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::TradePeriod >*
MarketTradePeriod::mutable_trade_session() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.MarketTradePeriod.trade_session)
  return &trade_session_;
}
inline const ::longbridgeapp::quote::v1::TradePeriod& MarketTradePeriod::_internal_trade_session(int index) const {
  return trade_session_.Get(index);
}
inline const ::longbridgeapp::quote::v1::TradePeriod& MarketTradePeriod::trade_session(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.MarketTradePeriod.trade_session)
  return _internal_trade_session(index);
}
inline ::longbridgeapp::quote::v1::TradePeriod* MarketTradePeriod::_internal_add_trade_session() {
  return trade_session_.Add();
}
inline ::longbridgeapp::quote::v1::TradePeriod* MarketTradePeriod::add_trade_session() {
  ::longbridgeapp::quote::v1::TradePeriod* _add = _internal_add_trade_session();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.MarketTradePeriod.trade_session)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::TradePeriod >&
MarketTradePeriod::trade_session() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.MarketTradePeriod.trade_session)
  return trade_session_;
}

// -------------------------------------------------------------------

// TradePeriod

// int32 beg_time = 1 [json_name = "begTime"];
inline void TradePeriod::clear_beg_time() {
  beg_time_ = 0;
}
inline int32_t TradePeriod::_internal_beg_time() const {
  return beg_time_;
}
inline int32_t TradePeriod::beg_time() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.TradePeriod.beg_time)
  return _internal_beg_time();
}
inline void TradePeriod::_internal_set_beg_time(int32_t value) {
  
  beg_time_ = value;
}
inline void TradePeriod::set_beg_time(int32_t value) {
  _internal_set_beg_time(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.TradePeriod.beg_time)
}

// int32 end_time = 2 [json_name = "endTime"];
inline void TradePeriod::clear_end_time() {
  end_time_ = 0;
}
inline int32_t TradePeriod::_internal_end_time() const {
  return end_time_;
}
inline int32_t TradePeriod::end_time() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.TradePeriod.end_time)
  return _internal_end_time();
}
inline void TradePeriod::_internal_set_end_time(int32_t value) {
  
  end_time_ = value;
}
inline void TradePeriod::set_end_time(int32_t value) {
  _internal_set_end_time(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.TradePeriod.end_time)
}

// .longbridgeapp.quote.v1.TradeSession trade_session = 3 [json_name = "tradeSession"];
inline void TradePeriod::clear_trade_session() {
  trade_session_ = 0;
}
inline ::longbridgeapp::quote::v1::TradeSession TradePeriod::_internal_trade_session() const {
  return static_cast< ::longbridgeapp::quote::v1::TradeSession >(trade_session_);
}
inline ::longbridgeapp::quote::v1::TradeSession TradePeriod::trade_session() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.TradePeriod.trade_session)
  return _internal_trade_session();
}
inline void TradePeriod::_internal_set_trade_session(::longbridgeapp::quote::v1::TradeSession value) {
  
  trade_session_ = value;
}
inline void TradePeriod::set_trade_session(::longbridgeapp::quote::v1::TradeSession value) {
  _internal_set_trade_session(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.TradePeriod.trade_session)
}

// -------------------------------------------------------------------

// SubscriptionRequest

// -------------------------------------------------------------------

// SubscriptionResponse

// repeated .longbridgeapp.quote.v1.SubTypeList sub_list = 1 [json_name = "subList"];
inline int SubscriptionResponse::_internal_sub_list_size() const {
  return sub_list_.size();
}
inline int SubscriptionResponse::sub_list_size() const {
  return _internal_sub_list_size();
}
inline void SubscriptionResponse::clear_sub_list() {
  sub_list_.Clear();
}
inline ::longbridgeapp::quote::v1::SubTypeList* SubscriptionResponse::mutable_sub_list(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SubscriptionResponse.sub_list)
  return sub_list_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::SubTypeList >*
SubscriptionResponse::mutable_sub_list() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.SubscriptionResponse.sub_list)
  return &sub_list_;
}
inline const ::longbridgeapp::quote::v1::SubTypeList& SubscriptionResponse::_internal_sub_list(int index) const {
  return sub_list_.Get(index);
}
inline const ::longbridgeapp::quote::v1::SubTypeList& SubscriptionResponse::sub_list(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SubscriptionResponse.sub_list)
  return _internal_sub_list(index);
}
inline ::longbridgeapp::quote::v1::SubTypeList* SubscriptionResponse::_internal_add_sub_list() {
  return sub_list_.Add();
}
inline ::longbridgeapp::quote::v1::SubTypeList* SubscriptionResponse::add_sub_list() {
  ::longbridgeapp::quote::v1::SubTypeList* _add = _internal_add_sub_list();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.SubscriptionResponse.sub_list)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::SubTypeList >&
SubscriptionResponse::sub_list() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.SubscriptionResponse.sub_list)
  return sub_list_;
}

// -------------------------------------------------------------------

// SubTypeList

// string symbol = 1 [json_name = "symbol"];
inline void SubTypeList::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& SubTypeList::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SubTypeList.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SubTypeList::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SubTypeList.symbol)
}
inline std::string* SubTypeList::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SubTypeList.symbol)
  return _s;
}
inline const std::string& SubTypeList::_internal_symbol() const {
  return symbol_.Get();
}
inline void SubTypeList::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* SubTypeList::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* SubTypeList::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.SubTypeList.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void SubTypeList::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.SubTypeList.symbol)
}

// repeated .longbridgeapp.quote.v1.SubType sub_type = 2 [json_name = "subType"];
inline int SubTypeList::_internal_sub_type_size() const {
  return sub_type_.size();
}
inline int SubTypeList::sub_type_size() const {
  return _internal_sub_type_size();
}
inline void SubTypeList::clear_sub_type() {
  sub_type_.Clear();
}
inline ::longbridgeapp::quote::v1::SubType SubTypeList::_internal_sub_type(int index) const {
  return static_cast< ::longbridgeapp::quote::v1::SubType >(sub_type_.Get(index));
}
inline ::longbridgeapp::quote::v1::SubType SubTypeList::sub_type(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SubTypeList.sub_type)
  return _internal_sub_type(index);
}
inline void SubTypeList::set_sub_type(int index, ::longbridgeapp::quote::v1::SubType value) {
  sub_type_.Set(index, value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SubTypeList.sub_type)
}
inline void SubTypeList::_internal_add_sub_type(::longbridgeapp::quote::v1::SubType value) {
  sub_type_.Add(value);
}
inline void SubTypeList::add_sub_type(::longbridgeapp::quote::v1::SubType value) {
  _internal_add_sub_type(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.SubTypeList.sub_type)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
SubTypeList::sub_type() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.SubTypeList.sub_type)
  return sub_type_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
SubTypeList::_internal_mutable_sub_type() {
  return &sub_type_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
SubTypeList::mutable_sub_type() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.SubTypeList.sub_type)
  return _internal_mutable_sub_type();
}

// -------------------------------------------------------------------

// SubscribeRequest

// repeated string symbol = 1 [json_name = "symbol"];
inline int SubscribeRequest::_internal_symbol_size() const {
  return symbol_.size();
}
inline int SubscribeRequest::symbol_size() const {
  return _internal_symbol_size();
}
inline void SubscribeRequest::clear_symbol() {
  symbol_.Clear();
}
inline std::string* SubscribeRequest::add_symbol() {
  std::string* _s = _internal_add_symbol();
  // @@protoc_insertion_point(field_add_mutable:longbridgeapp.quote.v1.SubscribeRequest.symbol)
  return _s;
}
inline const std::string& SubscribeRequest::_internal_symbol(int index) const {
  return symbol_.Get(index);
}
inline const std::string& SubscribeRequest::symbol(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SubscribeRequest.symbol)
  return _internal_symbol(index);
}
inline std::string* SubscribeRequest::mutable_symbol(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.SubscribeRequest.symbol)
  return symbol_.Mutable(index);
}
inline void SubscribeRequest::set_symbol(int index, const std::string& value) {
  symbol_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SubscribeRequest.symbol)
}
inline void SubscribeRequest::set_symbol(int index, std::string&& value) {
  symbol_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SubscribeRequest.symbol)
}
inline void SubscribeRequest::set_symbol(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  symbol_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:longbridgeapp.quote.v1.SubscribeRequest.symbol)
}
inline void SubscribeRequest::set_symbol(int index, const char* value, size_t size) {
  symbol_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:longbridgeapp.quote.v1.SubscribeRequest.symbol)
}
inline std::string* SubscribeRequest::_internal_add_symbol() {
  return symbol_.Add();
}
inline void SubscribeRequest::add_symbol(const std::string& value) {
  symbol_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.SubscribeRequest.symbol)
}
inline void SubscribeRequest::add_symbol(std::string&& value) {
  symbol_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.SubscribeRequest.symbol)
}
inline void SubscribeRequest::add_symbol(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  symbol_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:longbridgeapp.quote.v1.SubscribeRequest.symbol)
}
inline void SubscribeRequest::add_symbol(const char* value, size_t size) {
  symbol_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:longbridgeapp.quote.v1.SubscribeRequest.symbol)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
SubscribeRequest::symbol() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.SubscribeRequest.symbol)
  return symbol_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
SubscribeRequest::mutable_symbol() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.SubscribeRequest.symbol)
  return &symbol_;
}

// repeated .longbridgeapp.quote.v1.SubType sub_type = 2 [json_name = "subType"];
inline int SubscribeRequest::_internal_sub_type_size() const {
  return sub_type_.size();
}
inline int SubscribeRequest::sub_type_size() const {
  return _internal_sub_type_size();
}
inline void SubscribeRequest::clear_sub_type() {
  sub_type_.Clear();
}
inline ::longbridgeapp::quote::v1::SubType SubscribeRequest::_internal_sub_type(int index) const {
  return static_cast< ::longbridgeapp::quote::v1::SubType >(sub_type_.Get(index));
}
inline ::longbridgeapp::quote::v1::SubType SubscribeRequest::sub_type(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SubscribeRequest.sub_type)
  return _internal_sub_type(index);
}
inline void SubscribeRequest::set_sub_type(int index, ::longbridgeapp::quote::v1::SubType value) {
  sub_type_.Set(index, value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SubscribeRequest.sub_type)
}
inline void SubscribeRequest::_internal_add_sub_type(::longbridgeapp::quote::v1::SubType value) {
  sub_type_.Add(value);
}
inline void SubscribeRequest::add_sub_type(::longbridgeapp::quote::v1::SubType value) {
  _internal_add_sub_type(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.SubscribeRequest.sub_type)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
SubscribeRequest::sub_type() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.SubscribeRequest.sub_type)
  return sub_type_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
SubscribeRequest::_internal_mutable_sub_type() {
  return &sub_type_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
SubscribeRequest::mutable_sub_type() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.SubscribeRequest.sub_type)
  return _internal_mutable_sub_type();
}

// bool is_first_push = 3 [json_name = "isFirstPush"];
inline void SubscribeRequest::clear_is_first_push() {
  is_first_push_ = false;
}
inline bool SubscribeRequest::_internal_is_first_push() const {
  return is_first_push_;
}
inline bool SubscribeRequest::is_first_push() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.SubscribeRequest.is_first_push)
  return _internal_is_first_push();
}
inline void SubscribeRequest::_internal_set_is_first_push(bool value) {
  
  is_first_push_ = value;
}
inline void SubscribeRequest::set_is_first_push(bool value) {
  _internal_set_is_first_push(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.SubscribeRequest.is_first_push)
}

// -------------------------------------------------------------------

// UnsubscribeRequest

// repeated string symbol = 1 [json_name = "symbol"];
inline int UnsubscribeRequest::_internal_symbol_size() const {
  return symbol_.size();
}
inline int UnsubscribeRequest::symbol_size() const {
  return _internal_symbol_size();
}
inline void UnsubscribeRequest::clear_symbol() {
  symbol_.Clear();
}
inline std::string* UnsubscribeRequest::add_symbol() {
  std::string* _s = _internal_add_symbol();
  // @@protoc_insertion_point(field_add_mutable:longbridgeapp.quote.v1.UnsubscribeRequest.symbol)
  return _s;
}
inline const std::string& UnsubscribeRequest::_internal_symbol(int index) const {
  return symbol_.Get(index);
}
inline const std::string& UnsubscribeRequest::symbol(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.UnsubscribeRequest.symbol)
  return _internal_symbol(index);
}
inline std::string* UnsubscribeRequest::mutable_symbol(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.UnsubscribeRequest.symbol)
  return symbol_.Mutable(index);
}
inline void UnsubscribeRequest::set_symbol(int index, const std::string& value) {
  symbol_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.UnsubscribeRequest.symbol)
}
inline void UnsubscribeRequest::set_symbol(int index, std::string&& value) {
  symbol_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.UnsubscribeRequest.symbol)
}
inline void UnsubscribeRequest::set_symbol(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  symbol_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:longbridgeapp.quote.v1.UnsubscribeRequest.symbol)
}
inline void UnsubscribeRequest::set_symbol(int index, const char* value, size_t size) {
  symbol_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:longbridgeapp.quote.v1.UnsubscribeRequest.symbol)
}
inline std::string* UnsubscribeRequest::_internal_add_symbol() {
  return symbol_.Add();
}
inline void UnsubscribeRequest::add_symbol(const std::string& value) {
  symbol_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.UnsubscribeRequest.symbol)
}
inline void UnsubscribeRequest::add_symbol(std::string&& value) {
  symbol_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.UnsubscribeRequest.symbol)
}
inline void UnsubscribeRequest::add_symbol(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  symbol_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:longbridgeapp.quote.v1.UnsubscribeRequest.symbol)
}
inline void UnsubscribeRequest::add_symbol(const char* value, size_t size) {
  symbol_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:longbridgeapp.quote.v1.UnsubscribeRequest.symbol)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
UnsubscribeRequest::symbol() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.UnsubscribeRequest.symbol)
  return symbol_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
UnsubscribeRequest::mutable_symbol() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.UnsubscribeRequest.symbol)
  return &symbol_;
}

// repeated .longbridgeapp.quote.v1.SubType sub_type = 2 [json_name = "subType"];
inline int UnsubscribeRequest::_internal_sub_type_size() const {
  return sub_type_.size();
}
inline int UnsubscribeRequest::sub_type_size() const {
  return _internal_sub_type_size();
}
inline void UnsubscribeRequest::clear_sub_type() {
  sub_type_.Clear();
}
inline ::longbridgeapp::quote::v1::SubType UnsubscribeRequest::_internal_sub_type(int index) const {
  return static_cast< ::longbridgeapp::quote::v1::SubType >(sub_type_.Get(index));
}
inline ::longbridgeapp::quote::v1::SubType UnsubscribeRequest::sub_type(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.UnsubscribeRequest.sub_type)
  return _internal_sub_type(index);
}
inline void UnsubscribeRequest::set_sub_type(int index, ::longbridgeapp::quote::v1::SubType value) {
  sub_type_.Set(index, value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.UnsubscribeRequest.sub_type)
}
inline void UnsubscribeRequest::_internal_add_sub_type(::longbridgeapp::quote::v1::SubType value) {
  sub_type_.Add(value);
}
inline void UnsubscribeRequest::add_sub_type(::longbridgeapp::quote::v1::SubType value) {
  _internal_add_sub_type(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.UnsubscribeRequest.sub_type)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
UnsubscribeRequest::sub_type() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.UnsubscribeRequest.sub_type)
  return sub_type_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
UnsubscribeRequest::_internal_mutable_sub_type() {
  return &sub_type_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
UnsubscribeRequest::mutable_sub_type() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.UnsubscribeRequest.sub_type)
  return _internal_mutable_sub_type();
}

// bool unsub_all = 3 [json_name = "unsubAll"];
inline void UnsubscribeRequest::clear_unsub_all() {
  unsub_all_ = false;
}
inline bool UnsubscribeRequest::_internal_unsub_all() const {
  return unsub_all_;
}
inline bool UnsubscribeRequest::unsub_all() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.UnsubscribeRequest.unsub_all)
  return _internal_unsub_all();
}
inline void UnsubscribeRequest::_internal_set_unsub_all(bool value) {
  
  unsub_all_ = value;
}
inline void UnsubscribeRequest::set_unsub_all(bool value) {
  _internal_set_unsub_all(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.UnsubscribeRequest.unsub_all)
}

// -------------------------------------------------------------------

// UnsubscribeResponse

// -------------------------------------------------------------------

// PushQuote

// string symbol = 1 [json_name = "symbol"];
inline void PushQuote::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& PushQuote::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushQuote.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void PushQuote::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushQuote.symbol)
}
inline std::string* PushQuote::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PushQuote.symbol)
  return _s;
}
inline const std::string& PushQuote::_internal_symbol() const {
  return symbol_.Get();
}
inline void PushQuote::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* PushQuote::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* PushQuote::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.PushQuote.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void PushQuote::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.PushQuote.symbol)
}

// int64 sequence = 2 [json_name = "sequence"];
inline void PushQuote::clear_sequence() {
  sequence_ = int64_t{0};
}
inline int64_t PushQuote::_internal_sequence() const {
  return sequence_;
}
inline int64_t PushQuote::sequence() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushQuote.sequence)
  return _internal_sequence();
}
inline void PushQuote::_internal_set_sequence(int64_t value) {
  
  sequence_ = value;
}
inline void PushQuote::set_sequence(int64_t value) {
  _internal_set_sequence(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushQuote.sequence)
}

// string last_done = 3 [json_name = "lastDone"];
inline void PushQuote::clear_last_done() {
  last_done_.ClearToEmpty();
}
inline const std::string& PushQuote::last_done() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushQuote.last_done)
  return _internal_last_done();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void PushQuote::set_last_done(ArgT0&& arg0, ArgT... args) {
 
 last_done_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushQuote.last_done)
}
inline std::string* PushQuote::mutable_last_done() {
  std::string* _s = _internal_mutable_last_done();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PushQuote.last_done)
  return _s;
}
inline const std::string& PushQuote::_internal_last_done() const {
  return last_done_.Get();
}
inline void PushQuote::_internal_set_last_done(const std::string& value) {
  
  last_done_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* PushQuote::_internal_mutable_last_done() {
  
  return last_done_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* PushQuote::release_last_done() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.PushQuote.last_done)
  return last_done_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void PushQuote::set_allocated_last_done(std::string* last_done) {
  if (last_done != nullptr) {
    
  } else {
    
  }
  last_done_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), last_done,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (last_done_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    last_done_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.PushQuote.last_done)
}

// string open = 4 [json_name = "open"];
inline void PushQuote::clear_open() {
  open_.ClearToEmpty();
}
inline const std::string& PushQuote::open() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushQuote.open)
  return _internal_open();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void PushQuote::set_open(ArgT0&& arg0, ArgT... args) {
 
 open_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushQuote.open)
}
inline std::string* PushQuote::mutable_open() {
  std::string* _s = _internal_mutable_open();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PushQuote.open)
  return _s;
}
inline const std::string& PushQuote::_internal_open() const {
  return open_.Get();
}
inline void PushQuote::_internal_set_open(const std::string& value) {
  
  open_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* PushQuote::_internal_mutable_open() {
  
  return open_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* PushQuote::release_open() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.PushQuote.open)
  return open_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void PushQuote::set_allocated_open(std::string* open) {
  if (open != nullptr) {
    
  } else {
    
  }
  open_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), open,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (open_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    open_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.PushQuote.open)
}

// string high = 5 [json_name = "high"];
inline void PushQuote::clear_high() {
  high_.ClearToEmpty();
}
inline const std::string& PushQuote::high() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushQuote.high)
  return _internal_high();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void PushQuote::set_high(ArgT0&& arg0, ArgT... args) {
 
 high_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushQuote.high)
}
inline std::string* PushQuote::mutable_high() {
  std::string* _s = _internal_mutable_high();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PushQuote.high)
  return _s;
}
inline const std::string& PushQuote::_internal_high() const {
  return high_.Get();
}
inline void PushQuote::_internal_set_high(const std::string& value) {
  
  high_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* PushQuote::_internal_mutable_high() {
  
  return high_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* PushQuote::release_high() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.PushQuote.high)
  return high_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void PushQuote::set_allocated_high(std::string* high) {
  if (high != nullptr) {
    
  } else {
    
  }
  high_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), high,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (high_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    high_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.PushQuote.high)
}

// string low = 6 [json_name = "low"];
inline void PushQuote::clear_low() {
  low_.ClearToEmpty();
}
inline const std::string& PushQuote::low() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushQuote.low)
  return _internal_low();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void PushQuote::set_low(ArgT0&& arg0, ArgT... args) {
 
 low_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushQuote.low)
}
inline std::string* PushQuote::mutable_low() {
  std::string* _s = _internal_mutable_low();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PushQuote.low)
  return _s;
}
inline const std::string& PushQuote::_internal_low() const {
  return low_.Get();
}
inline void PushQuote::_internal_set_low(const std::string& value) {
  
  low_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* PushQuote::_internal_mutable_low() {
  
  return low_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* PushQuote::release_low() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.PushQuote.low)
  return low_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void PushQuote::set_allocated_low(std::string* low) {
  if (low != nullptr) {
    
  } else {
    
  }
  low_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), low,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (low_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    low_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.PushQuote.low)
}

// int64 timestamp = 7 [json_name = "timestamp"];
inline void PushQuote::clear_timestamp() {
  timestamp_ = int64_t{0};
}
inline int64_t PushQuote::_internal_timestamp() const {
  return timestamp_;
}
inline int64_t PushQuote::timestamp() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushQuote.timestamp)
  return _internal_timestamp();
}
inline void PushQuote::_internal_set_timestamp(int64_t value) {
  
  timestamp_ = value;
}
inline void PushQuote::set_timestamp(int64_t value) {
  _internal_set_timestamp(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushQuote.timestamp)
}

// int64 volume = 8 [json_name = "volume"];
inline void PushQuote::clear_volume() {
  volume_ = int64_t{0};
}
inline int64_t PushQuote::_internal_volume() const {
  return volume_;
}
inline int64_t PushQuote::volume() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushQuote.volume)
  return _internal_volume();
}
inline void PushQuote::_internal_set_volume(int64_t value) {
  
  volume_ = value;
}
inline void PushQuote::set_volume(int64_t value) {
  _internal_set_volume(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushQuote.volume)
}

// string turnover = 9 [json_name = "turnover"];
inline void PushQuote::clear_turnover() {
  turnover_.ClearToEmpty();
}
inline const std::string& PushQuote::turnover() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushQuote.turnover)
  return _internal_turnover();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void PushQuote::set_turnover(ArgT0&& arg0, ArgT... args) {
 
 turnover_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushQuote.turnover)
}
inline std::string* PushQuote::mutable_turnover() {
  std::string* _s = _internal_mutable_turnover();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PushQuote.turnover)
  return _s;
}
inline const std::string& PushQuote::_internal_turnover() const {
  return turnover_.Get();
}
inline void PushQuote::_internal_set_turnover(const std::string& value) {
  
  turnover_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* PushQuote::_internal_mutable_turnover() {
  
  return turnover_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* PushQuote::release_turnover() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.PushQuote.turnover)
  return turnover_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void PushQuote::set_allocated_turnover(std::string* turnover) {
  if (turnover != nullptr) {
    
  } else {
    
  }
  turnover_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), turnover,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (turnover_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    turnover_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.PushQuote.turnover)
}

// .longbridgeapp.quote.v1.TradeStatus trade_status = 10 [json_name = "tradeStatus"];
inline void PushQuote::clear_trade_status() {
  trade_status_ = 0;
}
inline ::longbridgeapp::quote::v1::TradeStatus PushQuote::_internal_trade_status() const {
  return static_cast< ::longbridgeapp::quote::v1::TradeStatus >(trade_status_);
}
inline ::longbridgeapp::quote::v1::TradeStatus PushQuote::trade_status() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushQuote.trade_status)
  return _internal_trade_status();
}
inline void PushQuote::_internal_set_trade_status(::longbridgeapp::quote::v1::TradeStatus value) {
  
  trade_status_ = value;
}
inline void PushQuote::set_trade_status(::longbridgeapp::quote::v1::TradeStatus value) {
  _internal_set_trade_status(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushQuote.trade_status)
}

// .longbridgeapp.quote.v1.TradeSession trade_session = 11 [json_name = "tradeSession"];
inline void PushQuote::clear_trade_session() {
  trade_session_ = 0;
}
inline ::longbridgeapp::quote::v1::TradeSession PushQuote::_internal_trade_session() const {
  return static_cast< ::longbridgeapp::quote::v1::TradeSession >(trade_session_);
}
inline ::longbridgeapp::quote::v1::TradeSession PushQuote::trade_session() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushQuote.trade_session)
  return _internal_trade_session();
}
inline void PushQuote::_internal_set_trade_session(::longbridgeapp::quote::v1::TradeSession value) {
  
  trade_session_ = value;
}
inline void PushQuote::set_trade_session(::longbridgeapp::quote::v1::TradeSession value) {
  _internal_set_trade_session(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushQuote.trade_session)
}

// -------------------------------------------------------------------

// PushDepth

// string symbol = 1 [json_name = "symbol"];
inline void PushDepth::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& PushDepth::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushDepth.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void PushDepth::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushDepth.symbol)
}
inline std::string* PushDepth::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PushDepth.symbol)
  return _s;
}
inline const std::string& PushDepth::_internal_symbol() const {
  return symbol_.Get();
}
inline void PushDepth::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* PushDepth::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* PushDepth::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.PushDepth.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void PushDepth::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.PushDepth.symbol)
}

// int64 sequence = 2 [json_name = "sequence"];
inline void PushDepth::clear_sequence() {
  sequence_ = int64_t{0};
}
inline int64_t PushDepth::_internal_sequence() const {
  return sequence_;
}
inline int64_t PushDepth::sequence() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushDepth.sequence)
  return _internal_sequence();
}
inline void PushDepth::_internal_set_sequence(int64_t value) {
  
  sequence_ = value;
}
inline void PushDepth::set_sequence(int64_t value) {
  _internal_set_sequence(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushDepth.sequence)
}

// repeated .longbridgeapp.quote.v1.Depth ask = 3 [json_name = "ask"];
inline int PushDepth::_internal_ask_size() const {
  return ask_.size();
}
inline int PushDepth::ask_size() const {
  return _internal_ask_size();
}
inline void PushDepth::clear_ask() {
  ask_.Clear();
}
inline ::longbridgeapp::quote::v1::Depth* PushDepth::mutable_ask(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PushDepth.ask)
  return ask_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth >*
PushDepth::mutable_ask() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.PushDepth.ask)
  return &ask_;
}
inline const ::longbridgeapp::quote::v1::Depth& PushDepth::_internal_ask(int index) const {
  return ask_.Get(index);
}
inline const ::longbridgeapp::quote::v1::Depth& PushDepth::ask(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushDepth.ask)
  return _internal_ask(index);
}
inline ::longbridgeapp::quote::v1::Depth* PushDepth::_internal_add_ask() {
  return ask_.Add();
}
inline ::longbridgeapp::quote::v1::Depth* PushDepth::add_ask() {
  ::longbridgeapp::quote::v1::Depth* _add = _internal_add_ask();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.PushDepth.ask)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth >&
PushDepth::ask() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.PushDepth.ask)
  return ask_;
}

// repeated .longbridgeapp.quote.v1.Depth bid = 4 [json_name = "bid"];
inline int PushDepth::_internal_bid_size() const {
  return bid_.size();
}
inline int PushDepth::bid_size() const {
  return _internal_bid_size();
}
inline void PushDepth::clear_bid() {
  bid_.Clear();
}
inline ::longbridgeapp::quote::v1::Depth* PushDepth::mutable_bid(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PushDepth.bid)
  return bid_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth >*
PushDepth::mutable_bid() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.PushDepth.bid)
  return &bid_;
}
inline const ::longbridgeapp::quote::v1::Depth& PushDepth::_internal_bid(int index) const {
  return bid_.Get(index);
}
inline const ::longbridgeapp::quote::v1::Depth& PushDepth::bid(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushDepth.bid)
  return _internal_bid(index);
}
inline ::longbridgeapp::quote::v1::Depth* PushDepth::_internal_add_bid() {
  return bid_.Add();
}
inline ::longbridgeapp::quote::v1::Depth* PushDepth::add_bid() {
  ::longbridgeapp::quote::v1::Depth* _add = _internal_add_bid();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.PushDepth.bid)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Depth >&
PushDepth::bid() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.PushDepth.bid)
  return bid_;
}

// -------------------------------------------------------------------

// PushBrokers

// string symbol = 1 [json_name = "symbol"];
inline void PushBrokers::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& PushBrokers::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushBrokers.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void PushBrokers::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushBrokers.symbol)
}
inline std::string* PushBrokers::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PushBrokers.symbol)
  return _s;
}
inline const std::string& PushBrokers::_internal_symbol() const {
  return symbol_.Get();
}
inline void PushBrokers::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* PushBrokers::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* PushBrokers::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.PushBrokers.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void PushBrokers::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.PushBrokers.symbol)
}

// int64 sequence = 2 [json_name = "sequence"];
inline void PushBrokers::clear_sequence() {
  sequence_ = int64_t{0};
}
inline int64_t PushBrokers::_internal_sequence() const {
  return sequence_;
}
inline int64_t PushBrokers::sequence() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushBrokers.sequence)
  return _internal_sequence();
}
inline void PushBrokers::_internal_set_sequence(int64_t value) {
  
  sequence_ = value;
}
inline void PushBrokers::set_sequence(int64_t value) {
  _internal_set_sequence(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushBrokers.sequence)
}

// repeated .longbridgeapp.quote.v1.Brokers ask_brokers = 3 [json_name = "askBrokers"];
inline int PushBrokers::_internal_ask_brokers_size() const {
  return ask_brokers_.size();
}
inline int PushBrokers::ask_brokers_size() const {
  return _internal_ask_brokers_size();
}
inline void PushBrokers::clear_ask_brokers() {
  ask_brokers_.Clear();
}
inline ::longbridgeapp::quote::v1::Brokers* PushBrokers::mutable_ask_brokers(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PushBrokers.ask_brokers)
  return ask_brokers_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers >*
PushBrokers::mutable_ask_brokers() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.PushBrokers.ask_brokers)
  return &ask_brokers_;
}
inline const ::longbridgeapp::quote::v1::Brokers& PushBrokers::_internal_ask_brokers(int index) const {
  return ask_brokers_.Get(index);
}
inline const ::longbridgeapp::quote::v1::Brokers& PushBrokers::ask_brokers(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushBrokers.ask_brokers)
  return _internal_ask_brokers(index);
}
inline ::longbridgeapp::quote::v1::Brokers* PushBrokers::_internal_add_ask_brokers() {
  return ask_brokers_.Add();
}
inline ::longbridgeapp::quote::v1::Brokers* PushBrokers::add_ask_brokers() {
  ::longbridgeapp::quote::v1::Brokers* _add = _internal_add_ask_brokers();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.PushBrokers.ask_brokers)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers >&
PushBrokers::ask_brokers() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.PushBrokers.ask_brokers)
  return ask_brokers_;
}

// repeated .longbridgeapp.quote.v1.Brokers bid_brokers = 4 [json_name = "bidBrokers"];
inline int PushBrokers::_internal_bid_brokers_size() const {
  return bid_brokers_.size();
}
inline int PushBrokers::bid_brokers_size() const {
  return _internal_bid_brokers_size();
}
inline void PushBrokers::clear_bid_brokers() {
  bid_brokers_.Clear();
}
inline ::longbridgeapp::quote::v1::Brokers* PushBrokers::mutable_bid_brokers(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PushBrokers.bid_brokers)
  return bid_brokers_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers >*
PushBrokers::mutable_bid_brokers() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.PushBrokers.bid_brokers)
  return &bid_brokers_;
}
inline const ::longbridgeapp::quote::v1::Brokers& PushBrokers::_internal_bid_brokers(int index) const {
  return bid_brokers_.Get(index);
}
inline const ::longbridgeapp::quote::v1::Brokers& PushBrokers::bid_brokers(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushBrokers.bid_brokers)
  return _internal_bid_brokers(index);
}
inline ::longbridgeapp::quote::v1::Brokers* PushBrokers::_internal_add_bid_brokers() {
  return bid_brokers_.Add();
}
inline ::longbridgeapp::quote::v1::Brokers* PushBrokers::add_bid_brokers() {
  ::longbridgeapp::quote::v1::Brokers* _add = _internal_add_bid_brokers();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.PushBrokers.bid_brokers)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Brokers >&
PushBrokers::bid_brokers() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.PushBrokers.bid_brokers)
  return bid_brokers_;
}

// -------------------------------------------------------------------

// PushTrade

// string symbol = 1 [json_name = "symbol"];
inline void PushTrade::clear_symbol() {
  symbol_.ClearToEmpty();
}
inline const std::string& PushTrade::symbol() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushTrade.symbol)
  return _internal_symbol();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void PushTrade::set_symbol(ArgT0&& arg0, ArgT... args) {
 
 symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushTrade.symbol)
}
inline std::string* PushTrade::mutable_symbol() {
  std::string* _s = _internal_mutable_symbol();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PushTrade.symbol)
  return _s;
}
inline const std::string& PushTrade::_internal_symbol() const {
  return symbol_.Get();
}
inline void PushTrade::_internal_set_symbol(const std::string& value) {
  
  symbol_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* PushTrade::_internal_mutable_symbol() {
  
  return symbol_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* PushTrade::release_symbol() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.PushTrade.symbol)
  return symbol_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void PushTrade::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (symbol_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    symbol_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.PushTrade.symbol)
}

// int64 sequence = 2 [json_name = "sequence"];
inline void PushTrade::clear_sequence() {
  sequence_ = int64_t{0};
}
inline int64_t PushTrade::_internal_sequence() const {
  return sequence_;
}
inline int64_t PushTrade::sequence() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushTrade.sequence)
  return _internal_sequence();
}
inline void PushTrade::_internal_set_sequence(int64_t value) {
  
  sequence_ = value;
}
inline void PushTrade::set_sequence(int64_t value) {
  _internal_set_sequence(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.PushTrade.sequence)
}

// repeated .longbridgeapp.quote.v1.Trade trade = 3 [json_name = "trade"];
inline int PushTrade::_internal_trade_size() const {
  return trade_.size();
}
inline int PushTrade::trade_size() const {
  return _internal_trade_size();
}
inline void PushTrade::clear_trade() {
  trade_.Clear();
}
inline ::longbridgeapp::quote::v1::Trade* PushTrade::mutable_trade(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.PushTrade.trade)
  return trade_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Trade >*
PushTrade::mutable_trade() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.PushTrade.trade)
  return &trade_;
}
inline const ::longbridgeapp::quote::v1::Trade& PushTrade::_internal_trade(int index) const {
  return trade_.Get(index);
}
inline const ::longbridgeapp::quote::v1::Trade& PushTrade::trade(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.PushTrade.trade)
  return _internal_trade(index);
}
inline ::longbridgeapp::quote::v1::Trade* PushTrade::_internal_add_trade() {
  return trade_.Add();
}
inline ::longbridgeapp::quote::v1::Trade* PushTrade::add_trade() {
  ::longbridgeapp::quote::v1::Trade* _add = _internal_add_trade();
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.PushTrade.trade)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::longbridgeapp::quote::v1::Trade >&
PushTrade::trade() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.PushTrade.trade)
  return trade_;
}

// -------------------------------------------------------------------

// MarketTradeDayRequest

// string market = 1 [json_name = "market"];
inline void MarketTradeDayRequest::clear_market() {
  market_.ClearToEmpty();
}
inline const std::string& MarketTradeDayRequest::market() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.MarketTradeDayRequest.market)
  return _internal_market();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void MarketTradeDayRequest::set_market(ArgT0&& arg0, ArgT... args) {
 
 market_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.MarketTradeDayRequest.market)
}
inline std::string* MarketTradeDayRequest::mutable_market() {
  std::string* _s = _internal_mutable_market();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.MarketTradeDayRequest.market)
  return _s;
}
inline const std::string& MarketTradeDayRequest::_internal_market() const {
  return market_.Get();
}
inline void MarketTradeDayRequest::_internal_set_market(const std::string& value) {
  
  market_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* MarketTradeDayRequest::_internal_mutable_market() {
  
  return market_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* MarketTradeDayRequest::release_market() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.MarketTradeDayRequest.market)
  return market_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void MarketTradeDayRequest::set_allocated_market(std::string* market) {
  if (market != nullptr) {
    
  } else {
    
  }
  market_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), market,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (market_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    market_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.MarketTradeDayRequest.market)
}

// string beg_day = 2 [json_name = "begDay"];
inline void MarketTradeDayRequest::clear_beg_day() {
  beg_day_.ClearToEmpty();
}
inline const std::string& MarketTradeDayRequest::beg_day() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.MarketTradeDayRequest.beg_day)
  return _internal_beg_day();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void MarketTradeDayRequest::set_beg_day(ArgT0&& arg0, ArgT... args) {
 
 beg_day_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.MarketTradeDayRequest.beg_day)
}
inline std::string* MarketTradeDayRequest::mutable_beg_day() {
  std::string* _s = _internal_mutable_beg_day();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.MarketTradeDayRequest.beg_day)
  return _s;
}
inline const std::string& MarketTradeDayRequest::_internal_beg_day() const {
  return beg_day_.Get();
}
inline void MarketTradeDayRequest::_internal_set_beg_day(const std::string& value) {
  
  beg_day_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* MarketTradeDayRequest::_internal_mutable_beg_day() {
  
  return beg_day_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* MarketTradeDayRequest::release_beg_day() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.MarketTradeDayRequest.beg_day)
  return beg_day_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void MarketTradeDayRequest::set_allocated_beg_day(std::string* beg_day) {
  if (beg_day != nullptr) {
    
  } else {
    
  }
  beg_day_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), beg_day,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (beg_day_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    beg_day_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.MarketTradeDayRequest.beg_day)
}

// string end_day = 3 [json_name = "endDay"];
inline void MarketTradeDayRequest::clear_end_day() {
  end_day_.ClearToEmpty();
}
inline const std::string& MarketTradeDayRequest::end_day() const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.MarketTradeDayRequest.end_day)
  return _internal_end_day();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void MarketTradeDayRequest::set_end_day(ArgT0&& arg0, ArgT... args) {
 
 end_day_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.MarketTradeDayRequest.end_day)
}
inline std::string* MarketTradeDayRequest::mutable_end_day() {
  std::string* _s = _internal_mutable_end_day();
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.MarketTradeDayRequest.end_day)
  return _s;
}
inline const std::string& MarketTradeDayRequest::_internal_end_day() const {
  return end_day_.Get();
}
inline void MarketTradeDayRequest::_internal_set_end_day(const std::string& value) {
  
  end_day_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* MarketTradeDayRequest::_internal_mutable_end_day() {
  
  return end_day_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* MarketTradeDayRequest::release_end_day() {
  // @@protoc_insertion_point(field_release:longbridgeapp.quote.v1.MarketTradeDayRequest.end_day)
  return end_day_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void MarketTradeDayRequest::set_allocated_end_day(std::string* end_day) {
  if (end_day != nullptr) {
    
  } else {
    
  }
  end_day_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), end_day,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (end_day_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    end_day_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:longbridgeapp.quote.v1.MarketTradeDayRequest.end_day)
}

// -------------------------------------------------------------------

// MarketTradeDayResponse

// repeated string trade_day = 1 [json_name = "tradeDay"];
inline int MarketTradeDayResponse::_internal_trade_day_size() const {
  return trade_day_.size();
}
inline int MarketTradeDayResponse::trade_day_size() const {
  return _internal_trade_day_size();
}
inline void MarketTradeDayResponse::clear_trade_day() {
  trade_day_.Clear();
}
inline std::string* MarketTradeDayResponse::add_trade_day() {
  std::string* _s = _internal_add_trade_day();
  // @@protoc_insertion_point(field_add_mutable:longbridgeapp.quote.v1.MarketTradeDayResponse.trade_day)
  return _s;
}
inline const std::string& MarketTradeDayResponse::_internal_trade_day(int index) const {
  return trade_day_.Get(index);
}
inline const std::string& MarketTradeDayResponse::trade_day(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.MarketTradeDayResponse.trade_day)
  return _internal_trade_day(index);
}
inline std::string* MarketTradeDayResponse::mutable_trade_day(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.MarketTradeDayResponse.trade_day)
  return trade_day_.Mutable(index);
}
inline void MarketTradeDayResponse::set_trade_day(int index, const std::string& value) {
  trade_day_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.MarketTradeDayResponse.trade_day)
}
inline void MarketTradeDayResponse::set_trade_day(int index, std::string&& value) {
  trade_day_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.MarketTradeDayResponse.trade_day)
}
inline void MarketTradeDayResponse::set_trade_day(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  trade_day_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:longbridgeapp.quote.v1.MarketTradeDayResponse.trade_day)
}
inline void MarketTradeDayResponse::set_trade_day(int index, const char* value, size_t size) {
  trade_day_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:longbridgeapp.quote.v1.MarketTradeDayResponse.trade_day)
}
inline std::string* MarketTradeDayResponse::_internal_add_trade_day() {
  return trade_day_.Add();
}
inline void MarketTradeDayResponse::add_trade_day(const std::string& value) {
  trade_day_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.MarketTradeDayResponse.trade_day)
}
inline void MarketTradeDayResponse::add_trade_day(std::string&& value) {
  trade_day_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.MarketTradeDayResponse.trade_day)
}
inline void MarketTradeDayResponse::add_trade_day(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  trade_day_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:longbridgeapp.quote.v1.MarketTradeDayResponse.trade_day)
}
inline void MarketTradeDayResponse::add_trade_day(const char* value, size_t size) {
  trade_day_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:longbridgeapp.quote.v1.MarketTradeDayResponse.trade_day)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
MarketTradeDayResponse::trade_day() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.MarketTradeDayResponse.trade_day)
  return trade_day_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
MarketTradeDayResponse::mutable_trade_day() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.MarketTradeDayResponse.trade_day)
  return &trade_day_;
}

// repeated string half_trade_day = 2 [json_name = "halfTradeDay"];
inline int MarketTradeDayResponse::_internal_half_trade_day_size() const {
  return half_trade_day_.size();
}
inline int MarketTradeDayResponse::half_trade_day_size() const {
  return _internal_half_trade_day_size();
}
inline void MarketTradeDayResponse::clear_half_trade_day() {
  half_trade_day_.Clear();
}
inline std::string* MarketTradeDayResponse::add_half_trade_day() {
  std::string* _s = _internal_add_half_trade_day();
  // @@protoc_insertion_point(field_add_mutable:longbridgeapp.quote.v1.MarketTradeDayResponse.half_trade_day)
  return _s;
}
inline const std::string& MarketTradeDayResponse::_internal_half_trade_day(int index) const {
  return half_trade_day_.Get(index);
}
inline const std::string& MarketTradeDayResponse::half_trade_day(int index) const {
  // @@protoc_insertion_point(field_get:longbridgeapp.quote.v1.MarketTradeDayResponse.half_trade_day)
  return _internal_half_trade_day(index);
}
inline std::string* MarketTradeDayResponse::mutable_half_trade_day(int index) {
  // @@protoc_insertion_point(field_mutable:longbridgeapp.quote.v1.MarketTradeDayResponse.half_trade_day)
  return half_trade_day_.Mutable(index);
}
inline void MarketTradeDayResponse::set_half_trade_day(int index, const std::string& value) {
  half_trade_day_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.MarketTradeDayResponse.half_trade_day)
}
inline void MarketTradeDayResponse::set_half_trade_day(int index, std::string&& value) {
  half_trade_day_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:longbridgeapp.quote.v1.MarketTradeDayResponse.half_trade_day)
}
inline void MarketTradeDayResponse::set_half_trade_day(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  half_trade_day_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:longbridgeapp.quote.v1.MarketTradeDayResponse.half_trade_day)
}
inline void MarketTradeDayResponse::set_half_trade_day(int index, const char* value, size_t size) {
  half_trade_day_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:longbridgeapp.quote.v1.MarketTradeDayResponse.half_trade_day)
}
inline std::string* MarketTradeDayResponse::_internal_add_half_trade_day() {
  return half_trade_day_.Add();
}
inline void MarketTradeDayResponse::add_half_trade_day(const std::string& value) {
  half_trade_day_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.MarketTradeDayResponse.half_trade_day)
}
inline void MarketTradeDayResponse::add_half_trade_day(std::string&& value) {
  half_trade_day_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:longbridgeapp.quote.v1.MarketTradeDayResponse.half_trade_day)
}
inline void MarketTradeDayResponse::add_half_trade_day(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  half_trade_day_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:longbridgeapp.quote.v1.MarketTradeDayResponse.half_trade_day)
}
inline void MarketTradeDayResponse::add_half_trade_day(const char* value, size_t size) {
  half_trade_day_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:longbridgeapp.quote.v1.MarketTradeDayResponse.half_trade_day)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
MarketTradeDayResponse::half_trade_day() const {
  // @@protoc_insertion_point(field_list:longbridgeapp.quote.v1.MarketTradeDayResponse.half_trade_day)
  return half_trade_day_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
MarketTradeDayResponse::mutable_half_trade_day() {
  // @@protoc_insertion_point(field_mutable_list:longbridgeapp.quote.v1.MarketTradeDayResponse.half_trade_day)
  return &half_trade_day_;
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------


// @@protoc_insertion_point(namespace_scope)

}  // namespace v1
}  // namespace quote
}  // namespace longbridgeapp

PROTOBUF_NAMESPACE_OPEN

template <> struct is_proto_enum< ::longbridgeapp::quote::v1::Command> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::longbridgeapp::quote::v1::Command>() {
  return ::longbridgeapp::quote::v1::Command_descriptor();
}
template <> struct is_proto_enum< ::longbridgeapp::quote::v1::TradeStatus> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::longbridgeapp::quote::v1::TradeStatus>() {
  return ::longbridgeapp::quote::v1::TradeStatus_descriptor();
}
template <> struct is_proto_enum< ::longbridgeapp::quote::v1::TradeSession> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::longbridgeapp::quote::v1::TradeSession>() {
  return ::longbridgeapp::quote::v1::TradeSession_descriptor();
}
template <> struct is_proto_enum< ::longbridgeapp::quote::v1::AdjustType> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::longbridgeapp::quote::v1::AdjustType>() {
  return ::longbridgeapp::quote::v1::AdjustType_descriptor();
}
template <> struct is_proto_enum< ::longbridgeapp::quote::v1::Period> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::longbridgeapp::quote::v1::Period>() {
  return ::longbridgeapp::quote::v1::Period_descriptor();
}
template <> struct is_proto_enum< ::longbridgeapp::quote::v1::SubType> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::longbridgeapp::quote::v1::SubType>() {
  return ::longbridgeapp::quote::v1::SubType_descriptor();
}

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_quote_2fapi_2eproto
