text:
<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<mbeans-descriptors>

    <mbean        name="TomcatJDBCPool"
           description="Provides per diagnostic metrics and notifications for JDBC operations"
                domain="tomcat"
                 group="jdbc"
                  type="org.apache.tomcat.jdbc.pool.DataSource">

    <attribute    name="className"
           description="Fully qualified class name of the managed object"
                  type="java.lang.String"
             writeable="false"/>

    <attribute    name="size"
           description="The number of established connections in the pool, idle and in use"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="idle"
           description="The number of established connections in the pool that are idle"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="numIdle"
           description="Same as the idle attribute"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="active"
           description="The number of established connections in the pool that are in use"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="numActive"
           description="Same as the active attribute"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="poolSweeperEnabled"
           description="Returns true if the pool has a background thread running"
                  type="java.lang.Boolean"
                    is="true"
             writeable="false"/>

    <attribute    name="url"
           description="The JDBC url for this connection pool"
                  type="java.lang.String"
             writeable="false"/>

    <attribute    name="driverClassName"
           description="The JDBC driver class for this connection pool"
                  type="java.lang.String"
             writeable="false"/>

    <attribute    name="defaultAutoCommit"
           description="The JDBC auto commit setting for new connections"
                  type="java.lang.Boolean"
                    is="true"
             writeable="false"/>

    <attribute    name="defaultReadOnly"
           description="The JDBC read only setting for new connections"
                  type="java.lang.Boolean"
                    is="true"
             writeable="false"/>

    <attribute    name="defaultTransactionIsolation"
           description="The JDBC transaction isolation setting for new connections"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="connectionProperties"
           description="The connection properties that will be set for new connections. Format of the string will be [propertyName=property;]*"
                  type="java.lang.String"
             writeable="false"/>

    <attribute    name="defaultCatalog"
           description="The JDBC transaction isolation setting for new connections"
                  type="java.lang.String"
             writeable="false"/>

    <attribute    name="initialSize"
           description="The number of connections opened at pool startup"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="maxActive"
           description="The maximum number of open connections"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="maxIdle"
           description="The max number of idle connections"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="minIdle"
           description="The minimum number of open connections"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="maxWait"
           description="The time to wait in milliseconds before a SQLException is thrown when a connection is requested"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="validationQuery"
           description="The query to run during validation"
                  type="java.lang.String"
             writeable="false"/>

    <attribute    name="validationQueryTimeout"
           description="The timeout in seconds before a connection validation queries fail"
                  type="java.lang.Integer"
             writeable="false" />

    <attribute    name="testOnBorrow"
           description="True if validation happens when a connection is requested"
                  type="java.lang.Boolean"
                    is="true"
             writeable="false"/>

    <attribute    name="testOnReturn"
           description="True if validation happens when a connection is returned"
                  type="java.lang.Boolean"
                    is="true"
             writeable="false"/>

    <attribute    name="testWhileIdle"
           description="True if validation happens when a connection is not in use (idle)"
                  type="java.lang.Boolean"
                    is="true"
             writeable="false"/>

    <attribute    name="timeBetweenEvictionRunsMillis"
           description="Sleep time for background thread in between pool checks"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="numTestsPerEvictionRun"
           description="Not in use"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="minEvictableIdleTimeMillis"
           description="Minimum amount of time a connection stays idle before it is evicted"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="accessToUnderlyingConnectionAllowed"
           description="Returns true if one can retrieve the actual JDBC connection"
                  type="java.lang.Boolean"
                    is="true"
             writeable="false"/>

    <attribute    name="removeAbandoned"
           description="Returns true if connection in use can be timed out"
                  type="java.lang.Boolean"
                    is="true"
             writeable="false"/>

    <attribute    name="removeAbandonedTimeout"
           description="Timeout in seconds for connections in use"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="logAbandoned"
           description="If true, stack trace will be recorded and printed out for timed out connection"
                  type="java.lang.Boolean"
                    is="true"
             writeable="false"/>

    <attribute    name="loginTimeout"
           description="Not in use"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="name"
           description="The name of the connection pool, will be used in the ObjectName of the actual pool"
                  type="java.lang.String"
             writeable="false"/>

    <attribute    name="password"
           description="For security purposes,this doesn't return anything"
                  type="java.lang.String"
             writeable="false"/>

    <attribute    name="username"
           description="The username used to open connections"
                  type="java.lang.String"
             writeable="false"/>

    <attribute    name="validationInterval"
           description="If larger than zero than validation will only occur after the interval milliseconds has passed"
                  type="java.lang.Long"
             writeable="false"/>

    <attribute    name="initSQL"
           description="A SQL executed once per connection, when it is established"
                  type="java.lang.String"
             writeable="false"/>

    <attribute    name="testOnConnect"
           description="Validate connection after connection has been established"
                  type="java.lang.Boolean"
                    is="true"
             writeable="false"/>

    <attribute    name="jdbcInterceptors"
           description="The interceptors configured for this pool"
                  type="java.lang.String"
             writeable="false"/>

    <attribute    name="jmxEnabled"
           description="Register the pool with JMX or not"
                  type="java.lang.Boolean"
                    is="true"
             writeable="false"/>

    <attribute    name="fairQueue"
           description="a fair queue is being used by the connection pool"
                  type="java.lang.Boolean"
                    is="true"
             writeable="false"/>

    <attribute    name="abandonWhenPercentageFull"
           description="Connections that have been abandoned isn't closed unless connections in use are above this percentage"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="maxAge"
           description="Time in milliseconds to keep this connection alive even when used"
                  type="java.lang.Long"
             writeable="false"/>

    <attribute    name="useEquals"
           description="Set to true if you wish the ProxyConnection class to use String.equals and set to false when you wish to use == when comparing method names"
                  type="java.lang.Boolean"
                    is="true"
             writeable="false"/>

    <attribute    name="useLock"
           description="If true, use a lock when operations are performed on the connection object"
                  type="java.lang.Boolean"
                    is="false"
             writeable="false"/>

    <attribute    name="suspectTimeout"
           description="Timeout in seconds for connection that suspected to have been abandoned"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="rollbackOnReturn"
           description="If autoCommit==false then the pool can terminate the transaction by calling rollback on the connection as it is returned to the pool"
                  type="java.lang.Boolean"
                    is="false"
             writeable="false"/>

    <attribute    name="commitOnReturn"
           description="If autoCommit==false then the pool can complete the transaction by calling commit on the connection as it is returned to the pool"
                  type="java.lang.Boolean"
                    is="false"
             writeable="false"/>

    <attribute    name="alternateUsernameAllowed"
           description="If true, getConnection(username,password) is allowed"
                  type="java.lang.Boolean"
                    is="true"
             writeable="false"/>

    <attribute    name="dataSource"
           description="Data source that is injected into the pool"
                  type="javax.sql.DataSource"
             writeable="false"/>

    <attribute    name="dataSourceJNDI"
           description="The JNDI name for a data source to be looked up"
                  type="java.lang.String"
             writeable="false"/>

    <attribute    name="useDisposableConnectionFacade"
           description="If true, connection pool is configured to use a connection facade to prevent re-use of connection after close() has been invoked"
                  type="java.lang.Boolean"
                    is="false"
             writeable="false"/>

    <attribute    name="logValidationErrors"
           description="Log errors during the validation phase to the log file"
                  type="java.lang.Boolean"
                    is="false"
             writeable="false"/>

    <attribute    name="validatorClassName"
           description="The name of validator class which implements org.apache.tomcat.jdbc.pool.Validator interface"
                  type="java.lang.String"
             writeable="false"/>

    <attribute    name="waitCount"
           description="The number of threads waiting for a connection"
                  type="java.lang.Integer"
             writeable="false"/>

    <attribute    name="propagateInterruptState"
           description="If true, propagate the interrupt state for a thread that has been interrupted"
                  type="java.lang.Boolean"
                    is="false"
             writeable="false"/>

    <attribute    name="ignoreExceptionOnPreLoad"
           description="If true, ignore error of connection creation while initializing the pool"
                  type="java.lang.Boolean"
                    is="true"
             writeable="false"/>

    <operation    name="checkIdle"
                  description="forces a check of idle connections"
                  impact="ACTION"
                  returnType="void" />

    <operation    name="checkAbandoned"
                  description="forces a check of abandoned connections"
                  impact="ACTION"
                  returnType="void" />

    <operation    name="testIdle"
                  description="forces a validation of abandoned connections"
                  impact="ACTION"
                  returnType="void" />

    <operation    name="purge"
                  description="Purges all connections in the pool"
                  impact="ACTION"
                  returnType="void" />

    <operation    name="purgeOnReturn"
                  description="Purges connections when they are returned from the pool"
                  impact="ACTION"
                  returnType="void" />

  </mbean>

</mbeans-descriptors>


text:
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/container/v1/cluster_service.proto

package com.google.container.v1;

/**
 *
 *
 *

 * CreateClusterRequest creates a cluster.
 *

 *
 * Protobuf type {@code google.container.v1.CreateClusterRequest}
 */
public final class CreateClusterRequest extends com.google.protobuf.GeneratedMessageV3
    implements
    // @@protoc_insertion_point(message_implements:google.container.v1.CreateClusterRequest)
    CreateClusterRequestOrBuilder {
  private static final long serialVersionUID = 0L;
  // Use CreateClusterRequest.newBuilder() to construct.
  private CreateClusterRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }

  private CreateClusterRequest() {
    projectId_ = "";
    zone_ = "";
    parent_ = "";
  }

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
    return this.unknownFields;
  }

  private CreateClusterRequest(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    this();
    if (extensionRegistry == null) {
      throw new java.lang.NullPointerException();
    }
    int mutable_bitField0_ = 0;
    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
        com.google.protobuf.UnknownFieldSet.newBuilder();
    try {
      boolean done = false;
      while (!done) {
        int tag = input.readTag();
        switch (tag) {
          case 0:
            done = true;
            break;
          case 10:
            {
              java.lang.String s = input.readStringRequireUtf8();

              projectId_ = s;
              break;
            }
          case 18:
            {
              java.lang.String s = input.readStringRequireUtf8();

              zone_ = s;
              break;
            }
          case 26:
            {
              com.google.container.v1.Cluster.Builder subBuilder = null;
              if (cluster_ != null) {
                subBuilder = cluster_.toBuilder();
              }
              cluster_ =
                  input.readMessage(com.google.container.v1.Cluster.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(cluster_);
                cluster_ = subBuilder.buildPartial();
              }

              break;
            }
          case 42:
            {
              java.lang.String s = input.readStringRequireUtf8();

              parent_ = s;
              break;
            }
          default:
            {
              if (!parseUnknownFieldProto3(input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
        }
      }
    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
      throw e.setUnfinishedMessage(this);
    } catch (java.io.IOException e) {
      throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
    } finally {
      this.unknownFields = unknownFields.build();
      makeExtensionsImmutable();
    }
  }

  public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
    return com.google.container.v1.ClusterServiceProto
        .internal_static_google_container_v1_CreateClusterRequest_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.google.container.v1.ClusterServiceProto
        .internal_static_google_container_v1_CreateClusterRequest_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.google.container.v1.CreateClusterRequest.class,
            com.google.container.v1.CreateClusterRequest.Builder.class);
  }

  public static final int PROJECT_ID_FIELD_NUMBER = 1;
  private volatile java.lang.Object projectId_;
  /**
   *
   *
   *

   * Deprecated. The Google Developers Console [project ID or project
   * number](https://support.google.com/cloud/answer/6158840).
   * This field has been deprecated and replaced by the parent field.
   *

   *
   * string project_id = 1 [deprecated = true];
   */
  @java.lang.Deprecated
  public java.lang.String getProjectId() {
    java.lang.Object ref = projectId_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      projectId_ = s;
      return s;
    }
  }
  /**
   *
   *
   *

   * Deprecated. The Google Developers Console [project ID or project
   * number](https://support.google.com/cloud/answer/6158840).
   * This field has been deprecated and replaced by the parent field.
   *

   *
   * string project_id = 1 [deprecated = true];
   */
  @java.lang.Deprecated
  public com.google.protobuf.ByteString getProjectIdBytes() {
    java.lang.Object ref = projectId_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b =
          com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
      projectId_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int ZONE_FIELD_NUMBER = 2;
  private volatile java.lang.Object zone_;
  /**
   *
   *
   *

   * Deprecated. The name of the Google Compute Engine
   * [zone](/compute/docs/zones#available) in which the cluster
   * resides.
   * This field has been deprecated and replaced by the parent field.
   *

   *
   * string zone = 2 [deprecated = true];
   */
  @java.lang.Deprecated
  public java.lang.String getZone() {
    java.lang.Object ref = zone_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      zone_ = s;
      return s;
    }
  }
  /**
   *
   *
   *

   * Deprecated. The name of the Google Compute Engine
   * [zone](/compute/docs/zones#available) in which the cluster
   * resides.
   * This field has been deprecated and replaced by the parent field.
   *

   *
   * string zone = 2 [deprecated = true];
   */
  @java.lang.Deprecated
  public com.google.protobuf.ByteString getZoneBytes() {
    java.lang.Object ref = zone_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b =
          com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
      zone_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int CLUSTER_FIELD_NUMBER = 3;
  private com.google.container.v1.Cluster cluster_;
  /**
   *
   *
   *

   * A [cluster
   * resource](/container-engine/reference/rest/v1/projects.zones.clusters)
   *

   *
   * .google.container.v1.Cluster cluster = 3;
   */
  public boolean hasCluster() {
    return cluster_ != null;
  }
  /**
   *
   *
   *

   * A [cluster
   * resource](/container-engine/reference/rest/v1/projects.zones.clusters)
   *

   *
   * .google.container.v1.Cluster cluster = 3;
   */
  public com.google.container.v1.Cluster getCluster() {
    return cluster_ == null ? com.google.container.v1.Cluster.getDefaultInstance() : cluster_;
  }
  /**
   *
   *
   *

   * A [cluster
   * resource](/container-engine/reference/rest/v1/projects.zones.clusters)
   *

   *
   * .google.container.v1.Cluster cluster = 3;
   */
  public com.google.container.v1.ClusterOrBuilder getClusterOrBuilder() {
    return getCluster();
  }

  public static final int PARENT_FIELD_NUMBER = 5;
  private volatile java.lang.Object parent_;
  /**
   *
   *
   *

   * The parent (project and location) where the cluster will be created.
   * Specified in the format 'projects/*/locations/*'.
   *

   *
   * string parent = 5;
   */
  public java.lang.String getParent() {
    java.lang.Object ref = parent_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      parent_ = s;
      return s;
    }
  }
  /**
   *
   *
   *

   * The parent (project and location) where the cluster will be created.
   * Specified in the format 'projects/*/locations/*'.
   *

   *
   * string parent = 5;
   */
  public com.google.protobuf.ByteString getParentBytes() {
    java.lang.Object ref = parent_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b =
          com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
      parent_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  private byte memoizedIsInitialized = -1;

  @java.lang.Override
  public final boolean isInitialized() {
    byte isInitialized = memoizedIsInitialized;
    if (isInitialized == 1) return true;
    if (isInitialized == 0) return false;

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
    if (!getProjectIdBytes().isEmpty()) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 1, projectId_);
    }
    if (!getZoneBytes().isEmpty()) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 2, zone_);
    }
    if (cluster_ != null) {
      output.writeMessage(3, getCluster());
    }
    if (!getParentBytes().isEmpty()) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 5, parent_);
    }
    unknownFields.writeTo(output);
  }

  @java.lang.Override
  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    if (!getProjectIdBytes().isEmpty()) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, projectId_);
    }
    if (!getZoneBytes().isEmpty()) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, zone_);
    }
    if (cluster_ != null) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getCluster());
    }
    if (!getParentBytes().isEmpty()) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, parent_);
    }
    size += unknownFields.getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
      return true;
    }
    if (!(obj instanceof com.google.container.v1.CreateClusterRequest)) {
      return super.equals(obj);
    }
    com.google.container.v1.CreateClusterRequest other =
        (com.google.container.v1.CreateClusterRequest) obj;

    boolean result = true;
    result = result && getProjectId().equals(other.getProjectId());
    result = result && getZone().equals(other.getZone());
    result = result && (hasCluster() == other.hasCluster());
    if (hasCluster()) {
      result = result && getCluster().equals(other.getCluster());
    }
    result = result && getParent().equals(other.getParent());
    result = result && unknownFields.equals(other.unknownFields);
    return result;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    hash = (37 * hash) + PROJECT_ID_FIELD_NUMBER;
    hash = (53 * hash) + getProjectId().hashCode();
    hash = (37 * hash) + ZONE_FIELD_NUMBER;
    hash = (53 * hash) + getZone().hashCode();
    if (hasCluster()) {
      hash = (37 * hash) + CLUSTER_FIELD_NUMBER;
      hash = (53 * hash) + getCluster().hashCode();
    }
    hash = (37 * hash) + PARENT_FIELD_NUMBER;
    hash = (53 * hash) + getParent().hashCode();
    hash = (29 * hash) + unknownFields.hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.google.container.v1.CreateClusterRequest parseFrom(java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.container.v1.CreateClusterRequest parseFrom(
      java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.container.v1.CreateClusterRequest parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.container.v1.CreateClusterRequest parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.container.v1.CreateClusterRequest parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.container.v1.CreateClusterRequest parseFrom(
      byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.container.v1.CreateClusterRequest parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
  }

  public static com.google.container.v1.CreateClusterRequest parseFrom(
      java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
        PARSER, input, extensionRegistry);
  }

  public static com.google.container.v1.CreateClusterRequest parseDelimitedFrom(
      java.io.InputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
  }

  public static com.google.container.v1.CreateClusterRequest parseDelimitedFrom(
      java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
        PARSER, input, extensionRegistry);
  }

  public static com.google.container.v1.CreateClusterRequest parseFrom(
      com.google.protobuf.CodedInputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
  }

  public static com.google.container.v1.CreateClusterRequest parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
        PARSER, input, extensionRegistry);
  }

  @java.lang.Override
  public Builder newBuilderForType() {
    return newBuilder();
  }

  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }

  public static Builder newBuilder(com.google.container.v1.CreateClusterRequest prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }

  @java.lang.Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   *
   *
   *

   * CreateClusterRequest creates a cluster.
   *

   *
   * Protobuf type {@code google.container.v1.CreateClusterRequest}
   */
  public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
      implements
      // @@protoc_insertion_point(builder_implements:google.container.v1.CreateClusterRequest)
      com.google.container.v1.CreateClusterRequestOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
      return com.google.container.v1.ClusterServiceProto
          .internal_static_google_container_v1_CreateClusterRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.google.container.v1.ClusterServiceProto
          .internal_static_google_container_v1_CreateClusterRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.google.container.v1.CreateClusterRequest.class,
              com.google.container.v1.CreateClusterRequest.Builder.class);
    }

    // Construct using com.google.container.v1.CreateClusterRequest.newBuilder()
    private Builder() {
      maybeForceBuilderInitialization();
    }

    private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);
      maybeForceBuilderInitialization();
    }

    private void maybeForceBuilderInitialization() {
      if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {}
    }

    @java.lang.Override
    public Builder clear() {
      super.clear();
      projectId_ = "";

      zone_ = "";

      if (clusterBuilder_ == null) {
        cluster_ = null;
      } else {
        cluster_ = null;
        clusterBuilder_ = null;
      }
      parent_ = "";

      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
      return com.google.container.v1.ClusterServiceProto
          .internal_static_google_container_v1_CreateClusterRequest_descriptor;
    }

    @java.lang.Override
    public com.google.container.v1.CreateClusterRequest getDefaultInstanceForType() {
      return com.google.container.v1.CreateClusterRequest.getDefaultInstance();
    }

    @java.lang.Override
    public com.google.container.v1.CreateClusterRequest build() {
      com.google.container.v1.CreateClusterRequest result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public com.google.container.v1.CreateClusterRequest buildPartial() {
      com.google.container.v1.CreateClusterRequest result =
          new com.google.container.v1.CreateClusterRequest(this);
      result.projectId_ = projectId_;
      result.zone_ = zone_;
      if (clusterBuilder_ == null) {
        result.cluster_ = cluster_;
      } else {
        result.cluster_ = clusterBuilder_.build();
      }
      result.parent_ = parent_;
      onBuilt();
      return result;
    }

    @java.lang.Override
    public Builder clone() {
      return (Builder) super.clone();
    }

    @java.lang.Override
    public Builder setField(
        com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
      return (Builder) super.setField(field, value);
    }

    @java.lang.Override
    public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
      return (Builder) super.clearField(field);
    }

    @java.lang.Override
    public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
      return (Builder) super.clearOneof(oneof);
    }

    @java.lang.Override
    public Builder setRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
      return (Builder) super.setRepeatedField(field, index, value);
    }

    @java.lang.Override
    public Builder addRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
      return (Builder) super.addRepeatedField(field, value);
    }

    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof com.google.container.v1.CreateClusterRequest) {
        return mergeFrom((com.google.container.v1.CreateClusterRequest) other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(com.google.container.v1.CreateClusterRequest other) {
      if (other == com.google.container.v1.CreateClusterRequest.getDefaultInstance()) return this;
      if (!other.getProjectId().isEmpty()) {
        projectId_ = other.projectId_;
        onChanged();
      }
      if (!other.getZone().isEmpty()) {
        zone_ = other.zone_;
        onChanged();
      }
      if (other.hasCluster()) {
        mergeCluster(other.getCluster());
      }
      if (!other.getParent().isEmpty()) {
        parent_ = other.parent_;
        onChanged();
      }
      this.mergeUnknownFields(other.unknownFields);
      onChanged();
      return this;
    }

    @java.lang.Override
    public final boolean isInitialized() {
      return true;
    }

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      com.google.container.v1.CreateClusterRequest parsedMessage = null;
      try {
        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        parsedMessage = (com.google.container.v1.CreateClusterRequest) e.getUnfinishedMessage();
        throw e.unwrapIOException();
      } finally {
        if (parsedMessage != null) {
          mergeFrom(parsedMessage);
        }
      }
      return this;
    }

    private java.lang.Object projectId_ = "";
    /**
     *
     *
     *

     * Deprecated. The Google Developers Console [project ID or project
     * number](https://support.google.com/cloud/answer/6158840).
     * This field has been deprecated and replaced by the parent field.
     *

     *
     * string project_id = 1 [deprecated = true];
     */
    @java.lang.Deprecated
    public java.lang.String getProjectId() {
      java.lang.Object ref = projectId_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        projectId_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     *
     *
     *

     * Deprecated. The Google Developers Console [project ID or project
     * number](https://support.google.com/cloud/answer/6158840).
     * This field has been deprecated and replaced by the parent field.
     *

     *
     * string project_id = 1 [deprecated = true];
     */
    @java.lang.Deprecated
    public com.google.protobuf.ByteString getProjectIdBytes() {
      java.lang.Object ref = projectId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
        projectId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     *
     *
     *

     * Deprecated. The Google Developers Console [project ID or project
     * number](https://support.google.com/cloud/answer/6158840).
     * This field has been deprecated and replaced by the parent field.
     *

     *
     * string project_id = 1 [deprecated = true];
     */
    @java.lang.Deprecated
    public Builder setProjectId(java.lang.String value) {
      if (value == null) {
        throw new NullPointerException();
      }

      projectId_ = value;
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * Deprecated. The Google Developers Console [project ID or project
     * number](https://support.google.com/cloud/answer/6158840).
     * This field has been deprecated and replaced by the parent field.
     *

     *
     * string project_id = 1 [deprecated = true];
     */
    @java.lang.Deprecated
    public Builder clearProjectId() {

      projectId_ = getDefaultInstance().getProjectId();
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * Deprecated. The Google Developers Console [project ID or project
     * number](https://support.google.com/cloud/answer/6158840).
     * This field has been deprecated and replaced by the parent field.
     *

     *
     * string project_id = 1 [deprecated = true];
     */
    @java.lang.Deprecated
    public Builder setProjectIdBytes(com.google.protobuf.ByteString value) {
      if (value == null) {
        throw new NullPointerException();
      }
      checkByteStringIsUtf8(value);

      projectId_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object zone_ = "";
    /**
     *
     *
     *

     * Deprecated. The name of the Google Compute Engine
     * [zone](/compute/docs/zones#available) in which the cluster
     * resides.
     * This field has been deprecated and replaced by the parent field.
     *

     *
     * string zone = 2 [deprecated = true];
     */
    @java.lang.Deprecated
    public java.lang.String getZone() {
      java.lang.Object ref = zone_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        zone_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     *
     *
     *

     * Deprecated. The name of the Google Compute Engine
     * [zone](/compute/docs/zones#available) in which the cluster
     * resides.
     * This field has been deprecated and replaced by the parent field.
     *

     *
     * string zone = 2 [deprecated = true];
     */
    @java.lang.Deprecated
    public com.google.protobuf.ByteString getZoneBytes() {
      java.lang.Object ref = zone_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
        zone_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     *
     *
     *

     * Deprecated. The name of the Google Compute Engine
     * [zone](/compute/docs/zones#available) in which the cluster
     * resides.
     * This field has been deprecated and replaced by the parent field.
     *

     *
     * string zone = 2 [deprecated = true];
     */
    @java.lang.Deprecated
    public Builder setZone(java.lang.String value) {
      if (value == null) {
        throw new NullPointerException();
      }

      zone_ = value;
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * Deprecated. The name of the Google Compute Engine
     * [zone](/compute/docs/zones#available) in which the cluster
     * resides.
     * This field has been deprecated and replaced by the parent field.
     *

     *
     * string zone = 2 [deprecated = true];
     */
    @java.lang.Deprecated
    public Builder clearZone() {

      zone_ = getDefaultInstance().getZone();
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * Deprecated. The name of the Google Compute Engine
     * [zone](/compute/docs/zones#available) in which the cluster
     * resides.
     * This field has been deprecated and replaced by the parent field.
     *

     *
     * string zone = 2 [deprecated = true];
     */
    @java.lang.Deprecated
    public Builder setZoneBytes(com.google.protobuf.ByteString value) {
      if (value == null) {
        throw new NullPointerException();
      }
      checkByteStringIsUtf8(value);

      zone_ = value;
      onChanged();
      return this;
    }

    private com.google.container.v1.Cluster cluster_ = null;
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.container.v1.Cluster,
            com.google.container.v1.Cluster.Builder,
            com.google.container.v1.ClusterOrBuilder>
        clusterBuilder_;
    /**
     *
     *
     *

     * A [cluster
     * resource](/container-engine/reference/rest/v1/projects.zones.clusters)
     *

     *
     * .google.container.v1.Cluster cluster = 3;
     */
    public boolean hasCluster() {
      return clusterBuilder_ != null || cluster_ != null;
    }
    /**
     *
     *
     *

     * A [cluster
     * resource](/container-engine/reference/rest/v1/projects.zones.clusters)
     *

     *
     * .google.container.v1.Cluster cluster = 3;
     */
    public com.google.container.v1.Cluster getCluster() {
      if (clusterBuilder_ == null) {
        return cluster_ == null ? com.google.container.v1.Cluster.getDefaultInstance() : cluster_;
      } else {
        return clusterBuilder_.getMessage();
      }
    }
    /**
     *
     *
     *

     * A [cluster
     * resource](/container-engine/reference/rest/v1/projects.zones.clusters)
     *

     *
     * .google.container.v1.Cluster cluster = 3;
     */
    public Builder setCluster(com.google.container.v1.Cluster value) {
      if (clusterBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        cluster_ = value;
        onChanged();
      } else {
        clusterBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     *
     *
     *

     * A [cluster
     * resource](/container-engine/reference/rest/v1/projects.zones.clusters)
     *

     *
     * .google.container.v1.Cluster cluster = 3;
     */
    public Builder setCluster(com.google.container.v1.Cluster.Builder builderForValue) {
      if (clusterBuilder_ == null) {
        cluster_ = builderForValue.build();
        onChanged();
      } else {
        clusterBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     *
     *
     *

     * A [cluster
     * resource](/container-engine/reference/rest/v1/projects.zones.clusters)
     *

     *
     * .google.container.v1.Cluster cluster = 3;
     */
    public Builder mergeCluster(com.google.container.v1.Cluster value) {
      if (clusterBuilder_ == null) {
        if (cluster_ != null) {
          cluster_ =
              com.google.container.v1.Cluster.newBuilder(cluster_).mergeFrom(value).buildPartial();
        } else {
          cluster_ = value;
        }
        onChanged();
      } else {
        clusterBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     *
     *
     *

     * A [cluster
     * resource](/container-engine/reference/rest/v1/projects.zones.clusters)
     *

     *
     * .google.container.v1.Cluster cluster = 3;
     */
    public Builder clearCluster() {
      if (clusterBuilder_ == null) {
        cluster_ = null;
        onChanged();
      } else {
        cluster_ = null;
        clusterBuilder_ = null;
      }

      return this;
    }
    /**
     *
     *
     *

     * A [cluster
     * resource](/container-engine/reference/rest/v1/projects.zones.clusters)
     *

     *
     * .google.container.v1.Cluster cluster = 3;
     */
    public com.google.container.v1.Cluster.Builder getClusterBuilder() {

      onChanged();
      return getClusterFieldBuilder().getBuilder();
    }
    /**
     *
     *
     *

     * A [cluster
     * resource](/container-engine/reference/rest/v1/projects.zones.clusters)
     *

     *
     * .google.container.v1.Cluster cluster = 3;
     */
    public com.google.container.v1.ClusterOrBuilder getClusterOrBuilder() {
      if (clusterBuilder_ != null) {
        return clusterBuilder_.getMessageOrBuilder();
      } else {
        return cluster_ == null ? com.google.container.v1.Cluster.getDefaultInstance() : cluster_;
      }
    }
    /**
     *
     *
     *

     * A [cluster
     * resource](/container-engine/reference/rest/v1/projects.zones.clusters)
     *

     *
     * .google.container.v1.Cluster cluster = 3;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.container.v1.Cluster,
            com.google.container.v1.Cluster.Builder,
            com.google.container.v1.ClusterOrBuilder>
        getClusterFieldBuilder() {
      if (clusterBuilder_ == null) {
        clusterBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.container.v1.Cluster,
                com.google.container.v1.Cluster.Builder,
                com.google.container.v1.ClusterOrBuilder>(
                getCluster(), getParentForChildren(), isClean());
        cluster_ = null;
      }
      return clusterBuilder_;
    }

    private java.lang.Object parent_ = "";
    /**
     *
     *
     *

     * The parent (project and location) where the cluster will be created.
     * Specified in the format 'projects/*/locations/*'.
     *

     *
     * string parent = 5;
     */
    public java.lang.String getParent() {
      java.lang.Object ref = parent_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        parent_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     *
     *
     *

     * The parent (project and location) where the cluster will be created.
     * Specified in the format 'projects/*/locations/*'.
     *

     *
     * string parent = 5;
     */
    public com.google.protobuf.ByteString getParentBytes() {
      java.lang.Object ref = parent_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
        parent_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     *
     *
     *

     * The parent (project and location) where the cluster will be created.
     * Specified in the format 'projects/*/locations/*'.
     *

     *
     * string parent = 5;
     */
    public Builder setParent(java.lang.String value) {
      if (value == null) {
        throw new NullPointerException();
      }

      parent_ = value;
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * The parent (project and location) where the cluster will be created.
     * Specified in the format 'projects/*/locations/*'.
     *

     *
     * string parent = 5;
     */
    public Builder clearParent() {

      parent_ = getDefaultInstance().getParent();
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * The parent (project and location) where the cluster will be created.
     * Specified in the format 'projects/*/locations/*'.
     *

     *
     * string parent = 5;
     */
    public Builder setParentBytes(com.google.protobuf.ByteString value) {
      if (value == null) {
        throw new NullPointerException();
      }
      checkByteStringIsUtf8(value);

      parent_ = value;
      onChanged();
      return this;
    }

    @java.lang.Override
    public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFieldsProto3(unknownFields);
    }

    @java.lang.Override
    public final Builder mergeUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.mergeUnknownFields(unknownFields);
    }

    // @@protoc_insertion_point(builder_scope:google.container.v1.CreateClusterRequest)
  }

  // @@protoc_insertion_point(class_scope:google.container.v1.CreateClusterRequest)
  private static final com.google.container.v1.CreateClusterRequest DEFAULT_INSTANCE;

  static {
    DEFAULT_INSTANCE = new com.google.container.v1.CreateClusterRequest();
  }

  public static com.google.container.v1.CreateClusterRequest getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser<CreateClusterRequest> PARSER =
      new com.google.protobuf.AbstractParser<CreateClusterRequest>() {
        @java.lang.Override
        public CreateClusterRequest parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new CreateClusterRequest(input, extensionRegistry);
        }
      };

  public static com.google.protobuf.Parser<CreateClusterRequest> parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.protobuf.Parser<CreateClusterRequest> getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.container.v1.CreateClusterRequest getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }
}

redpajama_set_name: RedPajamaGithub


text:
namespace Ewancoder.DDD
{
    using System;
    using Interfaces;

    /// <summary>
    /// Domain event.
    /// </summary>
    public abstract class DomainEvent : IDomainEvent
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="DomainEvent"/> class.
        /// </summary>
        protected DomainEvent()
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="DomainEvent"/> class.
        /// </summary>
        /// <param name="streamId">Event stream identifier.</param>
        public DomainEvent(Guid streamId)
        {
            StreamId = streamId;
        }

        /// <summary>
        /// Gets global unique identifier of related event stream.
        /// </summary>
        public Guid StreamId { get; internal set; }
    }
}


text:
using System.IO;
using Newtonsoft.Json;

namespace mastodon.Tests
{
    /// <summary>
    /// Temporary settings management
    /// </summary>
    public class Settings
    {
        private static LocalSettings _localSettings;
        private const string LocalSettingsFullPath = @"C:\Temp\localsettings.json";

        public static string InstanceName => GetLocalSettings().InstanceName;

        public static string ClientId
        {
            get => GetLocalSettings().ClientId;
            set
            {
                var settings = GetLocalSettings();
                settings.ClientId = value;
                SetLocalSettings(settings);
            }
        }

        public static string ClientSecret
        {
            get => GetLocalSettings().ClientSecret;
            set
            {
                var settings = GetLocalSettings();
                settings.ClientSecret = value;
                SetLocalSettings(settings);
            }
        }

        public static string Token
        {
            get => GetLocalSettings().Token;
            set
            {
                var settings = GetLocalSettings();
                settings.Token = value;
                SetLocalSettings(settings);
            }
        }

        public static string UserLogin => GetLocalSettings().UserLogin;

        public static string UserEmail => GetLocalSettings().UserEmail;

        public static string UserPassword => GetLocalSettings().UserPassword;

        public static string OauthCode => GetLocalSettings().OauthCode;

        private static LocalSettings GetLocalSettings()
        {
            if (_localSettings != null) return _localSettings;

            if (File.Exists(LocalSettingsFullPath))
            {
                var json = File.ReadAllText(LocalSettingsFullPath);
                return JsonConvert.DeserializeObject<LocalSettings>(json);
            }
            else
            {
                var newSettings = new LocalSettings();
                SetLocalSettings(newSettings);
                return newSettings;
            }
        }

        private static void SetLocalSettings(LocalSettings settings)
        {
            var json = JsonConvert.SerializeObject(settings);
            File.WriteAllText(LocalSettingsFullPath, json);
        }
    }

    public class LocalSettings
    {
        public string InstanceName { get; set; }
        public string ClientId { get; set; }
        public string ClientSecret { get; set; }
        public string Token { get; set; }
        public string OauthCode { get; set; }
        public string UserLogin { get; set; }
        public string UserEmail { get; set; }
        public string UserPassword { get; set; }
    }
}