# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: twirp/code.justin.tv.revenue.subscriptions/service.proto

require 'google/protobuf'

require 'google/protobuf/timestamp_pb'
Google::Protobuf::DescriptorPool.generated_pool.build do
  add_file("twirp/code.justin.tv.revenue.subscriptions/service.proto", :syntax => :proto3) do
    add_message "code.justin.tv.revenue.subscriptions.EmailPendingPrefixApprovalRequest" do
      optional :user_id, :string, 1
      optional :prefix, :string, 2
      optional :state, :string, 3
      optional :emoticon_set_id, :string, 4
    end
    add_message "code.justin.tv.revenue.subscriptions.EmailPendingPrefixApprovalResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.EmailGlobalEmoteRequest" do
      optional :owner_name, :string, 1
      optional :owner_email, :string, 2
      optional :emote_id, :string, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.EmailGlobalEmoteResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.EmailSubscribersRequest" do
      optional :channel_id, :string, 1
      optional :title, :string, 2
      optional :text, :string, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.EmailSubscribersResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.EmoticonLevel" do
      optional :minimum_score, :int64, 1
      optional :emoticon_limit, :int64, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.SetScoreRequest" do
      optional :channel_id, :string, 1
      optional :subscriber_score, :int64, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.SetScoreResponse" do
      optional :subscriber_score, :int64, 1
      optional :emoticon_limit, :int64, 2
      optional :next_level, :message, 3, "code.justin.tv.revenue.subscriptions.EmoticonLevel"
    end
    add_message "code.justin.tv.revenue.subscriptions.SubscriptionCount" do
      optional :score, :int64, 1
      optional :next_level, :message, 2, "code.justin.tv.revenue.subscriptions.EmoticonLevel"
      map :count_breakdown, :string, :int64, 3
      map :score_breakdown, :string, :int64, 4
      optional :ticket_count, :int64, 5
      optional :emoticon_limit, :int64, 6
    end
    add_message "code.justin.tv.revenue.subscriptions.CalculateSubscriberCountRequest" do
      optional :channel_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.CalculateSubscriberCountResponse" do
      optional :subs_count, :message, 1, "code.justin.tv.revenue.subscriptions.SubscriptionCount"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetUserSettingsRequest" do
      optional :user_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetUserSettingsResponse" do
      optional :gifts_in_followed_channels_only, :bool, 1
      optional :hide_gift_count, :bool, 2
      optional :hide_subscription_status, :bool, 3
      optional :hide_founder_badges, :bool, 4
      optional :hide_badge_modifiers, :bool, 5
    end
    add_message "code.justin.tv.revenue.subscriptions.SetUserSettingsRequest" do
      optional :user_id, :string, 1
      optional :gifts_in_followed_channels_only, :bool, 2
      optional :receive_gifts_in_followed_channels_only, :message, 3, "code.justin.tv.revenue.subscriptions.OptionalBool"
      optional :hide_gift_count, :message, 4, "code.justin.tv.revenue.subscriptions.OptionalBool"
      optional :hide_subscription_status, :message, 5, "code.justin.tv.revenue.subscriptions.OptionalBool"
      optional :hide_founder_badges, :message, 6, "code.justin.tv.revenue.subscriptions.OptionalBool"
      optional :hide_badge_modifiers, :message, 7, "code.justin.tv.revenue.subscriptions.OptionalBool"
    end
    add_message "code.justin.tv.revenue.subscriptions.SetUserSettingsResponse" do
      optional :gifts_in_followed_channels_only, :bool, 1
      optional :hide_gift_count, :bool, 2
      optional :hide_subscription_status, :bool, 3
      optional :hide_founder_badges, :bool, 4
      optional :hide_badge_modifiers, :bool, 5
    end
    add_message "code.justin.tv.revenue.subscriptions.OptionalBool" do
      optional :value, :bool, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetCreatorBadgeFlairSettingRequest" do
      optional :user_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetCreatorBadgeFlairSettingResponse" do
      optional :user_id, :string, 1
      optional :badge_flair_setting, :enum, 2, "code.justin.tv.revenue.subscriptions.BadgeFlairSetting"
    end
    add_message "code.justin.tv.revenue.subscriptions.SetCreatorBadgeFlairSettingRequest" do
      optional :user_id, :string, 1
      optional :badge_flair_setting, :enum, 2, "code.justin.tv.revenue.subscriptions.BadgeFlairSetting"
    end
    add_message "code.justin.tv.revenue.subscriptions.SetCreatorBadgeFlairSettingResponse" do
      optional :user_id, :string, 1
      optional :badge_flair_setting, :enum, 2, "code.justin.tv.revenue.subscriptions.BadgeFlairSetting"
    end
    add_message "code.justin.tv.revenue.subscriptions.Subscription" do
      optional :id, :string, 1
      optional :channel_id, :string, 2
      optional :owner_id, :string, 3
      optional :product_id, :string, 4
      optional :origin_id, :string, 5
      optional :benefit_start, :message, 6, "google.protobuf.Timestamp"
      optional :benefit_end, :message, 7, "google.protobuf.Timestamp"
      optional :access_guid, :string, 8
      optional :updated_on, :message, 9, "google.protobuf.Timestamp"
      optional :created_on, :message, 10, "google.protobuf.Timestamp"
      optional :created_by, :string, 11
      optional :purchase_profile_id, :string, 12
    end
    add_message "code.justin.tv.revenue.subscriptions.FormerSubscriber" do
      optional :id, :string, 1
      optional :channel_id, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.FulfillSubscriptionRequest" do
      optional :owner_id, :string, 1
      optional :product_id, :string, 2
      optional :origin_id, :string, 3
      optional :benefit_start, :message, 4, "google.protobuf.Timestamp"
      optional :benefit_end, :message, 5, "google.protobuf.Timestamp"
      optional :platform, :enum, 6, "code.justin.tv.revenue.subscriptions.Platform"
      optional :subscription_type, :enum, 7, "code.justin.tv.revenue.subscriptions.SubscriptionType"
      optional :quantity, :int32, 8
      optional :subscription_state, :enum, 9, "code.justin.tv.revenue.subscriptions.SubscriptionState"
      optional :fulfillment_id, :string, 10
    end
    add_message "code.justin.tv.revenue.subscriptions.FulfillSubscriptionResponse" do
      optional :subscription, :message, 1, "code.justin.tv.revenue.subscriptions.Subscription"
    end
    add_message "code.justin.tv.revenue.subscriptions.CreateSubscriptionRequest" do
      optional :owner_id, :string, 1
      optional :product_id, :string, 2
      optional :origin_id, :string, 3
      optional :benefit_start, :message, 4, "google.protobuf.Timestamp"
      optional :benefit_end, :message, 5, "google.protobuf.Timestamp"
      optional :subscription_type, :enum, 6, "code.justin.tv.revenue.subscriptions.SubscriptionType"
    end
    add_message "code.justin.tv.revenue.subscriptions.CreateSubscriptionResponse" do
      optional :subscription, :message, 1, "code.justin.tv.revenue.subscriptions.Subscription"
    end
    add_message "code.justin.tv.revenue.subscriptions.CancelSubscriptionRequest" do
      optional :owner_id, :string, 1
      optional :product_id, :string, 2
      optional :origin_id, :string, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.CancelSubscriptionResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.UpdateSubscriptionRequest" do
      optional :benefit_end, :message, 3, "google.protobuf.Timestamp"
      oneof :subscription do
        optional :id, :string, 1
        optional :key, :message, 2, "code.justin.tv.revenue.subscriptions.SubKey"
      end
    end
    add_message "code.justin.tv.revenue.subscriptions.UpdateSubscriptionResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.CanSubscribeRequest" do
      optional :owner_id, :string, 1
      optional :product_id, :string, 2
      optional :platform, :enum, 3, "code.justin.tv.revenue.subscriptions.Platform"
      optional :subscription_type, :enum, 4, "code.justin.tv.revenue.subscriptions.SubscriptionType"
      optional :quantity, :int32, 5
    end
    add_message "code.justin.tv.revenue.subscriptions.CanSubscribeResponse" do
      optional :can_subscribe, :bool, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.ListUserSubscriptionsRequest" do
      optional :owner_id, :string, 1
      optional :limit, :int64, 2
      optional :cursor, :string, 3
      optional :platform, :enum, 4, "code.justin.tv.revenue.subscriptions.Platform"
      optional :filter, :enum, 5, "code.justin.tv.revenue.subscriptions.ListUserSubscriptionsRequest.Filter"
    end
    add_enum "code.justin.tv.revenue.subscriptions.ListUserSubscriptionsRequest.Filter" do
      value :ALL, 0
      value :PLATFORM, 1
      value :GIFT, 2
      value :NOTPRIME, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.ListUserExpiredSubscriptionsRequest" do
      optional :owner_id, :string, 1
      optional :limit, :int64, 2
      optional :offset, :int64, 3
      optional :cursor, :string, 4
    end
    add_message "code.justin.tv.revenue.subscriptions.GetUserChannelSubscriptionWithPaymentsDataRequest" do
      optional :owner_id, :string, 1
      optional :channel_id, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GetUserChannelSubscriptionRequest" do
      optional :owner_id, :string, 1
      optional :channel_id, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.UserSubscription" do
      optional :subscription_id, :string, 1
      optional :owner_id, :string, 2
      optional :product_id, :string, 3
      optional :origin_id, :string, 4
      optional :benefit_start, :message, 5, "google.protobuf.Timestamp"
      optional :benefit_end, :message, 6, "google.protobuf.Timestamp"
      optional :platform, :enum, 7, "code.justin.tv.revenue.subscriptions.Platform"
      optional :renews_at, :message, 8, "google.protobuf.Timestamp"
      optional :ext_purchase_sku, :string, 9
      optional :is_prime, :bool, 10
      optional :is_gift, :bool, 11
      optional :is_refundable, :bool, 12
      optional :is_dnrd, :bool, 13
      optional :updated_on, :message, 14, "google.protobuf.Timestamp"
      optional :is_stacked, :bool, 15
    end
    add_message "code.justin.tv.revenue.subscriptions.UserSubscriptionResult" do
      optional :subscription, :message, 1, "code.justin.tv.revenue.subscriptions.UserSubscription"
      optional :cursor, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.SubscriptionResult" do
      optional :subscription, :message, 1, "code.justin.tv.revenue.subscriptions.Subscription"
      optional :cursor, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.ListUserExpiredSubscriptionsResponse" do
      repeated :subscriptions, :message, 1, "code.justin.tv.revenue.subscriptions.SubscriptionResult"
      optional :has_previous_page, :bool, 2
      optional :has_next_page, :bool, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.ListUserSubscriptionsResponse" do
      repeated :results, :message, 1, "code.justin.tv.revenue.subscriptions.UserSubscriptionResult"
      optional :has_previous_page, :bool, 2
      optional :has_next_page, :bool, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.GetUserChannelSubscriptionWithPaymentsDataResponse" do
      optional :subscription, :message, 1, "code.justin.tv.revenue.subscriptions.UserSubscription"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetUserChannelSubscriptionResponse" do
      optional :subscription, :message, 1, "code.justin.tv.revenue.subscriptions.Subscription"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetUserProductSubscriptionsRequest" do
      optional :owner_id, :string, 1
      repeated :product_ids, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GetUserProductSubscriptionsResponse" do
      repeated :subscriptions, :message, 1, "code.justin.tv.revenue.subscriptions.Subscription"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetUserProductSubscriptionsWithPaymentsDataRequest" do
      optional :owner_id, :string, 1
      repeated :product_ids, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GetUserProductSubscriptionsWithPaymentsDataResponse" do
      repeated :subscriptions, :message, 1, "code.justin.tv.revenue.subscriptions.UserSubscription"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetUserSubscriptionsRequest" do
      optional :owner_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetUserSubscriptionsResponse" do
      repeated :subscriptions, :message, 1, "code.justin.tv.revenue.subscriptions.Subscription"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetChannelSubscriptionsRequest" do
      optional :channel_id, :string, 1
      optional :limit, :int32, 2
      optional :offset, :int32, 3
      optional :order_by, :enum, 4, "code.justin.tv.revenue.subscriptions.GetChannelSubscriptionsRequest.OrderBy"
      optional :cursor, :string, 5
    end
    add_enum "code.justin.tv.revenue.subscriptions.GetChannelSubscriptionsRequest.OrderBy" do
      value :NONE, 0
      value :UPDATED_AT, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetChannelSubscriptionsResponse" do
      repeated :subscriptions, :message, 1, "code.justin.tv.revenue.subscriptions.Subscription"
      optional :cursor, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GetChannelSubscriptionsAfterTimeRequest" do
      optional :channel_id, :string, 1
      optional :after_time, :message, 2, "google.protobuf.Timestamp"
      optional :limit, :int32, 3
      optional :offset, :int32, 4
      optional :filter_cancelled_subscriptions, :bool, 5
    end
    add_message "code.justin.tv.revenue.subscriptions.GetChannelSubscriptionsAfterTimeResponse" do
      repeated :subscriptions, :message, 1, "code.justin.tv.revenue.subscriptions.Subscription"
      optional :has_next_page, :bool, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GetSubscriptionByIDRequest" do
      oneof :subscription do
        optional :sub_key, :message, 1, "code.justin.tv.revenue.subscriptions.SubKey"
        optional :id, :string, 2
      end
    end
    add_message "code.justin.tv.revenue.subscriptions.GetSubscriptionByIDResponse" do
      optional :subscription, :message, 1, "code.justin.tv.revenue.subscriptions.Subscription"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetHistoricalUserTicketsRequest" do
      optional :owner_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetHistoricalUserTicketsResponse" do
      repeated :subscriptions, :message, 1, "code.justin.tv.revenue.subscriptions.Subscription"
    end
    add_message "code.justin.tv.revenue.subscriptions.TakedownBadgesRequest" do
      optional :channel_id, :string, 1
      repeated :badge_ids, :string, 2
      optional :reason, :string, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.TakedownBadgesResponse" do
      repeated :badges_removed, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.TakedownAllBadgesRequest" do
      optional :channel_id, :string, 1
      optional :reason, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.TakedownAllBadgesResponse" do
      repeated :badges_removed, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetSubscriberBadgeRequest" do
      optional :channel_id, :string, 1
      optional :user_id, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GetSubscriberBadgeResponse" do
      optional :badge_type, :enum, 1, "code.justin.tv.revenue.subscriptions.BadgeType"
      optional :badge_version, :string, 2
      optional :dynamic_data, :string, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.InvalidateBadgeCacheRequest" do
      repeated :user_ids, :string, 1
      optional :channel_id, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.InvalidateBadgeCacheResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.BadgeFlair" do
      optional :image_1x_url, :string, 1
      optional :image_2x_url, :string, 2
      optional :image_4x_url, :string, 3
      optional :tier, :string, 4
    end
    add_message "code.justin.tv.revenue.subscriptions.GetBadgeFlairRequest" do
      optional :channel_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetBadgeFlairResponse" do
      optional :channel_id, :string, 1
      repeated :flairs, :message, 2, "code.justin.tv.revenue.subscriptions.BadgeFlair"
    end
    add_message "code.justin.tv.revenue.subscriptions.CreateBadgeFlairRequest" do
      optional :channel_id, :string, 1
      optional :tier, :string, 2
      optional :image_1x_id, :string, 3
      optional :image_2x_id, :string, 4
      optional :image_4x_id, :string, 5
    end
    add_message "code.justin.tv.revenue.subscriptions.CreateBadgeFlairResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.GetBadgeProgressRequest" do
      optional :user_id, :string, 1
      optional :channel_id, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GetBadgeProgressResponse" do
      repeated :badges, :message, 1, "code.justin.tv.revenue.subscriptions.BadgeProgress"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetChannelBadgeRequest" do
      optional :channel_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetChannelBadgeResponse" do
      repeated :badges, :message, 1, "code.justin.tv.revenue.subscriptions.ChannelBadge"
    end
    add_message "code.justin.tv.revenue.subscriptions.DeleteChannelBadgeRequest" do
      optional :channel_id, :string, 1
      optional :badge_id, :int32, 2
      optional :channel_tenure_method_id, :string, 3
      optional :modifier, :string, 4
    end
    add_message "code.justin.tv.revenue.subscriptions.DeleteChannelBadgeResponse" do
      optional :id, :int32, 1
      optional :required_tenure_months, :int32, 2
      optional :channel_tenure_method_id, :string, 3
      optional :badge_version, :string, 4
    end
    add_message "code.justin.tv.revenue.subscriptions.CreateChannelBadgeUploadConfigRequest" do
      optional :channel_id, :string, 1
      optional :size, :int32, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.CreateChannelBadgeUploadConfigResponse" do
      optional :upload_url, :string, 1
      optional :upload_id, :string, 2
      optional :image_url, :string, 3
      optional :image_id, :string, 4
    end
    add_message "code.justin.tv.revenue.subscriptions.CreateChannelBadgeRequest" do
      optional :channel_id, :string, 1
      optional :image_1x_id, :string, 2
      optional :image_2x_id, :string, 3
      optional :image_4x_id, :string, 4
      optional :required_tenure_months, :int32, 5
      optional :modifier, :string, 6
    end
    add_message "code.justin.tv.revenue.subscriptions.CreateChannelBadgeResponse" do
      optional :id, :int32, 1
      optional :image_1x_url, :string, 2
      optional :image_2x_url, :string, 3
      optional :image_4x_url, :string, 4
      optional :required_tenure_months, :int32, 5
      optional :title, :string, 6
      optional :channel_tenure_method_id, :string, 7
      optional :modifier, :string, 8
      optional :badge_version, :string, 9
    end
    add_message "code.justin.tv.revenue.subscriptions.GetFounderBadgeAvailabilityRequest" do
      optional :channel_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetFounderBadgeAvailabilityResponse" do
      optional :available_slots, :int32, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.IsFounderRequest" do
      optional :channel_id, :string, 1
      optional :user_id, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.IsFounderResponse" do
      optional :is_founder, :bool, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.ChannelBadge" do
      optional :id, :int32, 1
      optional :image_1x_url, :string, 2
      optional :image_2x_url, :string, 3
      optional :image_4x_url, :string, 4
      optional :required_tenure_months, :int32, 5
      optional :title, :string, 6
      optional :channel_tenure_method_id, :string, 7
      optional :modifier, :string, 8
    end
    add_message "code.justin.tv.revenue.subscriptions.BadgeProgress" do
      optional :image_1x_url, :string, 1
      optional :image_2x_url, :string, 2
      optional :image_4x_url, :string, 3
      optional :version, :string, 4
      optional :required_tenure_months, :int32, 5
      optional :progressMade, :float, 6
    end
    add_message "code.justin.tv.revenue.subscriptions.GetExternalProductTemplateSKURequest" do
      optional :product_id, :string, 1
      optional :platform, :enum, 2, "code.justin.tv.revenue.subscriptions.Platform"
      optional :country_code, :string, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.GetExternalProductTemplateSKUResponse" do
      optional :sku_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetExternalProductPurchasableSKURequest" do
      optional :owner_id, :string, 1
      optional :product_id, :string, 2
      optional :platform, :enum, 3, "code.justin.tv.revenue.subscriptions.Platform"
      optional :country_code, :string, 4
    end
    add_message "code.justin.tv.revenue.subscriptions.GetExternalProductPurchasableSKUResponse" do
      optional :sku_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.SubKey" do
      optional :product, :string, 1
      optional :owner, :string, 2
      optional :origin, :string, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.PaidUpgrade" do
      optional :base_key, :message, 1, "code.justin.tv.revenue.subscriptions.SubKey"
      optional :upgrade_key, :message, 2, "code.justin.tv.revenue.subscriptions.SubKey"
      optional :entitlement_id, :string, 3
      optional :start_date, :message, 4, "google.protobuf.Timestamp"
      optional :tier, :string, 5
      optional :price, :int32, 6
      optional :price_id, :string, 7
      optional :subscription_type, :enum, 8, "code.justin.tv.revenue.subscriptions.SubscriptionType"
      optional :is_cancelable, :bool, 9
    end
    add_message "code.justin.tv.revenue.subscriptions.GetPaidUpgradesRequest" do
      repeated :keys, :message, 1, "code.justin.tv.revenue.subscriptions.SubKey"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetPaidUpgradesResponse" do
      repeated :paid_upgrades, :message, 1, "code.justin.tv.revenue.subscriptions.PaidUpgrade"
    end
    add_message "code.justin.tv.revenue.subscriptions.CreatePaidUpgradeRequest" do
      optional :base_key, :message, 1, "code.justin.tv.revenue.subscriptions.SubKey"
      optional :upgrade_key, :message, 2, "code.justin.tv.revenue.subscriptions.SubKey"
      optional :subscription_type, :enum, 3, "code.justin.tv.revenue.subscriptions.SubscriptionType"
    end
    add_message "code.justin.tv.revenue.subscriptions.CreatePaidUpgradeResponse" do
      optional :paid_upgrade, :message, 1, "code.justin.tv.revenue.subscriptions.PaidUpgrade"
    end
    add_message "code.justin.tv.revenue.subscriptions.CancelPaidUpgradeRequest" do
      optional :base_key, :message, 1, "code.justin.tv.revenue.subscriptions.SubKey"
      optional :upgrade_key, :message, 2, "code.justin.tv.revenue.subscriptions.SubKey"
    end
    add_message "code.justin.tv.revenue.subscriptions.CancelPaidUpgradeResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.FulfillPaidUpgradeRequest" do
      optional :owner_id, :string, 1
      optional :product_id, :string, 2
      optional :origin_id, :string, 3
      optional :benefit_start, :message, 4, "google.protobuf.Timestamp"
      optional :benefit_end, :message, 5, "google.protobuf.Timestamp"
      optional :base_key, :message, 6, "code.justin.tv.revenue.subscriptions.SubKey"
      optional :subscription_type, :enum, 7, "code.justin.tv.revenue.subscriptions.SubscriptionType"
    end
    add_message "code.justin.tv.revenue.subscriptions.FulfillPaidUpgradeResponse" do
      optional :paid_upgrade, :message, 1, "code.justin.tv.revenue.subscriptions.PaidUpgrade"
    end
    add_message "code.justin.tv.revenue.subscriptions.CreateChatNotificationTokenRequest" do
      optional :owner_id, :string, 1
      optional :product_id, :string, 2
      optional :available_at, :message, 3, "google.protobuf.Timestamp"
      optional :is_prime, :message, 4, "code.justin.tv.revenue.subscriptions.OptionalBool"
      optional :new_ticket_interval, :message, 5, "code.justin.tv.revenue.subscriptions.NewTicketInterval"
    end
    add_message "code.justin.tv.revenue.subscriptions.CreateChatNotificationTokenResponse" do
      optional :message, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.NewTicketInterval" do
      optional :access_start, :message, 1, "google.protobuf.Timestamp"
      optional :access_end, :message, 2, "google.protobuf.Timestamp"
    end
    add_message "code.justin.tv.revenue.subscriptions.UseChatNotificationTokenRequest" do
      optional :token_id, :string, 1
      optional :authed_user_id, :string, 2
      optional :custom_message, :string, 3
      optional :share_streak, :message, 4, "code.justin.tv.revenue.subscriptions.OptionalBool"
      optional :channel_id, :string, 5
    end
    add_message "code.justin.tv.revenue.subscriptions.UseChatNotificationTokenResponse" do
      optional :message, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetUserChannelChatNotificationTokenRequest" do
      optional :user_id, :string, 1
      optional :channel_id, :string, 2
      optional :is_cumulative_tenure_load_test, :bool, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.GetUserChannelChatNotificationTokenResponse" do
      optional :chat_notification_token, :message, 1, "code.justin.tv.revenue.subscriptions.ChatNotificationToken"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetAllUsedChatNotificationTokensRequest" do
      optional :user_id, :string, 1
      optional :channel_id, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GetAllUsedChatNotificationTokensResponse" do
      repeated :used_chat_tokens, :message, 1, "code.justin.tv.revenue.subscriptions.UsedChatNotificationTokenItem"
    end
    add_message "code.justin.tv.revenue.subscriptions.AllowReplayForLastUsedChatNotificationTokenRequest" do
      optional :owner_id, :string, 1
      optional :channel_id, :string, 2
      optional :tenure, :string, 3
      optional :method, :string, 4
    end
    add_message "code.justin.tv.revenue.subscriptions.AllowReplayForLastUsedChatNotificationTokenResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.ChatNotificationToken" do
      optional :id, :string, 1
      optional :message, :string, 2
      optional :month, :string, 3
      optional :kind, :string, 4
      optional :cumulative_tenure_month, :int32, 5
      optional :streak_tenure_month, :int32, 6
      optional :is_gift_subscription, :bool, 7
      optional :gifter_id, :string, 8
    end
    add_message "code.justin.tv.revenue.subscriptions.UsedChatNotificationTokenItem" do
      optional :owner, :string, 1
      optional :channel, :string, 2
      optional :tenure, :string, 3
      optional :method, :string, 4
      optional :streak_shared, :bool, 5
      optional :streak_value, :int32, 6
      optional :custom_message_text, :string, 7
      optional :custom_message_shared, :bool, 8
      optional :product, :string, 9
      optional :tier, :string, 10
      optional :is_prime, :bool, 11
      optional :allow_replay, :bool, 12
      optional :created_at, :message, 13, "google.protobuf.Timestamp"
      optional :updated_at, :message, 14, "google.protobuf.Timestamp"
    end
    add_message "code.justin.tv.revenue.subscriptions.Gift" do
      optional :sender, :string, 1
      optional :recipient, :string, 2
      optional :product, :string, 3
      optional :origin, :string, 4
      optional :state, :enum, 5, "code.justin.tv.revenue.subscriptions.GiftState"
      optional :gift_date, :message, 6, "google.protobuf.Timestamp"
      optional :gift_type, :enum, 7, "code.justin.tv.revenue.subscriptions.GiftType"
      optional :anon_gift, :bool, 8
      optional :gift_months, :int32, 9
    end
    add_message "code.justin.tv.revenue.subscriptions.GiftKey" do
      optional :product, :string, 1
      optional :origin, :string, 2
      optional :recipient, :string, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.InsertGiftRequest" do
      optional :sender, :string, 1
      optional :recipient, :string, 2
      optional :product, :string, 3
      optional :origin, :string, 4
      optional :gift_type, :enum, 5, "code.justin.tv.revenue.subscriptions.GiftType"
      optional :anon_gift, :bool, 6
      optional :gift_months, :int32, 7
    end
    add_message "code.justin.tv.revenue.subscriptions.InsertGiftResponse" do
      optional :gift, :message, 1, "code.justin.tv.revenue.subscriptions.Gift"
    end
    add_message "code.justin.tv.revenue.subscriptions.CancelGiftRequest" do
      optional :product, :string, 1
      optional :origin, :string, 2
      optional :recipient, :string, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.CancelGiftResponse" do
      optional :canceled_gift, :message, 1, "code.justin.tv.revenue.subscriptions.Gift"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetGiftsRequest" do
      repeated :keys, :message, 1, "code.justin.tv.revenue.subscriptions.GiftKey"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetGiftsResponse" do
      repeated :gifts, :message, 1, "code.justin.tv.revenue.subscriptions.Gift"
    end
    add_message "code.justin.tv.revenue.subscriptions.CanGiftRequest" do
      optional :sender, :string, 1
      optional :recipient, :string, 2
      optional :product, :string, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.CanGiftResponse" do
      optional :can_gift, :bool, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.CanSenderGiftRequest" do
      optional :sender_id, :string, 1
      optional :product_id, :string, 2
      optional :gift_quantity, :int32, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.CanSenderGiftResponse" do
      optional :can_gift, :bool, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.CanGiftRecipientRequest" do
      optional :sender_id, :string, 1
      optional :product_id, :string, 2
      optional :recipient_id, :string, 3
      optional :gift_type, :enum, 4, "code.justin.tv.revenue.subscriptions.GiftType"
    end
    add_message "code.justin.tv.revenue.subscriptions.CanGiftRecipientResponse" do
      optional :can_gift, :bool, 1
      optional :reason, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GiftOfferId" do
      optional :product, :string, 1
      optional :gift_type, :enum, 2, "code.justin.tv.revenue.subscriptions.GiftType"
      optional :quantity, :int32, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.GiftPromotion" do
      optional :product_id, :string, 1
      optional :new_price, :int64, 2
      optional :old_price, :int64, 3
      optional :discount_type, :enum, 4, "code.justin.tv.revenue.subscriptions.DiscountType"
      optional :discount_value, :int64, 5
      optional :error, :string, 6
      optional :third_party_sku, :string, 7
      optional :new_quantity, :int32, 8
      optional :old_quantity, :int32, 9
      optional :gift_offer_id, :message, 10, "code.justin.tv.revenue.subscriptions.GiftOfferId"
    end
    add_message "code.justin.tv.revenue.subscriptions.Promotion" do
      optional :product_id, :string, 1
      optional :new_price, :int64, 2
      optional :old_price, :int64, 3
      optional :discount_type, :enum, 4, "code.justin.tv.revenue.subscriptions.DiscountType"
      optional :discount_value, :int64, 5
      optional :error, :string, 6
    end
    add_message "code.justin.tv.revenue.subscriptions.GetGiftPromotionRequest" do
      repeated :product_ids, :string, 1
      optional :user_id, :string, 2
      optional :platform, :enum, 3, "code.justin.tv.revenue.subscriptions.Platform"
      repeated :gift_offer_ids, :message, 4, "code.justin.tv.revenue.subscriptions.GiftOfferId"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetGiftPromotionResponse" do
      optional :is_promotion_active, :bool, 1
      repeated :gift_promotions, :message, 2, "code.justin.tv.revenue.subscriptions.GiftPromotion"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetPaidUpgradePromotionRequest" do
      optional :user_id, :string, 1
      repeated :product_ids, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GetPaidUpgradePromotionResponse" do
      repeated :promotions, :message, 2, "code.justin.tv.revenue.subscriptions.Promotion"
    end
    add_message "code.justin.tv.revenue.subscriptions.PaymentsPromotion" do
      optional :PriceID, :string, 1
      optional :Error, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GetPromotionsRequest" do
      repeated :product_ids, :string, 1
      optional :user_id, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GetPromotionsResponse" do
      map :promotions, :string, :message, 1, "code.justin.tv.revenue.subscriptions.PaymentsPromotion"
    end
    add_message "code.justin.tv.revenue.subscriptions.FulfillGiftsRequest" do
      optional :sender_id, :string, 1
      optional :product_id, :string, 2
      optional :origin_id, :string, 3
      optional :gift_type, :enum, 4, "code.justin.tv.revenue.subscriptions.GiftType"
      optional :gift_quantity, :int32, 5
      optional :benefit_start, :message, 6, "google.protobuf.Timestamp"
      optional :benefit_end, :message, 7, "google.protobuf.Timestamp"
      repeated :recipient_ids, :string, 8
      optional :anon_gift, :bool, 9
      optional :sku_id, :string, 10
      optional :platform, :enum, 11, "code.justin.tv.revenue.subscriptions.Platform"
    end
    add_message "code.justin.tv.revenue.subscriptions.FulfillGiftsResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.SendGiftChatNotificationRequest" do
      optional :sender_id, :string, 1
      optional :recipient_id, :string, 2
      optional :product_id, :string, 3
      optional :channel_id, :string, 4
      optional :anon_gift, :bool, 5
      optional :gift_type, :enum, 6, "code.justin.tv.revenue.subscriptions.GiftType"
      optional :origin_id, :string, 7
      optional :gift_months, :int32, 8
    end
    add_message "code.justin.tv.revenue.subscriptions.SendGiftChatNotificationResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.SendMMGChatNotificationRequest" do
      optional :sender_id, :string, 1
      optional :recipient_id, :string, 2
      optional :product_id, :string, 3
      optional :channel_id, :string, 4
      optional :origin_id, :string, 5
    end
    add_message "code.justin.tv.revenue.subscriptions.SendMMGChatNotificationResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.SendMMGStartChatNotificationRequest" do
      optional :sender_id, :string, 1
      optional :product_id, :string, 2
      optional :channel_id, :string, 3
      optional :gift_quantity, :int32, 4
      optional :anon_gift, :bool, 5
      optional :origin_id, :string, 6
    end
    add_message "code.justin.tv.revenue.subscriptions.SendMMGStartChatNotificationResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.SendPayForwardChatNotificationRequest" do
      optional :sender_id, :string, 1
      optional :recipient_id, :string, 2
      optional :channel_id, :string, 3
      optional :anon_gift, :bool, 4
      optional :gift_type, :enum, 5, "code.justin.tv.revenue.subscriptions.GiftType"
      optional :origin_id, :string, 6
    end
    add_message "code.justin.tv.revenue.subscriptions.SendPayForwardChatNotificationResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.GiftOffer" do
      optional :gift_type, :enum, 1, "code.justin.tv.revenue.subscriptions.GiftType"
      optional :sku_id, :string, 2
      optional :quantity, :int32, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.GetGiftOffersRequest" do
      optional :gift_type, :enum, 1, "code.justin.tv.revenue.subscriptions.GiftType"
      optional :platform, :enum, 2, "code.justin.tv.revenue.subscriptions.Platform"
      optional :country_code, :string, 3
      optional :product_id, :string, 4
    end
    add_message "code.justin.tv.revenue.subscriptions.GetGiftOffersResponse" do
      repeated :gift_offers, :message, 1, "code.justin.tv.revenue.subscriptions.GiftOffer"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetCommunityGiftBundlesRequest" do
      optional :client_id, :string, 1
      repeated :tiers, :string, 2
      optional :user_id, :string, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.GetCommunityGiftBundlesResponse" do
      map :results, :string, :message, 1, "code.justin.tv.revenue.subscriptions.CommunityGiftBundleList"
    end
    add_message "code.justin.tv.revenue.subscriptions.CommunityGiftBundleList" do
      repeated :bundles, :message, 1, "code.justin.tv.revenue.subscriptions.CommunityGiftBundle"
    end
    add_message "code.justin.tv.revenue.subscriptions.CommunityGiftBundle" do
      optional :bundle_type, :enum, 1, "code.justin.tv.revenue.subscriptions.CommunityGiftBundle.GiftBundleType"
      optional :quantity, :int32, 2
      optional :assets, :message, 3, "code.justin.tv.revenue.subscriptions.CommunityGiftBundle.GiftBundleAssets"
      optional :offer_id, :string, 4
    end
    add_message "code.justin.tv.revenue.subscriptions.CommunityGiftBundle.GiftBundleAssets" do
      optional :imageUrl1x, :string, 1
      optional :imageUrl2x, :string, 2
      optional :imageUrl3x, :string, 3
      optional :imageUrl4x, :string, 4
    end
    add_enum "code.justin.tv.revenue.subscriptions.CommunityGiftBundle.GiftBundleType" do
      value :UNKNOWN, 0
      value :BUNDLE, 1
      value :CUSTOM, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GetGiftsSentCountRequest" do
      optional :sender_id, :string, 1
      optional :channel_id, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GetGiftsSentCountResponse" do
      optional :count, :int32, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GrantGifterBadgeRequest" do
      optional :sender_id, :string, 1
      optional :channel_id, :string, 2
      optional :access_end, :message, 3, "google.protobuf.Timestamp"
    end
    add_message "code.justin.tv.revenue.subscriptions.GrantGifterBadgeResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.GetLatestGiftEndPerChannelRequest" do
      optional :sender_id, :string, 1
      optional :include_expired, :bool, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GetLatestGiftEndPerChannelResponse" do
      map :channel_access_ends, :string, :message, 1, "google.protobuf.Timestamp"
    end
    add_message "code.justin.tv.revenue.subscriptions.ModerateUserFromGifterLeaderboardRequest" do
      optional :sender_id, :string, 1
      optional :channel_id, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.ModerateUserFromGifterLeaderboardResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.UpdateLeaderboardBadgesRequest" do
      optional :channel_id, :string, 1
      optional :user_id, :string, 2
      optional :event_id, :string, 3
      optional :event_value, :int32, 4
    end
    add_message "code.justin.tv.revenue.subscriptions.UpdateLeaderboardBadgesResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.GetRelatedChannelsRequest" do
      optional :product_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetRelatedChannelsResponse" do
      repeated :channel_ids, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetEmotePrefixRequest" do
      optional :owner_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetEmotePrefixResponse" do
      repeated :prefixes, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.CreateEmoticonRequest" do
      optional :user_id, :string, 1
      optional :code_suffix, :string, 2
      optional :product_id, :string, 3
      optional :image28_id, :string, 4
      optional :image56_id, :string, 5
      optional :image112_id, :string, 6
    end
    add_message "code.justin.tv.revenue.subscriptions.CreateEmoticonReponse" do
      optional :id, :string, 1
      optional :code, :string, 2
      optional :product_id, :string, 3
      optional :group_id, :string, 4
      optional :state, :string, 5
    end
    add_message "code.justin.tv.revenue.subscriptions.DeleteEmoticonRequest" do
      optional :id, :string, 1
      optional :code, :string, 2
      optional :deleteImages, :bool, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.DeleteEmoticonResponse" do
      optional :id, :string, 1
      optional :code, :string, 2
      optional :deletedImages, :bool, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.GetAllEmoticonsByProductIDsRequest" do
      repeated :product_ids, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetAllEmoticonsByProductIDsResponse" do
      repeated :emoticon_groups, :message, 1, "code.justin.tv.revenue.subscriptions.EmoticonGroup"
    end
    add_message "code.justin.tv.revenue.subscriptions.EmoticonGroup" do
      optional :product_id, :string, 1
      repeated :emoticons, :message, 2, "code.justin.tv.revenue.subscriptions.Emoticon"
    end
    add_message "code.justin.tv.revenue.subscriptions.Emoticon" do
      optional :id, :string, 1
      optional :code, :string, 2
      optional :group_id, :string, 3
      optional :state, :enum, 4, "code.justin.tv.revenue.subscriptions.EmoticonState"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetPartnerStandingRequest" do
      optional :user_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetPartnerStandingResponse" do
      optional :is_in_good_standing, :bool, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetChannelEmoteLimitsRequest" do
      optional :channel_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetChannelEmoteLimitsResponse" do
      optional :channel_id, :string, 1
      repeated :limits, :message, 2, "code.justin.tv.revenue.subscriptions.ProductEmoteLimit"
    end
    add_message "code.justin.tv.revenue.subscriptions.ProductEmoteLimit" do
      optional :product_id, :string, 1
      optional :tier, :string, 2
      optional :emote_limit, :int32, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.GetPendingEmoticonsByIDsRequest" do
      repeated :emoticon_ids, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetPendingEmoticonsByIDsResponse" do
      repeated :emoticons, :message, 1, "code.justin.tv.revenue.subscriptions.PendingEmoticon"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetPendingEmoticonsRequest" do
      optional :filter, :enum, 1, "code.justin.tv.revenue.subscriptions.EmoticonFilter"
      optional :count, :int32, 2
      optional :bucket, :message, 3, "code.justin.tv.revenue.subscriptions.EmoticonBucket"
      optional :after_timestamp, :message, 4, "google.protobuf.Timestamp"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetPendingEmoticonsResponse" do
      repeated :emoticons, :message, 1, "code.justin.tv.revenue.subscriptions.PendingEmoticon"
      optional :total_count, :int32, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.ReviewPendingEmoticonsRequest" do
      repeated :reviews, :message, 1, "code.justin.tv.revenue.subscriptions.ReviewPendingEmoticonRequest"
      optional :admin_id, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.ReviewPendingEmoticonRequest" do
      optional :id, :string, 1
      optional :approve, :bool, 2
      optional :decline_reason, :string, 3
      optional :decline_explanation, :string, 4
    end
    add_message "code.justin.tv.revenue.subscriptions.ReviewPendingEmoticonsResponse" do
      repeated :results, :message, 1, "code.justin.tv.revenue.subscriptions.ReviewPendingEmoticonResponse"
    end
    add_message "code.justin.tv.revenue.subscriptions.ReviewPendingEmoticonResponse" do
      optional :id, :string, 1
      optional :succeeded, :bool, 2
      optional :new_status, :string, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.EmoticonBucket" do
      optional :requested, :int32, 1
      optional :bucket_count, :int32, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.PendingEmoticon" do
      optional :id, :string, 1
      optional :prefix, :string, 2
      optional :code, :string, 3
      optional :owner_id, :string, 4
      optional :upload_time, :message, 5, "google.protobuf.Timestamp"
    end
    add_message "code.justin.tv.revenue.subscriptions.Product" do
      optional :id, :string, 1
      optional :short_name, :string, 2
      optional :display_name, :string, 3
      repeated :emoticon_set_ids, :string, 4
      optional :price, :int32, 5
      optional :hide_ads, :bool, 6
      optional :type, :string, 7
      optional :owner_id, :string, 8
      optional :tier, :string, 9
      optional :interval, :message, 10, "code.justin.tv.revenue.subscriptions.ProductInterval"
      repeated :bitrate_access, :string, 11
      optional :subonly_archives, :bool, 12
      optional :emoticon_set_id, :string, 13
      optional :price_id, :string, 14
      optional :benefit_start, :message, 15, "google.protobuf.Timestamp"
      optional :benefit_end, :message, 16, "google.protobuf.Timestamp"
      optional :refundable, :bool, 17
      optional :state, :enum, 18, "code.justin.tv.revenue.subscriptions.ProductState"
      optional :recurring, :bool, 19
      optional :owner_type, :string, 20
      optional :external_product_id, :string, 21
    end
    add_message "code.justin.tv.revenue.subscriptions.ProductInterval" do
      optional :duration, :int32, 1
      optional :unit, :enum, 2, "code.justin.tv.revenue.subscriptions.ProductIntervalUnit"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetProductsByIDsRequest" do
      repeated :product_ids, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetProductsByIDsResponse" do
      repeated :products, :message, 1, "code.justin.tv.revenue.subscriptions.Product"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetProductsByNamesRequest" do
      repeated :product_names, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetProductsByNamesResponse" do
      repeated :products, :message, 1, "code.justin.tv.revenue.subscriptions.Product"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetChannelProductsRequest" do
      optional :channel_id, :string, 1
      optional :client_id, :string, 2
      optional :state_filter, :enum, 3, "code.justin.tv.revenue.subscriptions.ProductStateFilter"
      optional :include_teamsub_owners, :bool, 4
    end
    add_message "code.justin.tv.revenue.subscriptions.GetChannelProductsResponse" do
      repeated :products, :message, 1, "code.justin.tv.revenue.subscriptions.Product"
    end
    add_message "code.justin.tv.revenue.subscriptions.UpdateProductRequest" do
      optional :product_id, :string, 1
      optional :display_name, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.UpdateProductResponse" do
      optional :product_id, :string, 1
      optional :display_name, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.UpdateChannelProductsRequest" do
      optional :channel_id, :string, 1
      optional :hide_ads, :bool, 2
      optional :subonly_archives, :bool, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.UpdateChannelProductsResponse" do
      optional :channel_id, :string, 1
      optional :hide_ads, :bool, 2
      optional :subonly_archives, :bool, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.TicketGrantData" do
      optional :origin_id, :string, 1
      optional :benefit_start, :message, 2, "google.protobuf.Timestamp"
      optional :benefit_end, :message, 3, "google.protobuf.Timestamp"
      optional :updated_on, :message, 4, "google.protobuf.Timestamp"
      optional :created_on, :message, 5, "google.protobuf.Timestamp"
    end
    add_message "code.justin.tv.revenue.subscriptions.RedeemSubscriptionRequest" do
      optional :user_id, :string, 1
      optional :off_boarded_channel_id, :string, 2
      optional :redeem_channel_id, :string, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.RedeemSubscriptionResponse" do
      optional :subscription, :message, 1, "code.justin.tv.revenue.subscriptions.Subscription"
    end
    add_message "code.justin.tv.revenue.subscriptions.RedeemedSubscriptionRequest" do
      optional :user_id, :string, 1
      optional :off_boarded_channel_id, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.RedeemedSubscriptionResponse" do
      optional :user_id, :string, 1
      optional :user_login, :string, 2
      optional :off_boarded_channel_id, :string, 3
      optional :off_boarded_channel_login, :string, 4
      optional :redeemed_channel_id, :string, 5
      optional :redeemed_channel_login, :string, 6
      optional :tier, :string, 7
      optional :created_at, :message, 8, "google.protobuf.Timestamp"
      optional :updated_at, :message, 9, "google.protobuf.Timestamp"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetTicketsByOwnerIDAndOriginIDRequest" do
      optional :owner_id, :string, 1
      optional :origin_id, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GetTicketsByOwnerIDAndOriginIDResponse" do
      repeated :subscriptions, :message, 1, "code.justin.tv.revenue.subscriptions.Subscription"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetUnexpiredUserTicketsByProductsRequest" do
      optional :owner_id, :string, 1
      repeated :product_ids, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GetUnexpiredUserTicketsByProductsResponse" do
      repeated :subscriptions, :message, 1, "code.justin.tv.revenue.subscriptions.Subscription"
    end
    add_message "code.justin.tv.revenue.subscriptions.GrantAdminSubscriptionRequest" do
      optional :user_id, :string, 1
      optional :product_id, :string, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.GrantAdminSubscriptionResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.RevenueConfig" do
      optional :id, :string, 1
      optional :product_id, :string, 2
      optional :rev_split_percent, :int32, 3
      optional :start_date, :message, 4, "google.protobuf.Timestamp"
      optional :created_at, :message, 5, "google.protobuf.Timestamp"
      optional :updated_at, :message, 6, "google.protobuf.Timestamp"
      optional :is_legacy, :bool, 7
    end
    add_message "code.justin.tv.revenue.subscriptions.GetRevenueConfigRequest" do
      optional :revenue_config_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetRevenueConfigResponse" do
      optional :revenue_config, :message, 1, "code.justin.tv.revenue.subscriptions.RevenueConfig"
    end
    add_message "code.justin.tv.revenue.subscriptions.CreateRevenueConfigRequest" do
      optional :product_id, :string, 1
      optional :rev_split_percent, :int32, 2
      optional :start_date, :message, 3, "google.protobuf.Timestamp"
      optional :legacy_id, :string, 4
    end
    add_message "code.justin.tv.revenue.subscriptions.CreateRevenueConfigResponse" do
      optional :revenue_config, :message, 1, "code.justin.tv.revenue.subscriptions.RevenueConfig"
    end
    add_message "code.justin.tv.revenue.subscriptions.UpdateRevenueConfigRequest" do
      optional :revenue_config_id, :string, 1
      optional :rev_split_percent, :int32, 2
      optional :start_date, :message, 3, "google.protobuf.Timestamp"
    end
    add_message "code.justin.tv.revenue.subscriptions.UpdateRevenueConfigResponse" do
      optional :revenue_config, :message, 1, "code.justin.tv.revenue.subscriptions.RevenueConfig"
    end
    add_message "code.justin.tv.revenue.subscriptions.DeleteRevenueConfigRequest" do
      optional :revenue_config_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.DeleteRevenueConfigResponse" do
      optional :revenue_config, :message, 1, "code.justin.tv.revenue.subscriptions.RevenueConfig"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetRevenueConfigsByProductIDRequest" do
      optional :product_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetRevenueConfigsByProductIDResponse" do
      repeated :revenue_configs, :message, 1, "code.justin.tv.revenue.subscriptions.RevenueConfig"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetActiveRevenueConfigByProductIDRequest" do
      optional :product_id, :string, 1
      optional :date, :message, 2, "google.protobuf.Timestamp"
      optional :requires_user_authorization, :bool, 3
      optional :user_id, :string, 4
    end
    add_message "code.justin.tv.revenue.subscriptions.GetActiveRevenueConfigByProductIDResponse" do
      optional :revenue_config, :message, 1, "code.justin.tv.revenue.subscriptions.RevenueConfig"
    end
    add_message "code.justin.tv.revenue.subscriptions.GetCreatorGiftsBalanceRequest" do
      optional :user_id, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetCreatorGiftsBalanceResponse" do
      optional :balance, :int64, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.FulfillCreatorGiftsRequest" do
      optional :user_id, :string, 1
      optional :quantity, :int32, 2
      optional :origin_id, :string, 3
    end
    add_message "code.justin.tv.revenue.subscriptions.FulfillCreatorGiftsResponse" do
    end
    add_message "code.justin.tv.revenue.subscriptions.AddCreatorGiftsBalanceRequest" do
      optional :user_id, :string, 1
      optional :quantity, :int32, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.AddCreatorGiftsBalanceResponse" do
      optional :updated_balance, :int32, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.DeductCreatorGiftsBalanceRequest" do
      optional :user_id, :string, 1
      optional :quantity, :int32, 2
    end
    add_message "code.justin.tv.revenue.subscriptions.DeductCreatorGiftsBalanceResponse" do
      optional :updated_balance, :int32, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetTicketsByOriginIDsRequest" do
      repeated :origin_ids, :string, 1
    end
    add_message "code.justin.tv.revenue.subscriptions.GetTicketsByOriginIDsResponse" do
      repeated :subscriptions, :message, 1, "code.justin.tv.revenue.subscriptions.Subscription"
    end
    add_enum "code.justin.tv.revenue.subscriptions.BadgeFlairSetting" do
      value :BADGE_FLAIR_NONE, 0
      value :BADGE_FLAIR_DEFAULT, 1
      value :BADGE_FLAIR_CUSTOM, 2
    end
    add_enum "code.justin.tv.revenue.subscriptions.Platform" do
      value :PLATFORM_NONE, 0
      value :PLATFORM_WEB, 1
      value :PLATFORM_IOS, 2
      value :PLATFORM_ANDROID, 3
      value :PLATFORM_AMAZON, 4
      value :PLATFORM_MOBILE_ALL, 5
    end
    add_enum "code.justin.tv.revenue.subscriptions.SubscriptionType" do
      value :SUBSCRIPTION_PAID, 0
      value :SUBSCRIPTION_PRIME, 1
      value :SUBSCRIPTION_ADMIN, 2
      value :SUBSCRIPTION_GIFT_PAID_UPGRADE, 3
      value :SUBSCRIPTION_PRIME_PAID_UPGRADE, 4
      value :SUBSCRIPTION_GIFT, 5
      value :SUBSCRIPTION_DNRD_RESUB_RECURRING, 6
      value :SUBSCRIPTION_DNRD_RESUB_NONRECURRING, 7
      value :SUBSCRIPTION_CODE_REDEMPTION, 8
      value :SUBSCRIPTION_CODE_REDEMPTION_PAID_UPGRADE, 9
      value :SUBSCRIPTION_TOKEN, 10
    end
    add_enum "code.justin.tv.revenue.subscriptions.SubscriptionState" do
      value :SUBSCRIPTION_STATE_UNSPECIFIED, 0
      value :SUBSCRIPTION_STATE_RECOVERED, 1
    end
    add_enum "code.justin.tv.revenue.subscriptions.BadgeType" do
      value :NO_BADGE, 0
      value :DEFAULT_BADGE, 1
      value :SUBSCRIBER_BADGE, 2
      value :FOUNDER_BADGE, 3
    end
    add_enum "code.justin.tv.revenue.subscriptions.GiftState" do
      value :GIFT_NONE, 0
      value :GIFT_ACCEPTED, 1
      value :GIFT_CANCELED, 2
    end
    add_enum "code.justin.tv.revenue.subscriptions.DiscountType" do
      value :DISCOUNT_NONE, 0
      value :DISCOUNT_PERCENTOFF, 1
      value :DISCOUNT_FIXEDVALUEOFF, 2
    end
    add_enum "code.justin.tv.revenue.subscriptions.GiftType" do
      value :GIFT_TYPE_NONE, 0
      value :GIFT_TYPE_MYSTERY, 1
      value :GIFT_TYPE_STANDARD, 2
      value :GIFT_TYPE_COMMUNITY, 3
      value :GIFT_TYPE_CREATOR, 4
    end
    add_enum "code.justin.tv.revenue.subscriptions.EmoticonState" do
      value :EmoticonState_NONE, 0
      value :EmoticonState_ACTIVE, 1
      value :EmoticonState_PENDING, 2
      value :EmoticonState_INACTIVE, 3
    end
    add_enum "code.justin.tv.revenue.subscriptions.EmoticonPrefixState" do
      value :PREFIX_UNKNOWN, 0
      value :PREFIX_UNSET, 1
      value :PREFIX_ACTIVE, 2
      value :PREFIX_REJECTED, 3
      value :PREFIX_PENDING, 4
    end
    add_enum "code.justin.tv.revenue.subscriptions.EmoticonFilter" do
      value :EmoticonFilter_All, 0
      value :EmoticonFilter_Partner, 1
      value :EmoticonFilter_Affiliate, 2
    end
    add_enum "code.justin.tv.revenue.subscriptions.ProductIntervalUnit" do
      value :ProductIntervalUnit_NONE, 0
      value :ProductIntervalUnit_WEEK, 1
      value :ProductIntervalUnit_MONTH, 2
      value :ProductIntervalUnit_YEAR, 3
      value :ProductIntervalUnit_ONETIME, 4
    end
    add_enum "code.justin.tv.revenue.subscriptions.ProductState" do
      value :ProductState_UNKNOWN, 0
      value :ProductState_ACTIVE, 1
      value :ProductState_INACTIVE, 2
    end
    add_enum "code.justin.tv.revenue.subscriptions.ProductStateFilter" do
      value :ProductStateFilter_ACTIVE, 0
      value :ProductStateFilter_ALL, 1
      value :ProductStateFilter_INACTIVE, 2
    end
  end
end

module Code
  module Justin
    module Tv
      module Revenue
        module Subscriptions
          EmailPendingPrefixApprovalRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.EmailPendingPrefixApprovalRequest").msgclass
          EmailPendingPrefixApprovalResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.EmailPendingPrefixApprovalResponse").msgclass
          EmailGlobalEmoteRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.EmailGlobalEmoteRequest").msgclass
          EmailGlobalEmoteResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.EmailGlobalEmoteResponse").msgclass
          EmailSubscribersRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.EmailSubscribersRequest").msgclass
          EmailSubscribersResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.EmailSubscribersResponse").msgclass
          EmoticonLevel = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.EmoticonLevel").msgclass
          SetScoreRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SetScoreRequest").msgclass
          SetScoreResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SetScoreResponse").msgclass
          SubscriptionCount = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SubscriptionCount").msgclass
          CalculateSubscriberCountRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CalculateSubscriberCountRequest").msgclass
          CalculateSubscriberCountResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CalculateSubscriberCountResponse").msgclass
          GetUserSettingsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetUserSettingsRequest").msgclass
          GetUserSettingsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetUserSettingsResponse").msgclass
          SetUserSettingsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SetUserSettingsRequest").msgclass
          SetUserSettingsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SetUserSettingsResponse").msgclass
          OptionalBool = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.OptionalBool").msgclass
          GetCreatorBadgeFlairSettingRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetCreatorBadgeFlairSettingRequest").msgclass
          GetCreatorBadgeFlairSettingResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetCreatorBadgeFlairSettingResponse").msgclass
          SetCreatorBadgeFlairSettingRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SetCreatorBadgeFlairSettingRequest").msgclass
          SetCreatorBadgeFlairSettingResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SetCreatorBadgeFlairSettingResponse").msgclass
          Subscription = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.Subscription").msgclass
          FormerSubscriber = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.FormerSubscriber").msgclass
          FulfillSubscriptionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.FulfillSubscriptionRequest").msgclass
          FulfillSubscriptionResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.FulfillSubscriptionResponse").msgclass
          CreateSubscriptionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CreateSubscriptionRequest").msgclass
          CreateSubscriptionResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CreateSubscriptionResponse").msgclass
          CancelSubscriptionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CancelSubscriptionRequest").msgclass
          CancelSubscriptionResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CancelSubscriptionResponse").msgclass
          UpdateSubscriptionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.UpdateSubscriptionRequest").msgclass
          UpdateSubscriptionResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.UpdateSubscriptionResponse").msgclass
          CanSubscribeRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CanSubscribeRequest").msgclass
          CanSubscribeResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CanSubscribeResponse").msgclass
          ListUserSubscriptionsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ListUserSubscriptionsRequest").msgclass
          ListUserSubscriptionsRequest::Filter = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ListUserSubscriptionsRequest.Filter").enummodule
          ListUserExpiredSubscriptionsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ListUserExpiredSubscriptionsRequest").msgclass
          GetUserChannelSubscriptionWithPaymentsDataRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetUserChannelSubscriptionWithPaymentsDataRequest").msgclass
          GetUserChannelSubscriptionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetUserChannelSubscriptionRequest").msgclass
          UserSubscription = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.UserSubscription").msgclass
          UserSubscriptionResult = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.UserSubscriptionResult").msgclass
          SubscriptionResult = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SubscriptionResult").msgclass
          ListUserExpiredSubscriptionsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ListUserExpiredSubscriptionsResponse").msgclass
          ListUserSubscriptionsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ListUserSubscriptionsResponse").msgclass
          GetUserChannelSubscriptionWithPaymentsDataResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetUserChannelSubscriptionWithPaymentsDataResponse").msgclass
          GetUserChannelSubscriptionResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetUserChannelSubscriptionResponse").msgclass
          GetUserProductSubscriptionsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetUserProductSubscriptionsRequest").msgclass
          GetUserProductSubscriptionsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetUserProductSubscriptionsResponse").msgclass
          GetUserProductSubscriptionsWithPaymentsDataRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetUserProductSubscriptionsWithPaymentsDataRequest").msgclass
          GetUserProductSubscriptionsWithPaymentsDataResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetUserProductSubscriptionsWithPaymentsDataResponse").msgclass
          GetUserSubscriptionsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetUserSubscriptionsRequest").msgclass
          GetUserSubscriptionsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetUserSubscriptionsResponse").msgclass
          GetChannelSubscriptionsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetChannelSubscriptionsRequest").msgclass
          GetChannelSubscriptionsRequest::OrderBy = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetChannelSubscriptionsRequest.OrderBy").enummodule
          GetChannelSubscriptionsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetChannelSubscriptionsResponse").msgclass
          GetChannelSubscriptionsAfterTimeRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetChannelSubscriptionsAfterTimeRequest").msgclass
          GetChannelSubscriptionsAfterTimeResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetChannelSubscriptionsAfterTimeResponse").msgclass
          GetSubscriptionByIDRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetSubscriptionByIDRequest").msgclass
          GetSubscriptionByIDResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetSubscriptionByIDResponse").msgclass
          GetHistoricalUserTicketsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetHistoricalUserTicketsRequest").msgclass
          GetHistoricalUserTicketsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetHistoricalUserTicketsResponse").msgclass
          TakedownBadgesRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.TakedownBadgesRequest").msgclass
          TakedownBadgesResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.TakedownBadgesResponse").msgclass
          TakedownAllBadgesRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.TakedownAllBadgesRequest").msgclass
          TakedownAllBadgesResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.TakedownAllBadgesResponse").msgclass
          GetSubscriberBadgeRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetSubscriberBadgeRequest").msgclass
          GetSubscriberBadgeResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetSubscriberBadgeResponse").msgclass
          InvalidateBadgeCacheRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.InvalidateBadgeCacheRequest").msgclass
          InvalidateBadgeCacheResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.InvalidateBadgeCacheResponse").msgclass
          BadgeFlair = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.BadgeFlair").msgclass
          GetBadgeFlairRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetBadgeFlairRequest").msgclass
          GetBadgeFlairResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetBadgeFlairResponse").msgclass
          CreateBadgeFlairRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CreateBadgeFlairRequest").msgclass
          CreateBadgeFlairResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CreateBadgeFlairResponse").msgclass
          GetBadgeProgressRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetBadgeProgressRequest").msgclass
          GetBadgeProgressResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetBadgeProgressResponse").msgclass
          GetChannelBadgeRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetChannelBadgeRequest").msgclass
          GetChannelBadgeResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetChannelBadgeResponse").msgclass
          DeleteChannelBadgeRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.DeleteChannelBadgeRequest").msgclass
          DeleteChannelBadgeResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.DeleteChannelBadgeResponse").msgclass
          CreateChannelBadgeUploadConfigRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CreateChannelBadgeUploadConfigRequest").msgclass
          CreateChannelBadgeUploadConfigResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CreateChannelBadgeUploadConfigResponse").msgclass
          CreateChannelBadgeRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CreateChannelBadgeRequest").msgclass
          CreateChannelBadgeResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CreateChannelBadgeResponse").msgclass
          GetFounderBadgeAvailabilityRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetFounderBadgeAvailabilityRequest").msgclass
          GetFounderBadgeAvailabilityResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetFounderBadgeAvailabilityResponse").msgclass
          IsFounderRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.IsFounderRequest").msgclass
          IsFounderResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.IsFounderResponse").msgclass
          ChannelBadge = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ChannelBadge").msgclass
          BadgeProgress = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.BadgeProgress").msgclass
          GetExternalProductTemplateSKURequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetExternalProductTemplateSKURequest").msgclass
          GetExternalProductTemplateSKUResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetExternalProductTemplateSKUResponse").msgclass
          GetExternalProductPurchasableSKURequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetExternalProductPurchasableSKURequest").msgclass
          GetExternalProductPurchasableSKUResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetExternalProductPurchasableSKUResponse").msgclass
          SubKey = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SubKey").msgclass
          PaidUpgrade = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.PaidUpgrade").msgclass
          GetPaidUpgradesRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetPaidUpgradesRequest").msgclass
          GetPaidUpgradesResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetPaidUpgradesResponse").msgclass
          CreatePaidUpgradeRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CreatePaidUpgradeRequest").msgclass
          CreatePaidUpgradeResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CreatePaidUpgradeResponse").msgclass
          CancelPaidUpgradeRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CancelPaidUpgradeRequest").msgclass
          CancelPaidUpgradeResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CancelPaidUpgradeResponse").msgclass
          FulfillPaidUpgradeRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.FulfillPaidUpgradeRequest").msgclass
          FulfillPaidUpgradeResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.FulfillPaidUpgradeResponse").msgclass
          CreateChatNotificationTokenRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CreateChatNotificationTokenRequest").msgclass
          CreateChatNotificationTokenResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CreateChatNotificationTokenResponse").msgclass
          NewTicketInterval = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.NewTicketInterval").msgclass
          UseChatNotificationTokenRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.UseChatNotificationTokenRequest").msgclass
          UseChatNotificationTokenResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.UseChatNotificationTokenResponse").msgclass
          GetUserChannelChatNotificationTokenRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetUserChannelChatNotificationTokenRequest").msgclass
          GetUserChannelChatNotificationTokenResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetUserChannelChatNotificationTokenResponse").msgclass
          GetAllUsedChatNotificationTokensRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetAllUsedChatNotificationTokensRequest").msgclass
          GetAllUsedChatNotificationTokensResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetAllUsedChatNotificationTokensResponse").msgclass
          AllowReplayForLastUsedChatNotificationTokenRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.AllowReplayForLastUsedChatNotificationTokenRequest").msgclass
          AllowReplayForLastUsedChatNotificationTokenResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.AllowReplayForLastUsedChatNotificationTokenResponse").msgclass
          ChatNotificationToken = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ChatNotificationToken").msgclass
          UsedChatNotificationTokenItem = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.UsedChatNotificationTokenItem").msgclass
          Gift = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.Gift").msgclass
          GiftKey = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GiftKey").msgclass
          InsertGiftRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.InsertGiftRequest").msgclass
          InsertGiftResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.InsertGiftResponse").msgclass
          CancelGiftRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CancelGiftRequest").msgclass
          CancelGiftResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CancelGiftResponse").msgclass
          GetGiftsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetGiftsRequest").msgclass
          GetGiftsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetGiftsResponse").msgclass
          CanGiftRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CanGiftRequest").msgclass
          CanGiftResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CanGiftResponse").msgclass
          CanSenderGiftRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CanSenderGiftRequest").msgclass
          CanSenderGiftResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CanSenderGiftResponse").msgclass
          CanGiftRecipientRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CanGiftRecipientRequest").msgclass
          CanGiftRecipientResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CanGiftRecipientResponse").msgclass
          GiftOfferId = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GiftOfferId").msgclass
          GiftPromotion = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GiftPromotion").msgclass
          Promotion = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.Promotion").msgclass
          GetGiftPromotionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetGiftPromotionRequest").msgclass
          GetGiftPromotionResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetGiftPromotionResponse").msgclass
          GetPaidUpgradePromotionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetPaidUpgradePromotionRequest").msgclass
          GetPaidUpgradePromotionResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetPaidUpgradePromotionResponse").msgclass
          PaymentsPromotion = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.PaymentsPromotion").msgclass
          GetPromotionsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetPromotionsRequest").msgclass
          GetPromotionsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetPromotionsResponse").msgclass
          FulfillGiftsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.FulfillGiftsRequest").msgclass
          FulfillGiftsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.FulfillGiftsResponse").msgclass
          SendGiftChatNotificationRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SendGiftChatNotificationRequest").msgclass
          SendGiftChatNotificationResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SendGiftChatNotificationResponse").msgclass
          SendMMGChatNotificationRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SendMMGChatNotificationRequest").msgclass
          SendMMGChatNotificationResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SendMMGChatNotificationResponse").msgclass
          SendMMGStartChatNotificationRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SendMMGStartChatNotificationRequest").msgclass
          SendMMGStartChatNotificationResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SendMMGStartChatNotificationResponse").msgclass
          SendPayForwardChatNotificationRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SendPayForwardChatNotificationRequest").msgclass
          SendPayForwardChatNotificationResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SendPayForwardChatNotificationResponse").msgclass
          GiftOffer = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GiftOffer").msgclass
          GetGiftOffersRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetGiftOffersRequest").msgclass
          GetGiftOffersResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetGiftOffersResponse").msgclass
          GetCommunityGiftBundlesRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetCommunityGiftBundlesRequest").msgclass
          GetCommunityGiftBundlesResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetCommunityGiftBundlesResponse").msgclass
          CommunityGiftBundleList = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CommunityGiftBundleList").msgclass
          CommunityGiftBundle = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CommunityGiftBundle").msgclass
          CommunityGiftBundle::GiftBundleAssets = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CommunityGiftBundle.GiftBundleAssets").msgclass
          CommunityGiftBundle::GiftBundleType = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CommunityGiftBundle.GiftBundleType").enummodule
          GetGiftsSentCountRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetGiftsSentCountRequest").msgclass
          GetGiftsSentCountResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetGiftsSentCountResponse").msgclass
          GrantGifterBadgeRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GrantGifterBadgeRequest").msgclass
          GrantGifterBadgeResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GrantGifterBadgeResponse").msgclass
          GetLatestGiftEndPerChannelRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetLatestGiftEndPerChannelRequest").msgclass
          GetLatestGiftEndPerChannelResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetLatestGiftEndPerChannelResponse").msgclass
          ModerateUserFromGifterLeaderboardRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ModerateUserFromGifterLeaderboardRequest").msgclass
          ModerateUserFromGifterLeaderboardResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ModerateUserFromGifterLeaderboardResponse").msgclass
          UpdateLeaderboardBadgesRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.UpdateLeaderboardBadgesRequest").msgclass
          UpdateLeaderboardBadgesResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.UpdateLeaderboardBadgesResponse").msgclass
          GetRelatedChannelsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetRelatedChannelsRequest").msgclass
          GetRelatedChannelsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetRelatedChannelsResponse").msgclass
          GetEmotePrefixRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetEmotePrefixRequest").msgclass
          GetEmotePrefixResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetEmotePrefixResponse").msgclass
          CreateEmoticonRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CreateEmoticonRequest").msgclass
          CreateEmoticonReponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CreateEmoticonReponse").msgclass
          DeleteEmoticonRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.DeleteEmoticonRequest").msgclass
          DeleteEmoticonResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.DeleteEmoticonResponse").msgclass
          GetAllEmoticonsByProductIDsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetAllEmoticonsByProductIDsRequest").msgclass
          GetAllEmoticonsByProductIDsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetAllEmoticonsByProductIDsResponse").msgclass
          EmoticonGroup = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.EmoticonGroup").msgclass
          Emoticon = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.Emoticon").msgclass
          GetPartnerStandingRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetPartnerStandingRequest").msgclass
          GetPartnerStandingResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetPartnerStandingResponse").msgclass
          GetChannelEmoteLimitsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetChannelEmoteLimitsRequest").msgclass
          GetChannelEmoteLimitsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetChannelEmoteLimitsResponse").msgclass
          ProductEmoteLimit = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ProductEmoteLimit").msgclass
          GetPendingEmoticonsByIDsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetPendingEmoticonsByIDsRequest").msgclass
          GetPendingEmoticonsByIDsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetPendingEmoticonsByIDsResponse").msgclass
          GetPendingEmoticonsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetPendingEmoticonsRequest").msgclass
          GetPendingEmoticonsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetPendingEmoticonsResponse").msgclass
          ReviewPendingEmoticonsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ReviewPendingEmoticonsRequest").msgclass
          ReviewPendingEmoticonRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ReviewPendingEmoticonRequest").msgclass
          ReviewPendingEmoticonsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ReviewPendingEmoticonsResponse").msgclass
          ReviewPendingEmoticonResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ReviewPendingEmoticonResponse").msgclass
          EmoticonBucket = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.EmoticonBucket").msgclass
          PendingEmoticon = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.PendingEmoticon").msgclass
          Product = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.Product").msgclass
          ProductInterval = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ProductInterval").msgclass
          GetProductsByIDsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetProductsByIDsRequest").msgclass
          GetProductsByIDsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetProductsByIDsResponse").msgclass
          GetProductsByNamesRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetProductsByNamesRequest").msgclass
          GetProductsByNamesResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetProductsByNamesResponse").msgclass
          GetChannelProductsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetChannelProductsRequest").msgclass
          GetChannelProductsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetChannelProductsResponse").msgclass
          UpdateProductRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.UpdateProductRequest").msgclass
          UpdateProductResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.UpdateProductResponse").msgclass
          UpdateChannelProductsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.UpdateChannelProductsRequest").msgclass
          UpdateChannelProductsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.UpdateChannelProductsResponse").msgclass
          TicketGrantData = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.TicketGrantData").msgclass
          RedeemSubscriptionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.RedeemSubscriptionRequest").msgclass
          RedeemSubscriptionResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.RedeemSubscriptionResponse").msgclass
          RedeemedSubscriptionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.RedeemedSubscriptionRequest").msgclass
          RedeemedSubscriptionResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.RedeemedSubscriptionResponse").msgclass
          GetTicketsByOwnerIDAndOriginIDRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetTicketsByOwnerIDAndOriginIDRequest").msgclass
          GetTicketsByOwnerIDAndOriginIDResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetTicketsByOwnerIDAndOriginIDResponse").msgclass
          GetUnexpiredUserTicketsByProductsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetUnexpiredUserTicketsByProductsRequest").msgclass
          GetUnexpiredUserTicketsByProductsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetUnexpiredUserTicketsByProductsResponse").msgclass
          GrantAdminSubscriptionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GrantAdminSubscriptionRequest").msgclass
          GrantAdminSubscriptionResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GrantAdminSubscriptionResponse").msgclass
          RevenueConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.RevenueConfig").msgclass
          GetRevenueConfigRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetRevenueConfigRequest").msgclass
          GetRevenueConfigResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetRevenueConfigResponse").msgclass
          CreateRevenueConfigRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CreateRevenueConfigRequest").msgclass
          CreateRevenueConfigResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.CreateRevenueConfigResponse").msgclass
          UpdateRevenueConfigRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.UpdateRevenueConfigRequest").msgclass
          UpdateRevenueConfigResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.UpdateRevenueConfigResponse").msgclass
          DeleteRevenueConfigRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.DeleteRevenueConfigRequest").msgclass
          DeleteRevenueConfigResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.DeleteRevenueConfigResponse").msgclass
          GetRevenueConfigsByProductIDRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetRevenueConfigsByProductIDRequest").msgclass
          GetRevenueConfigsByProductIDResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetRevenueConfigsByProductIDResponse").msgclass
          GetActiveRevenueConfigByProductIDRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetActiveRevenueConfigByProductIDRequest").msgclass
          GetActiveRevenueConfigByProductIDResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetActiveRevenueConfigByProductIDResponse").msgclass
          GetCreatorGiftsBalanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetCreatorGiftsBalanceRequest").msgclass
          GetCreatorGiftsBalanceResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetCreatorGiftsBalanceResponse").msgclass
          FulfillCreatorGiftsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.FulfillCreatorGiftsRequest").msgclass
          FulfillCreatorGiftsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.FulfillCreatorGiftsResponse").msgclass
          AddCreatorGiftsBalanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.AddCreatorGiftsBalanceRequest").msgclass
          AddCreatorGiftsBalanceResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.AddCreatorGiftsBalanceResponse").msgclass
          DeductCreatorGiftsBalanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.DeductCreatorGiftsBalanceRequest").msgclass
          DeductCreatorGiftsBalanceResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.DeductCreatorGiftsBalanceResponse").msgclass
          GetTicketsByOriginIDsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetTicketsByOriginIDsRequest").msgclass
          GetTicketsByOriginIDsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GetTicketsByOriginIDsResponse").msgclass
          BadgeFlairSetting = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.BadgeFlairSetting").enummodule
          Platform = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.Platform").enummodule
          SubscriptionType = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SubscriptionType").enummodule
          SubscriptionState = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.SubscriptionState").enummodule
          BadgeType = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.BadgeType").enummodule
          GiftState = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GiftState").enummodule
          DiscountType = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.DiscountType").enummodule
          GiftType = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.GiftType").enummodule
          EmoticonState = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.EmoticonState").enummodule
          EmoticonPrefixState = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.EmoticonPrefixState").enummodule
          EmoticonFilter = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.EmoticonFilter").enummodule
          ProductIntervalUnit = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ProductIntervalUnit").enummodule
          ProductState = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ProductState").enummodule
          ProductStateFilter = Google::Protobuf::DescriptorPool.generated_pool.lookup("code.justin.tv.revenue.subscriptions.ProductStateFilter").enummodule
        end
      end
    end
  end
end
