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.Ads.GoogleAds.V10.Services {

  /// Holder for reflection information generated from google/ads/googleads/v10/services/keyword_plan_campaign_keyword_service.proto
  public static partial class KeywordPlanCampaignKeywordServiceReflection {

    #region Descriptor
    /// File descriptor for google/ads/googleads/v10/services/keyword_plan_campaign_keyword_service.proto
    public static pbr::FileDescriptor Descriptor {
      get { return descriptor; }
    }
    private static pbr::FileDescriptor descriptor;

    static KeywordPlanCampaignKeywordServiceReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "Ck1nb29nbGUvYWRzL2dvb2dsZWFkcy92MTAvc2VydmljZXMva2V5d29yZF9w",
            "bGFuX2NhbXBhaWduX2tleXdvcmRfc2VydmljZS5wcm90bxIhZ29vZ2xlLmFk",
            "cy5nb29nbGVhZHMudjEwLnNlcnZpY2VzGkZnb29nbGUvYWRzL2dvb2dsZWFk",
            "cy92MTAvcmVzb3VyY2VzL2tleXdvcmRfcGxhbl9jYW1wYWlnbl9rZXl3b3Jk",
            "LnByb3RvGhxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGhdnb29nbGUv",
            "YXBpL2NsaWVudC5wcm90bxofZ29vZ2xlL2FwaS9maWVsZF9iZWhhdmlvci5w",
            "cm90bxoZZ29vZ2xlL2FwaS9yZXNvdXJjZS5wcm90bxogZ29vZ2xlL3Byb3Rv",
            "YnVmL2ZpZWxkX21hc2sucHJvdG8aF2dvb2dsZS9ycGMvc3RhdHVzLnByb3Rv",
            "ItUBCihNdXRhdGVLZXl3b3JkUGxhbkNhbXBhaWduS2V5d29yZHNSZXF1ZXN0",
            "EhgKC2N1c3RvbWVyX2lkGAEgASgJQgPgQQISXwoKb3BlcmF0aW9ucxgCIAMo",
            "CzJGLmdvb2dsZS5hZHMuZ29vZ2xlYWRzLnYxMC5zZXJ2aWNlcy5LZXl3b3Jk",
            "UGxhbkNhbXBhaWduS2V5d29yZE9wZXJhdGlvbkID4EECEhcKD3BhcnRpYWxf",
            "ZmFpbHVyZRgDIAEoCBIVCg12YWxpZGF0ZV9vbmx5GAQgASgIItMCCiNLZXl3",
            "b3JkUGxhbkNhbXBhaWduS2V5d29yZE9wZXJhdGlvbhIvCgt1cGRhdGVfbWFz",
            "axgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sSUAoGY3JlYXRl",
            "GAEgASgLMj4uZ29vZ2xlLmFkcy5nb29nbGVhZHMudjEwLnJlc291cmNlcy5L",
            "ZXl3b3JkUGxhbkNhbXBhaWduS2V5d29yZEgAElAKBnVwZGF0ZRgCIAEoCzI+",
            "Lmdvb2dsZS5hZHMuZ29vZ2xlYWRzLnYxMC5yZXNvdXJjZXMuS2V5d29yZFBs",
            "YW5DYW1wYWlnbktleXdvcmRIABJKCgZyZW1vdmUYAyABKAlCOPpBNQozZ29v",
            "Z2xlYWRzLmdvb2dsZWFwaXMuY29tL0tleXdvcmRQbGFuQ2FtcGFpZ25LZXl3",
            "b3JkSABCCwoJb3BlcmF0aW9uIroBCilNdXRhdGVLZXl3b3JkUGxhbkNhbXBh",
            "aWduS2V5d29yZHNSZXNwb25zZRIxChVwYXJ0aWFsX2ZhaWx1cmVfZXJyb3IY",
            "AyABKAsyEi5nb29nbGUucnBjLlN0YXR1cxJaCgdyZXN1bHRzGAIgAygLMkku",
            "Z29vZ2xlLmFkcy5nb29nbGVhZHMudjEwLnNlcnZpY2VzLk11dGF0ZUtleXdv",
            "cmRQbGFuQ2FtcGFpZ25LZXl3b3JkUmVzdWx0InkKJk11dGF0ZUtleXdvcmRQ",
            "bGFuQ2FtcGFpZ25LZXl3b3JkUmVzdWx0Ek8KDXJlc291cmNlX25hbWUYASAB",
            "KAlCOPpBNQozZ29vZ2xlYWRzLmdvb2dsZWFwaXMuY29tL0tleXdvcmRQbGFu",
            "Q2FtcGFpZ25LZXl3b3JkMpIDCiFLZXl3b3JkUGxhbkNhbXBhaWduS2V5d29y",
            "ZFNlcnZpY2USpQIKIU11dGF0ZUtleXdvcmRQbGFuQ2FtcGFpZ25LZXl3b3Jk",
            "cxJLLmdvb2dsZS5hZHMuZ29vZ2xlYWRzLnYxMC5zZXJ2aWNlcy5NdXRhdGVL",
            "ZXl3b3JkUGxhbkNhbXBhaWduS2V5d29yZHNSZXF1ZXN0GkwuZ29vZ2xlLmFk",
            "cy5nb29nbGVhZHMudjEwLnNlcnZpY2VzLk11dGF0ZUtleXdvcmRQbGFuQ2Ft",
            "cGFpZ25LZXl3b3Jkc1Jlc3BvbnNlImWC0+STAkYiQS92MTAvY3VzdG9tZXJz",
            "L3tjdXN0b21lcl9pZD0qfS9rZXl3b3JkUGxhbkNhbXBhaWduS2V5d29yZHM6",
            "bXV0YXRlOgEq2kEWY3VzdG9tZXJfaWQsb3BlcmF0aW9ucxpFykEYZ29vZ2xl",
            "YWRzLmdvb2dsZWFwaXMuY29t0kEnaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5j",
            "b20vYXV0aC9hZHdvcmRzQpICCiVjb20uZ29vZ2xlLmFkcy5nb29nbGVhZHMu",
            "djEwLnNlcnZpY2VzQiZLZXl3b3JkUGxhbkNhbXBhaWduS2V5d29yZFNlcnZp",
            "Y2VQcm90b1ABWklnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVh",
            "cGlzL2Fkcy9nb29nbGVhZHMvdjEwL3NlcnZpY2VzO3NlcnZpY2VzogIDR0FB",
            "qgIhR29vZ2xlLkFkcy5Hb29nbGVBZHMuVjEwLlNlcnZpY2VzygIhR29vZ2xl",
            "XEFkc1xHb29nbGVBZHNcVjEwXFNlcnZpY2Vz6gIlR29vZ2xlOjpBZHM6Okdv",
            "b2dsZUFkczo6VjEwOjpTZXJ2aWNlc2IGcHJvdG8z"));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::Google.Ads.GoogleAds.V10.Resources.KeywordPlanCampaignKeywordReflection.Descriptor, global::Google.Api.AnnotationsReflection.Descriptor, global::Google.Api.ClientReflection.Descriptor, global::Google.Api.FieldBehaviorReflection.Descriptor, global::Google.Api.ResourceReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.FieldMaskReflection.Descriptor, global::Google.Rpc.StatusReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Ads.GoogleAds.V10.Services.MutateKeywordPlanCampaignKeywordsRequest), global::Google.Ads.GoogleAds.V10.Services.MutateKeywordPlanCampaignKeywordsRequest.Parser, new[]{ "CustomerId", "Operations", "PartialFailure", "ValidateOnly" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Ads.GoogleAds.V10.Services.KeywordPlanCampaignKeywordOperation), global::Google.Ads.GoogleAds.V10.Services.KeywordPlanCampaignKeywordOperation.Parser, new[]{ "UpdateMask", "Create", "Update", "Remove" }, new[]{ "Operation" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Ads.GoogleAds.V10.Services.MutateKeywordPlanCampaignKeywordsResponse), global::Google.Ads.GoogleAds.V10.Services.MutateKeywordPlanCampaignKeywordsResponse.Parser, new[]{ "PartialFailureError", "Results" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Ads.GoogleAds.V10.Services.MutateKeywordPlanCampaignKeywordResult), global::Google.Ads.GoogleAds.V10.Services.MutateKeywordPlanCampaignKeywordResult.Parser, new[]{ "ResourceName" }, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Messages
  ///
  /// Request message for
  /// [KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords][google.ads.googleads.v10.services.KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords].
  ///
  public sealed partial class MutateKeywordPlanCampaignKeywordsRequest : pb::IMessage<MutateKeywordPlanCampaignKeywordsRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MutateKeywordPlanCampaignKeywordsRequest> _parser = new pb::MessageParser<MutateKeywordPlanCampaignKeywordsRequest>(() => new MutateKeywordPlanCampaignKeywordsRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MutateKeywordPlanCampaignKeywordsRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Ads.GoogleAds.V10.Services.KeywordPlanCampaignKeywordServiceReflection.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 MutateKeywordPlanCampaignKeywordsRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// Field number for the "customer_id" field.
    public const int CustomerIdFieldNumber = 1;
    private string customerId_ = "";
    ///
    /// Required. The ID of the customer whose campaign keywords are being modified.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CustomerId {
      get { return customerId_; }
      set {
        customerId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "operations" field.
    public const int OperationsFieldNumber = 2;
    private static readonly pb::FieldCodec<global::Google.Ads.GoogleAds.V10.Services.KeywordPlanCampaignKeywordOperation> _repeated_operations_codec
        = pb::FieldCodec.ForMessage(18, global::Google.Ads.GoogleAds.V10.Services.KeywordPlanCampaignKeywordOperation.Parser);
    private readonly pbc::RepeatedField<global::Google.Ads.GoogleAds.V10.Services.KeywordPlanCampaignKeywordOperation> operations_ = new pbc::RepeatedField<global::Google.Ads.GoogleAds.V10.Services.KeywordPlanCampaignKeywordOperation>();
    ///
    /// Required. The list of operations to perform on individual Keyword Plan campaign
    /// keywords.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Google.Ads.GoogleAds.V10.Services.KeywordPlanCampaignKeywordOperation> Operations {
      get { return operations_; }
    }

    /// Field number for the "partial_failure" field.
    public const int PartialFailureFieldNumber = 3;
    private bool partialFailure_;
    ///
    /// If true, successful operations will be carried out and invalid
    /// operations will return errors. If false, all operations will be carried
    /// out in one transaction if and only if they are all valid.
    /// Default is false.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PartialFailure {
      get { return partialFailure_; }
      set {
        partialFailure_ = value;
      }
    }

    /// Field number for the "validate_only" field.
    public const int ValidateOnlyFieldNumber = 4;
    private bool validateOnly_;
    ///
    /// If true, the request is validated but not executed. Only errors are
    /// returned, not results.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool ValidateOnly {
      get { return validateOnly_; }
      set {
        validateOnly_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MutateKeywordPlanCampaignKeywordsRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (CustomerId != other.CustomerId) return false;
      if(!operations_.Equals(other.operations_)) return false;
      if (PartialFailure != other.PartialFailure) return false;
      if (ValidateOnly != other.ValidateOnly) 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 (CustomerId.Length != 0) hash ^= CustomerId.GetHashCode();
      hash ^= operations_.GetHashCode();
      if (PartialFailure != false) hash ^= PartialFailure.GetHashCode();
      if (ValidateOnly != false) hash ^= ValidateOnly.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 (CustomerId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CustomerId);
      }
      operations_.WriteTo(output, _repeated_operations_codec);
      if (PartialFailure != false) {
        output.WriteRawTag(24);
        output.WriteBool(PartialFailure);
      }
      if (ValidateOnly != false) {
        output.WriteRawTag(32);
        output.WriteBool(ValidateOnly);
      }
      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 (CustomerId.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(CustomerId);
      }
      operations_.WriteTo(ref output, _repeated_operations_codec);
      if (PartialFailure != false) {
        output.WriteRawTag(24);
        output.WriteBool(PartialFailure);
      }
      if (ValidateOnly != false) {
        output.WriteRawTag(32);
        output.WriteBool(ValidateOnly);
      }
      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 (CustomerId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CustomerId);
      }
      size += operations_.CalculateSize(_repeated_operations_codec);
      if (PartialFailure != false) {
        size += 1 + 1;
      }
      if (ValidateOnly != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MutateKeywordPlanCampaignKeywordsRequest other) {
      if (other == null) {
        return;
      }
      if (other.CustomerId.Length != 0) {
        CustomerId = other.CustomerId;
      }
      operations_.Add(other.operations_);
      if (other.PartialFailure != false) {
        PartialFailure = other.PartialFailure;
      }
      if (other.ValidateOnly != false) {
        ValidateOnly = other.ValidateOnly;
      }
      _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: {
            CustomerId = input.ReadString();
            break;
          }
          case 18: {
            operations_.AddEntriesFrom(input, _repeated_operations_codec);
            break;
          }
          case 24: {
            PartialFailure = input.ReadBool();
            break;
          }
          case 32: {
            ValidateOnly = input.ReadBool();
            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: {
            CustomerId = input.ReadString();
            break;
          }
          case 18: {
            operations_.AddEntriesFrom(ref input, _repeated_operations_codec);
            break;
          }
          case 24: {
            PartialFailure = input.ReadBool();
            break;
          }
          case 32: {
            ValidateOnly = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// A single operation (create, update, remove) on a Keyword Plan campaign
  /// keyword.
  ///
  public sealed partial class KeywordPlanCampaignKeywordOperation : pb::IMessage<KeywordPlanCampaignKeywordOperation>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<KeywordPlanCampaignKeywordOperation> _parser = new pb::MessageParser<KeywordPlanCampaignKeywordOperation>(() => new KeywordPlanCampaignKeywordOperation());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<KeywordPlanCampaignKeywordOperation> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Ads.GoogleAds.V10.Services.KeywordPlanCampaignKeywordServiceReflection.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 KeywordPlanCampaignKeywordOperation() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public KeywordPlanCampaignKeywordOperation(KeywordPlanCampaignKeywordOperation other) : this() {
      updateMask_ = other.updateMask_ != null ? other.updateMask_.Clone() : null;
      switch (other.OperationCase) {
        case OperationOneofCase.Create:
          Create = other.Create.Clone();
          break;
        case OperationOneofCase.Update:
          Update = other.Update.Clone();
          break;
        case OperationOneofCase.Remove:
          Remove = other.Remove;
          break;
      }

      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

    /// Field number for the "update_mask" field.
    public const int UpdateMaskFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.FieldMask updateMask_;
    ///
    /// The FieldMask that determines which resource fields are modified in an
    /// update.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.FieldMask UpdateMask {
      get { return updateMask_; }
      set {
        updateMask_ = value;
      }
    }

    /// Field number for the "create" field.
    public const int CreateFieldNumber = 1;
    ///
    /// Create operation: No resource name is expected for the new Keyword Plan
    /// campaign keyword.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Ads.GoogleAds.V10.Resources.KeywordPlanCampaignKeyword Create {
      get { return operationCase_ == OperationOneofCase.Create ? (global::Google.Ads.GoogleAds.V10.Resources.KeywordPlanCampaignKeyword) operation_ : null; }
      set {
        operation_ = value;
        operationCase_ = value == null ? OperationOneofCase.None : OperationOneofCase.Create;
      }
    }

    /// Field number for the "update" field.
    public const int UpdateFieldNumber = 2;
    ///
    /// Update operation: The Keyword Plan campaign keyword expected to have a
    /// valid resource name.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Ads.GoogleAds.V10.Resources.KeywordPlanCampaignKeyword Update {
      get { return operationCase_ == OperationOneofCase.Update ? (global::Google.Ads.GoogleAds.V10.Resources.KeywordPlanCampaignKeyword) operation_ : null; }
      set {
        operation_ = value;
        operationCase_ = value == null ? OperationOneofCase.None : OperationOneofCase.Update;
      }
    }

    /// Field number for the "remove" field.
    public const int RemoveFieldNumber = 3;
    ///
    /// Remove operation: A resource name for the removed Keyword Plan campaign
    /// keywords expected in this format:
    ///
    /// `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Remove {
      get { return operationCase_ == OperationOneofCase.Remove ? (string) operation_ : ""; }
      set {
        operation_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
        operationCase_ = OperationOneofCase.Remove;
      }
    }

    private object operation_;
    /// Enum of possible cases for the "operation" oneof.
    public enum OperationOneofCase {
      None = 0,
      Create = 1,
      Update = 2,
      Remove = 3,
    }
    private OperationOneofCase operationCase_ = OperationOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public OperationOneofCase OperationCase {
      get { return operationCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearOperation() {
      operationCase_ = OperationOneofCase.None;
      operation_ = null;
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(KeywordPlanCampaignKeywordOperation other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(UpdateMask, other.UpdateMask)) return false;
      if (!object.Equals(Create, other.Create)) return false;
      if (!object.Equals(Update, other.Update)) return false;
      if (Remove != other.Remove) return false;
      if (OperationCase != other.OperationCase) 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 (updateMask_ != null) hash ^= UpdateMask.GetHashCode();
      if (operationCase_ == OperationOneofCase.Create) hash ^= Create.GetHashCode();
      if (operationCase_ == OperationOneofCase.Update) hash ^= Update.GetHashCode();
      if (operationCase_ == OperationOneofCase.Remove) hash ^= Remove.GetHashCode();
      hash ^= (int) operationCase_;
      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 (operationCase_ == OperationOneofCase.Create) {
        output.WriteRawTag(10);
        output.WriteMessage(Create);
      }
      if (operationCase_ == OperationOneofCase.Update) {
        output.WriteRawTag(18);
        output.WriteMessage(Update);
      }
      if (operationCase_ == OperationOneofCase.Remove) {
        output.WriteRawTag(26);
        output.WriteString(Remove);
      }
      if (updateMask_ != null) {
        output.WriteRawTag(34);
        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 (operationCase_ == OperationOneofCase.Create) {
        output.WriteRawTag(10);
        output.WriteMessage(Create);
      }
      if (operationCase_ == OperationOneofCase.Update) {
        output.WriteRawTag(18);
        output.WriteMessage(Update);
      }
      if (operationCase_ == OperationOneofCase.Remove) {
        output.WriteRawTag(26);
        output.WriteString(Remove);
      }
      if (updateMask_ != null) {
        output.WriteRawTag(34);
        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 (updateMask_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(UpdateMask);
      }
      if (operationCase_ == OperationOneofCase.Create) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Create);
      }
      if (operationCase_ == OperationOneofCase.Update) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Update);
      }
      if (operationCase_ == OperationOneofCase.Remove) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Remove);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(KeywordPlanCampaignKeywordOperation other) {
      if (other == null) {
        return;
      }
      if (other.updateMask_ != null) {
        if (updateMask_ == null) {
          UpdateMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
        }
        UpdateMask.MergeFrom(other.UpdateMask);
      }
      switch (other.OperationCase) {
        case OperationOneofCase.Create:
          if (Create == null) {
            Create = new global::Google.Ads.GoogleAds.V10.Resources.KeywordPlanCampaignKeyword();
          }
          Create.MergeFrom(other.Create);
          break;
        case OperationOneofCase.Update:
          if (Update == null) {
            Update = new global::Google.Ads.GoogleAds.V10.Resources.KeywordPlanCampaignKeyword();
          }
          Update.MergeFrom(other.Update);
          break;
        case OperationOneofCase.Remove:
          Remove = other.Remove;
          break;
      }

      _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: {
            global::Google.Ads.GoogleAds.V10.Resources.KeywordPlanCampaignKeyword subBuilder = new global::Google.Ads.GoogleAds.V10.Resources.KeywordPlanCampaignKeyword();
            if (operationCase_ == OperationOneofCase.Create) {
              subBuilder.MergeFrom(Create);
            }
            input.ReadMessage(subBuilder);
            Create = subBuilder;
            break;
          }
          case 18: {
            global::Google.Ads.GoogleAds.V10.Resources.KeywordPlanCampaignKeyword subBuilder = new global::Google.Ads.GoogleAds.V10.Resources.KeywordPlanCampaignKeyword();
            if (operationCase_ == OperationOneofCase.Update) {
              subBuilder.MergeFrom(Update);
            }
            input.ReadMessage(subBuilder);
            Update = subBuilder;
            break;
          }
          case 26: {
            Remove = input.ReadString();
            break;
          }
          case 34: {
            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: {
            global::Google.Ads.GoogleAds.V10.Resources.KeywordPlanCampaignKeyword subBuilder = new global::Google.Ads.GoogleAds.V10.Resources.KeywordPlanCampaignKeyword();
            if (operationCase_ == OperationOneofCase.Create) {
              subBuilder.MergeFrom(Create);
            }
            input.ReadMessage(subBuilder);
            Create = subBuilder;
            break;
          }
          case 18: {
            global::Google.Ads.GoogleAds.V10.Resources.KeywordPlanCampaignKeyword subBuilder = new global::Google.Ads.GoogleAds.V10.Resources.KeywordPlanCampaignKeyword();
            if (operationCase_ == OperationOneofCase.Update) {
              subBuilder.MergeFrom(Update);
            }
            input.ReadMessage(subBuilder);
            Update = subBuilder;
            break;
          }
          case 26: {
            Remove = input.ReadString();
            break;
          }
          case 34: {
            if (updateMask_ == null) {
              UpdateMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
            }
            input.ReadMessage(UpdateMask);
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// Response message for a Keyword Plan campaign keyword mutate.
  ///
  public sealed partial class MutateKeywordPlanCampaignKeywordsResponse : pb::IMessage<MutateKeywordPlanCampaignKeywordsResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MutateKeywordPlanCampaignKeywordsResponse> _parser = new pb::MessageParser<MutateKeywordPlanCampaignKeywordsResponse>(() => new MutateKeywordPlanCampaignKeywordsResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MutateKeywordPlanCampaignKeywordsResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Ads.GoogleAds.V10.Services.KeywordPlanCampaignKeywordServiceReflection.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 MutateKeywordPlanCampaignKeywordsResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// Field number for the "partial_failure_error" field.
    public const int PartialFailureErrorFieldNumber = 3;
    private global::Google.Rpc.Status partialFailureError_;
    ///
    /// Errors that pertain to operation failures in the partial failure mode.
    /// Returned only when partial_failure = true and all errors occur inside the
    /// operations. If any errors occur outside the operations (for example, auth
    /// errors), we return an RPC level error.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Rpc.Status PartialFailureError {
      get { return partialFailureError_; }
      set {
        partialFailureError_ = value;
      }
    }

    /// Field number for the "results" field.
    public const int ResultsFieldNumber = 2;
    private static readonly pb::FieldCodec<global::Google.Ads.GoogleAds.V10.Services.MutateKeywordPlanCampaignKeywordResult> _repeated_results_codec
        = pb::FieldCodec.ForMessage(18, global::Google.Ads.GoogleAds.V10.Services.MutateKeywordPlanCampaignKeywordResult.Parser);
    private readonly pbc::RepeatedField<global::Google.Ads.GoogleAds.V10.Services.MutateKeywordPlanCampaignKeywordResult> results_ = new pbc::RepeatedField<global::Google.Ads.GoogleAds.V10.Services.MutateKeywordPlanCampaignKeywordResult>();
    ///
    /// All results for the mutate.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Google.Ads.GoogleAds.V10.Services.MutateKeywordPlanCampaignKeywordResult> Results {
      get { return results_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MutateKeywordPlanCampaignKeywordsResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(PartialFailureError, other.PartialFailureError)) return false;
      if(!results_.Equals(other.results_)) 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 (partialFailureError_ != null) hash ^= PartialFailureError.GetHashCode();
      hash ^= results_.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
      results_.WriteTo(output, _repeated_results_codec);
      if (partialFailureError_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(PartialFailureError);
      }
      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) {
      results_.WriteTo(ref output, _repeated_results_codec);
      if (partialFailureError_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(PartialFailureError);
      }
      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 (partialFailureError_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(PartialFailureError);
      }
      size += results_.CalculateSize(_repeated_results_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MutateKeywordPlanCampaignKeywordsResponse other) {
      if (other == null) {
        return;
      }
      if (other.partialFailureError_ != null) {
        if (partialFailureError_ == null) {
          PartialFailureError = new global::Google.Rpc.Status();
        }
        PartialFailureError.MergeFrom(other.PartialFailureError);
      }
      results_.Add(other.results_);
      _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 18: {
            results_.AddEntriesFrom(input, _repeated_results_codec);
            break;
          }
          case 26: {
            if (partialFailureError_ == null) {
              PartialFailureError = new global::Google.Rpc.Status();
            }
            input.ReadMessage(PartialFailureError);
            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 18: {
            results_.AddEntriesFrom(ref input, _repeated_results_codec);
            break;
          }
          case 26: {
            if (partialFailureError_ == null) {
              PartialFailureError = new global::Google.Rpc.Status();
            }
            input.ReadMessage(PartialFailureError);
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The result for the Keyword Plan campaign keyword mutate.
  ///
  public sealed partial class MutateKeywordPlanCampaignKeywordResult : pb::IMessage<MutateKeywordPlanCampaignKeywordResult>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MutateKeywordPlanCampaignKeywordResult> _parser = new pb::MessageParser<MutateKeywordPlanCampaignKeywordResult>(() => new MutateKeywordPlanCampaignKeywordResult());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MutateKeywordPlanCampaignKeywordResult> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Ads.GoogleAds.V10.Services.KeywordPlanCampaignKeywordServiceReflection.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 MutateKeywordPlanCampaignKeywordResult() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// Field number for the "resource_name" field.
    public const int ResourceNameFieldNumber = 1;
    private string resourceName_ = "";
    ///
    /// Returned for successful operations.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ResourceName {
      get { return resourceName_; }
      set {
        resourceName_ = 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 MutateKeywordPlanCampaignKeywordResult);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MutateKeywordPlanCampaignKeywordResult other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ResourceName != other.ResourceName) 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 (ResourceName.Length != 0) hash ^= ResourceName.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 (ResourceName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ResourceName);
      }
      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 (ResourceName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(ResourceName);
      }
      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 (ResourceName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ResourceName);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MutateKeywordPlanCampaignKeywordResult other) {
      if (other == null) {
        return;
      }
      if (other.ResourceName.Length != 0) {
        ResourceName = other.ResourceName;
      }
      _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: {
            ResourceName = 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: {
            ResourceName = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code

redpajama_set_name: RedPajamaGithub


Pencil style portraits are available, please contact me for prices and attach a photo so I can give you a quote.
Pencil style portraits, see original picture below. Contact me for a quote. These were stitched onto jackets.


text:
from unittest import TestCase, main

# Import from lpod
from lpod.element import odf_text, odf_create_element

class TextTestCase(TestCase):

    def setUp(self):
        element = odf_create_element('<text:p>text<text:span/>tail</text:p>')
        self.results = element.xpath('descendant::text()')

    def test_nodes(self):
        self.assertEqual(len(self.results), 2)

    def test_type(self):
        self.assert_(type(self.results[0]) is odf_text)

    def test_text(self):
        text = self.results[0]
        self.assertEqual(text, u"text")
        self.assert_(text.is_text() is True)
        self.assert_(text.is_tail() is False)

    def test_tail(self):
        tail = self.results[1]
        self.assertEqual(tail, u"tail")
        self.assert_(tail.is_text() is False)
        self.assert_(tail.is_tail() is True)

class ParentTestCase(TestCase):

    def setUp(self):
        element = odf_create_element('<text:p>text<text:span/>tail</text:p>')
        self.results = element.xpath('descendant::text()')

    def test_text(self):
        text = self.results[0]
        self.assertEqual(text.get_parent().get_tag(), 'text:p')

    def test_tail(self):
        tail = self.results[1]
        self.assertEqual(tail.get_parent().get_tag(), 'text:span')

if __name__ == '__main__':
    main()


From our experience in using freeze-dry machines to process food products, supplementary foods, beverages, cosmetics, extracts and herbal remedies enables us to gather knowledge and develop machines based on diverse user demands with high product quality and standards, which has sparked the idea of developing high efficiency freeze-dry machines.
The domestically manufactured and imported freeze-dry machines sold on the market are designed to be similar to one another. The disadvantages are low efficiency, high power consumption, expensive prices, complex operation and difficult maintenance.
In addition, machines imported from abroad may face problems involving excessive power consumption or may not be able to reach target temperatures soon enough or low enough. Because Thailand is a hot country, summer temperatures in particular may rise above 40o C. This results in impact on the machine's cooling ability leading to further impact on product quality.
Our machines are designed to for high efficiency based on the principles of aerodynamics, heat transfer and fluid dynamics. Thus, more drying area is available for drying more raw materials to reduce drying costs. The body is designed with a larger opening, wind speed between the condenser tank and drying tank featuring more suitable and stronger for faster drying times, more drying volume and lower energy consumption compared to lower price freeze-drying machines with the same ice capacity. Our machines are patented with the Department of Intellectual Properties.
With our experience in using a variety of freeze-dry machines, we are familiar with the needs of machine operators. So, we design our machines to feature easy use, easy maintenance and durability. All the machine operator needs to do is perform maintenance according to the maintenance program for the machine to last a long time.
Why choose VK Freeze dry?
1. We have more than ten years of experience in the use of freeze-drying machinery and ongoing development. Our machinery has been developed based on our knowledge as users, so we have the best understanding of the needs of users.
2. Our freeze-drying machinery can be used for processing a wide variety of products as needed.
3. Our freeze-drying machinery offers the highest efficiency in the world and low electricity consumption with more drying space.
4. Our machinery also features easy maintenance and use, even for people who have never used freeze-drying machinery before.
5. We have service provision programs for annual maintenance and care throughout the usage life of the machinery.
6. Our SMS Alert system gives warnings about malfunctioning, electrical surges or cessation in equipment functioning.
8. Our machinery was manufactured in Thailand and uses high quality equipment meeting European standards and featuring long usage life.
9. We have financial programs to help with convenient, burden-free payment installments for machines.


text:
Learn more about the world's most popular CI/CD server
Get Jenkins Health Advisor by CloudBees
Jenkins® is an open source automation server. With Jenkins, organizations can accelerate the software development process by automating it. Jenkins manages and controls software delivery processes throughout the entire lifecycle, including build, document, test, package, stage, deployment, static code analysis and much more.
You can set up Jenkins to watch for any code changes in places like GitHub, Bitbucket or GitLab and automatically do a build a with tools like Maven and Gradle. You can utilize container technology such as Docker and Kubernetes, initiate tests and then take actions like rolling back or rolling forward in production.
Jenkins History
The Jenkins project was started in 2004 (originally called Hudson) by Kohsuke Kawaguchi, while he worked for Sun Microsystems. Kohsuke was a developer at Sun and got tired of incurring the wrath of his team every time his code broke the build. He created Jenkins as a way to perform continuous integration – that is, to test his code before he did an actual commit to the repository, to be sure all was well. Once his teammates saw what he was doing, they all wanted to use Jenkins. Kohsuke open sourced it, creating the Jenkins project, and soon Jenkins usage had spread around the world.
Jenkins Today
Originally developed by Kohsuke for continuous integration (CI), today Jenkins orchestrates the entire software delivery pipeline – called continuous delivery. For some organizations automation extends even further, to continuous deployment. Continuous delivery (CD), coupled with a DevOps culture, dramatically accelerates the delivery of software.
Jenkins is the most widely adopted solution for continuous delivery, thanks to its extensibility and a vibrant, active community. The Jenkins community offers more than 1,700 plugins that enable Jenkins to integrate with virtually any tool, including all of the best-of-breed solutions used throughout the continuous delivery process. Jenkins continues to grow as the dominant solution for software process automation, continuous integration and continuous delivery and, as of February 2018, there are more than 165,000 active installations and an estimated 1.65 million users around the world.
CloudBees and the Jenkins Community
CloudBees is an active participant in the Jenkins community and plays a significant role in supporting the project. A number of key contributors to the Jenkins project are employed by CloudBees. In support of the community, CloudBees is the lead sponsor of DevOps World | Jenkins World, the annual user conference for the Jenkins community. Jenkins World enables the community to gather together, fosters a sense of community, allows users to learn from each other and supports community growth. CloudBees has also supported the growth of Jenkins Area Meetups (JAMs) around the world and recently contributed the JAMS to the CDF where they can continue to grow.
Engineers from the CloudBees support and product teams regularly contribute code to the Jenkins project, are active in Jenkins chats and project meetings, and contribute to the Jenkins project mailing lists. Several of the key projects CloudBees has developed include Jenkins X, Jenkins Pipeline and Jenkins 2. Additionally, all fixes made by CloudBees in the open source code are contributed back to the project – which helps us all to enjoy an ever-higher quality Jenkins experience.
CloudBees also provides a monthly newsletter for the Jenkins community called Continuous Information. It is filled with community tips and tricks, articles, presentations, events occurring around the world and many other resources. Subscribe and have it delivered to your inbox every month.
Jenkins and the Continuous Delivery Foundation
In 2019, the Continuous Delivery Foundation (CDF) was launched operating under the umbrella of the Linux Foundation. CloudBees led the launch initiative, in collaboration with the Jenkins and Jenkins X communities, Google, the Linux Foundation, and more.
The CDF is focused on developing, nurturing and promoting open source projects, best practices and industry specifications related to continuous delivery. The CDF houses a variety of open source projects, including Jenkins, Jenkins X, Spinnaker and Tekton. Additional projects are expected to join, with the goal of bringing together a continuous delivery (CD) ecosystem to build specifications and projects around portability and interoperability. CloudBees participates as a founding member and contributes technologies and resources to the project on an ongoing basis
Jenkins community blog
Jenkins project Wiki pages
Jenkins Subreddit
How to join the Jenkins community
Jenkins chats
Take a Jenkins training class
Follow the Jenkins project on Twitter
The registered trademark Jenkins® is used pursuant to a sublicense from the Jenkins project and Software in the Public Interest, Inc.
Looking for expert Jenkins help?
Get a QuoteBuy Now

redpajama_set_name: RedPajamaCommonCrawl


According to witnesses, he was returning from a wedding when he was attacked by a group of unidentified gunmen around the Planteurs and Haute Tension avenues, Macampagne, not far from the Palais de Marbre in Ngaliema. The men fired at him and lodged a bullet in his head. According to a relative of the victim who arrived shortly afterwards at the scene: "The MP Daniel Botetsi was returning from a wedding. He took the Haute Tension road leading to Macampagne. Once there, he was ambushed by soldiers from the GR, commonly called Republican Guards. They shot at him instantly." The same source said that when the bandits fired the first shot, one of the bodyguards of the victim shot back to push them away. At the last moment, one of the bandits run after the MP and gunned him down. Three suspects are already in custody of military justice, said the source.
A member of the MLC, an opposition political party, the deceased leaves a widow and two orphans.
In response to this crime, the Provincial Inspector of Police, General Oleko announced during a press briefing held on the same Sunday that the suspects will be brought before the competent courts on Monday. He said he was shocked by this assassination and that a permanent police post will be put in the area where the crime was committed.


Awesome And Beautiful King Comforter Sets 110 X 96 Exotic Grey Set With 110x96 Regard To Decor 2. Extremely Creative King Comforter Sets 110 X 96 110x96 In Bedding Amazon Com Chezmoi Collection Seville Burgundy Cal 9 Piece Jacquard Black Gold Maroon Red Medallion Paisley Oversized Set California X96. Mesmerizing King Comforter Sets 110 X 96 Calvin Klein Presidio Set Bedding Collections Bed Main Image. Exclusive Inspiration King Comforter Sets 110 X 96 California Size Oversized Ecfq Info Home Design Ideas 15. Warm King Comforter Sets 110 X 96 The Most Oversized Comforters 110x96 Concerning Ideas. Exclusive King Comforter Sets 110 X 96 Medium Size Of 110x96 Super Bedspread Oversized. Beautiful Inspiration King Comforter Sets 110 X 96 Awesome Oversized Size Bedding 110x96 Elegant For Comforters Target Plans 5. Vibrant Idea King Comforter Sets 110 X 96 Mexican Fiesta And Duvet Cover By Colcha Linens Set Reversible California X96 2 Pillow Shams. Pleasurable Ideas King Comforter Sets 110 X 96 Fall Sales On Croscill Caterina Set Victorian Queen Green. Well Suited Ideas King Comforter Sets 110 X 96 Ruffle Oversized Size Quilt Set 5 California.
Stylish Design King Comforter Sets 110 X 96 Marquis 110x96 Stripe Bedding By Victor Mill P C. Stylist Design King Comforter Sets 110 X 96 Amazing Deal On J Queen New York Bradshaw Set In. Sweet Idea King Comforter Sets 110 X 96 Oversized 110x96 Bedspread. Interesting Idea King Comforter Sets 110 X 96 Waterford Emerson Only Like The Dark Blue Accents 110x96. Outstanding King Comforter Sets 110 X 96 110x96 In Bedding Amazon Com Super Oversized Down Alternative Fits Pillow Top Beds Light Sage Exclusively By BlowOut RN 142035. Fantastical King Comforter Sets 110 X 96 Imperial Dress Antique 4 Piece Set 110x96. Wonderful Design Ideas King Comforter Sets 110 X 96 Captiva Quilt Bedding By Thomasville P C Fallon 3. Peachy Design King Comforter Sets 110 X 96 Elegant Oversized For Comforters Target Modern Pertaining To Cal Sameera California Size 7piece Prepare 11. Cool Design Ideas King Comforter Sets 110 X 96 Haven Set Eggshell 169 99 Or Cal. Pleasant Design Ideas King Comforter Sets 110 X 96 Teal Set Size. Neat Design King Comforter Sets 110 X 96 Wayfair Ca Odyssey Reversible Set. Captivating King Comforter Sets 110 X 96 Awesome Oversized Size Bedding 110x96 Echo Odyssey Set Collections Bed Bath Inside. Neoteric Design Inspiration King Comforter Sets 110 X 96 Awesome Oversized Size Bedding 110x96 Luxury Pertaining To Plan 3.


text:
package it.unipr.aotlab.functional;

/**
 * Created by IntelliJ IDEA.
 * User: enrico
 * Date: Sep 12, 2010
 * Time: 10:21:09 AM
 * To change this template use File | Settings | File Templates.
 */

public interface Predicate<E> {
    boolean call(E value);
}


It's just to show that we are mining and payouts are visible on blockchain.
Aarnav is a community of investors leveraging economies of scale to achieve profitable returns from cryptocurrency mining. By pooling resources, Aarnav investors save on cutting-edge equipment and professional maintenance and gain access to ultra-low-cost electricity. Despite the 2018 cryptocurrency market downturn, a large-scale mining operation remains very profitable. Aarnav offers better returns than "cloud" mining, is more efficient than the majority of mining pools, and makes it easy for anyone to realize returns from cryptocurrency mining.
Aarnav is issuing a Security Token Offering (STO) to raise funds and build the world's biggest crowdfunded cryptocurrency mining operation. Investors in the Aarnav STO will be issued the ARM Security Token. ARM Token holders will share in profits proportionally based on the quantity of ARM Tokens they hold. Aarnav's STO is issued under the exemption of Regulation D, Section 506c for American accredited investors and Regulation S for accredited offshore investors.
What are we mining in our First batch of SC1 dual gen 2 miners!
Siacoin is a utility token, mined via the Blake2b-Sia Proof-of-Work function. Siacoin's supply is inflationary, meaning that it will always have a block reward.
As Director and Chairman of Executive committe of htpp://aarnav.io, a serial entrepreneur.
Alert: The Last Chance to Buy Cheap Bitcoin: BTC to the Moon!
Bitcoin 2020: What will the US presidential race do for crypto?
Could Switzerland's Crypto ETP Increase the Chance of a Bitcoin ETF Approval?
DFS Authorizes Coinbase Global, INC.
ICO Alert does not endorse or recommend participating in any offerings.
Internet has been changing the way people have been behaving for over a decade.
"As promised, Aarnav Inc. has successfully paid over 10% quarterly dividend to its investors.
Once again we thank our investors for the trust in our project.
Entrepreneur, Director and Chief Operating Officer of Aarnav, Manpreet Singh is committed to the development of technology innovation for various algorithms in crypto mining.
A blockchain evangelist, Manpreet is committed to developing a top-class investment solution for the crypto world leveraging his experience in wealth creation, real estate investment and working with private organizations, governments, and multilateral organizations across five continents.
Manpreet's brings over 16 years' experience in IT Management, IT Operations, and IT Project Management working for some of the largest, globally renowned retail, manufacturing, and IT companies.
Manpreet acquired a broad range of experience in Executive leadership positions in sales, business development, and marketing in New Zealand, Australia, India, and the USA. He has conducted business across national borders, regulatory environments, and cultures.
Manpreet has also helped numerous companies, educational institutions, non-profit organizations to raise funds and develop, communicate their brand's mission and message more effectively.
Manpreet has been involved in FX, CFDs, stocks, bonds, and innovative technologies with companies such as IG, Oanda FX Trade, Verizon, Common Wealth Bank of Australia, Bank of Melbourne, ASB Bank, and the real estate industry.
Gurpreet is a results-oriented leader with a strong track record of delivering in high-paced organizations. She is recognized by peers for her keen analysis, strategic insights and a team-centricapproach to drive organizational growth.
Gurpreet has executive experience in the supply chain, logistics and restaurants sectors, having held the positions of CFO of Sam Sikka Enterprises and CEO of Bolero fine dining restaurant in New Zealand.
Gurpreet also brings a diverse skillset from her rich experiences in real estate development and Forex at IG Australia, including negotiating acquisitions, dispositions, and capital expenditures and performing due diligence, as well as developing and delivering real estate strategies and transaction services.
With exceptional interpersonal skills, she is capable of resolving various challenges spanning the organization – including financial, operational, sales, human resources, and legal issues.
Since the very beginning, Gurpreet's vision for AARNAV has been to steer the company locally in the USA. Under the leadership of Gurpreet, AARNAV will launch as a fully SEC-compliant Security Token on the Ethereum network, leveraging smart contracts to ensure the ARM token complies with all characteristics of the SECs Regulation D section 506c exemption.
As Director and Chief Executive Officer of Aarnav Inc , Gurpreet takes pride in what she has achieved and has set her sights on taking this venture to a billion dollar valuation.
Jack Liao, 42, was educated in China and is the CEO of LightningASIC, a Hong Kong maker of specialty cryptocurrency mining equipment for Bitcoin and other coins. Jack has been investing in Bitcoin since 2013, and has been an angel investor in a variety companies in the space, including mining hardware and software, wallet hardware and software, cryptocurrency ATM systems, exchanges, and transaction services. Jack sponsored BitcoinNewyork.org; is one of the six core Bitcoin Gold team members and is a Founder of Bitcoin Gold. He presents to Bitcoin enthusiasts and Bitcoin-related enterprises around the world.
I have been in medical practice since 1995 in New York. Specialized in Endocrinology, Diabetes and Metabolism. Have been angle investor in stocks, bonds and Hospitality. I been doing charitable diabetes clinics in Guatemala since 2010 visiting atleast 3 times a year, providing free consultation and medications to 400-500 rural patients.


text:
<!DOCTYPE html>

<title>OffscreenCanvas test: 2d.composite.canvas.xor</title>

2d.composite.canvas.xor


text:
The painter Jan Van Belcamp's newly-discovered will published by the JVDPPP.
The Jordaens Van Dyck Panel Paintings Project UK Archival Research Team has published two significant additions to the literature around Van Dyck on the Project website this past fortnight.
Last week we published Sir Kenelm Digby's devastating critique of £880 worth of pictures that he bought from Van Dyck. In a 1655 Court case that I discovered while searching through the half century of litigation surrounding Van Dyck's estate, Sir Kenelm is being sued on behalf of Van Dyck's daughter Justin for paintings received but unpaid for. Sir Kenelm testifies that these pictures
did soe fayle in Colour and were otherwise soe ympared by reason as this defendt believeth of too hasty or carelesse workemanshipp of them that they were of very small value to be sold and the sayd pictures were and are of little or noe Ornament and of noe pleasure or handsomenes and by reason thereof this defendt: hath very often offered for to deliver upp the sayd pictures soe hee might be freed and discharged of the sayd debt and have his bonds and security delivered upp unto to this defendant:
This week the JVDPPP has published the 1651 Will of the painter Jan Van Belcamp, discovered by Justin Davies, who co-founded the Project with Joost Vander Auwera of the Royal Museums of Fine Arts of Belgium. This newly-discovered source contains a wealth of previously unknown biographical information and paintings. Belcamp's life has only been known in outline. He was the King's in-house copyist 'in little' and succeeded Abraham Van Der Doort as Keeper of the King's Pictures in 1640. Appointed Commissioner for the sale of the Late King's Goods in 1649, he acquired several paintings including Leonardo Da Vinci's St John the Baptist, now in the Louvre, in lieu of £275 owed to him by the King. Remarkably, the will makes claim to a further £1,145 from the King's Goods, and describes seven paintings by Belcamp hanging in his house, including a copy of Van Dyck's 'Great Peece', adding significantly to the artist's known oeuvre. Named beneficiaries reveal his links with the Netherlandish merchant community in London, the Dutch Ambassador, Puritan Anglican clergy and the Dutch Church in Austin Friars, and show Belcamp to have been a meticulous and exacting businessman. His property also includes land in Ireland forfeited by its owners in the Irish Rebellion 1641. Belcamp bequeaths this estate to his relatives in Holland, with the proviso that any possessor will be disinherited if they marry 'into the Irish blood.' The appendix detailing this inheritance is a particularly rich part of the document, listing twelve members of Belcamp's extended family by name.
Tagged #blog, Art, art historian, art history, Jan Van Belcamp, Jordaens Van Dyck, Van DyckBy jamesmulraine1 Comment
One thought on "The painter Jan Van Belcamp's newly-discovered will published by the JVDPPP."
robertmulraine says:
Very exciting discoveries!
← Going, going, gone; Michelangelo's Snowman and Banksy's Balloon.
Last night in America; the Weston portrait of King Henry IV rediscovered →


The magazine has honored North Carolina lawyers by publishing a listing of the state's top lawyers in business related categories since 2002. Winners are chosen by their fellow lawyers from a statewide ballot which is distributed through the NC State Bar and asks attorneys one question – "Of the North Carolina lawyers whose work you have observed firsthand, whom would you rate among the current best in these categories?" The complete list of 2015 winners appears in the January 2015 issue of Business North Carolina. For more information about the selection process visit the magazine's website at www.BusinessNC.com/legalelite.


text:
Year in Review — 2016's Best Musicals
With so many phenomenal theater offerings in 2016, I took the easy road and split my "Year's Best" list into Musicals and Non-musicals.
First, my picks for the top five musicals (check back tomorrow for the non-musicals):
#1. West Side Story — Paramount Theater
The Jets included Aaron Patrick Craven (Diesel), Samuel Owen Gardner (Snowboy), James Lee (A-Rab), Ryan McBride (Action), Liam Quealy (Big Deal) and Jonny Stein (Baby John).
Yes, the leads were fantastic. And, yes, this Leonard Bernstein/Stephen Sondheim collaboration delivers one classic number after the next. However, director Jim Conti's vision for a grittier, more modern West Side Story was the true star of this production. From beginning to end, the actors sizzled with rage, channeling deeply rooted perceptions of injustice into their singing, their choreography, and their fighting with the rival gang. A much needed reboot for a show that has clung stubbornly to the daintier interpretation immortalized 55 years ago by the film version.
#2. Crazy for You – Drury Lane Oakbrook
Clyde Alves and Robyn Hurder (front) dance with the ensemble.
Sometimes a theater-goer wants to flashback to the golden era—where a plot about people putting on a musical comedy is enough to hold together a musical comedy. Broadway regulars Clyde Alves and Robyn Hurder lead the huge cast, who expertly performed dance number after dance number featuring Matt Crowle's exhilarating choreography. The tap rhythms continue to echo through audience members' minds long after the curtain call.
#3. Fun Home – Oriental Theater
Robert Petkoff and Alessandra Baldacchino in the enduring opening scene.
The musical version of Alison Bechdel's graphic novel memoir achieves a perfect emotional balance: childish glee ("Welcome to the Fun Home"); sad nostalgia ("Raincoat of Love"); personal exploration ("Ring of Keys"); and tragedy ("Telephone Wire")—to name just a few of the highlights. The touring company—which included Chicago actress Susan Muniz as Helen—captured every volt of the power created by the Broadway production of this Tony winner for Best Musical.
#4. End of the Rainbow – Porchlight Theater
Angela Ingersoll performs "Over the Rainbow."
This script may have some imperfections, but they are buried deep beneath the memory of Angela Ingersoll's tour de force as Judy Garland, who struggles through her final performances despite a debilitating dependency on alcohol and prescription drugs. Concert scenes parallel Garland's mental state with highlights including Judy pulling herself together to bring jubilation to "The Trolley Song" and a climactic rendering of "Over the Rainbow" which was all the more powerful for its subdued elegance.
#5. The King and I – Lyric Opera
Kate Baldwin and Paolo Montlban with other cast members in a scene set in Anna's classroom.
I can never quite wrap my mind around the sheer size of the Lyric Opera, which turned out to be the perfect venue for a musical primarily set within a lavish palace. No expense was spared on the scenery, costumes, and sizable cast (including what seemed like dozens of adorable children). Paolo Montalban anchored the show as the King caught between his traditional beliefs and his desire to Westernize, and Kate Baldwin also amazed with both powerhouse vocals and comic timing as the equally stalwart Anna.
NOTE: 2016 was also the year of Hamilton in Chicago. I have not yet seen Hamilton, but I am looking forward to finally getting a seat in 2017.
← The Curious Incident of the Dog in the Night-Time (Oriental) — 12/21/16
Year in Review – 2016's best non-musicals →
2 thoughts on "Year in Review — 2016's Best Musicals"
Cheryl Venet says:
At Disney, saw Nemo the Musical amazing costumes.
Cheryl Venet Sent from my iPhone
frogman25 says:
Was that at Animal Kingdom? I saw that back in 2008 when I was in Orlando for the 1/2 marathon (thanks to Athlinks for keeping track of dates for me). I hope you are having a fun first visit to Disney.


Well, The Golden Globes Awards took place tonight and that means that the most entertaining awards ceremony is in the books, but also the one whose awards mean the least. Everyone knows that the Golden Globes winners usually go to who they feel can bring star power because the Foreign Press is all about knocking some back with the rich and famous.
Regardless, there were some solid choices, although most of them were expected. 12 Years a Slave and American Hustle won the two Best Film awards, and those will be the two movies that will probably battle for the Oscar this year.
American Hustle won two actress awards, and Jennifer Lawrence will probably take home another Oscar this year as well. Dallas Buyers Club was a bit of a surprise with two actors awards. While Jared Leto was a favorite, the fact that Matthew McConaughey won over Chiwetel Ejiofor is an upset – but remember – star power. Cate Blanchett and Leo DiCaprio won the other actors award for Blue Jasmine and Wolf of Wall Street.
Breaking Bad won the Best TV Drama for its final season while Brooklyn Nine-Nine beat out some former favorites for the comedy award. Here is a look at all the awards for this year's Golden Globes winners.


text:
MD of Best Point Savings & Loans dies from coronavirus
Live: The presidential inauguration of Joe Biden and Kamala Harris
Supreme Court sets out 5 issues for determination in 2020 presidential election petition
President Akufo-Addo reduces ministries to 29
Speaker orders all MPs to get tested for COVID-19
Burna Boy's song features in Biden's inauguration playlist
Police officer shot dead in daylight robbery in the Ashanti Region
We did what we came to do – Donald Trump as he bids farewell
Akufo-Addo retains Frema Opare, Eugene Arhin, others at Jubilee House for second term
Accra 26	℃
Salt TV
Home/Business/COCOBOD secures $1.3bn for cocoa beans
COCOBOD secures $1.3bn for cocoa beans
admin Follow on Twitter Send an email September 30, 2020
Facebook Twitter LinkedIn Pinterest Skype Messenger Messenger WhatsApp Telegram Share via Email Print
A consortium of local and international banks has signed an agreement to lend $1.3 billion to the Ghana Cocoa Board (COCOBOD) to be used to purchase cocoa beans from farmers for the 2020/21 crop season.
The bids to offer the loan were oversubscribed by $400 million by the 28 banks that are syndicating the funds for onward transfer to the cocoa sector regulator.
The facility attracts an interest of 1.74 per cent, in addition to the London Interbank Overnight Rate (LIBOR), a global reference for setting interest rates on offshore loans.
The loan is expected to be used to purchase about 900,000 tonnes of cocoa beans in the next cocoa season, which opens tomorrow.
Ghana plans to issue $3.9 billion in bonds in first quarter
Economist predicts lending rates to remain high for a long time
December inflation rate rises to 10.4 per cent-Stats office
As a commodity-backed transaction, COCOBOD is expected to use a portion of the season's produce to repay the loan.
At a virtual signing ceremony in Accra yesterday, the Chief Executive Officer (CEO) of COCOBOD, Mr Joseph Boahen Aidoo, signed on behalf of the board, while a representative of the participating banks signed on behalf of the respective firms.
The signing was witnessed by the Board Chairman of COCOBOD, Mr Hackman Owusu-Agyemang; the Chairman of the Parliamentary Select Committee on Finance, Dr Mark Assibey-Yeboah, and some management members of COCOBOD.
Among the participating banks are four local financial institutions, including Stanbic Bank Ghana, Ecobank Ghana Limited, Societe Generale Ghana Limited and ABSA Ghana Limited.
The lead arrangers of the loan are ABN Amro Bank, Bank of China Limited (London branch), Cooperative Rabobank UA, DZ Bank AG Deutsche Zentral and the Ghana International Bank PLC.
The other institutions are the Industrial and Commercial Bank of China Limited (London branch), the MUFG Bank Limited, Natixis Bank, Societe Generale and the Standard Chartered Bank.
In a statement after the signing, Mr Aidoo thanked the participating institutions for the faith reposed in the board.
He gave an assurance that the loan would be used solely for the purpose for which it had been contracted.
"I also want to assure our supportive financial institutions that, as we have done over the years, we will repay the loan on schedule," he said.
Competitive rate
Mr Aidoo said the board was able to secure the loan at a competitive rate, in spite of the shock that the COVID-19 pandemic had brought on the global economy.
"A total of 28 banks, made up of four local banks and 24 international financial institutions, have participated in this year's syndication and I appreciate the financial institutions for their continued trust in the operations of COCOBOD.
"We have also returned this trust by ensuring that we have never defaulted in the repayment of loans since 1992 when the first syndication was signed," he said.
He said the board had maintained an enviable record of always finishing up the repayment of the loan ahead of the signing of a new facility.
"On several occasions, the loan was repaid ahead of schedule. The 2019/20 syndicated loan, for example, was repaid two months ahead of schedule," he stated.
Mr Aidoo noted that in their effort to ensure improved incomes and livelihood for cocoa farmers, Ghana and Cote d'Ivoire introduced the living income differential (LID), a pricing mechanism that guarantees an additional $400 per tonne of cocoa beans sold by the two countries.
"The LID goes directly to the farmers and it is in this regard that President Nana Addo Dankwa Akufo-Addo announced a 28 per cent increase in farm-gate cocoa price for the 2020/2021 crop season, which begins on October 1.
"Ghanaian farmers will now take home GH¢660 per bag of 64 kilogrammes of premium quality cocoa," he said.
Cocoa target
The Minister of Food and Agriculture, Dr Owusu Afriyie Akoto, commended the board and the management of COCOBOD for being able to raise the $1.3 billion at such a difficult time.
He said the government was committed to rolling out measures to ensure that the cocoa target for the 2020/21 crop season was achieved.
He said the measures would also look at the future sustainability of the sector.
Raising the money locally
Mr Owusu-Agyemang, for his part, said COCOBOD, through the syndication, had been able to consistently pay cocoa farmers on time.
"We do not have to wait to sell the cocoa before we pay farmers. Once it is delivered, it is paid for, and this has been possible through the syndicated loan," he said.
He insisted that eventually, COCOBOD would be able to do the syndication locally.
"I am hoping that one day we will be able to raise all the money from our local banks here," he said.
Source: Graphic.com.gh
Business News Cocobod Ghana News News
Facebook Twitter LinkedIn Pinterest Reddit Skype Messenger Messenger WhatsApp Telegram Share via Email Print
EOCO, GIPC begin major investigation into unlicenced investment firms
Prepare for a difficult year – Terkper warns
Traders of stationery hopeful for high sales
Next Finance Minister: Will Ken Ofori-Atta break one-term cycle?
GIFF to review new port tariffs before implementation
Emma Morrison joins Gold Fields Ghana as corporate affairs head
Pressure on UK financial institutions to reject Ghana's Agyapa Deal
Ghana made $5.2 billion oil cash from 2011 to 2020 – Natural Resource Governance Institute
International tourism in Ghana likely to dip by 64% – GTA report
Pandemic drives economy into record-breaking recession
UW/R: President sacks Sissala West DCE
NDC goes to court to stop EC's planned voter registration exercise
Barclays fined US$34.65 million over treatment of customers
Spare parts dealers in talks with assembly plants to manufacture car parts
KUMERICA: Top Five Trending Songs In Kumerica
Photos: Kennedy Agyapong celebrates 25 years of marriage with his wife
Coronavirus: Ghana's active cases drop to 1,059
EC releases certified results of 4 other regions
Schools to return to full academic work in mid-January – Reports
Luneta Bmw Seria 6 Gran Turismo 2018
Thanks for finally writing about >GPL: Kotoko sack Maxwel...
Business News Coronavirus Covid-19 Covid19 EC Election 2020 Entertainment Entertainment News Featured Ghana News Health Health News NDC News NPP Politics Sports News World News
Tweets by SaltMediaGH
© Copyright 2021, All Rights Reserved | Saltfmonline.com
GPL: Kotoko sack Maxwell Konadu
New Song, "Come to My Place"
New Trend From My Morning Jacket


We took the ferry to Koh Phangan, home of the famous Full Moon Party. It takes about 1.5 hours to get there plus another hour in a truck to get to our hostel Shiralea. Sarah sat next to this nice guy from Texas, Mark, on the ferry and learned about his travel adventures and his experience being a teacher in Thailand. Eitan took this as an opportunity to sleep in silence (as you know, Sarah loves to talk… a lot).
This party hostel has many nice common areas for everybody to hang out and our bungalow had a hammock outside! But it's very expensive for what they give you as the prices during the full moon party are obviously very inflated.
We combined a couple days in this post as we really didn't do many activities… just beach time, massages, lots of food and 2 big raves. We needed a few days to relax after Indonesia and Korea but also validated that relaxing on the beach not doing much is not either of our strengths and we were eager for a more active schedule.
Our hostel was located in Haad Yao (Yao beach) on the north part of the island. The beach over there is absolutely gorgeous, just a few restaurants/bars on the beach but not crowded at all. And the sand is so easy to walk on with a more muddy consistency and the water is extremely warm! We ate at the restaurant of this nice beach resort and without asking we acted like we belonged there so we could use their swimming pool as well. Perfect plan for a relaxing day.
We then decided to walk to Haad Salad, a beach 2 km north of our beach. This one was not as nice as ours but we found a nice swing!
Koh Phangan offers many backpacker parties/raves that last all morning; we decided to go to the Full Moon Party and the Jungle Experience. The first one was the Jungle one the day before the full moon.
We arranged a taxi with the hostel with other people and there we went around 11:00 pm. This jungle party has only one stage with good electronic music and an excellent vibe. We had a lot of fun with Nina and Hanna, 2 amazing girls from England, and Eitan could understand their English which is rare for him! This was Sarah's first rave type (on a small scale) experience and she didn't hate it and especially loved watching all the people!
There were neon tattoos everywhere!
Bonus pic of the day: The Thai currency is called Baht, or how Thai people say it "baaaaaaaaaaaaaaaaht". The king is on all the banknotes and coins and if you step on them it is considered disrespectful to the king and it may land you a few years in jail.
How many baaaaaaht do you already have? Which would I like less – lying on the beach or attending the rave? Thank you for your first post that doesn't make me jealous.


text:
[ show Advanced Search options ]
Q U I C K L I N K S
To learn more about the engraver of the 17th-century head-piece pictured to the left, see the IN BRIEF biography for Wenceslaus Hollar.
More of my research about women who were involved in the 17th-century scientific/technical book trade (as printers, publishers, booksellers, and authors of accounting textbooks) will be found in She-philosopher.com's greatly enlarged and revised GALLERY EXHIBIT on "Women in the Print Trade."
For full bibliographical descriptions of any works cited here, see:
• for pre-20th-century works, She-philosopher.com's selected list of Primary Sources
• for 20th-century and 21st-century works, She-philosopher.com's selected list of Secondary Sources
For more about forthcoming projects planned for this website, see the PREVIEWS section.
LIBRARY > Digital edition: Lib. Cat. No. OOTS1678 > Advice to the Women and Maidens of London: Shewing ... the Right Understanding and Practice of the Method of Keeping Books of Account ..., "By One of That Sex" (1st edn., 1678; 4th edn., 1708)
First Published: August 2012
Revised (substantive): 9 May 2021
S O R R Y, but this e-publication page (with an HTML transcript of Advice to the Women and Maidens of London: Shewing ... the Method of Keeping Books of Account ..., by "One of That Sex", first printed at London in 1678) is still under construction.
We apologize for the inconvenience, and hope that you will return to check on its progress another time.
If you have specific questions relating to She-philosopher.com's ongoing research projects, contact the website editor.
B Y W A Y O F I N T R O D U C T I O N
Intended to teach women
the right understanding and practice of the method of keeping books of account: whereby, either single, or married, they may know their estates, carry on their trades, and avoid the danger of a helpless and forlorn condition, incident to widows
(from 1678 title-page)
this accounting manual for women — a quarto of about 40 pages, including multiple sample ledgers — is an early masterpiece of information design.
Advice to the Women and Maidens of London: Shewing ... the Method of Keeping Books of Account ... opens by renouncing English women's limited "education in needle-work, lace, and point-making," arguing that elsewhere in the world, bookkeeping is traditionally part of the women's sphere, and a necessary skill for those women hoping to move beyond what Bathsua Makin, Margaret Cavendish, and others called "the female slavery" to a more independent lifestyle. While the pseudonymous "One of that Sex" concedes her culture's gendering of double-entry bookkeeping as a "Masculine Art," she disagrees "that this art is too high and mysterious for the weaker Sex," arguing from her own personal experience that accounting is no "harder or more difficult then the effeminate achievements of Lace-makeing, gum-work or the like" (2). Nor will skill at accounting make women too "proud" for their station. Rather, accountancy is a virtuous art by which women can contribute to the domestic economy, as in foreign countries where "Merchants and other trades men have no other Book-keepers then their Wives" (1). Addressing herself to "Ladies and Gentlewomen," this English woman accountant and cashier asks that they
Permit one of your Sex to give you, as far as her small knowledge will reach some hints to the right understanding and use of Accounts: an Art so useful for all sorts, sexes and degrees of persons, especially for such as ever think to have to do in the world in any sort of Trade or Commerce, that next to a stock of Mony, Wares and Credit, this is the most necessary thing.
Nor let us be discouraged, or put by the inspection thereof by being bid meddle with our distaff, for I have heard it affirmed by those who have lived in forraign part, that Merchants and other trades men have no other Book-keepers then their Wives: who by this means (the Husband dying) are well acquainted with the nature and manner of the trade, and are so certain how, and where their stock is; that they need not be beholden to servants or friends for guidance.
And for telling us that the government of the House appertains to us, and the trades to our Fathers or Husbands; (under favour) the one is to be minded, and the other not neglected, for there is not that danger of a families overthrow by the sause wanting it's right relish, or the Table or Stools misplac't, as by a widows ignorance of her concern as to her estate, and I hope husbands will not oppose this when help and ease is intended to them whil'st living; and safety to their name and posterity after death: except they have private trades (too much in mode) whereof they would have their wives wholly ignorant. In such a case indeed, one that knows not that one and two make three suits best. And let us not fear we shall want time and opportunity to mannage the decencies of our house; for what is an hour in a day, or half a day in a week, to make inspection into that, that is to keep me and mine from ruine and poverty.
Methinks now the objection may be that this art is too high and mysterious for the weaker Sex it will make them proud: Women had better keep to their Needlework, point laces, &c. and if they come to poverty, those small Crafts may give them some mean releif.
To which I answer, That having in some measure practised both Needle-work and Accounts I can averr, that I never found this Masculine Art harder or more difficult then the effeminate achievements of Lace-makeing, gum-work or the like, the attainment whereof need not make us proud: And God forbid that the practise of an useful Virtue should prompt us to a contrary Vice.
Therefore if I might advise you, you should let the poor serve you with these mean things, whilst by gaining or saving an estate you shall never be out of capacity to store your selves more abundantly with those trifles, then your own industry in such matters could have ever blest ye[.]
And now Gentlewomen I give you those rudiments of Accounts which are the subject of this little pamphlet and transmit this learning to you the best I can, in the self same manner as it came to me.
Know then that my Parents were very careful to cause me to learn writing and Arithmetick, and in that I proceeded as far as Reduction, the Rule of Three and Practice, with other Rules, for without the knowledge of these I was told I should not be capable of Trade and Book-keeping and in these I found no discouragement for though Arithmetick set my brains at work, Yet there was much delight in seeing the end, and how each question produced a fair answer and informed me of things I knew not.
Afterwards I was put to Keep an exact account of the expence of House-keeping, and other petty Charges, my Father made it my office to call all persons to an account every night what they had laid out, and to reimburse it them, and set all down in a book, and this is the way to make one a Cashier as they are termed, and one that can keep a fair account of receipts and payments of Money or Cash-book, is in a good way towards the understanding of Book-keeping: Shee that is so well versed in this as to keep the accounts of her Cash right and dayly entred in a book fair without blotting, will soon be fit for greater undertakings.
(One of that Sex, Advice to the Women and Maidens of London: Shewing ... the Method of Keeping Books of Account ..., 1678, 1–3)
By the time this textbook appeared, there was already an established market for pre-printed business forms and assorted financial tools. Playing cards and books teaching both sexes the rudiments of mathematics had been published in London for almost a century by then, and calculators had also become fashionable (e.g., Samuel Morland's "arithmetic engine," designed about 1660, was specifically aimed at the "Ladies"). An earlier calculator, William Pratt's Arithmeticall Jewell, which fitted into a pocket in the cover of its instruction manual and was useful for "all Arithmetic works in whole Numbers as all fractional operations without fractions or reductions," first appeared in 1617. And the always-popular almanacs included more and more computational tables (e.g., for calculating compound interest) as the century progressed.
All of this raises questions for Mary Poovey's theory about the supposed move to a gendered system of double-entry bookkeeping in England c.1620. According to Poovey, the new bookkeeping replaced the more heterogeneous narrative accounts of daily business transactions recorded by women and servants in the conventional memorial — "after the capacitie of their minds" — with the rule-governed writing and numbers of the masculine journal. As a result, the socioeconomic abstraction we now know as "the market" came into being. Poovey argues that bookkeeping's new discourse of economic rationality created a statistical basis for measuring the economy, while at the same time presenting it as something lawlike and knowable, mostly by equating risk with women's style of work.
Into its 4th edn. by 1708, this accounting manual's content and popularity suggest that the tradeswomen of 17th-century London had different preoccupations concerning "the market," and their ability to function effectively within it.
go to Catalog entry for this digital edition in the She-philosopher.com LIBRARY
HOME | the PLAYERS | IN BRIEF | GALLERY | LIBRARY | STUDIES | REFERENCES
| PREVIEWS | SUPPORT US
Quickly search the She-philosopher.com website:
(or click/tap here for Advanced Search options)
Search strategies & work-arounds for managing mojibake are available here.
Search tool powered by Open Source Software: KSearch.
This website seeks modern-day patrons who share our vision of independent scholarship as a public good. If you have learned — or otherwise benefited — from She-philosopher.com's unique collection of trusted resources, join our movement to reinvent patronage for a democratic world. Even a small investment in the future of high-quality e-scholarship — such as a gift of USD $1 — will make a difference!
If you have questions or comments for us, e-mail: editor@she-philosopher.com.
This Web page was last modified on: 05/09/2021 4:02 AM.
Copyright © 2012–2021 She-philosopher.com.
See our Conditions of Use page for information about "Fair Use" borrowings of She-philosopher.com content.