...

Source file src/github.com/google/s2a-go/internal/proto/v2/s2a_go_proto/s2a.pb.go

Documentation: github.com/google/s2a-go/internal/proto/v2/s2a_go_proto

     1  // Copyright 2022 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //    https://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.30.0
    18  // 	protoc        v3.21.12
    19  // source: internal/proto/v2/s2a/s2a.proto
    20  
    21  package s2a_go_proto
    22  
    23  import (
    24  	common_go_proto1 "github.com/google/s2a-go/internal/proto/common_go_proto"
    25  	common_go_proto "github.com/google/s2a-go/internal/proto/v2/common_go_proto"
    26  	s2a_context_go_proto "github.com/google/s2a-go/internal/proto/v2/s2a_context_go_proto"
    27  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    28  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    29  	reflect "reflect"
    30  	sync "sync"
    31  )
    32  
    33  const (
    34  	// Verify that this generated code is sufficiently up-to-date.
    35  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    36  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    37  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    38  )
    39  
    40  type SignatureAlgorithm int32
    41  
    42  const (
    43  	SignatureAlgorithm_S2A_SSL_SIGN_UNSPECIFIED SignatureAlgorithm = 0
    44  	// RSA Public-Key Cryptography Standards #1.
    45  	SignatureAlgorithm_S2A_SSL_SIGN_RSA_PKCS1_SHA256 SignatureAlgorithm = 1
    46  	SignatureAlgorithm_S2A_SSL_SIGN_RSA_PKCS1_SHA384 SignatureAlgorithm = 2
    47  	SignatureAlgorithm_S2A_SSL_SIGN_RSA_PKCS1_SHA512 SignatureAlgorithm = 3
    48  	// ECDSA.
    49  	SignatureAlgorithm_S2A_SSL_SIGN_ECDSA_SECP256R1_SHA256 SignatureAlgorithm = 4
    50  	SignatureAlgorithm_S2A_SSL_SIGN_ECDSA_SECP384R1_SHA384 SignatureAlgorithm = 5
    51  	SignatureAlgorithm_S2A_SSL_SIGN_ECDSA_SECP521R1_SHA512 SignatureAlgorithm = 6
    52  	// RSA Probabilistic Signature Scheme.
    53  	SignatureAlgorithm_S2A_SSL_SIGN_RSA_PSS_RSAE_SHA256 SignatureAlgorithm = 7
    54  	SignatureAlgorithm_S2A_SSL_SIGN_RSA_PSS_RSAE_SHA384 SignatureAlgorithm = 8
    55  	SignatureAlgorithm_S2A_SSL_SIGN_RSA_PSS_RSAE_SHA512 SignatureAlgorithm = 9
    56  	// ED25519.
    57  	SignatureAlgorithm_S2A_SSL_SIGN_ED25519 SignatureAlgorithm = 10
    58  )
    59  
    60  // Enum value maps for SignatureAlgorithm.
    61  var (
    62  	SignatureAlgorithm_name = map[int32]string{
    63  		0:  "S2A_SSL_SIGN_UNSPECIFIED",
    64  		1:  "S2A_SSL_SIGN_RSA_PKCS1_SHA256",
    65  		2:  "S2A_SSL_SIGN_RSA_PKCS1_SHA384",
    66  		3:  "S2A_SSL_SIGN_RSA_PKCS1_SHA512",
    67  		4:  "S2A_SSL_SIGN_ECDSA_SECP256R1_SHA256",
    68  		5:  "S2A_SSL_SIGN_ECDSA_SECP384R1_SHA384",
    69  		6:  "S2A_SSL_SIGN_ECDSA_SECP521R1_SHA512",
    70  		7:  "S2A_SSL_SIGN_RSA_PSS_RSAE_SHA256",
    71  		8:  "S2A_SSL_SIGN_RSA_PSS_RSAE_SHA384",
    72  		9:  "S2A_SSL_SIGN_RSA_PSS_RSAE_SHA512",
    73  		10: "S2A_SSL_SIGN_ED25519",
    74  	}
    75  	SignatureAlgorithm_value = map[string]int32{
    76  		"S2A_SSL_SIGN_UNSPECIFIED":            0,
    77  		"S2A_SSL_SIGN_RSA_PKCS1_SHA256":       1,
    78  		"S2A_SSL_SIGN_RSA_PKCS1_SHA384":       2,
    79  		"S2A_SSL_SIGN_RSA_PKCS1_SHA512":       3,
    80  		"S2A_SSL_SIGN_ECDSA_SECP256R1_SHA256": 4,
    81  		"S2A_SSL_SIGN_ECDSA_SECP384R1_SHA384": 5,
    82  		"S2A_SSL_SIGN_ECDSA_SECP521R1_SHA512": 6,
    83  		"S2A_SSL_SIGN_RSA_PSS_RSAE_SHA256":    7,
    84  		"S2A_SSL_SIGN_RSA_PSS_RSAE_SHA384":    8,
    85  		"S2A_SSL_SIGN_RSA_PSS_RSAE_SHA512":    9,
    86  		"S2A_SSL_SIGN_ED25519":                10,
    87  	}
    88  )
    89  
    90  func (x SignatureAlgorithm) Enum() *SignatureAlgorithm {
    91  	p := new(SignatureAlgorithm)
    92  	*p = x
    93  	return p
    94  }
    95  
    96  func (x SignatureAlgorithm) String() string {
    97  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    98  }
    99  
   100  func (SignatureAlgorithm) Descriptor() protoreflect.EnumDescriptor {
   101  	return file_internal_proto_v2_s2a_s2a_proto_enumTypes[0].Descriptor()
   102  }
   103  
   104  func (SignatureAlgorithm) Type() protoreflect.EnumType {
   105  	return &file_internal_proto_v2_s2a_s2a_proto_enumTypes[0]
   106  }
   107  
   108  func (x SignatureAlgorithm) Number() protoreflect.EnumNumber {
   109  	return protoreflect.EnumNumber(x)
   110  }
   111  
   112  // Deprecated: Use SignatureAlgorithm.Descriptor instead.
   113  func (SignatureAlgorithm) EnumDescriptor() ([]byte, []int) {
   114  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{0}
   115  }
   116  
   117  type GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate int32
   118  
   119  const (
   120  	GetTlsConfigurationResp_ServerTlsConfiguration_UNSPECIFIED                                            GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate = 0
   121  	GetTlsConfigurationResp_ServerTlsConfiguration_DONT_REQUEST_CLIENT_CERTIFICATE                        GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate = 1
   122  	GetTlsConfigurationResp_ServerTlsConfiguration_REQUEST_CLIENT_CERTIFICATE_BUT_DONT_VERIFY             GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate = 2
   123  	GetTlsConfigurationResp_ServerTlsConfiguration_REQUEST_CLIENT_CERTIFICATE_AND_VERIFY                  GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate = 3
   124  	GetTlsConfigurationResp_ServerTlsConfiguration_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_BUT_DONT_VERIFY GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate = 4
   125  	GetTlsConfigurationResp_ServerTlsConfiguration_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_AND_VERIFY      GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate = 5
   126  )
   127  
   128  // Enum value maps for GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate.
   129  var (
   130  	GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate_name = map[int32]string{
   131  		0: "UNSPECIFIED",
   132  		1: "DONT_REQUEST_CLIENT_CERTIFICATE",
   133  		2: "REQUEST_CLIENT_CERTIFICATE_BUT_DONT_VERIFY",
   134  		3: "REQUEST_CLIENT_CERTIFICATE_AND_VERIFY",
   135  		4: "REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_BUT_DONT_VERIFY",
   136  		5: "REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_AND_VERIFY",
   137  	}
   138  	GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate_value = map[string]int32{
   139  		"UNSPECIFIED":                                            0,
   140  		"DONT_REQUEST_CLIENT_CERTIFICATE":                        1,
   141  		"REQUEST_CLIENT_CERTIFICATE_BUT_DONT_VERIFY":             2,
   142  		"REQUEST_CLIENT_CERTIFICATE_AND_VERIFY":                  3,
   143  		"REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_BUT_DONT_VERIFY": 4,
   144  		"REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_AND_VERIFY":      5,
   145  	}
   146  )
   147  
   148  func (x GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate) Enum() *GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate {
   149  	p := new(GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate)
   150  	*p = x
   151  	return p
   152  }
   153  
   154  func (x GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate) String() string {
   155  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   156  }
   157  
   158  func (GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate) Descriptor() protoreflect.EnumDescriptor {
   159  	return file_internal_proto_v2_s2a_s2a_proto_enumTypes[1].Descriptor()
   160  }
   161  
   162  func (GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate) Type() protoreflect.EnumType {
   163  	return &file_internal_proto_v2_s2a_s2a_proto_enumTypes[1]
   164  }
   165  
   166  func (x GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate) Number() protoreflect.EnumNumber {
   167  	return protoreflect.EnumNumber(x)
   168  }
   169  
   170  // Deprecated: Use GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate.Descriptor instead.
   171  func (GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate) EnumDescriptor() ([]byte, []int) {
   172  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{4, 1, 0}
   173  }
   174  
   175  type OffloadPrivateKeyOperationReq_PrivateKeyOperation int32
   176  
   177  const (
   178  	OffloadPrivateKeyOperationReq_UNSPECIFIED OffloadPrivateKeyOperationReq_PrivateKeyOperation = 0
   179  	// When performing a TLS 1.2 or 1.3 handshake, the (partial) transcript of
   180  	// the TLS handshake must be signed to prove possession of the private key.
   181  	//
   182  	// See https://www.rfc-editor.org/rfc/rfc8446.html#section-4.4.3.
   183  	OffloadPrivateKeyOperationReq_SIGN OffloadPrivateKeyOperationReq_PrivateKeyOperation = 1
   184  	// When performing a TLS 1.2 handshake using an RSA algorithm, the key
   185  	// exchange algorithm involves the client generating a premaster secret,
   186  	// encrypting it using the server's public key, and sending this encrypted
   187  	// blob to the server in a ClientKeyExchange message.
   188  	//
   189  	// See https://www.rfc-editor.org/rfc/rfc4346#section-7.4.7.1.
   190  	OffloadPrivateKeyOperationReq_DECRYPT OffloadPrivateKeyOperationReq_PrivateKeyOperation = 2
   191  )
   192  
   193  // Enum value maps for OffloadPrivateKeyOperationReq_PrivateKeyOperation.
   194  var (
   195  	OffloadPrivateKeyOperationReq_PrivateKeyOperation_name = map[int32]string{
   196  		0: "UNSPECIFIED",
   197  		1: "SIGN",
   198  		2: "DECRYPT",
   199  	}
   200  	OffloadPrivateKeyOperationReq_PrivateKeyOperation_value = map[string]int32{
   201  		"UNSPECIFIED": 0,
   202  		"SIGN":        1,
   203  		"DECRYPT":     2,
   204  	}
   205  )
   206  
   207  func (x OffloadPrivateKeyOperationReq_PrivateKeyOperation) Enum() *OffloadPrivateKeyOperationReq_PrivateKeyOperation {
   208  	p := new(OffloadPrivateKeyOperationReq_PrivateKeyOperation)
   209  	*p = x
   210  	return p
   211  }
   212  
   213  func (x OffloadPrivateKeyOperationReq_PrivateKeyOperation) String() string {
   214  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   215  }
   216  
   217  func (OffloadPrivateKeyOperationReq_PrivateKeyOperation) Descriptor() protoreflect.EnumDescriptor {
   218  	return file_internal_proto_v2_s2a_s2a_proto_enumTypes[2].Descriptor()
   219  }
   220  
   221  func (OffloadPrivateKeyOperationReq_PrivateKeyOperation) Type() protoreflect.EnumType {
   222  	return &file_internal_proto_v2_s2a_s2a_proto_enumTypes[2]
   223  }
   224  
   225  func (x OffloadPrivateKeyOperationReq_PrivateKeyOperation) Number() protoreflect.EnumNumber {
   226  	return protoreflect.EnumNumber(x)
   227  }
   228  
   229  // Deprecated: Use OffloadPrivateKeyOperationReq_PrivateKeyOperation.Descriptor instead.
   230  func (OffloadPrivateKeyOperationReq_PrivateKeyOperation) EnumDescriptor() ([]byte, []int) {
   231  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{5, 0}
   232  }
   233  
   234  type OffloadResumptionKeyOperationReq_ResumptionKeyOperation int32
   235  
   236  const (
   237  	OffloadResumptionKeyOperationReq_UNSPECIFIED OffloadResumptionKeyOperationReq_ResumptionKeyOperation = 0
   238  	OffloadResumptionKeyOperationReq_ENCRYPT     OffloadResumptionKeyOperationReq_ResumptionKeyOperation = 1
   239  	OffloadResumptionKeyOperationReq_DECRYPT     OffloadResumptionKeyOperationReq_ResumptionKeyOperation = 2
   240  )
   241  
   242  // Enum value maps for OffloadResumptionKeyOperationReq_ResumptionKeyOperation.
   243  var (
   244  	OffloadResumptionKeyOperationReq_ResumptionKeyOperation_name = map[int32]string{
   245  		0: "UNSPECIFIED",
   246  		1: "ENCRYPT",
   247  		2: "DECRYPT",
   248  	}
   249  	OffloadResumptionKeyOperationReq_ResumptionKeyOperation_value = map[string]int32{
   250  		"UNSPECIFIED": 0,
   251  		"ENCRYPT":     1,
   252  		"DECRYPT":     2,
   253  	}
   254  )
   255  
   256  func (x OffloadResumptionKeyOperationReq_ResumptionKeyOperation) Enum() *OffloadResumptionKeyOperationReq_ResumptionKeyOperation {
   257  	p := new(OffloadResumptionKeyOperationReq_ResumptionKeyOperation)
   258  	*p = x
   259  	return p
   260  }
   261  
   262  func (x OffloadResumptionKeyOperationReq_ResumptionKeyOperation) String() string {
   263  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   264  }
   265  
   266  func (OffloadResumptionKeyOperationReq_ResumptionKeyOperation) Descriptor() protoreflect.EnumDescriptor {
   267  	return file_internal_proto_v2_s2a_s2a_proto_enumTypes[3].Descriptor()
   268  }
   269  
   270  func (OffloadResumptionKeyOperationReq_ResumptionKeyOperation) Type() protoreflect.EnumType {
   271  	return &file_internal_proto_v2_s2a_s2a_proto_enumTypes[3]
   272  }
   273  
   274  func (x OffloadResumptionKeyOperationReq_ResumptionKeyOperation) Number() protoreflect.EnumNumber {
   275  	return protoreflect.EnumNumber(x)
   276  }
   277  
   278  // Deprecated: Use OffloadResumptionKeyOperationReq_ResumptionKeyOperation.Descriptor instead.
   279  func (OffloadResumptionKeyOperationReq_ResumptionKeyOperation) EnumDescriptor() ([]byte, []int) {
   280  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{7, 0}
   281  }
   282  
   283  type ValidatePeerCertificateChainReq_VerificationMode int32
   284  
   285  const (
   286  	// The default verification mode supported by S2A.
   287  	ValidatePeerCertificateChainReq_UNSPECIFIED ValidatePeerCertificateChainReq_VerificationMode = 0
   288  	// The SPIFFE verification mode selects the set of trusted certificates to
   289  	// use for path building based on the SPIFFE trust domain in the peer's leaf
   290  	// certificate.
   291  	ValidatePeerCertificateChainReq_SPIFFE ValidatePeerCertificateChainReq_VerificationMode = 1
   292  	// The connect-to-Google verification mode uses the trust bundle for
   293  	// connecting to Google, e.g. *.mtls.googleapis.com endpoints.
   294  	ValidatePeerCertificateChainReq_CONNECT_TO_GOOGLE ValidatePeerCertificateChainReq_VerificationMode = 2
   295  )
   296  
   297  // Enum value maps for ValidatePeerCertificateChainReq_VerificationMode.
   298  var (
   299  	ValidatePeerCertificateChainReq_VerificationMode_name = map[int32]string{
   300  		0: "UNSPECIFIED",
   301  		1: "SPIFFE",
   302  		2: "CONNECT_TO_GOOGLE",
   303  	}
   304  	ValidatePeerCertificateChainReq_VerificationMode_value = map[string]int32{
   305  		"UNSPECIFIED":       0,
   306  		"SPIFFE":            1,
   307  		"CONNECT_TO_GOOGLE": 2,
   308  	}
   309  )
   310  
   311  func (x ValidatePeerCertificateChainReq_VerificationMode) Enum() *ValidatePeerCertificateChainReq_VerificationMode {
   312  	p := new(ValidatePeerCertificateChainReq_VerificationMode)
   313  	*p = x
   314  	return p
   315  }
   316  
   317  func (x ValidatePeerCertificateChainReq_VerificationMode) String() string {
   318  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   319  }
   320  
   321  func (ValidatePeerCertificateChainReq_VerificationMode) Descriptor() protoreflect.EnumDescriptor {
   322  	return file_internal_proto_v2_s2a_s2a_proto_enumTypes[4].Descriptor()
   323  }
   324  
   325  func (ValidatePeerCertificateChainReq_VerificationMode) Type() protoreflect.EnumType {
   326  	return &file_internal_proto_v2_s2a_s2a_proto_enumTypes[4]
   327  }
   328  
   329  func (x ValidatePeerCertificateChainReq_VerificationMode) Number() protoreflect.EnumNumber {
   330  	return protoreflect.EnumNumber(x)
   331  }
   332  
   333  // Deprecated: Use ValidatePeerCertificateChainReq_VerificationMode.Descriptor instead.
   334  func (ValidatePeerCertificateChainReq_VerificationMode) EnumDescriptor() ([]byte, []int) {
   335  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{9, 0}
   336  }
   337  
   338  type ValidatePeerCertificateChainResp_ValidationResult int32
   339  
   340  const (
   341  	ValidatePeerCertificateChainResp_UNSPECIFIED ValidatePeerCertificateChainResp_ValidationResult = 0
   342  	ValidatePeerCertificateChainResp_SUCCESS     ValidatePeerCertificateChainResp_ValidationResult = 1
   343  	ValidatePeerCertificateChainResp_FAILURE     ValidatePeerCertificateChainResp_ValidationResult = 2
   344  )
   345  
   346  // Enum value maps for ValidatePeerCertificateChainResp_ValidationResult.
   347  var (
   348  	ValidatePeerCertificateChainResp_ValidationResult_name = map[int32]string{
   349  		0: "UNSPECIFIED",
   350  		1: "SUCCESS",
   351  		2: "FAILURE",
   352  	}
   353  	ValidatePeerCertificateChainResp_ValidationResult_value = map[string]int32{
   354  		"UNSPECIFIED": 0,
   355  		"SUCCESS":     1,
   356  		"FAILURE":     2,
   357  	}
   358  )
   359  
   360  func (x ValidatePeerCertificateChainResp_ValidationResult) Enum() *ValidatePeerCertificateChainResp_ValidationResult {
   361  	p := new(ValidatePeerCertificateChainResp_ValidationResult)
   362  	*p = x
   363  	return p
   364  }
   365  
   366  func (x ValidatePeerCertificateChainResp_ValidationResult) String() string {
   367  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   368  }
   369  
   370  func (ValidatePeerCertificateChainResp_ValidationResult) Descriptor() protoreflect.EnumDescriptor {
   371  	return file_internal_proto_v2_s2a_s2a_proto_enumTypes[5].Descriptor()
   372  }
   373  
   374  func (ValidatePeerCertificateChainResp_ValidationResult) Type() protoreflect.EnumType {
   375  	return &file_internal_proto_v2_s2a_s2a_proto_enumTypes[5]
   376  }
   377  
   378  func (x ValidatePeerCertificateChainResp_ValidationResult) Number() protoreflect.EnumNumber {
   379  	return protoreflect.EnumNumber(x)
   380  }
   381  
   382  // Deprecated: Use ValidatePeerCertificateChainResp_ValidationResult.Descriptor instead.
   383  func (ValidatePeerCertificateChainResp_ValidationResult) EnumDescriptor() ([]byte, []int) {
   384  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{10, 0}
   385  }
   386  
   387  type AlpnPolicy struct {
   388  	state         protoimpl.MessageState
   389  	sizeCache     protoimpl.SizeCache
   390  	unknownFields protoimpl.UnknownFields
   391  
   392  	// If true, the application MUST perform ALPN negotiation.
   393  	EnableAlpnNegotiation bool `protobuf:"varint,1,opt,name=enable_alpn_negotiation,json=enableAlpnNegotiation,proto3" json:"enable_alpn_negotiation,omitempty"`
   394  	// The ordered list of ALPN protocols that specify how the application SHOULD
   395  	// negotiate ALPN during the TLS handshake.
   396  	//
   397  	// The application MAY ignore any ALPN protocols in this list that are not
   398  	// supported by the application.
   399  	AlpnProtocols []common_go_proto.AlpnProtocol `protobuf:"varint,2,rep,packed,name=alpn_protocols,json=alpnProtocols,proto3,enum=s2a.proto.v2.AlpnProtocol" json:"alpn_protocols,omitempty"`
   400  }
   401  
   402  func (x *AlpnPolicy) Reset() {
   403  	*x = AlpnPolicy{}
   404  	if protoimpl.UnsafeEnabled {
   405  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[0]
   406  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   407  		ms.StoreMessageInfo(mi)
   408  	}
   409  }
   410  
   411  func (x *AlpnPolicy) String() string {
   412  	return protoimpl.X.MessageStringOf(x)
   413  }
   414  
   415  func (*AlpnPolicy) ProtoMessage() {}
   416  
   417  func (x *AlpnPolicy) ProtoReflect() protoreflect.Message {
   418  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[0]
   419  	if protoimpl.UnsafeEnabled && x != nil {
   420  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   421  		if ms.LoadMessageInfo() == nil {
   422  			ms.StoreMessageInfo(mi)
   423  		}
   424  		return ms
   425  	}
   426  	return mi.MessageOf(x)
   427  }
   428  
   429  // Deprecated: Use AlpnPolicy.ProtoReflect.Descriptor instead.
   430  func (*AlpnPolicy) Descriptor() ([]byte, []int) {
   431  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{0}
   432  }
   433  
   434  func (x *AlpnPolicy) GetEnableAlpnNegotiation() bool {
   435  	if x != nil {
   436  		return x.EnableAlpnNegotiation
   437  	}
   438  	return false
   439  }
   440  
   441  func (x *AlpnPolicy) GetAlpnProtocols() []common_go_proto.AlpnProtocol {
   442  	if x != nil {
   443  		return x.AlpnProtocols
   444  	}
   445  	return nil
   446  }
   447  
   448  type AuthenticationMechanism struct {
   449  	state         protoimpl.MessageState
   450  	sizeCache     protoimpl.SizeCache
   451  	unknownFields protoimpl.UnknownFields
   452  
   453  	// Applications may specify an identity associated to an authentication
   454  	// mechanism. Otherwise, S2A assumes that the authentication mechanism is
   455  	// associated with the default identity. If the default identity cannot be
   456  	// determined, the request is rejected.
   457  	Identity *common_go_proto1.Identity `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
   458  	// Types that are assignable to MechanismOneof:
   459  	//
   460  	//	*AuthenticationMechanism_Token
   461  	MechanismOneof isAuthenticationMechanism_MechanismOneof `protobuf_oneof:"mechanism_oneof"`
   462  }
   463  
   464  func (x *AuthenticationMechanism) Reset() {
   465  	*x = AuthenticationMechanism{}
   466  	if protoimpl.UnsafeEnabled {
   467  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[1]
   468  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   469  		ms.StoreMessageInfo(mi)
   470  	}
   471  }
   472  
   473  func (x *AuthenticationMechanism) String() string {
   474  	return protoimpl.X.MessageStringOf(x)
   475  }
   476  
   477  func (*AuthenticationMechanism) ProtoMessage() {}
   478  
   479  func (x *AuthenticationMechanism) ProtoReflect() protoreflect.Message {
   480  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[1]
   481  	if protoimpl.UnsafeEnabled && x != nil {
   482  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   483  		if ms.LoadMessageInfo() == nil {
   484  			ms.StoreMessageInfo(mi)
   485  		}
   486  		return ms
   487  	}
   488  	return mi.MessageOf(x)
   489  }
   490  
   491  // Deprecated: Use AuthenticationMechanism.ProtoReflect.Descriptor instead.
   492  func (*AuthenticationMechanism) Descriptor() ([]byte, []int) {
   493  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{1}
   494  }
   495  
   496  func (x *AuthenticationMechanism) GetIdentity() *common_go_proto1.Identity {
   497  	if x != nil {
   498  		return x.Identity
   499  	}
   500  	return nil
   501  }
   502  
   503  func (m *AuthenticationMechanism) GetMechanismOneof() isAuthenticationMechanism_MechanismOneof {
   504  	if m != nil {
   505  		return m.MechanismOneof
   506  	}
   507  	return nil
   508  }
   509  
   510  func (x *AuthenticationMechanism) GetToken() string {
   511  	if x, ok := x.GetMechanismOneof().(*AuthenticationMechanism_Token); ok {
   512  		return x.Token
   513  	}
   514  	return ""
   515  }
   516  
   517  type isAuthenticationMechanism_MechanismOneof interface {
   518  	isAuthenticationMechanism_MechanismOneof()
   519  }
   520  
   521  type AuthenticationMechanism_Token struct {
   522  	// A token that the application uses to authenticate itself to S2A.
   523  	Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
   524  }
   525  
   526  func (*AuthenticationMechanism_Token) isAuthenticationMechanism_MechanismOneof() {}
   527  
   528  type Status struct {
   529  	state         protoimpl.MessageState
   530  	sizeCache     protoimpl.SizeCache
   531  	unknownFields protoimpl.UnknownFields
   532  
   533  	// The status code that is specific to the application and the implementation
   534  	// of S2A, e.g., gRPC status code.
   535  	Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
   536  	// The status details.
   537  	Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"`
   538  }
   539  
   540  func (x *Status) Reset() {
   541  	*x = Status{}
   542  	if protoimpl.UnsafeEnabled {
   543  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[2]
   544  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   545  		ms.StoreMessageInfo(mi)
   546  	}
   547  }
   548  
   549  func (x *Status) String() string {
   550  	return protoimpl.X.MessageStringOf(x)
   551  }
   552  
   553  func (*Status) ProtoMessage() {}
   554  
   555  func (x *Status) ProtoReflect() protoreflect.Message {
   556  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[2]
   557  	if protoimpl.UnsafeEnabled && x != nil {
   558  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   559  		if ms.LoadMessageInfo() == nil {
   560  			ms.StoreMessageInfo(mi)
   561  		}
   562  		return ms
   563  	}
   564  	return mi.MessageOf(x)
   565  }
   566  
   567  // Deprecated: Use Status.ProtoReflect.Descriptor instead.
   568  func (*Status) Descriptor() ([]byte, []int) {
   569  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{2}
   570  }
   571  
   572  func (x *Status) GetCode() uint32 {
   573  	if x != nil {
   574  		return x.Code
   575  	}
   576  	return 0
   577  }
   578  
   579  func (x *Status) GetDetails() string {
   580  	if x != nil {
   581  		return x.Details
   582  	}
   583  	return ""
   584  }
   585  
   586  type GetTlsConfigurationReq struct {
   587  	state         protoimpl.MessageState
   588  	sizeCache     protoimpl.SizeCache
   589  	unknownFields protoimpl.UnknownFields
   590  
   591  	// The role of the application in the TLS connection.
   592  	ConnectionSide common_go_proto.ConnectionSide `protobuf:"varint,1,opt,name=connection_side,json=connectionSide,proto3,enum=s2a.proto.v2.ConnectionSide" json:"connection_side,omitempty"`
   593  	// The server name indication (SNI) extension, which MAY be populated when a
   594  	// server is offloading to S2A. The SNI is used to determine the server
   595  	// identity if the local identity in the request is empty.
   596  	Sni string `protobuf:"bytes,2,opt,name=sni,proto3" json:"sni,omitempty"`
   597  }
   598  
   599  func (x *GetTlsConfigurationReq) Reset() {
   600  	*x = GetTlsConfigurationReq{}
   601  	if protoimpl.UnsafeEnabled {
   602  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[3]
   603  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   604  		ms.StoreMessageInfo(mi)
   605  	}
   606  }
   607  
   608  func (x *GetTlsConfigurationReq) String() string {
   609  	return protoimpl.X.MessageStringOf(x)
   610  }
   611  
   612  func (*GetTlsConfigurationReq) ProtoMessage() {}
   613  
   614  func (x *GetTlsConfigurationReq) ProtoReflect() protoreflect.Message {
   615  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[3]
   616  	if protoimpl.UnsafeEnabled && x != nil {
   617  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   618  		if ms.LoadMessageInfo() == nil {
   619  			ms.StoreMessageInfo(mi)
   620  		}
   621  		return ms
   622  	}
   623  	return mi.MessageOf(x)
   624  }
   625  
   626  // Deprecated: Use GetTlsConfigurationReq.ProtoReflect.Descriptor instead.
   627  func (*GetTlsConfigurationReq) Descriptor() ([]byte, []int) {
   628  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{3}
   629  }
   630  
   631  func (x *GetTlsConfigurationReq) GetConnectionSide() common_go_proto.ConnectionSide {
   632  	if x != nil {
   633  		return x.ConnectionSide
   634  	}
   635  	return common_go_proto.ConnectionSide(0)
   636  }
   637  
   638  func (x *GetTlsConfigurationReq) GetSni() string {
   639  	if x != nil {
   640  		return x.Sni
   641  	}
   642  	return ""
   643  }
   644  
   645  type GetTlsConfigurationResp struct {
   646  	state         protoimpl.MessageState
   647  	sizeCache     protoimpl.SizeCache
   648  	unknownFields protoimpl.UnknownFields
   649  
   650  	// Types that are assignable to TlsConfiguration:
   651  	//
   652  	//	*GetTlsConfigurationResp_ClientTlsConfiguration_
   653  	//	*GetTlsConfigurationResp_ServerTlsConfiguration_
   654  	TlsConfiguration isGetTlsConfigurationResp_TlsConfiguration `protobuf_oneof:"tls_configuration"`
   655  }
   656  
   657  func (x *GetTlsConfigurationResp) Reset() {
   658  	*x = GetTlsConfigurationResp{}
   659  	if protoimpl.UnsafeEnabled {
   660  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[4]
   661  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   662  		ms.StoreMessageInfo(mi)
   663  	}
   664  }
   665  
   666  func (x *GetTlsConfigurationResp) String() string {
   667  	return protoimpl.X.MessageStringOf(x)
   668  }
   669  
   670  func (*GetTlsConfigurationResp) ProtoMessage() {}
   671  
   672  func (x *GetTlsConfigurationResp) ProtoReflect() protoreflect.Message {
   673  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[4]
   674  	if protoimpl.UnsafeEnabled && x != nil {
   675  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   676  		if ms.LoadMessageInfo() == nil {
   677  			ms.StoreMessageInfo(mi)
   678  		}
   679  		return ms
   680  	}
   681  	return mi.MessageOf(x)
   682  }
   683  
   684  // Deprecated: Use GetTlsConfigurationResp.ProtoReflect.Descriptor instead.
   685  func (*GetTlsConfigurationResp) Descriptor() ([]byte, []int) {
   686  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{4}
   687  }
   688  
   689  func (m *GetTlsConfigurationResp) GetTlsConfiguration() isGetTlsConfigurationResp_TlsConfiguration {
   690  	if m != nil {
   691  		return m.TlsConfiguration
   692  	}
   693  	return nil
   694  }
   695  
   696  func (x *GetTlsConfigurationResp) GetClientTlsConfiguration() *GetTlsConfigurationResp_ClientTlsConfiguration {
   697  	if x, ok := x.GetTlsConfiguration().(*GetTlsConfigurationResp_ClientTlsConfiguration_); ok {
   698  		return x.ClientTlsConfiguration
   699  	}
   700  	return nil
   701  }
   702  
   703  func (x *GetTlsConfigurationResp) GetServerTlsConfiguration() *GetTlsConfigurationResp_ServerTlsConfiguration {
   704  	if x, ok := x.GetTlsConfiguration().(*GetTlsConfigurationResp_ServerTlsConfiguration_); ok {
   705  		return x.ServerTlsConfiguration
   706  	}
   707  	return nil
   708  }
   709  
   710  type isGetTlsConfigurationResp_TlsConfiguration interface {
   711  	isGetTlsConfigurationResp_TlsConfiguration()
   712  }
   713  
   714  type GetTlsConfigurationResp_ClientTlsConfiguration_ struct {
   715  	ClientTlsConfiguration *GetTlsConfigurationResp_ClientTlsConfiguration `protobuf:"bytes,1,opt,name=client_tls_configuration,json=clientTlsConfiguration,proto3,oneof"`
   716  }
   717  
   718  type GetTlsConfigurationResp_ServerTlsConfiguration_ struct {
   719  	ServerTlsConfiguration *GetTlsConfigurationResp_ServerTlsConfiguration `protobuf:"bytes,2,opt,name=server_tls_configuration,json=serverTlsConfiguration,proto3,oneof"`
   720  }
   721  
   722  func (*GetTlsConfigurationResp_ClientTlsConfiguration_) isGetTlsConfigurationResp_TlsConfiguration() {
   723  }
   724  
   725  func (*GetTlsConfigurationResp_ServerTlsConfiguration_) isGetTlsConfigurationResp_TlsConfiguration() {
   726  }
   727  
   728  type OffloadPrivateKeyOperationReq struct {
   729  	state         protoimpl.MessageState
   730  	sizeCache     protoimpl.SizeCache
   731  	unknownFields protoimpl.UnknownFields
   732  
   733  	// The operation the private key is used for.
   734  	Operation OffloadPrivateKeyOperationReq_PrivateKeyOperation `protobuf:"varint,1,opt,name=operation,proto3,enum=s2a.proto.v2.OffloadPrivateKeyOperationReq_PrivateKeyOperation" json:"operation,omitempty"`
   735  	// The signature algorithm to be used for signing operations.
   736  	SignatureAlgorithm SignatureAlgorithm `protobuf:"varint,2,opt,name=signature_algorithm,json=signatureAlgorithm,proto3,enum=s2a.proto.v2.SignatureAlgorithm" json:"signature_algorithm,omitempty"`
   737  	// The input bytes to be signed or decrypted.
   738  	//
   739  	// Types that are assignable to InBytes:
   740  	//
   741  	//	*OffloadPrivateKeyOperationReq_RawBytes
   742  	//	*OffloadPrivateKeyOperationReq_Sha256Digest
   743  	//	*OffloadPrivateKeyOperationReq_Sha384Digest
   744  	//	*OffloadPrivateKeyOperationReq_Sha512Digest
   745  	InBytes isOffloadPrivateKeyOperationReq_InBytes `protobuf_oneof:"in_bytes"`
   746  }
   747  
   748  func (x *OffloadPrivateKeyOperationReq) Reset() {
   749  	*x = OffloadPrivateKeyOperationReq{}
   750  	if protoimpl.UnsafeEnabled {
   751  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[5]
   752  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   753  		ms.StoreMessageInfo(mi)
   754  	}
   755  }
   756  
   757  func (x *OffloadPrivateKeyOperationReq) String() string {
   758  	return protoimpl.X.MessageStringOf(x)
   759  }
   760  
   761  func (*OffloadPrivateKeyOperationReq) ProtoMessage() {}
   762  
   763  func (x *OffloadPrivateKeyOperationReq) ProtoReflect() protoreflect.Message {
   764  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[5]
   765  	if protoimpl.UnsafeEnabled && x != nil {
   766  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   767  		if ms.LoadMessageInfo() == nil {
   768  			ms.StoreMessageInfo(mi)
   769  		}
   770  		return ms
   771  	}
   772  	return mi.MessageOf(x)
   773  }
   774  
   775  // Deprecated: Use OffloadPrivateKeyOperationReq.ProtoReflect.Descriptor instead.
   776  func (*OffloadPrivateKeyOperationReq) Descriptor() ([]byte, []int) {
   777  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{5}
   778  }
   779  
   780  func (x *OffloadPrivateKeyOperationReq) GetOperation() OffloadPrivateKeyOperationReq_PrivateKeyOperation {
   781  	if x != nil {
   782  		return x.Operation
   783  	}
   784  	return OffloadPrivateKeyOperationReq_UNSPECIFIED
   785  }
   786  
   787  func (x *OffloadPrivateKeyOperationReq) GetSignatureAlgorithm() SignatureAlgorithm {
   788  	if x != nil {
   789  		return x.SignatureAlgorithm
   790  	}
   791  	return SignatureAlgorithm_S2A_SSL_SIGN_UNSPECIFIED
   792  }
   793  
   794  func (m *OffloadPrivateKeyOperationReq) GetInBytes() isOffloadPrivateKeyOperationReq_InBytes {
   795  	if m != nil {
   796  		return m.InBytes
   797  	}
   798  	return nil
   799  }
   800  
   801  func (x *OffloadPrivateKeyOperationReq) GetRawBytes() []byte {
   802  	if x, ok := x.GetInBytes().(*OffloadPrivateKeyOperationReq_RawBytes); ok {
   803  		return x.RawBytes
   804  	}
   805  	return nil
   806  }
   807  
   808  func (x *OffloadPrivateKeyOperationReq) GetSha256Digest() []byte {
   809  	if x, ok := x.GetInBytes().(*OffloadPrivateKeyOperationReq_Sha256Digest); ok {
   810  		return x.Sha256Digest
   811  	}
   812  	return nil
   813  }
   814  
   815  func (x *OffloadPrivateKeyOperationReq) GetSha384Digest() []byte {
   816  	if x, ok := x.GetInBytes().(*OffloadPrivateKeyOperationReq_Sha384Digest); ok {
   817  		return x.Sha384Digest
   818  	}
   819  	return nil
   820  }
   821  
   822  func (x *OffloadPrivateKeyOperationReq) GetSha512Digest() []byte {
   823  	if x, ok := x.GetInBytes().(*OffloadPrivateKeyOperationReq_Sha512Digest); ok {
   824  		return x.Sha512Digest
   825  	}
   826  	return nil
   827  }
   828  
   829  type isOffloadPrivateKeyOperationReq_InBytes interface {
   830  	isOffloadPrivateKeyOperationReq_InBytes()
   831  }
   832  
   833  type OffloadPrivateKeyOperationReq_RawBytes struct {
   834  	// Raw bytes to be hashed and signed, or decrypted.
   835  	RawBytes []byte `protobuf:"bytes,4,opt,name=raw_bytes,json=rawBytes,proto3,oneof"`
   836  }
   837  
   838  type OffloadPrivateKeyOperationReq_Sha256Digest struct {
   839  	// A SHA256 hash to be signed. Must be 32 bytes.
   840  	Sha256Digest []byte `protobuf:"bytes,5,opt,name=sha256_digest,json=sha256Digest,proto3,oneof"`
   841  }
   842  
   843  type OffloadPrivateKeyOperationReq_Sha384Digest struct {
   844  	// A SHA384 hash to be signed. Must be 48 bytes.
   845  	Sha384Digest []byte `protobuf:"bytes,6,opt,name=sha384_digest,json=sha384Digest,proto3,oneof"`
   846  }
   847  
   848  type OffloadPrivateKeyOperationReq_Sha512Digest struct {
   849  	// A SHA512 hash to be signed. Must be 64 bytes.
   850  	Sha512Digest []byte `protobuf:"bytes,7,opt,name=sha512_digest,json=sha512Digest,proto3,oneof"`
   851  }
   852  
   853  func (*OffloadPrivateKeyOperationReq_RawBytes) isOffloadPrivateKeyOperationReq_InBytes() {}
   854  
   855  func (*OffloadPrivateKeyOperationReq_Sha256Digest) isOffloadPrivateKeyOperationReq_InBytes() {}
   856  
   857  func (*OffloadPrivateKeyOperationReq_Sha384Digest) isOffloadPrivateKeyOperationReq_InBytes() {}
   858  
   859  func (*OffloadPrivateKeyOperationReq_Sha512Digest) isOffloadPrivateKeyOperationReq_InBytes() {}
   860  
   861  type OffloadPrivateKeyOperationResp struct {
   862  	state         protoimpl.MessageState
   863  	sizeCache     protoimpl.SizeCache
   864  	unknownFields protoimpl.UnknownFields
   865  
   866  	// The signed or decrypted output bytes.
   867  	OutBytes []byte `protobuf:"bytes,1,opt,name=out_bytes,json=outBytes,proto3" json:"out_bytes,omitempty"`
   868  }
   869  
   870  func (x *OffloadPrivateKeyOperationResp) Reset() {
   871  	*x = OffloadPrivateKeyOperationResp{}
   872  	if protoimpl.UnsafeEnabled {
   873  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[6]
   874  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   875  		ms.StoreMessageInfo(mi)
   876  	}
   877  }
   878  
   879  func (x *OffloadPrivateKeyOperationResp) String() string {
   880  	return protoimpl.X.MessageStringOf(x)
   881  }
   882  
   883  func (*OffloadPrivateKeyOperationResp) ProtoMessage() {}
   884  
   885  func (x *OffloadPrivateKeyOperationResp) ProtoReflect() protoreflect.Message {
   886  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[6]
   887  	if protoimpl.UnsafeEnabled && x != nil {
   888  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   889  		if ms.LoadMessageInfo() == nil {
   890  			ms.StoreMessageInfo(mi)
   891  		}
   892  		return ms
   893  	}
   894  	return mi.MessageOf(x)
   895  }
   896  
   897  // Deprecated: Use OffloadPrivateKeyOperationResp.ProtoReflect.Descriptor instead.
   898  func (*OffloadPrivateKeyOperationResp) Descriptor() ([]byte, []int) {
   899  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{6}
   900  }
   901  
   902  func (x *OffloadPrivateKeyOperationResp) GetOutBytes() []byte {
   903  	if x != nil {
   904  		return x.OutBytes
   905  	}
   906  	return nil
   907  }
   908  
   909  type OffloadResumptionKeyOperationReq struct {
   910  	state         protoimpl.MessageState
   911  	sizeCache     protoimpl.SizeCache
   912  	unknownFields protoimpl.UnknownFields
   913  
   914  	// The operation the resumption key is used for.
   915  	Operation OffloadResumptionKeyOperationReq_ResumptionKeyOperation `protobuf:"varint,1,opt,name=operation,proto3,enum=s2a.proto.v2.OffloadResumptionKeyOperationReq_ResumptionKeyOperation" json:"operation,omitempty"`
   916  	// The bytes to be encrypted or decrypted.
   917  	InBytes []byte `protobuf:"bytes,2,opt,name=in_bytes,json=inBytes,proto3" json:"in_bytes,omitempty"`
   918  }
   919  
   920  func (x *OffloadResumptionKeyOperationReq) Reset() {
   921  	*x = OffloadResumptionKeyOperationReq{}
   922  	if protoimpl.UnsafeEnabled {
   923  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[7]
   924  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   925  		ms.StoreMessageInfo(mi)
   926  	}
   927  }
   928  
   929  func (x *OffloadResumptionKeyOperationReq) String() string {
   930  	return protoimpl.X.MessageStringOf(x)
   931  }
   932  
   933  func (*OffloadResumptionKeyOperationReq) ProtoMessage() {}
   934  
   935  func (x *OffloadResumptionKeyOperationReq) ProtoReflect() protoreflect.Message {
   936  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[7]
   937  	if protoimpl.UnsafeEnabled && x != nil {
   938  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   939  		if ms.LoadMessageInfo() == nil {
   940  			ms.StoreMessageInfo(mi)
   941  		}
   942  		return ms
   943  	}
   944  	return mi.MessageOf(x)
   945  }
   946  
   947  // Deprecated: Use OffloadResumptionKeyOperationReq.ProtoReflect.Descriptor instead.
   948  func (*OffloadResumptionKeyOperationReq) Descriptor() ([]byte, []int) {
   949  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{7}
   950  }
   951  
   952  func (x *OffloadResumptionKeyOperationReq) GetOperation() OffloadResumptionKeyOperationReq_ResumptionKeyOperation {
   953  	if x != nil {
   954  		return x.Operation
   955  	}
   956  	return OffloadResumptionKeyOperationReq_UNSPECIFIED
   957  }
   958  
   959  func (x *OffloadResumptionKeyOperationReq) GetInBytes() []byte {
   960  	if x != nil {
   961  		return x.InBytes
   962  	}
   963  	return nil
   964  }
   965  
   966  type OffloadResumptionKeyOperationResp struct {
   967  	state         protoimpl.MessageState
   968  	sizeCache     protoimpl.SizeCache
   969  	unknownFields protoimpl.UnknownFields
   970  
   971  	// The encrypted or decrypted bytes.
   972  	OutBytes []byte `protobuf:"bytes,1,opt,name=out_bytes,json=outBytes,proto3" json:"out_bytes,omitempty"`
   973  }
   974  
   975  func (x *OffloadResumptionKeyOperationResp) Reset() {
   976  	*x = OffloadResumptionKeyOperationResp{}
   977  	if protoimpl.UnsafeEnabled {
   978  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[8]
   979  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   980  		ms.StoreMessageInfo(mi)
   981  	}
   982  }
   983  
   984  func (x *OffloadResumptionKeyOperationResp) String() string {
   985  	return protoimpl.X.MessageStringOf(x)
   986  }
   987  
   988  func (*OffloadResumptionKeyOperationResp) ProtoMessage() {}
   989  
   990  func (x *OffloadResumptionKeyOperationResp) ProtoReflect() protoreflect.Message {
   991  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[8]
   992  	if protoimpl.UnsafeEnabled && x != nil {
   993  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   994  		if ms.LoadMessageInfo() == nil {
   995  			ms.StoreMessageInfo(mi)
   996  		}
   997  		return ms
   998  	}
   999  	return mi.MessageOf(x)
  1000  }
  1001  
  1002  // Deprecated: Use OffloadResumptionKeyOperationResp.ProtoReflect.Descriptor instead.
  1003  func (*OffloadResumptionKeyOperationResp) Descriptor() ([]byte, []int) {
  1004  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{8}
  1005  }
  1006  
  1007  func (x *OffloadResumptionKeyOperationResp) GetOutBytes() []byte {
  1008  	if x != nil {
  1009  		return x.OutBytes
  1010  	}
  1011  	return nil
  1012  }
  1013  
  1014  type ValidatePeerCertificateChainReq struct {
  1015  	state         protoimpl.MessageState
  1016  	sizeCache     protoimpl.SizeCache
  1017  	unknownFields protoimpl.UnknownFields
  1018  
  1019  	// The verification mode that S2A MUST use to validate the peer certificate
  1020  	// chain.
  1021  	Mode ValidatePeerCertificateChainReq_VerificationMode `protobuf:"varint,1,opt,name=mode,proto3,enum=s2a.proto.v2.ValidatePeerCertificateChainReq_VerificationMode" json:"mode,omitempty"`
  1022  	// Types that are assignable to PeerOneof:
  1023  	//
  1024  	//	*ValidatePeerCertificateChainReq_ClientPeer_
  1025  	//	*ValidatePeerCertificateChainReq_ServerPeer_
  1026  	PeerOneof isValidatePeerCertificateChainReq_PeerOneof `protobuf_oneof:"peer_oneof"`
  1027  }
  1028  
  1029  func (x *ValidatePeerCertificateChainReq) Reset() {
  1030  	*x = ValidatePeerCertificateChainReq{}
  1031  	if protoimpl.UnsafeEnabled {
  1032  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[9]
  1033  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1034  		ms.StoreMessageInfo(mi)
  1035  	}
  1036  }
  1037  
  1038  func (x *ValidatePeerCertificateChainReq) String() string {
  1039  	return protoimpl.X.MessageStringOf(x)
  1040  }
  1041  
  1042  func (*ValidatePeerCertificateChainReq) ProtoMessage() {}
  1043  
  1044  func (x *ValidatePeerCertificateChainReq) ProtoReflect() protoreflect.Message {
  1045  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[9]
  1046  	if protoimpl.UnsafeEnabled && x != nil {
  1047  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1048  		if ms.LoadMessageInfo() == nil {
  1049  			ms.StoreMessageInfo(mi)
  1050  		}
  1051  		return ms
  1052  	}
  1053  	return mi.MessageOf(x)
  1054  }
  1055  
  1056  // Deprecated: Use ValidatePeerCertificateChainReq.ProtoReflect.Descriptor instead.
  1057  func (*ValidatePeerCertificateChainReq) Descriptor() ([]byte, []int) {
  1058  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{9}
  1059  }
  1060  
  1061  func (x *ValidatePeerCertificateChainReq) GetMode() ValidatePeerCertificateChainReq_VerificationMode {
  1062  	if x != nil {
  1063  		return x.Mode
  1064  	}
  1065  	return ValidatePeerCertificateChainReq_UNSPECIFIED
  1066  }
  1067  
  1068  func (m *ValidatePeerCertificateChainReq) GetPeerOneof() isValidatePeerCertificateChainReq_PeerOneof {
  1069  	if m != nil {
  1070  		return m.PeerOneof
  1071  	}
  1072  	return nil
  1073  }
  1074  
  1075  func (x *ValidatePeerCertificateChainReq) GetClientPeer() *ValidatePeerCertificateChainReq_ClientPeer {
  1076  	if x, ok := x.GetPeerOneof().(*ValidatePeerCertificateChainReq_ClientPeer_); ok {
  1077  		return x.ClientPeer
  1078  	}
  1079  	return nil
  1080  }
  1081  
  1082  func (x *ValidatePeerCertificateChainReq) GetServerPeer() *ValidatePeerCertificateChainReq_ServerPeer {
  1083  	if x, ok := x.GetPeerOneof().(*ValidatePeerCertificateChainReq_ServerPeer_); ok {
  1084  		return x.ServerPeer
  1085  	}
  1086  	return nil
  1087  }
  1088  
  1089  type isValidatePeerCertificateChainReq_PeerOneof interface {
  1090  	isValidatePeerCertificateChainReq_PeerOneof()
  1091  }
  1092  
  1093  type ValidatePeerCertificateChainReq_ClientPeer_ struct {
  1094  	ClientPeer *ValidatePeerCertificateChainReq_ClientPeer `protobuf:"bytes,2,opt,name=client_peer,json=clientPeer,proto3,oneof"`
  1095  }
  1096  
  1097  type ValidatePeerCertificateChainReq_ServerPeer_ struct {
  1098  	ServerPeer *ValidatePeerCertificateChainReq_ServerPeer `protobuf:"bytes,3,opt,name=server_peer,json=serverPeer,proto3,oneof"`
  1099  }
  1100  
  1101  func (*ValidatePeerCertificateChainReq_ClientPeer_) isValidatePeerCertificateChainReq_PeerOneof() {}
  1102  
  1103  func (*ValidatePeerCertificateChainReq_ServerPeer_) isValidatePeerCertificateChainReq_PeerOneof() {}
  1104  
  1105  type ValidatePeerCertificateChainResp struct {
  1106  	state         protoimpl.MessageState
  1107  	sizeCache     protoimpl.SizeCache
  1108  	unknownFields protoimpl.UnknownFields
  1109  
  1110  	// The result of validating the peer certificate chain.
  1111  	ValidationResult ValidatePeerCertificateChainResp_ValidationResult `protobuf:"varint,1,opt,name=validation_result,json=validationResult,proto3,enum=s2a.proto.v2.ValidatePeerCertificateChainResp_ValidationResult" json:"validation_result,omitempty"`
  1112  	// The validation details. This field is only populated when the validation
  1113  	// result is NOT SUCCESS.
  1114  	ValidationDetails string `protobuf:"bytes,2,opt,name=validation_details,json=validationDetails,proto3" json:"validation_details,omitempty"`
  1115  	// The S2A context contains information from the peer certificate chain.
  1116  	//
  1117  	// The S2A context MAY be populated even if validation of the peer certificate
  1118  	// chain fails.
  1119  	Context *s2a_context_go_proto.S2AContext `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"`
  1120  }
  1121  
  1122  func (x *ValidatePeerCertificateChainResp) Reset() {
  1123  	*x = ValidatePeerCertificateChainResp{}
  1124  	if protoimpl.UnsafeEnabled {
  1125  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[10]
  1126  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1127  		ms.StoreMessageInfo(mi)
  1128  	}
  1129  }
  1130  
  1131  func (x *ValidatePeerCertificateChainResp) String() string {
  1132  	return protoimpl.X.MessageStringOf(x)
  1133  }
  1134  
  1135  func (*ValidatePeerCertificateChainResp) ProtoMessage() {}
  1136  
  1137  func (x *ValidatePeerCertificateChainResp) ProtoReflect() protoreflect.Message {
  1138  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[10]
  1139  	if protoimpl.UnsafeEnabled && x != nil {
  1140  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1141  		if ms.LoadMessageInfo() == nil {
  1142  			ms.StoreMessageInfo(mi)
  1143  		}
  1144  		return ms
  1145  	}
  1146  	return mi.MessageOf(x)
  1147  }
  1148  
  1149  // Deprecated: Use ValidatePeerCertificateChainResp.ProtoReflect.Descriptor instead.
  1150  func (*ValidatePeerCertificateChainResp) Descriptor() ([]byte, []int) {
  1151  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{10}
  1152  }
  1153  
  1154  func (x *ValidatePeerCertificateChainResp) GetValidationResult() ValidatePeerCertificateChainResp_ValidationResult {
  1155  	if x != nil {
  1156  		return x.ValidationResult
  1157  	}
  1158  	return ValidatePeerCertificateChainResp_UNSPECIFIED
  1159  }
  1160  
  1161  func (x *ValidatePeerCertificateChainResp) GetValidationDetails() string {
  1162  	if x != nil {
  1163  		return x.ValidationDetails
  1164  	}
  1165  	return ""
  1166  }
  1167  
  1168  func (x *ValidatePeerCertificateChainResp) GetContext() *s2a_context_go_proto.S2AContext {
  1169  	if x != nil {
  1170  		return x.Context
  1171  	}
  1172  	return nil
  1173  }
  1174  
  1175  type SessionReq struct {
  1176  	state         protoimpl.MessageState
  1177  	sizeCache     protoimpl.SizeCache
  1178  	unknownFields protoimpl.UnknownFields
  1179  
  1180  	// The identity corresponding to the TLS configurations that MUST be used for
  1181  	// the TLS handshake.
  1182  	//
  1183  	// If a managed identity already exists, the local identity and authentication
  1184  	// mechanisms are ignored. If a managed identity doesn't exist and the local
  1185  	// identity is not populated, S2A will try to deduce the managed identity to
  1186  	// use from the SNI extension. If that also fails, S2A uses the default
  1187  	// identity (if one exists).
  1188  	LocalIdentity *common_go_proto1.Identity `protobuf:"bytes,1,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"`
  1189  	// The authentication mechanisms that the application wishes to use to
  1190  	// authenticate to S2A, ordered by preference. S2A will always use the first
  1191  	// authentication mechanism that matches the managed identity.
  1192  	AuthenticationMechanisms []*AuthenticationMechanism `protobuf:"bytes,2,rep,name=authentication_mechanisms,json=authenticationMechanisms,proto3" json:"authentication_mechanisms,omitempty"`
  1193  	// Types that are assignable to ReqOneof:
  1194  	//
  1195  	//	*SessionReq_GetTlsConfigurationReq
  1196  	//	*SessionReq_OffloadPrivateKeyOperationReq
  1197  	//	*SessionReq_OffloadResumptionKeyOperationReq
  1198  	//	*SessionReq_ValidatePeerCertificateChainReq
  1199  	ReqOneof isSessionReq_ReqOneof `protobuf_oneof:"req_oneof"`
  1200  }
  1201  
  1202  func (x *SessionReq) Reset() {
  1203  	*x = SessionReq{}
  1204  	if protoimpl.UnsafeEnabled {
  1205  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[11]
  1206  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1207  		ms.StoreMessageInfo(mi)
  1208  	}
  1209  }
  1210  
  1211  func (x *SessionReq) String() string {
  1212  	return protoimpl.X.MessageStringOf(x)
  1213  }
  1214  
  1215  func (*SessionReq) ProtoMessage() {}
  1216  
  1217  func (x *SessionReq) ProtoReflect() protoreflect.Message {
  1218  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[11]
  1219  	if protoimpl.UnsafeEnabled && x != nil {
  1220  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1221  		if ms.LoadMessageInfo() == nil {
  1222  			ms.StoreMessageInfo(mi)
  1223  		}
  1224  		return ms
  1225  	}
  1226  	return mi.MessageOf(x)
  1227  }
  1228  
  1229  // Deprecated: Use SessionReq.ProtoReflect.Descriptor instead.
  1230  func (*SessionReq) Descriptor() ([]byte, []int) {
  1231  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{11}
  1232  }
  1233  
  1234  func (x *SessionReq) GetLocalIdentity() *common_go_proto1.Identity {
  1235  	if x != nil {
  1236  		return x.LocalIdentity
  1237  	}
  1238  	return nil
  1239  }
  1240  
  1241  func (x *SessionReq) GetAuthenticationMechanisms() []*AuthenticationMechanism {
  1242  	if x != nil {
  1243  		return x.AuthenticationMechanisms
  1244  	}
  1245  	return nil
  1246  }
  1247  
  1248  func (m *SessionReq) GetReqOneof() isSessionReq_ReqOneof {
  1249  	if m != nil {
  1250  		return m.ReqOneof
  1251  	}
  1252  	return nil
  1253  }
  1254  
  1255  func (x *SessionReq) GetGetTlsConfigurationReq() *GetTlsConfigurationReq {
  1256  	if x, ok := x.GetReqOneof().(*SessionReq_GetTlsConfigurationReq); ok {
  1257  		return x.GetTlsConfigurationReq
  1258  	}
  1259  	return nil
  1260  }
  1261  
  1262  func (x *SessionReq) GetOffloadPrivateKeyOperationReq() *OffloadPrivateKeyOperationReq {
  1263  	if x, ok := x.GetReqOneof().(*SessionReq_OffloadPrivateKeyOperationReq); ok {
  1264  		return x.OffloadPrivateKeyOperationReq
  1265  	}
  1266  	return nil
  1267  }
  1268  
  1269  func (x *SessionReq) GetOffloadResumptionKeyOperationReq() *OffloadResumptionKeyOperationReq {
  1270  	if x, ok := x.GetReqOneof().(*SessionReq_OffloadResumptionKeyOperationReq); ok {
  1271  		return x.OffloadResumptionKeyOperationReq
  1272  	}
  1273  	return nil
  1274  }
  1275  
  1276  func (x *SessionReq) GetValidatePeerCertificateChainReq() *ValidatePeerCertificateChainReq {
  1277  	if x, ok := x.GetReqOneof().(*SessionReq_ValidatePeerCertificateChainReq); ok {
  1278  		return x.ValidatePeerCertificateChainReq
  1279  	}
  1280  	return nil
  1281  }
  1282  
  1283  type isSessionReq_ReqOneof interface {
  1284  	isSessionReq_ReqOneof()
  1285  }
  1286  
  1287  type SessionReq_GetTlsConfigurationReq struct {
  1288  	// Requests the certificate chain and TLS configuration corresponding to the
  1289  	// local identity, which the application MUST use to negotiate the TLS
  1290  	// handshake.
  1291  	GetTlsConfigurationReq *GetTlsConfigurationReq `protobuf:"bytes,3,opt,name=get_tls_configuration_req,json=getTlsConfigurationReq,proto3,oneof"`
  1292  }
  1293  
  1294  type SessionReq_OffloadPrivateKeyOperationReq struct {
  1295  	// Signs or decrypts the input bytes using a private key corresponding to
  1296  	// the local identity in the request.
  1297  	//
  1298  	// WARNING: More than one OffloadPrivateKeyOperationReq may be sent to the
  1299  	// S2Av2 by a server during a TLS 1.2 handshake.
  1300  	OffloadPrivateKeyOperationReq *OffloadPrivateKeyOperationReq `protobuf:"bytes,4,opt,name=offload_private_key_operation_req,json=offloadPrivateKeyOperationReq,proto3,oneof"`
  1301  }
  1302  
  1303  type SessionReq_OffloadResumptionKeyOperationReq struct {
  1304  	// Encrypts or decrypts the input bytes using a resumption key corresponding
  1305  	// to the local identity in the request.
  1306  	OffloadResumptionKeyOperationReq *OffloadResumptionKeyOperationReq `protobuf:"bytes,5,opt,name=offload_resumption_key_operation_req,json=offloadResumptionKeyOperationReq,proto3,oneof"`
  1307  }
  1308  
  1309  type SessionReq_ValidatePeerCertificateChainReq struct {
  1310  	// Verifies the peer's certificate chain using
  1311  	// (a) trust bundles corresponding to the local identity in the request, and
  1312  	// (b) the verification mode in the request.
  1313  	ValidatePeerCertificateChainReq *ValidatePeerCertificateChainReq `protobuf:"bytes,6,opt,name=validate_peer_certificate_chain_req,json=validatePeerCertificateChainReq,proto3,oneof"`
  1314  }
  1315  
  1316  func (*SessionReq_GetTlsConfigurationReq) isSessionReq_ReqOneof() {}
  1317  
  1318  func (*SessionReq_OffloadPrivateKeyOperationReq) isSessionReq_ReqOneof() {}
  1319  
  1320  func (*SessionReq_OffloadResumptionKeyOperationReq) isSessionReq_ReqOneof() {}
  1321  
  1322  func (*SessionReq_ValidatePeerCertificateChainReq) isSessionReq_ReqOneof() {}
  1323  
  1324  type SessionResp struct {
  1325  	state         protoimpl.MessageState
  1326  	sizeCache     protoimpl.SizeCache
  1327  	unknownFields protoimpl.UnknownFields
  1328  
  1329  	// Status of the session response.
  1330  	//
  1331  	// The status field is populated so that if an error occurs when making an
  1332  	// individual request, then communication with the S2A may continue. If an
  1333  	// error is returned directly (e.g. at the gRPC layer), then it may result
  1334  	// that the bidirectional stream being closed.
  1335  	Status *Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
  1336  	// Types that are assignable to RespOneof:
  1337  	//
  1338  	//	*SessionResp_GetTlsConfigurationResp
  1339  	//	*SessionResp_OffloadPrivateKeyOperationResp
  1340  	//	*SessionResp_OffloadResumptionKeyOperationResp
  1341  	//	*SessionResp_ValidatePeerCertificateChainResp
  1342  	RespOneof isSessionResp_RespOneof `protobuf_oneof:"resp_oneof"`
  1343  }
  1344  
  1345  func (x *SessionResp) Reset() {
  1346  	*x = SessionResp{}
  1347  	if protoimpl.UnsafeEnabled {
  1348  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[12]
  1349  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1350  		ms.StoreMessageInfo(mi)
  1351  	}
  1352  }
  1353  
  1354  func (x *SessionResp) String() string {
  1355  	return protoimpl.X.MessageStringOf(x)
  1356  }
  1357  
  1358  func (*SessionResp) ProtoMessage() {}
  1359  
  1360  func (x *SessionResp) ProtoReflect() protoreflect.Message {
  1361  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[12]
  1362  	if protoimpl.UnsafeEnabled && x != nil {
  1363  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1364  		if ms.LoadMessageInfo() == nil {
  1365  			ms.StoreMessageInfo(mi)
  1366  		}
  1367  		return ms
  1368  	}
  1369  	return mi.MessageOf(x)
  1370  }
  1371  
  1372  // Deprecated: Use SessionResp.ProtoReflect.Descriptor instead.
  1373  func (*SessionResp) Descriptor() ([]byte, []int) {
  1374  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{12}
  1375  }
  1376  
  1377  func (x *SessionResp) GetStatus() *Status {
  1378  	if x != nil {
  1379  		return x.Status
  1380  	}
  1381  	return nil
  1382  }
  1383  
  1384  func (m *SessionResp) GetRespOneof() isSessionResp_RespOneof {
  1385  	if m != nil {
  1386  		return m.RespOneof
  1387  	}
  1388  	return nil
  1389  }
  1390  
  1391  func (x *SessionResp) GetGetTlsConfigurationResp() *GetTlsConfigurationResp {
  1392  	if x, ok := x.GetRespOneof().(*SessionResp_GetTlsConfigurationResp); ok {
  1393  		return x.GetTlsConfigurationResp
  1394  	}
  1395  	return nil
  1396  }
  1397  
  1398  func (x *SessionResp) GetOffloadPrivateKeyOperationResp() *OffloadPrivateKeyOperationResp {
  1399  	if x, ok := x.GetRespOneof().(*SessionResp_OffloadPrivateKeyOperationResp); ok {
  1400  		return x.OffloadPrivateKeyOperationResp
  1401  	}
  1402  	return nil
  1403  }
  1404  
  1405  func (x *SessionResp) GetOffloadResumptionKeyOperationResp() *OffloadResumptionKeyOperationResp {
  1406  	if x, ok := x.GetRespOneof().(*SessionResp_OffloadResumptionKeyOperationResp); ok {
  1407  		return x.OffloadResumptionKeyOperationResp
  1408  	}
  1409  	return nil
  1410  }
  1411  
  1412  func (x *SessionResp) GetValidatePeerCertificateChainResp() *ValidatePeerCertificateChainResp {
  1413  	if x, ok := x.GetRespOneof().(*SessionResp_ValidatePeerCertificateChainResp); ok {
  1414  		return x.ValidatePeerCertificateChainResp
  1415  	}
  1416  	return nil
  1417  }
  1418  
  1419  type isSessionResp_RespOneof interface {
  1420  	isSessionResp_RespOneof()
  1421  }
  1422  
  1423  type SessionResp_GetTlsConfigurationResp struct {
  1424  	// Contains the certificate chain and TLS configurations corresponding to
  1425  	// the local identity.
  1426  	GetTlsConfigurationResp *GetTlsConfigurationResp `protobuf:"bytes,2,opt,name=get_tls_configuration_resp,json=getTlsConfigurationResp,proto3,oneof"`
  1427  }
  1428  
  1429  type SessionResp_OffloadPrivateKeyOperationResp struct {
  1430  	// Contains the signed or encrypted output bytes using the private key
  1431  	// corresponding to the local identity.
  1432  	OffloadPrivateKeyOperationResp *OffloadPrivateKeyOperationResp `protobuf:"bytes,3,opt,name=offload_private_key_operation_resp,json=offloadPrivateKeyOperationResp,proto3,oneof"`
  1433  }
  1434  
  1435  type SessionResp_OffloadResumptionKeyOperationResp struct {
  1436  	// Contains the encrypted or decrypted output bytes using the resumption key
  1437  	// corresponding to the local identity.
  1438  	OffloadResumptionKeyOperationResp *OffloadResumptionKeyOperationResp `protobuf:"bytes,4,opt,name=offload_resumption_key_operation_resp,json=offloadResumptionKeyOperationResp,proto3,oneof"`
  1439  }
  1440  
  1441  type SessionResp_ValidatePeerCertificateChainResp struct {
  1442  	// Contains the validation result, peer identity and fingerprints of peer
  1443  	// certificates.
  1444  	ValidatePeerCertificateChainResp *ValidatePeerCertificateChainResp `protobuf:"bytes,5,opt,name=validate_peer_certificate_chain_resp,json=validatePeerCertificateChainResp,proto3,oneof"`
  1445  }
  1446  
  1447  func (*SessionResp_GetTlsConfigurationResp) isSessionResp_RespOneof() {}
  1448  
  1449  func (*SessionResp_OffloadPrivateKeyOperationResp) isSessionResp_RespOneof() {}
  1450  
  1451  func (*SessionResp_OffloadResumptionKeyOperationResp) isSessionResp_RespOneof() {}
  1452  
  1453  func (*SessionResp_ValidatePeerCertificateChainResp) isSessionResp_RespOneof() {}
  1454  
  1455  // Next ID: 8
  1456  type GetTlsConfigurationResp_ClientTlsConfiguration struct {
  1457  	state         protoimpl.MessageState
  1458  	sizeCache     protoimpl.SizeCache
  1459  	unknownFields protoimpl.UnknownFields
  1460  
  1461  	// The certificate chain that the client MUST use for the TLS handshake.
  1462  	// It's a list of PEM-encoded certificates, ordered from leaf to root,
  1463  	// excluding the root.
  1464  	CertificateChain []string `protobuf:"bytes,1,rep,name=certificate_chain,json=certificateChain,proto3" json:"certificate_chain,omitempty"`
  1465  	// The minimum TLS version number that the client MUST use for the TLS
  1466  	// handshake. If this field is not provided, the client MUST use the default
  1467  	// minimum version of the client's TLS library.
  1468  	MinTlsVersion common_go_proto.TLSVersion `protobuf:"varint,2,opt,name=min_tls_version,json=minTlsVersion,proto3,enum=s2a.proto.v2.TLSVersion" json:"min_tls_version,omitempty"`
  1469  	// The maximum TLS version number that the client MUST use for the TLS
  1470  	// handshake. If this field is not provided, the client MUST use the default
  1471  	// maximum version of the client's TLS library.
  1472  	MaxTlsVersion common_go_proto.TLSVersion `protobuf:"varint,3,opt,name=max_tls_version,json=maxTlsVersion,proto3,enum=s2a.proto.v2.TLSVersion" json:"max_tls_version,omitempty"`
  1473  	// The ordered list of TLS 1.0-1.2 ciphersuites that the client MAY offer to
  1474  	// negotiate in the TLS handshake.
  1475  	Ciphersuites []common_go_proto.Ciphersuite `protobuf:"varint,6,rep,packed,name=ciphersuites,proto3,enum=s2a.proto.v2.Ciphersuite" json:"ciphersuites,omitempty"`
  1476  	// The policy that dictates how the client negotiates ALPN during the TLS
  1477  	// handshake.
  1478  	AlpnPolicy *AlpnPolicy `protobuf:"bytes,7,opt,name=alpn_policy,json=alpnPolicy,proto3" json:"alpn_policy,omitempty"`
  1479  }
  1480  
  1481  func (x *GetTlsConfigurationResp_ClientTlsConfiguration) Reset() {
  1482  	*x = GetTlsConfigurationResp_ClientTlsConfiguration{}
  1483  	if protoimpl.UnsafeEnabled {
  1484  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[13]
  1485  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1486  		ms.StoreMessageInfo(mi)
  1487  	}
  1488  }
  1489  
  1490  func (x *GetTlsConfigurationResp_ClientTlsConfiguration) String() string {
  1491  	return protoimpl.X.MessageStringOf(x)
  1492  }
  1493  
  1494  func (*GetTlsConfigurationResp_ClientTlsConfiguration) ProtoMessage() {}
  1495  
  1496  func (x *GetTlsConfigurationResp_ClientTlsConfiguration) ProtoReflect() protoreflect.Message {
  1497  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[13]
  1498  	if protoimpl.UnsafeEnabled && x != nil {
  1499  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1500  		if ms.LoadMessageInfo() == nil {
  1501  			ms.StoreMessageInfo(mi)
  1502  		}
  1503  		return ms
  1504  	}
  1505  	return mi.MessageOf(x)
  1506  }
  1507  
  1508  // Deprecated: Use GetTlsConfigurationResp_ClientTlsConfiguration.ProtoReflect.Descriptor instead.
  1509  func (*GetTlsConfigurationResp_ClientTlsConfiguration) Descriptor() ([]byte, []int) {
  1510  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{4, 0}
  1511  }
  1512  
  1513  func (x *GetTlsConfigurationResp_ClientTlsConfiguration) GetCertificateChain() []string {
  1514  	if x != nil {
  1515  		return x.CertificateChain
  1516  	}
  1517  	return nil
  1518  }
  1519  
  1520  func (x *GetTlsConfigurationResp_ClientTlsConfiguration) GetMinTlsVersion() common_go_proto.TLSVersion {
  1521  	if x != nil {
  1522  		return x.MinTlsVersion
  1523  	}
  1524  	return common_go_proto.TLSVersion(0)
  1525  }
  1526  
  1527  func (x *GetTlsConfigurationResp_ClientTlsConfiguration) GetMaxTlsVersion() common_go_proto.TLSVersion {
  1528  	if x != nil {
  1529  		return x.MaxTlsVersion
  1530  	}
  1531  	return common_go_proto.TLSVersion(0)
  1532  }
  1533  
  1534  func (x *GetTlsConfigurationResp_ClientTlsConfiguration) GetCiphersuites() []common_go_proto.Ciphersuite {
  1535  	if x != nil {
  1536  		return x.Ciphersuites
  1537  	}
  1538  	return nil
  1539  }
  1540  
  1541  func (x *GetTlsConfigurationResp_ClientTlsConfiguration) GetAlpnPolicy() *AlpnPolicy {
  1542  	if x != nil {
  1543  		return x.AlpnPolicy
  1544  	}
  1545  	return nil
  1546  }
  1547  
  1548  // Next ID: 12
  1549  type GetTlsConfigurationResp_ServerTlsConfiguration struct {
  1550  	state         protoimpl.MessageState
  1551  	sizeCache     protoimpl.SizeCache
  1552  	unknownFields protoimpl.UnknownFields
  1553  
  1554  	// The certificate chain that the server MUST use for the TLS handshake.
  1555  	// It's a list of PEM-encoded certificates, ordered from leaf to root,
  1556  	// excluding the root.
  1557  	CertificateChain []string `protobuf:"bytes,1,rep,name=certificate_chain,json=certificateChain,proto3" json:"certificate_chain,omitempty"`
  1558  	// The minimum TLS version number that the server MUST use for the TLS
  1559  	// handshake. If this field is not provided, the server MUST use the default
  1560  	// minimum version of the server's TLS library.
  1561  	MinTlsVersion common_go_proto.TLSVersion `protobuf:"varint,2,opt,name=min_tls_version,json=minTlsVersion,proto3,enum=s2a.proto.v2.TLSVersion" json:"min_tls_version,omitempty"`
  1562  	// The maximum TLS version number that the server MUST use for the TLS
  1563  	// handshake. If this field is not provided, the server MUST use the default
  1564  	// maximum version of the server's TLS library.
  1565  	MaxTlsVersion common_go_proto.TLSVersion `protobuf:"varint,3,opt,name=max_tls_version,json=maxTlsVersion,proto3,enum=s2a.proto.v2.TLSVersion" json:"max_tls_version,omitempty"`
  1566  	// The ordered list of TLS 1.0-1.2 ciphersuites that the server MAY offer to
  1567  	// negotiate in the TLS handshake.
  1568  	Ciphersuites []common_go_proto.Ciphersuite `protobuf:"varint,10,rep,packed,name=ciphersuites,proto3,enum=s2a.proto.v2.Ciphersuite" json:"ciphersuites,omitempty"`
  1569  	// Whether to enable TLS resumption.
  1570  	TlsResumptionEnabled bool `protobuf:"varint,6,opt,name=tls_resumption_enabled,json=tlsResumptionEnabled,proto3" json:"tls_resumption_enabled,omitempty"`
  1571  	// Whether the server MUST request a client certificate (i.e. to negotiate
  1572  	// TLS vs. mTLS).
  1573  	RequestClientCertificate GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate `protobuf:"varint,7,opt,name=request_client_certificate,json=requestClientCertificate,proto3,enum=s2a.proto.v2.GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate" json:"request_client_certificate,omitempty"`
  1574  	// Returns the maximum number of extra bytes that
  1575  	// |OffloadResumptionKeyOperation| can add to the number of unencrypted
  1576  	// bytes to form the encrypted bytes.
  1577  	MaxOverheadOfTicketAead uint32 `protobuf:"varint,9,opt,name=max_overhead_of_ticket_aead,json=maxOverheadOfTicketAead,proto3" json:"max_overhead_of_ticket_aead,omitempty"`
  1578  	// The policy that dictates how the server negotiates ALPN during the TLS
  1579  	// handshake.
  1580  	AlpnPolicy *AlpnPolicy `protobuf:"bytes,11,opt,name=alpn_policy,json=alpnPolicy,proto3" json:"alpn_policy,omitempty"`
  1581  }
  1582  
  1583  func (x *GetTlsConfigurationResp_ServerTlsConfiguration) Reset() {
  1584  	*x = GetTlsConfigurationResp_ServerTlsConfiguration{}
  1585  	if protoimpl.UnsafeEnabled {
  1586  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[14]
  1587  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1588  		ms.StoreMessageInfo(mi)
  1589  	}
  1590  }
  1591  
  1592  func (x *GetTlsConfigurationResp_ServerTlsConfiguration) String() string {
  1593  	return protoimpl.X.MessageStringOf(x)
  1594  }
  1595  
  1596  func (*GetTlsConfigurationResp_ServerTlsConfiguration) ProtoMessage() {}
  1597  
  1598  func (x *GetTlsConfigurationResp_ServerTlsConfiguration) ProtoReflect() protoreflect.Message {
  1599  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[14]
  1600  	if protoimpl.UnsafeEnabled && x != nil {
  1601  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1602  		if ms.LoadMessageInfo() == nil {
  1603  			ms.StoreMessageInfo(mi)
  1604  		}
  1605  		return ms
  1606  	}
  1607  	return mi.MessageOf(x)
  1608  }
  1609  
  1610  // Deprecated: Use GetTlsConfigurationResp_ServerTlsConfiguration.ProtoReflect.Descriptor instead.
  1611  func (*GetTlsConfigurationResp_ServerTlsConfiguration) Descriptor() ([]byte, []int) {
  1612  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{4, 1}
  1613  }
  1614  
  1615  func (x *GetTlsConfigurationResp_ServerTlsConfiguration) GetCertificateChain() []string {
  1616  	if x != nil {
  1617  		return x.CertificateChain
  1618  	}
  1619  	return nil
  1620  }
  1621  
  1622  func (x *GetTlsConfigurationResp_ServerTlsConfiguration) GetMinTlsVersion() common_go_proto.TLSVersion {
  1623  	if x != nil {
  1624  		return x.MinTlsVersion
  1625  	}
  1626  	return common_go_proto.TLSVersion(0)
  1627  }
  1628  
  1629  func (x *GetTlsConfigurationResp_ServerTlsConfiguration) GetMaxTlsVersion() common_go_proto.TLSVersion {
  1630  	if x != nil {
  1631  		return x.MaxTlsVersion
  1632  	}
  1633  	return common_go_proto.TLSVersion(0)
  1634  }
  1635  
  1636  func (x *GetTlsConfigurationResp_ServerTlsConfiguration) GetCiphersuites() []common_go_proto.Ciphersuite {
  1637  	if x != nil {
  1638  		return x.Ciphersuites
  1639  	}
  1640  	return nil
  1641  }
  1642  
  1643  func (x *GetTlsConfigurationResp_ServerTlsConfiguration) GetTlsResumptionEnabled() bool {
  1644  	if x != nil {
  1645  		return x.TlsResumptionEnabled
  1646  	}
  1647  	return false
  1648  }
  1649  
  1650  func (x *GetTlsConfigurationResp_ServerTlsConfiguration) GetRequestClientCertificate() GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate {
  1651  	if x != nil {
  1652  		return x.RequestClientCertificate
  1653  	}
  1654  	return GetTlsConfigurationResp_ServerTlsConfiguration_UNSPECIFIED
  1655  }
  1656  
  1657  func (x *GetTlsConfigurationResp_ServerTlsConfiguration) GetMaxOverheadOfTicketAead() uint32 {
  1658  	if x != nil {
  1659  		return x.MaxOverheadOfTicketAead
  1660  	}
  1661  	return 0
  1662  }
  1663  
  1664  func (x *GetTlsConfigurationResp_ServerTlsConfiguration) GetAlpnPolicy() *AlpnPolicy {
  1665  	if x != nil {
  1666  		return x.AlpnPolicy
  1667  	}
  1668  	return nil
  1669  }
  1670  
  1671  type ValidatePeerCertificateChainReq_ClientPeer struct {
  1672  	state         protoimpl.MessageState
  1673  	sizeCache     protoimpl.SizeCache
  1674  	unknownFields protoimpl.UnknownFields
  1675  
  1676  	// The certificate chain to be verified. The chain MUST be a list of
  1677  	// DER-encoded certificates, ordered from leaf to root, excluding the root.
  1678  	CertificateChain [][]byte `protobuf:"bytes,1,rep,name=certificate_chain,json=certificateChain,proto3" json:"certificate_chain,omitempty"`
  1679  }
  1680  
  1681  func (x *ValidatePeerCertificateChainReq_ClientPeer) Reset() {
  1682  	*x = ValidatePeerCertificateChainReq_ClientPeer{}
  1683  	if protoimpl.UnsafeEnabled {
  1684  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[15]
  1685  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1686  		ms.StoreMessageInfo(mi)
  1687  	}
  1688  }
  1689  
  1690  func (x *ValidatePeerCertificateChainReq_ClientPeer) String() string {
  1691  	return protoimpl.X.MessageStringOf(x)
  1692  }
  1693  
  1694  func (*ValidatePeerCertificateChainReq_ClientPeer) ProtoMessage() {}
  1695  
  1696  func (x *ValidatePeerCertificateChainReq_ClientPeer) ProtoReflect() protoreflect.Message {
  1697  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[15]
  1698  	if protoimpl.UnsafeEnabled && x != nil {
  1699  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1700  		if ms.LoadMessageInfo() == nil {
  1701  			ms.StoreMessageInfo(mi)
  1702  		}
  1703  		return ms
  1704  	}
  1705  	return mi.MessageOf(x)
  1706  }
  1707  
  1708  // Deprecated: Use ValidatePeerCertificateChainReq_ClientPeer.ProtoReflect.Descriptor instead.
  1709  func (*ValidatePeerCertificateChainReq_ClientPeer) Descriptor() ([]byte, []int) {
  1710  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{9, 0}
  1711  }
  1712  
  1713  func (x *ValidatePeerCertificateChainReq_ClientPeer) GetCertificateChain() [][]byte {
  1714  	if x != nil {
  1715  		return x.CertificateChain
  1716  	}
  1717  	return nil
  1718  }
  1719  
  1720  type ValidatePeerCertificateChainReq_ServerPeer struct {
  1721  	state         protoimpl.MessageState
  1722  	sizeCache     protoimpl.SizeCache
  1723  	unknownFields protoimpl.UnknownFields
  1724  
  1725  	// The certificate chain to be verified. The chain MUST be a list of
  1726  	// DER-encoded certificates, ordered from leaf to root, excluding the root.
  1727  	CertificateChain [][]byte `protobuf:"bytes,1,rep,name=certificate_chain,json=certificateChain,proto3" json:"certificate_chain,omitempty"`
  1728  	// The expected hostname of the server.
  1729  	ServerHostname string `protobuf:"bytes,2,opt,name=server_hostname,json=serverHostname,proto3" json:"server_hostname,omitempty"`
  1730  	// The UnrestrictedClientPolicy specified by the user.
  1731  	SerializedUnrestrictedClientPolicy []byte `protobuf:"bytes,3,opt,name=serialized_unrestricted_client_policy,json=serializedUnrestrictedClientPolicy,proto3" json:"serialized_unrestricted_client_policy,omitempty"`
  1732  }
  1733  
  1734  func (x *ValidatePeerCertificateChainReq_ServerPeer) Reset() {
  1735  	*x = ValidatePeerCertificateChainReq_ServerPeer{}
  1736  	if protoimpl.UnsafeEnabled {
  1737  		mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[16]
  1738  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1739  		ms.StoreMessageInfo(mi)
  1740  	}
  1741  }
  1742  
  1743  func (x *ValidatePeerCertificateChainReq_ServerPeer) String() string {
  1744  	return protoimpl.X.MessageStringOf(x)
  1745  }
  1746  
  1747  func (*ValidatePeerCertificateChainReq_ServerPeer) ProtoMessage() {}
  1748  
  1749  func (x *ValidatePeerCertificateChainReq_ServerPeer) ProtoReflect() protoreflect.Message {
  1750  	mi := &file_internal_proto_v2_s2a_s2a_proto_msgTypes[16]
  1751  	if protoimpl.UnsafeEnabled && x != nil {
  1752  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1753  		if ms.LoadMessageInfo() == nil {
  1754  			ms.StoreMessageInfo(mi)
  1755  		}
  1756  		return ms
  1757  	}
  1758  	return mi.MessageOf(x)
  1759  }
  1760  
  1761  // Deprecated: Use ValidatePeerCertificateChainReq_ServerPeer.ProtoReflect.Descriptor instead.
  1762  func (*ValidatePeerCertificateChainReq_ServerPeer) Descriptor() ([]byte, []int) {
  1763  	return file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP(), []int{9, 1}
  1764  }
  1765  
  1766  func (x *ValidatePeerCertificateChainReq_ServerPeer) GetCertificateChain() [][]byte {
  1767  	if x != nil {
  1768  		return x.CertificateChain
  1769  	}
  1770  	return nil
  1771  }
  1772  
  1773  func (x *ValidatePeerCertificateChainReq_ServerPeer) GetServerHostname() string {
  1774  	if x != nil {
  1775  		return x.ServerHostname
  1776  	}
  1777  	return ""
  1778  }
  1779  
  1780  func (x *ValidatePeerCertificateChainReq_ServerPeer) GetSerializedUnrestrictedClientPolicy() []byte {
  1781  	if x != nil {
  1782  		return x.SerializedUnrestrictedClientPolicy
  1783  	}
  1784  	return nil
  1785  }
  1786  
  1787  var File_internal_proto_v2_s2a_s2a_proto protoreflect.FileDescriptor
  1788  
  1789  var file_internal_proto_v2_s2a_s2a_proto_rawDesc = []byte{
  1790  	0x0a, 0x1f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1791  	0x2f, 0x76, 0x32, 0x2f, 0x73, 0x32, 0x61, 0x2f, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1792  	0x6f, 0x12, 0x0c, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x1a,
  1793  	0x22, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
  1794  	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
  1795  	0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72,
  1796  	0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f,
  1797  	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x69, 0x6e, 0x74, 0x65,
  1798  	0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x32,
  1799  	0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x73, 0x32, 0x61, 0x5f, 0x63, 0x6f,
  1800  	0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x01, 0x0a, 0x0a,
  1801  	0x41, 0x6c, 0x70, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e,
  1802  	0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6c, 0x70, 0x6e, 0x5f, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69,
  1803  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x6e, 0x61,
  1804  	0x62, 0x6c, 0x65, 0x41, 0x6c, 0x70, 0x6e, 0x4e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69,
  1805  	0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0e, 0x61, 0x6c, 0x70, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1806  	0x63, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x32, 0x61,
  1807  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6c, 0x70, 0x6e, 0x50, 0x72,
  1808  	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x0d, 0x61, 0x6c, 0x70, 0x6e, 0x50, 0x72, 0x6f, 0x74,
  1809  	0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x75, 0x0a, 0x17, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
  1810  	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x6d,
  1811  	0x12, 0x2f, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01,
  1812  	0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49,
  1813  	0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
  1814  	0x79, 0x12, 0x16, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  1815  	0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x6d, 0x65, 0x63,
  1816  	0x68, 0x61, 0x6e, 0x69, 0x73, 0x6d, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x22, 0x36, 0x0a, 0x06,
  1817  	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01,
  1818  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65,
  1819  	0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74,
  1820  	0x61, 0x69, 0x6c, 0x73, 0x22, 0x71, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x6c, 0x73, 0x43, 0x6f,
  1821  	0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x45,
  1822  	0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64,
  1823  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72,
  1824  	0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
  1825  	0x6e, 0x53, 0x69, 0x64, 0x65, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
  1826  	0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x6e, 0x69, 0x18, 0x02, 0x20, 0x01,
  1827  	0x28, 0x09, 0x52, 0x03, 0x73, 0x6e, 0x69, 0x22, 0xf1, 0x0b, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54,
  1828  	0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
  1829  	0x65, 0x73, 0x70, 0x12, 0x78, 0x0a, 0x18, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6c,
  1830  	0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
  1831  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1832  	0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
  1833  	0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x43, 0x6c, 0x69,
  1834  	0x65, 0x6e, 0x74, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74,
  1835  	0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x16, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6c, 0x73,
  1836  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x78, 0x0a,
  1837  	0x18, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
  1838  	0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1839  	0x3c, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x47,
  1840  	0x65, 0x74, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69,
  1841  	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6c, 0x73,
  1842  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52,
  1843  	0x16, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  1844  	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xcf, 0x02, 0x0a, 0x16, 0x43, 0x6c, 0x69, 0x65,
  1845  	0x6e, 0x74, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69,
  1846  	0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
  1847  	0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x63,
  1848  	0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12,
  1849  	0x40, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
  1850  	0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70,
  1851  	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x4c, 0x53, 0x56, 0x65, 0x72, 0x73, 0x69,
  1852  	0x6f, 0x6e, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x54, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
  1853  	0x6e, 0x12, 0x40, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x76, 0x65, 0x72,
  1854  	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x73, 0x32, 0x61,
  1855  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x4c, 0x53, 0x56, 0x65, 0x72,
  1856  	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x54, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x73,
  1857  	0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73, 0x75, 0x69,
  1858  	0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x32, 0x61, 0x2e,
  1859  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73,
  1860  	0x75, 0x69, 0x74, 0x65, 0x52, 0x0c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73, 0x75, 0x69, 0x74,
  1861  	0x65, 0x73, 0x12, 0x39, 0x0a, 0x0b, 0x61, 0x6c, 0x70, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63,
  1862  	0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72,
  1863  	0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6c, 0x70, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63,
  1864  	0x79, 0x52, 0x0a, 0x61, 0x6c, 0x70, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x04, 0x08,
  1865  	0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x1a, 0xfa, 0x06, 0x0a, 0x16, 0x53, 0x65,
  1866  	0x72, 0x76, 0x65, 0x72, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61,
  1867  	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
  1868  	0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
  1869  	0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69,
  1870  	0x6e, 0x12, 0x40, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x76, 0x65, 0x72,
  1871  	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x73, 0x32, 0x61,
  1872  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x4c, 0x53, 0x56, 0x65, 0x72,
  1873  	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x54, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x73,
  1874  	0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x76,
  1875  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x73,
  1876  	0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x4c, 0x53, 0x56,
  1877  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x54, 0x6c, 0x73, 0x56, 0x65,
  1878  	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73,
  1879  	0x75, 0x69, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x32,
  1880  	0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x69, 0x70, 0x68, 0x65,
  1881  	0x72, 0x73, 0x75, 0x69, 0x74, 0x65, 0x52, 0x0c, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x73, 0x75,
  1882  	0x69, 0x74, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75,
  1883  	0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06,
  1884  	0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x74, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74,
  1885  	0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x93, 0x01, 0x0a, 0x1a, 0x72,
  1886  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65,
  1887  	0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32,
  1888  	0x55, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x47,
  1889  	0x65, 0x74, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69,
  1890  	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6c, 0x73,
  1891  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65,
  1892  	0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69,
  1893  	0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43,
  1894  	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65,
  1895  	0x12, 0x3c, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64,
  1896  	0x5f, 0x6f, 0x66, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x65, 0x61, 0x64, 0x18,
  1897  	0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x6d, 0x61, 0x78, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65,
  1898  	0x61, 0x64, 0x4f, 0x66, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x65, 0x61, 0x64, 0x12, 0x39,
  1899  	0x0a, 0x0b, 0x61, 0x6c, 0x70, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0b, 0x20,
  1900  	0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
  1901  	0x76, 0x32, 0x2e, 0x41, 0x6c, 0x70, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0a, 0x61,
  1902  	0x6c, 0x70, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x9e, 0x02, 0x0a, 0x18, 0x52, 0x65,
  1903  	0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69,
  1904  	0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
  1905  	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x4e, 0x54, 0x5f,
  1906  	0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43,
  1907  	0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x2e, 0x0a, 0x2a,
  1908  	0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43,
  1909  	0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x55, 0x54, 0x5f, 0x44,
  1910  	0x4f, 0x4e, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x10, 0x02, 0x12, 0x29, 0x0a, 0x25,
  1911  	0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43,
  1912  	0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x56,
  1913  	0x45, 0x52, 0x49, 0x46, 0x59, 0x10, 0x03, 0x12, 0x3a, 0x0a, 0x36, 0x52, 0x45, 0x51, 0x55, 0x45,
  1914  	0x53, 0x54, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x5f, 0x43,
  1915  	0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54,
  1916  	0x45, 0x5f, 0x42, 0x55, 0x54, 0x5f, 0x44, 0x4f, 0x4e, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46,
  1917  	0x59, 0x10, 0x04, 0x12, 0x35, 0x0a, 0x31, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x41,
  1918  	0x4e, 0x44, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e,
  1919  	0x54, 0x5f, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x4e,
  1920  	0x44, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05,
  1921  	0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x42, 0x13, 0x0a, 0x11, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f,
  1922  	0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb0, 0x03, 0x0a, 0x1d,
  1923  	0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65,
  1924  	0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x5d, 0x0a,
  1925  	0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
  1926  	0x32, 0x3f, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e,
  1927  	0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65,
  1928  	0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x50, 0x72,
  1929  	0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  1930  	0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x13,
  1931  	0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69,
  1932  	0x74, 0x68, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x32, 0x61, 0x2e,
  1933  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
  1934  	0x72, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x12, 0x73, 0x69, 0x67,
  1935  	0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12,
  1936  	0x1d, 0x0a, 0x09, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01,
  1937  	0x28, 0x0c, 0x48, 0x00, 0x52, 0x08, 0x72, 0x61, 0x77, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x25,
  1938  	0x0a, 0x0d, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18,
  1939  	0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x44,
  1940  	0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x33, 0x38, 0x34, 0x5f,
  1941  	0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0c,
  1942  	0x73, 0x68, 0x61, 0x33, 0x38, 0x34, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0d,
  1943  	0x73, 0x68, 0x61, 0x35, 0x31, 0x32, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20,
  1944  	0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x35, 0x31, 0x32, 0x44, 0x69, 0x67,
  1945  	0x65, 0x73, 0x74, 0x22, 0x3d, 0x0a, 0x13, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65,
  1946  	0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e,
  1947  	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53,
  1948  	0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, 0x54,
  1949  	0x10, 0x02, 0x42, 0x0a, 0x0a, 0x08, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x3d,
  1950  	0x0a, 0x1e, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65,
  1951  	0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
  1952  	0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x75, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20,
  1953  	0x01, 0x28, 0x0c, 0x52, 0x08, 0x6f, 0x75, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xe7, 0x01,
  1954  	0x0a, 0x20, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74,
  1955  	0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
  1956  	0x65, 0x71, 0x12, 0x63, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
  1957  	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1958  	0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x75,
  1959  	0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
  1960  	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  1961  	0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70,
  1962  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x5f, 0x62, 0x79,
  1963  	0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x69, 0x6e, 0x42, 0x79, 0x74,
  1964  	0x65, 0x73, 0x22, 0x43, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  1965  	0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b,
  1966  	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a,
  1967  	0x07, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45,
  1968  	0x43, 0x52, 0x59, 0x50, 0x54, 0x10, 0x02, 0x22, 0x40, 0x0a, 0x21, 0x4f, 0x66, 0x66, 0x6c, 0x6f,
  1969  	0x61, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x4f,
  1970  	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09,
  1971  	0x6f, 0x75, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
  1972  	0x08, 0x6f, 0x75, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xf8, 0x04, 0x0a, 0x1f, 0x56, 0x61,
  1973  	0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
  1974  	0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x52, 0x0a,
  1975  	0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x73, 0x32,
  1976  	0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
  1977  	0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
  1978  	0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66,
  1979  	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64,
  1980  	0x65, 0x12, 0x5b, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x65, 0x65, 0x72,
  1981  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f,
  1982  	0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65,
  1983  	0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61,
  1984  	0x69, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x65, 0x72,
  1985  	0x48, 0x00, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x5b,
  1986  	0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x18, 0x03, 0x20,
  1987  	0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
  1988  	0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x43,
  1989  	0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52,
  1990  	0x65, 0x71, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x48, 0x00, 0x52,
  1991  	0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x1a, 0x39, 0x0a, 0x0a, 0x43,
  1992  	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x65, 0x72,
  1993  	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x01,
  1994  	0x20, 0x03, 0x28, 0x0c, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
  1995  	0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0xb5, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65,
  1996  	0x72, 0x50, 0x65, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
  1997  	0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c,
  1998  	0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61,
  1999  	0x69, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x73,
  2000  	0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72,
  2001  	0x76, 0x65, 0x72, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x25, 0x73,
  2002  	0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x74,
  2003  	0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f,
  2004  	0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x22, 0x73, 0x65, 0x72, 0x69,
  2005  	0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74,
  2006  	0x65, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x46,
  2007  	0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f,
  2008  	0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
  2009  	0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x50, 0x49, 0x46, 0x46, 0x45, 0x10, 0x01, 0x12,
  2010  	0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x4f, 0x5f, 0x47, 0x4f,
  2011  	0x4f, 0x47, 0x4c, 0x45, 0x10, 0x02, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6f,
  2012  	0x6e, 0x65, 0x6f, 0x66, 0x22, 0xb2, 0x02, 0x0a, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
  2013  	0x65, 0x50, 0x65, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65,
  2014  	0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6c, 0x0a, 0x11, 0x76, 0x61, 0x6c,
  2015  	0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01,
  2016  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2017  	0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72,
  2018  	0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e,
  2019  	0x52, 0x65, 0x73, 0x70, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
  2020  	0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f,
  2021  	0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64,
  2022  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20,
  2023  	0x01, 0x28, 0x09, 0x52, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44,
  2024  	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
  2025  	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72,
  2026  	0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x32, 0x41, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
  2027  	0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x3d, 0x0a, 0x10, 0x56, 0x61,
  2028  	0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0f,
  2029  	0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
  2030  	0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07,
  2031  	0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x02, 0x22, 0x97, 0x05, 0x0a, 0x0a, 0x53, 0x65,
  2032  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x3a, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61,
  2033  	0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  2034  	0x32, 0x13, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x64, 0x65,
  2035  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e,
  2036  	0x74, 0x69, 0x74, 0x79, 0x12, 0x62, 0x0a, 0x19, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69,
  2037  	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x6d,
  2038  	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72,
  2039  	0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
  2040  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x6d, 0x52, 0x18,
  2041  	0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
  2042  	0x63, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x6d, 0x73, 0x12, 0x61, 0x0a, 0x19, 0x67, 0x65, 0x74, 0x5f,
  2043  	0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
  2044  	0x6e, 0x5f, 0x72, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x32,
  2045  	0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6c,
  2046  	0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
  2047  	0x71, 0x48, 0x00, 0x52, 0x16, 0x67, 0x65, 0x74, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
  2048  	0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x77, 0x0a, 0x21, 0x6f,
  2049  	0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b,
  2050  	0x65, 0x79, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71,
  2051  	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f,
  2052  	0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x69,
  2053  	0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2054  	0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72,
  2055  	0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  2056  	0x6e, 0x52, 0x65, 0x71, 0x12, 0x80, 0x01, 0x0a, 0x24, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64,
  2057  	0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f,
  2058  	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x18, 0x05, 0x20,
  2059  	0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
  2060  	0x76, 0x32, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x70,
  2061  	0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2062  	0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x20, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65,
  2063  	0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61,
  2064  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x7d, 0x0a, 0x23, 0x76, 0x61, 0x6c, 0x69, 0x64,
  2065  	0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
  2066  	0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x18, 0x06,
  2067  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2068  	0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72,
  2069  	0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e,
  2070  	0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x1f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50,
  2071  	0x65, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68,
  2072  	0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x5f, 0x6f, 0x6e,
  2073  	0x65, 0x6f, 0x66, 0x22, 0xb4, 0x04, 0x0a, 0x0b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52,
  2074  	0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20,
  2075  	0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
  2076  	0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
  2077  	0x73, 0x12, 0x64, 0x0a, 0x1a, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e,
  2078  	0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18,
  2079  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  2080  	0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
  2081  	0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x48, 0x00, 0x52, 0x17,
  2082  	0x67, 0x65, 0x74, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74,
  2083  	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x7a, 0x0a, 0x22, 0x6f, 0x66, 0x66, 0x6c, 0x6f,
  2084  	0x61, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6f,
  2085  	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18, 0x03, 0x20,
  2086  	0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
  2087  	0x76, 0x32, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74,
  2088  	0x65, 0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
  2089  	0x70, 0x48, 0x00, 0x52, 0x1e, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x69, 0x76,
  2090  	0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
  2091  	0x65, 0x73, 0x70, 0x12, 0x83, 0x01, 0x0a, 0x25, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x5f,
  2092  	0x72, 0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6f,
  2093  	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18, 0x04, 0x20,
  2094  	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
  2095  	0x76, 0x32, 0x2e, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x70,
  2096  	0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2097  	0x52, 0x65, 0x73, 0x70, 0x48, 0x00, 0x52, 0x21, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x52,
  2098  	0x65, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x4f, 0x70, 0x65, 0x72,
  2099  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x80, 0x01, 0x0a, 0x24, 0x76, 0x61,
  2100  	0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x65, 0x72, 0x74,
  2101  	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65,
  2102  	0x73, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70,
  2103  	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
  2104  	0x50, 0x65, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43,
  2105  	0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x48, 0x00, 0x52, 0x20, 0x76, 0x61, 0x6c, 0x69,
  2106  	0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
  2107  	0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x0a, 0x0a,
  2108  	0x72, 0x65, 0x73, 0x70, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x2a, 0xa2, 0x03, 0x0a, 0x12, 0x53,
  2109  	0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68,
  2110  	0x6d, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x32, 0x41, 0x5f, 0x53, 0x53, 0x4c, 0x5f, 0x53, 0x49, 0x47,
  2111  	0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
  2112  	0x21, 0x0a, 0x1d, 0x53, 0x32, 0x41, 0x5f, 0x53, 0x53, 0x4c, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f,
  2113  	0x52, 0x53, 0x41, 0x5f, 0x50, 0x4b, 0x43, 0x53, 0x31, 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36,
  2114  	0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x32, 0x41, 0x5f, 0x53, 0x53, 0x4c, 0x5f, 0x53, 0x49,
  2115  	0x47, 0x4e, 0x5f, 0x52, 0x53, 0x41, 0x5f, 0x50, 0x4b, 0x43, 0x53, 0x31, 0x5f, 0x53, 0x48, 0x41,
  2116  	0x33, 0x38, 0x34, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x32, 0x41, 0x5f, 0x53, 0x53, 0x4c,
  2117  	0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x52, 0x53, 0x41, 0x5f, 0x50, 0x4b, 0x43, 0x53, 0x31, 0x5f,
  2118  	0x53, 0x48, 0x41, 0x35, 0x31, 0x32, 0x10, 0x03, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x32, 0x41, 0x5f,
  2119  	0x53, 0x53, 0x4c, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x45, 0x43, 0x44, 0x53, 0x41, 0x5f, 0x53,
  2120  	0x45, 0x43, 0x50, 0x32, 0x35, 0x36, 0x52, 0x31, 0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10,
  2121  	0x04, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x32, 0x41, 0x5f, 0x53, 0x53, 0x4c, 0x5f, 0x53, 0x49, 0x47,
  2122  	0x4e, 0x5f, 0x45, 0x43, 0x44, 0x53, 0x41, 0x5f, 0x53, 0x45, 0x43, 0x50, 0x33, 0x38, 0x34, 0x52,
  2123  	0x31, 0x5f, 0x53, 0x48, 0x41, 0x33, 0x38, 0x34, 0x10, 0x05, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x32,
  2124  	0x41, 0x5f, 0x53, 0x53, 0x4c, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x45, 0x43, 0x44, 0x53, 0x41,
  2125  	0x5f, 0x53, 0x45, 0x43, 0x50, 0x35, 0x32, 0x31, 0x52, 0x31, 0x5f, 0x53, 0x48, 0x41, 0x35, 0x31,
  2126  	0x32, 0x10, 0x06, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x32, 0x41, 0x5f, 0x53, 0x53, 0x4c, 0x5f, 0x53,
  2127  	0x49, 0x47, 0x4e, 0x5f, 0x52, 0x53, 0x41, 0x5f, 0x50, 0x53, 0x53, 0x5f, 0x52, 0x53, 0x41, 0x45,
  2128  	0x5f, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x07, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x32, 0x41,
  2129  	0x5f, 0x53, 0x53, 0x4c, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x52, 0x53, 0x41, 0x5f, 0x50, 0x53,
  2130  	0x53, 0x5f, 0x52, 0x53, 0x41, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x33, 0x38, 0x34, 0x10, 0x08, 0x12,
  2131  	0x24, 0x0a, 0x20, 0x53, 0x32, 0x41, 0x5f, 0x53, 0x53, 0x4c, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f,
  2132  	0x52, 0x53, 0x41, 0x5f, 0x50, 0x53, 0x53, 0x5f, 0x52, 0x53, 0x41, 0x45, 0x5f, 0x53, 0x48, 0x41,
  2133  	0x35, 0x31, 0x32, 0x10, 0x09, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x32, 0x41, 0x5f, 0x53, 0x53, 0x4c,
  2134  	0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x45, 0x44, 0x32, 0x35, 0x35, 0x31, 0x39, 0x10, 0x0a, 0x32,
  2135  	0x57, 0x0a, 0x0a, 0x53, 0x32, 0x41, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x49, 0x0a,
  2136  	0x0c, 0x53, 0x65, 0x74, 0x55, 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x2e,
  2137  	0x73, 0x32, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x73,
  2138  	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x73, 0x32, 0x61, 0x2e, 0x70, 0x72,
  2139  	0x6f, 0x74, 0x6f, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
  2140  	0x73, 0x70, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68,
  2141  	0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x73, 0x32,
  2142  	0x61, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2143  	0x2f, 0x76, 0x32, 0x2f, 0x73, 0x32, 0x61, 0x5f, 0x67, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2144  	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  2145  }
  2146  
  2147  var (
  2148  	file_internal_proto_v2_s2a_s2a_proto_rawDescOnce sync.Once
  2149  	file_internal_proto_v2_s2a_s2a_proto_rawDescData = file_internal_proto_v2_s2a_s2a_proto_rawDesc
  2150  )
  2151  
  2152  func file_internal_proto_v2_s2a_s2a_proto_rawDescGZIP() []byte {
  2153  	file_internal_proto_v2_s2a_s2a_proto_rawDescOnce.Do(func() {
  2154  		file_internal_proto_v2_s2a_s2a_proto_rawDescData = protoimpl.X.CompressGZIP(file_internal_proto_v2_s2a_s2a_proto_rawDescData)
  2155  	})
  2156  	return file_internal_proto_v2_s2a_s2a_proto_rawDescData
  2157  }
  2158  
  2159  var file_internal_proto_v2_s2a_s2a_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
  2160  var file_internal_proto_v2_s2a_s2a_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
  2161  var file_internal_proto_v2_s2a_s2a_proto_goTypes = []interface{}{
  2162  	(SignatureAlgorithm)(0), // 0: s2a.proto.v2.SignatureAlgorithm
  2163  	(GetTlsConfigurationResp_ServerTlsConfiguration_RequestClientCertificate)(0), // 1: s2a.proto.v2.GetTlsConfigurationResp.ServerTlsConfiguration.RequestClientCertificate
  2164  	(OffloadPrivateKeyOperationReq_PrivateKeyOperation)(0),                       // 2: s2a.proto.v2.OffloadPrivateKeyOperationReq.PrivateKeyOperation
  2165  	(OffloadResumptionKeyOperationReq_ResumptionKeyOperation)(0),                 // 3: s2a.proto.v2.OffloadResumptionKeyOperationReq.ResumptionKeyOperation
  2166  	(ValidatePeerCertificateChainReq_VerificationMode)(0),                        // 4: s2a.proto.v2.ValidatePeerCertificateChainReq.VerificationMode
  2167  	(ValidatePeerCertificateChainResp_ValidationResult)(0),                       // 5: s2a.proto.v2.ValidatePeerCertificateChainResp.ValidationResult
  2168  	(*AlpnPolicy)(nil),                                     // 6: s2a.proto.v2.AlpnPolicy
  2169  	(*AuthenticationMechanism)(nil),                        // 7: s2a.proto.v2.AuthenticationMechanism
  2170  	(*Status)(nil),                                         // 8: s2a.proto.v2.Status
  2171  	(*GetTlsConfigurationReq)(nil),                         // 9: s2a.proto.v2.GetTlsConfigurationReq
  2172  	(*GetTlsConfigurationResp)(nil),                        // 10: s2a.proto.v2.GetTlsConfigurationResp
  2173  	(*OffloadPrivateKeyOperationReq)(nil),                  // 11: s2a.proto.v2.OffloadPrivateKeyOperationReq
  2174  	(*OffloadPrivateKeyOperationResp)(nil),                 // 12: s2a.proto.v2.OffloadPrivateKeyOperationResp
  2175  	(*OffloadResumptionKeyOperationReq)(nil),               // 13: s2a.proto.v2.OffloadResumptionKeyOperationReq
  2176  	(*OffloadResumptionKeyOperationResp)(nil),              // 14: s2a.proto.v2.OffloadResumptionKeyOperationResp
  2177  	(*ValidatePeerCertificateChainReq)(nil),                // 15: s2a.proto.v2.ValidatePeerCertificateChainReq
  2178  	(*ValidatePeerCertificateChainResp)(nil),               // 16: s2a.proto.v2.ValidatePeerCertificateChainResp
  2179  	(*SessionReq)(nil),                                     // 17: s2a.proto.v2.SessionReq
  2180  	(*SessionResp)(nil),                                    // 18: s2a.proto.v2.SessionResp
  2181  	(*GetTlsConfigurationResp_ClientTlsConfiguration)(nil), // 19: s2a.proto.v2.GetTlsConfigurationResp.ClientTlsConfiguration
  2182  	(*GetTlsConfigurationResp_ServerTlsConfiguration)(nil), // 20: s2a.proto.v2.GetTlsConfigurationResp.ServerTlsConfiguration
  2183  	(*ValidatePeerCertificateChainReq_ClientPeer)(nil),     // 21: s2a.proto.v2.ValidatePeerCertificateChainReq.ClientPeer
  2184  	(*ValidatePeerCertificateChainReq_ServerPeer)(nil),     // 22: s2a.proto.v2.ValidatePeerCertificateChainReq.ServerPeer
  2185  	(common_go_proto.AlpnProtocol)(0),                      // 23: s2a.proto.v2.AlpnProtocol
  2186  	(*common_go_proto1.Identity)(nil),                      // 24: s2a.proto.Identity
  2187  	(common_go_proto.ConnectionSide)(0),                    // 25: s2a.proto.v2.ConnectionSide
  2188  	(*s2a_context_go_proto.S2AContext)(nil),                // 26: s2a.proto.v2.S2AContext
  2189  	(common_go_proto.TLSVersion)(0),                        // 27: s2a.proto.v2.TLSVersion
  2190  	(common_go_proto.Ciphersuite)(0),                       // 28: s2a.proto.v2.Ciphersuite
  2191  }
  2192  var file_internal_proto_v2_s2a_s2a_proto_depIdxs = []int32{
  2193  	23, // 0: s2a.proto.v2.AlpnPolicy.alpn_protocols:type_name -> s2a.proto.v2.AlpnProtocol
  2194  	24, // 1: s2a.proto.v2.AuthenticationMechanism.identity:type_name -> s2a.proto.Identity
  2195  	25, // 2: s2a.proto.v2.GetTlsConfigurationReq.connection_side:type_name -> s2a.proto.v2.ConnectionSide
  2196  	19, // 3: s2a.proto.v2.GetTlsConfigurationResp.client_tls_configuration:type_name -> s2a.proto.v2.GetTlsConfigurationResp.ClientTlsConfiguration
  2197  	20, // 4: s2a.proto.v2.GetTlsConfigurationResp.server_tls_configuration:type_name -> s2a.proto.v2.GetTlsConfigurationResp.ServerTlsConfiguration
  2198  	2,  // 5: s2a.proto.v2.OffloadPrivateKeyOperationReq.operation:type_name -> s2a.proto.v2.OffloadPrivateKeyOperationReq.PrivateKeyOperation
  2199  	0,  // 6: s2a.proto.v2.OffloadPrivateKeyOperationReq.signature_algorithm:type_name -> s2a.proto.v2.SignatureAlgorithm
  2200  	3,  // 7: s2a.proto.v2.OffloadResumptionKeyOperationReq.operation:type_name -> s2a.proto.v2.OffloadResumptionKeyOperationReq.ResumptionKeyOperation
  2201  	4,  // 8: s2a.proto.v2.ValidatePeerCertificateChainReq.mode:type_name -> s2a.proto.v2.ValidatePeerCertificateChainReq.VerificationMode
  2202  	21, // 9: s2a.proto.v2.ValidatePeerCertificateChainReq.client_peer:type_name -> s2a.proto.v2.ValidatePeerCertificateChainReq.ClientPeer
  2203  	22, // 10: s2a.proto.v2.ValidatePeerCertificateChainReq.server_peer:type_name -> s2a.proto.v2.ValidatePeerCertificateChainReq.ServerPeer
  2204  	5,  // 11: s2a.proto.v2.ValidatePeerCertificateChainResp.validation_result:type_name -> s2a.proto.v2.ValidatePeerCertificateChainResp.ValidationResult
  2205  	26, // 12: s2a.proto.v2.ValidatePeerCertificateChainResp.context:type_name -> s2a.proto.v2.S2AContext
  2206  	24, // 13: s2a.proto.v2.SessionReq.local_identity:type_name -> s2a.proto.Identity
  2207  	7,  // 14: s2a.proto.v2.SessionReq.authentication_mechanisms:type_name -> s2a.proto.v2.AuthenticationMechanism
  2208  	9,  // 15: s2a.proto.v2.SessionReq.get_tls_configuration_req:type_name -> s2a.proto.v2.GetTlsConfigurationReq
  2209  	11, // 16: s2a.proto.v2.SessionReq.offload_private_key_operation_req:type_name -> s2a.proto.v2.OffloadPrivateKeyOperationReq
  2210  	13, // 17: s2a.proto.v2.SessionReq.offload_resumption_key_operation_req:type_name -> s2a.proto.v2.OffloadResumptionKeyOperationReq
  2211  	15, // 18: s2a.proto.v2.SessionReq.validate_peer_certificate_chain_req:type_name -> s2a.proto.v2.ValidatePeerCertificateChainReq
  2212  	8,  // 19: s2a.proto.v2.SessionResp.status:type_name -> s2a.proto.v2.Status
  2213  	10, // 20: s2a.proto.v2.SessionResp.get_tls_configuration_resp:type_name -> s2a.proto.v2.GetTlsConfigurationResp
  2214  	12, // 21: s2a.proto.v2.SessionResp.offload_private_key_operation_resp:type_name -> s2a.proto.v2.OffloadPrivateKeyOperationResp
  2215  	14, // 22: s2a.proto.v2.SessionResp.offload_resumption_key_operation_resp:type_name -> s2a.proto.v2.OffloadResumptionKeyOperationResp
  2216  	16, // 23: s2a.proto.v2.SessionResp.validate_peer_certificate_chain_resp:type_name -> s2a.proto.v2.ValidatePeerCertificateChainResp
  2217  	27, // 24: s2a.proto.v2.GetTlsConfigurationResp.ClientTlsConfiguration.min_tls_version:type_name -> s2a.proto.v2.TLSVersion
  2218  	27, // 25: s2a.proto.v2.GetTlsConfigurationResp.ClientTlsConfiguration.max_tls_version:type_name -> s2a.proto.v2.TLSVersion
  2219  	28, // 26: s2a.proto.v2.GetTlsConfigurationResp.ClientTlsConfiguration.ciphersuites:type_name -> s2a.proto.v2.Ciphersuite
  2220  	6,  // 27: s2a.proto.v2.GetTlsConfigurationResp.ClientTlsConfiguration.alpn_policy:type_name -> s2a.proto.v2.AlpnPolicy
  2221  	27, // 28: s2a.proto.v2.GetTlsConfigurationResp.ServerTlsConfiguration.min_tls_version:type_name -> s2a.proto.v2.TLSVersion
  2222  	27, // 29: s2a.proto.v2.GetTlsConfigurationResp.ServerTlsConfiguration.max_tls_version:type_name -> s2a.proto.v2.TLSVersion
  2223  	28, // 30: s2a.proto.v2.GetTlsConfigurationResp.ServerTlsConfiguration.ciphersuites:type_name -> s2a.proto.v2.Ciphersuite
  2224  	1,  // 31: s2a.proto.v2.GetTlsConfigurationResp.ServerTlsConfiguration.request_client_certificate:type_name -> s2a.proto.v2.GetTlsConfigurationResp.ServerTlsConfiguration.RequestClientCertificate
  2225  	6,  // 32: s2a.proto.v2.GetTlsConfigurationResp.ServerTlsConfiguration.alpn_policy:type_name -> s2a.proto.v2.AlpnPolicy
  2226  	17, // 33: s2a.proto.v2.S2AService.SetUpSession:input_type -> s2a.proto.v2.SessionReq
  2227  	18, // 34: s2a.proto.v2.S2AService.SetUpSession:output_type -> s2a.proto.v2.SessionResp
  2228  	34, // [34:35] is the sub-list for method output_type
  2229  	33, // [33:34] is the sub-list for method input_type
  2230  	33, // [33:33] is the sub-list for extension type_name
  2231  	33, // [33:33] is the sub-list for extension extendee
  2232  	0,  // [0:33] is the sub-list for field type_name
  2233  }
  2234  
  2235  func init() { file_internal_proto_v2_s2a_s2a_proto_init() }
  2236  func file_internal_proto_v2_s2a_s2a_proto_init() {
  2237  	if File_internal_proto_v2_s2a_s2a_proto != nil {
  2238  		return
  2239  	}
  2240  	if !protoimpl.UnsafeEnabled {
  2241  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2242  			switch v := v.(*AlpnPolicy); i {
  2243  			case 0:
  2244  				return &v.state
  2245  			case 1:
  2246  				return &v.sizeCache
  2247  			case 2:
  2248  				return &v.unknownFields
  2249  			default:
  2250  				return nil
  2251  			}
  2252  		}
  2253  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2254  			switch v := v.(*AuthenticationMechanism); i {
  2255  			case 0:
  2256  				return &v.state
  2257  			case 1:
  2258  				return &v.sizeCache
  2259  			case 2:
  2260  				return &v.unknownFields
  2261  			default:
  2262  				return nil
  2263  			}
  2264  		}
  2265  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2266  			switch v := v.(*Status); i {
  2267  			case 0:
  2268  				return &v.state
  2269  			case 1:
  2270  				return &v.sizeCache
  2271  			case 2:
  2272  				return &v.unknownFields
  2273  			default:
  2274  				return nil
  2275  			}
  2276  		}
  2277  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2278  			switch v := v.(*GetTlsConfigurationReq); i {
  2279  			case 0:
  2280  				return &v.state
  2281  			case 1:
  2282  				return &v.sizeCache
  2283  			case 2:
  2284  				return &v.unknownFields
  2285  			default:
  2286  				return nil
  2287  			}
  2288  		}
  2289  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2290  			switch v := v.(*GetTlsConfigurationResp); i {
  2291  			case 0:
  2292  				return &v.state
  2293  			case 1:
  2294  				return &v.sizeCache
  2295  			case 2:
  2296  				return &v.unknownFields
  2297  			default:
  2298  				return nil
  2299  			}
  2300  		}
  2301  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2302  			switch v := v.(*OffloadPrivateKeyOperationReq); i {
  2303  			case 0:
  2304  				return &v.state
  2305  			case 1:
  2306  				return &v.sizeCache
  2307  			case 2:
  2308  				return &v.unknownFields
  2309  			default:
  2310  				return nil
  2311  			}
  2312  		}
  2313  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2314  			switch v := v.(*OffloadPrivateKeyOperationResp); i {
  2315  			case 0:
  2316  				return &v.state
  2317  			case 1:
  2318  				return &v.sizeCache
  2319  			case 2:
  2320  				return &v.unknownFields
  2321  			default:
  2322  				return nil
  2323  			}
  2324  		}
  2325  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2326  			switch v := v.(*OffloadResumptionKeyOperationReq); i {
  2327  			case 0:
  2328  				return &v.state
  2329  			case 1:
  2330  				return &v.sizeCache
  2331  			case 2:
  2332  				return &v.unknownFields
  2333  			default:
  2334  				return nil
  2335  			}
  2336  		}
  2337  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2338  			switch v := v.(*OffloadResumptionKeyOperationResp); i {
  2339  			case 0:
  2340  				return &v.state
  2341  			case 1:
  2342  				return &v.sizeCache
  2343  			case 2:
  2344  				return &v.unknownFields
  2345  			default:
  2346  				return nil
  2347  			}
  2348  		}
  2349  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2350  			switch v := v.(*ValidatePeerCertificateChainReq); i {
  2351  			case 0:
  2352  				return &v.state
  2353  			case 1:
  2354  				return &v.sizeCache
  2355  			case 2:
  2356  				return &v.unknownFields
  2357  			default:
  2358  				return nil
  2359  			}
  2360  		}
  2361  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  2362  			switch v := v.(*ValidatePeerCertificateChainResp); i {
  2363  			case 0:
  2364  				return &v.state
  2365  			case 1:
  2366  				return &v.sizeCache
  2367  			case 2:
  2368  				return &v.unknownFields
  2369  			default:
  2370  				return nil
  2371  			}
  2372  		}
  2373  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2374  			switch v := v.(*SessionReq); i {
  2375  			case 0:
  2376  				return &v.state
  2377  			case 1:
  2378  				return &v.sizeCache
  2379  			case 2:
  2380  				return &v.unknownFields
  2381  			default:
  2382  				return nil
  2383  			}
  2384  		}
  2385  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  2386  			switch v := v.(*SessionResp); i {
  2387  			case 0:
  2388  				return &v.state
  2389  			case 1:
  2390  				return &v.sizeCache
  2391  			case 2:
  2392  				return &v.unknownFields
  2393  			default:
  2394  				return nil
  2395  			}
  2396  		}
  2397  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  2398  			switch v := v.(*GetTlsConfigurationResp_ClientTlsConfiguration); i {
  2399  			case 0:
  2400  				return &v.state
  2401  			case 1:
  2402  				return &v.sizeCache
  2403  			case 2:
  2404  				return &v.unknownFields
  2405  			default:
  2406  				return nil
  2407  			}
  2408  		}
  2409  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  2410  			switch v := v.(*GetTlsConfigurationResp_ServerTlsConfiguration); i {
  2411  			case 0:
  2412  				return &v.state
  2413  			case 1:
  2414  				return &v.sizeCache
  2415  			case 2:
  2416  				return &v.unknownFields
  2417  			default:
  2418  				return nil
  2419  			}
  2420  		}
  2421  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  2422  			switch v := v.(*ValidatePeerCertificateChainReq_ClientPeer); i {
  2423  			case 0:
  2424  				return &v.state
  2425  			case 1:
  2426  				return &v.sizeCache
  2427  			case 2:
  2428  				return &v.unknownFields
  2429  			default:
  2430  				return nil
  2431  			}
  2432  		}
  2433  		file_internal_proto_v2_s2a_s2a_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  2434  			switch v := v.(*ValidatePeerCertificateChainReq_ServerPeer); i {
  2435  			case 0:
  2436  				return &v.state
  2437  			case 1:
  2438  				return &v.sizeCache
  2439  			case 2:
  2440  				return &v.unknownFields
  2441  			default:
  2442  				return nil
  2443  			}
  2444  		}
  2445  	}
  2446  	file_internal_proto_v2_s2a_s2a_proto_msgTypes[1].OneofWrappers = []interface{}{
  2447  		(*AuthenticationMechanism_Token)(nil),
  2448  	}
  2449  	file_internal_proto_v2_s2a_s2a_proto_msgTypes[4].OneofWrappers = []interface{}{
  2450  		(*GetTlsConfigurationResp_ClientTlsConfiguration_)(nil),
  2451  		(*GetTlsConfigurationResp_ServerTlsConfiguration_)(nil),
  2452  	}
  2453  	file_internal_proto_v2_s2a_s2a_proto_msgTypes[5].OneofWrappers = []interface{}{
  2454  		(*OffloadPrivateKeyOperationReq_RawBytes)(nil),
  2455  		(*OffloadPrivateKeyOperationReq_Sha256Digest)(nil),
  2456  		(*OffloadPrivateKeyOperationReq_Sha384Digest)(nil),
  2457  		(*OffloadPrivateKeyOperationReq_Sha512Digest)(nil),
  2458  	}
  2459  	file_internal_proto_v2_s2a_s2a_proto_msgTypes[9].OneofWrappers = []interface{}{
  2460  		(*ValidatePeerCertificateChainReq_ClientPeer_)(nil),
  2461  		(*ValidatePeerCertificateChainReq_ServerPeer_)(nil),
  2462  	}
  2463  	file_internal_proto_v2_s2a_s2a_proto_msgTypes[11].OneofWrappers = []interface{}{
  2464  		(*SessionReq_GetTlsConfigurationReq)(nil),
  2465  		(*SessionReq_OffloadPrivateKeyOperationReq)(nil),
  2466  		(*SessionReq_OffloadResumptionKeyOperationReq)(nil),
  2467  		(*SessionReq_ValidatePeerCertificateChainReq)(nil),
  2468  	}
  2469  	file_internal_proto_v2_s2a_s2a_proto_msgTypes[12].OneofWrappers = []interface{}{
  2470  		(*SessionResp_GetTlsConfigurationResp)(nil),
  2471  		(*SessionResp_OffloadPrivateKeyOperationResp)(nil),
  2472  		(*SessionResp_OffloadResumptionKeyOperationResp)(nil),
  2473  		(*SessionResp_ValidatePeerCertificateChainResp)(nil),
  2474  	}
  2475  	type x struct{}
  2476  	out := protoimpl.TypeBuilder{
  2477  		File: protoimpl.DescBuilder{
  2478  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2479  			RawDescriptor: file_internal_proto_v2_s2a_s2a_proto_rawDesc,
  2480  			NumEnums:      6,
  2481  			NumMessages:   17,
  2482  			NumExtensions: 0,
  2483  			NumServices:   1,
  2484  		},
  2485  		GoTypes:           file_internal_proto_v2_s2a_s2a_proto_goTypes,
  2486  		DependencyIndexes: file_internal_proto_v2_s2a_s2a_proto_depIdxs,
  2487  		EnumInfos:         file_internal_proto_v2_s2a_s2a_proto_enumTypes,
  2488  		MessageInfos:      file_internal_proto_v2_s2a_s2a_proto_msgTypes,
  2489  	}.Build()
  2490  	File_internal_proto_v2_s2a_s2a_proto = out.File
  2491  	file_internal_proto_v2_s2a_s2a_proto_rawDesc = nil
  2492  	file_internal_proto_v2_s2a_s2a_proto_goTypes = nil
  2493  	file_internal_proto_v2_s2a_s2a_proto_depIdxs = nil
  2494  }
  2495  

View as plain text