From 039f8e7e9fd84f7421d5be3723860673596e82e9 Mon Sep 17 00:00:00 2001 From: D4ryl00 Date: Mon, 19 Jun 2023 16:38:14 +0200 Subject: [PATCH] chore: move auth service Signed-off-by: D4ryl00 --- api/protocol/errcode/errcode.proto | 13 - api/protocol/protocoltypes.proto | 90 +- api_replication.go | 42 +- api_services_auth.go | 274 - docs/apis/protocoltypes.md | 154 +- docs/apis/protocoltypes.swagger.json | 92 +- events.go | 2 - go.mod | 6 +- internal/i18n/catalog.go | 70 - internal/i18n/catalog_test.go | 73 - internal/i18n/filter.go | 46 - .../i18n/locales_test/en-US/localization.json | 11 - .../i18n/locales_test/fr-FR/localization.json | 11 - internal/i18n/translations_i18next.go | 141 - localization/locales/af-ZA/localization.json | 68 - localization/locales/ar-SA/localization.json | 68 - localization/locales/bg-BG/localization.json | 68 - localization/locales/ca-ES/localization.json | 68 - localization/locales/cs-CZ/localization.json | 68 - localization/locales/da-DK/localization.json | 68 - localization/locales/de-DE/localization.json | 68 - localization/locales/el-GR/localization.json | 68 - localization/locales/en-US/localization.json | 65 - localization/locales/es-ES/localization.json | 68 - localization/locales/et-EE/localization.json | 68 - localization/locales/fa-IR/localization.json | 68 - localization/locales/fi-FI/localization.json | 68 - localization/locales/fr-FR/localization.json | 68 - localization/locales/he-IL/localization.json | 68 - localization/locales/hi-IN/localization.json | 68 - localization/locales/hu-HU/localization.json | 68 - localization/locales/id-ID/localization.json | 68 - localization/locales/it-IT/localization.json | 68 - localization/locales/ja-JP/localization.json | 68 - localization/locales/ka-GE/localization.json | 68 - localization/locales/ko-KR/localization.json | 68 - localization/locales/my-MM/localization.json | 68 - localization/locales/nl-NL/localization.json | 68 - localization/locales/no-NO/localization.json | 68 - localization/locales/pl-PL/localization.json | 68 - localization/locales/pt-BR/localization.json | 68 - localization/locales/pt-PT/localization.json | 68 - localization/locales/ro-RO/localization.json | 68 - localization/locales/ru-RU/localization.json | 68 - localization/locales/sl-SI/localization.json | 68 - .../locales/sr-Cyrl/localization.json | 68 - localization/locales/sv-SE/localization.json | 68 - localization/locales/te-IN/localization.json | 68 - localization/locales/tr-TR/localization.json | 68 - localization/locales/uk-UA/localization.json | 68 - localization/locales/vi-VN/localization.json | 68 - localization/locales/zh-CN/localization.json | 68 - localization/locales/zh-TW/localization.json | 68 - localization/localization.go | 50 - localization/localization_test.go | 12 - pkg/authtypes/consts.go | 20 - pkg/bertyauth/auth_session.go | 51 - pkg/bertyauth/services_auth.go | 246 - pkg/bertyauth/services_auth_server.go | 342 -- pkg/bertyauth/services_auth_server_test.go | 209 - pkg/bertyauth/services_auth_templates.go | 14 - pkg/bertyauth/services_auth_test.go | 190 - pkg/bertyauth/templates/authorize.html.tmpl | 118 - pkg/bertyauth/templates/redirect.html.tmpl | 17 - pkg/bertyauth/testing.go | 24 - pkg/errcode/errcode.pb.go | 202 +- .../outofstoremessage_grpc.pb.go | 12 +- pkg/protocoltypes/auth.go | 11 - pkg/protocoltypes/events_account.go | 8 - pkg/protocoltypes/protocoltypes.pb.go | 5208 +++-------------- pkg/protocoltypes/protocoltypes.pb.gw.go | 299 - pkg/protocoltypes/protocoltypes_grpc.pb.go | 181 - service.go | 2 - services_auth_test.go | 61 - store_metadata.go | 60 +- store_metadata_index.go | 48 - 76 files changed, 1086 insertions(+), 9973 deletions(-) delete mode 100644 api_services_auth.go delete mode 100644 internal/i18n/catalog.go delete mode 100644 internal/i18n/catalog_test.go delete mode 100644 internal/i18n/filter.go delete mode 100644 internal/i18n/locales_test/en-US/localization.json delete mode 100644 internal/i18n/locales_test/fr-FR/localization.json delete mode 100644 internal/i18n/translations_i18next.go delete mode 100644 localization/locales/af-ZA/localization.json delete mode 100644 localization/locales/ar-SA/localization.json delete mode 100644 localization/locales/bg-BG/localization.json delete mode 100644 localization/locales/ca-ES/localization.json delete mode 100644 localization/locales/cs-CZ/localization.json delete mode 100644 localization/locales/da-DK/localization.json delete mode 100644 localization/locales/de-DE/localization.json delete mode 100644 localization/locales/el-GR/localization.json delete mode 100644 localization/locales/en-US/localization.json delete mode 100644 localization/locales/es-ES/localization.json delete mode 100644 localization/locales/et-EE/localization.json delete mode 100644 localization/locales/fa-IR/localization.json delete mode 100644 localization/locales/fi-FI/localization.json delete mode 100644 localization/locales/fr-FR/localization.json delete mode 100644 localization/locales/he-IL/localization.json delete mode 100644 localization/locales/hi-IN/localization.json delete mode 100644 localization/locales/hu-HU/localization.json delete mode 100644 localization/locales/id-ID/localization.json delete mode 100644 localization/locales/it-IT/localization.json delete mode 100644 localization/locales/ja-JP/localization.json delete mode 100644 localization/locales/ka-GE/localization.json delete mode 100644 localization/locales/ko-KR/localization.json delete mode 100644 localization/locales/my-MM/localization.json delete mode 100644 localization/locales/nl-NL/localization.json delete mode 100644 localization/locales/no-NO/localization.json delete mode 100644 localization/locales/pl-PL/localization.json delete mode 100644 localization/locales/pt-BR/localization.json delete mode 100644 localization/locales/pt-PT/localization.json delete mode 100644 localization/locales/ro-RO/localization.json delete mode 100644 localization/locales/ru-RU/localization.json delete mode 100644 localization/locales/sl-SI/localization.json delete mode 100644 localization/locales/sr-Cyrl/localization.json delete mode 100644 localization/locales/sv-SE/localization.json delete mode 100644 localization/locales/te-IN/localization.json delete mode 100644 localization/locales/tr-TR/localization.json delete mode 100644 localization/locales/uk-UA/localization.json delete mode 100644 localization/locales/vi-VN/localization.json delete mode 100644 localization/locales/zh-CN/localization.json delete mode 100644 localization/locales/zh-TW/localization.json delete mode 100644 localization/localization.go delete mode 100644 localization/localization_test.go delete mode 100644 pkg/authtypes/consts.go delete mode 100644 pkg/bertyauth/auth_session.go delete mode 100644 pkg/bertyauth/services_auth.go delete mode 100644 pkg/bertyauth/services_auth_server.go delete mode 100644 pkg/bertyauth/services_auth_server_test.go delete mode 100644 pkg/bertyauth/services_auth_templates.go delete mode 100644 pkg/bertyauth/services_auth_test.go delete mode 100644 pkg/bertyauth/templates/authorize.html.tmpl delete mode 100644 pkg/bertyauth/templates/redirect.html.tmpl delete mode 100644 pkg/bertyauth/testing.go delete mode 100644 pkg/protocoltypes/auth.go delete mode 100644 services_auth_test.go diff --git a/api/protocol/errcode/errcode.proto b/api/protocol/errcode/errcode.proto index 4d6b6254..67759a87 100644 --- a/api/protocol/errcode/errcode.proto +++ b/api/protocol/errcode/errcode.proto @@ -128,19 +128,6 @@ enum ErrCode { ErrMessageKeyPersistencePut = 1500; ErrMessageKeyPersistenceGet = 1501; - // Services Auth - - ErrServicesAuth = 4000; - ErrServicesAuthNotInitialized = 4001; - ErrServicesAuthWrongState = 4002; - ErrServicesAuthInvalidResponse = 4003; - ErrServicesAuthServer = 4004; - ErrServicesAuthCodeChallenge = 4005; - ErrServicesAuthServiceInvalidToken = 4006; - ErrServicesAuthServiceNotSupported = 4007; - ErrServicesAuthUnknownToken = 4008; - ErrServicesAuthInvalidURL = 4009; - // Services Replication ErrServiceReplication = 4100; diff --git a/api/protocol/protocoltypes.proto b/api/protocol/protocoltypes.proto index 21f88dc4..5321ff1e 100644 --- a/api/protocol/protocoltypes.proto +++ b/api/protocol/protocoltypes.proto @@ -106,16 +106,8 @@ service ProtocolService { rpc DebugGroup (DebugGroup.Request) returns (DebugGroup.Reply); - rpc DebugAuthServiceSetToken(DebugAuthServiceSetToken.Request) returns (DebugAuthServiceSetToken.Reply); - rpc SystemInfo (SystemInfo.Request) returns (SystemInfo.Reply); - // AuthServiceInitFlow Initialize an authentication flow - rpc AuthServiceInitFlow (AuthServiceInitFlow.Request) returns (AuthServiceInitFlow.Reply); - - // AuthServiceCompleteFlow Completes an authentication flow - rpc AuthServiceCompleteFlow (AuthServiceCompleteFlow.Request) returns (AuthServiceCompleteFlow.Reply); - // CredentialVerificationServiceInitFlow Initialize a credential verification flow rpc CredentialVerificationServiceInitFlow (CredentialVerificationServiceInitFlow.Request) returns (CredentialVerificationServiceInitFlow.Reply); @@ -125,9 +117,6 @@ service ProtocolService { // VerifiedCredentialsList Retrieves the list of verified credentials rpc VerifiedCredentialsList (VerifiedCredentialsList.Request) returns (stream VerifiedCredentialsList.Reply); - // ServicesTokenList Retrieves the list of services tokens - rpc ServicesTokenList (ServicesTokenList.Request) returns (stream ServicesTokenList.Reply); - // ReplicationServiceRegisterGroup Asks a replication service to distribute a group contents rpc ReplicationServiceRegisterGroup (ReplicationServiceRegisterGroup.Request) returns (ReplicationServiceRegisterGroup.Reply); @@ -232,12 +221,6 @@ enum EventType { // EventTypeMultiMemberGroupAdminRoleGranted indicates the payload includes that an admin of the group granted another member as an admin EventTypeMultiMemberGroupAdminRoleGranted = 303; - // EventTypeAccountServiceTokenAdded indicates that a new service provider has been registered for this account - EventTypeAccountServiceTokenAdded = 401; - - // EventTypeAccountServiceTokenRemoved indicates that a service provider is not available anymore - EventTypeAccountServiceTokenRemoved = 402; - // EventTypeGroupReplicating indicates that the group has been registered for replication on a server EventTypeGroupReplicating = 403; @@ -616,22 +599,6 @@ message AccountContactUnblocked { bytes contact_pk = 2 [(gogoproto.customname) = "ContactPK"]; } -// AccountServiceTokenAdded indicates a token has been added to the account -message AccountServiceTokenAdded { - // device_pk is the device sending the event, signs the message - bytes device_pk = 1 [(gogoproto.customname) = "DevicePK"]; - - ServiceToken service_token = 2; -} - -// AccountServiceTokenRemoved indicates a token has removed -message AccountServiceTokenRemoved { - // device_pk is the device sending the event, signs the message - bytes device_pk = 1 [(gogoproto.customname) = "DevicePK"]; - - string token_id = 2 [(gogoproto.customname) = "TokenID"]; -} - message GroupReplicating { // device_pk is the device sending the event, signs the message bytes device_pk = 1 [(gogoproto.customname) = "DevicePK"]; @@ -1100,22 +1067,6 @@ message DebugGroup { } } -message AuthExchangeResponse { - string access_token = 1; - string scope = 2; - string error = 3; - string error_description = 4; - map services = 5; -} - -message DebugAuthServiceSetToken { - message Request { - AuthExchangeResponse token = 1; - string authentication_url = 2 [(gogoproto.customname) = "AuthenticationURL"]; - } - message Reply {} -} - enum DebugInspectGroupLogType { DebugInspectGroupLogTypeUndefined = 0; DebugInspectGroupLogTypeMessage = 1; @@ -1156,26 +1107,6 @@ message ServiceToken { int64 expiration = 4; } -message AuthServiceCompleteFlow { - message Request{ - string callback_url = 1 [(gogoproto.customname) = "CallbackURL"]; - } - message Reply{ - string token_id = 1 [(gogoproto.customname) = "TokenID"]; - } -} - -message AuthServiceInitFlow { - message Request { - string auth_url = 1 [(gogoproto.customname) = "AuthURL"]; - repeated string services = 3; - } - message Reply { - string url = 1 [(gogoproto.customname) = "URL"]; - bool secure_url = 2 [(gogoproto.customname) = "SecureURL"]; - } -} - message CredentialVerificationServiceInitFlow { message Request { string service_url = 1 [(gogoproto.customname) = "ServiceURL"]; @@ -1208,25 +1139,12 @@ message VerifiedCredentialsList { } } -message ServicesTokenList { - message Request{} - message Reply{ - string token_id = 1 [(gogoproto.customname) = "TokenID"]; - ServiceToken service = 2; - } -} - -message ServicesTokenCode { - repeated string services = 1; - string code_challenge = 2; - string token_id = 3 [(gogoproto.customname) = "TokenID"]; -} - - message ReplicationServiceRegisterGroup { message Request{ - string token_id = 1 [(gogoproto.customname) = "TokenID"]; - bytes group_pk = 2 [(gogoproto.customname) = "GroupPK"]; + bytes group_pk = 1 [(gogoproto.customname) = "GroupPK"]; + string token = 2; + string authentication_url = 3 [(gogoproto.customname) = "AuthenticationURL"]; + string replication_server = 4; } message Reply{} } diff --git a/api_replication.go b/api_replication.go index b2cf0741..7074db5a 100644 --- a/api_replication.go +++ b/api_replication.go @@ -11,7 +11,6 @@ import ( "google.golang.org/grpc/credentials" "google.golang.org/grpc/credentials/insecure" - "berty.tech/weshnet/pkg/authtypes" "berty.tech/weshnet/pkg/errcode" "berty.tech/weshnet/pkg/grpcutil" "berty.tech/weshnet/pkg/logutil" @@ -48,6 +47,18 @@ func (s *service) ReplicationServiceRegisterGroup(ctx context.Context, request * ctx, _, endSection := tyber.Section(ctx, s.logger, "Registering replication service for group") defer func() { endSection(err, "") }() + if request.GroupPK == nil { + return nil, errcode.ErrInvalidInput.Wrap(fmt.Errorf("invalid GroupPK")) + } + + if request.Token == "" { + return nil, errcode.ErrInvalidInput.Wrap(fmt.Errorf("invalid token")) + } + + if request.ReplicationServer == "" { + return nil, errcode.ErrInvalidInput.Wrap(fmt.Errorf("invalid replication server")) + } + gc, err := s.GetContextGroupForID(request.GroupPK) if err != nil { return nil, errcode.ErrInvalidInput.Wrap(err) @@ -63,31 +74,8 @@ func (s *service) ReplicationServiceRegisterGroup(ctx context.Context, request * return nil, errcode.ErrGroupMissing } - token, err := accountGroup.metadataStore.getServiceToken(request.TokenID) - if err != nil { - return nil, errcode.ErrInvalidInput.Wrap(err) - } - - if token == nil { - return nil, errcode.ErrInvalidInput.Wrap(fmt.Errorf("invalid token")) - } - - endpoint := "" - for _, t := range token.SupportedServices { - if t.ServiceType != authtypes.ServiceReplicationID { - continue - } - - endpoint = t.ServiceEndpoint - break - } - - if endpoint == "" { - return nil, errcode.ErrServiceReplicationMissingEndpoint - } - gopts := []grpc.DialOption{ - grpc.WithPerRPCCredentials(grpcutil.NewUnsecureSimpleAuthAccess("bearer", token.Token)), + grpc.WithPerRPCCredentials(grpcutil.NewUnsecureSimpleAuthAccess("bearer", request.Token)), } if s.grpcInsecure { @@ -99,7 +87,7 @@ func (s *service) ReplicationServiceRegisterGroup(ctx context.Context, request * gopts = append(gopts, grpc.WithTransportCredentials(tlsconfig)) } - cc, err := grpc.DialContext(context.Background(), endpoint, gopts...) + cc, err := grpc.DialContext(context.Background(), request.ReplicationServer, gopts...) if err != nil { return nil, errcode.ErrStreamWrite.Wrap(err) } @@ -114,7 +102,7 @@ func (s *service) ReplicationServiceRegisterGroup(ctx context.Context, request * s.logger.Info("group will be replicated", logutil.PrivateString("public-key", base64.RawURLEncoding.EncodeToString(request.GroupPK))) - if _, err := gc.metadataStore.SendGroupReplicating(ctx, token, endpoint); err != nil { + if _, err := gc.metadataStore.SendGroupReplicating(ctx, request.AuthenticationURL, request.ReplicationServer); err != nil { s.logger.Error("error while notifying group about replication", zap.Error(err)) } diff --git a/api_services_auth.go b/api_services_auth.go deleted file mode 100644 index 630748c7..00000000 --- a/api_services_auth.go +++ /dev/null @@ -1,274 +0,0 @@ -package weshnet - -import ( - "context" - "encoding/json" - "fmt" - "io" - "net/http" - "net/url" - "strings" - - "go.uber.org/zap" - "golang.org/x/net/context/ctxhttp" - - "berty.tech/weshnet/pkg/authtypes" - "berty.tech/weshnet/pkg/bertyauth" - "berty.tech/weshnet/pkg/errcode" - "berty.tech/weshnet/pkg/logutil" - "berty.tech/weshnet/pkg/protocoltypes" -) - -func (s *service) authInitURL(baseURL string, services ...string) (string, error) { - parsedAuthURL, err := url.Parse(baseURL) - if err != nil { - return "", errcode.ErrServicesAuthInvalidURL - } - - switch parsedAuthURL.Scheme { - case "http", "https": - default: - return "", errcode.ErrServicesAuthInvalidURL - } - - if parsedAuthURL.Host == "" { - return "", errcode.ErrServicesAuthInvalidURL - } - - baseURL = strings.TrimSuffix(baseURL, "/") - - auth, codeChallenge, err := bertyauth.NewAuthSession(baseURL) - if err != nil { - return "", err - } - - s.authSession.Store(auth) - - outURL := fmt.Sprintf("%s%s?response_type=%s&client_id=%s&redirect_uri=%s&state=%s&code_challenge=%s&code_challenge_method=%s", - baseURL, - authtypes.AuthHTTPPathAuthorize, - authtypes.AuthResponseType, - authtypes.AuthClientID, - url.QueryEscape(authtypes.AuthRedirect), - auth.State, - codeChallenge, - authtypes.AuthCodeChallengeMethod, - ) - - _ = services - - // if len(services) > 0 { - // outURL = fmt.Sprintf("%s&scope=%s", - // outURL, - // strings.Join(services, ","), - // ) - // } - - return outURL, nil -} - -func (s *service) AuthServiceCompleteFlow(ctx context.Context, request *protocoltypes.AuthServiceCompleteFlow_Request) (*protocoltypes.AuthServiceCompleteFlow_Reply, error) { - u, err := url.Parse(request.CallbackURL) - if err != nil { - return nil, err - } - - if e := u.Query().Get("error"); e != "" { - return nil, errcode.ErrServicesAuthServer.Wrap(fmt.Errorf("got error: %s (%s)", e, u.Query().Get("error_description"))) - } - - code, state := u.Query().Get("code"), u.Query().Get("state") - - authUntyped := s.authSession.Load() - if authUntyped == nil { - return nil, errcode.ErrServicesAuthNotInitialized - } - - auth, ok := authUntyped.(*bertyauth.AuthSession) - if !ok { - return nil, errcode.ErrServicesAuthNotInitialized - } - - if auth.State != state { - return nil, errcode.ErrServicesAuthWrongState - } - - endpoint := fmt.Sprintf("%s%s", auth.BaseURL, authtypes.AuthHTTPPathTokenExchange) - s.logger.Debug("auth service start", logutil.PrivateString("endpoint", endpoint)) - res, err := ctxhttp.PostForm(ctx, http.DefaultClient, endpoint, url.Values{ - "grant_type": {authtypes.AuthGrantType}, - "code": {code}, - "client_id": {authtypes.AuthClientID}, - "code_verifier": {auth.CodeVerifier}, - }) - if err != nil { - return nil, errcode.ErrStreamWrite.Wrap(err) - } - - defer res.Body.Close() - - if res.StatusCode >= 300 { - return nil, errcode.ErrServicesAuthInvalidResponse.Wrap(fmt.Errorf("invalid status code %d", res.StatusCode)) - } - - body, err := io.ReadAll(res.Body) - if err != nil { - return nil, errcode.ErrStreamRead.Wrap(err) - } - - resMsg := &protocoltypes.AuthExchangeResponse{} - if err := json.Unmarshal(body, &resMsg); err != nil { - return nil, errcode.ErrDeserialization.Wrap(err) - } - - if resMsg.Error != "" { - return nil, errcode.ErrServicesAuthServer.Wrap(err) - } - - if resMsg.AccessToken == "" { - return nil, errcode.ErrServicesAuthInvalidResponse.Wrap(fmt.Errorf("missing access token in response")) - } - - if len(resMsg.Services) == 0 { - return nil, errcode.ErrServicesAuthInvalidResponse.Wrap(fmt.Errorf("no services returned along token")) - } - - services := make([]*protocoltypes.ServiceTokenSupportedService, len(resMsg.Services)) - i := 0 - for k, v := range resMsg.Services { - services[i] = &protocoltypes.ServiceTokenSupportedService{ - ServiceType: k, - ServiceEndpoint: v, - } - i++ - } - - s.logger.Debug("auth flow services", zap.Any("services", services)) - - svcToken := &protocoltypes.ServiceToken{ - Token: resMsg.AccessToken, - AuthenticationURL: auth.BaseURL, - SupportedServices: services, - Expiration: -1, - } - - accountGroup := s.getAccountGroup() - if accountGroup == nil { - return nil, errcode.ErrGroupMissing - } - - if _, err := accountGroup.metadataStore.SendAccountServiceTokenAdded(ctx, svcToken); err != nil { - return nil, err - } - - // @FIXME(gfanton): should be handle on the client (js) side - // registeredPushServer := 0 - for _, service := range services { - if service.ServiceType != authtypes.ServicePushID { - continue - } - - // s.logger.Debug("registering push server", logutil.PrivateString("endpoint", service.GetServiceEndpoint())) - // client, err := s.getPushClient(service.ServiceEndpoint) - // if err != nil { - // s.logger.Warn("unable to connect to push server", logutil.PrivateString("endpoint", service.ServiceEndpoint), zap.Error(err)) - // continue - // } - - // repl, err := client.ServerInfo(ctx, &pushtypes.PushServiceServerInfo_Request{}) - - // s.logger.Debug("server info", zap.Int("supported push services ", len(repl.GetSupportedTokenTypes()))) - - // if err != nil { - // s.logger.Warn("unable to get server info from push server", logutil.PrivateString("endpoint", service.ServiceEndpoint), zap.Error(err)) - // continue - // } - - // _, err = s.PushSetServer(ctx, &protocoltypes.PushSetServer_Request{ - // Server: &protocoltypes.PushServer{ - // ServerKey: repl.PublicKey, - // ServiceAddr: service.ServiceEndpoint, - // }, - // }) - - // if err != nil { - // s.logger.Warn("unable to set push server", zap.Error(err)) - // continue - // } - // - // registeredPushServer++ - // s.logger.Debug("push server registered", logutil.PrivateString("endpoint", service.GetServiceEndpoint())) - } - - // if registeredPushServer == 0 { - // s.logger.Warn("no push server found/registered") - // } - - return &protocoltypes.AuthServiceCompleteFlow_Reply{ - TokenID: svcToken.TokenID(), - }, nil -} - -func (s *service) AuthServiceInitFlow(ctx context.Context, request *protocoltypes.AuthServiceInitFlow_Request) (*protocoltypes.AuthServiceInitFlow_Reply, error) { - u, err := s.authInitURL(request.AuthURL, request.Services...) - if err != nil { - return nil, err - } - - return &protocoltypes.AuthServiceInitFlow_Reply{ - URL: u, - SecureURL: strings.HasPrefix(u, "https://"), - }, nil -} - -func (s *service) ServicesTokenList(request *protocoltypes.ServicesTokenList_Request, server protocoltypes.ProtocolService_ServicesTokenListServer) error { - accountGroup := s.getAccountGroup() - if accountGroup == nil { - return errcode.ErrGroupMissing - } - - for _, t := range accountGroup.metadataStore.listServiceTokens() { - if server.Context().Err() != nil { - break - } - - if err := server.Send(&protocoltypes.ServicesTokenList_Reply{ - TokenID: t.TokenID(), - Service: t, - }); err != nil { - return err - } - } - - return nil -} - -func (s *service) DebugAuthServiceSetToken(ctx context.Context, request *protocoltypes.DebugAuthServiceSetToken_Request) (*protocoltypes.DebugAuthServiceSetToken_Reply, error) { - services := make([]*protocoltypes.ServiceTokenSupportedService, len(request.Token.Services)) - i := 0 - for k, v := range request.Token.Services { - services[i] = &protocoltypes.ServiceTokenSupportedService{ - ServiceType: k, - ServiceEndpoint: v, - } - i++ - } - - svcToken := &protocoltypes.ServiceToken{ - Token: request.Token.AccessToken, - AuthenticationURL: request.AuthenticationURL, - SupportedServices: services, - Expiration: -1, - } - - accountGroup := s.getAccountGroup() - if accountGroup == nil { - return nil, errcode.ErrGroupMissing - } - - if _, err := accountGroup.metadataStore.SendAccountServiceTokenAdded(ctx, svcToken); err != nil { - return nil, err - } - - return &protocoltypes.DebugAuthServiceSetToken_Reply{}, nil -} diff --git a/docs/apis/protocoltypes.md b/docs/apis/protocoltypes.md index 47c92556..72e6f871 100644 --- a/docs/apis/protocoltypes.md +++ b/docs/apis/protocoltypes.md @@ -17,8 +17,6 @@ - [AccountContactUnblocked](#weshnet-protocol-v1-AccountContactUnblocked) - [AccountGroupJoined](#weshnet-protocol-v1-AccountGroupJoined) - [AccountGroupLeft](#weshnet-protocol-v1-AccountGroupLeft) - - [AccountServiceTokenAdded](#weshnet-protocol-v1-AccountServiceTokenAdded) - - [AccountServiceTokenRemoved](#weshnet-protocol-v1-AccountServiceTokenRemoved) - [AccountVerifiedCredentialRegistered](#weshnet-protocol-v1-AccountVerifiedCredentialRegistered) - [ActivateGroup](#weshnet-protocol-v1-ActivateGroup) - [ActivateGroup.Reply](#weshnet-protocol-v1-ActivateGroup-Reply) @@ -29,14 +27,6 @@ - [AppMetadataSend](#weshnet-protocol-v1-AppMetadataSend) - [AppMetadataSend.Reply](#weshnet-protocol-v1-AppMetadataSend-Reply) - [AppMetadataSend.Request](#weshnet-protocol-v1-AppMetadataSend-Request) - - [AuthExchangeResponse](#weshnet-protocol-v1-AuthExchangeResponse) - - [AuthExchangeResponse.ServicesEntry](#weshnet-protocol-v1-AuthExchangeResponse-ServicesEntry) - - [AuthServiceCompleteFlow](#weshnet-protocol-v1-AuthServiceCompleteFlow) - - [AuthServiceCompleteFlow.Reply](#weshnet-protocol-v1-AuthServiceCompleteFlow-Reply) - - [AuthServiceCompleteFlow.Request](#weshnet-protocol-v1-AuthServiceCompleteFlow-Request) - - [AuthServiceInitFlow](#weshnet-protocol-v1-AuthServiceInitFlow) - - [AuthServiceInitFlow.Reply](#weshnet-protocol-v1-AuthServiceInitFlow-Reply) - - [AuthServiceInitFlow.Request](#weshnet-protocol-v1-AuthServiceInitFlow-Request) - [ContactAliasKeyAdded](#weshnet-protocol-v1-ContactAliasKeyAdded) - [ContactAliasKeySend](#weshnet-protocol-v1-ContactAliasKeySend) - [ContactAliasKeySend.Reply](#weshnet-protocol-v1-ContactAliasKeySend-Reply) @@ -77,9 +67,6 @@ - [DeactivateGroup](#weshnet-protocol-v1-DeactivateGroup) - [DeactivateGroup.Reply](#weshnet-protocol-v1-DeactivateGroup-Reply) - [DeactivateGroup.Request](#weshnet-protocol-v1-DeactivateGroup-Request) - - [DebugAuthServiceSetToken](#weshnet-protocol-v1-DebugAuthServiceSetToken) - - [DebugAuthServiceSetToken.Reply](#weshnet-protocol-v1-DebugAuthServiceSetToken-Reply) - - [DebugAuthServiceSetToken.Request](#weshnet-protocol-v1-DebugAuthServiceSetToken-Request) - [DebugGroup](#weshnet-protocol-v1-DebugGroup) - [DebugGroup.Reply](#weshnet-protocol-v1-DebugGroup-Reply) - [DebugGroup.Request](#weshnet-protocol-v1-DebugGroup-Request) @@ -181,10 +168,6 @@ - [ServiceGetConfiguration.Request](#weshnet-protocol-v1-ServiceGetConfiguration-Request) - [ServiceToken](#weshnet-protocol-v1-ServiceToken) - [ServiceTokenSupportedService](#weshnet-protocol-v1-ServiceTokenSupportedService) - - [ServicesTokenCode](#weshnet-protocol-v1-ServicesTokenCode) - - [ServicesTokenList](#weshnet-protocol-v1-ServicesTokenList) - - [ServicesTokenList.Reply](#weshnet-protocol-v1-ServicesTokenList-Reply) - - [ServicesTokenList.Request](#weshnet-protocol-v1-ServicesTokenList-Request) - [ShareContact](#weshnet-protocol-v1-ShareContact) - [ShareContact.Reply](#weshnet-protocol-v1-ShareContact-Reply) - [ShareContact.Request](#weshnet-protocol-v1-ShareContact-Request) @@ -359,26 +342,6 @@ AccountGroupLeft indicates that the account has left a group | device_pk | [bytes](#bytes) | | device_pk is the device sending the event, signs the message | | group_pk | [bytes](#bytes) | | group_pk references the group left | - - -### AccountServiceTokenAdded -AccountServiceTokenAdded indicates a token has been added to the account - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| device_pk | [bytes](#bytes) | | device_pk is the device sending the event, signs the message | -| service_token | [ServiceToken](#weshnet-protocol-v1-ServiceToken) | | | - - - -### AccountServiceTokenRemoved -AccountServiceTokenRemoved indicates a token has removed - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| device_pk | [bytes](#bytes) | | device_pk is the device sending the event, signs the message | -| token_id | [string](#string) | | | - ### AccountVerifiedCredentialRegistered @@ -452,69 +415,6 @@ AccountServiceTokenRemoved indicates a token has removed | group_pk | [bytes](#bytes) | | group_pk is the identifier of the group | | payload | [bytes](#bytes) | | payload is the payload to send | - - -### AuthExchangeResponse - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| access_token | [string](#string) | | | -| scope | [string](#string) | | | -| error | [string](#string) | | | -| error_description | [string](#string) | | | -| services | [AuthExchangeResponse.ServicesEntry](#weshnet-protocol-v1-AuthExchangeResponse-ServicesEntry) | repeated | | - - - -### AuthExchangeResponse.ServicesEntry - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| key | [string](#string) | | | -| value | [string](#string) | | | - - - -### AuthServiceCompleteFlow - - - -### AuthServiceCompleteFlow.Reply - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| token_id | [string](#string) | | | - - - -### AuthServiceCompleteFlow.Request - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| callback_url | [string](#string) | | | - - - -### AuthServiceInitFlow - - - -### AuthServiceInitFlow.Reply - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| url | [string](#string) | | | -| secure_url | [bool](#bool) | | | - - - -### AuthServiceInitFlow.Request - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| auth_url | [string](#string) | | | -| services | [string](#string) | repeated | | - ### ContactAliasKeyAdded @@ -742,23 +642,6 @@ ContactAliasKeyAdded is an event type where ones shares their alias public key | ----- | ---- | ----- | ----------- | | group_pk | [bytes](#bytes) | | group_pk is the identifier of the group | - - -### DebugAuthServiceSetToken - - - -### DebugAuthServiceSetToken.Reply - - - -### DebugAuthServiceSetToken.Request - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| token | [AuthExchangeResponse](#weshnet-protocol-v1-AuthExchangeResponse) | | | -| authentication_url | [string](#string) | | | - ### DebugGroup @@ -1485,8 +1368,10 @@ Progress define a generic object that can be used to display a progress bar for | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| token_id | [string](#string) | | | | group_pk | [bytes](#bytes) | | | +| token | [string](#string) | | | +| authentication_url | [string](#string) | | | +| replication_server | [string](#string) | | | @@ -1568,33 +1453,6 @@ Progress define a generic object that can be used to display a progress bar for | service_type | [string](#string) | | | | service_endpoint | [string](#string) | | | - - -### ServicesTokenCode - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| services | [string](#string) | repeated | | -| code_challenge | [string](#string) | | | -| token_id | [string](#string) | | | - - - -### ServicesTokenList - - - -### ServicesTokenList.Reply - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| token_id | [string](#string) | | | -| service | [ServiceToken](#weshnet-protocol-v1-ServiceToken) | | | - - - -### ServicesTokenList.Request - ### ShareContact @@ -1780,8 +1638,6 @@ Progress define a generic object that can be used to display a progress bar for | EventTypeMultiMemberGroupAliasResolverAdded | 301 | EventTypeMultiMemberGroupAliasResolverAdded indicates the payload includes that a member of the group sent their alias proof | | EventTypeMultiMemberGroupInitialMemberAnnounced | 302 | EventTypeMultiMemberGroupInitialMemberAnnounced indicates the payload includes that a member has authenticated themselves as the group owner | | EventTypeMultiMemberGroupAdminRoleGranted | 303 | EventTypeMultiMemberGroupAdminRoleGranted indicates the payload includes that an admin of the group granted another member as an admin | -| EventTypeAccountServiceTokenAdded | 401 | EventTypeAccountServiceTokenAdded indicates that a new service provider has been registered for this account | -| EventTypeAccountServiceTokenRemoved | 402 | EventTypeAccountServiceTokenRemoved indicates that a service provider is not available anymore | | EventTypeGroupReplicating | 403 | EventTypeGroupReplicating indicates that the group has been registered for replication on a server | | EventTypeAccountVerifiedCredentialRegistered | 500 | EventTypeAccountVerifiedCredentialRegistered | | EventTypeGroupMetadataPayloadSent | 1001 | EventTypeGroupMetadataPayloadSent indicates the payload includes an app specific event, unlike messages stored on the message store it is encrypted using a static key | @@ -1886,14 +1742,10 @@ Each active Wesh protocol service is considered as a Wesh device and is associat | DebugListGroups | [DebugListGroups.Request](#weshnet-protocol-v1-DebugListGroups-Request) | [DebugListGroups.Reply](#weshnet-protocol-v1-DebugListGroups-Reply) stream | | | DebugInspectGroupStore | [DebugInspectGroupStore.Request](#weshnet-protocol-v1-DebugInspectGroupStore-Request) | [DebugInspectGroupStore.Reply](#weshnet-protocol-v1-DebugInspectGroupStore-Reply) stream | | | DebugGroup | [DebugGroup.Request](#weshnet-protocol-v1-DebugGroup-Request) | [DebugGroup.Reply](#weshnet-protocol-v1-DebugGroup-Reply) | | -| DebugAuthServiceSetToken | [DebugAuthServiceSetToken.Request](#weshnet-protocol-v1-DebugAuthServiceSetToken-Request) | [DebugAuthServiceSetToken.Reply](#weshnet-protocol-v1-DebugAuthServiceSetToken-Reply) | | | SystemInfo | [SystemInfo.Request](#weshnet-protocol-v1-SystemInfo-Request) | [SystemInfo.Reply](#weshnet-protocol-v1-SystemInfo-Reply) | | -| AuthServiceInitFlow | [AuthServiceInitFlow.Request](#weshnet-protocol-v1-AuthServiceInitFlow-Request) | [AuthServiceInitFlow.Reply](#weshnet-protocol-v1-AuthServiceInitFlow-Reply) | AuthServiceInitFlow Initialize an authentication flow | -| AuthServiceCompleteFlow | [AuthServiceCompleteFlow.Request](#weshnet-protocol-v1-AuthServiceCompleteFlow-Request) | [AuthServiceCompleteFlow.Reply](#weshnet-protocol-v1-AuthServiceCompleteFlow-Reply) | AuthServiceCompleteFlow Completes an authentication flow | | CredentialVerificationServiceInitFlow | [CredentialVerificationServiceInitFlow.Request](#weshnet-protocol-v1-CredentialVerificationServiceInitFlow-Request) | [CredentialVerificationServiceInitFlow.Reply](#weshnet-protocol-v1-CredentialVerificationServiceInitFlow-Reply) | CredentialVerificationServiceInitFlow Initialize a credential verification flow | | CredentialVerificationServiceCompleteFlow | [CredentialVerificationServiceCompleteFlow.Request](#weshnet-protocol-v1-CredentialVerificationServiceCompleteFlow-Request) | [CredentialVerificationServiceCompleteFlow.Reply](#weshnet-protocol-v1-CredentialVerificationServiceCompleteFlow-Reply) | CredentialVerificationServiceCompleteFlow Completes a credential verification flow | | VerifiedCredentialsList | [VerifiedCredentialsList.Request](#weshnet-protocol-v1-VerifiedCredentialsList-Request) | [VerifiedCredentialsList.Reply](#weshnet-protocol-v1-VerifiedCredentialsList-Reply) stream | VerifiedCredentialsList Retrieves the list of verified credentials | -| ServicesTokenList | [ServicesTokenList.Request](#weshnet-protocol-v1-ServicesTokenList-Request) | [ServicesTokenList.Reply](#weshnet-protocol-v1-ServicesTokenList-Reply) stream | ServicesTokenList Retrieves the list of services tokens | | ReplicationServiceRegisterGroup | [ReplicationServiceRegisterGroup.Request](#weshnet-protocol-v1-ReplicationServiceRegisterGroup-Request) | [ReplicationServiceRegisterGroup.Reply](#weshnet-protocol-v1-ReplicationServiceRegisterGroup-Reply) | ReplicationServiceRegisterGroup Asks a replication service to distribute a group contents | | PeerList | [PeerList.Request](#weshnet-protocol-v1-PeerList-Request) | [PeerList.Reply](#weshnet-protocol-v1-PeerList-Reply) | PeerList returns a list of P2P peers | | OutOfStoreReceive | [OutOfStoreReceive.Request](#weshnet-protocol-v1-OutOfStoreReceive-Request) | [OutOfStoreReceive.Reply](#weshnet-protocol-v1-OutOfStoreReceive-Reply) | OutOfStoreReceive parses a payload received outside a synchronized store | diff --git a/docs/apis/protocoltypes.swagger.json b/docs/apis/protocoltypes.swagger.json index 7a4b365e..f1f5a586 100644 --- a/docs/apis/protocoltypes.swagger.json +++ b/docs/apis/protocoltypes.swagger.json @@ -304,48 +304,6 @@ } } }, - "v1AuthExchangeResponse": { - "type": "object", - "properties": { - "access_token": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "error": { - "type": "string" - }, - "error_description": { - "type": "string" - }, - "services": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "v1AuthServiceCompleteFlowReply": { - "type": "object", - "properties": { - "token_id": { - "type": "string" - } - } - }, - "v1AuthServiceInitFlowReply": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "secure_url": { - "type": "boolean" - } - } - }, "v1ContactAliasKeySendReply": { "type": "object" }, @@ -423,9 +381,6 @@ "v1DeactivateGroupReply": { "type": "object" }, - "v1DebugAuthServiceSetTokenReply": { - "type": "object" - }, "v1DebugGroupReply": { "type": "object", "properties": { @@ -563,14 +518,12 @@ "EventTypeMultiMemberGroupAliasResolverAdded", "EventTypeMultiMemberGroupInitialMemberAnnounced", "EventTypeMultiMemberGroupAdminRoleGranted", - "EventTypeAccountServiceTokenAdded", - "EventTypeAccountServiceTokenRemoved", "EventTypeGroupReplicating", "EventTypeAccountVerifiedCredentialRegistered", "EventTypeGroupMetadataPayloadSent" ], "default": "EventTypeUndefined", - "title": "- EventTypeUndefined: EventTypeUndefined indicates that the value has not been set. Should not happen.\n - EventTypeGroupMemberDeviceAdded: EventTypeGroupMemberDeviceAdded indicates the payload includes that a member has added their device to the group\n - EventTypeGroupDeviceChainKeyAdded: EventTypeGroupDeviceChainKeyAdded indicates the payload includes that a member has sent their device chain key to another member\n - EventTypeAccountGroupJoined: EventTypeAccountGroupJoined indicates the payload includes that the account has joined a group\n - EventTypeAccountGroupLeft: EventTypeAccountGroupLeft indicates the payload includes that the account has left a group\n - EventTypeAccountContactRequestDisabled: EventTypeAccountContactRequestDisabled indicates the payload includes that the account has disabled incoming contact requests\n - EventTypeAccountContactRequestEnabled: EventTypeAccountContactRequestEnabled indicates the payload includes that the account has enabled incoming contact requests\n - EventTypeAccountContactRequestReferenceReset: EventTypeAccountContactRequestReferenceReset indicates the payload includes that the account has a new contact request rendezvous seed\n - EventTypeAccountContactRequestOutgoingEnqueued: EventTypeAccountContactRequestOutgoingEnqueued indicates the payload includes that the account will attempt to send a new contact request\n - EventTypeAccountContactRequestOutgoingSent: EventTypeAccountContactRequestOutgoingSent indicates the payload includes that the account has sent a contact request\n - EventTypeAccountContactRequestIncomingReceived: EventTypeAccountContactRequestIncomingReceived indicates the payload includes that the account has received a contact request\n - EventTypeAccountContactRequestIncomingDiscarded: EventTypeAccountContactRequestIncomingDiscarded indicates the payload includes that the account has ignored a contact request\n - EventTypeAccountContactRequestIncomingAccepted: EventTypeAccountContactRequestIncomingAccepted indicates the payload includes that the account has accepted a contact request\n - EventTypeAccountContactBlocked: EventTypeAccountContactBlocked indicates the payload includes that the account has blocked a contact\n - EventTypeAccountContactUnblocked: EventTypeAccountContactUnblocked indicates the payload includes that the account has unblocked a contact\n - EventTypeContactAliasKeyAdded: EventTypeContactAliasKeyAdded indicates the payload includes that the contact group has received an alias key\n - EventTypeMultiMemberGroupAliasResolverAdded: EventTypeMultiMemberGroupAliasResolverAdded indicates the payload includes that a member of the group sent their alias proof\n - EventTypeMultiMemberGroupInitialMemberAnnounced: EventTypeMultiMemberGroupInitialMemberAnnounced indicates the payload includes that a member has authenticated themselves as the group owner\n - EventTypeMultiMemberGroupAdminRoleGranted: EventTypeMultiMemberGroupAdminRoleGranted indicates the payload includes that an admin of the group granted another member as an admin\n - EventTypeAccountServiceTokenAdded: EventTypeAccountServiceTokenAdded indicates that a new service provider has been registered for this account\n - EventTypeAccountServiceTokenRemoved: EventTypeAccountServiceTokenRemoved indicates that a service provider is not available anymore\n - EventTypeGroupReplicating: EventTypeGroupReplicating indicates that the group has been registered for replication on a server\n - EventTypeAccountVerifiedCredentialRegistered: EventTypeAccountVerifiedCredentialRegistered\n - EventTypeGroupMetadataPayloadSent: EventTypeGroupMetadataPayloadSent indicates the payload includes an app specific event, unlike messages stored on the message store it is encrypted using a static key" + "title": "- EventTypeUndefined: EventTypeUndefined indicates that the value has not been set. Should not happen.\n - EventTypeGroupMemberDeviceAdded: EventTypeGroupMemberDeviceAdded indicates the payload includes that a member has added their device to the group\n - EventTypeGroupDeviceChainKeyAdded: EventTypeGroupDeviceChainKeyAdded indicates the payload includes that a member has sent their device chain key to another member\n - EventTypeAccountGroupJoined: EventTypeAccountGroupJoined indicates the payload includes that the account has joined a group\n - EventTypeAccountGroupLeft: EventTypeAccountGroupLeft indicates the payload includes that the account has left a group\n - EventTypeAccountContactRequestDisabled: EventTypeAccountContactRequestDisabled indicates the payload includes that the account has disabled incoming contact requests\n - EventTypeAccountContactRequestEnabled: EventTypeAccountContactRequestEnabled indicates the payload includes that the account has enabled incoming contact requests\n - EventTypeAccountContactRequestReferenceReset: EventTypeAccountContactRequestReferenceReset indicates the payload includes that the account has a new contact request rendezvous seed\n - EventTypeAccountContactRequestOutgoingEnqueued: EventTypeAccountContactRequestOutgoingEnqueued indicates the payload includes that the account will attempt to send a new contact request\n - EventTypeAccountContactRequestOutgoingSent: EventTypeAccountContactRequestOutgoingSent indicates the payload includes that the account has sent a contact request\n - EventTypeAccountContactRequestIncomingReceived: EventTypeAccountContactRequestIncomingReceived indicates the payload includes that the account has received a contact request\n - EventTypeAccountContactRequestIncomingDiscarded: EventTypeAccountContactRequestIncomingDiscarded indicates the payload includes that the account has ignored a contact request\n - EventTypeAccountContactRequestIncomingAccepted: EventTypeAccountContactRequestIncomingAccepted indicates the payload includes that the account has accepted a contact request\n - EventTypeAccountContactBlocked: EventTypeAccountContactBlocked indicates the payload includes that the account has blocked a contact\n - EventTypeAccountContactUnblocked: EventTypeAccountContactUnblocked indicates the payload includes that the account has unblocked a contact\n - EventTypeContactAliasKeyAdded: EventTypeContactAliasKeyAdded indicates the payload includes that the contact group has received an alias key\n - EventTypeMultiMemberGroupAliasResolverAdded: EventTypeMultiMemberGroupAliasResolverAdded indicates the payload includes that a member of the group sent their alias proof\n - EventTypeMultiMemberGroupInitialMemberAnnounced: EventTypeMultiMemberGroupInitialMemberAnnounced indicates the payload includes that a member has authenticated themselves as the group owner\n - EventTypeMultiMemberGroupAdminRoleGranted: EventTypeMultiMemberGroupAdminRoleGranted indicates the payload includes that an admin of the group granted another member as an admin\n - EventTypeGroupReplicating: EventTypeGroupReplicating indicates that the group has been registered for replication on a server\n - EventTypeAccountVerifiedCredentialRegistered: EventTypeAccountVerifiedCredentialRegistered\n - EventTypeGroupMetadataPayloadSent: EventTypeGroupMetadataPayloadSent indicates the payload includes an app specific event, unlike messages stored on the message store it is encrypted using a static key" }, "v1Group": { "type": "object", @@ -984,49 +937,6 @@ } } }, - "v1ServiceToken": { - "type": "object", - "properties": { - "token": { - "type": "string" - }, - "authentication_url": { - "type": "string" - }, - "supported_services": { - "type": "array", - "items": { - "$ref": "#/definitions/v1ServiceTokenSupportedService" - } - }, - "expiration": { - "type": "string", - "format": "int64" - } - } - }, - "v1ServiceTokenSupportedService": { - "type": "object", - "properties": { - "service_type": { - "type": "string" - }, - "service_endpoint": { - "type": "string" - } - } - }, - "v1ServicesTokenListReply": { - "type": "object", - "properties": { - "token_id": { - "type": "string" - }, - "service": { - "$ref": "#/definitions/v1ServiceToken" - } - } - }, "v1ShareContactReply": { "type": "object", "properties": { diff --git a/events.go b/events.go index f9332ad1..4f740da2 100644 --- a/events.go +++ b/events.go @@ -36,8 +36,6 @@ var eventTypesMapper = map[protocoltypes.EventType]struct { protocoltypes.EventTypeMultiMemberGroupInitialMemberAnnounced: {Message: &protocoltypes.MultiMemberGroupInitialMemberAnnounced{}, SigChecker: sigCheckerGroupSigned}, protocoltypes.EventTypeMultiMemberGroupAdminRoleGranted: {Message: &protocoltypes.MultiMemberGroupAdminRoleGranted{}, SigChecker: sigCheckerDeviceSigned}, protocoltypes.EventTypeGroupMetadataPayloadSent: {Message: &protocoltypes.GroupMetadataPayloadSent{}, SigChecker: sigCheckerDeviceSigned}, - protocoltypes.EventTypeAccountServiceTokenAdded: {Message: &protocoltypes.AccountServiceTokenAdded{}, SigChecker: sigCheckerDeviceSigned}, - protocoltypes.EventTypeAccountServiceTokenRemoved: {Message: &protocoltypes.AccountServiceTokenRemoved{}, SigChecker: sigCheckerDeviceSigned}, protocoltypes.EventTypeGroupReplicating: {Message: &protocoltypes.GroupReplicating{}, SigChecker: sigCheckerDeviceSigned}, protocoltypes.EventTypeAccountVerifiedCredentialRegistered: {Message: &protocoltypes.AccountVerifiedCredentialRegistered{}, SigChecker: sigCheckerDeviceSigned}, } diff --git a/go.mod b/go.mod index 9a030624..81fdf1d0 100644 --- a/go.mod +++ b/go.mod @@ -50,15 +50,12 @@ require ( go.uber.org/multierr v1.11.0 go.uber.org/zap v1.24.0 golang.org/x/crypto v0.7.0 - golang.org/x/net v0.8.0 - golang.org/x/text v0.8.0 golang.org/x/tools v0.7.0 golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 google.golang.org/grpc v1.50.1 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 google.golang.org/grpc/examples v0.0.0-20200922230038-4e932bbcb079 google.golang.org/protobuf v1.30.0 - gopkg.in/square/go-jose.v2 v2.6.0 moul.io/openfiles v1.2.0 moul.io/srand v1.6.1 moul.io/testman v1.5.0 @@ -301,11 +298,14 @@ require ( go4.org v0.0.0-20200411211856-f5505b9728dd // indirect golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect golang.org/x/mod v0.10.0 // indirect + golang.org/x/net v0.8.0 // indirect golang.org/x/oauth2 v0.5.0 // indirect golang.org/x/sync v0.1.0 // indirect golang.org/x/sys v0.7.0 // indirect + golang.org/x/text v0.8.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd // indirect + gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect lukechampine.com/blake3 v1.1.7 // indirect diff --git a/internal/i18n/catalog.go b/internal/i18n/catalog.go deleted file mode 100644 index 1a6b19f2..00000000 --- a/internal/i18n/catalog.go +++ /dev/null @@ -1,70 +0,0 @@ -package i18n - -import ( - "encoding/json" - "io/fs" - "path/filepath" - "strings" - - "golang.org/x/text/language" - "golang.org/x/text/message" - "golang.org/x/text/message/catalog" -) - -type Catalog struct { - fallback language.Tag - Builder *catalog.Builder -} - -func NewCatalog(defaultlang language.Tag) *Catalog { - builder := catalog.NewBuilder(catalog.Fallback(defaultlang)) - return &Catalog{ - Builder: builder, - fallback: defaultlang, - } -} - -func (c *Catalog) NewPrinter(preferedlang ...language.Tag) *message.Printer { - var cat catalog.Catalog = c.Builder - preferedlang = append(preferedlang, c.fallback) - tag, _, _ := cat.Matcher().Match(preferedlang...) - return message.NewPrinter(tag, message.Catalog(cat)) -} - -func (c *Catalog) Populate(f fs.FS) error { - const targetfile = "localization.json" // @TODO(gfanton): make this more customizable - err := fs.WalkDir(f, ".", func(path string, entry fs.DirEntry, err error) error { - if err != nil { - return err - } - - if entry.IsDir() { - return nil - } - - if filename := filepath.Base(path); strings.Compare(filename, targetfile) != 0 { - // @NOTE(gfanton): skip invalid file or return an error ? - return nil - } - - lang := filepath.Base(filepath.Dir(path)) - content, err := fs.ReadFile(f, path) - if err != nil { - return err - } - - tag := language.MustParse(lang) - local := &localizationsJSON{ - Lang: tag, - Builder: c.Builder, - } - - if err = json.Unmarshal(content, &local); err != nil { - return err - } - - return nil - }) - - return err -} diff --git a/internal/i18n/catalog_test.go b/internal/i18n/catalog_test.go deleted file mode 100644 index cf5b0394..00000000 --- a/internal/i18n/catalog_test.go +++ /dev/null @@ -1,73 +0,0 @@ -package i18n - -import ( - "embed" - "testing" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "golang.org/x/text/language" - "golang.org/x/text/message" - "golang.org/x/text/message/catalog" -) - -//go:embed locales_test -var locales_test embed.FS - -func TestBasic(t *testing.T) { - defaultLang := language.MustParse("en-US") - const testKey = "testkey1" - const testMessage = "testmessage1" - - builder := catalog.NewBuilder(catalog.Fallback(defaultLang)) - builder.SetString(defaultLang, testKey, testMessage) - - var c catalog.Catalog = builder - p := message.NewPrinter(defaultLang, message.Catalog(c)) - - msg := p.Sprintf(testKey) - require.Equal(t, testMessage, msg) -} - -func args(a ...interface{}) []interface{} { return a } - -func TestLocalizationFiles(t *testing.T) { - enUS := language.MustParse("en-US") - frFR := language.MustParse("fr-FR") - frCA := language.MustParse("fr-CA") - esES := language.MustParse("es-ES") - - cases := []struct { - lang language.Tag - key string - args []interface{} - result string - equality assert.ComparisonAssertionFunc - }{ - {enUS, "key1", nil, "message1", assert.Equal}, - {enUS, "key2", nil, "message2", assert.Equal}, - {enUS, "nested.key1", nil, "nested_message_1", assert.Equal}, - {enUS, "keyWithValue", args("bart"), "bart just connected", assert.Equal}, - {enUS, "keyWithMultipleValue", args("bart", "lisa"), "bart and lisa just connected", assert.Equal}, - {frFR, "nested.key1", nil, "nested_message_1-fr", assert.Equal}, - {frCA, "nested.key1", nil, "nested_message_1-fr", assert.Equal}, - {esES, "nested.key1", nil, "nested_message_1", assert.Equal}, - {enUS, "keyWithPluralCount", []interface{}{1}, "there is 1 star in the sky", assert.Equal}, - {enUS, "keyWithPluralCount", []interface{}{10}, "there are 10 stars in the sky", assert.Equal}, - {frFR, "keyWithPluralCount", []interface{}{11}, "il y'a 11 etoiles dans le ciel", assert.Equal}, - {frCA, "keyWithPluralCount", []interface{}{1}, "il y'a 1 etoile dans le ciel", assert.Equal}, - } - - cat := NewCatalog(enUS) - cat.Populate(locales_test) - for _, tc := range cases { - p := cat.NewPrinter(tc.lang) - args := tc.args - if args == nil { - args = []interface{}{} - } - - msg := p.Sprintf(tc.key, args...) - tc.equality(t, tc.result, msg, "wrong translation for [%s] `%s`", tc.lang.String(), tc.key) // success - } -} diff --git a/internal/i18n/filter.go b/internal/i18n/filter.go deleted file mode 100644 index c6c50564..00000000 --- a/internal/i18n/filter.go +++ /dev/null @@ -1,46 +0,0 @@ -package i18n - -import ( - "strings" - - "golang.org/x/text/language" -) - -type notSupported struct { - lang language.Tag - forms []string -} - -// since `validForm` method is not exposed by plural package, we need to do this -// manually -var NotSupportedForm = []notSupported{ - { - lang: language.Japanese, - forms: []string{"one"}, - }, - { - lang: language.Chinese, - forms: []string{"one"}, - }, -} - -func supported(form string, lang language.Tag) bool { - blang, conf := lang.Base() - if conf == language.No { - return false - } - - form = strings.ToLower(form) - for _, s := range NotSupportedForm { - nlang, _ := s.lang.Base() - if nlang.String() == blang.String() { - for _, f := range s.forms { - if f == form { - return false - } - } - } - } - - return true -} diff --git a/internal/i18n/locales_test/en-US/localization.json b/internal/i18n/locales_test/en-US/localization.json deleted file mode 100644 index 869e9ef0..00000000 --- a/internal/i18n/locales_test/en-US/localization.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "key1": "message1", - "key2": "message2", - "nested": { - "key1" : "nested_message_1" - }, - "keyWithValue": "%[1]v just connected", - "keyWithMultipleValue": "%[1]v and %[2]v just connected", - "keyWithPluralCount_one": "there is %[1]v star in the sky", - "keyWithPluralCount_other": "there are %[1]v stars in the sky" -} diff --git a/internal/i18n/locales_test/fr-FR/localization.json b/internal/i18n/locales_test/fr-FR/localization.json deleted file mode 100644 index 51f1f434..00000000 --- a/internal/i18n/locales_test/fr-FR/localization.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "key1": "message1-fr", - "key2": "message2-fr", - "nested": { - "key1": "nested_message_1-fr" - }, - "keyWithValue": "%[1]v est connecte", - "keyWithMultipleValue": "%[1]v et %[2]v sont connectes", - "keyWithPluralCount_one": "il y'a %[1]v etoile dans le ciel", - "keyWithPluralCount_other": "il y'a %[1]v etoiles dans le ciel" -} diff --git a/internal/i18n/translations_i18next.go b/internal/i18n/translations_i18next.go deleted file mode 100644 index 1b58704a..00000000 --- a/internal/i18n/translations_i18next.go +++ /dev/null @@ -1,141 +0,0 @@ -package i18n - -import ( - "encoding/json" - "fmt" - "strings" - - "golang.org/x/text/feature/plural" - "golang.org/x/text/language" - "golang.org/x/text/message/catalog" -) - -type ContentKind int - -const ( - ContentKindMessage ContentKind = iota - ContentKindNested -) - -type ContentNode struct { - Kind ContentKind - - Message string - Nested map[string]*ContentNode -} - -func (n *ContentNode) UnmarshalJSON(b []byte) error { - var value string - if err := json.Unmarshal(b, &value); err == nil { - n.Kind = ContentKindMessage - n.Message = value - return nil - } - - node := make(map[string]*ContentNode) - if err := json.Unmarshal(b, &node); err == nil { - n.Kind = ContentKindNested - n.Nested = node - return nil - } - - return fmt.Errorf("unable to parse content node") -} - -type localizationsJSON struct { - Builder *catalog.Builder - Lang language.Tag -} - -func (l *localizationsJSON) UnmarshalJSON(b []byte) error { - tree := make(map[string]*ContentNode) - if err := json.Unmarshal(b, &tree); err != nil { - return fmt.Errorf("unable to parse tree: %w", err) - } - - if err := l.generateCatalog("", tree); err != nil { - return fmt.Errorf("unable to populate catalog: %w", err) - } - - return nil -} - -type pcases struct { - // Specific include Form such as `Zero` `One` `Two` `Few` `Many`, ``x=`, `x<` - specific []interface{} - // other is the last fallback - other []interface{} -} - -// other should always be set as last item -func (p *pcases) getSelectCases() []interface{} { return append(p.specific, p.other...) } - -func (l *localizationsJSON) generateCatalog(root string, tree map[string]*ContentNode) error { - selector := make(map[string]*pcases) - for k, value := range tree { - keys := strings.Split(k, "_") - if len(keys) == 0 { - return fmt.Errorf("cannot use empty key") - } - - // format key - var key string - if root != "" { - key = fmt.Sprintf("%s.%s", root, keys[0]) - } else { - key = keys[0] - } - - // is it nested ? - if value.Kind == ContentKindNested { - if err := l.generateCatalog(key, value.Nested); err != nil { - return err - } - - continue - } - - if value.Message == "" { - continue // skip empty value - } - - // is it regular message ? - if len(keys) == 1 { - if err := l.Builder.SetString(l.Lang, key, value.Message); err != nil { - return fmt.Errorf("unable to set string key `%s`: %w", key, err) - } - continue - } - - form := keys[1] - if !supported(form, l.Lang) { - continue - } - - // add it has plurals - cases, ok := selector[key] - if !ok { - cases = &pcases{ - specific: []interface{}{}, - other: []interface{}{}, - } - } - - if strings.ToLower(form) == "other" { - cases.other = []interface{}{form, value.Message} - } else { - cases.specific = []interface{}{form, value.Message} - } - - selector[key] = cases - } - - for key, cases := range selector { - list := cases.getSelectCases() - if err := l.Builder.Set(l.Lang, key, plural.Selectf(1, "", list...)); err != nil { - return fmt.Errorf("unable to set plural key `%s`: %w", key, err) - } - } - - return nil -} diff --git a/localization/locales/af-ZA/localization.json b/localization/locales/af-ZA/localization.json deleted file mode 100644 index a402fee2..00000000 --- a/localization/locales/af-ZA/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/ar-SA/localization.json b/localization/locales/ar-SA/localization.json deleted file mode 100644 index 1aa08204..00000000 --- a/localization/locales/ar-SA/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "الأداء" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "الأداء" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/bg-BG/localization.json b/localization/locales/bg-BG/localization.json deleted file mode 100644 index 1ba7c43d..00000000 --- a/localization/locales/bg-BG/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "Производителност" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "Производителност" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "Политика за поверителонст" - }, - "push": { - "message": { - "title": "Ново съобщение" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/ca-ES/localization.json b/localization/locales/ca-ES/localization.json deleted file mode 100644 index a402fee2..00000000 --- a/localization/locales/ca-ES/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/cs-CZ/localization.json b/localization/locales/cs-CZ/localization.json deleted file mode 100644 index b809ee1b..00000000 --- a/localization/locales/cs-CZ/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "Výkon" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "Výkon" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "Zásady ochrany soukromí" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/da-DK/localization.json b/localization/locales/da-DK/localization.json deleted file mode 100644 index a402fee2..00000000 --- a/localization/locales/da-DK/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/de-DE/localization.json b/localization/locales/de-DE/localization.json deleted file mode 100644 index 650d311e..00000000 --- a/localization/locales/de-DE/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "Replikation", - "description": "Dieser Dienst wird Ihre Unterhaltungen automatisch replizieren, um Ihrem Gerät die effizienteste Netzwerkleistung zu bieten.", - "benefitBadge": "Leistung" - }, - "psh": { - "name": "Push-Benachrichtigungen", - "description": "Dieser Dienst ermöglicht es Ihrem Gerät Push-Benachrichtigungen für eingehende Nachrichten zu erhalten.", - "benefitBadge": "Leistung" - } - }, - "pageTitle": "", - "connectButton_one": "Dienst verwenden", - "connectButton_other": "Ausgewählte Dienste verwenden", - "privacyPolicyLabel": "Datenschutzerklärung" - }, - "push": { - "message": { - "title": "Neue Nachricht" - }, - "error": { - "title": "Push-Entschlüsselung fehlgeschlagen" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "Eine Sprachnachricht gesendet", - "bodyWithNumberOfMedia_other": "%[1]v Sprachnachrichten gesendet" - }, - "gif": { - "bodyWithNumberOfMedia_one": "Ein gif gesendet", - "bodyWithNumberOfMedia_other": "%[1]v GIFs gesendet" - }, - "photo": { - "bodyWithNumberOfMedia_one": "Foto gesendet", - "bodyWithNumberOfMedia_other": "%[1]v Fotos gesendet" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "%[1]v reagierte mit %[2]v auf deine Nachricht" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "Etwas Neues wurde empfangen" - }, - "conversationNameChanged": { - "body": "Name der Unterhaltung wurde aktualisiert" - }, - "memberNameChanged": { - "body": "Anzeigename aktualisiert" - }, - "memberPictureChanged": { - "body": "Profilbild aktualisiert" - }, - "memberDetailsChanged": { - "body": "Mitgliederdetail aktualisiert" - }, - "replyOptionsOffered": { - "body": "Antwort-Optionen angeboten" - } - } -} diff --git a/localization/locales/el-GR/localization.json b/localization/locales/el-GR/localization.json deleted file mode 100644 index 08d1a3fe..00000000 --- a/localization/locales/el-GR/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "Απόδοση" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "Απόδοση" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/en-US/localization.json b/localization/locales/en-US/localization.json deleted file mode 100644 index 782ed5f9..00000000 --- a/localization/locales/en-US/localization.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "Replication", - "description": "This service will automatically replicate your conversations to provide your device with the most efficient network performance.", - "benefitBadge": "Performance" - }, - "psh": { - "name": "Push notifications", - "description": "This service allows your device to receive push notifications for incoming messages.", - "benefitBadge": "Performance" - } - }, - "pageTitle": "Berty Services", - "connectButton_one": "Use service", - "connectButton_other": "Use selected services", - "privacyPolicyLabel": "Privacy policy" - }, - "push": { - "message": { - "title": "New message" - }, - "error": { - "title": "Push decryption failed" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "Sent a voice message", - "bodyWithNumberOfMedia_other": "Sent %[1]v voice messages" - }, - "gif": { - "bodyWithNumberOfMedia_one": "Sent a gif", - "bodyWithNumberOfMedia_other": "Sent %[1]v gifs" - }, - "photo": { - "bodyWithNumberOfMedia_one": "Sent a photo", - "bodyWithNumberOfMedia_other": "Sent %[1]v photos" - }, - "media": { - "bodyWithNumberOfMedia_one": "Sent media", - "bodyWithNumberOfMedia_other": "Sent %[1]v media items" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "%[1]v reacted with %[2]v to your message" - }, - "groupInvitation": { - "bodyWithGroupName": "Invited you to %[1]v" - }, - "unknown": { - "body": "Something new has been received" - }, - "conversationNameChanged": { - "body": "Conversation name has been updated" - }, - "memberNameChanged": { - "body": "Display name updated" - }, - "memberPictureChanged": { - "body": "Profile picture updated" - }, - "memberDetailsChanged": { - "body": "Member detail updated" - } - } -} diff --git a/localization/locales/es-ES/localization.json b/localization/locales/es-ES/localization.json deleted file mode 100644 index 12be541f..00000000 --- a/localization/locales/es-ES/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "Rendimiento" - }, - "psh": { - "name": "Notificaciones Push", - "description": "", - "benefitBadge": "Rendimiento" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "Política de privacidad" - }, - "push": { - "message": { - "title": "Nuevo mensaje" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "Un mensaje de voz enviado", - "bodyWithNumberOfMedia_other": "%[1]v mensajes de voz enviados" - }, - "gif": { - "bodyWithNumberOfMedia_one": "Un imágen de gif enviado", - "bodyWithNumberOfMedia_other": "%[1]v imágenes de gif enviados" - }, - "photo": { - "bodyWithNumberOfMedia_one": "Enviada una foto", - "bodyWithNumberOfMedia_other": "%[1]v fotos enviadas" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "%[1]v reaccionó con %[2]v a su mensaje" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "Se ha recibido algo nuevo" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "Foto de perfil actualizada" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/et-EE/localization.json b/localization/locales/et-EE/localization.json deleted file mode 100644 index d5444c53..00000000 --- a/localization/locales/et-EE/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "Jõudlus" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "Jõudlus" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/fa-IR/localization.json b/localization/locales/fa-IR/localization.json deleted file mode 100644 index a402fee2..00000000 --- a/localization/locales/fa-IR/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/fi-FI/localization.json b/localization/locales/fi-FI/localization.json deleted file mode 100644 index a402fee2..00000000 --- a/localization/locales/fi-FI/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/fr-FR/localization.json b/localization/locales/fr-FR/localization.json deleted file mode 100644 index 331786a2..00000000 --- a/localization/locales/fr-FR/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "Réplication", - "description": "Ce service répliquera automatiquement vos conversations pour fournir à votre appareil les performances réseau les plus efficaces.", - "benefitBadge": "Performance" - }, - "psh": { - "name": "Notifications push", - "description": "Ce service permet à votre appareil de recevoir des notifications push pour les messages entrants.", - "benefitBadge": "Performance" - } - }, - "pageTitle": "Services Berty", - "connectButton_one": "Utiliser le service", - "connectButton_other": "Utiliser les services sélectionnés", - "privacyPolicyLabel": "Politique de confidentialité" - }, - "push": { - "message": { - "title": "Nouveau message" - }, - "error": { - "title": "Échec du déchiffrement des messages push" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "Envoyé un message vocal", - "bodyWithNumberOfMedia_other": "A envoyé %[1]v messages vocaux" - }, - "gif": { - "bodyWithNumberOfMedia_one": "A envoyé un gif", - "bodyWithNumberOfMedia_other": "A envoyé '%[1]v' gifs" - }, - "photo": { - "bodyWithNumberOfMedia_one": "A envoyé une photo", - "bodyWithNumberOfMedia_other": "A envoyé '%[1]v' photos" - }, - "media": { - "bodyWithNumberOfMedia_one": "Média envoyé", - "bodyWithNumberOfMedia_other": "A envoyé '%[1]v' médias" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "%[1]v a réagi avec %[2]v à votre message" - }, - "groupInvitation": { - "bodyWithGroupName": "Invitation au groupe '%[1]v'" - }, - "unknown": { - "body": "Quelque chose de nouveau vient d'être reçu" - }, - "conversationNameChanged": { - "body": "Le nom de la conversation a été mis à jour" - }, - "memberNameChanged": { - "body": "Nom d'affichage mis à jour" - }, - "memberPictureChanged": { - "body": "Photo de profil mise à jour" - }, - "memberDetailsChanged": { - "body": "Détails du membre mis à jour" - }, - "replyOptionsOffered": { - "body": "Options de réponse proposées" - } - } -} diff --git a/localization/locales/he-IL/localization.json b/localization/locales/he-IL/localization.json deleted file mode 100644 index a402fee2..00000000 --- a/localization/locales/he-IL/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/hi-IN/localization.json b/localization/locales/hi-IN/localization.json deleted file mode 100644 index a402fee2..00000000 --- a/localization/locales/hi-IN/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/hu-HU/localization.json b/localization/locales/hu-HU/localization.json deleted file mode 100644 index d4b3baad..00000000 --- a/localization/locales/hu-HU/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "P2P replikáció", - "description": "Ez a szolgáltatás automatikusan újraállítja a beszélgetéseket, hogy eszköze a leghatékonyabb hálózati teljesítményt nyújtsa.", - "benefitBadge": "Teljesítmény" - }, - "psh": { - "name": "Push értesítések", - "description": "Ez a szolgáltatás lehetővé teszi, hogy készüléke push értesítéseket kapjon a bejövő üzenetekről.", - "benefitBadge": "Teljesítmény" - } - }, - "pageTitle": "Berty szolgáltatások", - "connectButton_one": "Szolgáltatás használata", - "connectButton_other": "Kiválasztott szolgáltatások használata", - "privacyPolicyLabel": "Adatvédelmi irányelvek" - }, - "push": { - "message": { - "title": "Új üzenet" - }, - "error": { - "title": "A push visszafejtés nem sikerült" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "Hangüzenetet küldött", - "bodyWithNumberOfMedia_other": "Elküldött hangüzenetek" - }, - "gif": { - "bodyWithNumberOfMedia_one": "Küldött egy gifet", - "bodyWithNumberOfMedia_other": "Elküldött gifek" - }, - "photo": { - "bodyWithNumberOfMedia_one": "Küldött egy fotót", - "bodyWithNumberOfMedia_other": "Elküldött fotók" - }, - "media": { - "bodyWithNumberOfMedia_one": "Elküldött média", - "bodyWithNumberOfMedia_other": "Elküldött média anyagok" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "Reagált az üzenetre" - }, - "groupInvitation": { - "bodyWithGroupName": "Meghívott a csoportba" - }, - "unknown": { - "body": "Valami új érkezett" - }, - "conversationNameChanged": { - "body": "A beszélgetés neve frissítve" - }, - "memberNameChanged": { - "body": "A megjelenített név frissítve" - }, - "memberPictureChanged": { - "body": "Profilkép frissítve" - }, - "memberDetailsChanged": { - "body": "A résztvevő adatai frissítve" - }, - "replyOptionsOffered": { - "body": "Felkínált válaszlehetőségek" - } - } -} diff --git a/localization/locales/id-ID/localization.json b/localization/locales/id-ID/localization.json deleted file mode 100644 index a402fee2..00000000 --- a/localization/locales/id-ID/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/it-IT/localization.json b/localization/locales/it-IT/localization.json deleted file mode 100644 index e9e055b7..00000000 --- a/localization/locales/it-IT/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "Prestazioni" - }, - "psh": { - "name": "Notifiche gruppi", - "description": "", - "benefitBadge": "Prestazioni" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "Informativa sulla privacy" - }, - "push": { - "message": { - "title": "Nuovo messaggio" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/ja-JP/localization.json b/localization/locales/ja-JP/localization.json deleted file mode 100644 index 3ce9566d..00000000 --- a/localization/locales/ja-JP/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "複製", - "description": "このサービスは自動的に会話を複製し、デバイスに最も効率的なネットワークパフォーマンスを提供します。", - "benefitBadge": "パフォーマンス" - }, - "psh": { - "name": "プッシュ通知", - "description": "このサービスでは、メッセージのプッシュ通知をデバイスが受け取ることができます。", - "benefitBadge": "パフォーマンス" - } - }, - "pageTitle": "Berty サービス", - "connectButton_one": "サービスを使用", - "connectButton_other": "選択したサービスを使用", - "privacyPolicyLabel": "プライバシーポリシー" - }, - "push": { - "message": { - "title": "新しいメッセージ" - }, - "error": { - "title": "プッシュの復号に失敗しました" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "音声メッセージを送信しました", - "bodyWithNumberOfMedia_other": "%[1] 件の音声メッセージを送信しました" - }, - "gif": { - "bodyWithNumberOfMedia_one": "Gif 画像を送信しました", - "bodyWithNumberOfMedia_other": "%[1] 件の gif 画像を送信しました" - }, - "photo": { - "bodyWithNumberOfMedia_one": "写真を送信しました", - "bodyWithNumberOfMedia_other": "%[1] 件の写真を送信しました" - }, - "media": { - "bodyWithNumberOfMedia_one": "メディアを送信しました", - "bodyWithNumberOfMedia_other": "%[1] 件のメディアを送信しました" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "%[1]v が %[2]v でメッセージに反応しました" - }, - "groupInvitation": { - "bodyWithGroupName": "%[1]v に招待されました" - }, - "unknown": { - "body": "新しいものを受信しました" - }, - "conversationNameChanged": { - "body": "会話名が更新されました。" - }, - "memberNameChanged": { - "body": "表示する名前を更新しました" - }, - "memberPictureChanged": { - "body": "プロフィール画像を更新しました" - }, - "memberDetailsChanged": { - "body": "メンバーの詳細が更新されました" - }, - "replyOptionsOffered": { - "body": "オファーされた返信オプション" - } - } -} diff --git a/localization/locales/ka-GE/localization.json b/localization/locales/ka-GE/localization.json deleted file mode 100644 index a402fee2..00000000 --- a/localization/locales/ka-GE/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/ko-KR/localization.json b/localization/locales/ko-KR/localization.json deleted file mode 100644 index 3858e026..00000000 --- a/localization/locales/ko-KR/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "성능" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "성능" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "개인정보보호정책" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/my-MM/localization.json b/localization/locales/my-MM/localization.json deleted file mode 100644 index a402fee2..00000000 --- a/localization/locales/my-MM/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/nl-NL/localization.json b/localization/locales/nl-NL/localization.json deleted file mode 100644 index ab8459d4..00000000 --- a/localization/locales/nl-NL/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "Prestaties" - }, - "psh": { - "name": "Pushmeldingen", - "description": "", - "benefitBadge": "Prestaties" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "Privacy Beleid" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "Stuurd een spraakbericht", - "bodyWithNumberOfMedia_other": "Verzonden %[1]v spraak berichten" - }, - "gif": { - "bodyWithNumberOfMedia_one": "Stuur een gif", - "bodyWithNumberOfMedia_other": "Verstuur %[1]v gifs" - }, - "photo": { - "bodyWithNumberOfMedia_one": "Stuur een foto", - "bodyWithNumberOfMedia_other": "Verstuur %[1]v foto's" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "%[1]v reageerde met %[2]v op uw bericht" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/no-NO/localization.json b/localization/locales/no-NO/localization.json deleted file mode 100644 index a0f59fda..00000000 --- a/localization/locales/no-NO/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "Ytelse" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "Ytelse" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "Retningslinjer for personvern" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/pl-PL/localization.json b/localization/locales/pl-PL/localization.json deleted file mode 100644 index 6ee26e0b..00000000 --- a/localization/locales/pl-PL/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "Wydajność" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "Wydajność" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "Polityka prywatności" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/pt-BR/localization.json b/localization/locales/pt-BR/localization.json deleted file mode 100644 index 550dac2b..00000000 --- a/localization/locales/pt-BR/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "Replicação", - "description": "Este serviço replicará suas mensagens automaticamente para fornecer melhor desempenho de rede ao seu dispositivo.", - "benefitBadge": "Desempenho" - }, - "psh": { - "name": "Notificações Push", - "description": "Este serviço permite que seu dispositivo receba notificações push para receber mensagens.", - "benefitBadge": "Desempenho" - } - }, - "pageTitle": "Serviços Berty", - "connectButton_one": "Usar serviço", - "connectButton_other": "Utilizar serviços selecionados", - "privacyPolicyLabel": "Política de privacidade" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "Falha na descriptografia do push" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "Mensagem de voz enviada", - "bodyWithNumberOfMedia_other": "Enviou %[1]mensagens de voz v" - }, - "gif": { - "bodyWithNumberOfMedia_one": "Enviou um gif", - "bodyWithNumberOfMedia_other": "Enviou %[1]v gifs" - }, - "photo": { - "bodyWithNumberOfMedia_one": "Foto enviada", - "bodyWithNumberOfMedia_other": "Enviou %[1]fotos de v" - }, - "media": { - "bodyWithNumberOfMedia_one": "Mídia enviada", - "bodyWithNumberOfMedia_other": "Enviou %[1] itens de mídia" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "%[1]v reagiu com %[2]v à sua mensagem" - }, - "groupInvitation": { - "bodyWithGroupName": "Convidou você para %[1]v" - }, - "unknown": { - "body": "Algo novo foi recebido" - }, - "conversationNameChanged": { - "body": "O nome da conversa foi atualizado" - }, - "memberNameChanged": { - "body": "Nome de exibição atualizado" - }, - "memberPictureChanged": { - "body": "Foto de perfil atualizada" - }, - "memberDetailsChanged": { - "body": "Detalhe do membro atualizado" - }, - "replyOptionsOffered": { - "body": "Opções de resposta oferecidas" - } - } -} diff --git a/localization/locales/pt-PT/localization.json b/localization/locales/pt-PT/localization.json deleted file mode 100644 index aacf4131..00000000 --- a/localization/locales/pt-PT/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "Desempenho" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "Desempenho" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "Mensagem de voz enviada", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/ro-RO/localization.json b/localization/locales/ro-RO/localization.json deleted file mode 100644 index f71cc96a..00000000 --- a/localization/locales/ro-RO/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "Performanță" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "Performanță" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "Politica de confidenţialitate" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/ru-RU/localization.json b/localization/locales/ru-RU/localization.json deleted file mode 100644 index 416bc7ca..00000000 --- a/localization/locales/ru-RU/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "Копирование", - "description": "Данная служба автоматически скопирует твои беседы, чтобы обеспечить наиболее эффективную работу устройства.", - "benefitBadge": "Скорость" - }, - "psh": { - "name": "Push-уведомления", - "description": "Эта служба позволяет твоему устройству получать push-уведомления о новых сообщениях.", - "benefitBadge": "Скорость" - } - }, - "pageTitle": "Сервисы Berty", - "connectButton_one": "Использовать сервис", - "connectButton_other": "Использовать выбранные сервисы", - "privacyPolicyLabel": "Политика конфиденциальности" - }, - "push": { - "message": { - "title": "Новое сообщение" - }, - "error": { - "title": "Ошибка Push-расшифровки" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "Голосовое сообщение отправлено", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "Gif отправлено", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "Фото отправлено", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "Медиа отправлено", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "Что-то новое было получено" - }, - "conversationNameChanged": { - "body": "Название чата было обновлено" - }, - "memberNameChanged": { - "body": "Отображаемое имя обновлено" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/sl-SI/localization.json b/localization/locales/sl-SI/localization.json deleted file mode 100644 index a402fee2..00000000 --- a/localization/locales/sl-SI/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/sr-Cyrl/localization.json b/localization/locales/sr-Cyrl/localization.json deleted file mode 100644 index e1096da9..00000000 --- a/localization/locales/sr-Cyrl/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "Перформансе" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "Перформансе" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/sv-SE/localization.json b/localization/locales/sv-SE/localization.json deleted file mode 100644 index 1012d98b..00000000 --- a/localization/locales/sv-SE/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "P2P replikering", - "description": "Tjänsten replikerar automatiskt dina konversationer för att ge din enhet den mest effektiva nätverksprestandan.", - "benefitBadge": "Prestanda" - }, - "psh": { - "name": "Push-aviseringar", - "description": "Denna tjänst gör att enheten kan ta emot push-meddelanden för inkommande meddelanden.", - "benefitBadge": "Prestanda" - } - }, - "pageTitle": "Berty-tjänster", - "connectButton_one": "Använd tjänst", - "connectButton_other": "Använd valda tjänster", - "privacyPolicyLabel": "Integritetspolicy" - }, - "push": { - "message": { - "title": "Nytt meddelande" - }, - "error": { - "title": "Push-dekryptering misslyckades" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "Skickade ett röstmeddelande", - "bodyWithNumberOfMedia_other": "Skickade %[1]v röstmeddelanden" - }, - "gif": { - "bodyWithNumberOfMedia_one": "Skickade en gif", - "bodyWithNumberOfMedia_other": "Skickade %[1]v gifs" - }, - "photo": { - "bodyWithNumberOfMedia_one": "Skickade ett foto", - "bodyWithNumberOfMedia_other": "Skickade %[1]v st foton" - }, - "media": { - "bodyWithNumberOfMedia_one": "Skickade media", - "bodyWithNumberOfMedia_other": "Skickade %[1]v media objekt" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "%[1]v reagerade med %[2]v till ditt meddelande" - }, - "groupInvitation": { - "bodyWithGroupName": "Bjöd in dig till %[1]v" - }, - "unknown": { - "body": "Något nytt har mottagits" - }, - "conversationNameChanged": { - "body": "Konversationens namn har uppdaterats" - }, - "memberNameChanged": { - "body": "Visningsnamn uppdaterat" - }, - "memberPictureChanged": { - "body": "Profilbild uppdaterad" - }, - "memberDetailsChanged": { - "body": "Medlemsdetaljer uppdaterade" - }, - "replyOptionsOffered": { - "body": "Svarsalternativ erbjuds" - } - } -} diff --git a/localization/locales/te-IN/localization.json b/localization/locales/te-IN/localization.json deleted file mode 100644 index a402fee2..00000000 --- a/localization/locales/te-IN/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/tr-TR/localization.json b/localization/locales/tr-TR/localization.json deleted file mode 100644 index bcd12e3b..00000000 --- a/localization/locales/tr-TR/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "Performans" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "Performans" - } - }, - "pageTitle": "Berty Servisleri", - "connectButton_one": "Servisi kullan", - "connectButton_other": "Seçili servisleri kullan", - "privacyPolicyLabel": "Gizlilik politikası" - }, - "push": { - "message": { - "title": "Yeni mesaj" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "Bir sesli mesaj gönderildi", - "bodyWithNumberOfMedia_other": "%[1]v adet sesli mesaj gönderildi" - }, - "gif": { - "bodyWithNumberOfMedia_one": "Bir gif gönderildi", - "bodyWithNumberOfMedia_other": "%[1]v adet gif gönderildi" - }, - "photo": { - "bodyWithNumberOfMedia_one": "Bir fotoğraf gönderildi", - "bodyWithNumberOfMedia_other": "%[1]v tane fotoğraf gönderildi" - }, - "media": { - "bodyWithNumberOfMedia_one": "Medya gönderildi", - "bodyWithNumberOfMedia_other": "%[1]v adet medya gönderildi" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "%[1]v mesajına %[2]v ile tepki verdi" - }, - "groupInvitation": { - "bodyWithGroupName": "Seni %[1]v grubuna davet etti" - }, - "unknown": { - "body": "Yeni bir şeyler geldi" - }, - "conversationNameChanged": { - "body": "Sohbet ismi güncellendi" - }, - "memberNameChanged": { - "body": "Görüntülenen isim güncellendi" - }, - "memberPictureChanged": { - "body": "Profil fotoğrafı güncellendi" - }, - "memberDetailsChanged": { - "body": "Üye detayı güncellendi" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/uk-UA/localization.json b/localization/locales/uk-UA/localization.json deleted file mode 100644 index a402fee2..00000000 --- a/localization/locales/uk-UA/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/vi-VN/localization.json b/localization/locales/vi-VN/localization.json deleted file mode 100644 index a402fee2..00000000 --- a/localization/locales/vi-VN/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "" - }, - "psh": { - "name": "", - "description": "", - "benefitBadge": "" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/locales/zh-CN/localization.json b/localization/locales/zh-CN/localization.json deleted file mode 100644 index 007e91f4..00000000 --- a/localization/locales/zh-CN/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "P2P 复制", - "description": "此服务将自动复制您的对话,为您的设备提供最高效的网络性能。", - "benefitBadge": "性能" - }, - "psh": { - "name": "推送通知", - "description": "此服务允许您的设备接收传入消息的推送通知。", - "benefitBadge": "性能" - } - }, - "pageTitle": "Berty 服务", - "connectButton_one": "使用服务", - "connectButton_other": "使用选定的服务", - "privacyPolicyLabel": "隐私策略" - }, - "push": { - "message": { - "title": "新消息" - }, - "error": { - "title": "推送解密失败" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "发送了语音消息", - "bodyWithNumberOfMedia_other": "已发送 %[1]v 语音消息" - }, - "gif": { - "bodyWithNumberOfMedia_one": "发送了 gif", - "bodyWithNumberOfMedia_other": "已发送 %[1]v gif" - }, - "photo": { - "bodyWithNumberOfMedia_one": "发送了照片", - "bodyWithNumberOfMedia_other": "已发送 %[1]v 照片" - }, - "media": { - "bodyWithNumberOfMedia_one": "发送媒体", - "bodyWithNumberOfMedia_other": "已发送 %[1]v 个媒体" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "%[1]v 与 %[2]v 回应您的消息" - }, - "groupInvitation": { - "bodyWithGroupName": "邀请您加入 '%[1]v' 群组" - }, - "unknown": { - "body": "收到了一些新消息" - }, - "conversationNameChanged": { - "body": "会话名称已更新" - }, - "memberNameChanged": { - "body": "昵称已更新" - }, - "memberPictureChanged": { - "body": "个人资料图片已更新" - }, - "memberDetailsChanged": { - "body": "会员详情已更新" - }, - "replyOptionsOffered": { - "body": "提供的回复选项" - } - } -} diff --git a/localization/locales/zh-TW/localization.json b/localization/locales/zh-TW/localization.json deleted file mode 100644 index ca5690f8..00000000 --- a/localization/locales/zh-TW/localization.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "auth": { - "services": { - "rpl": { - "name": "", - "description": "", - "benefitBadge": "性能" - }, - "psh": { - "name": "推送通知", - "description": "", - "benefitBadge": "性能" - } - }, - "pageTitle": "", - "connectButton_one": "", - "connectButton_other": "", - "privacyPolicyLabel": "隱私策略" - }, - "push": { - "message": { - "title": "" - }, - "error": { - "title": "" - }, - "voiceMessage": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "gif": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "photo": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "media": { - "bodyWithNumberOfMedia_one": "", - "bodyWithNumberOfMedia_other": "" - }, - "reaction": { - "bodyWithDisplayNameAndEmoji": "" - }, - "groupInvitation": { - "bodyWithGroupName": "" - }, - "unknown": { - "body": "" - }, - "conversationNameChanged": { - "body": "" - }, - "memberNameChanged": { - "body": "" - }, - "memberPictureChanged": { - "body": "" - }, - "memberDetailsChanged": { - "body": "" - }, - "replyOptionsOffered": { - "body": "" - } - } -} diff --git a/localization/localization.go b/localization/localization.go deleted file mode 100644 index 37e6dc7b..00000000 --- a/localization/localization.go +++ /dev/null @@ -1,50 +0,0 @@ -package localization - -import ( - "embed" - "fmt" - "sync" - - "golang.org/x/text/language" - - "berty.tech/weshnet/internal/i18n" -) - -//go:embed locales -var locales embed.FS - -var defaultlang = language.MustParse("en-US") - -var ( - muCatalog sync.Mutex - catalog *i18n.Catalog -) - -func loadCatalog() (*i18n.Catalog, error) { - if catalog != nil { - return catalog, nil - } - - cat := i18n.NewCatalog(defaultlang) - if err := cat.Populate(locales); err != nil { - return nil, fmt.Errorf("unable to populate catalog: %w", err) - } - - return cat, nil -} - -func Catalog() *i18n.Catalog { - muCatalog.Lock() - defer muCatalog.Unlock() - - if catalog != nil { - return catalog - } - - cat, err := loadCatalog() - if err != nil { - panic(err) - } - - return cat -} diff --git a/localization/localization_test.go b/localization/localization_test.go deleted file mode 100644 index e2ddd0fe..00000000 --- a/localization/localization_test.go +++ /dev/null @@ -1,12 +0,0 @@ -package localization - -import ( - "testing" - - "github.com/stretchr/testify/require" -) - -func TestLoadCatalog(t *testing.T) { - _, err := loadCatalog() - require.NoError(t, err) -} diff --git a/pkg/authtypes/consts.go b/pkg/authtypes/consts.go deleted file mode 100644 index a398b661..00000000 --- a/pkg/authtypes/consts.go +++ /dev/null @@ -1,20 +0,0 @@ -package authtypes - -type ContextAuthValue uint32 - -const ( - AuthResponseType = "code" - AuthGrantType = "authorization_code" - AuthRedirect = "berty://services-auth/" - AuthClientID = "berty" - AuthCodeChallengeMethod = "S256" - - ServiceReplicationID = "rpl" - ServicePushID = "psh" - - ContextTokenHashField ContextAuthValue = iota - ContextTokenIssuerField - - AuthHTTPPathTokenExchange = "/oauth/token" // nolint:gosec - AuthHTTPPathAuthorize = "/authorize" -) diff --git a/pkg/bertyauth/auth_session.go b/pkg/bertyauth/auth_session.go deleted file mode 100644 index 119ec63e..00000000 --- a/pkg/bertyauth/auth_session.go +++ /dev/null @@ -1,51 +0,0 @@ -package bertyauth - -import ( - "crypto/sha256" - "encoding/base64" - - "berty.tech/weshnet/pkg/cryptoutil" -) - -type AuthSession struct { - State string - CodeVerifier string // CodeVerifier base64 encoded random value - BaseURL string -} - -func AuthSessionCodeChallenge(codeVerifier string) string { - codeChallenge := sha256.Sum256([]byte(codeVerifier)) - - return base64.RawURLEncoding.EncodeToString(codeChallenge[:]) -} - -func AuthSessionCodeVerifierAndChallenge() (string, string, error) { - verifierArr, err := cryptoutil.GenerateNonce() - if err != nil { - return "", "", err - } - - verifier := base64.RawURLEncoding.EncodeToString(verifierArr[:]) - - return verifier, AuthSessionCodeChallenge(verifier), nil -} - -func NewAuthSession(baseURL string) (*AuthSession, string, error) { - state, err := cryptoutil.GenerateNonce() - if err != nil { - return nil, "", err - } - - verifier, challenge, err := AuthSessionCodeVerifierAndChallenge() - if err != nil { - return nil, "", err - } - - auth := &AuthSession{ - BaseURL: baseURL, - State: base64.RawURLEncoding.EncodeToString(state[:]), - CodeVerifier: verifier, - } - - return auth, challenge, nil -} diff --git a/pkg/bertyauth/services_auth.go b/pkg/bertyauth/services_auth.go deleted file mode 100644 index 8f0f92f4..00000000 --- a/pkg/bertyauth/services_auth.go +++ /dev/null @@ -1,246 +0,0 @@ -package bertyauth - -import ( - "context" - stdcrypto "crypto" - "crypto/ed25519" - "encoding/base64" - "fmt" - - "github.com/gofrs/uuid" - grpc_auth "github.com/grpc-ecosystem/go-grpc-middleware/auth" - "golang.org/x/crypto/nacl/secretbox" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - "gopkg.in/square/go-jose.v2" - - "berty.tech/weshnet/pkg/authtypes" - "berty.tech/weshnet/pkg/cryptoutil" - "berty.tech/weshnet/pkg/errcode" - "berty.tech/weshnet/pkg/protocoltypes" -) - -type AuthTokenVerifier struct { - secret *[32]byte - pk stdcrypto.PublicKey - issuerID string -} - -type AuthTokenIssuer struct { - *AuthTokenVerifier - signer jose.Signer -} - -func NewAuthTokenVerifier(secret []byte, pk ed25519.PublicKey) (*AuthTokenVerifier, error) { - if pk == nil { - return nil, errcode.ErrInvalidInput.Wrap(fmt.Errorf("pk is nil")) - } - - secretArr, err := cryptoutil.KeySliceToArray(secret) - if err != nil { - return nil, errcode.ErrInvalidInput.Wrap(err) - } - - return &AuthTokenVerifier{ - secret: secretArr, - pk: pk, - issuerID: base64.StdEncoding.EncodeToString(pk), - }, nil -} - -func NewAuthTokenIssuer(secret []byte, sk ed25519.PrivateKey) (*AuthTokenIssuer, error) { - if sk == nil { - return nil, errcode.ErrInvalidInput.Wrap(fmt.Errorf("sk is nil")) - } - - tokVerifier, err := NewAuthTokenVerifier(secret, sk.Public().(ed25519.PublicKey)) - if err != nil { - return nil, err - } - - signer, err := jose.NewSigner(jose.SigningKey{ - Algorithm: jose.EdDSA, - Key: sk, - }, &jose.SignerOptions{}) - if err != nil { - return nil, err - } - - return &AuthTokenIssuer{ - AuthTokenVerifier: tokVerifier, - signer: signer, - }, nil -} - -func (r *AuthTokenIssuer) encryptSign(payload []byte) (string, error) { - nonce, err := cryptoutil.GenerateNonce() - if err != nil { - return "", err - } - - encrypted := secretbox.Seal(nil, payload, nonce, r.secret) - - jws, err := r.signer.Sign(append(nonce[:], encrypted...)) - if err != nil { - return "", err - } - - tok, err := jws.CompactSerialize() - if err != nil { - return "", err - } - - return tok, nil -} - -func (r *AuthTokenIssuer) IssueCode(codeChallenge string, services []string) (string, error) { - if len(services) == 0 { - return "", errcode.ErrInvalidInput.Wrap(fmt.Errorf("no services specified")) - } - - if len(codeChallenge) == 0 { - return "", errcode.ErrInvalidInput.Wrap(fmt.Errorf("no codeChallenge specified")) - } - - codePayload := &protocoltypes.ServicesTokenCode{ - Services: services, - CodeChallenge: codeChallenge, - } - - payload, err := codePayload.Marshal() - if err != nil { - return "", err - } - - return r.encryptSign(payload) -} - -func (r *AuthTokenVerifier) decryptVerify(token string) ([]byte, error) { - parsed, err := jose.ParseSigned(token) - if err != nil { - return nil, err - } - - data, err := parsed.Verify(r.pk) - if err != nil { - return nil, err - } - - if len(data) < secretbox.Overhead+cryptoutil.NonceSize { - return nil, errcode.ErrCryptoDecrypt - } - - nonce := [cryptoutil.NonceSize]byte{} - for i := 0; i < cryptoutil.NonceSize; i++ { - nonce[i] = data[i] - } - - decrypted, ok := secretbox.Open(nil, data[cryptoutil.NonceSize:], &nonce, r.secret) - if !ok { - return nil, errcode.ErrCryptoDecrypt - } - - return decrypted, nil -} - -func (r *AuthTokenVerifier) VerifyCode(code, codeVerifier string) (*protocoltypes.ServicesTokenCode, error) { - decrypted, err := r.decryptVerify(code) - if err != nil { - return nil, err - } - - codeObj := &protocoltypes.ServicesTokenCode{} - if err := codeObj.Unmarshal(decrypted); err != nil { - return nil, err - } - - if AuthSessionCodeChallenge(codeVerifier) != codeObj.CodeChallenge { - return nil, errcode.ErrServicesAuthCodeChallenge - } - - return codeObj, nil -} - -func (r *AuthTokenIssuer) IssueToken(services []string) (string, error) { - tokenID, err := uuid.NewV4() - if err != nil { - return "", errcode.ErrInternal.Wrap(err) - } - - if len(services) == 0 { - return "", errcode.ErrInvalidInput.Wrap(fmt.Errorf("no services specified")) - } - - tokenPayload := &protocoltypes.ServicesTokenCode{ - Services: services, - TokenID: tokenID.String(), - } - - payload, err := tokenPayload.Marshal() - if err != nil { - return "", err - } - - return r.encryptSign(payload) -} - -func (r *AuthTokenVerifier) VerifyToken(token, serviceID string) (*protocoltypes.ServicesTokenCode, error) { - decrypted, err := r.decryptVerify(token) - if err != nil { - return nil, err - } - - tokenObj := &protocoltypes.ServicesTokenCode{} - if err := tokenObj.Unmarshal(decrypted); err != nil { - return nil, err - } - - if tokenObj.TokenID == "" || tokenObj.CodeChallenge != "" { - return nil, errcode.ErrServicesAuthServiceInvalidToken - } - - for _, s := range tokenObj.Services { - if s == serviceID { - return tokenObj, nil - } - } - - return nil, errcode.ErrServicesAuthServiceNotSupported -} - -func (r *AuthTokenVerifier) GRPCAuthInterceptor(serviceID string) func(ctx context.Context) (context.Context, error) { - return func(ctx context.Context) (context.Context, error) { - token, err := grpc_auth.AuthFromMD(ctx, "bearer") - if err != nil { - return nil, err - } - - tokenData, err := r.VerifyToken(token, serviceID) - if err != nil { - return nil, status.Errorf(codes.PermissionDenied, err.Error()) - } - - ctx = context.WithValue(ctx, authtypes.ContextTokenHashField, tokenData.TokenID) - ctx = context.WithValue(ctx, authtypes.ContextTokenIssuerField, r.issuerID) - - return ctx, nil - } -} - -func GetAuthTokenVerifier(secret, pk string) (*AuthTokenVerifier, error) { - rawSecret, err := base64.RawStdEncoding.DecodeString(secret) - if err != nil { - return nil, err - } - - rawPK, err := base64.RawStdEncoding.DecodeString(pk) - if err != nil { - return nil, err - } - - if len(rawPK) != ed25519.PublicKeySize { - return nil, fmt.Errorf("empty or invalid pk size") - } - - return NewAuthTokenVerifier(rawSecret, rawPK) -} diff --git a/pkg/bertyauth/services_auth_server.go b/pkg/bertyauth/services_auth_server.go deleted file mode 100644 index 3fbf9b4f..00000000 --- a/pkg/bertyauth/services_auth_server.go +++ /dev/null @@ -1,342 +0,0 @@ -package bertyauth - -import ( - "crypto/ed25519" - "encoding/json" - "fmt" - "html/template" - "net/http" - "net/url" - "strings" - - "go.uber.org/zap" - "golang.org/x/text/language" - "golang.org/x/text/message" - - "berty.tech/weshnet/internal/i18n" - "berty.tech/weshnet/localization" - "berty.tech/weshnet/pkg/authtypes" - "berty.tech/weshnet/pkg/errcode" -) - -type AuthTokenServer struct { - issuer *AuthTokenIssuer - services map[string]string - logger *zap.Logger - noClick bool - defaultScope []string - knownServices map[string]struct{} - authPageTemplate *template.Template - i18n *i18n.Catalog - privacyPolicyURL string -} - -type AuthTokenOptions struct { - NoClick bool - Logger *zap.Logger - PrivacyPolicyURL string -} - -func NewAuthTokenServer(secret []byte, sk ed25519.PrivateKey, services map[string]string, opts *AuthTokenOptions) (*AuthTokenServer, error) { - if opts == nil { - opts = &AuthTokenOptions{} - } - - if opts.Logger == nil { - opts.Logger = zap.NewNop() - } - - if len(services) == 0 { - return nil, errcode.ErrInvalidInput.Wrap(fmt.Errorf("missing services list")) - } - - issuer, err := NewAuthTokenIssuer(secret, sk) - if err != nil { - return nil, err - } - - var defaultScope []string - knownServices := map[string]struct{}{} - for service := range services { - defaultScope = append(defaultScope, service) - knownServices[service] = struct{}{} - } - - authPageTemplate, err := template.New("authPageTemplate").Parse(templateAuthTokenServerAuthorizeButton) - if err != nil { - return nil, err - } - - return &AuthTokenServer{ - issuer: issuer, - services: services, - logger: opts.Logger, - noClick: opts.NoClick, - defaultScope: defaultScope, - knownServices: knownServices, - authPageTemplate: authPageTemplate, - i18n: localization.Catalog(), - privacyPolicyURL: opts.PrivacyPolicyURL, - }, nil -} - -func (a *AuthTokenServer) serveMux() *http.ServeMux { - mux := http.NewServeMux() - mux.HandleFunc(authtypes.AuthHTTPPathTokenExchange, a.authTokenServerHTTPOAuthToken) - mux.HandleFunc(authtypes.AuthHTTPPathAuthorize, a.authTokenServerHTTPAuthorize) - - return mux -} - -func (a *AuthTokenServer) ServeHTTP(w http.ResponseWriter, r *http.Request) { - a.serveMux().ServeHTTP(w, r) -} - -func (a *AuthTokenServer) authTokenServerRedirectError(w http.ResponseWriter, redirectURI, errorDescription string, logger *zap.Logger) { - u := fmt.Sprintf("%s?error=invalid_request&error_description=%s", redirectURI, url.QueryEscape(errorDescription)) - a.authTokenServerRedirect(w, u, logger) -} - -func (a *AuthTokenServer) authTokenServerJSONError(w http.ResponseWriter, errorCode, errorDescription string, logger *zap.Logger) { - a.authTokenServerJSONResponse(w, map[string]string{ - "error": errorCode, - "error_description": errorDescription, - }, 400, logger) -} - -func (a *AuthTokenServer) authTokenServerJSONResponse(w http.ResponseWriter, jsonData interface{}, httpCode int, logger *zap.Logger) { - data, err := json.Marshal(jsonData) - if err != nil { - logger.Error("unable to marshal JSON response", zap.Error(err)) - w.WriteHeader(500) - return - } - - w.Header().Add("content-type", "application/json") - w.WriteHeader(httpCode) - - if _, err := fmt.Fprint(w, string(data)); err != nil { - logger.Error("unable to write response", zap.Error(err)) - } -} - -func (a *AuthTokenServer) authTokenServerRedirect(w http.ResponseWriter, url string, logger *zap.Logger) { - w.Header().Add("x-auth-redirect", url) - w.WriteHeader(200) - - if err := templateAuthTokenServerRedirect.Execute(w, struct { - URL template.URL - }{ - URL: template.URL(url), // nolint:gosec - }); err != nil { - logger.Error("unable to write redirect response", zap.Error(err)) - w.WriteHeader(500) - } -} - -func (a *AuthTokenServer) filterKnownServices(userServices []string) []string { - outServices := []string(nil) - - for _, service := range userServices { - if _, ok := a.knownServices[service]; ok { - outServices = append(outServices, service) - } - } - return outServices -} - -func (a *AuthTokenServer) authTokenServerHTTPAuthorize(w http.ResponseWriter, r *http.Request) { - redirectURI := r.URL.Query().Get("redirect_uri") - state := r.URL.Query().Get("state") - codeChallenge := r.URL.Query().Get("code_challenge") - scopeStr := r.URL.Query().Get("scope") - var scope []string - - if r.URL.Query().Get("redirect_uri") != authtypes.AuthRedirect { - w.WriteHeader(400) - reply, err := json.Marshal(map[string]interface{}{ - "error": "unexpected value for redirect_uri", - }) - - if err == nil { - _, err = w.Write(reply) - if err != nil { - a.logger.Error("unable to write on stream", zap.Error(err)) - } - return - } - - return - } - - for _, vs := range [][2]string{ - {"response_type", authtypes.AuthResponseType}, - {"client_id", authtypes.AuthClientID}, - {"code_challenge_method", authtypes.AuthCodeChallengeMethod}, - } { - if got := r.URL.Query().Get(vs[0]); got != vs[1] { - a.authTokenServerRedirectError(w, redirectURI, fmt.Sprintf("unexpected value for %s", vs[0]), a.logger) - return - } - } - - if state == "" { - a.authTokenServerRedirectError(w, redirectURI, "unexpected value for state", a.logger) - return - } - - if codeChallenge == "" { - a.authTokenServerRedirectError(w, redirectURI, "unexpected value for code_challenge", a.logger) - return - } - - if scopeStr == "" { - scope = a.defaultScope - } else { - scope = a.filterKnownServices(strings.Split(scopeStr, ",")) - } - - if len(scope) == 0 { - a.authTokenServerRedirectError(w, redirectURI, "no services matching requested scope", a.logger) - return - } - - if r.Method == "POST" || a.noClick { - selectedScope := []string(nil) - if a.noClick { - selectedScope = scope - } else { - for _, key := range scope { - if r.PostFormValue(fmt.Sprintf("%s_selected", key)) == "1" { - selectedScope = append(selectedScope, key) - } - } - } - - if len(selectedScope) == 0 { - a.authTokenServerRedirectError(w, redirectURI, "no services matching selected scope", a.logger) - return - } - - // TODO: csrf - code, err := a.issuer.IssueCode(codeChallenge, selectedScope) - if err != nil { - a.logger.Error("unable to generate token", zap.Error(err)) - w.WriteHeader(500) - return - } - - u := fmt.Sprintf("%s?code=%s&state=%s", redirectURI, code, state) - a.authTokenServerRedirect(w, u, a.logger) - return - } - - var ( - i18nPrinter *message.Printer - htmlLang = "en-US" - ) - - tags, _, err := language.ParseAcceptLanguage(r.Header.Get("Accept-Language")) - if err != nil || len(tags) == 0 { - a.logger.Info("unable to parse language", zap.Error(err)) - i18nPrinter = a.i18n.NewPrinter() - } else { - i18nPrinter = a.i18n.NewPrinter(tags...) - - preferred, _, _ := a.i18n.Builder.Matcher().Match(tags...) - htmlLang = preferred.String() - } - - err = a.authPageTemplate.Execute(w, &map[string]interface{}{ - "HTMLLang": htmlLang, - "PageTitle": i18nPrinter.Sprintf("auth.pageTitle"), - "Services": formatServiceDescription(scope, i18nPrinter), - "ConnectButton": i18nPrinter.Sprintf("auth.connectButton", len(scope)), - "PrivacyPolicyURL": a.privacyPolicyURL, - "PrivacyPolicyURLLabel": i18nPrinter.Sprintf("auth.privacyPolicyLabel"), - }) - - if err != nil { - a.logger.Error("unable to execute template", zap.Error(err)) - } -} - -func formatServiceDescription(services []string, i18nPrinter *message.Printer) map[string]map[string]string { - ret := map[string]map[string]string{} - - for _, service := range services { - ret[service] = map[string]string{ - "name": i18nPrinter.Sprintf(fmt.Sprintf("auth.services.%s.name", service)), - "benefitBadge": i18nPrinter.Sprintf(fmt.Sprintf("auth.services.%s.benefitBadge", service)), - "description": i18nPrinter.Sprintf(fmt.Sprintf("auth.services.%s.description", service)), - } - } - - return ret -} - -func (a *AuthTokenServer) authTokenServerHTTPOAuthToken(w http.ResponseWriter, r *http.Request) { - if err := r.ParseForm(); err != nil { - w.WriteHeader(400) - return - } - - if got := r.Form.Get("grant_type"); authtypes.AuthGrantType != got { - a.authTokenServerJSONError(w, "invalid_request", fmt.Sprintf("expected %s, got %s for %s", authtypes.AuthGrantType, got, "grant_type"), a.logger) - return - } - - codeData, err := a.issuer.VerifyCode(r.Form.Get("code"), r.Form.Get("code_verifier")) - if err != nil { - a.authTokenServerJSONError(w, "invalid_request", "invalid value for code", a.logger) - return - } - - token, err := a.issuer.IssueToken(codeData.Services) - if err != nil { - a.authTokenServerJSONError(w, "server_error", "unable to issue token", a.logger) - return - } - - allowedServices := map[string]string{} - for _, svc := range codeData.Services { - allowedServices[svc] = a.services[svc] - } - - a.authTokenServerJSONResponse(w, map[string]interface{}{ - "access_token": token, - "token_type": "bearer", - "scope": strings.Join(codeData.Services, ","), - "services": allowedServices, - }, 200, a.logger) -} - -func (a *AuthTokenServer) IssueRandomTokenForServices() (string, error) { - return IssueRandomToken(a.issuer, a.services) -} - -func IssueRandomToken(issuer *AuthTokenIssuer, services map[string]string) (string, error) { - servicesKeys := []string(nil) - for key := range services { - servicesKeys = append(servicesKeys, key) - } - - token, err := issuer.IssueToken(servicesKeys) - if err != nil { - return "", err - } - - data := map[string]interface{}{ - "access_token": token, - "token_type": "bearer", - "scope": strings.Join(servicesKeys, ","), - "services": services, - } - - jsoned, err := json.Marshal(data) - if err != nil { - return "", err - } - - return string(jsoned), nil -} diff --git a/pkg/bertyauth/services_auth_server_test.go b/pkg/bertyauth/services_auth_server_test.go deleted file mode 100644 index 8a14c48c..00000000 --- a/pkg/bertyauth/services_auth_server_test.go +++ /dev/null @@ -1,209 +0,0 @@ -package bertyauth - -import ( - "bytes" - "html/template" - "io" - "net/http" - "net/http/httptest" - "net/url" - "testing" - - "github.com/stretchr/testify/require" - - "berty.tech/weshnet/pkg/authtypes" -) - -func mustReadAllBytes(t *testing.T, reader io.ReadCloser) []byte { - data, err := io.ReadAll(reader) - _ = reader.Close() - require.NoError(t, err) - - return data -} - -func patchClient(client *http.Client) *http.Client { - client.CheckRedirect = func(req *http.Request, via []*http.Request) error { - return http.ErrUseLastResponse - } - - return client -} - -func TestNewAuthTokenServer(t *testing.T) { - services := map[string]string{ - "rpl": "servicehost:1234", - "psh": "servicehost:1234", - } - secret, _, sk := HelperGenerateTokenIssuerSecrets(t) - - ats, err := NewAuthTokenServer(secret, nil, services, nil) - require.Error(t, err) - require.Nil(t, ats) - - ats, err = NewAuthTokenServer(secret, sk, nil, nil) - require.Error(t, err) - require.Nil(t, ats) - - ats, err = NewAuthTokenServer(secret, sk, map[string]string{}, nil) - require.Error(t, err) - require.Nil(t, ats) - - ats, err = NewAuthTokenServer(nil, sk, services, nil) - require.Error(t, err) - require.Nil(t, ats) - - ats, err = NewAuthTokenServer(secret, sk, services, nil) - require.NoError(t, err) - require.NotNil(t, ats) - - ats, err = NewAuthTokenServer(secret, sk, services, nil) - require.NoError(t, err) - require.NotNil(t, ats) - - mux := ats.serveMux() - server := httptest.NewServer(mux) - - patchClient(server.Client()) - - defer server.Close() - - res, err := patchClient(server.Client()).Get(server.URL) - require.NoError(t, err) - require.Equal(t, 404, res.StatusCode) - - authorizeURL, err := url.Parse(server.URL) - require.NoError(t, err) - - authorizeURL.Path = authtypes.AuthHTTPPathAuthorize - - res, err = server.Client().Get(authorizeURL.String()) - require.NoError(t, err) - require.Equal(t, 400, res.StatusCode) - require.Equal(t, `{"error":"unexpected value for redirect_uri"}`, string(mustReadAllBytes(t, res.Body))) - - responseRedirectURI, err := url.Parse(authtypes.AuthRedirect) - require.NoError(t, err) - setURLParam(responseRedirectURI, "error", "invalid_request") - setURLParam(responseRedirectURI, "error_description", "unexpected value for response_type") - - setURLParam(authorizeURL, "redirect_uri", authtypes.AuthRedirect) - - testAuthorizeQueryURLAndCompareResponse(t, server, authorizeURL, responseRedirectURI) - - setURLParam(authorizeURL, "response_type", authtypes.AuthResponseType) - setURLParam(responseRedirectURI, "error_description", "unexpected value for client_id") - - testAuthorizeQueryURLAndCompareResponse(t, server, authorizeURL, responseRedirectURI) - - setURLParam(authorizeURL, "client_id", authtypes.AuthClientID) - setURLParam(responseRedirectURI, "error_description", "unexpected value for code_challenge_method") - - testAuthorizeQueryURLAndCompareResponse(t, server, authorizeURL, responseRedirectURI) - - setURLParam(authorizeURL, "code_challenge_method", authtypes.AuthCodeChallengeMethod) - setURLParam(responseRedirectURI, "error_description", "unexpected value for state") - - testAuthorizeQueryURLAndCompareResponse(t, server, authorizeURL, responseRedirectURI) - - setURLParam(authorizeURL, "state", "some_state") - setURLParam(responseRedirectURI, "error_description", "unexpected value for code_challenge") - - testAuthorizeQueryURLAndCompareResponse(t, server, authorizeURL, responseRedirectURI) - - setURLParam(authorizeURL, "code_challenge", "some_code_challenge") - setURLParam(responseRedirectURI, "error_description", "unexpected value for code_challenge") - - res, err = server.Client().Get(authorizeURL.String()) - require.NoError(t, err) - require.Equal(t, 200, res.StatusCode) - body := string(mustReadAllBytes(t, res.Body)) - require.Contains(t, body, "psh_selected") - require.Contains(t, body, "rpl_selected") - - res, err = server.Client().PostForm(authorizeURL.String(), url.Values{ - "psh_selected": {"1"}, - "rpl_selected": {"1"}, - }) - require.NoError(t, err) - require.Equal(t, 200, res.StatusCode) - require.Contains(t, string(mustReadAllBytes(t, res.Body)), "?code=eyJ") -} - -func TestNewAuthTokenServerNoClick(t *testing.T) { - services := map[string]string{ - "rpl": "servicehost:1234", - "psh": "servicehost:1234", - } - secret, _, sk := HelperGenerateTokenIssuerSecrets(t) - - ats, err := NewAuthTokenServer(secret, sk, services, &AuthTokenOptions{ - NoClick: true, - }) - require.NoError(t, err) - require.NotNil(t, ats) - - mux := ats.serveMux() - server := httptest.NewServer(mux) - - patchClient(server.Client()) - - defer server.Close() - - authorizeURL, err := url.Parse(server.URL) - require.NoError(t, err) - - authorizeURL.Path = authtypes.AuthHTTPPathAuthorize - - setURLParam(authorizeURL, "redirect_uri", authtypes.AuthRedirect) - setURLParam(authorizeURL, "response_type", authtypes.AuthResponseType) - setURLParam(authorizeURL, "client_id", authtypes.AuthClientID) - setURLParam(authorizeURL, "code_challenge_method", authtypes.AuthCodeChallengeMethod) - setURLParam(authorizeURL, "state", "some_state") - setURLParam(authorizeURL, "code_challenge", "some_code_challenge") - - res, err := server.Client().Get(authorizeURL.String()) - require.NoError(t, err) - require.Equal(t, 200, res.StatusCode) - require.Contains(t, string(mustReadAllBytes(t, res.Body)), "?code=eyJ") - require.Contains(t, res.Header.Get("x-auth-redirect"), "?code=eyJ") -} - -func testAuthorizeQueryURLAndCompareResponse(t *testing.T, server *httptest.Server, queryURL *url.URL, redirectURL *url.URL) { - testAuthorizeGetQueryURLAndCompareResponse(t, server, queryURL, redirectURL) - testAuthorizePostQueryURLAndCompareResponse(t, server, queryURL, redirectURL) -} - -func testAuthorizeGetQueryURLAndCompareResponse(t *testing.T, server *httptest.Server, queryURL *url.URL, redirectURL *url.URL) { - res, err := server.Client().Get(queryURL.String()) - require.NoError(t, err) - require.Equal(t, 200, res.StatusCode) - require.Equal(t, string(templateMustExec(t, templateAuthTokenServerRedirect, map[string]template.URL{ - "URL": template.URL(redirectURL.String()), - })), string(mustReadAllBytes(t, res.Body))) - require.Equal(t, redirectURL.String(), res.Header.Get("x-auth-redirect")) -} - -func testAuthorizePostQueryURLAndCompareResponse(t *testing.T, server *httptest.Server, queryURL *url.URL, redirectURL *url.URL) { - res, err := server.Client().Post(queryURL.String(), "multipart/form-data", bytes.NewBuffer([]byte(""))) - require.NoError(t, err) - require.Equal(t, 200, res.StatusCode) - require.Equal(t, string(templateMustExec(t, templateAuthTokenServerRedirect, map[string]template.URL{ - "URL": template.URL(redirectURL.String()), - })), string(mustReadAllBytes(t, res.Body))) - require.Equal(t, redirectURL.String(), res.Header.Get("x-auth-redirect")) -} - -func templateMustExec(t *testing.T, tpl *template.Template, args interface{}) []byte { - b := bytes.NewBuffer(nil) - err := tpl.Execute(b, args) - require.NoError(t, err) - - return b.Bytes() -} - -func setURLParam(u *url.URL, k, v string) { - q := u.Query() - q.Set(k, v) - u.RawQuery = q.Encode() -} diff --git a/pkg/bertyauth/services_auth_templates.go b/pkg/bertyauth/services_auth_templates.go deleted file mode 100644 index c8cc56c8..00000000 --- a/pkg/bertyauth/services_auth_templates.go +++ /dev/null @@ -1,14 +0,0 @@ -package bertyauth - -import ( - _ "embed" - "html/template" -) - -//go:embed templates/redirect.html.tmpl -var templateAuthTokenServerRedirectStr string - -//go:embed templates/authorize.html.tmpl -var templateAuthTokenServerAuthorizeButton string - -var templateAuthTokenServerRedirect = template.Must(template.New("redirect").Parse(templateAuthTokenServerRedirectStr)) diff --git a/pkg/bertyauth/services_auth_test.go b/pkg/bertyauth/services_auth_test.go deleted file mode 100644 index 78ceabab..00000000 --- a/pkg/bertyauth/services_auth_test.go +++ /dev/null @@ -1,190 +0,0 @@ -package bertyauth - -import ( - "testing" - - "github.com/stretchr/testify/require" -) - -func TestNewAuthTokenVerifier(t *testing.T) { - secret, pk, _ := HelperGenerateTokenIssuerSecrets(t) - verifier, err := NewAuthTokenVerifier(secret, pk) - - require.NoError(t, err) - require.NotNil(t, verifier) - - verifier, err = NewAuthTokenVerifier(secret, nil) - - require.Error(t, err) - require.Nil(t, verifier) - - secret = []byte{1, 2, 3} - verifier, err = NewAuthTokenVerifier(secret, pk) - - require.Error(t, err) - require.Nil(t, verifier) -} - -func TestNewAuthTokenIssuer(t *testing.T) { - secret, _, sk := HelperGenerateTokenIssuerSecrets(t) - issuer, err := NewAuthTokenIssuer(secret, sk) - - require.NoError(t, err) - require.NotNil(t, issuer) - - issuer, err = NewAuthTokenIssuer(secret, nil) - require.Error(t, err) - require.Nil(t, issuer) - - issuer, err = NewAuthTokenIssuer(nil, sk) - require.Error(t, err) - require.Nil(t, issuer) - - secret = []byte{1, 2, 3} - issuer, err = NewAuthTokenIssuer(secret, sk) - require.Error(t, err) - require.Nil(t, issuer) -} - -func TestIssueCode(t *testing.T) { - _, challenge, err := AuthSessionCodeVerifierAndChallenge() - require.NoError(t, err) - - secret, _, sk := HelperGenerateTokenIssuerSecrets(t) - issuer, err := NewAuthTokenIssuer(secret, sk) - - require.NoError(t, err) - require.NotNil(t, issuer) - - code, err := issuer.IssueCode(challenge, []string{}) - require.Error(t, err) - require.Empty(t, code) - - code, err = issuer.IssueCode(challenge, nil) - require.Error(t, err) - require.Empty(t, code) - - code, err = issuer.IssueCode("", []string{"service"}) - require.Error(t, err) - require.Empty(t, code) - - code, err = issuer.IssueCode(challenge, []string{"service"}) - require.NoError(t, err) - require.NotEmpty(t, code) - - code2, err := issuer.IssueCode(challenge, []string{"service"}) - require.NoError(t, err) - require.NotEmpty(t, code) - - require.NotEqual(t, code, code2) -} - -func TestAuthSessionCodeChallenge(t *testing.T) { - require.Equal(t, AuthSessionCodeChallenge("verifier"), "iMnq5o6zALKXGivsnlom_0F5_WYda32GHkxlV7mq7hQ") -} - -func TestVerifyCode(t *testing.T) { - services := []string{"service"} - - verifier, challenge, err := AuthSessionCodeVerifierAndChallenge() - require.NoError(t, err) - - _, otherChallenge, err := AuthSessionCodeVerifierAndChallenge() - require.NoError(t, err) - - secret, _, sk := HelperGenerateTokenIssuerSecrets(t) - issuer, err := NewAuthTokenIssuer(secret, sk) - - require.NoError(t, err) - require.NotNil(t, issuer) - - code, err := issuer.IssueCode(challenge, services) - require.NoError(t, err) - require.NotEmpty(t, code) - - otherCode, err := issuer.IssueCode(otherChallenge, services) - require.NoError(t, err) - require.NotEmpty(t, code) - - tokenCode, err := issuer.VerifyCode(code, verifier) - require.NoError(t, err) - require.NotEmpty(t, tokenCode) - require.Equal(t, services, tokenCode.Services) - require.Equal(t, challenge, tokenCode.CodeChallenge) - - tokenCode, err = issuer.VerifyCode(code, "rubbish") - require.Error(t, err) - require.Empty(t, tokenCode) - - tokenCode, err = issuer.VerifyCode("rubbish", verifier) - require.Error(t, err) - require.Empty(t, tokenCode) - - tokenCode, err = issuer.VerifyCode(otherCode, verifier) - require.Error(t, err) - require.Empty(t, tokenCode) -} - -func TestIssueToken(t *testing.T) { - services := []string{"service"} - - secret, _, sk := HelperGenerateTokenIssuerSecrets(t) - issuer, err := NewAuthTokenIssuer(secret, sk) - require.NoError(t, err) - require.NotNil(t, issuer) - - token, err := issuer.IssueToken(services) - require.NoError(t, err) - require.NotEmpty(t, token) - - token2, err := issuer.IssueToken(services) - require.NoError(t, err) - require.NotEmpty(t, token) - require.NotEqual(t, token, token2) - - token, err = issuer.IssueToken(nil) - require.Error(t, err) - require.Empty(t, token) - - token, err = issuer.IssueToken([]string{}) - require.Error(t, err) - require.Empty(t, token) -} - -func TestVerifyToken(t *testing.T) { - services := []string{"service"} - - secret, _, sk := HelperGenerateTokenIssuerSecrets(t) - issuer, err := NewAuthTokenIssuer(secret, sk) - require.NoError(t, err) - require.NotNil(t, issuer) - - secret2, _, sk2 := HelperGenerateTokenIssuerSecrets(t) - issuer2, err := NewAuthTokenIssuer(secret2, sk2) - require.NoError(t, err) - require.NotNil(t, issuer2) - - token, err := issuer.IssueToken(services) - require.NoError(t, err) - require.NotEmpty(t, token) - - tokenCode, err := issuer.VerifyToken(token, "service") - require.NoError(t, err) - require.NotEmpty(t, tokenCode) - - tokenCode, err = issuer.VerifyToken(token, "service2") - require.Error(t, err) - require.Empty(t, tokenCode) - - tokenCode, err = issuer2.VerifyToken(token, "service") - require.Error(t, err) - require.Empty(t, tokenCode) - - tokenCode, err = issuer.VerifyToken(token, "") - require.Error(t, err) - require.Empty(t, tokenCode) - - tokenCode, err = issuer.VerifyToken("", "service") - require.Error(t, err) - require.Empty(t, tokenCode) -} diff --git a/pkg/bertyauth/templates/authorize.html.tmpl b/pkg/bertyauth/templates/authorize.html.tmpl deleted file mode 100644 index 961903d2..00000000 --- a/pkg/bertyauth/templates/authorize.html.tmpl +++ /dev/null @@ -1,118 +0,0 @@ - - - - - {{.PageTitle}} - - - -
-
-
-

{{ .PageTitle }}

- {{ $singleService := len .Services }} - {{ range $key, $service := .Services }} - -

- {{ .description }} -

- {{end}} - -
- {{ if .PrivacyPolicyURL }} - {{ .PrivacyPolicyURLLabel }} - {{ end }} -
-
- - diff --git a/pkg/bertyauth/templates/redirect.html.tmpl b/pkg/bertyauth/templates/redirect.html.tmpl deleted file mode 100644 index 5bd411ac..00000000 --- a/pkg/bertyauth/templates/redirect.html.tmpl +++ /dev/null @@ -1,17 +0,0 @@ - - - - - Redirect - - -
- -
- - - diff --git a/pkg/bertyauth/testing.go b/pkg/bertyauth/testing.go deleted file mode 100644 index 22061522..00000000 --- a/pkg/bertyauth/testing.go +++ /dev/null @@ -1,24 +0,0 @@ -package bertyauth - -import ( - "crypto/ed25519" - crand "crypto/rand" - "testing" - - "github.com/stretchr/testify/require" - - "berty.tech/weshnet/pkg/cryptoutil" -) - -func HelperGenerateTokenIssuerSecrets(t *testing.T) ([]byte, ed25519.PublicKey, ed25519.PrivateKey) { - t.Helper() - - pk, sk, err := ed25519.GenerateKey(crand.Reader) - require.NoError(t, err) - - secret := make([]byte, cryptoutil.KeySize) - _, err = crand.Read(secret) - require.NoError(t, err) - - return secret, pk, sk -} diff --git a/pkg/errcode/errcode.pb.go b/pkg/errcode/errcode.pb.go index f96368f3..120dda85 100644 --- a/pkg/errcode/errcode.pb.go +++ b/pkg/errcode/errcode.pb.go @@ -101,16 +101,6 @@ const ( ErrGroupOpen ErrCode = 1311 ErrMessageKeyPersistencePut ErrCode = 1500 ErrMessageKeyPersistenceGet ErrCode = 1501 - ErrServicesAuth ErrCode = 4000 - ErrServicesAuthNotInitialized ErrCode = 4001 - ErrServicesAuthWrongState ErrCode = 4002 - ErrServicesAuthInvalidResponse ErrCode = 4003 - ErrServicesAuthServer ErrCode = 4004 - ErrServicesAuthCodeChallenge ErrCode = 4005 - ErrServicesAuthServiceInvalidToken ErrCode = 4006 - ErrServicesAuthServiceNotSupported ErrCode = 4007 - ErrServicesAuthUnknownToken ErrCode = 4008 - ErrServicesAuthInvalidURL ErrCode = 4009 ErrServiceReplication ErrCode = 4100 ErrServiceReplicationServer ErrCode = 4101 ErrServiceReplicationMissingEndpoint ErrCode = 4102 @@ -200,16 +190,6 @@ var ErrCode_name = map[int32]string{ 1311: "ErrGroupOpen", 1500: "ErrMessageKeyPersistencePut", 1501: "ErrMessageKeyPersistenceGet", - 4000: "ErrServicesAuth", - 4001: "ErrServicesAuthNotInitialized", - 4002: "ErrServicesAuthWrongState", - 4003: "ErrServicesAuthInvalidResponse", - 4004: "ErrServicesAuthServer", - 4005: "ErrServicesAuthCodeChallenge", - 4006: "ErrServicesAuthServiceInvalidToken", - 4007: "ErrServicesAuthServiceNotSupported", - 4008: "ErrServicesAuthUnknownToken", - 4009: "ErrServicesAuthInvalidURL", 4100: "ErrServiceReplication", 4101: "ErrServiceReplicationServer", 4102: "ErrServiceReplicationMissingEndpoint", @@ -299,16 +279,6 @@ var ErrCode_value = map[string]int32{ "ErrGroupOpen": 1311, "ErrMessageKeyPersistencePut": 1500, "ErrMessageKeyPersistenceGet": 1501, - "ErrServicesAuth": 4000, - "ErrServicesAuthNotInitialized": 4001, - "ErrServicesAuthWrongState": 4002, - "ErrServicesAuthInvalidResponse": 4003, - "ErrServicesAuthServer": 4004, - "ErrServicesAuthCodeChallenge": 4005, - "ErrServicesAuthServiceInvalidToken": 4006, - "ErrServicesAuthServiceNotSupported": 4007, - "ErrServicesAuthUnknownToken": 4008, - "ErrServicesAuthInvalidURL": 4009, "ErrServiceReplication": 4100, "ErrServiceReplicationServer": 4101, "ErrServiceReplicationMissingEndpoint": 4102, @@ -385,96 +355,88 @@ func init() { func init() { proto.RegisterFile("errcode/errcode.proto", fileDescriptor_fb5abb189af31c1a) } var fileDescriptor_fb5abb189af31c1a = []byte{ - // 1413 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0xc9, 0x6f, 0x54, 0x47, - 0x1a, 0xa7, 0x61, 0xf0, 0x52, 0x1e, 0xf0, 0x47, 0x61, 0x8c, 0xd9, 0xdc, 0x0d, 0xc3, 0xcc, 0x30, - 0x48, 0xd8, 0x33, 0x0c, 0x1a, 0x69, 0xa4, 0x5c, 0xda, 0xee, 0x06, 0x2c, 0xe3, 0x45, 0xdd, 0x26, - 0x48, 0xb9, 0x95, 0x5f, 0x7d, 0x7e, 0x5d, 0xf8, 0x75, 0xd5, 0xa3, 0x5e, 0xb5, 0x71, 0x93, 0xe4, - 0x96, 0x44, 0xca, 0x2d, 0x91, 0xc8, 0x46, 0xf6, 0x3d, 0x91, 0x82, 0x94, 0xed, 0x8f, 0x20, 0x09, - 0x8b, 0x21, 0x39, 0x26, 0x52, 0xc2, 0x89, 0x2d, 0xc9, 0x35, 0xc7, 0xa8, 0xea, 0x95, 0xdb, 0xdd, - 0x76, 0x9b, 0x28, 0xa7, 0xee, 0xf7, 0xfb, 0x7e, 0xdf, 0x5e, 0xf5, 0x7d, 0x45, 0x76, 0xa0, 0xd6, - 0x81, 0xe2, 0x38, 0xec, 0x7f, 0x87, 0x62, 0xad, 0x8c, 0xa2, 0xbd, 0xe7, 0x31, 0xa9, 0x48, 0x34, - 0x43, 0x1e, 0xde, 0xdd, 0x17, 0xaa, 0x50, 0x39, 0xd9, 0xb0, 0xfd, 0x97, 0xd2, 0x0e, 0x3c, 0x42, - 0x48, 0x51, 0xeb, 0x02, 0x1a, 0x26, 0xa2, 0x84, 0x0e, 0x91, 0xcd, 0x96, 0x9b, 0x0c, 0x64, 0x72, - 0x9b, 0x0e, 0x6d, 0x3d, 0x3a, 0x30, 0xb4, 0xca, 0xc8, 0x50, 0x51, 0xeb, 0x51, 0xc5, 0xb1, 0x94, - 0xd2, 0x0e, 0x5f, 0xee, 0x27, 0x9d, 0x1e, 0xa2, 0x5b, 0x48, 0xf7, 0x69, 0xc9, 0x71, 0x4e, 0x48, - 0xe4, 0xb0, 0x81, 0x76, 0x93, 0xbf, 0xcc, 0x4c, 0x15, 0xa6, 0xe0, 0xd2, 0x66, 0xda, 0x4f, 0xb6, - 0x15, 0xb5, 0x9e, 0x54, 0x66, 0xac, 0x1a, 0x47, 0x58, 0x45, 0x69, 0x90, 0xc3, 0xb3, 0x1d, 0x14, - 0x48, 0x4f, 0x51, 0xeb, 0x31, 0x69, 0x50, 0x4b, 0x16, 0xc1, 0x6f, 0x1d, 0x74, 0x3b, 0xe9, 0x75, - 0xc8, 0x02, 0x8b, 0x04, 0x1f, 0x93, 0x71, 0xcd, 0x00, 0x6f, 0x05, 0x4b, 0x4c, 0x86, 0x08, 0xe8, - 0xc1, 0x09, 0x91, 0x24, 0x42, 0x86, 0x29, 0x73, 0x8e, 0xf6, 0x11, 0x28, 0x6a, 0x5d, 0x46, 0x2d, - 0x58, 0x24, 0x2e, 0x30, 0x23, 0x94, 0x84, 0x90, 0xf6, 0x13, 0xea, 0x52, 0x4c, 0x5a, 0xf0, 0x0a, - 0xdd, 0x46, 0xb6, 0x58, 0xb6, 0xd1, 0xc8, 0xaa, 0x25, 0x64, 0x1c, 0x04, 0xa5, 0x64, 0x6b, 0x03, - 0x3a, 0xa3, 0x85, 0x41, 0x38, 0xeb, 0xd5, 0x53, 0x6c, 0x46, 0x33, 0x99, 0xcc, 0x29, 0x5d, 0x05, - 0x49, 0x77, 0x91, 0x1d, 0x0d, 0xbc, 0x8c, 0x92, 0xe7, 0x25, 0x1f, 0x8d, 0x54, 0x82, 0xa0, 0xe8, - 0x00, 0xe9, 0x6b, 0x88, 0x4e, 0x22, 0xe3, 0xa8, 0x53, 0x63, 0x31, 0xdd, 0x49, 0xb6, 0xaf, 0x92, - 0x38, 0xcf, 0x49, 0x4b, 0x30, 0x65, 0x21, 0xe7, 0xe1, 0x5c, 0x8b, 0x03, 0x67, 0x39, 0x2f, 0x79, - 0x09, 0x83, 0x05, 0xd0, 0x3e, 0x51, 0x9f, 0xfd, 0x04, 0x8b, 0xc7, 0xb1, 0x0e, 0xf3, 0x74, 0x6b, - 0xda, 0xcb, 0x91, 0xd4, 0x59, 0x64, 0x3b, 0xe2, 0xbe, 0x9d, 0x8b, 0x2a, 0x05, 0xf2, 0x57, 0xf7, - 0x59, 0xc0, 0xc4, 0x68, 0x55, 0x87, 0xc5, 0x06, 0x32, 0x21, 0x42, 0xcd, 0x0c, 0x42, 0x9d, 0xf6, - 0xba, 0x96, 0x58, 0x95, 0x38, 0x62, 0x75, 0xb8, 0xd0, 0xa0, 0x94, 0x30, 0x31, 0x4a, 0x23, 0x3c, - 0xde, 0xb0, 0x3a, 0x15, 0xa3, 0x84, 0x27, 0x1a, 0x4e, 0xd3, 0xdc, 0x9f, 0xa4, 0x83, 0x64, 0x97, - 0x3d, 0x11, 0xba, 0x1e, 0x1b, 0x55, 0x62, 0x92, 0xab, 0xea, 0x09, 0x94, 0xa8, 0xd3, 0xa2, 0x5f, - 0xc9, 0xd0, 0x3d, 0xa4, 0xbf, 0x21, 0x1f, 0xc7, 0x7a, 0x93, 0xf0, 0xab, 0x0c, 0xdd, 0x47, 0x06, - 0x1a, 0xc2, 0x49, 0x25, 0x03, 0x6c, 0x12, 0x7f, 0x9d, 0xa1, 0x3b, 0x5d, 0x2b, 0x52, 0x71, 0x59, - 0x84, 0x92, 0x99, 0x9a, 0x46, 0xf8, 0x26, 0x43, 0xff, 0x46, 0x06, 0xd7, 0x0a, 0x1e, 0x45, 0x2d, - 0xe6, 0x44, 0x90, 0x6a, 0x5f, 0xcd, 0xd0, 0x1d, 0xae, 0x68, 0x29, 0xa9, 0x80, 0x81, 0xfd, 0x85, - 0x6b, 0x19, 0xba, 0x97, 0xec, 0x5c, 0x0d, 0x4f, 0xb3, 0x7a, 0xa4, 0x18, 0x87, 0xeb, 0xad, 0x4a, - 0x45, 0x99, 0x2a, 0xdd, 0x58, 0x93, 0xc5, 0xa8, 0x92, 0x0b, 0xa8, 0x13, 0xeb, 0x68, 0x29, 0x43, - 0x07, 0x5c, 0x93, 0x53, 0xe1, 0xa8, 0x88, 0x2b, 0xa8, 0xc7, 0xa4, 0x30, 0x70, 0x73, 0x8d, 0x5a, - 0x01, 0xb5, 0x58, 0x48, 0xe3, 0xbb, 0x95, 0xa1, 0x3d, 0xa4, 0xc3, 0x36, 0x95, 0xc5, 0xf0, 0xc9, - 0x46, 0xda, 0xeb, 0xca, 0x7a, 0x5c, 0xe9, 0x22, 0x0b, 0x2a, 0x70, 0x79, 0x23, 0xdd, 0xee, 0x8e, - 0xe6, 0x38, 0xd6, 0x5d, 0x1f, 0x4e, 0xa0, 0x81, 0xe7, 0x36, 0xad, 0x02, 0xa7, 0x6b, 0x06, 0x9e, - 0xdf, 0xe4, 0xaf, 0xd5, 0xa4, 0x32, 0xc7, 0x55, 0x4d, 0x72, 0xb8, 0xb8, 0x4c, 0x9b, 0xd2, 0xb3, - 0xc2, 0x14, 0x46, 0x5c, 0x2c, 0x77, 0x3a, 0x5b, 0x41, 0xd7, 0xcc, 0xbb, 0x9d, 0x3e, 0x5d, 0x0f, - 0xe6, 0xe3, 0x18, 0x25, 0x87, 0x7b, 0x9d, 0xbe, 0xa9, 0x1e, 0x5e, 0x7d, 0x93, 0xee, 0x77, 0xfa, - 0x8c, 0xbd, 0xbc, 0x6c, 0x63, 0x19, 0x65, 0x89, 0x81, 0x07, 0x9d, 0xf4, 0x9f, 0xe4, 0x40, 0x51, - 0xeb, 0x93, 0x4c, 0xf2, 0xa4, 0xc2, 0xe6, 0x71, 0xea, 0xbc, 0x2c, 0xc6, 0x15, 0xac, 0xa2, 0x66, - 0x51, 0xda, 0x7d, 0x7b, 0x75, 0xe0, 0x6a, 0x17, 0xfd, 0x3b, 0xc9, 0x35, 0x13, 0xa7, 0x11, 0x75, - 0x33, 0xd3, 0x1d, 0xfc, 0x6b, 0x5d, 0x74, 0x98, 0x1c, 0x6e, 0xa6, 0x95, 0xf0, 0x5c, 0x0d, 0x13, - 0x83, 0x3a, 0x5f, 0x33, 0x15, 0x94, 0xc6, 0xb6, 0x1b, 0x47, 0xd4, 0x62, 0x6a, 0x1b, 0xae, 0x77, - 0xd1, 0x7f, 0x91, 0x83, 0xad, 0x0a, 0x49, 0xac, 0x24, 0x47, 0x9d, 0x0f, 0x02, 0x8c, 0xcd, 0x0a, - 0xf5, 0x46, 0x17, 0xcd, 0x92, 0xdd, 0x6d, 0x6d, 0x9f, 0xc4, 0x28, 0x52, 0xb0, 0xd4, 0x86, 0xe0, - 0x6d, 0xa5, 0x84, 0x9b, 0x5d, 0xf4, 0x1f, 0x64, 0xff, 0x1f, 0x46, 0x07, 0xb7, 0xba, 0x68, 0x8e, - 0xec, 0x79, 0x48, 0x50, 0xf0, 0xed, 0x9a, 0x72, 0xac, 0x58, 0x0a, 0xe6, 0xa5, 0x3a, 0x1f, 0x21, - 0x0f, 0x11, 0xbe, 0xeb, 0xa2, 0xfb, 0xc9, 0x5e, 0x37, 0x7f, 0xa5, 0x61, 0x81, 0xf1, 0xa4, 0x32, - 0xab, 0x62, 0x3e, 0x08, 0x54, 0x4d, 0x1a, 0xf8, 0xb4, 0xdb, 0x17, 0xa0, 0x95, 0xe2, 0xbf, 0xf2, - 0x91, 0x46, 0xc6, 0xeb, 0x79, 0xce, 0x91, 0xc3, 0x67, 0xdd, 0xf4, 0x20, 0xc9, 0xae, 0x47, 0x1d, - 0x89, 0x54, 0x30, 0x8f, 0x1c, 0x3e, 0xef, 0xf6, 0x49, 0xb6, 0x65, 0xad, 0x2c, 0x80, 0x2f, 0xba, - 0xe9, 0x11, 0x72, 0x68, 0x0d, 0x6f, 0x4c, 0x06, 0xaa, 0x2a, 0x64, 0xe8, 0x3d, 0x97, 0x30, 0x40, - 0xb1, 0x80, 0x1c, 0xbe, 0xec, 0xf6, 0xc5, 0x3d, 0xa1, 0x55, 0x2d, 0x9e, 0xc0, 0xea, 0x2c, 0xea, - 0x53, 0x2a, 0x2c, 0x2e, 0xa0, 0x34, 0xee, 0x6c, 0x5e, 0x24, 0x3e, 0xba, 0x36, 0x84, 0x95, 0x51, - 0xf0, 0x02, 0xf1, 0x15, 0x69, 0x62, 0x9d, 0x96, 0xb6, 0x62, 0xd2, 0x21, 0x63, 0x05, 0x78, 0x91, - 0xd0, 0x03, 0x64, 0xdf, 0x32, 0xa5, 0x8c, 0x81, 0x46, 0x33, 0x65, 0x2a, 0x68, 0x17, 0x84, 0x49, - 0x35, 0xe0, 0x25, 0xe2, 0x93, 0x6c, 0xe2, 0xf8, 0x88, 0xcb, 0x28, 0xcd, 0x8c, 0xf2, 0xbc, 0x97, - 0x89, 0x3f, 0xf9, 0xa9, 0xf1, 0x74, 0x43, 0xcd, 0xd4, 0x63, 0x84, 0x57, 0x08, 0xed, 0x73, 0x1b, - 0x2a, 0x0d, 0x24, 0x1d, 0xd4, 0x70, 0x89, 0xf8, 0x0b, 0xe6, 0xd0, 0x7c, 0x60, 0xec, 0xed, 0x47, - 0x78, 0x95, 0xf8, 0xc9, 0xe6, 0xe0, 0x02, 0xb2, 0x65, 0xc1, 0x6b, 0x84, 0x6e, 0x73, 0xf3, 0xd7, - 0xdb, 0x9f, 0x53, 0xf0, 0x7a, 0x8b, 0x61, 0x9f, 0x1b, 0xbc, 0xd1, 0x42, 0x74, 0x05, 0x7b, 0x93, - 0xf8, 0x53, 0x36, 0x81, 0x49, 0xc2, 0x42, 0x1c, 0xc7, 0xfa, 0xb4, 0x1d, 0x51, 0x89, 0x41, 0x19, - 0xb8, 0x51, 0xf1, 0x7d, 0xcf, 0xc3, 0x18, 0x76, 0xc2, 0xfc, 0xd0, 0xe3, 0x9d, 0x95, 0x51, 0x2f, - 0x88, 0x00, 0x13, 0x7b, 0x8e, 0xe1, 0xad, 0xac, 0xaf, 0x60, 0x33, 0x6a, 0xb7, 0xbb, 0x14, 0xc6, - 0x8d, 0x05, 0xe4, 0xf0, 0x76, 0xd6, 0xcf, 0x8c, 0x66, 0xce, 0x19, 0xad, 0x64, 0x58, 0x36, 0x36, - 0xb3, 0x77, 0xb2, 0x7e, 0x66, 0x37, 0xcb, 0x97, 0x57, 0xbc, 0xbb, 0x0d, 0x09, 0xc2, 0xbb, 0x59, - 0xba, 0x3b, 0xdd, 0x81, 0x4d, 0x24, 0xfb, 0x1f, 0x35, 0xbc, 0x97, 0xf5, 0x9d, 0x6e, 0x96, 0xd9, - 0x77, 0xc8, 0x68, 0x85, 0x45, 0x11, 0xda, 0x47, 0xc2, 0xfb, 0x59, 0x3f, 0x7d, 0x56, 0xab, 0x8b, - 0x00, 0x97, 0x7b, 0xa5, 0xe6, 0x51, 0xc2, 0x07, 0x0f, 0x21, 0x4e, 0x2a, 0x53, 0xae, 0xc5, 0xb1, - 0xd2, 0xf6, 0xcd, 0xf2, 0x61, 0xd6, 0x57, 0xac, 0x99, 0xe8, 0x7b, 0x90, 0x9a, 0xfa, 0xa8, 0x5d, - 0xde, 0xde, 0xd9, 0xe9, 0xd2, 0x29, 0xf8, 0x78, 0x55, 0x4a, 0x76, 0xcf, 0x2e, 0xaf, 0xa8, 0xa7, - 0x72, 0xad, 0xd6, 0x9b, 0x64, 0x3e, 0xe9, 0xa7, 0x73, 0xfe, 0x36, 0xaf, 0x65, 0xf8, 0x23, 0x56, - 0x94, 0x3c, 0x56, 0x42, 0x1a, 0x78, 0x26, 0x47, 0x77, 0xa5, 0xaf, 0x10, 0x1f, 0x48, 0x41, 0x68, - 0x0c, 0x8c, 0xd2, 0x75, 0xb8, 0x93, 0xa3, 0xff, 0x27, 0xc7, 0xda, 0x89, 0x7c, 0xa0, 0xe9, 0xe2, - 0x44, 0x3e, 0xaa, 0x91, 0xdb, 0xa9, 0xc5, 0xa2, 0x72, 0x6d, 0xf6, 0x2c, 0x06, 0x06, 0xee, 0xe6, - 0xfc, 0x00, 0x5e, 0xa3, 0x5a, 0x5c, 0x14, 0x89, 0x11, 0x32, 0x2c, 0x61, 0xa0, 0x34, 0x6f, 0x2c, - 0x9f, 0x7b, 0x39, 0xfa, 0x3f, 0xf2, 0x9f, 0x76, 0x0a, 0x29, 0xf1, 0x94, 0x9b, 0x2a, 0xf6, 0xe9, - 0xc4, 0xa4, 0x19, 0x71, 0x09, 0xb1, 0x00, 0x39, 0xdc, 0xcf, 0xd1, 0x63, 0x64, 0xb8, 0xbd, 0x23, - 0x9b, 0xb3, 0x30, 0x9e, 0x7a, 0x3c, 0x62, 0xa1, 0x9d, 0x2d, 0x42, 0x23, 0x87, 0x07, 0x39, 0x7a, - 0x94, 0x1c, 0xf9, 0x53, 0x99, 0xc1, 0xcf, 0xeb, 0xea, 0x14, 0x17, 0x63, 0x6b, 0xb5, 0x8d, 0xce, - 0x2f, 0xeb, 0x46, 0xb7, 0xae, 0x9f, 0xb1, 0x02, 0xfc, 0x9a, 0x1b, 0xf9, 0xf7, 0xd2, 0x4f, 0x83, - 0x1b, 0xae, 0xdc, 0x1e, 0xcc, 0x2c, 0xdd, 0x1e, 0xcc, 0xfc, 0x78, 0x7b, 0x30, 0xf3, 0xd8, 0xe0, - 0x2c, 0x6a, 0x53, 0x1f, 0x32, 0x18, 0x54, 0x86, 0xfd, 0x63, 0x7b, 0x38, 0x9e, 0x0f, 0x97, 0x1f, - 0xf3, 0xb3, 0x1d, 0xee, 0x99, 0xfe, 0xdf, 0xdf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x7c, 0x5d, 0x98, - 0xbc, 0xe6, 0x0b, 0x00, 0x00, + // 1290 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x5b, 0x6f, 0x5b, 0xc5, + 0x16, 0xae, 0xdb, 0xd3, 0x5c, 0x26, 0xa7, 0xcd, 0xea, 0x24, 0x6d, 0xd3, 0x9b, 0xeb, 0xf6, 0xf4, + 0x9c, 0x53, 0x2a, 0x35, 0x81, 0x52, 0x21, 0x21, 0xf1, 0xe2, 0xc4, 0x6e, 0x6b, 0xa5, 0x69, 0x22, + 0x3b, 0x05, 0x89, 0xb7, 0xc9, 0x9e, 0x95, 0xed, 0x69, 0xb6, 0x67, 0x76, 0x67, 0x8f, 0xdd, 0xb8, + 0xc0, 0x1b, 0x20, 0xf1, 0x06, 0x52, 0xb9, 0x95, 0xdb, 0x1f, 0x00, 0x89, 0xdb, 0x8f, 0x28, 0xd0, + 0x4b, 0x5a, 0x78, 0x03, 0x24, 0xe8, 0x53, 0x6f, 0xc0, 0x2b, 0x8f, 0x68, 0xcf, 0x4c, 0x1c, 0x3b, + 0x76, 0x8a, 0x78, 0xb2, 0xf7, 0xb7, 0xbe, 0x75, 0x9f, 0x59, 0x6b, 0xc8, 0x4e, 0xd4, 0x3a, 0x50, + 0x1c, 0x27, 0xfc, 0xef, 0x78, 0xac, 0x95, 0x51, 0x74, 0xf8, 0x12, 0x26, 0x55, 0x89, 0x66, 0xdc, + 0xc3, 0x7b, 0x47, 0x43, 0x15, 0x2a, 0x2b, 0x9b, 0x48, 0xff, 0x39, 0xda, 0xe1, 0xe7, 0x08, 0x29, + 0x6a, 0x5d, 0x40, 0xc3, 0x44, 0x94, 0xd0, 0x71, 0xb2, 0x35, 0xe5, 0x26, 0x63, 0x99, 0xdc, 0x96, + 0xa3, 0xdb, 0x4f, 0x8c, 0x8d, 0xaf, 0x33, 0x32, 0x5e, 0xd4, 0x7a, 0x4a, 0x71, 0x2c, 0x3b, 0xda, + 0xb1, 0x1f, 0x47, 0x48, 0xbf, 0x87, 0xe8, 0x36, 0x32, 0x78, 0x5e, 0x72, 0x5c, 0x14, 0x12, 0x39, + 0x6c, 0xa2, 0x83, 0xe4, 0x5f, 0xf3, 0xb3, 0x85, 0x59, 0xb8, 0xba, 0x95, 0xee, 0x22, 0x3b, 0x8a, + 0x5a, 0x9f, 0x53, 0xa6, 0x54, 0x8b, 0x23, 0xac, 0xa1, 0x34, 0xc8, 0xe1, 0x8d, 0x3e, 0x0a, 0x64, + 0xa8, 0xa8, 0x75, 0x49, 0x1a, 0xd4, 0x92, 0x45, 0xf0, 0x67, 0x1f, 0x1d, 0x21, 0xc3, 0x16, 0x69, + 0xb0, 0x48, 0xf0, 0x92, 0x8c, 0xeb, 0x06, 0x78, 0x27, 0x58, 0x66, 0x32, 0x44, 0x40, 0x0f, 0xce, + 0x88, 0x24, 0x11, 0x32, 0x74, 0xcc, 0x45, 0x3a, 0x4a, 0xa0, 0xa8, 0x75, 0x05, 0xb5, 0x60, 0x91, + 0xb8, 0xcc, 0x8c, 0x50, 0x12, 0x42, 0xba, 0x8b, 0x50, 0x9b, 0x62, 0xd2, 0x81, 0x57, 0xe9, 0x0e, + 0xb2, 0x2d, 0x65, 0x1b, 0x8d, 0xac, 0x56, 0x46, 0xc6, 0x41, 0x50, 0x4a, 0xb6, 0xb7, 0xa0, 0x17, + 0xb4, 0x30, 0x08, 0x17, 0xbc, 0xba, 0xc3, 0xe6, 0x35, 0x93, 0xc9, 0xa2, 0xd2, 0x35, 0x90, 0x74, + 0x0f, 0xd9, 0xd9, 0xc2, 0x2b, 0x28, 0x79, 0x5e, 0xf2, 0xa9, 0x48, 0x25, 0x08, 0x8a, 0x8e, 0x91, + 0xd1, 0x96, 0xe8, 0x0c, 0x32, 0x8e, 0xda, 0x19, 0x8b, 0xe9, 0x6e, 0x32, 0xb2, 0x4e, 0x62, 0x3d, + 0x27, 0x1d, 0xc1, 0x54, 0x84, 0x5c, 0x82, 0x8b, 0x1d, 0x0e, 0xac, 0xe5, 0xbc, 0xe4, 0x65, 0x0c, + 0x1a, 0xa0, 0x7d, 0xa2, 0x3e, 0xfb, 0x19, 0x16, 0x4f, 0x63, 0x13, 0x96, 0xe8, 0x76, 0xd7, 0xcb, + 0x49, 0xe7, 0x2c, 0x4a, 0x3b, 0x62, 0xbf, 0xad, 0x8b, 0x1a, 0x05, 0xf2, 0x6f, 0xfb, 0x59, 0xc0, + 0xc4, 0x68, 0xd5, 0x84, 0xe5, 0x16, 0x32, 0x23, 0x42, 0xcd, 0x0c, 0x42, 0x93, 0x0e, 0xdb, 0x96, + 0xa4, 0x2a, 0x71, 0xc4, 0x9a, 0x70, 0xb9, 0x45, 0x29, 0x63, 0x62, 0x94, 0x46, 0x78, 0xa9, 0x65, + 0x75, 0x36, 0x46, 0x09, 0x2f, 0xb7, 0x9c, 0xba, 0xdc, 0x5f, 0xa1, 0x59, 0xb2, 0x27, 0x3d, 0x11, + 0xba, 0x19, 0x1b, 0x55, 0x66, 0x92, 0xab, 0xda, 0x69, 0x94, 0xa8, 0x5d, 0xd1, 0xaf, 0x65, 0xe8, + 0x3e, 0xb2, 0xab, 0x25, 0x9f, 0xc6, 0x66, 0x9b, 0xf0, 0x9b, 0x0c, 0x3d, 0x40, 0xc6, 0x5a, 0xc2, + 0x73, 0x4a, 0x06, 0xd8, 0x26, 0xfe, 0x36, 0x43, 0x77, 0xdb, 0x56, 0x38, 0x71, 0x45, 0x84, 0x92, + 0x99, 0xba, 0x46, 0xf8, 0x2e, 0x43, 0xff, 0x43, 0xb2, 0xdd, 0x82, 0xe7, 0x51, 0x8b, 0x45, 0x11, + 0x38, 0xed, 0xeb, 0x19, 0xba, 0xd3, 0x16, 0xcd, 0x91, 0x0a, 0x18, 0xa4, 0xbf, 0x70, 0x23, 0x43, + 0xf7, 0x93, 0xdd, 0xeb, 0xe1, 0x39, 0xd6, 0x8c, 0x14, 0xe3, 0x70, 0xb3, 0x53, 0xa9, 0x28, 0x9d, + 0xd2, 0xad, 0xae, 0x2c, 0xa6, 0x94, 0x6c, 0xa0, 0x4e, 0x52, 0x47, 0x2b, 0x19, 0x3a, 0x66, 0x9b, + 0xec, 0x84, 0x53, 0x22, 0xae, 0xa2, 0x2e, 0x49, 0x61, 0xe0, 0x76, 0x97, 0x5a, 0x01, 0xb5, 0x68, + 0xb8, 0xf8, 0xee, 0x64, 0xe8, 0x10, 0xe9, 0x4b, 0x9b, 0xca, 0x62, 0xf8, 0x74, 0x33, 0x1d, 0xb6, + 0x65, 0x3d, 0xa5, 0x74, 0x91, 0x05, 0x55, 0xf8, 0x6c, 0x33, 0x1d, 0xb1, 0x47, 0x73, 0x1a, 0x9b, + 0xb6, 0x0f, 0xa7, 0xd1, 0xc0, 0x9b, 0x5b, 0xd6, 0x81, 0x73, 0x75, 0x03, 0x6f, 0x6d, 0xf1, 0xd7, + 0xea, 0x9c, 0x32, 0xa7, 0x54, 0x5d, 0x72, 0xb8, 0xb2, 0x4a, 0x9b, 0xd5, 0x0b, 0xc2, 0x14, 0x26, + 0x6d, 0x2c, 0xf7, 0xfa, 0x3b, 0x41, 0xdb, 0xcc, 0xfb, 0xfd, 0x3e, 0x5d, 0x0f, 0xe6, 0xe3, 0x18, + 0x25, 0x87, 0x07, 0xfd, 0xbe, 0xa9, 0x1e, 0x5e, 0x7f, 0x93, 0x1e, 0xf6, 0xfb, 0x8c, 0xbd, 0xbc, + 0x92, 0xc6, 0x32, 0xc5, 0x12, 0x03, 0x8f, 0xfa, 0xe9, 0xff, 0xc9, 0xe1, 0xa2, 0xd6, 0x67, 0x98, + 0xe4, 0x49, 0x95, 0x2d, 0xe1, 0xec, 0x25, 0x59, 0x8c, 0xab, 0x58, 0x43, 0xcd, 0x22, 0xd7, 0xfd, + 0xf4, 0xea, 0xc0, 0xf5, 0x01, 0xfa, 0x5f, 0x92, 0x6b, 0x27, 0xce, 0x21, 0xea, 0x76, 0xa6, 0x3d, + 0xf8, 0x37, 0x06, 0xe8, 0x04, 0x39, 0xd6, 0x4e, 0x2b, 0xe3, 0xc5, 0x3a, 0x26, 0x06, 0x75, 0xbe, + 0x6e, 0xaa, 0x28, 0x4d, 0xda, 0x6e, 0x9c, 0x54, 0xcb, 0xce, 0x36, 0xdc, 0x1c, 0xa0, 0x4f, 0x90, + 0x23, 0x9d, 0x0a, 0x49, 0xac, 0x24, 0x47, 0x9d, 0x0f, 0x02, 0x8c, 0xcd, 0x1a, 0xf5, 0xd6, 0x00, + 0x3d, 0x48, 0xf6, 0xf6, 0xb4, 0x7d, 0x06, 0xa3, 0x48, 0xc1, 0x4a, 0x0f, 0x82, 0xb7, 0xe5, 0x08, + 0xb7, 0x07, 0xe8, 0xff, 0xc8, 0xa1, 0xbf, 0x8d, 0x0e, 0xee, 0x0c, 0xd0, 0x1c, 0xd9, 0xf7, 0x98, + 0xa0, 0xe0, 0xfb, 0xae, 0x72, 0xac, 0x59, 0x0a, 0x96, 0xa4, 0xba, 0x14, 0x21, 0x0f, 0x11, 0x7e, + 0x18, 0xa0, 0x87, 0xc8, 0x7e, 0x3b, 0x7f, 0xa5, 0x61, 0x81, 0xf1, 0xa4, 0x0a, 0xab, 0x61, 0x3e, + 0x08, 0x54, 0x5d, 0x1a, 0xf8, 0x7c, 0xd0, 0x17, 0xa0, 0x93, 0xe2, 0xbf, 0xf2, 0x91, 0x46, 0xc6, + 0x9b, 0x79, 0xce, 0x91, 0xc3, 0x17, 0x83, 0xf4, 0x08, 0x39, 0xb8, 0x11, 0x75, 0x32, 0x52, 0xc1, + 0x12, 0x72, 0xf8, 0x72, 0xd0, 0x27, 0xd9, 0x93, 0xb5, 0xb6, 0x00, 0xbe, 0x1a, 0xa4, 0xc7, 0xc9, + 0xd1, 0x2e, 0x5e, 0x49, 0x06, 0xaa, 0x26, 0x64, 0xe8, 0x3d, 0x97, 0x31, 0x40, 0xd1, 0x40, 0x0e, + 0x5f, 0x0f, 0xfa, 0xe2, 0x9e, 0xd6, 0xaa, 0x1e, 0xcf, 0x60, 0x6d, 0x01, 0xf5, 0x59, 0x15, 0x16, + 0x1b, 0x28, 0x8d, 0x3d, 0x9b, 0x57, 0x88, 0x8f, 0xae, 0x07, 0x61, 0x6d, 0x14, 0xbc, 0x4d, 0x7c, + 0x45, 0xda, 0x58, 0xe7, 0x65, 0x5a, 0x31, 0x69, 0x91, 0x52, 0x01, 0xde, 0x21, 0xf4, 0x30, 0x39, + 0xb0, 0x4a, 0xa9, 0x60, 0xa0, 0xd1, 0xcc, 0x9a, 0x2a, 0xa6, 0x0b, 0xc2, 0x38, 0x0d, 0x78, 0x97, + 0xf8, 0x24, 0xdb, 0x38, 0x3e, 0xe2, 0x0a, 0x4a, 0x33, 0xaf, 0x3c, 0xef, 0x3d, 0xe2, 0x4f, 0xbe, + 0x33, 0xee, 0x36, 0xd4, 0x7c, 0x33, 0x46, 0x78, 0x9f, 0xd0, 0x51, 0xbb, 0xa1, 0x5c, 0x20, 0x6e, + 0x50, 0xc3, 0x55, 0xe2, 0x2f, 0x98, 0x45, 0xf3, 0x81, 0x49, 0x6f, 0x3f, 0xc2, 0x07, 0xc4, 0x4f, + 0x36, 0x0b, 0x17, 0x90, 0xad, 0x0a, 0x3e, 0x24, 0x74, 0x87, 0x9d, 0xbf, 0xde, 0xfe, 0xa2, 0x82, + 0x8f, 0x3a, 0x0c, 0xfb, 0xdc, 0xe0, 0xe3, 0x0e, 0xa2, 0x2d, 0xd8, 0x27, 0xc4, 0x9f, 0xb2, 0x19, + 0x4c, 0x12, 0x16, 0xe2, 0x34, 0x36, 0xe7, 0xd2, 0x11, 0x95, 0x18, 0x94, 0x81, 0x1d, 0x15, 0x3f, + 0x0d, 0x3d, 0x8e, 0x91, 0x4e, 0x98, 0x9f, 0x87, 0xe8, 0x5e, 0xb7, 0x84, 0x50, 0x37, 0x44, 0x80, + 0xe9, 0x56, 0x58, 0x1d, 0xa8, 0xaf, 0xe6, 0xbc, 0x76, 0xb7, 0x2c, 0x45, 0x50, 0xc3, 0x6b, 0x39, + 0x7f, 0xf6, 0xba, 0x19, 0xbe, 0x20, 0x45, 0xc9, 0x63, 0x25, 0xa4, 0x81, 0xd7, 0x73, 0x74, 0x8f, + 0xdb, 0x99, 0x8e, 0x9a, 0x14, 0x84, 0xc6, 0xc0, 0x28, 0xdd, 0x84, 0x7b, 0x39, 0xfa, 0x2c, 0x39, + 0xd9, 0x4b, 0xe4, 0xeb, 0xed, 0xc6, 0x3c, 0xf2, 0x29, 0x8d, 0x3c, 0xbd, 0x63, 0x2c, 0xaa, 0xd4, + 0x17, 0x2e, 0x60, 0x60, 0xe0, 0x7e, 0xce, 0x8f, 0x8b, 0x2e, 0xd5, 0xe2, 0xb2, 0x48, 0x8c, 0x90, + 0x61, 0x19, 0x03, 0xa5, 0x79, 0x6b, 0x54, 0x3e, 0xc8, 0xd1, 0x67, 0xc8, 0x53, 0xbd, 0x14, 0x1c, + 0xf1, 0xac, 0xbd, 0x03, 0xe9, 0xa2, 0x67, 0xd2, 0x4c, 0xda, 0x84, 0x58, 0x80, 0x1c, 0x1e, 0xe6, + 0xe8, 0x49, 0x32, 0xd1, 0xdb, 0x51, 0x9a, 0xb3, 0x30, 0x9e, 0x7a, 0x2a, 0x62, 0x61, 0x7a, 0x13, + 0x84, 0x46, 0x0e, 0x8f, 0x72, 0xf4, 0x04, 0x39, 0xfe, 0x8f, 0x32, 0x83, 0xdf, 0x36, 0xd4, 0x29, + 0x2e, 0xc7, 0xa9, 0xd5, 0x1e, 0x3a, 0xbf, 0x6f, 0x18, 0xdd, 0x86, 0x7e, 0x4a, 0x05, 0xf8, 0x23, + 0x37, 0xf9, 0xe4, 0xca, 0xaf, 0xd9, 0x4d, 0xd7, 0xee, 0x66, 0x33, 0x2b, 0x77, 0xb3, 0x99, 0x5f, + 0xee, 0x66, 0x33, 0x2f, 0x66, 0x17, 0x50, 0x9b, 0xe6, 0xb8, 0xc1, 0xa0, 0x3a, 0xe1, 0x9f, 0x86, + 0x13, 0xf1, 0x52, 0xb8, 0xfa, 0xf4, 0x5c, 0xe8, 0xb3, 0x8f, 0xca, 0xa7, 0xff, 0x0a, 0x00, 0x00, + 0xff, 0xff, 0x89, 0xad, 0x04, 0x21, 0x94, 0x0a, 0x00, 0x00, } func (m *ErrDetails) Marshal() (dAtA []byte, err error) { diff --git a/pkg/outofstoremessagetypes/outofstoremessage_grpc.pb.go b/pkg/outofstoremessagetypes/outofstoremessage_grpc.pb.go index 7ec721da..8bf6f75e 100644 --- a/pkg/outofstoremessagetypes/outofstoremessage_grpc.pb.go +++ b/pkg/outofstoremessagetypes/outofstoremessage_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc (unknown) +// source: outofstoremessagetypes/outofstoremessage.proto package outofstoremessagetypes @@ -15,6 +19,10 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + OutOfStoreMessageService_OutOfStoreReceive_FullMethodName = "/weshnet.outofstoremessage.v1.OutOfStoreMessageService/OutOfStoreReceive" +) + // OutOfStoreMessageServiceClient is the client API for OutOfStoreMessageService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -33,7 +41,7 @@ func NewOutOfStoreMessageServiceClient(cc grpc.ClientConnInterface) OutOfStoreMe func (c *outOfStoreMessageServiceClient) OutOfStoreReceive(ctx context.Context, in *protocoltypes.OutOfStoreReceive_Request, opts ...grpc.CallOption) (*protocoltypes.OutOfStoreReceive_Reply, error) { out := new(protocoltypes.OutOfStoreReceive_Reply) - err := c.cc.Invoke(ctx, "/weshnet.outofstoremessage.v1.OutOfStoreMessageService/OutOfStoreReceive", in, out, opts...) + err := c.cc.Invoke(ctx, OutOfStoreMessageService_OutOfStoreReceive_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -80,7 +88,7 @@ func _OutOfStoreMessageService_OutOfStoreReceive_Handler(srv interface{}, ctx co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/weshnet.outofstoremessage.v1.OutOfStoreMessageService/OutOfStoreReceive", + FullMethod: OutOfStoreMessageService_OutOfStoreReceive_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(OutOfStoreMessageServiceServer).OutOfStoreReceive(ctx, req.(*protocoltypes.OutOfStoreReceive_Request)) diff --git a/pkg/protocoltypes/auth.go b/pkg/protocoltypes/auth.go deleted file mode 100644 index fc13cf8c..00000000 --- a/pkg/protocoltypes/auth.go +++ /dev/null @@ -1,11 +0,0 @@ -package protocoltypes - -import ( - fmt "fmt" - - "github.com/gofrs/uuid" -) - -func (m *ServiceToken) TokenID() string { - return uuid.NewV5(uuid.NamespaceURL, fmt.Sprintf("%s/%s", m.AuthenticationURL, m.Token)).String() -} diff --git a/pkg/protocoltypes/events_account.go b/pkg/protocoltypes/events_account.go index 6b6e681b..41a5782c 100644 --- a/pkg/protocoltypes/events_account.go +++ b/pkg/protocoltypes/events_account.go @@ -88,14 +88,6 @@ func (m *GroupMetadataPayloadSent) SetDevicePK(pk []byte) { m.DevicePK = pk } -func (m *AccountServiceTokenAdded) SetDevicePK(pk []byte) { - m.DevicePK = pk -} - -func (m *AccountServiceTokenRemoved) SetDevicePK(pk []byte) { - m.DevicePK = pk -} - func (m *GroupReplicating) SetDevicePK(pk []byte) { m.DevicePK = pk } diff --git a/pkg/protocoltypes/protocoltypes.pb.go b/pkg/protocoltypes/protocoltypes.pb.go index 6264695f..875f998d 100644 --- a/pkg/protocoltypes/protocoltypes.pb.go +++ b/pkg/protocoltypes/protocoltypes.pb.go @@ -100,10 +100,6 @@ const ( EventTypeMultiMemberGroupInitialMemberAnnounced EventType = 302 // EventTypeMultiMemberGroupAdminRoleGranted indicates the payload includes that an admin of the group granted another member as an admin EventTypeMultiMemberGroupAdminRoleGranted EventType = 303 - // EventTypeAccountServiceTokenAdded indicates that a new service provider has been registered for this account - EventTypeAccountServiceTokenAdded EventType = 401 - // EventTypeAccountServiceTokenRemoved indicates that a service provider is not available anymore - EventTypeAccountServiceTokenRemoved EventType = 402 // EventTypeGroupReplicating indicates that the group has been registered for replication on a server EventTypeGroupReplicating EventType = 403 // EventTypeAccountVerifiedCredentialRegistered @@ -132,8 +128,6 @@ var EventType_name = map[int32]string{ 301: "EventTypeMultiMemberGroupAliasResolverAdded", 302: "EventTypeMultiMemberGroupInitialMemberAnnounced", 303: "EventTypeMultiMemberGroupAdminRoleGranted", - 401: "EventTypeAccountServiceTokenAdded", - 402: "EventTypeAccountServiceTokenRemoved", 403: "EventTypeGroupReplicating", 500: "EventTypeAccountVerifiedCredentialRegistered", 1001: "EventTypeGroupMetadataPayloadSent", @@ -159,8 +153,6 @@ var EventType_value = map[string]int32{ "EventTypeMultiMemberGroupAliasResolverAdded": 301, "EventTypeMultiMemberGroupInitialMemberAnnounced": 302, "EventTypeMultiMemberGroupAdminRoleGranted": 303, - "EventTypeAccountServiceTokenAdded": 401, - "EventTypeAccountServiceTokenRemoved": 402, "EventTypeGroupReplicating": 403, "EventTypeAccountVerifiedCredentialRegistered": 500, "EventTypeGroupMetadataPayloadSent": 1001, @@ -301,7 +293,7 @@ func (x ServiceGetConfiguration_SettingState) String() string { } func (ServiceGetConfiguration_SettingState) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{36, 0} + return fileDescriptor_8aa93e54ccb19003, []int{34, 0} } type GroupDeviceStatus_Type int32 @@ -332,7 +324,7 @@ func (x GroupDeviceStatus_Type) String() string { } func (GroupDeviceStatus_Type) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{64, 0} + return fileDescriptor_8aa93e54ccb19003, []int{62, 0} } type GroupDeviceStatus_Transport int32 @@ -363,7 +355,7 @@ func (x GroupDeviceStatus_Transport) String() string { } func (GroupDeviceStatus_Transport) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{64, 1} + return fileDescriptor_8aa93e54ccb19003, []int{62, 1} } type PeerList_Feature int32 @@ -400,7 +392,7 @@ func (x PeerList_Feature) String() string { } func (PeerList_Feature) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{83, 0} + return fileDescriptor_8aa93e54ccb19003, []int{75, 0} } // Account describes all the secrets that identifies an Account @@ -2442,120 +2434,6 @@ func (m *AccountContactUnblocked) GetContactPK() []byte { return nil } -// AccountServiceTokenAdded indicates a token has been added to the account -type AccountServiceTokenAdded struct { - // device_pk is the device sending the event, signs the message - DevicePK []byte `protobuf:"bytes,1,opt,name=device_pk,json=devicePk,proto3" json:"device_pk,omitempty"` - ServiceToken *ServiceToken `protobuf:"bytes,2,opt,name=service_token,json=serviceToken,proto3" json:"service_token,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AccountServiceTokenAdded) Reset() { *m = AccountServiceTokenAdded{} } -func (m *AccountServiceTokenAdded) String() string { return proto.CompactTextString(m) } -func (*AccountServiceTokenAdded) ProtoMessage() {} -func (*AccountServiceTokenAdded) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{32} -} -func (m *AccountServiceTokenAdded) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AccountServiceTokenAdded) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AccountServiceTokenAdded.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *AccountServiceTokenAdded) XXX_Merge(src proto.Message) { - xxx_messageInfo_AccountServiceTokenAdded.Merge(m, src) -} -func (m *AccountServiceTokenAdded) XXX_Size() int { - return m.Size() -} -func (m *AccountServiceTokenAdded) XXX_DiscardUnknown() { - xxx_messageInfo_AccountServiceTokenAdded.DiscardUnknown(m) -} - -var xxx_messageInfo_AccountServiceTokenAdded proto.InternalMessageInfo - -func (m *AccountServiceTokenAdded) GetDevicePK() []byte { - if m != nil { - return m.DevicePK - } - return nil -} - -func (m *AccountServiceTokenAdded) GetServiceToken() *ServiceToken { - if m != nil { - return m.ServiceToken - } - return nil -} - -// AccountServiceTokenRemoved indicates a token has removed -type AccountServiceTokenRemoved struct { - // device_pk is the device sending the event, signs the message - DevicePK []byte `protobuf:"bytes,1,opt,name=device_pk,json=devicePk,proto3" json:"device_pk,omitempty"` - TokenID string `protobuf:"bytes,2,opt,name=token_id,json=tokenId,proto3" json:"token_id,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AccountServiceTokenRemoved) Reset() { *m = AccountServiceTokenRemoved{} } -func (m *AccountServiceTokenRemoved) String() string { return proto.CompactTextString(m) } -func (*AccountServiceTokenRemoved) ProtoMessage() {} -func (*AccountServiceTokenRemoved) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{33} -} -func (m *AccountServiceTokenRemoved) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AccountServiceTokenRemoved) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AccountServiceTokenRemoved.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *AccountServiceTokenRemoved) XXX_Merge(src proto.Message) { - xxx_messageInfo_AccountServiceTokenRemoved.Merge(m, src) -} -func (m *AccountServiceTokenRemoved) XXX_Size() int { - return m.Size() -} -func (m *AccountServiceTokenRemoved) XXX_DiscardUnknown() { - xxx_messageInfo_AccountServiceTokenRemoved.DiscardUnknown(m) -} - -var xxx_messageInfo_AccountServiceTokenRemoved proto.InternalMessageInfo - -func (m *AccountServiceTokenRemoved) GetDevicePK() []byte { - if m != nil { - return m.DevicePK - } - return nil -} - -func (m *AccountServiceTokenRemoved) GetTokenID() string { - if m != nil { - return m.TokenID - } - return "" -} - type GroupReplicating struct { // device_pk is the device sending the event, signs the message DevicePK []byte `protobuf:"bytes,1,opt,name=device_pk,json=devicePk,proto3" json:"device_pk,omitempty"` @@ -2572,7 +2450,7 @@ func (m *GroupReplicating) Reset() { *m = GroupReplicating{} } func (m *GroupReplicating) String() string { return proto.CompactTextString(m) } func (*GroupReplicating) ProtoMessage() {} func (*GroupReplicating) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{34} + return fileDescriptor_8aa93e54ccb19003, []int{32} } func (m *GroupReplicating) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2632,7 +2510,7 @@ func (m *ServiceExportData) Reset() { *m = ServiceExportData{} } func (m *ServiceExportData) String() string { return proto.CompactTextString(m) } func (*ServiceExportData) ProtoMessage() {} func (*ServiceExportData) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{35} + return fileDescriptor_8aa93e54ccb19003, []int{33} } func (m *ServiceExportData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2671,7 +2549,7 @@ func (m *ServiceExportData_Request) Reset() { *m = ServiceExportData_Req func (m *ServiceExportData_Request) String() string { return proto.CompactTextString(m) } func (*ServiceExportData_Request) ProtoMessage() {} func (*ServiceExportData_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{35, 0} + return fileDescriptor_8aa93e54ccb19003, []int{33, 0} } func (m *ServiceExportData_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2711,7 +2589,7 @@ func (m *ServiceExportData_Reply) Reset() { *m = ServiceExportData_Reply func (m *ServiceExportData_Reply) String() string { return proto.CompactTextString(m) } func (*ServiceExportData_Reply) ProtoMessage() {} func (*ServiceExportData_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{35, 1} + return fileDescriptor_8aa93e54ccb19003, []int{33, 1} } func (m *ServiceExportData_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2757,7 +2635,7 @@ func (m *ServiceGetConfiguration) Reset() { *m = ServiceGetConfiguration func (m *ServiceGetConfiguration) String() string { return proto.CompactTextString(m) } func (*ServiceGetConfiguration) ProtoMessage() {} func (*ServiceGetConfiguration) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{36} + return fileDescriptor_8aa93e54ccb19003, []int{34} } func (m *ServiceGetConfiguration) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2796,7 +2674,7 @@ func (m *ServiceGetConfiguration_Request) Reset() { *m = ServiceGetConfi func (m *ServiceGetConfiguration_Request) String() string { return proto.CompactTextString(m) } func (*ServiceGetConfiguration_Request) ProtoMessage() {} func (*ServiceGetConfiguration_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{36, 0} + return fileDescriptor_8aa93e54ccb19003, []int{34, 0} } func (m *ServiceGetConfiguration_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2849,7 +2727,7 @@ func (m *ServiceGetConfiguration_Reply) Reset() { *m = ServiceGetConfigu func (m *ServiceGetConfiguration_Reply) String() string { return proto.CompactTextString(m) } func (*ServiceGetConfiguration_Reply) ProtoMessage() {} func (*ServiceGetConfiguration_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{36, 1} + return fileDescriptor_8aa93e54ccb19003, []int{34, 1} } func (m *ServiceGetConfiguration_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2951,7 +2829,7 @@ func (m *ContactRequestReference) Reset() { *m = ContactRequestReference func (m *ContactRequestReference) String() string { return proto.CompactTextString(m) } func (*ContactRequestReference) ProtoMessage() {} func (*ContactRequestReference) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{37} + return fileDescriptor_8aa93e54ccb19003, []int{35} } func (m *ContactRequestReference) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2990,7 +2868,7 @@ func (m *ContactRequestReference_Request) Reset() { *m = ContactRequestR func (m *ContactRequestReference_Request) String() string { return proto.CompactTextString(m) } func (*ContactRequestReference_Request) ProtoMessage() {} func (*ContactRequestReference_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{37, 0} + return fileDescriptor_8aa93e54ccb19003, []int{35, 0} } func (m *ContactRequestReference_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3033,7 +2911,7 @@ func (m *ContactRequestReference_Reply) Reset() { *m = ContactRequestRef func (m *ContactRequestReference_Reply) String() string { return proto.CompactTextString(m) } func (*ContactRequestReference_Reply) ProtoMessage() {} func (*ContactRequestReference_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{37, 1} + return fileDescriptor_8aa93e54ccb19003, []int{35, 1} } func (m *ContactRequestReference_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3086,7 +2964,7 @@ func (m *ContactRequestDisable) Reset() { *m = ContactRequestDisable{} } func (m *ContactRequestDisable) String() string { return proto.CompactTextString(m) } func (*ContactRequestDisable) ProtoMessage() {} func (*ContactRequestDisable) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{38} + return fileDescriptor_8aa93e54ccb19003, []int{36} } func (m *ContactRequestDisable) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3125,7 +3003,7 @@ func (m *ContactRequestDisable_Request) Reset() { *m = ContactRequestDis func (m *ContactRequestDisable_Request) String() string { return proto.CompactTextString(m) } func (*ContactRequestDisable_Request) ProtoMessage() {} func (*ContactRequestDisable_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{38, 0} + return fileDescriptor_8aa93e54ccb19003, []int{36, 0} } func (m *ContactRequestDisable_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3164,7 +3042,7 @@ func (m *ContactRequestDisable_Reply) Reset() { *m = ContactRequestDisab func (m *ContactRequestDisable_Reply) String() string { return proto.CompactTextString(m) } func (*ContactRequestDisable_Reply) ProtoMessage() {} func (*ContactRequestDisable_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{38, 1} + return fileDescriptor_8aa93e54ccb19003, []int{36, 1} } func (m *ContactRequestDisable_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3203,7 +3081,7 @@ func (m *ContactRequestEnable) Reset() { *m = ContactRequestEnable{} } func (m *ContactRequestEnable) String() string { return proto.CompactTextString(m) } func (*ContactRequestEnable) ProtoMessage() {} func (*ContactRequestEnable) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{39} + return fileDescriptor_8aa93e54ccb19003, []int{37} } func (m *ContactRequestEnable) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3242,7 +3120,7 @@ func (m *ContactRequestEnable_Request) Reset() { *m = ContactRequestEnab func (m *ContactRequestEnable_Request) String() string { return proto.CompactTextString(m) } func (*ContactRequestEnable_Request) ProtoMessage() {} func (*ContactRequestEnable_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{39, 0} + return fileDescriptor_8aa93e54ccb19003, []int{37, 0} } func (m *ContactRequestEnable_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3283,7 +3161,7 @@ func (m *ContactRequestEnable_Reply) Reset() { *m = ContactRequestEnable func (m *ContactRequestEnable_Reply) String() string { return proto.CompactTextString(m) } func (*ContactRequestEnable_Reply) ProtoMessage() {} func (*ContactRequestEnable_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{39, 1} + return fileDescriptor_8aa93e54ccb19003, []int{37, 1} } func (m *ContactRequestEnable_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3329,7 +3207,7 @@ func (m *ContactRequestResetReference) Reset() { *m = ContactRequestRese func (m *ContactRequestResetReference) String() string { return proto.CompactTextString(m) } func (*ContactRequestResetReference) ProtoMessage() {} func (*ContactRequestResetReference) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{40} + return fileDescriptor_8aa93e54ccb19003, []int{38} } func (m *ContactRequestResetReference) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3368,7 +3246,7 @@ func (m *ContactRequestResetReference_Request) Reset() { *m = ContactReq func (m *ContactRequestResetReference_Request) String() string { return proto.CompactTextString(m) } func (*ContactRequestResetReference_Request) ProtoMessage() {} func (*ContactRequestResetReference_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{40, 0} + return fileDescriptor_8aa93e54ccb19003, []int{38, 0} } func (m *ContactRequestResetReference_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3409,7 +3287,7 @@ func (m *ContactRequestResetReference_Reply) Reset() { *m = ContactReque func (m *ContactRequestResetReference_Reply) String() string { return proto.CompactTextString(m) } func (*ContactRequestResetReference_Reply) ProtoMessage() {} func (*ContactRequestResetReference_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{40, 1} + return fileDescriptor_8aa93e54ccb19003, []int{38, 1} } func (m *ContactRequestResetReference_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3455,7 +3333,7 @@ func (m *ContactRequestSend) Reset() { *m = ContactRequestSend{} } func (m *ContactRequestSend) String() string { return proto.CompactTextString(m) } func (*ContactRequestSend) ProtoMessage() {} func (*ContactRequestSend) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{41} + return fileDescriptor_8aa93e54ccb19003, []int{39} } func (m *ContactRequestSend) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3498,7 +3376,7 @@ func (m *ContactRequestSend_Request) Reset() { *m = ContactRequestSend_R func (m *ContactRequestSend_Request) String() string { return proto.CompactTextString(m) } func (*ContactRequestSend_Request) ProtoMessage() {} func (*ContactRequestSend_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{41, 0} + return fileDescriptor_8aa93e54ccb19003, []int{39, 0} } func (m *ContactRequestSend_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3551,7 +3429,7 @@ func (m *ContactRequestSend_Reply) Reset() { *m = ContactRequestSend_Rep func (m *ContactRequestSend_Reply) String() string { return proto.CompactTextString(m) } func (*ContactRequestSend_Reply) ProtoMessage() {} func (*ContactRequestSend_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{41, 1} + return fileDescriptor_8aa93e54ccb19003, []int{39, 1} } func (m *ContactRequestSend_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3590,7 +3468,7 @@ func (m *ContactRequestAccept) Reset() { *m = ContactRequestAccept{} } func (m *ContactRequestAccept) String() string { return proto.CompactTextString(m) } func (*ContactRequestAccept) ProtoMessage() {} func (*ContactRequestAccept) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{42} + return fileDescriptor_8aa93e54ccb19003, []int{40} } func (m *ContactRequestAccept) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3631,7 +3509,7 @@ func (m *ContactRequestAccept_Request) Reset() { *m = ContactRequestAcce func (m *ContactRequestAccept_Request) String() string { return proto.CompactTextString(m) } func (*ContactRequestAccept_Request) ProtoMessage() {} func (*ContactRequestAccept_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{42, 0} + return fileDescriptor_8aa93e54ccb19003, []int{40, 0} } func (m *ContactRequestAccept_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3677,7 +3555,7 @@ func (m *ContactRequestAccept_Reply) Reset() { *m = ContactRequestAccept func (m *ContactRequestAccept_Reply) String() string { return proto.CompactTextString(m) } func (*ContactRequestAccept_Reply) ProtoMessage() {} func (*ContactRequestAccept_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{42, 1} + return fileDescriptor_8aa93e54ccb19003, []int{40, 1} } func (m *ContactRequestAccept_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3716,7 +3594,7 @@ func (m *ContactRequestDiscard) Reset() { *m = ContactRequestDiscard{} } func (m *ContactRequestDiscard) String() string { return proto.CompactTextString(m) } func (*ContactRequestDiscard) ProtoMessage() {} func (*ContactRequestDiscard) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{43} + return fileDescriptor_8aa93e54ccb19003, []int{41} } func (m *ContactRequestDiscard) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3757,7 +3635,7 @@ func (m *ContactRequestDiscard_Request) Reset() { *m = ContactRequestDis func (m *ContactRequestDiscard_Request) String() string { return proto.CompactTextString(m) } func (*ContactRequestDiscard_Request) ProtoMessage() {} func (*ContactRequestDiscard_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{43, 0} + return fileDescriptor_8aa93e54ccb19003, []int{41, 0} } func (m *ContactRequestDiscard_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3803,7 +3681,7 @@ func (m *ContactRequestDiscard_Reply) Reset() { *m = ContactRequestDisca func (m *ContactRequestDiscard_Reply) String() string { return proto.CompactTextString(m) } func (*ContactRequestDiscard_Reply) ProtoMessage() {} func (*ContactRequestDiscard_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{43, 1} + return fileDescriptor_8aa93e54ccb19003, []int{41, 1} } func (m *ContactRequestDiscard_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3842,7 +3720,7 @@ func (m *ShareContact) Reset() { *m = ShareContact{} } func (m *ShareContact) String() string { return proto.CompactTextString(m) } func (*ShareContact) ProtoMessage() {} func (*ShareContact) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{44} + return fileDescriptor_8aa93e54ccb19003, []int{42} } func (m *ShareContact) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3881,7 +3759,7 @@ func (m *ShareContact_Request) Reset() { *m = ShareContact_Request{} } func (m *ShareContact_Request) String() string { return proto.CompactTextString(m) } func (*ShareContact_Request) ProtoMessage() {} func (*ShareContact_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{44, 0} + return fileDescriptor_8aa93e54ccb19003, []int{42, 0} } func (m *ShareContact_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3922,7 +3800,7 @@ func (m *ShareContact_Reply) Reset() { *m = ShareContact_Reply{} } func (m *ShareContact_Reply) String() string { return proto.CompactTextString(m) } func (*ShareContact_Reply) ProtoMessage() {} func (*ShareContact_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{44, 1} + return fileDescriptor_8aa93e54ccb19003, []int{42, 1} } func (m *ShareContact_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3968,7 +3846,7 @@ func (m *DecodeContact) Reset() { *m = DecodeContact{} } func (m *DecodeContact) String() string { return proto.CompactTextString(m) } func (*DecodeContact) ProtoMessage() {} func (*DecodeContact) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{45} + return fileDescriptor_8aa93e54ccb19003, []int{43} } func (m *DecodeContact) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4009,7 +3887,7 @@ func (m *DecodeContact_Request) Reset() { *m = DecodeContact_Request{} } func (m *DecodeContact_Request) String() string { return proto.CompactTextString(m) } func (*DecodeContact_Request) ProtoMessage() {} func (*DecodeContact_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{45, 0} + return fileDescriptor_8aa93e54ccb19003, []int{43, 0} } func (m *DecodeContact_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4057,7 +3935,7 @@ func (m *DecodeContact_Reply) Reset() { *m = DecodeContact_Reply{} } func (m *DecodeContact_Reply) String() string { return proto.CompactTextString(m) } func (*DecodeContact_Reply) ProtoMessage() {} func (*DecodeContact_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{45, 1} + return fileDescriptor_8aa93e54ccb19003, []int{43, 1} } func (m *DecodeContact_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4103,7 +3981,7 @@ func (m *ContactBlock) Reset() { *m = ContactBlock{} } func (m *ContactBlock) String() string { return proto.CompactTextString(m) } func (*ContactBlock) ProtoMessage() {} func (*ContactBlock) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{46} + return fileDescriptor_8aa93e54ccb19003, []int{44} } func (m *ContactBlock) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4144,7 +4022,7 @@ func (m *ContactBlock_Request) Reset() { *m = ContactBlock_Request{} } func (m *ContactBlock_Request) String() string { return proto.CompactTextString(m) } func (*ContactBlock_Request) ProtoMessage() {} func (*ContactBlock_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{46, 0} + return fileDescriptor_8aa93e54ccb19003, []int{44, 0} } func (m *ContactBlock_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4190,7 +4068,7 @@ func (m *ContactBlock_Reply) Reset() { *m = ContactBlock_Reply{} } func (m *ContactBlock_Reply) String() string { return proto.CompactTextString(m) } func (*ContactBlock_Reply) ProtoMessage() {} func (*ContactBlock_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{46, 1} + return fileDescriptor_8aa93e54ccb19003, []int{44, 1} } func (m *ContactBlock_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4229,7 +4107,7 @@ func (m *ContactUnblock) Reset() { *m = ContactUnblock{} } func (m *ContactUnblock) String() string { return proto.CompactTextString(m) } func (*ContactUnblock) ProtoMessage() {} func (*ContactUnblock) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{47} + return fileDescriptor_8aa93e54ccb19003, []int{45} } func (m *ContactUnblock) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4270,7 +4148,7 @@ func (m *ContactUnblock_Request) Reset() { *m = ContactUnblock_Request{} func (m *ContactUnblock_Request) String() string { return proto.CompactTextString(m) } func (*ContactUnblock_Request) ProtoMessage() {} func (*ContactUnblock_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{47, 0} + return fileDescriptor_8aa93e54ccb19003, []int{45, 0} } func (m *ContactUnblock_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4316,7 +4194,7 @@ func (m *ContactUnblock_Reply) Reset() { *m = ContactUnblock_Reply{} } func (m *ContactUnblock_Reply) String() string { return proto.CompactTextString(m) } func (*ContactUnblock_Reply) ProtoMessage() {} func (*ContactUnblock_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{47, 1} + return fileDescriptor_8aa93e54ccb19003, []int{45, 1} } func (m *ContactUnblock_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4355,7 +4233,7 @@ func (m *ContactAliasKeySend) Reset() { *m = ContactAliasKeySend{} } func (m *ContactAliasKeySend) String() string { return proto.CompactTextString(m) } func (*ContactAliasKeySend) ProtoMessage() {} func (*ContactAliasKeySend) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{48} + return fileDescriptor_8aa93e54ccb19003, []int{46} } func (m *ContactAliasKeySend) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4396,7 +4274,7 @@ func (m *ContactAliasKeySend_Request) Reset() { *m = ContactAliasKeySend func (m *ContactAliasKeySend_Request) String() string { return proto.CompactTextString(m) } func (*ContactAliasKeySend_Request) ProtoMessage() {} func (*ContactAliasKeySend_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{48, 0} + return fileDescriptor_8aa93e54ccb19003, []int{46, 0} } func (m *ContactAliasKeySend_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4442,7 +4320,7 @@ func (m *ContactAliasKeySend_Reply) Reset() { *m = ContactAliasKeySend_R func (m *ContactAliasKeySend_Reply) String() string { return proto.CompactTextString(m) } func (*ContactAliasKeySend_Reply) ProtoMessage() {} func (*ContactAliasKeySend_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{48, 1} + return fileDescriptor_8aa93e54ccb19003, []int{46, 1} } func (m *ContactAliasKeySend_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4481,7 +4359,7 @@ func (m *MultiMemberGroupCreate) Reset() { *m = MultiMemberGroupCreate{} func (m *MultiMemberGroupCreate) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupCreate) ProtoMessage() {} func (*MultiMemberGroupCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{49} + return fileDescriptor_8aa93e54ccb19003, []int{47} } func (m *MultiMemberGroupCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4520,7 +4398,7 @@ func (m *MultiMemberGroupCreate_Request) Reset() { *m = MultiMemberGroup func (m *MultiMemberGroupCreate_Request) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupCreate_Request) ProtoMessage() {} func (*MultiMemberGroupCreate_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{49, 0} + return fileDescriptor_8aa93e54ccb19003, []int{47, 0} } func (m *MultiMemberGroupCreate_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4561,7 +4439,7 @@ func (m *MultiMemberGroupCreate_Reply) Reset() { *m = MultiMemberGroupCr func (m *MultiMemberGroupCreate_Reply) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupCreate_Reply) ProtoMessage() {} func (*MultiMemberGroupCreate_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{49, 1} + return fileDescriptor_8aa93e54ccb19003, []int{47, 1} } func (m *MultiMemberGroupCreate_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4607,7 +4485,7 @@ func (m *MultiMemberGroupJoin) Reset() { *m = MultiMemberGroupJoin{} } func (m *MultiMemberGroupJoin) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupJoin) ProtoMessage() {} func (*MultiMemberGroupJoin) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{50} + return fileDescriptor_8aa93e54ccb19003, []int{48} } func (m *MultiMemberGroupJoin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4648,7 +4526,7 @@ func (m *MultiMemberGroupJoin_Request) Reset() { *m = MultiMemberGroupJo func (m *MultiMemberGroupJoin_Request) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupJoin_Request) ProtoMessage() {} func (*MultiMemberGroupJoin_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{50, 0} + return fileDescriptor_8aa93e54ccb19003, []int{48, 0} } func (m *MultiMemberGroupJoin_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4694,7 +4572,7 @@ func (m *MultiMemberGroupJoin_Reply) Reset() { *m = MultiMemberGroupJoin func (m *MultiMemberGroupJoin_Reply) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupJoin_Reply) ProtoMessage() {} func (*MultiMemberGroupJoin_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{50, 1} + return fileDescriptor_8aa93e54ccb19003, []int{48, 1} } func (m *MultiMemberGroupJoin_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4733,7 +4611,7 @@ func (m *MultiMemberGroupLeave) Reset() { *m = MultiMemberGroupLeave{} } func (m *MultiMemberGroupLeave) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupLeave) ProtoMessage() {} func (*MultiMemberGroupLeave) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{51} + return fileDescriptor_8aa93e54ccb19003, []int{49} } func (m *MultiMemberGroupLeave) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4773,7 +4651,7 @@ func (m *MultiMemberGroupLeave_Request) Reset() { *m = MultiMemberGroupL func (m *MultiMemberGroupLeave_Request) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupLeave_Request) ProtoMessage() {} func (*MultiMemberGroupLeave_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{51, 0} + return fileDescriptor_8aa93e54ccb19003, []int{49, 0} } func (m *MultiMemberGroupLeave_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4819,7 +4697,7 @@ func (m *MultiMemberGroupLeave_Reply) Reset() { *m = MultiMemberGroupLea func (m *MultiMemberGroupLeave_Reply) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupLeave_Reply) ProtoMessage() {} func (*MultiMemberGroupLeave_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{51, 1} + return fileDescriptor_8aa93e54ccb19003, []int{49, 1} } func (m *MultiMemberGroupLeave_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4858,7 +4736,7 @@ func (m *MultiMemberGroupAliasResolverDisclose) Reset() { *m = MultiMemb func (m *MultiMemberGroupAliasResolverDisclose) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupAliasResolverDisclose) ProtoMessage() {} func (*MultiMemberGroupAliasResolverDisclose) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{52} + return fileDescriptor_8aa93e54ccb19003, []int{50} } func (m *MultiMemberGroupAliasResolverDisclose) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4903,7 +4781,7 @@ func (m *MultiMemberGroupAliasResolverDisclose_Request) String() string { } func (*MultiMemberGroupAliasResolverDisclose_Request) ProtoMessage() {} func (*MultiMemberGroupAliasResolverDisclose_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{52, 0} + return fileDescriptor_8aa93e54ccb19003, []int{50, 0} } func (m *MultiMemberGroupAliasResolverDisclose_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4953,7 +4831,7 @@ func (m *MultiMemberGroupAliasResolverDisclose_Reply) String() string { } func (*MultiMemberGroupAliasResolverDisclose_Reply) ProtoMessage() {} func (*MultiMemberGroupAliasResolverDisclose_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{52, 1} + return fileDescriptor_8aa93e54ccb19003, []int{50, 1} } func (m *MultiMemberGroupAliasResolverDisclose_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4992,7 +4870,7 @@ func (m *MultiMemberGroupAdminRoleGrant) Reset() { *m = MultiMemberGroup func (m *MultiMemberGroupAdminRoleGrant) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupAdminRoleGrant) ProtoMessage() {} func (*MultiMemberGroupAdminRoleGrant) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{53} + return fileDescriptor_8aa93e54ccb19003, []int{51} } func (m *MultiMemberGroupAdminRoleGrant) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5037,7 +4915,7 @@ func (m *MultiMemberGroupAdminRoleGrant_Request) Reset() { func (m *MultiMemberGroupAdminRoleGrant_Request) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupAdminRoleGrant_Request) ProtoMessage() {} func (*MultiMemberGroupAdminRoleGrant_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{53, 0} + return fileDescriptor_8aa93e54ccb19003, []int{51, 0} } func (m *MultiMemberGroupAdminRoleGrant_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5090,7 +4968,7 @@ func (m *MultiMemberGroupAdminRoleGrant_Reply) Reset() { *m = MultiMembe func (m *MultiMemberGroupAdminRoleGrant_Reply) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupAdminRoleGrant_Reply) ProtoMessage() {} func (*MultiMemberGroupAdminRoleGrant_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{53, 1} + return fileDescriptor_8aa93e54ccb19003, []int{51, 1} } func (m *MultiMemberGroupAdminRoleGrant_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5129,7 +5007,7 @@ func (m *MultiMemberGroupInvitationCreate) Reset() { *m = MultiMemberGro func (m *MultiMemberGroupInvitationCreate) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupInvitationCreate) ProtoMessage() {} func (*MultiMemberGroupInvitationCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{54} + return fileDescriptor_8aa93e54ccb19003, []int{52} } func (m *MultiMemberGroupInvitationCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5172,7 +5050,7 @@ func (m *MultiMemberGroupInvitationCreate_Request) Reset() { func (m *MultiMemberGroupInvitationCreate_Request) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupInvitationCreate_Request) ProtoMessage() {} func (*MultiMemberGroupInvitationCreate_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{54, 0} + return fileDescriptor_8aa93e54ccb19003, []int{52, 0} } func (m *MultiMemberGroupInvitationCreate_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5222,7 +5100,7 @@ func (m *MultiMemberGroupInvitationCreate_Reply) Reset() { func (m *MultiMemberGroupInvitationCreate_Reply) String() string { return proto.CompactTextString(m) } func (*MultiMemberGroupInvitationCreate_Reply) ProtoMessage() {} func (*MultiMemberGroupInvitationCreate_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{54, 1} + return fileDescriptor_8aa93e54ccb19003, []int{52, 1} } func (m *MultiMemberGroupInvitationCreate_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5268,7 +5146,7 @@ func (m *AppMetadataSend) Reset() { *m = AppMetadataSend{} } func (m *AppMetadataSend) String() string { return proto.CompactTextString(m) } func (*AppMetadataSend) ProtoMessage() {} func (*AppMetadataSend) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{55} + return fileDescriptor_8aa93e54ccb19003, []int{53} } func (m *AppMetadataSend) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5311,7 +5189,7 @@ func (m *AppMetadataSend_Request) Reset() { *m = AppMetadataSend_Request func (m *AppMetadataSend_Request) String() string { return proto.CompactTextString(m) } func (*AppMetadataSend_Request) ProtoMessage() {} func (*AppMetadataSend_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{55, 0} + return fileDescriptor_8aa93e54ccb19003, []int{53, 0} } func (m *AppMetadataSend_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5365,7 +5243,7 @@ func (m *AppMetadataSend_Reply) Reset() { *m = AppMetadataSend_Reply{} } func (m *AppMetadataSend_Reply) String() string { return proto.CompactTextString(m) } func (*AppMetadataSend_Reply) ProtoMessage() {} func (*AppMetadataSend_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{55, 1} + return fileDescriptor_8aa93e54ccb19003, []int{53, 1} } func (m *AppMetadataSend_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5411,7 +5289,7 @@ func (m *AppMessageSend) Reset() { *m = AppMessageSend{} } func (m *AppMessageSend) String() string { return proto.CompactTextString(m) } func (*AppMessageSend) ProtoMessage() {} func (*AppMessageSend) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{56} + return fileDescriptor_8aa93e54ccb19003, []int{54} } func (m *AppMessageSend) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5454,7 +5332,7 @@ func (m *AppMessageSend_Request) Reset() { *m = AppMessageSend_Request{} func (m *AppMessageSend_Request) String() string { return proto.CompactTextString(m) } func (*AppMessageSend_Request) ProtoMessage() {} func (*AppMessageSend_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{56, 0} + return fileDescriptor_8aa93e54ccb19003, []int{54, 0} } func (m *AppMessageSend_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5508,7 +5386,7 @@ func (m *AppMessageSend_Reply) Reset() { *m = AppMessageSend_Reply{} } func (m *AppMessageSend_Reply) String() string { return proto.CompactTextString(m) } func (*AppMessageSend_Reply) ProtoMessage() {} func (*AppMessageSend_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{56, 1} + return fileDescriptor_8aa93e54ccb19003, []int{54, 1} } func (m *AppMessageSend_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5560,7 +5438,7 @@ func (m *GroupMetadataEvent) Reset() { *m = GroupMetadataEvent{} } func (m *GroupMetadataEvent) String() string { return proto.CompactTextString(m) } func (*GroupMetadataEvent) ProtoMessage() {} func (*GroupMetadataEvent) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{57} + return fileDescriptor_8aa93e54ccb19003, []int{55} } func (m *GroupMetadataEvent) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5626,7 +5504,7 @@ func (m *GroupMessageEvent) Reset() { *m = GroupMessageEvent{} } func (m *GroupMessageEvent) String() string { return proto.CompactTextString(m) } func (*GroupMessageEvent) ProtoMessage() {} func (*GroupMessageEvent) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{58} + return fileDescriptor_8aa93e54ccb19003, []int{56} } func (m *GroupMessageEvent) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5686,7 +5564,7 @@ func (m *GroupMetadataList) Reset() { *m = GroupMetadataList{} } func (m *GroupMetadataList) String() string { return proto.CompactTextString(m) } func (*GroupMetadataList) ProtoMessage() {} func (*GroupMetadataList) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{59} + return fileDescriptor_8aa93e54ccb19003, []int{57} } func (m *GroupMetadataList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5742,7 +5620,7 @@ func (m *GroupMetadataList_Request) Reset() { *m = GroupMetadataList_Req func (m *GroupMetadataList_Request) String() string { return proto.CompactTextString(m) } func (*GroupMetadataList_Request) ProtoMessage() {} func (*GroupMetadataList_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{59, 0} + return fileDescriptor_8aa93e54ccb19003, []int{57, 0} } func (m *GroupMetadataList_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5823,7 +5701,7 @@ func (m *GroupMessageList) Reset() { *m = GroupMessageList{} } func (m *GroupMessageList) String() string { return proto.CompactTextString(m) } func (*GroupMessageList) ProtoMessage() {} func (*GroupMessageList) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{60} + return fileDescriptor_8aa93e54ccb19003, []int{58} } func (m *GroupMessageList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5879,7 +5757,7 @@ func (m *GroupMessageList_Request) Reset() { *m = GroupMessageList_Reque func (m *GroupMessageList_Request) String() string { return proto.CompactTextString(m) } func (*GroupMessageList_Request) ProtoMessage() {} func (*GroupMessageList_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{60, 0} + return fileDescriptor_8aa93e54ccb19003, []int{58, 0} } func (m *GroupMessageList_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5960,7 +5838,7 @@ func (m *GroupInfo) Reset() { *m = GroupInfo{} } func (m *GroupInfo) String() string { return proto.CompactTextString(m) } func (*GroupInfo) ProtoMessage() {} func (*GroupInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{61} + return fileDescriptor_8aa93e54ccb19003, []int{59} } func (m *GroupInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6003,7 +5881,7 @@ func (m *GroupInfo_Request) Reset() { *m = GroupInfo_Request{} } func (m *GroupInfo_Request) String() string { return proto.CompactTextString(m) } func (*GroupInfo_Request) ProtoMessage() {} func (*GroupInfo_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{61, 0} + return fileDescriptor_8aa93e54ccb19003, []int{59, 0} } func (m *GroupInfo_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6062,7 +5940,7 @@ func (m *GroupInfo_Reply) Reset() { *m = GroupInfo_Reply{} } func (m *GroupInfo_Reply) String() string { return proto.CompactTextString(m) } func (*GroupInfo_Reply) ProtoMessage() {} func (*GroupInfo_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{61, 1} + return fileDescriptor_8aa93e54ccb19003, []int{59, 1} } func (m *GroupInfo_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6122,7 +6000,7 @@ func (m *ActivateGroup) Reset() { *m = ActivateGroup{} } func (m *ActivateGroup) String() string { return proto.CompactTextString(m) } func (*ActivateGroup) ProtoMessage() {} func (*ActivateGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{62} + return fileDescriptor_8aa93e54ccb19003, []int{60} } func (m *ActivateGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6166,7 +6044,7 @@ func (m *ActivateGroup_Request) Reset() { *m = ActivateGroup_Request{} } func (m *ActivateGroup_Request) String() string { return proto.CompactTextString(m) } func (*ActivateGroup_Request) ProtoMessage() {} func (*ActivateGroup_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{62, 0} + return fileDescriptor_8aa93e54ccb19003, []int{60, 0} } func (m *ActivateGroup_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6219,7 +6097,7 @@ func (m *ActivateGroup_Reply) Reset() { *m = ActivateGroup_Reply{} } func (m *ActivateGroup_Reply) String() string { return proto.CompactTextString(m) } func (*ActivateGroup_Reply) ProtoMessage() {} func (*ActivateGroup_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{62, 1} + return fileDescriptor_8aa93e54ccb19003, []int{60, 1} } func (m *ActivateGroup_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6258,7 +6136,7 @@ func (m *DeactivateGroup) Reset() { *m = DeactivateGroup{} } func (m *DeactivateGroup) String() string { return proto.CompactTextString(m) } func (*DeactivateGroup) ProtoMessage() {} func (*DeactivateGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{63} + return fileDescriptor_8aa93e54ccb19003, []int{61} } func (m *DeactivateGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6299,7 +6177,7 @@ func (m *DeactivateGroup_Request) Reset() { *m = DeactivateGroup_Request func (m *DeactivateGroup_Request) String() string { return proto.CompactTextString(m) } func (*DeactivateGroup_Request) ProtoMessage() {} func (*DeactivateGroup_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{63, 0} + return fileDescriptor_8aa93e54ccb19003, []int{61, 0} } func (m *DeactivateGroup_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6345,7 +6223,7 @@ func (m *DeactivateGroup_Reply) Reset() { *m = DeactivateGroup_Reply{} } func (m *DeactivateGroup_Reply) String() string { return proto.CompactTextString(m) } func (*DeactivateGroup_Reply) ProtoMessage() {} func (*DeactivateGroup_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{63, 1} + return fileDescriptor_8aa93e54ccb19003, []int{61, 1} } func (m *DeactivateGroup_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6384,7 +6262,7 @@ func (m *GroupDeviceStatus) Reset() { *m = GroupDeviceStatus{} } func (m *GroupDeviceStatus) String() string { return proto.CompactTextString(m) } func (*GroupDeviceStatus) ProtoMessage() {} func (*GroupDeviceStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{64} + return fileDescriptor_8aa93e54ccb19003, []int{62} } func (m *GroupDeviceStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6424,7 +6302,7 @@ func (m *GroupDeviceStatus_Request) Reset() { *m = GroupDeviceStatus_Req func (m *GroupDeviceStatus_Request) String() string { return proto.CompactTextString(m) } func (*GroupDeviceStatus_Request) ProtoMessage() {} func (*GroupDeviceStatus_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{64, 0} + return fileDescriptor_8aa93e54ccb19003, []int{62, 0} } func (m *GroupDeviceStatus_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6472,7 +6350,7 @@ func (m *GroupDeviceStatus_Reply) Reset() { *m = GroupDeviceStatus_Reply func (m *GroupDeviceStatus_Reply) String() string { return proto.CompactTextString(m) } func (*GroupDeviceStatus_Reply) ProtoMessage() {} func (*GroupDeviceStatus_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{64, 1} + return fileDescriptor_8aa93e54ccb19003, []int{62, 1} } func (m *GroupDeviceStatus_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6529,7 +6407,7 @@ func (m *GroupDeviceStatus_Reply_PeerConnected) Reset() { *m = GroupDevi func (m *GroupDeviceStatus_Reply_PeerConnected) String() string { return proto.CompactTextString(m) } func (*GroupDeviceStatus_Reply_PeerConnected) ProtoMessage() {} func (*GroupDeviceStatus_Reply_PeerConnected) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{64, 1, 0} + return fileDescriptor_8aa93e54ccb19003, []int{62, 1, 0} } func (m *GroupDeviceStatus_Reply_PeerConnected) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6599,7 +6477,7 @@ func (m *GroupDeviceStatus_Reply_PeerReconnecting) Reset() { func (m *GroupDeviceStatus_Reply_PeerReconnecting) String() string { return proto.CompactTextString(m) } func (*GroupDeviceStatus_Reply_PeerReconnecting) ProtoMessage() {} func (*GroupDeviceStatus_Reply_PeerReconnecting) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{64, 1, 1} + return fileDescriptor_8aa93e54ccb19003, []int{62, 1, 1} } func (m *GroupDeviceStatus_Reply_PeerReconnecting) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6648,7 +6526,7 @@ func (m *GroupDeviceStatus_Reply_PeerDisconnected) Reset() { func (m *GroupDeviceStatus_Reply_PeerDisconnected) String() string { return proto.CompactTextString(m) } func (*GroupDeviceStatus_Reply_PeerDisconnected) ProtoMessage() {} func (*GroupDeviceStatus_Reply_PeerDisconnected) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{64, 1, 2} + return fileDescriptor_8aa93e54ccb19003, []int{62, 1, 2} } func (m *GroupDeviceStatus_Reply_PeerDisconnected) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6694,7 +6572,7 @@ func (m *DebugListGroups) Reset() { *m = DebugListGroups{} } func (m *DebugListGroups) String() string { return proto.CompactTextString(m) } func (*DebugListGroups) ProtoMessage() {} func (*DebugListGroups) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{65} + return fileDescriptor_8aa93e54ccb19003, []int{63} } func (m *DebugListGroups) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6733,7 +6611,7 @@ func (m *DebugListGroups_Request) Reset() { *m = DebugListGroups_Request func (m *DebugListGroups_Request) String() string { return proto.CompactTextString(m) } func (*DebugListGroups_Request) ProtoMessage() {} func (*DebugListGroups_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{65, 0} + return fileDescriptor_8aa93e54ccb19003, []int{63, 0} } func (m *DebugListGroups_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6778,7 +6656,7 @@ func (m *DebugListGroups_Reply) Reset() { *m = DebugListGroups_Reply{} } func (m *DebugListGroups_Reply) String() string { return proto.CompactTextString(m) } func (*DebugListGroups_Reply) ProtoMessage() {} func (*DebugListGroups_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{65, 1} + return fileDescriptor_8aa93e54ccb19003, []int{63, 1} } func (m *DebugListGroups_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6838,7 +6716,7 @@ func (m *DebugInspectGroupStore) Reset() { *m = DebugInspectGroupStore{} func (m *DebugInspectGroupStore) String() string { return proto.CompactTextString(m) } func (*DebugInspectGroupStore) ProtoMessage() {} func (*DebugInspectGroupStore) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{66} + return fileDescriptor_8aa93e54ccb19003, []int{64} } func (m *DebugInspectGroupStore) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6881,7 +6759,7 @@ func (m *DebugInspectGroupStore_Request) Reset() { *m = DebugInspectGrou func (m *DebugInspectGroupStore_Request) String() string { return proto.CompactTextString(m) } func (*DebugInspectGroupStore_Request) ProtoMessage() {} func (*DebugInspectGroupStore_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{66, 0} + return fileDescriptor_8aa93e54ccb19003, []int{64, 0} } func (m *DebugInspectGroupStore_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6944,7 +6822,7 @@ func (m *DebugInspectGroupStore_Reply) Reset() { *m = DebugInspectGroupS func (m *DebugInspectGroupStore_Reply) String() string { return proto.CompactTextString(m) } func (*DebugInspectGroupStore_Reply) ProtoMessage() {} func (*DebugInspectGroupStore_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{66, 1} + return fileDescriptor_8aa93e54ccb19003, []int{64, 1} } func (m *DebugInspectGroupStore_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7018,7 +6896,7 @@ func (m *DebugGroup) Reset() { *m = DebugGroup{} } func (m *DebugGroup) String() string { return proto.CompactTextString(m) } func (*DebugGroup) ProtoMessage() {} func (*DebugGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{67} + return fileDescriptor_8aa93e54ccb19003, []int{65} } func (m *DebugGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7059,7 +6937,7 @@ func (m *DebugGroup_Request) Reset() { *m = DebugGroup_Request{} } func (m *DebugGroup_Request) String() string { return proto.CompactTextString(m) } func (*DebugGroup_Request) ProtoMessage() {} func (*DebugGroup_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{67, 0} + return fileDescriptor_8aa93e54ccb19003, []int{65, 0} } func (m *DebugGroup_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7107,7 +6985,7 @@ func (m *DebugGroup_Reply) Reset() { *m = DebugGroup_Reply{} } func (m *DebugGroup_Reply) String() string { return proto.CompactTextString(m) } func (*DebugGroup_Reply) ProtoMessage() {} func (*DebugGroup_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{67, 1} + return fileDescriptor_8aa93e54ccb19003, []int{65, 1} } func (m *DebugGroup_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7143,218 +7021,6 @@ func (m *DebugGroup_Reply) GetPeerIDs() []string { return nil } -type AuthExchangeResponse struct { - AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` - Scope string `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"` - Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` - ErrorDescription string `protobuf:"bytes,4,opt,name=error_description,json=errorDescription,proto3" json:"error_description,omitempty"` - Services map[string]string `protobuf:"bytes,5,rep,name=services,proto3" json:"services,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AuthExchangeResponse) Reset() { *m = AuthExchangeResponse{} } -func (m *AuthExchangeResponse) String() string { return proto.CompactTextString(m) } -func (*AuthExchangeResponse) ProtoMessage() {} -func (*AuthExchangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{68} -} -func (m *AuthExchangeResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AuthExchangeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AuthExchangeResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *AuthExchangeResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_AuthExchangeResponse.Merge(m, src) -} -func (m *AuthExchangeResponse) XXX_Size() int { - return m.Size() -} -func (m *AuthExchangeResponse) XXX_DiscardUnknown() { - xxx_messageInfo_AuthExchangeResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_AuthExchangeResponse proto.InternalMessageInfo - -func (m *AuthExchangeResponse) GetAccessToken() string { - if m != nil { - return m.AccessToken - } - return "" -} - -func (m *AuthExchangeResponse) GetScope() string { - if m != nil { - return m.Scope - } - return "" -} - -func (m *AuthExchangeResponse) GetError() string { - if m != nil { - return m.Error - } - return "" -} - -func (m *AuthExchangeResponse) GetErrorDescription() string { - if m != nil { - return m.ErrorDescription - } - return "" -} - -func (m *AuthExchangeResponse) GetServices() map[string]string { - if m != nil { - return m.Services - } - return nil -} - -type DebugAuthServiceSetToken struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DebugAuthServiceSetToken) Reset() { *m = DebugAuthServiceSetToken{} } -func (m *DebugAuthServiceSetToken) String() string { return proto.CompactTextString(m) } -func (*DebugAuthServiceSetToken) ProtoMessage() {} -func (*DebugAuthServiceSetToken) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{69} -} -func (m *DebugAuthServiceSetToken) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DebugAuthServiceSetToken) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DebugAuthServiceSetToken.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *DebugAuthServiceSetToken) XXX_Merge(src proto.Message) { - xxx_messageInfo_DebugAuthServiceSetToken.Merge(m, src) -} -func (m *DebugAuthServiceSetToken) XXX_Size() int { - return m.Size() -} -func (m *DebugAuthServiceSetToken) XXX_DiscardUnknown() { - xxx_messageInfo_DebugAuthServiceSetToken.DiscardUnknown(m) -} - -var xxx_messageInfo_DebugAuthServiceSetToken proto.InternalMessageInfo - -type DebugAuthServiceSetToken_Request struct { - Token *AuthExchangeResponse `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` - AuthenticationURL string `protobuf:"bytes,2,opt,name=authentication_url,json=authenticationUrl,proto3" json:"authentication_url,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DebugAuthServiceSetToken_Request) Reset() { *m = DebugAuthServiceSetToken_Request{} } -func (m *DebugAuthServiceSetToken_Request) String() string { return proto.CompactTextString(m) } -func (*DebugAuthServiceSetToken_Request) ProtoMessage() {} -func (*DebugAuthServiceSetToken_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{69, 0} -} -func (m *DebugAuthServiceSetToken_Request) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DebugAuthServiceSetToken_Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DebugAuthServiceSetToken_Request.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *DebugAuthServiceSetToken_Request) XXX_Merge(src proto.Message) { - xxx_messageInfo_DebugAuthServiceSetToken_Request.Merge(m, src) -} -func (m *DebugAuthServiceSetToken_Request) XXX_Size() int { - return m.Size() -} -func (m *DebugAuthServiceSetToken_Request) XXX_DiscardUnknown() { - xxx_messageInfo_DebugAuthServiceSetToken_Request.DiscardUnknown(m) -} - -var xxx_messageInfo_DebugAuthServiceSetToken_Request proto.InternalMessageInfo - -func (m *DebugAuthServiceSetToken_Request) GetToken() *AuthExchangeResponse { - if m != nil { - return m.Token - } - return nil -} - -func (m *DebugAuthServiceSetToken_Request) GetAuthenticationURL() string { - if m != nil { - return m.AuthenticationURL - } - return "" -} - -type DebugAuthServiceSetToken_Reply struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DebugAuthServiceSetToken_Reply) Reset() { *m = DebugAuthServiceSetToken_Reply{} } -func (m *DebugAuthServiceSetToken_Reply) String() string { return proto.CompactTextString(m) } -func (*DebugAuthServiceSetToken_Reply) ProtoMessage() {} -func (*DebugAuthServiceSetToken_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{69, 1} -} -func (m *DebugAuthServiceSetToken_Reply) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DebugAuthServiceSetToken_Reply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DebugAuthServiceSetToken_Reply.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *DebugAuthServiceSetToken_Reply) XXX_Merge(src proto.Message) { - xxx_messageInfo_DebugAuthServiceSetToken_Reply.Merge(m, src) -} -func (m *DebugAuthServiceSetToken_Reply) XXX_Size() int { - return m.Size() -} -func (m *DebugAuthServiceSetToken_Reply) XXX_DiscardUnknown() { - xxx_messageInfo_DebugAuthServiceSetToken_Reply.DiscardUnknown(m) -} - -var xxx_messageInfo_DebugAuthServiceSetToken_Reply proto.InternalMessageInfo - type ShareableContact struct { // pk is the account to send a contact request to PK []byte `protobuf:"bytes,1,opt,name=pk,proto3" json:"pk,omitempty"` @@ -7371,7 +7037,7 @@ func (m *ShareableContact) Reset() { *m = ShareableContact{} } func (m *ShareableContact) String() string { return proto.CompactTextString(m) } func (*ShareableContact) ProtoMessage() {} func (*ShareableContact) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{70} + return fileDescriptor_8aa93e54ccb19003, []int{66} } func (m *ShareableContact) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7433,7 +7099,7 @@ func (m *ServiceTokenSupportedService) Reset() { *m = ServiceTokenSuppor func (m *ServiceTokenSupportedService) String() string { return proto.CompactTextString(m) } func (*ServiceTokenSupportedService) ProtoMessage() {} func (*ServiceTokenSupportedService) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{71} + return fileDescriptor_8aa93e54ccb19003, []int{67} } func (m *ServiceTokenSupportedService) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7490,7 +7156,7 @@ func (m *ServiceToken) Reset() { *m = ServiceToken{} } func (m *ServiceToken) String() string { return proto.CompactTextString(m) } func (*ServiceToken) ProtoMessage() {} func (*ServiceToken) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{72} + return fileDescriptor_8aa93e54ccb19003, []int{68} } func (m *ServiceToken) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7547,288 +7213,6 @@ func (m *ServiceToken) GetExpiration() int64 { return 0 } -type AuthServiceCompleteFlow struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AuthServiceCompleteFlow) Reset() { *m = AuthServiceCompleteFlow{} } -func (m *AuthServiceCompleteFlow) String() string { return proto.CompactTextString(m) } -func (*AuthServiceCompleteFlow) ProtoMessage() {} -func (*AuthServiceCompleteFlow) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{73} -} -func (m *AuthServiceCompleteFlow) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AuthServiceCompleteFlow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AuthServiceCompleteFlow.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *AuthServiceCompleteFlow) XXX_Merge(src proto.Message) { - xxx_messageInfo_AuthServiceCompleteFlow.Merge(m, src) -} -func (m *AuthServiceCompleteFlow) XXX_Size() int { - return m.Size() -} -func (m *AuthServiceCompleteFlow) XXX_DiscardUnknown() { - xxx_messageInfo_AuthServiceCompleteFlow.DiscardUnknown(m) -} - -var xxx_messageInfo_AuthServiceCompleteFlow proto.InternalMessageInfo - -type AuthServiceCompleteFlow_Request struct { - CallbackURL string `protobuf:"bytes,1,opt,name=callback_url,json=callbackUrl,proto3" json:"callback_url,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AuthServiceCompleteFlow_Request) Reset() { *m = AuthServiceCompleteFlow_Request{} } -func (m *AuthServiceCompleteFlow_Request) String() string { return proto.CompactTextString(m) } -func (*AuthServiceCompleteFlow_Request) ProtoMessage() {} -func (*AuthServiceCompleteFlow_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{73, 0} -} -func (m *AuthServiceCompleteFlow_Request) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AuthServiceCompleteFlow_Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AuthServiceCompleteFlow_Request.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *AuthServiceCompleteFlow_Request) XXX_Merge(src proto.Message) { - xxx_messageInfo_AuthServiceCompleteFlow_Request.Merge(m, src) -} -func (m *AuthServiceCompleteFlow_Request) XXX_Size() int { - return m.Size() -} -func (m *AuthServiceCompleteFlow_Request) XXX_DiscardUnknown() { - xxx_messageInfo_AuthServiceCompleteFlow_Request.DiscardUnknown(m) -} - -var xxx_messageInfo_AuthServiceCompleteFlow_Request proto.InternalMessageInfo - -func (m *AuthServiceCompleteFlow_Request) GetCallbackURL() string { - if m != nil { - return m.CallbackURL - } - return "" -} - -type AuthServiceCompleteFlow_Reply struct { - TokenID string `protobuf:"bytes,1,opt,name=token_id,json=tokenId,proto3" json:"token_id,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AuthServiceCompleteFlow_Reply) Reset() { *m = AuthServiceCompleteFlow_Reply{} } -func (m *AuthServiceCompleteFlow_Reply) String() string { return proto.CompactTextString(m) } -func (*AuthServiceCompleteFlow_Reply) ProtoMessage() {} -func (*AuthServiceCompleteFlow_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{73, 1} -} -func (m *AuthServiceCompleteFlow_Reply) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AuthServiceCompleteFlow_Reply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AuthServiceCompleteFlow_Reply.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *AuthServiceCompleteFlow_Reply) XXX_Merge(src proto.Message) { - xxx_messageInfo_AuthServiceCompleteFlow_Reply.Merge(m, src) -} -func (m *AuthServiceCompleteFlow_Reply) XXX_Size() int { - return m.Size() -} -func (m *AuthServiceCompleteFlow_Reply) XXX_DiscardUnknown() { - xxx_messageInfo_AuthServiceCompleteFlow_Reply.DiscardUnknown(m) -} - -var xxx_messageInfo_AuthServiceCompleteFlow_Reply proto.InternalMessageInfo - -func (m *AuthServiceCompleteFlow_Reply) GetTokenID() string { - if m != nil { - return m.TokenID - } - return "" -} - -type AuthServiceInitFlow struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AuthServiceInitFlow) Reset() { *m = AuthServiceInitFlow{} } -func (m *AuthServiceInitFlow) String() string { return proto.CompactTextString(m) } -func (*AuthServiceInitFlow) ProtoMessage() {} -func (*AuthServiceInitFlow) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{74} -} -func (m *AuthServiceInitFlow) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AuthServiceInitFlow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AuthServiceInitFlow.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *AuthServiceInitFlow) XXX_Merge(src proto.Message) { - xxx_messageInfo_AuthServiceInitFlow.Merge(m, src) -} -func (m *AuthServiceInitFlow) XXX_Size() int { - return m.Size() -} -func (m *AuthServiceInitFlow) XXX_DiscardUnknown() { - xxx_messageInfo_AuthServiceInitFlow.DiscardUnknown(m) -} - -var xxx_messageInfo_AuthServiceInitFlow proto.InternalMessageInfo - -type AuthServiceInitFlow_Request struct { - AuthURL string `protobuf:"bytes,1,opt,name=auth_url,json=authUrl,proto3" json:"auth_url,omitempty"` - Services []string `protobuf:"bytes,3,rep,name=services,proto3" json:"services,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AuthServiceInitFlow_Request) Reset() { *m = AuthServiceInitFlow_Request{} } -func (m *AuthServiceInitFlow_Request) String() string { return proto.CompactTextString(m) } -func (*AuthServiceInitFlow_Request) ProtoMessage() {} -func (*AuthServiceInitFlow_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{74, 0} -} -func (m *AuthServiceInitFlow_Request) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AuthServiceInitFlow_Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AuthServiceInitFlow_Request.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *AuthServiceInitFlow_Request) XXX_Merge(src proto.Message) { - xxx_messageInfo_AuthServiceInitFlow_Request.Merge(m, src) -} -func (m *AuthServiceInitFlow_Request) XXX_Size() int { - return m.Size() -} -func (m *AuthServiceInitFlow_Request) XXX_DiscardUnknown() { - xxx_messageInfo_AuthServiceInitFlow_Request.DiscardUnknown(m) -} - -var xxx_messageInfo_AuthServiceInitFlow_Request proto.InternalMessageInfo - -func (m *AuthServiceInitFlow_Request) GetAuthURL() string { - if m != nil { - return m.AuthURL - } - return "" -} - -func (m *AuthServiceInitFlow_Request) GetServices() []string { - if m != nil { - return m.Services - } - return nil -} - -type AuthServiceInitFlow_Reply struct { - URL string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` - SecureURL bool `protobuf:"varint,2,opt,name=secure_url,json=secureUrl,proto3" json:"secure_url,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AuthServiceInitFlow_Reply) Reset() { *m = AuthServiceInitFlow_Reply{} } -func (m *AuthServiceInitFlow_Reply) String() string { return proto.CompactTextString(m) } -func (*AuthServiceInitFlow_Reply) ProtoMessage() {} -func (*AuthServiceInitFlow_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{74, 1} -} -func (m *AuthServiceInitFlow_Reply) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AuthServiceInitFlow_Reply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AuthServiceInitFlow_Reply.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *AuthServiceInitFlow_Reply) XXX_Merge(src proto.Message) { - xxx_messageInfo_AuthServiceInitFlow_Reply.Merge(m, src) -} -func (m *AuthServiceInitFlow_Reply) XXX_Size() int { - return m.Size() -} -func (m *AuthServiceInitFlow_Reply) XXX_DiscardUnknown() { - xxx_messageInfo_AuthServiceInitFlow_Reply.DiscardUnknown(m) -} - -var xxx_messageInfo_AuthServiceInitFlow_Reply proto.InternalMessageInfo - -func (m *AuthServiceInitFlow_Reply) GetURL() string { - if m != nil { - return m.URL - } - return "" -} - -func (m *AuthServiceInitFlow_Reply) GetSecureURL() bool { - if m != nil { - return m.SecureURL - } - return false -} - type CredentialVerificationServiceInitFlow struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -7839,7 +7223,7 @@ func (m *CredentialVerificationServiceInitFlow) Reset() { *m = Credentia func (m *CredentialVerificationServiceInitFlow) String() string { return proto.CompactTextString(m) } func (*CredentialVerificationServiceInitFlow) ProtoMessage() {} func (*CredentialVerificationServiceInitFlow) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{75} + return fileDescriptor_8aa93e54ccb19003, []int{69} } func (m *CredentialVerificationServiceInitFlow) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7885,7 +7269,7 @@ func (m *CredentialVerificationServiceInitFlow_Request) String() string { } func (*CredentialVerificationServiceInitFlow_Request) ProtoMessage() {} func (*CredentialVerificationServiceInitFlow_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{75, 0} + return fileDescriptor_8aa93e54ccb19003, []int{69, 0} } func (m *CredentialVerificationServiceInitFlow_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7951,7 +7335,7 @@ func (m *CredentialVerificationServiceInitFlow_Reply) String() string { } func (*CredentialVerificationServiceInitFlow_Reply) ProtoMessage() {} func (*CredentialVerificationServiceInitFlow_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{75, 1} + return fileDescriptor_8aa93e54ccb19003, []int{69, 1} } func (m *CredentialVerificationServiceInitFlow_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8008,7 +7392,7 @@ func (m *CredentialVerificationServiceCompleteFlow) String() string { } func (*CredentialVerificationServiceCompleteFlow) ProtoMessage() {} func (*CredentialVerificationServiceCompleteFlow) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{76} + return fileDescriptor_8aa93e54ccb19003, []int{70} } func (m *CredentialVerificationServiceCompleteFlow) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8052,7 +7436,7 @@ func (m *CredentialVerificationServiceCompleteFlow_Request) String() string { } func (*CredentialVerificationServiceCompleteFlow_Request) ProtoMessage() {} func (*CredentialVerificationServiceCompleteFlow_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{76, 0} + return fileDescriptor_8aa93e54ccb19003, []int{70, 0} } func (m *CredentialVerificationServiceCompleteFlow_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8103,7 +7487,7 @@ func (m *CredentialVerificationServiceCompleteFlow_Reply) String() string { } func (*CredentialVerificationServiceCompleteFlow_Reply) ProtoMessage() {} func (*CredentialVerificationServiceCompleteFlow_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{76, 1} + return fileDescriptor_8aa93e54ccb19003, []int{70, 1} } func (m *CredentialVerificationServiceCompleteFlow_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8149,7 +7533,7 @@ func (m *VerifiedCredentialsList) Reset() { *m = VerifiedCredentialsList func (m *VerifiedCredentialsList) String() string { return proto.CompactTextString(m) } func (*VerifiedCredentialsList) ProtoMessage() {} func (*VerifiedCredentialsList) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{77} + return fileDescriptor_8aa93e54ccb19003, []int{71} } func (m *VerifiedCredentialsList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8191,7 +7575,7 @@ func (m *VerifiedCredentialsList_Request) Reset() { *m = VerifiedCredent func (m *VerifiedCredentialsList_Request) String() string { return proto.CompactTextString(m) } func (*VerifiedCredentialsList_Request) ProtoMessage() {} func (*VerifiedCredentialsList_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{77, 0} + return fileDescriptor_8aa93e54ccb19003, []int{71, 0} } func (m *VerifiedCredentialsList_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8252,7 +7636,7 @@ func (m *VerifiedCredentialsList_Reply) Reset() { *m = VerifiedCredentia func (m *VerifiedCredentialsList_Reply) String() string { return proto.CompactTextString(m) } func (*VerifiedCredentialsList_Reply) ProtoMessage() {} func (*VerifiedCredentialsList_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{77, 1} + return fileDescriptor_8aa93e54ccb19003, []int{71, 1} } func (m *VerifiedCredentialsList_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8288,202 +7672,6 @@ func (m *VerifiedCredentialsList_Reply) GetCredential() *AccountVerifiedCredenti return nil } -type ServicesTokenList struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ServicesTokenList) Reset() { *m = ServicesTokenList{} } -func (m *ServicesTokenList) String() string { return proto.CompactTextString(m) } -func (*ServicesTokenList) ProtoMessage() {} -func (*ServicesTokenList) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{78} -} -func (m *ServicesTokenList) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ServicesTokenList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ServicesTokenList.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ServicesTokenList) XXX_Merge(src proto.Message) { - xxx_messageInfo_ServicesTokenList.Merge(m, src) -} -func (m *ServicesTokenList) XXX_Size() int { - return m.Size() -} -func (m *ServicesTokenList) XXX_DiscardUnknown() { - xxx_messageInfo_ServicesTokenList.DiscardUnknown(m) -} - -var xxx_messageInfo_ServicesTokenList proto.InternalMessageInfo - -type ServicesTokenList_Request struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ServicesTokenList_Request) Reset() { *m = ServicesTokenList_Request{} } -func (m *ServicesTokenList_Request) String() string { return proto.CompactTextString(m) } -func (*ServicesTokenList_Request) ProtoMessage() {} -func (*ServicesTokenList_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{78, 0} -} -func (m *ServicesTokenList_Request) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ServicesTokenList_Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ServicesTokenList_Request.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ServicesTokenList_Request) XXX_Merge(src proto.Message) { - xxx_messageInfo_ServicesTokenList_Request.Merge(m, src) -} -func (m *ServicesTokenList_Request) XXX_Size() int { - return m.Size() -} -func (m *ServicesTokenList_Request) XXX_DiscardUnknown() { - xxx_messageInfo_ServicesTokenList_Request.DiscardUnknown(m) -} - -var xxx_messageInfo_ServicesTokenList_Request proto.InternalMessageInfo - -type ServicesTokenList_Reply struct { - TokenID string `protobuf:"bytes,1,opt,name=token_id,json=tokenId,proto3" json:"token_id,omitempty"` - Service *ServiceToken `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ServicesTokenList_Reply) Reset() { *m = ServicesTokenList_Reply{} } -func (m *ServicesTokenList_Reply) String() string { return proto.CompactTextString(m) } -func (*ServicesTokenList_Reply) ProtoMessage() {} -func (*ServicesTokenList_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{78, 1} -} -func (m *ServicesTokenList_Reply) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ServicesTokenList_Reply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ServicesTokenList_Reply.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ServicesTokenList_Reply) XXX_Merge(src proto.Message) { - xxx_messageInfo_ServicesTokenList_Reply.Merge(m, src) -} -func (m *ServicesTokenList_Reply) XXX_Size() int { - return m.Size() -} -func (m *ServicesTokenList_Reply) XXX_DiscardUnknown() { - xxx_messageInfo_ServicesTokenList_Reply.DiscardUnknown(m) -} - -var xxx_messageInfo_ServicesTokenList_Reply proto.InternalMessageInfo - -func (m *ServicesTokenList_Reply) GetTokenID() string { - if m != nil { - return m.TokenID - } - return "" -} - -func (m *ServicesTokenList_Reply) GetService() *ServiceToken { - if m != nil { - return m.Service - } - return nil -} - -type ServicesTokenCode struct { - Services []string `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"` - CodeChallenge string `protobuf:"bytes,2,opt,name=code_challenge,json=codeChallenge,proto3" json:"code_challenge,omitempty"` - TokenID string `protobuf:"bytes,3,opt,name=token_id,json=tokenId,proto3" json:"token_id,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ServicesTokenCode) Reset() { *m = ServicesTokenCode{} } -func (m *ServicesTokenCode) String() string { return proto.CompactTextString(m) } -func (*ServicesTokenCode) ProtoMessage() {} -func (*ServicesTokenCode) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{79} -} -func (m *ServicesTokenCode) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ServicesTokenCode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ServicesTokenCode.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ServicesTokenCode) XXX_Merge(src proto.Message) { - xxx_messageInfo_ServicesTokenCode.Merge(m, src) -} -func (m *ServicesTokenCode) XXX_Size() int { - return m.Size() -} -func (m *ServicesTokenCode) XXX_DiscardUnknown() { - xxx_messageInfo_ServicesTokenCode.DiscardUnknown(m) -} - -var xxx_messageInfo_ServicesTokenCode proto.InternalMessageInfo - -func (m *ServicesTokenCode) GetServices() []string { - if m != nil { - return m.Services - } - return nil -} - -func (m *ServicesTokenCode) GetCodeChallenge() string { - if m != nil { - return m.CodeChallenge - } - return "" -} - -func (m *ServicesTokenCode) GetTokenID() string { - if m != nil { - return m.TokenID - } - return "" -} - type ReplicationServiceRegisterGroup struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -8494,7 +7682,7 @@ func (m *ReplicationServiceRegisterGroup) Reset() { *m = ReplicationServ func (m *ReplicationServiceRegisterGroup) String() string { return proto.CompactTextString(m) } func (*ReplicationServiceRegisterGroup) ProtoMessage() {} func (*ReplicationServiceRegisterGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{80} + return fileDescriptor_8aa93e54ccb19003, []int{72} } func (m *ReplicationServiceRegisterGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8524,8 +7712,10 @@ func (m *ReplicationServiceRegisterGroup) XXX_DiscardUnknown() { var xxx_messageInfo_ReplicationServiceRegisterGroup proto.InternalMessageInfo type ReplicationServiceRegisterGroup_Request struct { - TokenID string `protobuf:"bytes,1,opt,name=token_id,json=tokenId,proto3" json:"token_id,omitempty"` - GroupPK []byte `protobuf:"bytes,2,opt,name=group_pk,json=groupPk,proto3" json:"group_pk,omitempty"` + GroupPK []byte `protobuf:"bytes,1,opt,name=group_pk,json=groupPk,proto3" json:"group_pk,omitempty"` + Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` + AuthenticationURL string `protobuf:"bytes,3,opt,name=authentication_url,json=authenticationUrl,proto3" json:"authentication_url,omitempty"` + ReplicationServer string `protobuf:"bytes,4,opt,name=replication_server,json=replicationServer,proto3" json:"replication_server,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -8537,7 +7727,7 @@ func (m *ReplicationServiceRegisterGroup_Request) Reset() { func (m *ReplicationServiceRegisterGroup_Request) String() string { return proto.CompactTextString(m) } func (*ReplicationServiceRegisterGroup_Request) ProtoMessage() {} func (*ReplicationServiceRegisterGroup_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{80, 0} + return fileDescriptor_8aa93e54ccb19003, []int{72, 0} } func (m *ReplicationServiceRegisterGroup_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8566,18 +7756,32 @@ func (m *ReplicationServiceRegisterGroup_Request) XXX_DiscardUnknown() { var xxx_messageInfo_ReplicationServiceRegisterGroup_Request proto.InternalMessageInfo -func (m *ReplicationServiceRegisterGroup_Request) GetTokenID() string { +func (m *ReplicationServiceRegisterGroup_Request) GetGroupPK() []byte { if m != nil { - return m.TokenID + return m.GroupPK + } + return nil +} + +func (m *ReplicationServiceRegisterGroup_Request) GetToken() string { + if m != nil { + return m.Token } return "" } -func (m *ReplicationServiceRegisterGroup_Request) GetGroupPK() []byte { +func (m *ReplicationServiceRegisterGroup_Request) GetAuthenticationURL() string { if m != nil { - return m.GroupPK + return m.AuthenticationURL } - return nil + return "" +} + +func (m *ReplicationServiceRegisterGroup_Request) GetReplicationServer() string { + if m != nil { + return m.ReplicationServer + } + return "" } type ReplicationServiceRegisterGroup_Reply struct { @@ -8590,7 +7794,7 @@ func (m *ReplicationServiceRegisterGroup_Reply) Reset() { *m = Replicati func (m *ReplicationServiceRegisterGroup_Reply) String() string { return proto.CompactTextString(m) } func (*ReplicationServiceRegisterGroup_Reply) ProtoMessage() {} func (*ReplicationServiceRegisterGroup_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{80, 1} + return fileDescriptor_8aa93e54ccb19003, []int{72, 1} } func (m *ReplicationServiceRegisterGroup_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8629,7 +7833,7 @@ func (m *ReplicationServiceReplicateGroup) Reset() { *m = ReplicationSer func (m *ReplicationServiceReplicateGroup) String() string { return proto.CompactTextString(m) } func (*ReplicationServiceReplicateGroup) ProtoMessage() {} func (*ReplicationServiceReplicateGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{81} + return fileDescriptor_8aa93e54ccb19003, []int{73} } func (m *ReplicationServiceReplicateGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8671,7 +7875,7 @@ func (m *ReplicationServiceReplicateGroup_Request) Reset() { func (m *ReplicationServiceReplicateGroup_Request) String() string { return proto.CompactTextString(m) } func (*ReplicationServiceReplicateGroup_Request) ProtoMessage() {} func (*ReplicationServiceReplicateGroup_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{81, 0} + return fileDescriptor_8aa93e54ccb19003, []int{73, 0} } func (m *ReplicationServiceReplicateGroup_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8720,7 +7924,7 @@ func (m *ReplicationServiceReplicateGroup_Reply) Reset() { func (m *ReplicationServiceReplicateGroup_Reply) String() string { return proto.CompactTextString(m) } func (*ReplicationServiceReplicateGroup_Reply) ProtoMessage() {} func (*ReplicationServiceReplicateGroup_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{81, 1} + return fileDescriptor_8aa93e54ccb19003, []int{73, 1} } func (m *ReplicationServiceReplicateGroup_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8766,7 +7970,7 @@ func (m *SystemInfo) Reset() { *m = SystemInfo{} } func (m *SystemInfo) String() string { return proto.CompactTextString(m) } func (*SystemInfo) ProtoMessage() {} func (*SystemInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{82} + return fileDescriptor_8aa93e54ccb19003, []int{74} } func (m *SystemInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8805,7 +8009,7 @@ func (m *SystemInfo_Request) Reset() { *m = SystemInfo_Request{} } func (m *SystemInfo_Request) String() string { return proto.CompactTextString(m) } func (*SystemInfo_Request) ProtoMessage() {} func (*SystemInfo_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{82, 0} + return fileDescriptor_8aa93e54ccb19003, []int{74, 0} } func (m *SystemInfo_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8848,7 +8052,7 @@ func (m *SystemInfo_Reply) Reset() { *m = SystemInfo_Reply{} } func (m *SystemInfo_Reply) String() string { return proto.CompactTextString(m) } func (*SystemInfo_Reply) ProtoMessage() {} func (*SystemInfo_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{82, 1} + return fileDescriptor_8aa93e54ccb19003, []int{74, 1} } func (m *SystemInfo_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8916,7 +8120,7 @@ func (m *SystemInfo_OrbitDB) Reset() { *m = SystemInfo_OrbitDB{} } func (m *SystemInfo_OrbitDB) String() string { return proto.CompactTextString(m) } func (*SystemInfo_OrbitDB) ProtoMessage() {} func (*SystemInfo_OrbitDB) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{82, 2} + return fileDescriptor_8aa93e54ccb19003, []int{74, 2} } func (m *SystemInfo_OrbitDB) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8966,7 +8170,7 @@ func (m *SystemInfo_OrbitDB_ReplicationStatus) Reset() { *m = SystemInfo func (m *SystemInfo_OrbitDB_ReplicationStatus) String() string { return proto.CompactTextString(m) } func (*SystemInfo_OrbitDB_ReplicationStatus) ProtoMessage() {} func (*SystemInfo_OrbitDB_ReplicationStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{82, 2, 0} + return fileDescriptor_8aa93e54ccb19003, []int{74, 2, 0} } func (m *SystemInfo_OrbitDB_ReplicationStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9034,7 +8238,7 @@ func (m *SystemInfo_P2P) Reset() { *m = SystemInfo_P2P{} } func (m *SystemInfo_P2P) String() string { return proto.CompactTextString(m) } func (*SystemInfo_P2P) ProtoMessage() {} func (*SystemInfo_P2P) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{82, 3} + return fileDescriptor_8aa93e54ccb19003, []int{74, 3} } func (m *SystemInfo_P2P) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9102,7 +8306,7 @@ func (m *SystemInfo_Process) Reset() { *m = SystemInfo_Process{} } func (m *SystemInfo_Process) String() string { return proto.CompactTextString(m) } func (*SystemInfo_Process) ProtoMessage() {} func (*SystemInfo_Process) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{82, 4} + return fileDescriptor_8aa93e54ccb19003, []int{74, 4} } func (m *SystemInfo_Process) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9295,7 +8499,7 @@ func (m *PeerList) Reset() { *m = PeerList{} } func (m *PeerList) String() string { return proto.CompactTextString(m) } func (*PeerList) ProtoMessage() {} func (*PeerList) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{83} + return fileDescriptor_8aa93e54ccb19003, []int{75} } func (m *PeerList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9334,7 +8538,7 @@ func (m *PeerList_Request) Reset() { *m = PeerList_Request{} } func (m *PeerList_Request) String() string { return proto.CompactTextString(m) } func (*PeerList_Request) ProtoMessage() {} func (*PeerList_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{83, 0} + return fileDescriptor_8aa93e54ccb19003, []int{75, 0} } func (m *PeerList_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9374,7 +8578,7 @@ func (m *PeerList_Reply) Reset() { *m = PeerList_Reply{} } func (m *PeerList_Reply) String() string { return proto.CompactTextString(m) } func (*PeerList_Reply) ProtoMessage() {} func (*PeerList_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{83, 1} + return fileDescriptor_8aa93e54ccb19003, []int{75, 1} } func (m *PeerList_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9434,7 +8638,7 @@ func (m *PeerList_Peer) Reset() { *m = PeerList_Peer{} } func (m *PeerList_Peer) String() string { return proto.CompactTextString(m) } func (*PeerList_Peer) ProtoMessage() {} func (*PeerList_Peer) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{83, 2} + return fileDescriptor_8aa93e54ccb19003, []int{75, 2} } func (m *PeerList_Peer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9532,7 +8736,7 @@ func (m *PeerList_Route) Reset() { *m = PeerList_Route{} } func (m *PeerList_Route) String() string { return proto.CompactTextString(m) } func (*PeerList_Route) ProtoMessage() {} func (*PeerList_Route) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{83, 3} + return fileDescriptor_8aa93e54ccb19003, []int{75, 3} } func (m *PeerList_Route) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9608,7 +8812,7 @@ func (m *PeerList_Stream) Reset() { *m = PeerList_Stream{} } func (m *PeerList_Stream) String() string { return proto.CompactTextString(m) } func (*PeerList_Stream) ProtoMessage() {} func (*PeerList_Stream) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{83, 4} + return fileDescriptor_8aa93e54ccb19003, []int{75, 4} } func (m *PeerList_Stream) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9661,7 +8865,7 @@ func (m *Progress) Reset() { *m = Progress{} } func (m *Progress) String() string { return proto.CompactTextString(m) } func (*Progress) ProtoMessage() {} func (*Progress) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{84} + return fileDescriptor_8aa93e54ccb19003, []int{76} } func (m *Progress) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9749,7 +8953,7 @@ func (m *OutOfStoreMessage) Reset() { *m = OutOfStoreMessage{} } func (m *OutOfStoreMessage) String() string { return proto.CompactTextString(m) } func (*OutOfStoreMessage) ProtoMessage() {} func (*OutOfStoreMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{85} + return fileDescriptor_8aa93e54ccb19003, []int{77} } func (m *OutOfStoreMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9840,7 +9044,7 @@ func (m *OutOfStoreMessageEnvelope) Reset() { *m = OutOfStoreMessageEnve func (m *OutOfStoreMessageEnvelope) String() string { return proto.CompactTextString(m) } func (*OutOfStoreMessageEnvelope) ProtoMessage() {} func (*OutOfStoreMessageEnvelope) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{86} + return fileDescriptor_8aa93e54ccb19003, []int{78} } func (m *OutOfStoreMessageEnvelope) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9900,7 +9104,7 @@ func (m *OutOfStoreReceive) Reset() { *m = OutOfStoreReceive{} } func (m *OutOfStoreReceive) String() string { return proto.CompactTextString(m) } func (*OutOfStoreReceive) ProtoMessage() {} func (*OutOfStoreReceive) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{87} + return fileDescriptor_8aa93e54ccb19003, []int{79} } func (m *OutOfStoreReceive) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9940,7 +9144,7 @@ func (m *OutOfStoreReceive_Request) Reset() { *m = OutOfStoreReceive_Req func (m *OutOfStoreReceive_Request) String() string { return proto.CompactTextString(m) } func (*OutOfStoreReceive_Request) ProtoMessage() {} func (*OutOfStoreReceive_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{87, 0} + return fileDescriptor_8aa93e54ccb19003, []int{79, 0} } func (m *OutOfStoreReceive_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9990,7 +9194,7 @@ func (m *OutOfStoreReceive_Reply) Reset() { *m = OutOfStoreReceive_Reply func (m *OutOfStoreReceive_Reply) String() string { return proto.CompactTextString(m) } func (*OutOfStoreReceive_Reply) ProtoMessage() {} func (*OutOfStoreReceive_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{87, 1} + return fileDescriptor_8aa93e54ccb19003, []int{79, 1} } func (m *OutOfStoreReceive_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10057,7 +9261,7 @@ func (m *OutOfStoreSeal) Reset() { *m = OutOfStoreSeal{} } func (m *OutOfStoreSeal) String() string { return proto.CompactTextString(m) } func (*OutOfStoreSeal) ProtoMessage() {} func (*OutOfStoreSeal) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{88} + return fileDescriptor_8aa93e54ccb19003, []int{80} } func (m *OutOfStoreSeal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10098,7 +9302,7 @@ func (m *OutOfStoreSeal_Request) Reset() { *m = OutOfStoreSeal_Request{} func (m *OutOfStoreSeal_Request) String() string { return proto.CompactTextString(m) } func (*OutOfStoreSeal_Request) ProtoMessage() {} func (*OutOfStoreSeal_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{88, 0} + return fileDescriptor_8aa93e54ccb19003, []int{80, 0} } func (m *OutOfStoreSeal_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10152,7 +9356,7 @@ func (m *OutOfStoreSeal_Reply) Reset() { *m = OutOfStoreSeal_Reply{} } func (m *OutOfStoreSeal_Reply) String() string { return proto.CompactTextString(m) } func (*OutOfStoreSeal_Reply) ProtoMessage() {} func (*OutOfStoreSeal_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{88, 1} + return fileDescriptor_8aa93e54ccb19003, []int{80, 1} } func (m *OutOfStoreSeal_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10206,7 +9410,7 @@ func (m *AccountVerifiedCredentialRegistered) Reset() { *m = AccountVeri func (m *AccountVerifiedCredentialRegistered) String() string { return proto.CompactTextString(m) } func (*AccountVerifiedCredentialRegistered) ProtoMessage() {} func (*AccountVerifiedCredentialRegistered) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{89} + return fileDescriptor_8aa93e54ccb19003, []int{81} } func (m *AccountVerifiedCredentialRegistered) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10296,7 +9500,7 @@ func (m *FirstLastCounters) Reset() { *m = FirstLastCounters{} } func (m *FirstLastCounters) String() string { return proto.CompactTextString(m) } func (*FirstLastCounters) ProtoMessage() {} func (*FirstLastCounters) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{90} + return fileDescriptor_8aa93e54ccb19003, []int{82} } func (m *FirstLastCounters) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10354,7 +9558,7 @@ func (m *OrbitDBMessageHeads) Reset() { *m = OrbitDBMessageHeads{} } func (m *OrbitDBMessageHeads) String() string { return proto.CompactTextString(m) } func (*OrbitDBMessageHeads) ProtoMessage() {} func (*OrbitDBMessageHeads) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{91} + return fileDescriptor_8aa93e54ccb19003, []int{83} } func (m *OrbitDBMessageHeads) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10411,7 +9615,7 @@ func (m *OrbitDBMessageHeads_Box) Reset() { *m = OrbitDBMessageHeads_Box func (m *OrbitDBMessageHeads_Box) String() string { return proto.CompactTextString(m) } func (*OrbitDBMessageHeads_Box) ProtoMessage() {} func (*OrbitDBMessageHeads_Box) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{91, 0} + return fileDescriptor_8aa93e54ccb19003, []int{83, 0} } func (m *OrbitDBMessageHeads_Box) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10478,7 +9682,7 @@ func (m *RefreshContactRequest) Reset() { *m = RefreshContactRequest{} } func (m *RefreshContactRequest) String() string { return proto.CompactTextString(m) } func (*RefreshContactRequest) ProtoMessage() {} func (*RefreshContactRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{92} + return fileDescriptor_8aa93e54ccb19003, []int{84} } func (m *RefreshContactRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10521,7 +9725,7 @@ func (m *RefreshContactRequest_Peer) Reset() { *m = RefreshContactReques func (m *RefreshContactRequest_Peer) String() string { return proto.CompactTextString(m) } func (*RefreshContactRequest_Peer) ProtoMessage() {} func (*RefreshContactRequest_Peer) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{92, 0} + return fileDescriptor_8aa93e54ccb19003, []int{84, 0} } func (m *RefreshContactRequest_Peer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10577,7 +9781,7 @@ func (m *RefreshContactRequest_Request) Reset() { *m = RefreshContactReq func (m *RefreshContactRequest_Request) String() string { return proto.CompactTextString(m) } func (*RefreshContactRequest_Request) ProtoMessage() {} func (*RefreshContactRequest_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{92, 1} + return fileDescriptor_8aa93e54ccb19003, []int{84, 1} } func (m *RefreshContactRequest_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10632,7 +9836,7 @@ func (m *RefreshContactRequest_Reply) Reset() { *m = RefreshContactReque func (m *RefreshContactRequest_Reply) String() string { return proto.CompactTextString(m) } func (*RefreshContactRequest_Reply) ProtoMessage() {} func (*RefreshContactRequest_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{92, 2} + return fileDescriptor_8aa93e54ccb19003, []int{84, 2} } func (m *RefreshContactRequest_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10711,8 +9915,6 @@ func init() { proto.RegisterType((*AccountContactRequestIncomingAccepted)(nil), "weshnet.protocol.v1.AccountContactRequestIncomingAccepted") proto.RegisterType((*AccountContactBlocked)(nil), "weshnet.protocol.v1.AccountContactBlocked") proto.RegisterType((*AccountContactUnblocked)(nil), "weshnet.protocol.v1.AccountContactUnblocked") - proto.RegisterType((*AccountServiceTokenAdded)(nil), "weshnet.protocol.v1.AccountServiceTokenAdded") - proto.RegisterType((*AccountServiceTokenRemoved)(nil), "weshnet.protocol.v1.AccountServiceTokenRemoved") proto.RegisterType((*GroupReplicating)(nil), "weshnet.protocol.v1.GroupReplicating") proto.RegisterType((*ServiceExportData)(nil), "weshnet.protocol.v1.ServiceExportData") proto.RegisterType((*ServiceExportData_Request)(nil), "weshnet.protocol.v1.ServiceExportData.Request") @@ -10810,20 +10012,9 @@ func init() { proto.RegisterType((*DebugGroup)(nil), "weshnet.protocol.v1.DebugGroup") proto.RegisterType((*DebugGroup_Request)(nil), "weshnet.protocol.v1.DebugGroup.Request") proto.RegisterType((*DebugGroup_Reply)(nil), "weshnet.protocol.v1.DebugGroup.Reply") - proto.RegisterType((*AuthExchangeResponse)(nil), "weshnet.protocol.v1.AuthExchangeResponse") - proto.RegisterMapType((map[string]string)(nil), "weshnet.protocol.v1.AuthExchangeResponse.ServicesEntry") - proto.RegisterType((*DebugAuthServiceSetToken)(nil), "weshnet.protocol.v1.DebugAuthServiceSetToken") - proto.RegisterType((*DebugAuthServiceSetToken_Request)(nil), "weshnet.protocol.v1.DebugAuthServiceSetToken.Request") - proto.RegisterType((*DebugAuthServiceSetToken_Reply)(nil), "weshnet.protocol.v1.DebugAuthServiceSetToken.Reply") proto.RegisterType((*ShareableContact)(nil), "weshnet.protocol.v1.ShareableContact") proto.RegisterType((*ServiceTokenSupportedService)(nil), "weshnet.protocol.v1.ServiceTokenSupportedService") proto.RegisterType((*ServiceToken)(nil), "weshnet.protocol.v1.ServiceToken") - proto.RegisterType((*AuthServiceCompleteFlow)(nil), "weshnet.protocol.v1.AuthServiceCompleteFlow") - proto.RegisterType((*AuthServiceCompleteFlow_Request)(nil), "weshnet.protocol.v1.AuthServiceCompleteFlow.Request") - proto.RegisterType((*AuthServiceCompleteFlow_Reply)(nil), "weshnet.protocol.v1.AuthServiceCompleteFlow.Reply") - proto.RegisterType((*AuthServiceInitFlow)(nil), "weshnet.protocol.v1.AuthServiceInitFlow") - proto.RegisterType((*AuthServiceInitFlow_Request)(nil), "weshnet.protocol.v1.AuthServiceInitFlow.Request") - proto.RegisterType((*AuthServiceInitFlow_Reply)(nil), "weshnet.protocol.v1.AuthServiceInitFlow.Reply") proto.RegisterType((*CredentialVerificationServiceInitFlow)(nil), "weshnet.protocol.v1.CredentialVerificationServiceInitFlow") proto.RegisterType((*CredentialVerificationServiceInitFlow_Request)(nil), "weshnet.protocol.v1.CredentialVerificationServiceInitFlow.Request") proto.RegisterType((*CredentialVerificationServiceInitFlow_Reply)(nil), "weshnet.protocol.v1.CredentialVerificationServiceInitFlow.Reply") @@ -10833,10 +10024,6 @@ func init() { proto.RegisterType((*VerifiedCredentialsList)(nil), "weshnet.protocol.v1.VerifiedCredentialsList") proto.RegisterType((*VerifiedCredentialsList_Request)(nil), "weshnet.protocol.v1.VerifiedCredentialsList.Request") proto.RegisterType((*VerifiedCredentialsList_Reply)(nil), "weshnet.protocol.v1.VerifiedCredentialsList.Reply") - proto.RegisterType((*ServicesTokenList)(nil), "weshnet.protocol.v1.ServicesTokenList") - proto.RegisterType((*ServicesTokenList_Request)(nil), "weshnet.protocol.v1.ServicesTokenList.Request") - proto.RegisterType((*ServicesTokenList_Reply)(nil), "weshnet.protocol.v1.ServicesTokenList.Reply") - proto.RegisterType((*ServicesTokenCode)(nil), "weshnet.protocol.v1.ServicesTokenCode") proto.RegisterType((*ReplicationServiceRegisterGroup)(nil), "weshnet.protocol.v1.ReplicationServiceRegisterGroup") proto.RegisterType((*ReplicationServiceRegisterGroup_Request)(nil), "weshnet.protocol.v1.ReplicationServiceRegisterGroup.Request") proto.RegisterType((*ReplicationServiceRegisterGroup_Reply)(nil), "weshnet.protocol.v1.ReplicationServiceRegisterGroup.Reply") @@ -10878,392 +10065,367 @@ func init() { func init() { proto.RegisterFile("protocoltypes.proto", fileDescriptor_8aa93e54ccb19003) } var fileDescriptor_8aa93e54ccb19003 = []byte{ - // 6158 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7c, 0x5d, 0x6c, 0x1c, 0xd7, - 0x75, 0xb0, 0x67, 0x97, 0xe4, 0xee, 0x1e, 0x2e, 0x97, 0xc3, 0x2b, 0x4a, 0x5a, 0xaf, 0x25, 0x51, - 0x1e, 0x59, 0xb2, 0x24, 0xdb, 0x94, 0x4c, 0xfb, 0x8b, 0xe3, 0x28, 0x4e, 0x42, 0x91, 0x94, 0x42, - 0x8b, 0x92, 0xd6, 0x43, 0x31, 0x89, 0x03, 0xe3, 0x9b, 0x0c, 0x67, 0xee, 0x2e, 0x27, 0x9c, 0x9d, - 0x19, 0xcf, 0xcc, 0x92, 0x62, 0x90, 0x14, 0x69, 0xfe, 0x9a, 0x02, 0x4e, 0x9a, 0x26, 0x0f, 0x2d, - 0xd0, 0xa0, 0x4f, 0x7d, 0x28, 0x50, 0xa4, 0x05, 0x82, 0x22, 0x40, 0x81, 0x3e, 0xf5, 0xa9, 0x29, - 0xda, 0x22, 0x4f, 0x7d, 0xe8, 0x03, 0x9b, 0xb2, 0x2f, 0x29, 0x50, 0x14, 0x05, 0x9a, 0xb6, 0x0f, - 0x01, 0x8a, 0xe2, 0xfe, 0xcd, 0xcf, 0x72, 0x66, 0x77, 0x47, 0x94, 0xd1, 0x87, 0x3e, 0x71, 0xef, - 0x99, 0xf3, 0x77, 0xcf, 0xfd, 0x3b, 0xf7, 0xdc, 0x73, 0x08, 0xa7, 0x3c, 0xdf, 0x0d, 0x5d, 0xc3, - 0xb5, 0xc3, 0x03, 0x0f, 0x07, 0x8b, 0xb4, 0x85, 0x4e, 0xed, 0xe3, 0x60, 0xc7, 0xc1, 0xe1, 0xa2, - 0xf8, 0xb8, 0xb8, 0xf7, 0x6a, 0x6b, 0xbe, 0xeb, 0x76, 0x5d, 0x0a, 0xb8, 0x41, 0x7e, 0xb1, 0x6f, - 0xca, 0xdf, 0x48, 0x50, 0x59, 0x36, 0x0c, 0xb7, 0xef, 0x84, 0xe8, 0x26, 0x4c, 0x76, 0x7d, 0xb7, - 0xef, 0x35, 0xa5, 0x8b, 0xd2, 0xd5, 0xe9, 0xa5, 0xd6, 0x62, 0x06, 0x9b, 0xc5, 0xbb, 0x04, 0x43, - 0x65, 0x88, 0x68, 0x11, 0x4e, 0xe9, 0x8c, 0x58, 0xf3, 0x7c, 0x6b, 0x4f, 0x0f, 0xb1, 0xb6, 0x8b, - 0x0f, 0x9a, 0xa5, 0x8b, 0xd2, 0xd5, 0xba, 0x3a, 0xc7, 0x3f, 0xb5, 0xd9, 0x97, 0x7b, 0xf8, 0x00, - 0x5d, 0x87, 0x39, 0xdd, 0xb6, 0xf4, 0x20, 0x85, 0x5d, 0xa6, 0xd8, 0xb3, 0xf4, 0x43, 0x02, 0xf7, - 0x75, 0x38, 0xe3, 0xf5, 0xb7, 0x6d, 0xcb, 0xd0, 0x7c, 0xec, 0x98, 0xf8, 0x4b, 0x7b, 0x6e, 0x3f, - 0xd0, 0x02, 0x8c, 0xcd, 0xe6, 0x04, 0x25, 0x98, 0x67, 0x5f, 0xd5, 0xe8, 0xe3, 0x26, 0xc6, 0xa6, - 0xf2, 0x4b, 0x09, 0x26, 0xa9, 0x8a, 0xe8, 0x3c, 0x00, 0xa7, 0x27, 0x42, 0x24, 0x4a, 0x53, 0x63, - 0x10, 0xc2, 0xfe, 0x0c, 0x4c, 0x05, 0xd8, 0xf0, 0x71, 0xc8, 0xb5, 0xe5, 0x2d, 0x42, 0xc6, 0x7e, - 0x69, 0x81, 0xd5, 0xe5, 0xba, 0xd5, 0x18, 0x64, 0xd3, 0xea, 0xa2, 0xb7, 0x00, 0x68, 0xd7, 0x35, - 0x62, 0x6f, 0xaa, 0x49, 0x63, 0xe9, 0x42, 0xbe, 0xa1, 0x1e, 0x1d, 0x78, 0x58, 0xad, 0x75, 0xc5, - 0x4f, 0xf4, 0x2c, 0x54, 0x03, 0xab, 0xeb, 0x68, 0x5e, 0x7f, 0xbb, 0x39, 0x49, 0x79, 0x57, 0x48, - 0xbb, 0xdd, 0xdf, 0x26, 0x9f, 0x6c, 0xcb, 0xd9, 0xa5, 0xda, 0x4e, 0xb1, 0x4f, 0xa4, 0x4d, 0x74, - 0xbd, 0x08, 0x75, 0xf1, 0x89, 0x6a, 0x55, 0xa1, 0x9f, 0x81, 0x7f, 0xde, 0xb4, 0xba, 0xca, 0x7f, - 0x48, 0x20, 0x53, 0x81, 0x9f, 0xc6, 0xba, 0x19, 0xac, 0x3d, 0xf6, 0x5c, 0x3f, 0x1c, 0x65, 0x81, - 0xa4, 0x2e, 0xa5, 0xb4, 0x2e, 0x6b, 0x70, 0xaa, 0x87, 0x43, 0xdd, 0xd4, 0x43, 0x5d, 0xdb, 0x21, - 0x1c, 0x35, 0xc3, 0x32, 0x83, 0x66, 0xf9, 0x62, 0xf9, 0x6a, 0xfd, 0xf6, 0xe9, 0xa3, 0xc3, 0x85, - 0xb9, 0xfb, 0xfc, 0x33, 0x95, 0xb7, 0xb2, 0xbe, 0x1a, 0xa8, 0x73, 0xbd, 0x14, 0xc8, 0x32, 0x03, - 0xc6, 0x26, 0x08, 0xf4, 0x2e, 0x0e, 0x92, 0x6c, 0x26, 0x92, 0x6c, 0xd8, 0xe7, 0x14, 0x9b, 0x24, - 0x88, 0xb0, 0x49, 0x5a, 0x66, 0x32, 0x65, 0x19, 0xe5, 0x6f, 0x25, 0x98, 0xa1, 0xfd, 0x16, 0xfa, - 0x90, 0x01, 0xc2, 0x7b, 0xd8, 0x09, 0xd9, 0x00, 0x49, 0x43, 0x06, 0x68, 0x8d, 0xa0, 0xb1, 0x01, - 0xc2, 0xe2, 0x27, 0x6a, 0x42, 0xc5, 0xd3, 0x0f, 0x6c, 0x57, 0x37, 0x85, 0x4d, 0x78, 0x13, 0xc9, - 0x50, 0x8e, 0x67, 0x04, 0xf9, 0x89, 0x54, 0x98, 0x13, 0xfc, 0x34, 0xd1, 0x79, 0x3a, 0x25, 0xa6, - 0x97, 0x2e, 0x67, 0x4a, 0x6c, 0xf3, 0xdf, 0x42, 0x59, 0x55, 0xf6, 0x06, 0x20, 0xca, 0x32, 0xef, - 0xcf, 0x9a, 0xb3, 0x87, 0x6d, 0xd7, 0xc3, 0x68, 0x1e, 0x26, 0x1d, 0xd7, 0x31, 0x30, 0x1f, 0x3f, - 0xd6, 0x20, 0x50, 0xaa, 0x33, 0x57, 0x92, 0x35, 0xde, 0x9e, 0xa8, 0x96, 0xe5, 0x09, 0xe5, 0xdf, - 0x25, 0x68, 0x70, 0xbb, 0x12, 0x1b, 0x62, 0x3f, 0x20, 0xbd, 0xa2, 0x4b, 0x11, 0xfb, 0x94, 0xcd, - 0x84, 0x2a, 0x9a, 0xe8, 0x1a, 0xd4, 0x4c, 0xbc, 0x67, 0x19, 0x58, 0xf3, 0x76, 0x19, 0xb3, 0xdb, - 0xf5, 0xa3, 0xc3, 0x85, 0xea, 0x2a, 0x05, 0xb6, 0xef, 0xa9, 0x55, 0xf6, 0xb9, 0xbd, 0x9b, 0x61, - 0x80, 0xfb, 0x50, 0x4d, 0xf4, 0xbb, 0x7c, 0x75, 0x7a, 0xe9, 0xd5, 0xcc, 0x7e, 0xa7, 0xb5, 0x59, - 0x14, 0x9d, 0x5d, 0x73, 0x42, 0xff, 0x40, 0x8d, 0x58, 0xb4, 0x6e, 0xc1, 0x4c, 0xea, 0x13, 0x91, - 0x28, 0x66, 0x6e, 0x4d, 0x25, 0x3f, 0x49, 0xbf, 0xf7, 0x74, 0xbb, 0x8f, 0xa9, 0xaa, 0x35, 0x95, - 0x35, 0x3e, 0x56, 0xfa, 0xa8, 0xa4, 0x34, 0x41, 0x1e, 0x34, 0xef, 0xdb, 0x13, 0x55, 0x49, 0x2e, - 0x29, 0xdf, 0x90, 0x40, 0x5e, 0x73, 0x0c, 0xff, 0xc0, 0x0b, 0xb1, 0xc9, 0x55, 0x41, 0xe7, 0xa0, - 0xe6, 0xd9, 0xba, 0xe5, 0x84, 0xf8, 0x71, 0x18, 0x2d, 0x0d, 0x01, 0xc8, 0x1e, 0xd9, 0xd2, 0xc9, - 0x46, 0xd6, 0x83, 0x59, 0x2e, 0x3c, 0x1a, 0xdb, 0x17, 0x61, 0x96, 0xcf, 0x76, 0xba, 0x3c, 0xb0, - 0x1f, 0x70, 0x55, 0x1a, 0xbd, 0x63, 0xe3, 0xc7, 0x21, 0x62, 0x56, 0xf2, 0x66, 0x3c, 0x3d, 0xca, - 0x89, 0xe9, 0xf1, 0xf6, 0x44, 0x75, 0x42, 0x9e, 0x54, 0xbe, 0x26, 0x41, 0x9d, 0x4e, 0xf2, 0x15, - 0x97, 0x75, 0xeb, 0x0c, 0x94, 0x2c, 0x93, 0x89, 0xb8, 0x3d, 0x75, 0x74, 0xb8, 0x50, 0x5a, 0x5f, - 0x55, 0x4b, 0x96, 0x89, 0x5e, 0x06, 0xf0, 0x74, 0x9f, 0x2c, 0x1a, 0xb2, 0x3c, 0x4b, 0x74, 0x79, - 0xce, 0x1c, 0x1d, 0x2e, 0xd4, 0xda, 0x14, 0x4a, 0x96, 0x65, 0x8d, 0x21, 0xac, 0x9b, 0x01, 0xba, - 0x02, 0x55, 0xb6, 0x05, 0x7a, 0xbb, 0x4c, 0xea, 0xed, 0xe9, 0xa3, 0xc3, 0x85, 0x0a, 0x9d, 0xb6, - 0xed, 0x7b, 0x6a, 0x85, 0x7e, 0x6c, 0xef, 0x72, 0x25, 0x34, 0x68, 0xa6, 0x16, 0x68, 0x9b, 0x2d, - 0xa7, 0x4d, 0xec, 0x84, 0xe9, 0xc9, 0x27, 0x0d, 0x9d, 0x7c, 0xb9, 0x16, 0x50, 0x2c, 0x98, 0x27, - 0xfd, 0xd3, 0x8d, 0x70, 0x99, 0x9c, 0x20, 0xf7, 0xf0, 0xc1, 0xb2, 0x69, 0x62, 0xb3, 0x08, 0xf3, - 0x2b, 0x50, 0xe5, 0xc7, 0x92, 0x58, 0x03, 0xb4, 0x47, 0x94, 0x1f, 0xe9, 0x11, 0x3b, 0x9a, 0x76, - 0x95, 0xef, 0x48, 0x70, 0x86, 0x77, 0xa6, 0xb7, 0x8d, 0x7d, 0xc6, 0x29, 0x92, 0xd6, 0xa3, 0xc0, - 0x01, 0x69, 0x0c, 0x93, 0x48, 0x63, 0x9f, 0xdb, 0xbb, 0x45, 0x96, 0xdc, 0x79, 0x00, 0xce, 0x35, - 0x71, 0x18, 0x31, 0x08, 0xd9, 0xf5, 0xef, 0x42, 0x83, 0x11, 0xad, 0xec, 0xe8, 0x96, 0x43, 0xf6, - 0xf4, 0xe7, 0xa0, 0x66, 0x90, 0xdf, 0x89, 0x1d, 0xbf, 0x6a, 0x88, 0x8f, 0x89, 0x5d, 0xa0, 0x94, - 0xda, 0x05, 0x94, 0xdf, 0x91, 0xf8, 0x28, 0xa5, 0xd9, 0x15, 0x36, 0xe4, 0x47, 0xa0, 0x61, 0xe2, - 0x20, 0xd4, 0x62, 0x53, 0xb0, 0xfe, 0xc9, 0x47, 0x87, 0x0b, 0xf5, 0x55, 0x1c, 0x84, 0x91, 0x39, - 0xea, 0x66, 0xdc, 0xda, 0x4d, 0xee, 0xba, 0xe5, 0xd4, 0xae, 0x4b, 0x34, 0x53, 0xee, 0xf7, 0xed, - 0xd0, 0x62, 0xb8, 0x54, 0x49, 0x3a, 0x2e, 0x2a, 0x0e, 0x5c, 0x7b, 0x0f, 0xfb, 0x85, 0x75, 0xbc, - 0x0c, 0x0d, 0x36, 0xd8, 0x3e, 0xe7, 0xc0, 0x27, 0xd4, 0x8c, 0x9e, 0x64, 0x8b, 0x16, 0x60, 0x5a, - 0xb8, 0x2a, 0xae, 0xdb, 0xe1, 0x6a, 0x01, 0x77, 0x52, 0x5c, 0xb7, 0xa3, 0x7c, 0x57, 0x82, 0x8b, - 0xc7, 0x34, 0x33, 0x7b, 0x96, 0xa3, 0xba, 0x36, 0xbe, 0xeb, 0xeb, 0x4e, 0x58, 0x4c, 0xaf, 0x4f, - 0xc2, 0x5c, 0x97, 0x52, 0xe1, 0x63, 0xe6, 0x3b, 0x75, 0x74, 0xb8, 0x30, 0xcb, 0x58, 0xe2, 0xc8, - 0x82, 0xb3, 0xdd, 0x14, 0x60, 0x57, 0xd9, 0x84, 0x2b, 0x83, 0xfa, 0xac, 0x3b, 0x56, 0x68, 0xe9, - 0x36, 0x83, 0x2c, 0x3b, 0x8e, 0xdb, 0x77, 0x8c, 0x42, 0x93, 0x55, 0xd1, 0xe1, 0x22, 0xef, 0x99, - 0xb9, 0x6c, 0x9a, 0x56, 0x68, 0xb9, 0x8e, 0x6e, 0xa7, 0x7d, 0xae, 0x22, 0x9d, 0x44, 0x30, 0x41, - 0x5d, 0x38, 0x66, 0x72, 0xfa, 0x5b, 0x31, 0xe1, 0x12, 0x73, 0x2a, 0x71, 0xcf, 0xdd, 0xc3, 0x1f, - 0x96, 0x94, 0xf7, 0x01, 0x71, 0x3f, 0x97, 0x0a, 0x7b, 0xdb, 0xb5, 0x9c, 0x62, 0x4c, 0x23, 0xef, - 0xb8, 0x34, 0xa6, 0x77, 0xac, 0x60, 0x90, 0x93, 0x22, 0x37, 0x70, 0x27, 0x2c, 0xb8, 0x2b, 0x45, - 0xfb, 0x6c, 0x29, 0x7f, 0x9f, 0x55, 0xde, 0x86, 0xf3, 0x5c, 0x0c, 0xdf, 0x07, 0x55, 0xfc, 0x7e, - 0x1f, 0x07, 0xe1, 0xaa, 0x15, 0xe8, 0xdb, 0x76, 0xa1, 0x4e, 0x2a, 0xeb, 0x70, 0x2e, 0x93, 0xd7, - 0x9a, 0x53, 0x98, 0xd5, 0xb7, 0x24, 0xb8, 0x94, 0xc9, 0x4b, 0xc5, 0x1d, 0xec, 0x63, 0xc7, 0xc0, - 0x2a, 0x0e, 0x70, 0x21, 0x8b, 0xe4, 0x5f, 0x09, 0x4a, 0x43, 0xae, 0x04, 0x87, 0x12, 0x5c, 0xce, - 0x54, 0xe4, 0x61, 0x3f, 0xec, 0xba, 0x96, 0xd3, 0x5d, 0x73, 0xde, 0xef, 0xe3, 0x7e, 0xe1, 0x23, - 0x63, 0x9c, 0xc1, 0x41, 0x9f, 0x24, 0x7b, 0x2e, 0x15, 0x4a, 0xb7, 0x90, 0x3c, 0xff, 0x61, 0x73, - 0x47, 0xf7, 0x31, 0x31, 0xb1, 0xd0, 0x50, 0x50, 0xa1, 0xe7, 0xa1, 0xee, 0xee, 0x3b, 0x69, 0xff, - 0xb2, 0xae, 0x4e, 0xbb, 0xfb, 0x4e, 0xe4, 0x59, 0x7c, 0x19, 0x9e, 0x1f, 0xda, 0xbf, 0xa2, 0x67, - 0xed, 0xcb, 0x00, 0x5c, 0x7a, 0xdc, 0x3b, 0xea, 0x0e, 0x70, 0xf6, 0xed, 0x7b, 0x6a, 0x8d, 0x23, - 0xb4, 0x77, 0x95, 0x7f, 0xca, 0x33, 0xef, 0xba, 0x63, 0xb8, 0x3d, 0xcb, 0xe9, 0xaa, 0xd8, 0xc0, - 0xd6, 0x5e, 0x31, 0xf3, 0x16, 0x52, 0x01, 0x7d, 0x04, 0xce, 0x0a, 0xec, 0xc1, 0x89, 0xc1, 0xf6, - 0xed, 0xd3, 0x86, 0xd0, 0x6c, 0x60, 0x4b, 0x91, 0x05, 0xdd, 0x80, 0x7d, 0x67, 0x39, 0x3c, 0xb2, - 0xf1, 0xaf, 0x4b, 0x70, 0x65, 0x68, 0x2f, 0x57, 0xad, 0xc0, 0xd0, 0x7d, 0xf3, 0x43, 0xec, 0xa6, - 0xf2, 0x87, 0xa3, 0x2c, 0xbd, 0x6c, 0x18, 0xd8, 0x0b, 0x3f, 0x4c, 0x4b, 0x8f, 0xe9, 0xfb, 0x29, - 0x1e, 0x9c, 0x4e, 0x6b, 0x7a, 0xdb, 0x76, 0x8d, 0xdd, 0x0f, 0xd3, 0x38, 0x3e, 0x9c, 0x4d, 0x4b, - 0xdc, 0x72, 0xb6, 0x3f, 0x6c, 0x99, 0xdf, 0x91, 0xa0, 0xc9, 0x85, 0x6e, 0x62, 0x9f, 0xb0, 0x78, - 0xe4, 0xee, 0x62, 0xa7, 0xb0, 0x4b, 0x72, 0x07, 0x66, 0x02, 0x46, 0xaf, 0x85, 0x84, 0x01, 0x3f, - 0x62, 0x9e, 0xcf, 0xde, 0x2a, 0x12, 0x92, 0xd4, 0x7a, 0x90, 0x68, 0x29, 0x2e, 0xb4, 0x32, 0xd4, - 0x61, 0xe7, 0x6a, 0xd1, 0xdd, 0x8d, 0x2a, 0xa2, 0x59, 0x6c, 0x6b, 0xad, 0xb1, 0x61, 0xa6, 0xec, - 0xd6, 0x57, 0xd5, 0x0a, 0xfd, 0xb8, 0x6e, 0x2a, 0x3f, 0x16, 0x61, 0x07, 0x15, 0x7b, 0xb6, 0x65, - 0xe8, 0xa1, 0xe5, 0x74, 0x8b, 0xc8, 0x59, 0x05, 0xa4, 0xf7, 0xc3, 0x1d, 0xec, 0x84, 0x94, 0xd8, - 0x75, 0xb4, 0xbe, 0x6f, 0x73, 0x89, 0x34, 0x3e, 0xb0, 0x9c, 0xfa, 0xba, 0xa5, 0x6e, 0xa8, 0x73, - 0x69, 0x82, 0x2d, 0xdf, 0x46, 0xaf, 0x00, 0xf2, 0x85, 0x7c, 0xd7, 0xd1, 0x88, 0x49, 0xb0, 0x4f, - 0xa7, 0x67, 0x4d, 0x9d, 0x4b, 0x7c, 0xd9, 0xa4, 0x1f, 0x94, 0x0d, 0x98, 0xe3, 0xe6, 0x61, 0x71, - 0x92, 0x55, 0x72, 0xf7, 0xac, 0x41, 0x85, 0x2f, 0xa6, 0xd6, 0xcb, 0x30, 0x49, 0xba, 0x73, 0x80, - 0x2e, 0xc1, 0x0c, 0xa6, 0x18, 0xd8, 0xd4, 0xe8, 0xde, 0xc0, 0x1c, 0xea, 0xba, 0x00, 0x12, 0x42, - 0xe5, 0x67, 0x93, 0x70, 0x96, 0xb3, 0xbb, 0x8b, 0xc9, 0xdc, 0xeb, 0x58, 0xdd, 0xbe, 0x4f, 0xe5, - 0x25, 0x99, 0xfe, 0x7c, 0x42, 0x70, 0x7d, 0x19, 0x20, 0x8a, 0x99, 0x09, 0xfb, 0xd0, 0x29, 0xc6, - 0x87, 0x8e, 0x4c, 0x31, 0x11, 0x39, 0x2b, 0x74, 0x59, 0xf8, 0x38, 0xc8, 0x82, 0xf1, 0xc0, 0x1a, - 0x45, 0x47, 0x87, 0x0b, 0x8d, 0xa4, 0x2b, 0xd2, 0xbe, 0xa7, 0x36, 0xf4, 0x64, 0x7b, 0x17, 0x5d, - 0x82, 0x8a, 0x87, 0xb1, 0x4f, 0x46, 0x7c, 0x82, 0xda, 0x1f, 0x8e, 0x0e, 0x17, 0xa6, 0xda, 0x18, - 0xfb, 0xeb, 0xab, 0xea, 0x14, 0xf9, 0xb4, 0x6e, 0x92, 0x5b, 0xb3, 0x6d, 0x05, 0x21, 0x76, 0xc8, - 0x55, 0x75, 0xf2, 0x62, 0xf9, 0x6a, 0x4d, 0x8d, 0x01, 0xe8, 0xf3, 0x30, 0xbd, 0x6d, 0x63, 0x0d, - 0x33, 0x5f, 0x81, 0x06, 0xb1, 0x1a, 0x4b, 0x6f, 0x0e, 0x9b, 0xc4, 0x83, 0x16, 0x5b, 0xdc, 0xc4, - 0x21, 0x99, 0x43, 0x9b, 0xa1, 0x1e, 0x62, 0x15, 0xb6, 0x6d, 0x2c, 0x1c, 0x0f, 0x03, 0xe4, 0x7d, - 0xab, 0x63, 0x69, 0xde, 0x92, 0x17, 0x09, 0xa8, 0x9c, 0x54, 0x40, 0x83, 0xb0, 0x6c, 0x2f, 0x79, - 0x42, 0xc8, 0x7b, 0x50, 0xef, 0x99, 0x4e, 0x10, 0x09, 0xa8, 0x9e, 0x54, 0xc0, 0x34, 0x61, 0x27, - 0xb8, 0xff, 0x7f, 0x98, 0xf1, 0xb1, 0xad, 0x1f, 0x44, 0xec, 0x6b, 0x27, 0x65, 0x5f, 0xa7, 0xfc, - 0x38, 0x7f, 0xe5, 0x2e, 0xd4, 0x93, 0x5f, 0xd1, 0x34, 0x54, 0xb6, 0x9c, 0x5d, 0xc7, 0xdd, 0x77, - 0xe4, 0x67, 0x48, 0x83, 0xe3, 0xc9, 0x12, 0xaa, 0x43, 0x55, 0x38, 0x87, 0x72, 0x09, 0xcd, 0xc2, - 0xf4, 0x96, 0xa3, 0xef, 0xe9, 0x96, 0x4d, 0x20, 0x72, 0x59, 0xf9, 0x0a, 0x9c, 0xcd, 0xf1, 0xd8, - 0x92, 0x33, 0xfa, 0xb3, 0x62, 0x42, 0xe7, 0x7b, 0x65, 0x52, 0xbe, 0x57, 0x46, 0xae, 0x7c, 0xc2, - 0x0e, 0x64, 0x5a, 0x57, 0x55, 0xd1, 0x54, 0x5e, 0x82, 0xd3, 0x99, 0x8e, 0x6c, 0x52, 0x78, 0x85, - 0x0b, 0x57, 0xbe, 0x10, 0xdd, 0xfe, 0x53, 0x9e, 0x6a, 0x12, 0xf7, 0xad, 0x13, 0x29, 0xaa, 0xec, - 0xc0, 0xb9, 0x41, 0x6b, 0x04, 0x38, 0xdb, 0x24, 0x27, 0x94, 0xf4, 0x81, 0x04, 0x28, 0x2d, 0x6a, - 0x13, 0x3b, 0x66, 0xab, 0x17, 0x09, 0x48, 0x7a, 0x93, 0xd2, 0x53, 0xf1, 0x26, 0x4b, 0xc7, 0xbc, - 0xc9, 0xd8, 0xb4, 0x9f, 0x1b, 0x34, 0x2d, 0x73, 0x2f, 0x5a, 0x6f, 0xc4, 0xfa, 0xa4, 0x8f, 0x4b, - 0x69, 0xf8, 0x71, 0x19, 0x73, 0x7e, 0x37, 0x63, 0x84, 0x89, 0xf3, 0xf4, 0x14, 0x58, 0xdf, 0x83, - 0x3a, 0xed, 0x3d, 0xc7, 0x4a, 0x8e, 0xce, 0x4d, 0x31, 0x3a, 0x2f, 0xc2, 0x2c, 0x76, 0x0c, 0xd7, - 0xc4, 0xa6, 0x96, 0xb4, 0x66, 0x5d, 0x6d, 0x70, 0x30, 0x27, 0x26, 0xe7, 0xfb, 0xcc, 0x2a, 0x26, - 0x20, 0xc1, 0x6e, 0x29, 0x56, 0x70, 0x5c, 0x2e, 0xad, 0x4f, 0x0b, 0xb9, 0x27, 0x1d, 0x3d, 0xa5, - 0x0d, 0xf5, 0xa4, 0x3b, 0xf5, 0x14, 0xcc, 0xa5, 0x42, 0x23, 0xed, 0x2e, 0x3d, 0x05, 0x9e, 0xef, - 0xc0, 0xa9, 0x81, 0x80, 0x1c, 0x9d, 0xc6, 0xaf, 0xc6, 0x8c, 0x93, 0x5e, 0xa4, 0x94, 0xef, 0x45, - 0xc6, 0x2c, 0x1f, 0xc1, 0x99, 0xc1, 0xd0, 0xc6, 0x8a, 0x8f, 0xf5, 0x30, 0xb5, 0xfa, 0x6e, 0x08, - 0x3b, 0x8f, 0xc9, 0x5e, 0x79, 0x0f, 0xe6, 0x07, 0xb9, 0xbe, 0xed, 0x5a, 0x4e, 0xeb, 0x56, 0xac, - 0x69, 0xe1, 0x27, 0xb1, 0x58, 0xe7, 0x4d, 0x38, 0x3d, 0xc8, 0x7d, 0x03, 0xeb, 0x7b, 0xf8, 0x44, - 0x86, 0x30, 0xe0, 0xf2, 0xd0, 0x68, 0x18, 0x59, 0x48, 0xb6, 0x1b, 0x9c, 0x4c, 0xc8, 0x6f, 0x48, - 0x70, 0x61, 0x78, 0x64, 0xab, 0xf5, 0x5e, 0x61, 0xf6, 0xe9, 0xa0, 0x53, 0x69, 0x58, 0xd0, 0x29, - 0xd6, 0xe4, 0x7b, 0x19, 0x31, 0xb6, 0x75, 0x67, 0xcf, 0x0a, 0xe9, 0x61, 0xc8, 0xa7, 0xc0, 0x13, - 0x74, 0xf5, 0x4d, 0x31, 0x55, 0x0a, 0x8f, 0xaf, 0xf2, 0x6d, 0x09, 0x66, 0x97, 0xbd, 0x28, 0x9c, - 0x4d, 0xa7, 0xf6, 0x3b, 0xc5, 0xad, 0x91, 0xfb, 0xce, 0xc4, 0x1e, 0x71, 0x5a, 0x8a, 0xd0, 0xf0, - 0x59, 0x28, 0x1b, 0x51, 0xd0, 0xbe, 0x72, 0x74, 0xb8, 0x50, 0x5e, 0x59, 0x5f, 0x55, 0x09, 0x8c, - 0x8c, 0x53, 0x83, 0xaa, 0x42, 0x03, 0xe1, 0xff, 0x9b, 0x9a, 0xfc, 0x58, 0x02, 0x94, 0x8a, 0xf2, - 0xd3, 0x67, 0x07, 0x72, 0xaf, 0x61, 0x6f, 0x71, 0x86, 0x1b, 0x3f, 0xb4, 0xe4, 0xdd, 0x6b, 0x92, - 0x2f, 0x15, 0x6a, 0x1d, 0x27, 0xdf, 0x2d, 0x3e, 0x91, 0x78, 0x67, 0x62, 0x57, 0x23, 0x25, 0x7f, - 0xa0, 0xa2, 0x27, 0x98, 0x88, 0x26, 0x7e, 0x2d, 0x2b, 0x27, 0x5e, 0xcb, 0x94, 0x3f, 0x95, 0x60, - 0x8e, 0x53, 0xb0, 0x67, 0x99, 0xa7, 0xaa, 0xf3, 0x5b, 0x50, 0x11, 0x6f, 0x3a, 0x4c, 0xe5, 0x4b, - 0x63, 0x3c, 0x8d, 0xa9, 0x82, 0x26, 0xf9, 0xde, 0x51, 0x4e, 0xbf, 0x77, 0xfc, 0x67, 0xac, 0x36, - 0xeb, 0xde, 0x86, 0x45, 0xee, 0x17, 0x52, 0xf1, 0x91, 0xbf, 0x02, 0xd5, 0xc0, 0x72, 0x0c, 0x2c, - 0x6e, 0x79, 0x1c, 0x6f, 0x93, 0xc0, 0xc8, 0x2d, 0x8f, 0x7e, 0x5c, 0x37, 0xd1, 0x73, 0x50, 0x63, - 0x78, 0x8e, 0xbb, 0x4f, 0xb5, 0xa9, 0xaa, 0x8c, 0xf0, 0x81, 0xbb, 0x4f, 0x98, 0xf4, 0x9d, 0xd0, - 0xb2, 0xc5, 0xc5, 0x81, 0x33, 0xd9, 0x22, 0x30, 0xc2, 0x84, 0x7e, 0x64, 0x4c, 0x18, 0x1e, 0x61, - 0x32, 0xc9, 0x98, 0x50, 0x00, 0x61, 0x72, 0x89, 0xb8, 0xc6, 0x7b, 0xd8, 0x0f, 0xb0, 0xe6, 0xfa, - 0x26, 0xf6, 0xe9, 0xdd, 0xa1, 0x4a, 0xfc, 0x5b, 0x0a, 0x7c, 0x48, 0x60, 0xf1, 0x1b, 0x37, 0xb7, - 0xd9, 0xff, 0x95, 0x7e, 0xff, 0xb7, 0x04, 0x35, 0xbe, 0xf3, 0x75, 0xdc, 0x96, 0x56, 0xbc, 0xbf, - 0x85, 0x82, 0x1a, 0xad, 0xdf, 0x92, 0x9e, 0x78, 0x73, 0x2c, 0xb0, 0xc7, 0xa7, 0x2f, 0xb6, 0xe5, - 0xa1, 0x91, 0xe4, 0x2f, 0xc2, 0xcc, 0xb2, 0x11, 0xd2, 0xc4, 0x10, 0x2a, 0xad, 0xd5, 0x2e, 0x6e, - 0x83, 0xf3, 0x00, 0xb6, 0x6b, 0xe8, 0xb6, 0xe6, 0x3a, 0xf6, 0x01, 0xbf, 0x71, 0xd4, 0x28, 0xe4, - 0xa1, 0x63, 0x1f, 0xc4, 0x27, 0xce, 0x7d, 0x98, 0x5d, 0xc5, 0x7a, 0x4a, 0xda, 0x49, 0x8e, 0xd2, - 0xef, 0x4d, 0xf2, 0xc5, 0xca, 0xba, 0x45, 0x2e, 0x66, 0xfd, 0xe0, 0x49, 0x38, 0xfe, 0xb0, 0x1c, - 0x7b, 0x91, 0x13, 0x89, 0xd4, 0x86, 0x97, 0xf2, 0x07, 0x25, 0x29, 0x72, 0x91, 0xe6, 0x39, 0x50, - 0xc2, 0xec, 0xdc, 0x81, 0xd6, 0x4f, 0x25, 0x98, 0x21, 0xb7, 0xfd, 0x15, 0xd7, 0x71, 0xb0, 0x11, - 0x62, 0x33, 0x19, 0x11, 0x90, 0x72, 0x23, 0x02, 0x05, 0xe2, 0x13, 0x6d, 0x80, 0xd0, 0xd7, 0x9d, - 0xc0, 0x73, 0xfd, 0x90, 0xe5, 0x92, 0x34, 0x96, 0x6e, 0x8e, 0xab, 0xbe, 0x20, 0x54, 0x13, 0x3c, - 0xd0, 0x19, 0x98, 0xea, 0xe9, 0xa6, 0xe9, 0xb3, 0x94, 0x92, 0x9a, 0xca, 0x5b, 0xad, 0x37, 0x40, - 0x26, 0x6a, 0xaa, 0xd8, 0x60, 0x9d, 0xb1, 0x9c, 0xee, 0x58, 0xbd, 0x11, 0x84, 0xc4, 0x8b, 0x2a, - 0x64, 0x06, 0x65, 0x1b, 0x26, 0x68, 0xfa, 0xc8, 0x2c, 0x4c, 0x93, 0xbf, 0xf1, 0xbd, 0xbb, 0x09, - 0xf3, 0x04, 0x30, 0xc8, 0x55, 0x96, 0xd0, 0x69, 0x98, 0x13, 0x5f, 0x22, 0x9b, 0xcb, 0xa5, 0x24, - 0x41, 0x52, 0x7f, 0xb9, 0xac, 0xac, 0x41, 0x2d, 0x32, 0x03, 0x6a, 0x00, 0x3c, 0xf2, 0xc2, 0x58, - 0x0e, 0xc0, 0xd4, 0x23, 0x2f, 0xdc, 0x58, 0x7e, 0x20, 0x4b, 0xfc, 0xf7, 0x67, 0x97, 0x1f, 0xc8, - 0x25, 0x24, 0x43, 0xfd, 0x91, 0x17, 0xb6, 0x7d, 0xf7, 0xb1, 0xd5, 0xb3, 0xc2, 0x03, 0xb9, 0xac, - 0xfc, 0x95, 0x44, 0xa6, 0xf8, 0x76, 0xbf, 0x4b, 0xf6, 0x4f, 0x6a, 0xe9, 0x20, 0xe9, 0x45, 0xff, - 0x91, 0x54, 0xd0, 0x8d, 0x46, 0x1b, 0xa9, 0x94, 0xa8, 0xd2, 0x38, 0x29, 0x51, 0x6c, 0xfb, 0xc9, - 0xcc, 0x90, 0x4a, 0x6f, 0x56, 0xe5, 0x11, 0x11, 0xd8, 0xef, 0x96, 0xe1, 0x0c, 0xed, 0xcc, 0xba, - 0x13, 0x78, 0xd8, 0x60, 0xfd, 0xd9, 0x0c, 0x5d, 0x1f, 0xb7, 0xbe, 0xfd, 0x04, 0x27, 0xc3, 0x16, - 0x54, 0x6d, 0xb7, 0x9b, 0xec, 0xc8, 0x2b, 0x99, 0x1d, 0x39, 0x26, 0x72, 0xc3, 0xed, 0xd2, 0x7e, - 0x51, 0xb6, 0xbc, 0xa1, 0x56, 0x6c, 0xf6, 0xa3, 0xf5, 0x0b, 0x69, 0xb4, 0x0f, 0x85, 0x6e, 0xc0, - 0x34, 0x4f, 0xc2, 0x30, 0xe2, 0x2c, 0x8c, 0xc6, 0xd1, 0xe1, 0x02, 0xb0, 0x2c, 0x0c, 0x9a, 0x1d, - 0xc5, 0xf3, 0x34, 0x68, 0x5a, 0xd4, 0x83, 0x44, 0x92, 0x56, 0x22, 0xe5, 0xa9, 0x3c, 0x56, 0xca, - 0x53, 0x94, 0xad, 0x15, 0x81, 0xd2, 0x4b, 0x79, 0x62, 0x54, 0x36, 0x86, 0xf0, 0x19, 0xa7, 0xd2, - 0xef, 0xf5, 0x1e, 0x00, 0x35, 0xce, 0x13, 0x6f, 0x9d, 0xc9, 0x5b, 0x1c, 0x5f, 0x77, 0x41, 0x53, - 0x22, 0xcb, 0x9b, 0x11, 0xb0, 0x85, 0x17, 0xa8, 0x15, 0xb6, 0xf2, 0x02, 0xe5, 0x0f, 0x4a, 0x30, - 0xbf, 0xdc, 0x0f, 0x77, 0xd6, 0x1e, 0x1b, 0x3b, 0xba, 0xd3, 0xc5, 0x2a, 0x0e, 0x3c, 0xd7, 0x09, - 0x30, 0x7a, 0x1e, 0xea, 0xba, 0x61, 0xe0, 0x20, 0xe0, 0x41, 0x75, 0x96, 0x46, 0x34, 0xcd, 0x60, - 0x34, 0x94, 0x4d, 0xb6, 0xc2, 0xc0, 0x70, 0xbd, 0x28, 0x9d, 0x88, 0x36, 0xe8, 0x06, 0xe9, 0xfb, - 0xae, 0x08, 0x21, 0xb3, 0x06, 0x7a, 0x09, 0xe6, 0xe8, 0x0f, 0xcd, 0xc4, 0x81, 0xe1, 0x5b, 0x1e, - 0xb9, 0x81, 0xb0, 0x50, 0xa9, 0x2a, 0xd3, 0x0f, 0xab, 0x31, 0x1c, 0x6d, 0x42, 0x95, 0x47, 0xe6, - 0x59, 0x9c, 0x74, 0x7a, 0xe9, 0x8d, 0xcc, 0x01, 0xc9, 0x52, 0x5c, 0xc4, 0xfe, 0x02, 0x9e, 0x1f, - 0x25, 0x18, 0xb5, 0x6e, 0xc1, 0x4c, 0xea, 0x53, 0xa1, 0xfc, 0xa8, 0x9f, 0x48, 0xd0, 0xa4, 0x23, - 0x43, 0x44, 0x72, 0x36, 0x9b, 0x38, 0xa4, 0x76, 0x68, 0x7d, 0x4f, 0x4a, 0xc6, 0x98, 0x26, 0x63, - 0x7b, 0x4d, 0x2f, 0x5d, 0x1b, 0x5b, 0x6f, 0x95, 0xd1, 0x3d, 0x9d, 0xa0, 0x7e, 0x7c, 0x84, 0x7e, - 0x19, 0xe4, 0xc1, 0x88, 0x08, 0x3a, 0x03, 0xa5, 0x68, 0x1a, 0xd1, 0x44, 0xa6, 0xf6, 0x3d, 0xb5, - 0xe4, 0x3d, 0xe1, 0x03, 0x31, 0x6a, 0x25, 0xae, 0x17, 0xcc, 0xd9, 0x8e, 0xda, 0x8a, 0x0d, 0xe7, - 0x92, 0x6f, 0x29, 0x9b, 0x7d, 0x8f, 0xc5, 0xfe, 0x39, 0x90, 0x4c, 0xb2, 0xe8, 0xe9, 0x46, 0x9c, - 0xca, 0x35, 0x75, 0x5a, 0x3c, 0xcb, 0xb0, 0x75, 0x25, 0x0b, 0x14, 0xec, 0x98, 0x9e, 0x6b, 0xf1, - 0xa3, 0xb7, 0xa6, 0xce, 0x72, 0xf8, 0x1a, 0x07, 0x2b, 0xff, 0x22, 0x41, 0x3d, 0x29, 0x8e, 0x8c, - 0x67, 0x72, 0xf2, 0x3e, 0x4d, 0x0b, 0xa3, 0x2f, 0x00, 0x0a, 0x44, 0x77, 0xb4, 0x68, 0xb6, 0x96, - 0x87, 0xe4, 0xf1, 0x0d, 0xb3, 0x84, 0x3a, 0x17, 0x0c, 0x40, 0x02, 0x74, 0x01, 0x00, 0x3f, 0xf6, - 0x2c, 0x16, 0xba, 0xa6, 0x6b, 0xa5, 0xac, 0x26, 0x20, 0xca, 0x6f, 0x4a, 0x70, 0x36, 0x31, 0x1d, - 0x57, 0xdc, 0x9e, 0x67, 0xe3, 0x10, 0xdf, 0xb1, 0xdd, 0xfd, 0xd6, 0x5b, 0xf1, 0x8c, 0x5c, 0x82, - 0xba, 0xa1, 0xdb, 0xf6, 0xb6, 0x6e, 0xec, 0xd2, 0x8e, 0xb2, 0x63, 0x78, 0xf6, 0xe8, 0x70, 0x61, - 0x7a, 0x85, 0xc3, 0x49, 0x17, 0xa7, 0x05, 0x12, 0x99, 0x3e, 0xc9, 0x6d, 0x24, 0x7a, 0xca, 0x92, - 0x86, 0x3c, 0x65, 0xfd, 0x44, 0x82, 0x53, 0x09, 0x5d, 0xd6, 0x1d, 0x2b, 0xa4, 0x7a, 0xdc, 0x4f, - 0x6d, 0x61, 0xc4, 0x8a, 0x09, 0x1d, 0x58, 0x9a, 0x58, 0x3f, 0xdc, 0x21, 0xf2, 0x2b, 0xe4, 0x23, - 0x31, 0x6c, 0x2b, 0xb1, 0xf8, 0xcb, 0xd4, 0x31, 0x89, 0xd7, 0x70, 0x3b, 0x71, 0x12, 0xc4, 0x7c, - 0xe8, 0x49, 0x40, 0x78, 0x10, 0x18, 0x39, 0x02, 0x03, 0x6c, 0xf4, 0x7d, 0x1c, 0x0d, 0x6b, 0x95, - 0x1d, 0x81, 0x9b, 0x14, 0x4a, 0xf0, 0x6a, 0x0c, 0x61, 0xcb, 0xb7, 0x95, 0x5f, 0x48, 0x70, 0x79, - 0xc5, 0xc7, 0x26, 0x19, 0x5c, 0xdd, 0xfe, 0x0c, 0xf6, 0xad, 0x4e, 0xe2, 0xbd, 0x2b, 0xd9, 0x95, - 0x44, 0x20, 0xf9, 0x06, 0x88, 0x29, 0x9a, 0xe8, 0x0d, 0x3d, 0x6c, 0x38, 0x11, 0x11, 0x02, 0x1c, - 0x85, 0xf4, 0x29, 0x9d, 0x4b, 0x5c, 0x1a, 0xcc, 0x25, 0x46, 0x30, 0x61, 0x5b, 0xce, 0x2e, 0xdf, - 0x31, 0xe9, 0xef, 0x0f, 0xa1, 0xab, 0x3f, 0x90, 0xe0, 0xda, 0xd0, 0xae, 0x8e, 0x37, 0x83, 0xac, - 0xec, 0x19, 0xb4, 0x9e, 0x9c, 0x41, 0x56, 0xeb, 0x45, 0xa1, 0xfe, 0x05, 0x00, 0x8b, 0x8a, 0xec, - 0x58, 0x3c, 0x7f, 0xb6, 0xa6, 0x26, 0x20, 0xca, 0xd7, 0x4b, 0x70, 0x96, 0xe9, 0x82, 0xcd, 0x58, - 0xbb, 0x80, 0x5e, 0x4f, 0xbf, 0x91, 0xd8, 0x58, 0x5f, 0x82, 0xb9, 0x8e, 0x65, 0x87, 0xf4, 0x48, - 0x1b, 0x60, 0x27, 0xb3, 0x0f, 0xeb, 0x11, 0x9c, 0xdc, 0x0c, 0x05, 0x72, 0x10, 0xf4, 0x79, 0x92, - 0x5a, 0x4d, 0xad, 0x73, 0x44, 0x0a, 0xa3, 0x21, 0xe8, 0xc7, 0x86, 0xdd, 0x37, 0xb1, 0x46, 0x57, - 0x15, 0xcf, 0x77, 0xa8, 0xaa, 0x0d, 0x0e, 0x5e, 0x63, 0xd0, 0x96, 0x2e, 0xfa, 0xf2, 0x39, 0x00, - 0x23, 0x52, 0x91, 0xef, 0xf0, 0x1f, 0xcd, 0xde, 0xe1, 0xd9, 0xf3, 0xe0, 0xf1, 0x8e, 0xa9, 0xb8, - 0x6b, 0x05, 0x21, 0xf6, 0xb1, 0xa9, 0x26, 0x78, 0x29, 0x1f, 0x48, 0xd1, 0xb3, 0x2a, 0x3b, 0x5c, - 0x69, 0xff, 0x13, 0x8e, 0xa5, 0x5d, 0x70, 0x45, 0xa2, 0x5b, 0x50, 0xe1, 0x13, 0x70, 0xfc, 0xf7, - 0x70, 0x41, 0xa1, 0xfc, 0xda, 0x80, 0x36, 0x2b, 0xae, 0x89, 0x53, 0x0b, 0x53, 0x4a, 0x2f, 0x4c, - 0x74, 0x19, 0x1a, 0x86, 0x6b, 0x62, 0xcd, 0xd8, 0xd1, 0x6d, 0x1b, 0x3b, 0x5d, 0x71, 0x84, 0xce, - 0xd0, 0xf0, 0xbf, 0x00, 0xa6, 0x94, 0x2f, 0x0f, 0xd9, 0x4e, 0xbe, 0x29, 0xc1, 0x82, 0x9a, 0x7e, - 0x7a, 0x26, 0x9b, 0x24, 0xb7, 0x1d, 0xf3, 0x8e, 0xde, 0x4d, 0x6d, 0x2d, 0x63, 0xd9, 0x64, 0xcc, - 0xb4, 0xa3, 0xf8, 0xf4, 0xfc, 0xaa, 0x04, 0x17, 0xb3, 0xf4, 0x60, 0x10, 0x7e, 0xc3, 0x3d, 0x51, - 0xc0, 0x7b, 0x41, 0x8c, 0xeb, 0x19, 0x28, 0xb9, 0xec, 0x50, 0xae, 0xb2, 0x43, 0xf9, 0xe1, 0x3d, - 0xb5, 0xe4, 0xee, 0x2a, 0x3f, 0x01, 0x80, 0xcd, 0x83, 0x20, 0xc4, 0x3d, 0x1a, 0xc0, 0x48, 0x4c, - 0x89, 0x7f, 0x8b, 0xfc, 0xe2, 0x65, 0xa8, 0x78, 0xbe, 0x4b, 0x1c, 0x33, 0x2e, 0xf8, 0xc5, 0xec, - 0xb1, 0x8e, 0xd8, 0x2c, 0xb6, 0x19, 0xba, 0x2a, 0xe8, 0xd0, 0x27, 0xa0, 0xec, 0x2d, 0x79, 0x43, - 0x83, 0x6d, 0x49, 0xf2, 0xa5, 0x36, 0xdb, 0x8a, 0xda, 0x4b, 0x6d, 0x95, 0x10, 0xa2, 0x07, 0x50, - 0x71, 0xfd, 0x6d, 0x2b, 0x34, 0xb7, 0x79, 0xa6, 0xd6, 0x48, 0x15, 0x1e, 0x12, 0xf4, 0xd5, 0xdb, - 0x6c, 0x08, 0x78, 0x43, 0x15, 0x4c, 0xc8, 0xd1, 0xbd, 0xaf, 0xfb, 0x8e, 0xb8, 0x9b, 0xb2, 0x46, - 0xeb, 0x5f, 0x25, 0x10, 0xa8, 0xc8, 0x8c, 0x1f, 0xec, 0x23, 0xff, 0x83, 0xf5, 0xfe, 0xcd, 0x31, - 0x45, 0x2f, 0x26, 0x87, 0x96, 0xde, 0x94, 0xd5, 0x59, 0xce, 0x32, 0x7a, 0xcf, 0xfb, 0x0a, 0xcc, - 0x1d, 0xc3, 0x22, 0x2b, 0xc1, 0xf3, 0xdd, 0xae, 0x2f, 0x0c, 0x5e, 0x56, 0xa3, 0x36, 0x0d, 0x3d, - 0xea, 0x8f, 0xad, 0x5e, 0xbf, 0x47, 0x8d, 0x59, 0x56, 0x45, 0x93, 0x50, 0x6d, 0xf7, 0x3b, 0x1d, - 0x2c, 0x36, 0x9a, 0xb2, 0x1a, 0xb5, 0xc9, 0x5d, 0x9c, 0x65, 0xd1, 0xf1, 0x73, 0x9e, 0xb7, 0x5a, - 0x8b, 0x40, 0x4c, 0x4c, 0xb6, 0xaa, 0xe8, 0xf2, 0xab, 0x11, 0xd7, 0x5d, 0xc8, 0x6d, 0x44, 0x60, - 0xe2, 0xd9, 0x07, 0xad, 0x6f, 0x4f, 0x41, 0x85, 0x8f, 0x2d, 0xd1, 0x64, 0x0f, 0xfb, 0x01, 0x71, - 0x1e, 0xd8, 0x3e, 0x29, 0x9a, 0xe8, 0x2c, 0x54, 0xf6, 0x8c, 0x40, 0xf3, 0x71, 0x87, 0x2f, 0xd3, - 0xa9, 0x3d, 0x23, 0x50, 0x71, 0x87, 0x5c, 0x62, 0xfa, 0x5e, 0x68, 0xf5, 0xb0, 0xd6, 0x0b, 0x98, - 0x8e, 0xec, 0x12, 0xb3, 0x45, 0x81, 0xf7, 0x37, 0xd5, 0x2a, 0xfb, 0x7c, 0x3f, 0x40, 0x1f, 0x03, - 0xb9, 0x1f, 0x60, 0x5f, 0x33, 0xbc, 0xbe, 0x26, 0x28, 0x80, 0x52, 0xcc, 0x1d, 0x1d, 0x2e, 0xcc, - 0x6c, 0x05, 0xd8, 0x5f, 0x69, 0x6f, 0x3d, 0x62, 0x64, 0x33, 0x04, 0x75, 0xc5, 0xeb, 0x3f, 0x62, - 0xb4, 0x9f, 0x02, 0x14, 0xd0, 0xd1, 0x48, 0x51, 0x4f, 0x53, 0x6a, 0x9a, 0xad, 0xcb, 0xc6, 0x2a, - 0xa6, 0x9f, 0x65, 0xe8, 0x31, 0x87, 0xf3, 0x00, 0x41, 0xa8, 0x53, 0xdf, 0x4b, 0x0f, 0x9b, 0x75, - 0x6a, 0x8b, 0x1a, 0x87, 0x2c, 0xd3, 0xda, 0x1d, 0xdf, 0x26, 0x57, 0x76, 0xcd, 0xe8, 0xfb, 0xcd, - 0x19, 0x9a, 0xae, 0x5d, 0x63, 0x90, 0x95, 0x3e, 0x3d, 0x1e, 0x9c, 0x7e, 0x4f, 0xeb, 0xba, 0xbe, - 0xdb, 0x0f, 0x2d, 0x07, 0x37, 0x1b, 0x94, 0x41, 0xdd, 0xe9, 0xf7, 0xee, 0x0a, 0x18, 0x19, 0x12, - 0xc7, 0xed, 0x58, 0x36, 0x6e, 0xce, 0xb2, 0x21, 0x61, 0x2d, 0xf4, 0x0a, 0x9c, 0x0a, 0x5d, 0x57, - 0xeb, 0xe9, 0xce, 0x81, 0xe6, 0x7a, 0xd8, 0xd1, 0x08, 0x34, 0x68, 0xca, 0xf4, 0xe8, 0x90, 0x43, - 0xd7, 0xbd, 0xaf, 0x3b, 0x07, 0x0f, 0x3d, 0xec, 0xdc, 0x21, 0x70, 0x74, 0x09, 0x2a, 0x44, 0x96, - 0xe1, 0xf5, 0x9b, 0x73, 0xb4, 0x83, 0x34, 0x00, 0xf2, 0xa0, 0x4f, 0x7a, 0xa7, 0x4e, 0x39, 0x7d, - 0xd2, 0x29, 0xa2, 0x6f, 0xd7, 0xd5, 0xc4, 0x68, 0x21, 0x3a, 0x26, 0xb5, 0xae, 0xfb, 0x19, 0x3e, - 0x5e, 0xd7, 0x40, 0x76, 0x3d, 0xec, 0xd3, 0x04, 0x21, 0x8d, 0x99, 0xa2, 0x79, 0x8a, 0xf9, 0xc0, - 0x11, 0x9c, 0x99, 0x0c, 0x3d, 0x07, 0xb5, 0x1d, 0x37, 0x08, 0x35, 0x47, 0xef, 0xe1, 0xe6, 0x3c, - 0xc5, 0xa9, 0x12, 0xc0, 0x03, 0xbd, 0x87, 0x89, 0x9f, 0xa1, 0xfb, 0xc6, 0x4e, 0xf3, 0x34, 0xf3, - 0x33, 0xc8, 0xef, 0x84, 0xa9, 0x7a, 0xfa, 0xe3, 0xe6, 0x99, 0xa4, 0xa9, 0xee, 0xeb, 0x8f, 0x89, - 0xf7, 0xe1, 0x59, 0x66, 0xf3, 0x2c, 0x55, 0x9d, 0x2d, 0x79, 0x72, 0xe5, 0xf6, 0x2c, 0x13, 0x9d, - 0x83, 0x09, 0x8f, 0x7c, 0x6b, 0xd2, 0x6f, 0xd5, 0xa3, 0xc3, 0x85, 0x89, 0x36, 0xf9, 0x48, 0xa1, - 0x6c, 0x8d, 0x58, 0xae, 0x6f, 0x85, 0x07, 0xcd, 0x67, 0xc5, 0x1a, 0x61, 0x6d, 0xea, 0xd2, 0x58, - 0x66, 0xb3, 0x15, 0x33, 0xdd, 0x22, 0x4c, 0xfb, 0x96, 0x89, 0x16, 0x60, 0x7a, 0xdf, 0xf5, 0x77, - 0x49, 0x47, 0x4d, 0xcb, 0x6f, 0x3e, 0xc7, 0xfc, 0x05, 0x0e, 0x5a, 0xb5, 0xe8, 0xa9, 0xcd, 0xe7, - 0x0e, 0x99, 0x53, 0xb4, 0x9b, 0xe7, 0x28, 0x52, 0x83, 0x81, 0xb7, 0x38, 0x54, 0xf9, 0xd5, 0x24, - 0x54, 0xc9, 0xa2, 0x18, 0x3c, 0x49, 0x97, 0xc5, 0xae, 0xf9, 0x51, 0x98, 0x14, 0x4b, 0xa9, 0x9c, - 0xfb, 0x28, 0x22, 0x38, 0xd0, 0x1f, 0x2a, 0x23, 0x68, 0xfd, 0xb8, 0x04, 0x13, 0xa4, 0x9d, 0x28, - 0x09, 0xa9, 0xa5, 0x4a, 0x42, 0x6e, 0xc1, 0x14, 0x99, 0x46, 0x98, 0x05, 0x22, 0xf2, 0x36, 0xd4, - 0x88, 0xb7, 0x4a, 0x70, 0x55, 0x4e, 0x42, 0x26, 0x1e, 0xbd, 0x11, 0x0b, 0xf7, 0x97, 0xb7, 0xd0, - 0x32, 0x54, 0x3b, 0x58, 0x0f, 0xfb, 0x3e, 0x66, 0xbb, 0x62, 0x23, 0xaf, 0x9a, 0x46, 0xb0, 0xbd, - 0xc3, 0xb0, 0xd5, 0x88, 0x8c, 0x58, 0xb7, 0x67, 0x39, 0x9a, 0xad, 0x87, 0xd8, 0x31, 0x58, 0x39, - 0x58, 0x59, 0x85, 0x9e, 0xe5, 0x6c, 0x30, 0x08, 0x99, 0x3e, 0x56, 0xa0, 0xd1, 0x08, 0x2e, 0xe6, - 0xe1, 0xf4, 0xaa, 0x15, 0xd0, 0xf8, 0x31, 0x46, 0x1f, 0x87, 0x9a, 0x69, 0xf9, 0xd8, 0xa0, 0xf7, - 0x91, 0xca, 0x90, 0x40, 0xc9, 0xaa, 0xc0, 0x52, 0x63, 0x82, 0xd6, 0xdf, 0x91, 0xe3, 0x8a, 0xf4, - 0x30, 0x2d, 0x44, 0x1a, 0x10, 0xd2, 0x84, 0x8a, 0x6e, 0x9a, 0x74, 0x6b, 0x65, 0x7b, 0x93, 0x68, - 0xa6, 0xc5, 0x97, 0x0b, 0x8a, 0x27, 0x7c, 0x45, 0xb7, 0xd9, 0x16, 0x2b, 0x9a, 0xe8, 0x13, 0x50, - 0x09, 0x42, 0x1f, 0xeb, 0x3d, 0x11, 0x6c, 0x78, 0x61, 0xb8, 0x59, 0x37, 0x29, 0xb2, 0x2a, 0x88, - 0x5a, 0x17, 0x61, 0x8a, 0x81, 0xf2, 0xa6, 0x83, 0xf2, 0x3e, 0x54, 0xf8, 0x58, 0x20, 0x04, 0x0d, - 0x1e, 0x76, 0xe4, 0x10, 0xf9, 0x19, 0x34, 0x0b, 0xd3, 0x9f, 0xc5, 0xc1, 0x8e, 0x00, 0x48, 0xa8, - 0x01, 0x70, 0x7b, 0x63, 0x4d, 0xb4, 0x69, 0x18, 0x72, 0xc3, 0x35, 0x74, 0x5b, 0x40, 0xca, 0x34, - 0x80, 0xe9, 0xfa, 0xa2, 0x3d, 0x41, 0x58, 0xbc, 0xd3, 0xb7, 0x0c, 0x01, 0x98, 0x54, 0x7e, 0x28, - 0x41, 0xb5, 0x2d, 0xce, 0xa4, 0x79, 0x98, 0x0c, 0x42, 0x3d, 0x14, 0xf7, 0x6b, 0xd6, 0x20, 0x50, - 0xd3, 0xb5, 0x9c, 0xae, 0x88, 0x76, 0xd0, 0x46, 0xea, 0x6c, 0x23, 0x46, 0x2e, 0x25, 0xce, 0xb6, - 0x73, 0x50, 0x33, 0xf8, 0x1d, 0x81, 0x1d, 0x54, 0x13, 0x6a, 0x0c, 0x60, 0xb7, 0xed, 0x50, 0xb7, - 0xe9, 0xb4, 0x9a, 0x50, 0x59, 0x83, 0x4a, 0xc1, 0xb6, 0xce, 0xaa, 0x32, 0x27, 0x54, 0xd6, 0x50, - 0x0e, 0x25, 0x98, 0x7b, 0xd8, 0x0f, 0x1f, 0x76, 0x68, 0xb4, 0x51, 0x94, 0x95, 0x0d, 0x89, 0xef, - 0x15, 0x88, 0x94, 0x27, 0x0a, 0x75, 0x48, 0x07, 0xa6, 0xe2, 0x72, 0x3d, 0x5e, 0x83, 0x37, 0x11, - 0xd7, 0xe0, 0xcd, 0xc3, 0x64, 0xc7, 0xd6, 0xbb, 0x01, 0xd5, 0xb9, 0xa2, 0xb2, 0x06, 0x0d, 0x56, - 0x89, 0x92, 0x37, 0x2d, 0x1d, 0xaa, 0x93, 0xa3, 0x0f, 0xbc, 0x14, 0x2b, 0xae, 0x21, 0xab, 0x24, - 0x6a, 0xc8, 0x14, 0x1b, 0x9e, 0x3d, 0xd6, 0xbf, 0x11, 0x55, 0x89, 0x32, 0x94, 0xb7, 0xdd, 0xc7, - 0xfc, 0x76, 0x48, 0x7e, 0x92, 0xbd, 0x8e, 0xf9, 0xab, 0xbe, 0xc8, 0x97, 0xe2, 0x11, 0x96, 0x46, - 0x97, 0xa5, 0x8d, 0x72, 0xa8, 0xf2, 0x5f, 0x29, 0x73, 0xf2, 0x94, 0xf1, 0xd6, 0xa5, 0xd8, 0x31, - 0x4d, 0x84, 0x1c, 0xa5, 0x54, 0xc8, 0xb1, 0xf5, 0xe7, 0x91, 0x17, 0xf9, 0xa9, 0xf8, 0xd1, 0x94, - 0xf9, 0x51, 0x57, 0x32, 0xd7, 0xc1, 0xb1, 0x6e, 0xc5, 0xe5, 0x74, 0x64, 0x7e, 0xd8, 0x98, 0x1c, - 0xc2, 0x8f, 0xc5, 0xfb, 0x48, 0x0c, 0x40, 0x57, 0x41, 0xe6, 0xde, 0x77, 0x7c, 0x15, 0x4e, 0x76, - 0xa7, 0x1d, 0xdd, 0x87, 0xaf, 0x81, 0xac, 0xdb, 0x3e, 0xd6, 0xcd, 0x03, 0xcd, 0xe7, 0xe9, 0xef, - 0x74, 0xd0, 0xaa, 0xea, 0x2c, 0x87, 0x8b, 0xac, 0x78, 0xfa, 0x8a, 0x1f, 0x6b, 0xb4, 0x89, 0x75, - 0xbb, 0xf5, 0x20, 0xee, 0xf6, 0x90, 0x09, 0x95, 0xa5, 0x4d, 0x29, 0x4b, 0x9b, 0xd6, 0x65, 0x61, - 0xa0, 0x73, 0x50, 0x8b, 0x46, 0x5f, 0x54, 0x3d, 0x46, 0x00, 0xe5, 0xaf, 0x4b, 0x51, 0xc5, 0xc6, - 0xb0, 0x6b, 0x5f, 0x91, 0x04, 0xdf, 0x5b, 0xd0, 0x0a, 0xac, 0xae, 0x83, 0x4d, 0x7e, 0xe7, 0x0d, - 0x0f, 0x8e, 0x6b, 0x7b, 0x96, 0x61, 0xac, 0x73, 0x84, 0xd8, 0x88, 0x37, 0xe0, 0xd4, 0x1e, 0xd7, - 0x43, 0x4b, 0xdc, 0x5a, 0x59, 0x8c, 0x01, 0xed, 0x1d, 0x53, 0x91, 0xcc, 0x7a, 0x9f, 0xaa, 0xc9, - 0xe2, 0x4b, 0x9a, 0x49, 0x76, 0x0c, 0xb6, 0x57, 0xca, 0xc9, 0x0f, 0xab, 0x64, 0xf3, 0xa0, 0x97, - 0x67, 0x11, 0x8a, 0x62, 0xa8, 0xec, 0x34, 0x69, 0xc4, 0x60, 0x8a, 0x98, 0xbe, 0xff, 0x4f, 0x0d, - 0xde, 0xff, 0xc9, 0x69, 0xc7, 0xef, 0xe8, 0x15, 0xe6, 0x8a, 0xb2, 0x96, 0xf2, 0x16, 0xcc, 0xdd, - 0xb1, 0xfc, 0x20, 0xdc, 0xd0, 0x83, 0x70, 0x85, 0xad, 0x5f, 0xba, 0x91, 0x75, 0x08, 0x90, 0xd7, - 0xe1, 0xb2, 0x06, 0x0d, 0x9f, 0xe8, 0x41, 0xc8, 0xcb, 0xf2, 0xe8, 0x6f, 0xe5, 0x1f, 0x24, 0x38, - 0xc5, 0xdd, 0xfc, 0x44, 0x92, 0x00, 0x73, 0x1c, 0xb1, 0x6e, 0x63, 0x53, 0x8b, 0xd7, 0x5a, 0x8d, - 0x41, 0x6e, 0xbb, 0x8f, 0xd1, 0xf3, 0x50, 0xf7, 0xf5, 0x7d, 0xcd, 0x77, 0x59, 0x8e, 0x0c, 0x9f, - 0x9f, 0xd3, 0xbe, 0xbe, 0xaf, 0x72, 0x50, 0xeb, 0x9b, 0x12, 0x94, 0x09, 0x6a, 0xe2, 0xa0, 0x92, - 0xd2, 0x07, 0xd5, 0x3c, 0x4c, 0xd2, 0x7a, 0x6d, 0xf1, 0x44, 0x48, 0x1b, 0x05, 0x9e, 0x6c, 0x07, - 0xb3, 0x89, 0xeb, 0x99, 0x8f, 0x66, 0xbf, 0x92, 0xe0, 0xb4, 0x8a, 0x3b, 0x3e, 0x0e, 0x76, 0xd2, - 0xe9, 0x80, 0xad, 0xd7, 0x47, 0x78, 0x27, 0xf3, 0x30, 0xc9, 0xde, 0xfd, 0x4a, 0xec, 0x6e, 0xc5, - 0x9e, 0xfd, 0xde, 0x79, 0xc2, 0xd4, 0x35, 0x62, 0x08, 0xe2, 0xc2, 0xbb, 0xfd, 0x50, 0xdc, 0x78, - 0x78, 0xb3, 0xf5, 0xae, 0x58, 0x39, 0x6d, 0x98, 0xa6, 0x9e, 0x93, 0xd6, 0x71, 0xfb, 0x8e, 0xc9, - 0x1d, 0xae, 0x1b, 0x99, 0xdb, 0x4b, 0x66, 0x97, 0x98, 0xf7, 0x05, 0x94, 0xc7, 0x1d, 0xc2, 0xe2, - 0xba, 0x05, 0xf1, 0x03, 0x18, 0x3a, 0xc3, 0xf3, 0x67, 0xd8, 0xe3, 0xa1, 0x89, 0x3b, 0x96, 0x83, - 0x4d, 0xf9, 0x19, 0x34, 0xcf, 0x53, 0x1e, 0x08, 0x9c, 0x2f, 0x4d, 0x59, 0x4a, 0x41, 0xb9, 0x18, - 0xf6, 0x72, 0x18, 0x41, 0x13, 0x49, 0x53, 0x72, 0xf9, 0xfa, 0x07, 0x55, 0xa8, 0xc5, 0xef, 0x3c, - 0x67, 0x00, 0x45, 0x8d, 0xa4, 0xac, 0x4b, 0xb0, 0x10, 0xc1, 0xb3, 0xab, 0x5c, 0x65, 0x09, 0x5d, - 0x86, 0xe7, 0xd3, 0x48, 0x19, 0x15, 0xa3, 0x72, 0x09, 0x2d, 0xc0, 0x73, 0x11, 0xda, 0xf1, 0xb2, - 0x3b, 0x19, 0xa3, 0xf3, 0xf0, 0x6c, 0x26, 0xc2, 0x06, 0xee, 0x84, 0x72, 0x07, 0x5d, 0x87, 0x2b, - 0x83, 0x9f, 0xb3, 0x8b, 0xdb, 0xe4, 0x2e, 0xba, 0x06, 0x97, 0x87, 0xe3, 0x8a, 0xc4, 0xe7, 0x1d, - 0x74, 0x13, 0x5e, 0x1e, 0x8e, 0x9a, 0xae, 0x4d, 0x93, 0x2d, 0xb4, 0x04, 0x8b, 0xc3, 0x29, 0x06, - 0x8b, 0xc8, 0xe4, 0x2f, 0xa2, 0x45, 0xb8, 0x3e, 0x1e, 0xcd, 0x26, 0x76, 0x42, 0x79, 0x77, 0xb4, - 0x8c, 0xc1, 0x4a, 0x2a, 0xd9, 0x46, 0xaf, 0xc1, 0x8d, 0xf1, 0x68, 0xa2, 0xba, 0x24, 0xb9, 0x37, - 0xbe, 0x20, 0x51, 0x48, 0x24, 0x3b, 0x48, 0x81, 0x0b, 0x39, 0x34, 0xbc, 0xa4, 0x47, 0x76, 0xd1, - 0x0b, 0x70, 0x31, 0x07, 0x27, 0x2a, 0xc2, 0x91, 0x3d, 0xa4, 0xc0, 0xf9, 0x08, 0x2b, 0xab, 0x62, - 0x5b, 0xfe, 0xa9, 0x84, 0x6e, 0xc2, 0x4b, 0x11, 0xce, 0xe8, 0xb2, 0x5f, 0xf9, 0x47, 0x25, 0xf4, - 0x7a, 0xc2, 0x10, 0xe3, 0x95, 0xbf, 0xca, 0x7f, 0x5c, 0x42, 0x8b, 0x70, 0x2d, 0x5f, 0xce, 0x40, - 0x11, 0xaf, 0xfc, 0x27, 0x25, 0x74, 0x25, 0x31, 0xed, 0xf3, 0x2a, 0x7e, 0xe4, 0xdf, 0x2e, 0xa3, - 0xab, 0x70, 0x69, 0x18, 0x1e, 0x2f, 0xc5, 0x91, 0xbf, 0x5f, 0x46, 0x17, 0x12, 0x0b, 0x60, 0xb0, - 0x84, 0x46, 0xfe, 0x41, 0x19, 0xbd, 0x7a, 0x7c, 0xaa, 0x0e, 0x3b, 0x94, 0xe5, 0x5f, 0x96, 0x53, - 0x4a, 0xe6, 0xd5, 0xdc, 0xcb, 0xff, 0x5c, 0xb9, 0xfe, 0x81, 0x78, 0x0a, 0xcc, 0x78, 0xc1, 0x26, - 0x0b, 0x3c, 0xef, 0xdb, 0xc0, 0x66, 0x91, 0x87, 0xc6, 0x4f, 0x2b, 0x59, 0x22, 0xf3, 0x22, 0x1f, - 0x89, 0xa9, 0x26, 0x97, 0xae, 0xff, 0x85, 0x14, 0xa5, 0x35, 0xb3, 0xc2, 0x85, 0x67, 0xa3, 0xf4, - 0x70, 0xda, 0x4e, 0x8a, 0x1d, 0xf8, 0xf4, 0xc8, 0xe5, 0x13, 0x57, 0x96, 0xc8, 0xf6, 0x97, 0xfc, - 0x14, 0xad, 0x95, 0x12, 0x3a, 0x0d, 0x73, 0xc9, 0x2f, 0x6c, 0xb0, 0xca, 0xe8, 0x6c, 0x94, 0xa7, - 0xcc, 0x09, 0xd8, 0xd8, 0x4c, 0x0c, 0x0a, 0x89, 0x57, 0xd0, 0xe4, 0x20, 0x8d, 0x58, 0x02, 0x53, - 0xd7, 0xef, 0x42, 0x2d, 0xba, 0xb4, 0x91, 0xbb, 0x0d, 0xbf, 0x22, 0xad, 0x5a, 0xbe, 0xfc, 0x0c, - 0x69, 0xaf, 0x3b, 0xdb, 0x64, 0xd7, 0x27, 0x6d, 0x89, 0xdc, 0x75, 0x1e, 0xf6, 0xc3, 0x08, 0x50, - 0x42, 0x35, 0x98, 0xbc, 0x6d, 0x91, 0x9f, 0xe5, 0xa5, 0xbf, 0xbf, 0x0e, 0xb3, 0xe2, 0xbf, 0x49, - 0x88, 0x47, 0xc6, 0x20, 0xa3, 0x62, 0x09, 0x2d, 0x0e, 0x8b, 0x86, 0xc7, 0x78, 0x8b, 0x51, 0x59, - 0xd3, 0xd8, 0xf8, 0x9e, 0x7d, 0x70, 0x53, 0x42, 0x5f, 0x97, 0x72, 0x0b, 0x9b, 0xd0, 0xeb, 0x85, - 0x6a, 0x56, 0x84, 0x06, 0x4b, 0x05, 0xa9, 0xc8, 0xb9, 0x4b, 0xb4, 0xc8, 0xd9, 0xa2, 0x73, 0xb4, - 0xc8, 0xc1, 0x1e, 0xa1, 0x45, 0x3e, 0x15, 0xd1, 0xe2, 0x2b, 0x39, 0x25, 0x29, 0x68, 0x1c, 0x66, - 0x1c, 0x37, 0x52, 0xe0, 0x66, 0x21, 0x1a, 0x22, 0xfe, 0x4b, 0xd9, 0x45, 0x2e, 0xe8, 0xd5, 0x31, - 0x38, 0x31, 0xd4, 0x48, 0xf8, 0x8d, 0x22, 0x24, 0x44, 0xf6, 0xf7, 0xa5, 0xe1, 0xf5, 0x2f, 0xe8, - 0xcd, 0xb1, 0xec, 0x99, 0x24, 0x89, 0x94, 0x79, 0xe3, 0x49, 0x48, 0x89, 0x52, 0x61, 0x56, 0xa1, - 0x0c, 0x1a, 0xa7, 0x6f, 0x04, 0x31, 0x92, 0xff, 0xca, 0xf8, 0x04, 0x99, 0xc3, 0xc0, 0x8e, 0xc9, - 0xb1, 0x86, 0x81, 0xa1, 0x16, 0x1a, 0x86, 0x88, 0x24, 0x6f, 0x06, 0x92, 0x5d, 0x69, 0xdc, 0x19, - 0x48, 0x70, 0x8b, 0xce, 0x40, 0x4e, 0x43, 0xc4, 0x6f, 0xa7, 0xcb, 0x6a, 0xd0, 0xb5, 0xfc, 0xca, - 0x15, 0x8e, 0x12, 0x09, 0x7b, 0x71, 0x1c, 0x54, 0x22, 0x03, 0x0f, 0x14, 0xdb, 0xa0, 0xeb, 0x39, - 0xb9, 0x57, 0x09, 0x9c, 0x48, 0xca, 0xd5, 0xb1, 0x70, 0x79, 0x57, 0x92, 0x0e, 0x4c, 0x4e, 0x57, - 0x92, 0x28, 0x23, 0xba, 0x32, 0x80, 0x4a, 0x64, 0xec, 0x0c, 0x96, 0xd5, 0xa0, 0x97, 0x86, 0x91, - 0x72, 0xa4, 0x48, 0xce, 0xb5, 0xf1, 0x90, 0x89, 0xa4, 0xfd, 0xcc, 0x62, 0x1b, 0x34, 0x74, 0x84, - 0x93, 0x98, 0x91, 0xcc, 0xc5, 0x02, 0x14, 0x44, 0xf0, 0x57, 0xa5, 0xbc, 0x9a, 0x1c, 0xf4, 0x5a, - 0x76, 0xa6, 0x7b, 0x26, 0x72, 0x24, 0xff, 0xd5, 0x62, 0x44, 0x7c, 0x3d, 0x66, 0xd5, 0xef, 0xa0, - 0xf1, 0x58, 0x11, 0xd4, 0x11, 0xeb, 0x31, 0x87, 0x84, 0xaf, 0xc7, 0xcc, 0xea, 0x9e, 0x9c, 0xf5, - 0x98, 0x89, 0x3b, 0x62, 0x3d, 0xe6, 0xd1, 0x10, 0xf1, 0x3f, 0x92, 0xc6, 0x2c, 0x04, 0x42, 0xb7, - 0xc7, 0xe2, 0x9d, 0x49, 0x1b, 0xe9, 0xf7, 0xa9, 0x13, 0xf1, 0x20, 0xfa, 0xfe, 0xee, 0xc8, 0x92, - 0x22, 0x74, 0x6b, 0x3c, 0x21, 0x29, 0xa2, 0x48, 0xc3, 0x37, 0x9f, 0x8c, 0x98, 0xa8, 0xf6, 0xfb, - 0x63, 0xd4, 0x18, 0xa1, 0xb7, 0xc6, 0xe2, 0x3f, 0x48, 0x16, 0xa9, 0x77, 0xeb, 0x49, 0xc9, 0x89, - 0x82, 0xbb, 0xc7, 0x0a, 0x8e, 0x50, 0xb6, 0x2f, 0x37, 0x80, 0x15, 0x49, 0xbf, 0x3e, 0x26, 0x36, - 0xdf, 0xb9, 0xd2, 0x25, 0x45, 0x39, 0x3b, 0x57, 0x1a, 0x69, 0xc4, 0xce, 0x75, 0x0c, 0x99, 0x48, - 0x72, 0x32, 0xca, 0x58, 0x72, 0x9c, 0xda, 0x63, 0x78, 0x23, 0x76, 0xe4, 0xe3, 0xa5, 0x48, 0x37, - 0x25, 0xb4, 0x7b, 0xbc, 0x7a, 0x04, 0xbd, 0x32, 0x8c, 0x3c, 0x42, 0x8b, 0xa4, 0x5d, 0x19, 0x89, - 0x2e, 0x84, 0xbd, 0x9b, 0x28, 0xd9, 0x40, 0x43, 0xc8, 0xe8, 0x63, 0xbe, 0x60, 0xff, 0xc2, 0x48, - 0x3c, 0x7e, 0x4c, 0xa6, 0xaa, 0x21, 0x72, 0x8e, 0xc9, 0x14, 0xce, 0x88, 0x63, 0x72, 0x10, 0x97, - 0xcf, 0xba, 0x81, 0x42, 0x88, 0x9c, 0x59, 0x37, 0x80, 0x35, 0x62, 0xd6, 0x1d, 0xc7, 0x26, 0xc2, - 0x82, 0x8c, 0x2a, 0x89, 0x61, 0x73, 0x21, 0x55, 0x1b, 0x30, 0xfc, 0x82, 0x93, 0x85, 0xcf, 0x2e, - 0x38, 0xbd, 0x63, 0x79, 0xf0, 0xb9, 0x3d, 0x4c, 0x61, 0x8d, 0xec, 0xe1, 0x20, 0x36, 0x13, 0xf7, - 0x35, 0x29, 0x2f, 0x55, 0x3d, 0xe7, 0xc0, 0xcc, 0x46, 0x1e, 0x71, 0x60, 0xe6, 0x12, 0x31, 0x25, - 0xde, 0x4b, 0xa6, 0x67, 0xa3, 0x17, 0xf3, 0x59, 0xa4, 0xc7, 0xf2, 0xf2, 0x68, 0x44, 0x32, 0x8c, - 0xdf, 0x1a, 0x92, 0x63, 0x8c, 0xfe, 0x5f, 0x3e, 0x8f, 0x0c, 0xf4, 0x48, 0xf4, 0x6b, 0x45, 0xc9, - 0x88, 0x22, 0xef, 0x25, 0x33, 0x8e, 0xd0, 0xc8, 0x44, 0x9e, 0xe1, 0xdd, 0x4c, 0x21, 0x72, 0x9f, - 0x2b, 0x23, 0x53, 0x34, 0xc7, 0xe7, 0xca, 0xc0, 0x1c, 0xe1, 0x73, 0x65, 0x53, 0x88, 0xcb, 0x70, - 0x4e, 0xbe, 0x6c, 0xce, 0x65, 0x38, 0x07, 0x7b, 0xc4, 0x65, 0x38, 0x9f, 0x4a, 0xf8, 0x1e, 0x63, - 0x25, 0x9c, 0xe6, 0xf8, 0x1e, 0x63, 0xd1, 0x8e, 0xf0, 0x3d, 0xc6, 0xe5, 0x41, 0xf4, 0xfd, 0xb3, - 0x22, 0x59, 0xa3, 0xe8, 0x4e, 0x71, 0x79, 0x99, 0x96, 0x5d, 0x3d, 0x31, 0x1f, 0xa2, 0xfb, 0x37, - 0xa5, 0xdc, 0xdc, 0xd2, 0x9c, 0x11, 0xcf, 0xc1, 0x1e, 0x31, 0xe2, 0xf9, 0x54, 0x6c, 0xdf, 0x08, - 0x32, 0x92, 0x3b, 0x87, 0x47, 0xa0, 0x62, 0xbc, 0xf1, 0x22, 0x50, 0x29, 0x7c, 0x26, 0xf4, 0xf7, - 0x46, 0xe7, 0x50, 0xa2, 0x8f, 0xe7, 0x3c, 0xc1, 0x0c, 0xa5, 0x8a, 0x34, 0xfa, 0xd8, 0x13, 0x52, - 0x93, 0xa1, 0xf9, 0x4c, 0x9c, 0x9c, 0x83, 0x46, 0xa4, 0xb1, 0x08, 0x71, 0xa3, 0x92, 0x68, 0x28, - 0xdf, 0xf7, 0x33, 0x1e, 0xc2, 0x73, 0x4c, 0x7d, 0x0c, 0x6f, 0x84, 0xa9, 0xb3, 0xf0, 0xb9, 0xd3, - 0x97, 0x7e, 0x81, 0xce, 0x71, 0xfa, 0xd2, 0x48, 0x23, 0x9c, 0xbe, 0x63, 0xc8, 0xfc, 0xda, 0x94, - 0xf9, 0x3c, 0x96, 0x73, 0x6d, 0xca, 0x7e, 0x4a, 0x1b, 0x7e, 0x6d, 0xca, 0xa3, 0xf1, 0xec, 0x83, - 0xdb, 0x1f, 0xf9, 0xd9, 0x3f, 0x5e, 0x78, 0xe6, 0x2f, 0x8f, 0x2e, 0x48, 0x3f, 0x3b, 0xba, 0x20, - 0xfd, 0xfc, 0xe8, 0x82, 0xf4, 0xf9, 0x17, 0xb6, 0xb1, 0x1f, 0x1e, 0x2c, 0x86, 0xd8, 0xd8, 0xb9, - 0xc1, 0xb9, 0xdd, 0xf0, 0x76, 0xbb, 0x37, 0x52, 0xff, 0x56, 0x7d, 0x7b, 0x8a, 0x36, 0x5f, 0xfb, - 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x27, 0xb2, 0x61, 0x6e, 0x5d, 0x00, 0x00, + // 5760 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7c, 0x4b, 0x6c, 0x1c, 0xc9, + 0x79, 0xf0, 0xf6, 0xcc, 0x90, 0x33, 0xf3, 0x71, 0x38, 0x6c, 0x96, 0x28, 0x6a, 0x76, 0x56, 0x12, + 0xb5, 0xad, 0x95, 0x56, 0xd2, 0xee, 0x52, 0x5a, 0x7a, 0x61, 0x7b, 0x2d, 0xcb, 0x36, 0x5f, 0x92, + 0xb9, 0xa2, 0xa4, 0xd9, 0xa6, 0xe8, 0x17, 0x16, 0x7f, 0xbb, 0xd9, 0x5d, 0x33, 0x6c, 0xb3, 0xa7, + 0xbb, 0xb7, 0xbb, 0x87, 0x14, 0x0d, 0x1b, 0xf0, 0xef, 0x47, 0xe2, 0x83, 0xed, 0x18, 0xf1, 0x21, + 0x01, 0x62, 0xe4, 0x1c, 0x20, 0x70, 0x02, 0x18, 0x41, 0x80, 0x04, 0x39, 0xe5, 0x14, 0x07, 0x49, + 0xb0, 0xa7, 0xdc, 0xc2, 0x38, 0xcc, 0xc5, 0x06, 0x82, 0x20, 0x40, 0x9c, 0xe4, 0x60, 0x20, 0x08, + 0xea, 0xd5, 0x8f, 0x61, 0xf7, 0x3c, 0x48, 0x2d, 0x72, 0xc8, 0x89, 0x53, 0x5f, 0x7d, 0xef, 0xaa, + 0xfa, 0xea, 0xab, 0xaa, 0xaf, 0x09, 0xe7, 0x3c, 0xdf, 0x0d, 0x5d, 0xc3, 0xb5, 0xc3, 0x43, 0x0f, + 0x07, 0x8b, 0xb4, 0x85, 0xce, 0x1d, 0xe0, 0x60, 0xd7, 0xc1, 0xe1, 0xa2, 0xe8, 0x5c, 0xdc, 0x7f, + 0xb3, 0x39, 0xd7, 0x71, 0x3b, 0x2e, 0x05, 0xdc, 0x26, 0xbf, 0x58, 0x9f, 0xf2, 0xb7, 0x12, 0x94, + 0x97, 0x0d, 0xc3, 0xed, 0x39, 0x21, 0xba, 0x03, 0x13, 0x1d, 0xdf, 0xed, 0x79, 0x0d, 0xe9, 0x8a, + 0x74, 0x63, 0x6a, 0xa9, 0xb9, 0x98, 0xc1, 0x66, 0xf1, 0x01, 0xc1, 0x50, 0x19, 0x22, 0x5a, 0x84, + 0x73, 0x3a, 0x23, 0xd6, 0x3c, 0xdf, 0xda, 0xd7, 0x43, 0xac, 0xed, 0xe1, 0xc3, 0x46, 0xe1, 0x8a, + 0x74, 0xa3, 0xa6, 0xce, 0xf2, 0xae, 0x16, 0xeb, 0x79, 0x88, 0x0f, 0xd1, 0x2d, 0x98, 0xd5, 0x6d, + 0x4b, 0x0f, 0x52, 0xd8, 0x45, 0x8a, 0x3d, 0x43, 0x3b, 0x12, 0xb8, 0x6f, 0xc1, 0xbc, 0xd7, 0xdb, + 0xb1, 0x2d, 0x43, 0xf3, 0xb1, 0x63, 0xe2, 0xaf, 0xee, 0xbb, 0xbd, 0x40, 0x0b, 0x30, 0x36, 0x1b, + 0x25, 0x4a, 0x30, 0xc7, 0x7a, 0xd5, 0xa8, 0x73, 0x0b, 0x63, 0x53, 0xf9, 0x95, 0x04, 0x13, 0x54, + 0x45, 0x74, 0x09, 0x80, 0xd3, 0x13, 0x21, 0x12, 0xa5, 0xa9, 0x32, 0x08, 0x61, 0x3f, 0x0f, 0x93, + 0x01, 0x36, 0x7c, 0x1c, 0x72, 0x6d, 0x79, 0x8b, 0x90, 0xb1, 0x5f, 0x5a, 0x60, 0x75, 0xb8, 0x6e, + 0x55, 0x06, 0xd9, 0xb2, 0x3a, 0xe8, 0x1e, 0x00, 0x35, 0x5d, 0x23, 0xfe, 0xa6, 0x9a, 0xd4, 0x97, + 0x2e, 0xe7, 0x3b, 0xea, 0xe9, 0xa1, 0x87, 0xd5, 0x6a, 0x47, 0xfc, 0x44, 0x2f, 0x42, 0x25, 0xb0, + 0x3a, 0x8e, 0xe6, 0xf5, 0x76, 0x1a, 0x13, 0x94, 0x77, 0x99, 0xb4, 0x5b, 0xbd, 0x1d, 0xd2, 0x65, + 0x5b, 0xce, 0x1e, 0xd5, 0x76, 0x92, 0x75, 0x91, 0x36, 0xd1, 0xf5, 0x0a, 0xd4, 0x44, 0x17, 0xd5, + 0xaa, 0x4c, 0xbb, 0x81, 0x77, 0x6f, 0x59, 0x1d, 0xe5, 0x3f, 0x24, 0x90, 0xa9, 0xc0, 0xcf, 0x62, + 0xdd, 0x0c, 0xd6, 0x9f, 0x79, 0xae, 0x1f, 0x0e, 0xf3, 0x40, 0x52, 0x97, 0x42, 0x5a, 0x97, 0x75, + 0x38, 0xd7, 0xc5, 0xa1, 0x6e, 0xea, 0xa1, 0xae, 0xed, 0x12, 0x8e, 0x9a, 0x61, 0x99, 0x41, 0xa3, + 0x78, 0xa5, 0x78, 0xa3, 0xb6, 0x72, 0xfe, 0xf8, 0x68, 0x61, 0xf6, 0x11, 0xef, 0xa6, 0xf2, 0x56, + 0x37, 0xd6, 0x02, 0x75, 0xb6, 0x9b, 0x02, 0x59, 0x66, 0xc0, 0xd8, 0x04, 0x81, 0xde, 0xc1, 0x41, + 0x92, 0x4d, 0x29, 0xc9, 0x86, 0x75, 0xa7, 0xd8, 0x24, 0x41, 0x84, 0x4d, 0xd2, 0x33, 0x13, 0x29, + 0xcf, 0x28, 0x7f, 0x27, 0xc1, 0x34, 0xb5, 0x5b, 0xe8, 0x43, 0x06, 0x08, 0xef, 0x63, 0x27, 0x64, + 0x03, 0x24, 0x0d, 0x18, 0xa0, 0x75, 0x82, 0xc6, 0x06, 0x08, 0x8b, 0x9f, 0xa8, 0x01, 0x65, 0x4f, + 0x3f, 0xb4, 0x5d, 0xdd, 0x14, 0x3e, 0xe1, 0x4d, 0x24, 0x43, 0x31, 0x9e, 0x11, 0xe4, 0x27, 0x52, + 0x61, 0x56, 0xf0, 0xd3, 0x84, 0xf1, 0x74, 0x4a, 0x4c, 0x2d, 0x5d, 0xcb, 0x94, 0xd8, 0xe2, 0xbf, + 0x85, 0xb2, 0xaa, 0xec, 0xf5, 0x41, 0x94, 0x65, 0x6e, 0xcf, 0xba, 0xb3, 0x8f, 0x6d, 0xd7, 0xc3, + 0x68, 0x0e, 0x26, 0x1c, 0xd7, 0x31, 0x30, 0x1f, 0x3f, 0xd6, 0x20, 0x50, 0xaa, 0x33, 0x57, 0x92, + 0x35, 0xde, 0x29, 0x55, 0x8a, 0x72, 0x49, 0xf9, 0x77, 0x09, 0xea, 0xdc, 0xaf, 0xc4, 0x87, 0xd8, + 0x0f, 0x88, 0x55, 0x74, 0x29, 0x62, 0x9f, 0xb2, 0x29, 0xa9, 0xa2, 0x89, 0x6e, 0x42, 0xd5, 0xc4, + 0xfb, 0x96, 0x81, 0x35, 0x6f, 0x8f, 0x31, 0x5b, 0xa9, 0x1d, 0x1f, 0x2d, 0x54, 0xd6, 0x28, 0xb0, + 0xf5, 0x50, 0xad, 0xb0, 0xee, 0xd6, 0x5e, 0x86, 0x03, 0x1e, 0x41, 0x25, 0x61, 0x77, 0xf1, 0xc6, + 0xd4, 0xd2, 0x9b, 0x99, 0x76, 0xa7, 0xb5, 0x59, 0x14, 0xc6, 0xae, 0x3b, 0xa1, 0x7f, 0xa8, 0x46, + 0x2c, 0x9a, 0x77, 0x61, 0x3a, 0xd5, 0x45, 0x24, 0x8a, 0x99, 0x5b, 0x55, 0xc9, 0x4f, 0x62, 0xf7, + 0xbe, 0x6e, 0xf7, 0x30, 0x55, 0xb5, 0xaa, 0xb2, 0xc6, 0x27, 0x0a, 0x1f, 0x97, 0x94, 0x06, 0xc8, + 0xfd, 0xee, 0x7d, 0xa7, 0x54, 0x91, 0xe4, 0x82, 0xf2, 0x6d, 0x09, 0xe4, 0x75, 0xc7, 0xf0, 0x0f, + 0xbd, 0x10, 0x9b, 0x5c, 0x15, 0x74, 0x11, 0xaa, 0x9e, 0xad, 0x5b, 0x4e, 0x88, 0x9f, 0x85, 0xd1, + 0xd2, 0x10, 0x80, 0xec, 0x91, 0x2d, 0x9c, 0x6d, 0x64, 0x3d, 0x98, 0xe1, 0xc2, 0xa3, 0xb1, 0x7d, + 0x15, 0x66, 0xf8, 0x6c, 0xa7, 0xcb, 0x03, 0xfb, 0x01, 0x57, 0xa5, 0xde, 0x3d, 0x31, 0x7e, 0x1c, + 0x22, 0x66, 0x25, 0x6f, 0xc6, 0xd3, 0xa3, 0x98, 0x98, 0x1e, 0xef, 0x94, 0x2a, 0x25, 0x79, 0x42, + 0xf9, 0xa6, 0x04, 0x35, 0x3a, 0xc9, 0x57, 0x5d, 0x66, 0xd6, 0x3c, 0x14, 0x2c, 0x93, 0x89, 0x58, + 0x99, 0x3c, 0x3e, 0x5a, 0x28, 0x6c, 0xac, 0xa9, 0x05, 0xcb, 0x44, 0xaf, 0x03, 0x78, 0xba, 0x4f, + 0x16, 0x0d, 0x59, 0x9e, 0x05, 0xba, 0x3c, 0xa7, 0x8f, 0x8f, 0x16, 0xaa, 0x2d, 0x0a, 0x25, 0xcb, + 0xb2, 0xca, 0x10, 0x36, 0xcc, 0x00, 0x5d, 0x87, 0x0a, 0x0b, 0x81, 0xde, 0x1e, 0x93, 0xba, 0x32, + 0x75, 0x7c, 0xb4, 0x50, 0xa6, 0xd3, 0xb6, 0xf5, 0x50, 0x2d, 0xd3, 0xce, 0xd6, 0x1e, 0x57, 0x42, + 0x83, 0x46, 0x6a, 0x81, 0xb6, 0xd8, 0x72, 0xda, 0xc2, 0x4e, 0x98, 0x9e, 0x7c, 0xd2, 0xc0, 0xc9, + 0x97, 0xeb, 0x01, 0xc5, 0x82, 0x39, 0x62, 0x9f, 0x6e, 0x84, 0xcb, 0x64, 0x07, 0x79, 0x88, 0x0f, + 0x97, 0x4d, 0x13, 0x9b, 0xe3, 0x30, 0xbf, 0x0e, 0x15, 0xbe, 0x2d, 0x89, 0x35, 0x40, 0x2d, 0xa2, + 0xfc, 0x88, 0x45, 0x6c, 0x6b, 0xda, 0x53, 0xbe, 0x2f, 0xc1, 0x3c, 0x37, 0xa6, 0xbb, 0x83, 0x7d, + 0xc6, 0x29, 0x92, 0xd6, 0xa5, 0xc0, 0x3e, 0x69, 0x0c, 0x93, 0x48, 0x63, 0xdd, 0xad, 0xbd, 0x71, + 0x96, 0xdc, 0x25, 0x00, 0xce, 0x35, 0xb1, 0x19, 0x31, 0x08, 0x89, 0xfa, 0x0f, 0xa0, 0xce, 0x88, + 0x56, 0x77, 0x75, 0xcb, 0x21, 0x31, 0xfd, 0x25, 0xa8, 0x1a, 0xe4, 0x77, 0x22, 0xe2, 0x57, 0x0c, + 0xd1, 0x99, 0x88, 0x02, 0x85, 0x54, 0x14, 0x50, 0x7e, 0x47, 0xe2, 0xa3, 0x94, 0x66, 0x37, 0xb6, + 0x23, 0x3f, 0x0a, 0x75, 0x13, 0x07, 0xa1, 0x16, 0xbb, 0x82, 0xd9, 0x27, 0x1f, 0x1f, 0x2d, 0xd4, + 0xd6, 0x70, 0x10, 0x46, 0xee, 0xa8, 0x99, 0x71, 0x6b, 0x2f, 0x19, 0x75, 0x8b, 0xa9, 0xa8, 0x4b, + 0x34, 0x53, 0x1e, 0xf5, 0xec, 0xd0, 0x62, 0xb8, 0x54, 0x49, 0x3a, 0x2e, 0x2a, 0x0e, 0x5c, 0x7b, + 0x1f, 0xfb, 0x63, 0xeb, 0x78, 0x0d, 0xea, 0x6c, 0xb0, 0x7d, 0xce, 0x81, 0x4f, 0xa8, 0x69, 0x3d, + 0xc9, 0x16, 0x2d, 0xc0, 0x94, 0x48, 0x55, 0x5c, 0xb7, 0xcd, 0xd5, 0x02, 0x9e, 0xa4, 0xb8, 0x6e, + 0x5b, 0xf9, 0x81, 0x04, 0x57, 0x4e, 0x68, 0x66, 0x76, 0x2d, 0x47, 0x75, 0x6d, 0xfc, 0xc0, 0xd7, + 0x9d, 0x70, 0x3c, 0xbd, 0x3e, 0x0d, 0xb3, 0x1d, 0x4a, 0x85, 0x4f, 0xb8, 0xef, 0xdc, 0xf1, 0xd1, + 0xc2, 0x0c, 0x63, 0x89, 0x23, 0x0f, 0xce, 0x74, 0x52, 0x80, 0x3d, 0x65, 0x0b, 0xae, 0xf7, 0xeb, + 0xb3, 0xe1, 0x58, 0xa1, 0xa5, 0xdb, 0x0c, 0xb2, 0xec, 0x38, 0x6e, 0xcf, 0x31, 0xc6, 0x9a, 0xac, + 0x8a, 0x0e, 0x57, 0xb8, 0x65, 0xe6, 0xb2, 0x69, 0x5a, 0xa1, 0xe5, 0x3a, 0xba, 0x9d, 0xce, 0xb9, + 0xc6, 0x31, 0x12, 0x41, 0x89, 0xa6, 0x70, 0xcc, 0xe5, 0xf4, 0xb7, 0x62, 0xc2, 0x55, 0x96, 0x54, + 0xe2, 0xae, 0xbb, 0x8f, 0x3f, 0x2c, 0x29, 0xef, 0x03, 0xe2, 0x79, 0x2e, 0x15, 0xf6, 0x8e, 0x6b, + 0x39, 0xe3, 0x31, 0x8d, 0xb2, 0xe3, 0xc2, 0x88, 0xd9, 0xb1, 0x82, 0x41, 0x4e, 0x8a, 0xdc, 0xc4, + 0xed, 0x70, 0xcc, 0xa8, 0x14, 0xc5, 0xd9, 0x42, 0x7e, 0x9c, 0x55, 0xde, 0x81, 0x4b, 0x5c, 0x0c, + 0x8f, 0x83, 0x2a, 0x7e, 0xbf, 0x87, 0x83, 0x70, 0xcd, 0x0a, 0xf4, 0x1d, 0x7b, 0x2c, 0x23, 0x95, + 0x0d, 0xb8, 0x98, 0xc9, 0x6b, 0xdd, 0x19, 0x9b, 0xd5, 0x6f, 0x48, 0x70, 0x35, 0x93, 0x97, 0x8a, + 0xdb, 0xd8, 0xc7, 0x8e, 0x81, 0x55, 0x1c, 0xe0, 0xb1, 0x3c, 0x92, 0x7f, 0x24, 0x28, 0x0c, 0x38, + 0x12, 0x1c, 0x49, 0x70, 0x2d, 0x53, 0x91, 0x27, 0xbd, 0xb0, 0xe3, 0x5a, 0x4e, 0x67, 0xdd, 0x79, + 0xbf, 0x87, 0x7b, 0x63, 0x6f, 0x19, 0xa3, 0x0c, 0x0e, 0xfa, 0x34, 0x89, 0xb9, 0x54, 0x28, 0x0d, + 0x21, 0x79, 0xf9, 0xc3, 0xd6, 0xae, 0xee, 0x63, 0xe2, 0x62, 0xa1, 0xa1, 0xa0, 0x42, 0x2f, 0x43, + 0xcd, 0x3d, 0x70, 0xd2, 0xf9, 0x65, 0x4d, 0x9d, 0x72, 0x0f, 0x9c, 0x28, 0xb3, 0xf8, 0x1a, 0xbc, + 0x3c, 0xd0, 0xbe, 0x71, 0xf7, 0xda, 0xd7, 0x01, 0xb8, 0xf4, 0xd8, 0x3a, 0x9a, 0x0e, 0x70, 0xf6, + 0xad, 0x87, 0x6a, 0x95, 0x23, 0xb4, 0xf6, 0x94, 0x7f, 0xce, 0x73, 0xef, 0x86, 0x63, 0xb8, 0x5d, + 0xcb, 0xe9, 0xa8, 0xd8, 0xc0, 0xd6, 0xfe, 0x78, 0xee, 0x1d, 0x4b, 0x05, 0xf4, 0x51, 0xb8, 0x20, + 0xb0, 0xfb, 0x27, 0x06, 0x8b, 0xdb, 0xe7, 0x0d, 0xa1, 0x59, 0x5f, 0x48, 0x91, 0x05, 0x5d, 0x9f, + 0x7f, 0x67, 0x38, 0x3c, 0xf2, 0xf1, 0xff, 0x97, 0xe0, 0xfa, 0x40, 0x2b, 0xd7, 0xac, 0xc0, 0xd0, + 0x7d, 0xf3, 0x43, 0x34, 0x53, 0xf9, 0x83, 0x61, 0x9e, 0x5e, 0x36, 0x0c, 0xec, 0x85, 0x1f, 0xa6, + 0xa7, 0x47, 0xcc, 0xfd, 0x14, 0x0f, 0xce, 0xa7, 0x35, 0x5d, 0xb1, 0x5d, 0x63, 0xef, 0xc3, 0x74, + 0x8e, 0x0f, 0x17, 0xd2, 0x12, 0xb7, 0x9d, 0x9d, 0x0f, 0x5b, 0xe6, 0x4f, 0xc5, 0xa9, 0x5b, 0xc5, + 0x9e, 0x6d, 0x19, 0x7a, 0x68, 0x39, 0x9d, 0x71, 0xa4, 0xad, 0x01, 0xd2, 0x7b, 0xe1, 0x2e, 0x76, + 0x42, 0x4a, 0xec, 0x3a, 0x5a, 0xcf, 0xb7, 0xd9, 0xd1, 0x86, 0x1d, 0x8f, 0x97, 0x53, 0xbd, 0xdb, + 0xea, 0xa6, 0x3a, 0x9b, 0x26, 0xd8, 0xf6, 0x6d, 0xf4, 0x06, 0x20, 0x5f, 0xc8, 0x77, 0x1d, 0x2d, + 0xc0, 0x3e, 0x49, 0x6a, 0x8a, 0xf4, 0x80, 0x34, 0x9b, 0xe8, 0xd9, 0xa2, 0x1d, 0xca, 0x26, 0xcc, + 0x92, 0x5f, 0x96, 0x81, 0xd9, 0x35, 0xc1, 0x1a, 0x39, 0x7a, 0x55, 0xa1, 0xcc, 0xe7, 0x52, 0xf3, + 0x75, 0x98, 0x20, 0xe6, 0x1c, 0xa2, 0xab, 0x30, 0x8d, 0x29, 0x06, 0x36, 0x35, 0xba, 0x34, 0x58, + 0x3e, 0x59, 0x13, 0x40, 0x42, 0xa8, 0x7c, 0x30, 0x01, 0x17, 0x38, 0xbb, 0x07, 0x98, 0xb8, 0xbe, + 0x6d, 0x75, 0x7a, 0x3e, 0x95, 0x97, 0x64, 0xfa, 0xf3, 0x92, 0xe0, 0xfa, 0x3a, 0x40, 0x74, 0x65, + 0x24, 0xfc, 0x43, 0x3d, 0xcc, 0x47, 0x8f, 0x78, 0x58, 0x5c, 0x1c, 0x8d, 0x95, 0x2b, 0x7f, 0x12, + 0x64, 0xc1, 0xb8, 0x6f, 0x8a, 0xa2, 0xe3, 0xa3, 0x85, 0x7a, 0x72, 0x27, 0x6e, 0x3d, 0x54, 0xeb, + 0x7a, 0xb2, 0xbd, 0x87, 0xae, 0x42, 0xd9, 0xc3, 0xd8, 0xd7, 0x2c, 0x76, 0xbd, 0x54, 0x5d, 0x81, + 0xe3, 0xa3, 0x85, 0xc9, 0x16, 0xc6, 0xfe, 0xc6, 0x9a, 0x3a, 0x49, 0xba, 0x36, 0x4c, 0x72, 0x68, + 0xb4, 0xad, 0x20, 0xc4, 0x0e, 0x39, 0xa9, 0x4d, 0x5c, 0x29, 0xde, 0xa8, 0xaa, 0x31, 0x00, 0x7d, + 0x09, 0xa6, 0x76, 0x6c, 0xac, 0x61, 0xb6, 0x55, 0xd2, 0x3b, 0x9c, 0xfa, 0xd2, 0xdb, 0xd9, 0xe1, + 0x3e, 0xdb, 0x63, 0x8b, 0x5b, 0x38, 0x24, 0x73, 0x68, 0x2b, 0xd4, 0x43, 0xac, 0xc2, 0x8e, 0x8d, + 0xc5, 0xbe, 0x6b, 0x80, 0x7c, 0x60, 0xb5, 0x2d, 0xcd, 0x5b, 0xf2, 0x22, 0x01, 0xe5, 0xb3, 0x0a, + 0xa8, 0x13, 0x96, 0xad, 0x25, 0x4f, 0x08, 0x79, 0x0f, 0x6a, 0x5d, 0xd3, 0x09, 0x22, 0x01, 0x95, + 0xb3, 0x0a, 0x98, 0x22, 0xec, 0x04, 0xf7, 0xff, 0x07, 0xd3, 0x3e, 0xb6, 0xf5, 0xc3, 0x88, 0x7d, + 0xf5, 0xac, 0xec, 0x6b, 0x94, 0x1f, 0xe7, 0xaf, 0x3c, 0x80, 0x5a, 0xb2, 0x17, 0x4d, 0x41, 0x79, + 0xdb, 0xd9, 0x73, 0xdc, 0x03, 0x47, 0x7e, 0x81, 0x34, 0x38, 0x9e, 0x2c, 0xa1, 0x1a, 0x54, 0x44, + 0x6e, 0x24, 0x17, 0xd0, 0x0c, 0x4c, 0x6d, 0x3b, 0xfa, 0xbe, 0x6e, 0xd9, 0x04, 0x22, 0x17, 0x95, + 0xaf, 0xc3, 0x85, 0x9c, 0x84, 0x25, 0x39, 0xa3, 0x3f, 0x2f, 0x26, 0x74, 0x7e, 0x52, 0x22, 0xe5, + 0x27, 0x25, 0xe4, 0xc4, 0x23, 0xfc, 0x40, 0xa6, 0x75, 0x45, 0x15, 0x4d, 0xe5, 0x35, 0x38, 0x9f, + 0x99, 0xc7, 0x25, 0x85, 0x97, 0xb9, 0x70, 0xe5, 0xcb, 0xd1, 0xe1, 0x37, 0x95, 0xa8, 0x25, 0x71, + 0xef, 0x9d, 0x49, 0x51, 0x65, 0x17, 0x2e, 0xf6, 0x7b, 0x23, 0xc0, 0xd9, 0x2e, 0x39, 0xa3, 0xa4, + 0xef, 0x49, 0x80, 0xd2, 0xa2, 0xb6, 0xb0, 0x63, 0x36, 0xbb, 0x91, 0x80, 0x64, 0x32, 0x25, 0x3d, + 0x97, 0x64, 0xaa, 0x70, 0x22, 0x99, 0x8a, 0x5d, 0xfb, 0x85, 0x7e, 0xd7, 0xb2, 0xdd, 0xb5, 0xf9, + 0xb1, 0x58, 0x9f, 0xf4, 0x6e, 0x21, 0x0d, 0xde, 0x2d, 0x62, 0xce, 0x5f, 0xcc, 0x18, 0x61, 0x92, + 0x3b, 0x3c, 0x07, 0xd6, 0x0f, 0xa1, 0x46, 0xad, 0xe7, 0x58, 0xc9, 0xd1, 0xb9, 0x23, 0x46, 0xe7, + 0x55, 0x98, 0xc1, 0x8e, 0xe1, 0x9a, 0xd8, 0xd4, 0x92, 0xde, 0xac, 0xa9, 0x75, 0x0e, 0xe6, 0xc4, + 0xca, 0xf7, 0x25, 0x98, 0x5e, 0xc3, 0x04, 0x24, 0xd8, 0x2d, 0xc5, 0x0a, 0x8e, 0xca, 0xa5, 0xf9, + 0x59, 0x21, 0xf7, 0xac, 0xa3, 0xa7, 0xb4, 0xa0, 0x96, 0xcc, 0x26, 0x9e, 0x83, 0xbb, 0x54, 0xa8, + 0xa7, 0xb3, 0x85, 0xe7, 0xc0, 0xf3, 0x5d, 0x38, 0xd7, 0x77, 0x1f, 0x45, 0xa7, 0xf1, 0x9b, 0x31, + 0xe3, 0x64, 0x12, 0x25, 0xe5, 0x27, 0x51, 0x31, 0xcb, 0xa7, 0x30, 0xdf, 0x7f, 0xb2, 0x5f, 0xf5, + 0xb1, 0x1e, 0xa6, 0x56, 0xdf, 0x6d, 0xe1, 0xe7, 0x11, 0xd9, 0x2b, 0xef, 0xc1, 0x5c, 0x3f, 0x57, + 0x72, 0x2a, 0x6e, 0xde, 0x8d, 0x35, 0x1d, 0xfb, 0x45, 0x28, 0xd6, 0x79, 0x0b, 0xce, 0xf7, 0x73, + 0xdf, 0xc4, 0xfa, 0x3e, 0x3e, 0x93, 0x23, 0x0c, 0xb8, 0x36, 0xf0, 0x32, 0x88, 0x2c, 0x24, 0xdb, + 0x0d, 0xce, 0x26, 0xe4, 0x37, 0x25, 0xb8, 0x3c, 0xf8, 0x62, 0xa7, 0xf9, 0xde, 0xd8, 0xec, 0xd3, + 0x77, 0x2e, 0x85, 0x41, 0x77, 0x2e, 0xb1, 0x26, 0x3f, 0xcc, 0xb8, 0x62, 0xda, 0x70, 0xf6, 0xad, + 0x90, 0x6e, 0x86, 0x7c, 0x0a, 0x9c, 0xc2, 0xd4, 0xb7, 0xc5, 0x54, 0x19, 0x7b, 0x7c, 0x95, 0xef, + 0x4a, 0x30, 0xb3, 0xec, 0x45, 0xb7, 0xb9, 0x74, 0x6a, 0xbf, 0x3b, 0xbe, 0x37, 0x72, 0x9f, 0x59, + 0xd8, 0x1b, 0x46, 0x53, 0x11, 0x1a, 0xbe, 0x08, 0x45, 0x23, 0xba, 0xb3, 0x2e, 0x1f, 0x1f, 0x2d, + 0x14, 0x57, 0x37, 0xd6, 0x54, 0x02, 0x23, 0xe3, 0x54, 0xa7, 0xaa, 0xd0, 0x7b, 0xe0, 0xff, 0x4d, + 0x4d, 0x7e, 0x2a, 0x01, 0x4a, 0x5d, 0x72, 0xd3, 0x5b, 0x77, 0x74, 0x1f, 0xa6, 0xd9, 0x53, 0x94, + 0xe1, 0xc6, 0xef, 0x0c, 0x53, 0x4b, 0x2f, 0xe7, 0xbf, 0x46, 0xf1, 0x8b, 0x7a, 0xb5, 0x86, 0x93, + 0xd7, 0xf6, 0x9f, 0x4a, 0x3c, 0xb3, 0xb0, 0xcb, 0x27, 0x25, 0x7f, 0xa0, 0xa2, 0x17, 0x88, 0x88, + 0x26, 0x7e, 0x2c, 0x2a, 0x26, 0x1e, 0x8b, 0x94, 0x3f, 0x91, 0x60, 0x96, 0x53, 0xb0, 0x57, 0x89, + 0xe7, 0xaa, 0xf3, 0x3d, 0x28, 0x8b, 0x27, 0x0d, 0xa6, 0xf2, 0xd5, 0x11, 0x5e, 0x86, 0x54, 0x41, + 0x93, 0xbc, 0xee, 0x2f, 0xa6, 0xaf, 0xfb, 0xff, 0x33, 0x56, 0x9b, 0x99, 0xb7, 0x69, 0x91, 0xf3, + 0x85, 0x34, 0xfe, 0xc8, 0x5f, 0x87, 0x4a, 0x60, 0x39, 0x06, 0x26, 0x39, 0x7f, 0xe2, 0x0a, 0x67, + 0x8b, 0xc0, 0x36, 0xd6, 0xd4, 0x32, 0xed, 0xdc, 0x30, 0xd1, 0x4b, 0x50, 0x65, 0x78, 0x8e, 0x7b, + 0x40, 0xb5, 0xa9, 0xa8, 0x8c, 0xf0, 0xb1, 0x7b, 0x40, 0x98, 0xf4, 0x9c, 0xd0, 0xb2, 0xc5, 0xc1, + 0x81, 0x33, 0xd9, 0x26, 0x30, 0xc2, 0x84, 0x76, 0x32, 0x26, 0x0c, 0x8f, 0x30, 0x99, 0x60, 0x4c, + 0x28, 0x80, 0x30, 0xb9, 0x4a, 0x52, 0xe3, 0x7d, 0xec, 0x07, 0x58, 0x73, 0x7d, 0x13, 0xfb, 0xf4, + 0xec, 0x50, 0x21, 0xf9, 0x2d, 0x05, 0x3e, 0x21, 0xb0, 0xf8, 0x89, 0x97, 0xfb, 0xec, 0xff, 0x8a, + 0xdd, 0xff, 0x2d, 0x41, 0x95, 0x47, 0xbe, 0xb6, 0xdb, 0xd4, 0xc6, 0xb7, 0x77, 0xac, 0x33, 0x7d, + 0xf3, 0xb7, 0xa4, 0x53, 0x07, 0xc7, 0x31, 0x62, 0x7c, 0xfa, 0x60, 0x5b, 0x1c, 0x78, 0x91, 0xfa, + 0x15, 0x98, 0x5e, 0x36, 0x42, 0x5a, 0x17, 0x41, 0xa5, 0x35, 0x5b, 0xe3, 0xfb, 0xe0, 0x12, 0x80, + 0xed, 0x1a, 0xba, 0xad, 0xb9, 0x8e, 0x7d, 0xc8, 0x4f, 0x1c, 0x55, 0x0a, 0x79, 0xe2, 0xd8, 0x87, + 0xf1, 0x8e, 0xf3, 0x08, 0x66, 0xd6, 0xb0, 0x9e, 0x92, 0x76, 0x96, 0xad, 0xf4, 0x87, 0x13, 0x7c, + 0xb1, 0x32, 0xb3, 0xc8, 0xc1, 0xac, 0x17, 0x9c, 0x86, 0xe3, 0x8f, 0x8b, 0x71, 0x16, 0x59, 0x4a, + 0xbc, 0xec, 0xbf, 0x96, 0x3f, 0x28, 0x49, 0x91, 0x8b, 0xf4, 0x99, 0x9f, 0x12, 0x66, 0x3f, 0x9d, + 0x37, 0x7f, 0x26, 0xc1, 0x34, 0x39, 0xed, 0xaf, 0xba, 0x8e, 0x83, 0x8d, 0x10, 0x9b, 0xc9, 0x1b, + 0x01, 0x29, 0xf7, 0x46, 0x60, 0x8c, 0xfb, 0x89, 0x16, 0x40, 0xe8, 0xeb, 0x4e, 0xe0, 0xb9, 0x7e, + 0xc8, 0x4a, 0x29, 0xea, 0x4b, 0x77, 0x46, 0x55, 0x5f, 0x10, 0xaa, 0x09, 0x1e, 0x68, 0x1e, 0x26, + 0xbb, 0xba, 0x69, 0xfa, 0xac, 0xa2, 0xa2, 0xaa, 0xf2, 0x56, 0xf3, 0x63, 0x20, 0x13, 0x35, 0x55, + 0x6c, 0x30, 0x63, 0x2c, 0xa7, 0x33, 0x92, 0x35, 0x82, 0x90, 0x64, 0x51, 0x63, 0xb9, 0x41, 0xd9, + 0x81, 0x12, 0xad, 0x9e, 0x98, 0x81, 0x29, 0xf2, 0x37, 0x3e, 0x77, 0x37, 0x60, 0x8e, 0x00, 0xfa, + 0xb9, 0xca, 0x12, 0x3a, 0x0f, 0xb3, 0xa2, 0x27, 0xf2, 0xb9, 0x5c, 0x48, 0x12, 0x24, 0xf5, 0x97, + 0x8b, 0xca, 0x3a, 0x54, 0x23, 0x37, 0xa0, 0x3a, 0xc0, 0x53, 0x2f, 0x8c, 0xe5, 0x00, 0x4c, 0x3e, + 0xf5, 0xc2, 0xcd, 0xe5, 0xc7, 0xb2, 0xc4, 0x7f, 0x7f, 0x7e, 0xf9, 0xb1, 0x5c, 0x40, 0x32, 0xd4, + 0x9e, 0x7a, 0x61, 0xcb, 0x77, 0x9f, 0x59, 0x5d, 0x2b, 0x3c, 0x94, 0x8b, 0xca, 0x5f, 0x4b, 0x64, + 0x8a, 0xef, 0xf4, 0x3a, 0x24, 0x7e, 0x52, 0x4f, 0x07, 0xc9, 0x2c, 0xfa, 0x0f, 0xa5, 0x31, 0xd3, + 0x68, 0xb4, 0x99, 0xaa, 0x08, 0x2a, 0x8c, 0x52, 0x11, 0xc4, 0xc2, 0x4f, 0x66, 0x81, 0x50, 0x3a, + 0x58, 0x15, 0x87, 0x5c, 0x40, 0xfe, 0xa0, 0x08, 0xf3, 0xd4, 0x98, 0x0d, 0x27, 0xf0, 0xb0, 0xc1, + 0xec, 0xd9, 0x0a, 0x5d, 0x1f, 0x37, 0xbf, 0x7b, 0x8a, 0x9d, 0x61, 0x1b, 0x2a, 0xb6, 0xdb, 0x49, + 0x1a, 0xf2, 0x46, 0xa6, 0x21, 0x27, 0x44, 0x6e, 0xba, 0x1d, 0x6a, 0x17, 0x65, 0xcb, 0x1b, 0x6a, + 0xd9, 0x66, 0x3f, 0x9a, 0xbf, 0x90, 0x86, 0xe7, 0x50, 0xe8, 0x36, 0x4c, 0xf1, 0x1a, 0x04, 0x23, + 0x2e, 0x42, 0xa8, 0x1f, 0x1f, 0x2d, 0x00, 0x2b, 0x42, 0xa0, 0xc5, 0x41, 0xbc, 0x4c, 0x81, 0x56, + 0x05, 0x3d, 0x4e, 0xd4, 0x28, 0x25, 0x2a, 0x7e, 0x8a, 0x23, 0x55, 0xfc, 0x44, 0xc5, 0x4a, 0x11, + 0x28, 0xbd, 0x94, 0x4b, 0xc3, 0x8a, 0x11, 0x44, 0xce, 0x38, 0x99, 0x7e, 0xae, 0xf6, 0x00, 0xa8, + 0x73, 0x4e, 0x1d, 0x3a, 0x93, 0xa7, 0x38, 0xbe, 0xee, 0x82, 0x86, 0x44, 0x96, 0x37, 0x23, 0x60, + 0x0b, 0x2f, 0x50, 0xcb, 0x6c, 0xe5, 0x05, 0xca, 0xd7, 0x40, 0xee, 0x3f, 0x31, 0xa3, 0x79, 0x28, + 0x44, 0x62, 0x68, 0x9d, 0x47, 0xeb, 0xa1, 0x5a, 0xf0, 0x4e, 0xf9, 0x7e, 0x86, 0x9a, 0x89, 0xf4, + 0x93, 0x25, 0x63, 0x51, 0x5b, 0xb1, 0xe1, 0x22, 0xbf, 0xaa, 0x7b, 0xea, 0xee, 0x61, 0x67, 0xab, + 0xe7, 0xb1, 0xbb, 0x61, 0x0e, 0x44, 0x2f, 0x43, 0x2d, 0x60, 0x3f, 0xe3, 0x7a, 0xac, 0xaa, 0x3a, + 0xc5, 0x61, 0xdc, 0xef, 0xb2, 0x40, 0xc1, 0x8e, 0xe9, 0xb9, 0x16, 0x0f, 0xcd, 0x55, 0x75, 0x86, + 0xc3, 0xd7, 0x39, 0x58, 0xf9, 0x17, 0x09, 0x6a, 0x49, 0x71, 0x24, 0x96, 0x87, 0xe4, 0x07, 0xe7, + 0xcb, 0x1a, 0xcf, 0xe9, 0x5a, 0xfd, 0xcb, 0x80, 0x02, 0x61, 0x8e, 0xc6, 0x35, 0x61, 0x71, 0x3b, + 0xaf, 0xcc, 0x69, 0x90, 0x27, 0xd4, 0xd9, 0xa0, 0x0f, 0x12, 0xa0, 0xcb, 0x00, 0xf8, 0x99, 0x67, + 0xb1, 0xab, 0x4d, 0x3a, 0xe5, 0x8a, 0x6a, 0x02, 0xa2, 0xfc, 0x42, 0x82, 0x6b, 0xab, 0x3e, 0x36, + 0x89, 0x5e, 0xba, 0xfd, 0x39, 0xec, 0x5b, 0xed, 0xc4, 0x55, 0xbe, 0x65, 0xe0, 0x0d, 0xc7, 0x0a, + 0xef, 0xdb, 0xee, 0x41, 0xf2, 0x8e, 0xec, 0x36, 0x08, 0xef, 0x52, 0xab, 0x59, 0xcc, 0xa6, 0xeb, + 0x88, 0x13, 0x11, 0x73, 0x81, 0xa3, 0x10, 0x3b, 0xd3, 0x55, 0x82, 0x85, 0xfe, 0x2a, 0x41, 0x04, + 0x25, 0xdb, 0x72, 0xf6, 0xf8, 0x7b, 0x02, 0xfd, 0xdd, 0x6c, 0x25, 0xd6, 0x73, 0x2c, 0x84, 0xae, + 0x67, 0xc2, 0x9d, 0xc0, 0x48, 0x20, 0x0b, 0xb0, 0xd1, 0xf3, 0x71, 0xe4, 0xfc, 0x0a, 0x0b, 0x64, + 0x5b, 0x14, 0x4a, 0xf0, 0xaa, 0x0c, 0x61, 0xdb, 0xb7, 0x95, 0x1f, 0x49, 0x70, 0x73, 0xa0, 0xa9, + 0xab, 0x6e, 0xd7, 0xb3, 0x71, 0x88, 0xa9, 0xb9, 0xf7, 0x62, 0x73, 0x97, 0xa0, 0x66, 0xe8, 0xb6, + 0xbd, 0xa3, 0x1b, 0x7b, 0x5a, 0xcf, 0xb7, 0xb8, 0x2a, 0x33, 0xc7, 0x47, 0x0b, 0x53, 0xab, 0x1c, + 0xbe, 0xad, 0x6e, 0xa8, 0x53, 0x02, 0x69, 0xdb, 0xb7, 0x9a, 0xaf, 0x0a, 0xf5, 0x2f, 0x03, 0x58, + 0x54, 0x64, 0xdb, 0xe2, 0x95, 0x71, 0x55, 0x35, 0x01, 0x51, 0xbe, 0x55, 0x80, 0x0b, 0x4c, 0x17, + 0x6c, 0xc6, 0xda, 0x05, 0x34, 0xf3, 0xfe, 0x76, 0x22, 0xbe, 0xbe, 0x06, 0xb3, 0x6d, 0xcb, 0x0e, + 0xe9, 0x6a, 0xed, 0x63, 0x27, 0xb3, 0x8e, 0x8d, 0x08, 0x4e, 0x92, 0x5e, 0x81, 0x1c, 0x04, 0x3d, + 0x5e, 0x7e, 0x52, 0x55, 0x6b, 0x1c, 0x91, 0xc2, 0xe8, 0xed, 0xda, 0x33, 0xc3, 0xee, 0x99, 0x58, + 0xa3, 0x13, 0x82, 0xbf, 0x64, 0x56, 0xd4, 0x3a, 0x07, 0xaf, 0x33, 0x68, 0x53, 0x17, 0xb6, 0x7c, + 0x01, 0xc0, 0x88, 0x54, 0xe4, 0x29, 0xeb, 0xc7, 0x33, 0xa7, 0x29, 0x7f, 0x09, 0x39, 0x69, 0x98, + 0x8a, 0x3b, 0x56, 0x10, 0x62, 0x1f, 0x9b, 0x6a, 0x82, 0x97, 0xf2, 0x4b, 0x09, 0x16, 0xd4, 0xf4, + 0x33, 0x12, 0x99, 0xd0, 0x1c, 0x99, 0x45, 0xba, 0xbf, 0x38, 0xc5, 0x6e, 0x13, 0x2d, 0xde, 0xc2, + 0xf0, 0xc5, 0x5b, 0x7c, 0x2e, 0x6f, 0x62, 0xa5, 0x9c, 0x37, 0xb1, 0x38, 0x61, 0xfd, 0x86, 0x04, + 0x57, 0xb2, 0x6c, 0x65, 0x10, 0x9e, 0x11, 0x9f, 0xe9, 0x82, 0x6c, 0x41, 0x0c, 0xd8, 0x3c, 0x14, + 0x5c, 0xe6, 0xa0, 0x0a, 0x0b, 0xd2, 0x4f, 0x1e, 0xaa, 0x05, 0x77, 0x4f, 0xf9, 0x53, 0x00, 0xd8, + 0x3a, 0x0c, 0x42, 0xdc, 0xa5, 0x07, 0x9e, 0x44, 0x6e, 0xf2, 0x6f, 0xd1, 0x3e, 0xba, 0x0c, 0x65, + 0xcf, 0x77, 0x0d, 0x1c, 0x04, 0x5c, 0xf0, 0xab, 0xd9, 0x01, 0x29, 0x62, 0xb3, 0xd8, 0x62, 0xe8, + 0xaa, 0xa0, 0x43, 0x9f, 0x82, 0xa2, 0xb7, 0xe4, 0x0d, 0x3c, 0x9c, 0x27, 0xc9, 0x97, 0x5a, 0x6c, + 0x7d, 0xb7, 0x96, 0x5a, 0x2a, 0x21, 0x44, 0x8f, 0xa1, 0xec, 0xfa, 0x3b, 0x56, 0x68, 0xee, 0xf0, + 0xc2, 0x86, 0xa1, 0x2a, 0x3c, 0x21, 0xe8, 0x6b, 0x2b, 0x6c, 0x36, 0xf0, 0x86, 0x2a, 0x98, 0x90, + 0xd9, 0x70, 0xa0, 0xfb, 0x8e, 0xc8, 0x65, 0x59, 0xa3, 0xf9, 0xaf, 0x12, 0x08, 0x54, 0x64, 0xc6, + 0x0f, 0x7c, 0xd1, 0x7e, 0xc4, 0xac, 0x7f, 0x7b, 0x44, 0xd1, 0x8b, 0xc9, 0xa1, 0xa5, 0x99, 0xb5, + 0x3a, 0xc3, 0x59, 0x46, 0xf7, 0xff, 0x5f, 0x87, 0xd9, 0x13, 0x58, 0x64, 0x0b, 0xf4, 0x7c, 0xb7, + 0xe3, 0x0b, 0x87, 0x17, 0xd5, 0xa8, 0x4d, 0xaf, 0x2a, 0xf4, 0x67, 0x56, 0xb7, 0xd7, 0xa5, 0xce, + 0x2c, 0xaa, 0xa2, 0x49, 0xa8, 0x76, 0x7a, 0xed, 0x36, 0x16, 0xab, 0xb7, 0xa8, 0x46, 0x6d, 0x92, + 0xbb, 0xb3, 0xa2, 0x13, 0x1e, 0xf7, 0x79, 0xab, 0xb9, 0x08, 0xc4, 0xc5, 0x64, 0xfd, 0x47, 0xc9, + 0xb2, 0x46, 0xb6, 0x7a, 0x21, 0xb7, 0x1e, 0x81, 0x49, 0x26, 0x10, 0x34, 0xbf, 0x3b, 0x09, 0x65, + 0x3e, 0xb6, 0x44, 0x13, 0x72, 0x6e, 0x26, 0x9b, 0x09, 0x0b, 0x3e, 0xa2, 0x89, 0x2e, 0x40, 0x79, + 0xdf, 0x08, 0x34, 0x1f, 0xb7, 0xf9, 0x62, 0x9b, 0xdc, 0x37, 0x02, 0x15, 0xb7, 0x49, 0xd2, 0xd3, + 0xf3, 0x42, 0xab, 0x8b, 0xb5, 0x6e, 0xc0, 0x74, 0x64, 0x49, 0xcf, 0x36, 0x05, 0x3e, 0xda, 0x52, + 0x2b, 0xac, 0xfb, 0x51, 0x80, 0x3e, 0x01, 0x72, 0x2f, 0xc0, 0xbe, 0x66, 0x78, 0x3d, 0x4d, 0x50, + 0x00, 0xa5, 0x98, 0x3d, 0x3e, 0x5a, 0x98, 0xde, 0x0e, 0xb0, 0xbf, 0xda, 0xda, 0x7e, 0xca, 0xc8, + 0xa6, 0x09, 0xea, 0xaa, 0xd7, 0x7b, 0xca, 0x68, 0x3f, 0x03, 0x28, 0xa0, 0xa3, 0x91, 0xa2, 0x9e, + 0xa2, 0xd4, 0xb4, 0xb8, 0x8d, 0x8d, 0x55, 0x4c, 0x3f, 0xc3, 0xd0, 0x63, 0x0e, 0x97, 0x00, 0x82, + 0x50, 0xa7, 0x7b, 0xb1, 0x1e, 0x36, 0x6a, 0xd4, 0x17, 0x55, 0x0e, 0x59, 0xa6, 0xa5, 0xee, 0xbe, + 0x4d, 0x52, 0x7c, 0xcd, 0xe8, 0xf9, 0x8d, 0x69, 0x5a, 0xdd, 0x58, 0x65, 0x90, 0xd5, 0x1e, 0x8d, + 0xb9, 0x4e, 0xaf, 0xab, 0x75, 0x5c, 0xdf, 0xed, 0x85, 0x96, 0x83, 0x1b, 0x75, 0xca, 0xa0, 0xe6, + 0xf4, 0xba, 0x0f, 0x04, 0x8c, 0x0c, 0x89, 0xe3, 0xb6, 0x2d, 0x1b, 0x37, 0x66, 0xd8, 0x90, 0xb0, + 0x16, 0x7a, 0x03, 0xce, 0x85, 0xae, 0xab, 0x75, 0x75, 0xe7, 0x50, 0x73, 0x3d, 0xec, 0x68, 0x04, + 0x1a, 0x34, 0x64, 0x1a, 0x8f, 0xe5, 0xd0, 0x75, 0x1f, 0xe9, 0xce, 0xe1, 0x13, 0x0f, 0x3b, 0xf7, + 0x09, 0x9c, 0x1c, 0x98, 0x88, 0x2c, 0xc3, 0xeb, 0x35, 0x66, 0xa9, 0x81, 0xf4, 0xc0, 0xf4, 0xb8, + 0x47, 0xac, 0x53, 0x27, 0x9d, 0x1e, 0x31, 0x8a, 0xe8, 0xdb, 0x71, 0x35, 0x31, 0x5a, 0x88, 0x8e, + 0x49, 0xb5, 0xe3, 0x7e, 0x8e, 0x8f, 0xd7, 0x4d, 0x90, 0x5d, 0x0f, 0xfb, 0xb4, 0xa0, 0x40, 0x63, + 0xae, 0x68, 0x9c, 0x63, 0x39, 0x51, 0x04, 0x67, 0x2e, 0x43, 0x2f, 0x41, 0x75, 0xd7, 0x0d, 0x42, + 0xcd, 0xd1, 0xbb, 0xb8, 0x31, 0x47, 0x71, 0x2a, 0x04, 0xf0, 0x58, 0xef, 0x62, 0xb2, 0x79, 0xeb, + 0xbe, 0xb1, 0xdb, 0x38, 0xcf, 0x36, 0x6f, 0xf2, 0x3b, 0xe1, 0xaa, 0xae, 0xfe, 0xac, 0x31, 0x9f, + 0x74, 0xd5, 0x23, 0xfd, 0x19, 0xd9, 0xd2, 0x3d, 0xcb, 0x6c, 0x5c, 0xa0, 0xaa, 0xb3, 0x25, 0x4f, + 0x52, 0x74, 0xcf, 0x32, 0xd1, 0x45, 0x28, 0x79, 0xa4, 0xaf, 0x41, 0xfb, 0x2a, 0xc7, 0x47, 0x0b, + 0xa5, 0x16, 0xe9, 0xa4, 0x50, 0xb6, 0x46, 0x2c, 0xd7, 0xb7, 0xc2, 0xc3, 0xc6, 0x8b, 0x62, 0x8d, + 0xb0, 0x36, 0xcd, 0x13, 0x2c, 0xb3, 0xd1, 0x8c, 0x99, 0x6e, 0x13, 0xa6, 0x3d, 0xcb, 0x44, 0x0b, + 0x30, 0x75, 0xe0, 0xfa, 0x7b, 0xc4, 0x50, 0xd3, 0xf2, 0x1b, 0x2f, 0xb1, 0x4d, 0x98, 0x83, 0xd6, + 0x2c, 0xba, 0x15, 0xf2, 0xb9, 0x43, 0xe6, 0x14, 0x35, 0xf3, 0x22, 0x45, 0xaa, 0x33, 0xf0, 0x36, + 0x87, 0x2a, 0xbf, 0x9e, 0x80, 0x0a, 0x59, 0x14, 0x74, 0x7b, 0x4e, 0x84, 0xcd, 0x65, 0x11, 0x35, + 0x3f, 0x0e, 0x13, 0x62, 0x29, 0x15, 0x73, 0x2f, 0x51, 0x05, 0x07, 0xfa, 0x43, 0x65, 0x04, 0xcd, + 0x9f, 0x16, 0xa0, 0x44, 0xda, 0x89, 0x0a, 0xea, 0x6a, 0xaa, 0x82, 0xfa, 0x2e, 0x4c, 0x92, 0x69, + 0x84, 0xd9, 0xc1, 0x25, 0x2f, 0xa0, 0x46, 0xbc, 0x55, 0x82, 0xab, 0x72, 0x12, 0x32, 0xf1, 0xb0, + 0xef, 0xbb, 0x3e, 0xcb, 0x2e, 0xab, 0x2a, 0x6f, 0xa1, 0x65, 0xa8, 0xb4, 0xb1, 0x1e, 0xf6, 0x7c, + 0xcc, 0xa2, 0x62, 0x3d, 0xaf, 0xf8, 0x5c, 0xb0, 0xbd, 0xcf, 0xb0, 0xd5, 0x88, 0x8c, 0x78, 0xb7, + 0x6b, 0x39, 0x9a, 0xad, 0x87, 0xd8, 0x31, 0xd8, 0xd7, 0x13, 0x45, 0x15, 0xba, 0x96, 0xb3, 0xc9, + 0x20, 0x64, 0xfa, 0x58, 0x81, 0x46, 0x6f, 0x7c, 0x30, 0xbf, 0x7e, 0xab, 0x58, 0x01, 0xbd, 0x6f, + 0xc2, 0xe8, 0x93, 0x50, 0x35, 0x2d, 0x9f, 0x9c, 0xc0, 0x5d, 0x87, 0x97, 0x1b, 0x64, 0x1f, 0xac, + 0xd6, 0x04, 0x96, 0x1a, 0x13, 0x34, 0xff, 0x9e, 0x6c, 0x57, 0xc4, 0xc2, 0xb4, 0x10, 0xa9, 0x4f, + 0x48, 0x03, 0xca, 0xba, 0x69, 0xd2, 0xd0, 0xca, 0x62, 0x93, 0x68, 0xa6, 0xc5, 0x17, 0xc7, 0x14, + 0x4f, 0xf8, 0x0a, 0xb3, 0x59, 0x88, 0x15, 0x4d, 0xf4, 0x29, 0x28, 0x07, 0xa1, 0x8f, 0xf5, 0x2e, + 0x2b, 0xe2, 0x98, 0x5a, 0x7a, 0x65, 0xb0, 0x5b, 0xb7, 0x28, 0xb2, 0x2a, 0x88, 0x9a, 0x57, 0x60, + 0x92, 0x81, 0xf2, 0xa6, 0x83, 0xf2, 0x3e, 0x94, 0xf9, 0x58, 0x20, 0x04, 0x75, 0x7e, 0x4d, 0xc1, + 0x21, 0xf2, 0x0b, 0x68, 0x06, 0xa6, 0x3e, 0x8f, 0x83, 0x5d, 0x01, 0x90, 0x50, 0x1d, 0x60, 0x65, + 0x73, 0x5d, 0xb4, 0xe9, 0xb5, 0xc5, 0xa6, 0x6b, 0xe8, 0xb6, 0x80, 0x14, 0xe9, 0x85, 0x87, 0xeb, + 0x8b, 0x76, 0x89, 0xb0, 0x78, 0xb7, 0x67, 0x19, 0x02, 0x30, 0xa1, 0xfc, 0x58, 0x82, 0x4a, 0x4b, + 0xec, 0x49, 0x73, 0x30, 0x11, 0x84, 0x7a, 0x28, 0xce, 0x5b, 0xac, 0x41, 0xa0, 0xa6, 0x6b, 0x39, + 0x1d, 0x91, 0x70, 0xd1, 0x46, 0x6a, 0x6f, 0x23, 0x4e, 0x2e, 0x24, 0xf6, 0xb6, 0x8b, 0x50, 0x35, + 0x78, 0xe2, 0xcd, 0x36, 0xaa, 0x92, 0x1a, 0x03, 0x58, 0x02, 0x17, 0xea, 0x36, 0x9d, 0x56, 0x25, + 0x95, 0x35, 0xa8, 0x14, 0x6c, 0xeb, 0xec, 0x23, 0xa6, 0x92, 0xca, 0x1a, 0xca, 0x91, 0x04, 0xb3, + 0x4f, 0x7a, 0xe1, 0x93, 0x36, 0xbd, 0x9d, 0x10, 0x5f, 0x61, 0x0c, 0xb8, 0x0f, 0x18, 0xe3, 0x66, + 0x2d, 0x51, 0xd7, 0x4e, 0x0c, 0x98, 0x8c, 0xbf, 0x6e, 0xe1, 0x9f, 0xac, 0x94, 0xe2, 0x4f, 0x56, + 0xe6, 0x60, 0xa2, 0x6d, 0xeb, 0x9d, 0x80, 0xea, 0x5c, 0x56, 0x59, 0x83, 0x24, 0xf0, 0x58, 0x7c, + 0x21, 0xa2, 0xa5, 0x8f, 0xf6, 0x72, 0xd4, 0xc1, 0xbf, 0x5c, 0x88, 0x3f, 0xb9, 0x28, 0x27, 0x3e, + 0xb9, 0x50, 0x6c, 0x78, 0xf1, 0x84, 0x7d, 0x43, 0x3e, 0xe2, 0x91, 0xa1, 0xb8, 0xe3, 0x3e, 0xe3, + 0x47, 0x2e, 0xf2, 0x93, 0xc4, 0x3a, 0x96, 0x3a, 0xfb, 0xa2, 0xbe, 0x82, 0x9f, 0xb8, 0xeb, 0x1d, + 0x56, 0x66, 0xc6, 0xa1, 0xca, 0x7f, 0xa5, 0xdc, 0xc9, 0x2b, 0x2c, 0x9b, 0x57, 0xe3, 0xc4, 0x34, + 0x71, 0x45, 0x21, 0xa5, 0xae, 0x28, 0x48, 0xaa, 0xce, 0xe3, 0xe1, 0x67, 0xe2, 0x47, 0x16, 0x96, + 0x47, 0x5d, 0xcf, 0x5c, 0x07, 0x27, 0xcc, 0x8a, 0xbf, 0x3e, 0x21, 0xf3, 0xc3, 0xc6, 0x64, 0x13, + 0x7e, 0x26, 0xee, 0x53, 0x63, 0x00, 0xba, 0x01, 0x32, 0x3f, 0x08, 0xc4, 0xe7, 0xcb, 0xa4, 0x39, + 0xad, 0xe8, 0x90, 0x79, 0x13, 0x64, 0xdd, 0xf6, 0xb1, 0x6e, 0x1e, 0x6a, 0x3e, 0xaf, 0x16, 0xa5, + 0x83, 0x56, 0x51, 0x67, 0x38, 0x5c, 0x14, 0x91, 0xd2, 0x57, 0xbf, 0x58, 0xa3, 0x2d, 0xac, 0xdb, + 0xcd, 0xc7, 0xb1, 0xd9, 0x03, 0x26, 0x54, 0x96, 0x36, 0x85, 0x2c, 0x6d, 0x9a, 0xd7, 0x84, 0x83, + 0x2e, 0x42, 0x35, 0x1a, 0x7d, 0xf1, 0x91, 0x50, 0x04, 0x50, 0xfe, 0xa6, 0x10, 0x15, 0x38, 0x0f, + 0x3a, 0x4b, 0x8d, 0x53, 0x10, 0x78, 0x17, 0x9a, 0x81, 0xd5, 0x71, 0xb0, 0xc9, 0x0f, 0x92, 0xe1, + 0xe1, 0x49, 0x6d, 0x2f, 0x30, 0x8c, 0x0d, 0x8e, 0x10, 0x3b, 0xf1, 0x36, 0x9c, 0xdb, 0xe7, 0x7a, + 0x68, 0x89, 0xa3, 0x20, 0x3b, 0xb8, 0xa3, 0xfd, 0x13, 0x2a, 0x92, 0x59, 0xef, 0x53, 0x35, 0xd9, + 0x7d, 0x83, 0x66, 0x92, 0x88, 0xc1, 0x62, 0xa5, 0x9c, 0xec, 0x58, 0x23, 0xc1, 0x83, 0x9e, 0x48, + 0xc5, 0xd5, 0x04, 0x43, 0x65, 0xbb, 0x49, 0x3d, 0x06, 0x53, 0xc4, 0xf4, 0xa1, 0x7a, 0xb2, 0xff, + 0x50, 0x4d, 0x76, 0x3b, 0x7e, 0xf0, 0x2d, 0xb3, 0x54, 0x94, 0xb5, 0x94, 0x7b, 0x30, 0x7b, 0xdf, + 0xf2, 0x83, 0x70, 0x53, 0x0f, 0xc2, 0x55, 0xb6, 0x7e, 0x69, 0x20, 0x6b, 0x13, 0x20, 0xff, 0x6c, + 0x8d, 0x35, 0xe8, 0x9d, 0x84, 0x1e, 0x84, 0xfc, 0x2b, 0x16, 0xfa, 0x5b, 0xf9, 0x47, 0x09, 0xce, + 0xf1, 0x34, 0x3f, 0xf1, 0xa8, 0xc8, 0x12, 0x47, 0xac, 0xdb, 0xd8, 0xd4, 0xe2, 0xb5, 0x56, 0x65, + 0x90, 0x15, 0xf7, 0x19, 0x7a, 0x19, 0x6a, 0xbe, 0x7e, 0xa0, 0xf9, 0x2e, 0x7b, 0x53, 0xe7, 0xf3, + 0x73, 0xca, 0xd7, 0x0f, 0x54, 0x0e, 0x6a, 0x7e, 0x47, 0x82, 0x22, 0x41, 0x4d, 0x6c, 0x54, 0x52, + 0x7a, 0xa3, 0x9a, 0x83, 0x09, 0xfa, 0x79, 0xa3, 0x78, 0x52, 0xa0, 0x8d, 0x31, 0x9e, 0x78, 0xfa, + 0xab, 0x0f, 0x6b, 0x99, 0x97, 0xec, 0xbf, 0x96, 0xe0, 0xbc, 0x8a, 0xdb, 0x3e, 0x0e, 0x76, 0xd3, + 0xe5, 0x43, 0xcd, 0xb7, 0x86, 0x64, 0x27, 0x73, 0x30, 0xc1, 0xde, 0x09, 0x0a, 0xec, 0x6c, 0xc5, + 0x9e, 0x09, 0xde, 0x3d, 0x65, 0xa9, 0x0b, 0x71, 0x04, 0x49, 0xe1, 0xdd, 0x5e, 0x28, 0x4e, 0x3c, + 0xbc, 0xd9, 0xfc, 0xa2, 0x58, 0x39, 0x2d, 0x98, 0xa2, 0x99, 0x93, 0xd6, 0x76, 0x7b, 0x8e, 0xc9, + 0x13, 0xae, 0xdb, 0x99, 0xe1, 0x25, 0xd3, 0x24, 0x96, 0x7d, 0x01, 0xe5, 0x71, 0x9f, 0xb0, 0xb8, + 0x65, 0x41, 0x7c, 0x61, 0x8e, 0xe6, 0xf9, 0x7b, 0x3b, 0x7b, 0x6c, 0x30, 0x71, 0xdb, 0x72, 0xb0, + 0x29, 0xbf, 0x80, 0xe6, 0xf8, 0x13, 0x29, 0x81, 0xf3, 0xa5, 0x29, 0x4b, 0x29, 0x28, 0x17, 0xc3, + 0x5e, 0x1a, 0x22, 0x68, 0xa2, 0xc8, 0x42, 0x2e, 0xde, 0xfa, 0xf3, 0x32, 0x54, 0xe3, 0x7b, 0xe1, + 0x79, 0x40, 0x51, 0x23, 0x29, 0xeb, 0x2a, 0x2c, 0x44, 0xf0, 0xec, 0x8f, 0xc2, 0x64, 0x09, 0x5d, + 0x83, 0x97, 0xd3, 0x48, 0x19, 0x1f, 0x58, 0xc9, 0x05, 0xb4, 0x00, 0x2f, 0x45, 0x68, 0x27, 0xbf, + 0x52, 0x91, 0x31, 0xba, 0x04, 0x2f, 0x66, 0x22, 0x6c, 0xe2, 0x76, 0x28, 0xb7, 0xd1, 0x2d, 0xb8, + 0xde, 0xdf, 0x9d, 0xfd, 0x2d, 0x88, 0xdc, 0x41, 0x37, 0xe1, 0xda, 0x60, 0x5c, 0x51, 0x28, 0xb9, + 0x8b, 0xee, 0xc0, 0xeb, 0x83, 0x51, 0xd3, 0x9f, 0x72, 0xc8, 0x16, 0x5a, 0x82, 0xc5, 0xc1, 0x14, + 0xfd, 0xdf, 0x5c, 0xc8, 0x5f, 0x41, 0x8b, 0x70, 0x6b, 0x34, 0x9a, 0x2d, 0xec, 0x84, 0xf2, 0xde, + 0x70, 0x19, 0xfd, 0x1f, 0x1e, 0xc8, 0x36, 0xfa, 0x08, 0xdc, 0x1e, 0x8d, 0x26, 0x2a, 0xe3, 0x97, + 0xbb, 0xa3, 0x0b, 0x12, 0x75, 0xf7, 0xb2, 0x83, 0x14, 0xb8, 0x9c, 0x43, 0xc3, 0x2b, 0xe0, 0x65, + 0x17, 0xbd, 0x02, 0x57, 0x72, 0x70, 0xa2, 0x9a, 0x75, 0xd9, 0x43, 0x0a, 0x5c, 0x8a, 0xb0, 0xb2, + 0x3e, 0x70, 0x94, 0x7f, 0x26, 0xa1, 0x3b, 0xf0, 0x5a, 0x84, 0x33, 0xfc, 0x2b, 0x39, 0xf9, 0x27, + 0x05, 0xf4, 0x56, 0xc2, 0x11, 0xa3, 0x7d, 0x2d, 0x26, 0xff, 0x51, 0x01, 0x2d, 0xc2, 0xcd, 0x7c, + 0x39, 0x7d, 0xdf, 0xbc, 0xc9, 0x7f, 0x5c, 0x40, 0x97, 0x13, 0xd3, 0xb5, 0xbf, 0x40, 0x5e, 0xfe, + 0x51, 0x11, 0xbd, 0x79, 0x72, 0x62, 0x0d, 0xda, 0x42, 0xe5, 0x5f, 0x15, 0xd1, 0xf5, 0xfe, 0x95, + 0x94, 0xf1, 0x41, 0xa9, 0xfc, 0xcb, 0xf2, 0xad, 0xef, 0x49, 0xd0, 0xc8, 0x7b, 0x9f, 0x22, 0xcb, + 0x31, 0xaf, 0xaf, 0x6f, 0x69, 0xe7, 0xa1, 0xf1, 0xbd, 0x45, 0x96, 0xc8, 0x28, 0xe6, 0x23, 0x31, + 0xd5, 0xe4, 0xc2, 0xad, 0xbf, 0x94, 0xa2, 0xa2, 0x45, 0x56, 0x96, 0xfc, 0x62, 0x54, 0xfc, 0x49, + 0xdb, 0x49, 0xb1, 0x7d, 0x5d, 0x4f, 0x5d, 0x3e, 0xcd, 0x64, 0x89, 0x04, 0xab, 0x64, 0x57, 0x34, + 0xb3, 0x0b, 0xe8, 0x3c, 0xcc, 0x26, 0x7b, 0xd8, 0x40, 0x17, 0xd1, 0x85, 0xa8, 0x0a, 0x91, 0x13, + 0x74, 0x5d, 0x82, 0x5f, 0xea, 0x17, 0x12, 0xcf, 0xf7, 0x89, 0x7e, 0x1a, 0x31, 0x61, 0x27, 0x6f, + 0x3d, 0x80, 0x6a, 0x74, 0xc4, 0x22, 0x27, 0x11, 0x7e, 0xa0, 0x59, 0xb3, 0x7c, 0xf9, 0x05, 0xd2, + 0xde, 0x70, 0x76, 0x48, 0x8c, 0x26, 0x6d, 0x89, 0x9c, 0x4c, 0x9e, 0xf4, 0xc2, 0x08, 0x50, 0x40, + 0x55, 0x98, 0x58, 0xb1, 0xc8, 0xcf, 0xe2, 0xd2, 0x3f, 0x5c, 0x87, 0x19, 0xf1, 0xa9, 0xb4, 0x78, + 0x22, 0x0a, 0x32, 0xbe, 0x47, 0x40, 0x8b, 0x83, 0x1e, 0x58, 0x62, 0xbc, 0xc5, 0xe8, 0xa3, 0x85, + 0x91, 0xf1, 0x3d, 0xfb, 0xf0, 0x8e, 0x84, 0xbe, 0x25, 0xe5, 0x7e, 0xb6, 0x80, 0xde, 0x1a, 0xab, + 0x22, 0x5d, 0x68, 0xb0, 0x34, 0x26, 0x15, 0xd9, 0x25, 0x89, 0x16, 0x39, 0x01, 0x35, 0x47, 0x8b, + 0x1c, 0xec, 0x21, 0x5a, 0xe4, 0x53, 0x11, 0x2d, 0xbe, 0x9e, 0x53, 0x70, 0x8e, 0x46, 0x61, 0xc6, + 0x71, 0x23, 0x05, 0xee, 0x8c, 0x45, 0x43, 0xc4, 0x7f, 0x35, 0xbb, 0x84, 0x1d, 0xbd, 0x39, 0x02, + 0x27, 0x86, 0x1a, 0x09, 0xbf, 0x3d, 0x0e, 0x09, 0x91, 0xfd, 0xdb, 0xd2, 0xe0, 0xea, 0x76, 0xf4, + 0xf6, 0x48, 0xfe, 0x4c, 0x92, 0x44, 0xca, 0x7c, 0xec, 0x34, 0xa4, 0x44, 0xa9, 0x30, 0xab, 0x0c, + 0x1e, 0x8d, 0x62, 0x1b, 0x41, 0x8c, 0xe4, 0xbf, 0x31, 0x3a, 0x41, 0xe6, 0x30, 0xb0, 0x4d, 0x6d, + 0xa4, 0x61, 0x60, 0xa8, 0x63, 0x0d, 0x43, 0x44, 0x92, 0x37, 0x03, 0x49, 0x54, 0x1a, 0x75, 0x06, + 0x12, 0xdc, 0x71, 0x67, 0x20, 0xa7, 0x21, 0xe2, 0x77, 0xd2, 0x45, 0xf3, 0xe8, 0x66, 0x7e, 0x5d, + 0x3a, 0x47, 0x89, 0x84, 0xbd, 0x3a, 0x0a, 0x2a, 0x91, 0x81, 0xfb, 0x4a, 0xe9, 0xd1, 0xad, 0x9c, + 0xca, 0x8a, 0x04, 0x4e, 0x24, 0xe5, 0xc6, 0x48, 0xb8, 0xdc, 0x94, 0x64, 0xba, 0x91, 0x63, 0x4a, + 0x12, 0x65, 0x88, 0x29, 0x7d, 0xa8, 0x44, 0xc6, 0x6e, 0x7f, 0xd1, 0x3c, 0x7a, 0x6d, 0x10, 0x29, + 0x47, 0x8a, 0xe4, 0xdc, 0x1c, 0x0d, 0x99, 0x48, 0x3a, 0xc8, 0x2c, 0xa5, 0x47, 0x03, 0x47, 0x38, + 0x89, 0x19, 0xc9, 0x5c, 0x1c, 0x83, 0x82, 0x08, 0xfe, 0x86, 0x94, 0x57, 0x71, 0x8f, 0x3e, 0x92, + 0x5d, 0xc7, 0x9a, 0x89, 0x1c, 0xc9, 0x7f, 0x73, 0x3c, 0x22, 0xbe, 0x1e, 0xb3, 0xaa, 0xf3, 0xd1, + 0x68, 0xac, 0x08, 0xea, 0x90, 0xf5, 0x98, 0x43, 0xc2, 0xd7, 0x63, 0x66, 0xed, 0x7e, 0xce, 0x7a, + 0xcc, 0xc4, 0x1d, 0xb2, 0x1e, 0xf3, 0x68, 0x88, 0xf8, 0x9f, 0x48, 0x23, 0x96, 0xf9, 0xa3, 0x95, + 0x91, 0x78, 0x67, 0xd2, 0x46, 0xfa, 0x7d, 0xe6, 0x4c, 0x3c, 0x88, 0xbe, 0xbf, 0x3b, 0xf4, 0x83, + 0x01, 0x74, 0x77, 0x34, 0x21, 0x29, 0xa2, 0x48, 0xc3, 0xb7, 0x4f, 0x47, 0x4c, 0x54, 0xfb, 0xfd, + 0x11, 0xbe, 0x20, 0x40, 0xf7, 0x46, 0xe2, 0xdf, 0x4f, 0x16, 0xa9, 0x77, 0xf7, 0xb4, 0xe4, 0x44, + 0xc1, 0xbd, 0x13, 0x9f, 0x13, 0xa0, 0xec, 0x5c, 0xae, 0x0f, 0x2b, 0x92, 0x7e, 0x6b, 0x44, 0x6c, + 0x1e, 0xb9, 0xd2, 0x1f, 0x0c, 0xe4, 0x44, 0xae, 0x34, 0xd2, 0x90, 0xc8, 0x75, 0x02, 0x99, 0x48, + 0x72, 0x32, 0x8a, 0xd4, 0x73, 0x92, 0xda, 0x13, 0x78, 0x43, 0x22, 0xf2, 0xc9, 0x0f, 0x0d, 0xee, + 0x48, 0x68, 0xef, 0x64, 0x6d, 0x38, 0x7a, 0x63, 0x10, 0x79, 0x84, 0x16, 0x49, 0xbb, 0x3e, 0x14, + 0x5d, 0x08, 0xfb, 0x62, 0xa2, 0x20, 0x1b, 0x0d, 0x20, 0xa3, 0x4f, 0xef, 0x82, 0xfd, 0x2b, 0x43, + 0xf1, 0xf8, 0x36, 0x99, 0xaa, 0x75, 0xce, 0xd9, 0x26, 0x53, 0x38, 0x43, 0xb6, 0xc9, 0x7e, 0x5c, + 0x3e, 0xeb, 0xfa, 0xca, 0x9c, 0x73, 0x66, 0x5d, 0x1f, 0xd6, 0x90, 0x59, 0x77, 0x12, 0x9b, 0x08, + 0x0b, 0x32, 0x6a, 0xa0, 0x07, 0xcd, 0x85, 0x54, 0xe5, 0xef, 0xe0, 0x03, 0x4e, 0x16, 0x3e, 0x3b, + 0xe0, 0x74, 0x4f, 0x54, 0xb9, 0xe6, 0x5a, 0x98, 0xc2, 0x1a, 0x6a, 0x61, 0x3f, 0x36, 0x13, 0xf7, + 0x4d, 0x29, 0xaf, 0x10, 0x35, 0x67, 0xc3, 0xcc, 0x46, 0x1e, 0xb2, 0x61, 0xe6, 0x12, 0x31, 0x25, + 0xde, 0x4b, 0x16, 0x5f, 0xa2, 0x57, 0xf3, 0x59, 0xa4, 0xc7, 0xf2, 0xda, 0x70, 0x44, 0x32, 0x8c, + 0xef, 0x25, 0xcb, 0x72, 0xd0, 0xd0, 0x6a, 0x97, 0xc1, 0xdc, 0x53, 0x88, 0x62, 0xcf, 0x1b, 0xa9, + 0xd6, 0x2f, 0x67, 0xcf, 0x1b, 0x89, 0x76, 0xc8, 0x9e, 0x37, 0x2a, 0x0f, 0xa2, 0xef, 0x9f, 0x8d, + 0x53, 0xb0, 0x87, 0xee, 0x8f, 0x2f, 0x2f, 0x49, 0x1f, 0xe9, 0xbd, 0x76, 0x66, 0x3e, 0x44, 0xf7, + 0xef, 0x48, 0xb9, 0x65, 0x7d, 0x39, 0xc7, 0xee, 0x1c, 0xec, 0x21, 0xc7, 0xee, 0x7c, 0x2a, 0x36, + 0x5f, 0x7f, 0x6f, 0x78, 0x61, 0x1d, 0xfa, 0x64, 0xce, 0x9d, 0xf9, 0x40, 0xaa, 0x48, 0xaf, 0x4f, + 0x9c, 0x92, 0x9a, 0x78, 0xe9, 0x73, 0x71, 0x35, 0x05, 0x1a, 0x52, 0x77, 0x20, 0xc4, 0x0d, 0xab, + 0x7a, 0xa0, 0x7c, 0xdf, 0xcf, 0x78, 0xb9, 0xcc, 0x09, 0x87, 0x27, 0xf0, 0x86, 0x84, 0xc3, 0x2c, + 0x7c, 0xbe, 0xef, 0xa7, 0x9f, 0x0c, 0x73, 0xf6, 0xfd, 0x34, 0xd2, 0x90, 0x7d, 0xff, 0x04, 0x32, + 0xcf, 0x9c, 0x33, 0xdf, 0x33, 0x72, 0x32, 0xe7, 0xec, 0xb7, 0x8f, 0xc1, 0x99, 0x73, 0x1e, 0x8d, + 0x67, 0x1f, 0xae, 0x7c, 0xf4, 0x83, 0x7f, 0xba, 0xfc, 0xc2, 0x5f, 0x1d, 0x5f, 0x96, 0x3e, 0x38, + 0xbe, 0x2c, 0xfd, 0xfc, 0xf8, 0xb2, 0xf4, 0xa5, 0x57, 0x76, 0xb0, 0x1f, 0x1e, 0x2e, 0x86, 0xd8, + 0xd8, 0xbd, 0xcd, 0xb9, 0xdd, 0xf6, 0xf6, 0x3a, 0xb7, 0x53, 0xff, 0x36, 0x76, 0x67, 0x92, 0x36, + 0x3f, 0xf2, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x88, 0xd3, 0x9d, 0xd9, 0x4e, 0x56, 0x00, 0x00, } func (m *Account) Marshal() (dAtA []byte, err error) { @@ -12746,93 +11908,6 @@ func (m *AccountContactUnblocked) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *AccountServiceTokenAdded) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *AccountServiceTokenAdded) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AccountServiceTokenAdded) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if m.ServiceToken != nil { - { - size, err := m.ServiceToken.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintProtocoltypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.DevicePK) > 0 { - i -= len(m.DevicePK) - copy(dAtA[i:], m.DevicePK) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.DevicePK))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *AccountServiceTokenRemoved) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *AccountServiceTokenRemoved) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AccountServiceTokenRemoved) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.TokenID) > 0 { - i -= len(m.TokenID) - copy(dAtA[i:], m.TokenID) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.TokenID))) - i-- - dAtA[i] = 0x12 - } - if len(m.DevicePK) > 0 { - i -= len(m.DevicePK) - copy(dAtA[i:], m.DevicePK) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.DevicePK))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - func (m *GroupReplicating) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -15713,20 +14788,20 @@ func (m *GroupDeviceStatus_Reply_PeerConnected) MarshalToSizedBuffer(dAtA []byte } } if len(m.Transports) > 0 { - dAtA17 := make([]byte, len(m.Transports)*10) - var j16 int + dAtA16 := make([]byte, len(m.Transports)*10) + var j15 int for _, num := range m.Transports { for num >= 1<<7 { - dAtA17[j16] = uint8(uint64(num)&0x7f | 0x80) + dAtA16[j15] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j16++ + j15++ } - dAtA17[j16] = uint8(num) - j16++ + dAtA16[j15] = uint8(num) + j15++ } - i -= j16 - copy(dAtA[i:], dAtA17[:j16]) - i = encodeVarintProtocoltypes(dAtA, i, uint64(j16)) + i -= j15 + copy(dAtA[i:], dAtA16[:j15]) + i = encodeVarintProtocoltypes(dAtA, i, uint64(j15)) i-- dAtA[i] = 0x1a } @@ -16140,180 +15215,6 @@ func (m *DebugGroup_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *AuthExchangeResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *AuthExchangeResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AuthExchangeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.Services) > 0 { - for k := range m.Services { - v := m.Services[k] - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = encodeVarintProtocoltypes(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x2a - } - } - if len(m.ErrorDescription) > 0 { - i -= len(m.ErrorDescription) - copy(dAtA[i:], m.ErrorDescription) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.ErrorDescription))) - i-- - dAtA[i] = 0x22 - } - if len(m.Error) > 0 { - i -= len(m.Error) - copy(dAtA[i:], m.Error) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.Error))) - i-- - dAtA[i] = 0x1a - } - if len(m.Scope) > 0 { - i -= len(m.Scope) - copy(dAtA[i:], m.Scope) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.Scope))) - i-- - dAtA[i] = 0x12 - } - if len(m.AccessToken) > 0 { - i -= len(m.AccessToken) - copy(dAtA[i:], m.AccessToken) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.AccessToken))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *DebugAuthServiceSetToken) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *DebugAuthServiceSetToken) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *DebugAuthServiceSetToken) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - return len(dAtA) - i, nil -} - -func (m *DebugAuthServiceSetToken_Request) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *DebugAuthServiceSetToken_Request) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *DebugAuthServiceSetToken_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.AuthenticationURL) > 0 { - i -= len(m.AuthenticationURL) - copy(dAtA[i:], m.AuthenticationURL) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.AuthenticationURL))) - i-- - dAtA[i] = 0x12 - } - if m.Token != nil { - { - size, err := m.Token.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintProtocoltypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *DebugAuthServiceSetToken_Reply) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *DebugAuthServiceSetToken_Reply) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *DebugAuthServiceSetToken_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - return len(dAtA) - i, nil -} - func (m *ShareableContact) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -16463,215 +15364,6 @@ func (m *ServiceToken) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *AuthServiceCompleteFlow) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *AuthServiceCompleteFlow) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AuthServiceCompleteFlow) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - return len(dAtA) - i, nil -} - -func (m *AuthServiceCompleteFlow_Request) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *AuthServiceCompleteFlow_Request) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AuthServiceCompleteFlow_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.CallbackURL) > 0 { - i -= len(m.CallbackURL) - copy(dAtA[i:], m.CallbackURL) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.CallbackURL))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *AuthServiceCompleteFlow_Reply) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *AuthServiceCompleteFlow_Reply) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AuthServiceCompleteFlow_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.TokenID) > 0 { - i -= len(m.TokenID) - copy(dAtA[i:], m.TokenID) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.TokenID))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *AuthServiceInitFlow) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *AuthServiceInitFlow) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AuthServiceInitFlow) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - return len(dAtA) - i, nil -} - -func (m *AuthServiceInitFlow_Request) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *AuthServiceInitFlow_Request) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AuthServiceInitFlow_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.Services) > 0 { - for iNdEx := len(m.Services) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Services[iNdEx]) - copy(dAtA[i:], m.Services[iNdEx]) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.Services[iNdEx]))) - i-- - dAtA[i] = 0x1a - } - } - if len(m.AuthURL) > 0 { - i -= len(m.AuthURL) - copy(dAtA[i:], m.AuthURL) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.AuthURL))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *AuthServiceInitFlow_Reply) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *AuthServiceInitFlow_Reply) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AuthServiceInitFlow_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if m.SecureURL { - i-- - if m.SecureURL { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x10 - } - if len(m.URL) > 0 { - i -= len(m.URL) - copy(dAtA[i:], m.URL) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.URL))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - func (m *CredentialVerificationServiceInitFlow) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -17003,34 +15695,7 @@ func (m *VerifiedCredentialsList_Reply) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } -func (m *ServicesTokenList) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ServicesTokenList) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *ServicesTokenList) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - return len(dAtA) - i, nil -} - -func (m *ServicesTokenList_Request) Marshal() (dAtA []byte, err error) { +func (m *ReplicationServiceRegisterGroup) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -17040,12 +15705,12 @@ func (m *ServicesTokenList_Request) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ServicesTokenList_Request) MarshalTo(dAtA []byte) (int, error) { +func (m *ReplicationServiceRegisterGroup) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ServicesTokenList_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ReplicationServiceRegisterGroup) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -17057,7 +15722,7 @@ func (m *ServicesTokenList_Request) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *ServicesTokenList_Reply) Marshal() (dAtA []byte, err error) { +func (m *ReplicationServiceRegisterGroup_Request) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -17067,12 +15732,12 @@ func (m *ServicesTokenList_Reply) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ServicesTokenList_Reply) MarshalTo(dAtA []byte) (int, error) { +func (m *ReplicationServiceRegisterGroup_Request) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ServicesTokenList_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ReplicationServiceRegisterGroup_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -17081,141 +15746,32 @@ func (m *ServicesTokenList_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - if m.Service != nil { - { - size, err := m.Service.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintProtocoltypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.TokenID) > 0 { - i -= len(m.TokenID) - copy(dAtA[i:], m.TokenID) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.TokenID))) + if len(m.ReplicationServer) > 0 { + i -= len(m.ReplicationServer) + copy(dAtA[i:], m.ReplicationServer) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.ReplicationServer))) i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ServicesTokenCode) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ServicesTokenCode) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *ServicesTokenCode) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) + dAtA[i] = 0x22 } - if len(m.TokenID) > 0 { - i -= len(m.TokenID) - copy(dAtA[i:], m.TokenID) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.TokenID))) + if len(m.AuthenticationURL) > 0 { + i -= len(m.AuthenticationURL) + copy(dAtA[i:], m.AuthenticationURL) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.AuthenticationURL))) i-- dAtA[i] = 0x1a } - if len(m.CodeChallenge) > 0 { - i -= len(m.CodeChallenge) - copy(dAtA[i:], m.CodeChallenge) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.CodeChallenge))) + if len(m.Token) > 0 { + i -= len(m.Token) + copy(dAtA[i:], m.Token) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.Token))) i-- dAtA[i] = 0x12 } - if len(m.Services) > 0 { - for iNdEx := len(m.Services) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Services[iNdEx]) - copy(dAtA[i:], m.Services[iNdEx]) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.Services[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *ReplicationServiceRegisterGroup) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ReplicationServiceRegisterGroup) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *ReplicationServiceRegisterGroup) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - return len(dAtA) - i, nil -} - -func (m *ReplicationServiceRegisterGroup_Request) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ReplicationServiceRegisterGroup_Request) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *ReplicationServiceRegisterGroup_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } if len(m.GroupPK) > 0 { i -= len(m.GroupPK) copy(dAtA[i:], m.GroupPK) i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.GroupPK))) i-- - dAtA[i] = 0x12 - } - if len(m.TokenID) > 0 { - i -= len(m.TokenID) - copy(dAtA[i:], m.TokenID) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.TokenID))) - i-- dAtA[i] = 0xa } return len(dAtA) - i, nil @@ -17919,20 +16475,20 @@ func (m *PeerList_Peer) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x28 } if len(m.Features) > 0 { - dAtA27 := make([]byte, len(m.Features)*10) - var j26 int + dAtA24 := make([]byte, len(m.Features)*10) + var j23 int for _, num := range m.Features { for num >= 1<<7 { - dAtA27[j26] = uint8(uint64(num)&0x7f | 0x80) + dAtA24[j23] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j26++ + j23++ } - dAtA27[j26] = uint8(num) - j26++ + dAtA24[j23] = uint8(num) + j23++ } - i -= j26 - copy(dAtA[i:], dAtA27[:j26]) - i = encodeVarintProtocoltypes(dAtA, i, uint64(j26)) + i -= j23 + copy(dAtA[i:], dAtA24[:j23]) + i = encodeVarintProtocoltypes(dAtA, i, uint64(j23)) i-- dAtA[i] = 0x22 } @@ -19569,46 +18125,6 @@ func (m *AccountContactUnblocked) Size() (n int) { return n } -func (m *AccountServiceTokenAdded) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.DevicePK) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - if m.ServiceToken != nil { - l = m.ServiceToken.Size() - n += 1 + l + sovProtocoltypes(uint64(l)) - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *AccountServiceTokenRemoved) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.DevicePK) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - l = len(m.TokenID) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - func (m *GroupReplicating) Size() (n int) { if m == nil { return 0 @@ -21120,86 +19636,6 @@ func (m *DebugGroup_Reply) Size() (n int) { return n } -func (m *AuthExchangeResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.AccessToken) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - l = len(m.Scope) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - l = len(m.Error) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - l = len(m.ErrorDescription) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - if len(m.Services) > 0 { - for k, v := range m.Services { - _ = k - _ = v - mapEntrySize := 1 + len(k) + sovProtocoltypes(uint64(len(k))) + 1 + len(v) + sovProtocoltypes(uint64(len(v))) - n += mapEntrySize + 1 + sovProtocoltypes(uint64(mapEntrySize)) - } - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *DebugAuthServiceSetToken) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *DebugAuthServiceSetToken_Request) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Token != nil { - l = m.Token.Size() - n += 1 + l + sovProtocoltypes(uint64(l)) - } - l = len(m.AuthenticationURL) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *DebugAuthServiceSetToken_Reply) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - func (m *ShareableContact) Size() (n int) { if m == nil { return 0 @@ -21273,103 +19709,6 @@ func (m *ServiceToken) Size() (n int) { return n } -func (m *AuthServiceCompleteFlow) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *AuthServiceCompleteFlow_Request) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.CallbackURL) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *AuthServiceCompleteFlow_Reply) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.TokenID) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *AuthServiceInitFlow) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *AuthServiceInitFlow_Request) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.AuthURL) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - if len(m.Services) > 0 { - for _, s := range m.Services { - l = len(s) - n += 1 + l + sovProtocoltypes(uint64(l)) - } - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *AuthServiceInitFlow_Reply) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.URL) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - if m.SecureURL { - n += 2 - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - func (m *CredentialVerificationServiceInitFlow) Size() (n int) { if m == nil { return 0 @@ -21520,99 +19859,37 @@ func (m *VerifiedCredentialsList_Reply) Size() (n int) { return n } -func (m *ServicesTokenList) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *ServicesTokenList_Request) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *ServicesTokenList_Reply) Size() (n int) { +func (m *ReplicationServiceRegisterGroup) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.TokenID) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - if m.Service != nil { - l = m.Service.Size() - n += 1 + l + sovProtocoltypes(uint64(l)) - } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } return n } -func (m *ServicesTokenCode) Size() (n int) { +func (m *ReplicationServiceRegisterGroup_Request) Size() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.Services) > 0 { - for _, s := range m.Services { - l = len(s) - n += 1 + l + sovProtocoltypes(uint64(l)) - } - } - l = len(m.CodeChallenge) + l = len(m.GroupPK) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } - l = len(m.TokenID) + l = len(m.Token) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *ReplicationServiceRegisterGroup) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *ReplicationServiceRegisterGroup_Request) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.TokenID) + l = len(m.AuthenticationURL) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } - l = len(m.GroupPK) + l = len(m.ReplicationServer) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } @@ -26874,7 +25151,7 @@ func (m *AccountContactUnblocked) Unmarshal(dAtA []byte) error { } return nil } -func (m *AccountServiceTokenAdded) Unmarshal(dAtA []byte) error { +func (m *GroupReplicating) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -26897,10 +25174,10 @@ func (m *AccountServiceTokenAdded) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: AccountServiceTokenAdded: wiretype end group for non-group") + return fmt.Errorf("proto: GroupReplicating: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: AccountServiceTokenAdded: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: GroupReplicating: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -26939,9 +25216,9 @@ func (m *AccountServiceTokenAdded) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ServiceToken", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AuthenticationURL", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowProtocoltypes @@ -26951,293 +25228,55 @@ func (m *AccountServiceTokenAdded) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthProtocoltypes } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthProtocoltypes } if postIndex > l { return io.ErrUnexpectedEOF } - if m.ServiceToken == nil { - m.ServiceToken = &ServiceToken{} + m.AuthenticationURL = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReplicationServer", wireType) } - if err := m.ServiceToken.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProtocoltypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProtocoltypes } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AccountServiceTokenRemoved) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: AccountServiceTokenRemoved: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AccountServiceTokenRemoved: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DevicePK", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DevicePK = append(m.DevicePK[:0], dAtA[iNdEx:postIndex]...) - if m.DevicePK == nil { - m.DevicePK = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TokenID", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.TokenID = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GroupReplicating) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GroupReplicating: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GroupReplicating: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DevicePK", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DevicePK = append(m.DevicePK[:0], dAtA[iNdEx:postIndex]...) - if m.DevicePK == nil { - m.DevicePK = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AuthenticationURL", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.AuthenticationURL = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReplicationServer", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ReplicationServer = string(dAtA[iNdEx:postIndex]) + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ReplicationServer = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -34852,1238 +32891,7 @@ func (m *DebugGroup_Reply) Unmarshal(dAtA []byte) error { } return nil } -func (m *AuthExchangeResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: AuthExchangeResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AuthExchangeResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AccessToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.AccessToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Scope", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Scope = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Error", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Error = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ErrorDescription", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ErrorDescription = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Services", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Services == nil { - m.Services = make(map[string]string) - } - var mapkey string - var mapvalue string - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - if fieldNum == 1 { - var stringLenmapkey uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapkey |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapkey := int(stringLenmapkey) - if intStringLenmapkey < 0 { - return ErrInvalidLengthProtocoltypes - } - postStringIndexmapkey := iNdEx + intStringLenmapkey - if postStringIndexmapkey < 0 { - return ErrInvalidLengthProtocoltypes - } - if postStringIndexmapkey > l { - return io.ErrUnexpectedEOF - } - mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) - iNdEx = postStringIndexmapkey - } else if fieldNum == 2 { - var stringLenmapvalue uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLenmapvalue |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLenmapvalue := int(stringLenmapvalue) - if intStringLenmapvalue < 0 { - return ErrInvalidLengthProtocoltypes - } - postStringIndexmapvalue := iNdEx + intStringLenmapvalue - if postStringIndexmapvalue < 0 { - return ErrInvalidLengthProtocoltypes - } - if postStringIndexmapvalue > l { - return io.ErrUnexpectedEOF - } - mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) - iNdEx = postStringIndexmapvalue - } else { - iNdEx = entryPreIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > postIndex { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - m.Services[mapkey] = mapvalue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DebugAuthServiceSetToken) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: DebugAuthServiceSetToken: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DebugAuthServiceSetToken: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DebugAuthServiceSetToken_Request) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Request: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Token == nil { - m.Token = &AuthExchangeResponse{} - } - if err := m.Token.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AuthenticationURL", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.AuthenticationURL = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DebugAuthServiceSetToken_Reply) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Reply: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Reply: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ShareableContact) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ShareableContact: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ShareableContact: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PK", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PK = append(m.PK[:0], dAtA[iNdEx:postIndex]...) - if m.PK == nil { - m.PK = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PublicRendezvousSeed", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PublicRendezvousSeed = append(m.PublicRendezvousSeed[:0], dAtA[iNdEx:postIndex]...) - if m.PublicRendezvousSeed == nil { - m.PublicRendezvousSeed = []byte{} - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Metadata = append(m.Metadata[:0], dAtA[iNdEx:postIndex]...) - if m.Metadata == nil { - m.Metadata = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ServiceTokenSupportedService) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ServiceTokenSupportedService: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ServiceTokenSupportedService: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ServiceType", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ServiceType = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ServiceEndpoint", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ServiceEndpoint = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ServiceToken) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ServiceToken: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ServiceToken: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Token = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AuthenticationURL", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.AuthenticationURL = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SupportedServices", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SupportedServices = append(m.SupportedServices, &ServiceTokenSupportedService{}) - if err := m.SupportedServices[len(m.SupportedServices)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Expiration", wireType) - } - m.Expiration = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Expiration |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AuthServiceCompleteFlow) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: AuthServiceCompleteFlow: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AuthServiceCompleteFlow: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AuthServiceCompleteFlow_Request) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Request: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CallbackURL", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CallbackURL = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AuthServiceCompleteFlow_Reply) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Reply: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Reply: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TokenID", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.TokenID = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AuthServiceInitFlow) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: AuthServiceInitFlow: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AuthServiceInitFlow: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AuthServiceInitFlow_Request) Unmarshal(dAtA []byte) error { +func (m *ShareableContact) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -36106,17 +32914,17 @@ func (m *AuthServiceInitFlow_Request) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Request: wiretype end group for non-group") + return fmt.Errorf("proto: ShareableContact: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ShareableContact: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AuthURL", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PK", wireType) } - var stringLen uint64 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowProtocoltypes @@ -36126,29 +32934,65 @@ func (m *AuthServiceInitFlow_Request) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if byteLen < 0 { return ErrInvalidLengthProtocoltypes } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthProtocoltypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PK = append(m.PK[:0], dAtA[iNdEx:postIndex]...) + if m.PK == nil { + m.PK = []byte{} + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PublicRendezvousSeed", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthProtocoltypes + } + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthProtocoltypes } if postIndex > l { return io.ErrUnexpectedEOF } - m.AuthURL = string(dAtA[iNdEx:postIndex]) + m.PublicRendezvousSeed = append(m.PublicRendezvousSeed[:0], dAtA[iNdEx:postIndex]...) + if m.PublicRendezvousSeed == nil { + m.PublicRendezvousSeed = []byte{} + } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Services", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } - var stringLen uint64 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowProtocoltypes @@ -36158,23 +33002,25 @@ func (m *AuthServiceInitFlow_Request) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if byteLen < 0 { return ErrInvalidLengthProtocoltypes } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthProtocoltypes } if postIndex > l { return io.ErrUnexpectedEOF } - m.Services = append(m.Services, string(dAtA[iNdEx:postIndex])) + m.Metadata = append(m.Metadata[:0], dAtA[iNdEx:postIndex]...) + if m.Metadata == nil { + m.Metadata = []byte{} + } iNdEx = postIndex default: iNdEx = preIndex @@ -36198,7 +33044,7 @@ func (m *AuthServiceInitFlow_Request) Unmarshal(dAtA []byte) error { } return nil } -func (m *AuthServiceInitFlow_Reply) Unmarshal(dAtA []byte) error { +func (m *ServiceTokenSupportedService) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -36221,15 +33067,15 @@ func (m *AuthServiceInitFlow_Reply) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Reply: wiretype end group for non-group") + return fmt.Errorf("proto: ServiceTokenSupportedService: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Reply: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ServiceTokenSupportedService: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field URL", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ServiceType", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -36257,13 +33103,13 @@ func (m *AuthServiceInitFlow_Reply) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.URL = string(dAtA[iNdEx:postIndex]) + m.ServiceType = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SecureURL", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ServiceEndpoint", wireType) } - var v int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowProtocoltypes @@ -36273,63 +33119,24 @@ func (m *AuthServiceInitFlow_Reply) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - m.SecureURL = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthProtocoltypes } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CredentialVerificationServiceInitFlow) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProtocoltypes } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CredentialVerificationServiceInitFlow: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CredentialVerificationServiceInitFlow: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { + m.ServiceEndpoint = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipProtocoltypes(dAtA[iNdEx:]) @@ -36352,7 +33159,7 @@ func (m *CredentialVerificationServiceInitFlow) Unmarshal(dAtA []byte) error { } return nil } -func (m *CredentialVerificationServiceInitFlow_Request) Unmarshal(dAtA []byte) error { +func (m *ServiceToken) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -36375,15 +33182,15 @@ func (m *CredentialVerificationServiceInitFlow_Request) Unmarshal(dAtA []byte) e fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Request: wiretype end group for non-group") + return fmt.Errorf("proto: ServiceToken: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ServiceToken: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ServiceURL", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -36411,45 +33218,11 @@ func (m *CredentialVerificationServiceInitFlow_Request) Unmarshal(dAtA []byte) e if postIndex > l { return io.ErrUnexpectedEOF } - m.ServiceURL = string(dAtA[iNdEx:postIndex]) + m.Token = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PublicKey = append(m.PublicKey[:0], dAtA[iNdEx:postIndex]...) - if m.PublicKey == nil { - m.PublicKey = []byte{} - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Link", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AuthenticationURL", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -36477,64 +33250,13 @@ func (m *CredentialVerificationServiceInitFlow_Request) Unmarshal(dAtA []byte) e if postIndex > l { return io.ErrUnexpectedEOF } - m.Link = string(dAtA[iNdEx:postIndex]) + m.AuthenticationURL = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CredentialVerificationServiceInitFlow_Reply) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Reply: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Reply: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field URL", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SupportedServices", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowProtocoltypes @@ -36544,29 +33266,31 @@ func (m *CredentialVerificationServiceInitFlow_Reply) Unmarshal(dAtA []byte) err } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthProtocoltypes } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthProtocoltypes } if postIndex > l { return io.ErrUnexpectedEOF } - m.URL = string(dAtA[iNdEx:postIndex]) + m.SupportedServices = append(m.SupportedServices, &ServiceTokenSupportedService{}) + if err := m.SupportedServices[len(m.SupportedServices)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 2: + case 4: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SecureURL", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Expiration", wireType) } - var v int + m.Expiration = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowProtocoltypes @@ -36576,12 +33300,11 @@ func (m *CredentialVerificationServiceInitFlow_Reply) Unmarshal(dAtA []byte) err } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + m.Expiration |= int64(b&0x7F) << shift if b < 0x80 { break } } - m.SecureURL = bool(v != 0) default: iNdEx = preIndex skippy, err := skipProtocoltypes(dAtA[iNdEx:]) @@ -36604,7 +33327,7 @@ func (m *CredentialVerificationServiceInitFlow_Reply) Unmarshal(dAtA []byte) err } return nil } -func (m *CredentialVerificationServiceCompleteFlow) Unmarshal(dAtA []byte) error { +func (m *CredentialVerificationServiceInitFlow) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -36627,10 +33350,10 @@ func (m *CredentialVerificationServiceCompleteFlow) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CredentialVerificationServiceCompleteFlow: wiretype end group for non-group") + return fmt.Errorf("proto: CredentialVerificationServiceInitFlow: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CredentialVerificationServiceCompleteFlow: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: CredentialVerificationServiceInitFlow: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -36655,7 +33378,7 @@ func (m *CredentialVerificationServiceCompleteFlow) Unmarshal(dAtA []byte) error } return nil } -func (m *CredentialVerificationServiceCompleteFlow_Request) Unmarshal(dAtA []byte) error { +func (m *CredentialVerificationServiceInitFlow_Request) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -36686,7 +33409,7 @@ func (m *CredentialVerificationServiceCompleteFlow_Request) Unmarshal(dAtA []byt switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CallbackURI", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ServiceURL", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -36714,62 +33437,45 @@ func (m *CredentialVerificationServiceCompleteFlow_Request) Unmarshal(dAtA []byt if postIndex > l { return io.ErrUnexpectedEOF } - m.CallbackURI = string(dAtA[iNdEx:postIndex]) + m.ServiceURL = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if byteLen < 0 { + return ErrInvalidLengthProtocoltypes } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CredentialVerificationServiceCompleteFlow_Reply) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthProtocoltypes } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.PublicKey = append(m.PublicKey[:0], dAtA[iNdEx:postIndex]...) + if m.PublicKey == nil { + m.PublicKey = []byte{} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Reply: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Reply: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Identifier", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Link", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -36797,7 +33503,7 @@ func (m *CredentialVerificationServiceCompleteFlow_Reply) Unmarshal(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - m.Identifier = string(dAtA[iNdEx:postIndex]) + m.Link = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -36821,58 +33527,7 @@ func (m *CredentialVerificationServiceCompleteFlow_Reply) Unmarshal(dAtA []byte) } return nil } -func (m *VerifiedCredentialsList) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: VerifiedCredentialsList: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: VerifiedCredentialsList: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *VerifiedCredentialsList_Request) Unmarshal(dAtA []byte) error { +func (m *CredentialVerificationServiceInitFlow_Reply) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -36895,15 +33550,15 @@ func (m *VerifiedCredentialsList_Request) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Request: wiretype end group for non-group") + return fmt.Errorf("proto: Reply: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Reply: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FilterIdentifier", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field URL", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -36931,13 +33586,13 @@ func (m *VerifiedCredentialsList_Request) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.FilterIdentifier = string(dAtA[iNdEx:postIndex]) + m.URL = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FilterIssuer", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SecureURL", wireType) } - var stringLen uint64 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowProtocoltypes @@ -36947,44 +33602,63 @@ func (m *VerifiedCredentialsList_Request) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes + m.SecureURL = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipProtocoltypes(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + intStringLen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthProtocoltypes } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.FilterIssuer = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ExcludeExpired", wireType) + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CredentialVerificationServiceCompleteFlow) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } + if iNdEx >= l { + return io.ErrUnexpectedEOF } - m.ExcludeExpired = bool(v != 0) + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CredentialVerificationServiceCompleteFlow: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CredentialVerificationServiceCompleteFlow: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { default: iNdEx = preIndex skippy, err := skipProtocoltypes(dAtA[iNdEx:]) @@ -37007,7 +33681,7 @@ func (m *VerifiedCredentialsList_Request) Unmarshal(dAtA []byte) error { } return nil } -func (m *VerifiedCredentialsList_Reply) Unmarshal(dAtA []byte) error { +func (m *CredentialVerificationServiceCompleteFlow_Request) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -37030,17 +33704,17 @@ func (m *VerifiedCredentialsList_Reply) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Reply: wiretype end group for non-group") + return fmt.Errorf("proto: Request: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Reply: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Credential", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CallbackURI", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowProtocoltypes @@ -37050,27 +33724,23 @@ func (m *VerifiedCredentialsList_Reply) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthProtocoltypes } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthProtocoltypes } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Credential == nil { - m.Credential = &AccountVerifiedCredentialRegistered{} - } - if err := m.Credential.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.CallbackURI = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -37094,7 +33764,7 @@ func (m *VerifiedCredentialsList_Reply) Unmarshal(dAtA []byte) error { } return nil } -func (m *ServicesTokenList) Unmarshal(dAtA []byte) error { +func (m *CredentialVerificationServiceCompleteFlow_Reply) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -37117,12 +33787,44 @@ func (m *ServicesTokenList) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ServicesTokenList: wiretype end group for non-group") + return fmt.Errorf("proto: Reply: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ServicesTokenList: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Reply: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Identifier", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProtocoltypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProtocoltypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Identifier = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipProtocoltypes(dAtA[iNdEx:]) @@ -37145,7 +33847,7 @@ func (m *ServicesTokenList) Unmarshal(dAtA []byte) error { } return nil } -func (m *ServicesTokenList_Request) Unmarshal(dAtA []byte) error { +func (m *VerifiedCredentialsList) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -37168,10 +33870,10 @@ func (m *ServicesTokenList_Request) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Request: wiretype end group for non-group") + return fmt.Errorf("proto: VerifiedCredentialsList: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: VerifiedCredentialsList: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -37196,7 +33898,7 @@ func (m *ServicesTokenList_Request) Unmarshal(dAtA []byte) error { } return nil } -func (m *ServicesTokenList_Reply) Unmarshal(dAtA []byte) error { +func (m *VerifiedCredentialsList_Request) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -37219,15 +33921,15 @@ func (m *ServicesTokenList_Reply) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Reply: wiretype end group for non-group") + return fmt.Errorf("proto: Request: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Reply: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TokenID", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FilterIdentifier", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -37255,13 +33957,13 @@ func (m *ServicesTokenList_Reply) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.TokenID = string(dAtA[iNdEx:postIndex]) + m.FilterIdentifier = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Service", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FilterIssuer", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowProtocoltypes @@ -37271,28 +33973,44 @@ func (m *ServicesTokenList_Reply) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthProtocoltypes } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthProtocoltypes } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Service == nil { - m.Service = &ServiceToken{} + m.FilterIssuer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExcludeExpired", wireType) } - if err := m.Service.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - iNdEx = postIndex + m.ExcludeExpired = bool(v != 0) default: iNdEx = preIndex skippy, err := skipProtocoltypes(dAtA[iNdEx:]) @@ -37315,7 +34033,7 @@ func (m *ServicesTokenList_Reply) Unmarshal(dAtA []byte) error { } return nil } -func (m *ServicesTokenCode) Unmarshal(dAtA []byte) error { +func (m *VerifiedCredentialsList_Reply) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -37338,49 +34056,17 @@ func (m *ServicesTokenCode) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ServicesTokenCode: wiretype end group for non-group") + return fmt.Errorf("proto: Reply: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ServicesTokenCode: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Reply: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Services", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Services = append(m.Services, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CodeChallenge", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Credential", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowProtocoltypes @@ -37390,55 +34076,27 @@ func (m *ServicesTokenCode) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthProtocoltypes } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthProtocoltypes } if postIndex > l { return io.ErrUnexpectedEOF } - m.CodeChallenge = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TokenID", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes + if m.Credential == nil { + m.Credential = &AccountVerifiedCredentialRegistered{} } - if postIndex > l { - return io.ErrUnexpectedEOF + if err := m.Credential.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.TokenID = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -37544,7 +34202,41 @@ func (m *ReplicationServiceRegisterGroup_Request) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TokenID", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GroupPK", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthProtocoltypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthProtocoltypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GroupPK = append(m.GroupPK[:0], dAtA[iNdEx:postIndex]...) + if m.GroupPK == nil { + m.GroupPK = []byte{} + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -37572,13 +34264,13 @@ func (m *ReplicationServiceRegisterGroup_Request) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.TokenID = string(dAtA[iNdEx:postIndex]) + m.Token = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GroupPK", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AuthenticationURL", wireType) } - var byteLen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowProtocoltypes @@ -37588,25 +34280,55 @@ func (m *ReplicationServiceRegisterGroup_Request) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthProtocoltypes } - postIndex := iNdEx + byteLen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthProtocoltypes } if postIndex > l { return io.ErrUnexpectedEOF } - m.GroupPK = append(m.GroupPK[:0], dAtA[iNdEx:postIndex]...) - if m.GroupPK == nil { - m.GroupPK = []byte{} + m.AuthenticationURL = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReplicationServer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProtocoltypes } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProtocoltypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ReplicationServer = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex diff --git a/pkg/protocoltypes/protocoltypes.pb.gw.go b/pkg/protocoltypes/protocoltypes.pb.gw.go index 31eb40da..c6904618 100644 --- a/pkg/protocoltypes/protocoltypes.pb.gw.go +++ b/pkg/protocoltypes/protocoltypes.pb.gw.go @@ -1033,40 +1033,6 @@ func local_request_ProtocolService_DebugGroup_0(ctx context.Context, marshaler r } -func request_ProtocolService_DebugAuthServiceSetToken_0(ctx context.Context, marshaler runtime.Marshaler, client ProtocolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DebugAuthServiceSetToken_Request - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.DebugAuthServiceSetToken(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ProtocolService_DebugAuthServiceSetToken_0(ctx context.Context, marshaler runtime.Marshaler, server ProtocolServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DebugAuthServiceSetToken_Request - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.DebugAuthServiceSetToken(ctx, &protoReq) - return msg, metadata, err - -} - func request_ProtocolService_SystemInfo_0(ctx context.Context, marshaler runtime.Marshaler, client ProtocolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq SystemInfo_Request var metadata runtime.ServerMetadata @@ -1101,74 +1067,6 @@ func local_request_ProtocolService_SystemInfo_0(ctx context.Context, marshaler r } -func request_ProtocolService_AuthServiceInitFlow_0(ctx context.Context, marshaler runtime.Marshaler, client ProtocolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq AuthServiceInitFlow_Request - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.AuthServiceInitFlow(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ProtocolService_AuthServiceInitFlow_0(ctx context.Context, marshaler runtime.Marshaler, server ProtocolServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq AuthServiceInitFlow_Request - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.AuthServiceInitFlow(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ProtocolService_AuthServiceCompleteFlow_0(ctx context.Context, marshaler runtime.Marshaler, client ProtocolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq AuthServiceCompleteFlow_Request - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.AuthServiceCompleteFlow(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ProtocolService_AuthServiceCompleteFlow_0(ctx context.Context, marshaler runtime.Marshaler, server ProtocolServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq AuthServiceCompleteFlow_Request - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.AuthServiceCompleteFlow(ctx, &protoReq) - return msg, metadata, err - -} - func request_ProtocolService_CredentialVerificationServiceInitFlow_0(ctx context.Context, marshaler runtime.Marshaler, client ProtocolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq CredentialVerificationServiceInitFlow_Request var metadata runtime.ServerMetadata @@ -1262,31 +1160,6 @@ func request_ProtocolService_VerifiedCredentialsList_0(ctx context.Context, mars } -func request_ProtocolService_ServicesTokenList_0(ctx context.Context, marshaler runtime.Marshaler, client ProtocolServiceClient, req *http.Request, pathParams map[string]string) (ProtocolService_ServicesTokenListClient, runtime.ServerMetadata, error) { - var protoReq ServicesTokenList_Request - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - stream, err := client.ServicesTokenList(ctx, &protoReq) - if err != nil { - return nil, metadata, err - } - header, err := stream.Header() - if err != nil { - return nil, metadata, err - } - metadata.HeaderMD = header - return stream, metadata, nil - -} - func request_ProtocolService_ReplicationServiceRegisterGroup_0(ctx context.Context, marshaler runtime.Marshaler, client ProtocolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ReplicationServiceRegisterGroup_Request var metadata runtime.ServerMetadata @@ -2080,29 +1953,6 @@ func RegisterProtocolServiceHandlerServer(ctx context.Context, mux *runtime.Serv }) - mux.Handle("POST", pattern_ProtocolService_DebugAuthServiceSetToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ProtocolService_DebugAuthServiceSetToken_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_ProtocolService_DebugAuthServiceSetToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("POST", pattern_ProtocolService_SystemInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -2126,52 +1976,6 @@ func RegisterProtocolServiceHandlerServer(ctx context.Context, mux *runtime.Serv }) - mux.Handle("POST", pattern_ProtocolService_AuthServiceInitFlow_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ProtocolService_AuthServiceInitFlow_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_ProtocolService_AuthServiceInitFlow_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ProtocolService_AuthServiceCompleteFlow_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ProtocolService_AuthServiceCompleteFlow_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_ProtocolService_AuthServiceCompleteFlow_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("POST", pattern_ProtocolService_CredentialVerificationServiceInitFlow_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -2225,13 +2029,6 @@ func RegisterProtocolServiceHandlerServer(ctx context.Context, mux *runtime.Serv return }) - mux.Handle("POST", pattern_ProtocolService_ServicesTokenList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") - _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - }) - mux.Handle("POST", pattern_ProtocolService_ReplicationServiceRegisterGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -3008,26 +2805,6 @@ func RegisterProtocolServiceHandlerClient(ctx context.Context, mux *runtime.Serv }) - mux.Handle("POST", pattern_ProtocolService_DebugAuthServiceSetToken_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ProtocolService_DebugAuthServiceSetToken_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_ProtocolService_DebugAuthServiceSetToken_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("POST", pattern_ProtocolService_SystemInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -3048,46 +2825,6 @@ func RegisterProtocolServiceHandlerClient(ctx context.Context, mux *runtime.Serv }) - mux.Handle("POST", pattern_ProtocolService_AuthServiceInitFlow_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ProtocolService_AuthServiceInitFlow_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_ProtocolService_AuthServiceInitFlow_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ProtocolService_AuthServiceCompleteFlow_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ProtocolService_AuthServiceCompleteFlow_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_ProtocolService_AuthServiceCompleteFlow_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("POST", pattern_ProtocolService_CredentialVerificationServiceInitFlow_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -3148,26 +2885,6 @@ func RegisterProtocolServiceHandlerClient(ctx context.Context, mux *runtime.Serv }) - mux.Handle("POST", pattern_ProtocolService_ServicesTokenList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ProtocolService_ServicesTokenList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_ProtocolService_ServicesTokenList_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("POST", pattern_ProtocolService_ReplicationServiceRegisterGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -3334,22 +3051,14 @@ var ( pattern_ProtocolService_DebugGroup_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.protocol.v1.ProtocolService", "DebugGroup"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ProtocolService_DebugAuthServiceSetToken_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.protocol.v1.ProtocolService", "DebugAuthServiceSetToken"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ProtocolService_SystemInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.protocol.v1.ProtocolService", "SystemInfo"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ProtocolService_AuthServiceInitFlow_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.protocol.v1.ProtocolService", "AuthServiceInitFlow"}, "", runtime.AssumeColonVerbOpt(true))) - - pattern_ProtocolService_AuthServiceCompleteFlow_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.protocol.v1.ProtocolService", "AuthServiceCompleteFlow"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ProtocolService_CredentialVerificationServiceInitFlow_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.protocol.v1.ProtocolService", "CredentialVerificationServiceInitFlow"}, "", runtime.AssumeColonVerbOpt(true))) pattern_ProtocolService_CredentialVerificationServiceCompleteFlow_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.protocol.v1.ProtocolService", "CredentialVerificationServiceCompleteFlow"}, "", runtime.AssumeColonVerbOpt(true))) pattern_ProtocolService_VerifiedCredentialsList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.protocol.v1.ProtocolService", "VerifiedCredentialsList"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ProtocolService_ServicesTokenList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.protocol.v1.ProtocolService", "ServicesTokenList"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_ProtocolService_ReplicationServiceRegisterGroup_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.protocol.v1.ProtocolService", "ReplicationServiceRegisterGroup"}, "", runtime.AssumeColonVerbOpt(true))) pattern_ProtocolService_PeerList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.protocol.v1.ProtocolService", "PeerList"}, "", runtime.AssumeColonVerbOpt(true))) @@ -3424,22 +3133,14 @@ var ( forward_ProtocolService_DebugGroup_0 = runtime.ForwardResponseMessage - forward_ProtocolService_DebugAuthServiceSetToken_0 = runtime.ForwardResponseMessage - forward_ProtocolService_SystemInfo_0 = runtime.ForwardResponseMessage - forward_ProtocolService_AuthServiceInitFlow_0 = runtime.ForwardResponseMessage - - forward_ProtocolService_AuthServiceCompleteFlow_0 = runtime.ForwardResponseMessage - forward_ProtocolService_CredentialVerificationServiceInitFlow_0 = runtime.ForwardResponseMessage forward_ProtocolService_CredentialVerificationServiceCompleteFlow_0 = runtime.ForwardResponseMessage forward_ProtocolService_VerifiedCredentialsList_0 = runtime.ForwardResponseStream - forward_ProtocolService_ServicesTokenList_0 = runtime.ForwardResponseStream - forward_ProtocolService_ReplicationServiceRegisterGroup_0 = runtime.ForwardResponseMessage forward_ProtocolService_PeerList_0 = runtime.ForwardResponseMessage diff --git a/pkg/protocoltypes/protocoltypes_grpc.pb.go b/pkg/protocoltypes/protocoltypes_grpc.pb.go index c2179be5..dcf2ec4b 100644 --- a/pkg/protocoltypes/protocoltypes_grpc.pb.go +++ b/pkg/protocoltypes/protocoltypes_grpc.pb.go @@ -50,14 +50,10 @@ const ( ProtocolService_DebugListGroups_FullMethodName = "/weshnet.protocol.v1.ProtocolService/DebugListGroups" ProtocolService_DebugInspectGroupStore_FullMethodName = "/weshnet.protocol.v1.ProtocolService/DebugInspectGroupStore" ProtocolService_DebugGroup_FullMethodName = "/weshnet.protocol.v1.ProtocolService/DebugGroup" - ProtocolService_DebugAuthServiceSetToken_FullMethodName = "/weshnet.protocol.v1.ProtocolService/DebugAuthServiceSetToken" ProtocolService_SystemInfo_FullMethodName = "/weshnet.protocol.v1.ProtocolService/SystemInfo" - ProtocolService_AuthServiceInitFlow_FullMethodName = "/weshnet.protocol.v1.ProtocolService/AuthServiceInitFlow" - ProtocolService_AuthServiceCompleteFlow_FullMethodName = "/weshnet.protocol.v1.ProtocolService/AuthServiceCompleteFlow" ProtocolService_CredentialVerificationServiceInitFlow_FullMethodName = "/weshnet.protocol.v1.ProtocolService/CredentialVerificationServiceInitFlow" ProtocolService_CredentialVerificationServiceCompleteFlow_FullMethodName = "/weshnet.protocol.v1.ProtocolService/CredentialVerificationServiceCompleteFlow" ProtocolService_VerifiedCredentialsList_FullMethodName = "/weshnet.protocol.v1.ProtocolService/VerifiedCredentialsList" - ProtocolService_ServicesTokenList_FullMethodName = "/weshnet.protocol.v1.ProtocolService/ServicesTokenList" ProtocolService_ReplicationServiceRegisterGroup_FullMethodName = "/weshnet.protocol.v1.ProtocolService/ReplicationServiceRegisterGroup" ProtocolService_PeerList_FullMethodName = "/weshnet.protocol.v1.ProtocolService/PeerList" ProtocolService_OutOfStoreReceive_FullMethodName = "/weshnet.protocol.v1.ProtocolService/OutOfStoreReceive" @@ -130,20 +126,13 @@ type ProtocolServiceClient interface { DebugListGroups(ctx context.Context, in *DebugListGroups_Request, opts ...grpc.CallOption) (ProtocolService_DebugListGroupsClient, error) DebugInspectGroupStore(ctx context.Context, in *DebugInspectGroupStore_Request, opts ...grpc.CallOption) (ProtocolService_DebugInspectGroupStoreClient, error) DebugGroup(ctx context.Context, in *DebugGroup_Request, opts ...grpc.CallOption) (*DebugGroup_Reply, error) - DebugAuthServiceSetToken(ctx context.Context, in *DebugAuthServiceSetToken_Request, opts ...grpc.CallOption) (*DebugAuthServiceSetToken_Reply, error) SystemInfo(ctx context.Context, in *SystemInfo_Request, opts ...grpc.CallOption) (*SystemInfo_Reply, error) - // AuthServiceInitFlow Initialize an authentication flow - AuthServiceInitFlow(ctx context.Context, in *AuthServiceInitFlow_Request, opts ...grpc.CallOption) (*AuthServiceInitFlow_Reply, error) - // AuthServiceCompleteFlow Completes an authentication flow - AuthServiceCompleteFlow(ctx context.Context, in *AuthServiceCompleteFlow_Request, opts ...grpc.CallOption) (*AuthServiceCompleteFlow_Reply, error) // CredentialVerificationServiceInitFlow Initialize a credential verification flow CredentialVerificationServiceInitFlow(ctx context.Context, in *CredentialVerificationServiceInitFlow_Request, opts ...grpc.CallOption) (*CredentialVerificationServiceInitFlow_Reply, error) // CredentialVerificationServiceCompleteFlow Completes a credential verification flow CredentialVerificationServiceCompleteFlow(ctx context.Context, in *CredentialVerificationServiceCompleteFlow_Request, opts ...grpc.CallOption) (*CredentialVerificationServiceCompleteFlow_Reply, error) // VerifiedCredentialsList Retrieves the list of verified credentials VerifiedCredentialsList(ctx context.Context, in *VerifiedCredentialsList_Request, opts ...grpc.CallOption) (ProtocolService_VerifiedCredentialsListClient, error) - // ServicesTokenList Retrieves the list of services tokens - ServicesTokenList(ctx context.Context, in *ServicesTokenList_Request, opts ...grpc.CallOption) (ProtocolService_ServicesTokenListClient, error) // ReplicationServiceRegisterGroup Asks a replication service to distribute a group contents ReplicationServiceRegisterGroup(ctx context.Context, in *ReplicationServiceRegisterGroup_Request, opts ...grpc.CallOption) (*ReplicationServiceRegisterGroup_Reply, error) // PeerList returns a list of P2P peers @@ -581,15 +570,6 @@ func (c *protocolServiceClient) DebugGroup(ctx context.Context, in *DebugGroup_R return out, nil } -func (c *protocolServiceClient) DebugAuthServiceSetToken(ctx context.Context, in *DebugAuthServiceSetToken_Request, opts ...grpc.CallOption) (*DebugAuthServiceSetToken_Reply, error) { - out := new(DebugAuthServiceSetToken_Reply) - err := c.cc.Invoke(ctx, ProtocolService_DebugAuthServiceSetToken_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *protocolServiceClient) SystemInfo(ctx context.Context, in *SystemInfo_Request, opts ...grpc.CallOption) (*SystemInfo_Reply, error) { out := new(SystemInfo_Reply) err := c.cc.Invoke(ctx, ProtocolService_SystemInfo_FullMethodName, in, out, opts...) @@ -599,24 +579,6 @@ func (c *protocolServiceClient) SystemInfo(ctx context.Context, in *SystemInfo_R return out, nil } -func (c *protocolServiceClient) AuthServiceInitFlow(ctx context.Context, in *AuthServiceInitFlow_Request, opts ...grpc.CallOption) (*AuthServiceInitFlow_Reply, error) { - out := new(AuthServiceInitFlow_Reply) - err := c.cc.Invoke(ctx, ProtocolService_AuthServiceInitFlow_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *protocolServiceClient) AuthServiceCompleteFlow(ctx context.Context, in *AuthServiceCompleteFlow_Request, opts ...grpc.CallOption) (*AuthServiceCompleteFlow_Reply, error) { - out := new(AuthServiceCompleteFlow_Reply) - err := c.cc.Invoke(ctx, ProtocolService_AuthServiceCompleteFlow_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *protocolServiceClient) CredentialVerificationServiceInitFlow(ctx context.Context, in *CredentialVerificationServiceInitFlow_Request, opts ...grpc.CallOption) (*CredentialVerificationServiceInitFlow_Reply, error) { out := new(CredentialVerificationServiceInitFlow_Reply) err := c.cc.Invoke(ctx, ProtocolService_CredentialVerificationServiceInitFlow_FullMethodName, in, out, opts...) @@ -667,38 +629,6 @@ func (x *protocolServiceVerifiedCredentialsListClient) Recv() (*VerifiedCredenti return m, nil } -func (c *protocolServiceClient) ServicesTokenList(ctx context.Context, in *ServicesTokenList_Request, opts ...grpc.CallOption) (ProtocolService_ServicesTokenListClient, error) { - stream, err := c.cc.NewStream(ctx, &ProtocolService_ServiceDesc.Streams[7], ProtocolService_ServicesTokenList_FullMethodName, opts...) - if err != nil { - return nil, err - } - x := &protocolServiceServicesTokenListClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type ProtocolService_ServicesTokenListClient interface { - Recv() (*ServicesTokenList_Reply, error) - grpc.ClientStream -} - -type protocolServiceServicesTokenListClient struct { - grpc.ClientStream -} - -func (x *protocolServiceServicesTokenListClient) Recv() (*ServicesTokenList_Reply, error) { - m := new(ServicesTokenList_Reply) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - func (c *protocolServiceClient) ReplicationServiceRegisterGroup(ctx context.Context, in *ReplicationServiceRegisterGroup_Request, opts ...grpc.CallOption) (*ReplicationServiceRegisterGroup_Reply, error) { out := new(ReplicationServiceRegisterGroup_Reply) err := c.cc.Invoke(ctx, ProtocolService_ReplicationServiceRegisterGroup_FullMethodName, in, out, opts...) @@ -809,20 +739,13 @@ type ProtocolServiceServer interface { DebugListGroups(*DebugListGroups_Request, ProtocolService_DebugListGroupsServer) error DebugInspectGroupStore(*DebugInspectGroupStore_Request, ProtocolService_DebugInspectGroupStoreServer) error DebugGroup(context.Context, *DebugGroup_Request) (*DebugGroup_Reply, error) - DebugAuthServiceSetToken(context.Context, *DebugAuthServiceSetToken_Request) (*DebugAuthServiceSetToken_Reply, error) SystemInfo(context.Context, *SystemInfo_Request) (*SystemInfo_Reply, error) - // AuthServiceInitFlow Initialize an authentication flow - AuthServiceInitFlow(context.Context, *AuthServiceInitFlow_Request) (*AuthServiceInitFlow_Reply, error) - // AuthServiceCompleteFlow Completes an authentication flow - AuthServiceCompleteFlow(context.Context, *AuthServiceCompleteFlow_Request) (*AuthServiceCompleteFlow_Reply, error) // CredentialVerificationServiceInitFlow Initialize a credential verification flow CredentialVerificationServiceInitFlow(context.Context, *CredentialVerificationServiceInitFlow_Request) (*CredentialVerificationServiceInitFlow_Reply, error) // CredentialVerificationServiceCompleteFlow Completes a credential verification flow CredentialVerificationServiceCompleteFlow(context.Context, *CredentialVerificationServiceCompleteFlow_Request) (*CredentialVerificationServiceCompleteFlow_Reply, error) // VerifiedCredentialsList Retrieves the list of verified credentials VerifiedCredentialsList(*VerifiedCredentialsList_Request, ProtocolService_VerifiedCredentialsListServer) error - // ServicesTokenList Retrieves the list of services tokens - ServicesTokenList(*ServicesTokenList_Request, ProtocolService_ServicesTokenListServer) error // ReplicationServiceRegisterGroup Asks a replication service to distribute a group contents ReplicationServiceRegisterGroup(context.Context, *ReplicationServiceRegisterGroup_Request) (*ReplicationServiceRegisterGroup_Reply, error) // PeerList returns a list of P2P peers @@ -933,18 +856,9 @@ func (UnimplementedProtocolServiceServer) DebugInspectGroupStore(*DebugInspectGr func (UnimplementedProtocolServiceServer) DebugGroup(context.Context, *DebugGroup_Request) (*DebugGroup_Reply, error) { return nil, status.Errorf(codes.Unimplemented, "method DebugGroup not implemented") } -func (UnimplementedProtocolServiceServer) DebugAuthServiceSetToken(context.Context, *DebugAuthServiceSetToken_Request) (*DebugAuthServiceSetToken_Reply, error) { - return nil, status.Errorf(codes.Unimplemented, "method DebugAuthServiceSetToken not implemented") -} func (UnimplementedProtocolServiceServer) SystemInfo(context.Context, *SystemInfo_Request) (*SystemInfo_Reply, error) { return nil, status.Errorf(codes.Unimplemented, "method SystemInfo not implemented") } -func (UnimplementedProtocolServiceServer) AuthServiceInitFlow(context.Context, *AuthServiceInitFlow_Request) (*AuthServiceInitFlow_Reply, error) { - return nil, status.Errorf(codes.Unimplemented, "method AuthServiceInitFlow not implemented") -} -func (UnimplementedProtocolServiceServer) AuthServiceCompleteFlow(context.Context, *AuthServiceCompleteFlow_Request) (*AuthServiceCompleteFlow_Reply, error) { - return nil, status.Errorf(codes.Unimplemented, "method AuthServiceCompleteFlow not implemented") -} func (UnimplementedProtocolServiceServer) CredentialVerificationServiceInitFlow(context.Context, *CredentialVerificationServiceInitFlow_Request) (*CredentialVerificationServiceInitFlow_Reply, error) { return nil, status.Errorf(codes.Unimplemented, "method CredentialVerificationServiceInitFlow not implemented") } @@ -954,9 +868,6 @@ func (UnimplementedProtocolServiceServer) CredentialVerificationServiceCompleteF func (UnimplementedProtocolServiceServer) VerifiedCredentialsList(*VerifiedCredentialsList_Request, ProtocolService_VerifiedCredentialsListServer) error { return status.Errorf(codes.Unimplemented, "method VerifiedCredentialsList not implemented") } -func (UnimplementedProtocolServiceServer) ServicesTokenList(*ServicesTokenList_Request, ProtocolService_ServicesTokenListServer) error { - return status.Errorf(codes.Unimplemented, "method ServicesTokenList not implemented") -} func (UnimplementedProtocolServiceServer) ReplicationServiceRegisterGroup(context.Context, *ReplicationServiceRegisterGroup_Request) (*ReplicationServiceRegisterGroup_Reply, error) { return nil, status.Errorf(codes.Unimplemented, "method ReplicationServiceRegisterGroup not implemented") } @@ -1561,24 +1472,6 @@ func _ProtocolService_DebugGroup_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } -func _ProtocolService_DebugAuthServiceSetToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DebugAuthServiceSetToken_Request) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ProtocolServiceServer).DebugAuthServiceSetToken(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ProtocolService_DebugAuthServiceSetToken_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ProtocolServiceServer).DebugAuthServiceSetToken(ctx, req.(*DebugAuthServiceSetToken_Request)) - } - return interceptor(ctx, in, info, handler) -} - func _ProtocolService_SystemInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SystemInfo_Request) if err := dec(in); err != nil { @@ -1597,42 +1490,6 @@ func _ProtocolService_SystemInfo_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } -func _ProtocolService_AuthServiceInitFlow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AuthServiceInitFlow_Request) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ProtocolServiceServer).AuthServiceInitFlow(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ProtocolService_AuthServiceInitFlow_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ProtocolServiceServer).AuthServiceInitFlow(ctx, req.(*AuthServiceInitFlow_Request)) - } - return interceptor(ctx, in, info, handler) -} - -func _ProtocolService_AuthServiceCompleteFlow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AuthServiceCompleteFlow_Request) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ProtocolServiceServer).AuthServiceCompleteFlow(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ProtocolService_AuthServiceCompleteFlow_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ProtocolServiceServer).AuthServiceCompleteFlow(ctx, req.(*AuthServiceCompleteFlow_Request)) - } - return interceptor(ctx, in, info, handler) -} - func _ProtocolService_CredentialVerificationServiceInitFlow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CredentialVerificationServiceInitFlow_Request) if err := dec(in); err != nil { @@ -1690,27 +1547,6 @@ func (x *protocolServiceVerifiedCredentialsListServer) Send(m *VerifiedCredentia return x.ServerStream.SendMsg(m) } -func _ProtocolService_ServicesTokenList_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ServicesTokenList_Request) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(ProtocolServiceServer).ServicesTokenList(m, &protocolServiceServicesTokenListServer{stream}) -} - -type ProtocolService_ServicesTokenListServer interface { - Send(*ServicesTokenList_Reply) error - grpc.ServerStream -} - -type protocolServiceServicesTokenListServer struct { - grpc.ServerStream -} - -func (x *protocolServiceServicesTokenListServer) Send(m *ServicesTokenList_Reply) error { - return x.ServerStream.SendMsg(m) -} - func _ProtocolService_ReplicationServiceRegisterGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ReplicationServiceRegisterGroup_Request) if err := dec(in); err != nil { @@ -1908,22 +1744,10 @@ var ProtocolService_ServiceDesc = grpc.ServiceDesc{ MethodName: "DebugGroup", Handler: _ProtocolService_DebugGroup_Handler, }, - { - MethodName: "DebugAuthServiceSetToken", - Handler: _ProtocolService_DebugAuthServiceSetToken_Handler, - }, { MethodName: "SystemInfo", Handler: _ProtocolService_SystemInfo_Handler, }, - { - MethodName: "AuthServiceInitFlow", - Handler: _ProtocolService_AuthServiceInitFlow_Handler, - }, - { - MethodName: "AuthServiceCompleteFlow", - Handler: _ProtocolService_AuthServiceCompleteFlow_Handler, - }, { MethodName: "CredentialVerificationServiceInitFlow", Handler: _ProtocolService_CredentialVerificationServiceInitFlow_Handler, @@ -1989,11 +1813,6 @@ var ProtocolService_ServiceDesc = grpc.ServiceDesc{ Handler: _ProtocolService_VerifiedCredentialsList_Handler, ServerStreams: true, }, - { - StreamName: "ServicesTokenList", - Handler: _ProtocolService_ServicesTokenList_Handler, - ServerStreams: true, - }, }, Metadata: "protocoltypes.proto", } diff --git a/service.go b/service.go index 0307b563..0b98a2f2 100644 --- a/service.go +++ b/service.go @@ -7,7 +7,6 @@ import ( mrand "math/rand" "path/filepath" "sync" - "sync/atomic" "time" "unsafe" @@ -65,7 +64,6 @@ type service struct { accountGroupCtx *GroupContext openedGroups map[string]*GroupContext lock sync.RWMutex - authSession atomic.Value close func() error startedAt time.Time host host.Host diff --git a/services_auth_test.go b/services_auth_test.go deleted file mode 100644 index e55a257b..00000000 --- a/services_auth_test.go +++ /dev/null @@ -1,61 +0,0 @@ -package weshnet - -import ( - "net/url" - "testing" - - "github.com/stretchr/testify/require" - - "berty.tech/weshnet/pkg/authtypes" - "berty.tech/weshnet/pkg/bertyauth" -) - -func TestServiceAuthServiceInitFlow(t *testing.T) { - s := service{} - - untypedAS := s.authSession.Load() - require.Nil(t, untypedAS) - - redirectURL, err := s.authInitURL("") - require.Error(t, err) - require.Empty(t, redirectURL) - - redirectURL, err = s.authInitURL("rubbish://") - require.Error(t, err) - require.Empty(t, redirectURL) - - redirectURL, err = s.authInitURL("http://") - require.Error(t, err) - require.Empty(t, redirectURL) - - redirectURL, err = s.authInitURL("http://localhost") - require.NoError(t, err) - require.NotEmpty(t, redirectURL) - - redirectURL, err = s.authInitURL("https://localhost/") - require.NoError(t, err) - require.NotEmpty(t, redirectURL) - - untypedAS = s.authSession.Load() - require.Equal(t, "https://localhost", untypedAS.(*bertyauth.AuthSession).BaseURL) - codeVerifier := untypedAS.(*bertyauth.AuthSession).CodeVerifier - state := untypedAS.(*bertyauth.AuthSession).State - - parsedURL, err := url.Parse(redirectURL) - require.NoError(t, err) - require.Equal(t, authtypes.AuthHTTPPathAuthorize, parsedURL.EscapedPath()) - require.Equal(t, authtypes.AuthResponseType, parsedURL.Query().Get("response_type")) - require.Equal(t, authtypes.AuthClientID, parsedURL.Query().Get("client_id")) - require.Equal(t, authtypes.AuthRedirect, parsedURL.Query().Get("redirect_uri")) - require.Equal(t, state, parsedURL.Query().Get("state")) - require.Equal(t, bertyauth.AuthSessionCodeChallenge(codeVerifier), parsedURL.Query().Get("code_challenge")) - require.Equal(t, authtypes.AuthCodeChallengeMethod, parsedURL.Query().Get("code_challenge_method")) - - redirectURL2, err := s.authInitURL("http://localhost/") - require.NoError(t, err) - require.NotEmpty(t, redirectURL2) - require.NotEqual(t, redirectURL, redirectURL2) - - require.NotEqual(t, state, s.authSession.Load().(*bertyauth.AuthSession).State) - require.NotEqual(t, codeVerifier, s.authSession.Load().(*bertyauth.AuthSession).CodeVerifier) -} diff --git a/store_metadata.go b/store_metadata.go index 172d998b..8d15337c 100644 --- a/store_metadata.go +++ b/store_metadata.go @@ -773,44 +773,6 @@ func (m *MetadataStore) SendAppMetadata(ctx context.Context, message []byte) (op }, protocoltypes.EventTypeGroupMetadataPayloadSent) } -func (m *MetadataStore) SendAccountServiceTokenAdded(ctx context.Context, token *protocoltypes.ServiceToken) (operation.Operation, error) { - if !m.typeChecker(isAccountGroup) { - return nil, errcode.ErrGroupInvalidType - } - - m.Index().(*metadataStoreIndex).lock.RLock() - _, ok := m.Index().(*metadataStoreIndex).serviceTokens[token.TokenID()] - m.Index().(*metadataStoreIndex).lock.RUnlock() - - if ok { - return nil, errcode.ErrInvalidInput.Wrap(fmt.Errorf("token has already been registered")) - } - - return m.attributeSignAndAddEvent(ctx, &protocoltypes.AccountServiceTokenAdded{ - ServiceToken: token, - }, protocoltypes.EventTypeAccountServiceTokenAdded) -} - -func (m *MetadataStore) SendAccountServiceTokenRemoved(ctx context.Context, tokenID string) (operation.Operation, error) { - if !m.typeChecker(isAccountGroup) { - return nil, errcode.ErrGroupInvalidType - } - - m.Index().(*metadataStoreIndex).lock.RLock() - val, ok := m.Index().(*metadataStoreIndex).serviceTokens[tokenID] - m.Index().(*metadataStoreIndex).lock.RUnlock() - - if !ok { - return nil, errcode.ErrInvalidInput.Wrap(fmt.Errorf("token not registered")) - } else if val == nil { - return nil, errcode.ErrInvalidInput.Wrap(fmt.Errorf("token already removed")) - } - - return m.attributeSignAndAddEvent(ctx, &protocoltypes.AccountServiceTokenRemoved{ - TokenID: tokenID, - }, protocoltypes.EventTypeAccountServiceTokenRemoved) -} - func (m *MetadataStore) SendAccountVerifiedCredentialAdded(ctx context.Context, token *protocoltypes.AccountVerifiedCredentialRegistered) (operation.Operation, error) { if !m.typeChecker(isAccountGroup) { return nil, errcode.ErrGroupInvalidType @@ -819,10 +781,10 @@ func (m *MetadataStore) SendAccountVerifiedCredentialAdded(ctx context.Context, return m.attributeSignAndAddEvent(ctx, token, protocoltypes.EventTypeAccountVerifiedCredentialRegistered) } -func (m *MetadataStore) SendGroupReplicating(ctx context.Context, t *protocoltypes.ServiceToken, endpoint string) (operation.Operation, error) { +func (m *MetadataStore) SendGroupReplicating(ctx context.Context, authenticationURL, replicationServer string) (operation.Operation, error) { return m.attributeSignAndAddEvent(ctx, &protocoltypes.GroupReplicating{ - AuthenticationURL: t.AuthenticationURL, - ReplicationServer: endpoint, + AuthenticationURL: authenticationURL, + ReplicationServer: replicationServer, }, protocoltypes.EventTypeGroupReplicating) } @@ -924,22 +886,6 @@ func (m *MetadataStore) checkContactStatus(pk crypto.PubKey, states ...protocolt return false } -func (m *MetadataStore) listServiceTokens() []*protocoltypes.ServiceToken { - return m.Index().(*metadataStoreIndex).listServiceTokens() -} - -func (m *MetadataStore) getServiceToken(tokenID string) (*protocoltypes.ServiceToken, error) { - m.Index().(*metadataStoreIndex).lock.RLock() - defer m.Index().(*metadataStoreIndex).lock.RUnlock() - - token, ok := m.Index().(*metadataStoreIndex).serviceTokens[tokenID] - if !ok { - return nil, errcode.ErrServicesAuthUnknownToken - } - - return token, nil -} - type EventMetadataReceived struct { MetaEvent *protocoltypes.GroupMetadataEvent Event proto.Message diff --git a/store_metadata_index.go b/store_metadata_index.go index 51f74e4d..5cf79237 100644 --- a/store_metadata_index.go +++ b/store_metadata_index.go @@ -27,7 +27,6 @@ type metadataStoreIndex struct { contacts map[string]*AccountContact contactsFromGroupPK map[string]*AccountContact groups map[string]*accountGroup - serviceTokens map[string]*protocoltypes.ServiceToken contactRequestMetadata map[string][]byte verifiedCredentials []*protocoltypes.AccountVerifiedCredentialRegistered contactRequestSeed []byte @@ -67,7 +66,6 @@ func (m *metadataStoreIndex) UpdateIndex(log ipfslog.Log, _ []ipfslog.Entry) err m.contacts = map[string]*AccountContact{} m.contactsFromGroupPK = map[string]*AccountContact{} m.groups = map[string]*accountGroup{} - m.serviceTokens = map[string]*protocoltypes.ServiceToken{} m.contactRequestMetadata = map[string][]byte{} m.contactRequestEnabled = nil m.contactRequestSeed = []byte(nil) @@ -623,49 +621,6 @@ func (m *metadataStoreIndex) handleContactAliasKeyAdded(event proto.Message) err return nil } -func (m *metadataStoreIndex) listServiceTokens() []*protocoltypes.ServiceToken { - m.lock.RLock() - defer m.lock.RUnlock() - - ret := []*protocoltypes.ServiceToken(nil) - - for _, t := range m.serviceTokens { - if t == nil { - continue - } - - ret = append(ret, t) - } - - return ret -} - -func (m *metadataStoreIndex) handleAccountServiceTokenAdded(event proto.Message) error { - evt, ok := event.(*protocoltypes.AccountServiceTokenAdded) - if !ok { - return errcode.ErrInvalidInput - } - - if _, ok := m.serviceTokens[evt.ServiceToken.TokenID()]; ok { - return nil - } - - m.serviceTokens[evt.ServiceToken.TokenID()] = evt.ServiceToken - - return nil -} - -func (m *metadataStoreIndex) handleAccountServiceTokenRemoved(event proto.Message) error { - evt, ok := event.(*protocoltypes.AccountServiceTokenRemoved) - if !ok { - return errcode.ErrInvalidInput - } - - m.serviceTokens[evt.TokenID] = nil - - return nil -} - func (m *metadataStoreIndex) handleMultiMemberInitialMember(event proto.Message) error { e, ok := event.(*protocoltypes.MultiMemberGroupInitialMemberAnnounced) if !ok { @@ -818,7 +773,6 @@ func newMetadataIndex(ctx context.Context, g *protocoltypes.Group, md secretstor contacts: map[string]*AccountContact{}, contactsFromGroupPK: map[string]*AccountContact{}, groups: map[string]*accountGroup{}, - serviceTokens: map[string]*protocoltypes.ServiceToken{}, contactRequestMetadata: map[string][]byte{}, group: g, ownMemberDevice: md, @@ -845,8 +799,6 @@ func newMetadataIndex(ctx context.Context, g *protocoltypes.Group, md secretstor protocoltypes.EventTypeGroupMemberDeviceAdded: {m.handleGroupMemberDeviceAdded}, protocoltypes.EventTypeMultiMemberGroupAdminRoleGranted: {m.handleMultiMemberGrantAdminRole}, protocoltypes.EventTypeMultiMemberGroupInitialMemberAnnounced: {m.handleMultiMemberInitialMember}, - protocoltypes.EventTypeAccountServiceTokenAdded: {m.handleAccountServiceTokenAdded}, - protocoltypes.EventTypeAccountServiceTokenRemoved: {m.handleAccountServiceTokenRemoved}, protocoltypes.EventTypeGroupMetadataPayloadSent: {m.handleGroupMetadataPayloadSent}, protocoltypes.EventTypeAccountVerifiedCredentialRegistered: {m.handleAccountVerifiedCredentialRegistered}, }