text:
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Google.Cloud.Dialogflow.V2 {

  /// Holder for reflection information generated from google/cloud/dialogflow/v2/context.proto
  public static partial class ContextReflection {

    #region Descriptor
    /// File descriptor for google/cloud/dialogflow/v2/context.proto
    public static pbr::FileDescriptor Descriptor {
      get { return descriptor; }
    }
    private static pbr::FileDescriptor descriptor;

    static ContextReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "Cihnb29nbGUvY2xvdWQvZGlhbG9nZmxvdy92Mi9jb250ZXh0LnByb3RvEhpn",
            "b29nbGUuY2xvdWQuZGlhbG9nZmxvdy52MhocZ29vZ2xlL2FwaS9hbm5vdGF0",
            "aW9ucy5wcm90bxoXZ29vZ2xlL2FwaS9jbGllbnQucHJvdG8aH2dvb2dsZS9h",
            "cGkvZmllbGRfYmVoYXZpb3IucHJvdG8aGWdvb2dsZS9hcGkvcmVzb3VyY2Uu",
            "cHJvdG8aG2dvb2dsZS9wcm90b2J1Zi9lbXB0eS5wcm90bxogZ29vZ2xlL3By",
            "b3RvYnVmL2ZpZWxkX21hc2sucHJvdG8aHGdvb2dsZS9wcm90b2J1Zi9zdHJ1",
            "Y3QucHJvdG8ijwQKB0NvbnRleHQSEQoEbmFtZRgBIAEoCUID4EECEhsKDmxp",
            "ZmVzcGFuX2NvdW50GAIgASgFQgPgQQESMAoKcGFyYW1ldGVycxgDIAEoCzIX",
            "Lmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCA+BBATqhA+pBnQMKIWRpYWxvZ2Zs",
            "b3cuZ29vZ2xlYXBpcy5jb20vQ29udGV4dBI+cHJvamVjdHMve3Byb2plY3R9",
            "L2FnZW50L3Nlc3Npb25zL3tzZXNzaW9ufS9jb250ZXh0cy97Y29udGV4dH0S",
            "ZnByb2plY3RzL3twcm9qZWN0fS9hZ2VudC9lbnZpcm9ubWVudHMve2Vudmly",
            "b25tZW50fS91c2Vycy97dXNlcn0vc2Vzc2lvbnMve3Nlc3Npb259L2NvbnRl",
            "eHRzL3tjb250ZXh0fRJTcHJvamVjdHMve3Byb2plY3R9L2xvY2F0aW9ucy97",
            "bG9jYXRpb259L2FnZW50L3Nlc3Npb25zL3tzZXNzaW9ufS9jb250ZXh0cy97",
            "Y29udGV4dH0Se3Byb2plY3RzL3twcm9qZWN0fS9sb2NhdGlvbnMve2xvY2F0",
            "aW9ufS9hZ2VudC9lbnZpcm9ubWVudHMve2Vudmlyb25tZW50fS91c2Vycy97",
            "dXNlcn0vc2Vzc2lvbnMve3Nlc3Npb259L2NvbnRleHRzL3tjb250ZXh0fSKB",
            "AQoTTGlzdENvbnRleHRzUmVxdWVzdBI5CgZwYXJlbnQYASABKAlCKeBBAvpB",
            "IxIhZGlhbG9nZmxvdy5nb29nbGVhcGlzLmNvbS9Db250ZXh0EhYKCXBhZ2Vf",
            "c2l6ZRgCIAEoBUID4EEBEhcKCnBhZ2VfdG9rZW4YAyABKAlCA+BBASJmChRM",
            "aXN0Q29udGV4dHNSZXNwb25zZRI1Cghjb250ZXh0cxgBIAMoCzIjLmdvb2ds",
            "ZS5jbG91ZC5kaWFsb2dmbG93LnYyLkNvbnRleHQSFwoPbmV4dF9wYWdlX3Rv",
            "a2VuGAIgASgJIkwKEUdldENvbnRleHRSZXF1ZXN0EjcKBG5hbWUYASABKAlC",
            "KeBBAvpBIwohZGlhbG9nZmxvdy5nb29nbGVhcGlzLmNvbS9Db250ZXh0IowB",
            "ChRDcmVhdGVDb250ZXh0UmVxdWVzdBI5CgZwYXJlbnQYASABKAlCKeBBAvpB",
            "IxIhZGlhbG9nZmxvdy5nb29nbGVhcGlzLmNvbS9Db250ZXh0EjkKB2NvbnRl",
            "eHQYAiABKAsyIy5nb29nbGUuY2xvdWQuZGlhbG9nZmxvdy52Mi5Db250ZXh0",
            "QgPgQQIihwEKFFVwZGF0ZUNvbnRleHRSZXF1ZXN0EjkKB2NvbnRleHQYASAB",
            "KAsyIy5nb29nbGUuY2xvdWQuZGlhbG9nZmxvdy52Mi5Db250ZXh0QgPgQQIS",
            "NAoLdXBkYXRlX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRN",
            "YXNrQgPgQQEiTwoURGVsZXRlQ29udGV4dFJlcXVlc3QSNwoEbmFtZRgBIAEo",
            "CUIp4EEC+kEjCiFkaWFsb2dmbG93Lmdvb2dsZWFwaXMuY29tL0NvbnRleHQi",
            "VQoYRGVsZXRlQWxsQ29udGV4dHNSZXF1ZXN0EjkKBnBhcmVudBgBIAEoCUIp",
            "4EEC+kEjEiFkaWFsb2dmbG93Lmdvb2dsZWFwaXMuY29tL0NvbnRleHQy6BQK",
            "CENvbnRleHRzEpwDCgxMaXN0Q29udGV4dHMSLy5nb29nbGUuY2xvdWQuZGlh",
            "bG9nZmxvdy52Mi5MaXN0Q29udGV4dHNSZXF1ZXN0GjAuZ29vZ2xlLmNsb3Vk",
            "LmRpYWxvZ2Zsb3cudjIuTGlzdENvbnRleHRzUmVzcG9uc2UiqAKC0+STApgC",
            "EjEvdjIve3BhcmVudD1wcm9qZWN0cy8qL2FnZW50L3Nlc3Npb25zLyp9L2Nv",
            "bnRleHRzWkoSSC92Mi97cGFyZW50PXByb2plY3RzLyovYWdlbnQvZW52aXJv",
            "bm1lbnRzLyovdXNlcnMvKi9zZXNzaW9ucy8qfS9jb250ZXh0c1o/Ej0vdjIv",
            "e3BhcmVudD1wcm9qZWN0cy8qL2xvY2F0aW9ucy8qL2FnZW50L3Nlc3Npb25z",
            "Lyp9L2NvbnRleHRzWlYSVC92Mi97cGFyZW50PXByb2plY3RzLyovbG9jYXRp",
            "b25zLyovYWdlbnQvZW52aXJvbm1lbnRzLyovdXNlcnMvKi9zZXNzaW9ucy8q",
            "fS9jb250ZXh0c9pBBnBhcmVudBKJAwoKR2V0Q29udGV4dBItLmdvb2dsZS5j",
            "bG91ZC5kaWFsb2dmbG93LnYyLkdldENvbnRleHRSZXF1ZXN0GiMuZ29vZ2xl",
            "LmNsb3VkLmRpYWxvZ2Zsb3cudjIuQ29udGV4dCKmAoLT5JMCmAISMS92Mi97",
            "bmFtZT1wcm9qZWN0cy8qL2FnZW50L3Nlc3Npb25zLyovY29udGV4dHMvKn1a",
            "ShJIL3YyL3tuYW1lPXByb2plY3RzLyovYWdlbnQvZW52aXJvbm1lbnRzLyov",
            "dXNlcnMvKi9zZXNzaW9ucy8qL2NvbnRleHRzLyp9Wj8SPS92Mi97bmFtZT1w",
            "cm9qZWN0cy8qL2xvY2F0aW9ucy8qL2FnZW50L3Nlc3Npb25zLyovY29udGV4",
            "dHMvKn1aVhJUL3YyL3tuYW1lPXByb2plY3RzLyovbG9jYXRpb25zLyovYWdl",
            "bnQvZW52aXJvbm1lbnRzLyovdXNlcnMvKi9zZXNzaW9ucy8qL2NvbnRleHRz",
            "Lyp92kEEbmFtZRK9AwoNQ3JlYXRlQ29udGV4dBIwLmdvb2dsZS5jbG91ZC5k",
            "aWFsb2dmbG93LnYyLkNyZWF0ZUNvbnRleHRSZXF1ZXN0GiMuZ29vZ2xlLmNs",
            "b3VkLmRpYWxvZ2Zsb3cudjIuQ29udGV4dCLUAoLT5JMCvAIiMS92Mi97cGFy",
            "ZW50PXByb2plY3RzLyovYWdlbnQvc2Vzc2lvbnMvKn0vY29udGV4dHM6B2Nv",
            "bnRleHRaUyJIL3YyL3twYXJlbnQ9cHJvamVjdHMvKi9hZ2VudC9lbnZpcm9u",
            "bWVudHMvKi91c2Vycy8qL3Nlc3Npb25zLyp9L2NvbnRleHRzOgdjb250ZXh0",
            "WkgiPS92Mi97cGFyZW50PXByb2plY3RzLyovbG9jYXRpb25zLyovYWdlbnQv",
            "c2Vzc2lvbnMvKn0vY29udGV4dHM6B2NvbnRleHRaXyJUL3YyL3twYXJlbnQ9",
            "cHJvamVjdHMvKi9sb2NhdGlvbnMvKi9hZ2VudC9lbnZpcm9ubWVudHMvKi91",
            "c2Vycy8qL3Nlc3Npb25zLyp9L2NvbnRleHRzOgdjb250ZXh02kEOcGFyZW50",
            "LGNvbnRleHQS4gMKDVVwZGF0ZUNvbnRleHQSMC5nb29nbGUuY2xvdWQuZGlh",
            "bG9nZmxvdy52Mi5VcGRhdGVDb250ZXh0UmVxdWVzdBojLmdvb2dsZS5jbG91",
            "ZC5kaWFsb2dmbG93LnYyLkNvbnRleHQi+QKC0+STAtwCMjkvdjIve2NvbnRl",
            "eHQubmFtZT1wcm9qZWN0cy8qL2FnZW50L3Nlc3Npb25zLyovY29udGV4dHMv",
            "Kn06B2NvbnRleHRaWzJQL3YyL3tjb250ZXh0Lm5hbWU9cHJvamVjdHMvKi9h",
            "Z2VudC9lbnZpcm9ubWVudHMvKi91c2Vycy8qL3Nlc3Npb25zLyovY29udGV4",
            "dHMvKn06B2NvbnRleHRaUDJFL3YyL3tjb250ZXh0Lm5hbWU9cHJvamVjdHMv",
            "Ki9sb2NhdGlvbnMvKi9hZ2VudC9zZXNzaW9ucy8qL2NvbnRleHRzLyp9Ogdj",
            "b250ZXh0WmcyXC92Mi97Y29udGV4dC5uYW1lPXByb2plY3RzLyovbG9jYXRp",
            "b25zLyovYWdlbnQvZW52aXJvbm1lbnRzLyovdXNlcnMvKi9zZXNzaW9ucy8q",
            "L2NvbnRleHRzLyp9Ogdjb250ZXh02kETY29udGV4dCx1cGRhdGVfbWFzaxKC",
            "AwoNRGVsZXRlQ29udGV4dBIwLmdvb2dsZS5jbG91ZC5kaWFsb2dmbG93LnYy",
            "LkRlbGV0ZUNvbnRleHRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5",
            "IqYCgtPkkwKYAioxL3YyL3tuYW1lPXByb2plY3RzLyovYWdlbnQvc2Vzc2lv",
            "bnMvKi9jb250ZXh0cy8qfVpKKkgvdjIve25hbWU9cHJvamVjdHMvKi9hZ2Vu",
            "dC9lbnZpcm9ubWVudHMvKi91c2Vycy8qL3Nlc3Npb25zLyovY29udGV4dHMv",
            "Kn1aPyo9L3YyL3tuYW1lPXByb2plY3RzLyovbG9jYXRpb25zLyovYWdlbnQv",
            "c2Vzc2lvbnMvKi9jb250ZXh0cy8qfVpWKlQvdjIve25hbWU9cHJvamVjdHMv",
            "Ki9sb2NhdGlvbnMvKi9hZ2VudC9lbnZpcm9ubWVudHMvKi91c2Vycy8qL3Nl",
            "c3Npb25zLyovY29udGV4dHMvKn3aQQRuYW1lEowDChFEZWxldGVBbGxDb250",
            "ZXh0cxI0Lmdvb2dsZS5jbG91ZC5kaWFsb2dmbG93LnYyLkRlbGV0ZUFsbENv",
            "bnRleHRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSKoAoLT5JMC",
            "mAIqMS92Mi97cGFyZW50PXByb2plY3RzLyovYWdlbnQvc2Vzc2lvbnMvKn0v",
            "Y29udGV4dHNaSipIL3YyL3twYXJlbnQ9cHJvamVjdHMvKi9hZ2VudC9lbnZp",
            "cm9ubWVudHMvKi91c2Vycy8qL3Nlc3Npb25zLyp9L2NvbnRleHRzWj8qPS92",
            "Mi97cGFyZW50PXByb2plY3RzLyovbG9jYXRpb25zLyovYWdlbnQvc2Vzc2lv",
            "bnMvKn0vY29udGV4dHNaVipUL3YyL3twYXJlbnQ9cHJvamVjdHMvKi9sb2Nh",
            "dGlvbnMvKi9hZ2VudC9lbnZpcm9ubWVudHMvKi91c2Vycy8qL3Nlc3Npb25z",
            "Lyp9L2NvbnRleHRz2kEGcGFyZW50GnjKQRlkaWFsb2dmbG93Lmdvb2dsZWFw",
            "aXMuY29t0kFZaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vYXV0aC9jbG91",
            "ZC1wbGF0Zm9ybSxodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2Rp",
            "YWxvZ2Zsb3dCmwEKHmNvbS5nb29nbGUuY2xvdWQuZGlhbG9nZmxvdy52MkIM",
            "Q29udGV4dFByb3RvUAFaRGdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dv",
            "b2dsZWFwaXMvY2xvdWQvZGlhbG9nZmxvdy92MjtkaWFsb2dmbG93+AEBogIC",
            "REaqAhpHb29nbGUuQ2xvdWQuRGlhbG9nZmxvdy5WMmIGcHJvdG8z"));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::Google.Api.AnnotationsReflection.Descriptor, global::Google.Api.ClientReflection.Descriptor, global::Google.Api.FieldBehaviorReflection.Descriptor, global::Google.Api.ResourceReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.EmptyReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.FieldMaskReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.StructReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.Context), global::Google.Cloud.Dialogflow.V2.Context.Parser, new[]{ "Name", "LifespanCount", "Parameters" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.ListContextsRequest), global::Google.Cloud.Dialogflow.V2.ListContextsRequest.Parser, new[]{ "Parent", "PageSize", "PageToken" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.ListContextsResponse), global::Google.Cloud.Dialogflow.V2.ListContextsResponse.Parser, new[]{ "Contexts", "NextPageToken" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.GetContextRequest), global::Google.Cloud.Dialogflow.V2.GetContextRequest.Parser, new[]{ "Name" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.CreateContextRequest), global::Google.Cloud.Dialogflow.V2.CreateContextRequest.Parser, new[]{ "Parent", "Context" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.UpdateContextRequest), global::Google.Cloud.Dialogflow.V2.UpdateContextRequest.Parser, new[]{ "Context", "UpdateMask" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.DeleteContextRequest), global::Google.Cloud.Dialogflow.V2.DeleteContextRequest.Parser, new[]{ "Name" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.DeleteAllContextsRequest), global::Google.Cloud.Dialogflow.V2.DeleteAllContextsRequest.Parser, new[]{ "Parent" }, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Messages
  ///
  /// Dialogflow contexts are similar to natural language context. If a person says
  /// to you "they are orange", you need context in order to understand what "they"
  /// is referring to. Similarly, for Dialogflow to handle an end-user expression
  /// like that, it needs to be provided with context in order to correctly match
  /// an intent.
  ///
  /// Using contexts, you can control the flow of a conversation. You can configure
  /// contexts for an intent by setting input and output contexts, which are
  /// identified by string names. When an intent is matched, any configured output
  /// contexts for that intent become active. While any contexts are active,
  /// Dialogflow is more likely to match intents that are configured with input
  /// contexts that correspond to the currently active contexts.
  ///
  /// For more information about context, see the
  /// [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
  ///
  public sealed partial class Context : pb::IMessage<Context>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Context> _parser = new pb::MessageParser<Context>(() => new Context());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Context> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.ContextReflection.Descriptor.MessageTypes[0]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Context() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Context(Context other) : this() {
      name_ = other.name_;
      lifespanCount_ = other.lifespanCount_;
      parameters_ = other.parameters_ != null ? other.parameters_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Context Clone() {
      return new Context(this);
    }

    /// Field number for the "name" field.
    public const int NameFieldNumber = 1;
    private string name_ = "";
    ///
    /// Required. The unique identifier of the context. Format:
    /// `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>`,
    /// or `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
    /// ID>/sessions/<Session ID>/contexts/<Context ID>`.
    ///
    /// The `Context ID` is always converted to lowercase, may only contain
    /// characters in a-zA-Z0-9_-% and may be at most 250 bytes long.
    ///
    /// If `Environment ID` is not specified, we assume default 'draft'
    /// environment. If `User ID` is not specified, we assume default '-' user.
    ///
    /// The following context names are reserved for internal use by Dialogflow.
    /// You should not use these contexts or create contexts with these names:
    ///
    /// * `__system_counters__`
    /// * `*_id_dialog_context`
    /// * `*_dialog_params_size`
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "lifespan_count" field.
    public const int LifespanCountFieldNumber = 2;
    private int lifespanCount_;
    ///
    /// Optional. The number of conversational query requests after which the
    /// context expires. The default is `0`. If set to `0`, the context expires
    /// immediately. Contexts expire automatically after 20 minutes if there
    /// are no matching queries.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LifespanCount {
      get { return lifespanCount_; }
      set {
        lifespanCount_ = value;
      }
    }

    /// Field number for the "parameters" field.
    public const int ParametersFieldNumber = 3;
    private global::Google.Protobuf.WellKnownTypes.Struct parameters_;
    ///
    /// Optional. The collection of parameters associated with this context.
    ///
    /// Depending on your protocol or client library language, this is a
    /// map, associative array, symbol table, dictionary, or JSON object
    /// composed of a collection of (MapKey, MapValue) pairs:
    ///
    /// -   MapKey type: string
    /// -   MapKey value: parameter name
    /// -   MapValue type:
    ///     -   If parameter's entity type is a composite entity: map
    ///     -   Else: depending on parameter value type, could be one of string,
    ///         number, boolean, null, list or map
    /// -   MapValue value:
    ///     -   If parameter's entity type is a composite entity:
    ///         map from composite entity property names to property values
    ///     -   Else: parameter value
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.Struct Parameters {
      get { return parameters_; }
      set {
        parameters_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Context);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Context other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      if (LifespanCount != other.LifespanCount) return false;
      if (!object.Equals(Parameters, other.Parameters)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (LifespanCount != 0) hash ^= LifespanCount.GetHashCode();
      if (parameters_ != null) hash ^= Parameters.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (LifespanCount != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(LifespanCount);
      }
      if (parameters_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Parameters);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (LifespanCount != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(LifespanCount);
      }
      if (parameters_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(Parameters);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (LifespanCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LifespanCount);
      }
      if (parameters_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Parameters);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Context other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.LifespanCount != 0) {
        LifespanCount = other.LifespanCount;
      }
      if (other.parameters_ != null) {
        if (parameters_ == null) {
          Parameters = new global::Google.Protobuf.WellKnownTypes.Struct();
        }
        Parameters.MergeFrom(other.Parameters);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
          case 16: {
            LifespanCount = input.ReadInt32();
            break;
          }
          case 26: {
            if (parameters_ == null) {
              Parameters = new global::Google.Protobuf.WellKnownTypes.Struct();
            }
            input.ReadMessage(Parameters);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
          case 16: {
            LifespanCount = input.ReadInt32();
            break;
          }
          case 26: {
            if (parameters_ == null) {
              Parameters = new global::Google.Protobuf.WellKnownTypes.Struct();
            }
            input.ReadMessage(Parameters);
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The request message for [Contexts.ListContexts][google.cloud.dialogflow.v2.Contexts.ListContexts].
  ///
  public sealed partial class ListContextsRequest : pb::IMessage<ListContextsRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ListContextsRequest> _parser = new pb::MessageParser<ListContextsRequest>(() => new ListContextsRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ListContextsRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.ContextReflection.Descriptor.MessageTypes[1]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ListContextsRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ListContextsRequest(ListContextsRequest other) : this() {
      parent_ = other.parent_;
      pageSize_ = other.pageSize_;
      pageToken_ = other.pageToken_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ListContextsRequest Clone() {
      return new ListContextsRequest(this);
    }

    /// Field number for the "parent" field.
    public const int ParentFieldNumber = 1;
    private string parent_ = "";
    ///
    /// Required. The session to list all contexts from.
    /// Format: `projects/<Project ID>/agent/sessions/<Session ID>` or
    /// `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
    /// ID>/sessions/<Session ID>`.
    /// If `Environment ID` is not specified, we assume default 'draft'
    /// environment. If `User ID` is not specified, we assume default '-' user.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Parent {
      get { return parent_; }
      set {
        parent_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "page_size" field.
    public const int PageSizeFieldNumber = 2;
    private int pageSize_;
    ///
    /// Optional. The maximum number of items to return in a single page. By
    /// default 100 and at most 1000.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PageSize {
      get { return pageSize_; }
      set {
        pageSize_ = value;
      }
    }

    /// Field number for the "page_token" field.
    public const int PageTokenFieldNumber = 3;
    private string pageToken_ = "";
    ///
    /// Optional. The next_page_token value returned from a previous list request.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PageToken {
      get { return pageToken_; }
      set {
        pageToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ListContextsRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ListContextsRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Parent != other.Parent) return false;
      if (PageSize != other.PageSize) return false;
      if (PageToken != other.PageToken) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Parent.Length != 0) hash ^= Parent.GetHashCode();
      if (PageSize != 0) hash ^= PageSize.GetHashCode();
      if (PageToken.Length != 0) hash ^= PageToken.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      if (PageSize != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(PageSize);
      }
      if (PageToken.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(PageToken);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      if (PageSize != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(PageSize);
      }
      if (PageToken.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(PageToken);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Parent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Parent);
      }
      if (PageSize != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PageSize);
      }
      if (PageToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PageToken);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ListContextsRequest other) {
      if (other == null) {
        return;
      }
      if (other.Parent.Length != 0) {
        Parent = other.Parent;
      }
      if (other.PageSize != 0) {
        PageSize = other.PageSize;
      }
      if (other.PageToken.Length != 0) {
        PageToken = other.PageToken;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 16: {
            PageSize = input.ReadInt32();
            break;
          }
          case 26: {
            PageToken = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 16: {
            PageSize = input.ReadInt32();
            break;
          }
          case 26: {
            PageToken = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The response message for [Contexts.ListContexts][google.cloud.dialogflow.v2.Contexts.ListContexts].
  ///
  public sealed partial class ListContextsResponse : pb::IMessage<ListContextsResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ListContextsResponse> _parser = new pb::MessageParser<ListContextsResponse>(() => new ListContextsResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ListContextsResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.ContextReflection.Descriptor.MessageTypes[2]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ListContextsResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ListContextsResponse(ListContextsResponse other) : this() {
      contexts_ = other.contexts_.Clone();
      nextPageToken_ = other.nextPageToken_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ListContextsResponse Clone() {
      return new ListContextsResponse(this);
    }

    /// Field number for the "contexts" field.
    public const int ContextsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Google.Cloud.Dialogflow.V2.Context> _repeated_contexts_codec
        = pb::FieldCodec.ForMessage(10, global::Google.Cloud.Dialogflow.V2.Context.Parser);
    private readonly pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.Context> contexts_ = new pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.Context>();
    ///
    /// The list of contexts. There will be a maximum number of items
    /// returned based on the page_size field in the request.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.Context> Contexts {
      get { return contexts_; }
    }

    /// Field number for the "next_page_token" field.
    public const int NextPageTokenFieldNumber = 2;
    private string nextPageToken_ = "";
    ///
    /// Token to retrieve the next page of results, or empty if there are no
    /// more results in the list.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NextPageToken {
      get { return nextPageToken_; }
      set {
        nextPageToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ListContextsResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ListContextsResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!contexts_.Equals(other.contexts_)) return false;
      if (NextPageToken != other.NextPageToken) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= contexts_.GetHashCode();
      if (NextPageToken.Length != 0) hash ^= NextPageToken.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      contexts_.WriteTo(output, _repeated_contexts_codec);
      if (NextPageToken.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NextPageToken);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      contexts_.WriteTo(ref output, _repeated_contexts_codec);
      if (NextPageToken.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NextPageToken);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += contexts_.CalculateSize(_repeated_contexts_codec);
      if (NextPageToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NextPageToken);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ListContextsResponse other) {
      if (other == null) {
        return;
      }
      contexts_.Add(other.contexts_);
      if (other.NextPageToken.Length != 0) {
        NextPageToken = other.NextPageToken;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            contexts_.AddEntriesFrom(input, _repeated_contexts_codec);
            break;
          }
          case 18: {
            NextPageToken = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            contexts_.AddEntriesFrom(ref input, _repeated_contexts_codec);
            break;
          }
          case 18: {
            NextPageToken = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The request message for [Contexts.GetContext][google.cloud.dialogflow.v2.Contexts.GetContext].
  ///
  public sealed partial class GetContextRequest : pb::IMessage<GetContextRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GetContextRequest> _parser = new pb::MessageParser<GetContextRequest>(() => new GetContextRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GetContextRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.ContextReflection.Descriptor.MessageTypes[3]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetContextRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetContextRequest(GetContextRequest other) : this() {
      name_ = other.name_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetContextRequest Clone() {
      return new GetContextRequest(this);
    }

    /// Field number for the "name" field.
    public const int NameFieldNumber = 1;
    private string name_ = "";
    ///
    /// Required. The name of the context. Format:
    /// `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>`
    /// or `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
    /// ID>/sessions/<Session ID>/contexts/<Context ID>`.
    /// If `Environment ID` is not specified, we assume default 'draft'
    /// environment. If `User ID` is not specified, we assume default '-' user.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as GetContextRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GetContextRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GetContextRequest other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The request message for [Contexts.CreateContext][google.cloud.dialogflow.v2.Contexts.CreateContext].
  ///
  public sealed partial class CreateContextRequest : pb::IMessage<CreateContextRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateContextRequest> _parser = new pb::MessageParser<CreateContextRequest>(() => new CreateContextRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateContextRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.ContextReflection.Descriptor.MessageTypes[4]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateContextRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateContextRequest(CreateContextRequest other) : this() {
      parent_ = other.parent_;
      context_ = other.context_ != null ? other.context_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateContextRequest Clone() {
      return new CreateContextRequest(this);
    }

    /// Field number for the "parent" field.
    public const int ParentFieldNumber = 1;
    private string parent_ = "";
    ///
    /// Required. The session to create a context for.
    /// Format: `projects/<Project ID>/agent/sessions/<Session ID>` or
    /// `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
    /// ID>/sessions/<Session ID>`.
    /// If `Environment ID` is not specified, we assume default 'draft'
    /// environment. If `User ID` is not specified, we assume default '-' user.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Parent {
      get { return parent_; }
      set {
        parent_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "context" field.
    public const int ContextFieldNumber = 2;
    private global::Google.Cloud.Dialogflow.V2.Context context_;
    ///
    /// Required. The context to create.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Cloud.Dialogflow.V2.Context Context {
      get { return context_; }
      set {
        context_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateContextRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateContextRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Parent != other.Parent) return false;
      if (!object.Equals(Context, other.Context)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Parent.Length != 0) hash ^= Parent.GetHashCode();
      if (context_ != null) hash ^= Context.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      if (context_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Context);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      if (context_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(Context);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Parent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Parent);
      }
      if (context_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Context);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateContextRequest other) {
      if (other == null) {
        return;
      }
      if (other.Parent.Length != 0) {
        Parent = other.Parent;
      }
      if (other.context_ != null) {
        if (context_ == null) {
          Context = new global::Google.Cloud.Dialogflow.V2.Context();
        }
        Context.MergeFrom(other.Context);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 18: {
            if (context_ == null) {
              Context = new global::Google.Cloud.Dialogflow.V2.Context();
            }
            input.ReadMessage(Context);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 18: {
            if (context_ == null) {
              Context = new global::Google.Cloud.Dialogflow.V2.Context();
            }
            input.ReadMessage(Context);
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The request message for [Contexts.UpdateContext][google.cloud.dialogflow.v2.Contexts.UpdateContext].
  ///
  public sealed partial class UpdateContextRequest : pb::IMessage<UpdateContextRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateContextRequest> _parser = new pb::MessageParser<UpdateContextRequest>(() => new UpdateContextRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateContextRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.ContextReflection.Descriptor.MessageTypes[5]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateContextRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateContextRequest(UpdateContextRequest other) : this() {
      context_ = other.context_ != null ? other.context_.Clone() : null;
      updateMask_ = other.updateMask_ != null ? other.updateMask_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateContextRequest Clone() {
      return new UpdateContextRequest(this);
    }

    /// Field number for the "context" field.
    public const int ContextFieldNumber = 1;
    private global::Google.Cloud.Dialogflow.V2.Context context_;
    ///
    /// Required. The context to update.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Cloud.Dialogflow.V2.Context Context {
      get { return context_; }
      set {
        context_ = value;
      }
    }

    /// Field number for the "update_mask" field.
    public const int UpdateMaskFieldNumber = 2;
    private global::Google.Protobuf.WellKnownTypes.FieldMask updateMask_;
    ///
    /// Optional. The mask to control which fields get updated.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.FieldMask UpdateMask {
      get { return updateMask_; }
      set {
        updateMask_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateContextRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateContextRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(Context, other.Context)) return false;
      if (!object.Equals(UpdateMask, other.UpdateMask)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (context_ != null) hash ^= Context.GetHashCode();
      if (updateMask_ != null) hash ^= UpdateMask.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (context_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Context);
      }
      if (updateMask_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(UpdateMask);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (context_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Context);
      }
      if (updateMask_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(UpdateMask);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (context_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Context);
      }
      if (updateMask_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(UpdateMask);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateContextRequest other) {
      if (other == null) {
        return;
      }
      if (other.context_ != null) {
        if (context_ == null) {
          Context = new global::Google.Cloud.Dialogflow.V2.Context();
        }
        Context.MergeFrom(other.Context);
      }
      if (other.updateMask_ != null) {
        if (updateMask_ == null) {
          UpdateMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
        }
        UpdateMask.MergeFrom(other.UpdateMask);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (context_ == null) {
              Context = new global::Google.Cloud.Dialogflow.V2.Context();
            }
            input.ReadMessage(Context);
            break;
          }
          case 18: {
            if (updateMask_ == null) {
              UpdateMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
            }
            input.ReadMessage(UpdateMask);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (context_ == null) {
              Context = new global::Google.Cloud.Dialogflow.V2.Context();
            }
            input.ReadMessage(Context);
            break;
          }
          case 18: {
            if (updateMask_ == null) {
              UpdateMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
            }
            input.ReadMessage(UpdateMask);
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The request message for [Contexts.DeleteContext][google.cloud.dialogflow.v2.Contexts.DeleteContext].
  ///
  public sealed partial class DeleteContextRequest : pb::IMessage<DeleteContextRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DeleteContextRequest> _parser = new pb::MessageParser<DeleteContextRequest>(() => new DeleteContextRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DeleteContextRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.ContextReflection.Descriptor.MessageTypes[6]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteContextRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteContextRequest(DeleteContextRequest other) : this() {
      name_ = other.name_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteContextRequest Clone() {
      return new DeleteContextRequest(this);
    }

    /// Field number for the "name" field.
    public const int NameFieldNumber = 1;
    private string name_ = "";
    ///
    /// Required. The name of the context to delete. Format:
    /// `projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context ID>`
    /// or `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
    /// ID>/sessions/<Session ID>/contexts/<Context ID>`.
    /// If `Environment ID` is not specified, we assume default 'draft'
    /// environment. If `User ID` is not specified, we assume default '-' user.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DeleteContextRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DeleteContextRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DeleteContextRequest other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The request message for [Contexts.DeleteAllContexts][google.cloud.dialogflow.v2.Contexts.DeleteAllContexts].
  ///
  public sealed partial class DeleteAllContextsRequest : pb::IMessage<DeleteAllContextsRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DeleteAllContextsRequest> _parser = new pb::MessageParser<DeleteAllContextsRequest>(() => new DeleteAllContextsRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DeleteAllContextsRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.ContextReflection.Descriptor.MessageTypes[7]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteAllContextsRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteAllContextsRequest(DeleteAllContextsRequest other) : this() {
      parent_ = other.parent_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteAllContextsRequest Clone() {
      return new DeleteAllContextsRequest(this);
    }

    /// Field number for the "parent" field.
    public const int ParentFieldNumber = 1;
    private string parent_ = "";
    ///
    /// Required. The name of the session to delete all contexts from. Format:
    /// `projects/<Project ID>/agent/sessions/<Session ID>` or `projects/<Project
    /// ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session
    /// ID>`.
    /// If `Environment ID` is not specified we assume default 'draft' environment.
    /// If `User ID` is not specified, we assume default '-' user.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Parent {
      get { return parent_; }
      set {
        parent_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DeleteAllContextsRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DeleteAllContextsRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Parent != other.Parent) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Parent.Length != 0) hash ^= Parent.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Parent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Parent);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DeleteAllContextsRequest other) {
      if (other == null) {
        return;
      }
      if (other.Parent.Length != 0) {
        Parent = other.Parent;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code

redpajama_set_name: RedPajamaGithub


Alan Deere was born in Westport, New Zealand, on 12th December, 1917. He joined the Royal Air Force in October 1937 and was posted to 54 Squadron in September 1938.
Deere was based at Hornchurch during the Dunkirk evacuation and during a four day period (23rd to 29th May) he shot down three Messerschmitt Bf109 and three Messerschmitt 110. This resulted in him being awarded the Distinguished Flying Cross (DFC).
During the Battle of Britain Deere destroyed seven more enemy fighters and one bomber and was awarded and was awarded a Bar to his DFC. Later he was to win the Croix de Guerre.
In January 1941 Deere became Operations Room Controller but returned to action in May when he joined 602 Squadron as a Flight Commander.
Deere, who published his autobiography, Nine Lives in 1959. Alan Deere retired from the Royal Air Force in December 1977 with the rank of Air Commodore.
(1) After being involved in a dogfight with a German pilot Alan Deere wrote a report on the relative merits of the Spitfire, Hawker Hurricane, and Messerschmitt Bf109.
The great Dunkirk evacuation started on 26th May. The RAF was extremely active throughout the famous withdrawal but such is the nature of aerial combat that the skirmishes seldom occurred in sight of the actual evacuation beaches.
In the thick of it at this time was Al Deere - destined to be shot down seven times and survive the war with a magnificent record. Like most others, this great fighter pilot from New Zealand had sat in a Spitfire for the first time earlier in 1940 and said: "A Spitfire is the most beautiful and easy aircraft to fly and has no tricks or peculiarities normally attributable to high-speed fighters.
He was shot down twice in two days at Dunkirk. Typically, he said the first time gave him "little trouble". The second must be recorded.
During a patrol over the evacuation beaches his Spitfire was hit in the glycol tank. This was always fatal to the aeroplane since the coolant drained and the engine overheated and seized in a matter of seconds rather than minutes. Al Deere crash-landed his Spitfire on the beach knocking himself out in the process. When he came round a minute or two later, he was aware of the engine smoking menacingly. Urgently, he ripped off his straps, leapt out of the cockpit, and sat down on the beach. At the moment he could only curse his bad luck rather than appreciate his good luck at being alive.
Savagely I hauled my reluctant Spitfire around to meet this new attack and the next moment I was engulfed in enemy fighters-above, below and on both sides, they crowded in on my section. Ahead and above, I caught a glimpse of a FW 190 as it poured cannon shells into the belly of an unsuspecting Spitfire. For a brief second the Spitfire seemed to stop in mid-air, and the next instant it folded inwards and broke in two, the two pieces plummeting earthwards; a terrifying demonstration of the punch of the FW 190s, four cannons and two machine-guns.
I twisted and turned my aircraft in an endeavour to avoid being jumped and at the same time to get myself into a favourable position for attack. Never had I seen the Huns stay and fight it out as these Focke-Wulf pilots were doing. In Messerschmitt 109s the Hun tactics had always followed the same pattern-a quick pass and away, sound tactics against Spitfires with their superior turning circle. Not so these FW 190 pilots, they were full of confidence.
"Break right, Red One; I'll get him."
As I broke, I saw Murphy pull up after a FW 190 as it veered away from me, thwarted in its attack by his prompt action. My ammunition expended, I sought a means of retreat from a sky still generously sprinkled with hostile enemy fighters, but no Spitfires that I could see. In a series of turns and dives I made my way out until I was clear of the coast, and diving full throttle I headed for home.


Psalms 18:34 —— He teaches my hands to make war, So that my arms can bend a bow of bronze.
Christianity is a war and we are soldiers on the battlefield. Our enemy is Satan and the evil powers of darkness. WE are engaged in the battle between God's truth and the lies of Satan. There is a fierce inner battle that goes on between the flesh and the spirit – the old man and the new man. If we do not learn how to overcome the strong inner urge to gratify the flesh, sin will take us captive and enslave us.
Every time there is a war within us, it gives birth to a miracle. If we go through trials and we make a decision to believe and act according to the Word, the Lord will teach us new tactics. By the time you come out of that battle, you will be victorious; you will have got your blessing and you will be stronger.
So how do we train ourselves to wage war against the power of darkness? God teaches us. How? When we study His Word! It helps us to become a better person. When I teach the Word, that Word touches me first before it touches you. I am not teaching you, the Lord is the one who teaches and we are all in the same class. The same Word cuts me before it cuts you.
When our action corresponds to the Word of God we know we believe the Word. By making a firm decision and sticking to it, irrespective of what other around us have to say, we obey God's Word.
By calling out to the Lord, we're saying we're hungry for Him, we need Him, and we can't make it without Him. By calling on the Lord's dear name, we contact the Lord who is dwelling in our spirit as the life-giving Spirit. And when we call on Jesus, He saves us by imparting more of His divine life into us.
Wherever we are and at any time, whether we call loudly or softly, just like a child get's the mother he calls out to, we get our living Lord. The Lord Jesus is always available—He's just a call away! But first, we must believe in His Word!
WHENEVER YOU DO NOT UNDERSTAND WHAT IS HAPPENING IN YOUR LIFE JUST CLOSE YOUR EYES, TAKE A DEEP BREATH AND SAY," GOD, I KNOW IT IS YOUR PLAN JUST HELP ME THROUGH IT".


text:
/ August 16, 2012
Who is the greatest pitcher in Cincinnati Reds history?
/3 Comments
These players belong in the Baseball Hall of Fame
Every baseball fan has an opinion about who should be in the Hall of Fame. The debates can be fun and heated. Here's a team of the the best players at each position who are still not in the Hall of Fame, but in this writer's opinion, should be.
Starting Pitcher: Jack Morris
No starting pitcher who started his career after 1970 and before 1986 has been elected to the Hall of Fame. If every era deserves to have their best players elected, Morris is a no-brainer as the pitcher of the 1980s. His detractors point out that his ERA would be the highest of any pitcher in the Hall, but anyone who saw Morris pitch knows he was an amazing competitor and a winner: the workhorse of his era. He was the ace of three pennant-winning teams and was instrumental in three World Series victories: 1984, 1991, and 1992.
UPDATE: Morris was elected via the Hall of Fame eras committee in 2017.
Another one for the Hall: Wes Ferrell
Relief Pitcher: Dan Quisenberry
If Koufax can be in the Hall for essentially six seasons as a starting pitcher, Quiz should make it for his six years as a closer. From 1980-1985 he led all of baseball in saves, won five save titles, finished in the top five in Cy Young voting five of the six seasons, and pitched about 70 games per season (discounting the 1981 strike year). He was the absolute best closer in baseball and he helped the Royals to two pennants and four playoff appearances during that amazing six-year stretch of dominance. His adjusted ERA of 146 is among the best ever for a reliever. In his one year on the HOF ballot, Quiz failed to receive enough votes to stay on. In contrast, Bruce Sutter was eventually elected based on fewer top seasons. In his prime, Quiz was a better closer than Sutter, and his prime was longer than Sutter's. Nothing against Sutter, who deserved to be inducted, but Quisenberry is deserving of a plaque as well. He died in 1998, which hurts his chances because the HOF committee likes to elect guys who are alive.
Another one for the Hall: Lee Smith
Catcher: Bill Freehan
The catching ranks in Cooperstown are probably the most varied in skill of all the positions. There's an entire universe that separates Johnny Bench and Yogi Berra from Rick Ferrell, Ernie Lombardi, and Ray Schalk. In the 1960s, when offensive numbers were miserable, Freehan was the best hitting catcher in baseball six out of 10 seasons, and was in the top three every year. He was the best defensive catcher in the American League nearly every year he played. This guy was a rock behind the plate and he had an accurate throwing arm that was feared by baserunners. Certainly no one of his era was any better at this demanding position, and Freehan did it for about 15 years. He was easily a better player than Ferrell, Schalk, Lombardi, and Buck Ewing. He's comparable to Gary Carter, who just played a few more years but who's batting stats are not really much better when adjusted for era. Freehan doesn't have a snowball's chance in hell of getting to Cooperstown, but he was a great catcher and should be there.
Another one for the Hall: Ted Simmons
First Baseman: Dick Allen
It's looking increasingly like he will never get into the Hall, but Dick Allen was a stud. For about 5-6 years he was as great a hitter as anyone in the game. That includes contemporaries like Willie McCovey, Carl Yastrzemski, Harmon Killebrew, Johnny Bench, and Reggie Jackson. Allen could run and he wasn't just a slugger, he hit for average too. It just didn't look like it because the batting averages in his era were 20-30% deflated. A .290 season in 1966 was like a .325 mark in the early 1980s. Had he played in the 1990s, Allen could have put up Manny Ramirez numbers. He was that good, and he was clean. Of course, his being perceived as a prick doesn't help his chances, but the veterans committee shouldn't take that into account. I mean, Bob Gibson and Jim Bunning are in.
Another one for the Hall: Gil Hodges
Second Baseman: Bobby Grich
Based on his peak value, Grich is the best second baseman not in the Hall. Lou Whitaker could just as easily be in this spot based on his career value. Grich was an incredible defensive second baseman, leading the league in putouts four times, assists three times, and range four times. He won a Gold Glove Award four times, and probably should have won many more. At the plate, Grich did a lot of things that don't show up on the back of a baseball card: like drawing walks and hitting for extra-bases. He hit .300 once and drove in 100 runs once, but his prime was in the 1970s and early 1980s, when runs were scored less frequently than they were when Jeff Kent was putting up insane numbers for a second baseman in the 1990s. Grich did receive MVP votes in five different seasons, which is indicative of how well respected he was in his time. Grich's career WAR of 67.6 is higher than that of Ryne Sandberg, Roberto Alomar, and Craig Biggio. He'll never be elected because he wasn't sexy enough, but if a future Veterans Committee wants to make a wise gesture, they'll elect this underrated and overlooked star.
Another one for the Hall: Lou Whitaker
Shortstop: Alan Trammell
The other half of the Tigers long-standing double play duo with Whitaker, Trammell is just as deserving of a Cooperstown plaque as Sweet Lou. The "problem" with Trammell is that he did everything very well, but not great or flashy. Want hitting? He hit .300 seven times and he was a cleanup hitter when he was asked to do that, hitting .343 with an MVP-like season in '87 (he should have won that award, but that's another story). Want fielding? Trammell won several Gold Gloves and was the type of player who seemed perfectly positioned for every hitter and every ground ball. Want running? He swiped as many as 30 bases in a season with highs success rate. Want clutch? Trammell hit .417 with seven homers and 20 RBI in the last month of the '87 season as Detroit won the division title in thrilling fashion; he was also the MVP of the '84 World Series. Trammell was a far superior offensive player to Ozzie Smith, and the difference in their defensive game wasn't so great that it tips the balance to the Wizard. As one baseball lifer who was coaching in the 1980s said, "No one would have traded Trammell straight up for Ozzie in their primes, nobody."
UPDATE: Trammell was elected via the Hall of Fame eras committee in 2017.
Another one for the Hall: Dave Concepcion
Third Baseman: Graig Nettles
After the decline and retirement of Brooks Robinson, the void for great third basemen was filled ably by Mike Schmidt and George Brett. Nettles was their contemporary, and he doesn't match up with those legends, but he was great enough on his own to deserve to be enshrined in Cooperstown. Nettles was an amazing defensive third baseman, the best in the American League for about 7-8 years, and he showed that off famously in the 1977 World Series. He also had great power, popping 390 homers and leading the AL in that category: he and ARod are the only third basemen to lead the AL in homers in the last 40 years. Like Grich, Nettles didn't hit for high average or reach a lot of magical statistical milestones season-after-season. He just kept plugging away hitting 20-30 homers and driving in 75-95 runs every year while playing Gold Glove defense. And he was a winner: he played on five pennant-winners with the Yankees and Padres. He certainly wouldn't be the worst third baseman in the HOF.
Another one for the Hall: Ken Boyer
Left Fielder: Tim Raines
One of the greatest leadoff hitters in baseball history – period. It's perplexing that Raines hasn't received more support yet on the Hall of Fame ballot. In his prime, which lasted for a long time, Raines was Rickey Henderson-lite: getting on base, stealing tons of bases, and scoring runs. Raines was actually a better hitter than Henderson, averaging nearly .300 for his career and winning a batting title. He swiped over 800 bases and scored over 1,500 runs. There really wasn't much else he could have done to prove how great he was.
UPDATE: Raines was finally elected to the Hall of Fame by the BBWAA in 2017.
Another one for the Hall: Lefty O'Doul
Center Fielder: Dale Murphy
A two-time MVP, Murrphy's best argument is his peak value. From 1982-1987, he averaged .289, 36 homers, 105 RBI, 110 runs scored, and 18 steals. During those six seasons he won five Gold Gloves in center field and was almost universally acclaimed as the most complete player in baseball. Unfortunately, in his non-peak seasons he hit for low averages and struck out a lot. But so did Reggie Jackson. Murphy only got one chance to play in the post-season, in just three games in 1982. His OPS (.815) and OPS+ (121) compare favorably to Kirby Puckett, but Puckett hit for high average, which turns voters heads. Murphy continues to pop up on the occasional HOF ballot, but unlike Jim Rice, a comparable slugger from the same era (who wasn't close to being the complete player Murph was), he's a long shot for election.
Another one for the Hall: Kenny Lofton
Right Fielder: Reggie Smith
This talented outfielder really had two careers: he was a young five-tool star for the Boston Red Sox, and then later he was a slugger for the Los Angeles Dodgers. In both incarnations, Reggie was a great player. He hit .300 seven times, and like a few others on this list, he would have been a consistent .320 hitter in an era where offense wasn't deflated. He was a speedy center fielder early in his career, and one of the best baserunners in the game. Later he played right field and didn't steal as much. He walked a good amount and avoided things like grounding into double plays and making costly mistakes in the field. He hit over 300 home runs and was an important part of three pennant-winning teams.
Another one for the Hall: Larry Walker
Tags:Alan TrammellBaseball Hall of FameBill FreehanBobby GrichDale Murphydan quisenberryDick AllenGraig NettlesJack MorrisPete RoseReggie SmithTim Raines
Ginger Beaumont and Bobby Veach
Dan "Curly" Goodale
You have some great choices. They all deserve the Hall. I will add another vote–Darrell Evans.
Thanks Dan
I agree with most of these. Reggie Smith was one of the best switch-hitters of all time & had a cannon for an arm. You left out his time in St. Louis, where he & the equally deserving Ted Simmons gave Cards their only power.
Tony Gwynn: Pride of San Diego

redpajama_set_name: RedPajamaCommonCrawl


A few weeks ago, I attended the launch ceremony of the new Palestine Capital Growth Fund, a subsidiary of the multibillion-dollar, Dubai-based private equity fund Abraaj. I found that many people questioned why Abraaj would operate in the Palestinian Territories. Some would even describe such a move as a pure act of social responsibility. But it is not.
MIGA recently closed its second transaction supporting a project with an Islamic financing structure—the first was for a port project in Djibouti back in 2007. For this new project, MIGA provided political risk insurance to two financial institutions, Deutsche Bank Luxembourg and Saudi British Bank, for their $450 million financing to the Indonesia telecoms company PT Natrindon Telepon Selular, or NTS.


KMK's Management Rights Blog will focus on labor and employment law issues, developments, and musings. We will cover issues and developments in our home state of Ohio and beyond. We are management side lawyers and this blog will focus on the management perspective, which is often ignored or misrepresented in main stream press reporting of labor and employment law developments.
Your participation in the blog through suggestions, requests, comments and criticisms is welcomed. We will try to respond to any emails we receive, time permitting. If we refer to comments we receive in future posts, we will not attribute them without permission.


An offensive play in which a player makes a three-point field goal while being fouled. Because the player is in the act of shooting, the three-point field goal counts and the player is rewarded with one free throw. Making the free throw attempt completes the four-point play.
Four is the greatest number of points a player can score in one play, but it happens very rarely in basketball. Atlanta Hawks combo guard Jamal Crawford holds the NBA record in career four-point plays with 28.