diff --git a/api/client/client.go b/api/client/client.go index a9b8c665de599..297e8bb9ed273 100644 --- a/api/client/client.go +++ b/api/client/client.go @@ -77,6 +77,7 @@ import ( discoveryconfigv1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/discoveryconfig/v1" dynamicwindowsv1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/dynamicwindows/v1" externalauditstoragev1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/externalauditstorage/v1" + gitserverv1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/gitserver/v1" identitycenterv1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/identitycenter/v1" integrationpb "github.com/gravitational/teleport/api/gen/proto/go/teleport/integration/v1" kubeproto "github.com/gravitational/teleport/api/gen/proto/go/teleport/kube/v1" @@ -4874,6 +4875,11 @@ func (c *Client) UserTasksServiceClient() *usertaskapi.Client { return usertaskapi.NewClient(usertaskv1.NewUserTaskServiceClient(c.conn)) } +// GitServerClient returns a client for managing git servers +func (c *Client) GitServerClient() gitserverv1.GitServerServiceClient { + return gitserverv1.NewGitServerServiceClient(c.conn) +} + // GetCertAuthority retrieves a CA by type and domain. func (c *Client) GetCertAuthority(ctx context.Context, id types.CertAuthID, loadKeys bool) (types.CertAuthority, error) { ca, err := c.TrustClient().GetCertAuthority(ctx, &trustpb.GetCertAuthorityRequest{ diff --git a/api/gen/proto/go/teleport/gitserver/v1/git_server_service.pb.go b/api/gen/proto/go/teleport/gitserver/v1/git_server_service.pb.go new file mode 100644 index 0000000000000..2752f92890be8 --- /dev/null +++ b/api/gen/proto/go/teleport/gitserver/v1/git_server_service.pb.go @@ -0,0 +1,543 @@ +// Copyright 2024 Gravitational, Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.1 +// protoc (unknown) +// source: teleport/gitserver/v1/git_server_service.proto + +package gitserverv1 + +import ( + types "github.com/gravitational/teleport/api/types" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// CreateGitServerRequest is a request to create a Git server. +type CreateGitServerRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Server is the Git server to create. + Server *types.ServerV2 `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"` +} + +func (x *CreateGitServerRequest) Reset() { + *x = CreateGitServerRequest{} + mi := &file_teleport_gitserver_v1_git_server_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateGitServerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateGitServerRequest) ProtoMessage() {} + +func (x *CreateGitServerRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_gitserver_v1_git_server_service_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateGitServerRequest.ProtoReflect.Descriptor instead. +func (*CreateGitServerRequest) Descriptor() ([]byte, []int) { + return file_teleport_gitserver_v1_git_server_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateGitServerRequest) GetServer() *types.ServerV2 { + if x != nil { + return x.Server + } + return nil +} + +// GetGitServerRequest is a request to get a Git server. +type GetGitServerRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name is the uuid of the server. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetGitServerRequest) Reset() { + *x = GetGitServerRequest{} + mi := &file_teleport_gitserver_v1_git_server_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetGitServerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetGitServerRequest) ProtoMessage() {} + +func (x *GetGitServerRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_gitserver_v1_git_server_service_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetGitServerRequest.ProtoReflect.Descriptor instead. +func (*GetGitServerRequest) Descriptor() ([]byte, []int) { + return file_teleport_gitserver_v1_git_server_service_proto_rawDescGZIP(), []int{1} +} + +func (x *GetGitServerRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// ListGitServersRequest is the request to list Git servers. +type ListGitServersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The maximum number of items to return. + // The server may impose a different page size at its discretion. + PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The page_token is the next_page_token value returned from a previous List request, if any. + PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListGitServersRequest) Reset() { + *x = ListGitServersRequest{} + mi := &file_teleport_gitserver_v1_git_server_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListGitServersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListGitServersRequest) ProtoMessage() {} + +func (x *ListGitServersRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_gitserver_v1_git_server_service_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListGitServersRequest.ProtoReflect.Descriptor instead. +func (*ListGitServersRequest) Descriptor() ([]byte, []int) { + return file_teleport_gitserver_v1_git_server_service_proto_rawDescGZIP(), []int{2} +} + +func (x *ListGitServersRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListGitServersRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// ListGitServersResponse is the response to ListGitServers. +type ListGitServersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The page of Git servers that matched the request. + Servers []*types.ServerV2 `protobuf:"bytes,1,rep,name=servers,proto3" json:"servers,omitempty"` + // Token to retrieve the next page of results, or empty if there are no + // more results in the list. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListGitServersResponse) Reset() { + *x = ListGitServersResponse{} + mi := &file_teleport_gitserver_v1_git_server_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListGitServersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListGitServersResponse) ProtoMessage() {} + +func (x *ListGitServersResponse) ProtoReflect() protoreflect.Message { + mi := &file_teleport_gitserver_v1_git_server_service_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListGitServersResponse.ProtoReflect.Descriptor instead. +func (*ListGitServersResponse) Descriptor() ([]byte, []int) { + return file_teleport_gitserver_v1_git_server_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListGitServersResponse) GetServers() []*types.ServerV2 { + if x != nil { + return x.Servers + } + return nil +} + +func (x *ListGitServersResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// UpdateGitServerRequest is the request to update a Git server. +type UpdateGitServerRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Server is the Git server to update. + Server *types.ServerV2 `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"` +} + +func (x *UpdateGitServerRequest) Reset() { + *x = UpdateGitServerRequest{} + mi := &file_teleport_gitserver_v1_git_server_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateGitServerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateGitServerRequest) ProtoMessage() {} + +func (x *UpdateGitServerRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_gitserver_v1_git_server_service_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateGitServerRequest.ProtoReflect.Descriptor instead. +func (*UpdateGitServerRequest) Descriptor() ([]byte, []int) { + return file_teleport_gitserver_v1_git_server_service_proto_rawDescGZIP(), []int{4} +} + +func (x *UpdateGitServerRequest) GetServer() *types.ServerV2 { + if x != nil { + return x.Server + } + return nil +} + +// UpsertGitServerRequest is the request to upsert a Git server. +type UpsertGitServerRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Server is the Git server to upsert. + Server *types.ServerV2 `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"` +} + +func (x *UpsertGitServerRequest) Reset() { + *x = UpsertGitServerRequest{} + mi := &file_teleport_gitserver_v1_git_server_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpsertGitServerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpsertGitServerRequest) ProtoMessage() {} + +func (x *UpsertGitServerRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_gitserver_v1_git_server_service_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpsertGitServerRequest.ProtoReflect.Descriptor instead. +func (*UpsertGitServerRequest) Descriptor() ([]byte, []int) { + return file_teleport_gitserver_v1_git_server_service_proto_rawDescGZIP(), []int{5} +} + +func (x *UpsertGitServerRequest) GetServer() *types.ServerV2 { + if x != nil { + return x.Server + } + return nil +} + +// DeleteGitServerRequest is the request to delete a Git server. +type DeleteGitServerRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name is the uuid of the server. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteGitServerRequest) Reset() { + *x = DeleteGitServerRequest{} + mi := &file_teleport_gitserver_v1_git_server_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteGitServerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteGitServerRequest) ProtoMessage() {} + +func (x *DeleteGitServerRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_gitserver_v1_git_server_service_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteGitServerRequest.ProtoReflect.Descriptor instead. +func (*DeleteGitServerRequest) Descriptor() ([]byte, []int) { + return file_teleport_gitserver_v1_git_server_service_proto_rawDescGZIP(), []int{6} +} + +func (x *DeleteGitServerRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +var File_teleport_gitserver_v1_git_server_service_proto protoreflect.FileDescriptor + +var file_teleport_gitserver_v1_git_server_service_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x67, 0x69, 0x74, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x15, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x6c, + 0x65, 0x67, 0x61, 0x63, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x47, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x27, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x56, 0x32, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x29, 0x0a, 0x13, 0x47, 0x65, + 0x74, 0x47, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x53, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x69, 0x74, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, + 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6b, 0x0a, 0x16, 0x4c, 0x69, + 0x73, 0x74, 0x47, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x56, 0x32, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, + 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x41, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x47, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x27, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x56, 0x32, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x41, 0x0a, 0x16, 0x55, 0x70, + 0x73, 0x65, 0x72, 0x74, 0x47, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x56, 0x32, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x2c, 0x0a, + 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x32, 0xa1, 0x04, 0x0a, 0x10, + 0x47, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x51, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x69, 0x74, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x67, + 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x47, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x56, 0x32, 0x12, 0x4b, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x67, + 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, + 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x0f, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x32, + 0x12, 0x6d, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x67, 0x69, + 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, + 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2d, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x67, 0x69, 0x74, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x69, 0x74, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x51, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x67, 0x69, + 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x47, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x0f, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x56, 0x32, 0x12, 0x51, 0x0a, 0x0f, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x47, 0x69, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x73, 0x65, 0x72, 0x74, 0x47, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x56, 0x32, 0x12, 0x58, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, + 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, + 0x56, 0x5a, 0x54, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, + 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x67, + 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x69, 0x74, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_teleport_gitserver_v1_git_server_service_proto_rawDescOnce sync.Once + file_teleport_gitserver_v1_git_server_service_proto_rawDescData = file_teleport_gitserver_v1_git_server_service_proto_rawDesc +) + +func file_teleport_gitserver_v1_git_server_service_proto_rawDescGZIP() []byte { + file_teleport_gitserver_v1_git_server_service_proto_rawDescOnce.Do(func() { + file_teleport_gitserver_v1_git_server_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_teleport_gitserver_v1_git_server_service_proto_rawDescData) + }) + return file_teleport_gitserver_v1_git_server_service_proto_rawDescData +} + +var file_teleport_gitserver_v1_git_server_service_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_teleport_gitserver_v1_git_server_service_proto_goTypes = []any{ + (*CreateGitServerRequest)(nil), // 0: teleport.gitserver.v1.CreateGitServerRequest + (*GetGitServerRequest)(nil), // 1: teleport.gitserver.v1.GetGitServerRequest + (*ListGitServersRequest)(nil), // 2: teleport.gitserver.v1.ListGitServersRequest + (*ListGitServersResponse)(nil), // 3: teleport.gitserver.v1.ListGitServersResponse + (*UpdateGitServerRequest)(nil), // 4: teleport.gitserver.v1.UpdateGitServerRequest + (*UpsertGitServerRequest)(nil), // 5: teleport.gitserver.v1.UpsertGitServerRequest + (*DeleteGitServerRequest)(nil), // 6: teleport.gitserver.v1.DeleteGitServerRequest + (*types.ServerV2)(nil), // 7: types.ServerV2 + (*emptypb.Empty)(nil), // 8: google.protobuf.Empty +} +var file_teleport_gitserver_v1_git_server_service_proto_depIdxs = []int32{ + 7, // 0: teleport.gitserver.v1.CreateGitServerRequest.server:type_name -> types.ServerV2 + 7, // 1: teleport.gitserver.v1.ListGitServersResponse.servers:type_name -> types.ServerV2 + 7, // 2: teleport.gitserver.v1.UpdateGitServerRequest.server:type_name -> types.ServerV2 + 7, // 3: teleport.gitserver.v1.UpsertGitServerRequest.server:type_name -> types.ServerV2 + 0, // 4: teleport.gitserver.v1.GitServerService.CreateGitServer:input_type -> teleport.gitserver.v1.CreateGitServerRequest + 1, // 5: teleport.gitserver.v1.GitServerService.GetGitServer:input_type -> teleport.gitserver.v1.GetGitServerRequest + 2, // 6: teleport.gitserver.v1.GitServerService.ListGitServers:input_type -> teleport.gitserver.v1.ListGitServersRequest + 4, // 7: teleport.gitserver.v1.GitServerService.UpdateGitServer:input_type -> teleport.gitserver.v1.UpdateGitServerRequest + 5, // 8: teleport.gitserver.v1.GitServerService.UpsertGitServer:input_type -> teleport.gitserver.v1.UpsertGitServerRequest + 6, // 9: teleport.gitserver.v1.GitServerService.DeleteGitServer:input_type -> teleport.gitserver.v1.DeleteGitServerRequest + 7, // 10: teleport.gitserver.v1.GitServerService.CreateGitServer:output_type -> types.ServerV2 + 7, // 11: teleport.gitserver.v1.GitServerService.GetGitServer:output_type -> types.ServerV2 + 3, // 12: teleport.gitserver.v1.GitServerService.ListGitServers:output_type -> teleport.gitserver.v1.ListGitServersResponse + 7, // 13: teleport.gitserver.v1.GitServerService.UpdateGitServer:output_type -> types.ServerV2 + 7, // 14: teleport.gitserver.v1.GitServerService.UpsertGitServer:output_type -> types.ServerV2 + 8, // 15: teleport.gitserver.v1.GitServerService.DeleteGitServer:output_type -> google.protobuf.Empty + 10, // [10:16] is the sub-list for method output_type + 4, // [4:10] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_teleport_gitserver_v1_git_server_service_proto_init() } +func file_teleport_gitserver_v1_git_server_service_proto_init() { + if File_teleport_gitserver_v1_git_server_service_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_teleport_gitserver_v1_git_server_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_teleport_gitserver_v1_git_server_service_proto_goTypes, + DependencyIndexes: file_teleport_gitserver_v1_git_server_service_proto_depIdxs, + MessageInfos: file_teleport_gitserver_v1_git_server_service_proto_msgTypes, + }.Build() + File_teleport_gitserver_v1_git_server_service_proto = out.File + file_teleport_gitserver_v1_git_server_service_proto_rawDesc = nil + file_teleport_gitserver_v1_git_server_service_proto_goTypes = nil + file_teleport_gitserver_v1_git_server_service_proto_depIdxs = nil +} diff --git a/api/gen/proto/go/teleport/gitserver/v1/git_server_service_grpc.pb.go b/api/gen/proto/go/teleport/gitserver/v1/git_server_service_grpc.pb.go new file mode 100644 index 0000000000000..09a431d2d842a --- /dev/null +++ b/api/gen/proto/go/teleport/gitserver/v1/git_server_service_grpc.pb.go @@ -0,0 +1,343 @@ +// Copyright 2024 Gravitational, Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.5.1 +// - protoc (unknown) +// source: teleport/gitserver/v1/git_server_service.proto + +package gitserverv1 + +import ( + context "context" + types "github.com/gravitational/teleport/api/types" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + GitServerService_CreateGitServer_FullMethodName = "/teleport.gitserver.v1.GitServerService/CreateGitServer" + GitServerService_GetGitServer_FullMethodName = "/teleport.gitserver.v1.GitServerService/GetGitServer" + GitServerService_ListGitServers_FullMethodName = "/teleport.gitserver.v1.GitServerService/ListGitServers" + GitServerService_UpdateGitServer_FullMethodName = "/teleport.gitserver.v1.GitServerService/UpdateGitServer" + GitServerService_UpsertGitServer_FullMethodName = "/teleport.gitserver.v1.GitServerService/UpsertGitServer" + GitServerService_DeleteGitServer_FullMethodName = "/teleport.gitserver.v1.GitServerService/DeleteGitServer" +) + +// GitServerServiceClient is the client API for GitServerService 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. +// +// GitServerService provides methods to manage Git server. +type GitServerServiceClient interface { + // CreateGitServer is used to create a Git server object. + CreateGitServer(ctx context.Context, in *CreateGitServerRequest, opts ...grpc.CallOption) (*types.ServerV2, error) + // GetGitServer is used to retrieve a Git server object. + GetGitServer(ctx context.Context, in *GetGitServerRequest, opts ...grpc.CallOption) (*types.ServerV2, error) + // ListGitServers is used to query Git servers. + ListGitServers(ctx context.Context, in *ListGitServersRequest, opts ...grpc.CallOption) (*ListGitServersResponse, error) + // UpdateGitServer is used to update a Git server object. + UpdateGitServer(ctx context.Context, in *UpdateGitServerRequest, opts ...grpc.CallOption) (*types.ServerV2, error) + // UpsertGitServer is used to create or replace a Git server object. + UpsertGitServer(ctx context.Context, in *UpsertGitServerRequest, opts ...grpc.CallOption) (*types.ServerV2, error) + // DeleteGitServer is used to delete a Git server object. + DeleteGitServer(ctx context.Context, in *DeleteGitServerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) +} + +type gitServerServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewGitServerServiceClient(cc grpc.ClientConnInterface) GitServerServiceClient { + return &gitServerServiceClient{cc} +} + +func (c *gitServerServiceClient) CreateGitServer(ctx context.Context, in *CreateGitServerRequest, opts ...grpc.CallOption) (*types.ServerV2, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(types.ServerV2) + err := c.cc.Invoke(ctx, GitServerService_CreateGitServer_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gitServerServiceClient) GetGitServer(ctx context.Context, in *GetGitServerRequest, opts ...grpc.CallOption) (*types.ServerV2, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(types.ServerV2) + err := c.cc.Invoke(ctx, GitServerService_GetGitServer_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gitServerServiceClient) ListGitServers(ctx context.Context, in *ListGitServersRequest, opts ...grpc.CallOption) (*ListGitServersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListGitServersResponse) + err := c.cc.Invoke(ctx, GitServerService_ListGitServers_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gitServerServiceClient) UpdateGitServer(ctx context.Context, in *UpdateGitServerRequest, opts ...grpc.CallOption) (*types.ServerV2, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(types.ServerV2) + err := c.cc.Invoke(ctx, GitServerService_UpdateGitServer_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gitServerServiceClient) UpsertGitServer(ctx context.Context, in *UpsertGitServerRequest, opts ...grpc.CallOption) (*types.ServerV2, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(types.ServerV2) + err := c.cc.Invoke(ctx, GitServerService_UpsertGitServer_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gitServerServiceClient) DeleteGitServer(ctx context.Context, in *DeleteGitServerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, GitServerService_DeleteGitServer_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// GitServerServiceServer is the server API for GitServerService service. +// All implementations must embed UnimplementedGitServerServiceServer +// for forward compatibility. +// +// GitServerService provides methods to manage Git server. +type GitServerServiceServer interface { + // CreateGitServer is used to create a Git server object. + CreateGitServer(context.Context, *CreateGitServerRequest) (*types.ServerV2, error) + // GetGitServer is used to retrieve a Git server object. + GetGitServer(context.Context, *GetGitServerRequest) (*types.ServerV2, error) + // ListGitServers is used to query Git servers. + ListGitServers(context.Context, *ListGitServersRequest) (*ListGitServersResponse, error) + // UpdateGitServer is used to update a Git server object. + UpdateGitServer(context.Context, *UpdateGitServerRequest) (*types.ServerV2, error) + // UpsertGitServer is used to create or replace a Git server object. + UpsertGitServer(context.Context, *UpsertGitServerRequest) (*types.ServerV2, error) + // DeleteGitServer is used to delete a Git server object. + DeleteGitServer(context.Context, *DeleteGitServerRequest) (*emptypb.Empty, error) + mustEmbedUnimplementedGitServerServiceServer() +} + +// UnimplementedGitServerServiceServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedGitServerServiceServer struct{} + +func (UnimplementedGitServerServiceServer) CreateGitServer(context.Context, *CreateGitServerRequest) (*types.ServerV2, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateGitServer not implemented") +} +func (UnimplementedGitServerServiceServer) GetGitServer(context.Context, *GetGitServerRequest) (*types.ServerV2, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetGitServer not implemented") +} +func (UnimplementedGitServerServiceServer) ListGitServers(context.Context, *ListGitServersRequest) (*ListGitServersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListGitServers not implemented") +} +func (UnimplementedGitServerServiceServer) UpdateGitServer(context.Context, *UpdateGitServerRequest) (*types.ServerV2, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateGitServer not implemented") +} +func (UnimplementedGitServerServiceServer) UpsertGitServer(context.Context, *UpsertGitServerRequest) (*types.ServerV2, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpsertGitServer not implemented") +} +func (UnimplementedGitServerServiceServer) DeleteGitServer(context.Context, *DeleteGitServerRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteGitServer not implemented") +} +func (UnimplementedGitServerServiceServer) mustEmbedUnimplementedGitServerServiceServer() {} +func (UnimplementedGitServerServiceServer) testEmbeddedByValue() {} + +// UnsafeGitServerServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to GitServerServiceServer will +// result in compilation errors. +type UnsafeGitServerServiceServer interface { + mustEmbedUnimplementedGitServerServiceServer() +} + +func RegisterGitServerServiceServer(s grpc.ServiceRegistrar, srv GitServerServiceServer) { + // If the following call pancis, it indicates UnimplementedGitServerServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&GitServerService_ServiceDesc, srv) +} + +func _GitServerService_CreateGitServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateGitServerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GitServerServiceServer).CreateGitServer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GitServerService_CreateGitServer_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GitServerServiceServer).CreateGitServer(ctx, req.(*CreateGitServerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GitServerService_GetGitServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetGitServerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GitServerServiceServer).GetGitServer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GitServerService_GetGitServer_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GitServerServiceServer).GetGitServer(ctx, req.(*GetGitServerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GitServerService_ListGitServers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListGitServersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GitServerServiceServer).ListGitServers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GitServerService_ListGitServers_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GitServerServiceServer).ListGitServers(ctx, req.(*ListGitServersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GitServerService_UpdateGitServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateGitServerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GitServerServiceServer).UpdateGitServer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GitServerService_UpdateGitServer_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GitServerServiceServer).UpdateGitServer(ctx, req.(*UpdateGitServerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GitServerService_UpsertGitServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpsertGitServerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GitServerServiceServer).UpsertGitServer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GitServerService_UpsertGitServer_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GitServerServiceServer).UpsertGitServer(ctx, req.(*UpsertGitServerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GitServerService_DeleteGitServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteGitServerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GitServerServiceServer).DeleteGitServer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GitServerService_DeleteGitServer_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GitServerServiceServer).DeleteGitServer(ctx, req.(*DeleteGitServerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// GitServerService_ServiceDesc is the grpc.ServiceDesc for GitServerService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var GitServerService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "teleport.gitserver.v1.GitServerService", + HandlerType: (*GitServerServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateGitServer", + Handler: _GitServerService_CreateGitServer_Handler, + }, + { + MethodName: "GetGitServer", + Handler: _GitServerService_GetGitServer_Handler, + }, + { + MethodName: "ListGitServers", + Handler: _GitServerService_ListGitServers_Handler, + }, + { + MethodName: "UpdateGitServer", + Handler: _GitServerService_UpdateGitServer_Handler, + }, + { + MethodName: "UpsertGitServer", + Handler: _GitServerService_UpsertGitServer_Handler, + }, + { + MethodName: "DeleteGitServer", + Handler: _GitServerService_DeleteGitServer_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "teleport/gitserver/v1/git_server_service.proto", +} diff --git a/api/proto/teleport/gitserver/v1/git_server_service.proto b/api/proto/teleport/gitserver/v1/git_server_service.proto new file mode 100644 index 0000000000000..57966dd4494cc --- /dev/null +++ b/api/proto/teleport/gitserver/v1/git_server_service.proto @@ -0,0 +1,86 @@ +// Copyright 2024 Gravitational, Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package teleport.gitserver.v1; + +import "google/protobuf/empty.proto"; +import "teleport/legacy/types/types.proto"; + +option go_package = "github.com/gravitational/teleport/api/gen/proto/go/teleport/gitserver/v1;gitserverv1"; + +// GitServerService provides methods to manage Git server. +service GitServerService { + // CreateGitServer is used to create a Git server object. + rpc CreateGitServer(CreateGitServerRequest) returns (types.ServerV2); + // GetGitServer is used to retrieve a Git server object. + rpc GetGitServer(GetGitServerRequest) returns (types.ServerV2); + // ListGitServers is used to query Git servers. + rpc ListGitServers(ListGitServersRequest) returns (ListGitServersResponse); + // UpdateGitServer is used to update a Git server object. + rpc UpdateGitServer(UpdateGitServerRequest) returns (types.ServerV2); + // UpsertGitServer is used to create or replace a Git server object. + rpc UpsertGitServer(UpsertGitServerRequest) returns (types.ServerV2); + // DeleteGitServer is used to delete a Git server object. + rpc DeleteGitServer(DeleteGitServerRequest) returns (google.protobuf.Empty); +} + +// CreateGitServerRequest is a request to create a Git server. +message CreateGitServerRequest { + // Server is the Git server to create. + types.ServerV2 server = 1; +} + +// GetGitServerRequest is a request to get a Git server. +message GetGitServerRequest { + // Name is the uuid of the server. + string name = 1; +} + +// ListGitServersRequest is the request to list Git servers. +message ListGitServersRequest { + // The maximum number of items to return. + // The server may impose a different page size at its discretion. + int32 page_size = 1; + // The page_token is the next_page_token value returned from a previous List request, if any. + string page_token = 2; +} + +// ListGitServersResponse is the response to ListGitServers. +message ListGitServersResponse { + // The page of Git servers that matched the request. + repeated types.ServerV2 servers = 1; + // Token to retrieve the next page of results, or empty if there are no + // more results in the list. + string next_page_token = 2; +} + +// UpdateGitServerRequest is the request to update a Git server. +message UpdateGitServerRequest { + // Server is the Git server to update. + types.ServerV2 server = 1; +} + +// UpsertGitServerRequest is the request to upsert a Git server. +message UpsertGitServerRequest { + // Server is the Git server to upsert. + types.ServerV2 server = 1; +} + +// DeleteGitServerRequest is the request to delete a Git server. +message DeleteGitServerRequest { + // Name is the uuid of the server. + string name = 1; +} diff --git a/api/proto/teleport/legacy/types/types.proto b/api/proto/teleport/legacy/types/types.proto index 722189134d1b4..1b549afd12a1c 100644 --- a/api/proto/teleport/legacy/types/types.proto +++ b/api/proto/teleport/legacy/types/types.proto @@ -842,6 +842,9 @@ message ServerSpecV2 { // CloudMetadata contains info about the cloud instance the server is running // on, if any. CloudMetadata CloudMetadata = 14 [(gogoproto.jsontag) = "cloud_metadata,omitempty"]; + // GitHub contains info about GitHub proxies where each server represents a + // GitHub organization. + GitHubServerMetadata git_hub = 15 [(gogoproto.jsontag) = "github,omitempty"]; reserved 8; reserved 10; @@ -875,6 +878,15 @@ message CloudMetadata { AWSInfo AWS = 1 [(gogoproto.jsontag) = "aws,omitempty"]; } +// GitHubServerMetadata contains info about GitHub proxies where each server +// represents a GitHub organization. +message GitHubServerMetadata { + // Organization specifies the name of the organization for the GitHub integration. + string organization = 1 [(gogoproto.jsontag) = "organization,omitempty"]; + // Integration is the integration that is associated with this Server. + string integration = 2 [(gogoproto.jsontag) = "integration,omitempty"]; +} + // AppServerV3 represents a single proxied web app. message AppServerV3 { option (gogoproto.goproto_stringer) = false; @@ -3372,6 +3384,12 @@ message RoleConditions { (gogoproto.nullable) = false, (gogoproto.jsontag) = "account_assignments,omitempty" ]; + + // GitHubPermissions defines GitHub integration related permissions. + repeated GitHubPermission git_hub_permissions = 43 [ + (gogoproto.nullable) = false, + (gogoproto.jsontag) = "github_permissions,omitempty" + ]; } // IdentityCenterAccountAssignment captures an AWS Identity Center account @@ -3381,6 +3399,11 @@ message IdentityCenterAccountAssignment { string Account = 2 [(gogoproto.jsontag) = "account,omitempty"]; } +// GitHubPermission defines GitHub integration related permissions. +message GitHubPermission { + repeated string organizations = 1 [(gogoproto.jsontag) = "orgs,omitempty"]; +} + // SPIFFERoleCondition sets out which SPIFFE identities this role is allowed or // denied to generate. The Path matcher is required, and is evaluated first. If, // the Path does not match then the other matcher fields are not evaluated. diff --git a/api/types/constants.go b/api/types/constants.go index 62125faa1bd7a..4940e67999bf9 100644 --- a/api/types/constants.go +++ b/api/types/constants.go @@ -593,6 +593,11 @@ const ( // pair that can be requested by a Teleport User. KindIdentityCenterAccountAssignment = "aws_ic_account_assignment" + // KindGitServer represents a Git server that can proxy git commands. + KindGitServer = "git_server" + // SubKindGitHub specifies the GitHub subkind of a Git server. + SubKindGitHub = "github" + // MetaNameAccessGraphSettings is the exact name of the singleton resource holding // access graph settings. MetaNameAccessGraphSettings = "access-graph-settings" @@ -1114,6 +1119,9 @@ const ( // EntraSAMAccountNameLabel is the label for user's on-premises sAMAccountName. EntraSAMAccountNameLabel = TeleportInternalLabelPrefix + "entra-sam-account-name" + + // GitHubOrgLabel is the label for GitHub organization. + GitHubOrgLabel = TeleportInternalLabelPrefix + "github-org" ) const ( @@ -1470,3 +1478,9 @@ const ( // a Datadog Application key. DatadogCredentialApplicationKey = "datadog-application-key" ) + +const ( + // GitHubOrgServerDomain is the sub domain used in the hostname of a + // types.Server to indicate the GitHub organization of a Git server. + GitHubOrgServerDomain = "github-org" +) diff --git a/api/types/role.go b/api/types/role.go index 1529a4c81cc20..6983047e51d47 100644 --- a/api/types/role.go +++ b/api/types/role.go @@ -279,6 +279,11 @@ type Role interface { GetSPIFFEConditions(rct RoleConditionType) []*SPIFFERoleCondition // SetSPIFFEConditions sets the allow or deny SPIFFERoleCondition. SetSPIFFEConditions(rct RoleConditionType, cond []*SPIFFERoleCondition) + + // GetGitHubPermissions returns the allow or deny GitHub-related permissions. + GetGitHubPermissions(RoleConditionType) []GitHubPermission + // SetGitHubPermissions sets the allow or deny GitHub-related permissions. + SetGitHubPermissions(RoleConditionType, []GitHubPermission) } // NewRole constructs new standard V7 role. @@ -958,6 +963,23 @@ func (r *RoleV6) SetSPIFFEConditions(rct RoleConditionType, cond []*SPIFFERoleCo } } +// GetGitHubPermissions returns the allow or deny GitHubPermission. +func (r *RoleV6) GetGitHubPermissions(rct RoleConditionType) []GitHubPermission { + if rct == Allow { + return r.Spec.Allow.GitHubPermissions + } + return r.Spec.Deny.GitHubPermissions +} + +// SetGitHubPermissions sets the allow or deny GitHubPermission. +func (r *RoleV6) SetGitHubPermissions(rct RoleConditionType, perms []GitHubPermission) { + if rct == Allow { + r.Spec.Allow.GitHubPermissions = perms + } else { + r.Spec.Deny.GitHubPermissions = perms + } +} + // GetPrivateKeyPolicy returns the private key policy enforced for this role. func (r *RoleV6) GetPrivateKeyPolicy() keys.PrivateKeyPolicy { switch r.Spec.Options.RequireMFAType { @@ -1922,6 +1944,8 @@ func (r *RoleV6) GetLabelMatchers(rct RoleConditionType, kind string) (LabelMatc return LabelMatchers{cond.WindowsDesktopLabels, cond.WindowsDesktopLabelsExpression}, nil case KindUserGroup: return LabelMatchers{cond.GroupLabels, cond.GroupLabelsExpression}, nil + case KindGitServer: + return r.makeGitServerLabelMatchers(cond), nil } return LabelMatchers{}, trace.BadParameter("can't get label matchers for resource kind %q", kind) } @@ -2025,6 +2049,18 @@ func (r *RoleV6) MatchSearch(values []string) bool { return MatchSearch(fieldVals, values, nil) } +func (r *RoleV6) makeGitServerLabelMatchers(cond *RoleConditions) LabelMatchers { + var all []string + for _, perm := range cond.GitHubPermissions { + all = append(all, perm.Organizations...) + } + return LabelMatchers{ + Labels: Labels{ + GitHubOrgLabel: all, + }, + } +} + // LabelMatcherKinds is the complete list of resource kinds that support label // matchers. var LabelMatcherKinds = []string{ diff --git a/api/types/role_test.go b/api/types/role_test.go index 09ac7c2072951..ed281fbabb404 100644 --- a/api/types/role_test.go +++ b/api/types/role_test.go @@ -811,3 +811,31 @@ func TestRoleFilterMatch(t *testing.T) { }) } } + +func TestRoleGitHubPermissions(t *testing.T) { + role, err := NewRole("github-my-org", RoleSpecV6{ + Allow: RoleConditions{ + GitHubPermissions: []GitHubPermission{{ + Organizations: []string{"my-org"}, + }}, + }, + Deny: RoleConditions{ + GitHubPermissions: []GitHubPermission{{ + Organizations: []string{"jedi", "night-watch"}, + }}, + }, + }) + require.NoError(t, err) + + allowMatchers, err := role.GetLabelMatchers(Allow, KindGitServer) + require.NoError(t, err) + require.Equal(t, LabelMatchers{Labels: Labels{ + GitHubOrgLabel: []string{"my-org"}, + }}, allowMatchers) + + denyMatchers, err := role.GetLabelMatchers(Deny, KindGitServer) + require.NoError(t, err) + require.Equal(t, LabelMatchers{Labels: Labels{ + GitHubOrgLabel: []string{"jedi", "night-watch"}, + }}, denyMatchers) +} diff --git a/api/types/server.go b/api/types/server.go index 47ec7c92ee1d0..6adc0516ad4f4 100644 --- a/api/types/server.go +++ b/api/types/server.go @@ -101,6 +101,9 @@ type Server interface { GetAWSInstanceID() string // GetAWSAccountID returns the AWS Account ID if this node comes from an EC2 instance. GetAWSAccountID() string + + // GetGitHub returns the GitHub server spec. + GetGitHub() *GitHubServerMetadata } // NewServer creates an instance of Server. @@ -158,6 +161,21 @@ func NewEICENode(spec ServerSpecV2, labels map[string]string) (Server, error) { return server, nil } +// NewGitHubServer creates a new Git server for GitHub. +func NewGitHubServer(githubSpec GitHubServerMetadata) (Server, error) { + server := &ServerV2{ + Kind: KindGitServer, + SubKind: SubKindGitHub, + Spec: ServerSpecV2{ + GitHub: &githubSpec, + }, + } + if err := server.CheckAndSetDefaults(); err != nil { + return nil, trace.Wrap(err) + } + return server, nil +} + // GetVersion returns resource version func (s *ServerV2) GetVersion() string { return s.Version @@ -439,6 +457,11 @@ func (s *ServerV2) IsEICE() bool { return s.GetAWSAccountID() != "" && s.GetAWSInstanceID() != "" } +// GetGitHub returns the GitHub server spec. +func (s *ServerV2) GetGitHub() *GitHubServerMetadata { + return s.Spec.GitHub +} + // openSSHNodeCheckAndSetDefaults are common validations for OpenSSH nodes. // They include SubKindOpenSSHNode and SubKindOpenSSHEICENode. func (s *ServerV2) openSSHNodeCheckAndSetDefaults() error { @@ -529,6 +552,8 @@ func (s *ServerV2) CheckAndSetDefaults() error { // if the server is a registered OpenSSH node, allow the name to be // randomly generated s.Metadata.Name = uuid.NewString() + case SubKindGitHub: + s.Metadata.Name = uuid.NewString() } } @@ -536,13 +561,32 @@ func (s *ServerV2) CheckAndSetDefaults() error { return trace.Wrap(err) } - if s.Kind == "" { + switch s.Kind { + case "": return trace.BadParameter("server Kind is empty") + case KindNode: + if err := s.nodeCheckAndSetDefaults(); err != nil { + return trace.Wrap(err) + } + case KindGitServer: + if err := s.gitServerCheckAndSetDefaults(); err != nil { + return trace.Wrap(err) + } + default: + if s.SubKind != "" { + return trace.BadParameter(`server SubKind must only be set when Kind is "node" or "git_server"`) + } } - if s.Kind != KindNode && s.SubKind != "" { - return trace.BadParameter(`server SubKind must only be set when Kind is "node"`) + + for key := range s.Spec.CmdLabels { + if !IsValidLabelKey(key) { + return trace.BadParameter("invalid label key: %q", key) + } } + return nil +} +func (s *ServerV2) nodeCheckAndSetDefaults() error { switch s.SubKind { case "", SubKindTeleportNode: // allow but do nothing @@ -557,15 +601,36 @@ func (s *ServerV2) CheckAndSetDefaults() error { } default: - return trace.BadParameter("invalid SubKind %q", s.SubKind) + return trace.BadParameter("invalid SubKind %q of Kind %q", s.SubKind, s.Kind) } + return nil +} - for key := range s.Spec.CmdLabels { - if !IsValidLabelKey(key) { - return trace.BadParameter("invalid label key: %q", key) - } +func (s *ServerV2) gitServerCheckAndSetDefaults() error { + switch s.SubKind { + case SubKindGitHub: + return trace.Wrap(s.githubCheckAndSetDefaults()) + default: + return trace.BadParameter("invalid SubKind %q of Kind %q", s.SubKind, s.Kind) } +} +func (s *ServerV2) githubCheckAndSetDefaults() error { + if s.Spec.GitHub == nil { + return trace.BadParameter("github must be set for Subkind %q", s.SubKind) + } + if s.Spec.GitHub.Integration == "" { + return trace.BadParameter("integration must be set for Subkind %q", s.SubKind) + } + if err := ValidateGitHubOrganizationName(s.Spec.GitHub.Organization); err != nil { + return trace.Wrap(err, "invalid GitHub organization name") + } + + s.Spec.Hostname = MakeGitHubOrgServerDomain(s.Spec.GitHub.Organization) + if s.Metadata.Labels == nil { + s.Metadata.Labels = make(map[string]string) + } + s.Metadata.Labels[GitHubOrgLabel] = s.Spec.GitHub.Organization return nil } @@ -773,3 +838,20 @@ func (s Servers) GetFieldVals(field string) ([]string, error) { return vals, nil } + +// MakeGitHubOrgServerDomain creates a special domain name used in server's +// host address to identify the GitHub organization. +func MakeGitHubOrgServerDomain(org string) string { + return fmt.Sprintf("%s.%s", org, GitHubOrgServerDomain) +} + +// GetGitHubOrgFromNodeAddr parses the organization from the node address. +func GetGitHubOrgFromNodeAddr(addr string) (string, bool) { + if host, _, err := net.SplitHostPort(addr); err == nil { + addr = host + } + if strings.HasSuffix(addr, "."+GitHubOrgServerDomain) { + return strings.TrimSuffix(addr, "."+GitHubOrgServerDomain), true + } + return "", false +} diff --git a/api/types/server_test.go b/api/types/server_test.go index 191f47268ceb1..312c59dd5b72d 100644 --- a/api/types/server_test.go +++ b/api/types/server_test.go @@ -385,7 +385,7 @@ func TestServerCheckAndSetDefaults(t *testing.T) { }, }, assertion: func(t *testing.T, s *ServerV2, err error) { - require.EqualError(t, err, `invalid SubKind "invalid-subkind"`) + require.EqualError(t, err, `invalid SubKind "invalid-subkind" of Kind "node"`) }, }, { @@ -579,6 +579,80 @@ func TestServerCheckAndSetDefaults(t *testing.T) { require.ErrorContains(t, err, `invalid account "abcd" or instance id "i-defg"`) }, }, + { + name: "git_server with invalid subkind", + server: &ServerV2{ + Kind: KindGitServer, + SubKind: "invalid-subkind", + Metadata: Metadata{ + Name: "5da56852-2adb-4540-a37c-80790203f6a9", + }, + }, + assertion: func(t *testing.T, s *ServerV2, err error) { + require.EqualError(t, err, `invalid SubKind "invalid-subkind" of Kind "git_server"`) + }, + }, + { + name: "GitHub server", + server: &ServerV2{ + Kind: KindGitServer, + SubKind: SubKindGitHub, + Metadata: Metadata{ + Name: "5da56852-2adb-4540-a37c-80790203f6a9", + }, + Spec: ServerSpecV2{ + GitHub: &GitHubServerMetadata{ + Integration: "my-org", + Organization: "my-org", + }, + }, + }, + assertion: func(t *testing.T, s *ServerV2, err error) { + t.Helper() + require.NoError(t, err) + + expectedServer := &ServerV2{ + Kind: KindGitServer, + SubKind: SubKindGitHub, + Version: V2, + Metadata: Metadata{ + Name: "5da56852-2adb-4540-a37c-80790203f6a9", + Namespace: defaults.Namespace, + Labels: map[string]string{ + GitHubOrgLabel: "my-org", + }, + }, + Spec: ServerSpecV2{ + Hostname: "my-org.github-org", + GitHub: &GitHubServerMetadata{ + Integration: "my-org", + Organization: "my-org", + }, + }, + } + assert.Equal(t, expectedServer, s) + }, + }, + { + name: "invalid GitHub server", + server: &ServerV2{ + Kind: KindGitServer, + SubKind: SubKindGitHub, + Metadata: Metadata{ + Name: "5da56852-2adb-4540-a37c-80790203f6a9", + Namespace: defaults.Namespace, + }, + Spec: ServerSpecV2{ + GitHub: &GitHubServerMetadata{ + Integration: "", + Organization: "my-org", + }, + }, + }, + assertion: func(t *testing.T, s *ServerV2, err error) { + require.EqualError(t, err, `integration must be set for Subkind "github"`) + }, + }, } for _, tt := range tests { @@ -730,3 +804,16 @@ func TestGetCloudMetadataAWS(t *testing.T) { }) } } + +func TestGitServerOrgDomain(t *testing.T) { + domain := MakeGitHubOrgServerDomain("my-org") + require.Equal(t, "my-org.github-org", domain) + + githubNodeAddr := domain + ":22" + org, ok := GetGitHubOrgFromNodeAddr(githubNodeAddr) + require.True(t, ok) + require.Equal(t, "my-org", org) + + _, ok = GetGitHubOrgFromNodeAddr("my-server.example.teleport.sh:22") + require.False(t, ok) +} diff --git a/api/types/types.pb.go b/api/types/types.pb.go index 8687a584208a9..a276fa60a045f 100644 --- a/api/types/types.pb.go +++ b/api/types/types.pb.go @@ -1089,7 +1089,7 @@ func (x CertAuthoritySpecV2_SigningAlgType) String() string { } func (CertAuthoritySpecV2_SigningAlgType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{55, 0} + return fileDescriptor_9198ee693835762e, []int{56, 0} } // FIPSEndpointState represents an AWS FIPS endpoint state. @@ -1122,7 +1122,7 @@ func (x ClusterAuditConfigSpecV2_FIPSEndpointState) String() string { } func (ClusterAuditConfigSpecV2_FIPSEndpointState) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{78, 0} + return fileDescriptor_9198ee693835762e, []int{79, 0} } // TraceType is an identification of the checkpoint. @@ -1192,7 +1192,7 @@ func (x ConnectionDiagnosticTrace_TraceType) String() string { } func (ConnectionDiagnosticTrace_TraceType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{259, 0} + return fileDescriptor_9198ee693835762e, []int{261, 0} } // StatusType describes whether this was a success or a failure. @@ -1221,7 +1221,7 @@ func (x ConnectionDiagnosticTrace_StatusType) String() string { } func (ConnectionDiagnosticTrace_StatusType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{259, 1} + return fileDescriptor_9198ee693835762e, []int{261, 1} } // OktaAssignmentStatus represents the status of an Okta assignment. @@ -1261,7 +1261,7 @@ func (x OktaAssignmentSpecV1_OktaAssignmentStatus) String() string { } func (OktaAssignmentSpecV1_OktaAssignmentStatus) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{341, 0} + return fileDescriptor_9198ee693835762e, []int{343, 0} } // OktaAssignmentTargetType is the type of Okta object that an assignment is targeting. @@ -1293,7 +1293,7 @@ func (x OktaAssignmentTargetV1_OktaAssignmentTargetType) String() string { } func (OktaAssignmentTargetV1_OktaAssignmentTargetType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{342, 0} + return fileDescriptor_9198ee693835762e, []int{344, 0} } type KeepAlive struct { @@ -3083,10 +3083,13 @@ type ServerSpecV2 struct { PublicAddrs []string `protobuf:"bytes,13,rep,name=public_addrs,json=publicAddrs,proto3" json:"public_addrs,omitempty"` // CloudMetadata contains info about the cloud instance the server is running // on, if any. - CloudMetadata *CloudMetadata `protobuf:"bytes,14,opt,name=CloudMetadata,proto3" json:"cloud_metadata,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + CloudMetadata *CloudMetadata `protobuf:"bytes,14,opt,name=CloudMetadata,proto3" json:"cloud_metadata,omitempty"` + // GitHub contains info about GitHub proxies where each server represents a + // GitHub organization. + GitHub *GitHubServerMetadata `protobuf:"bytes,15,opt,name=git_hub,json=gitHub,proto3" json:"github,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ServerSpecV2) Reset() { *m = ServerSpecV2{} } @@ -3219,6 +3222,51 @@ func (m *CloudMetadata) XXX_DiscardUnknown() { var xxx_messageInfo_CloudMetadata proto.InternalMessageInfo +// GitHubServerMetadata contains info about GitHub proxies where each server +// represents a GitHub organization. +type GitHubServerMetadata struct { + // Organization specifies the name of the organization for the GitHub integration. + Organization string `protobuf:"bytes,1,opt,name=organization,proto3" json:"organization,omitempty"` + // Integration is the integration that is associated with this Server. + Integration string `protobuf:"bytes,2,opt,name=integration,proto3" json:"integration,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GitHubServerMetadata) Reset() { *m = GitHubServerMetadata{} } +func (m *GitHubServerMetadata) String() string { return proto.CompactTextString(m) } +func (*GitHubServerMetadata) ProtoMessage() {} +func (*GitHubServerMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_9198ee693835762e, []int{38} +} +func (m *GitHubServerMetadata) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *GitHubServerMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_GitHubServerMetadata.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 *GitHubServerMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_GitHubServerMetadata.Merge(m, src) +} +func (m *GitHubServerMetadata) XXX_Size() int { + return m.Size() +} +func (m *GitHubServerMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_GitHubServerMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_GitHubServerMetadata proto.InternalMessageInfo + // AppServerV3 represents a single proxied web app. type AppServerV3 struct { // Kind is the app server resource kind. Always "app_server". @@ -3239,7 +3287,7 @@ type AppServerV3 struct { func (m *AppServerV3) Reset() { *m = AppServerV3{} } func (*AppServerV3) ProtoMessage() {} func (*AppServerV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{38} + return fileDescriptor_9198ee693835762e, []int{39} } func (m *AppServerV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3291,7 +3339,7 @@ func (m *AppServerSpecV3) Reset() { *m = AppServerSpecV3{} } func (m *AppServerSpecV3) String() string { return proto.CompactTextString(m) } func (*AppServerSpecV3) ProtoMessage() {} func (*AppServerSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{39} + return fileDescriptor_9198ee693835762e, []int{40} } func (m *AppServerSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3333,7 +3381,7 @@ func (m *AppV3List) Reset() { *m = AppV3List{} } func (m *AppV3List) String() string { return proto.CompactTextString(m) } func (*AppV3List) ProtoMessage() {} func (*AppV3List) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{40} + return fileDescriptor_9198ee693835762e, []int{41} } func (m *AppV3List) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3383,7 +3431,7 @@ type AppV3 struct { func (m *AppV3) Reset() { *m = AppV3{} } func (*AppV3) ProtoMessage() {} func (*AppV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{41} + return fileDescriptor_9198ee693835762e, []int{42} } func (m *AppV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3435,7 +3483,7 @@ func (m *CORSPolicy) Reset() { *m = CORSPolicy{} } func (m *CORSPolicy) String() string { return proto.CompactTextString(m) } func (*CORSPolicy) ProtoMessage() {} func (*CORSPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{42} + return fileDescriptor_9198ee693835762e, []int{43} } func (m *CORSPolicy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3480,7 +3528,7 @@ func (m *IdentityCenterPermissionSet) Reset() { *m = IdentityCenterPermi func (m *IdentityCenterPermissionSet) String() string { return proto.CompactTextString(m) } func (*IdentityCenterPermissionSet) ProtoMessage() {} func (*IdentityCenterPermissionSet) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{43} + return fileDescriptor_9198ee693835762e, []int{44} } func (m *IdentityCenterPermissionSet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3525,7 +3573,7 @@ func (m *AppIdentityCenter) Reset() { *m = AppIdentityCenter{} } func (m *AppIdentityCenter) String() string { return proto.CompactTextString(m) } func (*AppIdentityCenter) ProtoMessage() {} func (*AppIdentityCenter) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{44} + return fileDescriptor_9198ee693835762e, []int{45} } func (m *AppIdentityCenter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3593,7 +3641,7 @@ func (m *AppSpecV3) Reset() { *m = AppSpecV3{} } func (m *AppSpecV3) String() string { return proto.CompactTextString(m) } func (*AppSpecV3) ProtoMessage() {} func (*AppSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{45} + return fileDescriptor_9198ee693835762e, []int{46} } func (m *AppSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3645,7 +3693,7 @@ type AppServerOrSAMLIdPServiceProviderV1 struct { func (m *AppServerOrSAMLIdPServiceProviderV1) Reset() { *m = AppServerOrSAMLIdPServiceProviderV1{} } func (*AppServerOrSAMLIdPServiceProviderV1) ProtoMessage() {} func (*AppServerOrSAMLIdPServiceProviderV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{46} + return fileDescriptor_9198ee693835762e, []int{47} } func (m *AppServerOrSAMLIdPServiceProviderV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3740,7 +3788,7 @@ func (m *Rewrite) Reset() { *m = Rewrite{} } func (m *Rewrite) String() string { return proto.CompactTextString(m) } func (*Rewrite) ProtoMessage() {} func (*Rewrite) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{47} + return fileDescriptor_9198ee693835762e, []int{48} } func (m *Rewrite) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3784,7 +3832,7 @@ func (m *Header) Reset() { *m = Header{} } func (m *Header) String() string { return proto.CompactTextString(m) } func (*Header) ProtoMessage() {} func (*Header) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{48} + return fileDescriptor_9198ee693835762e, []int{49} } func (m *Header) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3831,7 +3879,7 @@ func (m *CommandLabelV2) Reset() { *m = CommandLabelV2{} } func (m *CommandLabelV2) String() string { return proto.CompactTextString(m) } func (*CommandLabelV2) ProtoMessage() {} func (*CommandLabelV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{49} + return fileDescriptor_9198ee693835762e, []int{50} } func (m *CommandLabelV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3873,7 +3921,7 @@ func (m *AppAWS) Reset() { *m = AppAWS{} } func (m *AppAWS) String() string { return proto.CompactTextString(m) } func (*AppAWS) ProtoMessage() {} func (*AppAWS) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{50} + return fileDescriptor_9198ee693835762e, []int{51} } func (m *AppAWS) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3919,7 +3967,7 @@ func (m *SSHKeyPair) Reset() { *m = SSHKeyPair{} } func (m *SSHKeyPair) String() string { return proto.CompactTextString(m) } func (*SSHKeyPair) ProtoMessage() {} func (*SSHKeyPair) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{51} + return fileDescriptor_9198ee693835762e, []int{52} } func (m *SSHKeyPair) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3965,7 +4013,7 @@ func (m *TLSKeyPair) Reset() { *m = TLSKeyPair{} } func (m *TLSKeyPair) String() string { return proto.CompactTextString(m) } func (*TLSKeyPair) ProtoMessage() {} func (*TLSKeyPair) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{52} + return fileDescriptor_9198ee693835762e, []int{53} } func (m *TLSKeyPair) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4011,7 +4059,7 @@ func (m *JWTKeyPair) Reset() { *m = JWTKeyPair{} } func (m *JWTKeyPair) String() string { return proto.CompactTextString(m) } func (*JWTKeyPair) ProtoMessage() {} func (*JWTKeyPair) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{53} + return fileDescriptor_9198ee693835762e, []int{54} } func (m *JWTKeyPair) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4060,7 +4108,7 @@ type CertAuthorityV2 struct { func (m *CertAuthorityV2) Reset() { *m = CertAuthorityV2{} } func (*CertAuthorityV2) ProtoMessage() {} func (*CertAuthorityV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{54} + return fileDescriptor_9198ee693835762e, []int{55} } func (m *CertAuthorityV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4121,7 +4169,7 @@ func (m *CertAuthoritySpecV2) Reset() { *m = CertAuthoritySpecV2{} } func (m *CertAuthoritySpecV2) String() string { return proto.CompactTextString(m) } func (*CertAuthoritySpecV2) ProtoMessage() {} func (*CertAuthoritySpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{55} + return fileDescriptor_9198ee693835762e, []int{56} } func (m *CertAuthoritySpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4167,7 +4215,7 @@ func (m *CAKeySet) Reset() { *m = CAKeySet{} } func (m *CAKeySet) String() string { return proto.CompactTextString(m) } func (*CAKeySet) ProtoMessage() {} func (*CAKeySet) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{56} + return fileDescriptor_9198ee693835762e, []int{57} } func (m *CAKeySet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4212,7 +4260,7 @@ func (m *RoleMapping) Reset() { *m = RoleMapping{} } func (m *RoleMapping) String() string { return proto.CompactTextString(m) } func (*RoleMapping) ProtoMessage() {} func (*RoleMapping) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{57} + return fileDescriptor_9198ee693835762e, []int{58} } func (m *RoleMapping) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4260,7 +4308,7 @@ type ProvisionTokenV1 struct { func (m *ProvisionTokenV1) Reset() { *m = ProvisionTokenV1{} } func (*ProvisionTokenV1) ProtoMessage() {} func (*ProvisionTokenV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{58} + return fileDescriptor_9198ee693835762e, []int{59} } func (m *ProvisionTokenV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4310,7 +4358,7 @@ type ProvisionTokenV2 struct { func (m *ProvisionTokenV2) Reset() { *m = ProvisionTokenV2{} } func (*ProvisionTokenV2) ProtoMessage() {} func (*ProvisionTokenV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{59} + return fileDescriptor_9198ee693835762e, []int{60} } func (m *ProvisionTokenV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4352,7 +4400,7 @@ func (m *ProvisionTokenV2List) Reset() { *m = ProvisionTokenV2List{} } func (m *ProvisionTokenV2List) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenV2List) ProtoMessage() {} func (*ProvisionTokenV2List) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{60} + return fileDescriptor_9198ee693835762e, []int{61} } func (m *ProvisionTokenV2List) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4404,7 +4452,7 @@ func (m *TokenRule) Reset() { *m = TokenRule{} } func (m *TokenRule) String() string { return proto.CompactTextString(m) } func (*TokenRule) ProtoMessage() {} func (*TokenRule) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{61} + return fileDescriptor_9198ee693835762e, []int{62} } func (m *TokenRule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4488,7 +4536,7 @@ func (m *ProvisionTokenSpecV2) Reset() { *m = ProvisionTokenSpecV2{} } func (m *ProvisionTokenSpecV2) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2) ProtoMessage() {} func (*ProvisionTokenSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{62} + return fileDescriptor_9198ee693835762e, []int{63} } func (m *ProvisionTokenSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4540,7 +4588,7 @@ func (m *ProvisionTokenSpecV2TPM) Reset() { *m = ProvisionTokenSpecV2TPM func (m *ProvisionTokenSpecV2TPM) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2TPM) ProtoMessage() {} func (*ProvisionTokenSpecV2TPM) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{63} + return fileDescriptor_9198ee693835762e, []int{64} } func (m *ProvisionTokenSpecV2TPM) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4596,7 +4644,7 @@ func (m *ProvisionTokenSpecV2TPM_Rule) Reset() { *m = ProvisionTokenSpec func (m *ProvisionTokenSpecV2TPM_Rule) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2TPM_Rule) ProtoMessage() {} func (*ProvisionTokenSpecV2TPM_Rule) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{63, 0} + return fileDescriptor_9198ee693835762e, []int{64, 0} } func (m *ProvisionTokenSpecV2TPM_Rule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4665,7 +4713,7 @@ func (m *ProvisionTokenSpecV2GitHub) Reset() { *m = ProvisionTokenSpecV2 func (m *ProvisionTokenSpecV2GitHub) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2GitHub) ProtoMessage() {} func (*ProvisionTokenSpecV2GitHub) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{64} + return fileDescriptor_9198ee693835762e, []int{65} } func (m *ProvisionTokenSpecV2GitHub) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4727,7 +4775,7 @@ func (m *ProvisionTokenSpecV2GitHub_Rule) Reset() { *m = ProvisionTokenS func (m *ProvisionTokenSpecV2GitHub_Rule) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2GitHub_Rule) ProtoMessage() {} func (*ProvisionTokenSpecV2GitHub_Rule) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{64, 0} + return fileDescriptor_9198ee693835762e, []int{65, 0} } func (m *ProvisionTokenSpecV2GitHub_Rule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4775,7 +4823,7 @@ func (m *ProvisionTokenSpecV2GitLab) Reset() { *m = ProvisionTokenSpecV2 func (m *ProvisionTokenSpecV2GitLab) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2GitLab) ProtoMessage() {} func (*ProvisionTokenSpecV2GitLab) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{65} + return fileDescriptor_9198ee693835762e, []int{66} } func (m *ProvisionTokenSpecV2GitLab) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4877,7 +4925,7 @@ func (m *ProvisionTokenSpecV2GitLab_Rule) Reset() { *m = ProvisionTokenS func (m *ProvisionTokenSpecV2GitLab_Rule) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2GitLab_Rule) ProtoMessage() {} func (*ProvisionTokenSpecV2GitLab_Rule) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{65, 0} + return fileDescriptor_9198ee693835762e, []int{66, 0} } func (m *ProvisionTokenSpecV2GitLab_Rule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4922,7 +4970,7 @@ func (m *ProvisionTokenSpecV2CircleCI) Reset() { *m = ProvisionTokenSpec func (m *ProvisionTokenSpecV2CircleCI) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2CircleCI) ProtoMessage() {} func (*ProvisionTokenSpecV2CircleCI) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{66} + return fileDescriptor_9198ee693835762e, []int{67} } func (m *ProvisionTokenSpecV2CircleCI) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4963,7 +5011,7 @@ func (m *ProvisionTokenSpecV2CircleCI_Rule) Reset() { *m = ProvisionToke func (m *ProvisionTokenSpecV2CircleCI_Rule) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2CircleCI_Rule) ProtoMessage() {} func (*ProvisionTokenSpecV2CircleCI_Rule) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{66, 0} + return fileDescriptor_9198ee693835762e, []int{67, 0} } func (m *ProvisionTokenSpecV2CircleCI_Rule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5010,7 +5058,7 @@ func (m *ProvisionTokenSpecV2Spacelift) Reset() { *m = ProvisionTokenSpe func (m *ProvisionTokenSpecV2Spacelift) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2Spacelift) ProtoMessage() {} func (*ProvisionTokenSpecV2Spacelift) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{67} + return fileDescriptor_9198ee693835762e, []int{68} } func (m *ProvisionTokenSpecV2Spacelift) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5061,7 +5109,7 @@ func (m *ProvisionTokenSpecV2Spacelift_Rule) Reset() { *m = ProvisionTok func (m *ProvisionTokenSpecV2Spacelift_Rule) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2Spacelift_Rule) ProtoMessage() {} func (*ProvisionTokenSpecV2Spacelift_Rule) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{67, 0} + return fileDescriptor_9198ee693835762e, []int{68, 0} } func (m *ProvisionTokenSpecV2Spacelift_Rule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5113,7 +5161,7 @@ func (m *ProvisionTokenSpecV2Kubernetes) Reset() { *m = ProvisionTokenSp func (m *ProvisionTokenSpecV2Kubernetes) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2Kubernetes) ProtoMessage() {} func (*ProvisionTokenSpecV2Kubernetes) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{68} + return fileDescriptor_9198ee693835762e, []int{69} } func (m *ProvisionTokenSpecV2Kubernetes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5160,7 +5208,7 @@ func (m *ProvisionTokenSpecV2Kubernetes_StaticJWKSConfig) String() string { } func (*ProvisionTokenSpecV2Kubernetes_StaticJWKSConfig) ProtoMessage() {} func (*ProvisionTokenSpecV2Kubernetes_StaticJWKSConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{68, 0} + return fileDescriptor_9198ee693835762e, []int{69, 0} } func (m *ProvisionTokenSpecV2Kubernetes_StaticJWKSConfig) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5204,7 +5252,7 @@ func (m *ProvisionTokenSpecV2Kubernetes_Rule) Reset() { *m = ProvisionTo func (m *ProvisionTokenSpecV2Kubernetes_Rule) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2Kubernetes_Rule) ProtoMessage() {} func (*ProvisionTokenSpecV2Kubernetes_Rule) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{68, 1} + return fileDescriptor_9198ee693835762e, []int{69, 1} } func (m *ProvisionTokenSpecV2Kubernetes_Rule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5248,7 +5296,7 @@ func (m *ProvisionTokenSpecV2Azure) Reset() { *m = ProvisionTokenSpecV2A func (m *ProvisionTokenSpecV2Azure) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2Azure) ProtoMessage() {} func (*ProvisionTokenSpecV2Azure) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{69} + return fileDescriptor_9198ee693835762e, []int{70} } func (m *ProvisionTokenSpecV2Azure) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5294,7 +5342,7 @@ func (m *ProvisionTokenSpecV2Azure_Rule) Reset() { *m = ProvisionTokenSp func (m *ProvisionTokenSpecV2Azure_Rule) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2Azure_Rule) ProtoMessage() {} func (*ProvisionTokenSpecV2Azure_Rule) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{69, 0} + return fileDescriptor_9198ee693835762e, []int{70, 0} } func (m *ProvisionTokenSpecV2Azure_Rule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5338,7 +5386,7 @@ func (m *ProvisionTokenSpecV2GCP) Reset() { *m = ProvisionTokenSpecV2GCP func (m *ProvisionTokenSpecV2GCP) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2GCP) ProtoMessage() {} func (*ProvisionTokenSpecV2GCP) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{70} + return fileDescriptor_9198ee693835762e, []int{71} } func (m *ProvisionTokenSpecV2GCP) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5387,7 +5435,7 @@ func (m *ProvisionTokenSpecV2GCP_Rule) Reset() { *m = ProvisionTokenSpec func (m *ProvisionTokenSpecV2GCP_Rule) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2GCP_Rule) ProtoMessage() {} func (*ProvisionTokenSpecV2GCP_Rule) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{70, 0} + return fileDescriptor_9198ee693835762e, []int{71, 0} } func (m *ProvisionTokenSpecV2GCP_Rule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5444,7 +5492,7 @@ func (m *ProvisionTokenSpecV2TerraformCloud) Reset() { *m = ProvisionTok func (m *ProvisionTokenSpecV2TerraformCloud) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2TerraformCloud) ProtoMessage() {} func (*ProvisionTokenSpecV2TerraformCloud) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{71} + return fileDescriptor_9198ee693835762e, []int{72} } func (m *ProvisionTokenSpecV2TerraformCloud) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5509,7 +5557,7 @@ func (m *ProvisionTokenSpecV2TerraformCloud_Rule) Reset() { func (m *ProvisionTokenSpecV2TerraformCloud_Rule) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2TerraformCloud_Rule) ProtoMessage() {} func (*ProvisionTokenSpecV2TerraformCloud_Rule) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{71, 0} + return fileDescriptor_9198ee693835762e, []int{72, 0} } func (m *ProvisionTokenSpecV2TerraformCloud_Rule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5561,7 +5609,7 @@ func (m *ProvisionTokenSpecV2Bitbucket) Reset() { *m = ProvisionTokenSpe func (m *ProvisionTokenSpecV2Bitbucket) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2Bitbucket) ProtoMessage() {} func (*ProvisionTokenSpecV2Bitbucket) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{72} + return fileDescriptor_9198ee693835762e, []int{73} } func (m *ProvisionTokenSpecV2Bitbucket) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5619,7 +5667,7 @@ func (m *ProvisionTokenSpecV2Bitbucket_Rule) Reset() { *m = ProvisionTok func (m *ProvisionTokenSpecV2Bitbucket_Rule) String() string { return proto.CompactTextString(m) } func (*ProvisionTokenSpecV2Bitbucket_Rule) ProtoMessage() {} func (*ProvisionTokenSpecV2Bitbucket_Rule) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{72, 0} + return fileDescriptor_9198ee693835762e, []int{73, 0} } func (m *ProvisionTokenSpecV2Bitbucket_Rule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5668,7 +5716,7 @@ type StaticTokensV2 struct { func (m *StaticTokensV2) Reset() { *m = StaticTokensV2{} } func (*StaticTokensV2) ProtoMessage() {} func (*StaticTokensV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{73} + return fileDescriptor_9198ee693835762e, []int{74} } func (m *StaticTokensV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5711,7 +5759,7 @@ func (m *StaticTokensSpecV2) Reset() { *m = StaticTokensSpecV2{} } func (m *StaticTokensSpecV2) String() string { return proto.CompactTextString(m) } func (*StaticTokensSpecV2) ProtoMessage() {} func (*StaticTokensSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{74} + return fileDescriptor_9198ee693835762e, []int{75} } func (m *StaticTokensSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5760,7 +5808,7 @@ type ClusterNameV2 struct { func (m *ClusterNameV2) Reset() { *m = ClusterNameV2{} } func (*ClusterNameV2) ProtoMessage() {} func (*ClusterNameV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{75} + return fileDescriptor_9198ee693835762e, []int{76} } func (m *ClusterNameV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5806,7 +5854,7 @@ func (m *ClusterNameSpecV2) Reset() { *m = ClusterNameSpecV2{} } func (m *ClusterNameSpecV2) String() string { return proto.CompactTextString(m) } func (*ClusterNameSpecV2) ProtoMessage() {} func (*ClusterNameSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{76} + return fileDescriptor_9198ee693835762e, []int{77} } func (m *ClusterNameSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5856,7 +5904,7 @@ func (m *ClusterAuditConfigV2) Reset() { *m = ClusterAuditConfigV2{} } func (m *ClusterAuditConfigV2) String() string { return proto.CompactTextString(m) } func (*ClusterAuditConfigV2) ProtoMessage() {} func (*ClusterAuditConfigV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{77} + return fileDescriptor_9198ee693835762e, []int{78} } func (m *ClusterAuditConfigV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5926,7 +5974,7 @@ func (m *ClusterAuditConfigSpecV2) Reset() { *m = ClusterAuditConfigSpec func (m *ClusterAuditConfigSpecV2) String() string { return proto.CompactTextString(m) } func (*ClusterAuditConfigSpecV2) ProtoMessage() {} func (*ClusterAuditConfigSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{78} + return fileDescriptor_9198ee693835762e, []int{79} } func (m *ClusterAuditConfigSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5977,7 +6025,7 @@ func (m *ClusterNetworkingConfigV2) Reset() { *m = ClusterNetworkingConf func (m *ClusterNetworkingConfigV2) String() string { return proto.CompactTextString(m) } func (*ClusterNetworkingConfigV2) ProtoMessage() {} func (*ClusterNetworkingConfigV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{79} + return fileDescriptor_9198ee693835762e, []int{80} } func (m *ClusterNetworkingConfigV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6056,7 +6104,7 @@ func (m *ClusterNetworkingConfigSpecV2) Reset() { *m = ClusterNetworking func (m *ClusterNetworkingConfigSpecV2) String() string { return proto.CompactTextString(m) } func (*ClusterNetworkingConfigSpecV2) ProtoMessage() {} func (*ClusterNetworkingConfigSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{80} + return fileDescriptor_9198ee693835762e, []int{81} } func (m *ClusterNetworkingConfigSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6101,7 +6149,7 @@ func (m *TunnelStrategyV1) Reset() { *m = TunnelStrategyV1{} } func (m *TunnelStrategyV1) String() string { return proto.CompactTextString(m) } func (*TunnelStrategyV1) ProtoMessage() {} func (*TunnelStrategyV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{81} + return fileDescriptor_9198ee693835762e, []int{82} } func (m *TunnelStrategyV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6186,7 +6234,7 @@ func (m *AgentMeshTunnelStrategy) Reset() { *m = AgentMeshTunnelStrategy func (m *AgentMeshTunnelStrategy) String() string { return proto.CompactTextString(m) } func (*AgentMeshTunnelStrategy) ProtoMessage() {} func (*AgentMeshTunnelStrategy) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{82} + return fileDescriptor_9198ee693835762e, []int{83} } func (m *AgentMeshTunnelStrategy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6227,7 +6275,7 @@ func (m *ProxyPeeringTunnelStrategy) Reset() { *m = ProxyPeeringTunnelSt func (m *ProxyPeeringTunnelStrategy) String() string { return proto.CompactTextString(m) } func (*ProxyPeeringTunnelStrategy) ProtoMessage() {} func (*ProxyPeeringTunnelStrategy) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{83} + return fileDescriptor_9198ee693835762e, []int{84} } func (m *ProxyPeeringTunnelStrategy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6278,7 +6326,7 @@ func (m *SessionRecordingConfigV2) Reset() { *m = SessionRecordingConfig func (m *SessionRecordingConfigV2) String() string { return proto.CompactTextString(m) } func (*SessionRecordingConfigV2) ProtoMessage() {} func (*SessionRecordingConfigV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{84} + return fileDescriptor_9198ee693835762e, []int{85} } func (m *SessionRecordingConfigV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6324,7 +6372,7 @@ func (m *SessionRecordingConfigSpecV2) Reset() { *m = SessionRecordingCo func (m *SessionRecordingConfigSpecV2) String() string { return proto.CompactTextString(m) } func (*SessionRecordingConfigSpecV2) ProtoMessage() {} func (*SessionRecordingConfigSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{85} + return fileDescriptor_9198ee693835762e, []int{86} } func (m *SessionRecordingConfigSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6374,7 +6422,7 @@ type AuthPreferenceV2 struct { func (m *AuthPreferenceV2) Reset() { *m = AuthPreferenceV2{} } func (*AuthPreferenceV2) ProtoMessage() {} func (*AuthPreferenceV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{86} + return fileDescriptor_9198ee693835762e, []int{87} } func (m *AuthPreferenceV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6467,7 +6515,7 @@ func (m *AuthPreferenceSpecV2) Reset() { *m = AuthPreferenceSpecV2{} } func (m *AuthPreferenceSpecV2) String() string { return proto.CompactTextString(m) } func (*AuthPreferenceSpecV2) ProtoMessage() {} func (*AuthPreferenceSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{87} + return fileDescriptor_9198ee693835762e, []int{88} } func (m *AuthPreferenceSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6518,7 +6566,7 @@ func (m *U2F) Reset() { *m = U2F{} } func (m *U2F) String() string { return proto.CompactTextString(m) } func (*U2F) ProtoMessage() {} func (*U2F) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{88} + return fileDescriptor_9198ee693835762e, []int{89} } func (m *U2F) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6586,7 +6634,7 @@ func (m *Webauthn) Reset() { *m = Webauthn{} } func (m *Webauthn) String() string { return proto.CompactTextString(m) } func (*Webauthn) ProtoMessage() {} func (*Webauthn) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{89} + return fileDescriptor_9198ee693835762e, []int{90} } func (m *Webauthn) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6657,7 +6705,7 @@ func (m *DeviceTrust) Reset() { *m = DeviceTrust{} } func (m *DeviceTrust) String() string { return proto.CompactTextString(m) } func (*DeviceTrust) ProtoMessage() {} func (*DeviceTrust) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{90} + return fileDescriptor_9198ee693835762e, []int{91} } func (m *DeviceTrust) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6704,7 +6752,7 @@ func (m *HardwareKey) Reset() { *m = HardwareKey{} } func (m *HardwareKey) String() string { return proto.CompactTextString(m) } func (*HardwareKey) ProtoMessage() {} func (*HardwareKey) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{91} + return fileDescriptor_9198ee693835762e, []int{92} } func (m *HardwareKey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6751,7 +6799,7 @@ func (m *HardwareKeySerialNumberValidation) Reset() { *m = HardwareKeySe func (m *HardwareKeySerialNumberValidation) String() string { return proto.CompactTextString(m) } func (*HardwareKeySerialNumberValidation) ProtoMessage() {} func (*HardwareKeySerialNumberValidation) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{92} + return fileDescriptor_9198ee693835762e, []int{93} } func (m *HardwareKeySerialNumberValidation) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6801,7 +6849,7 @@ func (m *Namespace) Reset() { *m = Namespace{} } func (m *Namespace) String() string { return proto.CompactTextString(m) } func (*Namespace) ProtoMessage() {} func (*Namespace) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{93} + return fileDescriptor_9198ee693835762e, []int{94} } func (m *Namespace) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6841,7 +6889,7 @@ func (m *NamespaceSpec) Reset() { *m = NamespaceSpec{} } func (m *NamespaceSpec) String() string { return proto.CompactTextString(m) } func (*NamespaceSpec) ProtoMessage() {} func (*NamespaceSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{94} + return fileDescriptor_9198ee693835762e, []int{95} } func (m *NamespaceSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6889,7 +6937,7 @@ type UserTokenV3 struct { func (m *UserTokenV3) Reset() { *m = UserTokenV3{} } func (*UserTokenV3) ProtoMessage() {} func (*UserTokenV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{95} + return fileDescriptor_9198ee693835762e, []int{96} } func (m *UserTokenV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6936,7 +6984,7 @@ func (m *UserTokenSpecV3) Reset() { *m = UserTokenSpecV3{} } func (m *UserTokenSpecV3) String() string { return proto.CompactTextString(m) } func (*UserTokenSpecV3) ProtoMessage() {} func (*UserTokenSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{96} + return fileDescriptor_9198ee693835762e, []int{97} } func (m *UserTokenSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6984,7 +7032,7 @@ type UserTokenSecretsV3 struct { func (m *UserTokenSecretsV3) Reset() { *m = UserTokenSecretsV3{} } func (*UserTokenSecretsV3) ProtoMessage() {} func (*UserTokenSecretsV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{97} + return fileDescriptor_9198ee693835762e, []int{98} } func (m *UserTokenSecretsV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7029,7 +7077,7 @@ func (m *UserTokenSecretsSpecV3) Reset() { *m = UserTokenSecretsSpecV3{} func (m *UserTokenSecretsSpecV3) String() string { return proto.CompactTextString(m) } func (*UserTokenSecretsSpecV3) ProtoMessage() {} func (*UserTokenSecretsSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{98} + return fileDescriptor_9198ee693835762e, []int{99} } func (m *UserTokenSecretsSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7078,7 +7126,7 @@ type AccessRequestV3 struct { func (m *AccessRequestV3) Reset() { *m = AccessRequestV3{} } func (*AccessRequestV3) ProtoMessage() {} func (*AccessRequestV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{99} + return fileDescriptor_9198ee693835762e, []int{100} } func (m *AccessRequestV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7130,7 +7178,7 @@ func (m *AccessReviewThreshold) Reset() { *m = AccessReviewThreshold{} } func (m *AccessReviewThreshold) String() string { return proto.CompactTextString(m) } func (*AccessReviewThreshold) ProtoMessage() {} func (*AccessReviewThreshold) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{100} + return fileDescriptor_9198ee693835762e, []int{101} } func (m *AccessReviewThreshold) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7175,7 +7223,7 @@ func (m *PromotedAccessList) Reset() { *m = PromotedAccessList{} } func (m *PromotedAccessList) String() string { return proto.CompactTextString(m) } func (*PromotedAccessList) ProtoMessage() {} func (*PromotedAccessList) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{101} + return fileDescriptor_9198ee693835762e, []int{102} } func (m *PromotedAccessList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7236,7 +7284,7 @@ func (m *AccessReview) Reset() { *m = AccessReview{} } func (m *AccessReview) String() string { return proto.CompactTextString(m) } func (*AccessReview) ProtoMessage() {} func (*AccessReview) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{102} + return fileDescriptor_9198ee693835762e, []int{103} } func (m *AccessReview) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7281,7 +7329,7 @@ func (m *AccessReviewSubmission) Reset() { *m = AccessReviewSubmission{} func (m *AccessReviewSubmission) String() string { return proto.CompactTextString(m) } func (*AccessReviewSubmission) ProtoMessage() {} func (*AccessReviewSubmission) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{103} + return fileDescriptor_9198ee693835762e, []int{104} } func (m *AccessReviewSubmission) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7324,7 +7372,7 @@ func (m *ThresholdIndexSet) Reset() { *m = ThresholdIndexSet{} } func (m *ThresholdIndexSet) String() string { return proto.CompactTextString(m) } func (*ThresholdIndexSet) ProtoMessage() {} func (*ThresholdIndexSet) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{104} + return fileDescriptor_9198ee693835762e, []int{105} } func (m *ThresholdIndexSet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7367,7 +7415,7 @@ func (m *ThresholdIndexSets) Reset() { *m = ThresholdIndexSets{} } func (m *ThresholdIndexSets) String() string { return proto.CompactTextString(m) } func (*ThresholdIndexSets) ProtoMessage() {} func (*ThresholdIndexSets) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{105} + return fileDescriptor_9198ee693835762e, []int{106} } func (m *ThresholdIndexSets) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7470,7 +7518,7 @@ func (m *AccessRequestSpecV3) Reset() { *m = AccessRequestSpecV3{} } func (m *AccessRequestSpecV3) String() string { return proto.CompactTextString(m) } func (*AccessRequestSpecV3) ProtoMessage() {} func (*AccessRequestSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{106} + return fileDescriptor_9198ee693835762e, []int{107} } func (m *AccessRequestSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7527,7 +7575,7 @@ func (m *AccessRequestFilter) Reset() { *m = AccessRequestFilter{} } func (m *AccessRequestFilter) String() string { return proto.CompactTextString(m) } func (*AccessRequestFilter) ProtoMessage() {} func (*AccessRequestFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{107} + return fileDescriptor_9198ee693835762e, []int{108} } func (m *AccessRequestFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7583,7 +7631,7 @@ func (m *AccessCapabilities) Reset() { *m = AccessCapabilities{} } func (m *AccessCapabilities) String() string { return proto.CompactTextString(m) } func (*AccessCapabilities) ProtoMessage() {} func (*AccessCapabilities) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{108} + return fileDescriptor_9198ee693835762e, []int{109} } func (m *AccessCapabilities) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7641,7 +7689,7 @@ func (m *AccessCapabilitiesRequest) Reset() { *m = AccessCapabilitiesReq func (m *AccessCapabilitiesRequest) String() string { return proto.CompactTextString(m) } func (*AccessCapabilitiesRequest) ProtoMessage() {} func (*AccessCapabilitiesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{109} + return fileDescriptor_9198ee693835762e, []int{110} } func (m *AccessCapabilitiesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7685,7 +7733,7 @@ func (m *RequestKubernetesResource) Reset() { *m = RequestKubernetesReso func (m *RequestKubernetesResource) String() string { return proto.CompactTextString(m) } func (*RequestKubernetesResource) ProtoMessage() {} func (*RequestKubernetesResource) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{110} + return fileDescriptor_9198ee693835762e, []int{111} } func (m *RequestKubernetesResource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7737,7 +7785,7 @@ func (m *ResourceID) Reset() { *m = ResourceID{} } func (m *ResourceID) String() string { return proto.CompactTextString(m) } func (*ResourceID) ProtoMessage() {} func (*ResourceID) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{111} + return fileDescriptor_9198ee693835762e, []int{112} } func (m *ResourceID) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7786,7 +7834,7 @@ type PluginDataV3 struct { func (m *PluginDataV3) Reset() { *m = PluginDataV3{} } func (*PluginDataV3) ProtoMessage() {} func (*PluginDataV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{112} + return fileDescriptor_9198ee693835762e, []int{113} } func (m *PluginDataV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7829,7 +7877,7 @@ func (m *PluginDataEntry) Reset() { *m = PluginDataEntry{} } func (m *PluginDataEntry) String() string { return proto.CompactTextString(m) } func (*PluginDataEntry) ProtoMessage() {} func (*PluginDataEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{113} + return fileDescriptor_9198ee693835762e, []int{114} } func (m *PluginDataEntry) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7871,7 +7919,7 @@ func (m *PluginDataSpecV3) Reset() { *m = PluginDataSpecV3{} } func (m *PluginDataSpecV3) String() string { return proto.CompactTextString(m) } func (*PluginDataSpecV3) ProtoMessage() {} func (*PluginDataSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{114} + return fileDescriptor_9198ee693835762e, []int{115} } func (m *PluginDataSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7918,7 +7966,7 @@ func (m *PluginDataFilter) Reset() { *m = PluginDataFilter{} } func (m *PluginDataFilter) String() string { return proto.CompactTextString(m) } func (*PluginDataFilter) ProtoMessage() {} func (*PluginDataFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{115} + return fileDescriptor_9198ee693835762e, []int{116} } func (m *PluginDataFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7969,7 +8017,7 @@ func (m *PluginDataUpdateParams) Reset() { *m = PluginDataUpdateParams{} func (m *PluginDataUpdateParams) String() string { return proto.CompactTextString(m) } func (*PluginDataUpdateParams) ProtoMessage() {} func (*PluginDataUpdateParams) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{116} + return fileDescriptor_9198ee693835762e, []int{117} } func (m *PluginDataUpdateParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8013,7 +8061,7 @@ func (m *RoleFilter) Reset() { *m = RoleFilter{} } func (m *RoleFilter) String() string { return proto.CompactTextString(m) } func (*RoleFilter) ProtoMessage() {} func (*RoleFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{117} + return fileDescriptor_9198ee693835762e, []int{118} } func (m *RoleFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8063,7 +8111,7 @@ type RoleV6 struct { func (m *RoleV6) Reset() { *m = RoleV6{} } func (*RoleV6) ProtoMessage() {} func (*RoleV6) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{118} + return fileDescriptor_9198ee693835762e, []int{119} } func (m *RoleV6) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8110,7 +8158,7 @@ func (m *RoleSpecV6) Reset() { *m = RoleSpecV6{} } func (m *RoleSpecV6) String() string { return proto.CompactTextString(m) } func (*RoleSpecV6) ProtoMessage() {} func (*RoleSpecV6) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{119} + return fileDescriptor_9198ee693835762e, []int{120} } func (m *RoleSpecV6) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8151,7 +8199,7 @@ func (m *SSHLocalPortForwarding) Reset() { *m = SSHLocalPortForwarding{} func (m *SSHLocalPortForwarding) String() string { return proto.CompactTextString(m) } func (*SSHLocalPortForwarding) ProtoMessage() {} func (*SSHLocalPortForwarding) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{120} + return fileDescriptor_9198ee693835762e, []int{121} } func (m *SSHLocalPortForwarding) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8192,7 +8240,7 @@ func (m *SSHRemotePortForwarding) Reset() { *m = SSHRemotePortForwarding func (m *SSHRemotePortForwarding) String() string { return proto.CompactTextString(m) } func (*SSHRemotePortForwarding) ProtoMessage() {} func (*SSHRemotePortForwarding) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{121} + return fileDescriptor_9198ee693835762e, []int{122} } func (m *SSHRemotePortForwarding) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8236,7 +8284,7 @@ func (m *SSHPortForwarding) Reset() { *m = SSHPortForwarding{} } func (m *SSHPortForwarding) String() string { return proto.CompactTextString(m) } func (*SSHPortForwarding) ProtoMessage() {} func (*SSHPortForwarding) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{122} + return fileDescriptor_9198ee693835762e, []int{123} } func (m *SSHPortForwarding) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8368,7 +8416,7 @@ func (m *RoleOptions) Reset() { *m = RoleOptions{} } func (m *RoleOptions) String() string { return proto.CompactTextString(m) } func (*RoleOptions) ProtoMessage() {} func (*RoleOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{123} + return fileDescriptor_9198ee693835762e, []int{124} } func (m *RoleOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8414,7 +8462,7 @@ func (m *RecordSession) Reset() { *m = RecordSession{} } func (m *RecordSession) String() string { return proto.CompactTextString(m) } func (*RecordSession) ProtoMessage() {} func (*RecordSession) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{124} + return fileDescriptor_9198ee693835762e, []int{125} } func (m *RecordSession) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8466,7 +8514,7 @@ func (m *CertExtension) Reset() { *m = CertExtension{} } func (m *CertExtension) String() string { return proto.CompactTextString(m) } func (*CertExtension) ProtoMessage() {} func (*CertExtension) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{125} + return fileDescriptor_9198ee693835762e, []int{126} } func (m *CertExtension) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8592,17 +8640,19 @@ type RoleConditions struct { SPIFFE []*SPIFFERoleCondition `protobuf:"bytes,39,rep,name=SPIFFE,proto3" json:"spiffe,omitempty"` // AccountAssignments holds the list of account assignments affected by this // condition. - AccountAssignments []IdentityCenterAccountAssignment `protobuf:"bytes,42,rep,name=AccountAssignments,proto3" json:"account_assignments,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + AccountAssignments []IdentityCenterAccountAssignment `protobuf:"bytes,42,rep,name=AccountAssignments,proto3" json:"account_assignments,omitempty"` + // GitHubPermissions defines GitHub integration related permissions. + GitHubPermissions []GitHubPermission `protobuf:"bytes,43,rep,name=git_hub_permissions,json=gitHubPermissions,proto3" json:"github_permissions,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *RoleConditions) Reset() { *m = RoleConditions{} } func (m *RoleConditions) String() string { return proto.CompactTextString(m) } func (*RoleConditions) ProtoMessage() {} func (*RoleConditions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{126} + return fileDescriptor_9198ee693835762e, []int{127} } func (m *RoleConditions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8645,7 +8695,7 @@ func (m *IdentityCenterAccountAssignment) Reset() { *m = IdentityCenterA func (m *IdentityCenterAccountAssignment) String() string { return proto.CompactTextString(m) } func (*IdentityCenterAccountAssignment) ProtoMessage() {} func (*IdentityCenterAccountAssignment) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{127} + return fileDescriptor_9198ee693835762e, []int{128} } func (m *IdentityCenterAccountAssignment) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8674,6 +8724,47 @@ func (m *IdentityCenterAccountAssignment) XXX_DiscardUnknown() { var xxx_messageInfo_IdentityCenterAccountAssignment proto.InternalMessageInfo +// GitHubPermission defines GitHub integration related permissions. +type GitHubPermission struct { + Organizations []string `protobuf:"bytes,1,rep,name=organizations,proto3" json:"orgs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GitHubPermission) Reset() { *m = GitHubPermission{} } +func (m *GitHubPermission) String() string { return proto.CompactTextString(m) } +func (*GitHubPermission) ProtoMessage() {} +func (*GitHubPermission) Descriptor() ([]byte, []int) { + return fileDescriptor_9198ee693835762e, []int{129} +} +func (m *GitHubPermission) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *GitHubPermission) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_GitHubPermission.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 *GitHubPermission) XXX_Merge(src proto.Message) { + xxx_messageInfo_GitHubPermission.Merge(m, src) +} +func (m *GitHubPermission) XXX_Size() int { + return m.Size() +} +func (m *GitHubPermission) XXX_DiscardUnknown() { + xxx_messageInfo_GitHubPermission.DiscardUnknown(m) +} + +var xxx_messageInfo_GitHubPermission proto.InternalMessageInfo + // SPIFFERoleCondition sets out which SPIFFE identities this role is allowed or // denied to generate. The Path matcher is required, and is evaluated first. If, // the Path does not match then the other matcher fields are not evaluated. @@ -8721,7 +8812,7 @@ func (m *SPIFFERoleCondition) Reset() { *m = SPIFFERoleCondition{} } func (m *SPIFFERoleCondition) String() string { return proto.CompactTextString(m) } func (*SPIFFERoleCondition) ProtoMessage() {} func (*SPIFFERoleCondition) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{128} + return fileDescriptor_9198ee693835762e, []int{130} } func (m *SPIFFERoleCondition) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8765,7 +8856,7 @@ func (m *DatabasePermission) Reset() { *m = DatabasePermission{} } func (m *DatabasePermission) String() string { return proto.CompactTextString(m) } func (*DatabasePermission) ProtoMessage() {} func (*DatabasePermission) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{129} + return fileDescriptor_9198ee693835762e, []int{131} } func (m *DatabasePermission) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8815,7 +8906,7 @@ func (m *KubernetesResource) Reset() { *m = KubernetesResource{} } func (m *KubernetesResource) String() string { return proto.CompactTextString(m) } func (*KubernetesResource) ProtoMessage() {} func (*KubernetesResource) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{130} + return fileDescriptor_9198ee693835762e, []int{132} } func (m *KubernetesResource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8868,7 +8959,7 @@ func (m *SessionRequirePolicy) Reset() { *m = SessionRequirePolicy{} } func (m *SessionRequirePolicy) String() string { return proto.CompactTextString(m) } func (*SessionRequirePolicy) ProtoMessage() {} func (*SessionRequirePolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{131} + return fileDescriptor_9198ee693835762e, []int{133} } func (m *SessionRequirePolicy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8916,7 +9007,7 @@ func (m *SessionJoinPolicy) Reset() { *m = SessionJoinPolicy{} } func (m *SessionJoinPolicy) String() string { return proto.CompactTextString(m) } func (*SessionJoinPolicy) ProtoMessage() {} func (*SessionJoinPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{132} + return fileDescriptor_9198ee693835762e, []int{134} } func (m *SessionJoinPolicy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8992,7 +9083,7 @@ func (m *AccessRequestConditions) Reset() { *m = AccessRequestConditions func (m *AccessRequestConditions) String() string { return proto.CompactTextString(m) } func (*AccessRequestConditions) ProtoMessage() {} func (*AccessRequestConditions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{133} + return fileDescriptor_9198ee693835762e, []int{135} } func (m *AccessRequestConditions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9038,7 +9129,7 @@ func (m *AccessRequestConditionsReason) Reset() { *m = AccessRequestCond func (m *AccessRequestConditionsReason) String() string { return proto.CompactTextString(m) } func (*AccessRequestConditionsReason) ProtoMessage() {} func (*AccessRequestConditionsReason) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{134} + return fileDescriptor_9198ee693835762e, []int{136} } func (m *AccessRequestConditionsReason) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9091,7 +9182,7 @@ func (m *AccessReviewConditions) Reset() { *m = AccessReviewConditions{} func (m *AccessReviewConditions) String() string { return proto.CompactTextString(m) } func (*AccessReviewConditions) ProtoMessage() {} func (*AccessReviewConditions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{135} + return fileDescriptor_9198ee693835762e, []int{137} } func (m *AccessReviewConditions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9133,7 +9224,7 @@ func (m *AccessRequestAllowedPromotion) Reset() { *m = AccessRequestAllo func (m *AccessRequestAllowedPromotion) String() string { return proto.CompactTextString(m) } func (*AccessRequestAllowedPromotion) ProtoMessage() {} func (*AccessRequestAllowedPromotion) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{136} + return fileDescriptor_9198ee693835762e, []int{138} } func (m *AccessRequestAllowedPromotion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9176,7 +9267,7 @@ func (m *AccessRequestAllowedPromotions) Reset() { *m = AccessRequestAll func (m *AccessRequestAllowedPromotions) String() string { return proto.CompactTextString(m) } func (*AccessRequestAllowedPromotions) ProtoMessage() {} func (*AccessRequestAllowedPromotions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{137} + return fileDescriptor_9198ee693835762e, []int{139} } func (m *AccessRequestAllowedPromotions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9222,7 +9313,7 @@ func (m *ClaimMapping) Reset() { *m = ClaimMapping{} } func (m *ClaimMapping) String() string { return proto.CompactTextString(m) } func (*ClaimMapping) ProtoMessage() {} func (*ClaimMapping) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{138} + return fileDescriptor_9198ee693835762e, []int{140} } func (m *ClaimMapping) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9268,7 +9359,7 @@ func (m *TraitMapping) Reset() { *m = TraitMapping{} } func (m *TraitMapping) String() string { return proto.CompactTextString(m) } func (*TraitMapping) ProtoMessage() {} func (*TraitMapping) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{139} + return fileDescriptor_9198ee693835762e, []int{141} } func (m *TraitMapping) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9317,7 +9408,7 @@ func (m *Rule) Reset() { *m = Rule{} } func (m *Rule) String() string { return proto.CompactTextString(m) } func (*Rule) ProtoMessage() {} func (*Rule) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{140} + return fileDescriptor_9198ee693835762e, []int{142} } func (m *Rule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9365,7 +9456,7 @@ func (m *ImpersonateConditions) Reset() { *m = ImpersonateConditions{} } func (m *ImpersonateConditions) String() string { return proto.CompactTextString(m) } func (*ImpersonateConditions) ProtoMessage() {} func (*ImpersonateConditions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{141} + return fileDescriptor_9198ee693835762e, []int{143} } func (m *ImpersonateConditions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9407,7 +9498,7 @@ func (m *BoolValue) Reset() { *m = BoolValue{} } func (m *BoolValue) String() string { return proto.CompactTextString(m) } func (*BoolValue) ProtoMessage() {} func (*BoolValue) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{142} + return fileDescriptor_9198ee693835762e, []int{144} } func (m *BoolValue) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9449,7 +9540,7 @@ func (m *UserFilter) Reset() { *m = UserFilter{} } func (m *UserFilter) String() string { return proto.CompactTextString(m) } func (*UserFilter) ProtoMessage() {} func (*UserFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{143} + return fileDescriptor_9198ee693835762e, []int{145} } func (m *UserFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9500,7 +9591,7 @@ type UserV2 struct { func (m *UserV2) Reset() { *m = UserV2{} } func (*UserV2) ProtoMessage() {} func (*UserV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{144} + return fileDescriptor_9198ee693835762e, []int{146} } func (m *UserV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9549,7 +9640,7 @@ func (m *UserStatusV2) Reset() { *m = UserStatusV2{} } func (m *UserStatusV2) String() string { return proto.CompactTextString(m) } func (*UserStatusV2) ProtoMessage() {} func (*UserStatusV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{145} + return fileDescriptor_9198ee693835762e, []int{147} } func (m *UserStatusV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9623,7 +9714,7 @@ func (m *UserSpecV2) Reset() { *m = UserSpecV2{} } func (m *UserSpecV2) String() string { return proto.CompactTextString(m) } func (*UserSpecV2) ProtoMessage() {} func (*UserSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{146} + return fileDescriptor_9198ee693835762e, []int{148} } func (m *UserSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9670,7 +9761,7 @@ type ExternalIdentity struct { func (m *ExternalIdentity) Reset() { *m = ExternalIdentity{} } func (*ExternalIdentity) ProtoMessage() {} func (*ExternalIdentity) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{147} + return fileDescriptor_9198ee693835762e, []int{149} } func (m *ExternalIdentity) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9718,7 +9809,7 @@ func (m *LoginStatus) Reset() { *m = LoginStatus{} } func (m *LoginStatus) String() string { return proto.CompactTextString(m) } func (*LoginStatus) ProtoMessage() {} func (*LoginStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{148} + return fileDescriptor_9198ee693835762e, []int{150} } func (m *LoginStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9763,7 +9854,7 @@ type CreatedBy struct { func (m *CreatedBy) Reset() { *m = CreatedBy{} } func (*CreatedBy) ProtoMessage() {} func (*CreatedBy) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{149} + return fileDescriptor_9198ee693835762e, []int{151} } func (m *CreatedBy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9812,7 +9903,7 @@ func (m *LocalAuthSecrets) Reset() { *m = LocalAuthSecrets{} } func (m *LocalAuthSecrets) String() string { return proto.CompactTextString(m) } func (*LocalAuthSecrets) ProtoMessage() {} func (*LocalAuthSecrets) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{150} + return fileDescriptor_9198ee693835762e, []int{152} } func (m *LocalAuthSecrets) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9869,7 +9960,7 @@ func (m *MFADevice) Reset() { *m = MFADevice{} } func (m *MFADevice) String() string { return proto.CompactTextString(m) } func (*MFADevice) ProtoMessage() {} func (*MFADevice) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{151} + return fileDescriptor_9198ee693835762e, []int{153} } func (m *MFADevice) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9979,7 +10070,7 @@ func (m *TOTPDevice) Reset() { *m = TOTPDevice{} } func (m *TOTPDevice) String() string { return proto.CompactTextString(m) } func (*TOTPDevice) ProtoMessage() {} func (*TOTPDevice) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{152} + return fileDescriptor_9198ee693835762e, []int{154} } func (m *TOTPDevice) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10025,7 +10116,7 @@ func (m *U2FDevice) Reset() { *m = U2FDevice{} } func (m *U2FDevice) String() string { return proto.CompactTextString(m) } func (*U2FDevice) ProtoMessage() {} func (*U2FDevice) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{153} + return fileDescriptor_9198ee693835762e, []int{155} } func (m *U2FDevice) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10107,7 +10198,7 @@ func (m *WebauthnDevice) Reset() { *m = WebauthnDevice{} } func (m *WebauthnDevice) String() string { return proto.CompactTextString(m) } func (*WebauthnDevice) ProtoMessage() {} func (*WebauthnDevice) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{154} + return fileDescriptor_9198ee693835762e, []int{156} } func (m *WebauthnDevice) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10153,7 +10244,7 @@ func (m *SSOMFADevice) Reset() { *m = SSOMFADevice{} } func (m *SSOMFADevice) String() string { return proto.CompactTextString(m) } func (*SSOMFADevice) ProtoMessage() {} func (*SSOMFADevice) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{155} + return fileDescriptor_9198ee693835762e, []int{157} } func (m *SSOMFADevice) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10196,7 +10287,7 @@ func (m *WebauthnLocalAuth) Reset() { *m = WebauthnLocalAuth{} } func (m *WebauthnLocalAuth) String() string { return proto.CompactTextString(m) } func (*WebauthnLocalAuth) ProtoMessage() {} func (*WebauthnLocalAuth) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{156} + return fileDescriptor_9198ee693835762e, []int{158} } func (m *WebauthnLocalAuth) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10242,7 +10333,7 @@ func (m *ConnectorRef) Reset() { *m = ConnectorRef{} } func (m *ConnectorRef) String() string { return proto.CompactTextString(m) } func (*ConnectorRef) ProtoMessage() {} func (*ConnectorRef) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{157} + return fileDescriptor_9198ee693835762e, []int{159} } func (m *ConnectorRef) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10284,7 +10375,7 @@ func (m *UserRef) Reset() { *m = UserRef{} } func (m *UserRef) String() string { return proto.CompactTextString(m) } func (*UserRef) ProtoMessage() {} func (*UserRef) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{158} + return fileDescriptor_9198ee693835762e, []int{160} } func (m *UserRef) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10334,7 +10425,7 @@ func (m *ReverseTunnelV2) Reset() { *m = ReverseTunnelV2{} } func (m *ReverseTunnelV2) String() string { return proto.CompactTextString(m) } func (*ReverseTunnelV2) ProtoMessage() {} func (*ReverseTunnelV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{159} + return fileDescriptor_9198ee693835762e, []int{161} } func (m *ReverseTunnelV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10381,7 +10472,7 @@ func (m *ReverseTunnelSpecV2) Reset() { *m = ReverseTunnelSpecV2{} } func (m *ReverseTunnelSpecV2) String() string { return proto.CompactTextString(m) } func (*ReverseTunnelSpecV2) ProtoMessage() {} func (*ReverseTunnelSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{160} + return fileDescriptor_9198ee693835762e, []int{162} } func (m *ReverseTunnelSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10430,7 +10521,7 @@ type TunnelConnectionV2 struct { func (m *TunnelConnectionV2) Reset() { *m = TunnelConnectionV2{} } func (*TunnelConnectionV2) ProtoMessage() {} func (*TunnelConnectionV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{161} + return fileDescriptor_9198ee693835762e, []int{163} } func (m *TunnelConnectionV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10478,7 +10569,7 @@ func (m *TunnelConnectionSpecV2) Reset() { *m = TunnelConnectionSpecV2{} func (m *TunnelConnectionSpecV2) String() string { return proto.CompactTextString(m) } func (*TunnelConnectionSpecV2) ProtoMessage() {} func (*TunnelConnectionSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{162} + return fileDescriptor_9198ee693835762e, []int{164} } func (m *TunnelConnectionSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10526,7 +10617,7 @@ func (m *SemaphoreFilter) Reset() { *m = SemaphoreFilter{} } func (m *SemaphoreFilter) String() string { return proto.CompactTextString(m) } func (*SemaphoreFilter) ProtoMessage() {} func (*SemaphoreFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{163} + return fileDescriptor_9198ee693835762e, []int{165} } func (m *SemaphoreFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10577,7 +10668,7 @@ func (m *AcquireSemaphoreRequest) Reset() { *m = AcquireSemaphoreRequest func (m *AcquireSemaphoreRequest) String() string { return proto.CompactTextString(m) } func (*AcquireSemaphoreRequest) ProtoMessage() {} func (*AcquireSemaphoreRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{164} + return fileDescriptor_9198ee693835762e, []int{166} } func (m *AcquireSemaphoreRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10625,7 +10716,7 @@ func (m *SemaphoreLease) Reset() { *m = SemaphoreLease{} } func (m *SemaphoreLease) String() string { return proto.CompactTextString(m) } func (*SemaphoreLease) ProtoMessage() {} func (*SemaphoreLease) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{165} + return fileDescriptor_9198ee693835762e, []int{167} } func (m *SemaphoreLease) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10671,7 +10762,7 @@ func (m *SemaphoreLeaseRef) Reset() { *m = SemaphoreLeaseRef{} } func (m *SemaphoreLeaseRef) String() string { return proto.CompactTextString(m) } func (*SemaphoreLeaseRef) ProtoMessage() {} func (*SemaphoreLeaseRef) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{166} + return fileDescriptor_9198ee693835762e, []int{168} } func (m *SemaphoreLeaseRef) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10720,7 +10811,7 @@ type SemaphoreV3 struct { func (m *SemaphoreV3) Reset() { *m = SemaphoreV3{} } func (*SemaphoreV3) ProtoMessage() {} func (*SemaphoreV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{167} + return fileDescriptor_9198ee693835762e, []int{169} } func (m *SemaphoreV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10762,7 +10853,7 @@ func (m *SemaphoreSpecV3) Reset() { *m = SemaphoreSpecV3{} } func (m *SemaphoreSpecV3) String() string { return proto.CompactTextString(m) } func (*SemaphoreSpecV3) ProtoMessage() {} func (*SemaphoreSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{168} + return fileDescriptor_9198ee693835762e, []int{170} } func (m *SemaphoreSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10811,7 +10902,7 @@ type WebSessionV2 struct { func (m *WebSessionV2) Reset() { *m = WebSessionV2{} } func (*WebSessionV2) ProtoMessage() {} func (*WebSessionV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{169} + return fileDescriptor_9198ee693835762e, []int{171} } func (m *WebSessionV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10896,7 +10987,7 @@ func (m *WebSessionSpecV2) Reset() { *m = WebSessionSpecV2{} } func (m *WebSessionSpecV2) String() string { return proto.CompactTextString(m) } func (*WebSessionSpecV2) ProtoMessage() {} func (*WebSessionSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{170} + return fileDescriptor_9198ee693835762e, []int{172} } func (m *WebSessionSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10941,7 +11032,7 @@ func (m *DeviceWebToken) Reset() { *m = DeviceWebToken{} } func (m *DeviceWebToken) String() string { return proto.CompactTextString(m) } func (*DeviceWebToken) ProtoMessage() {} func (*DeviceWebToken) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{171} + return fileDescriptor_9198ee693835762e, []int{173} } func (m *DeviceWebToken) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10983,7 +11074,7 @@ func (m *WebSessionFilter) Reset() { *m = WebSessionFilter{} } func (m *WebSessionFilter) String() string { return proto.CompactTextString(m) } func (*WebSessionFilter) ProtoMessage() {} func (*WebSessionFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{172} + return fileDescriptor_9198ee693835762e, []int{174} } func (m *WebSessionFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11054,7 +11145,7 @@ func (m *SAMLSessionData) Reset() { *m = SAMLSessionData{} } func (m *SAMLSessionData) String() string { return proto.CompactTextString(m) } func (*SAMLSessionData) ProtoMessage() {} func (*SAMLSessionData) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{173} + return fileDescriptor_9198ee693835762e, []int{175} } func (m *SAMLSessionData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11103,7 +11194,7 @@ func (m *SAMLAttribute) Reset() { *m = SAMLAttribute{} } func (m *SAMLAttribute) String() string { return proto.CompactTextString(m) } func (*SAMLAttribute) ProtoMessage() {} func (*SAMLAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{174} + return fileDescriptor_9198ee693835762e, []int{176} } func (m *SAMLAttribute) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11150,7 +11241,7 @@ func (m *SAMLAttributeValue) Reset() { *m = SAMLAttributeValue{} } func (m *SAMLAttributeValue) String() string { return proto.CompactTextString(m) } func (*SAMLAttributeValue) ProtoMessage() {} func (*SAMLAttributeValue) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{175} + return fileDescriptor_9198ee693835762e, []int{177} } func (m *SAMLAttributeValue) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11201,7 +11292,7 @@ func (m *SAMLNameID) Reset() { *m = SAMLNameID{} } func (m *SAMLNameID) String() string { return proto.CompactTextString(m) } func (*SAMLNameID) ProtoMessage() {} func (*SAMLNameID) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{176} + return fileDescriptor_9198ee693835762e, []int{178} } func (m *SAMLNameID) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11250,7 +11341,7 @@ type RemoteClusterV3 struct { func (m *RemoteClusterV3) Reset() { *m = RemoteClusterV3{} } func (*RemoteClusterV3) ProtoMessage() {} func (*RemoteClusterV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{177} + return fileDescriptor_9198ee693835762e, []int{179} } func (m *RemoteClusterV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11294,7 +11385,7 @@ func (m *RemoteClusterStatusV3) Reset() { *m = RemoteClusterStatusV3{} } func (m *RemoteClusterStatusV3) String() string { return proto.CompactTextString(m) } func (*RemoteClusterStatusV3) ProtoMessage() {} func (*RemoteClusterStatusV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{178} + return fileDescriptor_9198ee693835762e, []int{180} } func (m *RemoteClusterStatusV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11344,7 +11435,7 @@ func (m *KubernetesCluster) Reset() { *m = KubernetesCluster{} } func (m *KubernetesCluster) String() string { return proto.CompactTextString(m) } func (*KubernetesCluster) ProtoMessage() {} func (*KubernetesCluster) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{179} + return fileDescriptor_9198ee693835762e, []int{181} } func (m *KubernetesCluster) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11393,7 +11484,7 @@ type KubernetesClusterV3 struct { func (m *KubernetesClusterV3) Reset() { *m = KubernetesClusterV3{} } func (*KubernetesClusterV3) ProtoMessage() {} func (*KubernetesClusterV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{180} + return fileDescriptor_9198ee693835762e, []int{182} } func (m *KubernetesClusterV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11444,7 +11535,7 @@ func (m *KubernetesClusterSpecV3) Reset() { *m = KubernetesClusterSpecV3 func (m *KubernetesClusterSpecV3) String() string { return proto.CompactTextString(m) } func (*KubernetesClusterSpecV3) ProtoMessage() {} func (*KubernetesClusterSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{181} + return fileDescriptor_9198ee693835762e, []int{183} } func (m *KubernetesClusterSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11492,7 +11583,7 @@ func (m *KubeAzure) Reset() { *m = KubeAzure{} } func (m *KubeAzure) String() string { return proto.CompactTextString(m) } func (*KubeAzure) ProtoMessage() {} func (*KubeAzure) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{182} + return fileDescriptor_9198ee693835762e, []int{184} } func (m *KubeAzure) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11538,7 +11629,7 @@ func (m *KubeAWS) Reset() { *m = KubeAWS{} } func (m *KubeAWS) String() string { return proto.CompactTextString(m) } func (*KubeAWS) ProtoMessage() {} func (*KubeAWS) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{183} + return fileDescriptor_9198ee693835762e, []int{185} } func (m *KubeAWS) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11584,7 +11675,7 @@ func (m *KubeGCP) Reset() { *m = KubeGCP{} } func (m *KubeGCP) String() string { return proto.CompactTextString(m) } func (*KubeGCP) ProtoMessage() {} func (*KubeGCP) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{184} + return fileDescriptor_9198ee693835762e, []int{186} } func (m *KubeGCP) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11626,7 +11717,7 @@ func (m *KubernetesClusterV3List) Reset() { *m = KubernetesClusterV3List func (m *KubernetesClusterV3List) String() string { return proto.CompactTextString(m) } func (*KubernetesClusterV3List) ProtoMessage() {} func (*KubernetesClusterV3List) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{185} + return fileDescriptor_9198ee693835762e, []int{187} } func (m *KubernetesClusterV3List) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11675,7 +11766,7 @@ type KubernetesServerV3 struct { func (m *KubernetesServerV3) Reset() { *m = KubernetesServerV3{} } func (*KubernetesServerV3) ProtoMessage() {} func (*KubernetesServerV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{186} + return fileDescriptor_9198ee693835762e, []int{188} } func (m *KubernetesServerV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11727,7 +11818,7 @@ func (m *KubernetesServerSpecV3) Reset() { *m = KubernetesServerSpecV3{} func (m *KubernetesServerSpecV3) String() string { return proto.CompactTextString(m) } func (*KubernetesServerSpecV3) ProtoMessage() {} func (*KubernetesServerSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{187} + return fileDescriptor_9198ee693835762e, []int{189} } func (m *KubernetesServerSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11779,7 +11870,7 @@ type WebTokenV3 struct { func (m *WebTokenV3) Reset() { *m = WebTokenV3{} } func (*WebTokenV3) ProtoMessage() {} func (*WebTokenV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{188} + return fileDescriptor_9198ee693835762e, []int{190} } func (m *WebTokenV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11823,7 +11914,7 @@ func (m *WebTokenSpecV3) Reset() { *m = WebTokenSpecV3{} } func (m *WebTokenSpecV3) String() string { return proto.CompactTextString(m) } func (*WebTokenSpecV3) ProtoMessage() {} func (*WebTokenSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{189} + return fileDescriptor_9198ee693835762e, []int{191} } func (m *WebTokenSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11867,7 +11958,7 @@ func (m *GetWebSessionRequest) Reset() { *m = GetWebSessionRequest{} } func (m *GetWebSessionRequest) String() string { return proto.CompactTextString(m) } func (*GetWebSessionRequest) ProtoMessage() {} func (*GetWebSessionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{190} + return fileDescriptor_9198ee693835762e, []int{192} } func (m *GetWebSessionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11911,7 +12002,7 @@ func (m *DeleteWebSessionRequest) Reset() { *m = DeleteWebSessionRequest func (m *DeleteWebSessionRequest) String() string { return proto.CompactTextString(m) } func (*DeleteWebSessionRequest) ProtoMessage() {} func (*DeleteWebSessionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{191} + return fileDescriptor_9198ee693835762e, []int{193} } func (m *DeleteWebSessionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11955,7 +12046,7 @@ func (m *GetWebTokenRequest) Reset() { *m = GetWebTokenRequest{} } func (m *GetWebTokenRequest) String() string { return proto.CompactTextString(m) } func (*GetWebTokenRequest) ProtoMessage() {} func (*GetWebTokenRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{192} + return fileDescriptor_9198ee693835762e, []int{194} } func (m *GetWebTokenRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11999,7 +12090,7 @@ func (m *DeleteWebTokenRequest) Reset() { *m = DeleteWebTokenRequest{} } func (m *DeleteWebTokenRequest) String() string { return proto.CompactTextString(m) } func (*DeleteWebTokenRequest) ProtoMessage() {} func (*DeleteWebTokenRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{193} + return fileDescriptor_9198ee693835762e, []int{195} } func (m *DeleteWebTokenRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12041,7 +12132,7 @@ func (m *ResourceRequest) Reset() { *m = ResourceRequest{} } func (m *ResourceRequest) String() string { return proto.CompactTextString(m) } func (*ResourceRequest) ProtoMessage() {} func (*ResourceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{194} + return fileDescriptor_9198ee693835762e, []int{196} } func (m *ResourceRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12085,7 +12176,7 @@ func (m *ResourceWithSecretsRequest) Reset() { *m = ResourceWithSecretsR func (m *ResourceWithSecretsRequest) String() string { return proto.CompactTextString(m) } func (*ResourceWithSecretsRequest) ProtoMessage() {} func (*ResourceWithSecretsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{195} + return fileDescriptor_9198ee693835762e, []int{197} } func (m *ResourceWithSecretsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12127,7 +12218,7 @@ func (m *ResourcesWithSecretsRequest) Reset() { *m = ResourcesWithSecret func (m *ResourcesWithSecretsRequest) String() string { return proto.CompactTextString(m) } func (*ResourcesWithSecretsRequest) ProtoMessage() {} func (*ResourcesWithSecretsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{196} + return fileDescriptor_9198ee693835762e, []int{198} } func (m *ResourcesWithSecretsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12171,7 +12262,7 @@ func (m *ResourceInNamespaceRequest) Reset() { *m = ResourceInNamespaceR func (m *ResourceInNamespaceRequest) String() string { return proto.CompactTextString(m) } func (*ResourceInNamespaceRequest) ProtoMessage() {} func (*ResourceInNamespaceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{197} + return fileDescriptor_9198ee693835762e, []int{199} } func (m *ResourceInNamespaceRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12213,7 +12304,7 @@ func (m *ResourcesInNamespaceRequest) Reset() { *m = ResourcesInNamespac func (m *ResourcesInNamespaceRequest) String() string { return proto.CompactTextString(m) } func (*ResourcesInNamespaceRequest) ProtoMessage() {} func (*ResourcesInNamespaceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{198} + return fileDescriptor_9198ee693835762e, []int{200} } func (m *ResourcesInNamespaceRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12264,7 +12355,7 @@ func (m *OIDCConnectorV3) Reset() { *m = OIDCConnectorV3{} } func (m *OIDCConnectorV3) String() string { return proto.CompactTextString(m) } func (*OIDCConnectorV3) ProtoMessage() {} func (*OIDCConnectorV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{199} + return fileDescriptor_9198ee693835762e, []int{201} } func (m *OIDCConnectorV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12306,7 +12397,7 @@ func (m *OIDCConnectorV3List) Reset() { *m = OIDCConnectorV3List{} } func (m *OIDCConnectorV3List) String() string { return proto.CompactTextString(m) } func (*OIDCConnectorV3List) ProtoMessage() {} func (*OIDCConnectorV3List) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{200} + return fileDescriptor_9198ee693835762e, []int{202} } func (m *OIDCConnectorV3List) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12394,7 +12485,7 @@ func (m *OIDCConnectorSpecV3) Reset() { *m = OIDCConnectorSpecV3{} } func (m *OIDCConnectorSpecV3) String() string { return proto.CompactTextString(m) } func (*OIDCConnectorSpecV3) ProtoMessage() {} func (*OIDCConnectorSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{201} + return fileDescriptor_9198ee693835762e, []int{203} } func (m *OIDCConnectorSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12436,7 +12527,7 @@ func (m *MaxAge) Reset() { *m = MaxAge{} } func (m *MaxAge) String() string { return proto.CompactTextString(m) } func (*MaxAge) ProtoMessage() {} func (*MaxAge) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{202} + return fileDescriptor_9198ee693835762e, []int{204} } func (m *MaxAge) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12481,7 +12572,7 @@ func (m *SSOClientRedirectSettings) Reset() { *m = SSOClientRedirectSett func (m *SSOClientRedirectSettings) String() string { return proto.CompactTextString(m) } func (*SSOClientRedirectSettings) ProtoMessage() {} func (*SSOClientRedirectSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{203} + return fileDescriptor_9198ee693835762e, []int{205} } func (m *SSOClientRedirectSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12538,7 +12629,7 @@ func (m *OIDCConnectorMFASettings) Reset() { *m = OIDCConnectorMFASettin func (m *OIDCConnectorMFASettings) String() string { return proto.CompactTextString(m) } func (*OIDCConnectorMFASettings) ProtoMessage() {} func (*OIDCConnectorMFASettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{204} + return fileDescriptor_9198ee693835762e, []int{206} } func (m *OIDCConnectorMFASettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12640,7 +12731,7 @@ func (m *OIDCAuthRequest) Reset() { *m = OIDCAuthRequest{} } func (m *OIDCAuthRequest) String() string { return proto.CompactTextString(m) } func (*OIDCAuthRequest) ProtoMessage() {} func (*OIDCAuthRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{205} + return fileDescriptor_9198ee693835762e, []int{207} } func (m *OIDCAuthRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12691,7 +12782,7 @@ func (m *SAMLConnectorV2) Reset() { *m = SAMLConnectorV2{} } func (m *SAMLConnectorV2) String() string { return proto.CompactTextString(m) } func (*SAMLConnectorV2) ProtoMessage() {} func (*SAMLConnectorV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{206} + return fileDescriptor_9198ee693835762e, []int{208} } func (m *SAMLConnectorV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12733,7 +12824,7 @@ func (m *SAMLConnectorV2List) Reset() { *m = SAMLConnectorV2List{} } func (m *SAMLConnectorV2List) String() string { return proto.CompactTextString(m) } func (*SAMLConnectorV2List) ProtoMessage() {} func (*SAMLConnectorV2List) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{207} + return fileDescriptor_9198ee693835762e, []int{209} } func (m *SAMLConnectorV2List) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12815,7 +12906,7 @@ func (m *SAMLConnectorSpecV2) Reset() { *m = SAMLConnectorSpecV2{} } func (m *SAMLConnectorSpecV2) String() string { return proto.CompactTextString(m) } func (*SAMLConnectorSpecV2) ProtoMessage() {} func (*SAMLConnectorSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{208} + return fileDescriptor_9198ee693835762e, []int{210} } func (m *SAMLConnectorSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12874,7 +12965,7 @@ func (m *SAMLConnectorMFASettings) Reset() { *m = SAMLConnectorMFASettin func (m *SAMLConnectorMFASettings) String() string { return proto.CompactTextString(m) } func (*SAMLConnectorMFASettings) ProtoMessage() {} func (*SAMLConnectorMFASettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{209} + return fileDescriptor_9198ee693835762e, []int{211} } func (m *SAMLConnectorMFASettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -12970,7 +13061,7 @@ func (m *SAMLAuthRequest) Reset() { *m = SAMLAuthRequest{} } func (m *SAMLAuthRequest) String() string { return proto.CompactTextString(m) } func (*SAMLAuthRequest) ProtoMessage() {} func (*SAMLAuthRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{210} + return fileDescriptor_9198ee693835762e, []int{212} } func (m *SAMLAuthRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13016,7 +13107,7 @@ func (m *AttributeMapping) Reset() { *m = AttributeMapping{} } func (m *AttributeMapping) String() string { return proto.CompactTextString(m) } func (*AttributeMapping) ProtoMessage() {} func (*AttributeMapping) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{211} + return fileDescriptor_9198ee693835762e, []int{213} } func (m *AttributeMapping) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13061,7 +13152,7 @@ func (m *AsymmetricKeyPair) Reset() { *m = AsymmetricKeyPair{} } func (m *AsymmetricKeyPair) String() string { return proto.CompactTextString(m) } func (*AsymmetricKeyPair) ProtoMessage() {} func (*AsymmetricKeyPair) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{212} + return fileDescriptor_9198ee693835762e, []int{214} } func (m *AsymmetricKeyPair) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13112,7 +13203,7 @@ func (m *GithubConnectorV3) Reset() { *m = GithubConnectorV3{} } func (m *GithubConnectorV3) String() string { return proto.CompactTextString(m) } func (*GithubConnectorV3) ProtoMessage() {} func (*GithubConnectorV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{213} + return fileDescriptor_9198ee693835762e, []int{215} } func (m *GithubConnectorV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13154,7 +13245,7 @@ func (m *GithubConnectorV3List) Reset() { *m = GithubConnectorV3List{} } func (m *GithubConnectorV3List) String() string { return proto.CompactTextString(m) } func (*GithubConnectorV3List) ProtoMessage() {} func (*GithubConnectorV3List) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{214} + return fileDescriptor_9198ee693835762e, []int{216} } func (m *GithubConnectorV3List) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13217,7 +13308,7 @@ func (m *GithubConnectorSpecV3) Reset() { *m = GithubConnectorSpecV3{} } func (m *GithubConnectorSpecV3) String() string { return proto.CompactTextString(m) } func (*GithubConnectorSpecV3) ProtoMessage() {} func (*GithubConnectorSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{215} + return fileDescriptor_9198ee693835762e, []int{217} } func (m *GithubConnectorSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13310,7 +13401,7 @@ func (m *GithubAuthRequest) Reset() { *m = GithubAuthRequest{} } func (m *GithubAuthRequest) String() string { return proto.CompactTextString(m) } func (*GithubAuthRequest) ProtoMessage() {} func (*GithubAuthRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{216} + return fileDescriptor_9198ee693835762e, []int{218} } func (m *GithubAuthRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13354,7 +13445,7 @@ func (m *SSOWarnings) Reset() { *m = SSOWarnings{} } func (m *SSOWarnings) String() string { return proto.CompactTextString(m) } func (*SSOWarnings) ProtoMessage() {} func (*SSOWarnings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{217} + return fileDescriptor_9198ee693835762e, []int{219} } func (m *SSOWarnings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13410,7 +13501,7 @@ func (m *CreateUserParams) Reset() { *m = CreateUserParams{} } func (m *CreateUserParams) String() string { return proto.CompactTextString(m) } func (*CreateUserParams) ProtoMessage() {} func (*CreateUserParams) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{218} + return fileDescriptor_9198ee693835762e, []int{220} } func (m *CreateUserParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13495,7 +13586,7 @@ func (m *SSODiagnosticInfo) Reset() { *m = SSODiagnosticInfo{} } func (m *SSODiagnosticInfo) String() string { return proto.CompactTextString(m) } func (*SSODiagnosticInfo) ProtoMessage() {} func (*SSODiagnosticInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{219} + return fileDescriptor_9198ee693835762e, []int{221} } func (m *SSODiagnosticInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13539,7 +13630,7 @@ func (m *GithubTokenInfo) Reset() { *m = GithubTokenInfo{} } func (m *GithubTokenInfo) String() string { return proto.CompactTextString(m) } func (*GithubTokenInfo) ProtoMessage() {} func (*GithubTokenInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{220} + return fileDescriptor_9198ee693835762e, []int{222} } func (m *GithubTokenInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13585,7 +13676,7 @@ func (m *GithubClaims) Reset() { *m = GithubClaims{} } func (m *GithubClaims) String() string { return proto.CompactTextString(m) } func (*GithubClaims) ProtoMessage() {} func (*GithubClaims) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{221} + return fileDescriptor_9198ee693835762e, []int{223} } func (m *GithubClaims) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13637,7 +13728,7 @@ func (m *TeamMapping) Reset() { *m = TeamMapping{} } func (m *TeamMapping) String() string { return proto.CompactTextString(m) } func (*TeamMapping) ProtoMessage() {} func (*TeamMapping) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{222} + return fileDescriptor_9198ee693835762e, []int{224} } func (m *TeamMapping) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13683,7 +13774,7 @@ func (m *TeamRolesMapping) Reset() { *m = TeamRolesMapping{} } func (m *TeamRolesMapping) String() string { return proto.CompactTextString(m) } func (*TeamRolesMapping) ProtoMessage() {} func (*TeamRolesMapping) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{223} + return fileDescriptor_9198ee693835762e, []int{225} } func (m *TeamRolesMapping) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13733,7 +13824,7 @@ type TrustedClusterV2 struct { func (m *TrustedClusterV2) Reset() { *m = TrustedClusterV2{} } func (*TrustedClusterV2) ProtoMessage() {} func (*TrustedClusterV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{224} + return fileDescriptor_9198ee693835762e, []int{226} } func (m *TrustedClusterV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13775,7 +13866,7 @@ func (m *TrustedClusterV2List) Reset() { *m = TrustedClusterV2List{} } func (m *TrustedClusterV2List) String() string { return proto.CompactTextString(m) } func (*TrustedClusterV2List) ProtoMessage() {} func (*TrustedClusterV2List) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{225} + return fileDescriptor_9198ee693835762e, []int{227} } func (m *TrustedClusterV2List) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13831,7 +13922,7 @@ func (m *TrustedClusterSpecV2) Reset() { *m = TrustedClusterSpecV2{} } func (m *TrustedClusterSpecV2) String() string { return proto.CompactTextString(m) } func (*TrustedClusterSpecV2) ProtoMessage() {} func (*TrustedClusterSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{226} + return fileDescriptor_9198ee693835762e, []int{228} } func (m *TrustedClusterSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13885,7 +13976,7 @@ func (m *LockV2) Reset() { *m = LockV2{} } func (m *LockV2) String() string { return proto.CompactTextString(m) } func (*LockV2) ProtoMessage() {} func (*LockV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{227} + return fileDescriptor_9198ee693835762e, []int{229} } func (m *LockV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13935,7 +14026,7 @@ func (m *LockSpecV2) Reset() { *m = LockSpecV2{} } func (m *LockSpecV2) String() string { return proto.CompactTextString(m) } func (*LockSpecV2) ProtoMessage() {} func (*LockSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{228} + return fileDescriptor_9198ee693835762e, []int{230} } func (m *LockSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -13996,7 +14087,7 @@ type LockTarget struct { func (m *LockTarget) Reset() { *m = LockTarget{} } func (*LockTarget) ProtoMessage() {} func (*LockTarget) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{229} + return fileDescriptor_9198ee693835762e, []int{231} } func (m *LockTarget) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14040,7 +14131,7 @@ func (m *AddressCondition) Reset() { *m = AddressCondition{} } func (m *AddressCondition) String() string { return proto.CompactTextString(m) } func (*AddressCondition) ProtoMessage() {} func (*AddressCondition) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{230} + return fileDescriptor_9198ee693835762e, []int{232} } func (m *AddressCondition) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14083,7 +14174,7 @@ func (m *NetworkRestrictionsSpecV4) Reset() { *m = NetworkRestrictionsSp func (m *NetworkRestrictionsSpecV4) String() string { return proto.CompactTextString(m) } func (*NetworkRestrictionsSpecV4) ProtoMessage() {} func (*NetworkRestrictionsSpecV4) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{231} + return fileDescriptor_9198ee693835762e, []int{233} } func (m *NetworkRestrictionsSpecV4) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14136,7 +14227,7 @@ func (m *NetworkRestrictionsV4) Reset() { *m = NetworkRestrictionsV4{} } func (m *NetworkRestrictionsV4) String() string { return proto.CompactTextString(m) } func (*NetworkRestrictionsV4) ProtoMessage() {} func (*NetworkRestrictionsV4) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{232} + return fileDescriptor_9198ee693835762e, []int{234} } func (m *NetworkRestrictionsV4) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14180,7 +14271,7 @@ func (m *WindowsDesktopServiceV3) Reset() { *m = WindowsDesktopServiceV3 func (m *WindowsDesktopServiceV3) String() string { return proto.CompactTextString(m) } func (*WindowsDesktopServiceV3) ProtoMessage() {} func (*WindowsDesktopServiceV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{233} + return fileDescriptor_9198ee693835762e, []int{235} } func (m *WindowsDesktopServiceV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14228,7 +14319,7 @@ func (m *WindowsDesktopServiceSpecV3) Reset() { *m = WindowsDesktopServi func (m *WindowsDesktopServiceSpecV3) String() string { return proto.CompactTextString(m) } func (*WindowsDesktopServiceSpecV3) ProtoMessage() {} func (*WindowsDesktopServiceSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{234} + return fileDescriptor_9198ee693835762e, []int{236} } func (m *WindowsDesktopServiceSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14272,7 +14363,7 @@ func (m *WindowsDesktopFilter) Reset() { *m = WindowsDesktopFilter{} } func (m *WindowsDesktopFilter) String() string { return proto.CompactTextString(m) } func (*WindowsDesktopFilter) ProtoMessage() {} func (*WindowsDesktopFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{235} + return fileDescriptor_9198ee693835762e, []int{237} } func (m *WindowsDesktopFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14316,7 +14407,7 @@ func (m *WindowsDesktopV3) Reset() { *m = WindowsDesktopV3{} } func (m *WindowsDesktopV3) String() string { return proto.CompactTextString(m) } func (*WindowsDesktopV3) ProtoMessage() {} func (*WindowsDesktopV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{236} + return fileDescriptor_9198ee693835762e, []int{238} } func (m *WindowsDesktopV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14369,7 +14460,7 @@ func (m *WindowsDesktopSpecV3) Reset() { *m = WindowsDesktopSpecV3{} } func (m *WindowsDesktopSpecV3) String() string { return proto.CompactTextString(m) } func (*WindowsDesktopSpecV3) ProtoMessage() {} func (*WindowsDesktopSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{237} + return fileDescriptor_9198ee693835762e, []int{239} } func (m *WindowsDesktopSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14413,7 +14504,7 @@ func (m *DynamicWindowsDesktopV1) Reset() { *m = DynamicWindowsDesktopV1 func (m *DynamicWindowsDesktopV1) String() string { return proto.CompactTextString(m) } func (*DynamicWindowsDesktopV1) ProtoMessage() {} func (*DynamicWindowsDesktopV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{238} + return fileDescriptor_9198ee693835762e, []int{240} } func (m *DynamicWindowsDesktopV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14464,7 +14555,7 @@ func (m *DynamicWindowsDesktopSpecV1) Reset() { *m = DynamicWindowsDeskt func (m *DynamicWindowsDesktopSpecV1) String() string { return proto.CompactTextString(m) } func (*DynamicWindowsDesktopSpecV1) ProtoMessage() {} func (*DynamicWindowsDesktopSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{239} + return fileDescriptor_9198ee693835762e, []int{241} } func (m *DynamicWindowsDesktopSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14505,7 +14596,7 @@ func (m *Resolution) Reset() { *m = Resolution{} } func (m *Resolution) String() string { return proto.CompactTextString(m) } func (*Resolution) ProtoMessage() {} func (*Resolution) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{240} + return fileDescriptor_9198ee693835762e, []int{242} } func (m *Resolution) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14588,7 +14679,7 @@ func (m *RegisterUsingTokenRequest) Reset() { *m = RegisterUsingTokenReq func (m *RegisterUsingTokenRequest) String() string { return proto.CompactTextString(m) } func (*RegisterUsingTokenRequest) ProtoMessage() {} func (*RegisterUsingTokenRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{241} + return fileDescriptor_9198ee693835762e, []int{243} } func (m *RegisterUsingTokenRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14642,7 +14733,7 @@ func (m *RecoveryCodesV1) Reset() { *m = RecoveryCodesV1{} } func (m *RecoveryCodesV1) String() string { return proto.CompactTextString(m) } func (*RecoveryCodesV1) ProtoMessage() {} func (*RecoveryCodesV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{242} + return fileDescriptor_9198ee693835762e, []int{244} } func (m *RecoveryCodesV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14687,7 +14778,7 @@ func (m *RecoveryCodesSpecV1) Reset() { *m = RecoveryCodesSpecV1{} } func (m *RecoveryCodesSpecV1) String() string { return proto.CompactTextString(m) } func (*RecoveryCodesSpecV1) ProtoMessage() {} func (*RecoveryCodesSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{243} + return fileDescriptor_9198ee693835762e, []int{245} } func (m *RecoveryCodesSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14731,7 +14822,7 @@ func (m *RecoveryCode) Reset() { *m = RecoveryCode{} } func (m *RecoveryCode) String() string { return proto.CompactTextString(m) } func (*RecoveryCode) ProtoMessage() {} func (*RecoveryCode) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{244} + return fileDescriptor_9198ee693835762e, []int{246} } func (m *RecoveryCode) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14771,7 +14862,7 @@ func (m *NullableSessionState) Reset() { *m = NullableSessionState{} } func (m *NullableSessionState) String() string { return proto.CompactTextString(m) } func (*NullableSessionState) ProtoMessage() {} func (*NullableSessionState) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{245} + return fileDescriptor_9198ee693835762e, []int{247} } func (m *NullableSessionState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14817,7 +14908,7 @@ func (m *SessionTrackerFilter) Reset() { *m = SessionTrackerFilter{} } func (m *SessionTrackerFilter) String() string { return proto.CompactTextString(m) } func (*SessionTrackerFilter) ProtoMessage() {} func (*SessionTrackerFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{246} + return fileDescriptor_9198ee693835762e, []int{248} } func (m *SessionTrackerFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14861,7 +14952,7 @@ func (m *SessionTrackerV1) Reset() { *m = SessionTrackerV1{} } func (m *SessionTrackerV1) String() string { return proto.CompactTextString(m) } func (*SessionTrackerV1) ProtoMessage() {} func (*SessionTrackerV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{247} + return fileDescriptor_9198ee693835762e, []int{249} } func (m *SessionTrackerV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -14959,7 +15050,7 @@ func (m *SessionTrackerSpecV1) Reset() { *m = SessionTrackerSpecV1{} } func (m *SessionTrackerSpecV1) String() string { return proto.CompactTextString(m) } func (*SessionTrackerSpecV1) ProtoMessage() {} func (*SessionTrackerSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{248} + return fileDescriptor_9198ee693835762e, []int{250} } func (m *SessionTrackerSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15006,7 +15097,7 @@ func (m *SessionTrackerPolicySet) Reset() { *m = SessionTrackerPolicySet func (m *SessionTrackerPolicySet) String() string { return proto.CompactTextString(m) } func (*SessionTrackerPolicySet) ProtoMessage() {} func (*SessionTrackerPolicySet) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{249} + return fileDescriptor_9198ee693835762e, []int{251} } func (m *SessionTrackerPolicySet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15054,7 +15145,7 @@ func (m *Participant) Reset() { *m = Participant{} } func (m *Participant) String() string { return proto.CompactTextString(m) } func (*Participant) ProtoMessage() {} func (*Participant) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{250} + return fileDescriptor_9198ee693835762e, []int{252} } func (m *Participant) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15098,7 +15189,7 @@ func (m *UIConfigV1) Reset() { *m = UIConfigV1{} } func (m *UIConfigV1) String() string { return proto.CompactTextString(m) } func (*UIConfigV1) ProtoMessage() {} func (*UIConfigV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{251} + return fileDescriptor_9198ee693835762e, []int{253} } func (m *UIConfigV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15144,7 +15235,7 @@ func (m *UIConfigSpecV1) Reset() { *m = UIConfigSpecV1{} } func (m *UIConfigSpecV1) String() string { return proto.CompactTextString(m) } func (*UIConfigSpecV1) ProtoMessage() {} func (*UIConfigSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{252} + return fileDescriptor_9198ee693835762e, []int{254} } func (m *UIConfigSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15195,7 +15286,7 @@ func (m *InstallerV1) Reset() { *m = InstallerV1{} } func (m *InstallerV1) String() string { return proto.CompactTextString(m) } func (*InstallerV1) ProtoMessage() {} func (*InstallerV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{253} + return fileDescriptor_9198ee693835762e, []int{255} } func (m *InstallerV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15237,7 +15328,7 @@ func (m *InstallerSpecV1) Reset() { *m = InstallerSpecV1{} } func (m *InstallerSpecV1) String() string { return proto.CompactTextString(m) } func (*InstallerSpecV1) ProtoMessage() {} func (*InstallerSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{254} + return fileDescriptor_9198ee693835762e, []int{256} } func (m *InstallerSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15279,7 +15370,7 @@ func (m *InstallerV1List) Reset() { *m = InstallerV1List{} } func (m *InstallerV1List) String() string { return proto.CompactTextString(m) } func (*InstallerV1List) ProtoMessage() {} func (*InstallerV1List) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{255} + return fileDescriptor_9198ee693835762e, []int{257} } func (m *InstallerV1List) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15323,7 +15414,7 @@ func (m *SortBy) Reset() { *m = SortBy{} } func (m *SortBy) String() string { return proto.CompactTextString(m) } func (*SortBy) ProtoMessage() {} func (*SortBy) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{256} + return fileDescriptor_9198ee693835762e, []int{258} } func (m *SortBy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15369,7 +15460,7 @@ func (m *ConnectionDiagnosticV1) Reset() { *m = ConnectionDiagnosticV1{} func (m *ConnectionDiagnosticV1) String() string { return proto.CompactTextString(m) } func (*ConnectionDiagnosticV1) ProtoMessage() {} func (*ConnectionDiagnosticV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{257} + return fileDescriptor_9198ee693835762e, []int{259} } func (m *ConnectionDiagnosticV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15419,7 +15510,7 @@ func (m *ConnectionDiagnosticSpecV1) Reset() { *m = ConnectionDiagnostic func (m *ConnectionDiagnosticSpecV1) String() string { return proto.CompactTextString(m) } func (*ConnectionDiagnosticSpecV1) ProtoMessage() {} func (*ConnectionDiagnosticSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{258} + return fileDescriptor_9198ee693835762e, []int{260} } func (m *ConnectionDiagnosticSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15465,7 +15556,7 @@ func (m *ConnectionDiagnosticTrace) Reset() { *m = ConnectionDiagnosticT func (m *ConnectionDiagnosticTrace) String() string { return proto.CompactTextString(m) } func (*ConnectionDiagnosticTrace) ProtoMessage() {} func (*ConnectionDiagnosticTrace) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{259} + return fileDescriptor_9198ee693835762e, []int{261} } func (m *ConnectionDiagnosticTrace) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15508,7 +15599,7 @@ func (m *DatabaseServiceV1) Reset() { *m = DatabaseServiceV1{} } func (m *DatabaseServiceV1) String() string { return proto.CompactTextString(m) } func (*DatabaseServiceV1) ProtoMessage() {} func (*DatabaseServiceV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{260} + return fileDescriptor_9198ee693835762e, []int{262} } func (m *DatabaseServiceV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15552,7 +15643,7 @@ func (m *DatabaseServiceSpecV1) Reset() { *m = DatabaseServiceSpecV1{} } func (m *DatabaseServiceSpecV1) String() string { return proto.CompactTextString(m) } func (*DatabaseServiceSpecV1) ProtoMessage() {} func (*DatabaseServiceSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{261} + return fileDescriptor_9198ee693835762e, []int{263} } func (m *DatabaseServiceSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15594,7 +15685,7 @@ func (m *DatabaseResourceMatcher) Reset() { *m = DatabaseResourceMatcher func (m *DatabaseResourceMatcher) String() string { return proto.CompactTextString(m) } func (*DatabaseResourceMatcher) ProtoMessage() {} func (*DatabaseResourceMatcher) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{262} + return fileDescriptor_9198ee693835762e, []int{264} } func (m *DatabaseResourceMatcher) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15638,7 +15729,7 @@ func (m *ResourceMatcherAWS) Reset() { *m = ResourceMatcherAWS{} } func (m *ResourceMatcherAWS) String() string { return proto.CompactTextString(m) } func (*ResourceMatcherAWS) ProtoMessage() {} func (*ResourceMatcherAWS) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{263} + return fileDescriptor_9198ee693835762e, []int{265} } func (m *ResourceMatcherAWS) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15680,7 +15771,7 @@ func (m *ClusterAlert) Reset() { *m = ClusterAlert{} } func (m *ClusterAlert) String() string { return proto.CompactTextString(m) } func (*ClusterAlert) ProtoMessage() {} func (*ClusterAlert) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{264} + return fileDescriptor_9198ee693835762e, []int{266} } func (m *ClusterAlert) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15726,7 +15817,7 @@ func (m *ClusterAlertSpec) Reset() { *m = ClusterAlertSpec{} } func (m *ClusterAlertSpec) String() string { return proto.CompactTextString(m) } func (*ClusterAlertSpec) ProtoMessage() {} func (*ClusterAlertSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{265} + return fileDescriptor_9198ee693835762e, []int{267} } func (m *ClusterAlertSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15779,7 +15870,7 @@ func (m *GetClusterAlertsRequest) Reset() { *m = GetClusterAlertsRequest func (m *GetClusterAlertsRequest) String() string { return proto.CompactTextString(m) } func (*GetClusterAlertsRequest) ProtoMessage() {} func (*GetClusterAlertsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{266} + return fileDescriptor_9198ee693835762e, []int{268} } func (m *GetClusterAlertsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15829,7 +15920,7 @@ func (m *AlertAcknowledgement) Reset() { *m = AlertAcknowledgement{} } func (m *AlertAcknowledgement) String() string { return proto.CompactTextString(m) } func (*AlertAcknowledgement) ProtoMessage() {} func (*AlertAcknowledgement) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{267} + return fileDescriptor_9198ee693835762e, []int{269} } func (m *AlertAcknowledgement) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15881,7 +15972,7 @@ func (m *Release) Reset() { *m = Release{} } func (m *Release) String() string { return proto.CompactTextString(m) } func (*Release) ProtoMessage() {} func (*Release) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{268} + return fileDescriptor_9198ee693835762e, []int{270} } func (m *Release) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15939,7 +16030,7 @@ func (m *Asset) Reset() { *m = Asset{} } func (m *Asset) String() string { return proto.CompactTextString(m) } func (*Asset) ProtoMessage() {} func (*Asset) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{269} + return fileDescriptor_9198ee693835762e, []int{271} } func (m *Asset) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -15992,7 +16083,7 @@ func (m *PluginV1) Reset() { *m = PluginV1{} } func (m *PluginV1) String() string { return proto.CompactTextString(m) } func (*PluginV1) ProtoMessage() {} func (*PluginV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{270} + return fileDescriptor_9198ee693835762e, []int{272} } func (m *PluginV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -16059,7 +16150,7 @@ func (m *PluginSpecV1) Reset() { *m = PluginSpecV1{} } func (m *PluginSpecV1) String() string { return proto.CompactTextString(m) } func (*PluginSpecV1) ProtoMessage() {} func (*PluginSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{271} + return fileDescriptor_9198ee693835762e, []int{273} } func (m *PluginSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -16325,7 +16416,7 @@ func (m *PluginSlackAccessSettings) Reset() { *m = PluginSlackAccessSett func (m *PluginSlackAccessSettings) String() string { return proto.CompactTextString(m) } func (*PluginSlackAccessSettings) ProtoMessage() {} func (*PluginSlackAccessSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{272} + return fileDescriptor_9198ee693835762e, []int{274} } func (m *PluginSlackAccessSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -16366,7 +16457,7 @@ func (m *PluginGitlabSettings) Reset() { *m = PluginGitlabSettings{} } func (m *PluginGitlabSettings) String() string { return proto.CompactTextString(m) } func (*PluginGitlabSettings) ProtoMessage() {} func (*PluginGitlabSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{273} + return fileDescriptor_9198ee693835762e, []int{275} } func (m *PluginGitlabSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -16413,7 +16504,7 @@ func (m *PluginOpsgenieAccessSettings) Reset() { *m = PluginOpsgenieAcce func (m *PluginOpsgenieAccessSettings) String() string { return proto.CompactTextString(m) } func (*PluginOpsgenieAccessSettings) ProtoMessage() {} func (*PluginOpsgenieAccessSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{274} + return fileDescriptor_9198ee693835762e, []int{276} } func (m *PluginOpsgenieAccessSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -16461,7 +16552,7 @@ func (m *PluginServiceNowSettings) Reset() { *m = PluginServiceNowSettin func (m *PluginServiceNowSettings) String() string { return proto.CompactTextString(m) } func (*PluginServiceNowSettings) ProtoMessage() {} func (*PluginServiceNowSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{275} + return fileDescriptor_9198ee693835762e, []int{277} } func (m *PluginServiceNowSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -16507,7 +16598,7 @@ func (m *PluginPagerDutySettings) Reset() { *m = PluginPagerDutySettings func (m *PluginPagerDutySettings) String() string { return proto.CompactTextString(m) } func (*PluginPagerDutySettings) ProtoMessage() {} func (*PluginPagerDutySettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{276} + return fileDescriptor_9198ee693835762e, []int{278} } func (m *PluginPagerDutySettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -16553,7 +16644,7 @@ func (m *PluginJiraSettings) Reset() { *m = PluginJiraSettings{} } func (m *PluginJiraSettings) String() string { return proto.CompactTextString(m) } func (*PluginJiraSettings) ProtoMessage() {} func (*PluginJiraSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{277} + return fileDescriptor_9198ee693835762e, []int{279} } func (m *PluginJiraSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -16593,7 +16684,7 @@ func (m *PluginOpenAISettings) Reset() { *m = PluginOpenAISettings{} } func (m *PluginOpenAISettings) String() string { return proto.CompactTextString(m) } func (*PluginOpenAISettings) ProtoMessage() {} func (*PluginOpenAISettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{278} + return fileDescriptor_9198ee693835762e, []int{280} } func (m *PluginOpenAISettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -16644,7 +16735,7 @@ func (m *PluginMattermostSettings) Reset() { *m = PluginMattermostSettin func (m *PluginMattermostSettings) String() string { return proto.CompactTextString(m) } func (*PluginMattermostSettings) ProtoMessage() {} func (*PluginMattermostSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{279} + return fileDescriptor_9198ee693835762e, []int{281} } func (m *PluginMattermostSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -16686,7 +16777,7 @@ func (m *PluginJamfSettings) Reset() { *m = PluginJamfSettings{} } func (m *PluginJamfSettings) String() string { return proto.CompactTextString(m) } func (*PluginJamfSettings) ProtoMessage() {} func (*PluginJamfSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{280} + return fileDescriptor_9198ee693835762e, []int{282} } func (m *PluginJamfSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -16738,7 +16829,7 @@ func (m *PluginOktaSettings) Reset() { *m = PluginOktaSettings{} } func (m *PluginOktaSettings) String() string { return proto.CompactTextString(m) } func (*PluginOktaSettings) ProtoMessage() {} func (*PluginOktaSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{281} + return fileDescriptor_9198ee693835762e, []int{283} } func (m *PluginOktaSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -16785,7 +16876,7 @@ func (m *PluginOktaCredentialsInfo) Reset() { *m = PluginOktaCredentials func (m *PluginOktaCredentialsInfo) String() string { return proto.CompactTextString(m) } func (*PluginOktaCredentialsInfo) ProtoMessage() {} func (*PluginOktaCredentialsInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{282} + return fileDescriptor_9198ee693835762e, []int{284} } func (m *PluginOktaCredentialsInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -16869,7 +16960,7 @@ func (m *PluginOktaSyncSettings) Reset() { *m = PluginOktaSyncSettings{} func (m *PluginOktaSyncSettings) String() string { return proto.CompactTextString(m) } func (*PluginOktaSyncSettings) ProtoMessage() {} func (*PluginOktaSyncSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{283} + return fileDescriptor_9198ee693835762e, []int{285} } func (m *PluginOktaSyncSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -16910,7 +17001,7 @@ func (m *DiscordChannels) Reset() { *m = DiscordChannels{} } func (m *DiscordChannels) String() string { return proto.CompactTextString(m) } func (*DiscordChannels) ProtoMessage() {} func (*DiscordChannels) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{284} + return fileDescriptor_9198ee693835762e, []int{286} } func (m *DiscordChannels) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -16954,7 +17045,7 @@ func (m *PluginDiscordSettings) Reset() { *m = PluginDiscordSettings{} } func (m *PluginDiscordSettings) String() string { return proto.CompactTextString(m) } func (*PluginDiscordSettings) ProtoMessage() {} func (*PluginDiscordSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{285} + return fileDescriptor_9198ee693835762e, []int{287} } func (m *PluginDiscordSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -16999,7 +17090,7 @@ func (m *PluginEntraIDSettings) Reset() { *m = PluginEntraIDSettings{} } func (m *PluginEntraIDSettings) String() string { return proto.CompactTextString(m) } func (*PluginEntraIDSettings) ProtoMessage() {} func (*PluginEntraIDSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{286} + return fileDescriptor_9198ee693835762e, []int{288} } func (m *PluginEntraIDSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17053,7 +17144,7 @@ func (m *PluginEntraIDSyncSettings) Reset() { *m = PluginEntraIDSyncSett func (m *PluginEntraIDSyncSettings) String() string { return proto.CompactTextString(m) } func (*PluginEntraIDSyncSettings) ProtoMessage() {} func (*PluginEntraIDSyncSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{287} + return fileDescriptor_9198ee693835762e, []int{289} } func (m *PluginEntraIDSyncSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17098,7 +17189,7 @@ func (m *PluginEntraIDAccessGraphSettings) Reset() { *m = PluginEntraIDA func (m *PluginEntraIDAccessGraphSettings) String() string { return proto.CompactTextString(m) } func (*PluginEntraIDAccessGraphSettings) ProtoMessage() {} func (*PluginEntraIDAccessGraphSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{288} + return fileDescriptor_9198ee693835762e, []int{290} } func (m *PluginEntraIDAccessGraphSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17144,7 +17235,7 @@ func (m *PluginEntraIDAppSSOSettings) Reset() { *m = PluginEntraIDAppSSO func (m *PluginEntraIDAppSSOSettings) String() string { return proto.CompactTextString(m) } func (*PluginEntraIDAppSSOSettings) ProtoMessage() {} func (*PluginEntraIDAppSSOSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{289} + return fileDescriptor_9198ee693835762e, []int{291} } func (m *PluginEntraIDAppSSOSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17190,7 +17281,7 @@ func (m *PluginSCIMSettings) Reset() { *m = PluginSCIMSettings{} } func (m *PluginSCIMSettings) String() string { return proto.CompactTextString(m) } func (*PluginSCIMSettings) ProtoMessage() {} func (*PluginSCIMSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{290} + return fileDescriptor_9198ee693835762e, []int{292} } func (m *PluginSCIMSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17234,7 +17325,7 @@ func (m *PluginDatadogAccessSettings) Reset() { *m = PluginDatadogAccess func (m *PluginDatadogAccessSettings) String() string { return proto.CompactTextString(m) } func (*PluginDatadogAccessSettings) ProtoMessage() {} func (*PluginDatadogAccessSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{291} + return fileDescriptor_9198ee693835762e, []int{293} } func (m *PluginDatadogAccessSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17289,7 +17380,7 @@ func (m *PluginAWSICSettings) Reset() { *m = PluginAWSICSettings{} } func (m *PluginAWSICSettings) String() string { return proto.CompactTextString(m) } func (*PluginAWSICSettings) ProtoMessage() {} func (*PluginAWSICSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{292} + return fileDescriptor_9198ee693835762e, []int{294} } func (m *PluginAWSICSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17336,7 +17427,7 @@ func (m *AWSICProvisioningSpec) Reset() { *m = AWSICProvisioningSpec{} } func (m *AWSICProvisioningSpec) String() string { return proto.CompactTextString(m) } func (*AWSICProvisioningSpec) ProtoMessage() {} func (*AWSICProvisioningSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{293} + return fileDescriptor_9198ee693835762e, []int{295} } func (m *AWSICProvisioningSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17378,7 +17469,7 @@ func (m *PluginAWSICStatusV1) Reset() { *m = PluginAWSICStatusV1{} } func (m *PluginAWSICStatusV1) String() string { return proto.CompactTextString(m) } func (*PluginAWSICStatusV1) ProtoMessage() {} func (*PluginAWSICStatusV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{294} + return fileDescriptor_9198ee693835762e, []int{296} } func (m *PluginAWSICStatusV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17423,7 +17514,7 @@ func (m *AWSICGroupImportStatus) Reset() { *m = AWSICGroupImportStatus{} func (m *AWSICGroupImportStatus) String() string { return proto.CompactTextString(m) } func (*AWSICGroupImportStatus) ProtoMessage() {} func (*AWSICGroupImportStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{295} + return fileDescriptor_9198ee693835762e, []int{297} } func (m *AWSICGroupImportStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17474,7 +17565,7 @@ func (m *PluginEmailSettings) Reset() { *m = PluginEmailSettings{} } func (m *PluginEmailSettings) String() string { return proto.CompactTextString(m) } func (*PluginEmailSettings) ProtoMessage() {} func (*PluginEmailSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{296} + return fileDescriptor_9198ee693835762e, []int{298} } func (m *PluginEmailSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17562,7 +17653,7 @@ func (m *MailgunSpec) Reset() { *m = MailgunSpec{} } func (m *MailgunSpec) String() string { return proto.CompactTextString(m) } func (*MailgunSpec) ProtoMessage() {} func (*MailgunSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{297} + return fileDescriptor_9198ee693835762e, []int{299} } func (m *MailgunSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17609,7 +17700,7 @@ func (m *SMTPSpec) Reset() { *m = SMTPSpec{} } func (m *SMTPSpec) String() string { return proto.CompactTextString(m) } func (*SMTPSpec) ProtoMessage() {} func (*SMTPSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{298} + return fileDescriptor_9198ee693835762e, []int{300} } func (m *SMTPSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17659,7 +17750,7 @@ func (m *PluginMSTeamsSettings) Reset() { *m = PluginMSTeamsSettings{} } func (m *PluginMSTeamsSettings) String() string { return proto.CompactTextString(m) } func (*PluginMSTeamsSettings) ProtoMessage() {} func (*PluginMSTeamsSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{299} + return fileDescriptor_9198ee693835762e, []int{301} } func (m *PluginMSTeamsSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17704,7 +17795,7 @@ func (m *PluginBootstrapCredentialsV1) Reset() { *m = PluginBootstrapCre func (m *PluginBootstrapCredentialsV1) String() string { return proto.CompactTextString(m) } func (*PluginBootstrapCredentialsV1) ProtoMessage() {} func (*PluginBootstrapCredentialsV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{300} + return fileDescriptor_9198ee693835762e, []int{302} } func (m *PluginBootstrapCredentialsV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17804,7 +17895,7 @@ func (m *PluginIdSecretCredential) Reset() { *m = PluginIdSecretCredenti func (m *PluginIdSecretCredential) String() string { return proto.CompactTextString(m) } func (*PluginIdSecretCredential) ProtoMessage() {} func (*PluginIdSecretCredential) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{301} + return fileDescriptor_9198ee693835762e, []int{303} } func (m *PluginIdSecretCredential) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17847,7 +17938,7 @@ func (m *PluginOAuth2AuthorizationCodeCredentials) Reset() { func (m *PluginOAuth2AuthorizationCodeCredentials) String() string { return proto.CompactTextString(m) } func (*PluginOAuth2AuthorizationCodeCredentials) ProtoMessage() {} func (*PluginOAuth2AuthorizationCodeCredentials) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{302} + return fileDescriptor_9198ee693835762e, []int{304} } func (m *PluginOAuth2AuthorizationCodeCredentials) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17906,7 +17997,7 @@ func (m *PluginStatusV1) Reset() { *m = PluginStatusV1{} } func (m *PluginStatusV1) String() string { return proto.CompactTextString(m) } func (*PluginStatusV1) ProtoMessage() {} func (*PluginStatusV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{303} + return fileDescriptor_9198ee693835762e, []int{305} } func (m *PluginStatusV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18021,7 +18112,7 @@ func (m *PluginGitlabStatusV1) Reset() { *m = PluginGitlabStatusV1{} } func (m *PluginGitlabStatusV1) String() string { return proto.CompactTextString(m) } func (*PluginGitlabStatusV1) ProtoMessage() {} func (*PluginGitlabStatusV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{304} + return fileDescriptor_9198ee693835762e, []int{306} } func (m *PluginGitlabStatusV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18065,7 +18156,7 @@ func (m *PluginEntraIDStatusV1) Reset() { *m = PluginEntraIDStatusV1{} } func (m *PluginEntraIDStatusV1) String() string { return proto.CompactTextString(m) } func (*PluginEntraIDStatusV1) ProtoMessage() {} func (*PluginEntraIDStatusV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{305} + return fileDescriptor_9198ee693835762e, []int{307} } func (m *PluginEntraIDStatusV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18119,7 +18210,7 @@ func (m *PluginOktaStatusV1) Reset() { *m = PluginOktaStatusV1{} } func (m *PluginOktaStatusV1) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusV1) ProtoMessage() {} func (*PluginOktaStatusV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{306} + return fileDescriptor_9198ee693835762e, []int{308} } func (m *PluginOktaStatusV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18167,7 +18258,7 @@ func (m *PluginOktaStatusDetailsSSO) Reset() { *m = PluginOktaStatusDeta func (m *PluginOktaStatusDetailsSSO) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusDetailsSSO) ProtoMessage() {} func (*PluginOktaStatusDetailsSSO) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{307} + return fileDescriptor_9198ee693835762e, []int{309} } func (m *PluginOktaStatusDetailsSSO) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18224,7 +18315,7 @@ func (m *PluginOktaStatusDetailsAppGroupSync) Reset() { *m = PluginOktaS func (m *PluginOktaStatusDetailsAppGroupSync) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusDetailsAppGroupSync) ProtoMessage() {} func (*PluginOktaStatusDetailsAppGroupSync) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{308} + return fileDescriptor_9198ee693835762e, []int{310} } func (m *PluginOktaStatusDetailsAppGroupSync) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18278,7 +18369,7 @@ func (m *PluginOktaStatusDetailsUsersSync) Reset() { *m = PluginOktaStat func (m *PluginOktaStatusDetailsUsersSync) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusDetailsUsersSync) ProtoMessage() {} func (*PluginOktaStatusDetailsUsersSync) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{309} + return fileDescriptor_9198ee693835762e, []int{311} } func (m *PluginOktaStatusDetailsUsersSync) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18321,7 +18412,7 @@ func (m *PluginOktaStatusDetailsSCIM) Reset() { *m = PluginOktaStatusDet func (m *PluginOktaStatusDetailsSCIM) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusDetailsSCIM) ProtoMessage() {} func (*PluginOktaStatusDetailsSCIM) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{310} + return fileDescriptor_9198ee693835762e, []int{312} } func (m *PluginOktaStatusDetailsSCIM) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18383,7 +18474,7 @@ func (m *PluginOktaStatusDetailsAccessListsSync) Reset() { func (m *PluginOktaStatusDetailsAccessListsSync) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusDetailsAccessListsSync) ProtoMessage() {} func (*PluginOktaStatusDetailsAccessListsSync) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{311} + return fileDescriptor_9198ee693835762e, []int{313} } func (m *PluginOktaStatusDetailsAccessListsSync) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18431,7 +18522,7 @@ func (m *PluginCredentialsV1) Reset() { *m = PluginCredentialsV1{} } func (m *PluginCredentialsV1) String() string { return proto.CompactTextString(m) } func (*PluginCredentialsV1) ProtoMessage() {} func (*PluginCredentialsV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{312} + return fileDescriptor_9198ee693835762e, []int{314} } func (m *PluginCredentialsV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18542,7 +18633,7 @@ func (m *PluginOAuth2AccessTokenCredentials) Reset() { *m = PluginOAuth2 func (m *PluginOAuth2AccessTokenCredentials) String() string { return proto.CompactTextString(m) } func (*PluginOAuth2AccessTokenCredentials) ProtoMessage() {} func (*PluginOAuth2AccessTokenCredentials) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{313} + return fileDescriptor_9198ee693835762e, []int{315} } func (m *PluginOAuth2AccessTokenCredentials) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18583,7 +18674,7 @@ func (m *PluginBearerTokenCredentials) Reset() { *m = PluginBearerTokenC func (m *PluginBearerTokenCredentials) String() string { return proto.CompactTextString(m) } func (*PluginBearerTokenCredentials) ProtoMessage() {} func (*PluginBearerTokenCredentials) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{314} + return fileDescriptor_9198ee693835762e, []int{316} } func (m *PluginBearerTokenCredentials) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18625,7 +18716,7 @@ func (m *PluginStaticCredentialsRef) Reset() { *m = PluginStaticCredenti func (m *PluginStaticCredentialsRef) String() string { return proto.CompactTextString(m) } func (*PluginStaticCredentialsRef) ProtoMessage() {} func (*PluginStaticCredentialsRef) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{315} + return fileDescriptor_9198ee693835762e, []int{317} } func (m *PluginStaticCredentialsRef) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18667,7 +18758,7 @@ func (m *PluginListV1) Reset() { *m = PluginListV1{} } func (m *PluginListV1) String() string { return proto.CompactTextString(m) } func (*PluginListV1) ProtoMessage() {} func (*PluginListV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{316} + return fileDescriptor_9198ee693835762e, []int{318} } func (m *PluginListV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18710,7 +18801,7 @@ type PluginStaticCredentialsV1 struct { func (m *PluginStaticCredentialsV1) Reset() { *m = PluginStaticCredentialsV1{} } func (*PluginStaticCredentialsV1) ProtoMessage() {} func (*PluginStaticCredentialsV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{317} + return fileDescriptor_9198ee693835762e, []int{319} } func (m *PluginStaticCredentialsV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18757,7 +18848,7 @@ func (m *PluginStaticCredentialsSpecV1) Reset() { *m = PluginStaticCrede func (m *PluginStaticCredentialsSpecV1) String() string { return proto.CompactTextString(m) } func (*PluginStaticCredentialsSpecV1) ProtoMessage() {} func (*PluginStaticCredentialsSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{318} + return fileDescriptor_9198ee693835762e, []int{320} } func (m *PluginStaticCredentialsSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18872,7 +18963,7 @@ func (m *PluginStaticCredentialsBasicAuth) Reset() { *m = PluginStaticCr func (m *PluginStaticCredentialsBasicAuth) String() string { return proto.CompactTextString(m) } func (*PluginStaticCredentialsBasicAuth) ProtoMessage() {} func (*PluginStaticCredentialsBasicAuth) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{319} + return fileDescriptor_9198ee693835762e, []int{321} } func (m *PluginStaticCredentialsBasicAuth) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18918,7 +19009,7 @@ func (m *PluginStaticCredentialsOAuthClientSecret) Reset() { func (m *PluginStaticCredentialsOAuthClientSecret) String() string { return proto.CompactTextString(m) } func (*PluginStaticCredentialsOAuthClientSecret) ProtoMessage() {} func (*PluginStaticCredentialsOAuthClientSecret) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{320} + return fileDescriptor_9198ee693835762e, []int{322} } func (m *PluginStaticCredentialsOAuthClientSecret) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18966,7 +19057,7 @@ func (m *PluginStaticCredentialsSSHCertAuthorities) String() string { } func (*PluginStaticCredentialsSSHCertAuthorities) ProtoMessage() {} func (*PluginStaticCredentialsSSHCertAuthorities) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{321} + return fileDescriptor_9198ee693835762e, []int{323} } func (m *PluginStaticCredentialsSSHCertAuthorities) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19009,7 +19100,7 @@ type SAMLIdPServiceProviderV1 struct { func (m *SAMLIdPServiceProviderV1) Reset() { *m = SAMLIdPServiceProviderV1{} } func (*SAMLIdPServiceProviderV1) ProtoMessage() {} func (*SAMLIdPServiceProviderV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{322} + return fileDescriptor_9198ee693835762e, []int{324} } func (m *SAMLIdPServiceProviderV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19080,7 +19171,7 @@ func (m *SAMLIdPServiceProviderSpecV1) Reset() { *m = SAMLIdPServiceProv func (m *SAMLIdPServiceProviderSpecV1) String() string { return proto.CompactTextString(m) } func (*SAMLIdPServiceProviderSpecV1) ProtoMessage() {} func (*SAMLIdPServiceProviderSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{323} + return fileDescriptor_9198ee693835762e, []int{325} } func (m *SAMLIdPServiceProviderSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19127,7 +19218,7 @@ func (m *SAMLAttributeMapping) Reset() { *m = SAMLAttributeMapping{} } func (m *SAMLAttributeMapping) String() string { return proto.CompactTextString(m) } func (*SAMLAttributeMapping) ProtoMessage() {} func (*SAMLAttributeMapping) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{324} + return fileDescriptor_9198ee693835762e, []int{326} } func (m *SAMLAttributeMapping) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19169,7 +19260,7 @@ func (m *IdPOptions) Reset() { *m = IdPOptions{} } func (m *IdPOptions) String() string { return proto.CompactTextString(m) } func (*IdPOptions) ProtoMessage() {} func (*IdPOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{325} + return fileDescriptor_9198ee693835762e, []int{327} } func (m *IdPOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19211,7 +19302,7 @@ func (m *IdPSAMLOptions) Reset() { *m = IdPSAMLOptions{} } func (m *IdPSAMLOptions) String() string { return proto.CompactTextString(m) } func (*IdPSAMLOptions) ProtoMessage() {} func (*IdPSAMLOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{326} + return fileDescriptor_9198ee693835762e, []int{328} } func (m *IdPSAMLOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19261,7 +19352,7 @@ func (m *KubernetesResourceV1) Reset() { *m = KubernetesResourceV1{} } func (m *KubernetesResourceV1) String() string { return proto.CompactTextString(m) } func (*KubernetesResourceV1) ProtoMessage() {} func (*KubernetesResourceV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{327} + return fileDescriptor_9198ee693835762e, []int{329} } func (m *KubernetesResourceV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19303,7 +19394,7 @@ func (m *KubernetesResourceSpecV1) Reset() { *m = KubernetesResourceSpec func (m *KubernetesResourceSpecV1) String() string { return proto.CompactTextString(m) } func (*KubernetesResourceSpecV1) ProtoMessage() {} func (*KubernetesResourceSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{328} + return fileDescriptor_9198ee693835762e, []int{330} } func (m *KubernetesResourceSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19349,7 +19440,7 @@ func (m *ClusterMaintenanceConfigV1) Reset() { *m = ClusterMaintenanceCo func (m *ClusterMaintenanceConfigV1) String() string { return proto.CompactTextString(m) } func (*ClusterMaintenanceConfigV1) ProtoMessage() {} func (*ClusterMaintenanceConfigV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{329} + return fileDescriptor_9198ee693835762e, []int{331} } func (m *ClusterMaintenanceConfigV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19391,7 +19482,7 @@ func (m *ClusterMaintenanceConfigSpecV1) Reset() { *m = ClusterMaintenan func (m *ClusterMaintenanceConfigSpecV1) String() string { return proto.CompactTextString(m) } func (*ClusterMaintenanceConfigSpecV1) ProtoMessage() {} func (*ClusterMaintenanceConfigSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{330} + return fileDescriptor_9198ee693835762e, []int{332} } func (m *ClusterMaintenanceConfigSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19437,7 +19528,7 @@ func (m *AgentUpgradeWindow) Reset() { *m = AgentUpgradeWindow{} } func (m *AgentUpgradeWindow) String() string { return proto.CompactTextString(m) } func (*AgentUpgradeWindow) ProtoMessage() {} func (*AgentUpgradeWindow) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{331} + return fileDescriptor_9198ee693835762e, []int{333} } func (m *AgentUpgradeWindow) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19484,7 +19575,7 @@ func (m *ScheduledAgentUpgradeWindow) Reset() { *m = ScheduledAgentUpgra func (m *ScheduledAgentUpgradeWindow) String() string { return proto.CompactTextString(m) } func (*ScheduledAgentUpgradeWindow) ProtoMessage() {} func (*ScheduledAgentUpgradeWindow) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{332} + return fileDescriptor_9198ee693835762e, []int{334} } func (m *ScheduledAgentUpgradeWindow) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19527,7 +19618,7 @@ func (m *AgentUpgradeSchedule) Reset() { *m = AgentUpgradeSchedule{} } func (m *AgentUpgradeSchedule) String() string { return proto.CompactTextString(m) } func (*AgentUpgradeSchedule) ProtoMessage() {} func (*AgentUpgradeSchedule) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{333} + return fileDescriptor_9198ee693835762e, []int{335} } func (m *AgentUpgradeSchedule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19570,7 +19661,7 @@ type UserGroupV1 struct { func (m *UserGroupV1) Reset() { *m = UserGroupV1{} } func (*UserGroupV1) ProtoMessage() {} func (*UserGroupV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{334} + return fileDescriptor_9198ee693835762e, []int{336} } func (m *UserGroupV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19612,7 +19703,7 @@ func (m *UserGroupSpecV1) Reset() { *m = UserGroupSpecV1{} } func (m *UserGroupSpecV1) String() string { return proto.CompactTextString(m) } func (*UserGroupSpecV1) ProtoMessage() {} func (*UserGroupSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{335} + return fileDescriptor_9198ee693835762e, []int{337} } func (m *UserGroupSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19656,7 +19747,7 @@ func (m *OktaImportRuleSpecV1) Reset() { *m = OktaImportRuleSpecV1{} } func (m *OktaImportRuleSpecV1) String() string { return proto.CompactTextString(m) } func (*OktaImportRuleSpecV1) ProtoMessage() {} func (*OktaImportRuleSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{336} + return fileDescriptor_9198ee693835762e, []int{338} } func (m *OktaImportRuleSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19700,7 +19791,7 @@ func (m *OktaImportRuleMappingV1) Reset() { *m = OktaImportRuleMappingV1 func (m *OktaImportRuleMappingV1) String() string { return proto.CompactTextString(m) } func (*OktaImportRuleMappingV1) ProtoMessage() {} func (*OktaImportRuleMappingV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{337} + return fileDescriptor_9198ee693835762e, []int{339} } func (m *OktaImportRuleMappingV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19743,7 +19834,7 @@ type OktaImportRuleV1 struct { func (m *OktaImportRuleV1) Reset() { *m = OktaImportRuleV1{} } func (*OktaImportRuleV1) ProtoMessage() {} func (*OktaImportRuleV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{338} + return fileDescriptor_9198ee693835762e, []int{340} } func (m *OktaImportRuleV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19791,7 +19882,7 @@ func (m *OktaImportRuleMatchV1) Reset() { *m = OktaImportRuleMatchV1{} } func (m *OktaImportRuleMatchV1) String() string { return proto.CompactTextString(m) } func (*OktaImportRuleMatchV1) ProtoMessage() {} func (*OktaImportRuleMatchV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{339} + return fileDescriptor_9198ee693835762e, []int{341} } func (m *OktaImportRuleMatchV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19834,7 +19925,7 @@ type OktaAssignmentV1 struct { func (m *OktaAssignmentV1) Reset() { *m = OktaAssignmentV1{} } func (*OktaAssignmentV1) ProtoMessage() {} func (*OktaAssignmentV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{340} + return fileDescriptor_9198ee693835762e, []int{342} } func (m *OktaAssignmentV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19888,7 +19979,7 @@ func (m *OktaAssignmentSpecV1) Reset() { *m = OktaAssignmentSpecV1{} } func (m *OktaAssignmentSpecV1) String() string { return proto.CompactTextString(m) } func (*OktaAssignmentSpecV1) ProtoMessage() {} func (*OktaAssignmentSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{341} + return fileDescriptor_9198ee693835762e, []int{343} } func (m *OktaAssignmentSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19932,7 +20023,7 @@ func (m *OktaAssignmentTargetV1) Reset() { *m = OktaAssignmentTargetV1{} func (m *OktaAssignmentTargetV1) String() string { return proto.CompactTextString(m) } func (*OktaAssignmentTargetV1) ProtoMessage() {} func (*OktaAssignmentTargetV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{342} + return fileDescriptor_9198ee693835762e, []int{344} } func (m *OktaAssignmentTargetV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19977,7 +20068,7 @@ type IntegrationV1 struct { func (m *IntegrationV1) Reset() { *m = IntegrationV1{} } func (*IntegrationV1) ProtoMessage() {} func (*IntegrationV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{343} + return fileDescriptor_9198ee693835762e, []int{345} } func (m *IntegrationV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20025,7 +20116,7 @@ func (m *IntegrationSpecV1) Reset() { *m = IntegrationSpecV1{} } func (m *IntegrationSpecV1) String() string { return proto.CompactTextString(m) } func (*IntegrationSpecV1) ProtoMessage() {} func (*IntegrationSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{344} + return fileDescriptor_9198ee693835762e, []int{346} } func (m *IntegrationSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20144,7 +20235,7 @@ func (m *AWSOIDCIntegrationSpecV1) Reset() { *m = AWSOIDCIntegrationSpec func (m *AWSOIDCIntegrationSpecV1) String() string { return proto.CompactTextString(m) } func (*AWSOIDCIntegrationSpecV1) ProtoMessage() {} func (*AWSOIDCIntegrationSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{345} + return fileDescriptor_9198ee693835762e, []int{347} } func (m *AWSOIDCIntegrationSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20190,7 +20281,7 @@ func (m *AzureOIDCIntegrationSpecV1) Reset() { *m = AzureOIDCIntegration func (m *AzureOIDCIntegrationSpecV1) String() string { return proto.CompactTextString(m) } func (*AzureOIDCIntegrationSpecV1) ProtoMessage() {} func (*AzureOIDCIntegrationSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{346} + return fileDescriptor_9198ee693835762e, []int{348} } func (m *AzureOIDCIntegrationSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20232,7 +20323,7 @@ func (m *GitHubIntegrationSpecV1) Reset() { *m = GitHubIntegrationSpecV1 func (m *GitHubIntegrationSpecV1) String() string { return proto.CompactTextString(m) } func (*GitHubIntegrationSpecV1) ProtoMessage() {} func (*GitHubIntegrationSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{347} + return fileDescriptor_9198ee693835762e, []int{349} } func (m *GitHubIntegrationSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20293,7 +20384,7 @@ func (m *HeadlessAuthentication) Reset() { *m = HeadlessAuthentication{} func (m *HeadlessAuthentication) String() string { return proto.CompactTextString(m) } func (*HeadlessAuthentication) ProtoMessage() {} func (*HeadlessAuthentication) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{348} + return fileDescriptor_9198ee693835762e, []int{350} } func (m *HeadlessAuthentication) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20350,7 +20441,7 @@ func (m *WatchKind) Reset() { *m = WatchKind{} } func (m *WatchKind) String() string { return proto.CompactTextString(m) } func (*WatchKind) ProtoMessage() {} func (*WatchKind) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{349} + return fileDescriptor_9198ee693835762e, []int{351} } func (m *WatchKind) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20400,7 +20491,7 @@ func (m *WatchStatusV1) Reset() { *m = WatchStatusV1{} } func (m *WatchStatusV1) String() string { return proto.CompactTextString(m) } func (*WatchStatusV1) ProtoMessage() {} func (*WatchStatusV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{350} + return fileDescriptor_9198ee693835762e, []int{352} } func (m *WatchStatusV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20441,7 +20532,7 @@ func (m *WatchStatusSpecV1) Reset() { *m = WatchStatusSpecV1{} } func (m *WatchStatusSpecV1) String() string { return proto.CompactTextString(m) } func (*WatchStatusSpecV1) ProtoMessage() {} func (*WatchStatusSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{351} + return fileDescriptor_9198ee693835762e, []int{353} } func (m *WatchStatusSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20491,7 +20582,7 @@ func (m *ServerInfoV1) Reset() { *m = ServerInfoV1{} } func (m *ServerInfoV1) String() string { return proto.CompactTextString(m) } func (*ServerInfoV1) ProtoMessage() {} func (*ServerInfoV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{352} + return fileDescriptor_9198ee693835762e, []int{354} } func (m *ServerInfoV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20533,7 +20624,7 @@ func (m *ServerInfoSpecV1) Reset() { *m = ServerInfoSpecV1{} } func (m *ServerInfoSpecV1) String() string { return proto.CompactTextString(m) } func (*ServerInfoSpecV1) ProtoMessage() {} func (*ServerInfoSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{353} + return fileDescriptor_9198ee693835762e, []int{355} } func (m *ServerInfoSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20590,7 +20681,7 @@ func (m *JamfSpecV1) Reset() { *m = JamfSpecV1{} } func (m *JamfSpecV1) String() string { return proto.CompactTextString(m) } func (*JamfSpecV1) ProtoMessage() {} func (*JamfSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{354} + return fileDescriptor_9198ee693835762e, []int{356} } func (m *JamfSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20655,7 +20746,7 @@ func (m *JamfInventoryEntry) Reset() { *m = JamfInventoryEntry{} } func (m *JamfInventoryEntry) String() string { return proto.CompactTextString(m) } func (*JamfInventoryEntry) ProtoMessage() {} func (*JamfInventoryEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{355} + return fileDescriptor_9198ee693835762e, []int{357} } func (m *JamfInventoryEntry) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20712,7 +20803,7 @@ type MessageWithHeader struct { func (m *MessageWithHeader) Reset() { *m = MessageWithHeader{} } func (*MessageWithHeader) ProtoMessage() {} func (*MessageWithHeader) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{356} + return fileDescriptor_9198ee693835762e, []int{358} } func (m *MessageWithHeader) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20776,7 +20867,7 @@ func (m *AWSMatcher) Reset() { *m = AWSMatcher{} } func (m *AWSMatcher) String() string { return proto.CompactTextString(m) } func (*AWSMatcher) ProtoMessage() {} func (*AWSMatcher) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{357} + return fileDescriptor_9198ee693835762e, []int{359} } func (m *AWSMatcher) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20821,7 +20912,7 @@ func (m *AssumeRole) Reset() { *m = AssumeRole{} } func (m *AssumeRole) String() string { return proto.CompactTextString(m) } func (*AssumeRole) ProtoMessage() {} func (*AssumeRole) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{358} + return fileDescriptor_9198ee693835762e, []int{360} } func (m *AssumeRole) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20883,7 +20974,7 @@ func (m *InstallerParams) Reset() { *m = InstallerParams{} } func (m *InstallerParams) String() string { return proto.CompactTextString(m) } func (*InstallerParams) ProtoMessage() {} func (*InstallerParams) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{359} + return fileDescriptor_9198ee693835762e, []int{361} } func (m *InstallerParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20926,7 +21017,7 @@ func (m *AWSSSM) Reset() { *m = AWSSSM{} } func (m *AWSSSM) String() string { return proto.CompactTextString(m) } func (*AWSSSM) ProtoMessage() {} func (*AWSSSM) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{360} + return fileDescriptor_9198ee693835762e, []int{362} } func (m *AWSSSM) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20969,7 +21060,7 @@ func (m *AzureInstallerParams) Reset() { *m = AzureInstallerParams{} } func (m *AzureInstallerParams) String() string { return proto.CompactTextString(m) } func (*AzureInstallerParams) ProtoMessage() {} func (*AzureInstallerParams) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{361} + return fileDescriptor_9198ee693835762e, []int{363} } func (m *AzureInstallerParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -21023,7 +21114,7 @@ func (m *AzureMatcher) Reset() { *m = AzureMatcher{} } func (m *AzureMatcher) String() string { return proto.CompactTextString(m) } func (*AzureMatcher) ProtoMessage() {} func (*AzureMatcher) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{362} + return fileDescriptor_9198ee693835762e, []int{364} } func (m *AzureMatcher) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -21078,7 +21169,7 @@ func (m *GCPMatcher) Reset() { *m = GCPMatcher{} } func (m *GCPMatcher) String() string { return proto.CompactTextString(m) } func (*GCPMatcher) ProtoMessage() {} func (*GCPMatcher) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{363} + return fileDescriptor_9198ee693835762e, []int{365} } func (m *GCPMatcher) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -21124,7 +21215,7 @@ func (m *KubernetesMatcher) Reset() { *m = KubernetesMatcher{} } func (m *KubernetesMatcher) String() string { return proto.CompactTextString(m) } func (*KubernetesMatcher) ProtoMessage() {} func (*KubernetesMatcher) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{364} + return fileDescriptor_9198ee693835762e, []int{366} } func (m *KubernetesMatcher) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -21166,7 +21257,7 @@ func (m *OktaOptions) Reset() { *m = OktaOptions{} } func (m *OktaOptions) String() string { return proto.CompactTextString(m) } func (*OktaOptions) ProtoMessage() {} func (*OktaOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{365} + return fileDescriptor_9198ee693835762e, []int{367} } func (m *OktaOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -21210,7 +21301,7 @@ func (m *AccessGraphSync) Reset() { *m = AccessGraphSync{} } func (m *AccessGraphSync) String() string { return proto.CompactTextString(m) } func (*AccessGraphSync) ProtoMessage() {} func (*AccessGraphSync) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{366} + return fileDescriptor_9198ee693835762e, []int{368} } func (m *AccessGraphSync) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -21256,7 +21347,7 @@ func (m *AccessGraphAWSSync) Reset() { *m = AccessGraphAWSSync{} } func (m *AccessGraphAWSSync) String() string { return proto.CompactTextString(m) } func (*AccessGraphAWSSync) ProtoMessage() {} func (*AccessGraphAWSSync) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{367} + return fileDescriptor_9198ee693835762e, []int{369} } func (m *AccessGraphAWSSync) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -21363,6 +21454,7 @@ func init() { proto.RegisterMapType((map[string]CommandLabelV2)(nil), "types.ServerSpecV2.CmdLabelsEntry") proto.RegisterType((*AWSInfo)(nil), "types.AWSInfo") proto.RegisterType((*CloudMetadata)(nil), "types.CloudMetadata") + proto.RegisterType((*GitHubServerMetadata)(nil), "types.GitHubServerMetadata") proto.RegisterType((*AppServerV3)(nil), "types.AppServerV3") proto.RegisterType((*AppServerSpecV3)(nil), "types.AppServerSpecV3") proto.RegisterType((*AppV3List)(nil), "types.AppV3List") @@ -21470,6 +21562,7 @@ func init() { proto.RegisterType((*CertExtension)(nil), "types.CertExtension") proto.RegisterType((*RoleConditions)(nil), "types.RoleConditions") proto.RegisterType((*IdentityCenterAccountAssignment)(nil), "types.IdentityCenterAccountAssignment") + proto.RegisterType((*GitHubPermission)(nil), "types.GitHubPermission") proto.RegisterType((*SPIFFERoleCondition)(nil), "types.SPIFFERoleCondition") proto.RegisterType((*DatabasePermission)(nil), "types.DatabasePermission") proto.RegisterType((*KubernetesResource)(nil), "types.KubernetesResource") @@ -21724,1882 +21817,1889 @@ func init() { func init() { proto.RegisterFile("teleport/legacy/types/types.proto", fileDescriptor_9198ee693835762e) } var fileDescriptor_9198ee693835762e = []byte{ - // 29993 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xfd, 0x7d, 0x70, 0x1c, 0x49, - 0x76, 0x20, 0x86, 0x4f, 0x77, 0xe3, 0xa3, 0xf1, 0xf0, 0xd5, 0x48, 0x80, 0x24, 0x88, 0x99, 0x61, - 0x73, 0x6a, 0x66, 0x38, 0xe4, 0xec, 0x0c, 0xb9, 0x04, 0x77, 0xb8, 0x3b, 0x3b, 0x5f, 0xdb, 0xe8, - 0x06, 0x89, 0x26, 0x01, 0x10, 0x5b, 0x0d, 0x10, 0x3b, 0xda, 0x8f, 0xda, 0x42, 0x77, 0x02, 0xa8, - 0x41, 0x77, 0x57, 0x6f, 0x55, 0x35, 0x41, 0xec, 0xde, 0xfd, 0x4e, 0x3a, 0x49, 0xa7, 0x9f, 0x42, - 0xd6, 0xd7, 0x59, 0x3a, 0xed, 0x39, 0x74, 0x0a, 0x85, 0xec, 0xb3, 0x15, 0xe7, 0x38, 0x85, 0x2d, - 0x59, 0xf6, 0xd9, 0x0a, 0xcb, 0xd2, 0x85, 0x2c, 0xcb, 0x0a, 0xc7, 0x49, 0x61, 0x9f, 0xed, 0xf3, - 0xfa, 0x02, 0xb2, 0x2c, 0xff, 0xe1, 0x40, 0x84, 0x23, 0x24, 0x5f, 0x84, 0x23, 0xbc, 0x17, 0xba, - 0x73, 0xe4, 0xcb, 0xcc, 0xaa, 0xcc, 0xaa, 0xea, 0x46, 0x63, 0xc8, 0xd1, 0x89, 0x1b, 0xfa, 0x87, - 0x44, 0xbf, 0x7c, 0xef, 0x65, 0xe5, 0xf7, 0xcb, 0x97, 0xef, 0x03, 0x5e, 0x0a, 0x68, 0x93, 0x76, - 0x5c, 0x2f, 0xb8, 0xd1, 0xa4, 0x7b, 0x76, 0xfd, 0xe8, 0x46, 0x70, 0xd4, 0xa1, 0x3e, 0xff, 0xf7, - 0x7a, 0xc7, 0x73, 0x03, 0x97, 0x0c, 0xe3, 0x8f, 0x85, 0xb9, 0x3d, 0x77, 0xcf, 0x45, 0xc8, 0x0d, - 0xf6, 0x17, 0x2f, 0x5c, 0xb8, 0xb4, 0xe7, 0xba, 0x7b, 0x4d, 0x7a, 0x03, 0x7f, 0xed, 0x74, 0x77, - 0x6f, 0x34, 0xba, 0x9e, 0x1d, 0x38, 0x6e, 0x5b, 0x94, 0x17, 0xe3, 0xe5, 0x81, 0xd3, 0xa2, 0x7e, - 0x60, 0xb7, 0x3a, 0xbd, 0x18, 0x1c, 0x7a, 0x76, 0xa7, 0x43, 0x3d, 0x51, 0xfb, 0xc2, 0xb5, 0xf0, - 0x03, 0xed, 0x20, 0x60, 0x94, 0x8c, 0xf9, 0x8d, 0x47, 0x37, 0xd5, 0x9f, 0x02, 0xf5, 0xcd, 0xf4, - 0xb6, 0x48, 0x86, 0x31, 0xce, 0xc6, 0x2f, 0xe4, 0x60, 0xec, 0x3e, 0xa5, 0x9d, 0x52, 0xd3, 0x79, - 0x44, 0xc9, 0xcb, 0x30, 0xb4, 0x6e, 0xb7, 0xe8, 0x7c, 0xe6, 0x72, 0xe6, 0xea, 0xd8, 0xd2, 0xf4, - 0xc9, 0x71, 0x71, 0xdc, 0xa7, 0xde, 0x23, 0xea, 0x59, 0x6d, 0xbb, 0x45, 0x4d, 0x2c, 0x24, 0x9f, - 0x82, 0x31, 0xf6, 0xbf, 0xdf, 0xb1, 0xeb, 0x74, 0x3e, 0x8b, 0x98, 0x93, 0x27, 0xc7, 0xc5, 0xb1, - 0xb6, 0x04, 0x9a, 0x51, 0x39, 0xa9, 0xc2, 0xe8, 0xf2, 0xe3, 0x8e, 0xe3, 0x51, 0x7f, 0x7e, 0xe8, - 0x72, 0xe6, 0xea, 0xf8, 0xe2, 0xc2, 0x75, 0xde, 0xd6, 0xeb, 0xb2, 0xad, 0xd7, 0x37, 0x65, 0x67, - 0x2c, 0xcd, 0xfe, 0xde, 0x71, 0xf1, 0xb9, 0x93, 0xe3, 0xe2, 0x28, 0xe5, 0x24, 0x3f, 0xf5, 0x47, - 0xc5, 0x8c, 0x29, 0xe9, 0xc9, 0xbb, 0x30, 0xb4, 0x79, 0xd4, 0xa1, 0xf3, 0x63, 0x97, 0x33, 0x57, - 0xa7, 0x16, 0x2f, 0x5d, 0xe7, 0xc3, 0x13, 0x7e, 0x7c, 0xf4, 0x17, 0xc3, 0x5a, 0xca, 0x9f, 0x1c, - 0x17, 0x87, 0x18, 0x8a, 0x89, 0x54, 0xe4, 0x4d, 0x18, 0x59, 0x71, 0xfd, 0xa0, 0x5a, 0x99, 0x07, - 0xfc, 0xe4, 0x73, 0x27, 0xc7, 0xc5, 0x99, 0x7d, 0xd7, 0x0f, 0x2c, 0xa7, 0xf1, 0x86, 0xdb, 0x72, - 0x02, 0xda, 0xea, 0x04, 0x47, 0xa6, 0x40, 0x32, 0x1e, 0xc3, 0xa4, 0xc6, 0x8f, 0x8c, 0xc3, 0xe8, - 0xd6, 0xfa, 0xfd, 0xf5, 0x07, 0xdb, 0xeb, 0x85, 0xe7, 0x48, 0x1e, 0x86, 0xd6, 0x1f, 0x54, 0x96, - 0x0b, 0x19, 0x32, 0x0a, 0xb9, 0xd2, 0xc6, 0x46, 0x21, 0x4b, 0x26, 0x20, 0x5f, 0x29, 0x6d, 0x96, - 0x96, 0x4a, 0xb5, 0xe5, 0x42, 0x8e, 0xcc, 0xc2, 0xf4, 0x76, 0x75, 0xbd, 0xf2, 0x60, 0xbb, 0x66, - 0x55, 0x96, 0x6b, 0xf7, 0x37, 0x1f, 0x6c, 0x14, 0x86, 0xc8, 0x14, 0xc0, 0xfd, 0xad, 0xa5, 0x65, - 0x73, 0x7d, 0x79, 0x73, 0xb9, 0x56, 0x18, 0x26, 0x73, 0x50, 0x90, 0x24, 0x56, 0x6d, 0xd9, 0x7c, - 0x58, 0x2d, 0x2f, 0x17, 0x46, 0xee, 0x0d, 0xe5, 0x73, 0x85, 0x21, 0x73, 0x74, 0x95, 0xda, 0x3e, - 0xad, 0x56, 0x8c, 0x7f, 0x37, 0x07, 0xf9, 0x35, 0x1a, 0xd8, 0x0d, 0x3b, 0xb0, 0xc9, 0x0b, 0xda, - 0xf8, 0x60, 0x13, 0x95, 0x81, 0x79, 0x39, 0x39, 0x30, 0xc3, 0x27, 0xc7, 0xc5, 0xcc, 0x9b, 0xea, - 0x80, 0xbc, 0x03, 0xe3, 0x15, 0xea, 0xd7, 0x3d, 0xa7, 0xc3, 0x26, 0xcd, 0x7c, 0x0e, 0xd1, 0x2e, - 0x9e, 0x1c, 0x17, 0xcf, 0x35, 0x22, 0xb0, 0xd2, 0x21, 0x2a, 0x36, 0xa9, 0xc2, 0xc8, 0xaa, 0xbd, - 0x43, 0x9b, 0xfe, 0xfc, 0xf0, 0xe5, 0xdc, 0xd5, 0xf1, 0xc5, 0xe7, 0xc5, 0x20, 0xc8, 0x0f, 0xbc, - 0xce, 0x4b, 0x97, 0xdb, 0x81, 0x77, 0xb4, 0x34, 0x77, 0x72, 0x5c, 0x2c, 0x34, 0x11, 0xa0, 0x76, - 0x30, 0x47, 0x21, 0xb5, 0x68, 0x62, 0x8c, 0x9c, 0x3a, 0x31, 0x5e, 0xfc, 0xbd, 0xe3, 0x62, 0x86, - 0x0d, 0x98, 0x98, 0x18, 0x11, 0x3f, 0x7d, 0x8a, 0x2c, 0x42, 0xde, 0xa4, 0x8f, 0x1c, 0x9f, 0xb5, - 0x2c, 0x8f, 0x2d, 0x3b, 0x7f, 0x72, 0x5c, 0x24, 0x9e, 0x80, 0x29, 0x9f, 0x11, 0xe2, 0x2d, 0xbc, - 0x0d, 0xe3, 0xca, 0x57, 0x93, 0x02, 0xe4, 0x0e, 0xe8, 0x11, 0xef, 0x61, 0x93, 0xfd, 0x49, 0xe6, - 0x60, 0xf8, 0x91, 0xdd, 0xec, 0x8a, 0x2e, 0x35, 0xf9, 0x8f, 0xcf, 0x67, 0x3f, 0x97, 0xb9, 0x37, - 0x94, 0x1f, 0x2d, 0xe4, 0xcd, 0x6c, 0xb5, 0x62, 0xfc, 0xed, 0x21, 0xc8, 0x9b, 0x2e, 0x5f, 0x88, - 0xe4, 0x1a, 0x0c, 0xd7, 0x02, 0x3b, 0x90, 0xc3, 0x34, 0x7b, 0x72, 0x5c, 0x9c, 0x66, 0x8b, 0x94, - 0x2a, 0xf5, 0x73, 0x0c, 0x86, 0xba, 0xb1, 0x6f, 0xfb, 0x72, 0xb8, 0x10, 0xb5, 0xc3, 0x00, 0x2a, - 0x2a, 0x62, 0x90, 0x2b, 0x30, 0xb4, 0xe6, 0x36, 0xa8, 0x18, 0x31, 0x72, 0x72, 0x5c, 0x9c, 0x6a, - 0xb9, 0x0d, 0x15, 0x11, 0xcb, 0xc9, 0x1b, 0x30, 0x56, 0xee, 0x7a, 0x1e, 0x6d, 0xb3, 0xb9, 0x3e, - 0x84, 0xc8, 0x53, 0x27, 0xc7, 0x45, 0xa8, 0x73, 0xa0, 0xe5, 0x34, 0xcc, 0x08, 0x81, 0x0d, 0x43, - 0x2d, 0xb0, 0xbd, 0x80, 0x36, 0xe6, 0x87, 0x07, 0x1a, 0x06, 0xb6, 0x3e, 0x67, 0x7c, 0x4e, 0x12, - 0x1f, 0x06, 0xc1, 0x89, 0xac, 0xc0, 0xf8, 0x5d, 0xcf, 0xae, 0xd3, 0x0d, 0xea, 0x39, 0x6e, 0x03, - 0xc7, 0x37, 0xb7, 0x74, 0xe5, 0xe4, 0xb8, 0x78, 0x7e, 0x8f, 0x81, 0xad, 0x0e, 0xc2, 0x23, 0xea, - 0xef, 0x1e, 0x17, 0xf3, 0x15, 0xb1, 0x65, 0x9a, 0x2a, 0x29, 0xf9, 0x3a, 0x1b, 0x1c, 0x3f, 0xc0, - 0xae, 0xa5, 0x8d, 0xf9, 0xd1, 0x53, 0x3f, 0xd1, 0x10, 0x9f, 0x78, 0xbe, 0x69, 0xfb, 0x81, 0xe5, - 0x71, 0xba, 0xd8, 0x77, 0xaa, 0x2c, 0xc9, 0x03, 0xc8, 0xd7, 0xea, 0xfb, 0xb4, 0xd1, 0x6d, 0x52, - 0x9c, 0x32, 0xe3, 0x8b, 0x17, 0xc4, 0xa4, 0x96, 0xe3, 0x29, 0x8b, 0x97, 0x16, 0x04, 0x6f, 0xe2, - 0x0b, 0x88, 0x3a, 0x9f, 0x24, 0xd6, 0xe7, 0xf3, 0xdf, 0xfe, 0xc5, 0xe2, 0x73, 0xdf, 0xff, 0xcf, - 0x2f, 0x3f, 0x67, 0xfc, 0x67, 0x59, 0x28, 0xc4, 0x99, 0x90, 0x5d, 0x98, 0xdc, 0xea, 0x34, 0xec, - 0x80, 0x96, 0x9b, 0x0e, 0x6d, 0x07, 0x3e, 0x4e, 0x92, 0xfe, 0x6d, 0x7a, 0x45, 0xd4, 0x3b, 0xdf, - 0x45, 0x42, 0xab, 0xce, 0x29, 0x63, 0xad, 0xd2, 0xd9, 0x46, 0xf5, 0xd4, 0x70, 0x03, 0xf7, 0x71, - 0x86, 0x9d, 0xad, 0x1e, 0xbe, 0xf5, 0xf7, 0xa8, 0x47, 0xb0, 0x15, 0x13, 0xa8, 0xdd, 0xd8, 0x39, - 0xc2, 0x99, 0x39, 0xf8, 0x04, 0x62, 0x24, 0x29, 0x13, 0x88, 0x81, 0x8d, 0xff, 0x23, 0x03, 0x53, - 0x26, 0xf5, 0xdd, 0xae, 0x57, 0xa7, 0x2b, 0xd4, 0x6e, 0x50, 0x8f, 0x4d, 0xff, 0xfb, 0x4e, 0xbb, - 0x21, 0xd6, 0x14, 0x4e, 0xff, 0x03, 0xa7, 0xad, 0x6e, 0xdd, 0x58, 0x4e, 0x3e, 0x0d, 0xa3, 0xb5, - 0xee, 0x0e, 0xa2, 0x66, 0xa3, 0x1d, 0xc0, 0xef, 0xee, 0x58, 0x31, 0x74, 0x89, 0x46, 0x6e, 0xc0, - 0xe8, 0x43, 0xea, 0xf9, 0xd1, 0x6e, 0x88, 0x47, 0xc3, 0x23, 0x0e, 0x52, 0x09, 0x04, 0x16, 0xb9, - 0x1b, 0xed, 0xc8, 0xe2, 0x50, 0x9b, 0x8e, 0xed, 0x83, 0xd1, 0x54, 0x69, 0x09, 0x88, 0x3a, 0x55, - 0x24, 0x96, 0xf1, 0xd3, 0x59, 0x28, 0x54, 0xec, 0xc0, 0xde, 0xb1, 0x7d, 0xd1, 0x9f, 0x0f, 0x6f, - 0xb1, 0x3d, 0x5e, 0x69, 0x28, 0xee, 0xf1, 0xec, 0xcb, 0x3f, 0x76, 0xf3, 0x5e, 0x8d, 0x37, 0x6f, - 0x9c, 0x9d, 0xb0, 0xa2, 0x79, 0x51, 0xa3, 0xde, 0x3b, 0xbd, 0x51, 0x05, 0xd1, 0xa8, 0xbc, 0x6c, - 0x54, 0xd4, 0x14, 0xf2, 0x1e, 0x0c, 0xd5, 0x3a, 0xb4, 0x2e, 0x36, 0x11, 0x79, 0x2e, 0xe8, 0x8d, - 0x63, 0x08, 0x0f, 0x6f, 0x2d, 0x4d, 0x08, 0x36, 0x43, 0x7e, 0x87, 0xd6, 0x4d, 0x24, 0x53, 0x16, - 0xcd, 0x3f, 0xca, 0xc1, 0x5c, 0x1a, 0x99, 0xda, 0x8e, 0x91, 0x3e, 0xed, 0xb8, 0x0a, 0x79, 0x76, - 0x84, 0xb3, 0x63, 0x11, 0xb7, 0x8b, 0xb1, 0xa5, 0x09, 0xf6, 0xc9, 0xfb, 0x02, 0x66, 0x86, 0xa5, - 0xe4, 0xe5, 0x50, 0x22, 0xc8, 0x47, 0xfc, 0x84, 0x44, 0x20, 0xe5, 0x00, 0x36, 0xd6, 0x72, 0x09, - 0xa3, 0xe0, 0x10, 0x75, 0x8b, 0x04, 0x47, 0x63, 0xed, 0x09, 0x88, 0x76, 0xcc, 0xc8, 0x43, 0x61, - 0x19, 0xf2, 0xb2, 0x59, 0xf3, 0x13, 0xc8, 0x68, 0x26, 0xd6, 0x49, 0x0f, 0x6f, 0xf1, 0xc1, 0x6c, - 0x88, 0xdf, 0x2a, 0x1b, 0x89, 0x43, 0x6e, 0x41, 0x7e, 0xc3, 0x73, 0x1f, 0x1f, 0x55, 0x2b, 0xfe, - 0xfc, 0xe4, 0xe5, 0xdc, 0xd5, 0xb1, 0xa5, 0x0b, 0x27, 0xc7, 0xc5, 0xd9, 0x0e, 0x83, 0x59, 0x4e, - 0x43, 0x3d, 0x69, 0x43, 0xc4, 0x7b, 0x43, 0xf9, 0x4c, 0x21, 0x7b, 0x6f, 0x28, 0x9f, 0x2d, 0xe4, - 0xb8, 0x78, 0x71, 0x6f, 0x28, 0x3f, 0x54, 0x18, 0xbe, 0x37, 0x94, 0x1f, 0x46, 0x81, 0x63, 0xac, - 0x00, 0xf7, 0x86, 0xf2, 0xe3, 0x85, 0x09, 0xed, 0xb4, 0x47, 0x06, 0x81, 0x5b, 0x77, 0x9b, 0x66, - 0x6e, 0xcb, 0xac, 0x9a, 0x23, 0xe5, 0x52, 0x99, 0x7a, 0x81, 0x99, 0x2b, 0x6d, 0xd7, 0xcc, 0xc9, - 0xca, 0x51, 0xdb, 0x6e, 0x39, 0x75, 0x7e, 0x74, 0x9a, 0xb9, 0xbb, 0xe5, 0x0d, 0xa3, 0x04, 0x53, - 0x51, 0x5b, 0x56, 0x1d, 0x3f, 0x20, 0x37, 0x60, 0x4c, 0x42, 0xd8, 0x46, 0x97, 0x4b, 0x6d, 0xb5, - 0x19, 0xe1, 0x18, 0xbf, 0x9b, 0x05, 0x88, 0x4a, 0x9e, 0xd1, 0xb5, 0xf0, 0x59, 0x6d, 0x2d, 0x9c, - 0x8b, 0xaf, 0x85, 0x9e, 0xab, 0x80, 0x7c, 0x00, 0x23, 0x4c, 0x2c, 0xe8, 0x4a, 0x91, 0xe8, 0x42, - 0x9c, 0x14, 0x0b, 0x1f, 0xde, 0x5a, 0x9a, 0x12, 0xc4, 0x23, 0x3e, 0x42, 0x4c, 0x41, 0xa6, 0x2c, - 0xa3, 0x5f, 0x18, 0x8d, 0x06, 0x43, 0x2c, 0xa0, 0xab, 0x10, 0x0e, 0xa8, 0xe8, 0x50, 0x5c, 0x19, - 0x1d, 0x39, 0xc8, 0x61, 0x29, 0xb9, 0x08, 0x6c, 0xc0, 0x45, 0xa7, 0x8e, 0x9e, 0x1c, 0x17, 0x73, - 0x5d, 0xcf, 0xc1, 0x49, 0x40, 0x6e, 0x80, 0x98, 0x06, 0xa2, 0x03, 0xd9, 0xec, 0x9b, 0xa9, 0xdb, - 0x56, 0x9d, 0x7a, 0x41, 0xd4, 0xe3, 0xf3, 0x19, 0x39, 0x5b, 0x48, 0x07, 0xf4, 0xa9, 0x32, 0x3f, - 0x84, 0xd3, 0xe0, 0x6a, 0x6a, 0xaf, 0x5c, 0xd7, 0x50, 0xb9, 0x18, 0x79, 0x59, 0x9e, 0x4a, 0x0d, - 0x5e, 0x66, 0x25, 0x44, 0x4a, 0xbd, 0x02, 0x72, 0x0b, 0xd8, 0x0c, 0x15, 0xbd, 0x0f, 0xa2, 0x9e, - 0xd2, 0x76, 0x6d, 0xe9, 0x9c, 0xe0, 0x34, 0x69, 0x1f, 0xaa, 0xe4, 0x0c, 0x9b, 0xbc, 0x03, 0x6c, - 0x0a, 0x8b, 0x7e, 0x27, 0x82, 0xe8, 0x6e, 0x79, 0xa3, 0xdc, 0x74, 0xbb, 0x8d, 0xda, 0x17, 0x57, - 0x23, 0xe2, 0xbd, 0x7a, 0x47, 0x25, 0xbe, 0x5b, 0xde, 0x20, 0xef, 0xc0, 0x70, 0xe9, 0x9b, 0x5d, - 0x8f, 0x0a, 0xf9, 0x64, 0x42, 0xd6, 0xc9, 0x60, 0x4b, 0x17, 0x04, 0xe1, 0xb4, 0xcd, 0x7e, 0xaa, - 0x72, 0x1d, 0x96, 0xb3, 0x9a, 0x37, 0x57, 0x6b, 0x42, 0xf6, 0x20, 0xb1, 0x6e, 0xd9, 0x5c, 0x55, - 0x3e, 0x3b, 0xd0, 0x5a, 0xcd, 0xa8, 0xc8, 0x0d, 0xc8, 0x96, 0x2a, 0x78, 0x23, 0x1a, 0x5f, 0x1c, - 0x93, 0xd5, 0x56, 0x96, 0xe6, 0x04, 0xc9, 0x84, 0xad, 0x2e, 0x83, 0x6c, 0xa9, 0x42, 0x96, 0x60, - 0x78, 0xed, 0xa8, 0xf6, 0xc5, 0x55, 0xb1, 0x99, 0xcd, 0xca, 0x79, 0xcd, 0x60, 0x0f, 0x70, 0xd9, - 0xfb, 0xd1, 0x17, 0xb7, 0x8e, 0xfc, 0x6f, 0x34, 0xd5, 0x2f, 0x46, 0x34, 0xb2, 0x01, 0x63, 0xa5, - 0x46, 0xcb, 0x69, 0x6f, 0xf9, 0xd4, 0x9b, 0x1f, 0x47, 0x3e, 0xf3, 0xb1, 0xef, 0x0e, 0xcb, 0x97, - 0xe6, 0x4f, 0x8e, 0x8b, 0x73, 0x36, 0xfb, 0x69, 0x75, 0x7d, 0xea, 0x29, 0xdc, 0x22, 0x26, 0x64, - 0x03, 0x60, 0xcd, 0x6d, 0xef, 0xb9, 0xa5, 0xa0, 0x69, 0xfb, 0xb1, 0xed, 0x31, 0x2a, 0x08, 0xc5, - 0x87, 0x73, 0x2d, 0x06, 0xb3, 0x6c, 0x06, 0x54, 0x18, 0x2a, 0x3c, 0xc8, 0x1d, 0x18, 0x79, 0xe0, - 0xd9, 0xf5, 0x26, 0x9d, 0x9f, 0x44, 0x6e, 0x73, 0x82, 0x1b, 0x07, 0xca, 0x96, 0xce, 0x0b, 0x86, - 0x05, 0x17, 0xc1, 0xea, 0x35, 0x85, 0x23, 0x2e, 0x6c, 0x03, 0x49, 0xce, 0xc9, 0x94, 0x4b, 0xc2, - 0xa7, 0xd4, 0x4b, 0x42, 0xb4, 0xe8, 0xcb, 0x6e, 0xab, 0x65, 0xb7, 0x1b, 0x48, 0xfb, 0x70, 0x51, - 0xb9, 0x3b, 0x18, 0xdf, 0x80, 0x99, 0x44, 0x67, 0x9d, 0x72, 0xbf, 0x7b, 0x1f, 0xa6, 0x2b, 0x74, - 0xd7, 0xee, 0x36, 0x83, 0xf0, 0x24, 0xe1, 0x4b, 0x14, 0x6f, 0x5a, 0x0d, 0x5e, 0x64, 0xc9, 0xe3, - 0xc3, 0x8c, 0x23, 0x1b, 0xef, 0xc1, 0xa4, 0xd6, 0x7c, 0x76, 0x55, 0x28, 0x75, 0x1b, 0x4e, 0x80, - 0x03, 0x99, 0x89, 0xae, 0x0a, 0x36, 0x03, 0xe2, 0x70, 0x99, 0x11, 0x82, 0xf1, 0xef, 0xa9, 0xd2, - 0x8a, 0xd8, 0x89, 0xd8, 0xb5, 0x5a, 0xec, 0x07, 0x99, 0x48, 0x76, 0x4a, 0xec, 0x07, 0xe1, 0x6e, - 0x70, 0x8d, 0xaf, 0xcd, 0x6c, 0x62, 0x6d, 0x8e, 0x8b, 0x91, 0xc8, 0xd9, 0x87, 0x3e, 0x5f, 0x91, - 0xe1, 0x4c, 0xcd, 0x7d, 0xfc, 0x99, 0xfa, 0x01, 0x4c, 0xac, 0xd9, 0x6d, 0x7b, 0x8f, 0x36, 0x58, - 0x0b, 0xf8, 0xde, 0x33, 0xb6, 0xf4, 0xfc, 0xc9, 0x71, 0xf1, 0x42, 0x8b, 0xc3, 0xb1, 0x95, 0xea, - 0x24, 0xd2, 0x08, 0xc8, 0x4d, 0xb9, 0xb2, 0x87, 0x53, 0x56, 0xf6, 0xa4, 0xa8, 0x7d, 0x18, 0x57, - 0xb6, 0x58, 0xcf, 0xc6, 0x6f, 0x8d, 0x61, 0x1b, 0xc9, 0x1b, 0x30, 0x62, 0xd2, 0x3d, 0x76, 0xd4, - 0x64, 0xa2, 0x41, 0xf2, 0x10, 0xa2, 0x76, 0x0c, 0xc7, 0x41, 0x39, 0x83, 0x36, 0xfc, 0x7d, 0x67, - 0x37, 0x10, 0xbd, 0x13, 0xca, 0x19, 0x02, 0xac, 0xc8, 0x19, 0x02, 0xa2, 0x5f, 0x67, 0x39, 0x8c, - 0xed, 0x7e, 0x66, 0xa5, 0x26, 0x3a, 0x4d, 0xf6, 0xb0, 0x59, 0x51, 0xb6, 0x11, 0x4f, 0x93, 0x12, - 0x18, 0x36, 0xb9, 0x0d, 0x63, 0xa5, 0x7a, 0xdd, 0xed, 0x2a, 0x77, 0x46, 0xbe, 0x6e, 0x39, 0x50, - 0x57, 0x91, 0x44, 0xa8, 0xa4, 0x06, 0xe3, 0xcb, 0xec, 0xa2, 0xe5, 0x94, 0xed, 0xfa, 0xbe, 0xec, - 0x24, 0xb9, 0x87, 0x29, 0x25, 0xd1, 0xca, 0xa5, 0x08, 0xac, 0x33, 0xa0, 0xaa, 0x64, 0x50, 0x70, - 0xc9, 0x26, 0x8c, 0xd7, 0x68, 0xdd, 0xa3, 0x41, 0x2d, 0x70, 0x3d, 0x1a, 0xdb, 0x92, 0x95, 0x92, - 0xa5, 0x4b, 0xf2, 0xae, 0xe7, 0x23, 0xd0, 0xf2, 0x19, 0x54, 0xe5, 0xaa, 0x20, 0x73, 0xa1, 0xbd, - 0xe5, 0x7a, 0x47, 0x95, 0x25, 0xb1, 0x4d, 0x47, 0x67, 0x3a, 0x07, 0xab, 0x42, 0x3b, 0x83, 0x34, - 0x76, 0x74, 0xa1, 0x9d, 0x63, 0xe1, 0x48, 0x55, 0x6a, 0x28, 0x5b, 0x89, 0x4d, 0x7b, 0x3a, 0xea, - 0x65, 0x04, 0x2b, 0x23, 0xd5, 0xf0, 0x51, 0x32, 0xd3, 0x46, 0x4a, 0x60, 0x91, 0x0e, 0x10, 0x39, - 0x6a, 0x5c, 0xd0, 0x6d, 0x52, 0xdf, 0x17, 0x7b, 0xf9, 0xc5, 0xd8, 0xe0, 0x47, 0x08, 0x4b, 0xaf, - 0x0a, 0xe6, 0x2f, 0xca, 0x69, 0x20, 0xee, 0x69, 0xac, 0x50, 0xa9, 0x27, 0x85, 0x37, 0x79, 0x1b, - 0x60, 0xf9, 0x71, 0x40, 0xbd, 0xb6, 0xdd, 0x0c, 0xf5, 0x60, 0xa8, 0xfa, 0xa1, 0x02, 0xaa, 0x0f, - 0xb4, 0x82, 0x4c, 0xca, 0x30, 0x59, 0xf2, 0xfd, 0x6e, 0x8b, 0x9a, 0x6e, 0x93, 0x96, 0xcc, 0x75, - 0xdc, 0xf7, 0xc7, 0x96, 0x5e, 0x3c, 0x39, 0x2e, 0x5e, 0xb4, 0xb1, 0xc0, 0xf2, 0xdc, 0x26, 0xb5, - 0x6c, 0x4f, 0x9d, 0xdd, 0x3a, 0x0d, 0x79, 0x00, 0xf0, 0xa0, 0x43, 0xdb, 0x35, 0x6a, 0x7b, 0xf5, - 0xfd, 0xd8, 0x36, 0x1f, 0x15, 0x2c, 0xbd, 0x20, 0x5a, 0x38, 0xe7, 0x76, 0x68, 0xdb, 0x47, 0x98, - 0xfa, 0x55, 0x11, 0x26, 0xd9, 0x86, 0xe9, 0x6a, 0x69, 0x6d, 0xc3, 0x6d, 0x3a, 0xf5, 0x23, 0x21, - 0x39, 0x4d, 0xa1, 0x76, 0xf0, 0xbc, 0xe0, 0x1a, 0x2b, 0xe5, 0xdb, 0x93, 0x63, 0xb7, 0xac, 0x0e, - 0x42, 0x2d, 0x21, 0x3f, 0xc5, 0xb9, 0x90, 0x0f, 0xd9, 0x1c, 0xf4, 0x99, 0x30, 0xb8, 0x69, 0xef, - 0xf9, 0xf3, 0xd3, 0x9a, 0xb6, 0xab, 0xb4, 0x5d, 0xbb, 0xae, 0x94, 0x72, 0x31, 0x65, 0x81, 0x4f, - 0x44, 0x84, 0x5a, 0x81, 0xbd, 0xe7, 0xeb, 0x13, 0x31, 0xc4, 0x26, 0xf7, 0x00, 0x2a, 0x6e, 0xbd, - 0xdb, 0xa2, 0xed, 0xa0, 0xb2, 0x34, 0x5f, 0xd0, 0xaf, 0x02, 0x61, 0x41, 0xb4, 0xb5, 0x35, 0xdc, - 0xba, 0x36, 0x13, 0x15, 0xea, 0x85, 0xf7, 0xa1, 0x10, 0xff, 0x90, 0x33, 0x2a, 0xb0, 0x26, 0x0b, - 0x53, 0x4a, 0xeb, 0x97, 0x1f, 0x3b, 0x7e, 0xe0, 0x1b, 0xdf, 0xd2, 0x56, 0x20, 0xdb, 0x1d, 0xee, - 0xd3, 0xa3, 0x0d, 0x8f, 0xee, 0x3a, 0x8f, 0xc5, 0x66, 0x86, 0xbb, 0xc3, 0x01, 0x3d, 0xb2, 0x3a, - 0x08, 0x55, 0x77, 0x87, 0x10, 0x95, 0x7c, 0x06, 0xf2, 0xf7, 0xd7, 0x6a, 0xf7, 0xe9, 0x51, 0xb5, - 0x22, 0x0e, 0x2a, 0x4e, 0xd6, 0xf2, 0x2d, 0x46, 0xaa, 0xcd, 0xb5, 0x10, 0xd3, 0x58, 0x8a, 0x76, - 0x42, 0x56, 0x73, 0xb9, 0xd9, 0xf5, 0x03, 0xea, 0x55, 0x2b, 0x6a, 0xcd, 0x75, 0x0e, 0x8c, 0xed, - 0x4b, 0x21, 0xaa, 0xf1, 0xaf, 0xb3, 0xb8, 0x0b, 0xb2, 0x09, 0x5f, 0x6d, 0xfb, 0x81, 0xdd, 0xae, - 0xd3, 0x90, 0x01, 0x4e, 0x78, 0x47, 0x40, 0x63, 0x13, 0x3e, 0x42, 0xd6, 0xab, 0xce, 0x0e, 0x5c, - 0x35, 0xab, 0x52, 0x6a, 0x2e, 0xaa, 0x15, 0x55, 0xbd, 0xea, 0x09, 0x68, 0xac, 0xca, 0x08, 0x99, - 0x5c, 0x81, 0xd1, 0x6a, 0x69, 0xad, 0xd4, 0x0d, 0xf6, 0x71, 0x0f, 0xce, 0x73, 0xf9, 0x9c, 0xcd, - 0x56, 0xbb, 0x1b, 0xec, 0x9b, 0xb2, 0x90, 0xdc, 0xc0, 0x7b, 0x4f, 0x9b, 0x06, 0x5c, 0x0d, 0x2b, - 0x0e, 0x5d, 0x9f, 0x83, 0x62, 0xd7, 0x1e, 0x06, 0x22, 0xaf, 0xc3, 0xf0, 0xc3, 0x8d, 0x72, 0xb5, - 0x22, 0x2e, 0xce, 0x78, 0x12, 0x3d, 0xea, 0xd4, 0xf5, 0x2f, 0xe1, 0x28, 0x64, 0x19, 0xa6, 0x6a, - 0xb4, 0xde, 0xf5, 0x9c, 0xe0, 0xe8, 0xae, 0xe7, 0x76, 0x3b, 0xfe, 0xfc, 0x28, 0xd6, 0x81, 0x2b, - 0xdd, 0x17, 0x25, 0xd6, 0x1e, 0x16, 0x29, 0xd4, 0x31, 0x22, 0xe3, 0xb7, 0x33, 0xd1, 0x36, 0x49, - 0xae, 0x68, 0x62, 0x0d, 0xea, 0x6e, 0x98, 0x58, 0xa3, 0xea, 0x6e, 0x50, 0xc0, 0x31, 0x81, 0x94, - 0xbb, 0x7e, 0xe0, 0xb6, 0x96, 0xdb, 0x8d, 0x8e, 0xeb, 0xb4, 0x03, 0xa4, 0xe2, 0x9d, 0x6f, 0x9c, - 0x1c, 0x17, 0x2f, 0xd5, 0xb1, 0xd4, 0xa2, 0xa2, 0xd8, 0x8a, 0x71, 0x49, 0xa1, 0x7e, 0x82, 0xf1, - 0x30, 0x7e, 0x3f, 0xab, 0x1d, 0x6f, 0xec, 0xf3, 0x4c, 0xda, 0x69, 0x3a, 0x75, 0xbc, 0xd1, 0x63, - 0x43, 0xc3, 0x59, 0x85, 0x9f, 0xe7, 0x45, 0xa5, 0xbc, 0x87, 0x74, 0xde, 0x29, 0xd4, 0xe4, 0x0b, - 0x30, 0xc1, 0x24, 0x0d, 0xf1, 0xd3, 0x9f, 0xcf, 0x62, 0x67, 0xbf, 0x80, 0x5a, 0x38, 0x9f, 0x7a, - 0x21, 0x1b, 0x4d, 0x44, 0x51, 0x29, 0x48, 0x03, 0xe6, 0x37, 0x3d, 0xbb, 0xed, 0x3b, 0xc1, 0x72, - 0xbb, 0xee, 0x1d, 0xa1, 0x64, 0xb4, 0xdc, 0xb6, 0x77, 0x9a, 0xb4, 0x81, 0xcd, 0xcd, 0x2f, 0x5d, - 0x3d, 0x39, 0x2e, 0xbe, 0x12, 0x70, 0x1c, 0x8b, 0x86, 0x48, 0x16, 0xe5, 0x58, 0x0a, 0xe7, 0x9e, - 0x9c, 0x98, 0x24, 0x25, 0xbb, 0x15, 0x1f, 0x61, 0xb8, 0x90, 0x80, 0x92, 0x54, 0x38, 0x1a, 0x6c, - 0x0f, 0x53, 0x3f, 0x53, 0x25, 0x30, 0xfe, 0x9f, 0x4c, 0x74, 0x00, 0x93, 0x77, 0x61, 0x5c, 0xac, - 0x18, 0x65, 0x5e, 0xe0, 0x0e, 0x2a, 0x97, 0x57, 0x6c, 0x64, 0x55, 0x74, 0x76, 0xef, 0x2f, 0x95, - 0x57, 0x95, 0xb9, 0x81, 0xf7, 0x7e, 0xbb, 0xde, 0x8c, 0x53, 0x49, 0x34, 0x36, 0x09, 0x36, 0x57, - 0x6b, 0x7a, 0xaf, 0xe0, 0x24, 0x08, 0x9a, 0x7e, 0x4a, 0x37, 0x28, 0xc8, 0x4f, 0xde, 0xf0, 0xff, - 0x39, 0x93, 0x76, 0xce, 0x93, 0x25, 0x98, 0xdc, 0x76, 0xbd, 0x03, 0x1c, 0x5f, 0xa5, 0x13, 0x70, - 0xe4, 0x0f, 0x65, 0x41, 0xbc, 0x41, 0x3a, 0x89, 0xfa, 0x6d, 0x4a, 0x6f, 0xe8, 0xdf, 0x16, 0xe3, - 0xa0, 0x11, 0xb0, 0x71, 0x08, 0x39, 0x86, 0xab, 0x03, 0xc7, 0x21, 0xfa, 0x04, 0x6d, 0x0a, 0xab, - 0xe8, 0xc6, 0x7f, 0x99, 0x51, 0xcf, 0x73, 0xd6, 0xc9, 0x15, 0xb7, 0x65, 0x3b, 0x6d, 0xa5, 0x39, - 0xfc, 0x61, 0x09, 0xa1, 0xf1, 0x2f, 0x51, 0x90, 0xc9, 0x2d, 0xc8, 0xf3, 0x5f, 0xe1, 0x5e, 0x8b, - 0x5a, 0x2d, 0x41, 0xa8, 0x1f, 0x14, 0x12, 0x31, 0x31, 0x32, 0xb9, 0xb3, 0x8e, 0xcc, 0x6f, 0x65, - 0xd4, 0xa3, 0xf8, 0xe3, 0x1e, 0x36, 0xb1, 0x43, 0x26, 0x7b, 0x96, 0x43, 0xe6, 0x89, 0x9b, 0xf0, - 0xfd, 0x19, 0x18, 0x57, 0xb4, 0x14, 0xac, 0x0d, 0x1b, 0x9e, 0xfb, 0x11, 0xad, 0x07, 0x7a, 0x1b, - 0x3a, 0x1c, 0x18, 0x6b, 0x43, 0x88, 0xfa, 0x04, 0x6d, 0x30, 0xfe, 0x2c, 0x23, 0xee, 0x48, 0x03, - 0x6f, 0xf3, 0xfa, 0x96, 0x9c, 0x3d, 0xcb, 0x11, 0xf9, 0x05, 0x18, 0x36, 0x69, 0xc3, 0xf1, 0xc5, - 0xfd, 0x66, 0x46, 0xbd, 0x8f, 0x61, 0x41, 0x24, 0x37, 0x79, 0xec, 0xa7, 0x7a, 0xbe, 0x61, 0x39, - 0x13, 0x64, 0xab, 0xfe, 0x9d, 0x26, 0x7d, 0xec, 0xf0, 0xc5, 0x28, 0x8e, 0x5a, 0x3c, 0xde, 0x1c, - 0xdf, 0xda, 0x65, 0x25, 0x42, 0xa2, 0x56, 0x17, 0x9e, 0x46, 0x63, 0x7c, 0x08, 0x10, 0x55, 0x49, - 0xee, 0x43, 0x41, 0xcc, 0x06, 0xa7, 0xbd, 0xc7, 0x05, 0x29, 0xd1, 0x07, 0xc5, 0x93, 0xe3, 0xe2, - 0xf3, 0xf5, 0xb0, 0x4c, 0x48, 0x9d, 0x0a, 0xdf, 0x04, 0xa1, 0xf1, 0x1f, 0x64, 0x21, 0x5b, 0xc2, - 0x01, 0xb9, 0x4f, 0x8f, 0x02, 0x7b, 0xe7, 0x8e, 0xd3, 0xd4, 0x16, 0xd3, 0x01, 0x42, 0xad, 0x5d, - 0x47, 0x53, 0x57, 0x28, 0xc8, 0x6c, 0x31, 0xdd, 0xf7, 0x76, 0xde, 0x42, 0x42, 0x65, 0x31, 0x1d, - 0x78, 0x3b, 0x6f, 0xc5, 0xc9, 0x42, 0x44, 0x62, 0xc0, 0x08, 0x5f, 0x58, 0x62, 0x0e, 0xc2, 0xc9, - 0x71, 0x71, 0x84, 0xaf, 0x3f, 0x53, 0x94, 0x90, 0x8b, 0x90, 0xab, 0x6d, 0xac, 0x8b, 0x1d, 0x10, - 0xd5, 0x82, 0x7e, 0xa7, 0x6d, 0x32, 0x18, 0xab, 0x73, 0xb5, 0x52, 0xda, 0x40, 0x45, 0xc0, 0x70, - 0x54, 0x67, 0xb3, 0x61, 0x77, 0xe2, 0xaa, 0x80, 0x10, 0x91, 0xbc, 0x07, 0xe3, 0xf7, 0x2b, 0xe5, - 0x15, 0xd7, 0xe7, 0xbb, 0xd7, 0x48, 0x34, 0xf9, 0x0f, 0x1a, 0x75, 0x0b, 0x35, 0xf1, 0xf1, 0x63, - 0x40, 0xc1, 0x37, 0x7e, 0x38, 0x0b, 0xe3, 0x8a, 0x9e, 0x8c, 0x7c, 0x46, 0x3c, 0x90, 0x66, 0xb4, - 0x1b, 0x80, 0x82, 0xc1, 0x4a, 0xb9, 0x52, 0xa5, 0xe5, 0x36, 0xa8, 0x78, 0x2e, 0x8d, 0x14, 0x18, - 0xd9, 0x41, 0x14, 0x18, 0x6f, 0x03, 0xf0, 0x39, 0x80, 0x9f, 0xac, 0x88, 0x13, 0x8a, 0x9d, 0x84, - 0x3a, 0x2e, 0x11, 0x32, 0x79, 0x08, 0xb3, 0x9b, 0x5e, 0xd7, 0x0f, 0x6a, 0x47, 0x7e, 0x40, 0x5b, - 0x8c, 0xdb, 0x86, 0xeb, 0x36, 0xc5, 0xfc, 0x7b, 0xe5, 0xe4, 0xb8, 0x78, 0x39, 0x60, 0xc5, 0x96, - 0x8f, 0xe5, 0xf8, 0x01, 0x56, 0xc7, 0x75, 0x55, 0xb5, 0x46, 0x1a, 0x03, 0xc3, 0x84, 0x09, 0x55, - 0x29, 0xc2, 0x4e, 0x16, 0xf1, 0x98, 0x24, 0x54, 0xdd, 0xca, 0xc9, 0x22, 0xbe, 0x32, 0xf9, 0xb8, - 0xa5, 0x93, 0x18, 0x9f, 0x51, 0x15, 0x72, 0x83, 0x2e, 0x6c, 0xe3, 0x6f, 0x66, 0xa2, 0x6d, 0xe4, - 0xe1, 0x4d, 0xf2, 0x0e, 0x8c, 0xf0, 0xc7, 0x3b, 0xf1, 0xc6, 0x79, 0x2e, 0xbc, 0xd4, 0xaa, 0x2f, - 0x7b, 0x5c, 0x13, 0xfe, 0x87, 0xfc, 0x81, 0xff, 0x39, 0x53, 0x90, 0x84, 0x4a, 0x74, 0x5d, 0x9f, - 0x26, 0xb9, 0xa3, 0xba, 0xf8, 0x66, 0x9a, 0x12, 0xdd, 0xf8, 0x9d, 0x21, 0x98, 0xd2, 0xd1, 0xd4, - 0x17, 0xbe, 0xcc, 0x40, 0x2f, 0x7c, 0x5f, 0x80, 0x3c, 0xeb, 0x0f, 0xa7, 0x4e, 0xa5, 0x44, 0xf6, - 0x0a, 0x3e, 0x2d, 0x08, 0x98, 0xf6, 0x72, 0x0d, 0x7c, 0x38, 0xd8, 0x1d, 0xd7, 0x0c, 0xa9, 0xc8, - 0xa2, 0xf2, 0x0c, 0x95, 0x8b, 0x84, 0x14, 0xf9, 0x0c, 0xa5, 0xae, 0x87, 0xf0, 0x41, 0xea, 0x4d, - 0x18, 0x61, 0xf2, 0x7d, 0xa8, 0x82, 0xc1, 0xaf, 0x64, 0xa2, 0x7f, 0xcc, 0x44, 0x85, 0x23, 0x91, - 0x6d, 0xc8, 0xaf, 0xda, 0x7e, 0x50, 0xa3, 0xb4, 0x3d, 0xc0, 0xdb, 0x7d, 0x51, 0x74, 0xd5, 0x2c, - 0x3e, 0x8c, 0xfb, 0x94, 0xb6, 0x63, 0x8f, 0xaf, 0x21, 0x33, 0xf2, 0x55, 0x80, 0xb2, 0xdb, 0x0e, - 0x3c, 0xb7, 0xb9, 0xea, 0xee, 0xcd, 0x8f, 0xe0, 0xdd, 0xf7, 0x52, 0x6c, 0x00, 0x22, 0x04, 0x7e, - 0xfd, 0x0d, 0x15, 0x3c, 0x75, 0x5e, 0x60, 0x35, 0xdd, 0x3d, 0x75, 0x1d, 0x44, 0xf8, 0xe4, 0x0e, - 0x14, 0xa4, 0x62, 0x61, 0xab, 0xb3, 0xe7, 0xe1, 0x04, 0x19, 0x8d, 0x24, 0x0f, 0xfa, 0x38, 0xb0, - 0xba, 0x02, 0xae, 0xee, 0x94, 0x71, 0x1a, 0xf2, 0x15, 0xb8, 0x10, 0x87, 0xc9, 0x51, 0xce, 0x47, - 0x32, 0xb9, 0xca, 0x2e, 0x65, 0xde, 0xf7, 0x62, 0x61, 0x7c, 0x37, 0x0b, 0x17, 0x7a, 0x34, 0x96, - 0xad, 0x07, 0x3c, 0xae, 0x95, 0xf5, 0x10, 0x3b, 0xa5, 0xb9, 0xcd, 0xd1, 0x65, 0xc8, 0x8a, 0x03, - 0x6e, 0x68, 0xa9, 0x70, 0x72, 0x5c, 0x9c, 0xd0, 0xc6, 0x31, 0x5b, 0xad, 0x90, 0x7b, 0x30, 0xc4, - 0x86, 0x68, 0x80, 0xa7, 0x73, 0xa9, 0x53, 0x9a, 0x0a, 0x1c, 0x75, 0xfa, 0xe0, 0xd0, 0x21, 0x0f, - 0xf2, 0x19, 0xc8, 0x6d, 0x6e, 0xae, 0xe2, 0xdc, 0xc9, 0x61, 0xdb, 0x27, 0x83, 0xa0, 0xa9, 0x4d, - 0xd5, 0x49, 0x46, 0x7b, 0x3d, 0xb4, 0xb4, 0x60, 0xe8, 0xe4, 0x4b, 0x31, 0x93, 0x9e, 0xd7, 0xfb, - 0x0f, 0xf4, 0xe0, 0x16, 0x3e, 0x4f, 0x60, 0x58, 0x63, 0xfc, 0x7c, 0x36, 0x5a, 0xc3, 0x77, 0x9c, - 0x66, 0x40, 0x3d, 0xb2, 0xc0, 0x97, 0x64, 0x24, 0x9c, 0x99, 0xe1, 0x6f, 0x32, 0x1f, 0xad, 0x6f, - 0xce, 0x2a, 0x5c, 0xc8, 0xaf, 0x2b, 0x0b, 0x39, 0x87, 0x0b, 0x79, 0xaa, 0xe7, 0x92, 0x7d, 0x3d, - 0x65, 0x5e, 0xe2, 0x42, 0x4c, 0x99, 0x7b, 0xaf, 0xc0, 0xe4, 0xba, 0xbb, 0xfc, 0x38, 0x08, 0x11, - 0xd9, 0x02, 0xcc, 0x9b, 0x3a, 0x90, 0x71, 0x7c, 0xd0, 0x6c, 0x50, 0x6f, 0x73, 0xdf, 0x6e, 0x6b, - 0x6f, 0xd7, 0x66, 0x02, 0xce, 0x70, 0xd7, 0xe9, 0xa1, 0x8e, 0x3b, 0xca, 0x71, 0xe3, 0x70, 0xe3, - 0x07, 0xb2, 0xb2, 0x33, 0x1e, 0x2e, 0x3e, 0xa3, 0x6f, 0xa4, 0x6f, 0x69, 0x6f, 0xa4, 0xb3, 0xa1, - 0x76, 0x37, 0x7c, 0xf0, 0x5f, 0x3c, 0xc5, 0x4e, 0xe0, 0x9f, 0x0d, 0xc3, 0x84, 0x8a, 0xce, 0xfa, - 0xa1, 0xd4, 0x68, 0x78, 0x6a, 0x3f, 0xd8, 0x8d, 0x86, 0x67, 0x22, 0x54, 0x33, 0x0b, 0xc8, 0xf5, - 0x35, 0x0b, 0xf8, 0x1a, 0x8c, 0x95, 0x5b, 0x0d, 0xed, 0xb1, 0xd2, 0x48, 0xf9, 0xbc, 0xeb, 0x21, - 0x12, 0x5f, 0x0b, 0xa1, 0xd2, 0xb2, 0xde, 0x6a, 0x24, 0x9f, 0x28, 0x23, 0x96, 0x9a, 0x45, 0xc1, - 0xf0, 0x93, 0x58, 0x14, 0xdc, 0x86, 0xb1, 0x2d, 0x9f, 0x6e, 0x76, 0xdb, 0x6d, 0xda, 0xc4, 0x69, - 0x95, 0xe7, 0xb2, 0x7e, 0xd7, 0xa7, 0x56, 0x80, 0x50, 0xf5, 0x03, 0x42, 0x54, 0x75, 0x80, 0x47, - 0xfb, 0x0c, 0xf0, 0x2d, 0xc8, 0x6f, 0x50, 0xea, 0x61, 0x9f, 0x8e, 0x47, 0x22, 0x5d, 0x87, 0x52, - 0xcf, 0x62, 0x1d, 0xab, 0x59, 0x1a, 0x08, 0x44, 0xcd, 0x3c, 0x61, 0x62, 0x40, 0xf3, 0x04, 0xf2, - 0x12, 0x4c, 0x74, 0xba, 0x3b, 0x4d, 0xa7, 0x8e, 0x7c, 0x85, 0x5d, 0x83, 0x39, 0xce, 0x61, 0x8c, - 0xad, 0x4f, 0xbe, 0x04, 0x93, 0x78, 0xc7, 0x09, 0xa7, 0xdc, 0x94, 0xf6, 0xaa, 0xa7, 0x95, 0x71, - 0x49, 0xa7, 0xce, 0x40, 0x56, 0x8a, 0xf9, 0x8d, 0xce, 0x68, 0xa1, 0x06, 0x53, 0xfa, 0x48, 0x3e, - 0x85, 0xc7, 0xbd, 0xd0, 0xd4, 0x22, 0x5f, 0x18, 0xbb, 0x37, 0x94, 0x87, 0xc2, 0x38, 0x37, 0xb2, - 0x30, 0x61, 0x23, 0x6c, 0x93, 0x49, 0xee, 0x77, 0x77, 0xa8, 0xd7, 0xa6, 0x01, 0xf5, 0xc5, 0x25, - 0xc0, 0x37, 0x87, 0x4a, 0x9d, 0x8e, 0x6f, 0xfc, 0x27, 0x59, 0x18, 0x2d, 0x6d, 0xd7, 0xaa, 0xed, - 0x5d, 0x17, 0x9f, 0xe8, 0xc2, 0x97, 0x19, 0xf5, 0x89, 0x2e, 0x7c, 0x99, 0x51, 0xdf, 0x63, 0x6e, - 0xa4, 0x5c, 0xe3, 0xd0, 0x8a, 0x57, 0xb9, 0xc6, 0x69, 0x17, 0xd0, 0xe8, 0x91, 0x2a, 0x37, 0xc0, - 0x23, 0x55, 0xa8, 0x47, 0x1c, 0x3a, 0x5d, 0x8f, 0xf8, 0x0e, 0x8c, 0x57, 0xdb, 0x01, 0xdd, 0xf3, - 0xa2, 0x99, 0x1e, 0x5e, 0x29, 0x43, 0xb0, 0x2a, 0xda, 0x2b, 0xd8, 0x6c, 0x1a, 0x71, 0xdd, 0x65, - 0xa8, 0xb3, 0xc4, 0x69, 0xc4, 0x55, 0x9c, 0x31, 0x7d, 0x80, 0x44, 0x34, 0x2a, 0xb1, 0x39, 0x22, - 0x0d, 0x01, 0xb8, 0xf0, 0x39, 0x15, 0x29, 0xef, 0x59, 0xc7, 0x2e, 0xcd, 0xa4, 0x1b, 0x02, 0x18, - 0x3f, 0x92, 0x85, 0xf1, 0x52, 0xa7, 0xf3, 0x8c, 0x9b, 0x63, 0x7d, 0x4e, 0xdb, 0x5e, 0xe5, 0x5d, - 0x28, 0x6c, 0xd7, 0x40, 0x96, 0x58, 0xbf, 0x92, 0x85, 0xe9, 0x18, 0x85, 0xfa, 0xf5, 0x99, 0x01, - 0x8d, 0xb0, 0xb2, 0x03, 0x1a, 0x61, 0xe5, 0x06, 0x33, 0xc2, 0x1a, 0x7a, 0x92, 0x2d, 0xf3, 0x35, - 0xc8, 0x95, 0x3a, 0x9d, 0xf8, 0x63, 0x6e, 0xa7, 0xf3, 0xf0, 0x16, 0xbf, 0xcf, 0xda, 0x9d, 0x8e, - 0xc9, 0x30, 0xb4, 0x7d, 0x6c, 0x64, 0xc0, 0x7d, 0xcc, 0x78, 0x13, 0xc6, 0x90, 0x17, 0x9a, 0x3e, - 0x5d, 0x06, 0x5c, 0xcc, 0xc2, 0xea, 0x49, 0xab, 0x4b, 0x2c, 0xf3, 0x7f, 0x99, 0x81, 0x61, 0xfc, - 0xfd, 0x8c, 0xce, 0xb1, 0x45, 0x6d, 0x8e, 0x15, 0x94, 0x39, 0x36, 0xc8, 0xec, 0xfa, 0x07, 0x39, - 0x80, 0xf2, 0x03, 0xb3, 0xc6, 0xd5, 0x1e, 0xe4, 0x0e, 0x4c, 0xdb, 0xcd, 0xa6, 0x7b, 0x48, 0x1b, - 0x96, 0xeb, 0x39, 0x7b, 0x4e, 0x9b, 0xf7, 0x9c, 0x7c, 0x61, 0xd4, 0x8b, 0xd4, 0x77, 0x07, 0x51, - 0xf4, 0x80, 0x97, 0xa8, 0x7c, 0x5a, 0x34, 0xd8, 0x77, 0x1b, 0xf2, 0x02, 0xa7, 0xf1, 0x11, 0x45, - 0x29, 0x7c, 0xd6, 0x78, 0x89, 0xca, 0x67, 0x1f, 0x2f, 0xa4, 0x52, 0x7e, 0xd4, 0xf8, 0x88, 0xa2, - 0x14, 0x3e, 0xfc, 0x16, 0xeb, 0x93, 0x55, 0x98, 0x41, 0x88, 0x55, 0xf7, 0x68, 0x83, 0xb6, 0x03, - 0xc7, 0x6e, 0xfa, 0xe2, 0xca, 0x8f, 0xca, 0xa1, 0x44, 0xa1, 0x7a, 0xe5, 0xc1, 0xc2, 0x72, 0x54, - 0x46, 0xae, 0xc3, 0x68, 0xcb, 0x7e, 0x6c, 0xd9, 0x7b, 0xfc, 0xad, 0x7d, 0x92, 0x5f, 0x11, 0x05, - 0x48, 0xdd, 0xb0, 0x5b, 0xf6, 0xe3, 0xd2, 0x1e, 0x65, 0xad, 0xa0, 0x8f, 0x3b, 0xae, 0xaf, 0xb4, - 0x62, 0x24, 0x6a, 0x45, 0xac, 0x48, 0x6d, 0x85, 0x28, 0x12, 0xad, 0x30, 0x3e, 0x82, 0xe7, 0xab, - 0xf8, 0x11, 0xc1, 0x51, 0x99, 0xb6, 0x03, 0xea, 0x6d, 0x50, 0xaf, 0xe5, 0xe0, 0xc3, 0x63, 0x8d, - 0x06, 0xe4, 0x65, 0xc8, 0x95, 0xcc, 0x75, 0x31, 0x7d, 0xf9, 0xc6, 0xaa, 0x3d, 0x03, 0xb3, 0xd2, - 0x50, 0x89, 0x90, 0x3d, 0x45, 0x89, 0xf0, 0x9f, 0x66, 0x60, 0xa6, 0xd4, 0xe9, 0xe8, 0xf5, 0xe9, - 0x16, 0x0a, 0x99, 0xc1, 0x2d, 0x14, 0x1c, 0x98, 0xd2, 0xbe, 0x95, 0x4f, 0x87, 0x48, 0xa4, 0xeb, - 0xd3, 0x2c, 0xde, 0x49, 0x9d, 0x10, 0x64, 0xf9, 0xfa, 0xf3, 0x5a, 0x8c, 0xb1, 0xf1, 0xcf, 0x46, - 0x70, 0xfd, 0x8b, 0x9d, 0x52, 0xd8, 0xd0, 0x65, 0x52, 0x6c, 0xe8, 0xde, 0x06, 0x45, 0x0e, 0x50, - 0xf5, 0x9f, 0x8a, 0x14, 0xa4, 0xde, 0x9d, 0x23, 0x64, 0x72, 0x10, 0xb7, 0xa6, 0xcb, 0x61, 0x6b, - 0x5e, 0x8e, 0x2f, 0xbe, 0xa7, 0x62, 0x48, 0xb7, 0x02, 0xa4, 0xda, 0xc6, 0x27, 0x3f, 0x5a, 0x3b, - 0x70, 0x3a, 0x0f, 0xa9, 0xe7, 0xec, 0x1e, 0x89, 0xc9, 0x8b, 0x9d, 0xef, 0x88, 0x52, 0xcb, 0x3f, - 0x70, 0x3a, 0xec, 0x72, 0xed, 0xec, 0x1e, 0x99, 0x29, 0x34, 0xe4, 0x03, 0x18, 0x35, 0xe9, 0xa1, - 0xe7, 0x04, 0xd2, 0x46, 0x64, 0x2a, 0x54, 0x05, 0x21, 0x94, 0xcf, 0x63, 0x8f, 0xff, 0x50, 0x77, - 0x34, 0x51, 0x4e, 0x16, 0xf9, 0x51, 0xce, 0x6d, 0x41, 0x26, 0xa3, 0xd6, 0x96, 0xb6, 0x6b, 0xbd, - 0x4e, 0x72, 0x72, 0x0d, 0x86, 0x51, 0x1e, 0x10, 0x52, 0x2e, 0xfa, 0x56, 0xa0, 0x54, 0xa8, 0x0a, - 0x2b, 0x88, 0x41, 0x2e, 0x01, 0x84, 0x6f, 0x6a, 0xfe, 0x7c, 0x1e, 0xe5, 0x4f, 0x05, 0x12, 0x17, - 0x66, 0xc6, 0xce, 0x24, 0xcc, 0xac, 0x42, 0xc1, 0xa4, 0xdf, 0xe8, 0x3a, 0x1e, 0x6d, 0x94, 0x3a, - 0xf8, 0x70, 0xe3, 0xcf, 0x03, 0xae, 0xc2, 0xcb, 0x27, 0xc7, 0xc5, 0x17, 0x3c, 0x51, 0x66, 0xd9, - 0x1d, 0xfe, 0xde, 0xa3, 0x6d, 0x01, 0x71, 0x4a, 0xf2, 0x36, 0x0c, 0xb1, 0x6d, 0x53, 0xd8, 0xdd, - 0x49, 0x05, 0x78, 0xb4, 0x93, 0xf2, 0x95, 0x55, 0x77, 0xb5, 0xf5, 0x8c, 0x24, 0xc4, 0x82, 0x29, - 0x7d, 0xba, 0x0b, 0x13, 0x8c, 0xf9, 0xa8, 0x3f, 0xf5, 0x72, 0xa1, 0x15, 0x17, 0x30, 0xab, 0x8e, - 0x40, 0x75, 0x05, 0xe8, 0xe8, 0x9f, 0x9c, 0xb1, 0xdc, 0xaf, 0x64, 0xe1, 0xe5, 0x50, 0x14, 0x79, - 0xe0, 0xd5, 0x4a, 0x6b, 0xab, 0xd5, 0xc6, 0x86, 0xb8, 0xb9, 0x6f, 0x78, 0xee, 0x23, 0xa7, 0x41, - 0xbd, 0x87, 0x37, 0x4f, 0x39, 0x48, 0x57, 0xf9, 0xfa, 0xe4, 0x6a, 0xff, 0xac, 0x66, 0x56, 0xa4, - 0x48, 0x7c, 0x62, 0x5f, 0xe9, 0x74, 0x12, 0xaf, 0x00, 0x2b, 0xcf, 0x99, 0x11, 0x03, 0xf2, 0x37, - 0x33, 0x70, 0x3e, 0xfd, 0x43, 0x84, 0x36, 0xa7, 0x28, 0x6f, 0x8d, 0x3d, 0xbe, 0x76, 0xe9, 0xb5, - 0x93, 0xe3, 0xe2, 0xcb, 0xbe, 0xdd, 0x6a, 0x5a, 0x4e, 0x83, 0xd7, 0xe6, 0xd4, 0xa9, 0xd5, 0x11, - 0x08, 0x5a, 0xbd, 0x3d, 0x6a, 0xfa, 0x3c, 0xc8, 0xf3, 0x74, 0x3e, 0xb3, 0x04, 0x90, 0x97, 0x9a, - 0x55, 0xe3, 0xd7, 0x33, 0xa0, 0xac, 0x9d, 0xbc, 0x49, 0x1b, 0x8e, 0x47, 0xeb, 0x81, 0x38, 0x53, - 0x85, 0x53, 0x14, 0x87, 0xc5, 0xac, 0xc8, 0x10, 0x46, 0xde, 0x87, 0x51, 0xb1, 0xf7, 0x8b, 0xfd, - 0x52, 0xae, 0x39, 0xa1, 0xb3, 0xe5, 0xde, 0x73, 0x89, 0x73, 0x43, 0x12, 0xb1, 0xed, 0xfa, 0xde, - 0xf6, 0x66, 0xb9, 0x69, 0x3b, 0x2d, 0x5f, 0xc8, 0x20, 0xd8, 0xad, 0x1f, 0x1d, 0x06, 0x56, 0x1d, - 0xa1, 0xea, 0x76, 0x1d, 0xa2, 0x1a, 0x77, 0xa5, 0xca, 0xf8, 0x14, 0x53, 0xc8, 0x22, 0x0c, 0x3f, - 0x8c, 0x54, 0x47, 0x4b, 0x63, 0x27, 0xc7, 0x45, 0x3e, 0x5d, 0x4c, 0x0e, 0x37, 0x7e, 0x2c, 0x03, - 0x53, 0xfa, 0x7c, 0x22, 0xd7, 0x61, 0x44, 0x38, 0x24, 0x65, 0x50, 0x45, 0xc6, 0x7a, 0x61, 0x84, - 0xbb, 0x22, 0x69, 0x0e, 0x48, 0x02, 0x8b, 0x49, 0x51, 0x82, 0x83, 0x10, 0x21, 0x50, 0x8a, 0xaa, - 0x73, 0x90, 0x29, 0xcb, 0x88, 0xc1, 0xae, 0x50, 0x7e, 0xb7, 0x19, 0xa8, 0x2f, 0x27, 0x1e, 0x42, - 0x4c, 0x51, 0x62, 0x94, 0x61, 0x84, 0x6f, 0x56, 0x31, 0x13, 0xac, 0xcc, 0x19, 0x4c, 0xb0, 0x8c, - 0xe3, 0x0c, 0x40, 0xad, 0xb6, 0x72, 0x9f, 0x1e, 0x6d, 0xd8, 0x0e, 0x9e, 0x88, 0xfc, 0x60, 0xb8, - 0x2f, 0x16, 0xd7, 0x84, 0x78, 0xea, 0xe3, 0x87, 0xc8, 0x01, 0x3d, 0xd2, 0x9e, 0xfa, 0x24, 0x2a, - 0x9e, 0x3e, 0x9e, 0xf3, 0xc8, 0x0e, 0x28, 0x23, 0xcc, 0x22, 0x21, 0x3f, 0x7d, 0x38, 0x34, 0x46, - 0xa9, 0x20, 0x93, 0xaf, 0xc2, 0x54, 0xf4, 0x2b, 0x7c, 0xb0, 0x9c, 0x0a, 0x17, 0xb0, 0x5e, 0xb8, - 0x74, 0xe9, 0xe4, 0xb8, 0xb8, 0xa0, 0x70, 0x8d, 0x3f, 0x65, 0xc6, 0x98, 0x19, 0xbf, 0x94, 0xc1, - 0x67, 0x7a, 0xd9, 0xc0, 0x2b, 0x30, 0x14, 0x1a, 0x96, 0x4e, 0x88, 0x6d, 0x4d, 0x7f, 0x94, 0xc1, - 0x72, 0x26, 0x7d, 0x44, 0x2d, 0xc1, 0xc3, 0x40, 0x6f, 0x01, 0x2b, 0x25, 0x77, 0x61, 0x74, 0xa0, - 0x6f, 0xc6, 0xa5, 0x91, 0xf2, 0xad, 0x92, 0x1a, 0x47, 0xe1, 0xde, 0xf6, 0xe6, 0xf7, 0xee, 0x28, - 0xfc, 0x64, 0x16, 0xa6, 0x59, 0xbf, 0x96, 0xba, 0xc1, 0xbe, 0xeb, 0x39, 0xc1, 0xd1, 0x33, 0xab, - 0x63, 0x7c, 0x57, 0xbb, 0xa0, 0x2c, 0xc8, 0x53, 0x46, 0x6d, 0xdb, 0x40, 0xaa, 0xc6, 0xff, 0x6e, - 0x18, 0x66, 0x53, 0xa8, 0xc8, 0x1b, 0xda, 0x33, 0xc0, 0xbc, 0x74, 0x38, 0xfe, 0xee, 0x71, 0x71, - 0x42, 0xa2, 0x6f, 0x46, 0x0e, 0xc8, 0x8b, 0xba, 0xcd, 0x0b, 0xef, 0x29, 0x7c, 0x15, 0x50, 0x6d, - 0x5e, 0x74, 0x4b, 0x97, 0x6b, 0x30, 0x6c, 0xba, 0x4d, 0x2a, 0xed, 0xbc, 0x50, 0x84, 0xf1, 0x18, - 0x40, 0x7b, 0xd7, 0x66, 0x00, 0xb2, 0x02, 0xa3, 0xec, 0x8f, 0x35, 0xbb, 0x23, 0x5e, 0x6c, 0x48, - 0x78, 0x45, 0x46, 0x68, 0xc7, 0x69, 0xef, 0xa9, 0xb7, 0xe4, 0x26, 0xb5, 0x5a, 0x76, 0x47, 0x93, - 0xb5, 0x38, 0xa2, 0x76, 0xdb, 0xce, 0xf7, 0xbe, 0x6d, 0x67, 0x4e, 0xbd, 0x6d, 0xef, 0x02, 0xd4, - 0x9c, 0xbd, 0xb6, 0xd3, 0xde, 0x2b, 0x35, 0xf7, 0x84, 0xdb, 0xf6, 0xb5, 0xde, 0xa3, 0x70, 0x3d, - 0x42, 0xc6, 0x89, 0xfb, 0x3c, 0x3e, 0xab, 0x72, 0x98, 0x65, 0x37, 0xf7, 0x34, 0xf7, 0x12, 0x85, - 0x33, 0x59, 0x07, 0x28, 0xd5, 0x03, 0xe7, 0x11, 0x9b, 0xc2, 0xbe, 0x10, 0x8c, 0xe4, 0x27, 0x97, - 0x4b, 0xf7, 0xe9, 0x11, 0x0a, 0xf3, 0xf2, 0x81, 0xca, 0x46, 0x54, 0xb6, 0x12, 0x34, 0xdf, 0x81, - 0x88, 0x03, 0xe9, 0xc0, 0xb9, 0x52, 0xa3, 0xe1, 0xb0, 0x36, 0xd8, 0x4d, 0x7c, 0x71, 0xa5, 0x0d, - 0x64, 0x3d, 0x91, 0xce, 0xfa, 0x9a, 0x60, 0xfd, 0x92, 0x1d, 0x52, 0x59, 0x01, 0x27, 0x8b, 0x57, - 0x93, 0xce, 0xd8, 0xa8, 0xc1, 0x94, 0xde, 0x78, 0xdd, 0xdd, 0x7c, 0x02, 0xf2, 0x66, 0xad, 0x64, - 0xd5, 0x56, 0x4a, 0x37, 0x0b, 0x19, 0x52, 0x80, 0x09, 0xf1, 0x6b, 0xd1, 0x5a, 0x7c, 0xeb, 0x76, - 0x21, 0xab, 0x41, 0xde, 0xba, 0xb9, 0x58, 0xc8, 0x2d, 0x64, 0xe7, 0x33, 0x31, 0x4f, 0xaf, 0xd1, - 0x42, 0x9e, 0xab, 0x22, 0x8d, 0x5f, 0xcd, 0x40, 0x5e, 0x7e, 0x3b, 0xb9, 0x0d, 0xb9, 0x5a, 0x6d, - 0x25, 0xe6, 0x9b, 0x15, 0x9d, 0x32, 0x7c, 0x3f, 0xf5, 0x7d, 0xd5, 0x00, 0x97, 0x11, 0x30, 0xba, - 0xcd, 0xd5, 0x9a, 0x10, 0x0e, 0x24, 0x5d, 0xb4, 0x79, 0x73, 0xba, 0x14, 0x87, 0x95, 0xdb, 0x90, - 0xbb, 0xb7, 0xbd, 0x29, 0xae, 0x2d, 0x92, 0x2e, 0xda, 0x4f, 0x39, 0xdd, 0x47, 0x87, 0xea, 0x2e, - 0xcf, 0x08, 0x0c, 0x13, 0xc6, 0x95, 0x89, 0xcc, 0x0f, 0xdd, 0x96, 0x1b, 0xfa, 0x58, 0x8b, 0x43, - 0x97, 0x41, 0x4c, 0x51, 0xc2, 0x64, 0x84, 0x55, 0xb7, 0x6e, 0x37, 0xc5, 0xe9, 0x8d, 0x32, 0x42, - 0x93, 0x01, 0x4c, 0x0e, 0x37, 0x7e, 0x3b, 0x03, 0x05, 0x94, 0xa4, 0xd0, 0x80, 0xd6, 0x3d, 0xa0, - 0xed, 0x87, 0x37, 0xc9, 0x9b, 0x72, 0xc9, 0x65, 0x42, 0xb5, 0xcf, 0x30, 0x2e, 0xb9, 0xd8, 0xbb, - 0x91, 0x58, 0x76, 0x8a, 0x1b, 0x7b, 0x76, 0x70, 0xf7, 0xd7, 0x53, 0xdc, 0xd8, 0x8b, 0x30, 0x8c, - 0x9f, 0x23, 0x36, 0x47, 0xfc, 0xf2, 0x80, 0x01, 0x4c, 0x0e, 0x57, 0xf6, 0xa6, 0x9f, 0xce, 0x26, - 0xda, 0xb0, 0xf8, 0x3d, 0xe5, 0x42, 0xaa, 0x37, 0x6e, 0xa0, 0xfd, 0xfa, 0x43, 0x98, 0x8b, 0x77, - 0x09, 0xaa, 0xe4, 0x4a, 0x30, 0xad, 0xc3, 0xa5, 0x76, 0xee, 0x42, 0x6a, 0x5d, 0x0f, 0x17, 0xcd, - 0x38, 0xbe, 0xf1, 0xbf, 0x67, 0x60, 0x0c, 0xff, 0x34, 0xbb, 0x4d, 0x34, 0x64, 0x2a, 0x6d, 0xd7, - 0x84, 0xb2, 0x41, 0x15, 0xe6, 0xec, 0x43, 0xdf, 0x12, 0x9a, 0x09, 0x6d, 0x8f, 0x09, 0x91, 0x05, - 0x29, 0xd7, 0xab, 0x4b, 0x15, 0x55, 0x48, 0xca, 0x15, 0xf0, 0x7e, 0x8c, 0x54, 0x20, 0xa3, 0xf9, - 0xe3, 0x76, 0x8d, 0x4d, 0x3f, 0xd5, 0xb2, 0x00, 0xe9, 0xdc, 0xa6, 0x6e, 0xfe, 0xc8, 0xd1, 0xd0, - 0xb0, 0x60, 0xbb, 0x56, 0x32, 0xd7, 0x35, 0xc3, 0x02, 0xf6, 0x8d, 0x9a, 0x9a, 0x46, 0x20, 0x19, - 0x3f, 0x3f, 0x1e, 0xef, 0x40, 0x71, 0xe0, 0x9d, 0x71, 0x6d, 0xbc, 0x03, 0xc3, 0xa5, 0x66, 0xd3, - 0x3d, 0x14, 0xbb, 0x84, 0xd4, 0x10, 0x86, 0xfd, 0xc7, 0xcf, 0x33, 0x54, 0x72, 0x69, 0x6e, 0x71, - 0x0c, 0x40, 0xca, 0x30, 0x56, 0xda, 0xae, 0x55, 0xab, 0x95, 0xcd, 0x4d, 0xee, 0x02, 0x94, 0x5b, - 0x7a, 0x55, 0xf6, 0x8f, 0xe3, 0x34, 0xac, 0xf8, 0xdb, 0x76, 0x24, 0xbf, 0x47, 0x74, 0xe4, 0x3d, - 0x80, 0x7b, 0xae, 0xd3, 0xe6, 0x4a, 0x3d, 0xd1, 0x78, 0x76, 0xa7, 0x1d, 0xff, 0xc8, 0x75, 0xda, - 0x42, 0x0b, 0xc8, 0xbe, 0x3d, 0x42, 0x32, 0x95, 0xbf, 0x59, 0x4f, 0x2f, 0xb9, 0xdc, 0x38, 0x69, - 0x38, 0xea, 0xe9, 0x1d, 0x37, 0x61, 0x97, 0x24, 0xd1, 0x48, 0x0b, 0xa6, 0x6b, 0xdd, 0xbd, 0x3d, - 0xca, 0x76, 0x76, 0xa1, 0xa1, 0x19, 0x11, 0x77, 0xdc, 0x30, 0xf0, 0x0a, 0xbf, 0x8f, 0xb0, 0x5b, - 0x8a, 0xbf, 0xf4, 0x06, 0x9b, 0xc8, 0xdf, 0x39, 0x2e, 0x8a, 0x37, 0x73, 0x26, 0xaa, 0xf9, 0x92, - 0x3e, 0xa9, 0x9f, 0x89, 0xf3, 0x26, 0x0f, 0x60, 0xe4, 0xae, 0x13, 0xac, 0x74, 0x77, 0x84, 0x4b, - 0xcb, 0x4b, 0x7d, 0x16, 0x0d, 0x47, 0xe4, 0x8f, 0x36, 0x7b, 0x4e, 0xb0, 0xdf, 0x55, 0x9d, 0x0a, - 0x04, 0x1b, 0xb2, 0x0d, 0xf9, 0xb2, 0xe3, 0xd5, 0x9b, 0xb4, 0x5c, 0x15, 0x67, 0xff, 0xcb, 0x7d, - 0x58, 0x4a, 0x54, 0xde, 0x2f, 0x75, 0xfc, 0x55, 0x77, 0x54, 0x59, 0x40, 0x62, 0x90, 0x7f, 0x3b, - 0x03, 0xcf, 0x87, 0x5f, 0x5f, 0xda, 0xa3, 0xed, 0x60, 0xcd, 0x0e, 0xea, 0xfb, 0xd4, 0x13, 0xbd, - 0x34, 0xd6, 0xaf, 0x97, 0x3e, 0x9f, 0xe8, 0xa5, 0xab, 0x51, 0x2f, 0xd9, 0x8c, 0x99, 0xd5, 0xe2, - 0xdc, 0x92, 0x7d, 0xd6, 0xaf, 0x56, 0x62, 0x01, 0x44, 0xaf, 0x70, 0xc2, 0x25, 0xf2, 0xd5, 0x3e, - 0x0d, 0x8e, 0x90, 0x85, 0x2b, 0x43, 0xf8, 0x5b, 0xb3, 0xc5, 0x0b, 0xa1, 0xe4, 0xbe, 0xf4, 0x1f, - 0xe3, 0x52, 0xc9, 0xe5, 0x3e, 0xbc, 0xb9, 0x4f, 0xd9, 0x6c, 0x1f, 0x4f, 0x51, 0x3e, 0xda, 0xab, - 0xf6, 0x8e, 0x10, 0x44, 0x4e, 0x19, 0xed, 0x55, 0x3b, 0x1a, 0xed, 0xa6, 0x1d, 0x1f, 0xed, 0x55, - 0x7b, 0x87, 0x94, 0xb9, 0xd3, 0x2b, 0xf7, 0x90, 0xbc, 0xd4, 0x8f, 0x5b, 0x79, 0x83, 0x9f, 0xcc, - 0x29, 0xce, 0xaf, 0x5f, 0x86, 0xb1, 0x5a, 0xc7, 0xae, 0xd3, 0xa6, 0xb3, 0x1b, 0x88, 0x67, 0xd9, - 0x57, 0xfa, 0xb0, 0x0a, 0x71, 0xc5, 0x93, 0x9e, 0xfc, 0xa9, 0x5e, 0x93, 0x42, 0x1c, 0xf6, 0x85, - 0x9b, 0x1b, 0x6b, 0xf3, 0xd3, 0xa7, 0x7e, 0xe1, 0xe6, 0xc6, 0x9a, 0x90, 0x39, 0x3a, 0x2d, 0x4d, - 0xe6, 0xd8, 0x58, 0x23, 0x1d, 0x98, 0xda, 0xa4, 0x9e, 0x67, 0xef, 0xba, 0x5e, 0x8b, 0x6b, 0x04, - 0xb9, 0xd7, 0xcd, 0xb5, 0x7e, 0xfc, 0x34, 0x02, 0xae, 0x08, 0x0b, 0x24, 0xcc, 0x8a, 0xab, 0x11, - 0x63, 0xfc, 0x59, 0x9f, 0x2c, 0x39, 0xc1, 0x4e, 0xb7, 0x7e, 0x40, 0x83, 0xf9, 0x99, 0x53, 0xfb, - 0x24, 0xc4, 0xe5, 0x7d, 0xb2, 0x23, 0x7f, 0xaa, 0x7d, 0x12, 0xe2, 0x18, 0xbf, 0x91, 0x83, 0x0b, - 0x3d, 0xba, 0x80, 0xac, 0xcb, 0x2d, 0x37, 0xa3, 0xe9, 0x85, 0x7b, 0xa0, 0x5f, 0x3f, 0x75, 0x17, - 0x5e, 0x85, 0xc2, 0xf2, 0x7d, 0x94, 0xd5, 0xf9, 0xb3, 0x46, 0xb9, 0x24, 0x0f, 0x2b, 0xd4, 0x5d, - 0xd2, 0x03, 0xb4, 0x52, 0x94, 0xcf, 0x21, 0x75, 0xcd, 0x1d, 0x37, 0x41, 0xb9, 0xf0, 0x03, 0x59, - 0x18, 0xc2, 0x83, 0x33, 0x16, 0x84, 0x28, 0x73, 0xa6, 0x20, 0x44, 0x5f, 0x80, 0x89, 0xe5, 0xfb, - 0xfc, 0x26, 0xbd, 0x62, 0xfb, 0xfb, 0x62, 0x5b, 0xc7, 0x47, 0x7f, 0x7a, 0x60, 0x89, 0x8b, 0xf7, - 0xbe, 0xad, 0xc9, 0xac, 0x1a, 0x05, 0xd9, 0x82, 0x59, 0xfe, 0x6d, 0xce, 0xae, 0x53, 0xe7, 0xb1, - 0x4c, 0x1c, 0xbb, 0x29, 0xf6, 0xf8, 0x97, 0x4f, 0x8e, 0x8b, 0x45, 0x7a, 0x80, 0xf6, 0x97, 0xa2, - 0xdc, 0xf2, 0x11, 0x41, 0x35, 0xc4, 0x4c, 0xa1, 0x57, 0x03, 0x2c, 0x98, 0x63, 0x58, 0x21, 0xab, - 0x8d, 0xd5, 0xcd, 0x70, 0x39, 0x92, 0xf1, 0xa7, 0xc3, 0xb0, 0xd0, 0x7b, 0x7b, 0x26, 0x5f, 0xd4, - 0x07, 0xf0, 0xca, 0xa9, 0x1b, 0xfa, 0xe9, 0x63, 0xf8, 0x25, 0x98, 0x5b, 0x6e, 0x07, 0xd4, 0xeb, - 0x78, 0x8e, 0x0c, 0xa9, 0xb1, 0xe2, 0xfa, 0xd2, 0xde, 0x15, 0x0d, 0x4f, 0x69, 0x58, 0x2e, 0x94, - 0x9e, 0x68, 0x7d, 0xab, 0xb0, 0x4a, 0xe5, 0x40, 0x96, 0x61, 0x4a, 0x81, 0x37, 0xbb, 0x7b, 0x42, - 0x20, 0xe1, 0xaf, 0x4b, 0x0a, 0xcf, 0x66, 0x57, 0x35, 0x06, 0x8c, 0x11, 0xa1, 0x4d, 0x2d, 0xbb, - 0x32, 0xd6, 0xef, 0x6d, 0xdf, 0xaf, 0x89, 0xe1, 0xe4, 0x36, 0xb5, 0x08, 0xb5, 0x3e, 0x3a, 0x3c, - 0xd0, 0xf6, 0xd7, 0x08, 0x79, 0xe1, 0x97, 0x72, 0x62, 0x46, 0xbd, 0x0c, 0xb9, 0x5a, 0x77, 0x47, - 0x7d, 0x82, 0xf2, 0xb5, 0x03, 0x8e, 0x95, 0x92, 0xcf, 0x01, 0x98, 0xb4, 0xe3, 0xfa, 0x4e, 0xe0, - 0x7a, 0x47, 0xaa, 0x53, 0x97, 0x17, 0x42, 0x75, 0xbb, 0x73, 0x09, 0x25, 0x2b, 0x30, 0x1d, 0xfd, - 0x7a, 0x70, 0xd8, 0x16, 0x4a, 0xde, 0x31, 0xae, 0x5d, 0x89, 0xc8, 0x2d, 0x97, 0x95, 0xa9, 0x47, - 0x76, 0x8c, 0x8c, 0x2c, 0x42, 0x7e, 0xdb, 0xf5, 0x0e, 0x76, 0xd9, 0x18, 0x0f, 0x45, 0x42, 0xc5, - 0xa1, 0x80, 0xa9, 0x87, 0xa7, 0xc4, 0x63, 0xcb, 0x65, 0xb9, 0xfd, 0xc8, 0xf1, 0xdc, 0x76, 0x8b, - 0xb6, 0x03, 0xd5, 0x96, 0x82, 0x46, 0x60, 0xcd, 0x9d, 0x36, 0x02, 0x93, 0x6b, 0x30, 0x5c, 0xaa, - 0x07, 0xae, 0x27, 0x0c, 0x29, 0xf8, 0x4c, 0x61, 0x00, 0x6d, 0xa6, 0x30, 0x00, 0xeb, 0x44, 0x93, - 0xee, 0x8a, 0xf7, 0x12, 0xec, 0x44, 0x8f, 0xee, 0x6a, 0xbe, 0xc2, 0x74, 0x97, 0x09, 0x45, 0x26, - 0xdd, 0x45, 0xc5, 0x87, 0x16, 0x62, 0x6b, 0x37, 0xa1, 0x32, 0x13, 0x68, 0xc6, 0xef, 0x8d, 0xf5, - 0x9c, 0xf2, 0xec, 0x14, 0x3a, 0xdb, 0x94, 0x5f, 0xb5, 0x07, 0x98, 0xf2, 0x6f, 0x84, 0xd6, 0xec, - 0xaa, 0x83, 0x3c, 0x42, 0xd4, 0x63, 0x90, 0xe3, 0x2c, 0xfc, 0x72, 0xfe, 0x2c, 0x93, 0x48, 0x74, - 0x52, 0x76, 0xd0, 0x4e, 0xca, 0x0d, 0xd4, 0x49, 0x64, 0x09, 0x26, 0xc3, 0x20, 0x6d, 0x1b, 0x76, - 0xa0, 0x6d, 0x6b, 0x61, 0x64, 0x3d, 0xab, 0x63, 0x07, 0xea, 0xb6, 0xa6, 0x93, 0x90, 0x77, 0x61, - 0x5c, 0xb8, 0x74, 0x20, 0x87, 0xe1, 0xc8, 0xa8, 0x56, 0xfa, 0x7f, 0xc4, 0xe8, 0x55, 0x74, 0xb6, - 0x9a, 0x37, 0x9c, 0x0e, 0x6d, 0x3a, 0x6d, 0x5a, 0xc3, 0x57, 0x04, 0x31, 0x63, 0xf8, 0x33, 0xa8, - 0x28, 0xb1, 0xf8, 0x03, 0x83, 0xa6, 0x3f, 0xd4, 0x88, 0xe2, 0x93, 0x75, 0xf4, 0x4c, 0x93, 0x95, - 0xdb, 0xb4, 0x79, 0xab, 0xee, 0x9e, 0x23, 0xad, 0x78, 0xa5, 0x4d, 0x9b, 0x67, 0x35, 0x19, 0x34, - 0x66, 0xd3, 0xc6, 0x51, 0xd9, 0x0d, 0x87, 0xfd, 0xa8, 0x56, 0xc4, 0xdb, 0x1c, 0xde, 0x70, 0x90, - 0x48, 0x37, 0x9d, 0xe6, 0x48, 0xb2, 0x9a, 0xe5, 0x96, 0xed, 0x34, 0x85, 0x1f, 0x74, 0x54, 0x0d, - 0x65, 0xd0, 0x78, 0x35, 0x88, 0x4a, 0xea, 0x30, 0x61, 0xd2, 0xdd, 0x0d, 0xcf, 0x0d, 0x68, 0x3d, - 0xa0, 0x0d, 0x21, 0xd5, 0xc9, 0x8b, 0xcd, 0x92, 0xeb, 0x72, 0x89, 0x75, 0xe9, 0xcd, 0xdf, 0x3b, - 0x2e, 0x66, 0xbe, 0x73, 0x5c, 0x04, 0x06, 0xe2, 0x76, 0xf9, 0x27, 0xc7, 0xc5, 0x0b, 0x6c, 0xfc, - 0x3b, 0x92, 0x58, 0x3d, 0x9d, 0x54, 0xa6, 0xe4, 0x5b, 0x6c, 0xbf, 0x0e, 0xbb, 0x24, 0xaa, 0x6c, - 0xa2, 0x47, 0x65, 0x6f, 0xa5, 0x56, 0x56, 0x54, 0x7a, 0x3b, 0xb5, 0xd2, 0xd4, 0x4a, 0xc8, 0x7b, - 0x30, 0x5e, 0xae, 0x96, 0xdd, 0xf6, 0xae, 0xb3, 0x57, 0x5b, 0x29, 0xa1, 0x68, 0x28, 0x7c, 0x32, - 0xea, 0x8e, 0x55, 0x47, 0xb8, 0xe5, 0xef, 0xdb, 0x9a, 0x6b, 0x5e, 0x84, 0x4f, 0xee, 0xc2, 0x94, - 0xfc, 0x69, 0xd2, 0xdd, 0x2d, 0xb3, 0x8a, 0x12, 0xa1, 0x74, 0x84, 0x09, 0x39, 0xb0, 0x8e, 0xe8, - 0x7a, 0xea, 0x4d, 0x21, 0x46, 0xc6, 0x26, 0x63, 0x85, 0x76, 0x9a, 0xee, 0x11, 0xfb, 0xbc, 0x4d, - 0x87, 0x7a, 0x28, 0x03, 0x8a, 0xc9, 0xd8, 0x08, 0x4b, 0xac, 0xc0, 0xd1, 0x5f, 0x24, 0x75, 0x22, - 0xb2, 0x0e, 0x33, 0x62, 0x8a, 0x3f, 0x74, 0x7c, 0x67, 0xc7, 0x69, 0x3a, 0xc1, 0x11, 0x4a, 0x7f, - 0x42, 0x80, 0x91, 0xeb, 0xe2, 0x51, 0x58, 0xaa, 0x30, 0x4b, 0x92, 0x1a, 0xbf, 0x9a, 0x85, 0x17, - 0xfa, 0xdd, 0x84, 0x48, 0x4d, 0xdf, 0xcc, 0xae, 0x0e, 0x70, 0x7b, 0x3a, 0x7d, 0x3b, 0x5b, 0x86, - 0xa9, 0x07, 0xde, 0x9e, 0xdd, 0x76, 0xbe, 0x89, 0x37, 0xdc, 0xd0, 0xb4, 0x0f, 0x3b, 0xc3, 0x55, - 0x4a, 0xf4, 0xd9, 0x1e, 0x23, 0x5a, 0x78, 0x24, 0xb6, 0xb9, 0x8f, 0xeb, 0x24, 0x76, 0x1b, 0xc6, - 0xca, 0x6e, 0x3b, 0xa0, 0x8f, 0x83, 0x98, 0x4b, 0x34, 0x07, 0xc6, 0x1d, 0xe4, 0x24, 0xaa, 0xf1, - 0xaf, 0xb3, 0xf0, 0x62, 0xdf, 0xab, 0x00, 0xd9, 0xd4, 0x7b, 0xed, 0xda, 0x20, 0xf7, 0x87, 0xd3, - 0xbb, 0x6d, 0x31, 0x61, 0x85, 0x76, 0xaa, 0x0f, 0xc6, 0xc2, 0xff, 0x90, 0x11, 0x9d, 0xf4, 0x69, - 0x18, 0xc5, 0xaa, 0xc2, 0x2e, 0xe2, 0x5a, 0x32, 0xdc, 0x85, 0x1d, 0x5d, 0x4b, 0xc6, 0xd1, 0xc8, - 0x2d, 0xc8, 0x97, 0xed, 0x66, 0x53, 0x71, 0x18, 0x47, 0x69, 0xbe, 0x8e, 0xb0, 0x98, 0xd1, 0xa2, - 0x44, 0x64, 0xb2, 0x0f, 0xff, 0x5b, 0x39, 0x2b, 0x70, 0xb3, 0x14, 0x64, 0xb1, 0xe3, 0x42, 0x41, - 0xc6, 0x30, 0x93, 0x75, 0x37, 0x74, 0x49, 0xe5, 0x61, 0x26, 0x19, 0x40, 0x0b, 0x33, 0xc9, 0x00, - 0xc6, 0xaf, 0xe5, 0xe0, 0x52, 0xff, 0xfb, 0x2c, 0xd9, 0xd2, 0x87, 0xe0, 0xf5, 0x81, 0x6e, 0xc1, - 0xa7, 0x8f, 0x81, 0x0c, 0xda, 0xca, 0x3b, 0xe4, 0x6a, 0xd2, 0x55, 0xe2, 0xbb, 0xc7, 0x45, 0xc5, - 0x12, 0xf6, 0x9e, 0xeb, 0xb4, 0x95, 0x37, 0x93, 0x6f, 0x68, 0x92, 0x21, 0x7f, 0x56, 0xbf, 0x3d, - 0xd8, 0x97, 0x45, 0x74, 0x7c, 0x5f, 0x19, 0x54, 0xa2, 0xfc, 0x3c, 0x14, 0xe2, 0xa4, 0xe4, 0x0a, - 0x0c, 0xe1, 0x07, 0x28, 0xfe, 0x1e, 0x31, 0x0e, 0x58, 0xbe, 0xb0, 0x26, 0xe6, 0x0e, 0xfa, 0xd0, - 0xe3, 0x43, 0xbd, 0xae, 0x1b, 0x14, 0x3e, 0xf4, 0xfc, 0x9d, 0x3f, 0xa9, 0x1f, 0x8c, 0x11, 0x19, - 0x7f, 0x9e, 0x81, 0x8b, 0x3d, 0x35, 0x05, 0x64, 0x43, 0x1f, 0xb0, 0x57, 0x4f, 0x53, 0x2d, 0x9c, - 0x3a, 0x56, 0x0b, 0x3f, 0x2e, 0xe7, 0xfe, 0xfb, 0x30, 0x51, 0xeb, 0xee, 0xc4, 0xef, 0x67, 0x3c, - 0xc2, 0x85, 0x02, 0x57, 0x4f, 0x30, 0x15, 0x9f, 0xb5, 0x5f, 0x5a, 0x22, 0x08, 0x93, 0x1a, 0xc5, - 0x06, 0x2f, 0x74, 0xf2, 0x4c, 0xc6, 0x10, 0xd0, 0x89, 0x8c, 0x5f, 0xc9, 0xa6, 0x5f, 0x74, 0xef, - 0x96, 0x37, 0xce, 0x72, 0xd1, 0xbd, 0x5b, 0xde, 0x38, 0xbd, 0xed, 0xff, 0x58, 0xb6, 0x1d, 0x1f, - 0x66, 0xc5, 0x8e, 0x27, 0x15, 0x9d, 0xe2, 0x61, 0x56, 0xee, 0x8e, 0xbe, 0xfe, 0x30, 0x2b, 0x91, - 0xc9, 0x5b, 0x30, 0xb6, 0xea, 0x72, 0xf7, 0x7e, 0xd9, 0x62, 0xee, 0x05, 0x29, 0x81, 0xea, 0xf6, - 0x18, 0x62, 0xb2, 0xbb, 0x85, 0x3e, 0xf0, 0xd2, 0xd4, 0x10, 0xef, 0x16, 0xb1, 0xe9, 0xa2, 0xab, - 0x03, 0x75, 0x32, 0xe3, 0x3f, 0x1e, 0x06, 0xe3, 0x74, 0x65, 0x06, 0xf9, 0x50, 0xef, 0xbb, 0xeb, - 0x03, 0xab, 0x41, 0x06, 0xda, 0x72, 0x4b, 0xdd, 0x86, 0x43, 0xdb, 0x75, 0xdd, 0x37, 0x5f, 0xc0, - 0xd4, 0x2d, 0x50, 0xe2, 0x7d, 0x1c, 0x57, 0xb9, 0x85, 0xff, 0x26, 0x17, 0x2d, 0xb5, 0xd8, 0xd1, - 0x98, 0xf9, 0x18, 0x47, 0x23, 0xb9, 0x0f, 0x05, 0x15, 0xa2, 0xbc, 0xd0, 0xa2, 0xe4, 0xa2, 0x31, - 0x8a, 0x7d, 0x54, 0x82, 0x50, 0x3f, 0x5f, 0x73, 0x83, 0x9f, 0xaf, 0x91, 0xf8, 0x8e, 0xf5, 0x0f, - 0x25, 0xc5, 0xf7, 0xb8, 0x3b, 0xac, 0x82, 0x2e, 0x7d, 0xf9, 0x7d, 0x71, 0x68, 0x0d, 0xeb, 0xbe, - 0xfc, 0x29, 0x07, 0x97, 0x8a, 0x2e, 0xc3, 0x11, 0xe0, 0x4f, 0xc5, 0x1b, 0x37, 0x0c, 0x47, 0xc0, - 0xe9, 0xd3, 0xc2, 0x11, 0x84, 0x24, 0xec, 0x00, 0x34, 0xbb, 0x6d, 0x1e, 0xcf, 0x78, 0x34, 0x3a, - 0x00, 0xbd, 0x6e, 0xdb, 0x8a, 0xc7, 0x34, 0x0e, 0x11, 0x8d, 0x7f, 0x34, 0x94, 0x2e, 0x1c, 0x84, - 0xfa, 0xae, 0xb3, 0x08, 0x07, 0x21, 0xd1, 0x27, 0x33, 0x53, 0xb7, 0x60, 0x56, 0x5a, 0xbc, 0x49, - 0x0b, 0xac, 0x2d, 0x73, 0x55, 0x0c, 0x31, 0xea, 0x8d, 0x42, 0x5b, 0x39, 0x69, 0xc5, 0x65, 0x75, - 0x3d, 0x4d, 0x6f, 0x94, 0x42, 0xbf, 0xf0, 0xeb, 0x52, 0x2d, 0xa6, 0x0e, 0xc2, 0xd6, 0x56, 0x38, - 0x97, 0x63, 0x83, 0xd0, 0xed, 0x6a, 0xc3, 0xa8, 0x93, 0xf0, 0xbd, 0x57, 0xaa, 0x1c, 0x90, 0x89, - 0x22, 0x2b, 0x2a, 0x8a, 0x8a, 0x18, 0x97, 0x18, 0x11, 0xd9, 0x83, 0x8b, 0x91, 0x28, 0xad, 0xdc, - 0x14, 0x90, 0x23, 0x6f, 0xf0, 0xb5, 0x93, 0xe3, 0xe2, 0xab, 0x8a, 0x28, 0xae, 0x5e, 0x38, 0x62, - 0xdc, 0x7b, 0xf3, 0x62, 0xfb, 0xed, 0x92, 0x67, 0xb7, 0xeb, 0xfb, 0xca, 0x9c, 0xc7, 0xfd, 0x76, - 0x07, 0xa1, 0x09, 0x87, 0xea, 0x08, 0xd9, 0xf8, 0xf1, 0x2c, 0x4c, 0xf1, 0xb3, 0x9a, 0xbf, 0xce, - 0x3d, 0xb3, 0x2f, 0x9f, 0xef, 0x68, 0x2f, 0x9f, 0x32, 0xf6, 0x97, 0xda, 0xb4, 0x81, 0xde, 0x3d, - 0xf7, 0x81, 0x24, 0x69, 0x88, 0x09, 0x13, 0x2a, 0xb4, 0xff, 0x93, 0xe7, 0xcd, 0x28, 0x4c, 0x9c, - 0x10, 0x95, 0xf0, 0xdd, 0xd9, 0x37, 0x35, 0x1e, 0xc6, 0x8f, 0x65, 0x61, 0x52, 0xb1, 0x53, 0x79, - 0x66, 0x3b, 0xfe, 0xf3, 0x5a, 0xc7, 0xcf, 0x87, 0xde, 0x64, 0x61, 0xcb, 0x06, 0xea, 0xf7, 0x2e, - 0xcc, 0x24, 0x48, 0xe2, 0xe6, 0x3e, 0x99, 0x41, 0xcc, 0x7d, 0xde, 0x48, 0xc6, 0x9c, 0xe2, 0xa1, - 0xdb, 0xc3, 0x08, 0x24, 0x6a, 0x90, 0xab, 0x9f, 0xcc, 0xc2, 0x9c, 0xf8, 0x85, 0x41, 0x1a, 0xb9, - 0xb0, 0xfa, 0xcc, 0x8e, 0x45, 0x49, 0x1b, 0x8b, 0xa2, 0x3e, 0x16, 0x4a, 0x03, 0x7b, 0x0f, 0x89, - 0xf1, 0x43, 0x00, 0xf3, 0xbd, 0x08, 0x06, 0x76, 0xda, 0x8e, 0x5c, 0xe2, 0xb2, 0x03, 0xb8, 0xc4, - 0xad, 0x42, 0x01, 0xab, 0x12, 0x61, 0xd8, 0xfc, 0x2d, 0xb3, 0x2a, 0x3a, 0x09, 0xf5, 0x0b, 0x3c, - 0x92, 0xa6, 0x08, 0x0b, 0xe7, 0xc7, 0x74, 0x1e, 0x09, 0x4a, 0xf2, 0x4b, 0x19, 0x98, 0x42, 0xe0, - 0xf2, 0x23, 0xda, 0x0e, 0x90, 0xd9, 0x90, 0xf0, 0xe0, 0x0a, 0x1f, 0x46, 0x6b, 0x81, 0xe7, 0xb4, - 0xf7, 0xc4, 0xcb, 0xe8, 0x8e, 0x78, 0x19, 0x7d, 0x97, 0xbf, 0xe8, 0x5e, 0xaf, 0xbb, 0xad, 0x1b, - 0x7b, 0x9e, 0xfd, 0xc8, 0xe1, 0x26, 0x58, 0x76, 0xf3, 0x46, 0x94, 0x39, 0xa4, 0xe3, 0xc4, 0x72, - 0x81, 0x08, 0x56, 0xf8, 0xea, 0xcc, 0x3f, 0x94, 0x62, 0xb5, 0x71, 0xd5, 0x8c, 0xfe, 0x45, 0xe4, - 0xfb, 0xe0, 0x02, 0x0f, 0x8e, 0xc4, 0x6e, 0xf8, 0x4e, 0xbb, 0xeb, 0x76, 0xfd, 0x25, 0xbb, 0x7e, - 0xc0, 0xc4, 0x7c, 0xee, 0x85, 0x8a, 0x2d, 0xaf, 0x87, 0x85, 0xd6, 0x0e, 0x2f, 0xd5, 0xbc, 0xee, - 0xd3, 0x19, 0x90, 0x15, 0x98, 0xe1, 0x45, 0xa5, 0x6e, 0xe0, 0xd6, 0xea, 0x76, 0xd3, 0x69, 0xef, - 0xa1, 0x2c, 0x91, 0xe7, 0xa2, 0x8c, 0xdd, 0x0d, 0x5c, 0xcb, 0xe7, 0x70, 0x55, 0x53, 0x93, 0x20, - 0x22, 0x55, 0x98, 0x36, 0xa9, 0xdd, 0x58, 0xb3, 0x1f, 0x97, 0xed, 0x8e, 0x5d, 0x77, 0x02, 0x1e, - 0xad, 0x31, 0xc7, 0x05, 0x3a, 0x8f, 0xda, 0x0d, 0xab, 0x65, 0x3f, 0xb6, 0xea, 0xa2, 0x50, 0x57, - 0xd9, 0x6b, 0x74, 0x21, 0x2b, 0xa7, 0x1d, 0xb2, 0x1a, 0x8b, 0xb3, 0x72, 0xda, 0xbd, 0x59, 0x45, - 0x74, 0x92, 0xd5, 0xa6, 0xed, 0xed, 0xd1, 0x80, 0x5b, 0x30, 0xc3, 0xe5, 0xcc, 0xd5, 0x8c, 0xc2, - 0x2a, 0xc0, 0x32, 0x0b, 0xad, 0x99, 0xe3, 0xac, 0x14, 0x3a, 0x36, 0xf3, 0xb6, 0x3d, 0x27, 0xa0, - 0x6a, 0x0b, 0xc7, 0xf1, 0xb3, 0xb0, 0xff, 0xd1, 0xf6, 0xbb, 0x57, 0x13, 0x13, 0x94, 0x11, 0x37, - 0xa5, 0x91, 0x13, 0x09, 0x6e, 0xe9, 0xad, 0x4c, 0x50, 0x86, 0xdc, 0xd4, 0x76, 0x4e, 0x62, 0x3b, - 0x15, 0x6e, 0x3d, 0x1a, 0x9a, 0xa0, 0x24, 0xeb, 0xac, 0xd3, 0x02, 0x26, 0x37, 0xb9, 0x6d, 0x61, - 0xc1, 0x3d, 0x85, 0x9f, 0xf6, 0x8a, 0x30, 0x43, 0x2c, 0x78, 0xb2, 0xd8, 0x4a, 0xb1, 0xe7, 0x8e, - 0x13, 0x93, 0xbf, 0x06, 0xd3, 0x5b, 0x3e, 0xbd, 0x53, 0xdd, 0xa8, 0xc9, 0x58, 0x4a, 0xa8, 0x5c, - 0x9c, 0x5a, 0xbc, 0x79, 0xca, 0xa6, 0x73, 0x5d, 0xa5, 0xc1, 0x04, 0x1e, 0x7c, 0xdc, 0xba, 0x3e, - 0xb5, 0x76, 0x9d, 0x8e, 0x1f, 0x06, 0xa6, 0x53, 0xc7, 0x2d, 0x56, 0x95, 0xb1, 0x02, 0x33, 0x09, - 0x36, 0x64, 0x0a, 0x80, 0x01, 0xad, 0xad, 0xf5, 0xda, 0xf2, 0x66, 0xe1, 0x39, 0x52, 0x80, 0x09, - 0xfc, 0xbd, 0xbc, 0x5e, 0x5a, 0x5a, 0x5d, 0xae, 0x14, 0x32, 0x64, 0x06, 0x26, 0x11, 0x52, 0xa9, - 0xd6, 0x38, 0x28, 0xcb, 0xc3, 0xb7, 0x9b, 0x05, 0xbe, 0x74, 0x03, 0xb6, 0x00, 0xf0, 0x4c, 0x31, - 0xfe, 0x6e, 0x16, 0x2e, 0xca, 0x63, 0x85, 0x06, 0x4c, 0x70, 0x74, 0xda, 0x7b, 0xcf, 0xf8, 0xe9, - 0x70, 0x47, 0x3b, 0x1d, 0x5e, 0x89, 0x9d, 0xd4, 0xb1, 0x56, 0xf6, 0x39, 0x22, 0x7e, 0x6b, 0x0c, - 0x5e, 0xec, 0x4b, 0x45, 0xbe, 0xc8, 0x4e, 0x73, 0x87, 0xb6, 0x83, 0x6a, 0xa3, 0x49, 0x37, 0x9d, - 0x16, 0x75, 0xbb, 0x81, 0xf0, 0x18, 0x78, 0x19, 0xf5, 0x79, 0x58, 0x68, 0x39, 0x8d, 0x26, 0xb5, - 0x02, 0x5e, 0xac, 0x4d, 0xb7, 0x24, 0x35, 0x63, 0x19, 0x26, 0x13, 0xaa, 0xb6, 0x03, 0xea, 0x3d, - 0x42, 0xab, 0xc4, 0x90, 0xe5, 0x01, 0xa5, 0x1d, 0xcb, 0x66, 0xa5, 0x96, 0x23, 0x8a, 0x75, 0x96, - 0x09, 0x6a, 0x72, 0x47, 0x61, 0x59, 0x66, 0xb7, 0xff, 0x35, 0xfb, 0xb1, 0x30, 0x93, 0x12, 0xb1, - 0x39, 0x43, 0x96, 0xdc, 0x41, 0xae, 0x65, 0x3f, 0x36, 0x93, 0x24, 0xe4, 0xab, 0x70, 0x4e, 0x1c, - 0x40, 0x22, 0xd0, 0x87, 0x6c, 0x31, 0x0f, 0x23, 0xf2, 0xda, 0xc9, 0x71, 0xf1, 0x82, 0x8c, 0x6a, - 0x2a, 0x43, 0xbb, 0xa4, 0xb5, 0x3a, 0x9d, 0x0b, 0xd9, 0x64, 0x07, 0x72, 0xac, 0x3b, 0xd6, 0xa8, - 0xef, 0x4b, 0x0f, 0x46, 0x71, 0x33, 0x56, 0x3b, 0xd3, 0x6a, 0xf1, 0x72, 0xb3, 0x27, 0x25, 0x59, - 0x81, 0xa9, 0x6d, 0xba, 0xa3, 0x8e, 0xcf, 0x48, 0xb8, 0x55, 0x15, 0x0e, 0xe9, 0x4e, 0xef, 0xc1, - 0x89, 0xd1, 0x11, 0x07, 0xdf, 0x07, 0x1e, 0x1f, 0xad, 0x3a, 0x7e, 0x40, 0xdb, 0xd4, 0xc3, 0x00, - 0x52, 0xa3, 0xb8, 0x19, 0xcc, 0x47, 0x12, 0xb2, 0x5e, 0xbe, 0xf4, 0xd2, 0xc9, 0x71, 0xf1, 0x45, - 0xee, 0x0a, 0xdc, 0x14, 0x70, 0x2b, 0x96, 0x8a, 0x27, 0xc9, 0x95, 0x7c, 0x1d, 0xa6, 0x4d, 0xb7, - 0x1b, 0x38, 0xed, 0xbd, 0x5a, 0xe0, 0xd9, 0x01, 0xdd, 0xe3, 0x07, 0x52, 0x14, 0xa9, 0x2a, 0x56, - 0x2a, 0x9e, 0x96, 0x39, 0xd0, 0xf2, 0x05, 0x54, 0x3b, 0x11, 0x74, 0x02, 0xf2, 0x35, 0x98, 0xe2, - 0x21, 0x1e, 0xc2, 0x0a, 0xc6, 0xb4, 0x34, 0x02, 0x7a, 0xe1, 0xc3, 0x9b, 0xc2, 0xaa, 0x05, 0xa1, - 0x69, 0x15, 0xc4, 0xb8, 0x91, 0x2f, 0x8b, 0xce, 0xda, 0x70, 0xda, 0x7b, 0xe1, 0x34, 0x06, 0xec, - 0xf9, 0x37, 0xa3, 0x2e, 0xe9, 0xb0, 0xcf, 0x95, 0xd3, 0xb8, 0x87, 0x89, 0x5e, 0x92, 0x0f, 0x09, - 0xe0, 0xc5, 0x92, 0xef, 0x3b, 0x7e, 0x20, 0xfc, 0x6a, 0x96, 0x1f, 0xd3, 0x7a, 0x97, 0x21, 0xb3, - 0xeb, 0x2d, 0xf5, 0xb8, 0x5d, 0xf7, 0xf0, 0xd2, 0xf5, 0x93, 0xe3, 0xe2, 0xeb, 0x36, 0x22, 0x5a, - 0xc2, 0x15, 0xc7, 0xa2, 0x12, 0xd5, 0x3a, 0xe4, 0xb8, 0x4a, 0x1b, 0xfa, 0x33, 0x25, 0x5f, 0x83, - 0xf3, 0x65, 0xdb, 0xa7, 0xd5, 0xb6, 0x4f, 0xdb, 0xbe, 0x13, 0x38, 0x8f, 0xa8, 0xe8, 0x54, 0x3c, - 0xfc, 0xf2, 0x98, 0xb4, 0xc8, 0xa8, 0xdb, 0x3e, 0x5b, 0x98, 0x21, 0x8a, 0x25, 0x06, 0x45, 0xa9, - 0xa6, 0x07, 0x17, 0x62, 0xc2, 0x54, 0xad, 0xb6, 0x52, 0x71, 0xec, 0x70, 0x5d, 0x4d, 0x62, 0x7f, - 0xbd, 0x8e, 0xaa, 0x3d, 0x7f, 0xdf, 0x6a, 0x38, 0x76, 0xb8, 0xa0, 0x7a, 0x74, 0x56, 0x8c, 0x83, - 0x71, 0x9c, 0x81, 0x42, 0x7c, 0x28, 0xc9, 0x97, 0x60, 0x8c, 0xdb, 0xb7, 0x51, 0x7f, 0x5f, 0x44, - 0x3c, 0x90, 0xe6, 0x52, 0x21, 0x5c, 0x27, 0x12, 0x7e, 0x6e, 0xdc, 0x7a, 0x8e, 0xaa, 0xd6, 0x32, - 0xe8, 0xe7, 0x26, 0x89, 0x48, 0x03, 0x26, 0xf8, 0x68, 0x51, 0x0c, 0x53, 0x27, 0xcc, 0x9c, 0x5f, - 0x52, 0x57, 0x87, 0x28, 0x8a, 0xf1, 0xc7, 0x57, 0x43, 0x31, 0x27, 0x38, 0x82, 0x56, 0x85, 0xc6, - 0x75, 0x09, 0x20, 0x2f, 0x09, 0x8d, 0x8b, 0x70, 0xa1, 0xc7, 0x37, 0x1b, 0x8f, 0xd0, 0x92, 0xa0, - 0x47, 0x8d, 0xe4, 0x4b, 0x30, 0x87, 0x84, 0x65, 0xb7, 0xdd, 0xa6, 0xf5, 0x00, 0xb7, 0x23, 0xa9, - 0x7d, 0xcf, 0x71, 0x4b, 0x17, 0xde, 0xde, 0x7a, 0x88, 0x60, 0xc5, 0x95, 0xf0, 0xa9, 0x1c, 0x8c, - 0x9f, 0xcb, 0xc2, 0xbc, 0xd8, 0xe1, 0x4c, 0x5a, 0x77, 0xbd, 0xc6, 0xb3, 0x7f, 0xa2, 0x2e, 0x6b, - 0x27, 0xea, 0xcb, 0x61, 0x88, 0x9b, 0xb4, 0x46, 0xf6, 0x39, 0x50, 0x7f, 0x25, 0x03, 0x2f, 0xf4, - 0x23, 0x62, 0xbd, 0x13, 0x86, 0xe5, 0x1b, 0x4b, 0x84, 0xdf, 0xeb, 0xc0, 0x2c, 0x0e, 0x68, 0x79, - 0x9f, 0xd6, 0x0f, 0xfc, 0x15, 0xd7, 0x0f, 0xd0, 0xd3, 0x22, 0xdb, 0xe3, 0xad, 0xfb, 0x8d, 0xd4, - 0xb7, 0xee, 0xf3, 0x7c, 0x96, 0xd5, 0x91, 0x07, 0x0f, 0x1c, 0x78, 0x40, 0x8f, 0x7c, 0x33, 0x8d, - 0x35, 0x5a, 0xcc, 0x97, 0xba, 0xc1, 0xfe, 0x86, 0x47, 0x77, 0xa9, 0x47, 0xdb, 0x75, 0xfa, 0x3d, - 0x66, 0x31, 0xaf, 0x37, 0x6e, 0x20, 0x0d, 0xc6, 0x3f, 0x9e, 0x84, 0xb9, 0x34, 0x32, 0xd6, 0x2f, - 0xca, 0xa5, 0x39, 0x9e, 0x53, 0xf1, 0x07, 0x33, 0x30, 0x51, 0xa3, 0x75, 0xb7, 0xdd, 0xb8, 0x83, - 0x16, 0x45, 0xa2, 0x77, 0x2c, 0x2e, 0x34, 0x30, 0xb8, 0xb5, 0x1b, 0x33, 0x35, 0xfa, 0xee, 0x71, - 0xf1, 0x0b, 0x83, 0xdd, 0x55, 0xeb, 0x2e, 0x86, 0xa9, 0x09, 0x30, 0xe6, 0x7f, 0x58, 0x05, 0x3e, - 0x0e, 0x6a, 0x95, 0x92, 0x25, 0x98, 0x14, 0xcb, 0xd5, 0x55, 0xa3, 0x32, 0xf2, 0x28, 0x40, 0xb2, - 0x20, 0xa1, 0xba, 0xd6, 0x48, 0xc8, 0x2d, 0xc8, 0x6d, 0x2d, 0xde, 0x11, 0x63, 0x20, 0xb3, 0x26, - 0x6c, 0x2d, 0xde, 0x41, 0x75, 0x18, 0xbb, 0x62, 0x4c, 0x76, 0x17, 0x35, 0x23, 0x9f, 0xad, 0xc5, - 0x3b, 0xe4, 0x6f, 0xc0, 0xb9, 0x8a, 0xe3, 0x8b, 0x2a, 0xb8, 0xef, 0x46, 0x03, 0x3d, 0x16, 0x47, - 0x7a, 0xcc, 0xde, 0xcf, 0xa6, 0xce, 0xde, 0x97, 0x1a, 0x21, 0x13, 0x8b, 0x3b, 0x86, 0x34, 0xe2, - 0xd1, 0x27, 0xd3, 0xeb, 0x21, 0x1f, 0xc1, 0x14, 0x2a, 0xb3, 0xd1, 0x9d, 0x05, 0xe3, 0x86, 0x8f, - 0xf6, 0xa8, 0xf9, 0xd3, 0xa9, 0x35, 0x2f, 0xf0, 0xe8, 0x13, 0xe8, 0x14, 0x83, 0x31, 0xc6, 0xb5, - 0x5b, 0xbf, 0xc6, 0x99, 0xdc, 0x83, 0x69, 0x21, 0x7e, 0x3d, 0xd8, 0xdd, 0xdc, 0xa7, 0x15, 0xfb, - 0x48, 0xd8, 0xe7, 0xe0, 0x8d, 0x4e, 0xc8, 0x6c, 0x96, 0xbb, 0x6b, 0x05, 0xfb, 0xd4, 0x6a, 0xd8, - 0x9a, 0xa0, 0x12, 0x23, 0x24, 0xdf, 0x82, 0xf1, 0x55, 0xb7, 0xce, 0x24, 0x6f, 0xdc, 0x19, 0xb8, - 0xc9, 0xce, 0x87, 0x98, 0xb5, 0x8f, 0x83, 0x63, 0xe2, 0xd4, 0x77, 0x8f, 0x8b, 0xef, 0x9c, 0x75, - 0xd2, 0x28, 0x15, 0x98, 0x6a, 0x6d, 0xa4, 0x0c, 0xf9, 0x6d, 0xba, 0xc3, 0x5a, 0x1b, 0xcf, 0xe8, - 0x25, 0xc1, 0xc2, 0x22, 0x4f, 0xfc, 0xd2, 0x2c, 0xf2, 0x04, 0x8c, 0x78, 0x30, 0x83, 0xfd, 0xb3, - 0x61, 0xfb, 0xfe, 0xa1, 0xeb, 0x35, 0x30, 0x75, 0x43, 0x2f, 0x6b, 0xa0, 0xc5, 0xd4, 0xce, 0x7f, - 0x81, 0x77, 0x7e, 0x47, 0xe1, 0xa0, 0x0a, 0x90, 0x09, 0xf6, 0xe4, 0xeb, 0x30, 0x25, 0xa2, 0x01, - 0xac, 0xdd, 0x29, 0xe1, 0xaa, 0x9c, 0xd0, 0xfc, 0x3e, 0xf5, 0x42, 0x2e, 0xa5, 0x8a, 0xe0, 0x02, - 0x52, 0x03, 0x65, 0xb5, 0x76, 0x6d, 0x5d, 0xe9, 0xaf, 0x92, 0x90, 0x0d, 0x18, 0xaf, 0xd0, 0x47, - 0x4e, 0x9d, 0xa2, 0x6f, 0x9a, 0xb0, 0x0b, 0x0f, 0x53, 0x12, 0x45, 0x25, 0x5c, 0x17, 0xd3, 0x40, - 0x00, 0xf7, 0x74, 0xd3, 0x6d, 0x75, 0x43, 0x44, 0x72, 0x1b, 0x72, 0xd5, 0xca, 0x86, 0x30, 0x0b, - 0x9f, 0x09, 0x63, 0x6e, 0x6c, 0xc8, 0x04, 0x2e, 0x68, 0x3f, 0xe7, 0x34, 0x34, 0xa3, 0xf2, 0x6a, - 0x65, 0x83, 0xec, 0xc2, 0x24, 0x76, 0xc0, 0x0a, 0xb5, 0x79, 0xdf, 0x4e, 0xf7, 0xe8, 0xdb, 0xeb, - 0xa9, 0x7d, 0x3b, 0xcf, 0xfb, 0x76, 0x5f, 0x50, 0x6b, 0x19, 0x29, 0x54, 0xb6, 0x4c, 0xa4, 0x15, - 0x59, 0x72, 0x64, 0x1e, 0x85, 0xcd, 0x55, 0xb4, 0x0f, 0x12, 0x22, 0xad, 0x4c, 0xaa, 0x13, 0x26, - 0x76, 0xe8, 0xe9, 0x75, 0x92, 0xe4, 0x43, 0x3e, 0x0f, 0x43, 0x0f, 0x0e, 0x02, 0x5b, 0x18, 0x80, - 0xcb, 0x7e, 0x64, 0x20, 0xd9, 0x7c, 0xd4, 0x42, 0xba, 0x07, 0x5a, 0x7c, 0x32, 0xa4, 0x61, 0x43, - 0xb1, 0x62, 0x7b, 0x8d, 0x43, 0xdb, 0x43, 0x07, 0xe1, 0x59, 0x8d, 0x85, 0x52, 0xc2, 0x87, 0x62, - 0x5f, 0x00, 0x62, 0x5e, 0xc3, 0x2a, 0x0b, 0xf2, 0x7d, 0x70, 0xd1, 0x77, 0xf6, 0xda, 0x76, 0xd0, - 0xf5, 0xa8, 0x65, 0x37, 0xf7, 0x5c, 0xcf, 0x09, 0xf6, 0x5b, 0x96, 0xdf, 0x75, 0x02, 0x3a, 0x3f, - 0xa7, 0xe5, 0xd4, 0xad, 0x49, 0xbc, 0x92, 0x44, 0xab, 0x31, 0x2c, 0xf3, 0x82, 0x9f, 0x5e, 0x40, - 0xbe, 0x0c, 0x93, 0xea, 0x96, 0xec, 0xcf, 0x9f, 0xbb, 0x9c, 0xbb, 0x3a, 0x15, 0x5e, 0x3c, 0xe2, - 0x1b, 0xb8, 0x8c, 0x45, 0xab, 0x9c, 0x10, 0xbe, 0x1e, 0x8b, 0x56, 0xe1, 0x15, 0x66, 0xa9, 0x23, - 0x85, 0x59, 0x73, 0x46, 0xcc, 0x58, 0xd1, 0xcb, 0x6b, 0x77, 0x4a, 0xe6, 0xe8, 0x46, 0xf5, 0x61, - 0xad, 0xe9, 0x06, 0xc6, 0x7f, 0x9e, 0xc1, 0x4d, 0x9c, 0xbc, 0x8e, 0x61, 0x95, 0xc2, 0xd7, 0x33, - 0xd4, 0xdf, 0xda, 0x9d, 0x58, 0x20, 0x73, 0x8e, 0x42, 0xde, 0x80, 0x91, 0x3b, 0x76, 0x5d, 0x86, - 0x85, 0x11, 0xc8, 0xbb, 0x08, 0x51, 0x95, 0xbd, 0x1c, 0x87, 0xc9, 0x97, 0x7c, 0x72, 0x97, 0xa2, - 0xb4, 0xcb, 0xe5, 0x92, 0x7c, 0xae, 0x47, 0xf9, 0x52, 0x2c, 0x0a, 0x25, 0x2f, 0x73, 0xcc, 0x2a, - 0x3e, 0x95, 0x83, 0xf1, 0xa7, 0x99, 0x68, 0x57, 0x22, 0xaf, 0xc1, 0x90, 0xb9, 0x11, 0x7e, 0x3f, - 0x77, 0xfa, 0x8d, 0x7d, 0x3e, 0x22, 0x90, 0x2f, 0xc3, 0x39, 0x85, 0x4f, 0xc2, 0x44, 0xff, 0x55, - 0xf4, 0x49, 0x55, 0xbe, 0x24, 0xdd, 0x4e, 0x3f, 0x9d, 0x07, 0x0a, 0xd3, 0x51, 0x41, 0x85, 0xb6, - 0x1d, 0xce, 0x5b, 0x69, 0xac, 0xca, 0xbb, 0x81, 0x08, 0xf1, 0xc6, 0xa6, 0x71, 0xe0, 0x2e, 0xa9, - 0xc6, 0x6f, 0x66, 0xb4, 0xdd, 0x26, 0xcc, 0x6f, 0x9b, 0x39, 0x25, 0xbf, 0xed, 0xdb, 0x00, 0xa5, - 0x6e, 0xe0, 0x2e, 0xb7, 0x3d, 0xb7, 0xc9, 0xb5, 0x28, 0x22, 0x96, 0x3f, 0xea, 0x86, 0x29, 0x82, - 0x35, 0xcf, 0xb9, 0x10, 0x39, 0xd5, 0x9b, 0x21, 0xf7, 0x71, 0xbd, 0x19, 0x8c, 0xdf, 0xcf, 0x68, - 0x6b, 0x94, 0x49, 0x89, 0x62, 0x2a, 0xaa, 0x16, 0x63, 0x1d, 0xe7, 0x91, 0xe5, 0x37, 0x5d, 0x75, - 0x87, 0x94, 0x68, 0xe4, 0xff, 0x9f, 0x81, 0xf3, 0xdc, 0x2d, 0x60, 0xbd, 0xdb, 0xda, 0xa1, 0xde, - 0x43, 0xbb, 0xe9, 0x34, 0xb8, 0xe3, 0x35, 0x17, 0x80, 0xaf, 0x26, 0x17, 0x7c, 0x3a, 0x3e, 0xbf, - 0xa8, 0x72, 0x37, 0x05, 0xab, 0x8d, 0x85, 0xd6, 0xa3, 0xb0, 0x54, 0xbd, 0xa8, 0xa6, 0xd3, 0x1b, - 0xbf, 0x9a, 0x81, 0x97, 0x4e, 0xad, 0x85, 0xdc, 0x80, 0x51, 0x99, 0x44, 0x21, 0x83, 0x1d, 0x8f, - 0x76, 0xb6, 0xc9, 0x04, 0x0a, 0x12, 0x8b, 0x7c, 0x05, 0xce, 0xa9, 0xac, 0x36, 0x3d, 0xdb, 0x51, - 0x53, 0x15, 0xa4, 0x7c, 0x75, 0xc0, 0x50, 0xe2, 0xd2, 0x5a, 0x3a, 0x13, 0xe3, 0xff, 0xcd, 0x28, - 0x19, 0xaf, 0x9f, 0x51, 0x19, 0xfe, 0xb6, 0x26, 0xc3, 0xcb, 0x80, 0x96, 0x61, 0xab, 0x58, 0x59, - 0xea, 0xbd, 0x6b, 0x5a, 0xb1, 0x17, 0x47, 0xc0, 0x8f, 0x64, 0x61, 0x7c, 0xcb, 0xa7, 0x1e, 0x7f, - 0xc8, 0xfd, 0xde, 0x0a, 0x5c, 0x18, 0xb6, 0x6b, 0xa0, 0xd0, 0x72, 0x7f, 0x9c, 0x41, 0x05, 0xbf, - 0x4a, 0xc1, 0x7a, 0x43, 0xc9, 0x72, 0x87, 0xbd, 0x81, 0xf9, 0xed, 0x10, 0xca, 0x83, 0x75, 0xad, - 0xea, 0x09, 0x2f, 0x31, 0xeb, 0xe9, 0x2a, 0xf9, 0x02, 0x0c, 0x6f, 0xa1, 0xba, 0x52, 0x0f, 0xb2, - 0x11, 0xf2, 0xc7, 0x42, 0xbe, 0x49, 0x77, 0x7d, 0x3d, 0x0a, 0x1b, 0x27, 0x24, 0x35, 0x18, 0x2d, - 0x7b, 0x14, 0xf3, 0x57, 0x0f, 0x0d, 0xee, 0x22, 0x5e, 0xe7, 0x24, 0x71, 0x17, 0x71, 0xc1, 0xc9, - 0xf8, 0xd9, 0x2c, 0x90, 0xa8, 0x8d, 0x98, 0xac, 0xc9, 0x7f, 0x66, 0x07, 0xfd, 0x03, 0x6d, 0xd0, - 0x5f, 0x4c, 0x0c, 0x3a, 0x6f, 0xde, 0x40, 0x63, 0xff, 0xdb, 0x19, 0x38, 0x9f, 0x4e, 0x48, 0x5e, - 0x86, 0x91, 0x07, 0x9b, 0x1b, 0x32, 0x4e, 0x8b, 0x68, 0x8a, 0xdb, 0x41, 0x5d, 0x81, 0x29, 0x8a, - 0xc8, 0x9b, 0x30, 0xf2, 0x45, 0xb3, 0xcc, 0xce, 0x21, 0x25, 0x1d, 0xc0, 0x37, 0x3c, 0xab, 0xae, - 0x1f, 0x45, 0x02, 0x49, 0x1d, 0xdb, 0xdc, 0x53, 0x1b, 0xdb, 0x9f, 0xcc, 0xc2, 0x74, 0xa9, 0x5e, - 0xa7, 0xbe, 0xcf, 0xa4, 0x1d, 0xea, 0x07, 0xcf, 0xec, 0xc0, 0xa6, 0x47, 0x60, 0xd1, 0xda, 0x36, - 0xd0, 0xa8, 0xfe, 0x6e, 0x06, 0xce, 0x49, 0xaa, 0x47, 0x0e, 0x3d, 0xdc, 0xdc, 0xf7, 0xa8, 0xbf, - 0xef, 0x36, 0x1b, 0x03, 0xe7, 0x1c, 0x61, 0x82, 0x1e, 0x06, 0x12, 0x57, 0x5f, 0xf5, 0x77, 0x11, - 0xa2, 0x09, 0x7a, 0x3c, 0xd8, 0xf8, 0x0d, 0x18, 0x2d, 0x75, 0x3a, 0x9e, 0xfb, 0x88, 0x2f, 0x7b, - 0x11, 0x67, 0xd1, 0xe6, 0x20, 0xcd, 0xc3, 0x9e, 0x83, 0xd8, 0x67, 0x54, 0x68, 0x9b, 0x07, 0xc7, - 0x9b, 0xe4, 0x9f, 0xd1, 0xa0, 0x6d, 0x55, 0x16, 0xc7, 0x72, 0xa3, 0x06, 0x64, 0xc3, 0x73, 0x5b, - 0x6e, 0x40, 0x1b, 0xbc, 0x3d, 0x18, 0x98, 0xe0, 0xd4, 0x58, 0x57, 0x9b, 0x4e, 0xd0, 0xd4, 0x62, - 0x5d, 0x05, 0x0c, 0x60, 0x72, 0xb8, 0xf1, 0x7f, 0x0f, 0xc3, 0x84, 0xda, 0x3b, 0xc4, 0xe0, 0x89, - 0x04, 0x5c, 0x4f, 0x8d, 0x8e, 0x61, 0x23, 0xc4, 0x14, 0x25, 0x51, 0x68, 0x99, 0xec, 0xa9, 0xa1, - 0x65, 0xb6, 0x61, 0x72, 0xc3, 0x73, 0x31, 0x20, 0x24, 0xbe, 0x56, 0x8a, 0xad, 0x70, 0x56, 0xb9, - 0x77, 0xb2, 0x81, 0xc4, 0xf7, 0x50, 0x94, 0xec, 0x3b, 0x02, 0x1b, 0xd3, 0xeb, 0x69, 0x5a, 0x17, - 0x8d, 0x0f, 0x37, 0xb5, 0xb0, 0x7d, 0x11, 0xd5, 0x35, 0x34, 0xb5, 0x60, 0x10, 0xdd, 0xd4, 0x82, - 0x41, 0xd4, 0xb5, 0x36, 0xfc, 0xb4, 0xd6, 0x1a, 0xf9, 0xd9, 0x0c, 0x8c, 0x97, 0xda, 0x6d, 0x11, - 0xb2, 0xe6, 0x14, 0x6f, 0xfd, 0xaf, 0x08, 0x6b, 0x8b, 0x77, 0x3e, 0x96, 0xb5, 0x05, 0xca, 0x2d, - 0x3e, 0x4a, 0xaa, 0x51, 0x85, 0xea, 0x6d, 0x4d, 0xf9, 0x0e, 0xf2, 0x0e, 0x14, 0xc2, 0x49, 0x5e, - 0x6d, 0x37, 0xe8, 0x63, 0xca, 0x13, 0xb1, 0x4d, 0x8a, 0x78, 0xce, 0xaa, 0x64, 0x1a, 0x47, 0x24, - 0x9b, 0x00, 0x76, 0x38, 0xbb, 0x62, 0x19, 0x25, 0x93, 0xd3, 0x4f, 0x48, 0xcf, 0xf8, 0x1b, 0x1f, - 0xb4, 0x54, 0xe9, 0x39, 0xe2, 0x43, 0x5a, 0x30, 0xcd, 0xd3, 0x39, 0xd6, 0x02, 0xdb, 0x0b, 0x30, - 0x6d, 0x01, 0x9c, 0x3a, 0x0e, 0xaf, 0x09, 0xfd, 0xd9, 0xf3, 0x22, 0x49, 0xa4, 0xcf, 0x68, 0xad, - 0x94, 0x1c, 0x06, 0x71, 0xde, 0x3c, 0x7a, 0xb6, 0x79, 0x21, 0xf9, 0xbd, 0x7c, 0xd2, 0xff, 0x64, - 0x06, 0xce, 0xab, 0x93, 0xbe, 0xd6, 0xdd, 0x11, 0xc1, 0x38, 0xc9, 0x75, 0x18, 0x13, 0x73, 0x32, - 0xbc, 0x44, 0x25, 0xb3, 0x2f, 0x44, 0x28, 0x64, 0x99, 0x4d, 0x43, 0xc6, 0x43, 0x48, 0xdd, 0xb3, - 0xb1, 0x7d, 0x8a, 0x15, 0x45, 0xa9, 0x82, 0x3d, 0xfc, 0xad, 0xcf, 0x4f, 0x06, 0x31, 0xde, 0x87, - 0x19, 0x7d, 0x24, 0x6a, 0x34, 0x20, 0xd7, 0x60, 0x54, 0x0e, 0x5f, 0x26, 0x7d, 0xf8, 0x64, 0xb9, - 0xb1, 0x0d, 0x24, 0x41, 0xef, 0xa3, 0x59, 0x14, 0xbb, 0x9f, 0x72, 0xb3, 0x3d, 0xf9, 0x28, 0x99, - 0x40, 0x5c, 0x9a, 0x15, 0xdf, 0x37, 0xae, 0xb9, 0x25, 0x60, 0x60, 0xd2, 0x3f, 0x9d, 0x82, 0xd9, - 0x94, 0x3d, 0xf7, 0x14, 0x99, 0xa8, 0xa8, 0x6f, 0x10, 0x63, 0x61, 0xb0, 0x0f, 0xb9, 0x2d, 0xbc, - 0x0f, 0xc3, 0xa7, 0x6e, 0x07, 0xdc, 0x29, 0x25, 0xb6, 0x0b, 0x70, 0xb2, 0x4f, 0x44, 0x2e, 0x52, - 0xe3, 0xf1, 0x0c, 0x3f, 0xb5, 0x78, 0x3c, 0x4b, 0x30, 0x29, 0x5a, 0x25, 0xb6, 0x2b, 0xc5, 0x38, - 0xda, 0xe3, 0x05, 0x56, 0x62, 0xdb, 0xd2, 0x49, 0x38, 0x0f, 0xdf, 0x6d, 0x3e, 0xa2, 0x82, 0xc7, - 0xa8, 0xca, 0x03, 0x0b, 0x52, 0x79, 0x28, 0x24, 0xe4, 0x3f, 0xc4, 0x54, 0x72, 0x08, 0x51, 0xf7, - 0xac, 0x7c, 0xbf, 0x3d, 0xab, 0xf1, 0x74, 0xf6, 0xac, 0x17, 0xe5, 0x37, 0xa6, 0xef, 0x5d, 0x29, - 0x9f, 0x45, 0x7e, 0x39, 0x03, 0x33, 0x3c, 0x28, 0x8c, 0xfa, 0xb1, 0x7d, 0x03, 0x7d, 0xd4, 0x9f, - 0xce, 0xc7, 0xbe, 0x20, 0x52, 0x28, 0xa5, 0x7f, 0x6b, 0xf2, 0xa3, 0xc8, 0xf7, 0x01, 0x84, 0x2b, - 0x8a, 0x07, 0x67, 0x1d, 0x5f, 0x7c, 0x21, 0x65, 0x17, 0x08, 0x91, 0xa2, 0x74, 0x0f, 0x41, 0x48, - 0xa7, 0x25, 0x10, 0x0c, 0xa1, 0xe4, 0x6f, 0xc0, 0x1c, 0x5b, 0x2f, 0x21, 0x44, 0x84, 0xb0, 0x9a, - 0x1f, 0xc7, 0x5a, 0x3e, 0xd3, 0x5b, 0x26, 0xba, 0x9e, 0x46, 0xc6, 0x43, 0xf9, 0x46, 0xb9, 0x9c, - 0x03, 0x35, 0xda, 0x45, 0x6a, 0x45, 0x18, 0x19, 0x0e, 0xbf, 0x9e, 0xa7, 0x64, 0xe8, 0xb1, 0xbf, - 0x5d, 0x94, 0x6b, 0x81, 0xef, 0x6f, 0xbe, 0xee, 0xa3, 0x8c, 0x20, 0xf2, 0x45, 0x20, 0x61, 0x34, - 0x15, 0x0e, 0xa3, 0x32, 0x5d, 0x03, 0x57, 0x37, 0x47, 0x51, 0x59, 0x3c, 0x59, 0xac, 0x4e, 0x92, - 0x24, 0x31, 0xa1, 0x30, 0x27, 0x1a, 0xcd, 0xa0, 0x32, 0xcf, 0x9b, 0x3f, 0x3f, 0xa5, 0x05, 0x08, - 0x8b, 0x4a, 0xa2, 0xa4, 0xcf, 0x4a, 0xb2, 0x38, 0x4d, 0xe5, 0x94, 0xc6, 0x8e, 0xdc, 0x86, 0x31, - 0x74, 0x14, 0x5e, 0x91, 0xc6, 0x5e, 0xc2, 0xf0, 0x04, 0x5d, 0x8a, 0xad, 0x7d, 0xdd, 0x64, 0x2b, - 0x42, 0x65, 0xd7, 0x81, 0x8a, 0x77, 0x64, 0x76, 0xdb, 0xa8, 0x14, 0x16, 0xfa, 0x8e, 0x86, 0x77, - 0x64, 0x79, 0x5d, 0xdd, 0x93, 0x1c, 0x91, 0xc8, 0xd7, 0x61, 0x7c, 0xcd, 0x7e, 0x2c, 0x75, 0xc2, - 0x42, 0xf1, 0xdb, 0x6f, 0x07, 0x32, 0x64, 0x6b, 0x5a, 0xf6, 0x63, 0xab, 0xd1, 0x8d, 0x07, 0x12, - 0xc6, 0x6d, 0x48, 0x65, 0x49, 0xbe, 0x0a, 0xa0, 0x68, 0xaa, 0xc9, 0xa9, 0x15, 0xbc, 0x24, 0xc3, - 0xde, 0xa5, 0x6a, 0xb0, 0x91, 0xbf, 0xc2, 0x30, 0x26, 0x39, 0xcc, 0x7d, 0x72, 0x92, 0xc3, 0xb9, - 0x4f, 0x4e, 0x72, 0x58, 0xd8, 0x81, 0x8b, 0x3d, 0x97, 0x4e, 0x4a, 0x34, 0xe2, 0x1b, 0x7a, 0x34, - 0xe2, 0x8b, 0xbd, 0x8e, 0x58, 0x5f, 0xcf, 0xf0, 0x31, 0x5b, 0x98, 0xeb, 0x2d, 0x9d, 0x7c, 0x27, - 0x1b, 0x3b, 0x72, 0xc5, 0xc5, 0x82, 0x67, 0x84, 0xea, 0x25, 0x93, 0x64, 0x31, 0x09, 0x30, 0x3f, - 0x94, 0x95, 0x30, 0xe9, 0xec, 0x50, 0x56, 0x0f, 0x75, 0x3c, 0x9e, 0x9f, 0xf4, 0xf4, 0x7d, 0x17, - 0xa6, 0x78, 0xde, 0xce, 0xfb, 0xf4, 0xe8, 0xd0, 0xf5, 0x1a, 0x32, 0x39, 0x3e, 0xca, 0xe0, 0x89, - 0xa4, 0xdb, 0x31, 0x5c, 0x52, 0x91, 0xbe, 0xa7, 0xc3, 0x58, 0xfb, 0xc5, 0xd4, 0x5d, 0x8c, 0x21, - 0xf4, 0x73, 0x4b, 0x25, 0x6f, 0x85, 0x82, 0x1a, 0xf5, 0xd4, 0x3c, 0x1f, 0x9e, 0x04, 0xa6, 0xc8, - 0x6b, 0xd4, 0x33, 0xfe, 0x79, 0x0e, 0x08, 0xaf, 0xa9, 0x6c, 0x77, 0x6c, 0xf4, 0xcc, 0x76, 0x30, - 0xd6, 0x52, 0x41, 0xe0, 0xd8, 0x3b, 0x4d, 0xaa, 0x06, 0x2a, 0x13, 0xc6, 0xb5, 0x61, 0x99, 0x15, - 0xbf, 0xe8, 0x24, 0x08, 0x7b, 0x6c, 0x75, 0xd9, 0x27, 0xd9, 0xea, 0xbe, 0x0e, 0xcf, 0x97, 0x3a, - 0x98, 0x00, 0x58, 0xd6, 0x72, 0xc7, 0xf5, 0xe4, 0x26, 0xa5, 0xf9, 0xfc, 0xd9, 0x21, 0x5a, 0xe2, - 0x4b, 0xfb, 0xb1, 0x50, 0xe4, 0x14, 0x36, 0x2f, 0x3b, 0x81, 0x1a, 0x43, 0x42, 0xca, 0x29, 0x1d, - 0x2c, 0x49, 0x91, 0x53, 0x38, 0x89, 0xe4, 0xe1, 0x78, 0x52, 0x4e, 0xc1, 0xcc, 0x56, 0x11, 0x0f, - 0xc7, 0xa3, 0x3d, 0x64, 0x9d, 0x90, 0x84, 0xbc, 0x0b, 0xe3, 0xa5, 0x6e, 0xe0, 0x0a, 0xc6, 0xc2, - 0x2a, 0x3c, 0xb2, 0xdf, 0x16, 0x9f, 0xa2, 0x5d, 0x7d, 0x22, 0x74, 0xe3, 0x4f, 0x72, 0x70, 0x31, - 0x39, 0xbc, 0xa2, 0x34, 0x5c, 0x1f, 0x99, 0x53, 0xd6, 0x47, 0xda, 0x6c, 0xc8, 0x46, 0x79, 0x17, - 0x9e, 0xc6, 0x6c, 0xe0, 0x79, 0x84, 0x3f, 0xe6, 0x6c, 0xa8, 0xc1, 0xb8, 0x7a, 0xde, 0x0d, 0x7d, - 0xdc, 0xf3, 0x4e, 0xe5, 0xc2, 0x2e, 0xf5, 0x3c, 0x74, 0xc6, 0x70, 0xf4, 0x74, 0x14, 0x8f, 0x9a, - 0xc1, 0x31, 0xc8, 0xff, 0x0f, 0x2e, 0xf3, 0x3d, 0x29, 0xde, 0xd8, 0xa5, 0x23, 0xc9, 0x51, 0x0c, - 0xdc, 0xe2, 0xc9, 0x71, 0xf1, 0x3a, 0x57, 0x95, 0x58, 0x89, 0x6e, 0xb3, 0x76, 0x8e, 0x2c, 0xf9, - 0x65, 0x4a, 0x25, 0xa7, 0xf2, 0x36, 0xca, 0x70, 0x51, 0x94, 0x46, 0x4e, 0xdb, 0xb2, 0x90, 0x0d, - 0xf2, 0x41, 0xa4, 0xed, 0xc2, 0x41, 0x8e, 0x29, 0xb2, 0xb0, 0x1c, 0x33, 0x10, 0x2b, 0xd9, 0x61, - 0xdf, 0x4c, 0xf3, 0xb9, 0xe1, 0x51, 0xbb, 0x39, 0x58, 0x77, 0xb7, 0x91, 0x3a, 0xb5, 0x6c, 0xaa, - 0x4e, 0x4d, 0x2a, 0x65, 0x72, 0xa9, 0x4a, 0x99, 0x0a, 0x4c, 0xd7, 0xba, 0x3b, 0xb2, 0xee, 0xb8, - 0xbf, 0xa6, 0xdf, 0xdd, 0x49, 0xeb, 0x95, 0x38, 0x89, 0xf1, 0xa3, 0x59, 0x98, 0xd8, 0x68, 0x76, - 0xf7, 0x9c, 0x76, 0xc5, 0x0e, 0xec, 0x67, 0x56, 0xcd, 0xf7, 0xb6, 0xa6, 0xe6, 0x0b, 0x5d, 0xcb, - 0xc2, 0x86, 0x0d, 0xa4, 0xe3, 0xfb, 0x99, 0x0c, 0x4c, 0x47, 0x24, 0xfc, 0xb0, 0x5e, 0x81, 0x21, - 0xf6, 0x43, 0x5c, 0x7e, 0x2f, 0x27, 0x18, 0xf3, 0x94, 0x84, 0xe1, 0x5f, 0x42, 0xf1, 0xa6, 0xe7, - 0xfb, 0x42, 0x0e, 0x0b, 0x9f, 0x85, 0xb1, 0x88, 0xed, 0x59, 0x52, 0x11, 0xfe, 0x5a, 0x06, 0x0a, - 0xf1, 0x96, 0x90, 0xfb, 0x30, 0xca, 0x38, 0x39, 0x54, 0xde, 0xcb, 0x5f, 0xe9, 0xd1, 0xe6, 0xeb, - 0x02, 0x8d, 0x7f, 0x1e, 0x76, 0x3e, 0xe5, 0x10, 0x53, 0x72, 0x58, 0x30, 0x61, 0x42, 0xc5, 0x4a, - 0xf9, 0xba, 0x37, 0x74, 0x09, 0xe5, 0x7c, 0x7a, 0x3f, 0x68, 0x09, 0x14, 0xb5, 0xaf, 0x16, 0xc2, - 0xc7, 0x15, 0x6d, 0x72, 0xa5, 0xae, 0x2a, 0x9c, 0x34, 0x8b, 0x51, 0x22, 0x01, 0x75, 0x9e, 0xa5, - 0x4c, 0xe8, 0x10, 0x8f, 0xbc, 0x01, 0x23, 0xbc, 0x3e, 0x35, 0x91, 0x58, 0x07, 0x21, 0xaa, 0x9c, - 0xcc, 0x71, 0x8c, 0xbf, 0x97, 0x83, 0xf3, 0xd1, 0xe7, 0x6d, 0x75, 0x1a, 0x76, 0x40, 0x37, 0x6c, - 0xcf, 0x6e, 0xf9, 0xa7, 0xac, 0x80, 0xab, 0x89, 0x4f, 0xc3, 0xc4, 0x52, 0xf2, 0xd3, 0x94, 0x0f, - 0x32, 0x62, 0x1f, 0x84, 0x3a, 0x50, 0xfe, 0x41, 0xf2, 0x33, 0xc8, 0x7d, 0xc8, 0xd5, 0x68, 0x20, - 0xf6, 0xde, 0x2b, 0x89, 0x5e, 0x55, 0xbf, 0xeb, 0x7a, 0x8d, 0x06, 0x7c, 0x10, 0x79, 0x5c, 0x28, - 0x2d, 0x38, 0x1f, 0xe3, 0x42, 0xb6, 0x61, 0x64, 0xf9, 0x71, 0x87, 0xd6, 0x03, 0x91, 0x48, 0xf3, - 0x5a, 0x7f, 0x7e, 0x1c, 0x57, 0xc9, 0xa3, 0x49, 0x11, 0xa0, 0x76, 0x16, 0x47, 0x59, 0xb8, 0x0d, - 0x79, 0x59, 0xf9, 0x59, 0x66, 0xee, 0xc2, 0xdb, 0x30, 0xae, 0x54, 0x72, 0xa6, 0x49, 0xff, 0x0b, - 0x6c, 0x5f, 0x75, 0x9b, 0x32, 0xf7, 0xe6, 0x72, 0x42, 0x56, 0x54, 0x72, 0x33, 0x71, 0x59, 0xd1, - 0x3a, 0x10, 0x45, 0x7d, 0x84, 0xc6, 0x2a, 0x4c, 0xd7, 0x0e, 0x9c, 0x4e, 0x14, 0x28, 0x56, 0x3b, - 0x91, 0x31, 0x87, 0x8c, 0xb8, 0xb8, 0xc7, 0x4f, 0xe4, 0x38, 0x9d, 0xf1, 0xe7, 0x19, 0x18, 0x61, - 0x7f, 0x3d, 0xbc, 0xfd, 0x8c, 0x6e, 0x99, 0xb7, 0xb4, 0x2d, 0x73, 0x46, 0x89, 0xd5, 0x8e, 0x1b, - 0xc7, 0xed, 0x53, 0x36, 0xcb, 0x63, 0x31, 0x40, 0x1c, 0x99, 0xdc, 0x85, 0x51, 0x61, 0x52, 0x24, - 0x6c, 0xbf, 0xd5, 0xe0, 0xef, 0xd2, 0xd8, 0x28, 0xbc, 0xe1, 0xbb, 0x9d, 0xb8, 0x4a, 0x44, 0x52, - 0x33, 0xb9, 0x5e, 0x86, 0xec, 0xd5, 0x32, 0x36, 0xbb, 0xe8, 0xac, 0xc7, 0x43, 0x97, 0x2b, 0x39, - 0xd6, 0x7b, 0xf8, 0xd6, 0x97, 0xc4, 0x6b, 0x48, 0xae, 0x1f, 0x93, 0xf3, 0x32, 0xa1, 0x6d, 0xea, - 0x43, 0x49, 0x0b, 0xce, 0xd7, 0x6a, 0x2b, 0x68, 0x7e, 0xb8, 0xe1, 0x7a, 0xc1, 0x1d, 0xd7, 0x3b, - 0xb4, 0xd1, 0xb6, 0x18, 0x35, 0x7c, 0x8a, 0x0d, 0x42, 0x9a, 0x51, 0xd8, 0x6b, 0xa9, 0x46, 0x61, - 0x7d, 0xec, 0x14, 0x8c, 0x36, 0x5c, 0xa8, 0xd5, 0x56, 0x78, 0xe0, 0xf0, 0xbf, 0x88, 0xfa, 0x7e, - 0x2d, 0x03, 0x33, 0xb5, 0xda, 0x4a, 0xac, 0xaa, 0x55, 0x19, 0xb1, 0x3c, 0xa3, 0x3d, 0x84, 0xa6, - 0x77, 0x04, 0x8e, 0x42, 0x86, 0x4b, 0x78, 0x75, 0x2d, 0x38, 0x25, 0x67, 0x42, 0x36, 0xc2, 0x18, - 0xe9, 0x59, 0xcd, 0x1f, 0xa0, 0x47, 0x43, 0x51, 0xc3, 0x2d, 0xbc, 0xe9, 0x58, 0xa9, 0xae, 0xe1, - 0x66, 0x10, 0xe3, 0xbf, 0x3e, 0xcf, 0xa3, 0xb0, 0xcb, 0xd9, 0xf2, 0x1e, 0x4c, 0x08, 0x7a, 0x34, - 0x9a, 0x17, 0x36, 0x21, 0x17, 0xd9, 0x06, 0xb9, 0xcb, 0xe1, 0x3c, 0x3a, 0xef, 0x77, 0x8f, 0x8b, - 0x43, 0xac, 0x6b, 0x4c, 0x0d, 0x9d, 0x3c, 0x80, 0xc9, 0x35, 0xfb, 0xb1, 0xa2, 0xce, 0xe0, 0x2e, - 0x51, 0xd7, 0xd8, 0xae, 0xd2, 0xb2, 0x1f, 0x0f, 0x60, 0x74, 0xa7, 0xd3, 0x93, 0x03, 0x98, 0xd2, - 0xdb, 0x24, 0x66, 0x60, 0x72, 0xc4, 0x6e, 0xa6, 0x8e, 0xd8, 0xc5, 0x8e, 0xeb, 0x05, 0xd6, 0x6e, - 0x48, 0xae, 0x65, 0x1c, 0x88, 0xb1, 0x26, 0xef, 0xc1, 0x8c, 0x12, 0x02, 0xf4, 0x8e, 0xeb, 0xb5, - 0x6c, 0x79, 0xe1, 0x42, 0x1d, 0x3f, 0xda, 0x12, 0xed, 0x22, 0xd8, 0x4c, 0x62, 0x92, 0x2f, 0xa7, - 0xb9, 0x99, 0x0d, 0x47, 0x96, 0x87, 0x29, 0x6e, 0x66, 0xbd, 0x2c, 0x0f, 0x93, 0x0e, 0x67, 0x7b, - 0xfd, 0x2c, 0x93, 0xf3, 0xbc, 0xf5, 0x03, 0x59, 0x1e, 0x87, 0x23, 0xd7, 0xc3, 0x02, 0x79, 0x11, - 0x72, 0x4b, 0x1b, 0x77, 0xf0, 0x65, 0x4a, 0x1a, 0x51, 0xb5, 0xf7, 0xed, 0x76, 0x1d, 0x2f, 0x42, - 0xc2, 0x1b, 0x40, 0x3d, 0x28, 0x97, 0x36, 0xee, 0x10, 0x1b, 0x66, 0x31, 0x73, 0x5a, 0xf0, 0xa5, - 0x9b, 0x37, 0x95, 0xa1, 0xca, 0xe3, 0xa7, 0xdd, 0x10, 0x9f, 0x56, 0xc4, 0xbc, 0x6b, 0x81, 0xf5, - 0xf8, 0xe6, 0xcd, 0xd4, 0x01, 0x09, 0x3f, 0x2c, 0x8d, 0x17, 0x3b, 0xb0, 0xd6, 0xec, 0xc7, 0x91, - 0x13, 0x87, 0x2f, 0x1c, 0x76, 0x5f, 0x94, 0x53, 0x2b, 0x72, 0x00, 0xd1, 0x0e, 0x2c, 0x9d, 0x88, - 0xdd, 0x63, 0xa3, 0x09, 0xe6, 0x0b, 0x57, 0xa7, 0x05, 0xa9, 0xae, 0x93, 0x5e, 0xdd, 0xea, 0x65, - 0x4c, 0x41, 0x27, 0x5b, 0xe1, 0x6d, 0x9c, 0xdf, 0x66, 0x45, 0x16, 0xdd, 0x1b, 0xea, 0x6d, 0x9c, - 0x2b, 0xc9, 0xb4, 0x66, 0x4d, 0x87, 0x2a, 0x1c, 0xee, 0xd5, 0x62, 0xea, 0x5c, 0x92, 0x97, 0xfc, - 0x89, 0xb3, 0x5f, 0xf2, 0x29, 0x0c, 0xad, 0xba, 0xf5, 0x03, 0x11, 0x9c, 0xef, 0x8b, 0x6c, 0x17, - 0x6e, 0xba, 0xf5, 0x83, 0xa7, 0x67, 0x71, 0x8d, 0xec, 0xc9, 0x3a, 0xfb, 0x54, 0x36, 0x0b, 0x44, - 0x9f, 0x08, 0x2b, 0xde, 0xb9, 0xf0, 0x96, 0xab, 0x94, 0x71, 0x79, 0x94, 0x4f, 0x1a, 0xd9, 0xb5, - 0xa6, 0x4e, 0x4e, 0x28, 0x14, 0x2a, 0xd4, 0x3f, 0x08, 0xdc, 0x4e, 0xb9, 0xe9, 0x74, 0x76, 0x5c, - 0xdb, 0x93, 0xa1, 0x9c, 0x07, 0xde, 0x93, 0x1b, 0x9c, 0xde, 0xaa, 0x4b, 0x06, 0x66, 0x82, 0x25, - 0xf9, 0x32, 0x4c, 0xb1, 0xc9, 0xbd, 0xfc, 0x38, 0xa0, 0x6d, 0x3e, 0xf2, 0x33, 0x28, 0xd1, 0xcd, - 0x29, 0xb9, 0x4b, 0xc2, 0x42, 0x3e, 0xa7, 0x70, 0xb1, 0xd3, 0x90, 0x40, 0x0b, 0x6c, 0xa8, 0xb1, - 0x22, 0x0d, 0x98, 0x5f, 0xb3, 0x1f, 0x2b, 0xb9, 0x7f, 0x95, 0x49, 0x4a, 0x70, 0x82, 0x5d, 0x3d, - 0x39, 0x2e, 0xbe, 0xc2, 0x26, 0x58, 0x14, 0x5d, 0xbc, 0xc7, 0x7c, 0xed, 0xc9, 0x89, 0x7c, 0x0b, - 0x2e, 0x88, 0x66, 0x55, 0x30, 0xa1, 0x97, 0xeb, 0x1d, 0xd5, 0xf6, 0x6d, 0xf4, 0xdf, 0x9a, 0xed, - 0xd1, 0x61, 0x37, 0xd2, 0xb7, 0x44, 0xd9, 0x61, 0x0d, 0xc9, 0xc7, 0xf2, 0x39, 0x23, 0xb3, 0x57, - 0x0d, 0xe4, 0x23, 0x98, 0xe2, 0xcf, 0x71, 0x2b, 0xae, 0x1f, 0xa0, 0xb2, 0x66, 0xee, 0x6c, 0x6e, - 0x09, 0xfc, 0x8d, 0x8f, 0x3b, 0xf2, 0xc4, 0x94, 0x3b, 0x31, 0xce, 0xe4, 0x1d, 0x18, 0xdf, 0x70, - 0xda, 0x3c, 0xf4, 0x68, 0x75, 0x03, 0xd5, 0xca, 0xe2, 0x04, 0xea, 0x38, 0x6d, 0x4b, 0x6a, 0x4c, - 0x3a, 0xe1, 0x76, 0xa1, 0x62, 0x93, 0x6d, 0x18, 0xaf, 0xd5, 0x56, 0xee, 0x38, 0x4c, 0x2e, 0xe9, - 0x1c, 0xcd, 0x9f, 0xef, 0xf1, 0x95, 0x2f, 0xa7, 0x7e, 0xe5, 0xa4, 0xef, 0xef, 0x5b, 0xbb, 0x4e, - 0x93, 0x5a, 0x75, 0xb7, 0x73, 0x64, 0xaa, 0x9c, 0x52, 0x4c, 0xf5, 0x2f, 0x3c, 0x65, 0x53, 0xfd, - 0x2a, 0x4c, 0x2b, 0xc6, 0xb3, 0x68, 0x38, 0x3b, 0x1f, 0xc5, 0xab, 0x52, 0x4d, 0xf3, 0xe3, 0xae, - 0xa9, 0x71, 0x3a, 0x69, 0xa3, 0x7f, 0xf1, 0xac, 0x36, 0xfa, 0x0e, 0xcc, 0xf0, 0xc1, 0x10, 0xf3, - 0x00, 0x47, 0x7a, 0xa1, 0x47, 0x1f, 0x5e, 0x4b, 0xed, 0xc3, 0x59, 0x31, 0xd2, 0x72, 0x92, 0xe1, - 0xf3, 0x73, 0x92, 0x2b, 0xd9, 0x05, 0x22, 0x80, 0x76, 0x60, 0xef, 0xd8, 0x3e, 0xc5, 0xba, 0x9e, - 0xef, 0x51, 0xd7, 0x2b, 0xa9, 0x75, 0x4d, 0xc9, 0xba, 0x76, 0x78, 0x35, 0x29, 0x1c, 0x49, 0x5b, - 0xd6, 0x23, 0xe7, 0x17, 0x76, 0xec, 0x0b, 0x9a, 0x8e, 0x3b, 0x89, 0xc0, 0x43, 0x3f, 0xc5, 0x27, - 0x6d, 0xbc, 0xdf, 0x53, 0x38, 0x93, 0xc7, 0x70, 0x3e, 0xf9, 0x15, 0x58, 0xe7, 0x8b, 0x58, 0xe7, - 0x8b, 0x5a, 0x9d, 0x71, 0x24, 0x3e, 0x6f, 0xf4, 0x66, 0xc5, 0x6b, 0xed, 0xc1, 0x9f, 0xfc, 0x50, - 0x06, 0x2e, 0xac, 0xdd, 0x29, 0x61, 0x7e, 0x4e, 0x87, 0x47, 0xa2, 0x0b, 0x5d, 0x7a, 0x2f, 0x89, - 0x77, 0x90, 0xf8, 0xdb, 0x8c, 0x94, 0x38, 0x70, 0xab, 0x60, 0xa2, 0xfb, 0xcb, 0xad, 0x5d, 0x9b, - 0xa7, 0xfd, 0x14, 0x2c, 0x52, 0xfc, 0x7e, 0xbf, 0xfd, 0x47, 0xc5, 0x8c, 0xd9, 0xab, 0x2a, 0xd2, - 0x84, 0x05, 0xbd, 0x5b, 0xa4, 0x17, 0xc5, 0x3e, 0x6d, 0x36, 0xe7, 0x8b, 0x38, 0xa3, 0xdf, 0x38, - 0x39, 0x2e, 0x5e, 0x4d, 0xf4, 0x6e, 0xe8, 0x99, 0xc1, 0x30, 0x95, 0x06, 0xf7, 0xe1, 0x47, 0x5a, - 0x29, 0x42, 0xf7, 0xfc, 0x65, 0x2d, 0xf6, 0x4f, 0xa2, 0x7c, 0xe9, 0x55, 0x21, 0x91, 0xbc, 0xc8, - 0xd6, 0x7b, 0x4f, 0x01, 0xd1, 0x4c, 0x72, 0xbe, 0x37, 0x94, 0x9f, 0x2c, 0x4c, 0xa5, 0xb8, 0x2c, - 0x18, 0xbf, 0x95, 0x8d, 0x1d, 0x8c, 0xa4, 0x0a, 0xa3, 0x62, 0xbe, 0xf7, 0xbc, 0x64, 0xbc, 0x98, - 0x3a, 0xab, 0x47, 0xc5, 0xd2, 0x31, 0x25, 0x3d, 0x39, 0x64, 0xac, 0xb0, 0xd1, 0xe2, 0xc6, 0xfb, - 0x55, 0x7e, 0xee, 0x21, 0x48, 0x3b, 0xe1, 0x2b, 0x67, 0x77, 0xc4, 0xd3, 0xfd, 0x3c, 0xf1, 0xa8, - 0x97, 0xb5, 0x91, 0x03, 0x9e, 0x4a, 0x2a, 0x17, 0x7a, 0x73, 0xe9, 0x79, 0xa3, 0x9e, 0x5a, 0x85, - 0xac, 0x16, 0xe3, 0x37, 0x33, 0x30, 0xa9, 0x9d, 0xac, 0xe4, 0xb6, 0xe2, 0xaa, 0x18, 0x79, 0xef, - 0x6b, 0x38, 0xb8, 0xd9, 0xc6, 0x9d, 0x18, 0x6f, 0x0b, 0xbf, 0x83, 0x6c, 0x6f, 0x3a, 0x5c, 0x6c, - 0x71, 0xcf, 0xd5, 0xfe, 0xfa, 0xe1, 0x30, 0x41, 0xe5, 0x50, 0x8f, 0x04, 0x95, 0xbf, 0xf6, 0x02, - 0x4c, 0xe9, 0x37, 0x62, 0xf2, 0x06, 0x8c, 0xa0, 0x6e, 0x5e, 0xaa, 0x57, 0x50, 0x2d, 0x84, 0xea, - 0x7b, 0xcd, 0x19, 0x85, 0xe3, 0x90, 0x57, 0x01, 0x42, 0x03, 0x70, 0xf9, 0x32, 0x35, 0x7c, 0x72, - 0x5c, 0xcc, 0xbc, 0x69, 0x2a, 0x05, 0xe4, 0x6b, 0x00, 0xeb, 0x6e, 0x83, 0x86, 0xe9, 0x82, 0xfb, - 0x58, 0x5f, 0xbc, 0x96, 0x48, 0xb3, 0x72, 0xae, 0xed, 0x36, 0x68, 0x32, 0xa7, 0x8a, 0xc2, 0x91, - 0x7c, 0x1e, 0x86, 0xcd, 0x6e, 0x93, 0xca, 0x17, 0x8c, 0x71, 0x79, 0xc2, 0x75, 0x9b, 0x34, 0xd2, - 0x13, 0x78, 0xdd, 0xb8, 0x61, 0x21, 0x03, 0x90, 0x0f, 0x78, 0xfa, 0x15, 0x11, 0x23, 0x74, 0x38, - 0x7a, 0xab, 0x53, 0x24, 0x9f, 0x44, 0x94, 0x50, 0x85, 0x84, 0x3c, 0x80, 0x51, 0xf5, 0x91, 0x49, - 0xf1, 0x79, 0x57, 0x1f, 0x22, 0x15, 0xa5, 0x83, 0xc8, 0x33, 0x1c, 0x7f, 0x7f, 0x92, 0x5c, 0xc8, - 0xbb, 0x30, 0xc6, 0xd8, 0xb3, 0x9d, 0xc3, 0x17, 0xb7, 0x1a, 0x7c, 0x91, 0x53, 0x3e, 0x88, 0xed, - 0x3e, 0x5a, 0x24, 0xcf, 0x90, 0x80, 0x7c, 0x19, 0x13, 0xcc, 0x8a, 0xae, 0xee, 0x6b, 0x95, 0x73, - 0x25, 0xd1, 0xd5, 0x98, 0x71, 0x36, 0xd1, 0xd3, 0x11, 0x3f, 0xb2, 0x17, 0x86, 0x5c, 0x1b, 0x24, - 0x65, 0xce, 0xeb, 0x89, 0x0a, 0xe6, 0x65, 0x14, 0xb1, 0x64, 0xda, 0x67, 0x8d, 0x2f, 0xe9, 0x40, - 0x21, 0x12, 0x2a, 0x45, 0x5d, 0xd0, 0xaf, 0xae, 0x37, 0x13, 0x75, 0xa9, 0x03, 0x98, 0xa8, 0x2e, - 0xc1, 0x9d, 0x34, 0x60, 0x4a, 0x1e, 0x50, 0xa2, 0xbe, 0xf1, 0x7e, 0xf5, 0xbd, 0x9a, 0xa8, 0x6f, - 0xb6, 0xb1, 0x93, 0xac, 0x27, 0xc6, 0x93, 0xbc, 0x0b, 0x93, 0x12, 0xc2, 0x93, 0x30, 0x4f, 0x44, - 0xc9, 0x70, 0x1b, 0x3b, 0x89, 0xd4, 0xcb, 0x3a, 0xb2, 0x4a, 0xcd, 0x67, 0xc7, 0xa4, 0x46, 0x1d, - 0x9f, 0x15, 0x3a, 0x32, 0xf9, 0x10, 0xc6, 0xab, 0x2d, 0xd6, 0x10, 0xb7, 0x6d, 0x07, 0x54, 0xf8, - 0x43, 0x4a, 0x0b, 0x23, 0xa5, 0x44, 0x99, 0xaa, 0x3c, 0xbd, 0x74, 0x54, 0xa4, 0xa5, 0x97, 0x8e, - 0xc0, 0xac, 0xf3, 0xf8, 0xab, 0xa2, 0x98, 0xc3, 0xd2, 0x57, 0xf2, 0xc5, 0x14, 0x2b, 0x1f, 0x85, - 0xbd, 0x88, 0x07, 0xc9, 0xa0, 0xf2, 0x55, 0x2f, 0x16, 0x8b, 0x57, 0xe5, 0x49, 0xde, 0x83, 0x71, - 0x91, 0x4d, 0xac, 0x64, 0xae, 0xfb, 0xf3, 0x05, 0x6c, 0x3c, 0x46, 0x78, 0x90, 0x89, 0xc7, 0x2c, - 0xdb, 0x8b, 0x99, 0xb3, 0x46, 0xf8, 0xe4, 0x4b, 0x30, 0xb7, 0xed, 0xb4, 0x1b, 0xee, 0xa1, 0x2f, - 0x8e, 0x29, 0xb1, 0xd1, 0xcd, 0x44, 0xce, 0x64, 0x87, 0xbc, 0x3c, 0x94, 0x05, 0x13, 0x1b, 0x5f, - 0x2a, 0x07, 0xf2, 0xd7, 0x13, 0x9c, 0xf9, 0x0c, 0x22, 0xfd, 0x66, 0xd0, 0x62, 0x62, 0x06, 0x25, - 0xab, 0x8f, 0x4f, 0xa7, 0xd4, 0x6a, 0x88, 0x0b, 0x44, 0x3f, 0xdf, 0xef, 0xb9, 0x4e, 0x7b, 0x7e, - 0x16, 0xf7, 0xc2, 0xe7, 0xe3, 0x31, 0x15, 0x10, 0x4f, 0xa4, 0xe9, 0x36, 0x4e, 0x8e, 0x8b, 0x97, - 0xe2, 0x32, 0xff, 0x47, 0xae, 0xf6, 0x5c, 0x92, 0xc2, 0x9a, 0x7c, 0x08, 0x13, 0xec, 0xff, 0x50, - 0x29, 0x31, 0xa7, 0xd9, 0x85, 0x2a, 0x98, 0xa2, 0x1e, 0x1c, 0x23, 0x4c, 0x77, 0x96, 0xa2, 0xaf, - 0xd0, 0x58, 0x91, 0xb7, 0x01, 0x98, 0xd8, 0x24, 0xb6, 0xe3, 0x73, 0x51, 0xe8, 0x63, 0x94, 0xba, - 0x92, 0x1b, 0x71, 0x84, 0x4c, 0xde, 0x85, 0x71, 0xf6, 0xab, 0xd6, 0x6d, 0xb8, 0x6c, 0x6d, 0x9c, - 0x47, 0x5a, 0xee, 0x9a, 0xca, 0x68, 0x7d, 0x0e, 0xd7, 0x5c, 0x53, 0x23, 0x74, 0xb2, 0x02, 0xd3, - 0x18, 0xa2, 0x5a, 0x04, 0x47, 0x75, 0xa8, 0x3f, 0x7f, 0x41, 0xb1, 0x86, 0x60, 0x45, 0x96, 0x13, - 0x96, 0xa9, 0x77, 0x99, 0x18, 0x19, 0xf1, 0x61, 0x36, 0xf9, 0x9c, 0xec, 0xcf, 0xcf, 0x63, 0x27, - 0x49, 0x09, 0x3e, 0x89, 0xc1, 0xf7, 0x63, 0x36, 0x22, 0xca, 0xc6, 0x25, 0x1f, 0x95, 0xd4, 0x0a, - 0xd3, 0xb8, 0x13, 0x13, 0xc8, 0xdd, 0xf2, 0x46, 0x3c, 0x86, 0xf3, 0x45, 0x6c, 0x01, 0x0e, 0xf3, - 0x5e, 0x3d, 0x4a, 0xef, 0x9d, 0x12, 0xc7, 0x39, 0x85, 0x9a, 0x7c, 0x13, 0xce, 0xc9, 0x1d, 0x44, - 0x14, 0x89, 0x79, 0xbd, 0x70, 0xc6, 0x9d, 0xb8, 0xb1, 0x13, 0x56, 0x9d, 0x98, 0xd2, 0xe9, 0x55, - 0x10, 0x1b, 0xc6, 0x71, 0x58, 0x45, 0x8d, 0xcf, 0xf7, 0xab, 0xf1, 0x6a, 0xa2, 0xc6, 0xf3, 0x38, - 0x51, 0x92, 0x95, 0xa9, 0x3c, 0xc9, 0x12, 0x4c, 0x8a, 0x75, 0x24, 0x66, 0xdb, 0x0b, 0xd8, 0x5b, - 0xa8, 0xc4, 0x92, 0x2b, 0x30, 0x31, 0xe1, 0x74, 0x12, 0x75, 0x47, 0xe6, 0x8f, 0x49, 0x2f, 0x6a, - 0x3b, 0x72, 0xfc, 0x0d, 0x49, 0x47, 0x66, 0x3b, 0x52, 0x24, 0xc5, 0x2c, 0x3f, 0xee, 0x78, 0x42, - 0x45, 0x75, 0x29, 0xca, 0x8a, 0xa4, 0x08, 0x3f, 0x16, 0x0d, 0x31, 0xd4, 0x2d, 0x21, 0x8d, 0x03, - 0xd9, 0x82, 0xd9, 0xf0, 0xd4, 0x56, 0x18, 0x17, 0xa3, 0x28, 0xc1, 0xd1, 0x51, 0x9f, 0xce, 0x37, - 0x8d, 0x9e, 0xd8, 0x70, 0x41, 0x3b, 0xa7, 0x15, 0xd6, 0x97, 0x91, 0x35, 0xa6, 0x93, 0xd7, 0x0f, - 0xf9, 0x74, 0xf6, 0xbd, 0xf8, 0x90, 0x8f, 0x60, 0x21, 0x7e, 0x36, 0x2b, 0xb5, 0xbc, 0x84, 0xb5, - 0xbc, 0x7e, 0x72, 0x5c, 0xbc, 0x92, 0x38, 0xde, 0xd3, 0x2b, 0xea, 0xc3, 0x8d, 0x7c, 0x0d, 0xe6, - 0xf5, 0xf3, 0x59, 0xa9, 0xc9, 0xc0, 0x9a, 0x70, 0xe9, 0x84, 0x07, 0x7b, 0x7a, 0x0d, 0x3d, 0x79, - 0x90, 0x00, 0x8a, 0xa9, 0xb3, 0x5b, 0xa9, 0xe6, 0xe5, 0xa8, 0x41, 0x89, 0x55, 0x92, 0x5e, 0xdd, - 0x69, 0x2c, 0xc9, 0x21, 0x5c, 0x4a, 0x3b, 0x26, 0x94, 0x4a, 0x5f, 0x09, 0x95, 0xc0, 0x9f, 0x4a, - 0x3f, 0x72, 0xd2, 0x6b, 0x3e, 0x85, 0x2d, 0xf9, 0x32, 0x9c, 0x53, 0xd6, 0x97, 0x52, 0xdf, 0xab, - 0x58, 0x1f, 0xba, 0x82, 0xab, 0x0b, 0x33, 0xbd, 0x96, 0x74, 0x1e, 0xa4, 0x05, 0xb3, 0xb2, 0xe1, - 0xa8, 0x6d, 0x17, 0x47, 0xcf, 0x15, 0x6d, 0x57, 0x4d, 0x62, 0x2c, 0x5d, 0x16, 0xbb, 0xea, 0x7c, - 0x63, 0xc7, 0xea, 0x44, 0x84, 0xea, 0x4c, 0x4f, 0xe1, 0x4b, 0x56, 0x60, 0xa4, 0xb6, 0x51, 0xbd, - 0x73, 0x67, 0x79, 0xfe, 0x35, 0xac, 0x41, 0xfa, 0x8d, 0x71, 0xa0, 0x76, 0x69, 0x12, 0xe6, 0x8a, - 0x1d, 0x67, 0x77, 0x57, 0x7b, 0xb0, 0xe2, 0xa8, 0xe4, 0xaf, 0xa3, 0xa1, 0x20, 0xdb, 0x51, 0x4b, - 0xbe, 0xef, 0xec, 0x61, 0xd4, 0x69, 0x7f, 0xfe, 0x75, 0xed, 0xbd, 0x5f, 0x46, 0xe4, 0x2e, 0x63, - 0xc2, 0xb2, 0x04, 0x3a, 0x97, 0x36, 0xd9, 0xfd, 0x5f, 0xec, 0xdc, 0x96, 0x1d, 0xb1, 0x52, 0x37, - 0xf1, 0x64, 0x45, 0xf7, 0x86, 0xf2, 0x57, 0x0b, 0xd7, 0xee, 0x0d, 0xe5, 0xaf, 0x15, 0x5e, 0x37, - 0x5f, 0xa8, 0x95, 0xd6, 0x56, 0xab, 0x0d, 0xb9, 0xd1, 0xcb, 0xf8, 0xdf, 0xbc, 0xaf, 0xcd, 0x2b, - 0xfd, 0x4a, 0xa3, 0x91, 0x30, 0xfe, 0x4e, 0x06, 0x8a, 0xa7, 0x7c, 0x30, 0xdb, 0x5b, 0xa3, 0xde, - 0xac, 0xd1, 0x40, 0x8d, 0x22, 0x1e, 0x8d, 0x82, 0xa5, 0x9b, 0x30, 0xe8, 0x24, 0xe8, 0x00, 0x27, - 0x52, 0x57, 0x28, 0x7e, 0x90, 0xc9, 0x94, 0x15, 0x12, 0xcb, 0xf8, 0x85, 0x0c, 0xcc, 0xa6, 0x8c, - 0x0f, 0xb9, 0x02, 0x43, 0x98, 0x8b, 0x4a, 0xb1, 0x39, 0x89, 0xe5, 0xa0, 0xc2, 0x72, 0xf2, 0x69, - 0x18, 0xad, 0xac, 0xd7, 0x6a, 0xa5, 0x75, 0x79, 0x95, 0xe5, 0xdb, 0x78, 0xdb, 0xb7, 0x7c, 0x5b, - 0x7f, 0xaa, 0x16, 0x68, 0xe4, 0x4d, 0x18, 0xa9, 0x6e, 0x20, 0x01, 0xb7, 0x9c, 0xc4, 0x2f, 0x74, - 0x3a, 0x71, 0x7c, 0x81, 0x64, 0xfc, 0x78, 0x06, 0x48, 0x72, 0xb2, 0x91, 0x9b, 0x30, 0xae, 0x4e, - 0x69, 0x7e, 0xf1, 0xc6, 0xf7, 0x3b, 0x65, 0xc2, 0x9a, 0x2a, 0x0e, 0xa9, 0xc0, 0x30, 0x66, 0x11, - 0x0d, 0xdf, 0xc8, 0x53, 0x0f, 0xc6, 0x0b, 0x89, 0x83, 0x71, 0x18, 0x73, 0x94, 0x9a, 0x9c, 0xd8, - 0xf8, 0xdd, 0x0c, 0x90, 0x74, 0xcb, 0xb7, 0x81, 0x6c, 0x74, 0xde, 0x52, 0x3c, 0xdf, 0xd5, 0x6c, - 0x33, 0x61, 0xaa, 0x30, 0xf5, 0x12, 0x19, 0xf9, 0xc8, 0x5f, 0xd1, 0x94, 0x16, 0xbd, 0xdd, 0x25, - 0xaf, 0xc1, 0xf0, 0x43, 0xea, 0xed, 0x48, 0xa3, 0x60, 0x34, 0x24, 0x7c, 0xc4, 0x00, 0xea, 0x25, - 0x1e, 0x31, 0x8c, 0x3f, 0xc9, 0xc0, 0x5c, 0x9a, 0x84, 0x7b, 0x8a, 0x57, 0xa3, 0x11, 0x73, 0xc8, - 0x44, 0xfb, 0x1c, 0x6e, 0x65, 0x18, 0xba, 0x61, 0x16, 0x61, 0x98, 0x35, 0x56, 0x8e, 0x30, 0x2a, - 0x51, 0x58, 0x6f, 0xf8, 0x26, 0x87, 0x33, 0x04, 0x1e, 0xe1, 0x6d, 0x08, 0x83, 0x03, 0x22, 0x02, - 0xce, 0x47, 0x93, 0xc3, 0x19, 0xc2, 0x9a, 0xdb, 0x08, 0x13, 0xe8, 0x23, 0x42, 0x8b, 0x01, 0x4c, - 0x0e, 0x27, 0x57, 0x60, 0xf4, 0x41, 0x7b, 0x95, 0xda, 0x8f, 0x64, 0xc6, 0x03, 0xb4, 0x27, 0x72, - 0xdb, 0x56, 0x93, 0xc1, 0x4c, 0x59, 0x68, 0xfc, 0x4c, 0x06, 0x66, 0x12, 0xc2, 0xf5, 0xe9, 0x8e, - 0x9b, 0xfd, 0x3d, 0xa8, 0x06, 0x69, 0x1f, 0xff, 0xfc, 0xa1, 0xf4, 0xcf, 0x37, 0xfe, 0xdb, 0x11, - 0xb8, 0xd0, 0x43, 0xd7, 0x11, 0x79, 0x78, 0x66, 0x4e, 0xf5, 0xf0, 0xfc, 0x0a, 0x4c, 0x96, 0x9b, - 0xb6, 0xd3, 0xf2, 0x37, 0xdd, 0xe8, 0x8b, 0x23, 0x47, 0x11, 0x2c, 0x13, 0x56, 0xf4, 0xa1, 0x47, - 0xc1, 0xc5, 0x3a, 0x52, 0x58, 0x81, 0x9b, 0x14, 0xb5, 0x34, 0x66, 0x09, 0x1f, 0xcb, 0xdc, 0x5f, - 0x12, 0x1f, 0x4b, 0xdd, 0xeb, 0x67, 0xe8, 0xa9, 0x7a, 0xfd, 0xa4, 0x5b, 0x0c, 0x0f, 0x3f, 0x89, - 0xfd, 0x78, 0x19, 0x26, 0xb9, 0x41, 0x55, 0xc9, 0xe7, 0x83, 0x34, 0x92, 0x30, 0xc2, 0xb2, 0xfd, - 0xe4, 0x58, 0x68, 0x34, 0x64, 0x45, 0xf7, 0x50, 0x19, 0xc5, 0x17, 0xc7, 0x2b, 0xbd, 0x3d, 0x50, - 0x34, 0x4b, 0x03, 0xcd, 0x13, 0xe5, 0x5b, 0x30, 0x97, 0x76, 0x59, 0x9a, 0xcf, 0x6b, 0xb6, 0x9a, - 0x3d, 0x6d, 0x7c, 0x07, 0xbf, 0x72, 0x1d, 0xa4, 0x5e, 0xb9, 0xa4, 0xe7, 0xf0, 0x98, 0x16, 0x10, - 0xb8, 0xc7, 0x5a, 0xe0, 0xb8, 0xfd, 0xfd, 0x8b, 0x8d, 0xaf, 0xc0, 0x8b, 0x7d, 0xc9, 0xc9, 0x3b, - 0x5a, 0x84, 0x9a, 0xd7, 0x92, 0x11, 0x6a, 0xbe, 0x7b, 0x5c, 0x9c, 0xd1, 0xbc, 0xfe, 0xd6, 0x42, - 0x75, 0xb1, 0xf1, 0x33, 0x59, 0xdd, 0x5f, 0xf5, 0x2f, 0xe3, 0x42, 0xbd, 0x06, 0xc3, 0xdb, 0xfb, - 0xd4, 0x93, 0xc7, 0x03, 0x7e, 0xc8, 0x21, 0x03, 0xa8, 0x1f, 0x82, 0x18, 0xe4, 0x0e, 0x4c, 0x6d, - 0xf0, 0x89, 0x2b, 0x67, 0xe3, 0x50, 0x74, 0x63, 0xef, 0x08, 0xbd, 0x52, 0xca, 0x74, 0x8c, 0x51, - 0x19, 0x77, 0x63, 0x9d, 0x2e, 0xe2, 0xeb, 0x70, 0xbf, 0x1a, 0x2e, 0x40, 0x4c, 0x45, 0x9e, 0x44, - 0xd1, 0x66, 0x6b, 0xc6, 0xa0, 0xc6, 0x2e, 0x5c, 0xea, 0xcb, 0x88, 0x9d, 0xdb, 0xd0, 0x09, 0x7f, - 0xc5, 0xec, 0x76, 0xfb, 0x92, 0x9a, 0x0a, 0x9d, 0xf1, 0x2d, 0x98, 0x50, 0x7b, 0x19, 0x8f, 0x20, - 0xf6, 0x5b, 0xcc, 0x0a, 0x7e, 0x04, 0x31, 0x80, 0xc9, 0xe1, 0xd1, 0x4b, 0x40, 0x36, 0xfd, 0x25, - 0x20, 0x1a, 0xfe, 0xdc, 0x69, 0xc3, 0xcf, 0x2a, 0xc7, 0x1d, 0x4e, 0xa9, 0x1c, 0x7f, 0xab, 0x95, - 0x63, 0x00, 0x1d, 0x93, 0xc3, 0x9f, 0x6a, 0xe5, 0xbf, 0x23, 0x53, 0x64, 0xa1, 0xdb, 0x8e, 0x5c, - 0xee, 0x99, 0x28, 0xcf, 0x55, 0xda, 0xea, 0x8d, 0x30, 0x23, 0x99, 0x22, 0x7b, 0x9a, 0x4c, 0x71, - 0x96, 0x89, 0x88, 0x92, 0x2a, 0x1f, 0xd2, 0xa1, 0x48, 0x0e, 0xb4, 0x13, 0xb6, 0x12, 0x12, 0xcb, - 0xf8, 0x76, 0x06, 0xce, 0xa5, 0x6a, 0x5c, 0x59, 0xad, 0x5c, 0xb5, 0xab, 0xac, 0xc3, 0xb8, 0x5e, - 0x97, 0x63, 0x9c, 0x25, 0x7a, 0xc2, 0xe0, 0x6d, 0x31, 0x5e, 0x82, 0xb1, 0xf0, 0xbd, 0x8f, 0xcc, - 0xc9, 0xa1, 0x43, 0xab, 0x3a, 0xf9, 0x6c, 0x54, 0x03, 0x60, 0x5f, 0xf0, 0x54, 0x0d, 0x73, 0x8d, - 0xdf, 0xc9, 0xf2, 0xf4, 0xa9, 0xcf, 0x6c, 0x20, 0xd4, 0x74, 0x6b, 0x5a, 0xd6, 0xa4, 0xde, 0xe1, - 0x4f, 0xc9, 0x32, 0x8c, 0xd4, 0x02, 0x3b, 0xe8, 0xca, 0xa0, 0x0f, 0xb3, 0x2a, 0x19, 0x16, 0x3c, - 0x5c, 0x8c, 0xdc, 0xfe, 0x7d, 0x84, 0x68, 0x77, 0x4c, 0x84, 0x28, 0x46, 0xb9, 0x7f, 0x90, 0x81, - 0x09, 0x95, 0x98, 0x7c, 0x08, 0x53, 0x32, 0xbc, 0x23, 0x0f, 0x85, 0x21, 0x1e, 0x27, 0xa5, 0x21, - 0x91, 0x0c, 0xef, 0xa8, 0x86, 0xce, 0xd0, 0xf0, 0xd5, 0xad, 0xba, 0xa3, 0x22, 0x93, 0x06, 0x90, - 0xd6, 0xae, 0x6d, 0x1d, 0x52, 0xfb, 0x80, 0xfa, 0x81, 0xc5, 0x0d, 0x3e, 0xc4, 0x1b, 0xa6, 0x64, - 0xbf, 0x76, 0xa7, 0xc4, 0x6d, 0x3d, 0xd8, 0x48, 0x88, 0x38, 0x9d, 0x09, 0x1a, 0xf5, 0x61, 0xa6, - 0xb5, 0x6b, 0x6f, 0xf3, 0x42, 0x4e, 0x67, 0xfc, 0xe9, 0x08, 0x9f, 0x6e, 0x22, 0x1a, 0xec, 0x0e, - 0x4c, 0x3d, 0xa8, 0x56, 0xca, 0x8a, 0x9a, 0x56, 0x4f, 0x26, 0xb4, 0xfc, 0x38, 0xa0, 0x5e, 0xdb, - 0x6e, 0xca, 0x1b, 0x6a, 0x74, 0x04, 0xb9, 0x4e, 0xa3, 0x9e, 0xae, 0xc2, 0x8d, 0x71, 0x64, 0x75, - 0xf0, 0xbb, 0x70, 0x58, 0x47, 0x76, 0xc0, 0x3a, 0x7c, 0xbb, 0xd5, 0xec, 0x51, 0x87, 0xce, 0x91, - 0xec, 0x43, 0xe1, 0x2e, 0x4a, 0x97, 0x4a, 0x2d, 0xb9, 0xfe, 0xb5, 0xbc, 0x2c, 0x6a, 0x79, 0x9e, - 0x8b, 0xa5, 0xe9, 0xf5, 0x24, 0xb8, 0x46, 0xfb, 0xc4, 0xd0, 0xa9, 0xfb, 0xc4, 0xdf, 0xca, 0xc0, - 0x08, 0x17, 0x5f, 0xc5, 0x34, 0xee, 0x21, 0x20, 0x6f, 0x3f, 0x1d, 0x01, 0xb9, 0x80, 0xe7, 0x84, - 0x36, 0xa1, 0x79, 0x19, 0xa9, 0xc4, 0xd6, 0x85, 0xb4, 0x25, 0xc7, 0x07, 0x17, 0x5e, 0x72, 0xfa, - 0xb2, 0x20, 0xd5, 0x28, 0x10, 0xc3, 0xe8, 0xa9, 0xbe, 0xbe, 0x32, 0x78, 0xc5, 0xa8, 0x08, 0xc4, - 0xa0, 0x87, 0x5f, 0x58, 0x85, 0x31, 0x11, 0xde, 0x61, 0xe9, 0x48, 0x3c, 0xab, 0x16, 0x34, 0xc3, - 0x98, 0xc6, 0xd2, 0x51, 0x24, 0x9a, 0x8b, 0x00, 0x11, 0xd6, 0xce, 0x91, 0x96, 0x8d, 0x56, 0x22, - 0x92, 0x07, 0x3c, 0x4b, 0x23, 0x8f, 0x97, 0xab, 0x07, 0xc8, 0x0f, 0xe1, 0x22, 0x70, 0x94, 0xf4, - 0x11, 0x4f, 0x09, 0x8f, 0x1b, 0xf1, 0x20, 0xab, 0x50, 0x40, 0x63, 0x2a, 0xda, 0xe0, 0xab, 0xa6, - 0x5a, 0xe1, 0x21, 0x04, 0x84, 0x41, 0x6c, 0xc0, 0xcb, 0xc4, 0x72, 0x8b, 0x79, 0xef, 0x25, 0x28, - 0xd9, 0x75, 0xba, 0x10, 0x9f, 0x7d, 0xe4, 0x5d, 0x18, 0x0f, 0xe3, 0x15, 0x87, 0xfe, 0xc3, 0xf8, - 0xbc, 0x12, 0x05, 0x38, 0xd6, 0x73, 0xfb, 0x29, 0xe8, 0x64, 0x11, 0xf2, 0x6c, 0x11, 0xc7, 0xf3, - 0xe0, 0x76, 0x05, 0x4c, 0xf5, 0xe7, 0x91, 0x78, 0xa4, 0x06, 0xb3, 0x6c, 0xd1, 0xd4, 0x9c, 0xf6, - 0x5e, 0x93, 0xae, 0xba, 0x7b, 0x6e, 0x37, 0x88, 0x52, 0xdd, 0xf1, 0x0b, 0x8c, 0xdd, 0x6a, 0x6a, - 0xc5, 0x7a, 0xa2, 0xbb, 0x14, 0x6a, 0x65, 0xab, 0xfc, 0xa3, 0x2c, 0x8c, 0x2b, 0xf3, 0x89, 0x5c, - 0x83, 0x7c, 0xd5, 0x5f, 0x75, 0xeb, 0x07, 0x61, 0x64, 0xc1, 0xc9, 0x93, 0xe3, 0xe2, 0x98, 0xe3, - 0x5b, 0x4d, 0x04, 0x9a, 0x61, 0x31, 0x59, 0x82, 0x49, 0xfe, 0x97, 0xcc, 0x23, 0x91, 0x8d, 0xd4, - 0x5b, 0x1c, 0x59, 0x66, 0x90, 0x50, 0x77, 0x4f, 0x8d, 0x84, 0x7c, 0x15, 0x80, 0x03, 0xd0, 0x17, - 0x3d, 0x37, 0xb8, 0x17, 0xbd, 0xa8, 0x20, 0xc5, 0x0b, 0x5d, 0x61, 0x48, 0xbe, 0xce, 0xe3, 0x1b, - 0xcb, 0xf9, 0x3f, 0x34, 0x78, 0x18, 0x00, 0xc6, 0xdf, 0x4a, 0x8f, 0x46, 0xa2, 0xb2, 0x14, 0xa9, - 0x5f, 0x16, 0x4c, 0x5a, 0x77, 0x1f, 0x51, 0xef, 0xa8, 0x14, 0x20, 0xa2, 0x82, 0x61, 0xfc, 0x2f, - 0x19, 0x65, 0xd5, 0x90, 0x75, 0x4c, 0xdd, 0xcc, 0x67, 0x84, 0xb0, 0x30, 0x0a, 0xef, 0x0c, 0x12, - 0x6e, 0xd2, 0xdd, 0xa5, 0xe7, 0x85, 0xb1, 0xd3, 0x6c, 0x38, 0xaf, 0x62, 0x29, 0x9d, 0x39, 0x90, - 0x7c, 0x01, 0x86, 0xb0, 0xeb, 0xb2, 0xa7, 0x36, 0x4d, 0x1e, 0xdb, 0x43, 0xac, 0xcf, 0xb0, 0x21, - 0x48, 0x49, 0x3e, 0x2d, 0xfc, 0x78, 0x79, 0xe7, 0x4f, 0x29, 0x67, 0x2f, 0xfb, 0x8e, 0xf0, 0xbc, - 0x8e, 0x02, 0xd2, 0x28, 0xb3, 0xe7, 0xef, 0x64, 0xa1, 0x10, 0x5f, 0xab, 0xe4, 0x03, 0x98, 0x90, - 0xe7, 0xe9, 0x8a, 0x2d, 0x92, 0x20, 0x4c, 0x88, 0x24, 0x04, 0xf2, 0x50, 0xdd, 0xb7, 0x55, 0x8b, - 0x24, 0x53, 0x23, 0x60, 0xc2, 0xcd, 0xa6, 0x08, 0x10, 0xa7, 0xac, 0x92, 0xc0, 0x0d, 0x3a, 0xb1, - 0xb0, 0xba, 0x12, 0x8d, 0xbc, 0x05, 0xb9, 0xb5, 0x3b, 0x25, 0xe1, 0xef, 0x55, 0x88, 0x9f, 0xba, - 0xdc, 0x70, 0x52, 0x37, 0xe3, 0x64, 0xf8, 0x64, 0x55, 0x89, 0x40, 0x3d, 0xa2, 0x59, 0x9f, 0x49, - 0x70, 0xd8, 0xb8, 0xd3, 0x43, 0x51, 0xdf, 0x1b, 0xca, 0xe7, 0x0a, 0x43, 0x22, 0xa6, 0xea, 0x7f, - 0x9f, 0x83, 0xb1, 0xb0, 0x7e, 0x42, 0x54, 0x2f, 0x5a, 0xee, 0x31, 0x4b, 0x2e, 0x42, 0x5e, 0x8a, - 0x6b, 0xc2, 0xed, 0x6b, 0xd4, 0x17, 0xa2, 0xda, 0x3c, 0x48, 0xb9, 0x8c, 0x2f, 0x73, 0x53, 0xfe, - 0x24, 0x37, 0x21, 0x14, 0xba, 0x7a, 0x49, 0x67, 0x43, 0x6c, 0xc0, 0xcc, 0x10, 0x8d, 0x4c, 0x41, - 0xd6, 0xe1, 0x71, 0xba, 0xc6, 0xcc, 0xac, 0xd3, 0x20, 0x1f, 0x40, 0xde, 0x6e, 0x34, 0x68, 0xc3, - 0xb2, 0xa5, 0xa9, 0x4e, 0xbf, 0x49, 0x93, 0x67, 0xdc, 0xf8, 0x21, 0x80, 0x54, 0xa5, 0x80, 0x94, - 0x60, 0xac, 0x69, 0x73, 0xe3, 0xbf, 0xc6, 0x00, 0x27, 0x4a, 0xc4, 0x21, 0xcf, 0xc8, 0xb6, 0x7c, - 0xda, 0x20, 0xaf, 0xc1, 0x10, 0x1b, 0x4d, 0x71, 0x84, 0x48, 0x29, 0x91, 0x0d, 0x26, 0xef, 0xb0, - 0x95, 0xe7, 0x4c, 0x44, 0x20, 0xaf, 0x40, 0xae, 0xbb, 0xb8, 0x2b, 0x0e, 0x87, 0x42, 0x14, 0x0d, - 0x3e, 0x44, 0x63, 0xc5, 0xe4, 0x16, 0xe4, 0x0f, 0xf5, 0x40, 0xe2, 0xe7, 0x62, 0xc3, 0x18, 0xe2, - 0x87, 0x88, 0xe4, 0x35, 0xc8, 0xf9, 0xbe, 0x2b, 0xec, 0x5b, 0x66, 0x43, 0xa3, 0xc3, 0x07, 0xe1, - 0xa8, 0x31, 0xee, 0xbe, 0xef, 0x2e, 0xe5, 0x61, 0x84, 0x9f, 0x18, 0xc6, 0x25, 0x80, 0xe8, 0x1b, - 0x93, 0x6e, 0x7c, 0xc6, 0x57, 0x61, 0x2c, 0xfc, 0x36, 0xf2, 0x22, 0xc0, 0x01, 0x3d, 0xb2, 0xf6, - 0xed, 0x76, 0xa3, 0xc9, 0xc5, 0xcd, 0x09, 0x73, 0xec, 0x80, 0x1e, 0xad, 0x20, 0x80, 0x5c, 0x80, - 0xd1, 0x0e, 0x1b, 0x7e, 0x31, 0xc7, 0x27, 0xcc, 0x91, 0x4e, 0x77, 0x87, 0x4d, 0xe5, 0x79, 0x18, - 0x45, 0xc5, 0xa9, 0x58, 0x91, 0x93, 0xa6, 0xfc, 0x69, 0xfc, 0x59, 0x0e, 0xb3, 0xed, 0x28, 0x0d, - 0x22, 0x2f, 0xc3, 0x64, 0xdd, 0xa3, 0x78, 0x38, 0xd9, 0x4c, 0xe4, 0x12, 0xf5, 0x4c, 0x44, 0xc0, - 0x6a, 0x83, 0x5c, 0x81, 0xe9, 0x4e, 0x77, 0xa7, 0xe9, 0xd4, 0x59, 0x6d, 0x56, 0x7d, 0x47, 0xa4, - 0x07, 0x98, 0x30, 0x27, 0x39, 0xf8, 0x3e, 0x3d, 0x2a, 0xef, 0x60, 0x20, 0xba, 0x82, 0x1a, 0x47, - 0x38, 0x08, 0xf3, 0xa0, 0x9b, 0xd3, 0x0a, 0x1c, 0x4d, 0xf5, 0xce, 0xc3, 0x88, 0x6d, 0xef, 0x75, - 0x1d, 0x1e, 0x30, 0x6a, 0xc2, 0x14, 0xbf, 0xc8, 0xa7, 0x60, 0x26, 0x0a, 0x6d, 0x2d, 0x9b, 0x31, - 0x8c, 0xcd, 0x28, 0x84, 0x05, 0x65, 0x0e, 0x27, 0x6f, 0x02, 0x51, 0xeb, 0x73, 0x77, 0x3e, 0xa2, - 0x75, 0x3e, 0x27, 0x27, 0xcc, 0x19, 0xa5, 0xe4, 0x01, 0x16, 0x90, 0x97, 0x60, 0xc2, 0xa3, 0x3e, - 0x8a, 0x7b, 0xd8, 0x6d, 0x98, 0x8c, 0xce, 0x1c, 0x97, 0x30, 0xd6, 0x77, 0x57, 0xa1, 0xa0, 0x74, - 0x07, 0x86, 0x6a, 0xe6, 0xb1, 0xf1, 0xcd, 0xa9, 0x08, 0x6e, 0x76, 0xaa, 0x0d, 0xf2, 0x25, 0x58, - 0x50, 0x30, 0x79, 0x5e, 0x3c, 0x8b, 0x36, 0x9d, 0x3d, 0x67, 0xa7, 0x49, 0xc5, 0x7c, 0x4b, 0xce, - 0xea, 0xf0, 0x4e, 0x68, 0xce, 0x47, 0xd4, 0x3c, 0x63, 0xde, 0xb2, 0xa0, 0x25, 0xab, 0x30, 0x17, - 0xe3, 0x4c, 0x1b, 0x56, 0xb7, 0xd3, 0x33, 0x42, 0x5b, 0xc4, 0x93, 0xe8, 0x3c, 0x69, 0x63, 0xab, - 0x63, 0x7c, 0x0b, 0x26, 0xd4, 0x39, 0xc9, 0x3a, 0x41, 0x15, 0x34, 0xc4, 0xec, 0x1b, 0x0f, 0x61, - 0x55, 0x76, 0xd1, 0x9b, 0x8a, 0x50, 0x82, 0x30, 0xe5, 0xbb, 0x39, 0x19, 0x42, 0x71, 0x08, 0x5f, - 0x82, 0x89, 0x86, 0xe3, 0x77, 0x9a, 0xf6, 0x91, 0x15, 0x25, 0x7c, 0x36, 0xc7, 0x05, 0x0c, 0x35, - 0x39, 0x4b, 0x30, 0x93, 0xd8, 0x07, 0xc9, 0x9b, 0xfc, 0x86, 0x2a, 0x84, 0x9f, 0x09, 0x7e, 0xcb, - 0x47, 0x43, 0x60, 0x4d, 0xee, 0x11, 0x48, 0x46, 0x1b, 0x26, 0xd4, 0x73, 0xed, 0x94, 0x3c, 0x16, - 0xe7, 0x31, 0x2a, 0x0b, 0xdf, 0xf4, 0x47, 0x4e, 0x8e, 0x8b, 0x59, 0xa7, 0x81, 0xb1, 0x58, 0xae, - 0x42, 0x5e, 0x8a, 0x60, 0x42, 0xf2, 0xc1, 0xd7, 0x01, 0x99, 0xe4, 0xd7, 0x0c, 0x4b, 0x8d, 0xd7, - 0x60, 0x54, 0x1c, 0x5d, 0xfd, 0xdf, 0x04, 0x8c, 0x1f, 0xce, 0xc2, 0xb4, 0x49, 0xd9, 0xc6, 0x4a, - 0x79, 0xf2, 0x9a, 0x67, 0xf6, 0xce, 0x9d, 0x1e, 0xdb, 0x53, 0x6b, 0x5b, 0x9f, 0xb4, 0x31, 0xff, - 0x30, 0x03, 0xb3, 0x29, 0xb8, 0x1f, 0x2b, 0x6d, 0xea, 0x6d, 0x18, 0xab, 0x38, 0x76, 0xb3, 0xd4, - 0x68, 0x84, 0x21, 0x5a, 0x50, 0x70, 0xc7, 0xdc, 0x4a, 0x36, 0x83, 0xaa, 0x42, 0x4c, 0x88, 0x4a, - 0x5e, 0x17, 0x93, 0x22, 0x4a, 0x3a, 0x8e, 0x93, 0xe2, 0xbb, 0xc7, 0x45, 0xe0, 0xdf, 0xb4, 0x19, - 0x4e, 0x11, 0x8c, 0xb7, 0xcb, 0x81, 0x91, 0x9b, 0xcd, 0x33, 0x3b, 0x74, 0xe9, 0xf1, 0x76, 0xe3, - 0xcd, 0x1b, 0x28, 0x73, 0xcc, 0x4f, 0x64, 0xe1, 0x7c, 0x3a, 0xe1, 0xc7, 0xcd, 0x80, 0x8b, 0x39, - 0x7b, 0x94, 0x18, 0xe1, 0x98, 0x01, 0x97, 0x27, 0xf8, 0x41, 0xfc, 0x08, 0x81, 0xec, 0xc2, 0xe4, - 0xaa, 0xed, 0x07, 0x2b, 0xd4, 0xf6, 0x82, 0x1d, 0x6a, 0x07, 0x03, 0x48, 0xf2, 0xaf, 0x48, 0x93, - 0x04, 0x14, 0x26, 0xf6, 0x25, 0x65, 0x4c, 0xd6, 0xd6, 0xd9, 0x86, 0x13, 0x65, 0x68, 0x80, 0x89, - 0xf2, 0x0d, 0x98, 0xae, 0xd1, 0x96, 0xdd, 0xd9, 0x77, 0x3d, 0xe9, 0x3e, 0x7f, 0x1d, 0x26, 0x43, - 0x50, 0xea, 0x6c, 0xd1, 0x8b, 0x35, 0x7c, 0xa5, 0x23, 0xa2, 0xad, 0x44, 0x2f, 0x36, 0xfe, 0x6e, - 0x16, 0x2e, 0x94, 0xea, 0xc2, 0x52, 0x50, 0x14, 0x48, 0x83, 0xe6, 0x4f, 0xb8, 0x6e, 0x72, 0x03, - 0xc6, 0xd6, 0xec, 0xc7, 0xab, 0xd4, 0xf6, 0xa9, 0x2f, 0xf2, 0x0f, 0x72, 0xb1, 0xd7, 0x7e, 0x1c, - 0xbd, 0xe6, 0x98, 0x11, 0x8e, 0xaa, 0x17, 0x18, 0x7a, 0x42, 0xbd, 0x80, 0x01, 0x23, 0x2b, 0x6e, - 0xb3, 0x21, 0xce, 0x7a, 0xf1, 0x84, 0xbc, 0x8f, 0x10, 0x53, 0x94, 0xb0, 0xeb, 0xf4, 0x54, 0xf8, - 0xc5, 0xf8, 0x09, 0x9f, 0x78, 0x97, 0x5c, 0x81, 0x51, 0xac, 0x28, 0x4c, 0x94, 0x8e, 0x87, 0x46, - 0x93, 0x62, 0x16, 0xb9, 0x86, 0x29, 0x0b, 0xd5, 0x9e, 0x18, 0x7e, 0xb2, 0x9e, 0x30, 0xfe, 0x01, - 0xbe, 0x4e, 0xab, 0xad, 0x64, 0x27, 0x91, 0xf2, 0x21, 0x99, 0x01, 0x3f, 0x24, 0xfb, 0xd4, 0x86, - 0x24, 0xd7, 0x73, 0x48, 0x7e, 0x24, 0x0b, 0xe3, 0xe1, 0xc7, 0x7e, 0x8f, 0x05, 0xaa, 0x0f, 0xdb, - 0x35, 0x50, 0xc8, 0x9b, 0x9a, 0xb2, 0x57, 0x88, 0xc8, 0x32, 0x5f, 0x80, 0x11, 0xb1, 0x98, 0x32, - 0x31, 0xc3, 0xde, 0xd8, 0xe8, 0x2e, 0x4d, 0x09, 0xd6, 0x23, 0x38, 0xa0, 0xbe, 0x29, 0xe8, 0x30, - 0xa6, 0xd0, 0x36, 0xdd, 0x11, 0xc6, 0x0a, 0xcf, 0xec, 0x19, 0x95, 0x1e, 0x53, 0x28, 0x6a, 0xd8, - 0x40, 0xa7, 0xd3, 0x3f, 0xc9, 0x43, 0x21, 0x4e, 0x72, 0x7a, 0x2a, 0x80, 0x8d, 0xee, 0x0e, 0xbf, - 0xaa, 0xf0, 0x54, 0x00, 0x9d, 0xee, 0x8e, 0xc9, 0x60, 0x68, 0xcb, 0xe4, 0x39, 0x8f, 0xb0, 0xd5, - 0x13, 0xc2, 0x96, 0xc9, 0x73, 0x1e, 0x69, 0xb6, 0x4c, 0x9e, 0xf3, 0x08, 0x15, 0x09, 0xab, 0x35, - 0xf4, 0xb7, 0xc7, 0x7b, 0x8a, 0x50, 0x24, 0x34, 0xfd, 0x78, 0x5a, 0x2f, 0x89, 0xc6, 0x8e, 0xca, - 0x25, 0x6a, 0x7b, 0x22, 0x6c, 0xbd, 0xd8, 0xce, 0xf0, 0xa8, 0xdc, 0x41, 0x30, 0xcf, 0xc2, 0x6f, - 0xaa, 0x48, 0xa4, 0x09, 0x44, 0xf9, 0x29, 0x17, 0xf0, 0xe9, 0x77, 0x6b, 0x69, 0x94, 0x37, 0xa7, - 0xb2, 0xb6, 0xd4, 0xd5, 0x9c, 0xc2, 0xf7, 0x69, 0xaa, 0x73, 0x37, 0x44, 0x2c, 0x4e, 0x54, 0x20, - 0xe5, 0x4f, 0x65, 0x26, 0xe3, 0x84, 0x00, 0x8f, 0xd5, 0x19, 0xaa, 0x91, 0x22, 0x26, 0xe4, 0x7d, - 0x18, 0x57, 0xa3, 0x28, 0x70, 0x5f, 0xff, 0x17, 0x78, 0x78, 0xc5, 0x1e, 0x89, 0x60, 0x55, 0x02, - 0xb2, 0x03, 0x17, 0xca, 0x6e, 0xdb, 0xef, 0xb6, 0x64, 0x20, 0xc7, 0x28, 0x7c, 0x34, 0xe0, 0x50, - 0xa0, 0x4b, 0x76, 0x5d, 0xa0, 0x08, 0xa7, 0x7d, 0xe9, 0x35, 0xa1, 0x5f, 0x40, 0x7a, 0x31, 0x22, - 0x9b, 0x30, 0x8e, 0x2a, 0x51, 0x61, 0x96, 0x39, 0xae, 0x6f, 0x1b, 0x51, 0x49, 0x85, 0x2d, 0x0c, - 0x1e, 0x44, 0xcc, 0x6e, 0x35, 0xa5, 0xd1, 0xbe, 0xaa, 0xda, 0x55, 0x90, 0xc9, 0x57, 0x61, 0x8a, - 0x5f, 0xd1, 0xb6, 0xe9, 0x0e, 0x9f, 0x3b, 0x13, 0x9a, 0x26, 0x42, 0x2f, 0xe4, 0xaf, 0xf3, 0x42, - 0x11, 0x7d, 0x48, 0x77, 0xf8, 0xd8, 0x6b, 0x2e, 0x33, 0x1a, 0x3e, 0xd9, 0x82, 0xd9, 0x15, 0xdb, - 0xe7, 0x40, 0xc5, 0x1d, 0x7e, 0x12, 0x35, 0xb4, 0x68, 0xca, 0xbc, 0x6f, 0xfb, 0x52, 0xb3, 0x9d, - 0xea, 0xfe, 0x9e, 0x46, 0x4f, 0x7e, 0x38, 0x03, 0xf3, 0x9a, 0xe2, 0x5b, 0x18, 0x8e, 0xb5, 0x68, - 0x3b, 0x40, 0xdf, 0x98, 0xa9, 0x30, 0xff, 0x7f, 0x2f, 0x34, 0x3e, 0x24, 0x31, 0xdd, 0xba, 0x17, - 0x95, 0xab, 0x36, 0xc2, 0xbd, 0x78, 0x88, 0x85, 0x8a, 0x6b, 0x7a, 0x5a, 0x5f, 0xa8, 0xb1, 0x75, - 0x2d, 0xd1, 0x8c, 0xdb, 0xf1, 0xfe, 0x16, 0x8a, 0xae, 0x4c, 0xa8, 0xe8, 0x9a, 0x83, 0x61, 0xec, - 0x55, 0x19, 0x54, 0x09, 0x7f, 0x18, 0x9f, 0x56, 0xf7, 0x21, 0x21, 0x16, 0xf6, 0xdd, 0x87, 0x8c, - 0xff, 0x71, 0x04, 0xa6, 0x63, 0xd3, 0x42, 0xdc, 0x53, 0x33, 0x89, 0x7b, 0x6a, 0x0d, 0x80, 0xab, - 0x7a, 0x07, 0xd4, 0xc9, 0x4a, 0xbf, 0xbc, 0x71, 0xe1, 0x55, 0x1b, 0xae, 0x29, 0x85, 0x0d, 0x63, - 0xca, 0x57, 0xec, 0x80, 0x3a, 0xf2, 0x90, 0x29, 0x5f, 0xf4, 0x0a, 0xd3, 0x88, 0x0d, 0x29, 0xc2, - 0x30, 0x86, 0x53, 0x55, 0xdd, 0x22, 0x1d, 0x06, 0x30, 0x39, 0x9c, 0xbc, 0x0c, 0x23, 0x4c, 0x88, - 0xaa, 0x56, 0xc4, 0x26, 0x88, 0x67, 0x0b, 0x93, 0xb2, 0x98, 0xc4, 0x22, 0x8a, 0xc8, 0x6d, 0x98, - 0xe0, 0x7f, 0x89, 0xa8, 0x2b, 0x23, 0xba, 0x35, 0xa3, 0xe5, 0x34, 0x64, 0xe0, 0x15, 0x0d, 0x8f, - 0xdd, 0x2e, 0x6a, 0x5d, 0x54, 0xeb, 0x54, 0x2b, 0x22, 0xfe, 0x36, 0xde, 0x2e, 0x7c, 0x0e, 0x64, - 0x55, 0x44, 0x08, 0x4c, 0x96, 0x11, 0xce, 0x09, 0x79, 0xbc, 0x53, 0xa2, 0x2c, 0xc3, 0x9d, 0x12, - 0x4c, 0x51, 0x42, 0xae, 0xf1, 0xa7, 0x15, 0x14, 0x0b, 0x79, 0x1a, 0x43, 0x7c, 0xb7, 0x40, 0xc5, - 0x04, 0xca, 0x86, 0x61, 0x31, 0xab, 0x9c, 0xfd, 0xbd, 0xdc, 0xb2, 0x9d, 0xa6, 0xd8, 0x56, 0xb0, - 0x72, 0xc4, 0xa5, 0x0c, 0x6a, 0x46, 0x08, 0xe4, 0x5d, 0x98, 0x62, 0x3f, 0xca, 0x6e, 0xab, 0xe5, - 0xb6, 0x91, 0xfd, 0x78, 0x14, 0x57, 0x0d, 0x49, 0xea, 0x58, 0xc4, 0x6b, 0x89, 0xe1, 0xb2, 0xf3, - 0x04, 0x9f, 0x6d, 0xbb, 0xfc, 0xd1, 0x67, 0x22, 0x3a, 0x4f, 0x90, 0xd4, 0xe7, 0x70, 0x53, 0x45, - 0x22, 0x6f, 0xc3, 0x24, 0xfb, 0x79, 0xd7, 0x79, 0x44, 0x79, 0x85, 0x93, 0x91, 0xbd, 0x02, 0x52, - 0xed, 0xb1, 0x12, 0x5e, 0x9f, 0x8e, 0x49, 0xbe, 0x08, 0xe7, 0x90, 0x53, 0xdd, 0xed, 0xd0, 0x46, - 0x69, 0x77, 0xd7, 0x69, 0x3a, 0xdc, 0xbc, 0x8c, 0xc7, 0x17, 0x41, 0x1d, 0x3c, 0xaf, 0x18, 0x31, - 0x2c, 0x3b, 0x42, 0x31, 0xd3, 0x29, 0xc9, 0x36, 0x14, 0xca, 0x5d, 0x3f, 0x70, 0x5b, 0xa5, 0x20, - 0xf0, 0x9c, 0x9d, 0x6e, 0x40, 0xfd, 0xf9, 0x69, 0x2d, 0x0a, 0x07, 0x5b, 0x1c, 0x61, 0x21, 0xd7, - 0x07, 0xd5, 0x91, 0xc2, 0xb2, 0x43, 0x12, 0x33, 0xc1, 0xc4, 0xf8, 0xa7, 0x19, 0x98, 0xd4, 0x48, - 0xc9, 0x5b, 0x30, 0x71, 0xc7, 0x73, 0x68, 0xbb, 0xd1, 0x3c, 0x52, 0x2e, 0xaa, 0x78, 0x8b, 0xd9, - 0x15, 0x70, 0xde, 0x6a, 0x0d, 0x2d, 0xd4, 0xf3, 0x64, 0x53, 0x6d, 0x3f, 0x6f, 0x70, 0xef, 0x5c, - 0x31, 0x41, 0x73, 0x51, 0x58, 0x20, 0x9c, 0xa0, 0x62, 0x76, 0x2a, 0x28, 0xe4, 0x3d, 0x18, 0xe1, - 0x0f, 0xbc, 0xc2, 0x10, 0xf1, 0x62, 0x5a, 0x33, 0xb9, 0x27, 0x38, 0x4e, 0x44, 0xb4, 0xe2, 0xf1, - 0x4d, 0x41, 0x64, 0xfc, 0x6c, 0x06, 0x48, 0x12, 0xf5, 0x14, 0xbd, 0xd7, 0xa9, 0xd6, 0x41, 0x5f, - 0x08, 0x57, 0x63, 0x4e, 0xd3, 0x99, 0xb3, 0x9a, 0x78, 0x01, 0xef, 0x78, 0xb1, 0xea, 0x54, 0x45, - 0x1c, 0x2f, 0x36, 0x7e, 0x28, 0x0b, 0x10, 0x61, 0x93, 0xcf, 0xf1, 0xac, 0x55, 0x5f, 0xec, 0xda, - 0x4d, 0x67, 0xd7, 0xd1, 0xc3, 0xb8, 0x22, 0x93, 0x6f, 0xc8, 0x12, 0x53, 0x47, 0x24, 0x1f, 0xc0, - 0x74, 0x6d, 0x43, 0xa7, 0x55, 0x2c, 0xd3, 0xfd, 0x8e, 0x15, 0x23, 0x8f, 0x63, 0xa3, 0xc1, 0xb1, - 0x3a, 0x1a, 0xdc, 0xe0, 0x98, 0x0f, 0x84, 0x28, 0x61, 0x1b, 0x4b, 0x6d, 0x43, 0x18, 0xdf, 0x37, - 0xaa, 0x15, 0xb1, 0x4b, 0xe1, 0xd7, 0xf9, 0x1d, 0xab, 0x23, 0xac, 0xf2, 0xd9, 0x3e, 0xa1, 0xe1, - 0x45, 0x1d, 0x39, 0xdc, 0xc3, 0xdb, 0xfb, 0xe7, 0x50, 0xed, 0xd7, 0x72, 0x03, 0x2a, 0xb4, 0x1d, - 0xcf, 0xec, 0xbd, 0x27, 0xb2, 0x0e, 0x18, 0xd6, 0x9c, 0x58, 0xb5, 0xd6, 0x09, 0x0b, 0x98, 0x5b, - 0xd1, 0x25, 0x85, 0xdb, 0x09, 0xa4, 0x18, 0xcd, 0xfc, 0xfd, 0x0c, 0x9c, 0x4b, 0xa5, 0x25, 0xd7, - 0x01, 0x22, 0x9d, 0x92, 0xe8, 0x25, 0xdc, 0x31, 0xa3, 0x60, 0x38, 0xa6, 0x82, 0x41, 0xbe, 0x12, - 0xd7, 0x06, 0x9d, 0x7e, 0x10, 0x2e, 0xc8, 0x18, 0x74, 0xba, 0x36, 0x28, 0x45, 0x07, 0x64, 0xfc, - 0xc3, 0x1c, 0xcc, 0x28, 0xb1, 0x76, 0xf8, 0xb7, 0x9e, 0x62, 0x00, 0x7e, 0x00, 0x13, 0xac, 0x35, - 0x4e, 0x5d, 0x78, 0xd2, 0x71, 0x4b, 0x96, 0xd7, 0x13, 0x6e, 0x88, 0x82, 0xdb, 0x75, 0x15, 0x99, - 0x47, 0x86, 0xc4, 0xad, 0x13, 0x1f, 0x24, 0xea, 0x49, 0x8f, 0x3a, 0x8d, 0x39, 0xf1, 0x61, 0xb2, - 0x72, 0xd4, 0xb6, 0x5b, 0x61, 0x6d, 0xdc, 0xa2, 0xe5, 0x53, 0x3d, 0x6b, 0xd3, 0xb0, 0x79, 0x75, - 0x91, 0xc3, 0x0e, 0x2f, 0x4b, 0xf1, 0x15, 0xd7, 0xa8, 0x16, 0x3e, 0x80, 0x99, 0xc4, 0x47, 0x9f, - 0x29, 0x48, 0xe5, 0x36, 0x90, 0xe4, 0x77, 0xa4, 0x70, 0xf8, 0x94, 0x1e, 0x02, 0xf5, 0x5c, 0xf8, - 0x78, 0x8d, 0x79, 0xfd, 0xb9, 0x7d, 0xcc, 0xa2, 0x1a, 0xc2, 0xf2, 0xe7, 0xb2, 0xaa, 0x2b, 0xe8, - 0xb3, 0xbe, 0xea, 0xbe, 0xa0, 0xdd, 0x86, 0x2f, 0xf5, 0x1a, 0xd3, 0x81, 0xb4, 0x0e, 0xdf, 0xc9, - 0xc1, 0x85, 0x1e, 0x94, 0xe4, 0x28, 0x3e, 0x89, 0xb8, 0x16, 0xe2, 0x66, 0xff, 0x0a, 0x9f, 0xc6, - 0x54, 0x22, 0x9f, 0xe3, 0xc1, 0x20, 0xea, 0x98, 0x3b, 0x5e, 0xdc, 0xbf, 0x51, 0x8d, 0x7f, 0x10, - 0x42, 0xe3, 0x51, 0x20, 0x38, 0x94, 0x7c, 0x00, 0xc3, 0xe8, 0x07, 0x1c, 0x8b, 0xf6, 0xc7, 0x30, - 0x10, 0xae, 0xc4, 0xab, 0x64, 0x3f, 0xb5, 0x78, 0x95, 0x0c, 0x40, 0x3e, 0x0b, 0xb9, 0xd2, 0x76, - 0x4d, 0x8c, 0xcb, 0x94, 0x4a, 0xbe, 0x5d, 0x8b, 0x72, 0x6d, 0xd8, 0x5a, 0x52, 0x0c, 0x46, 0xc1, - 0x08, 0xef, 0x96, 0x37, 0xc4, 0xa8, 0xa8, 0x84, 0x77, 0xcb, 0x1b, 0x11, 0xe1, 0x5e, 0x5d, 0x8b, - 0x9d, 0x74, 0xb7, 0xbc, 0xf1, 0xc9, 0x4d, 0xfb, 0x7f, 0x2b, 0xcb, 0x23, 0x58, 0xf0, 0x86, 0x7d, - 0x00, 0x13, 0x5a, 0x88, 0xea, 0x4c, 0x24, 0x8f, 0x85, 0xe1, 0xc4, 0x63, 0x26, 0x40, 0x1a, 0x81, - 0xcc, 0x5a, 0xc3, 0x7e, 0xa3, 0xc4, 0xab, 0x1a, 0xdb, 0x84, 0x1c, 0x50, 0x26, 0x8e, 0x67, 0xad, - 0x09, 0x49, 0xc8, 0x2d, 0xc8, 0x6f, 0xd2, 0xb6, 0xdd, 0x0e, 0x42, 0x85, 0x28, 0x5a, 0x0b, 0x07, - 0x08, 0xd3, 0xa5, 0x86, 0x10, 0x11, 0x2d, 0x5b, 0xbb, 0x3b, 0x7e, 0xdd, 0x73, 0x30, 0xd2, 0x4d, - 0x78, 0x16, 0x73, 0xcb, 0x56, 0xa5, 0x44, 0x67, 0x10, 0x23, 0x32, 0x7e, 0x2e, 0x03, 0xa3, 0x62, - 0x20, 0x79, 0xb6, 0xb1, 0xbd, 0xe8, 0x2c, 0x11, 0xde, 0x00, 0x7b, 0x4e, 0xdc, 0x1b, 0x60, 0x8f, - 0x87, 0x93, 0x19, 0x13, 0xbe, 0x6d, 0xe1, 0xd3, 0x20, 0xce, 0x46, 0xe9, 0x05, 0xa8, 0x27, 0x93, - 0x0a, 0x51, 0x07, 0xf5, 0xb0, 0x32, 0xfe, 0x9e, 0xf8, 0xb2, 0xbb, 0xe5, 0x0d, 0xb2, 0x08, 0xf9, - 0x55, 0x97, 0x47, 0x46, 0x52, 0x53, 0xc7, 0x36, 0x05, 0x4c, 0xed, 0x20, 0x89, 0xc7, 0xbe, 0x6f, - 0xc3, 0x73, 0xc5, 0x5d, 0x46, 0xf9, 0xbe, 0x0e, 0x07, 0xc6, 0xbe, 0x2f, 0x44, 0x1d, 0xf8, 0xfb, - 0x68, 0xca, 0x26, 0xf1, 0xf0, 0x16, 0xa6, 0xf3, 0xb8, 0xa7, 0x7a, 0xae, 0x89, 0x22, 0xb9, 0x53, - 0x2c, 0xf4, 0xda, 0x29, 0x1e, 0xde, 0x32, 0x53, 0xa8, 0xf0, 0x5d, 0x2d, 0x02, 0xd7, 0xa8, 0xf7, - 0xe8, 0x19, 0xde, 0xa5, 0xd3, 0xdf, 0xd5, 0xe2, 0xcd, 0x1b, 0x68, 0x93, 0xfe, 0x83, 0x2c, 0x9c, - 0x4f, 0x27, 0x54, 0xdb, 0x92, 0xe9, 0xd3, 0x96, 0xab, 0x90, 0x5f, 0x71, 0xfd, 0x40, 0xb1, 0xfa, - 0x43, 0xf5, 0xff, 0xbe, 0x80, 0x99, 0x61, 0x29, 0xbb, 0x73, 0xb3, 0xbf, 0xc3, 0xe5, 0x89, 0xfc, - 0x30, 0x6e, 0x03, 0xbb, 0x73, 0xf3, 0x22, 0x72, 0x17, 0xf2, 0xa6, 0xf0, 0x9c, 0x8a, 0x75, 0x8d, - 0x04, 0x87, 0xd2, 0x14, 0xf1, 0x04, 0x44, 0x8b, 0x14, 0x2e, 0x60, 0xa4, 0x04, 0xa3, 0x62, 0xf4, - 0x63, 0x4f, 0xc7, 0x29, 0x53, 0x46, 0x0f, 0xde, 0x2f, 0xe9, 0xd8, 0x8e, 0x82, 0x8f, 0x80, 0xd5, - 0x8a, 0x74, 0x82, 0xc2, 0x1d, 0x85, 0x3f, 0x12, 0xea, 0x06, 0x96, 0x21, 0xa2, 0xf1, 0xc3, 0x59, - 0x00, 0xa9, 0xb5, 0x79, 0x66, 0x67, 0xd8, 0x67, 0xb5, 0x19, 0xa6, 0xd8, 0x1b, 0x0d, 0x9e, 0x1d, - 0xf7, 0x01, 0x9a, 0xf3, 0x0c, 0x9e, 0x1b, 0xb7, 0x08, 0xc3, 0x9b, 0x91, 0x42, 0x4b, 0xf8, 0x98, - 0xa0, 0x3a, 0x9a, 0xc3, 0x8d, 0x1d, 0x98, 0xbb, 0x4b, 0x83, 0x48, 0xbd, 0x25, 0x9f, 0x1e, 0xfb, - 0xb3, 0x7d, 0x03, 0xc6, 0x04, 0x7e, 0xb8, 0x7f, 0x71, 0x5d, 0x8c, 0x08, 0x85, 0x82, 0xba, 0x18, - 0x89, 0xc0, 0x76, 0xa3, 0x0a, 0x6d, 0xd2, 0x80, 0x7e, 0xb2, 0xd5, 0xd4, 0x80, 0xf0, 0xa6, 0x60, - 0xcb, 0x06, 0xab, 0xe1, 0xd4, 0xfe, 0x79, 0x08, 0xe7, 0xc2, 0x6f, 0x7f, 0x9a, 0x7c, 0x6f, 0xb0, - 0x2b, 0xa5, 0x88, 0x7b, 0x1f, 0x71, 0xec, 0x63, 0x7b, 0xf2, 0x18, 0x16, 0x24, 0xc1, 0xb6, 0x13, - 0x1a, 0x4e, 0x0e, 0x44, 0x4b, 0xde, 0x85, 0x71, 0x85, 0x46, 0xc4, 0x6d, 0x47, 0x35, 0xf5, 0xa1, - 0x13, 0xec, 0x5b, 0x3e, 0x87, 0xab, 0x6a, 0x6a, 0x05, 0xdd, 0xf8, 0x32, 0x3c, 0x1f, 0xfa, 0x01, - 0xa5, 0x54, 0x1d, 0x63, 0x9e, 0x39, 0x1b, 0xf3, 0xf5, 0xa8, 0x59, 0xd5, 0x76, 0xe8, 0xea, 0x2c, - 0x79, 0x13, 0xb5, 0x59, 0xa2, 0x31, 0x2f, 0x24, 0x9c, 0xa7, 0x15, 0x1f, 0x69, 0xe3, 0x1d, 0xe5, - 0x63, 0x53, 0x18, 0x6a, 0xc4, 0x99, 0x38, 0xf1, 0x0f, 0x67, 0x61, 0xfa, 0x41, 0xb5, 0x52, 0x0e, - 0xad, 0x8f, 0xbe, 0xc7, 0x72, 0xf7, 0x6a, 0x6d, 0xeb, 0xbd, 0xdf, 0x18, 0x5b, 0x30, 0x1b, 0xeb, - 0x06, 0x14, 0x1d, 0xde, 0xe7, 0x1e, 0x24, 0x21, 0x58, 0x8a, 0x0d, 0xe7, 0xd3, 0xd8, 0x3f, 0xbc, - 0x65, 0xc6, 0xb0, 0x8d, 0xff, 0x02, 0x62, 0x7c, 0xc5, 0x16, 0xf6, 0x06, 0x8c, 0x55, 0x7d, 0xbf, - 0x4b, 0xbd, 0x2d, 0x73, 0x55, 0x55, 0x15, 0x38, 0x08, 0xb4, 0xba, 0x5e, 0xd3, 0x8c, 0x10, 0xc8, - 0x35, 0xc8, 0x8b, 0x98, 0xd9, 0x72, 0x4f, 0x40, 0xad, 0x6d, 0x18, 0x72, 0xdb, 0x0c, 0x8b, 0xc9, - 0x5b, 0x30, 0xc1, 0xff, 0xe6, 0xb3, 0x4d, 0x74, 0x38, 0x2a, 0x07, 0x05, 0x3a, 0x9f, 0x9d, 0xa6, - 0x86, 0x46, 0x5e, 0x87, 0x5c, 0xa9, 0x6c, 0x0a, 0x75, 0x90, 0x90, 0x1b, 0x31, 0x23, 0x7f, 0x97, - 0xea, 0x97, 0x88, 0xb2, 0xc9, 0xa4, 0x3f, 0x19, 0xef, 0x41, 0x68, 0xb2, 0x71, 0x06, 0x48, 0x6d, - 0x53, 0xec, 0x30, 0x43, 0x18, 0xb9, 0x01, 0xa3, 0x15, 0x6e, 0x32, 0x27, 0xf4, 0xd8, 0x3c, 0x31, - 0x1d, 0x07, 0x69, 0xd1, 0x12, 0x38, 0x88, 0x5c, 0x93, 0x09, 0xbb, 0xf2, 0x91, 0x23, 0x4a, 0x8f, - 0xac, 0x5c, 0x6f, 0xc0, 0x88, 0x88, 0x2c, 0x3d, 0xa6, 0xa4, 0xf2, 0x88, 0x47, 0x94, 0x16, 0x38, - 0x49, 0x8f, 0x54, 0x78, 0x9a, 0x1e, 0xa9, 0x3b, 0x70, 0xe1, 0x2e, 0x6a, 0x6f, 0xf4, 0xf8, 0x48, - 0x5b, 0x66, 0x55, 0xe8, 0xc3, 0xf1, 0x19, 0x88, 0x2b, 0x78, 0xe2, 0x21, 0x96, 0xac, 0xae, 0xa7, - 0xe6, 0x59, 0xed, 0xc5, 0x88, 0x7c, 0x09, 0xe6, 0xd2, 0x8a, 0x84, 0xd6, 0x1c, 0x23, 0x01, 0xa5, - 0x57, 0xa0, 0x46, 0x02, 0x4a, 0xe3, 0x40, 0x56, 0xa1, 0xc0, 0xe1, 0xa5, 0x46, 0xcb, 0x69, 0x73, - 0xcd, 0x3f, 0xd7, 0xaa, 0xa3, 0x67, 0x88, 0xe0, 0x6a, 0xb3, 0x42, 0xfe, 0x02, 0xa0, 0xf9, 0x12, - 0xc5, 0x28, 0xc9, 0x4f, 0x65, 0xd8, 0x6d, 0x8e, 0xc7, 0x61, 0xde, 0x32, 0x57, 0x7d, 0x11, 0x45, - 0xee, 0x7c, 0xe4, 0x26, 0x54, 0x0b, 0x3c, 0xa7, 0xbd, 0x27, 0xfc, 0x84, 0x36, 0x85, 0x9f, 0xd0, - 0xbb, 0x1f, 0xcb, 0x4f, 0x88, 0xb3, 0xf2, 0x4f, 0x8e, 0x8b, 0x13, 0x9e, 0xa8, 0x13, 0x57, 0x91, - 0xf6, 0x05, 0xac, 0xeb, 0xd0, 0x59, 0x76, 0xab, 0xcd, 0xa3, 0xc0, 0xd2, 0x06, 0x6f, 0xe4, 0x34, - 0xee, 0xe0, 0xd8, 0x75, 0x98, 0x22, 0xc2, 0xea, 0x86, 0x08, 0x89, 0x86, 0xa6, 0x72, 0x60, 0x17, - 0x4f, 0xe9, 0x8b, 0xc2, 0xdd, 0x6b, 0x0b, 0xd1, 0xc5, 0x53, 0x3a, 0xae, 0x58, 0x38, 0x8d, 0xd4, - 0xc9, 0xa3, 0x91, 0x90, 0x1b, 0x30, 0xb2, 0x66, 0x3f, 0x2e, 0xed, 0x51, 0x91, 0x88, 0x71, 0x52, - 0x6e, 0x7f, 0x08, 0x5c, 0xca, 0xff, 0x21, 0xf7, 0x75, 0x78, 0xce, 0x14, 0x68, 0xe4, 0xfb, 0x33, - 0x70, 0x9e, 0x2f, 0x63, 0xd9, 0xca, 0x1a, 0x0d, 0x02, 0xd6, 0x0f, 0x22, 0x9c, 0xdc, 0xe5, 0xc8, - 0x60, 0x3b, 0x1d, 0x0f, 0x5d, 0xe9, 0x0d, 0xb1, 0x33, 0x84, 0x1d, 0xe7, 0x8b, 0x52, 0x2d, 0x2e, - 0x6f, 0x2a, 0x3d, 0xd9, 0x84, 0xf1, 0xb5, 0x3b, 0xa5, 0xb0, 0x5a, 0x1e, 0xac, 0xbb, 0x98, 0xb6, - 0x3b, 0x2a, 0x68, 0x69, 0x9e, 0x06, 0x2a, 0x1b, 0xe1, 0x1d, 0xf0, 0x59, 0xd9, 0x1f, 0xe4, 0x4d, - 0xd5, 0xb7, 0x34, 0x87, 0xd2, 0xf3, 0x68, 0xcb, 0x7e, 0x6c, 0xd9, 0x7b, 0x54, 0x7b, 0x25, 0x17, - 0xda, 0xeb, 0x9f, 0xc9, 0xc0, 0xc5, 0x9e, 0x4d, 0x26, 0xb7, 0xe1, 0x82, 0xcd, 0x3d, 0xa6, 0xad, - 0xfd, 0x20, 0xe8, 0xf8, 0x96, 0xbc, 0x62, 0x08, 0x6f, 0x54, 0xf3, 0x9c, 0x28, 0x5e, 0x61, 0xa5, - 0xf2, 0xd6, 0xe1, 0x93, 0x0f, 0xe0, 0x05, 0xa7, 0xed, 0xd3, 0x7a, 0xd7, 0xa3, 0x96, 0x64, 0x50, - 0x77, 0x1a, 0x9e, 0xe5, 0xd9, 0xed, 0x3d, 0xe9, 0x5a, 0x6b, 0x5e, 0x94, 0x38, 0xc2, 0x2b, 0xbb, - 0xec, 0x34, 0x3c, 0x13, 0x11, 0x8c, 0x7f, 0x9a, 0x81, 0xf9, 0x5e, 0x5d, 0x42, 0xe6, 0x61, 0x94, - 0x2a, 0x69, 0x3b, 0xf2, 0xa6, 0xfc, 0x49, 0x9e, 0x87, 0x68, 0xa7, 0x17, 0xa7, 0x7f, 0xbe, 0x2e, - 0x52, 0x28, 0xa0, 0x69, 0xbb, 0xba, 0xaf, 0x0b, 0x03, 0xe5, 0x89, 0xba, 0xba, 0xbb, 0xbf, 0x08, - 0x10, 0x6d, 0xe7, 0x5c, 0x31, 0x61, 0x8e, 0xd9, 0x75, 0x8f, 0xaf, 0x3c, 0x72, 0x1e, 0x46, 0xf8, - 0x76, 0x29, 0xfc, 0x1f, 0xc4, 0x2f, 0x76, 0x6e, 0x8b, 0x4e, 0xc6, 0x7d, 0x3e, 0xb7, 0x34, 0xa1, - 0x75, 0xf6, 0x48, 0x0b, 0x07, 0xc7, 0xf8, 0xe9, 0x49, 0x2e, 0x42, 0x94, 0xba, 0xc1, 0xbe, 0x14, - 0x3a, 0x16, 0xd3, 0x1c, 0xc0, 0xb8, 0x2d, 0xa5, 0x62, 0x97, 0xad, 0xbb, 0x7d, 0xc9, 0xb7, 0x9f, - 0x6c, 0xea, 0xdb, 0xcf, 0x1b, 0x30, 0x56, 0xde, 0xa7, 0xf5, 0x83, 0xd0, 0x09, 0x27, 0x2f, 0x94, - 0xeb, 0x0c, 0xc8, 0x23, 0x64, 0x47, 0x08, 0xe4, 0x06, 0x00, 0xfa, 0x9d, 0x72, 0x89, 0x54, 0xc9, - 0x72, 0x81, 0x6e, 0xaa, 0xc2, 0x3c, 0x45, 0x41, 0x41, 0xf6, 0x35, 0xf3, 0x8e, 0x6a, 0xcf, 0xc2, - 0xd9, 0xfb, 0xde, 0xae, 0x40, 0x8f, 0x10, 0x58, 0xf3, 0x94, 0x7d, 0x45, 0x9c, 0x82, 0x85, 0xc4, - 0xe6, 0xa3, 0x22, 0x91, 0xeb, 0x30, 0xb6, 0x21, 0x1d, 0x09, 0xf0, 0x10, 0x9c, 0x40, 0x0a, 0x88, - 0x9c, 0x0e, 0xe6, 0x33, 0x66, 0x84, 0x42, 0x3e, 0x0b, 0xa3, 0x65, 0xea, 0x05, 0x9b, 0x9b, 0xab, - 0x68, 0x74, 0xc2, 0x93, 0x41, 0xe4, 0x31, 0x70, 0x7f, 0x10, 0x34, 0xbf, 0x7b, 0x5c, 0x9c, 0x0c, - 0x9c, 0x16, 0x0d, 0x83, 0x5c, 0x9b, 0x12, 0x9b, 0x2c, 0x41, 0x81, 0x3f, 0x8b, 0x47, 0x77, 0x0f, - 0x3c, 0x19, 0xf3, 0xfc, 0x9c, 0x16, 0x6f, 0xe8, 0x87, 0x74, 0x27, 0x4c, 0x5b, 0x90, 0xc0, 0x27, - 0xcb, 0x32, 0xdb, 0x87, 0xda, 0x4c, 0x88, 0x94, 0x61, 0xf1, 0x1d, 0x83, 0xb5, 0x36, 0x49, 0x41, - 0x4a, 0x30, 0x59, 0x76, 0x5b, 0x1d, 0x3b, 0x70, 0x30, 0x2d, 0xe2, 0x91, 0x38, 0x04, 0x51, 0xa1, - 0x57, 0x57, 0x0b, 0xb4, 0x13, 0x55, 0x2d, 0x20, 0x77, 0x60, 0xca, 0x74, 0xbb, 0x6c, 0x98, 0xe4, - 0x2d, 0x9c, 0x9f, 0x73, 0x68, 0x1a, 0xe2, 0xb1, 0x12, 0x76, 0x2c, 0x8b, 0x2b, 0xb7, 0x16, 0x10, - 0x54, 0xa3, 0x22, 0xeb, 0x29, 0xcf, 0x21, 0xea, 0xe1, 0xa6, 0x26, 0x2f, 0x48, 0x30, 0x4b, 0x79, - 0x49, 0xb9, 0x05, 0xe3, 0xb5, 0xda, 0x83, 0x4d, 0xea, 0x07, 0x77, 0x9a, 0xee, 0x21, 0x9e, 0x6d, - 0x79, 0x91, 0x6b, 0xcb, 0x77, 0xad, 0x80, 0xfa, 0x81, 0xb5, 0xdb, 0x74, 0x0f, 0x4d, 0x15, 0x8b, - 0x7c, 0x8d, 0xf5, 0x87, 0x22, 0x09, 0x8a, 0xd0, 0xa7, 0xfd, 0x84, 0x55, 0x3c, 0x41, 0xa2, 0x45, - 0xc3, 0x44, 0x56, 0xbd, 0xb3, 0x14, 0x74, 0xf4, 0x29, 0xf3, 0xdc, 0xc7, 0x47, 0xa5, 0x46, 0xc3, - 0xa3, 0xbe, 0x2f, 0x0e, 0x21, 0xee, 0x53, 0x86, 0xca, 0x06, 0x9b, 0x17, 0x68, 0x3e, 0x65, 0x0a, - 0x01, 0xf9, 0xd1, 0x0c, 0x9c, 0x53, 0xbd, 0x4d, 0x70, 0xb9, 0xa0, 0x99, 0x0b, 0x3f, 0x92, 0xde, - 0xbc, 0x2e, 0x0f, 0xe1, 0xeb, 0x0a, 0xda, 0xf5, 0x47, 0x37, 0xaf, 0x97, 0xa2, 0x9f, 0x35, 0x49, - 0x84, 0x61, 0xdc, 0x8a, 0xa9, 0xfc, 0xb4, 0x54, 0x35, 0x73, 0x76, 0x0a, 0x31, 0x29, 0x33, 0x49, - 0x8d, 0xcd, 0x28, 0x34, 0x9c, 0xaa, 0x6e, 0xe0, 0x99, 0x26, 0x34, 0xaa, 0x62, 0xfe, 0x71, 0x13, - 0x2b, 0xa7, 0xa3, 0x0b, 0x64, 0x0a, 0x0d, 0xa9, 0xc2, 0x34, 0x07, 0xb0, 0x6d, 0x81, 0x67, 0xfd, - 0x99, 0x8d, 0xf2, 0x0e, 0x08, 0x36, 0xf8, 0xd6, 0x8f, 0x99, 0x7f, 0xd4, 0x58, 0x9d, 0x31, 0x3a, - 0xf2, 0x01, 0x4c, 0x61, 0x48, 0xf5, 0x68, 0xbd, 0xce, 0xe1, 0x2a, 0xc6, 0x90, 0xa3, 0xa2, 0x24, - 0xe6, 0x79, 0x37, 0xe1, 0xfb, 0xfb, 0xd1, 0x8a, 0xfe, 0x00, 0xa6, 0xd0, 0x56, 0x27, 0x62, 0x70, - 0x2e, 0x62, 0x20, 0x4a, 0xe2, 0x0c, 0x82, 0xa6, 0x1f, 0x31, 0xf8, 0xdb, 0x19, 0xb8, 0xc8, 0x2a, - 0x4a, 0x1f, 0xa1, 0xf3, 0x1f, 0x67, 0x84, 0x30, 0x08, 0x63, 0x4f, 0x9e, 0xaa, 0x38, 0xea, 0xfb, - 0xfb, 0x69, 0x1c, 0xf0, 0xa3, 0xd8, 0xc7, 0xa7, 0x7f, 0xd4, 0x85, 0x8f, 0xfd, 0x51, 0x3d, 0x79, - 0xaa, 0x1f, 0x15, 0x34, 0xfd, 0x34, 0x0e, 0x78, 0xad, 0xad, 0x95, 0xd6, 0x56, 0xa3, 0xbb, 0xd9, - 0xf7, 0x96, 0xdb, 0x8a, 0xd6, 0xb6, 0x3e, 0x6e, 0x2b, 0x5b, 0xdc, 0x2d, 0x5a, 0xe9, 0x06, 0x79, - 0xad, 0xd5, 0xc0, 0xf1, 0x6b, 0x6d, 0x8c, 0xc6, 0x8c, 0x61, 0x1b, 0xbf, 0x04, 0x31, 0xbe, 0xc2, - 0x54, 0xd5, 0x80, 0x11, 0x7e, 0x6b, 0x15, 0x9d, 0x8c, 0x36, 0x0b, 0xfc, 0x4e, 0x6b, 0x8a, 0x12, - 0x72, 0x11, 0x72, 0xb5, 0xda, 0x03, 0xd1, 0xc9, 0x68, 0xb0, 0xea, 0xfb, 0xae, 0xc9, 0x60, 0x6c, - 0x84, 0xd0, 0x0a, 0x55, 0x09, 0x51, 0xcf, 0xce, 0x3b, 0x13, 0xa1, 0xac, 0xbf, 0xe5, 0x1d, 0x72, - 0x28, 0xea, 0x6f, 0x71, 0x87, 0x8c, 0x6e, 0x8e, 0x65, 0x98, 0x2f, 0xf9, 0x3e, 0xf5, 0xd8, 0x84, - 0x10, 0xc6, 0x8d, 0x9e, 0xb8, 0xe7, 0x88, 0x83, 0x1d, 0x2b, 0xb5, 0xeb, 0xbe, 0xd9, 0x13, 0x91, - 0x5c, 0x85, 0x7c, 0xa9, 0xdb, 0x70, 0x68, 0xbb, 0xae, 0xc5, 0x59, 0xb3, 0x05, 0xcc, 0x0c, 0x4b, - 0xc9, 0x17, 0xe1, 0x5c, 0x2c, 0x08, 0xa2, 0xe8, 0x81, 0xd1, 0x68, 0xef, 0x95, 0xf7, 0xb0, 0xc8, - 0x20, 0x83, 0x77, 0x49, 0x3a, 0x25, 0x29, 0x41, 0x61, 0x19, 0xdd, 0xb4, 0x2a, 0x94, 0xbf, 0x0d, - 0xb9, 0x1e, 0xf7, 0xcf, 0xe3, 0xb7, 0x66, 0xee, 0xc2, 0x65, 0x35, 0xc2, 0x42, 0x33, 0x81, 0x4e, - 0xee, 0xc3, 0x6c, 0x1c, 0xc6, 0x4e, 0x70, 0x7e, 0x41, 0xc6, 0xfd, 0x26, 0xc1, 0x05, 0xcf, 0xf0, - 0x34, 0x2a, 0xb2, 0x03, 0x33, 0x91, 0x41, 0x92, 0x7e, 0x6d, 0x96, 0x76, 0xce, 0x61, 0xb9, 0xbc, - 0x3a, 0x3f, 0x2f, 0x26, 0xe3, 0x6c, 0x64, 0xdc, 0x14, 0x5e, 0x9f, 0xcd, 0x24, 0x3b, 0xd2, 0x80, - 0xa9, 0x9a, 0xb3, 0xd7, 0x76, 0xda, 0x7b, 0xf7, 0xe9, 0xd1, 0x86, 0xed, 0x78, 0xc2, 0xe2, 0x54, - 0xda, 0x93, 0x97, 0xfc, 0xa3, 0x56, 0x8b, 0x06, 0x1e, 0x6e, 0x84, 0xac, 0x1c, 0x7d, 0xd0, 0xd9, - 0x75, 0x68, 0xc1, 0xe7, 0x74, 0xe8, 0xb6, 0xd9, 0xb1, 0x1d, 0x4d, 0x08, 0xd0, 0x79, 0x6a, 0xaa, - 0x8b, 0x89, 0x01, 0x55, 0x17, 0x4d, 0x98, 0x59, 0x6e, 0xd7, 0xbd, 0x23, 0x7c, 0xa2, 0x93, 0x1f, - 0x37, 0x79, 0xca, 0xc7, 0xbd, 0x22, 0x3e, 0xee, 0x05, 0x5b, 0xce, 0xb0, 0xb4, 0xcf, 0x4b, 0x32, - 0x26, 0x35, 0x98, 0xc1, 0x8b, 0x43, 0xb5, 0xb2, 0x51, 0x6d, 0x3b, 0x81, 0x63, 0x07, 0xb4, 0x21, - 0x84, 0x8b, 0x30, 0xb1, 0x07, 0xbf, 0xa2, 0x3a, 0x8d, 0x8e, 0xe5, 0x48, 0x14, 0x95, 0x69, 0x82, - 0xbe, 0xdf, 0x3d, 0x71, 0xfa, 0x2f, 0xe8, 0x9e, 0x58, 0x85, 0xe9, 0x78, 0x6c, 0x86, 0x42, 0x74, - 0x0e, 0xfb, 0x58, 0xc4, 0x8e, 0x73, 0xb7, 0x8b, 0xc2, 0xa4, 0x96, 0x4b, 0x53, 0xa7, 0x8b, 0x5f, - 0x39, 0x67, 0xb4, 0x2b, 0xa7, 0xb6, 0x2b, 0x9d, 0xe1, 0xca, 0x49, 0x36, 0x00, 0xee, 0xb8, 0x5e, - 0x9d, 0x96, 0xd0, 0x3f, 0x9a, 0x68, 0xe9, 0x8f, 0x18, 0xd3, 0xa8, 0x90, 0xaf, 0x9f, 0x5d, 0xf6, - 0xdb, 0x8a, 0xbb, 0xb9, 0x2b, 0x3c, 0x8c, 0x1f, 0xcb, 0xc2, 0x7c, 0xaf, 0xcf, 0xe9, 0x73, 0xdd, - 0xfb, 0x14, 0x24, 0x57, 0xb8, 0xb8, 0xf6, 0x15, 0x68, 0x7c, 0x9d, 0x2f, 0x42, 0xfa, 0x42, 0x16, - 0xd7, 0xc0, 0xd9, 0x38, 0xc1, 0x96, 0xd7, 0x24, 0xb7, 0x61, 0x5c, 0xf9, 0x78, 0xdc, 0x4b, 0x7b, - 0x35, 0xd5, 0x84, 0xdd, 0xf0, 0x6f, 0x76, 0x4d, 0xe4, 0xfb, 0x96, 0xbc, 0x26, 0xf2, 0x5f, 0xa4, - 0xc0, 0x5d, 0xc4, 0x47, 0xb8, 0x15, 0x80, 0xef, 0xbb, 0x84, 0x00, 0xee, 0xdb, 0x7c, 0x0b, 0x34, - 0xf1, 0x6f, 0xe3, 0xd7, 0x27, 0xf8, 0x89, 0xac, 0xde, 0x12, 0x7b, 0xd9, 0x07, 0xc7, 0x6e, 0x8f, - 0xd9, 0xb3, 0xdc, 0x1e, 0x73, 0xa7, 0xdf, 0x1e, 0x87, 0x4e, 0xbb, 0x3d, 0xc6, 0xae, 0x77, 0xc3, - 0x67, 0xbe, 0xde, 0x8d, 0x9c, 0xe9, 0x7a, 0x37, 0x7a, 0xa6, 0xeb, 0x9d, 0x76, 0x53, 0xcd, 0x9f, - 0x76, 0x53, 0xfd, 0xab, 0xcb, 0xe0, 0xb3, 0x7a, 0x19, 0x4c, 0x13, 0xf1, 0xce, 0x74, 0x19, 0xfc, - 0x91, 0x9e, 0x77, 0xb9, 0xc2, 0xc7, 0x11, 0xca, 0x5f, 0x1e, 0xe0, 0x2e, 0x37, 0xe8, 0x4d, 0x6e, - 0xe6, 0xe9, 0xdc, 0xe4, 0xc8, 0x53, 0xbb, 0xc9, 0xcd, 0x3e, 0xe9, 0x4d, 0x6e, 0xee, 0x69, 0xde, - 0xe4, 0xce, 0xfd, 0x65, 0xbc, 0xc9, 0x9d, 0xff, 0x37, 0x73, 0x93, 0xfb, 0x6b, 0x50, 0x88, 0x0b, - 0x97, 0xa7, 0x87, 0x31, 0x7e, 0x6a, 0x31, 0x24, 0x99, 0xe8, 0x1b, 0x17, 0xee, 0xc8, 0x0d, 0x80, - 0x0d, 0xcf, 0x79, 0x64, 0x07, 0xf4, 0xbe, 0xb4, 0x7e, 0x13, 0x21, 0xb8, 0x39, 0x94, 0x8d, 0xbc, - 0xa9, 0xa0, 0x84, 0xf7, 0x9a, 0x6c, 0xda, 0xbd, 0xc6, 0xf8, 0xd1, 0x2c, 0xcc, 0xf0, 0x40, 0x6c, - 0xcf, 0xfe, 0x23, 0xec, 0xfb, 0xda, 0x6d, 0x55, 0xda, 0x5a, 0xc7, 0x5a, 0xd7, 0xe7, 0x19, 0xf6, - 0xab, 0x70, 0x2e, 0xd1, 0x15, 0x78, 0x63, 0xad, 0xc8, 0x10, 0x78, 0x89, 0x3b, 0xeb, 0x7c, 0x7a, - 0x25, 0x0f, 0x6f, 0x99, 0x09, 0x0a, 0xe3, 0xcf, 0x86, 0x12, 0xfc, 0xc5, 0x83, 0xac, 0xfa, 0xc4, - 0x9a, 0x39, 0xdb, 0x13, 0x6b, 0x76, 0xb0, 0x27, 0xd6, 0x98, 0x50, 0x91, 0x1b, 0x44, 0xa8, 0xf8, - 0x22, 0x4c, 0x6e, 0x52, 0xbb, 0xe5, 0x6f, 0xba, 0x22, 0xff, 0x10, 0xf7, 0xb5, 0x90, 0x11, 0xee, - 0x58, 0x99, 0xbc, 0x70, 0x85, 0x36, 0xa3, 0x01, 0x23, 0x60, 0xc7, 0x20, 0x4f, 0x48, 0x64, 0xea, - 0x1c, 0xd4, 0x5b, 0xf4, 0x70, 0x9f, 0x5b, 0x74, 0x0d, 0x26, 0x04, 0x5d, 0x14, 0xbb, 0x39, 0xba, - 0xee, 0xb1, 0x22, 0x84, 0xcb, 0xda, 0xc3, 0xe4, 0xe8, 0x61, 0xed, 0xfc, 0xa6, 0xa7, 0x31, 0x61, - 0x5d, 0xb0, 0xdc, 0x6e, 0x74, 0x5c, 0xa7, 0x8d, 0x5d, 0x30, 0x1a, 0x75, 0x01, 0x15, 0x60, 0xde, - 0x05, 0x0a, 0x12, 0x79, 0x17, 0xa6, 0x4a, 0x1b, 0x55, 0x95, 0x2c, 0x1f, 0xbd, 0xf2, 0xda, 0x1d, - 0xc7, 0xd2, 0x48, 0x63, 0xb8, 0xfd, 0x6e, 0x3e, 0x63, 0x7f, 0x31, 0x37, 0x1f, 0xe3, 0x5f, 0x4e, - 0xc8, 0xe5, 0xfd, 0xc9, 0x3e, 0x90, 0xe8, 0x4f, 0x1e, 0xb9, 0x33, 0x3e, 0x79, 0x0c, 0x9d, 0x26, - 0x48, 0x6a, 0xf2, 0xed, 0xf0, 0x99, 0xe4, 0xdb, 0x91, 0x27, 0x7e, 0xbe, 0x18, 0x3d, 0xa3, 0xc4, - 0x1a, 0x5b, 0x6b, 0xf9, 0x41, 0xd6, 0x5a, 0xaa, 0x94, 0x3b, 0xf6, 0xe4, 0x52, 0x2e, 0x9c, 0x59, - 0xca, 0xad, 0x45, 0xbe, 0xcb, 0xe3, 0xa7, 0xba, 0x84, 0xbc, 0x28, 0xb4, 0x02, 0x33, 0xe9, 0x51, - 0xf8, 0x42, 0x2f, 0xe6, 0xef, 0x29, 0xd1, 0xf9, 0xeb, 0xe9, 0xa2, 0x73, 0xff, 0xf3, 0xe6, 0x4c, - 0xc2, 0xf3, 0x8f, 0x3e, 0x5d, 0xe1, 0xf9, 0xe9, 0x3e, 0x84, 0xfc, 0x95, 0xf8, 0xfc, 0x57, 0xe2, - 0xf3, 0x80, 0xe2, 0xb3, 0x87, 0xcb, 0x6b, 0xdb, 0xf6, 0xda, 0xa8, 0x76, 0xba, 0x01, 0xa3, 0x32, - 0x0c, 0x69, 0x26, 0xd2, 0x28, 0x27, 0xe3, 0x8f, 0x4a, 0x2c, 0xb2, 0x08, 0x79, 0x49, 0xac, 0x26, - 0xba, 0x39, 0x14, 0x30, 0x2d, 0xc2, 0xa3, 0x80, 0x19, 0xff, 0xfe, 0x90, 0xdc, 0xc2, 0xd9, 0x9c, - 0xd9, 0xb0, 0x3d, 0xbb, 0x85, 0x19, 0xd4, 0xc2, 0x15, 0xa6, 0x08, 0xef, 0xb1, 0x45, 0x19, 0x33, - 0xed, 0xd7, 0x49, 0x3e, 0x56, 0x60, 0xd8, 0x28, 0x49, 0x6d, 0x6e, 0x80, 0x24, 0xb5, 0x6f, 0x6b, - 0x19, 0x5e, 0x87, 0xa2, 0x94, 0x82, 0x6c, 0x5b, 0xeb, 0x9f, 0xdb, 0xf5, 0xb6, 0x9a, 0x8a, 0x75, - 0x38, 0x8a, 0xea, 0x85, 0x94, 0x7d, 0x92, 0xb0, 0x86, 0xb7, 0x91, 0x91, 0xb3, 0x84, 0x5c, 0x1e, - 0xfd, 0x37, 0x1a, 0x72, 0x79, 0x19, 0x40, 0x1c, 0xb5, 0x91, 0x79, 0xc2, 0xab, 0xb8, 0xfa, 0x85, - 0x99, 0x72, 0x10, 0x34, 0x7b, 0xe4, 0xe4, 0x50, 0x08, 0x8d, 0xdf, 0x27, 0x30, 0x53, 0xab, 0x3d, - 0xa8, 0x38, 0xf6, 0x5e, 0xdb, 0xf5, 0x03, 0xa7, 0x5e, 0x6d, 0xef, 0xba, 0x4c, 0x14, 0x0f, 0x8f, - 0x03, 0x25, 0xb6, 0x6e, 0x74, 0x14, 0x84, 0xc5, 0xec, 0xaa, 0xb7, 0xec, 0x79, 0x52, 0x3f, 0xca, - 0xaf, 0x7a, 0x94, 0x01, 0x4c, 0x0e, 0x67, 0xd2, 0x6e, 0xad, 0x8b, 0x91, 0x2d, 0x84, 0xcd, 0x08, - 0x4a, 0xbb, 0x3e, 0x07, 0x99, 0xb2, 0x8c, 0xd0, 0xe4, 0x84, 0x15, 0xb7, 0x9f, 0x0b, 0x5a, 0xe0, - 0xe6, 0xa8, 0x98, 0x1f, 0x76, 0x42, 0x18, 0xc1, 0x6d, 0xb3, 0x83, 0x70, 0xd5, 0x22, 0x2e, 0xb1, - 0x06, 0x8e, 0xe0, 0x9c, 0xe6, 0xf3, 0x3c, 0xe8, 0x63, 0xca, 0xeb, 0x42, 0xba, 0x36, 0x30, 0xc4, - 0x46, 0xca, 0x8b, 0x8a, 0x9a, 0x12, 0x2d, 0xb5, 0x06, 0x76, 0x9e, 0xbd, 0x98, 0x5a, 0x12, 0xae, - 0xee, 0x71, 0x2d, 0x78, 0xb6, 0xb2, 0x69, 0xf0, 0xe4, 0x6f, 0xbd, 0xaa, 0xb6, 0x52, 0xb6, 0x82, - 0xfe, 0x35, 0x91, 0xdf, 0xc8, 0xc0, 0x05, 0x0d, 0x23, 0xdc, 0xae, 0xfc, 0x30, 0x1c, 0x48, 0xea, - 0xbc, 0xfe, 0xe8, 0xe9, 0xcc, 0xeb, 0x97, 0xf5, 0xb6, 0x44, 0x1b, 0xaa, 0xda, 0x86, 0x5e, 0x5f, - 0x48, 0x1e, 0xc1, 0x0c, 0x16, 0xc9, 0x87, 0x1d, 0x36, 0x67, 0xc5, 0x7b, 0xd0, 0x5c, 0xf4, 0xd9, - 0xdc, 0x8f, 0x1f, 0x13, 0x78, 0x2f, 0x7e, 0xe7, 0xb8, 0x38, 0xa9, 0xa1, 0xcb, 0x70, 0xd4, 0x56, - 0xf4, 0x3a, 0xe4, 0xb4, 0x77, 0x5d, 0x2d, 0x3b, 0x7b, 0xbc, 0x0a, 0xf2, 0x5f, 0x65, 0xf8, 0x73, - 0x02, 0x6f, 0xc6, 0x1d, 0xcf, 0x6d, 0x85, 0xe5, 0xd2, 0xb4, 0xb2, 0x47, 0xb7, 0x35, 0x9f, 0x4e, - 0xb7, 0xbd, 0x8a, 0x9f, 0xcc, 0xf7, 0x04, 0x6b, 0xd7, 0x73, 0x5b, 0xd1, 0xe7, 0xab, 0x1d, 0xd7, - 0xf3, 0x23, 0xc9, 0x0f, 0x64, 0xe0, 0xa2, 0xa6, 0xd5, 0x54, 0x73, 0x83, 0x88, 0x68, 0x09, 0xb3, - 0x61, 0x1c, 0x95, 0xa8, 0x68, 0xe9, 0xba, 0x98, 0xff, 0x57, 0xf0, 0x0b, 0x94, 0xb0, 0x9d, 0x0c, - 0xc9, 0x6a, 0x71, 0x2c, 0xe5, 0x13, 0x7a, 0xd7, 0x42, 0x1c, 0x98, 0x41, 0x2b, 0x1b, 0xcd, 0x04, - 0x78, 0xae, 0xb7, 0x09, 0x70, 0x98, 0xf5, 0x07, 0x33, 0x02, 0xf4, 0xb6, 0x03, 0x4e, 0x72, 0x25, - 0x7f, 0x1d, 0x2e, 0x26, 0x80, 0xe1, 0x6a, 0x3b, 0xd7, 0x73, 0xb5, 0x7d, 0xea, 0xe4, 0xb8, 0xf8, - 0x5a, 0x5a, 0x6d, 0x69, 0x2b, 0xad, 0x77, 0x0d, 0xc4, 0x06, 0x88, 0x0a, 0x85, 0xf8, 0x91, 0x3e, - 0x41, 0x3f, 0x25, 0xe6, 0x87, 0x82, 0xcf, 0xf6, 0x72, 0xe5, 0x1b, 0xd4, 0x23, 0x2f, 0x42, 0x22, - 0x14, 0x26, 0x94, 0x6c, 0x08, 0x47, 0xc2, 0xd8, 0xa3, 0x47, 0x25, 0xdf, 0x39, 0x2e, 0x6a, 0xd8, - 0xec, 0x42, 0xa4, 0xa6, 0x59, 0xd0, 0xa4, 0x3d, 0x15, 0x91, 0xfc, 0x5a, 0x06, 0xe6, 0x18, 0x20, - 0x9a, 0x54, 0xa2, 0x51, 0xf3, 0xfd, 0x66, 0xfd, 0xfe, 0xd3, 0x99, 0xf5, 0x2f, 0xe1, 0x37, 0xaa, - 0xb3, 0x3e, 0xd1, 0x25, 0xa9, 0x1f, 0x87, 0xb3, 0x5d, 0x33, 0xe8, 0xd2, 0x66, 0xfb, 0xc5, 0x01, - 0x66, 0x3b, 0x1f, 0x80, 0xd3, 0x67, 0x7b, 0xcf, 0x5a, 0xc8, 0x26, 0x4c, 0x88, 0xbb, 0x10, 0xef, - 0xb0, 0x4b, 0x5a, 0x18, 0x67, 0xb5, 0x88, 0x5f, 0x50, 0x45, 0xb2, 0x88, 0x44, 0x0b, 0x35, 0x2e, - 0xa4, 0x0d, 0xb3, 0xfc, 0xb7, 0xae, 0x9b, 0x2a, 0xf6, 0xd4, 0x4d, 0x5d, 0x15, 0x2d, 0xba, 0x2c, - 0xf8, 0xc7, 0x54, 0x54, 0x6a, 0xf8, 0xa5, 0x14, 0xc6, 0xa4, 0x03, 0x44, 0x03, 0xf3, 0x45, 0x7b, - 0xb9, 0xbf, 0x46, 0xea, 0x35, 0x51, 0x67, 0x31, 0x5e, 0x67, 0x7c, 0xe5, 0xa6, 0xf0, 0x26, 0x36, - 0x4c, 0x0b, 0xa8, 0x7b, 0x40, 0xf9, 0x0e, 0xff, 0x92, 0x16, 0x00, 0x2b, 0x56, 0xca, 0x2f, 0x51, - 0xb2, 0x26, 0x0c, 0x50, 0x16, 0xdb, 0xd0, 0xe3, 0xfc, 0xc8, 0x03, 0x98, 0x29, 0x75, 0x3a, 0x4d, - 0x87, 0x36, 0xb0, 0x95, 0x66, 0x97, 0xb5, 0xc9, 0x88, 0xf2, 0xad, 0xd9, 0xbc, 0x50, 0xdc, 0xec, - 0xbc, 0x6e, 0x6c, 0xbb, 0x49, 0xd0, 0x1a, 0x3f, 0x92, 0x49, 0x7c, 0x34, 0x79, 0x03, 0xc6, 0xf0, - 0x87, 0x12, 0x53, 0x05, 0x55, 0x3c, 0xfc, 0x13, 0x51, 0x79, 0x14, 0x21, 0x30, 0x61, 0x49, 0x8d, - 0xab, 0x98, 0xe3, 0xc2, 0x92, 0xd0, 0x2b, 0x44, 0x9a, 0x84, 0xa2, 0x74, 0xcd, 0xc8, 0x45, 0x42, - 0x17, 0xba, 0x66, 0x08, 0x87, 0x0c, 0xe3, 0x07, 0xb2, 0xfa, 0xb4, 0x23, 0x57, 0x15, 0xb9, 0x5d, - 0x89, 0xec, 0x28, 0xe5, 0x76, 0x45, 0x5a, 0xff, 0xfb, 0x19, 0x98, 0x7d, 0xe0, 0xed, 0xd9, 0x6d, - 0xe7, 0x9b, 0x3c, 0x8c, 0xb6, 0x8b, 0xe3, 0xd2, 0x3f, 0x75, 0xe5, 0xd3, 0x4a, 0xc1, 0xe7, 0x2a, - 0x15, 0xb3, 0x99, 0x82, 0x53, 0xc6, 0x4c, 0xfb, 0x1e, 0x74, 0x76, 0xc3, 0x0f, 0x53, 0x32, 0x21, - 0x72, 0x74, 0x0e, 0x37, 0x7e, 0x22, 0x0b, 0xe3, 0xca, 0x12, 0x20, 0x9f, 0x81, 0x09, 0x95, 0x8f, - 0xaa, 0xf0, 0x53, 0xab, 0x35, 0x35, 0x2c, 0xd4, 0xf8, 0x51, 0xbb, 0xa5, 0x69, 0xfc, 0xd8, 0x44, - 0x47, 0xe8, 0x19, 0xaf, 0x36, 0x1f, 0xa4, 0x5c, 0x6d, 0x70, 0xda, 0x2a, 0x1a, 0x9b, 0xbe, 0x17, - 0x9c, 0x77, 0x93, 0x17, 0x1c, 0x54, 0x1e, 0x29, 0xf4, 0xbd, 0xaf, 0x39, 0xc6, 0x4f, 0x67, 0xa0, - 0x10, 0x5f, 0xa4, 0x9f, 0x48, 0xaf, 0x9c, 0xe1, 0x75, 0xe7, 0xc7, 0xb3, 0x61, 0x2a, 0x14, 0xe9, - 0xc2, 0xfb, 0xac, 0x9a, 0x09, 0xbe, 0xa7, 0x3d, 0xbc, 0x3c, 0xaf, 0x47, 0xa3, 0x53, 0x83, 0x5f, - 0xa4, 0x87, 0xa0, 0x1c, 0xfa, 0xf6, 0x2f, 0x16, 0x9f, 0x33, 0x3e, 0x84, 0xb9, 0x78, 0x77, 0xe0, - 0xe3, 0x4b, 0x09, 0xa6, 0x75, 0x78, 0x3c, 0x91, 0x52, 0x9c, 0xca, 0x8c, 0xe3, 0x1b, 0x7f, 0x98, - 0x8d, 0xf3, 0x16, 0x26, 0x83, 0x6c, 0xd3, 0x51, 0x0d, 0x61, 0xc4, 0xa6, 0xc3, 0x41, 0xa6, 0x2c, - 0x3b, 0x4b, 0x02, 0xb3, 0xd0, 0x11, 0x35, 0x97, 0xee, 0x88, 0x4a, 0x6e, 0xc7, 0xac, 0xa4, 0x95, - 0xa8, 0x49, 0x87, 0x74, 0xc7, 0x8a, 0x2c, 0xa5, 0x63, 0xc6, 0xd1, 0x65, 0x98, 0xd3, 0x42, 0x80, - 0x4b, 0xfa, 0xe1, 0x48, 0xd7, 0x1e, 0x60, 0x01, 0x27, 0x4e, 0x45, 0x26, 0x2b, 0x30, 0xca, 0x3e, - 0x73, 0xcd, 0xee, 0x88, 0x37, 0x15, 0x12, 0xba, 0xa5, 0x37, 0xc3, 0x0b, 0x9f, 0xe2, 0x99, 0xde, - 0xa4, 0xec, 0xc8, 0x57, 0x27, 0x96, 0x40, 0x34, 0xfe, 0x45, 0x86, 0xad, 0xff, 0xfa, 0xc1, 0xf7, - 0x58, 0x16, 0x34, 0xd6, 0xa4, 0x3e, 0x16, 0xad, 0x7f, 0x9c, 0xe5, 0xb9, 0x70, 0xc4, 0xf4, 0x79, - 0x1b, 0x46, 0x36, 0x6d, 0x6f, 0x4f, 0x64, 0x8d, 0xd6, 0xb9, 0xf0, 0x82, 0x28, 0xa6, 0x53, 0x80, - 0xbf, 0x4d, 0x41, 0xa0, 0xea, 0xc2, 0xb2, 0x03, 0xe9, 0xc2, 0x14, 0xbd, 0x7c, 0xee, 0xa9, 0xe9, - 0xe5, 0xbf, 0x2f, 0x4c, 0x7b, 0x53, 0x0a, 0x06, 0x88, 0x30, 0x7d, 0x39, 0x9e, 0x36, 0x2a, 0x11, - 0x0b, 0x3c, 0x62, 0x47, 0x6e, 0xab, 0x89, 0xa8, 0x14, 0xdf, 0xce, 0x53, 0x52, 0x4e, 0x19, 0x7f, - 0x9c, 0xe3, 0x7d, 0x2c, 0x3a, 0xea, 0x8a, 0xe6, 0xf7, 0x8d, 0xeb, 0x84, 0x6d, 0xf4, 0x6a, 0x08, - 0x0e, 0x34, 0x9b, 0xba, 0x02, 0x43, 0x6c, 0x6e, 0x8a, 0xde, 0x44, 0x3c, 0x36, 0x7f, 0x55, 0x3c, - 0x56, 0xce, 0xd6, 0x32, 0x9e, 0x49, 0x6a, 0x86, 0x41, 0x3c, 0xb6, 0xd4, 0xb5, 0x8c, 0x18, 0xe4, - 0x2a, 0x0c, 0xad, 0xbb, 0x0d, 0x19, 0xc9, 0x7c, 0x0e, 0xa3, 0x7f, 0x68, 0x29, 0x4c, 0xe7, 0x33, - 0x26, 0x62, 0xb0, 0xb6, 0x86, 0xf9, 0x1f, 0xd4, 0xb6, 0xb6, 0x76, 0xed, 0x64, 0xe6, 0x38, 0x25, - 0xe9, 0xcc, 0x32, 0x4c, 0xe9, 0xa9, 0xea, 0x85, 0xbd, 0x2f, 0x6a, 0xd7, 0x63, 0x19, 0xef, 0xd5, - 0x67, 0x11, 0x9d, 0x88, 0x2c, 0xc1, 0xa4, 0x16, 0x41, 0x55, 0x3c, 0x6e, 0xa2, 0x7a, 0x53, 0x8f, - 0xbf, 0xaa, 0xaa, 0x37, 0x35, 0x12, 0x76, 0x9e, 0x8b, 0xef, 0x57, 0x9e, 0x38, 0x13, 0xdf, 0x2e, - 0x70, 0xc8, 0x2d, 0xc8, 0xf3, 0x30, 0x1b, 0xd5, 0x8a, 0xfa, 0x4c, 0xe5, 0x23, 0x2c, 0x16, 0xa6, - 0x46, 0x22, 0x2a, 0x61, 0x15, 0x3e, 0x0d, 0x05, 0xb1, 0x25, 0x45, 0xc9, 0xcf, 0x5f, 0x80, 0xa1, - 0x72, 0xb5, 0x62, 0xaa, 0xdb, 0x48, 0xdd, 0x69, 0x78, 0x26, 0x42, 0xd1, 0xab, 0x6e, 0x9d, 0x06, - 0x87, 0xae, 0x77, 0x60, 0x52, 0x3f, 0xf0, 0x1c, 0x9e, 0xa0, 0x12, 0x17, 0xe2, 0x67, 0xc8, 0xbb, - 0x30, 0x8c, 0x86, 0xa7, 0xb1, 0x93, 0x21, 0x5e, 0xc7, 0xd2, 0xa4, 0x98, 0xc0, 0xc3, 0x68, 0xc5, - 0x6a, 0x72, 0x22, 0xf2, 0x36, 0x0c, 0x55, 0x68, 0xfb, 0x28, 0x96, 0x3b, 0x2f, 0x41, 0x1c, 0x6e, - 0x08, 0x0d, 0xda, 0x3e, 0x32, 0x91, 0xc4, 0xf8, 0xe9, 0x2c, 0x9c, 0x4b, 0xf9, 0xac, 0x87, 0x9f, - 0x79, 0x46, 0x77, 0xc5, 0x25, 0x6d, 0x57, 0x94, 0xef, 0xd3, 0x3d, 0x3b, 0x3e, 0x75, 0x93, 0xfc, - 0xf9, 0x0c, 0x5c, 0xd0, 0x27, 0xa8, 0xb0, 0x34, 0x7f, 0x78, 0x8b, 0xbc, 0x03, 0x23, 0x2b, 0xd4, - 0x6e, 0x50, 0x99, 0x57, 0xeb, 0x5c, 0x18, 0x10, 0x8f, 0xc7, 0x10, 0xe0, 0x85, 0x9c, 0x6d, 0xe4, - 0x71, 0xca, 0xa1, 0xa4, 0x22, 0x3e, 0x8e, 0xcb, 0xe3, 0x86, 0x8c, 0xe7, 0x91, 0x56, 0x55, 0x1f, - 0x2b, 0x8f, 0xef, 0x64, 0xe0, 0xf9, 0x3e, 0x34, 0x6c, 0xe0, 0xd8, 0xd0, 0xab, 0x03, 0x87, 0x27, - 0x2a, 0x42, 0xc9, 0xfb, 0x30, 0xbd, 0x29, 0xe4, 0x79, 0x39, 0x1c, 0xd9, 0x68, 0xbd, 0x48, 0x51, - 0xdf, 0x92, 0xe3, 0x12, 0x47, 0xd6, 0x02, 0xcd, 0xe4, 0xfa, 0x06, 0x9a, 0x51, 0xe3, 0xb6, 0x0c, - 0x0d, 0x1a, 0xb7, 0xe5, 0x43, 0x98, 0xd3, 0xdb, 0x26, 0xc2, 0xe7, 0x46, 0x51, 0x6b, 0x32, 0xbd, - 0xa3, 0xd6, 0xf4, 0x0d, 0xd2, 0x69, 0xfc, 0x44, 0x06, 0x0a, 0x3a, 0xef, 0x27, 0x1d, 0xcf, 0xf7, - 0xb4, 0xf1, 0x7c, 0x3e, 0x7d, 0x3c, 0x7b, 0x0f, 0xe4, 0xff, 0x95, 0x89, 0x37, 0x76, 0xa0, 0x11, - 0x34, 0x60, 0xa4, 0xe2, 0xb6, 0x6c, 0xa7, 0xad, 0xe6, 0xd2, 0x6f, 0x20, 0xc4, 0x14, 0x25, 0x83, - 0x05, 0xf9, 0xb9, 0x0c, 0xc3, 0xeb, 0x6e, 0xbb, 0x54, 0x11, 0x26, 0xbd, 0xc8, 0xa7, 0xed, 0xb6, - 0x2d, 0xbb, 0x61, 0xf2, 0x02, 0xb2, 0x0a, 0x50, 0xab, 0x7b, 0x94, 0xb6, 0x6b, 0xce, 0x37, 0x69, - 0x4c, 0xd2, 0x60, 0x3d, 0xd4, 0xec, 0xe2, 0xc6, 0xc2, 0x9f, 0x2e, 0x11, 0xd1, 0xf2, 0x9d, 0x6f, - 0xaa, 0xfb, 0xad, 0x42, 0x8f, 0xeb, 0x4a, 0xc4, 0x41, 0x8b, 0x8d, 0xc3, 0xcd, 0x4f, 0x62, 0x5d, - 0xa5, 0x56, 0x85, 0x3d, 0x7c, 0x33, 0x75, 0x38, 0xfe, 0x20, 0x03, 0xcf, 0xf7, 0xa1, 0x79, 0x0a, - 0xa3, 0xf2, 0x17, 0xdd, 0xe1, 0x14, 0x20, 0x22, 0xc2, 0xd4, 0xc4, 0x4e, 0x23, 0xe0, 0xb9, 0xf2, - 0x26, 0x45, 0x6a, 0x62, 0x06, 0xd0, 0x52, 0x13, 0x33, 0x00, 0x3b, 0x4b, 0x57, 0xa8, 0xb3, 0xb7, - 0xcf, 0xcd, 0xb3, 0x26, 0xf9, 0xde, 0xb0, 0x8f, 0x10, 0xf5, 0x2c, 0xe5, 0x38, 0xc6, 0xbf, 0x1a, - 0x86, 0x8b, 0x26, 0xdd, 0x73, 0xd8, 0xbd, 0x64, 0xcb, 0x77, 0xda, 0x7b, 0x5a, 0xdc, 0x1b, 0x23, - 0xb6, 0x72, 0x45, 0x92, 0x08, 0x06, 0x09, 0x67, 0xe2, 0x35, 0xc8, 0x33, 0x31, 0x44, 0x59, 0xbc, - 0xf8, 0x68, 0xc5, 0x84, 0x15, 0x11, 0x58, 0x59, 0x16, 0x93, 0xd7, 0x85, 0x98, 0xa4, 0xa4, 0xf1, - 0x61, 0x62, 0xd2, 0x77, 0x8f, 0x8b, 0x50, 0x3b, 0xf2, 0x03, 0x8a, 0x57, 0x64, 0x21, 0x2a, 0x85, - 0x77, 0x99, 0xa1, 0x1e, 0x77, 0x99, 0x35, 0x98, 0x2b, 0x35, 0xf8, 0xe9, 0x68, 0x37, 0x37, 0x3c, - 0xa7, 0x5d, 0x77, 0x3a, 0x76, 0x53, 0xde, 0xcf, 0xb1, 0x97, 0xed, 0xb0, 0xdc, 0xea, 0x84, 0x08, - 0x66, 0x2a, 0x19, 0x6b, 0x46, 0x65, 0xbd, 0x86, 0xe1, 0x61, 0xc4, 0x7b, 0x24, 0x36, 0xa3, 0xd1, - 0xf6, 0xb1, 0x15, 0xbe, 0x19, 0x16, 0xe3, 0x2d, 0x0a, 0x1f, 0xe4, 0x37, 0x57, 0x6b, 0x91, 0x4b, - 0x33, 0xcf, 0x32, 0xc0, 0x1f, 0xf6, 0x83, 0xa6, 0x8f, 0xa6, 0x90, 0x1a, 0x5e, 0x44, 0x57, 0xab, - 0xad, 0x30, 0xba, 0x7c, 0x82, 0xce, 0xf7, 0xf7, 0x55, 0x3a, 0x8e, 0x47, 0x6e, 0xb0, 0xa9, 0xd0, - 0x72, 0x03, 0x8a, 0x53, 0x78, 0x2c, 0xba, 0x73, 0x79, 0x08, 0xe5, 0x77, 0x2e, 0x05, 0x85, 0xbc, - 0x0b, 0xb3, 0xcb, 0xe5, 0x45, 0xa9, 0x45, 0xae, 0xb8, 0xf5, 0x2e, 0x3e, 0xc4, 0x03, 0xd6, 0x87, - 0x63, 0x48, 0xeb, 0x8b, 0x6c, 0x37, 0x49, 0x43, 0x23, 0x57, 0x60, 0xb4, 0x5a, 0xe1, 0x7d, 0x3f, - 0xae, 0xa6, 0xd2, 0x12, 0x96, 0x51, 0xb2, 0x90, 0x3c, 0x88, 0x2e, 0x05, 0x13, 0xa7, 0x4a, 0xef, - 0x17, 0x07, 0xb8, 0x10, 0xbc, 0x0d, 0x93, 0x4b, 0x6e, 0x50, 0x6d, 0xfb, 0x81, 0xdd, 0xae, 0xd3, - 0x6a, 0x45, 0x8d, 0x6b, 0xbd, 0xe3, 0x06, 0x96, 0x23, 0x4a, 0xd8, 0x97, 0xeb, 0x98, 0xe4, 0x73, - 0x48, 0x7a, 0x97, 0xb6, 0xa9, 0x17, 0xc5, 0xb3, 0x1e, 0xe6, 0x7d, 0xcb, 0x48, 0xf7, 0xc2, 0x12, - 0x53, 0x47, 0x14, 0x69, 0xbe, 0x78, 0x72, 0xce, 0xb2, 0xdb, 0xa0, 0x3e, 0xdf, 0x2d, 0xbe, 0x87, - 0xd2, 0x7c, 0x29, 0x6d, 0xeb, 0xb3, 0x83, 0xfe, 0x3b, 0x98, 0xe6, 0x2b, 0x81, 0x4b, 0x3e, 0x07, - 0xc3, 0xf8, 0x53, 0x48, 0xb7, 0xb3, 0x29, 0x6c, 0x23, 0xc9, 0xb6, 0xce, 0x30, 0x4d, 0x4e, 0x40, - 0xaa, 0x30, 0x2a, 0x2e, 0x56, 0x67, 0x49, 0x56, 0x23, 0x6e, 0x68, 0x7c, 0x66, 0x08, 0x7a, 0xa3, - 0x01, 0x13, 0x6a, 0x85, 0x6c, 0x45, 0xac, 0xd8, 0xfe, 0x3e, 0x6d, 0xb0, 0x5f, 0x22, 0xcf, 0x1c, - 0xae, 0x88, 0x7d, 0x84, 0x5a, 0xec, 0x3b, 0x4c, 0x05, 0x85, 0x9d, 0xa9, 0x55, 0x7f, 0xcb, 0x17, - 0x9f, 0x22, 0x54, 0x2d, 0x0e, 0xaa, 0xed, 0x1a, 0xa6, 0x28, 0x32, 0xbe, 0x0f, 0xe6, 0xd6, 0xbb, - 0xcd, 0xa6, 0xbd, 0xd3, 0xa4, 0x32, 0x0f, 0x09, 0x66, 0xf0, 0x5e, 0x82, 0xe1, 0x9a, 0x92, 0x13, - 0x3c, 0xcc, 0x05, 0xa9, 0xe0, 0xa0, 0x11, 0x6a, 0x06, 0x43, 0xf5, 0xc4, 0xb2, 0x81, 0x73, 0x52, - 0xe3, 0xf7, 0x32, 0x30, 0x27, 0xdf, 0xff, 0x3d, 0xbb, 0x7e, 0x10, 0x26, 0x86, 0xbf, 0xa2, 0xcd, - 0x35, 0x9c, 0xb0, 0xb1, 0x69, 0xc4, 0x67, 0xdd, 0x3d, 0xf9, 0x11, 0xba, 0xc0, 0x92, 0xf6, 0xc1, - 0xa7, 0x7d, 0x0c, 0x79, 0x17, 0xc6, 0xc5, 0xf1, 0xa8, 0x04, 0x98, 0xc4, 0x28, 0x5e, 0xe2, 0xba, - 0x17, 0xb7, 0x46, 0x51, 0xd1, 0x51, 0x16, 0xd3, 0x9b, 0xf2, 0xa4, 0x32, 0x40, 0xba, 0x2c, 0xa6, - 0xd7, 0xd1, 0x67, 0xea, 0xfe, 0xd6, 0x78, 0xbc, 0x6f, 0xc5, 0xdc, 0xbd, 0xad, 0x86, 0x94, 0xcb, - 0x44, 0x37, 0xe3, 0x28, 0xa4, 0x9c, 0x7a, 0x33, 0x0e, 0x51, 0xc3, 0x31, 0xc9, 0x9e, 0x32, 0x26, - 0xef, 0xcb, 0x31, 0xc9, 0xf5, 0x9e, 0x18, 0xb3, 0x7d, 0xc6, 0xa1, 0x16, 0xad, 0x90, 0xa1, 0x81, - 0xd4, 0x2a, 0xcf, 0x61, 0xec, 0x7c, 0x4e, 0x12, 0xdf, 0x45, 0x05, 0x27, 0x55, 0x57, 0x33, 0x3c, - 0x38, 0xd3, 0x53, 0xb6, 0xe6, 0xcf, 0xc3, 0x44, 0x29, 0x08, 0xec, 0xfa, 0x3e, 0x6d, 0x54, 0xd8, - 0xf6, 0xa4, 0x44, 0xbf, 0xb2, 0x05, 0x5c, 0x7d, 0x34, 0x53, 0x71, 0x79, 0x34, 0x57, 0xdb, 0x17, - 0xc6, 0xac, 0x61, 0x34, 0x57, 0x06, 0xd1, 0xa3, 0xb9, 0x32, 0x08, 0xb9, 0x01, 0xa3, 0xd5, 0xf6, - 0x23, 0x87, 0xf5, 0x09, 0x0f, 0x80, 0x85, 0xba, 0x29, 0x87, 0x83, 0xd4, 0xcd, 0x55, 0x60, 0x91, - 0xb7, 0x95, 0x4b, 0xcd, 0x58, 0xa4, 0xc0, 0xe0, 0x2a, 0xaf, 0x30, 0xc2, 0x8d, 0x7a, 0x61, 0x09, - 0x6f, 0x39, 0xb7, 0x61, 0x54, 0x6a, 0x32, 0x21, 0x52, 0x5a, 0x08, 0xca, 0x64, 0xc0, 0x08, 0x89, - 0x8c, 0x49, 0xbe, 0x95, 0x7c, 0x79, 0xe3, 0x4a, 0x92, 0x6f, 0x25, 0x5f, 0x9e, 0x96, 0xe4, 0x5b, - 0xc9, 0x9c, 0x17, 0x2a, 0x81, 0x26, 0x4e, 0x55, 0x02, 0x3d, 0x84, 0x89, 0x0d, 0xdb, 0x0b, 0x1c, - 0x26, 0xa3, 0xb4, 0x03, 0x7f, 0x7e, 0x52, 0xd3, 0x9b, 0x2a, 0x45, 0x4b, 0x97, 0x64, 0x5e, 0xea, - 0x8e, 0x82, 0xaf, 0x27, 0x50, 0x8e, 0xe0, 0xe9, 0xa6, 0xac, 0x53, 0x4f, 0x62, 0xca, 0x8a, 0x9d, - 0x8a, 0xba, 0xb2, 0xe9, 0x48, 0x23, 0x83, 0x97, 0x96, 0x98, 0xc2, 0x2c, 0x44, 0x24, 0x5f, 0x81, - 0x09, 0xf6, 0xf7, 0x86, 0xdb, 0x74, 0xea, 0x0e, 0xf5, 0xe7, 0x0b, 0xd8, 0xb8, 0x4b, 0xa9, 0xab, - 0x1f, 0x91, 0x8e, 0x6a, 0x34, 0xe0, 0x0b, 0x18, 0x19, 0xc7, 0x95, 0xe0, 0x1a, 0x37, 0xf2, 0x01, - 0x4c, 0xb0, 0xd9, 0xb7, 0x63, 0xfb, 0x5c, 0x34, 0x9d, 0x89, 0x8c, 0x91, 0x1b, 0x02, 0x9e, 0x08, - 0xa8, 0xac, 0x12, 0xb0, 0x63, 0xbe, 0xd4, 0xe1, 0x1b, 0x24, 0x51, 0x66, 0x7b, 0x27, 0xb1, 0x39, - 0x4a, 0x34, 0xf2, 0x05, 0x98, 0x28, 0x75, 0x3a, 0xd1, 0x8e, 0x33, 0xab, 0x28, 0xc2, 0x3a, 0x1d, - 0x2b, 0x75, 0xd7, 0xd1, 0x28, 0xe2, 0x1b, 0xf3, 0xdc, 0x99, 0x36, 0x66, 0xf2, 0x66, 0x28, 0xad, - 0x9f, 0x8b, 0xb4, 0xba, 0xe2, 0xe2, 0xa8, 0x89, 0xfe, 0x5c, 0x70, 0x2f, 0xc3, 0x24, 0x57, 0x73, - 0x4a, 0x69, 0xe6, 0x7c, 0x62, 0xf5, 0xa4, 0x08, 0x35, 0x3a, 0x0d, 0x59, 0x86, 0x29, 0xee, 0x6d, - 0xdd, 0x14, 0x91, 0xae, 0xe7, 0x2f, 0xe0, 0xaa, 0x45, 0x2e, 0xdc, 0x49, 0xbb, 0x89, 0x09, 0x50, - 0x6c, 0x8d, 0x4b, 0x8c, 0xc8, 0xf8, 0x93, 0x0c, 0x5c, 0xe8, 0x31, 0xe2, 0x61, 0x1c, 0xe4, 0x4c, - 0xff, 0x38, 0xc8, 0x6c, 0xe7, 0xd0, 0xb5, 0x22, 0xd8, 0x7e, 0x21, 0x65, 0xa9, 0xe3, 0x25, 0xe5, - 0x2d, 0x17, 0x88, 0xc8, 0x31, 0x24, 0xaa, 0xbe, 0xe7, 0xa2, 0x6a, 0x36, 0x97, 0x3c, 0x84, 0x04, - 0x1e, 0xff, 0xa8, 0x25, 0xe3, 0xe4, 0xb8, 0x78, 0x49, 0xa4, 0x30, 0x0a, 0x87, 0xf5, 0x23, 0x57, - 0x5b, 0xc1, 0x29, 0xac, 0x8d, 0xe3, 0x0c, 0x8c, 0x2b, 0xeb, 0x90, 0x5c, 0x56, 0xbc, 0x80, 0x0b, - 0x3c, 0x09, 0x96, 0xc2, 0x21, 0xcb, 0x4f, 0x22, 0x5c, 0x54, 0xd9, 0xd3, 0x15, 0xd0, 0x6b, 0x4c, - 0x14, 0x52, 0x62, 0x45, 0xb7, 0x34, 0x6d, 0xb1, 0x89, 0xe5, 0x98, 0x4e, 0xdf, 0xf6, 0x83, 0x52, - 0x3d, 0x70, 0x1e, 0xd1, 0x01, 0x0e, 0x9d, 0x28, 0x9d, 0xbe, 0xed, 0x07, 0x96, 0x8d, 0x64, 0x89, - 0x74, 0xfa, 0x21, 0x43, 0xe3, 0x6f, 0x66, 0x00, 0xb6, 0xaa, 0x65, 0x0c, 0xf6, 0xfe, 0xa4, 0x42, - 0x41, 0x7a, 0x00, 0x5d, 0xc9, 0xbd, 0x8f, 0x38, 0xf0, 0x3f, 0x65, 0x60, 0x4a, 0x47, 0x23, 0xef, - 0xc3, 0x74, 0xad, 0xee, 0xb9, 0xcd, 0xe6, 0x8e, 0x5d, 0x3f, 0x58, 0x75, 0xda, 0x94, 0x87, 0x2e, - 0x1d, 0xe6, 0x67, 0x91, 0x1f, 0x16, 0x59, 0x4d, 0x56, 0x66, 0xc6, 0x91, 0xc9, 0x0f, 0x66, 0x60, - 0xb2, 0xb6, 0xef, 0x1e, 0x86, 0xd1, 0x46, 0xc5, 0x80, 0x7c, 0x95, 0xad, 0x6d, 0x7f, 0xdf, 0x3d, - 0x8c, 0x32, 0x68, 0x6a, 0xc6, 0x9f, 0xef, 0x0d, 0xf6, 0x2e, 0x5f, 0x77, 0xf1, 0x26, 0x13, 0xf8, - 0xd7, 0xb5, 0x4a, 0x4c, 0xbd, 0x4e, 0xe3, 0xcf, 0x33, 0x30, 0x8e, 0x77, 0x9e, 0x66, 0x13, 0x65, - 0xae, 0xef, 0xa5, 0x74, 0x8c, 0x61, 0xbb, 0xfa, 0x0c, 0xec, 0x5b, 0x30, 0x1d, 0x43, 0x23, 0x06, - 0x8c, 0xd4, 0xd0, 0xc1, 0x5f, 0x55, 0x50, 0x70, 0x97, 0x7f, 0x53, 0x94, 0x18, 0xcb, 0x0a, 0xd9, - 0xc3, 0x9b, 0xf8, 0xac, 0xbb, 0x08, 0xe0, 0x48, 0x90, 0xbc, 0xd9, 0x90, 0xf8, 0x97, 0x3c, 0xbc, - 0x69, 0x2a, 0x58, 0xc6, 0x3a, 0x8c, 0xd4, 0x5c, 0x2f, 0x58, 0x3a, 0xe2, 0x97, 0x89, 0x0a, 0xf5, - 0xeb, 0xea, 0xbb, 0xad, 0x83, 0x6f, 0x25, 0x75, 0x53, 0x14, 0x91, 0x22, 0x0c, 0xdf, 0x71, 0x68, - 0xb3, 0xa1, 0x1a, 0xe8, 0xee, 0x32, 0x80, 0xc9, 0xe1, 0xec, 0xc2, 0x75, 0x3e, 0xca, 0x89, 0x12, - 0x59, 0x02, 0x3f, 0xe9, 0xba, 0x29, 0x6b, 0xfd, 0xfb, 0x52, 0x98, 0x87, 0x20, 0x59, 0x53, 0x9f, - 0xae, 0xfe, 0x8f, 0x32, 0xb0, 0xd0, 0x9b, 0x44, 0x35, 0x2e, 0xce, 0xf4, 0x31, 0x2e, 0x7e, 0x35, - 0xfe, 0xce, 0x88, 0x68, 0xe2, 0x9d, 0x31, 0x7a, 0x5d, 0xac, 0xa0, 0x6d, 0x77, 0x9d, 0xca, 0x44, - 0x28, 0x97, 0xfb, 0x7c, 0x33, 0x22, 0xf2, 0x61, 0x0e, 0x90, 0xc6, 0x14, 0xb4, 0xc6, 0x6f, 0x0e, - 0xc1, 0xc5, 0x9e, 0x14, 0x64, 0x45, 0x49, 0xaf, 0x34, 0x15, 0x26, 0x76, 0xe9, 0x89, 0x7f, 0x1d, - 0xff, 0x45, 0xf3, 0xbd, 0xb8, 0xb7, 0xd9, 0x83, 0x30, 0xad, 0x4e, 0x16, 0x79, 0x7d, 0xea, 0x54, - 0x5e, 0x1c, 0x1d, 0x99, 0x41, 0x32, 0xc3, 0x0e, 0xfa, 0x25, 0xd2, 0xc0, 0x76, 0x9a, 0xbe, 0xba, - 0xec, 0x1a, 0x1c, 0x64, 0xca, 0xb2, 0xc8, 0xe2, 0x7b, 0x28, 0xdd, 0xe2, 0xdb, 0xf8, 0x57, 0x19, - 0x18, 0x0b, 0x3f, 0x9b, 0x2c, 0xc0, 0xf9, 0x4d, 0xb3, 0x54, 0x5e, 0xb6, 0x36, 0x3f, 0xdc, 0x58, - 0xb6, 0xb6, 0xd6, 0x6b, 0x1b, 0xcb, 0xe5, 0xea, 0x9d, 0xea, 0x72, 0xa5, 0xf0, 0x1c, 0x99, 0x81, - 0xc9, 0xad, 0xf5, 0xfb, 0xeb, 0x0f, 0xb6, 0xd7, 0xad, 0x65, 0xd3, 0x7c, 0x60, 0x16, 0x32, 0x64, - 0x12, 0xc6, 0xcc, 0xa5, 0x52, 0xd9, 0x5a, 0x7f, 0x50, 0x59, 0x2e, 0x64, 0x49, 0x01, 0x26, 0xca, - 0x0f, 0xd6, 0xd7, 0x97, 0xcb, 0x9b, 0xd5, 0x87, 0xd5, 0xcd, 0x0f, 0x0b, 0x39, 0x42, 0x60, 0x0a, - 0x11, 0x36, 0xcc, 0xea, 0x7a, 0xb9, 0xba, 0x51, 0x5a, 0x2d, 0x0c, 0x31, 0x18, 0xc3, 0x57, 0x60, - 0xc3, 0x21, 0xa3, 0xfb, 0x5b, 0x4b, 0xcb, 0x85, 0x11, 0x86, 0xc2, 0xfe, 0x52, 0x50, 0x46, 0x59, - 0xf5, 0x88, 0x52, 0x29, 0x6d, 0x96, 0x96, 0x4a, 0xb5, 0xe5, 0x42, 0x9e, 0x5c, 0x80, 0x59, 0x0d, - 0x64, 0xad, 0x3e, 0xb8, 0x5b, 0x5d, 0x2f, 0x8c, 0x91, 0x39, 0x28, 0x84, 0xb0, 0xca, 0x92, 0xb5, - 0x55, 0x5b, 0x36, 0x0b, 0x10, 0x87, 0xae, 0x97, 0xd6, 0x96, 0x0b, 0xe3, 0xc6, 0x7b, 0xdc, 0x0f, - 0x90, 0x77, 0x35, 0x39, 0x0f, 0xa4, 0xb6, 0x59, 0xda, 0xdc, 0xaa, 0xc5, 0x1a, 0x3f, 0x0e, 0xa3, - 0xb5, 0xad, 0x72, 0x79, 0xb9, 0x56, 0x2b, 0x64, 0x08, 0xc0, 0xc8, 0x9d, 0x52, 0x75, 0x75, 0xb9, - 0x52, 0xc8, 0x1a, 0x3f, 0x95, 0x81, 0x19, 0x29, 0x01, 0xca, 0x47, 0xa3, 0x27, 0x5c, 0x8b, 0xef, - 0x6b, 0x17, 0x5b, 0xe9, 0xa4, 0x15, 0xab, 0xa4, 0xcf, 0x32, 0xfc, 0xf9, 0x0c, 0x9c, 0x4b, 0xc5, - 0x26, 0x1f, 0x42, 0x41, 0x7e, 0xc1, 0x9a, 0x1d, 0xd4, 0xf7, 0xa3, 0x7d, 0xec, 0x52, 0xac, 0x96, - 0x18, 0x1a, 0x57, 0x6b, 0x46, 0x09, 0x9f, 0x13, 0x6c, 0x06, 0x4f, 0x47, 0x60, 0x7c, 0x3b, 0x03, - 0x17, 0x7a, 0x54, 0x43, 0xca, 0x30, 0x12, 0x26, 0xa6, 0xe9, 0x63, 0xc1, 0x36, 0xf7, 0x9d, 0xe3, - 0xa2, 0x40, 0xc4, 0x0c, 0xb9, 0xf8, 0x97, 0x39, 0x12, 0x66, 0x9a, 0xc1, 0x74, 0x2f, 0xbc, 0xfb, - 0x2e, 0xc6, 0x7a, 0x5e, 0xd4, 0x54, 0xda, 0xae, 0x2d, 0x8d, 0x8b, 0xbe, 0xcb, 0xd9, 0x87, 0x3e, - 0xe6, 0x7b, 0x31, 0x7e, 0x26, 0xc3, 0x84, 0xbb, 0x38, 0x22, 0x93, 0x79, 0x4b, 0xbe, 0xdf, 0x6d, - 0x51, 0xd3, 0x6d, 0xd2, 0x92, 0xb9, 0x2e, 0x8e, 0x0d, 0x94, 0x56, 0x6d, 0x2c, 0xc0, 0x6b, 0x85, - 0x65, 0x7b, 0x6d, 0xed, 0xb5, 0x5a, 0xa5, 0x21, 0x6f, 0x03, 0x2c, 0x3f, 0x0e, 0xa8, 0xd7, 0xb6, - 0x9b, 0x61, 0x8c, 0x16, 0x1e, 0x59, 0x4a, 0x40, 0x75, 0x79, 0x5b, 0x41, 0x36, 0xfe, 0x56, 0x06, - 0x26, 0xc4, 0xa5, 0xa9, 0xd4, 0xa4, 0x5e, 0xf0, 0x64, 0xd3, 0xeb, 0x6d, 0x6d, 0x7a, 0x85, 0x0e, - 0x1b, 0x0a, 0x7f, 0x56, 0x9c, 0x3a, 0xb3, 0xfe, 0x49, 0x06, 0x0a, 0x71, 0x44, 0xf2, 0x3e, 0xe4, - 0x6b, 0xf4, 0x11, 0xf5, 0x9c, 0xe0, 0x48, 0x6c, 0x94, 0x32, 0x85, 0x1f, 0xc7, 0x11, 0x65, 0x7c, - 0x3e, 0xf8, 0xe2, 0x97, 0x19, 0xd2, 0x0c, 0xba, 0xdf, 0x2b, 0x6a, 0x8f, 0xdc, 0xd3, 0x52, 0x7b, - 0x18, 0xff, 0x5b, 0x16, 0x2e, 0xdc, 0xa5, 0x81, 0xda, 0xa6, 0xd0, 0xbc, 0xe0, 0xd3, 0x83, 0xb5, - 0x4b, 0x69, 0xc9, 0x3c, 0x8c, 0x62, 0x91, 0x1c, 0x5f, 0x53, 0xfe, 0x24, 0x4b, 0xe1, 0xbc, 0xce, - 0x69, 0x39, 0xc2, 0x7a, 0xd4, 0x7d, 0x5d, 0xc9, 0x1a, 0x14, 0x4e, 0xeb, 0x2b, 0x30, 0x85, 0x61, - 0xf1, 0xbb, 0x6c, 0x39, 0xd0, 0x86, 0x50, 0xff, 0xe4, 0xcd, 0x18, 0x94, 0xbc, 0x0e, 0x05, 0x06, - 0x29, 0xd5, 0x0f, 0xda, 0xee, 0x61, 0x93, 0x36, 0xf6, 0x68, 0x03, 0x8f, 0xf5, 0xbc, 0x99, 0x80, - 0x4b, 0x9e, 0x5b, 0x6d, 0x7e, 0x75, 0xa3, 0x0d, 0xd4, 0xd1, 0x08, 0x9e, 0x11, 0x74, 0xe1, 0x6d, - 0x18, 0xff, 0x98, 0x19, 0xc0, 0x8c, 0xff, 0x35, 0x03, 0x73, 0xd8, 0x38, 0xa5, 0x62, 0x99, 0x9d, - 0x55, 0xf6, 0x96, 0x92, 0x14, 0xc7, 0x66, 0x20, 0x7d, 0x29, 0x84, 0xbd, 0x18, 0xe9, 0x84, 0xb2, - 0x03, 0xe8, 0x84, 0x6a, 0x67, 0xc9, 0x44, 0x3f, 0xa0, 0x4a, 0xeb, 0xde, 0x50, 0x3e, 0x57, 0x18, - 0x8a, 0x86, 0xdc, 0xf8, 0xc1, 0x2c, 0x8c, 0x9a, 0x14, 0x53, 0x74, 0x93, 0x2b, 0x30, 0xba, 0xee, - 0x06, 0xd4, 0x5f, 0xd3, 0xf2, 0xb1, 0xb7, 0x19, 0xc8, 0x6a, 0x35, 0x4c, 0x59, 0xc8, 0x26, 0xfc, - 0x86, 0xe7, 0x36, 0xba, 0xf5, 0x40, 0x9d, 0xf0, 0x1d, 0x0e, 0x32, 0x65, 0x19, 0x79, 0x03, 0xc6, - 0x04, 0xe7, 0xf0, 0x51, 0x17, 0x8d, 0x91, 0x3d, 0x1a, 0xa6, 0x78, 0x8f, 0x10, 0x50, 0xa6, 0xe5, - 0x02, 0xc6, 0x90, 0x22, 0xd3, 0x26, 0x64, 0x06, 0x29, 0xaa, 0x0f, 0xf7, 0x11, 0xd5, 0x3f, 0x0d, - 0x23, 0x25, 0xdf, 0xa7, 0x81, 0x8c, 0x62, 0x30, 0x11, 0x86, 0x6d, 0xf3, 0x69, 0xc0, 0x19, 0xdb, - 0x58, 0x6e, 0x0a, 0x3c, 0xe3, 0x5f, 0x64, 0x61, 0x18, 0xff, 0xc4, 0x27, 0x53, 0xaf, 0xbe, 0xaf, - 0x3d, 0x99, 0x7a, 0xf5, 0x7d, 0x13, 0xa1, 0xe4, 0x26, 0x6a, 0x2a, 0x64, 0xfe, 0x26, 0xd1, 0x7a, - 0x54, 0xc1, 0x37, 0x22, 0xb0, 0xa9, 0xe2, 0x84, 0x2f, 0xfc, 0xb9, 0xd4, 0xd8, 0x25, 0xe7, 0x21, - 0xfb, 0xa0, 0x26, 0x5a, 0x8c, 0x11, 0xb1, 0x5c, 0xdf, 0xcc, 0x3e, 0xa8, 0x61, 0x6f, 0xac, 0x94, - 0x16, 0xdf, 0xba, 0x2d, 0x1a, 0xca, 0x7b, 0x63, 0xdf, 0x5e, 0x7c, 0xeb, 0xb6, 0x29, 0x4a, 0x58, - 0xff, 0xe2, 0x37, 0xe3, 0xc3, 0x2b, 0xf7, 0xb9, 0xc7, 0xfe, 0xc5, 0xb6, 0xe1, 0x23, 0xab, 0x19, - 0x21, 0x90, 0x45, 0x18, 0x17, 0xb1, 0x1e, 0x10, 0x5f, 0x89, 0xc5, 0x20, 0x62, 0x41, 0x70, 0x0a, - 0x15, 0x89, 0x3f, 0xc1, 0x89, 0x01, 0x92, 0x59, 0x66, 0xc5, 0x13, 0x9c, 0x1c, 0x42, 0xdf, 0x54, - 0x50, 0xd8, 0x27, 0xf1, 0x37, 0xbc, 0xc8, 0x97, 0x7e, 0x4a, 0x09, 0x1a, 0x80, 0x69, 0x0e, 0x42, - 0x04, 0xe3, 0x97, 0xb3, 0x90, 0xdf, 0x68, 0x76, 0xf7, 0x9c, 0xf6, 0xc3, 0x9b, 0x84, 0x00, 0x5e, - 0xe3, 0x64, 0x1e, 0x0c, 0xf6, 0x37, 0xb9, 0x08, 0x79, 0x79, 0x73, 0x93, 0x1b, 0x92, 0x2f, 0x6e, - 0x6d, 0xf3, 0x20, 0xc7, 0x5d, 0x84, 0x3e, 0x93, 0x3f, 0xc9, 0x4d, 0x08, 0xef, 0x5f, 0xbd, 0x2e, - 0x6a, 0x43, 0x6c, 0xb1, 0x98, 0x21, 0x1a, 0x79, 0x13, 0xf0, 0x90, 0x10, 0x97, 0x07, 0xa9, 0xd0, - 0xe6, 0x9f, 0x26, 0xe4, 0x14, 0x4e, 0x82, 0x68, 0xe4, 0x16, 0x88, 0x89, 0x29, 0xb2, 0x99, 0x9f, - 0xd3, 0x09, 0x78, 0x7e, 0x48, 0x49, 0x22, 0x50, 0xc9, 0xbb, 0x30, 0x5e, 0xf7, 0x28, 0xbe, 0x3a, - 0xda, 0xcd, 0x28, 0x49, 0xb9, 0x4a, 0x59, 0x8e, 0xca, 0x1f, 0xde, 0x34, 0x55, 0x74, 0xe3, 0x97, - 0xf3, 0x30, 0xa1, 0x7e, 0x0f, 0x31, 0x61, 0xd6, 0x6f, 0xb2, 0xbb, 0xbb, 0x30, 0x36, 0xeb, 0x60, - 0xa1, 0x38, 0x4e, 0x2f, 0xeb, 0x1f, 0xc4, 0xf0, 0xb8, 0xe5, 0x99, 0x0c, 0x52, 0xb1, 0xf2, 0x9c, - 0x39, 0xe3, 0x47, 0x60, 0x8e, 0x47, 0x4a, 0x90, 0x77, 0x3b, 0xfe, 0x1e, 0x6d, 0x3b, 0xf2, 0xbd, - 0xe5, 0x65, 0x8d, 0xd1, 0x03, 0x51, 0x98, 0xe0, 0x15, 0x92, 0x91, 0xb7, 0x60, 0xc4, 0xed, 0xd0, - 0xb6, 0xed, 0x88, 0x33, 0xee, 0xf9, 0x18, 0x03, 0xda, 0x2e, 0x55, 0x15, 0x42, 0x81, 0x4c, 0x6e, - 0xc0, 0x90, 0x7b, 0x10, 0x8e, 0xd7, 0x45, 0x9d, 0xe8, 0x20, 0xb0, 0x15, 0x12, 0x44, 0x64, 0x04, - 0x1f, 0xd9, 0xad, 0x5d, 0x31, 0x62, 0x3a, 0xc1, 0x3d, 0xbb, 0xb5, 0xab, 0x12, 0x30, 0x44, 0xf2, - 0x01, 0x40, 0xc7, 0xde, 0xa3, 0x9e, 0xd5, 0xe8, 0x06, 0x47, 0x62, 0xdc, 0x2e, 0x69, 0x64, 0x1b, - 0xac, 0xb8, 0xd2, 0x0d, 0x8e, 0x14, 0xda, 0xb1, 0x8e, 0x04, 0x92, 0x12, 0x40, 0xcb, 0x0e, 0x02, - 0xea, 0xb5, 0x5c, 0x61, 0xed, 0x17, 0x05, 0x21, 0xe4, 0x0c, 0xd6, 0xc2, 0x62, 0x85, 0x83, 0x42, - 0x84, 0x1f, 0xed, 0x78, 0xb6, 0xc8, 0x29, 0x1f, 0xfb, 0x68, 0xc7, 0xd3, 0x5a, 0xc9, 0x10, 0xc9, - 0xe7, 0x60, 0xb4, 0xe1, 0xf8, 0x75, 0xd7, 0x6b, 0x88, 0xe8, 0x25, 0x2f, 0x68, 0x34, 0x15, 0x5e, - 0xa6, 0x90, 0x49, 0x74, 0xf6, 0xb5, 0x22, 0x08, 0xe9, 0xba, 0x7b, 0x88, 0x6a, 0xfe, 0xf8, 0xd7, - 0xd6, 0xc2, 0x62, 0xf5, 0x6b, 0x23, 0x22, 0x36, 0x94, 0x7b, 0x4e, 0xd0, 0xb4, 0x77, 0xc4, 0x3b, - 0xb7, 0x3e, 0x94, 0x77, 0xb1, 0x48, 0x1d, 0x4a, 0x8e, 0x4c, 0xde, 0x86, 0x3c, 0x6d, 0x07, 0x9e, - 0x6d, 0x39, 0x0d, 0xe1, 0x25, 0xa9, 0x7f, 0x34, 0x3b, 0x80, 0xed, 0x6a, 0x45, 0xfd, 0x68, 0xc4, - 0xaf, 0x36, 0x58, 0xff, 0xf8, 0x75, 0xa7, 0x25, 0x9c, 0x1b, 0xf5, 0xfe, 0xa9, 0x95, 0xab, 0x6b, - 0x6a, 0xff, 0x30, 0x44, 0xf2, 0x3e, 0x8c, 0xb2, 0xf5, 0xdb, 0x70, 0xf7, 0x44, 0x40, 0x08, 0x43, - 0xef, 0x1f, 0x5e, 0x96, 0x98, 0xae, 0x92, 0x88, 0x2d, 0x64, 0xfb, 0xd0, 0xb7, 0x9c, 0xba, 0x08, - 0xf2, 0xa0, 0x2f, 0xc7, 0xd2, 0x76, 0xad, 0x5a, 0x56, 0xc8, 0x86, 0xed, 0x43, 0xbf, 0x5a, 0x27, - 0x8b, 0x30, 0x8c, 0x29, 0x22, 0x44, 0x20, 0x4a, 0x9d, 0x06, 0x93, 0x43, 0xa8, 0x34, 0x88, 0xca, - 0x06, 0xb2, 0xe5, 0xa3, 0xbf, 0x88, 0x48, 0xd4, 0xa0, 0xf7, 0xc9, 0x5a, 0x0d, 0x9d, 0x48, 0xd4, - 0x4f, 0x14, 0xe8, 0xe4, 0x12, 0x40, 0xf4, 0x8a, 0xcf, 0xdf, 0x5c, 0x4c, 0x05, 0xf2, 0xf9, 0xa1, - 0xff, 0xf3, 0x17, 0x8b, 0x99, 0x25, 0x80, 0xbc, 0x8c, 0x50, 0x63, 0xac, 0xc2, 0xc5, 0x9e, 0xeb, - 0x9e, 0x5c, 0x83, 0xc2, 0xae, 0x2d, 0xb4, 0x7e, 0xf5, 0x7d, 0xbb, 0xdd, 0xa6, 0x4d, 0xb1, 0xe3, - 0x4e, 0x4b, 0x78, 0x99, 0x83, 0x39, 0x67, 0xe3, 0x03, 0x98, 0x4b, 0x1b, 0x70, 0xf2, 0x12, 0x4c, - 0xa8, 0xc1, 0x78, 0x04, 0x93, 0x71, 0xbb, 0xe3, 0xc8, 0x70, 0x3c, 0x82, 0xc1, 0x6f, 0x64, 0xe0, - 0x85, 0x7e, 0xdb, 0x07, 0x59, 0x80, 0x7c, 0xc7, 0x73, 0x5c, 0x14, 0x53, 0x45, 0xb6, 0x03, 0xf9, - 0x1b, 0x13, 0x19, 0xa0, 0x3c, 0x15, 0xd8, 0x7b, 0xc2, 0xc1, 0xc3, 0x1c, 0x43, 0xc8, 0xa6, 0xbd, - 0xe7, 0x93, 0x4f, 0xc1, 0x4c, 0x83, 0xee, 0xda, 0xdd, 0x66, 0x60, 0xf9, 0xf5, 0x7d, 0xda, 0x40, - 0x9f, 0x2a, 0x34, 0xdc, 0x33, 0x0b, 0xa2, 0xa0, 0x26, 0xe1, 0x89, 0x2f, 0x1e, 0xee, 0xf1, 0xc5, - 0xf7, 0x86, 0xf2, 0x99, 0x42, 0xd6, 0x44, 0x4b, 0x29, 0xe3, 0xfb, 0xb3, 0x30, 0xdf, 0x6b, 0xbd, - 0x90, 0xf7, 0xd2, 0xfa, 0x80, 0x3f, 0x5c, 0xa8, 0x70, 0xf5, 0xe1, 0x42, 0xa9, 0x8d, 0x2c, 0x42, - 0xe8, 0x11, 0x75, 0x5a, 0x74, 0x03, 0x09, 0x63, 0x34, 0x1d, 0xdb, 0xf7, 0x0f, 0xd9, 0x96, 0x90, - 0x53, 0x02, 0xda, 0x0a, 0x98, 0x4a, 0x23, 0x61, 0xe4, 0xb3, 0x00, 0xf5, 0xa6, 0xeb, 0x53, 0xb4, - 0x0f, 0x10, 0xb2, 0x06, 0x37, 0x0b, 0x0f, 0xa1, 0xea, 0x83, 0x30, 0x42, 0xcb, 0x6e, 0x83, 0x8a, - 0x01, 0xb4, 0xe1, 0x42, 0x8f, 0x0d, 0x92, 0x0d, 0x4f, 0x94, 0x1d, 0x5e, 0xe6, 0x9a, 0xea, 0x86, - 0x39, 0xe2, 0xe3, 0x3d, 0x9e, 0xed, 0x35, 0x47, 0x8e, 0x80, 0x24, 0x77, 0x41, 0xc6, 0x5d, 0x18, - 0x37, 0x77, 0xbd, 0x90, 0x3b, 0x87, 0x6c, 0x79, 0x4d, 0x52, 0x84, 0x71, 0x99, 0x4b, 0x92, 0xc9, - 0xf2, 0x9c, 0x39, 0x08, 0xd0, 0x7d, 0x8a, 0x93, 0x07, 0x23, 0x96, 0xa2, 0xdf, 0x9b, 0x90, 0x12, - 0xc6, 0x10, 0xb2, 0x79, 0xd4, 0x91, 0xad, 0x7b, 0x41, 0xce, 0x6f, 0xfd, 0x6c, 0x12, 0xa5, 0x3f, - 0x9b, 0x91, 0xc3, 0x9f, 0xdc, 0xdc, 0x4f, 0xfb, 0x3e, 0x02, 0xe8, 0xa5, 0x24, 0x3e, 0x0c, 0xff, - 0x66, 0x52, 0x8b, 0x5c, 0x75, 0x42, 0x6a, 0x11, 0x3f, 0xc9, 0x15, 0x98, 0xf6, 0xb8, 0x1d, 0x6b, - 0xe0, 0x8a, 0xfe, 0xe4, 0x79, 0x3b, 0x26, 0x39, 0x78, 0xd3, 0xc5, 0x3e, 0x15, 0xdf, 0x75, 0x2f, - 0xec, 0x30, 0xe5, 0xac, 0x23, 0xd7, 0x61, 0x8c, 0x9d, 0x75, 0x18, 0xe9, 0x26, 0xe6, 0x1e, 0x81, - 0x78, 0x28, 0x39, 0x98, 0xf9, 0x8f, 0xc4, 0xdf, 0x82, 0xd7, 0xb7, 0xb3, 0x92, 0x99, 0x7a, 0xd2, - 0x92, 0x0b, 0x30, 0xea, 0x7a, 0x7b, 0x4a, 0xd3, 0x46, 0x5c, 0x6f, 0x8f, 0xb5, 0xeb, 0x2a, 0x14, - 0xb8, 0xb7, 0x0e, 0x0f, 0x83, 0xe0, 0x1f, 0xb5, 0xf9, 0x55, 0x3c, 0x6f, 0x4e, 0x71, 0x38, 0x26, - 0xcc, 0x3f, 0x6a, 0xd7, 0x19, 0xa6, 0xef, 0xbb, 0x96, 0x1a, 0xe0, 0x4a, 0x34, 0x7b, 0xca, 0xf7, - 0xdd, 0x28, 0xd2, 0x55, 0x83, 0x2c, 0xc1, 0x24, 0xe3, 0x13, 0x86, 0xd9, 0x12, 0x82, 0xc0, 0x8b, - 0x49, 0x41, 0xe0, 0xa8, 0x5d, 0x97, 0x9f, 0x68, 0x4e, 0xf8, 0xca, 0x2f, 0x72, 0x1f, 0x0a, 0x8a, - 0xc4, 0x84, 0xfe, 0x98, 0x31, 0x9b, 0xea, 0x88, 0x8d, 0x22, 0x69, 0x55, 0xdb, 0xff, 0x1f, 0x7b, - 0xcf, 0x16, 0xdb, 0x46, 0x76, 0x9d, 0x87, 0xa4, 0x24, 0xea, 0x50, 0x8f, 0xd1, 0xf5, 0x43, 0x5a, - 0xc9, 0x6b, 0xaf, 0x67, 0x6d, 0xaf, 0xcd, 0xcd, 0x6e, 0x62, 0x6f, 0x37, 0xbb, 0x9b, 0xf7, 0x88, - 0x1c, 0x89, 0xb4, 0xf9, 0xca, 0x0c, 0x29, 0xc5, 0x71, 0x92, 0xc9, 0x98, 0x1c, 0x49, 0xd3, 0x50, - 0x24, 0xc3, 0x21, 0xd7, 0x71, 0x50, 0xa0, 0x0d, 0x0a, 0x24, 0x40, 0x5f, 0x69, 0xd3, 0x02, 0x0d, - 0x8a, 0x02, 0xf9, 0x68, 0x50, 0xf4, 0xa3, 0xbf, 0x45, 0x8b, 0xb6, 0x3f, 0xf9, 0x0b, 0x10, 0x04, - 0x08, 0xd0, 0xbf, 0xb4, 0x58, 0xb4, 0x0b, 0xb4, 0x40, 0x1f, 0x7f, 0x45, 0xfb, 0x91, 0xaf, 0xe2, - 0x9e, 0x7b, 0xef, 0xcc, 0x9d, 0x07, 0x69, 0x39, 0xbb, 0x69, 0x1b, 0x20, 0x5f, 0x12, 0xcf, 0x3d, - 0xe7, 0xce, 0x7d, 0xdf, 0x73, 0xce, 0x3d, 0x8f, 0xa3, 0xa1, 0xb9, 0xde, 0x8d, 0x02, 0xf8, 0xd0, - 0x7c, 0x47, 0x11, 0x67, 0x69, 0x0a, 0x11, 0xd1, 0x60, 0xf5, 0xc4, 0xf1, 0x6d, 0xdf, 0x3f, 0x65, - 0x36, 0x62, 0x3c, 0xb0, 0x6f, 0xe1, 0xc4, 0xf1, 0x2d, 0xff, 0x54, 0x24, 0x0e, 0xb9, 0x48, 0x71, - 0x86, 0xce, 0x74, 0x72, 0x62, 0xcb, 0xfc, 0x1f, 0x1b, 0xb1, 0xf3, 0x27, 0x8e, 0xdf, 0xa4, 0x65, - 0x52, 0xdd, 0xe4, 0x3a, 0xac, 0x61, 0xbd, 0x5d, 0x4f, 0x54, 0x8c, 0xa1, 0x2c, 0xcc, 0x15, 0x5a, - 0x71, 0xd7, 0x63, 0x35, 0xf3, 0x16, 0xfe, 0x6b, 0x06, 0x2e, 0xa5, 0x8f, 0x0e, 0x2e, 0x4f, 0x3a, - 0xa6, 0xe8, 0xa3, 0xc7, 0xdb, 0xb6, 0x4c, 0x21, 0x2c, 0x0c, 0x49, 0xda, 0xe4, 0x64, 0x52, 0x27, - 0xa7, 0x08, 0x1b, 0x58, 0x11, 0xe7, 0x34, 0xfb, 0x9e, 0x3f, 0xe1, 0xd1, 0x35, 0xcc, 0x75, 0x5a, - 0xc0, 0xce, 0xf3, 0x1a, 0x05, 0x93, 0x1b, 0xb0, 0x26, 0x4e, 0xe4, 0xe1, 0xe3, 0x01, 0xfd, 0x30, - 0x3b, 0x8e, 0x57, 0x39, 0xb4, 0x89, 0x40, 0x72, 0x11, 0x16, 0x9d, 0xd1, 0x88, 0x7e, 0x92, 0x9d, - 0xc2, 0x0b, 0xce, 0x68, 0xc4, 0x92, 0xdb, 0xa0, 0x47, 0xa2, 0x7d, 0x84, 0x56, 0x42, 0xdc, 0x24, - 0xd1, 0x5c, 0x41, 0x20, 0xb3, 0x1c, 0xf2, 0xe9, 0xbe, 0xa7, 0xb4, 0x02, 0x65, 0x09, 0x51, 0xc0, - 0x19, 0x05, 0x08, 0xcf, 0x41, 0x5e, 0xbc, 0x57, 0x33, 0xc7, 0x0a, 0x73, 0xc9, 0xe1, 0x6f, 0xd5, - 0xaf, 0xc3, 0x66, 0xcf, 0xf3, 0x71, 0xf1, 0xb2, 0x2e, 0x8d, 0x46, 0xdc, 0x07, 0x92, 0x05, 0xc9, - 0x35, 0x2f, 0xf0, 0x62, 0x3a, 0x92, 0xfa, 0x68, 0xc4, 0x3c, 0x21, 0xf9, 0x58, 0xbf, 0x09, 0xeb, - 0x9c, 0xe3, 0xe2, 0x57, 0x24, 0xb6, 0x85, 0x6f, 0x60, 0x2a, 0x0a, 0xf1, 0x74, 0x42, 0xc0, 0x41, - 0xd5, 0x9e, 0xa0, 0xfc, 0x07, 0x05, 0x2e, 0xa6, 0xb2, 0x6c, 0xe4, 0x8b, 0xc0, 0x5c, 0xbe, 0x26, - 0x43, 0x7b, 0xec, 0x76, 0xbd, 0x91, 0x87, 0x41, 0x31, 0x98, 0x4a, 0xf3, 0xee, 0x3c, 0x66, 0x0f, - 0xdd, 0xc7, 0xda, 0x43, 0x33, 0x20, 0x62, 0xba, 0x16, 0x75, 0x1c, 0x03, 0x6f, 0x3f, 0x84, 0x8b, - 0xa9, 0xa8, 0x29, 0x3a, 0x90, 0x0f, 0x44, 0x93, 0x39, 0x8b, 0x47, 0xaa, 0x58, 0xa7, 0x25, 0xdd, - 0x08, 0xef, 0xde, 0xf7, 0x82, 0xee, 0xc5, 0x98, 0x3b, 0x62, 0xc4, 0xf7, 0x75, 0x9a, 0x7c, 0x22, - 0x88, 0x66, 0x6f, 0xed, 0x87, 0x70, 0x91, 0x2f, 0xbe, 0xe3, 0xb1, 0x33, 0x3a, 0x09, 0xab, 0x63, - 0x0d, 0x7d, 0x29, 0xad, 0x3a, 0xb6, 0x2a, 0xf7, 0x29, 0x7e, 0x50, 0xeb, 0x79, 0x27, 0x09, 0xe4, - 0x7d, 0xf8, 0x5a, 0x46, 0x6c, 0xf5, 0x94, 0xe6, 0xa4, 0x2c, 0x6b, 0x25, 0x6d, 0x59, 0x9f, 0x7d, - 0x4f, 0x35, 0x80, 0xc8, 0x87, 0x15, 0xd3, 0x7a, 0x72, 0x83, 0x2a, 0xc1, 0xa7, 0xf3, 0x86, 0x48, - 0x47, 0x83, 0xc5, 0x92, 0x69, 0x6e, 0x74, 0xe3, 0x20, 0xb2, 0x03, 0xcb, 0x41, 0xbe, 0x6a, 0x7e, - 0x71, 0xe4, 0x19, 0xa0, 0xda, 0x23, 0x2f, 0xc0, 0x0a, 0x63, 0xc9, 0x23, 0x7b, 0x0e, 0x10, 0xa6, - 0xd3, 0x8d, 0x27, 0xc6, 0x40, 0x81, 0x17, 0x9e, 0x36, 0x86, 0xe4, 0x10, 0x2e, 0xa1, 0x59, 0x87, - 0x3f, 0x0c, 0xa6, 0xc1, 0xee, 0x3a, 0xdd, 0x13, 0x97, 0xaf, 0x5a, 0x2d, 0x75, 0x32, 0x46, 0x23, - 0xcb, 0x6a, 0x4a, 0xf3, 0x30, 0x1a, 0x59, 0xfe, 0x50, 0xfc, 0x2e, 0x51, 0x72, 0xde, 0x86, 0x1e, - 0xec, 0xcc, 0xa1, 0x94, 0x0e, 0x0e, 0x45, 0x3e, 0x38, 0x6e, 0x81, 0x7a, 0xe4, 0xf6, 0x28, 0x4f, - 0xec, 0xf6, 0xb0, 0x69, 0x6f, 0xdf, 0x65, 0x19, 0xda, 0xcd, 0xb5, 0x00, 0x6e, 0xf9, 0xc3, 0x83, - 0xbb, 0xfc, 0x2b, 0xa7, 0xe2, 0xca, 0x93, 0xc5, 0x0a, 0xf2, 0x2a, 0x9c, 0x8f, 0x05, 0x1c, 0x09, - 0x3d, 0xd8, 0xcd, 0x0d, 0x5a, 0x14, 0x0d, 0x4f, 0x75, 0x0d, 0x56, 0xc4, 0xaa, 0x18, 0x07, 0x7e, - 0x70, 0x66, 0x81, 0xc3, 0xe8, 0xae, 0xe3, 0x9f, 0x9b, 0x8a, 0x4e, 0xa5, 0x4a, 0x24, 0x67, 0xe0, - 0xa5, 0xc9, 0x2b, 0x40, 0x02, 0xbe, 0x3d, 0x38, 0x28, 0xf8, 0x07, 0x37, 0x44, 0x49, 0xb0, 0xc3, - 0xf9, 0x67, 0xff, 0x36, 0x03, 0xe7, 0x53, 0x44, 0x19, 0x2a, 0x04, 0x78, 0x83, 0x89, 0x7b, 0xcc, - 0x44, 0x08, 0xb9, 0x93, 0xeb, 0x12, 0x9c, 0xeb, 0xa7, 0x16, 0x59, 0x06, 0x72, 0xfe, 0x2d, 0xfe, - 0x8b, 0x1e, 0x1e, 0xce, 0x58, 0xa8, 0x5e, 0xe8, 0xbf, 0xa4, 0x0a, 0x1b, 0x98, 0x56, 0xc1, 0xf7, - 0x86, 0x98, 0x9d, 0x01, 0x99, 0x90, 0x5c, 0x44, 0xd8, 0xc1, 0x56, 0xb4, 0x24, 0x24, 0xca, 0x85, - 0x98, 0xea, 0x28, 0x06, 0x21, 0x1f, 0x85, 0x6d, 0xe9, 0xae, 0xb1, 0x63, 0x3b, 0x0f, 0x2d, 0xdd, - 0xcd, 0x4d, 0x27, 0xb8, 0x75, 0xca, 0x91, 0x3d, 0xb8, 0x0b, 0x57, 0x70, 0x12, 0xbd, 0xde, 0xc8, - 0x4e, 0xe4, 0xe1, 0xc0, 0xae, 0xb2, 0xc0, 0xf5, 0xdb, 0x14, 0xab, 0xda, 0x1b, 0xc5, 0x52, 0x72, - 0xd0, 0x5e, 0xf3, 0xe1, 0x7b, 0x08, 0x17, 0x53, 0x5b, 0x4c, 0x2f, 0x18, 0x34, 0xa4, 0x0a, 0x79, - 0xa3, 0x25, 0xfa, 0x9b, 0x32, 0x47, 0xd7, 0x60, 0xe5, 0x91, 0xeb, 0x8c, 0xdd, 0x31, 0xbf, 0xb9, - 0xf9, 0x92, 0x60, 0x30, 0xf9, 0xe2, 0xee, 0x45, 0xa7, 0x86, 0xeb, 0x8c, 0x48, 0x1d, 0xce, 0xb3, - 0x1b, 0xd0, 0x3b, 0x45, 0x66, 0x90, 0xeb, 0x99, 0x94, 0x08, 0x3b, 0x84, 0x24, 0x78, 0x35, 0x55, - 0x11, 0x8b, 0x51, 0x9b, 0x1b, 0xc7, 0x71, 0x10, 0xdd, 0xd1, 0x97, 0xd2, 0xb1, 0xc9, 0x2e, 0x14, - 0x58, 0xe5, 0x4c, 0x2c, 0x60, 0x0f, 0x04, 0xd7, 0xe6, 0x7e, 0xa1, 0x84, 0xf6, 0xc5, 0x7e, 0xf0, - 0x3f, 0xbd, 0xaf, 0xf1, 0x2d, 0xd6, 0x3e, 0x95, 0xdf, 0x3f, 0xcc, 0x15, 0x04, 0xf2, 0x77, 0x0f, - 0xed, 0xef, 0x14, 0xd1, 0xd5, 0x88, 0x70, 0x4c, 0x97, 0x96, 0xef, 0x0e, 0xc4, 0x1b, 0xd0, 0xb2, - 0xc9, 0x7f, 0x3d, 0xe3, 0x52, 0x27, 0x6f, 0xc0, 0x0a, 0xad, 0xf6, 0x78, 0x3a, 0x60, 0x4b, 0x2e, - 0x1b, 0x09, 0xb4, 0x53, 0x67, 0x45, 0x74, 0xda, 0x2a, 0xe7, 0xcc, 0xc2, 0x69, 0xf8, 0x93, 0x72, - 0xcb, 0xfe, 0xe9, 0x64, 0x24, 0x2f, 0x54, 0xa1, 0x28, 0xb4, 0xea, 0xed, 0x16, 0x27, 0xc9, 0x53, - 0x9c, 0x90, 0x5b, 0xde, 0x5d, 0x64, 0xaa, 0x42, 0xed, 0x65, 0x28, 0x48, 0x75, 0xd3, 0xce, 0x30, - 0xcf, 0x19, 0xd1, 0x19, 0xf6, 0x8b, 0x4f, 0xf6, 0x23, 0xc8, 0x8b, 0x2a, 0xa9, 0x58, 0x70, 0x32, - 0xf4, 0xc5, 0x26, 0xc7, 0xff, 0x29, 0x8c, 0x8e, 0x32, 0x76, 0x72, 0xc1, 0xc4, 0xff, 0xf1, 0x2e, - 0x99, 0x38, 0x54, 0x1e, 0xe8, 0xfb, 0xf6, 0x08, 0x2d, 0xb0, 0x02, 0xe6, 0x99, 0xc2, 0xdb, 0x7d, - 0x9f, 0xd9, 0x65, 0xf1, 0x6f, 0xfc, 0x55, 0x70, 0x09, 0xc7, 0xb4, 0x09, 0xb3, 0xce, 0xcc, 0xc8, - 0x95, 0x91, 0x49, 0x5e, 0x19, 0x2c, 0x80, 0x0a, 0xa7, 0x64, 0x5f, 0x06, 0x84, 0xe1, 0x95, 0x21, - 0x9d, 0x0c, 0xb9, 0xc8, 0xc9, 0x20, 0xc9, 0xe4, 0xe1, 0xec, 0xb1, 0x1b, 0x47, 0xc8, 0xe4, 0xf1, - 0x73, 0xea, 0x4f, 0x33, 0x42, 0x45, 0xb0, 0x3b, 0x1c, 0x4e, 0xfc, 0xc9, 0xd8, 0x19, 0x45, 0x54, - 0xa1, 0xe4, 0x14, 0x9e, 0x43, 0x0e, 0xfa, 0x2e, 0xa6, 0xb0, 0x18, 0x8e, 0x45, 0xcc, 0x8e, 0x60, - 0xe5, 0x16, 0xee, 0x7e, 0x30, 0xca, 0xe3, 0xeb, 0x14, 0x5b, 0x97, 0x91, 0xe9, 0x82, 0x95, 0x6a, - 0xad, 0x9c, 0x33, 0x37, 0x59, 0x9d, 0x09, 0x2c, 0x52, 0x49, 0xd9, 0xc4, 0x71, 0x5d, 0xe8, 0x6e, - 0xb8, 0xa3, 0xa3, 0xb5, 0xca, 0x7b, 0x9d, 0x7c, 0x02, 0x96, 0xbd, 0x9e, 0x9c, 0xa9, 0x31, 0xae, - 0x85, 0xab, 0xf6, 0x58, 0xb4, 0xe8, 0xb0, 0x0e, 0xba, 0xe6, 0x3c, 0x0e, 0xdd, 0x5d, 0x8d, 0x28, - 0x8d, 0xb5, 0x5d, 0x21, 0x8d, 0x26, 0xc9, 0xc8, 0x1a, 0x64, 0x82, 0x19, 0xce, 0x78, 0x3d, 0xb6, - 0xbd, 0xc2, 0x78, 0xd5, 0x26, 0xff, 0xa5, 0xfd, 0x0a, 0xdc, 0x3a, 0xeb, 0x18, 0xd1, 0xad, 0x38, - 0x63, 0xc0, 0x97, 0xcd, 0x0d, 0x27, 0x31, 0x6e, 0xd7, 0x40, 0x0e, 0xb7, 0xeb, 0x89, 0xc3, 0x4f, - 0xc0, 0x3a, 0x63, 0x4f, 0xfb, 0xcb, 0x2c, 0xac, 0x45, 0xd5, 0xe4, 0xe4, 0x65, 0xc8, 0x49, 0x27, - 0xd0, 0x66, 0x8a, 0x2e, 0x1d, 0xcf, 0x1d, 0x44, 0x3a, 0xd3, 0x89, 0x43, 0xee, 0xc1, 0x1a, 0x1a, - 0xee, 0x21, 0xeb, 0x39, 0xf1, 0xf8, 0xe3, 0xcb, 0xfc, 0xf7, 0xb3, 0xfc, 0xf7, 0xdf, 0xb9, 0x7a, - 0x0e, 0x9f, 0xca, 0x56, 0x28, 0x2d, 0xe5, 0xfe, 0x68, 0xa1, 0xa4, 0x05, 0xcd, 0xcd, 0xd6, 0x82, - 0xf2, 0xae, 0xcc, 0xd0, 0x82, 0x2e, 0xcc, 0xd1, 0x82, 0x86, 0x94, 0xb2, 0x16, 0x14, 0x75, 0xe1, - 0x4b, 0xb3, 0x74, 0xe1, 0x21, 0x0d, 0xd3, 0x85, 0x87, 0x5a, 0xcc, 0xfc, 0x4c, 0x2d, 0x66, 0x48, - 0xc3, 0xb5, 0x98, 0xd7, 0xf9, 0x18, 0x8d, 0x9d, 0xc7, 0x36, 0x0e, 0x1e, 0xbf, 0x16, 0xb1, 0xf7, - 0xa6, 0xf3, 0x18, 0x8d, 0x6b, 0x76, 0x97, 0x41, 0x58, 0xe4, 0x68, 0xbf, 0xaf, 0xc4, 0x34, 0x81, - 0x62, 0xfe, 0x6e, 0xc0, 0x1a, 0xbb, 0xac, 0xdc, 0x9e, 0x24, 0x6b, 0xae, 0x9a, 0xab, 0x02, 0xca, - 0xe4, 0xcd, 0x97, 0x60, 0x3d, 0x40, 0xe3, 0x22, 0x17, 0x7a, 0xea, 0x99, 0x01, 0x35, 0x0f, 0x3b, - 0xf3, 0x32, 0x6c, 0x04, 0x88, 0x5c, 0x9b, 0xc3, 0xc4, 0xcd, 0x55, 0x53, 0x15, 0x05, 0x2d, 0x0e, - 0xd7, 0x8e, 0xe3, 0x92, 0xc7, 0xcf, 0xa8, 0x55, 0xda, 0xf7, 0xb2, 0x11, 0x2d, 0x89, 0xf8, 0x0c, - 0xbd, 0x45, 0xfd, 0xa1, 0xcd, 0x07, 0x89, 0x9f, 0x45, 0xd7, 0x66, 0xcc, 0x19, 0xb7, 0x69, 0xb2, - 0xac, 0xa6, 0x09, 0xbe, 0x3f, 0x14, 0x26, 0x4e, 0x36, 0xe3, 0xa8, 0xd9, 0xbd, 0x8f, 0x6b, 0x56, - 0x54, 0xc7, 0x0e, 0x9e, 0xe2, 0xfc, 0xea, 0x84, 0x98, 0x4a, 0x97, 0x2c, 0x72, 0xd6, 0xc1, 0x2f, - 0xf1, 0x81, 0x0e, 0xa0, 0x52, 0xd1, 0x8f, 0x56, 0x9e, 0x4d, 0x91, 0x9d, 0x12, 0x95, 0xe3, 0x28, - 0x61, 0xcd, 0xea, 0x54, 0xfc, 0x2b, 0xaa, 0x35, 0x60, 0x05, 0x75, 0x14, 0xa2, 0xc2, 0x5c, 0x8a, - 0x0a, 0x3e, 0xd9, 0xf9, 0x52, 0xb5, 0x6e, 0x16, 0x28, 0x9d, 0xa8, 0xe6, 0x04, 0x9e, 0x93, 0x35, - 0x0b, 0xd1, 0x46, 0x2e, 0x88, 0x28, 0xba, 0x73, 0x47, 0x20, 0x54, 0x40, 0x60, 0x53, 0x2f, 0x39, - 0x51, 0x00, 0x47, 0xd3, 0x4e, 0x60, 0x7b, 0xf6, 0x94, 0xcc, 0xc9, 0xd0, 0x14, 0x5e, 0xa0, 0x19, - 0xf9, 0x02, 0x95, 0xf5, 0x0c, 0xd9, 0x88, 0x9e, 0x41, 0xfb, 0x93, 0x2c, 0xbc, 0x78, 0x86, 0xe9, - 0x9a, 0xf3, 0xcd, 0x4f, 0x45, 0xd9, 0xb3, 0x4c, 0x44, 0x32, 0xa4, 0x95, 0xf2, 0x03, 0x92, 0x4a, - 0xa9, 0xe9, 0xcc, 0xd9, 0x17, 0x61, 0x9d, 0x9d, 0x82, 0xcc, 0x2c, 0xf1, 0x68, 0xda, 0x3f, 0xc3, - 0x31, 0xb8, 0x23, 0x7c, 0xa8, 0x62, 0xa4, 0x78, 0x32, 0xe2, 0x89, 0x61, 0x05, 0x30, 0xd2, 0x86, - 0x02, 0xa2, 0x1d, 0x39, 0x5e, 0xff, 0x4c, 0xce, 0x3c, 0xc2, 0x43, 0x4b, 0x26, 0x63, 0xd6, 0xd4, - 0x14, 0xb0, 0x87, 0xbf, 0xc9, 0x4d, 0x58, 0x1f, 0x4c, 0x4f, 0x29, 0xe3, 0xc1, 0xd6, 0x02, 0xb7, - 0xfe, 0x58, 0x30, 0x57, 0x07, 0xd3, 0x53, 0x7d, 0x34, 0xc2, 0x29, 0x45, 0x33, 0x91, 0x0d, 0x8a, - 0xc7, 0x76, 0xad, 0xc0, 0x5c, 0x44, 0x4c, 0x5a, 0x01, 0xdb, 0xb7, 0x1c, 0xf7, 0x02, 0x30, 0xa3, - 0x41, 0x9e, 0xa1, 0x8a, 0xfd, 0xd0, 0xfe, 0x3b, 0x23, 0xe4, 0xdd, 0xd9, 0xeb, 0xfe, 0x17, 0x53, - 0x94, 0x32, 0x45, 0xb7, 0x40, 0xa5, 0x43, 0x1f, 0x1e, 0x2a, 0xc1, 0x1c, 0xad, 0x0d, 0xa6, 0xa7, - 0xc1, 0xd8, 0xc9, 0x03, 0xbf, 0x28, 0x0f, 0xfc, 0x1b, 0x42, 0x1e, 0x4e, 0x3d, 0x1e, 0x66, 0x0f, - 0xb9, 0xf6, 0x1f, 0x59, 0xb8, 0x79, 0xb6, 0x43, 0xe0, 0x17, 0xf3, 0x96, 0x32, 0x6f, 0x31, 0xd5, - 0xe9, 0x42, 0x42, 0x75, 0x9a, 0xb2, 0xf7, 0x16, 0xd3, 0xf6, 0x5e, 0x42, 0x51, 0xbb, 0x94, 0xa2, - 0xa8, 0x4d, 0xdd, 0xa0, 0xf9, 0xa7, 0x6c, 0xd0, 0x65, 0x79, 0x9d, 0xfc, 0x4b, 0xa0, 0xc0, 0x88, - 0xca, 0x03, 0x0f, 0xe1, 0xbc, 0x90, 0x07, 0xd8, 0xcd, 0x11, 0xea, 0xdf, 0x0b, 0x77, 0x6f, 0xa7, - 0x49, 0x02, 0x88, 0x96, 0xc2, 0xad, 0x6f, 0x70, 0x19, 0x20, 0x2c, 0xff, 0xff, 0xc3, 0xfd, 0x93, - 0x07, 0x70, 0x09, 0xe3, 0xbb, 0x77, 0xe5, 0x97, 0x03, 0x7b, 0xec, 0x1e, 0xf1, 0xf5, 0x70, 0x2d, - 0xc1, 0x2b, 0x7b, 0x5d, 0xa9, 0x39, 0xa6, 0x7b, 0x54, 0x39, 0x67, 0x5e, 0xf0, 0x53, 0xe0, 0x71, - 0xc1, 0xe2, 0xcf, 0x15, 0xd0, 0x9e, 0x3e, 0x5e, 0xa8, 0xa8, 0x8a, 0x0f, 0xf8, 0xb2, 0x59, 0x70, - 0xa4, 0xd1, 0x7b, 0x11, 0x56, 0xc7, 0xee, 0xd1, 0xd8, 0xf5, 0x4f, 0x22, 0x1a, 0x90, 0x15, 0x0e, - 0x14, 0x03, 0x23, 0xa2, 0x4c, 0x3e, 0x13, 0x67, 0x2e, 0x88, 0xb4, 0xbd, 0x40, 0x5e, 0x4c, 0x9d, - 0x07, 0xba, 0x9a, 0xe4, 0x06, 0xb2, 0x1f, 0xf7, 0x72, 0xf9, 0x8c, 0x9a, 0x35, 0x79, 0x2c, 0xcc, - 0x23, 0xaf, 0xef, 0x6a, 0x7f, 0xad, 0x08, 0x8e, 0x20, 0x6d, 0xf0, 0xc8, 0x43, 0xc9, 0x98, 0x37, - 0x9b, 0x60, 0x43, 0xd2, 0x48, 0x64, 0xbb, 0x47, 0x1e, 0x9e, 0x11, 0x01, 0x91, 0xf0, 0x8c, 0x08, - 0x79, 0x0f, 0x16, 0x89, 0x5c, 0x6a, 0x7e, 0x4b, 0x58, 0x04, 0xd1, 0x33, 0xef, 0xe0, 0x0e, 0xb9, - 0x0d, 0x4b, 0xcc, 0x08, 0x48, 0x34, 0x77, 0x3d, 0xd2, 0xdc, 0x83, 0x3b, 0xa6, 0x28, 0xd7, 0xbe, - 0x1d, 0xbc, 0x6b, 0x25, 0x3a, 0x71, 0x70, 0x87, 0xbc, 0x71, 0x36, 0xe3, 0xdc, 0xbc, 0x30, 0xce, - 0x0d, 0x0c, 0x73, 0xdf, 0x8c, 0x18, 0xe6, 0x5e, 0x9f, 0x3f, 0x5a, 0xfc, 0x35, 0x92, 0x85, 0x23, - 0x0c, 0xc3, 0x54, 0xfd, 0x38, 0x03, 0xcf, 0xcf, 0xa5, 0x20, 0x97, 0x21, 0xaf, 0xb7, 0xaa, 0xed, - 0x70, 0x7e, 0xe9, 0x9e, 0x11, 0x10, 0xb2, 0x0f, 0xcb, 0xbb, 0x8e, 0xef, 0x75, 0xe9, 0x32, 0x4e, - 0x7d, 0x1e, 0x48, 0x54, 0x1b, 0xa0, 0x57, 0xce, 0x99, 0x21, 0x2d, 0xb1, 0x61, 0x03, 0xf7, 0x42, - 0x24, 0xf5, 0x53, 0x36, 0x45, 0xd7, 0x90, 0xa8, 0x30, 0x41, 0x46, 0xcf, 0x99, 0x04, 0x90, 0x3c, - 0x02, 0x62, 0x59, 0x95, 0x92, 0x3b, 0x9e, 0x70, 0x19, 0x7c, 0xe2, 0x05, 0x96, 0x9e, 0x1f, 0x7a, - 0xca, 0xd8, 0x25, 0xe8, 0x2a, 0xe7, 0xcc, 0x94, 0xda, 0xe2, 0xdb, 0xfc, 0x6d, 0xc1, 0xef, 0xcc, - 0x1e, 0x84, 0x67, 0x88, 0xdd, 0x7a, 0x0b, 0xf2, 0x2d, 0x61, 0x8b, 0x20, 0x59, 0xcc, 0x0b, 0xbb, - 0x03, 0x33, 0x28, 0xd5, 0x7e, 0x4b, 0x11, 0x4a, 0x87, 0xa7, 0x0f, 0x96, 0x94, 0x99, 0xab, 0x37, - 0x3f, 0x33, 0x57, 0xef, 0xa7, 0xcc, 0xcc, 0xa5, 0x79, 0x70, 0xfb, 0xcc, 0x03, 0x4b, 0x3e, 0x06, - 0x2a, 0x26, 0x31, 0x72, 0xa4, 0x49, 0x62, 0xfb, 0x6b, 0x23, 0x08, 0xe6, 0x5d, 0xe1, 0x99, 0xe2, - 0xcc, 0xf5, 0x6e, 0x94, 0x5a, 0xfb, 0x33, 0x1e, 0xc4, 0xbd, 0xda, 0x6b, 0xc5, 0x14, 0xcd, 0xef, - 0xd5, 0xc9, 0xc2, 0x88, 0x6c, 0xb6, 0x17, 0xa5, 0x24, 0x92, 0xc9, 0x6f, 0xcd, 0xf6, 0xb5, 0x90, - 0x76, 0xde, 0x1f, 0x66, 0xe1, 0xf2, 0x3c, 0xf2, 0xd4, 0x34, 0xd5, 0xca, 0xb3, 0xa5, 0xa9, 0xbe, - 0x0d, 0x79, 0x06, 0x0b, 0x3c, 0x08, 0x70, 0x6e, 0x39, 0x29, 0x9d, 0x5b, 0x51, 0x4c, 0x5e, 0x84, - 0x45, 0xbd, 0x64, 0x85, 0x99, 0xd3, 0xd0, 0xd4, 0xd7, 0xe9, 0xfa, 0x68, 0x44, 0xca, 0x8b, 0xc8, - 0x17, 0x92, 0xc9, 0x02, 0x79, 0xca, 0xb4, 0x1d, 0x69, 0x40, 0x12, 0xf9, 0x15, 0xb0, 0xbd, 0x61, - 0x3e, 0x00, 0x1e, 0x62, 0xdb, 0x4c, 0x26, 0x1e, 0xd4, 0x60, 0xb1, 0x35, 0x76, 0x7d, 0x77, 0x22, - 0x9b, 0xe1, 0x8e, 0x10, 0x62, 0xf2, 0x12, 0x6e, 0x24, 0xeb, 0x3c, 0x61, 0x31, 0x11, 0x16, 0xe5, - 0x38, 0x35, 0x68, 0x55, 0x4b, 0xc1, 0xa6, 0x84, 0x42, 0x09, 0x6a, 0xce, 0x74, 0xd0, 0x3d, 0xe9, - 0x98, 0x35, 0xce, 0x39, 0x31, 0x82, 0x3e, 0x42, 0x69, 0x07, 0x7d, 0x53, 0x42, 0xd1, 0xbe, 0xa1, - 0xc0, 0x85, 0xb4, 0x7e, 0x90, 0xcb, 0x90, 0x1b, 0xa4, 0xe6, 0x45, 0x1c, 0x30, 0x57, 0xee, 0x02, - 0xfd, 0x6b, 0x1f, 0x0d, 0xc7, 0xa7, 0xce, 0x44, 0x36, 0x56, 0x96, 0xc0, 0x26, 0xd0, 0x1f, 0x7b, - 0xf8, 0x3f, 0xb9, 0x2a, 0xae, 0x9c, 0x6c, 0x22, 0x93, 0x22, 0xfe, 0xd1, 0x74, 0x80, 0x6a, 0xaf, - 0xd5, 0x1c, 0xb1, 0xf8, 0xfe, 0xaf, 0x41, 0x8e, 0x36, 0x2b, 0xb6, 0x7a, 0xe9, 0xfa, 0xd1, 0xeb, - 0x35, 0x8e, 0xc4, 0x5a, 0xe5, 0x3b, 0xa7, 0x7d, 0x13, 0x91, 0xb5, 0x43, 0x58, 0x8b, 0x62, 0x10, - 0x23, 0x1a, 0x11, 0xb6, 0x70, 0x57, 0xe5, 0x35, 0xed, 0x0e, 0x87, 0xcc, 0x61, 0x66, 0xf7, 0xb9, - 0x1f, 0xbf, 0x73, 0x15, 0xe8, 0x4f, 0x46, 0x93, 0x16, 0x31, 0x56, 0xfb, 0x66, 0x06, 0x2e, 0x84, - 0x3e, 0xfa, 0x62, 0x0f, 0xfd, 0xdc, 0x3a, 0x8c, 0xea, 0x11, 0x87, 0x46, 0xc1, 0x37, 0x26, 0x3b, - 0x38, 0xc7, 0x8f, 0x6a, 0x1f, 0xb6, 0x66, 0xe1, 0x93, 0x97, 0x61, 0x19, 0xc3, 0x3a, 0x8d, 0x9c, - 0xae, 0x2b, 0x1f, 0xb3, 0x03, 0x01, 0x34, 0xc3, 0x72, 0xed, 0x87, 0x0a, 0x6c, 0x73, 0x37, 0x8f, - 0xba, 0xe3, 0x0d, 0xf0, 0x95, 0xa0, 0xeb, 0xbe, 0x3f, 0x0e, 0xcf, 0xfb, 0x91, 0x73, 0xec, 0x46, - 0xd4, 0x9b, 0x27, 0xf1, 0xb5, 0xd9, 0xbd, 0x25, 0xb7, 0x31, 0x54, 0x19, 0x7f, 0x45, 0xcf, 0xb1, - 0x00, 0x13, 0x03, 0x0a, 0x90, 0x03, 0x4c, 0x20, 0x86, 0xf6, 0xab, 0x70, 0x65, 0xfe, 0x07, 0xc8, - 0xe7, 0x61, 0x15, 0x73, 0x5f, 0x75, 0x46, 0xc7, 0x63, 0xa7, 0xe7, 0x0a, 0xcd, 0x9e, 0xd0, 0xc6, - 0xca, 0x65, 0x2c, 0xf2, 0x1a, 0x0f, 0x78, 0x70, 0x8c, 0x59, 0xb5, 0x38, 0x51, 0xc4, 0x97, 0x4a, - 0xae, 0x4d, 0xfb, 0x35, 0x05, 0x48, 0xb2, 0x0e, 0xf2, 0x61, 0x58, 0xe9, 0xb4, 0x4b, 0xd6, 0xc4, - 0x19, 0x4f, 0x2a, 0xc3, 0xe9, 0x98, 0x87, 0x3d, 0x63, 0xfe, 0xef, 0x93, 0xae, 0xcd, 0xde, 0x83, - 0x4e, 0x86, 0xd3, 0xb1, 0x19, 0xc1, 0xc3, 0xa4, 0x4d, 0xae, 0xfb, 0xa5, 0x9e, 0xf3, 0x24, 0x9a, - 0xb4, 0x89, 0xc3, 0x22, 0x49, 0x9b, 0x38, 0x4c, 0xfb, 0xae, 0x02, 0x3b, 0xc2, 0x38, 0xb2, 0x97, - 0xd2, 0x96, 0x12, 0x46, 0x79, 0x19, 0x8b, 0x38, 0xbb, 0xf3, 0x38, 0xf4, 0x0d, 0x11, 0x08, 0x09, - 0x1b, 0x88, 0xac, 0x3a, 0xa3, 0x25, 0x9f, 0x82, 0x9c, 0x35, 0x19, 0x8e, 0xce, 0x10, 0x09, 0x49, - 0x0d, 0x66, 0x74, 0x32, 0x1c, 0x61, 0x15, 0x48, 0xa9, 0xb9, 0x70, 0x41, 0x6e, 0x9c, 0x68, 0x31, - 0xa9, 0xc3, 0x12, 0x0f, 0x79, 0x17, 0xb3, 0x3b, 0x98, 0xd3, 0xa7, 0xdd, 0x75, 0x11, 0x6e, 0x89, - 0xc7, 0x79, 0x35, 0x45, 0x1d, 0xda, 0xef, 0x28, 0x50, 0xa0, 0x8c, 0x0d, 0x0a, 0xa5, 0xef, 0x75, - 0x49, 0x47, 0xf9, 0x60, 0x61, 0x46, 0x13, 0x54, 0x7f, 0xa6, 0xdb, 0xf8, 0x75, 0x58, 0x8f, 0x11, - 0x10, 0x0d, 0x03, 0x6d, 0xf4, 0xbd, 0xae, 0xc3, 0x72, 0xc0, 0x30, 0x13, 0x94, 0x08, 0x4c, 0xfb, - 0x0d, 0x05, 0x2e, 0x34, 0xbf, 0x34, 0x71, 0xd8, 0xb3, 0xad, 0x39, 0xed, 0x8b, 0xfd, 0x4e, 0x99, - 0x35, 0x61, 0x65, 0xcb, 0x82, 0x00, 0x30, 0x66, 0x8d, 0xc3, 0xcc, 0xa0, 0x94, 0x54, 0x20, 0xcf, - 0xef, 0x17, 0x9f, 0x87, 0x67, 0xbd, 0x22, 0xe9, 0x46, 0xc2, 0x8a, 0x39, 0x12, 0xed, 0x09, 0x1e, - 0x61, 0x9c, 0xc6, 0x0c, 0xa8, 0xb5, 0xff, 0x54, 0x60, 0x73, 0x06, 0x0d, 0xf9, 0x38, 0x2c, 0xa0, - 0x83, 0x22, 0x9f, 0xbd, 0xcb, 0x33, 0x3e, 0x31, 0xe9, 0x9e, 0x1c, 0xdc, 0x61, 0x17, 0xd1, 0x29, - 0xfd, 0x61, 0x32, 0x2a, 0xf2, 0x10, 0x96, 0xf5, 0x5e, 0x8f, 0x4b, 0x67, 0x99, 0x88, 0x74, 0x36, - 0xe3, 0x8b, 0xaf, 0x06, 0xf8, 0x4c, 0x3a, 0x63, 0xae, 0x32, 0xbd, 0x9e, 0xcd, 0x9d, 0x2f, 0xc3, - 0xfa, 0xb6, 0x3f, 0x06, 0x6b, 0x51, 0xe4, 0x67, 0xf2, 0x17, 0xfb, 0xb6, 0x02, 0x6a, 0xb4, 0x0d, - 0x3f, 0x9b, 0x40, 0x51, 0x69, 0xd3, 0xfc, 0x94, 0x45, 0xf5, 0x7b, 0x19, 0xb8, 0x98, 0x3a, 0xc2, - 0xe4, 0x15, 0x58, 0xd4, 0x47, 0xa3, 0x6a, 0x99, 0xaf, 0x2a, 0xce, 0x21, 0xa1, 0xd2, 0x3b, 0x22, - 0xbc, 0x32, 0x24, 0xf2, 0x1a, 0xe4, 0x99, 0x75, 0x40, 0x59, 0x1c, 0x38, 0x18, 0xf9, 0x86, 0x9b, - 0x2e, 0x44, 0x03, 0xa5, 0x0a, 0x44, 0xb2, 0x07, 0x6b, 0x3c, 0x66, 0x8c, 0xe9, 0x1e, 0xbb, 0x5f, - 0x09, 0x22, 0xf6, 0x63, 0x52, 0x01, 0xa1, 0x49, 0xb7, 0xc7, 0xac, 0x4c, 0x8e, 0x9a, 0x12, 0xa5, - 0x22, 0x35, 0x50, 0xb1, 0x4e, 0xb9, 0x26, 0x16, 0xad, 0x15, 0xa3, 0xf8, 0xb0, 0x46, 0xcc, 0xa8, - 0x2b, 0x41, 0x19, 0x4c, 0x97, 0xee, 0xfb, 0xde, 0xf1, 0xe0, 0xd4, 0x1d, 0x4c, 0x7e, 0x76, 0xd3, - 0x15, 0x7e, 0xe3, 0x4c, 0xd3, 0xf5, 0x07, 0x39, 0xb6, 0x99, 0xe3, 0x64, 0x94, 0xa3, 0x91, 0x02, - 0x74, 0x23, 0x47, 0x43, 0xe5, 0x33, 0x1e, 0x15, 0xa5, 0x0c, 0x4b, 0x2c, 0x5a, 0x8d, 0xd8, 0x19, - 0xcf, 0xa7, 0x36, 0x81, 0xe1, 0x1c, 0xdc, 0x61, 0xec, 0x0b, 0xf3, 0x94, 0xf4, 0x4d, 0x41, 0x4a, - 0x0e, 0xa0, 0x50, 0xea, 0xbb, 0xce, 0x60, 0x3a, 0x6a, 0x9f, 0xed, 0x05, 0x75, 0x8b, 0xf7, 0x65, - 0xa5, 0xcb, 0xc8, 0xf0, 0xe5, 0x15, 0x4f, 0x72, 0xb9, 0x22, 0xd2, 0x0e, 0x9c, 0xa7, 0x72, 0xa8, - 0x78, 0xfd, 0xd0, 0x9c, 0xf1, 0x89, 0x03, 0x91, 0x2e, 0xea, 0x19, 0xc8, 0xbd, 0xab, 0x6c, 0x58, - 0xab, 0x39, 0xfe, 0xa4, 0x3d, 0x76, 0x06, 0x3e, 0x46, 0xb9, 0x3c, 0x43, 0x14, 0xb0, 0x1d, 0x91, - 0x41, 0x19, 0x55, 0xa6, 0x93, 0x80, 0x94, 0x29, 0x64, 0xa3, 0xd5, 0x51, 0x7e, 0x69, 0xcf, 0x1b, - 0x38, 0x7d, 0xef, 0xab, 0xc2, 0xc7, 0x94, 0xf1, 0x4b, 0x47, 0x02, 0x68, 0x86, 0xe5, 0xda, 0xe7, - 0x12, 0xf3, 0xc6, 0x5a, 0x59, 0x80, 0x25, 0x1e, 0x81, 0x80, 0x79, 0xe4, 0xb7, 0x8c, 0x46, 0xb9, - 0xda, 0xd8, 0x57, 0x15, 0xb2, 0x06, 0xd0, 0x32, 0x9b, 0x25, 0xc3, 0xb2, 0xe8, 0xef, 0x0c, 0xfd, - 0xcd, 0xdd, 0xf5, 0xf7, 0x3a, 0x35, 0x35, 0x2b, 0x79, 0xec, 0xe7, 0xb4, 0x1f, 0x28, 0x70, 0x29, - 0x7d, 0x2a, 0x49, 0x1b, 0x30, 0x66, 0x03, 0x7f, 0x4b, 0xff, 0xf0, 0xdc, 0x79, 0x4f, 0x05, 0xc7, - 0x63, 0x3f, 0x4c, 0x58, 0x4c, 0x81, 0x8c, 0x78, 0xfb, 0x62, 0x4e, 0x8a, 0x5e, 0xcf, 0xcc, 0x78, - 0x3d, 0xad, 0x04, 0x5b, 0xb3, 0xea, 0x88, 0x76, 0x75, 0x1d, 0x0a, 0x7a, 0xab, 0x55, 0xab, 0x96, - 0xf4, 0x76, 0xb5, 0xd9, 0x50, 0x15, 0xb2, 0x0c, 0x0b, 0xfb, 0x66, 0xb3, 0xd3, 0x52, 0x33, 0xda, - 0xb7, 0x14, 0x58, 0xad, 0x86, 0x56, 0x67, 0xef, 0x75, 0xf3, 0x7d, 0x24, 0xb2, 0xf9, 0xb6, 0x82, - 0xe8, 0x26, 0xc1, 0x07, 0xce, 0xb4, 0xf3, 0xde, 0xcd, 0xc0, 0x46, 0x82, 0x86, 0x58, 0xb0, 0xa4, - 0x1f, 0x5a, 0xcd, 0x6a, 0xb9, 0xc4, 0x5b, 0x76, 0x35, 0x34, 0x97, 0xc2, 0x04, 0x56, 0x89, 0xaf, - 0x30, 0x8f, 0xe0, 0xc7, 0xbe, 0x3d, 0xf4, 0x7a, 0x52, 0xf2, 0xd9, 0xca, 0x39, 0x53, 0xd4, 0x84, - 0x37, 0xd9, 0x57, 0xa7, 0x63, 0x17, 0xab, 0xcd, 0x44, 0xf4, 0xba, 0x01, 0x3c, 0x59, 0x31, 0xfa, - 0x6f, 0x38, 0xb4, 0x3c, 0x59, 0x75, 0x58, 0x1f, 0x69, 0xc0, 0xe2, 0xbe, 0x37, 0xa9, 0x4c, 0x1f, - 0xf1, 0xfd, 0x7b, 0x25, 0x4c, 0x67, 0x54, 0x99, 0x3e, 0x4a, 0x56, 0x8b, 0x2a, 0x4b, 0x16, 0xbd, - 0x27, 0x52, 0x25, 0xaf, 0x25, 0xee, 0xc4, 0x98, 0x7b, 0x26, 0x27, 0xc6, 0xdd, 0x55, 0x28, 0x70, - 0x19, 0x0a, 0xc5, 0x93, 0xef, 0x29, 0xb0, 0x35, 0x6b, 0xe4, 0xa8, 0x58, 0x16, 0x0d, 0x56, 0x70, - 0x29, 0x48, 0x8f, 0x11, 0x8d, 0x52, 0x20, 0xd0, 0xc8, 0x27, 0xa1, 0x50, 0xf5, 0xfd, 0xa9, 0x3b, - 0xb6, 0x5e, 0xeb, 0x98, 0x55, 0xbe, 0x5c, 0x9f, 0xff, 0xb7, 0x77, 0xae, 0x6e, 0xa2, 0xcf, 0xc7, - 0xd8, 0xf6, 0x5f, 0xb3, 0xa7, 0x63, 0x2f, 0x92, 0x4a, 0x40, 0xa6, 0xa0, 0x5c, 0xb4, 0x33, 0xed, - 0x79, 0xae, 0x90, 0x21, 0x84, 0x43, 0x37, 0x87, 0xc9, 0x77, 0x9a, 0x80, 0x69, 0x5f, 0x57, 0x60, - 0x7b, 0xf6, 0x34, 0xd1, 0x7b, 0xb2, 0xcd, 0x4c, 0xaa, 0x84, 0x4b, 0x35, 0xde, 0x93, 0x81, 0xdd, - 0x95, 0x5c, 0xa7, 0x40, 0xa4, 0x44, 0x41, 0x6a, 0xfa, 0x4c, 0x22, 0x1f, 0x75, 0x94, 0x48, 0x20, - 0x6a, 0x0f, 0x60, 0x73, 0xc6, 0xa4, 0x92, 0x4f, 0xa4, 0x26, 0xdd, 0x41, 0x37, 0x25, 0x39, 0xe9, - 0x4e, 0x24, 0x1d, 0x9b, 0x04, 0xd7, 0xfe, 0x3d, 0x03, 0x97, 0xe8, 0xee, 0xea, 0xbb, 0xbe, 0xaf, - 0x4f, 0x27, 0x27, 0x74, 0x3a, 0x19, 0xbf, 0x49, 0xde, 0x80, 0xc5, 0x93, 0x67, 0x53, 0x15, 0x33, - 0x74, 0x42, 0x00, 0x6f, 0x2c, 0xe1, 0x1c, 0x43, 0xff, 0x27, 0xd7, 0x40, 0x4e, 0x2e, 0x9e, 0xc5, - 0xf0, 0xa6, 0x99, 0x2d, 0xc5, 0x5c, 0x1e, 0x05, 0x79, 0x80, 0xdf, 0x84, 0x05, 0xd4, 0xa7, 0xf0, - 0xbb, 0x43, 0xf0, 0xfc, 0xe9, 0xad, 0x43, 0x6d, 0x8b, 0xc9, 0x08, 0xc8, 0x07, 0x01, 0xc2, 0xcc, - 0x10, 0xfc, 0x72, 0x10, 0x7a, 0x86, 0x20, 0x39, 0x84, 0xb9, 0x7c, 0x7a, 0xe4, 0xf0, 0x74, 0x0b, - 0x45, 0xd8, 0x10, 0x23, 0x3e, 0x12, 0x51, 0x11, 0xf9, 0x2b, 0xe6, 0x3a, 0x2b, 0xa8, 0x8e, 0x44, - 0x64, 0xc4, 0xeb, 0x89, 0x04, 0xc9, 0x18, 0x1c, 0x39, 0x96, 0x05, 0xf9, 0x7a, 0x22, 0x0b, 0x72, - 0x9e, 0x61, 0xc9, 0xa9, 0x8e, 0xb5, 0x7f, 0xce, 0xc0, 0xf2, 0x21, 0xe5, 0xca, 0x50, 0xd7, 0x30, - 0x5f, 0x77, 0x71, 0x17, 0x0a, 0xb5, 0xa1, 0xc3, 0x9f, 0x8b, 0xb8, 0x4f, 0x09, 0xf3, 0xe9, 0xee, - 0x0f, 0x1d, 0xf1, 0xf2, 0xe4, 0x9b, 0x32, 0xd2, 0x53, 0xfc, 0xd1, 0xef, 0xc1, 0x22, 0x7b, 0xbe, - 0xe3, 0x6a, 0x34, 0xc1, 0x97, 0x07, 0x2d, 0x7a, 0x95, 0x15, 0x4b, 0x2f, 0x1c, 0xec, 0x09, 0x50, - 0x66, 0x12, 0x79, 0x8c, 0x57, 0x49, 0xb3, 0xb2, 0x70, 0x36, 0xcd, 0x8a, 0x14, 0xcb, 0x6e, 0xf1, - 0x2c, 0xb1, 0xec, 0xb6, 0xdf, 0x82, 0x82, 0xd4, 0x9e, 0x67, 0x62, 0xd3, 0xbf, 0x96, 0x81, 0x55, - 0xec, 0x55, 0x60, 0xcb, 0xf3, 0xf3, 0xa9, 0x27, 0xfa, 0x48, 0x44, 0x4f, 0xb4, 0x25, 0xcf, 0x17, - 0xeb, 0xd9, 0x1c, 0x05, 0xd1, 0x3d, 0xd8, 0x48, 0x20, 0x92, 0xd7, 0x61, 0x81, 0x36, 0x5f, 0xc8, - 0xd5, 0x6a, 0x7c, 0x05, 0x84, 0x71, 0x8f, 0x69, 0xc7, 0x7d, 0x93, 0x61, 0x6b, 0xff, 0xa5, 0xc0, - 0x0a, 0x4f, 0x3b, 0x32, 0x38, 0x1a, 0x3e, 0x75, 0x38, 0x6f, 0xc6, 0x87, 0x93, 0x45, 0x57, 0xe1, - 0xc3, 0xf9, 0xbf, 0x3d, 0x88, 0x6f, 0x45, 0x06, 0x71, 0x33, 0x88, 0x82, 0x28, 0xba, 0x33, 0x67, - 0x0c, 0xff, 0x06, 0xe3, 0x02, 0x47, 0x11, 0xc9, 0x17, 0x60, 0xb9, 0xe1, 0x3e, 0x8e, 0x88, 0xa7, - 0x37, 0x67, 0x54, 0xfa, 0x6a, 0x80, 0xc8, 0xf6, 0x14, 0xde, 0xec, 0x03, 0xf7, 0xb1, 0x9d, 0x78, - 0x39, 0x0c, 0xab, 0xa4, 0x12, 0x6a, 0x94, 0xec, 0x59, 0x96, 0x3e, 0x77, 0x70, 0xc5, 0x80, 0x41, - 0xdf, 0xc8, 0x02, 0x84, 0xbe, 0x81, 0x74, 0x03, 0x46, 0x8c, 0x26, 0x84, 0x66, 0x1f, 0x41, 0xf2, - 0x1a, 0x17, 0xb6, 0x14, 0x37, 0xb9, 0x06, 0x3a, 0x33, 0x3b, 0x4a, 0x25, 0xea, 0xa2, 0x4b, 0xdc, - 0x19, 0xad, 0xe7, 0xf6, 0x1d, 0x76, 0xb6, 0x67, 0x77, 0xaf, 0x63, 0x50, 0xe2, 0x00, 0x3a, 0x23, - 0x7f, 0x34, 0xba, 0xac, 0x95, 0x29, 0x42, 0xc2, 0xdf, 0x36, 0xf7, 0x6c, 0xfe, 0xb6, 0x2d, 0x58, - 0xf6, 0x06, 0x6f, 0xbb, 0x83, 0xc9, 0x70, 0xfc, 0x04, 0xd5, 0xee, 0xa1, 0x3e, 0x8f, 0x0e, 0x41, - 0x55, 0x94, 0xb1, 0x79, 0xc0, 0x3b, 0x37, 0xc0, 0x97, 0xa7, 0x21, 0x00, 0x06, 0xfe, 0xc2, 0x0b, - 0xea, 0xe2, 0xbd, 0x5c, 0x7e, 0x51, 0x5d, 0xba, 0x97, 0xcb, 0xe7, 0xd5, 0xe5, 0x7b, 0xb9, 0xfc, - 0xb2, 0x0a, 0xa6, 0xf4, 0x66, 0x16, 0xbc, 0x89, 0x49, 0xcf, 0x58, 0xd1, 0x27, 0x2a, 0xed, 0x27, - 0x19, 0x20, 0xc9, 0x66, 0x90, 0x8f, 0x40, 0x81, 0x1d, 0xb0, 0xf6, 0xd8, 0xff, 0x32, 0x77, 0x37, - 0x60, 0x61, 0x97, 0x24, 0xb0, 0x1c, 0x76, 0x89, 0x81, 0x4d, 0xff, 0xcb, 0x7d, 0xf2, 0x79, 0x38, - 0x8f, 0xc3, 0x3b, 0x72, 0xc7, 0xde, 0xb0, 0x67, 0x63, 0x8c, 0x5c, 0xa7, 0xcf, 0x73, 0x3d, 0xbe, - 0x82, 0x49, 0x89, 0x93, 0xc5, 0x33, 0xa6, 0x01, 0x5d, 0x00, 0x5b, 0x88, 0xd9, 0x62, 0x88, 0xa4, - 0x0d, 0xaa, 0x4c, 0x7f, 0x34, 0xed, 0xf7, 0xf9, 0xcc, 0x16, 0xa9, 0x44, 0x1f, 0x2f, 0x9b, 0x51, - 0xf1, 0x5a, 0x58, 0xf1, 0xde, 0xb4, 0xdf, 0x27, 0x6f, 0x00, 0x0c, 0x07, 0xf6, 0xa9, 0xe7, 0xfb, - 0xec, 0x31, 0x27, 0xf0, 0x56, 0x0e, 0xa1, 0xf2, 0x64, 0x0c, 0x07, 0x75, 0x06, 0x24, 0xbf, 0x04, - 0x18, 0xad, 0x01, 0xc3, 0x98, 0x30, 0x6b, 0x24, 0x9e, 0xbd, 0x45, 0x00, 0xa3, 0xce, 0xd1, 0xc7, - 0xae, 0xe5, 0x7d, 0x55, 0xb8, 0x7a, 0x7c, 0x16, 0x36, 0xb8, 0xf1, 0xf0, 0xa1, 0x37, 0x39, 0xe1, - 0xa2, 0xc4, 0x7b, 0x91, 0x43, 0x24, 0x59, 0xe2, 0xef, 0x73, 0x00, 0xfa, 0xa1, 0x25, 0x22, 0x84, - 0xdd, 0x86, 0x05, 0x2a, 0x20, 0x09, 0x45, 0x0b, 0xaa, 0xa9, 0xb1, 0x5e, 0x59, 0x4d, 0x8d, 0x18, - 0x74, 0x37, 0x9a, 0x68, 0x54, 0x2f, 0x94, 0x2c, 0xb8, 0x1b, 0x99, 0x9d, 0x7d, 0x24, 0x42, 0x33, - 0xc7, 0x22, 0x35, 0x80, 0x30, 0x66, 0x17, 0x67, 0xf9, 0x37, 0xc2, 0xe0, 0x37, 0xbc, 0x80, 0x67, - 0x89, 0x08, 0xe3, 0x7e, 0xc9, 0xcb, 0x27, 0x44, 0x23, 0xf7, 0x21, 0xd7, 0x76, 0x02, 0x5f, 0xdc, - 0x19, 0x91, 0xcc, 0x5e, 0xe0, 0xb9, 0x38, 0xc3, 0x68, 0x66, 0x6b, 0x13, 0x27, 0x92, 0xb2, 0x18, - 0x2b, 0x21, 0x06, 0x2c, 0xf2, 0x3c, 0xeb, 0x33, 0x22, 0x60, 0xf2, 0x34, 0xeb, 0x3c, 0xee, 0x35, - 0x02, 0x65, 0x9e, 0x82, 0x67, 0x54, 0xbf, 0x0b, 0x59, 0xcb, 0xaa, 0xf3, 0xf8, 0x1d, 0xab, 0xa1, - 0xf8, 0x65, 0x59, 0x75, 0xf6, 0xee, 0xeb, 0xfb, 0xa7, 0x12, 0x19, 0x45, 0x26, 0x1f, 0x85, 0x82, - 0xc4, 0x14, 0xf3, 0xc8, 0x37, 0x38, 0x06, 0x92, 0xb7, 0x93, 0x7c, 0x68, 0x48, 0xd8, 0xa4, 0x06, - 0xea, 0xfd, 0xe9, 0x23, 0x57, 0x1f, 0x8d, 0xd0, 0x0d, 0xf2, 0x6d, 0x77, 0xcc, 0xd8, 0xb6, 0x7c, - 0x18, 0x32, 0x1a, 0x7d, 0x24, 0x7a, 0xa2, 0x54, 0x56, 0x36, 0xc5, 0x29, 0x49, 0x0b, 0x36, 0x2c, - 0x77, 0x32, 0x1d, 0x31, 0xfb, 0x9a, 0xbd, 0xe1, 0x98, 0xca, 0x37, 0x2c, 0x4e, 0x0e, 0x46, 0xd7, - 0xf5, 0x69, 0xa1, 0x30, 0x6a, 0x3a, 0x1a, 0x8e, 0x63, 0xb2, 0x4e, 0x92, 0x58, 0x73, 0xe5, 0x29, - 0xa7, 0xb7, 0x6a, 0x54, 0x6a, 0xc2, 0x5b, 0x55, 0x48, 0x4d, 0xa1, 0xac, 0xf4, 0xc1, 0x94, 0x58, - 0x6e, 0xf8, 0x32, 0x28, 0xc5, 0x72, 0x8b, 0x44, 0x70, 0xfb, 0x6e, 0x4e, 0x0a, 0x27, 0xca, 0xe7, - 0xe2, 0xe3, 0x00, 0xf7, 0x86, 0xde, 0xa0, 0xee, 0x4e, 0x4e, 0x86, 0x3d, 0x29, 0xa4, 0x5c, 0xe1, - 0x97, 0x87, 0xde, 0xc0, 0x3e, 0x45, 0xf0, 0x4f, 0xde, 0xb9, 0x2a, 0x21, 0x99, 0xd2, 0xff, 0xe4, - 0x03, 0xb0, 0x4c, 0x7f, 0xb5, 0x43, 0x2b, 0x21, 0xa6, 0x93, 0x45, 0x6a, 0x96, 0x74, 0x23, 0x44, - 0x20, 0x6f, 0x61, 0x9a, 0x19, 0x6f, 0x34, 0x91, 0x98, 0x57, 0x91, 0x53, 0xc6, 0x1b, 0x4d, 0xe2, - 0x11, 0xa2, 0x25, 0x64, 0x52, 0x09, 0x9a, 0x2e, 0x32, 0x43, 0xf1, 0x6c, 0x36, 0xa8, 0x78, 0xe4, - 0x6b, 0xcd, 0x16, 0xa1, 0x69, 0xe5, 0x1c, 0xbe, 0x31, 0x32, 0x6c, 0x84, 0x55, 0x29, 0xb3, 0x97, - 0x22, 0xce, 0xd4, 0xb2, 0x46, 0xf8, 0x27, 0x3d, 0xbb, 0x8b, 0xe0, 0x48, 0x23, 0x02, 0x64, 0xb2, - 0x0b, 0xeb, 0x8c, 0xc7, 0x0f, 0x32, 0x4c, 0x72, 0x16, 0x17, 0xcf, 0xb6, 0x30, 0x05, 0xa5, 0xfc, - 0xf9, 0x18, 0x01, 0xd9, 0x83, 0x05, 0x94, 0x35, 0xb9, 0x6b, 0xc0, 0x8e, 0xac, 0x26, 0x88, 0xef, - 0x23, 0x3c, 0x57, 0x50, 0x41, 0x20, 0x9f, 0x2b, 0x88, 0x4a, 0x3e, 0x03, 0x60, 0x0c, 0xc6, 0xc3, - 0x7e, 0x1f, 0x83, 0x27, 0xe7, 0x51, 0x94, 0x7a, 0x3e, 0xba, 0x1f, 0xb1, 0x96, 0x10, 0x89, 0x07, - 0xfa, 0xc3, 0xdf, 0x76, 0x2c, 0xc4, 0xb2, 0x54, 0x97, 0x56, 0x85, 0x45, 0xb6, 0x19, 0x31, 0x10, - 0x39, 0x4f, 0xad, 0x22, 0x85, 0xb1, 0x66, 0x81, 0xc8, 0x39, 0x3c, 0x19, 0x88, 0x5c, 0x22, 0xd0, - 0xee, 0xc3, 0x85, 0xb4, 0x8e, 0x45, 0xa4, 0x63, 0xe5, 0xac, 0xd2, 0xf1, 0x77, 0xb2, 0xb0, 0x82, - 0xb5, 0x89, 0x53, 0x58, 0x87, 0x55, 0x6b, 0xfa, 0x28, 0x88, 0xd2, 0x25, 0x4e, 0x63, 0x6c, 0x9f, - 0x2f, 0x17, 0xc8, 0x6f, 0x78, 0x11, 0x0a, 0x62, 0xc0, 0x9a, 0xb8, 0x09, 0xf6, 0x85, 0xe7, 0x40, - 0x10, 0x03, 0x5c, 0x44, 0x9a, 0x4c, 0x66, 0xd8, 0x8d, 0x11, 0x85, 0xf7, 0x41, 0xf6, 0x59, 0xee, - 0x83, 0xdc, 0x99, 0xee, 0x83, 0x87, 0xb0, 0x22, 0xbe, 0x86, 0x27, 0xf9, 0xc2, 0x7b, 0x3b, 0xc9, - 0x23, 0x95, 0x91, 0x5a, 0x70, 0xa2, 0x2f, 0xce, 0x3d, 0xd1, 0xf1, 0x61, 0x54, 0xec, 0xb2, 0x11, - 0xc2, 0x92, 0x07, 0x3b, 0xa6, 0xa0, 0xdc, 0x2f, 0xb5, 0x7e, 0x8a, 0x5b, 0xf2, 0x75, 0x58, 0xae, - 0x0d, 0xc5, 0x9b, 0x98, 0xf4, 0x18, 0xd1, 0x17, 0x40, 0x99, 0x5d, 0x08, 0x30, 0x83, 0xdb, 0x2d, - 0xfb, 0x7e, 0xdc, 0x6e, 0x6f, 0x01, 0x70, 0x97, 0x94, 0x30, 0x75, 0x1c, 0x6e, 0x19, 0x11, 0xa1, - 0x24, 0xfa, 0x26, 0x22, 0x21, 0xd3, 0xd3, 0x89, 0x9b, 0xdb, 0xe8, 0xdd, 0xee, 0x70, 0x3a, 0x98, - 0x44, 0x72, 0x2d, 0x0b, 0x0f, 0x56, 0x87, 0x97, 0xc9, 0xc7, 0x43, 0x8c, 0xec, 0xfd, 0x9d, 0x10, - 0xf2, 0xe9, 0xc0, 0xf8, 0x71, 0x69, 0xde, 0x08, 0x69, 0x89, 0x11, 0x9a, 0x69, 0xf2, 0xa8, 0xfd, - 0x40, 0x91, 0x13, 0x30, 0xfc, 0x14, 0x53, 0xfd, 0x26, 0x40, 0x60, 0x94, 0x20, 0xe6, 0x9a, 0xc9, - 0x4b, 0x01, 0x54, 0x1e, 0xe5, 0x10, 0x57, 0xea, 0x4d, 0xf6, 0xfd, 0xea, 0x4d, 0x1b, 0x0a, 0xcd, - 0x2f, 0x4d, 0x9c, 0xd0, 0x8a, 0x05, 0xac, 0x80, 0x93, 0xc5, 0x93, 0x29, 0xbb, 0x7b, 0x03, 0xef, - 0x86, 0x90, 0x0f, 0x9e, 0xc1, 0x02, 0x4b, 0x84, 0xda, 0x5f, 0x28, 0xb0, 0x2e, 0xbb, 0xdd, 0x3f, - 0x19, 0x74, 0xc9, 0x27, 0x58, 0x3c, 0x58, 0x25, 0x22, 0xb2, 0x48, 0x48, 0xf4, 0xc8, 0x7d, 0x32, - 0xe8, 0x32, 0x06, 0xc8, 0x79, 0x2c, 0x37, 0x96, 0x12, 0x92, 0x47, 0xb0, 0xd2, 0x1a, 0xf6, 0xfb, - 0x94, 0xad, 0x19, 0xbf, 0xcd, 0x05, 0x00, 0x5a, 0x51, 0xfc, 0x69, 0x44, 0x34, 0x68, 0xf7, 0x45, - 0x2e, 0xe7, 0x6e, 0x8e, 0xe8, 0x79, 0xef, 0x71, 0xba, 0xb0, 0xda, 0x6f, 0xa3, 0x9f, 0x9c, 0x5c, - 0xa7, 0xf6, 0x23, 0x05, 0x48, 0xb2, 0x49, 0xf2, 0x91, 0xa5, 0xfc, 0x1f, 0xb0, 0xb0, 0x31, 0xd6, - 0x2f, 0xf7, 0x2c, 0xac, 0x5f, 0xf1, 0x77, 0x15, 0x58, 0xaf, 0xea, 0x75, 0x9e, 0x92, 0x81, 0xbd, - 0xe0, 0x5c, 0x83, 0xe7, 0xab, 0x7a, 0xdd, 0x6e, 0x35, 0x6b, 0xd5, 0xd2, 0x03, 0x3b, 0x35, 0xd2, - 0xf2, 0xf3, 0xf0, 0x5c, 0x12, 0x25, 0x7c, 0xe9, 0xb9, 0x0c, 0x5b, 0xc9, 0x62, 0x11, 0x8d, 0x39, - 0x9d, 0x58, 0x04, 0x6e, 0xce, 0x16, 0x3f, 0x09, 0xeb, 0x22, 0xf2, 0x70, 0xbb, 0x66, 0x61, 0x6e, - 0x83, 0x75, 0x28, 0x1c, 0x18, 0x66, 0x75, 0xef, 0x81, 0xbd, 0xd7, 0xa9, 0xd5, 0xd4, 0x73, 0x64, - 0x15, 0x96, 0x39, 0xa0, 0xa4, 0xab, 0x0a, 0x59, 0x81, 0x7c, 0xb5, 0x61, 0x19, 0xa5, 0x8e, 0x69, - 0xa8, 0x99, 0xe2, 0x27, 0x61, 0xad, 0x35, 0xf6, 0xde, 0x76, 0x26, 0xee, 0x7d, 0xf7, 0x09, 0x3e, - 0xd4, 0x2c, 0x41, 0xd6, 0xd4, 0x0f, 0xd5, 0x73, 0x04, 0x60, 0xb1, 0x75, 0xbf, 0x64, 0xdd, 0xb9, - 0xa3, 0x2a, 0xa4, 0x00, 0x4b, 0xfb, 0xa5, 0x96, 0x7d, 0xbf, 0x6e, 0xa9, 0x19, 0xfa, 0x43, 0x3f, - 0xb4, 0xf0, 0x47, 0xb6, 0xf8, 0x21, 0xd8, 0x40, 0x86, 0xa4, 0xe6, 0xf9, 0x13, 0x77, 0xe0, 0x8e, - 0xb1, 0x0d, 0x2b, 0x90, 0xb7, 0x5c, 0x7a, 0x92, 0x4c, 0x5c, 0xd6, 0x80, 0xfa, 0xb4, 0x3f, 0xf1, - 0x46, 0x7d, 0xf7, 0x2b, 0xaa, 0x52, 0x7c, 0x0b, 0xd6, 0xcd, 0xe1, 0x74, 0xe2, 0x0d, 0x8e, 0xad, - 0x09, 0xc5, 0x38, 0x7e, 0x42, 0x2e, 0xc2, 0x46, 0xa7, 0xa1, 0xd7, 0x77, 0xab, 0xfb, 0x9d, 0x66, - 0xc7, 0xb2, 0xeb, 0x7a, 0xbb, 0x54, 0x61, 0xcf, 0x44, 0xf5, 0xa6, 0xd5, 0xb6, 0x4d, 0xa3, 0x64, - 0x34, 0xda, 0xaa, 0x52, 0xfc, 0x26, 0xea, 0x56, 0xba, 0xc3, 0x41, 0x6f, 0xcf, 0xe9, 0x4e, 0x86, - 0x63, 0x6c, 0xb0, 0x06, 0x57, 0x2c, 0xa3, 0xd4, 0x6c, 0x94, 0xed, 0x3d, 0xbd, 0xd4, 0x6e, 0x9a, - 0x69, 0xa1, 0xbe, 0xb7, 0xe1, 0x52, 0x0a, 0x4e, 0xb3, 0xdd, 0x52, 0x15, 0x72, 0x15, 0x76, 0x52, - 0xca, 0x0e, 0x8d, 0x5d, 0xbd, 0xd3, 0xae, 0x34, 0xd4, 0xcc, 0x0c, 0x62, 0xcb, 0x6a, 0xaa, 0xd9, - 0xe2, 0x6f, 0x2a, 0xb0, 0xd6, 0xf1, 0xb9, 0xc9, 0x79, 0x07, 0xbd, 0x4d, 0x5f, 0x80, 0xcb, 0x1d, - 0xcb, 0x30, 0xed, 0x76, 0xf3, 0xbe, 0xd1, 0xb0, 0x3b, 0x96, 0xbe, 0x1f, 0x6f, 0xcd, 0x55, 0xd8, - 0x91, 0x30, 0x4c, 0xa3, 0xd4, 0x3c, 0x30, 0x4c, 0xbb, 0xa5, 0x5b, 0xd6, 0x61, 0xd3, 0x2c, 0xab, - 0x0a, 0xfd, 0x62, 0x0a, 0x42, 0x7d, 0x4f, 0x67, 0xad, 0x89, 0x94, 0x35, 0x8c, 0x43, 0xbd, 0x66, - 0xef, 0x36, 0xdb, 0x6a, 0xb6, 0x58, 0xa7, 0xf7, 0x3b, 0x06, 0xdc, 0x65, 0x96, 0x85, 0x79, 0xc8, - 0x35, 0x9a, 0x0d, 0x23, 0xfe, 0xb8, 0xb8, 0x02, 0x79, 0xbd, 0xd5, 0x32, 0x9b, 0x07, 0xb8, 0xc4, - 0x00, 0x16, 0xcb, 0x46, 0x83, 0xb6, 0x2c, 0x4b, 0x4b, 0x5a, 0x66, 0xb3, 0xde, 0x6c, 0x1b, 0x65, - 0x35, 0x57, 0x34, 0xc5, 0x16, 0x16, 0x95, 0x76, 0x87, 0xec, 0x25, 0xaf, 0x6c, 0xec, 0xe9, 0x9d, - 0x5a, 0x9b, 0x4f, 0xd1, 0x03, 0xdb, 0x34, 0x3e, 0xdd, 0x31, 0xac, 0xb6, 0xa5, 0x2a, 0x44, 0x85, - 0x95, 0x86, 0x61, 0x94, 0x2d, 0xdb, 0x34, 0x0e, 0xaa, 0xc6, 0xa1, 0x9a, 0xa1, 0x75, 0xb2, 0xff, - 0xe9, 0x17, 0x8a, 0xdf, 0x55, 0x80, 0xb0, 0x60, 0xc5, 0x22, 0x03, 0x0e, 0xae, 0x98, 0x2b, 0xb0, - 0x5d, 0xa1, 0x53, 0x8d, 0x5d, 0xab, 0x37, 0xcb, 0xf1, 0x21, 0xbb, 0x04, 0x24, 0x56, 0xde, 0xdc, - 0xdb, 0x53, 0x15, 0xb2, 0x03, 0xe7, 0x63, 0xf0, 0xb2, 0xd9, 0x6c, 0xa9, 0x99, 0xed, 0x4c, 0x5e, - 0x21, 0x9b, 0x89, 0xc2, 0xfb, 0x86, 0xd1, 0x52, 0xb3, 0x74, 0x8a, 0x62, 0x05, 0x62, 0x4b, 0x30, - 0xf2, 0x5c, 0xf1, 0xeb, 0x0a, 0x5c, 0x62, 0xcd, 0x14, 0xfb, 0x2b, 0x68, 0xea, 0x65, 0xd8, 0xe2, - 0x21, 0xd8, 0xd3, 0x1a, 0x7a, 0x01, 0xd4, 0x48, 0x29, 0x6b, 0xe6, 0x45, 0xd8, 0x88, 0x40, 0xb1, - 0x1d, 0x19, 0x7a, 0x7a, 0x44, 0xc0, 0xbb, 0x86, 0xd5, 0xb6, 0x8d, 0xbd, 0xbd, 0xa6, 0xd9, 0x66, - 0x0d, 0xc9, 0x16, 0x35, 0xd8, 0x28, 0xb9, 0xe3, 0x09, 0x15, 0xbd, 0x06, 0xbe, 0x37, 0x1c, 0x60, - 0x13, 0x56, 0x61, 0xd9, 0xf8, 0x4c, 0xdb, 0x68, 0x58, 0xd5, 0x66, 0x43, 0x3d, 0x57, 0xbc, 0x1c, - 0xc3, 0x11, 0xfb, 0xd8, 0xb2, 0x2a, 0xea, 0xb9, 0xa2, 0x03, 0xab, 0xc2, 0xf0, 0x9a, 0xad, 0x8a, - 0x2b, 0xb0, 0x2d, 0xd6, 0x1a, 0x9e, 0x28, 0xf1, 0x2e, 0x6c, 0xc1, 0x85, 0x64, 0xb9, 0xd1, 0x56, - 0x15, 0x3a, 0x0b, 0xb1, 0x12, 0x0a, 0xcf, 0x14, 0x7f, 0x5d, 0x81, 0xd5, 0xe0, 0xd1, 0x04, 0xd5, - 0xb4, 0x57, 0x61, 0xa7, 0xbe, 0xa7, 0xdb, 0x65, 0xe3, 0xa0, 0x5a, 0x32, 0xec, 0xfb, 0xd5, 0x46, - 0x39, 0xf6, 0x91, 0xe7, 0xe0, 0x62, 0x0a, 0x02, 0x7e, 0x65, 0x0b, 0x2e, 0xc4, 0x8b, 0xda, 0x74, - 0xab, 0x66, 0xe8, 0xd0, 0xc7, 0x4b, 0x82, 0x7d, 0x9a, 0x2d, 0xfe, 0xb1, 0x02, 0x5b, 0xed, 0xf1, - 0xd4, 0x9f, 0xb8, 0x3d, 0xfe, 0x7c, 0xc3, 0x72, 0xcf, 0x60, 0x70, 0xe6, 0x22, 0xdc, 0x6c, 0x9b, - 0x1d, 0xab, 0x6d, 0x94, 0x05, 0x39, 0x5d, 0xb4, 0x55, 0xd3, 0xa8, 0x1b, 0x8d, 0x76, 0xac, 0x6d, - 0x2f, 0xc3, 0x4b, 0x73, 0x70, 0x1b, 0xcd, 0xb6, 0xf8, 0x4d, 0xf7, 0xea, 0x4b, 0xf0, 0xe2, 0x1c, - 0xe4, 0x00, 0x31, 0x53, 0x3c, 0x80, 0x35, 0x4b, 0xaf, 0xd7, 0xf6, 0x86, 0xe3, 0xae, 0xab, 0x4f, - 0x27, 0x27, 0x03, 0xb2, 0x03, 0x9b, 0x7b, 0x4d, 0xb3, 0x64, 0xd8, 0xd8, 0x83, 0x58, 0x23, 0xce, - 0xc3, 0xba, 0x5c, 0xf8, 0xc0, 0xa0, 0xbb, 0x8b, 0xc0, 0x9a, 0x0c, 0x6c, 0x34, 0xd5, 0x4c, 0xf1, - 0x73, 0xb0, 0x12, 0xc9, 0xd3, 0xb7, 0x09, 0xe7, 0xe5, 0xdf, 0x2d, 0x77, 0xd0, 0xf3, 0x06, 0xc7, - 0xea, 0xb9, 0x78, 0x81, 0x39, 0x1d, 0x0c, 0x68, 0x01, 0x1e, 0x37, 0x72, 0x41, 0xdb, 0x1d, 0x9f, - 0x7a, 0x03, 0x67, 0xe2, 0xf6, 0xd4, 0x4c, 0xf1, 0x55, 0x58, 0x8d, 0x44, 0x07, 0xa7, 0xeb, 0xaa, - 0xd6, 0xe4, 0xf7, 0x43, 0xdd, 0x28, 0x57, 0x3b, 0x75, 0x75, 0x81, 0x1e, 0x34, 0x95, 0xea, 0x7e, - 0x45, 0x85, 0xe2, 0xb7, 0x14, 0x2a, 0x06, 0xe1, 0xb8, 0xd7, 0xf7, 0x74, 0xb1, 0x12, 0xe9, 0x2e, - 0x60, 0x39, 0x07, 0x0c, 0xcb, 0x62, 0x4f, 0xfe, 0x97, 0x61, 0x8b, 0xff, 0xb0, 0xf5, 0x46, 0xd9, - 0xae, 0xe8, 0x66, 0xf9, 0x50, 0x37, 0xe9, 0xd6, 0x78, 0xa0, 0x66, 0x70, 0xbf, 0x4b, 0x10, 0xbb, - 0xdd, 0xec, 0x94, 0x2a, 0x6a, 0x96, 0x6e, 0xaf, 0x08, 0xbc, 0x55, 0x6d, 0xa8, 0x39, 0x3c, 0x3d, - 0x12, 0xd8, 0x58, 0x2d, 0x2d, 0x5f, 0x28, 0xbe, 0xab, 0xc0, 0xa6, 0xe5, 0x1d, 0x0f, 0x9c, 0xc9, - 0x74, 0xec, 0xea, 0xfd, 0xe3, 0xe1, 0xd8, 0x9b, 0x9c, 0x9c, 0x5a, 0x53, 0x6f, 0xe2, 0x92, 0xdb, - 0x70, 0xc3, 0xaa, 0xee, 0x37, 0xf4, 0x36, 0xdd, 0xfd, 0x7a, 0x6d, 0xbf, 0x69, 0x56, 0xdb, 0x95, - 0xba, 0x6d, 0x75, 0xaa, 0x89, 0x8d, 0x71, 0x1d, 0x5e, 0x98, 0x8d, 0x5a, 0x33, 0xf6, 0xf5, 0xd2, - 0x03, 0x55, 0x99, 0x5f, 0xe1, 0xae, 0x5e, 0xd3, 0x1b, 0x25, 0xa3, 0x6c, 0x1f, 0xdc, 0x51, 0x33, - 0xe4, 0x06, 0x5c, 0x9b, 0x8d, 0xba, 0x57, 0x6d, 0x59, 0x14, 0x2d, 0x3b, 0xff, 0xbb, 0x15, 0xab, - 0x4e, 0xb1, 0x72, 0xc5, 0x3f, 0x52, 0x60, 0x6b, 0x56, 0x88, 0x28, 0x72, 0x13, 0x34, 0xa3, 0xd1, - 0x36, 0xf5, 0x6a, 0xd9, 0x2e, 0x99, 0x46, 0xd9, 0x68, 0xb4, 0xab, 0x7a, 0xcd, 0xb2, 0xad, 0x66, - 0x87, 0xae, 0xa6, 0xd0, 0x32, 0xe3, 0x45, 0xb8, 0x3a, 0x07, 0xaf, 0x59, 0x2d, 0x97, 0x54, 0x85, - 0xdc, 0x81, 0x57, 0xe6, 0x20, 0x59, 0x0f, 0xac, 0xb6, 0x51, 0x97, 0x4b, 0xd4, 0x4c, 0xb1, 0x04, - 0xdb, 0xb3, 0x63, 0xc8, 0xd0, 0x5b, 0x24, 0x3a, 0xd2, 0x79, 0xc8, 0x95, 0xe9, 0xc5, 0x15, 0x49, - 0x4d, 0x51, 0xf4, 0x40, 0x8d, 0x87, 0x81, 0x48, 0x98, 0xd0, 0x98, 0x9d, 0x46, 0x83, 0xdd, 0x72, - 0xeb, 0x50, 0x68, 0xb6, 0x2b, 0x86, 0xc9, 0x93, 0x7b, 0x60, 0x36, 0x8f, 0x4e, 0x83, 0x6e, 0x9c, - 0xa6, 0x59, 0xfd, 0x2c, 0x5e, 0x77, 0x5b, 0x70, 0xc1, 0xaa, 0xe9, 0xa5, 0xfb, 0xb8, 0xa7, 0xab, - 0x0d, 0xbb, 0x54, 0xd1, 0x1b, 0x0d, 0xa3, 0xa6, 0x02, 0x0e, 0xe6, 0x2c, 0xd7, 0x4f, 0xf2, 0x01, - 0xb8, 0xd5, 0xbc, 0xdf, 0xd6, 0xed, 0x56, 0xad, 0xb3, 0x5f, 0x6d, 0xd8, 0xd6, 0x83, 0x46, 0x49, - 0xb0, 0x66, 0xa5, 0xe4, 0x8d, 0x70, 0x0b, 0xae, 0xcf, 0xc5, 0x0e, 0xd3, 0x70, 0xdc, 0x04, 0x6d, - 0x2e, 0x26, 0xef, 0x48, 0xf1, 0x87, 0x0a, 0xec, 0xcc, 0x79, 0xe2, 0x26, 0xaf, 0xc0, 0xed, 0x8a, - 0xa1, 0x97, 0x6b, 0x86, 0x65, 0xe1, 0x41, 0x41, 0xa7, 0x81, 0x99, 0xda, 0xa4, 0x9e, 0xf7, 0xb7, - 0xe1, 0xc6, 0x7c, 0xf4, 0x90, 0x73, 0xb8, 0x05, 0xd7, 0xe7, 0xa3, 0x72, 0x4e, 0x22, 0x43, 0xcf, - 0xdb, 0xf9, 0x98, 0x01, 0x07, 0x92, 0x2d, 0xfe, 0xb6, 0x02, 0x97, 0xd2, 0xf5, 0x4c, 0xb4, 0x6d, - 0xd5, 0x86, 0xd5, 0xd6, 0x6b, 0x35, 0xbb, 0xa5, 0x9b, 0x7a, 0xdd, 0x36, 0x1a, 0x66, 0xb3, 0x56, - 0x4b, 0xbb, 0x79, 0xaf, 0xc3, 0x0b, 0xb3, 0x51, 0xad, 0x92, 0x59, 0x6d, 0xd1, 0xcb, 0x45, 0x83, - 0x2b, 0xb3, 0xb1, 0x8c, 0x6a, 0xc9, 0x50, 0x33, 0xbb, 0x1f, 0xff, 0xfe, 0x3f, 0x5d, 0x39, 0xf7, - 0xfd, 0x77, 0xaf, 0x28, 0x3f, 0x7a, 0xf7, 0x8a, 0xf2, 0x8f, 0xef, 0x5e, 0x51, 0x3e, 0xfb, 0xf2, - 0xd9, 0x32, 0x58, 0xa1, 0x58, 0xf2, 0x68, 0x11, 0x05, 0xa8, 0xd7, 0xfe, 0x27, 0x00, 0x00, 0xff, - 0xff, 0x40, 0x5d, 0x95, 0x86, 0xa6, 0xb9, 0x01, 0x00, + // 30112 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6b, 0x70, 0x1c, 0x49, + 0x7a, 0x20, 0x36, 0xdd, 0x8d, 0x47, 0xe3, 0xc3, 0xab, 0x91, 0x00, 0x49, 0x10, 0x33, 0xc3, 0xe6, + 0xd4, 0xcc, 0x70, 0xc8, 0x79, 0x90, 0x4b, 0x70, 0x87, 0xbb, 0xb3, 0xf3, 0xda, 0x46, 0x37, 0x48, + 0x34, 0x09, 0x80, 0xd8, 0x6a, 0x80, 0xd8, 0xd1, 0x3e, 0x6a, 0x0b, 0xdd, 0x09, 0xa0, 0x06, 0xdd, + 0x5d, 0xbd, 0x55, 0xd5, 0x04, 0xa1, 0xbd, 0xf3, 0x49, 0x77, 0xd2, 0xc9, 0x0a, 0x59, 0xaf, 0x3b, + 0xe9, 0xa4, 0x73, 0xe8, 0x14, 0x0a, 0xf9, 0xce, 0x56, 0x9c, 0xe3, 0x14, 0xb6, 0x64, 0xd9, 0x67, + 0x2b, 0x2c, 0x4b, 0x17, 0xb2, 0x2c, 0x2b, 0x1c, 0x27, 0x85, 0x7d, 0x7e, 0xad, 0x2f, 0x20, 0xcb, + 0xf2, 0x0f, 0x07, 0x22, 0x1c, 0x21, 0xf9, 0x22, 0x1c, 0xe1, 0xbd, 0xd0, 0x9d, 0x23, 0xbf, 0xcc, + 0xac, 0xca, 0xac, 0xaa, 0x6e, 0x34, 0x86, 0x1c, 0x9d, 0xb8, 0xa1, 0x3f, 0x24, 0xfa, 0xcb, 0xef, + 0xfb, 0xb2, 0xf2, 0xfd, 0xe5, 0x97, 0xdf, 0x03, 0x5e, 0x0a, 0x68, 0x93, 0x76, 0x5c, 0x2f, 0xb8, + 0xd1, 0xa4, 0x7b, 0x76, 0xfd, 0xe8, 0x46, 0x70, 0xd4, 0xa1, 0x3e, 0xff, 0xf7, 0x7a, 0xc7, 0x73, + 0x03, 0x97, 0x0c, 0xe3, 0x8f, 0x85, 0xb9, 0x3d, 0x77, 0xcf, 0x45, 0xc8, 0x0d, 0xf6, 0x17, 0x2f, + 0x5c, 0xb8, 0xb4, 0xe7, 0xba, 0x7b, 0x4d, 0x7a, 0x03, 0x7f, 0xed, 0x74, 0x77, 0x6f, 0x34, 0xba, + 0x9e, 0x1d, 0x38, 0x6e, 0x5b, 0x94, 0x17, 0xe3, 0xe5, 0x81, 0xd3, 0xa2, 0x7e, 0x60, 0xb7, 0x3a, + 0xbd, 0x18, 0x1c, 0x7a, 0x76, 0xa7, 0x43, 0x3d, 0x51, 0xfb, 0xc2, 0xb5, 0xf0, 0x03, 0xed, 0x20, + 0x60, 0x94, 0x8c, 0xf9, 0x8d, 0x47, 0x37, 0xd5, 0x9f, 0x02, 0xf5, 0xad, 0xf4, 0xb6, 0x48, 0x86, + 0x31, 0xce, 0xc6, 0xcf, 0xe7, 0x60, 0xec, 0x3e, 0xa5, 0x9d, 0x52, 0xd3, 0x79, 0x44, 0xc9, 0xcb, + 0x30, 0xb4, 0x6e, 0xb7, 0xe8, 0x7c, 0xe6, 0x72, 0xe6, 0xea, 0xd8, 0xd2, 0xf4, 0xc9, 0x71, 0x71, + 0xdc, 0xa7, 0xde, 0x23, 0xea, 0x59, 0x6d, 0xbb, 0x45, 0x4d, 0x2c, 0x24, 0x6f, 0xc0, 0x18, 0xfb, + 0xdf, 0xef, 0xd8, 0x75, 0x3a, 0x9f, 0x45, 0xcc, 0xc9, 0x93, 0xe3, 0xe2, 0x58, 0x5b, 0x02, 0xcd, + 0xa8, 0x9c, 0x54, 0x61, 0x74, 0xf9, 0x71, 0xc7, 0xf1, 0xa8, 0x3f, 0x3f, 0x74, 0x39, 0x73, 0x75, + 0x7c, 0x71, 0xe1, 0x3a, 0x6f, 0xeb, 0x75, 0xd9, 0xd6, 0xeb, 0x9b, 0xb2, 0x33, 0x96, 0x66, 0x7f, + 0xf7, 0xb8, 0xf8, 0xdc, 0xc9, 0x71, 0x71, 0x94, 0x72, 0x92, 0x9f, 0xf8, 0xc3, 0x62, 0xc6, 0x94, + 0xf4, 0xe4, 0x3d, 0x18, 0xda, 0x3c, 0xea, 0xd0, 0xf9, 0xb1, 0xcb, 0x99, 0xab, 0x53, 0x8b, 0x97, + 0xae, 0xf3, 0xe1, 0x09, 0x3f, 0x3e, 0xfa, 0x8b, 0x61, 0x2d, 0xe5, 0x4f, 0x8e, 0x8b, 0x43, 0x0c, + 0xc5, 0x44, 0x2a, 0xf2, 0x16, 0x8c, 0xac, 0xb8, 0x7e, 0x50, 0xad, 0xcc, 0x03, 0x7e, 0xf2, 0xb9, + 0x93, 0xe3, 0xe2, 0xcc, 0xbe, 0xeb, 0x07, 0x96, 0xd3, 0x78, 0xd3, 0x6d, 0x39, 0x01, 0x6d, 0x75, + 0x82, 0x23, 0x53, 0x20, 0x19, 0x8f, 0x61, 0x52, 0xe3, 0x47, 0xc6, 0x61, 0x74, 0x6b, 0xfd, 0xfe, + 0xfa, 0x83, 0xed, 0xf5, 0xc2, 0x73, 0x24, 0x0f, 0x43, 0xeb, 0x0f, 0x2a, 0xcb, 0x85, 0x0c, 0x19, + 0x85, 0x5c, 0x69, 0x63, 0xa3, 0x90, 0x25, 0x13, 0x90, 0xaf, 0x94, 0x36, 0x4b, 0x4b, 0xa5, 0xda, + 0x72, 0x21, 0x47, 0x66, 0x61, 0x7a, 0xbb, 0xba, 0x5e, 0x79, 0xb0, 0x5d, 0xb3, 0x2a, 0xcb, 0xb5, + 0xfb, 0x9b, 0x0f, 0x36, 0x0a, 0x43, 0x64, 0x0a, 0xe0, 0xfe, 0xd6, 0xd2, 0xb2, 0xb9, 0xbe, 0xbc, + 0xb9, 0x5c, 0x2b, 0x0c, 0x93, 0x39, 0x28, 0x48, 0x12, 0xab, 0xb6, 0x6c, 0x3e, 0xac, 0x96, 0x97, + 0x0b, 0x23, 0xf7, 0x86, 0xf2, 0xb9, 0xc2, 0x90, 0x39, 0xba, 0x4a, 0x6d, 0x9f, 0x56, 0x2b, 0xc6, + 0xbf, 0x97, 0x83, 0xfc, 0x1a, 0x0d, 0xec, 0x86, 0x1d, 0xd8, 0xe4, 0x05, 0x6d, 0x7c, 0xb0, 0x89, + 0xca, 0xc0, 0xbc, 0x9c, 0x1c, 0x98, 0xe1, 0x93, 0xe3, 0x62, 0xe6, 0x2d, 0x75, 0x40, 0xde, 0x85, + 0xf1, 0x0a, 0xf5, 0xeb, 0x9e, 0xd3, 0x61, 0x93, 0x66, 0x3e, 0x87, 0x68, 0x17, 0x4f, 0x8e, 0x8b, + 0xe7, 0x1a, 0x11, 0x58, 0xe9, 0x10, 0x15, 0x9b, 0x54, 0x61, 0x64, 0xd5, 0xde, 0xa1, 0x4d, 0x7f, + 0x7e, 0xf8, 0x72, 0xee, 0xea, 0xf8, 0xe2, 0xf3, 0x62, 0x10, 0xe4, 0x07, 0x5e, 0xe7, 0xa5, 0xcb, + 0xed, 0xc0, 0x3b, 0x5a, 0x9a, 0x3b, 0x39, 0x2e, 0x16, 0x9a, 0x08, 0x50, 0x3b, 0x98, 0xa3, 0x90, + 0x5a, 0x34, 0x31, 0x46, 0x4e, 0x9d, 0x18, 0x2f, 0xfe, 0xee, 0x71, 0x31, 0xc3, 0x06, 0x4c, 0x4c, + 0x8c, 0x88, 0x9f, 0x3e, 0x45, 0x16, 0x21, 0x6f, 0xd2, 0x47, 0x8e, 0xcf, 0x5a, 0x96, 0xc7, 0x96, + 0x9d, 0x3f, 0x39, 0x2e, 0x12, 0x4f, 0xc0, 0x94, 0xcf, 0x08, 0xf1, 0x16, 0xde, 0x81, 0x71, 0xe5, + 0xab, 0x49, 0x01, 0x72, 0x07, 0xf4, 0x88, 0xf7, 0xb0, 0xc9, 0xfe, 0x24, 0x73, 0x30, 0xfc, 0xc8, + 0x6e, 0x76, 0x45, 0x97, 0x9a, 0xfc, 0xc7, 0x17, 0xb2, 0x9f, 0xcf, 0xdc, 0x1b, 0xca, 0x8f, 0x16, + 0xf2, 0x66, 0xb6, 0x5a, 0x31, 0xfe, 0xd6, 0x10, 0xe4, 0x4d, 0x97, 0x2f, 0x44, 0x72, 0x0d, 0x86, + 0x6b, 0x81, 0x1d, 0xc8, 0x61, 0x9a, 0x3d, 0x39, 0x2e, 0x4e, 0xb3, 0x45, 0x4a, 0x95, 0xfa, 0x39, + 0x06, 0x43, 0xdd, 0xd8, 0xb7, 0x7d, 0x39, 0x5c, 0x88, 0xda, 0x61, 0x00, 0x15, 0x15, 0x31, 0xc8, + 0x15, 0x18, 0x5a, 0x73, 0x1b, 0x54, 0x8c, 0x18, 0x39, 0x39, 0x2e, 0x4e, 0xb5, 0xdc, 0x86, 0x8a, + 0x88, 0xe5, 0xe4, 0x4d, 0x18, 0x2b, 0x77, 0x3d, 0x8f, 0xb6, 0xd9, 0x5c, 0x1f, 0x42, 0xe4, 0xa9, + 0x93, 0xe3, 0x22, 0xd4, 0x39, 0xd0, 0x72, 0x1a, 0x66, 0x84, 0xc0, 0x86, 0xa1, 0x16, 0xd8, 0x5e, + 0x40, 0x1b, 0xf3, 0xc3, 0x03, 0x0d, 0x03, 0x5b, 0x9f, 0x33, 0x3e, 0x27, 0x89, 0x0f, 0x83, 0xe0, + 0x44, 0x56, 0x60, 0xfc, 0xae, 0x67, 0xd7, 0xe9, 0x06, 0xf5, 0x1c, 0xb7, 0x81, 0xe3, 0x9b, 0x5b, + 0xba, 0x72, 0x72, 0x5c, 0x3c, 0xbf, 0xc7, 0xc0, 0x56, 0x07, 0xe1, 0x11, 0xf5, 0x77, 0x8e, 0x8b, + 0xf9, 0x8a, 0xd8, 0x32, 0x4d, 0x95, 0x94, 0x7c, 0x83, 0x0d, 0x8e, 0x1f, 0x60, 0xd7, 0xd2, 0xc6, + 0xfc, 0xe8, 0xa9, 0x9f, 0x68, 0x88, 0x4f, 0x3c, 0xdf, 0xb4, 0xfd, 0xc0, 0xf2, 0x38, 0x5d, 0xec, + 0x3b, 0x55, 0x96, 0xe4, 0x01, 0xe4, 0x6b, 0xf5, 0x7d, 0xda, 0xe8, 0x36, 0x29, 0x4e, 0x99, 0xf1, + 0xc5, 0x0b, 0x62, 0x52, 0xcb, 0xf1, 0x94, 0xc5, 0x4b, 0x0b, 0x82, 0x37, 0xf1, 0x05, 0x44, 0x9d, + 0x4f, 0x12, 0xeb, 0x0b, 0xf9, 0x9f, 0xfd, 0x85, 0xe2, 0x73, 0xdf, 0xf7, 0xcf, 0x2f, 0x3f, 0x67, + 0xfc, 0x67, 0x59, 0x28, 0xc4, 0x99, 0x90, 0x5d, 0x98, 0xdc, 0xea, 0x34, 0xec, 0x80, 0x96, 0x9b, + 0x0e, 0x6d, 0x07, 0x3e, 0x4e, 0x92, 0xfe, 0x6d, 0x7a, 0x45, 0xd4, 0x3b, 0xdf, 0x45, 0x42, 0xab, + 0xce, 0x29, 0x63, 0xad, 0xd2, 0xd9, 0x46, 0xf5, 0xd4, 0x70, 0x03, 0xf7, 0x71, 0x86, 0x9d, 0xad, + 0x1e, 0xbe, 0xf5, 0xf7, 0xa8, 0x47, 0xb0, 0x15, 0x13, 0xa8, 0xdd, 0xd8, 0x39, 0xc2, 0x99, 0x39, + 0xf8, 0x04, 0x62, 0x24, 0x29, 0x13, 0x88, 0x81, 0x8d, 0xff, 0x33, 0x03, 0x53, 0x26, 0xf5, 0xdd, + 0xae, 0x57, 0xa7, 0x2b, 0xd4, 0x6e, 0x50, 0x8f, 0x4d, 0xff, 0xfb, 0x4e, 0xbb, 0x21, 0xd6, 0x14, + 0x4e, 0xff, 0x03, 0xa7, 0xad, 0x6e, 0xdd, 0x58, 0x4e, 0x3e, 0x03, 0xa3, 0xb5, 0xee, 0x0e, 0xa2, + 0x66, 0xa3, 0x1d, 0xc0, 0xef, 0xee, 0x58, 0x31, 0x74, 0x89, 0x46, 0x6e, 0xc0, 0xe8, 0x43, 0xea, + 0xf9, 0xd1, 0x6e, 0x88, 0x47, 0xc3, 0x23, 0x0e, 0x52, 0x09, 0x04, 0x16, 0xb9, 0x1b, 0xed, 0xc8, + 0xe2, 0x50, 0x9b, 0x8e, 0xed, 0x83, 0xd1, 0x54, 0x69, 0x09, 0x88, 0x3a, 0x55, 0x24, 0x96, 0xf1, + 0x93, 0x59, 0x28, 0x54, 0xec, 0xc0, 0xde, 0xb1, 0x7d, 0xd1, 0x9f, 0x0f, 0x6f, 0xb1, 0x3d, 0x5e, + 0x69, 0x28, 0xee, 0xf1, 0xec, 0xcb, 0x3f, 0x71, 0xf3, 0x5e, 0x8d, 0x37, 0x6f, 0x9c, 0x9d, 0xb0, + 0xa2, 0x79, 0x51, 0xa3, 0xde, 0x3f, 0xbd, 0x51, 0x05, 0xd1, 0xa8, 0xbc, 0x6c, 0x54, 0xd4, 0x14, + 0xf2, 0x3e, 0x0c, 0xd5, 0x3a, 0xb4, 0x2e, 0x36, 0x11, 0x79, 0x2e, 0xe8, 0x8d, 0x63, 0x08, 0x0f, + 0x6f, 0x2d, 0x4d, 0x08, 0x36, 0x43, 0x7e, 0x87, 0xd6, 0x4d, 0x24, 0x53, 0x16, 0xcd, 0x3f, 0xce, + 0xc1, 0x5c, 0x1a, 0x99, 0xda, 0x8e, 0x91, 0x3e, 0xed, 0xb8, 0x0a, 0x79, 0x76, 0x84, 0xb3, 0x63, + 0x11, 0xb7, 0x8b, 0xb1, 0xa5, 0x09, 0xf6, 0xc9, 0xfb, 0x02, 0x66, 0x86, 0xa5, 0xe4, 0xe5, 0x50, + 0x22, 0xc8, 0x47, 0xfc, 0x84, 0x44, 0x20, 0xe5, 0x00, 0x36, 0xd6, 0x72, 0x09, 0xa3, 0xe0, 0x10, + 0x75, 0x8b, 0x04, 0x47, 0x63, 0xed, 0x09, 0x88, 0x76, 0xcc, 0xc8, 0x43, 0x61, 0x19, 0xf2, 0xb2, + 0x59, 0xf3, 0x13, 0xc8, 0x68, 0x26, 0xd6, 0x49, 0x0f, 0x6f, 0xf1, 0xc1, 0x6c, 0x88, 0xdf, 0x2a, + 0x1b, 0x89, 0x43, 0x6e, 0x41, 0x7e, 0xc3, 0x73, 0x1f, 0x1f, 0x55, 0x2b, 0xfe, 0xfc, 0xe4, 0xe5, + 0xdc, 0xd5, 0xb1, 0xa5, 0x0b, 0x27, 0xc7, 0xc5, 0xd9, 0x0e, 0x83, 0x59, 0x4e, 0x43, 0x3d, 0x69, + 0x43, 0xc4, 0x7b, 0x43, 0xf9, 0x4c, 0x21, 0x7b, 0x6f, 0x28, 0x9f, 0x2d, 0xe4, 0xb8, 0x78, 0x71, + 0x6f, 0x28, 0x3f, 0x54, 0x18, 0xbe, 0x37, 0x94, 0x1f, 0x46, 0x81, 0x63, 0xac, 0x00, 0xf7, 0x86, + 0xf2, 0xe3, 0x85, 0x09, 0xed, 0xb4, 0x47, 0x06, 0x81, 0x5b, 0x77, 0x9b, 0x66, 0x6e, 0xcb, 0xac, + 0x9a, 0x23, 0xe5, 0x52, 0x99, 0x7a, 0x81, 0x99, 0x2b, 0x6d, 0xd7, 0xcc, 0xc9, 0xca, 0x51, 0xdb, + 0x6e, 0x39, 0x75, 0x7e, 0x74, 0x9a, 0xb9, 0xbb, 0xe5, 0x0d, 0xa3, 0x04, 0x53, 0x51, 0x5b, 0x56, + 0x1d, 0x3f, 0x20, 0x37, 0x60, 0x4c, 0x42, 0xd8, 0x46, 0x97, 0x4b, 0x6d, 0xb5, 0x19, 0xe1, 0x18, + 0xbf, 0x93, 0x05, 0x88, 0x4a, 0x9e, 0xd1, 0xb5, 0xf0, 0x39, 0x6d, 0x2d, 0x9c, 0x8b, 0xaf, 0x85, + 0x9e, 0xab, 0x80, 0x7c, 0x08, 0x23, 0x4c, 0x2c, 0xe8, 0x4a, 0x91, 0xe8, 0x42, 0x9c, 0x14, 0x0b, + 0x1f, 0xde, 0x5a, 0x9a, 0x12, 0xc4, 0x23, 0x3e, 0x42, 0x4c, 0x41, 0xa6, 0x2c, 0xa3, 0x9f, 0x1f, + 0x8d, 0x06, 0x43, 0x2c, 0xa0, 0xab, 0x10, 0x0e, 0xa8, 0xe8, 0x50, 0x5c, 0x19, 0x1d, 0x39, 0xc8, + 0x61, 0x29, 0xb9, 0x08, 0x6c, 0xc0, 0x45, 0xa7, 0x8e, 0x9e, 0x1c, 0x17, 0x73, 0x5d, 0xcf, 0xc1, + 0x49, 0x40, 0x6e, 0x80, 0x98, 0x06, 0xa2, 0x03, 0xd9, 0xec, 0x9b, 0xa9, 0xdb, 0x56, 0x9d, 0x7a, + 0x41, 0xd4, 0xe3, 0xf3, 0x19, 0x39, 0x5b, 0x48, 0x07, 0xf4, 0xa9, 0x32, 0x3f, 0x84, 0xd3, 0xe0, + 0x6a, 0x6a, 0xaf, 0x5c, 0xd7, 0x50, 0xb9, 0x18, 0x79, 0x59, 0x9e, 0x4a, 0x0d, 0x5e, 0x66, 0x25, + 0x44, 0x4a, 0xbd, 0x02, 0x72, 0x0b, 0xd8, 0x0c, 0x15, 0xbd, 0x0f, 0xa2, 0x9e, 0xd2, 0x76, 0x6d, + 0xe9, 0x9c, 0xe0, 0x34, 0x69, 0x1f, 0xaa, 0xe4, 0x0c, 0x9b, 0xbc, 0x0b, 0x6c, 0x0a, 0x8b, 0x7e, + 0x27, 0x82, 0xe8, 0x6e, 0x79, 0xa3, 0xdc, 0x74, 0xbb, 0x8d, 0xda, 0x97, 0x56, 0x23, 0xe2, 0xbd, + 0x7a, 0x47, 0x25, 0xbe, 0x5b, 0xde, 0x20, 0xef, 0xc2, 0x70, 0xe9, 0x7b, 0xbb, 0x1e, 0x15, 0xf2, + 0xc9, 0x84, 0xac, 0x93, 0xc1, 0x96, 0x2e, 0x08, 0xc2, 0x69, 0x9b, 0xfd, 0x54, 0xe5, 0x3a, 0x2c, + 0x67, 0x35, 0x6f, 0xae, 0xd6, 0x84, 0xec, 0x41, 0x62, 0xdd, 0xb2, 0xb9, 0xaa, 0x7c, 0x76, 0xa0, + 0xb5, 0x9a, 0x51, 0x91, 0x1b, 0x90, 0x2d, 0x55, 0xf0, 0x46, 0x34, 0xbe, 0x38, 0x26, 0xab, 0xad, + 0x2c, 0xcd, 0x09, 0x92, 0x09, 0x5b, 0x5d, 0x06, 0xd9, 0x52, 0x85, 0x2c, 0xc1, 0xf0, 0xda, 0x51, + 0xed, 0x4b, 0xab, 0x62, 0x33, 0x9b, 0x95, 0xf3, 0x9a, 0xc1, 0x1e, 0xe0, 0xb2, 0xf7, 0xa3, 0x2f, + 0x6e, 0x1d, 0xf9, 0xdf, 0x6c, 0xaa, 0x5f, 0x8c, 0x68, 0x64, 0x03, 0xc6, 0x4a, 0x8d, 0x96, 0xd3, + 0xde, 0xf2, 0xa9, 0x37, 0x3f, 0x8e, 0x7c, 0xe6, 0x63, 0xdf, 0x1d, 0x96, 0x2f, 0xcd, 0x9f, 0x1c, + 0x17, 0xe7, 0x6c, 0xf6, 0xd3, 0xea, 0xfa, 0xd4, 0x53, 0xb8, 0x45, 0x4c, 0xc8, 0x06, 0xc0, 0x9a, + 0xdb, 0xde, 0x73, 0x4b, 0x41, 0xd3, 0xf6, 0x63, 0xdb, 0x63, 0x54, 0x10, 0x8a, 0x0f, 0xe7, 0x5a, + 0x0c, 0x66, 0xd9, 0x0c, 0xa8, 0x30, 0x54, 0x78, 0x90, 0x3b, 0x30, 0xf2, 0xc0, 0xb3, 0xeb, 0x4d, + 0x3a, 0x3f, 0x89, 0xdc, 0xe6, 0x04, 0x37, 0x0e, 0x94, 0x2d, 0x9d, 0x17, 0x0c, 0x0b, 0x2e, 0x82, + 0xd5, 0x6b, 0x0a, 0x47, 0x5c, 0xd8, 0x06, 0x92, 0x9c, 0x93, 0x29, 0x97, 0x84, 0x37, 0xd4, 0x4b, + 0x42, 0xb4, 0xe8, 0xcb, 0x6e, 0xab, 0x65, 0xb7, 0x1b, 0x48, 0xfb, 0x70, 0x51, 0xb9, 0x3b, 0x18, + 0xdf, 0x84, 0x99, 0x44, 0x67, 0x9d, 0x72, 0xbf, 0xfb, 0x00, 0xa6, 0x2b, 0x74, 0xd7, 0xee, 0x36, + 0x83, 0xf0, 0x24, 0xe1, 0x4b, 0x14, 0x6f, 0x5a, 0x0d, 0x5e, 0x64, 0xc9, 0xe3, 0xc3, 0x8c, 0x23, + 0x1b, 0xef, 0xc3, 0xa4, 0xd6, 0x7c, 0x76, 0x55, 0x28, 0x75, 0x1b, 0x4e, 0x80, 0x03, 0x99, 0x89, + 0xae, 0x0a, 0x36, 0x03, 0xe2, 0x70, 0x99, 0x11, 0x82, 0xf1, 0xf7, 0x55, 0x69, 0x45, 0xec, 0x44, + 0xec, 0x5a, 0x2d, 0xf6, 0x83, 0x4c, 0x24, 0x3b, 0x25, 0xf6, 0x83, 0x70, 0x37, 0xb8, 0xc6, 0xd7, + 0x66, 0x36, 0xb1, 0x36, 0xc7, 0xc5, 0x48, 0xe4, 0xec, 0x43, 0x9f, 0xaf, 0xc8, 0x70, 0xa6, 0xe6, + 0x3e, 0xf9, 0x4c, 0xfd, 0x10, 0x26, 0xd6, 0xec, 0xb6, 0xbd, 0x47, 0x1b, 0xac, 0x05, 0x7c, 0xef, + 0x19, 0x5b, 0x7a, 0xfe, 0xe4, 0xb8, 0x78, 0xa1, 0xc5, 0xe1, 0xd8, 0x4a, 0x75, 0x12, 0x69, 0x04, + 0xe4, 0xa6, 0x5c, 0xd9, 0xc3, 0x29, 0x2b, 0x7b, 0x52, 0xd4, 0x3e, 0x8c, 0x2b, 0x5b, 0xac, 0x67, + 0xe3, 0x37, 0xc7, 0xb0, 0x8d, 0xe4, 0x4d, 0x18, 0x31, 0xe9, 0x1e, 0x3b, 0x6a, 0x32, 0xd1, 0x20, + 0x79, 0x08, 0x51, 0x3b, 0x86, 0xe3, 0xa0, 0x9c, 0x41, 0x1b, 0xfe, 0xbe, 0xb3, 0x1b, 0x88, 0xde, + 0x09, 0xe5, 0x0c, 0x01, 0x56, 0xe4, 0x0c, 0x01, 0xd1, 0xaf, 0xb3, 0x1c, 0xc6, 0x76, 0x3f, 0xb3, + 0x52, 0x13, 0x9d, 0x26, 0x7b, 0xd8, 0xac, 0x28, 0xdb, 0x88, 0xa7, 0x49, 0x09, 0x0c, 0x9b, 0xdc, + 0x86, 0xb1, 0x52, 0xbd, 0xee, 0x76, 0x95, 0x3b, 0x23, 0x5f, 0xb7, 0x1c, 0xa8, 0xab, 0x48, 0x22, + 0x54, 0x52, 0x83, 0xf1, 0x65, 0x76, 0xd1, 0x72, 0xca, 0x76, 0x7d, 0x5f, 0x76, 0x92, 0xdc, 0xc3, + 0x94, 0x92, 0x68, 0xe5, 0x52, 0x04, 0xd6, 0x19, 0x50, 0x55, 0x32, 0x28, 0xb8, 0x64, 0x13, 0xc6, + 0x6b, 0xb4, 0xee, 0xd1, 0xa0, 0x16, 0xb8, 0x1e, 0x8d, 0x6d, 0xc9, 0x4a, 0xc9, 0xd2, 0x25, 0x79, + 0xd7, 0xf3, 0x11, 0x68, 0xf9, 0x0c, 0xaa, 0x72, 0x55, 0x90, 0xb9, 0xd0, 0xde, 0x72, 0xbd, 0xa3, + 0xca, 0x92, 0xd8, 0xa6, 0xa3, 0x33, 0x9d, 0x83, 0x55, 0xa1, 0x9d, 0x41, 0x1a, 0x3b, 0xba, 0xd0, + 0xce, 0xb1, 0x70, 0xa4, 0x2a, 0x35, 0x94, 0xad, 0xc4, 0xa6, 0x3d, 0x1d, 0xf5, 0x32, 0x82, 0x95, + 0x91, 0x6a, 0xf8, 0x28, 0x99, 0x69, 0x23, 0x25, 0xb0, 0x48, 0x07, 0x88, 0x1c, 0x35, 0x2e, 0xe8, + 0x36, 0xa9, 0xef, 0x8b, 0xbd, 0xfc, 0x62, 0x6c, 0xf0, 0x23, 0x84, 0xa5, 0x57, 0x05, 0xf3, 0x17, + 0xe5, 0x34, 0x10, 0xf7, 0x34, 0x56, 0xa8, 0xd4, 0x93, 0xc2, 0x9b, 0xbc, 0x03, 0xb0, 0xfc, 0x38, + 0xa0, 0x5e, 0xdb, 0x6e, 0x86, 0x7a, 0x30, 0x54, 0xfd, 0x50, 0x01, 0xd5, 0x07, 0x5a, 0x41, 0x26, + 0x65, 0x98, 0x2c, 0xf9, 0x7e, 0xb7, 0x45, 0x4d, 0xb7, 0x49, 0x4b, 0xe6, 0x3a, 0xee, 0xfb, 0x63, + 0x4b, 0x2f, 0x9e, 0x1c, 0x17, 0x2f, 0xda, 0x58, 0x60, 0x79, 0x6e, 0x93, 0x5a, 0xb6, 0xa7, 0xce, + 0x6e, 0x9d, 0x86, 0x3c, 0x00, 0x78, 0xd0, 0xa1, 0xed, 0x1a, 0xb5, 0xbd, 0xfa, 0x7e, 0x6c, 0x9b, + 0x8f, 0x0a, 0x96, 0x5e, 0x10, 0x2d, 0x9c, 0x73, 0x3b, 0xb4, 0xed, 0x23, 0x4c, 0xfd, 0xaa, 0x08, + 0x93, 0x6c, 0xc3, 0x74, 0xb5, 0xb4, 0xb6, 0xe1, 0x36, 0x9d, 0xfa, 0x91, 0x90, 0x9c, 0xa6, 0x50, + 0x3b, 0x78, 0x5e, 0x70, 0x8d, 0x95, 0xf2, 0xed, 0xc9, 0xb1, 0x5b, 0x56, 0x07, 0xa1, 0x96, 0x90, + 0x9f, 0xe2, 0x5c, 0xc8, 0x47, 0x6c, 0x0e, 0xfa, 0x4c, 0x18, 0xdc, 0xb4, 0xf7, 0xfc, 0xf9, 0x69, + 0x4d, 0xdb, 0x55, 0xda, 0xae, 0x5d, 0x57, 0x4a, 0xb9, 0x98, 0xb2, 0xc0, 0x27, 0x22, 0x42, 0xad, + 0xc0, 0xde, 0xf3, 0xf5, 0x89, 0x18, 0x62, 0x93, 0x7b, 0x00, 0x15, 0xb7, 0xde, 0x6d, 0xd1, 0x76, + 0x50, 0x59, 0x9a, 0x2f, 0xe8, 0x57, 0x81, 0xb0, 0x20, 0xda, 0xda, 0x1a, 0x6e, 0x5d, 0x9b, 0x89, + 0x0a, 0xf5, 0xc2, 0x07, 0x50, 0x88, 0x7f, 0xc8, 0x19, 0x15, 0x58, 0x93, 0x85, 0x29, 0xa5, 0xf5, + 0xcb, 0x8f, 0x1d, 0x3f, 0xf0, 0x8d, 0x6f, 0x69, 0x2b, 0x90, 0xed, 0x0e, 0xf7, 0xe9, 0xd1, 0x86, + 0x47, 0x77, 0x9d, 0xc7, 0x62, 0x33, 0xc3, 0xdd, 0xe1, 0x80, 0x1e, 0x59, 0x1d, 0x84, 0xaa, 0xbb, + 0x43, 0x88, 0x4a, 0x3e, 0x0b, 0xf9, 0xfb, 0x6b, 0xb5, 0xfb, 0xf4, 0xa8, 0x5a, 0x11, 0x07, 0x15, + 0x27, 0x6b, 0xf9, 0x16, 0x23, 0xd5, 0xe6, 0x5a, 0x88, 0x69, 0x2c, 0x45, 0x3b, 0x21, 0xab, 0xb9, + 0xdc, 0xec, 0xfa, 0x01, 0xf5, 0xaa, 0x15, 0xb5, 0xe6, 0x3a, 0x07, 0xc6, 0xf6, 0xa5, 0x10, 0xd5, + 0xf8, 0xd7, 0x59, 0xdc, 0x05, 0xd9, 0x84, 0xaf, 0xb6, 0xfd, 0xc0, 0x6e, 0xd7, 0x69, 0xc8, 0x00, + 0x27, 0xbc, 0x23, 0xa0, 0xb1, 0x09, 0x1f, 0x21, 0xeb, 0x55, 0x67, 0x07, 0xae, 0x9a, 0x55, 0x29, + 0x35, 0x17, 0xd5, 0x8a, 0xaa, 0x5e, 0xf5, 0x04, 0x34, 0x56, 0x65, 0x84, 0x4c, 0xae, 0xc0, 0x68, + 0xb5, 0xb4, 0x56, 0xea, 0x06, 0xfb, 0xb8, 0x07, 0xe7, 0xb9, 0x7c, 0xce, 0x66, 0xab, 0xdd, 0x0d, + 0xf6, 0x4d, 0x59, 0x48, 0x6e, 0xe0, 0xbd, 0xa7, 0x4d, 0x03, 0xae, 0x86, 0x15, 0x87, 0xae, 0xcf, + 0x41, 0xb1, 0x6b, 0x0f, 0x03, 0x91, 0xd7, 0x61, 0xf8, 0xe1, 0x46, 0xb9, 0x5a, 0x11, 0x17, 0x67, + 0x3c, 0x89, 0x1e, 0x75, 0xea, 0xfa, 0x97, 0x70, 0x14, 0xb2, 0x0c, 0x53, 0x35, 0x5a, 0xef, 0x7a, + 0x4e, 0x70, 0x74, 0xd7, 0x73, 0xbb, 0x1d, 0x7f, 0x7e, 0x14, 0xeb, 0xc0, 0x95, 0xee, 0x8b, 0x12, + 0x6b, 0x0f, 0x8b, 0x14, 0xea, 0x18, 0x91, 0xf1, 0x5b, 0x99, 0x68, 0x9b, 0x24, 0x57, 0x34, 0xb1, + 0x06, 0x75, 0x37, 0x4c, 0xac, 0x51, 0x75, 0x37, 0x28, 0xe0, 0x98, 0x40, 0xca, 0x5d, 0x3f, 0x70, + 0x5b, 0xcb, 0xed, 0x46, 0xc7, 0x75, 0xda, 0x01, 0x52, 0xf1, 0xce, 0x37, 0x4e, 0x8e, 0x8b, 0x97, + 0xea, 0x58, 0x6a, 0x51, 0x51, 0x6c, 0xc5, 0xb8, 0xa4, 0x50, 0x3f, 0xc1, 0x78, 0x18, 0xbf, 0x97, + 0xd5, 0x8e, 0x37, 0xf6, 0x79, 0x26, 0xed, 0x34, 0x9d, 0x3a, 0xde, 0xe8, 0xb1, 0xa1, 0xe1, 0xac, + 0xc2, 0xcf, 0xf3, 0xa2, 0x52, 0xde, 0x43, 0x3a, 0xef, 0x14, 0x6a, 0xf2, 0x45, 0x98, 0x60, 0x92, + 0x86, 0xf8, 0xe9, 0xcf, 0x67, 0xb1, 0xb3, 0x5f, 0x40, 0x2d, 0x9c, 0x4f, 0xbd, 0x90, 0x8d, 0x26, + 0xa2, 0xa8, 0x14, 0xa4, 0x01, 0xf3, 0x9b, 0x9e, 0xdd, 0xf6, 0x9d, 0x60, 0xb9, 0x5d, 0xf7, 0x8e, + 0x50, 0x32, 0x5a, 0x6e, 0xdb, 0x3b, 0x4d, 0xda, 0xc0, 0xe6, 0xe6, 0x97, 0xae, 0x9e, 0x1c, 0x17, + 0x5f, 0x09, 0x38, 0x8e, 0x45, 0x43, 0x24, 0x8b, 0x72, 0x2c, 0x85, 0x73, 0x4f, 0x4e, 0x4c, 0x92, + 0x92, 0xdd, 0x8a, 0x8f, 0x30, 0x5c, 0x48, 0x40, 0x49, 0x2a, 0x1c, 0x0d, 0xb6, 0x87, 0xa9, 0x9f, + 0xa9, 0x12, 0x18, 0xff, 0x6f, 0x26, 0x3a, 0x80, 0xc9, 0x7b, 0x30, 0x2e, 0x56, 0x8c, 0x32, 0x2f, + 0x70, 0x07, 0x95, 0xcb, 0x2b, 0x36, 0xb2, 0x2a, 0x3a, 0xbb, 0xf7, 0x97, 0xca, 0xab, 0xca, 0xdc, + 0xc0, 0x7b, 0xbf, 0x5d, 0x6f, 0xc6, 0xa9, 0x24, 0x1a, 0x9b, 0x04, 0x9b, 0xab, 0x35, 0xbd, 0x57, + 0x70, 0x12, 0x04, 0x4d, 0x3f, 0xa5, 0x1b, 0x14, 0xe4, 0x27, 0x6f, 0xf8, 0xff, 0x9c, 0x49, 0x3b, + 0xe7, 0xc9, 0x12, 0x4c, 0x6e, 0xbb, 0xde, 0x01, 0x8e, 0xaf, 0xd2, 0x09, 0x38, 0xf2, 0x87, 0xb2, + 0x20, 0xde, 0x20, 0x9d, 0x44, 0xfd, 0x36, 0xa5, 0x37, 0xf4, 0x6f, 0x8b, 0x71, 0xd0, 0x08, 0xd8, + 0x38, 0x84, 0x1c, 0xc3, 0xd5, 0x81, 0xe3, 0x10, 0x7d, 0x82, 0x36, 0x85, 0x55, 0x74, 0xe3, 0xbf, + 0xcc, 0xa8, 0xe7, 0x39, 0xeb, 0xe4, 0x8a, 0xdb, 0xb2, 0x9d, 0xb6, 0xd2, 0x1c, 0xfe, 0xb0, 0x84, + 0xd0, 0xf8, 0x97, 0x28, 0xc8, 0xe4, 0x16, 0xe4, 0xf9, 0xaf, 0x70, 0xaf, 0x45, 0xad, 0x96, 0x20, + 0xd4, 0x0f, 0x0a, 0x89, 0x98, 0x18, 0x99, 0xdc, 0x59, 0x47, 0xe6, 0x37, 0x33, 0xea, 0x51, 0xfc, + 0x49, 0x0f, 0x9b, 0xd8, 0x21, 0x93, 0x3d, 0xcb, 0x21, 0xf3, 0xc4, 0x4d, 0xf8, 0xbe, 0x0c, 0x8c, + 0x2b, 0x5a, 0x0a, 0xd6, 0x86, 0x0d, 0xcf, 0xfd, 0x98, 0xd6, 0x03, 0xbd, 0x0d, 0x1d, 0x0e, 0x8c, + 0xb5, 0x21, 0x44, 0x7d, 0x82, 0x36, 0x18, 0x7f, 0x9a, 0x11, 0x77, 0xa4, 0x81, 0xb7, 0x79, 0x7d, + 0x4b, 0xce, 0x9e, 0xe5, 0x88, 0xfc, 0x22, 0x0c, 0x9b, 0xb4, 0xe1, 0xf8, 0xe2, 0x7e, 0x33, 0xa3, + 0xde, 0xc7, 0xb0, 0x20, 0x92, 0x9b, 0x3c, 0xf6, 0x53, 0x3d, 0xdf, 0xb0, 0x9c, 0x09, 0xb2, 0x55, + 0xff, 0x4e, 0x93, 0x3e, 0x76, 0xf8, 0x62, 0x14, 0x47, 0x2d, 0x1e, 0x6f, 0x8e, 0x6f, 0xed, 0xb2, + 0x12, 0x21, 0x51, 0xab, 0x0b, 0x4f, 0xa3, 0x31, 0x3e, 0x02, 0x88, 0xaa, 0x24, 0xf7, 0xa1, 0x20, + 0x66, 0x83, 0xd3, 0xde, 0xe3, 0x82, 0x94, 0xe8, 0x83, 0xe2, 0xc9, 0x71, 0xf1, 0xf9, 0x7a, 0x58, + 0x26, 0xa4, 0x4e, 0x85, 0x6f, 0x82, 0xd0, 0xf8, 0x0f, 0xb2, 0x90, 0x2d, 0xe1, 0x80, 0xdc, 0xa7, + 0x47, 0x81, 0xbd, 0x73, 0xc7, 0x69, 0x6a, 0x8b, 0xe9, 0x00, 0xa1, 0xd6, 0xae, 0xa3, 0xa9, 0x2b, + 0x14, 0x64, 0xb6, 0x98, 0xee, 0x7b, 0x3b, 0x6f, 0x23, 0xa1, 0xb2, 0x98, 0x0e, 0xbc, 0x9d, 0xb7, + 0xe3, 0x64, 0x21, 0x22, 0x31, 0x60, 0x84, 0x2f, 0x2c, 0x31, 0x07, 0xe1, 0xe4, 0xb8, 0x38, 0xc2, + 0xd7, 0x9f, 0x29, 0x4a, 0xc8, 0x45, 0xc8, 0xd5, 0x36, 0xd6, 0xc5, 0x0e, 0x88, 0x6a, 0x41, 0xbf, + 0xd3, 0x36, 0x19, 0x8c, 0xd5, 0xb9, 0x5a, 0x29, 0x6d, 0xa0, 0x22, 0x60, 0x38, 0xaa, 0xb3, 0xd9, + 0xb0, 0x3b, 0x71, 0x55, 0x40, 0x88, 0x48, 0xde, 0x87, 0xf1, 0xfb, 0x95, 0xf2, 0x8a, 0xeb, 0xf3, + 0xdd, 0x6b, 0x24, 0x9a, 0xfc, 0x07, 0x8d, 0xba, 0x85, 0x9a, 0xf8, 0xf8, 0x31, 0xa0, 0xe0, 0x1b, + 0x3f, 0x98, 0x85, 0x71, 0x45, 0x4f, 0x46, 0x3e, 0x2b, 0x1e, 0x48, 0x33, 0xda, 0x0d, 0x40, 0xc1, + 0x60, 0xa5, 0x5c, 0xa9, 0xd2, 0x72, 0x1b, 0x54, 0x3c, 0x97, 0x46, 0x0a, 0x8c, 0xec, 0x20, 0x0a, + 0x8c, 0x77, 0x00, 0xf8, 0x1c, 0xc0, 0x4f, 0x56, 0xc4, 0x09, 0xc5, 0x4e, 0x42, 0x1d, 0x97, 0x08, + 0x99, 0x3c, 0x84, 0xd9, 0x4d, 0xaf, 0xeb, 0x07, 0xb5, 0x23, 0x3f, 0xa0, 0x2d, 0xc6, 0x6d, 0xc3, + 0x75, 0x9b, 0x62, 0xfe, 0xbd, 0x72, 0x72, 0x5c, 0xbc, 0x1c, 0xb0, 0x62, 0xcb, 0xc7, 0x72, 0xfc, + 0x00, 0xab, 0xe3, 0xba, 0xaa, 0x5a, 0x23, 0x8d, 0x81, 0x61, 0xc2, 0x84, 0xaa, 0x14, 0x61, 0x27, + 0x8b, 0x78, 0x4c, 0x12, 0xaa, 0x6e, 0xe5, 0x64, 0x11, 0x5f, 0x99, 0x7c, 0xdc, 0xd2, 0x49, 0x8c, + 0xcf, 0xaa, 0x0a, 0xb9, 0x41, 0x17, 0xb6, 0xf1, 0xd7, 0x33, 0xd1, 0x36, 0xf2, 0xf0, 0x26, 0x79, + 0x17, 0x46, 0xf8, 0xe3, 0x9d, 0x78, 0xe3, 0x3c, 0x17, 0x5e, 0x6a, 0xd5, 0x97, 0x3d, 0xae, 0x09, + 0xff, 0x03, 0xfe, 0xc0, 0xff, 0x9c, 0x29, 0x48, 0x42, 0x25, 0xba, 0xae, 0x4f, 0x93, 0xdc, 0x51, + 0x5d, 0x7c, 0x33, 0x4d, 0x89, 0x6e, 0xfc, 0xf6, 0x10, 0x4c, 0xe9, 0x68, 0xea, 0x0b, 0x5f, 0x66, + 0xa0, 0x17, 0xbe, 0x2f, 0x42, 0x9e, 0xf5, 0x87, 0x53, 0xa7, 0x52, 0x22, 0x7b, 0x05, 0x9f, 0x16, + 0x04, 0x4c, 0x7b, 0xb9, 0x06, 0x3e, 0x1c, 0xec, 0x8e, 0x6b, 0x86, 0x54, 0x64, 0x51, 0x79, 0x86, + 0xca, 0x45, 0x42, 0x8a, 0x7c, 0x86, 0x52, 0xd7, 0x43, 0xf8, 0x20, 0xf5, 0x16, 0x8c, 0x30, 0xf9, + 0x3e, 0x54, 0xc1, 0xe0, 0x57, 0x32, 0xd1, 0x3f, 0x66, 0xa2, 0xc2, 0x91, 0xc8, 0x36, 0xe4, 0x57, + 0x6d, 0x3f, 0xa8, 0x51, 0xda, 0x1e, 0xe0, 0xed, 0xbe, 0x28, 0xba, 0x6a, 0x16, 0x1f, 0xc6, 0x7d, + 0x4a, 0xdb, 0xb1, 0xc7, 0xd7, 0x90, 0x19, 0xf9, 0x1a, 0x40, 0xd9, 0x6d, 0x07, 0x9e, 0xdb, 0x5c, + 0x75, 0xf7, 0xe6, 0x47, 0xf0, 0xee, 0x7b, 0x29, 0x36, 0x00, 0x11, 0x02, 0xbf, 0xfe, 0x86, 0x0a, + 0x9e, 0x3a, 0x2f, 0xb0, 0x9a, 0xee, 0x9e, 0xba, 0x0e, 0x22, 0x7c, 0x72, 0x07, 0x0a, 0x52, 0xb1, + 0xb0, 0xd5, 0xd9, 0xf3, 0x70, 0x82, 0x8c, 0x46, 0x92, 0x07, 0x7d, 0x1c, 0x58, 0x5d, 0x01, 0x57, + 0x77, 0xca, 0x38, 0x0d, 0xf9, 0x2a, 0x5c, 0x88, 0xc3, 0xe4, 0x28, 0xe7, 0x23, 0x99, 0x5c, 0x65, + 0x97, 0x32, 0xef, 0x7b, 0xb1, 0x30, 0xbe, 0x93, 0x85, 0x0b, 0x3d, 0x1a, 0xcb, 0xd6, 0x03, 0x1e, + 0xd7, 0xca, 0x7a, 0x88, 0x9d, 0xd2, 0xdc, 0xe6, 0xe8, 0x32, 0x64, 0xc5, 0x01, 0x37, 0xb4, 0x54, + 0x38, 0x39, 0x2e, 0x4e, 0x68, 0xe3, 0x98, 0xad, 0x56, 0xc8, 0x3d, 0x18, 0x62, 0x43, 0x34, 0xc0, + 0xd3, 0xb9, 0xd4, 0x29, 0x4d, 0x05, 0x8e, 0x3a, 0x7d, 0x70, 0xe8, 0x90, 0x07, 0xf9, 0x2c, 0xe4, + 0x36, 0x37, 0x57, 0x71, 0xee, 0xe4, 0xb0, 0xed, 0x93, 0x41, 0xd0, 0xd4, 0xa6, 0xea, 0x24, 0xa3, + 0xbd, 0x1e, 0x5a, 0x5a, 0x30, 0x74, 0xf2, 0xe5, 0x98, 0x49, 0xcf, 0xeb, 0xfd, 0x07, 0x7a, 0x70, + 0x0b, 0x9f, 0x27, 0x30, 0xac, 0x31, 0x7e, 0x2e, 0x1b, 0xad, 0xe1, 0x3b, 0x4e, 0x33, 0xa0, 0x1e, + 0x59, 0xe0, 0x4b, 0x32, 0x12, 0xce, 0xcc, 0xf0, 0x37, 0x99, 0x8f, 0xd6, 0x37, 0x67, 0x15, 0x2e, + 0xe4, 0xd7, 0x95, 0x85, 0x9c, 0xc3, 0x85, 0x3c, 0xd5, 0x73, 0xc9, 0xbe, 0x9e, 0x32, 0x2f, 0x71, + 0x21, 0xa6, 0xcc, 0xbd, 0x57, 0x60, 0x72, 0xdd, 0x5d, 0x7e, 0x1c, 0x84, 0x88, 0x6c, 0x01, 0xe6, + 0x4d, 0x1d, 0xc8, 0x38, 0x3e, 0x68, 0x36, 0xa8, 0xb7, 0xb9, 0x6f, 0xb7, 0xb5, 0xb7, 0x6b, 0x33, + 0x01, 0x67, 0xb8, 0xeb, 0xf4, 0x50, 0xc7, 0x1d, 0xe5, 0xb8, 0x71, 0xb8, 0xf1, 0xfd, 0x59, 0xd9, + 0x19, 0x0f, 0x17, 0x9f, 0xd1, 0x37, 0xd2, 0xb7, 0xb5, 0x37, 0xd2, 0xd9, 0x50, 0xbb, 0x1b, 0x3e, + 0xf8, 0x2f, 0x9e, 0x62, 0x27, 0xf0, 0xf7, 0x47, 0x60, 0x42, 0x45, 0x67, 0xfd, 0x50, 0x6a, 0x34, + 0x3c, 0xb5, 0x1f, 0xec, 0x46, 0xc3, 0x33, 0x11, 0xaa, 0x99, 0x05, 0xe4, 0xfa, 0x9a, 0x05, 0x7c, + 0x1d, 0xc6, 0xca, 0xad, 0x86, 0xf6, 0x58, 0x69, 0xa4, 0x7c, 0xde, 0xf5, 0x10, 0x89, 0xaf, 0x85, + 0x50, 0x69, 0x59, 0x6f, 0x35, 0x92, 0x4f, 0x94, 0x11, 0x4b, 0xcd, 0xa2, 0x60, 0xf8, 0x49, 0x2c, + 0x0a, 0x6e, 0xc3, 0xd8, 0x96, 0x4f, 0x37, 0xbb, 0xed, 0x36, 0x6d, 0xe2, 0xb4, 0xca, 0x73, 0x59, + 0xbf, 0xeb, 0x53, 0x2b, 0x40, 0xa8, 0xfa, 0x01, 0x21, 0xaa, 0x3a, 0xc0, 0xa3, 0x7d, 0x06, 0xf8, + 0x16, 0xe4, 0x37, 0x28, 0xf5, 0xb0, 0x4f, 0xc7, 0x23, 0x91, 0xae, 0x43, 0xa9, 0x67, 0xb1, 0x8e, + 0xd5, 0x2c, 0x0d, 0x04, 0xa2, 0x66, 0x9e, 0x30, 0x31, 0xa0, 0x79, 0x02, 0x79, 0x09, 0x26, 0x3a, + 0xdd, 0x9d, 0xa6, 0x53, 0x47, 0xbe, 0xc2, 0xae, 0xc1, 0x1c, 0xe7, 0x30, 0xc6, 0xd6, 0x27, 0x5f, + 0x86, 0x49, 0xbc, 0xe3, 0x84, 0x53, 0x6e, 0x4a, 0x7b, 0xd5, 0xd3, 0xca, 0xb8, 0xa4, 0x53, 0x67, + 0x20, 0x2b, 0xc5, 0xfc, 0x46, 0x67, 0x44, 0xee, 0xc1, 0xe8, 0x9e, 0x13, 0x58, 0xfb, 0xdd, 0x9d, + 0xf9, 0x69, 0xcd, 0x76, 0xe5, 0xae, 0x13, 0xac, 0x74, 0x77, 0xf8, 0x90, 0x87, 0xac, 0x71, 0xc7, + 0xdb, 0x73, 0x82, 0xfd, 0xae, 0xaa, 0x92, 0x1d, 0xd9, 0x43, 0xdc, 0x85, 0x1a, 0x4c, 0xe9, 0xb3, + 0xe2, 0x29, 0x3c, 0x14, 0x86, 0x66, 0x1b, 0xf9, 0xc2, 0xd8, 0xbd, 0xa1, 0x3c, 0x14, 0xc6, 0xb9, + 0xc1, 0x86, 0x09, 0x1b, 0x61, 0xff, 0x98, 0xe4, 0x7e, 0x77, 0x87, 0x7a, 0x6d, 0x1a, 0x50, 0x5f, + 0x5c, 0x28, 0x7c, 0x73, 0xa8, 0xd4, 0xe9, 0xf8, 0xc6, 0x7f, 0x92, 0x85, 0xd1, 0xd2, 0x76, 0xad, + 0xda, 0xde, 0x75, 0xf1, 0xb9, 0x2f, 0x7c, 0xe5, 0x51, 0x9f, 0xfb, 0xc2, 0x57, 0x1e, 0xf5, 0x6d, + 0xe7, 0x46, 0xca, 0x95, 0x10, 0x2d, 0x82, 0x95, 0x2b, 0xa1, 0x76, 0x99, 0x8d, 0x1e, 0xbc, 0x72, + 0x03, 0x3c, 0x78, 0x85, 0x3a, 0xc9, 0xa1, 0xd3, 0x75, 0x92, 0xef, 0xc2, 0x78, 0xb5, 0x1d, 0xd0, + 0x3d, 0x2f, 0x5a, 0x35, 0xe1, 0xf5, 0x34, 0x04, 0xab, 0xd7, 0x04, 0x05, 0x9b, 0x4d, 0x49, 0xae, + 0x07, 0x0d, 0xf5, 0x9f, 0x38, 0x25, 0xb9, 0xba, 0x34, 0xa6, 0x5b, 0x90, 0x88, 0x46, 0x25, 0x36, + 0xdf, 0xa4, 0x51, 0x01, 0x17, 0x64, 0xa7, 0xa2, 0x87, 0x00, 0xd6, 0xb1, 0x4b, 0x33, 0xe9, 0x46, + 0x05, 0xc6, 0xdf, 0xce, 0xc0, 0x5c, 0xda, 0x34, 0x22, 0x1f, 0xc0, 0x84, 0xeb, 0xed, 0xd9, 0x6d, + 0xe7, 0x7b, 0x79, 0x8b, 0x14, 0x05, 0x98, 0x0a, 0x57, 0xaf, 0xfd, 0x2a, 0x9c, 0x75, 0x88, 0xd2, + 0x72, 0xfd, 0xbe, 0x9e, 0xda, 0x21, 0x0a, 0xd8, 0xf8, 0xa1, 0x2c, 0x8c, 0x97, 0x3a, 0x9d, 0x67, + 0xdc, 0xe0, 0xec, 0xf3, 0xda, 0x01, 0x22, 0x6f, 0x7b, 0x61, 0xbb, 0x06, 0xb2, 0x35, 0xfb, 0xe5, + 0x2c, 0x4c, 0xc7, 0x28, 0xd4, 0xaf, 0xcf, 0x0c, 0x68, 0x66, 0x96, 0x1d, 0xd0, 0xcc, 0x2c, 0x37, + 0x98, 0x99, 0xd9, 0xd0, 0x93, 0x1c, 0x0a, 0xaf, 0x41, 0xae, 0xd4, 0xe9, 0xc4, 0x9f, 0xab, 0x3b, + 0x9d, 0x87, 0xb7, 0xf8, 0x8d, 0xdd, 0xee, 0x74, 0x4c, 0x86, 0xa1, 0xed, 0xd4, 0x23, 0x03, 0xee, + 0xd4, 0xc6, 0x5b, 0x30, 0x86, 0xbc, 0xd0, 0xb8, 0xeb, 0x32, 0xe0, 0x16, 0x23, 0xec, 0xba, 0xb4, + 0xba, 0xc4, 0xe6, 0xf3, 0x2f, 0x33, 0x30, 0x8c, 0xbf, 0x9f, 0xd1, 0x39, 0xb6, 0xa8, 0xcd, 0xb1, + 0x82, 0x32, 0xc7, 0x06, 0x99, 0x5d, 0xff, 0x30, 0x07, 0x50, 0x7e, 0x60, 0xd6, 0xb8, 0x62, 0x87, + 0xdc, 0x81, 0x69, 0xbb, 0xd9, 0x74, 0x0f, 0x69, 0xc3, 0x72, 0x3d, 0x67, 0xcf, 0x69, 0xf3, 0x9e, + 0x93, 0x6f, 0xa8, 0x7a, 0x91, 0xfa, 0xb2, 0x22, 0x8a, 0x1e, 0xf0, 0x12, 0x95, 0x4f, 0x8b, 0x06, + 0xfb, 0x6e, 0x43, 0x5e, 0x51, 0x35, 0x3e, 0xa2, 0x28, 0x85, 0xcf, 0x1a, 0x2f, 0x51, 0xf9, 0xec, + 0xe3, 0x95, 0x5b, 0x4a, 0xc8, 0x1a, 0x1f, 0x51, 0x94, 0xc2, 0x87, 0xdf, 0xd3, 0x7d, 0xb2, 0x0a, + 0x33, 0x08, 0xb1, 0xea, 0x1e, 0x6d, 0xd0, 0x76, 0xe0, 0xd8, 0x4d, 0x5f, 0x28, 0x35, 0x50, 0xfd, + 0x95, 0x28, 0x54, 0x2f, 0x75, 0x58, 0x58, 0x8e, 0xca, 0xc8, 0x75, 0x18, 0x6d, 0xd9, 0x8f, 0x2d, + 0x7b, 0x8f, 0x5b, 0x13, 0x4c, 0xf2, 0x4b, 0xb0, 0x00, 0xa9, 0xc7, 0x48, 0xcb, 0x7e, 0x5c, 0xda, + 0xa3, 0xac, 0x15, 0xf4, 0x71, 0xc7, 0xf5, 0x95, 0x56, 0x8c, 0x44, 0xad, 0x88, 0x15, 0xa9, 0xad, + 0x10, 0x45, 0xa2, 0x15, 0xc6, 0xc7, 0xf0, 0x7c, 0x15, 0x3f, 0x22, 0x38, 0x2a, 0xd3, 0x76, 0x40, + 0xbd, 0x0d, 0xea, 0xb5, 0x1c, 0x7c, 0x5a, 0xad, 0xd1, 0x80, 0xbc, 0x0c, 0xb9, 0x92, 0xb9, 0x2e, + 0xa6, 0x2f, 0xdf, 0xee, 0xb5, 0x87, 0x6e, 0x56, 0x1a, 0xaa, 0x49, 0xb2, 0xa7, 0xa8, 0x49, 0xfe, + 0xd3, 0x0c, 0xcc, 0x94, 0x3a, 0x1d, 0xbd, 0x3e, 0xdd, 0x06, 0x23, 0x33, 0xb8, 0x0d, 0x86, 0x03, + 0x53, 0xda, 0xb7, 0xf2, 0xe9, 0x10, 0x09, 0xad, 0x7d, 0x9a, 0xc5, 0x3b, 0xa9, 0x13, 0x82, 0x2c, + 0x5f, 0x7f, 0x40, 0x8c, 0x31, 0x36, 0xfe, 0x97, 0x11, 0x5c, 0xff, 0x62, 0xa7, 0x14, 0x56, 0x82, + 0x99, 0x14, 0x2b, 0xc1, 0x77, 0x40, 0x91, 0x4e, 0xd4, 0xe3, 0x49, 0x91, 0xf3, 0x54, 0xed, 0x40, + 0x84, 0x4c, 0x0e, 0xe2, 0xf6, 0x82, 0x39, 0x6c, 0xcd, 0xcb, 0xf1, 0xc5, 0xf7, 0x54, 0x4c, 0x05, + 0x57, 0x80, 0x54, 0xdb, 0xf8, 0xa8, 0x49, 0x6b, 0x07, 0x4e, 0xe7, 0x21, 0xf5, 0x9c, 0xdd, 0x23, + 0x31, 0x79, 0xb1, 0xf3, 0x1d, 0x51, 0x6a, 0xf9, 0x07, 0x4e, 0xc7, 0x7a, 0x84, 0xe5, 0x66, 0x0a, + 0x0d, 0xf9, 0x10, 0x46, 0x4d, 0x7a, 0xe8, 0x39, 0x81, 0xb4, 0x82, 0x99, 0x0a, 0x95, 0x5d, 0x08, + 0xe5, 0xf3, 0xd8, 0xe3, 0x3f, 0xd4, 0x1d, 0x4d, 0x94, 0x93, 0x45, 0x2e, 0x60, 0x70, 0x6b, 0x97, + 0xc9, 0xa8, 0xb5, 0xa5, 0xed, 0x5a, 0x2f, 0xf9, 0x82, 0x5c, 0x83, 0x61, 0x94, 0x52, 0x84, 0x1c, + 0x8f, 0xde, 0x23, 0x28, 0xf7, 0xaa, 0x22, 0x14, 0x62, 0x90, 0x4b, 0x00, 0xe1, 0xab, 0xa1, 0x3f, + 0x9f, 0x47, 0x09, 0x5b, 0x81, 0xc4, 0x45, 0xac, 0xb1, 0x33, 0x89, 0x58, 0xab, 0x50, 0x30, 0xe9, + 0x37, 0xbb, 0x8e, 0x47, 0x1b, 0xa5, 0x0e, 0x3e, 0x4d, 0xf9, 0xf3, 0x80, 0xab, 0xf0, 0xf2, 0xc9, + 0x71, 0xf1, 0x05, 0x4f, 0x94, 0x59, 0x76, 0x87, 0xbf, 0x68, 0x69, 0x5b, 0x40, 0x9c, 0x92, 0xbc, + 0x03, 0x43, 0x6c, 0xdb, 0x14, 0x96, 0x85, 0x52, 0xc5, 0x1f, 0xed, 0xa4, 0x7c, 0x65, 0xd5, 0x5d, + 0x6d, 0x3d, 0x23, 0x09, 0xb1, 0x60, 0x4a, 0x9f, 0xee, 0xc2, 0xc8, 0x64, 0x3e, 0xea, 0x4f, 0xbd, + 0x5c, 0xe8, 0xfd, 0x05, 0xcc, 0xaa, 0x23, 0x50, 0x5d, 0x01, 0x3a, 0xfa, 0xa7, 0x67, 0x0e, 0xf8, + 0xcb, 0x59, 0x78, 0x39, 0x14, 0x45, 0x1e, 0x78, 0xb5, 0xd2, 0xda, 0x6a, 0xb5, 0xb1, 0x21, 0x74, + 0x13, 0x1b, 0x9e, 0xfb, 0xc8, 0x69, 0x50, 0xef, 0xe1, 0xcd, 0x53, 0x0e, 0xd2, 0x55, 0xbe, 0x3e, + 0xf9, 0xc3, 0x46, 0x56, 0x33, 0x9c, 0x52, 0x24, 0x3e, 0xb1, 0xaf, 0x74, 0x3a, 0x89, 0x77, 0x8e, + 0x95, 0xe7, 0xcc, 0x88, 0x01, 0xf9, 0xeb, 0x19, 0x38, 0x9f, 0xfe, 0x21, 0x42, 0x5f, 0x55, 0x94, + 0xf7, 0xe2, 0x1e, 0x5f, 0xbb, 0xf4, 0xda, 0xc9, 0x71, 0xf1, 0x65, 0xdf, 0x6e, 0x35, 0x2d, 0xa7, + 0xc1, 0x6b, 0x73, 0xea, 0xd4, 0xea, 0x08, 0x04, 0xad, 0xde, 0x1e, 0x35, 0x7d, 0x01, 0xe4, 0x79, + 0x3a, 0x9f, 0x59, 0x02, 0xc8, 0x4b, 0xdd, 0xb1, 0xf1, 0x6b, 0x19, 0x50, 0xd6, 0x4e, 0xde, 0xa4, + 0x0d, 0xc7, 0xa3, 0xf5, 0x40, 0x9c, 0xa9, 0xc2, 0xed, 0x8b, 0xc3, 0x62, 0x76, 0x72, 0x08, 0x23, + 0x1f, 0xc0, 0xa8, 0xd8, 0xfb, 0xc5, 0x7e, 0x29, 0xd7, 0x9c, 0xd0, 0x4a, 0x73, 0xff, 0xc0, 0xc4, + 0xb9, 0x21, 0x89, 0xd8, 0x76, 0x7d, 0x6f, 0x7b, 0xb3, 0xdc, 0xb4, 0x9d, 0x96, 0x2f, 0x64, 0x10, + 0xec, 0xd6, 0x8f, 0x0f, 0x03, 0xab, 0x8e, 0x50, 0x75, 0xbb, 0x0e, 0x51, 0x8d, 0xbb, 0x52, 0x29, + 0x7e, 0x8a, 0xb1, 0x67, 0x11, 0x86, 0x1f, 0x46, 0xca, 0xb1, 0xa5, 0xb1, 0x93, 0xe3, 0x22, 0x9f, + 0x2e, 0x26, 0x87, 0x1b, 0x3f, 0x92, 0x81, 0x29, 0x7d, 0x3e, 0x91, 0xeb, 0x30, 0x22, 0x5c, 0xae, + 0x32, 0xa8, 0x04, 0x64, 0xbd, 0x30, 0xc2, 0x9d, 0xad, 0x34, 0x17, 0x2b, 0x81, 0xc5, 0xa4, 0x28, + 0xc1, 0x41, 0x88, 0x10, 0x28, 0x45, 0xd5, 0x39, 0xc8, 0x94, 0x65, 0xc4, 0x60, 0x17, 0x3b, 0xbf, + 0xdb, 0x0c, 0xd4, 0xb7, 0x21, 0x0f, 0x21, 0xa6, 0x28, 0x31, 0xca, 0x30, 0xc2, 0x37, 0xab, 0x98, + 0x91, 0x59, 0xe6, 0x0c, 0x46, 0x66, 0xc6, 0x71, 0x06, 0xa0, 0x56, 0x5b, 0xb9, 0x4f, 0x8f, 0x36, + 0x6c, 0x07, 0x4f, 0x44, 0x7e, 0x30, 0xdc, 0x17, 0x8b, 0x6b, 0x42, 0x3c, 0x66, 0xf2, 0x43, 0xe4, + 0x80, 0x1e, 0x69, 0x8f, 0x99, 0x12, 0x15, 0x4f, 0x1f, 0xcf, 0x79, 0x64, 0x07, 0x94, 0x11, 0x66, + 0x91, 0x90, 0x9f, 0x3e, 0x1c, 0x1a, 0xa3, 0x54, 0x90, 0xc9, 0xd7, 0x60, 0x2a, 0xfa, 0x15, 0x3e, + 0xc9, 0x4e, 0x85, 0x0b, 0x58, 0x2f, 0x5c, 0xba, 0x74, 0x72, 0x5c, 0x5c, 0x50, 0xb8, 0xc6, 0x1f, + 0x6b, 0x63, 0xcc, 0x8c, 0x5f, 0xcc, 0xa0, 0x21, 0x82, 0x6c, 0xe0, 0x15, 0x18, 0x0a, 0x4d, 0x67, + 0x27, 0xc4, 0xb6, 0xa6, 0x3f, 0x3b, 0x61, 0x39, 0x93, 0x3e, 0xa2, 0x96, 0xe0, 0x61, 0xa0, 0xb7, + 0x80, 0x95, 0x92, 0xbb, 0x30, 0x3a, 0xd0, 0x37, 0xe3, 0xd2, 0x48, 0xf9, 0x56, 0x49, 0x8d, 0xa3, + 0x70, 0x6f, 0x7b, 0xf3, 0xbb, 0x77, 0x14, 0x7e, 0x3c, 0x0b, 0xd3, 0xac, 0x5f, 0x4b, 0xdd, 0x60, + 0xdf, 0xf5, 0x9c, 0xe0, 0xe8, 0x99, 0xd5, 0xa2, 0xbe, 0xa7, 0x5d, 0x50, 0x16, 0xe4, 0x29, 0xa3, + 0xb6, 0x6d, 0x20, 0x65, 0xea, 0x7f, 0x37, 0x0c, 0xb3, 0x29, 0x54, 0xe4, 0x4d, 0xed, 0xa1, 0x63, + 0x5e, 0xba, 0x54, 0x7f, 0xe7, 0xb8, 0x38, 0x21, 0xd1, 0x37, 0x23, 0x17, 0xeb, 0x45, 0xdd, 0xaa, + 0x87, 0xf7, 0x14, 0xbe, 0x7b, 0xa8, 0x56, 0x3d, 0xba, 0x2d, 0xcf, 0x35, 0x18, 0x36, 0xdd, 0x26, + 0x95, 0x96, 0x6c, 0x28, 0xc2, 0x78, 0x0c, 0xa0, 0xbd, 0xdc, 0x33, 0x00, 0x59, 0x81, 0x51, 0xf6, + 0xc7, 0x9a, 0xdd, 0x11, 0x6f, 0x52, 0x24, 0xbc, 0x22, 0x23, 0xb4, 0xe3, 0xb4, 0xf7, 0xd4, 0x5b, + 0x72, 0x93, 0x5a, 0x2d, 0xbb, 0xa3, 0xc9, 0x5a, 0x1c, 0x51, 0xbb, 0x6d, 0xe7, 0x7b, 0xdf, 0xb6, + 0x33, 0xa7, 0xde, 0xb6, 0x77, 0x01, 0x6a, 0xce, 0x5e, 0xdb, 0x69, 0xef, 0x95, 0x9a, 0x7b, 0xc2, + 0x31, 0xfd, 0x5a, 0xef, 0x51, 0xb8, 0x1e, 0x21, 0xe3, 0xc4, 0x7d, 0x1e, 0x1f, 0x8e, 0x39, 0xcc, + 0xb2, 0x9b, 0x7b, 0x9a, 0x03, 0x8d, 0xc2, 0x99, 0xac, 0x03, 0x94, 0xea, 0x81, 0xf3, 0x88, 0x4d, + 0x61, 0x5f, 0x08, 0x46, 0xf2, 0x93, 0xcb, 0xa5, 0xfb, 0xf4, 0x08, 0x85, 0x79, 0xf9, 0x04, 0x67, + 0x23, 0x2a, 0x5b, 0x09, 0x9a, 0x77, 0x44, 0xc4, 0x81, 0x74, 0xe0, 0x5c, 0xa9, 0xd1, 0x70, 0x58, + 0x1b, 0xec, 0x26, 0xbe, 0x29, 0xd3, 0x06, 0xb2, 0x9e, 0x48, 0x67, 0x7d, 0x4d, 0xb0, 0x7e, 0xc9, + 0x0e, 0xa9, 0xac, 0x80, 0x93, 0xc5, 0xab, 0x49, 0x67, 0x6c, 0xd4, 0x60, 0x4a, 0x6f, 0xbc, 0xee, + 0x50, 0x3f, 0x01, 0x79, 0xb3, 0x56, 0xb2, 0x6a, 0x2b, 0xa5, 0x9b, 0x85, 0x0c, 0x29, 0xc0, 0x84, + 0xf8, 0xb5, 0x68, 0x2d, 0xbe, 0x7d, 0xbb, 0x90, 0xd5, 0x20, 0x6f, 0xdf, 0x5c, 0x2c, 0xe4, 0x16, + 0xb2, 0xf3, 0x99, 0x98, 0x2f, 0xdb, 0x68, 0x21, 0xcf, 0x15, 0xa4, 0xc6, 0xaf, 0x64, 0x20, 0x2f, + 0xbf, 0x9d, 0xdc, 0x86, 0x5c, 0xad, 0xb6, 0x12, 0xf3, 0x3e, 0x8b, 0x4e, 0x19, 0xbe, 0x9f, 0xfa, + 0xbe, 0x6a, 0x62, 0xcc, 0x08, 0x18, 0xdd, 0xe6, 0x6a, 0x4d, 0x08, 0x07, 0x92, 0x2e, 0xda, 0xbc, + 0x39, 0x5d, 0x8a, 0x4b, 0xce, 0x6d, 0xc8, 0xdd, 0xdb, 0xde, 0x14, 0xd7, 0x16, 0x49, 0x17, 0xed, + 0xa7, 0x9c, 0xee, 0xe3, 0x43, 0x75, 0x97, 0x67, 0x04, 0x86, 0x09, 0xe3, 0xca, 0x44, 0xe6, 0x87, + 0x6e, 0xcb, 0x0d, 0xbd, 0xc8, 0xc5, 0xa1, 0xcb, 0x20, 0xa6, 0x28, 0x61, 0x32, 0xc2, 0xaa, 0x5b, + 0xb7, 0x9b, 0xe2, 0xf4, 0x46, 0x19, 0xa1, 0xc9, 0x00, 0x26, 0x87, 0x1b, 0xbf, 0x95, 0x81, 0x02, + 0x4a, 0x52, 0x68, 0x22, 0xec, 0x1e, 0xd0, 0xf6, 0xc3, 0x9b, 0xe4, 0x2d, 0xb9, 0xe4, 0x32, 0xa1, + 0xda, 0x67, 0x18, 0x97, 0x5c, 0xec, 0x65, 0x4c, 0x2c, 0x3b, 0xc5, 0x51, 0x3f, 0x3b, 0xb8, 0x83, + 0xef, 0x29, 0x8e, 0xfa, 0x45, 0x18, 0xc6, 0xcf, 0x11, 0x9b, 0x23, 0x7e, 0x79, 0xc0, 0x00, 0x26, + 0x87, 0x2b, 0x7b, 0xd3, 0x4f, 0x66, 0x13, 0x6d, 0x58, 0xfc, 0xae, 0x72, 0x92, 0xd5, 0x1b, 0x37, + 0xd0, 0x7e, 0xfd, 0x11, 0xcc, 0xc5, 0xbb, 0x04, 0x55, 0x72, 0x25, 0x98, 0xd6, 0xe1, 0x52, 0x3b, + 0x77, 0x21, 0xb5, 0xae, 0x87, 0x8b, 0x66, 0x1c, 0xdf, 0xf8, 0x3f, 0x32, 0x30, 0x86, 0x7f, 0x9a, + 0xdd, 0x26, 0x9a, 0x6a, 0x95, 0xb6, 0x6b, 0x42, 0xd9, 0xa0, 0x0a, 0x73, 0xf6, 0xa1, 0x6f, 0x09, + 0xcd, 0x84, 0xb6, 0xc7, 0x84, 0xc8, 0x82, 0x94, 0x6b, 0xfb, 0xa5, 0x8a, 0x2a, 0x24, 0xe5, 0xcf, + 0x02, 0x7e, 0x8c, 0x54, 0x20, 0xa3, 0x81, 0xe7, 0x76, 0x8d, 0x4d, 0x3f, 0xd5, 0x76, 0x02, 0xe9, + 0xdc, 0xa6, 0x6e, 0xe0, 0xc9, 0xd1, 0xd0, 0x74, 0x62, 0xbb, 0x56, 0x32, 0xd7, 0x35, 0xd3, 0x09, + 0xf6, 0x8d, 0x9a, 0x9a, 0x46, 0x20, 0x19, 0x3f, 0x37, 0x1e, 0xef, 0x40, 0x71, 0xe0, 0x9d, 0x71, + 0x6d, 0xbc, 0x0b, 0xc3, 0xa5, 0x66, 0xd3, 0x3d, 0x14, 0xbb, 0x84, 0xd4, 0x10, 0x86, 0xfd, 0xc7, + 0xcf, 0x33, 0x54, 0x72, 0x69, 0x8e, 0x7f, 0x0c, 0x40, 0xca, 0x30, 0x56, 0xda, 0xae, 0x55, 0xab, + 0x95, 0xcd, 0x4d, 0xee, 0xe4, 0x94, 0x5b, 0x7a, 0x55, 0xf6, 0x8f, 0xe3, 0x34, 0xac, 0xf8, 0xeb, + 0x7d, 0x24, 0xbf, 0x47, 0x74, 0xe4, 0x7d, 0x80, 0x7b, 0xae, 0xd3, 0xe6, 0x4a, 0x3d, 0xd1, 0x78, + 0x76, 0xa7, 0x1d, 0xff, 0xd8, 0x75, 0xda, 0x42, 0x0b, 0xc8, 0xbe, 0x3d, 0x42, 0x32, 0x95, 0xbf, + 0x59, 0x4f, 0x2f, 0xb9, 0xdc, 0xfc, 0x6a, 0x38, 0xea, 0xe9, 0x1d, 0x37, 0x61, 0x79, 0x25, 0xd1, + 0x48, 0x0b, 0xa6, 0x6b, 0xdd, 0xbd, 0x3d, 0xca, 0x76, 0x76, 0xa1, 0xa1, 0x19, 0x11, 0x77, 0xdc, + 0x30, 0xb4, 0x0c, 0xbf, 0x8f, 0xb0, 0x5b, 0x8a, 0xbf, 0xf4, 0x26, 0x9b, 0xc8, 0xdf, 0x3e, 0x2e, + 0x0a, 0xab, 0x00, 0x26, 0xaa, 0xf9, 0x92, 0x3e, 0xa9, 0x9f, 0x89, 0xf3, 0x26, 0x0f, 0x60, 0x84, + 0xbf, 0xa0, 0x08, 0xa7, 0x9d, 0x97, 0xfa, 0x2c, 0x1a, 0x8e, 0xd8, 0xeb, 0x8d, 0x8e, 0x97, 0x92, + 0x6d, 0xc8, 0x97, 0x1d, 0xaf, 0xde, 0xa4, 0xe5, 0xaa, 0x38, 0xfb, 0x5f, 0xee, 0xc3, 0x52, 0xa2, + 0xf2, 0x7e, 0xa9, 0xe3, 0xaf, 0xba, 0xa3, 0xca, 0x02, 0x12, 0x83, 0xfc, 0xed, 0x0c, 0x3c, 0x1f, + 0x7e, 0x7d, 0x69, 0x8f, 0xb6, 0x83, 0x35, 0x3b, 0xa8, 0xef, 0x53, 0x4f, 0xf4, 0xd2, 0x58, 0xbf, + 0x5e, 0xfa, 0x42, 0xa2, 0x97, 0xae, 0x46, 0xbd, 0x64, 0x33, 0x66, 0x56, 0x8b, 0x73, 0x4b, 0xf6, + 0x59, 0xbf, 0x5a, 0x89, 0x05, 0x10, 0xbd, 0x0d, 0x0a, 0xa7, 0xcf, 0x57, 0xfb, 0x34, 0x38, 0x42, + 0x16, 0xce, 0x1a, 0xe1, 0x6f, 0xcd, 0xda, 0x30, 0x84, 0x92, 0xfb, 0xd2, 0x43, 0x8e, 0x4b, 0x25, + 0x97, 0xfb, 0xf0, 0xe6, 0x5e, 0x73, 0xb3, 0x7d, 0x7c, 0x61, 0xf9, 0x68, 0xaf, 0xda, 0x3b, 0x42, + 0x10, 0x39, 0x65, 0xb4, 0x57, 0xed, 0x68, 0xb4, 0x9b, 0x76, 0x7c, 0xb4, 0x57, 0xed, 0x1d, 0x52, + 0xe6, 0x6e, 0xbd, 0xdc, 0x07, 0xf4, 0x52, 0x3f, 0x6e, 0xe5, 0x0d, 0x7e, 0x32, 0xa7, 0xb8, 0xf7, + 0x7e, 0x05, 0xc6, 0x6a, 0x1d, 0xbb, 0x4e, 0x9b, 0xce, 0x6e, 0x20, 0x1e, 0x9e, 0x5f, 0xe9, 0xc3, + 0x2a, 0xc4, 0x15, 0x0f, 0x8d, 0xf2, 0xa7, 0x7a, 0x4d, 0x0a, 0x71, 0xd8, 0x17, 0x6e, 0x6e, 0xac, + 0x89, 0xb7, 0xe7, 0x7e, 0x5f, 0xb8, 0xb9, 0xb1, 0x26, 0x64, 0x8e, 0x4e, 0x4b, 0x93, 0x39, 0x36, + 0xd6, 0x48, 0x07, 0xa6, 0x36, 0xa9, 0xe7, 0xd9, 0xbb, 0xae, 0xd7, 0xe2, 0x1a, 0x41, 0xee, 0x57, + 0x74, 0xad, 0x1f, 0x3f, 0x8d, 0x80, 0x2b, 0xc2, 0x02, 0x09, 0xb3, 0xe2, 0x6a, 0xc4, 0x18, 0x7f, + 0xd6, 0x27, 0x4b, 0x4e, 0xb0, 0xd3, 0xad, 0x1f, 0xd0, 0x60, 0x7e, 0xe6, 0xd4, 0x3e, 0x09, 0x71, + 0x79, 0x9f, 0xec, 0xc8, 0x9f, 0x6a, 0x9f, 0x84, 0x38, 0xc6, 0xaf, 0xe7, 0xe0, 0x42, 0x8f, 0x2e, + 0x20, 0xeb, 0x72, 0xcb, 0xcd, 0x68, 0x7a, 0xe1, 0x1e, 0xe8, 0xd7, 0x4f, 0xdd, 0x85, 0x57, 0xa1, + 0xb0, 0x7c, 0x1f, 0x65, 0x75, 0xfe, 0xac, 0x51, 0x2e, 0xc9, 0xc3, 0x0a, 0x75, 0x97, 0xf4, 0x00, + 0xed, 0x30, 0xe5, 0x73, 0x48, 0x5d, 0x73, 0x38, 0x4e, 0x50, 0x2e, 0x7c, 0x7f, 0x16, 0x86, 0xf0, + 0xe0, 0x8c, 0x85, 0x59, 0xca, 0x9c, 0x29, 0xcc, 0xd2, 0x17, 0x61, 0x62, 0xf9, 0x3e, 0xbf, 0x49, + 0xaf, 0xd8, 0xfe, 0xbe, 0xd8, 0xd6, 0xd1, 0xac, 0x81, 0x1e, 0x58, 0xe2, 0xe2, 0xbd, 0x6f, 0x6b, + 0x32, 0xab, 0x46, 0x41, 0xb6, 0x60, 0x96, 0x7f, 0x9b, 0xb3, 0xeb, 0xd4, 0x79, 0xb4, 0x16, 0xc7, + 0x6e, 0x8a, 0x3d, 0xfe, 0xe5, 0x93, 0xe3, 0x62, 0x91, 0x1e, 0xa0, 0x85, 0xa9, 0x28, 0xb7, 0x7c, + 0x44, 0x50, 0x4d, 0x4d, 0x53, 0xe8, 0xd5, 0x10, 0x12, 0xe6, 0x18, 0x56, 0xc8, 0x6a, 0x63, 0x75, + 0x33, 0x5c, 0x8e, 0x64, 0xfc, 0xc9, 0x30, 0x2c, 0xf4, 0xde, 0x9e, 0xc9, 0x97, 0xf4, 0x01, 0xbc, + 0x72, 0xea, 0x86, 0x7e, 0xfa, 0x18, 0x7e, 0x19, 0xe6, 0x96, 0xdb, 0x01, 0xf5, 0x3a, 0x9e, 0x23, + 0x83, 0x86, 0xac, 0xb8, 0xbe, 0xb4, 0xe8, 0x45, 0xd3, 0x5a, 0x1a, 0x96, 0x0b, 0xa5, 0x27, 0xda, + 0x17, 0x2b, 0xac, 0x52, 0x39, 0x90, 0x65, 0x98, 0x52, 0xe0, 0xcd, 0xee, 0x9e, 0x10, 0x48, 0xf8, + 0xeb, 0x92, 0xc2, 0xb3, 0xd9, 0x55, 0xcd, 0x1d, 0x63, 0x44, 0x68, 0x35, 0xcc, 0xae, 0x8c, 0xf5, + 0x7b, 0xdb, 0xf7, 0x6b, 0x62, 0x38, 0xb9, 0xd5, 0x30, 0x42, 0xad, 0x8f, 0x0f, 0x0f, 0xb4, 0xfd, + 0x35, 0x42, 0x5e, 0xf8, 0xc5, 0x9c, 0x98, 0x51, 0x2f, 0x43, 0xae, 0xd6, 0xdd, 0x51, 0x9f, 0xa0, + 0x7c, 0xed, 0x80, 0x63, 0xa5, 0xe4, 0xf3, 0x00, 0x26, 0xed, 0xb8, 0xbe, 0x13, 0xb8, 0xde, 0x91, + 0xea, 0xb6, 0xe6, 0x85, 0x50, 0xdd, 0xb2, 0x5e, 0x42, 0xc9, 0x0a, 0x4c, 0x47, 0xbf, 0x1e, 0x1c, + 0xb6, 0x85, 0x92, 0x77, 0x8c, 0x6b, 0x57, 0x22, 0x72, 0xcb, 0x65, 0x65, 0xea, 0x91, 0x1d, 0x23, + 0x23, 0x8b, 0x90, 0xdf, 0x76, 0xbd, 0x83, 0x5d, 0x36, 0xc6, 0x43, 0x91, 0x50, 0x71, 0x28, 0x60, + 0xea, 0xe1, 0x29, 0xf1, 0xd8, 0x72, 0x59, 0x6e, 0x3f, 0x72, 0x3c, 0xb7, 0xdd, 0xa2, 0xed, 0x40, + 0xb5, 0xf0, 0xa0, 0x11, 0x58, 0x73, 0x18, 0x8e, 0xc0, 0xe4, 0x1a, 0x0c, 0x97, 0xea, 0x81, 0xeb, + 0x09, 0xf3, 0x0e, 0x3e, 0x53, 0x18, 0x40, 0x9b, 0x29, 0x0c, 0xc0, 0x3a, 0xd1, 0xa4, 0xbb, 0xe2, + 0xbd, 0x04, 0x3b, 0xd1, 0xa3, 0xbb, 0x9a, 0x37, 0x34, 0xdd, 0x65, 0x42, 0x91, 0x49, 0x77, 0x51, + 0xf1, 0xa1, 0x05, 0x11, 0xdb, 0x4d, 0xa8, 0xcc, 0x04, 0x9a, 0xf1, 0xbb, 0x63, 0x3d, 0xa7, 0x3c, + 0x3b, 0x85, 0xce, 0x36, 0xe5, 0x57, 0xed, 0x01, 0xa6, 0xfc, 0x9b, 0xa1, 0xbd, 0xbe, 0x1a, 0x02, + 0x00, 0x21, 0xea, 0x31, 0xc8, 0x71, 0x16, 0x7e, 0x29, 0x7f, 0x96, 0x49, 0x24, 0x3a, 0x29, 0x3b, + 0x68, 0x27, 0xe5, 0x06, 0xea, 0x24, 0xb2, 0x04, 0x93, 0x61, 0x18, 0xba, 0x0d, 0x3b, 0xd0, 0xb6, + 0xb5, 0x30, 0x76, 0xa0, 0xd5, 0xb1, 0x03, 0x75, 0x5b, 0xd3, 0x49, 0xc8, 0x7b, 0x30, 0x2e, 0x9c, + 0x56, 0x90, 0xc3, 0x70, 0x64, 0x37, 0x23, 0x3d, 0x5c, 0x62, 0xf4, 0x2a, 0x3a, 0x5b, 0xcd, 0x1b, + 0x4e, 0x87, 0x36, 0x9d, 0x36, 0xad, 0xe1, 0x2b, 0x82, 0x98, 0x31, 0xfc, 0x19, 0x54, 0x94, 0x58, + 0xfc, 0x81, 0x41, 0xd3, 0x1f, 0x6a, 0x44, 0xf1, 0xc9, 0x3a, 0x7a, 0xa6, 0xc9, 0xca, 0xad, 0xf6, + 0xbc, 0x55, 0x77, 0xcf, 0x91, 0x76, 0xca, 0xd2, 0x6a, 0xcf, 0xb3, 0x9a, 0x0c, 0x1a, 0xb3, 0xda, + 0xe3, 0xa8, 0xec, 0x86, 0xc3, 0x7e, 0x54, 0x2b, 0xe2, 0x6d, 0x0e, 0x6f, 0x38, 0x48, 0xa4, 0x1b, + 0x87, 0x73, 0x24, 0x59, 0xcd, 0x72, 0xcb, 0x76, 0x9a, 0xc2, 0xd3, 0x3b, 0xaa, 0x86, 0x32, 0x68, + 0xbc, 0x1a, 0x44, 0x25, 0x75, 0x98, 0x30, 0xe9, 0xee, 0x86, 0xe7, 0x06, 0xb4, 0x1e, 0xd0, 0x86, + 0x90, 0xea, 0xe4, 0xc5, 0x66, 0xc9, 0x75, 0xb9, 0xc4, 0xba, 0xf4, 0xd6, 0xef, 0x1e, 0x17, 0x33, + 0xdf, 0x3e, 0x2e, 0x02, 0x03, 0x71, 0xcf, 0x83, 0x93, 0xe3, 0xe2, 0x05, 0x36, 0xfe, 0x1d, 0x49, + 0xac, 0x9e, 0x4e, 0x2a, 0x53, 0xf2, 0x2d, 0xb6, 0x5f, 0x87, 0x5d, 0x12, 0x55, 0x36, 0xd1, 0xa3, + 0xb2, 0xb7, 0x53, 0x2b, 0x2b, 0x2a, 0xbd, 0x9d, 0x5a, 0x69, 0x6a, 0x25, 0xe4, 0x7d, 0x18, 0x2f, + 0x57, 0xcb, 0x6e, 0x7b, 0xd7, 0xd9, 0xab, 0xad, 0x94, 0x50, 0x34, 0x14, 0x5e, 0x27, 0x75, 0xc7, + 0xaa, 0x23, 0xdc, 0xf2, 0xf7, 0x6d, 0xcd, 0xf9, 0x30, 0xc2, 0x27, 0x77, 0x61, 0x4a, 0xfe, 0x34, + 0xe9, 0xee, 0x96, 0x59, 0x45, 0x89, 0x50, 0xba, 0xfa, 0x84, 0x1c, 0x58, 0x47, 0x74, 0x3d, 0xf5, + 0xa6, 0x10, 0x23, 0x63, 0x93, 0xb1, 0x42, 0x3b, 0x4d, 0xf7, 0x88, 0x7d, 0xde, 0xa6, 0x43, 0x3d, + 0x94, 0x01, 0xc5, 0x64, 0x6c, 0x84, 0x25, 0x56, 0xe0, 0xe8, 0x2f, 0x92, 0x3a, 0x11, 0x59, 0x87, + 0x19, 0x31, 0xc5, 0x1f, 0x3a, 0xbe, 0xb3, 0xe3, 0x34, 0x9d, 0xe0, 0x08, 0xa5, 0x3f, 0x21, 0xc0, + 0xc8, 0x75, 0xf1, 0x28, 0x2c, 0x55, 0x98, 0x25, 0x49, 0x8d, 0x5f, 0xc9, 0xc2, 0x0b, 0xfd, 0x6e, + 0x42, 0xa4, 0xa6, 0x6f, 0x66, 0x57, 0x07, 0xb8, 0x3d, 0x9d, 0xbe, 0x9d, 0x2d, 0xc3, 0xd4, 0x03, + 0xc5, 0xc0, 0x2d, 0x34, 0x38, 0xc4, 0xce, 0x50, 0x4d, 0xdf, 0xf4, 0xd9, 0x1e, 0x23, 0x5a, 0x78, + 0x24, 0xb6, 0xb9, 0x4f, 0xea, 0x06, 0x77, 0x1b, 0xc6, 0xca, 0x6e, 0x3b, 0xa0, 0x8f, 0x83, 0x98, + 0xd3, 0x37, 0x07, 0xc6, 0x5d, 0x00, 0x25, 0xaa, 0xf1, 0xaf, 0xb3, 0xf0, 0x62, 0xdf, 0xab, 0x00, + 0xd9, 0xd4, 0x7b, 0xed, 0xda, 0x20, 0xf7, 0x87, 0xd3, 0xbb, 0x6d, 0x31, 0x61, 0x85, 0x76, 0xaa, + 0x97, 0xc9, 0xc2, 0xff, 0x90, 0x11, 0x9d, 0xf4, 0x19, 0x18, 0xc5, 0xaa, 0xc2, 0x2e, 0xe2, 0x5a, + 0x32, 0xdc, 0x85, 0x1d, 0x5d, 0x4b, 0xc6, 0xd1, 0xc8, 0x2d, 0xc8, 0x97, 0xed, 0x66, 0x53, 0x71, + 0x89, 0x47, 0x69, 0xbe, 0x8e, 0xb0, 0x98, 0x29, 0xa5, 0x44, 0x64, 0xb2, 0x0f, 0xff, 0x5b, 0x39, + 0x2b, 0x70, 0xb3, 0x14, 0x64, 0xb1, 0xe3, 0x42, 0x41, 0xc6, 0x40, 0x9a, 0x75, 0x37, 0x74, 0xba, + 0xe5, 0x81, 0x34, 0x19, 0x40, 0x0b, 0xa4, 0xc9, 0x00, 0xc6, 0xaf, 0xe6, 0xe0, 0x52, 0xff, 0xfb, + 0x2c, 0xd9, 0xd2, 0x87, 0xe0, 0xf5, 0x81, 0x6e, 0xc1, 0xa7, 0x8f, 0x81, 0x0c, 0x4b, 0xcb, 0x3b, + 0xe4, 0x6a, 0xd2, 0x19, 0xe4, 0x3b, 0xc7, 0x45, 0xc5, 0x3e, 0xf7, 0x9e, 0xeb, 0xb4, 0x95, 0x37, + 0x93, 0x6f, 0x6a, 0x92, 0x21, 0x7f, 0x56, 0xbf, 0x3d, 0xd8, 0x97, 0x45, 0x74, 0x7c, 0x5f, 0x19, + 0x54, 0xa2, 0xfc, 0x02, 0x14, 0xe2, 0xa4, 0xe4, 0x0a, 0x0c, 0xe1, 0x07, 0x28, 0x1e, 0x2d, 0x31, + 0x0e, 0x58, 0xbe, 0xb0, 0x26, 0xe6, 0x0e, 0x46, 0x09, 0xc0, 0x87, 0x7a, 0x5d, 0x37, 0x28, 0xa2, + 0x04, 0xf0, 0x77, 0xfe, 0xa4, 0x7e, 0x30, 0x46, 0x64, 0xfc, 0x59, 0x06, 0x2e, 0xf6, 0xd4, 0x14, + 0x90, 0x0d, 0x7d, 0xc0, 0x5e, 0x3d, 0x4d, 0xb5, 0x70, 0xea, 0x58, 0x2d, 0xfc, 0xa8, 0x9c, 0xfb, + 0x1f, 0xc0, 0x44, 0xad, 0xbb, 0x13, 0xbf, 0x9f, 0xf1, 0x18, 0x1e, 0x0a, 0x5c, 0x3d, 0xc1, 0x54, + 0x7c, 0xd6, 0x7e, 0x69, 0x89, 0x20, 0x4c, 0x6a, 0x14, 0x1b, 0xbc, 0xd0, 0x8d, 0x35, 0x19, 0x25, + 0x41, 0x27, 0x32, 0x7e, 0x39, 0x9b, 0x7e, 0xd1, 0xbd, 0x5b, 0xde, 0x38, 0xcb, 0x45, 0xf7, 0x6e, + 0x79, 0xe3, 0xf4, 0xb6, 0xff, 0x13, 0xd9, 0x76, 0x7c, 0x98, 0x15, 0x3b, 0x9e, 0x54, 0x74, 0x8a, + 0x87, 0x59, 0xb9, 0x3b, 0xfa, 0xfa, 0xc3, 0xac, 0x44, 0x26, 0x6f, 0xc3, 0xd8, 0xaa, 0xcb, 0x03, + 0x18, 0xc8, 0x16, 0x73, 0x3f, 0x4f, 0x09, 0x54, 0xb7, 0xc7, 0x10, 0x93, 0xdd, 0x2d, 0xf4, 0x81, + 0x97, 0xa6, 0x86, 0x78, 0xb7, 0x88, 0x4d, 0x17, 0x5d, 0x1d, 0xa8, 0x93, 0x19, 0xff, 0xf1, 0x30, + 0x18, 0xa7, 0x2b, 0x33, 0xc8, 0x47, 0x7a, 0xdf, 0x5d, 0x1f, 0x58, 0x0d, 0x32, 0xd0, 0x96, 0x5b, + 0xea, 0x36, 0x1c, 0xda, 0xae, 0xeb, 0xd1, 0x07, 0x04, 0x4c, 0xdd, 0x02, 0x25, 0xde, 0x27, 0x71, + 0x06, 0x5c, 0xf8, 0x6f, 0x72, 0xd1, 0x52, 0x8b, 0x1d, 0x8d, 0x99, 0x4f, 0x70, 0x34, 0x92, 0xfb, + 0x50, 0x50, 0x21, 0xca, 0x0b, 0x2d, 0x4a, 0x2e, 0x1a, 0xa3, 0xd8, 0x47, 0x25, 0x08, 0xf5, 0xf3, + 0x35, 0x37, 0xf8, 0xf9, 0x1a, 0x89, 0xef, 0x58, 0xff, 0x50, 0x52, 0x7c, 0x8f, 0x3b, 0xfc, 0x2a, + 0xe8, 0x32, 0x5a, 0x81, 0x2f, 0x0e, 0xad, 0x61, 0x3d, 0x5a, 0x41, 0xca, 0xc1, 0xa5, 0xa2, 0xcb, + 0x80, 0x0b, 0xf8, 0x53, 0xf1, 0x37, 0x0e, 0x03, 0x2e, 0x70, 0xfa, 0xb4, 0x80, 0x0b, 0x21, 0x09, + 0x3b, 0x00, 0xcd, 0x6e, 0x9b, 0x47, 0x6c, 0x1e, 0x8d, 0x0e, 0x40, 0xaf, 0xdb, 0xb6, 0xe2, 0x51, + 0x9b, 0x43, 0x44, 0xe3, 0x1f, 0x0f, 0xa5, 0x0b, 0x07, 0xa1, 0xbe, 0xeb, 0x2c, 0xc2, 0x41, 0x48, + 0xf4, 0xe9, 0xcc, 0xd4, 0x2d, 0x98, 0x95, 0x16, 0x6f, 0xd2, 0x02, 0x6b, 0xcb, 0x5c, 0x15, 0x43, + 0x8c, 0x7a, 0xa3, 0xd0, 0x56, 0x4e, 0x5a, 0x71, 0x59, 0x5d, 0x4f, 0xd3, 0x1b, 0xa5, 0xd0, 0x2f, + 0xfc, 0x9a, 0x54, 0x8b, 0xa9, 0x83, 0xb0, 0xb5, 0x15, 0xce, 0xe5, 0xd8, 0x20, 0x74, 0xbb, 0xda, + 0x30, 0xea, 0x24, 0x7c, 0xef, 0x95, 0x2a, 0x07, 0x64, 0xa2, 0xc8, 0x8a, 0x8a, 0xa2, 0x22, 0xc6, + 0x25, 0x46, 0x44, 0xf6, 0xe0, 0x62, 0x24, 0x4a, 0x2b, 0x37, 0x05, 0xe4, 0xc8, 0x1b, 0x7c, 0xed, + 0xe4, 0xb8, 0xf8, 0xaa, 0x22, 0x8a, 0xab, 0x17, 0x8e, 0x18, 0xf7, 0xde, 0xbc, 0xd8, 0x7e, 0xbb, + 0xe4, 0xd9, 0xed, 0xfa, 0xbe, 0x32, 0xe7, 0x71, 0xbf, 0xdd, 0x41, 0x68, 0xc2, 0x65, 0x3c, 0x42, + 0x36, 0x7e, 0x34, 0x0b, 0x53, 0xfc, 0xac, 0xe6, 0xaf, 0x73, 0xcf, 0xec, 0xcb, 0xe7, 0xbb, 0xda, + 0xcb, 0xa7, 0x8c, 0x6e, 0xa6, 0x36, 0x6d, 0xa0, 0x77, 0xcf, 0x7d, 0x20, 0x49, 0x1a, 0x62, 0xc2, + 0x84, 0x0a, 0xed, 0xff, 0xe4, 0x79, 0x33, 0x0a, 0x84, 0x27, 0x44, 0x25, 0x7c, 0x77, 0xf6, 0x4d, + 0x8d, 0x87, 0xf1, 0x23, 0x59, 0x98, 0x54, 0xec, 0x54, 0x9e, 0xd9, 0x8e, 0xff, 0x82, 0xd6, 0xf1, + 0xf3, 0xa1, 0xbf, 0x5c, 0xd8, 0xb2, 0x81, 0xfa, 0xbd, 0x0b, 0x33, 0x09, 0x92, 0xb8, 0xb9, 0x4f, + 0x66, 0x10, 0x73, 0x9f, 0x37, 0x93, 0x51, 0xb5, 0x78, 0x70, 0xfa, 0x30, 0xc6, 0x8a, 0x1a, 0xc6, + 0xeb, 0xc7, 0xb3, 0x30, 0x27, 0x7e, 0x61, 0x18, 0x4a, 0x2e, 0xac, 0x3e, 0xb3, 0x63, 0x51, 0xd2, + 0xc6, 0xa2, 0xa8, 0x8f, 0x85, 0xd2, 0xc0, 0xde, 0x43, 0x62, 0xfc, 0x00, 0xc0, 0x7c, 0x2f, 0x82, + 0x81, 0xdd, 0xd2, 0x23, 0x47, 0xbd, 0xec, 0x00, 0x8e, 0x7a, 0xab, 0x50, 0xc0, 0xaa, 0x44, 0xa0, + 0x39, 0x7f, 0xcb, 0xac, 0x8a, 0x4e, 0x42, 0xfd, 0x02, 0x8f, 0x15, 0x2a, 0x02, 0xdf, 0xf9, 0x31, + 0x9d, 0x47, 0x82, 0x92, 0xfc, 0x62, 0x06, 0xa6, 0x10, 0xb8, 0xfc, 0x88, 0xb6, 0x03, 0x64, 0x36, + 0x24, 0x3c, 0xb8, 0xc2, 0x87, 0xd1, 0x5a, 0xe0, 0x39, 0xed, 0x3d, 0xf1, 0x32, 0xba, 0x23, 0x5e, + 0x46, 0xdf, 0xe3, 0x2f, 0xba, 0xd7, 0xeb, 0x6e, 0xeb, 0xc6, 0x9e, 0x67, 0x3f, 0x72, 0xb8, 0x09, + 0x96, 0xdd, 0xbc, 0x11, 0xe5, 0x46, 0xe9, 0x38, 0xb1, 0x6c, 0x27, 0x82, 0x15, 0xbe, 0x3a, 0xf3, + 0x0f, 0xa5, 0x58, 0x6d, 0x5c, 0x35, 0xa3, 0x7f, 0x11, 0xf9, 0x1e, 0xb8, 0xc0, 0xc3, 0x3f, 0xb1, + 0x1b, 0xbe, 0xd3, 0xee, 0xba, 0x5d, 0x7f, 0xc9, 0xae, 0x1f, 0x30, 0x31, 0x9f, 0xfb, 0xd9, 0x62, + 0xcb, 0xeb, 0x61, 0xa1, 0xb5, 0xc3, 0x4b, 0xb5, 0xb8, 0x02, 0xe9, 0x0c, 0xc8, 0x0a, 0xcc, 0xf0, + 0xa2, 0x52, 0x37, 0x70, 0x6b, 0x75, 0xbb, 0xe9, 0xb4, 0xf7, 0x50, 0x96, 0xc8, 0x73, 0x51, 0xc6, + 0xee, 0x06, 0xae, 0xe5, 0x73, 0xb8, 0xaa, 0xa9, 0x49, 0x10, 0x91, 0x2a, 0x4c, 0x9b, 0xd4, 0x6e, + 0xac, 0xd9, 0x8f, 0xcb, 0x76, 0xc7, 0xae, 0x3b, 0x01, 0x8f, 0x47, 0x99, 0xe3, 0x02, 0x9d, 0x47, + 0xed, 0x86, 0xd5, 0xb2, 0x1f, 0x5b, 0x75, 0x51, 0xa8, 0xab, 0xec, 0x35, 0xba, 0x90, 0x95, 0xd3, + 0x0e, 0x59, 0x8d, 0xc5, 0x59, 0x39, 0xed, 0xde, 0xac, 0x22, 0x3a, 0xc9, 0x6a, 0xd3, 0xf6, 0xf6, + 0x68, 0xc0, 0x2d, 0x98, 0xe1, 0x72, 0xe6, 0x6a, 0x46, 0x61, 0x15, 0x60, 0x99, 0x85, 0xd6, 0xcc, + 0x71, 0x56, 0x0a, 0x1d, 0x9b, 0x79, 0xdb, 0x9e, 0x13, 0x50, 0xb5, 0x85, 0xe3, 0xf8, 0x59, 0xd8, + 0xff, 0x68, 0xfb, 0xdd, 0xab, 0x89, 0x09, 0xca, 0x88, 0x9b, 0xd2, 0xc8, 0x89, 0x04, 0xb7, 0xf4, + 0x56, 0x26, 0x28, 0x43, 0x6e, 0x6a, 0x3b, 0x27, 0xb1, 0x9d, 0x0a, 0xb7, 0x1e, 0x0d, 0x4d, 0x50, + 0x92, 0x75, 0xd6, 0x69, 0x01, 0x93, 0x9b, 0xdc, 0xb6, 0xb0, 0xe0, 0x9e, 0xc2, 0x4f, 0x7b, 0x45, + 0x98, 0x21, 0x16, 0x3c, 0x59, 0x6c, 0xa5, 0xd8, 0x73, 0xc7, 0x89, 0xc9, 0x5f, 0x81, 0xe9, 0x2d, + 0x9f, 0xde, 0xa9, 0x6e, 0xd4, 0x64, 0xb4, 0x28, 0x54, 0x2e, 0x4e, 0x2d, 0xde, 0x3c, 0x65, 0xd3, + 0xb9, 0xae, 0xd2, 0x60, 0x8a, 0x12, 0x3e, 0x6e, 0x5d, 0x9f, 0x5a, 0xbb, 0x4e, 0xc7, 0x0f, 0x43, + 0xef, 0xa9, 0xe3, 0x16, 0xab, 0xca, 0x58, 0x81, 0x99, 0x04, 0x1b, 0x32, 0x05, 0xc0, 0x80, 0xd6, + 0xd6, 0x7a, 0x6d, 0x79, 0xb3, 0xf0, 0x1c, 0x29, 0xc0, 0x04, 0xfe, 0x5e, 0x5e, 0x2f, 0x2d, 0xad, + 0x2e, 0x57, 0x0a, 0x19, 0x32, 0x03, 0x93, 0x08, 0xa9, 0x54, 0x6b, 0x1c, 0x94, 0xe5, 0x01, 0xea, + 0xcd, 0x02, 0x5f, 0xba, 0x01, 0x5b, 0x00, 0x78, 0xa6, 0x18, 0x7f, 0x37, 0x0b, 0x17, 0xe5, 0xb1, + 0x42, 0x03, 0x26, 0x38, 0x3a, 0xed, 0xbd, 0x67, 0xfc, 0x74, 0xb8, 0xa3, 0x9d, 0x0e, 0xaf, 0xc4, + 0x4e, 0xea, 0x58, 0x2b, 0xfb, 0x1c, 0x11, 0xbf, 0x39, 0x06, 0x2f, 0xf6, 0xa5, 0x22, 0x5f, 0x62, + 0xa7, 0xb9, 0x43, 0xdb, 0x41, 0xb5, 0xd1, 0xa4, 0x9b, 0x4e, 0x8b, 0xba, 0xdd, 0x40, 0x78, 0x0c, + 0xbc, 0x8c, 0xfa, 0x3c, 0x2c, 0xb4, 0x9c, 0x46, 0x93, 0x5a, 0x01, 0x2f, 0xd6, 0xa6, 0x5b, 0x92, + 0x9a, 0xb1, 0x0c, 0xd3, 0x25, 0x55, 0xdb, 0x01, 0xf5, 0x1e, 0xa1, 0x55, 0x62, 0xc8, 0xf2, 0x80, + 0xd2, 0x8e, 0x65, 0xb3, 0x52, 0xcb, 0x11, 0xc5, 0x3a, 0xcb, 0x04, 0x35, 0xb9, 0xa3, 0xb0, 0x2c, + 0xb3, 0xdb, 0xff, 0x9a, 0xfd, 0x58, 0x98, 0x49, 0x89, 0xe8, 0xa3, 0x21, 0x4b, 0xee, 0x20, 0xd7, + 0xb2, 0x1f, 0x9b, 0x49, 0x12, 0xf2, 0x35, 0x38, 0x27, 0x0e, 0x20, 0x11, 0xca, 0x44, 0xb6, 0x98, + 0x07, 0x4a, 0x79, 0xed, 0xe4, 0xb8, 0x78, 0x41, 0xc6, 0x6d, 0x95, 0xc1, 0x6b, 0xd2, 0x5a, 0x9d, + 0xce, 0x85, 0x6c, 0xb2, 0x03, 0x39, 0xd6, 0x1d, 0x6b, 0xd4, 0xf7, 0xa5, 0x07, 0xa3, 0xb8, 0x19, + 0xab, 0x9d, 0x69, 0xb5, 0x78, 0xb9, 0xd9, 0x93, 0x92, 0xac, 0xc0, 0xd4, 0x36, 0xdd, 0x51, 0xc7, + 0x67, 0x24, 0xdc, 0xaa, 0x0a, 0x87, 0x74, 0xa7, 0xf7, 0xe0, 0xc4, 0xe8, 0x88, 0x83, 0xef, 0x03, + 0x8f, 0x8f, 0x56, 0x1d, 0x3f, 0xa0, 0x6d, 0xea, 0x61, 0x88, 0xac, 0x51, 0xdc, 0x0c, 0xe6, 0x23, + 0x09, 0x59, 0x2f, 0x5f, 0x7a, 0xe9, 0xe4, 0xb8, 0xf8, 0x22, 0x77, 0x05, 0x6e, 0x0a, 0xb8, 0x15, + 0x4b, 0x36, 0x94, 0xe4, 0x4a, 0xbe, 0x01, 0xd3, 0xa6, 0xdb, 0x0d, 0x9c, 0xf6, 0x5e, 0x2d, 0xf0, + 0xec, 0x80, 0xee, 0xf1, 0x03, 0x29, 0x8a, 0xc5, 0x15, 0x2b, 0x15, 0x4f, 0xcb, 0x1c, 0x68, 0xf9, + 0x02, 0xaa, 0x9d, 0x08, 0x3a, 0x01, 0xf9, 0x3a, 0x4c, 0xf1, 0x20, 0x16, 0x61, 0x05, 0x63, 0x5a, + 0xa2, 0x04, 0xbd, 0xf0, 0xe1, 0x4d, 0x61, 0xd5, 0x82, 0xd0, 0xb4, 0x0a, 0x62, 0xdc, 0xc8, 0x57, + 0x44, 0x67, 0x6d, 0x38, 0xed, 0xbd, 0x70, 0x1a, 0x03, 0xf6, 0xfc, 0x5b, 0x51, 0x97, 0x74, 0xd8, + 0xe7, 0xca, 0x69, 0xdc, 0xc3, 0x44, 0x2f, 0xc9, 0x87, 0x04, 0xf0, 0x62, 0xc9, 0xf7, 0x1d, 0x3f, + 0x10, 0x7e, 0x35, 0xcb, 0x8f, 0x69, 0xbd, 0xcb, 0x90, 0xd9, 0xf5, 0x96, 0x7a, 0xdc, 0xae, 0x7b, + 0x78, 0xe9, 0xfa, 0xc9, 0x71, 0xf1, 0x75, 0x1b, 0x11, 0x2d, 0xe1, 0x8a, 0x63, 0x51, 0x89, 0x6a, + 0x1d, 0x72, 0x5c, 0xa5, 0x0d, 0xfd, 0x99, 0x92, 0xaf, 0xc3, 0xf9, 0xb2, 0xed, 0xd3, 0x6a, 0xdb, + 0xa7, 0x6d, 0xdf, 0x09, 0x9c, 0x47, 0x54, 0x74, 0x2a, 0x1e, 0x7e, 0x79, 0x4c, 0xcb, 0x64, 0xd4, + 0x6d, 0x9f, 0x2d, 0xcc, 0x10, 0xc5, 0x12, 0x83, 0xa2, 0x54, 0xd3, 0x83, 0x0b, 0x31, 0x61, 0xaa, + 0x56, 0x5b, 0xa9, 0x38, 0x76, 0xb8, 0xae, 0x26, 0xb1, 0xbf, 0x5e, 0x47, 0xd5, 0x9e, 0xbf, 0x6f, + 0x35, 0x1c, 0x3b, 0x5c, 0x50, 0x3d, 0x3a, 0x2b, 0xc6, 0xc1, 0x38, 0xce, 0x40, 0x21, 0x3e, 0x94, + 0xe4, 0xcb, 0x30, 0xc6, 0xed, 0xdb, 0xa8, 0xbf, 0x2f, 0xe2, 0x30, 0x48, 0x73, 0xa9, 0x10, 0xae, + 0x13, 0x09, 0x3f, 0x37, 0x6e, 0x3d, 0x47, 0x55, 0x6b, 0x19, 0xf4, 0x73, 0x93, 0x44, 0xa4, 0x01, + 0x13, 0x7c, 0xb4, 0x28, 0x06, 0xe2, 0x13, 0x66, 0xce, 0x2f, 0xa9, 0xab, 0x43, 0x14, 0xc5, 0xf8, + 0xe3, 0xab, 0xa1, 0x98, 0x13, 0x1c, 0x41, 0xab, 0x42, 0xe3, 0xba, 0x04, 0x90, 0x97, 0x84, 0xc6, + 0x45, 0xb8, 0xd0, 0xe3, 0x9b, 0x8d, 0x47, 0x68, 0x49, 0xd0, 0xa3, 0x46, 0xf2, 0x65, 0x98, 0x43, + 0xc2, 0xb2, 0xdb, 0x6e, 0xd3, 0x7a, 0x80, 0xdb, 0x91, 0xd4, 0xbe, 0xe7, 0xb8, 0xa5, 0x0b, 0x6f, + 0x6f, 0x3d, 0x44, 0xb0, 0xe2, 0x4a, 0xf8, 0x54, 0x0e, 0xc6, 0xcf, 0x64, 0x61, 0x5e, 0xec, 0x70, + 0x26, 0xad, 0xbb, 0x5e, 0xe3, 0xd9, 0x3f, 0x51, 0x97, 0xb5, 0x13, 0xf5, 0xe5, 0x30, 0x88, 0x4f, + 0x5a, 0x23, 0xfb, 0x1c, 0xa8, 0xbf, 0x9c, 0x81, 0x17, 0xfa, 0x11, 0xb1, 0xde, 0x09, 0x03, 0x0f, + 0x8e, 0x25, 0x02, 0x0c, 0x76, 0x60, 0x16, 0x07, 0xb4, 0xbc, 0x4f, 0xeb, 0x07, 0xfe, 0x8a, 0xeb, + 0x07, 0xe8, 0x69, 0x91, 0xed, 0xf1, 0xd6, 0xfd, 0x66, 0xea, 0x5b, 0xf7, 0x79, 0x3e, 0xcb, 0xea, + 0xc8, 0x83, 0x87, 0x46, 0x3c, 0xa0, 0x47, 0xbe, 0x99, 0xc6, 0x1a, 0x2d, 0xe6, 0x4b, 0xdd, 0x60, + 0x7f, 0xc3, 0xa3, 0xbb, 0xd4, 0xa3, 0xed, 0x3a, 0xfd, 0x2e, 0xb3, 0x98, 0xd7, 0x1b, 0x37, 0x90, + 0x06, 0xe3, 0x9f, 0x4c, 0xc2, 0x5c, 0x1a, 0x19, 0xeb, 0x17, 0xe5, 0xd2, 0x1c, 0xcf, 0x1a, 0xf9, + 0x37, 0x32, 0x30, 0x51, 0xa3, 0x75, 0xb7, 0xdd, 0xb8, 0x83, 0x16, 0x45, 0xa2, 0x77, 0x2c, 0x2e, + 0x34, 0x30, 0xb8, 0xb5, 0x1b, 0x33, 0x35, 0xfa, 0xce, 0x71, 0xf1, 0x8b, 0x83, 0xdd, 0x55, 0xeb, + 0x2e, 0x06, 0xcf, 0x09, 0x30, 0xab, 0x41, 0x58, 0x05, 0x3e, 0x0e, 0x6a, 0x95, 0x92, 0x25, 0x98, + 0x14, 0xcb, 0xd5, 0x55, 0xe3, 0x4e, 0xf2, 0x38, 0x47, 0xb2, 0x20, 0xa1, 0xba, 0xd6, 0x48, 0xc8, + 0x2d, 0xc8, 0x6d, 0x2d, 0xde, 0x11, 0x63, 0x20, 0xf3, 0x42, 0x6c, 0x2d, 0xde, 0x41, 0x75, 0x18, + 0xbb, 0x62, 0x4c, 0x76, 0x17, 0x35, 0x23, 0x9f, 0xad, 0xc5, 0x3b, 0xe4, 0xaf, 0xc1, 0xb9, 0x8a, + 0xe3, 0x8b, 0x2a, 0xb8, 0xef, 0x46, 0x03, 0x3d, 0x16, 0x47, 0x7a, 0xcc, 0xde, 0xcf, 0xa5, 0xce, + 0xde, 0x97, 0x1a, 0x21, 0x13, 0x8b, 0x3b, 0x86, 0x34, 0xe2, 0xf1, 0x35, 0xd3, 0xeb, 0x21, 0x1f, + 0xc3, 0x14, 0x2a, 0xb3, 0xd1, 0x9d, 0x05, 0x23, 0xa3, 0x8f, 0xf6, 0xa8, 0xf9, 0x33, 0xa9, 0x35, + 0x2f, 0xf0, 0xe8, 0x13, 0xe8, 0x14, 0x83, 0x51, 0xd4, 0xb5, 0x5b, 0xbf, 0xc6, 0x99, 0xdc, 0x83, + 0x69, 0x21, 0x7e, 0x3d, 0xd8, 0xdd, 0xdc, 0xa7, 0x15, 0xfb, 0x48, 0xd8, 0xe7, 0xe0, 0x8d, 0x4e, + 0xc8, 0x6c, 0x96, 0xbb, 0x6b, 0x05, 0xfb, 0xd4, 0x6a, 0xd8, 0x9a, 0xa0, 0x12, 0x23, 0x24, 0xdf, + 0x82, 0xf1, 0x55, 0xb7, 0xce, 0x24, 0x6f, 0xdc, 0x19, 0xb8, 0xc9, 0xce, 0x47, 0x98, 0x97, 0x90, + 0x83, 0x63, 0xe2, 0xd4, 0x77, 0x8e, 0x8b, 0xef, 0x9e, 0x75, 0xd2, 0x28, 0x15, 0x98, 0x6a, 0x6d, + 0xa4, 0x0c, 0xf9, 0x6d, 0xba, 0xc3, 0x5a, 0x1b, 0xcf, 0x59, 0x26, 0xc1, 0xc2, 0x22, 0x4f, 0xfc, + 0xd2, 0x2c, 0xf2, 0x04, 0x8c, 0x78, 0x30, 0x83, 0xfd, 0xb3, 0x61, 0xfb, 0xfe, 0xa1, 0xeb, 0x35, + 0x30, 0x39, 0x45, 0x2f, 0x6b, 0xa0, 0xc5, 0xd4, 0xce, 0x7f, 0x81, 0x77, 0x7e, 0x47, 0xe1, 0xa0, + 0x0a, 0x90, 0x09, 0xf6, 0xe4, 0x1b, 0x30, 0x25, 0xa2, 0x01, 0xac, 0xdd, 0x29, 0xe1, 0xaa, 0x9c, + 0xd0, 0xfc, 0x3e, 0xf5, 0x42, 0x2e, 0xa5, 0x8a, 0xe0, 0x02, 0x52, 0x03, 0x65, 0xb5, 0x76, 0x6d, + 0x5d, 0xe9, 0xaf, 0x92, 0x90, 0x0d, 0x18, 0xaf, 0xd0, 0x47, 0x4e, 0x9d, 0xa2, 0x6f, 0x9a, 0xb0, + 0x0b, 0x0f, 0x93, 0x2e, 0x45, 0x25, 0x5c, 0x17, 0xd3, 0x40, 0x00, 0xf7, 0x74, 0xd3, 0x6d, 0x75, + 0x43, 0x44, 0x72, 0x1b, 0x72, 0xd5, 0xca, 0x86, 0x30, 0x0b, 0x9f, 0x09, 0x63, 0x6e, 0x6c, 0xc8, + 0x14, 0x35, 0x68, 0x3f, 0xe7, 0x34, 0x34, 0xa3, 0xf2, 0x6a, 0x65, 0x83, 0xec, 0xc2, 0x24, 0x76, + 0xc0, 0x0a, 0xb5, 0x79, 0xdf, 0x4e, 0xf7, 0xe8, 0xdb, 0xeb, 0xa9, 0x7d, 0x3b, 0xcf, 0xfb, 0x76, + 0x5f, 0x50, 0x6b, 0x39, 0x37, 0x54, 0xb6, 0x4c, 0xa4, 0x15, 0x79, 0x80, 0x64, 0xa6, 0x88, 0xcd, + 0x55, 0xb4, 0x0f, 0x12, 0x22, 0xad, 0x4c, 0x1b, 0x14, 0xa6, 0xae, 0xe8, 0xe9, 0x75, 0x92, 0xe4, + 0x43, 0xbe, 0x00, 0x43, 0x0f, 0x0e, 0x02, 0x5b, 0x18, 0x80, 0xcb, 0x7e, 0x64, 0x20, 0xd9, 0x7c, + 0xd4, 0x42, 0xba, 0x07, 0x5a, 0x04, 0x36, 0xa4, 0x61, 0x43, 0xb1, 0x62, 0x7b, 0x8d, 0x43, 0xdb, + 0x43, 0x07, 0xe1, 0x59, 0x8d, 0x85, 0x52, 0xc2, 0x87, 0x62, 0x5f, 0x00, 0x62, 0x5e, 0xc3, 0x2a, + 0x0b, 0xf2, 0x3d, 0x70, 0xd1, 0x77, 0xf6, 0xda, 0x76, 0xd0, 0xf5, 0xa8, 0x65, 0x37, 0xf7, 0x5c, + 0xcf, 0x09, 0xf6, 0x5b, 0x96, 0xdf, 0x75, 0x02, 0x3a, 0x3f, 0xa7, 0x65, 0x0d, 0xae, 0x49, 0xbc, + 0x92, 0x44, 0xab, 0x31, 0x2c, 0xf3, 0x82, 0x9f, 0x5e, 0x40, 0xbe, 0x02, 0x93, 0xea, 0x96, 0xec, + 0xcf, 0x9f, 0xbb, 0x9c, 0xbb, 0x3a, 0x15, 0x5e, 0x3c, 0xe2, 0x1b, 0xb8, 0x8c, 0xb6, 0xab, 0x9c, + 0x10, 0xbe, 0x1e, 0x6d, 0x57, 0xe1, 0x15, 0xe6, 0xe1, 0x23, 0x85, 0x59, 0x73, 0x46, 0xcc, 0x58, + 0xd1, 0xcb, 0x6b, 0x77, 0x4a, 0xe6, 0xe8, 0x46, 0xf5, 0x61, 0xad, 0xe9, 0x06, 0xc6, 0x7f, 0x9e, + 0xc1, 0x4d, 0x9c, 0xbc, 0x8e, 0x61, 0x95, 0xc2, 0xd7, 0x33, 0xd4, 0xdf, 0xda, 0x9d, 0x58, 0xa8, + 0x76, 0x8e, 0x42, 0xde, 0x84, 0x91, 0x3b, 0x76, 0x5d, 0x86, 0x85, 0x11, 0xc8, 0xbb, 0x08, 0x51, + 0x95, 0xbd, 0x1c, 0x87, 0xc9, 0x97, 0x7c, 0x72, 0x97, 0xa2, 0xc4, 0xd2, 0xe5, 0x92, 0x7c, 0xae, + 0x47, 0xf9, 0x52, 0x2c, 0x0a, 0x25, 0xf3, 0x74, 0xcc, 0x2a, 0x3e, 0x95, 0x83, 0xf1, 0x27, 0x99, + 0x68, 0x57, 0x22, 0xaf, 0xc1, 0x90, 0xb9, 0x11, 0x7e, 0x3f, 0x77, 0xfa, 0x8d, 0x7d, 0x3e, 0x22, + 0x90, 0xaf, 0xc0, 0x39, 0x85, 0x4f, 0xc2, 0x44, 0xff, 0x55, 0xf4, 0x49, 0x55, 0xbe, 0x24, 0xdd, + 0x4e, 0x3f, 0x9d, 0x07, 0x0a, 0xd3, 0x51, 0x41, 0x85, 0xb6, 0x1d, 0xce, 0x5b, 0x69, 0xac, 0xca, + 0xbb, 0x81, 0x08, 0xf1, 0xc6, 0xa6, 0x71, 0xe0, 0x2e, 0xa9, 0xc6, 0x6f, 0x64, 0xb4, 0xdd, 0x26, + 0xcc, 0xe0, 0x9b, 0x39, 0x25, 0x83, 0xef, 0x3b, 0x00, 0xa5, 0x6e, 0xe0, 0x2e, 0xb7, 0x3d, 0xb7, + 0xc9, 0xb5, 0x28, 0x22, 0x5b, 0x01, 0xea, 0x86, 0x29, 0x82, 0x35, 0xcf, 0xb9, 0x10, 0x39, 0xd5, + 0x9b, 0x21, 0xf7, 0x49, 0xbd, 0x19, 0x8c, 0xdf, 0xcb, 0x68, 0x6b, 0x94, 0x49, 0x89, 0x62, 0x2a, + 0xaa, 0x16, 0x63, 0x1d, 0xe7, 0x91, 0xe5, 0x37, 0x5d, 0x75, 0x87, 0x94, 0x68, 0xe4, 0xdf, 0xce, + 0xc0, 0x79, 0xee, 0x16, 0xb0, 0xde, 0x6d, 0xed, 0x50, 0xef, 0xa1, 0xdd, 0x74, 0x1a, 0x51, 0xd0, + 0xba, 0xc8, 0x7c, 0x50, 0xa9, 0x26, 0x1d, 0x9f, 0x5f, 0x54, 0xb9, 0x9b, 0x82, 0xd5, 0xc6, 0x42, + 0xeb, 0x51, 0x58, 0xaa, 0x5e, 0x54, 0xd3, 0xe9, 0x8d, 0x5f, 0xc9, 0xc0, 0x4b, 0xa7, 0xd6, 0x42, + 0x6e, 0xc0, 0xa8, 0x4c, 0x13, 0x91, 0xc1, 0x8e, 0x47, 0x3b, 0xdb, 0x64, 0x8a, 0x08, 0x89, 0x45, + 0xbe, 0x0a, 0xe7, 0x54, 0x56, 0x9b, 0x9e, 0xed, 0xa8, 0xc9, 0x18, 0x52, 0xbe, 0x3a, 0x60, 0x28, + 0x71, 0x69, 0x2d, 0x9d, 0x89, 0xf1, 0xff, 0x65, 0x94, 0x9c, 0xde, 0xcf, 0xa8, 0x0c, 0x7f, 0x5b, + 0x93, 0xe1, 0x65, 0xc8, 0xce, 0xb0, 0x55, 0xac, 0x2c, 0xf5, 0xde, 0x35, 0xad, 0xd8, 0x8b, 0x23, + 0xe0, 0x87, 0xb2, 0x30, 0xbe, 0xe5, 0x53, 0x8f, 0x3f, 0xe4, 0x7e, 0x77, 0x05, 0x2e, 0x0c, 0xdb, + 0x35, 0x50, 0x68, 0xb9, 0x3f, 0xca, 0xa0, 0x82, 0x5f, 0xa5, 0x60, 0xbd, 0xa1, 0xe4, 0xf1, 0xc3, + 0xde, 0xc0, 0x0c, 0x7e, 0x08, 0xe5, 0xc1, 0xba, 0x56, 0xf5, 0x94, 0x9e, 0x98, 0xd7, 0x75, 0x95, + 0x7c, 0x11, 0x86, 0xb7, 0x50, 0x5d, 0xa9, 0x07, 0xd9, 0x08, 0xf9, 0x63, 0x21, 0xdf, 0xa4, 0xbb, + 0xbe, 0x1e, 0x85, 0x8d, 0x13, 0x92, 0x1a, 0x8c, 0x96, 0x3d, 0x8a, 0x19, 0xba, 0x87, 0x06, 0x77, + 0x11, 0xaf, 0x73, 0x92, 0xb8, 0x8b, 0xb8, 0xe0, 0x64, 0xfc, 0x74, 0x16, 0x48, 0xd4, 0x46, 0x4c, + 0x47, 0xe5, 0x3f, 0xb3, 0x83, 0xfe, 0xa1, 0x36, 0xe8, 0x2f, 0x26, 0x06, 0x9d, 0x37, 0x6f, 0xa0, + 0xb1, 0xff, 0xad, 0x0c, 0x9c, 0x4f, 0x27, 0x24, 0x2f, 0xc3, 0xc8, 0x83, 0xcd, 0x0d, 0x19, 0xa7, + 0x45, 0x34, 0xc5, 0xed, 0xa0, 0xae, 0xc0, 0x14, 0x45, 0xe4, 0x2d, 0x18, 0xf9, 0x92, 0x59, 0x66, + 0xe7, 0x90, 0x92, 0xf0, 0xe0, 0x9b, 0x9e, 0x55, 0xd7, 0x8f, 0x22, 0x81, 0xa4, 0x8e, 0x6d, 0xee, + 0xa9, 0x8d, 0xed, 0x8f, 0x67, 0x61, 0xba, 0x54, 0xaf, 0x53, 0xdf, 0x67, 0xd2, 0x0e, 0xf5, 0x83, + 0x67, 0x76, 0x60, 0xd3, 0x23, 0xb0, 0x68, 0x6d, 0x1b, 0x68, 0x54, 0x7f, 0x27, 0x03, 0xe7, 0x24, + 0xd5, 0x23, 0x87, 0x1e, 0x6e, 0xee, 0x7b, 0xd4, 0xdf, 0x77, 0x9b, 0x8d, 0x81, 0xb3, 0xaa, 0x30, + 0x41, 0x0f, 0x43, 0xa5, 0xab, 0xaf, 0xfa, 0xbb, 0x08, 0xd1, 0x04, 0x3d, 0x1e, 0x4e, 0xfd, 0x06, + 0x8c, 0x96, 0x3a, 0x1d, 0xcf, 0x7d, 0xc4, 0x97, 0xbd, 0x88, 0xb3, 0x68, 0x73, 0x90, 0xe6, 0x61, + 0xcf, 0x41, 0xec, 0x33, 0x2a, 0xb4, 0xcd, 0x83, 0xe3, 0x4d, 0xf2, 0xcf, 0x68, 0xd0, 0xb6, 0x2a, + 0x8b, 0x63, 0xb9, 0x51, 0x03, 0xb2, 0xe1, 0xb9, 0x2d, 0x37, 0xa0, 0x0d, 0xde, 0x1e, 0x0c, 0x4c, + 0x70, 0x6a, 0xac, 0xab, 0x4d, 0x27, 0x68, 0x6a, 0xb1, 0xae, 0x02, 0x06, 0x30, 0x39, 0xdc, 0xf8, + 0x7f, 0x86, 0x61, 0x42, 0xed, 0x1d, 0x62, 0xf0, 0x54, 0x09, 0xae, 0xa7, 0x46, 0xc7, 0xb0, 0x11, + 0x62, 0x8a, 0x92, 0x28, 0xb4, 0x4c, 0xf6, 0xd4, 0xd0, 0x32, 0xdb, 0x30, 0xb9, 0xe1, 0xb9, 0x18, + 0x10, 0x12, 0x5f, 0x2b, 0xc5, 0x56, 0x38, 0xab, 0xdc, 0x3b, 0xd9, 0x40, 0xe2, 0x7b, 0x28, 0x4a, + 0xf6, 0x1d, 0x81, 0x8d, 0x09, 0x04, 0x35, 0xad, 0x8b, 0xc6, 0x87, 0x9b, 0x5a, 0xd8, 0xbe, 0x88, + 0xea, 0x1a, 0x9a, 0x5a, 0x30, 0x88, 0x6e, 0x6a, 0xc1, 0x20, 0xea, 0x5a, 0x1b, 0x7e, 0x5a, 0x6b, + 0x8d, 0xfc, 0x74, 0x06, 0xc6, 0x4b, 0xed, 0xb6, 0x08, 0x59, 0x73, 0x8a, 0xb7, 0xfe, 0x57, 0x85, + 0xb5, 0xc5, 0xbb, 0x9f, 0xc8, 0xda, 0x02, 0xe5, 0x16, 0x1f, 0x25, 0xd5, 0xa8, 0x42, 0xf5, 0xb6, + 0xa6, 0x7c, 0x07, 0x79, 0x17, 0x0a, 0xe1, 0x24, 0xaf, 0xb6, 0x1b, 0xf4, 0x31, 0xe5, 0xa9, 0xe6, + 0x26, 0x45, 0x94, 0x69, 0x55, 0x32, 0x8d, 0x23, 0x92, 0x4d, 0x00, 0x3b, 0x9c, 0x5d, 0xb1, 0x9c, + 0x99, 0xc9, 0xe9, 0x27, 0xa4, 0x67, 0xfc, 0x8d, 0x0f, 0x5a, 0xaa, 0xf4, 0x1c, 0xf1, 0x21, 0x2d, + 0x98, 0xe6, 0x09, 0x2b, 0x6b, 0x81, 0xed, 0x05, 0x98, 0x98, 0x01, 0x4e, 0x1d, 0x87, 0xd7, 0x84, + 0xfe, 0xec, 0x79, 0x91, 0x06, 0xd3, 0x67, 0xb4, 0x56, 0x4a, 0x96, 0x86, 0x38, 0x6f, 0x1e, 0xd3, + 0xdb, 0xbc, 0x90, 0xfc, 0x5e, 0x3e, 0xe9, 0x7f, 0x3c, 0x03, 0xe7, 0xd5, 0x49, 0x5f, 0xeb, 0xee, + 0x88, 0x60, 0x9c, 0xe4, 0x3a, 0x8c, 0x89, 0x39, 0x19, 0x5e, 0xa2, 0x92, 0xf9, 0x25, 0x22, 0x14, + 0xb2, 0xcc, 0xa6, 0x21, 0xe3, 0x21, 0xa4, 0xee, 0xd9, 0xd8, 0x3e, 0xc5, 0x8a, 0xa2, 0x64, 0xc8, + 0x1e, 0xfe, 0xd6, 0xe7, 0x27, 0x83, 0x18, 0x1f, 0xc0, 0x8c, 0x3e, 0x12, 0x35, 0x1a, 0x90, 0x6b, + 0x30, 0x2a, 0x87, 0x2f, 0x93, 0x3e, 0x7c, 0xb2, 0xdc, 0xd8, 0x06, 0x92, 0xa0, 0xf7, 0xd1, 0x2c, + 0x8a, 0xdd, 0x4f, 0xb9, 0xd9, 0x9e, 0x7c, 0x94, 0x4c, 0x20, 0x2e, 0xcd, 0x8a, 0xef, 0x1b, 0xd7, + 0xdc, 0x12, 0x30, 0x30, 0xe9, 0x9f, 0x4c, 0xc1, 0x6c, 0xca, 0x9e, 0x7b, 0x8a, 0x4c, 0x54, 0xd4, + 0x37, 0x88, 0xb1, 0x30, 0xd8, 0x87, 0xdc, 0x16, 0x3e, 0x80, 0xe1, 0x53, 0xb7, 0x03, 0xee, 0x94, + 0x12, 0xdb, 0x05, 0x38, 0xd9, 0xa7, 0x22, 0x17, 0xa9, 0xf1, 0x78, 0x86, 0x9f, 0x5a, 0x3c, 0x9e, + 0x25, 0x98, 0x14, 0xad, 0x12, 0xdb, 0x95, 0x62, 0x1c, 0xed, 0xf1, 0x02, 0x2b, 0xb1, 0x6d, 0xe9, + 0x24, 0x9c, 0x87, 0xef, 0x36, 0x1f, 0x51, 0xc1, 0x63, 0x54, 0xe5, 0x81, 0x05, 0xa9, 0x3c, 0x14, + 0x12, 0xf2, 0x1f, 0x62, 0xb2, 0x3c, 0x84, 0xa8, 0x7b, 0x56, 0xbe, 0xdf, 0x9e, 0xd5, 0x78, 0x3a, + 0x7b, 0xd6, 0x8b, 0xf2, 0x1b, 0xd3, 0xf7, 0xae, 0x94, 0xcf, 0x22, 0xbf, 0x94, 0x81, 0x19, 0x1e, + 0x14, 0x46, 0xfd, 0xd8, 0xbe, 0x81, 0x3e, 0xea, 0x4f, 0xe7, 0x63, 0x5f, 0x10, 0x49, 0xa2, 0xd2, + 0xbf, 0x35, 0xf9, 0x51, 0xe4, 0x7b, 0x00, 0xc2, 0x15, 0xc5, 0x83, 0xb3, 0x8e, 0x2f, 0xbe, 0x90, + 0xb2, 0x0b, 0x84, 0x48, 0x51, 0x42, 0x8b, 0x20, 0xa4, 0xd3, 0x52, 0x24, 0x86, 0x50, 0xf2, 0xd7, + 0x60, 0x8e, 0xad, 0x97, 0x10, 0x22, 0x42, 0x58, 0xcd, 0x8f, 0x63, 0x2d, 0x9f, 0xed, 0x2d, 0x13, + 0x5d, 0x4f, 0x23, 0xe3, 0xa1, 0x7c, 0xa3, 0x6c, 0xd5, 0x81, 0x1a, 0xed, 0x22, 0xb5, 0x22, 0x8c, + 0x0c, 0x87, 0x5f, 0xcf, 0x93, 0x4e, 0xf4, 0xd8, 0xdf, 0x2e, 0xca, 0xb5, 0xc0, 0xf7, 0x37, 0x5f, + 0xf7, 0x51, 0x46, 0x10, 0xf9, 0x12, 0x90, 0x30, 0x9a, 0x0a, 0x87, 0x51, 0x99, 0x90, 0x82, 0xab, + 0x9b, 0xa3, 0xa8, 0x2c, 0x9e, 0x2c, 0x56, 0x27, 0x49, 0x92, 0x98, 0x50, 0x98, 0x13, 0x8d, 0x66, + 0x50, 0x99, 0xc9, 0xce, 0x9f, 0x9f, 0xd2, 0x02, 0x84, 0x45, 0x25, 0x51, 0x5a, 0x6b, 0x25, 0x1d, + 0x9e, 0xa6, 0x72, 0x4a, 0x63, 0x47, 0x6e, 0xc3, 0x18, 0x3a, 0x0a, 0xaf, 0x48, 0x63, 0x2f, 0x61, + 0x78, 0x82, 0x2e, 0xc5, 0xd6, 0xbe, 0x6e, 0xb2, 0x15, 0xa1, 0xb2, 0xeb, 0x40, 0xc5, 0x3b, 0x32, + 0xbb, 0x6d, 0x54, 0x0a, 0x0b, 0x7d, 0x47, 0xc3, 0x3b, 0xb2, 0xbc, 0xae, 0xee, 0x49, 0x8e, 0x48, + 0xe4, 0x1b, 0x30, 0xbe, 0x66, 0x3f, 0x96, 0x3a, 0x61, 0xa1, 0xf8, 0xed, 0xb7, 0x03, 0x19, 0xb2, + 0x35, 0x2d, 0xfb, 0xb1, 0xd5, 0xe8, 0xc6, 0x03, 0x09, 0xe3, 0x36, 0xa4, 0xb2, 0x24, 0x5f, 0x03, + 0x50, 0x34, 0xd5, 0xe4, 0xd4, 0x0a, 0x5e, 0x92, 0x61, 0xef, 0x52, 0x35, 0xd8, 0xc8, 0x5f, 0x61, + 0x18, 0x93, 0x1c, 0xe6, 0x3e, 0x3d, 0xc9, 0xe1, 0xdc, 0xa7, 0x27, 0x39, 0x2c, 0xec, 0xc0, 0xc5, + 0x9e, 0x4b, 0x27, 0x25, 0x1a, 0xf1, 0x0d, 0x3d, 0x1a, 0xf1, 0xc5, 0x5e, 0x47, 0xac, 0xaf, 0xe7, + 0x1d, 0x99, 0x2d, 0xcc, 0xf5, 0x96, 0x4e, 0xbe, 0x9d, 0x8d, 0x1d, 0xb9, 0xe2, 0x62, 0xc1, 0x73, + 0x5e, 0xf5, 0x92, 0x49, 0xb2, 0x98, 0xe6, 0x98, 0x1f, 0xca, 0x4a, 0x98, 0x74, 0x76, 0x28, 0xab, + 0x87, 0x3a, 0x1e, 0xcf, 0x4f, 0x7a, 0xfa, 0xbe, 0x07, 0x53, 0x3c, 0x33, 0xe9, 0x7d, 0x7a, 0x74, + 0xe8, 0x7a, 0x0d, 0x99, 0xfe, 0x1f, 0x65, 0xf0, 0x44, 0x5a, 0xf1, 0x18, 0x2e, 0xa9, 0x48, 0xdf, + 0xd3, 0x61, 0xac, 0xfd, 0x62, 0xea, 0x2e, 0xc6, 0x10, 0xfa, 0xb9, 0xa5, 0x92, 0xb7, 0x43, 0x41, + 0x8d, 0x7a, 0x6a, 0xf6, 0x11, 0x4f, 0x02, 0x53, 0xe4, 0x35, 0xea, 0x19, 0xff, 0x3c, 0x07, 0x84, + 0xd7, 0x54, 0xb6, 0x3b, 0x36, 0x7a, 0x66, 0x3b, 0x18, 0x6b, 0xa9, 0x20, 0x70, 0xec, 0x9d, 0x26, + 0x55, 0x03, 0x95, 0x09, 0xe3, 0xda, 0xb0, 0xcc, 0x8a, 0x5f, 0x74, 0x12, 0x84, 0x3d, 0xb6, 0xba, + 0xec, 0x93, 0x6c, 0x75, 0xdf, 0x80, 0xe7, 0x4b, 0x1d, 0x4c, 0x71, 0x2c, 0x6b, 0xb9, 0xe3, 0x7a, + 0x72, 0x93, 0xd2, 0x7c, 0xfe, 0xec, 0x10, 0x2d, 0xf1, 0xa5, 0xfd, 0x58, 0x28, 0x72, 0x0a, 0x9b, + 0x97, 0x9d, 0x40, 0x8d, 0x21, 0x21, 0xe5, 0x94, 0x0e, 0x96, 0xa4, 0xc8, 0x29, 0x9c, 0x44, 0xf2, + 0x70, 0x3c, 0x29, 0xa7, 0x60, 0xee, 0xae, 0x88, 0x87, 0xe3, 0xd1, 0x1e, 0xb2, 0x4e, 0x48, 0x42, + 0xde, 0x83, 0xf1, 0x52, 0x37, 0x70, 0x05, 0x63, 0x61, 0x15, 0x1e, 0xd9, 0x6f, 0x8b, 0x4f, 0xd1, + 0xae, 0x3e, 0x11, 0xba, 0xf1, 0xc7, 0x39, 0xb8, 0x98, 0x1c, 0x5e, 0x51, 0x1a, 0xae, 0x8f, 0xcc, + 0x29, 0xeb, 0x23, 0x6d, 0x36, 0x64, 0xa3, 0xbc, 0x0b, 0x4f, 0x63, 0x36, 0xf0, 0x4c, 0xc9, 0x9f, + 0x70, 0x36, 0xd4, 0x60, 0x5c, 0x3d, 0xef, 0x86, 0x3e, 0xe9, 0x79, 0xa7, 0x72, 0x61, 0x97, 0x7a, + 0x1e, 0x3a, 0x63, 0x38, 0x7a, 0x3a, 0x8a, 0x47, 0xcd, 0xe0, 0x18, 0xe4, 0xdf, 0x82, 0xcb, 0x7c, + 0x4f, 0x8a, 0x37, 0x76, 0xe9, 0x48, 0x72, 0x14, 0x03, 0xb7, 0x78, 0x72, 0x5c, 0xbc, 0xce, 0x55, + 0x25, 0x56, 0xa2, 0xdb, 0xac, 0x9d, 0x23, 0x4b, 0x7e, 0x99, 0x52, 0xc9, 0xa9, 0xbc, 0x8d, 0x32, + 0x5c, 0x14, 0xa5, 0x91, 0xd3, 0xb6, 0x2c, 0x64, 0x83, 0x7c, 0x10, 0x69, 0xbb, 0x70, 0x90, 0x63, + 0x8a, 0x2c, 0x2c, 0xc7, 0x1c, 0xcb, 0x4a, 0xfe, 0xdb, 0xb7, 0xd2, 0x7c, 0x6e, 0x78, 0xd4, 0x6e, + 0x0e, 0xd6, 0xdd, 0x6d, 0xa4, 0x4e, 0x2d, 0x9b, 0xaa, 0x53, 0x93, 0x4a, 0x99, 0x5c, 0xaa, 0x52, + 0xa6, 0x02, 0xd3, 0xb5, 0xee, 0x8e, 0xac, 0x3b, 0xee, 0xaf, 0xe9, 0x77, 0x77, 0xd2, 0x7a, 0x25, + 0x4e, 0x62, 0xfc, 0x70, 0x16, 0x26, 0x36, 0x9a, 0xdd, 0x3d, 0xa7, 0x5d, 0xb1, 0x03, 0xfb, 0x99, + 0x55, 0xf3, 0xbd, 0xa3, 0xa9, 0xf9, 0x42, 0xd7, 0xb2, 0xb0, 0x61, 0x03, 0xe9, 0xf8, 0x7e, 0x2a, + 0x03, 0xd3, 0x11, 0x09, 0x3f, 0xac, 0x57, 0x60, 0x88, 0xfd, 0x10, 0x97, 0xdf, 0xcb, 0x09, 0xc6, + 0x3c, 0xe9, 0x62, 0xf8, 0x97, 0x50, 0xbc, 0xe9, 0x19, 0xcd, 0x90, 0xc3, 0xc2, 0xe7, 0x60, 0x2c, + 0x62, 0x7b, 0x96, 0x64, 0x8b, 0xbf, 0x9a, 0x81, 0x42, 0xbc, 0x25, 0xe4, 0x3e, 0x8c, 0x32, 0x4e, + 0x0e, 0x95, 0xf7, 0xf2, 0x57, 0x7a, 0xb4, 0xf9, 0xba, 0x40, 0xe3, 0x9f, 0x87, 0x9d, 0x4f, 0x39, + 0xc4, 0x94, 0x1c, 0x16, 0x4c, 0x98, 0x50, 0xb1, 0x52, 0xbe, 0xee, 0x4d, 0x5d, 0x42, 0x39, 0x9f, + 0xde, 0x0f, 0x5a, 0x8a, 0x48, 0xed, 0xab, 0x85, 0xf0, 0x71, 0x45, 0x9b, 0x5c, 0xa9, 0xab, 0x0a, + 0x27, 0xcd, 0x62, 0x94, 0x48, 0x40, 0x9d, 0x67, 0x29, 0x13, 0x3a, 0xc4, 0x23, 0x6f, 0xc2, 0x08, + 0xaf, 0x4f, 0x4d, 0x6f, 0xd6, 0x41, 0x88, 0x2a, 0x27, 0x73, 0x1c, 0xe3, 0xef, 0xe5, 0xe0, 0x7c, + 0xf4, 0x79, 0x5b, 0x9d, 0x86, 0x1d, 0xd0, 0x0d, 0xdb, 0xb3, 0x5b, 0xfe, 0x29, 0x2b, 0xe0, 0x6a, + 0xe2, 0xd3, 0x30, 0xb1, 0x94, 0xfc, 0x34, 0xe5, 0x83, 0x8c, 0xd8, 0x07, 0xa1, 0x0e, 0x94, 0x7f, + 0x90, 0xfc, 0x0c, 0x72, 0x1f, 0x72, 0x35, 0x1a, 0x88, 0xbd, 0xf7, 0x4a, 0xa2, 0x57, 0xd5, 0xef, + 0xba, 0x5e, 0xa3, 0x01, 0x1f, 0x44, 0x1e, 0x17, 0x4a, 0x0b, 0xce, 0xc7, 0xb8, 0x90, 0x6d, 0x18, + 0x59, 0x7e, 0xdc, 0xa1, 0xf5, 0x40, 0xa4, 0x0a, 0xbd, 0xd6, 0x9f, 0x1f, 0xc7, 0x55, 0x32, 0x85, + 0x52, 0x04, 0xa8, 0x9d, 0xc5, 0x51, 0x16, 0x6e, 0x43, 0x5e, 0x56, 0x7e, 0x96, 0x99, 0xbb, 0xf0, + 0x0e, 0x8c, 0x2b, 0x95, 0x9c, 0x69, 0xd2, 0xff, 0x3c, 0xdb, 0x57, 0xdd, 0xa6, 0xcc, 0x2e, 0xba, + 0x9c, 0x90, 0x15, 0x95, 0xdc, 0x4c, 0x5c, 0x56, 0xb4, 0x0e, 0x44, 0x51, 0x1f, 0xa1, 0xb1, 0x0a, + 0xd3, 0xb5, 0x03, 0xa7, 0x13, 0x05, 0x8a, 0xd5, 0x4e, 0x64, 0xcc, 0x21, 0x23, 0x2e, 0xee, 0xf1, + 0x13, 0x39, 0x4e, 0x67, 0xfc, 0x59, 0x06, 0x46, 0xd8, 0x5f, 0x0f, 0x6f, 0x3f, 0xa3, 0x5b, 0xe6, + 0x2d, 0x6d, 0xcb, 0x9c, 0x51, 0x62, 0xb5, 0xe3, 0xc6, 0x71, 0xfb, 0x94, 0xcd, 0xf2, 0x58, 0x0c, + 0x10, 0x47, 0x26, 0x77, 0x61, 0x54, 0x98, 0x14, 0x09, 0xdb, 0x6f, 0x35, 0xf8, 0xbb, 0x34, 0x36, + 0x0a, 0x6f, 0xf8, 0x6e, 0x27, 0xae, 0x12, 0x91, 0xd4, 0x4c, 0xae, 0x97, 0x21, 0x7b, 0xb5, 0x9c, + 0xd4, 0x2e, 0x3a, 0xeb, 0xf1, 0xd0, 0xe5, 0x4a, 0x16, 0xf9, 0x1e, 0xbe, 0xf5, 0x25, 0xf1, 0x1a, + 0x92, 0xeb, 0xc7, 0xe4, 0xbc, 0x4c, 0xd9, 0x9b, 0xfa, 0x50, 0xd2, 0x82, 0xf3, 0xb5, 0xda, 0x0a, + 0x9a, 0x1f, 0x6e, 0xb8, 0x5e, 0x70, 0xc7, 0xf5, 0x0e, 0x6d, 0xb4, 0x2d, 0x46, 0x0d, 0x9f, 0x62, + 0x83, 0x90, 0x66, 0x14, 0xf6, 0x5a, 0xaa, 0x51, 0x58, 0x1f, 0x3b, 0x05, 0xa3, 0x0d, 0x17, 0x6a, + 0xb5, 0x15, 0x1e, 0x38, 0xfc, 0xcf, 0xa3, 0xbe, 0x5f, 0xcd, 0xc0, 0x4c, 0xad, 0xb6, 0x12, 0xab, + 0x6a, 0x55, 0x46, 0x2c, 0xcf, 0x68, 0x0f, 0xa1, 0xe9, 0x1d, 0x81, 0xa3, 0x90, 0xe1, 0x12, 0x5e, + 0x5d, 0x0b, 0x4e, 0xc9, 0x99, 0x90, 0x8d, 0x30, 0x46, 0x7a, 0x56, 0xf3, 0x07, 0xe8, 0xd1, 0x50, + 0xd4, 0x70, 0x0b, 0x6f, 0x3a, 0x56, 0xaa, 0x6b, 0xb8, 0x19, 0xc4, 0xf8, 0xaf, 0xcf, 0xf3, 0x28, + 0xec, 0x72, 0xb6, 0xbc, 0x0f, 0x13, 0x82, 0x1e, 0x8d, 0xe6, 0x85, 0x4d, 0xc8, 0x45, 0xb6, 0x41, + 0xee, 0x72, 0x38, 0x8f, 0xce, 0xfb, 0x9d, 0xe3, 0xe2, 0x10, 0xeb, 0x1a, 0x53, 0x43, 0x27, 0x0f, + 0x60, 0x72, 0xcd, 0x7e, 0xac, 0xa8, 0x33, 0xb8, 0x4b, 0xd4, 0x35, 0xb6, 0xab, 0xb4, 0xec, 0xc7, + 0x03, 0x18, 0xdd, 0xe9, 0xf4, 0xe4, 0x00, 0xa6, 0xf4, 0x36, 0x89, 0x19, 0x98, 0x1c, 0xb1, 0x9b, + 0xa9, 0x23, 0x76, 0xb1, 0xe3, 0x7a, 0x81, 0xb5, 0x1b, 0x92, 0x6b, 0x19, 0x07, 0x62, 0xac, 0xc9, + 0xfb, 0x30, 0xa3, 0x84, 0x00, 0xbd, 0xe3, 0x7a, 0x2d, 0x5b, 0x5e, 0xb8, 0x50, 0xc7, 0x8f, 0xb6, + 0x44, 0xbb, 0x08, 0x36, 0x93, 0x98, 0xe4, 0x2b, 0x69, 0x6e, 0x66, 0xc3, 0x91, 0xe5, 0x61, 0x8a, + 0x9b, 0x59, 0x2f, 0xcb, 0xc3, 0xa4, 0xc3, 0xd9, 0x5e, 0x3f, 0xcb, 0xe4, 0x3c, 0x6f, 0xfd, 0x40, + 0x96, 0xc7, 0xe1, 0xc8, 0xf5, 0xb0, 0x40, 0x5e, 0x84, 0xdc, 0xd2, 0xc6, 0x1d, 0x7c, 0x99, 0x92, + 0x46, 0x54, 0xed, 0x7d, 0xbb, 0x5d, 0xc7, 0x8b, 0x90, 0xf0, 0x06, 0x50, 0x0f, 0xca, 0xa5, 0x8d, + 0x3b, 0xc4, 0x86, 0x59, 0xcc, 0x9c, 0x16, 0x7c, 0xf9, 0xe6, 0x4d, 0x65, 0xa8, 0xf2, 0xf8, 0x69, + 0x37, 0xc4, 0xa7, 0x15, 0x31, 0xef, 0x5a, 0x60, 0x3d, 0xbe, 0x79, 0x33, 0x75, 0x40, 0xc2, 0x0f, + 0x4b, 0xe3, 0xc5, 0x0e, 0xac, 0x35, 0xfb, 0x71, 0xe4, 0xc4, 0xe1, 0x0b, 0x87, 0xdd, 0x17, 0xe5, + 0xd4, 0x8a, 0x1c, 0x40, 0xb4, 0x03, 0x4b, 0x27, 0x62, 0xf7, 0xd8, 0x68, 0x82, 0xf9, 0xc2, 0xd5, + 0x69, 0x41, 0xaa, 0xeb, 0xa4, 0x57, 0xb7, 0x7a, 0x19, 0x53, 0xd0, 0xc9, 0x56, 0x78, 0x1b, 0xe7, + 0xb7, 0x59, 0x91, 0x27, 0xf8, 0x86, 0x7a, 0x1b, 0xe7, 0x4a, 0x32, 0xad, 0x59, 0xd3, 0xa1, 0x0a, + 0x87, 0x7b, 0xb5, 0x98, 0x3a, 0x97, 0xe4, 0x25, 0x7f, 0xe2, 0xec, 0x97, 0x7c, 0x0a, 0x43, 0xab, + 0x6e, 0xfd, 0x40, 0x04, 0xe7, 0xfb, 0x12, 0xdb, 0x85, 0x9b, 0x6e, 0xfd, 0xe0, 0xe9, 0x59, 0x5c, + 0x23, 0x7b, 0xb2, 0xce, 0x3e, 0x95, 0xcd, 0x02, 0xd1, 0x27, 0xc2, 0x8a, 0x77, 0x2e, 0xbc, 0xe5, + 0x2a, 0x65, 0x5c, 0x1e, 0xe5, 0x93, 0x46, 0x76, 0xad, 0xa9, 0x93, 0x13, 0x0a, 0x85, 0x0a, 0xf5, + 0x0f, 0x02, 0xb7, 0x53, 0x6e, 0x3a, 0x9d, 0x1d, 0xd7, 0xf6, 0x64, 0x28, 0xe7, 0x81, 0xf7, 0xe4, + 0x06, 0xa7, 0xb7, 0xea, 0x92, 0x81, 0x99, 0x60, 0x49, 0xbe, 0x02, 0x53, 0x6c, 0x72, 0x2f, 0x3f, + 0x0e, 0x68, 0x9b, 0x8f, 0xfc, 0x0c, 0x4a, 0x74, 0x73, 0x4a, 0xee, 0x92, 0xb0, 0x90, 0xcf, 0x29, + 0x5c, 0xec, 0x34, 0x24, 0xd0, 0x02, 0x1b, 0x6a, 0xac, 0x48, 0x03, 0xe6, 0xd7, 0xec, 0xc7, 0x4a, + 0x46, 0x62, 0x65, 0x92, 0x12, 0x9c, 0x60, 0x57, 0x4f, 0x8e, 0x8b, 0xaf, 0xb0, 0x09, 0x16, 0x45, + 0x17, 0xef, 0x31, 0x5f, 0x7b, 0x72, 0x22, 0xdf, 0x82, 0x0b, 0xa2, 0x59, 0x15, 0x4c, 0xe8, 0xe5, + 0x7a, 0x47, 0xb5, 0x7d, 0x1b, 0xfd, 0xb7, 0x66, 0x7b, 0x74, 0xd8, 0x8d, 0xf4, 0x2d, 0x51, 0x76, + 0x58, 0x43, 0xf2, 0xb1, 0x7c, 0xce, 0xc8, 0xec, 0x55, 0x03, 0xf9, 0x18, 0xa6, 0xf8, 0x73, 0xdc, + 0x8a, 0xeb, 0x07, 0xa8, 0xac, 0x99, 0x3b, 0x9b, 0x5b, 0x02, 0x7f, 0xe3, 0xe3, 0x8e, 0x3c, 0x31, + 0xe5, 0x4e, 0x8c, 0x33, 0x79, 0x17, 0xc6, 0x37, 0x9c, 0x36, 0x0f, 0x3d, 0x5a, 0xdd, 0x40, 0xb5, + 0xb2, 0x38, 0x81, 0x3a, 0x4e, 0xdb, 0x92, 0x1a, 0x93, 0x4e, 0xb8, 0x5d, 0xa8, 0xd8, 0x64, 0x1b, + 0xc6, 0x6b, 0xb5, 0x95, 0x3b, 0x0e, 0x93, 0x4b, 0x3a, 0x47, 0xf3, 0xe7, 0x7b, 0x7c, 0xe5, 0xcb, + 0xa9, 0x5f, 0x39, 0xe9, 0xfb, 0xfb, 0xd6, 0xae, 0xd3, 0xa4, 0x56, 0xdd, 0xed, 0x1c, 0x99, 0x2a, + 0xa7, 0x14, 0x53, 0xfd, 0x0b, 0x4f, 0xd9, 0x54, 0xbf, 0x0a, 0xd3, 0x8a, 0xf1, 0x2c, 0x1a, 0xce, + 0xce, 0x47, 0xf1, 0xaa, 0x54, 0xd3, 0xfc, 0xb8, 0x6b, 0x6a, 0x9c, 0x4e, 0xda, 0xe8, 0x5f, 0x3c, + 0xab, 0x8d, 0xbe, 0x03, 0x33, 0x7c, 0x30, 0xc4, 0x3c, 0xc0, 0x91, 0x5e, 0xe8, 0xd1, 0x87, 0xd7, + 0x52, 0xfb, 0x70, 0x56, 0x8c, 0xb4, 0x9c, 0x64, 0xf8, 0xfc, 0x9c, 0xe4, 0x4a, 0x76, 0x81, 0x08, + 0xa0, 0x1d, 0xd8, 0x3b, 0xb6, 0x4f, 0xb1, 0xae, 0xe7, 0x7b, 0xd4, 0xf5, 0x4a, 0x6a, 0x5d, 0x53, + 0xb2, 0xae, 0x1d, 0x5e, 0x4d, 0x0a, 0x47, 0xd2, 0x96, 0xf5, 0xc8, 0xf9, 0x85, 0x1d, 0xfb, 0x82, + 0xa6, 0xe3, 0x4e, 0x22, 0xf0, 0xd0, 0x4f, 0xf1, 0x49, 0x1b, 0xef, 0xf7, 0x14, 0xce, 0xe4, 0x31, + 0x9c, 0x4f, 0x7e, 0x05, 0xd6, 0xf9, 0x22, 0xd6, 0xf9, 0xa2, 0x56, 0x67, 0x1c, 0x89, 0xcf, 0x1b, + 0xbd, 0x59, 0xf1, 0x5a, 0x7b, 0xf0, 0x27, 0x3f, 0x90, 0x81, 0x0b, 0x6b, 0x77, 0x4a, 0x98, 0x9f, + 0xd3, 0xe1, 0x91, 0xe8, 0x42, 0x97, 0xde, 0x4b, 0xe2, 0x1d, 0x24, 0xfe, 0x36, 0x23, 0x25, 0x0e, + 0xdc, 0x2a, 0x98, 0xe8, 0xfe, 0x72, 0x6b, 0xd7, 0xe6, 0x69, 0x3f, 0x05, 0x8b, 0x14, 0xbf, 0xdf, + 0x9f, 0xfd, 0xc3, 0x62, 0xc6, 0xec, 0x55, 0x15, 0x69, 0xc2, 0x82, 0xde, 0x2d, 0xd2, 0x8b, 0x62, + 0x9f, 0x36, 0x9b, 0xf3, 0x45, 0x9c, 0xd1, 0x6f, 0x9e, 0x1c, 0x17, 0xaf, 0x26, 0x7a, 0x37, 0xf4, + 0xcc, 0x60, 0x98, 0x4a, 0x83, 0xfb, 0xf0, 0x23, 0xad, 0x14, 0xa1, 0x7b, 0xfe, 0xb2, 0x16, 0xfb, + 0x27, 0x51, 0xbe, 0xf4, 0xaa, 0x90, 0x48, 0x5e, 0x64, 0xeb, 0xbd, 0xa7, 0x80, 0x68, 0x26, 0x39, + 0xdf, 0x1b, 0xca, 0x4f, 0x16, 0xa6, 0x52, 0x5c, 0x16, 0x8c, 0xdf, 0xcc, 0xc6, 0x0e, 0x46, 0x52, + 0x85, 0x51, 0x31, 0xdf, 0x7b, 0x5e, 0x32, 0x5e, 0x4c, 0x9d, 0xd5, 0xa3, 0x62, 0xe9, 0x98, 0x92, + 0x9e, 0x1c, 0x32, 0x56, 0xd8, 0x68, 0x71, 0xe3, 0xfd, 0x1a, 0x3f, 0xf7, 0x10, 0xa4, 0x9d, 0xf0, + 0x95, 0xb3, 0x3b, 0xe2, 0xe9, 0x7e, 0x9e, 0x78, 0xd4, 0xcb, 0xda, 0xc8, 0x01, 0x4f, 0x25, 0x95, + 0x0b, 0xbd, 0xb9, 0xf4, 0xbc, 0x51, 0x4f, 0xad, 0x42, 0x56, 0x8b, 0xf1, 0x1b, 0x19, 0x98, 0xd4, + 0x4e, 0x56, 0x72, 0x5b, 0x71, 0x55, 0x8c, 0xbc, 0xf7, 0x35, 0x1c, 0xdc, 0x6c, 0xe3, 0x4e, 0x8c, + 0xb7, 0x85, 0xdf, 0x41, 0xb6, 0x37, 0x1d, 0x2e, 0xb6, 0xb8, 0xe7, 0x6a, 0x7f, 0xfd, 0x70, 0x98, + 0xa0, 0x72, 0xa8, 0x47, 0x82, 0xca, 0x5f, 0x7c, 0x11, 0xa6, 0xf4, 0x1b, 0x31, 0x79, 0x13, 0x46, + 0x50, 0x37, 0x2f, 0xd5, 0x2b, 0xa8, 0x16, 0x42, 0xf5, 0xbd, 0xe6, 0x8c, 0xc2, 0x71, 0xc8, 0xab, + 0x00, 0xa1, 0x01, 0xb8, 0x7c, 0x99, 0x1a, 0x3e, 0x39, 0x2e, 0x66, 0xde, 0x32, 0x95, 0x02, 0xf2, + 0x75, 0x80, 0x75, 0xb7, 0x41, 0xc3, 0x74, 0xc1, 0x7d, 0xac, 0x2f, 0x5e, 0x4b, 0xa4, 0x59, 0x39, + 0xd7, 0x76, 0x1b, 0x34, 0x99, 0x53, 0x45, 0xe1, 0x48, 0xbe, 0x00, 0xc3, 0x66, 0xb7, 0x49, 0xe5, + 0x0b, 0xc6, 0xb8, 0x3c, 0xe1, 0xba, 0x4d, 0x1a, 0xe9, 0x09, 0xbc, 0x6e, 0xdc, 0xb0, 0x90, 0x01, + 0xc8, 0x87, 0x3c, 0xfd, 0x8a, 0x88, 0x11, 0x3a, 0x1c, 0xbd, 0xd5, 0x29, 0x92, 0x4f, 0x22, 0x4a, + 0xa8, 0x42, 0x42, 0x1e, 0xc0, 0xa8, 0xfa, 0xc8, 0xa4, 0xf8, 0xbc, 0xab, 0x0f, 0x91, 0x8a, 0xd2, + 0x41, 0xe4, 0x19, 0x8e, 0xbf, 0x3f, 0x49, 0x2e, 0xe4, 0x3d, 0x18, 0x63, 0xec, 0xd9, 0xce, 0xe1, + 0x8b, 0x5b, 0x0d, 0xbe, 0xc8, 0x29, 0x1f, 0xc4, 0x76, 0x1f, 0x2d, 0x92, 0x67, 0x48, 0x40, 0xbe, + 0x82, 0x09, 0x66, 0x45, 0x57, 0xf7, 0xb5, 0xca, 0xb9, 0x92, 0xe8, 0x6a, 0xcc, 0x38, 0x9b, 0xe8, + 0xe9, 0x88, 0x1f, 0xd9, 0x0b, 0x43, 0xae, 0x0d, 0x92, 0x32, 0xe7, 0xf5, 0x44, 0x05, 0xf3, 0x32, + 0x8a, 0x58, 0x32, 0xed, 0xb3, 0xc6, 0x97, 0x74, 0xa0, 0x10, 0x09, 0x95, 0xa2, 0x2e, 0xe8, 0x57, + 0xd7, 0x5b, 0x89, 0xba, 0xd4, 0x01, 0x4c, 0x54, 0x97, 0xe0, 0x4e, 0x1a, 0x30, 0x25, 0x0f, 0x28, + 0x51, 0xdf, 0x78, 0xbf, 0xfa, 0x5e, 0x4d, 0xd4, 0x37, 0xdb, 0xd8, 0x49, 0xd6, 0x13, 0xe3, 0x49, + 0xde, 0x83, 0x49, 0x09, 0xe1, 0x49, 0x98, 0x27, 0xa2, 0x64, 0xb8, 0x8d, 0x9d, 0x44, 0xea, 0x65, + 0x1d, 0x59, 0xa5, 0xe6, 0xb3, 0x63, 0x52, 0xa3, 0x8e, 0xcf, 0x0a, 0x1d, 0x99, 0x7c, 0x04, 0xe3, + 0xd5, 0x16, 0x6b, 0x88, 0xdb, 0xb6, 0x03, 0x2a, 0xfc, 0x21, 0xa5, 0x85, 0x91, 0x52, 0xa2, 0x4c, + 0x55, 0x9e, 0x5e, 0x3a, 0x2a, 0xd2, 0xd2, 0x4b, 0x47, 0x60, 0xd6, 0x79, 0xfc, 0x55, 0x51, 0xcc, + 0x61, 0xe9, 0x2b, 0xf9, 0x62, 0x8a, 0x95, 0x8f, 0xc2, 0x5e, 0xc4, 0x83, 0x64, 0x50, 0xf9, 0xaa, + 0x17, 0x8b, 0xc5, 0xab, 0xf2, 0x24, 0xef, 0xc3, 0xb8, 0xc8, 0x26, 0x56, 0x32, 0xd7, 0xfd, 0xf9, + 0x02, 0x36, 0x1e, 0x23, 0x3c, 0xc8, 0xc4, 0x63, 0x96, 0xed, 0xc5, 0xcc, 0x59, 0x23, 0x7c, 0xf2, + 0x65, 0x98, 0xdb, 0x76, 0xda, 0x0d, 0xf7, 0xd0, 0x17, 0xc7, 0x94, 0xd8, 0xe8, 0x66, 0x22, 0x67, + 0xb2, 0x43, 0x5e, 0x1e, 0xca, 0x82, 0x89, 0x8d, 0x2f, 0x95, 0x03, 0xf9, 0xab, 0x09, 0xce, 0x7c, + 0x06, 0x91, 0x7e, 0x33, 0x68, 0x31, 0x31, 0x83, 0x92, 0xd5, 0xc7, 0xa7, 0x53, 0x6a, 0x35, 0xc4, + 0x05, 0xa2, 0x9f, 0xef, 0xf7, 0x5c, 0xa7, 0x3d, 0x3f, 0x8b, 0x7b, 0xe1, 0xf3, 0xf1, 0x98, 0x0a, + 0x88, 0x27, 0xd2, 0x74, 0x1b, 0x27, 0xc7, 0xc5, 0x4b, 0x71, 0x99, 0xff, 0x63, 0x57, 0x7b, 0x2e, + 0x49, 0x61, 0x4d, 0x3e, 0x82, 0x09, 0xf6, 0x7f, 0xa8, 0x94, 0x98, 0xd3, 0xec, 0x42, 0x15, 0x4c, + 0x51, 0x0f, 0x8e, 0x11, 0xa6, 0x3b, 0x4b, 0xd1, 0x57, 0x68, 0xac, 0xc8, 0x3b, 0x00, 0x4c, 0x6c, + 0x12, 0xdb, 0xf1, 0xb9, 0x28, 0xf4, 0x31, 0x4a, 0x5d, 0xc9, 0x8d, 0x38, 0x42, 0x26, 0xef, 0xc1, + 0x38, 0xfb, 0x55, 0xeb, 0x36, 0x5c, 0xb6, 0x36, 0xce, 0x23, 0x2d, 0x77, 0x4d, 0x65, 0xb4, 0x3e, + 0x87, 0x6b, 0xae, 0xa9, 0x11, 0x3a, 0x59, 0x81, 0x69, 0x0c, 0x51, 0x2d, 0x82, 0xa3, 0x3a, 0xd4, + 0x9f, 0xbf, 0xa0, 0x58, 0x43, 0xb0, 0x22, 0xcb, 0x09, 0xcb, 0xd4, 0xbb, 0x4c, 0x8c, 0x8c, 0xf8, + 0x30, 0x9b, 0x7c, 0x4e, 0xf6, 0xe7, 0xe7, 0xb1, 0x93, 0xa4, 0x04, 0x9f, 0xc4, 0xe0, 0xfb, 0x31, + 0x1b, 0x11, 0x65, 0xe3, 0x92, 0x8f, 0x4a, 0x6a, 0x85, 0x69, 0xdc, 0x89, 0x09, 0xe4, 0x6e, 0x79, + 0x23, 0x1e, 0xc3, 0xf9, 0x22, 0xb6, 0x00, 0x87, 0x79, 0xaf, 0x1e, 0xa5, 0xf7, 0x4e, 0x89, 0xe3, + 0x9c, 0x42, 0x4d, 0xbe, 0x17, 0xce, 0xc9, 0x1d, 0x44, 0x14, 0x89, 0x79, 0xbd, 0x70, 0xc6, 0x9d, + 0xb8, 0xb1, 0x13, 0x56, 0x9d, 0x98, 0xd2, 0xe9, 0x55, 0x10, 0x1b, 0xc6, 0x71, 0x58, 0x45, 0x8d, + 0xcf, 0xf7, 0xab, 0xf1, 0x6a, 0xa2, 0xc6, 0xf3, 0x38, 0x51, 0x92, 0x95, 0xa9, 0x3c, 0xc9, 0x12, + 0x4c, 0x8a, 0x75, 0x24, 0x66, 0xdb, 0x0b, 0xd8, 0x5b, 0xa8, 0xc4, 0x92, 0x2b, 0x30, 0x31, 0xe1, + 0x74, 0x12, 0x75, 0x47, 0xe6, 0x8f, 0x49, 0x2f, 0x6a, 0x3b, 0x72, 0xfc, 0x0d, 0x49, 0x47, 0x66, + 0x3b, 0x52, 0x24, 0xc5, 0x2c, 0x3f, 0xee, 0x78, 0x42, 0x45, 0x75, 0x29, 0xca, 0x8a, 0xa4, 0x08, + 0x3f, 0x16, 0x0d, 0x31, 0xd4, 0x2d, 0x21, 0x8d, 0x03, 0xd9, 0x82, 0xd9, 0xf0, 0xd4, 0x56, 0x18, + 0x17, 0xa3, 0x28, 0xc1, 0xd1, 0x51, 0x9f, 0xce, 0x37, 0x8d, 0x9e, 0xd8, 0x70, 0x41, 0x3b, 0xa7, + 0x15, 0xd6, 0x97, 0x91, 0x35, 0xa6, 0x93, 0xd7, 0x0f, 0xf9, 0x74, 0xf6, 0xbd, 0xf8, 0x90, 0x8f, + 0x61, 0x21, 0x7e, 0x36, 0x2b, 0xb5, 0xbc, 0x84, 0xb5, 0xbc, 0x7e, 0x72, 0x5c, 0xbc, 0x92, 0x38, + 0xde, 0xd3, 0x2b, 0xea, 0xc3, 0x8d, 0x7c, 0x1d, 0xe6, 0xf5, 0xf3, 0x59, 0xa9, 0xc9, 0xc0, 0x9a, + 0x70, 0xe9, 0x84, 0x07, 0x7b, 0x7a, 0x0d, 0x3d, 0x79, 0x90, 0x00, 0x8a, 0xa9, 0xb3, 0x5b, 0xa9, + 0xe6, 0xe5, 0xa8, 0x41, 0x89, 0x55, 0x92, 0x5e, 0xdd, 0x69, 0x2c, 0xc9, 0x21, 0x5c, 0x4a, 0x3b, + 0x26, 0x94, 0x4a, 0x5f, 0x09, 0x95, 0xc0, 0x6f, 0xa4, 0x1f, 0x39, 0xe9, 0x35, 0x9f, 0xc2, 0x96, + 0x7c, 0x05, 0xce, 0x29, 0xeb, 0x4b, 0xa9, 0xef, 0x55, 0xac, 0x0f, 0x5d, 0xc1, 0xd5, 0x85, 0x99, + 0x5e, 0x4b, 0x3a, 0x0f, 0xd2, 0x82, 0x59, 0xd9, 0x70, 0xd4, 0xb6, 0x8b, 0xa3, 0xe7, 0x8a, 0xb6, + 0xab, 0x26, 0x31, 0x96, 0x2e, 0x8b, 0x5d, 0x75, 0xbe, 0xb1, 0x63, 0x75, 0x22, 0x42, 0x75, 0xa6, + 0xa7, 0xf0, 0x25, 0x2b, 0x30, 0x52, 0xdb, 0xa8, 0xde, 0xb9, 0xb3, 0x3c, 0xff, 0x1a, 0xd6, 0x20, + 0xfd, 0xc6, 0x38, 0x50, 0xbb, 0x34, 0x09, 0x73, 0xc5, 0x8e, 0xb3, 0xbb, 0xab, 0x3d, 0x58, 0x71, + 0x54, 0xf2, 0x57, 0xd1, 0x50, 0x90, 0xed, 0xa8, 0x25, 0xdf, 0x77, 0xf6, 0x30, 0xea, 0xb4, 0x3f, + 0xff, 0xba, 0xf6, 0xde, 0x2f, 0x23, 0x72, 0x97, 0x31, 0x61, 0x59, 0x02, 0x9d, 0x4b, 0x9b, 0xec, + 0xfe, 0x2f, 0x76, 0x6e, 0xcb, 0x8e, 0x58, 0xa9, 0x9b, 0x78, 0xb2, 0x22, 0xd6, 0x6f, 0x7b, 0x4e, + 0x60, 0xed, 0x77, 0xb5, 0xe6, 0xcf, 0xbf, 0xa1, 0x45, 0x60, 0xe6, 0x69, 0xdc, 0x94, 0x5e, 0x7b, + 0x45, 0x54, 0xf8, 0x02, 0xbf, 0x2d, 0xf7, 0xe8, 0xb9, 0x99, 0xbd, 0x18, 0x9d, 0x7f, 0x6f, 0x28, + 0x7f, 0xb5, 0x70, 0xed, 0xde, 0x50, 0xfe, 0x5a, 0xe1, 0x75, 0xf3, 0x85, 0x5a, 0x69, 0x6d, 0xb5, + 0xda, 0x90, 0xe7, 0x8a, 0x0c, 0x37, 0xce, 0x87, 0xd6, 0xbc, 0xd2, 0xaf, 0x34, 0x1a, 0x78, 0xe3, + 0xef, 0x64, 0xa0, 0x78, 0x4a, 0xff, 0xb0, 0xad, 0x3c, 0xfa, 0x88, 0x1a, 0x0d, 0xd4, 0xa0, 0xe5, + 0xd1, 0xa7, 0x5b, 0xba, 0xc5, 0x84, 0x4e, 0x82, 0xfe, 0x76, 0x22, 0x53, 0x86, 0xe2, 0x76, 0x99, + 0xcc, 0x90, 0x21, 0xb1, 0x8c, 0x55, 0x28, 0xc4, 0xfb, 0x8d, 0x7c, 0x1e, 0x26, 0xd5, 0x38, 0xfd, + 0xf2, 0x16, 0xcd, 0x63, 0x6c, 0x78, 0x7b, 0xda, 0x59, 0xa0, 0x21, 0x1a, 0x3f, 0x9f, 0x81, 0xd9, + 0x94, 0xc9, 0x45, 0xae, 0xc0, 0x10, 0x26, 0xd2, 0x52, 0x0c, 0x66, 0x62, 0x09, 0xb4, 0xb0, 0x9c, + 0x7c, 0x06, 0x46, 0x2b, 0xeb, 0xb5, 0x5a, 0x69, 0x5d, 0xde, 0xc3, 0xf9, 0x19, 0xd4, 0xf6, 0x2d, + 0xdf, 0xd6, 0xdf, 0xd9, 0x05, 0x1a, 0x79, 0x0b, 0x46, 0xaa, 0x1b, 0x48, 0xc0, 0xcd, 0x3e, 0xb1, + 0xbd, 0x4e, 0x27, 0x8e, 0x2f, 0x90, 0x8c, 0x1f, 0xcd, 0x00, 0x49, 0xae, 0x14, 0x72, 0x13, 0xc6, + 0xd5, 0xf5, 0xc8, 0xdb, 0x8b, 0x8f, 0x8f, 0xca, 0x9c, 0x31, 0x55, 0x1c, 0x52, 0x81, 0x61, 0x4c, + 0x81, 0x1a, 0x3e, 0xf0, 0xa7, 0x9e, 0xea, 0x17, 0x12, 0xa7, 0xfa, 0x30, 0x26, 0x58, 0x35, 0x39, + 0xb1, 0xf1, 0x3b, 0x19, 0x20, 0xe9, 0x66, 0x7b, 0x03, 0x19, 0x18, 0xbd, 0xad, 0xb8, 0xed, 0xab, + 0xa9, 0x72, 0xc2, 0x3c, 0x67, 0xea, 0x0d, 0x38, 0x72, 0xf0, 0xbf, 0xa2, 0x69, 0x5c, 0x7a, 0xfb, + 0x7a, 0x5e, 0x83, 0xe1, 0x87, 0xd4, 0xdb, 0x91, 0x16, 0xcd, 0x68, 0x05, 0xf9, 0x88, 0x01, 0x54, + 0x0d, 0x04, 0x62, 0x18, 0x7f, 0x9c, 0x81, 0xb9, 0x34, 0xf1, 0xfc, 0x14, 0x97, 0x4c, 0x23, 0xe6, + 0x4d, 0x8a, 0xc6, 0x45, 0xdc, 0x44, 0x32, 0xf4, 0x21, 0x2d, 0xc2, 0x30, 0x6b, 0xac, 0x1c, 0x61, + 0xd4, 0x00, 0xb1, 0xde, 0xf0, 0x4d, 0x0e, 0x67, 0x08, 0x3c, 0x3c, 0xdd, 0x10, 0x46, 0x36, 0x44, + 0x04, 0x9c, 0xdd, 0x26, 0x87, 0x33, 0x84, 0x35, 0xb7, 0x11, 0x66, 0xff, 0x47, 0x84, 0x16, 0x03, + 0x98, 0x1c, 0x4e, 0xae, 0xc0, 0xe8, 0x83, 0xf6, 0x2a, 0xb5, 0x1f, 0xc9, 0x74, 0x0d, 0x68, 0x0c, + 0xe5, 0xb6, 0xad, 0x26, 0x83, 0x99, 0xb2, 0xd0, 0xf8, 0xa9, 0x0c, 0xcc, 0x24, 0x6e, 0x06, 0xa7, + 0x7b, 0x9d, 0xf6, 0x77, 0xff, 0x1a, 0xa4, 0x7d, 0xfc, 0xf3, 0x87, 0xd2, 0x3f, 0xdf, 0xf8, 0x6f, + 0x47, 0xe0, 0x42, 0x0f, 0x45, 0x4d, 0xe4, 0x9e, 0x9a, 0x39, 0xd5, 0x3d, 0xf5, 0xab, 0x30, 0x59, + 0x6e, 0xda, 0x4e, 0xcb, 0xdf, 0x74, 0xa3, 0x2f, 0x8e, 0xbc, 0x5c, 0xb0, 0x4c, 0xb8, 0x00, 0x84, + 0xee, 0x10, 0x17, 0xeb, 0x48, 0x61, 0x05, 0x6e, 0x52, 0x4e, 0xd4, 0x98, 0x25, 0x1c, 0x44, 0x73, + 0x7f, 0x41, 0x1c, 0x44, 0x75, 0x97, 0xa5, 0xa1, 0xa7, 0xea, 0xb2, 0x94, 0x6e, 0xee, 0x3c, 0xfc, + 0x24, 0xc6, 0xef, 0x65, 0x98, 0xe4, 0xd6, 0x60, 0x25, 0x9f, 0x0f, 0xd2, 0x48, 0xc2, 0x82, 0xcc, + 0xf6, 0x93, 0x63, 0xa1, 0xd1, 0x90, 0x15, 0xdd, 0xbd, 0x66, 0x14, 0x9f, 0x4b, 0xaf, 0xf4, 0x76, + 0x9f, 0xd1, 0xcc, 0x24, 0x34, 0x37, 0x9a, 0x6f, 0xc1, 0x5c, 0xda, 0x4d, 0x6f, 0x3e, 0xaf, 0x19, + 0x9a, 0xf6, 0x34, 0x50, 0x1e, 0xfc, 0xbe, 0x78, 0x90, 0x7a, 0x5f, 0x94, 0x6e, 0xcf, 0x63, 0x5a, + 0x34, 0xe3, 0x1e, 0x6b, 0x81, 0xe3, 0xf6, 0x77, 0x8e, 0x36, 0xbe, 0x0a, 0x2f, 0xf6, 0x25, 0x27, + 0xef, 0x6a, 0xe1, 0x75, 0x5e, 0x4b, 0x86, 0xd7, 0xf9, 0xce, 0x71, 0x71, 0x46, 0x73, 0x59, 0x5c, + 0x0b, 0x75, 0xdd, 0xc6, 0x4f, 0x65, 0x75, 0x67, 0xdb, 0xbf, 0x88, 0x0b, 0xf5, 0x1a, 0x0c, 0x6f, + 0xef, 0x53, 0x4f, 0x1e, 0x0f, 0xf8, 0x21, 0x87, 0x0c, 0xa0, 0x7e, 0x08, 0x62, 0x90, 0x3b, 0x30, + 0xb5, 0xc1, 0x27, 0xae, 0x9c, 0x8d, 0x43, 0x91, 0xba, 0xa1, 0x23, 0x94, 0x62, 0x29, 0xd3, 0x31, + 0x46, 0x65, 0xdc, 0x8d, 0x75, 0xba, 0x08, 0x0e, 0xc4, 0x9d, 0x82, 0xb8, 0x00, 0x31, 0x15, 0xb9, + 0x41, 0x45, 0x9b, 0xad, 0x19, 0x83, 0x1a, 0xbb, 0x70, 0xa9, 0x2f, 0x23, 0x76, 0x6e, 0x43, 0x27, + 0xfc, 0x15, 0x33, 0x3a, 0xee, 0x4b, 0x6a, 0x2a, 0x74, 0xc6, 0xb7, 0x60, 0x42, 0xed, 0x65, 0x3c, + 0x82, 0xd8, 0x6f, 0x31, 0x2b, 0xf8, 0x11, 0xc4, 0x00, 0x26, 0x87, 0x47, 0xcf, 0x18, 0xd9, 0xf4, + 0x67, 0x8c, 0x68, 0xf8, 0x73, 0xa7, 0x0d, 0x3f, 0xab, 0x1c, 0x77, 0x38, 0xa5, 0x72, 0xfc, 0xad, + 0x56, 0x8e, 0xd1, 0x7f, 0x4c, 0x0e, 0x7f, 0xaa, 0x95, 0xff, 0xb6, 0xcc, 0xef, 0x85, 0x3e, 0x47, + 0x72, 0xb9, 0x67, 0xa2, 0x24, 0x5d, 0x69, 0xab, 0x37, 0xc2, 0x8c, 0x64, 0x8a, 0xec, 0x69, 0x32, + 0xc5, 0x59, 0x26, 0x22, 0xca, 0xbd, 0x7c, 0x48, 0x87, 0x22, 0x39, 0xd0, 0x4e, 0x18, 0x7a, 0x48, + 0x2c, 0xe3, 0x67, 0x33, 0x70, 0x2e, 0x55, 0x5d, 0xcc, 0x6a, 0xe5, 0x7a, 0x69, 0x65, 0x1d, 0xc6, + 0x95, 0xd2, 0x1c, 0xe3, 0x2c, 0xa1, 0x1f, 0x06, 0x6f, 0x8b, 0xf1, 0x12, 0x8c, 0x85, 0x8f, 0x95, + 0x64, 0x4e, 0x0e, 0x1d, 0x9a, 0x04, 0xca, 0x37, 0xaf, 0x1a, 0x00, 0xfb, 0x82, 0xa7, 0x6a, 0x55, + 0x6c, 0xfc, 0x76, 0x96, 0xe7, 0x7e, 0x7d, 0x66, 0xa3, 0xb8, 0xa6, 0x9b, 0x02, 0xb3, 0x26, 0xf5, + 0x8e, 0xdd, 0x4a, 0x96, 0x61, 0xa4, 0x16, 0xd8, 0x41, 0x57, 0x46, 0xac, 0x98, 0x55, 0xc9, 0xb0, + 0xe0, 0xe1, 0x62, 0x14, 0xb3, 0xc0, 0x47, 0x88, 0x76, 0x41, 0x46, 0x88, 0x62, 0x51, 0xfc, 0xfb, + 0x19, 0x98, 0x50, 0x89, 0xc9, 0x47, 0x30, 0x25, 0x63, 0x53, 0xf2, 0x38, 0x1e, 0xe2, 0x65, 0x55, + 0x5a, 0x41, 0xc9, 0xd8, 0x94, 0x6a, 0xdc, 0x0f, 0x0d, 0x5f, 0xdd, 0xaa, 0x3b, 0x2a, 0x32, 0x69, + 0x00, 0x69, 0xed, 0xda, 0xd6, 0x21, 0xb5, 0x0f, 0xa8, 0x1f, 0x58, 0xdc, 0x5a, 0x45, 0x3c, 0xc0, + 0x4a, 0xf6, 0x6b, 0x77, 0x4a, 0xdc, 0x50, 0x85, 0x8d, 0x84, 0x08, 0x32, 0x9a, 0xa0, 0x51, 0x5f, + 0x95, 0x5a, 0xbb, 0xf6, 0x36, 0x2f, 0xe4, 0x74, 0xc6, 0x9f, 0x8c, 0xf0, 0xe9, 0x26, 0x42, 0xd9, + 0xee, 0xc0, 0xd4, 0x83, 0x6a, 0xa5, 0xac, 0xe8, 0x98, 0xf5, 0x4c, 0x48, 0xcb, 0x8f, 0x03, 0xea, + 0xb5, 0xed, 0xa6, 0xbc, 0xef, 0x46, 0x47, 0x90, 0xeb, 0x34, 0xea, 0xe9, 0xfa, 0xe7, 0x18, 0x47, + 0x56, 0x07, 0xbf, 0x59, 0x87, 0x75, 0x64, 0x07, 0xac, 0xc3, 0xb7, 0x5b, 0xcd, 0x1e, 0x75, 0xe8, + 0x1c, 0xc9, 0x3e, 0x5e, 0x7d, 0xf7, 0xbb, 0x3b, 0x4a, 0x2d, 0xb9, 0xfe, 0xb5, 0xbc, 0x2c, 0x6a, + 0x79, 0x5e, 0x68, 0x14, 0x52, 0xeb, 0x49, 0x70, 0x8d, 0xf6, 0x89, 0xa1, 0x53, 0xf7, 0x89, 0xbf, + 0x99, 0x81, 0x11, 0x2e, 0xbe, 0x8a, 0x69, 0xdc, 0x43, 0x40, 0xde, 0x7e, 0x3a, 0x02, 0x72, 0x01, + 0xcf, 0x09, 0x6d, 0x42, 0xf3, 0x32, 0x52, 0x89, 0xad, 0x0b, 0x69, 0x08, 0x8f, 0xaf, 0x45, 0xbc, + 0xe4, 0xf4, 0x65, 0x41, 0xaa, 0x51, 0x14, 0x89, 0xd1, 0x53, 0x1d, 0x95, 0x65, 0xe4, 0x8d, 0x51, + 0x11, 0x45, 0x42, 0x8f, 0x1d, 0xb1, 0x0a, 0x63, 0x22, 0x36, 0xc5, 0xd2, 0x91, 0x78, 0x13, 0x2e, + 0x68, 0x56, 0x3d, 0x8d, 0xa5, 0xa3, 0x48, 0x34, 0x17, 0xd1, 0x2d, 0xac, 0x9d, 0x23, 0x2d, 0x95, + 0xae, 0x44, 0x24, 0x0f, 0x78, 0x8a, 0x49, 0x1e, 0xec, 0x57, 0x8f, 0xee, 0x1f, 0xc2, 0x45, 0xd4, + 0x2b, 0xe9, 0xe0, 0x9e, 0x12, 0xdb, 0x37, 0xe2, 0x41, 0x56, 0xa1, 0x80, 0x96, 0x60, 0xb4, 0xc1, + 0x57, 0x4d, 0xb5, 0xc2, 0xe3, 0x1f, 0x08, 0x6b, 0xde, 0x80, 0x97, 0x89, 0xe5, 0x16, 0x73, 0x3d, + 0x4c, 0x50, 0xb2, 0xeb, 0x74, 0x21, 0x3e, 0xfb, 0xc8, 0x7b, 0x30, 0x1e, 0x06, 0x5b, 0x0e, 0x9d, + 0x9f, 0xf1, 0x6d, 0x28, 0x8a, 0xce, 0xac, 0x27, 0x26, 0x54, 0xd0, 0xc9, 0x22, 0xe4, 0xd9, 0x22, + 0x8e, 0x27, 0xf1, 0xed, 0x0a, 0x98, 0xea, 0x8c, 0x24, 0xf1, 0x48, 0x0d, 0x66, 0xd9, 0xa2, 0xa9, + 0x39, 0xed, 0xbd, 0x26, 0x5d, 0x75, 0xf7, 0xdc, 0x6e, 0x10, 0xe5, 0xe9, 0xe3, 0x17, 0x18, 0xbb, + 0xd5, 0xd4, 0x8a, 0xf5, 0x2c, 0x7d, 0x29, 0xd4, 0xca, 0x56, 0xf9, 0x87, 0x59, 0x18, 0x57, 0xe6, + 0x13, 0xb9, 0x06, 0xf9, 0xaa, 0xbf, 0xea, 0xd6, 0x0f, 0xc2, 0xb0, 0x88, 0x93, 0x27, 0xc7, 0xc5, + 0x31, 0xc7, 0xb7, 0x9a, 0x08, 0x34, 0xc3, 0x62, 0xb2, 0x04, 0x93, 0xfc, 0x2f, 0x99, 0x04, 0x23, + 0x1b, 0x29, 0xcb, 0x38, 0xb2, 0x4c, 0x7f, 0xa1, 0xee, 0x9e, 0x1a, 0x09, 0xf9, 0x1a, 0x00, 0x07, + 0xa0, 0x23, 0x7d, 0x6e, 0xf0, 0x10, 0x00, 0xa2, 0x82, 0x14, 0x17, 0x7a, 0x85, 0x21, 0xf9, 0x06, + 0x0f, 0xce, 0x2c, 0xe7, 0xff, 0xd0, 0xe0, 0x31, 0x0c, 0x18, 0x7f, 0x2b, 0x3d, 0x94, 0x8a, 0xca, + 0x52, 0xe4, 0xad, 0x59, 0x30, 0x69, 0xdd, 0x7d, 0x44, 0xbd, 0xa3, 0x52, 0x80, 0x88, 0x0a, 0x86, + 0xf1, 0xbf, 0x66, 0x94, 0x55, 0x43, 0xd6, 0x31, 0xef, 0x34, 0x9f, 0x11, 0xc2, 0x3c, 0x2a, 0xbc, + 0x33, 0x48, 0xb8, 0x49, 0x77, 0x97, 0x9e, 0x17, 0x96, 0x5a, 0xb3, 0xe1, 0xbc, 0x8a, 0xe5, 0xa3, + 0xe6, 0x40, 0xf2, 0x45, 0x18, 0xc2, 0xae, 0xcb, 0x9e, 0xda, 0x34, 0x79, 0x6c, 0x0f, 0xb1, 0x3e, + 0xc3, 0x86, 0x20, 0x25, 0xf9, 0x8c, 0x70, 0x42, 0xe6, 0x9d, 0x3f, 0xa5, 0x9c, 0xbd, 0xec, 0x3b, + 0xc2, 0xf3, 0x3a, 0x8a, 0xa6, 0xa3, 0xcc, 0x9e, 0xbf, 0x93, 0x85, 0x42, 0x7c, 0xad, 0x92, 0x0f, + 0x61, 0x42, 0x9e, 0xa7, 0x2b, 0xb6, 0xc8, 0xe0, 0x30, 0x21, 0x32, 0x28, 0xc8, 0x43, 0x75, 0xdf, + 0x56, 0xcd, 0xa9, 0x4c, 0x8d, 0x80, 0x09, 0x37, 0x9b, 0x22, 0xba, 0x9d, 0xb2, 0x4a, 0x02, 0x37, + 0xe8, 0xc4, 0x62, 0x02, 0x4b, 0x34, 0xf2, 0x36, 0xe4, 0xd6, 0xee, 0x94, 0x84, 0xb3, 0x5a, 0x21, + 0x7e, 0xea, 0x72, 0xab, 0x4f, 0xdd, 0x06, 0x95, 0xe1, 0x93, 0x55, 0x25, 0x7c, 0xf6, 0x88, 0x66, + 0x3a, 0x27, 0xc1, 0x61, 0xe3, 0x4e, 0x8f, 0xa3, 0x7d, 0x6f, 0x28, 0x9f, 0x2b, 0x0c, 0x89, 0x80, + 0xb0, 0xff, 0x7d, 0x0e, 0xc6, 0xc2, 0xfa, 0x09, 0x51, 0x5d, 0x80, 0xb9, 0xbb, 0x2f, 0xb9, 0x08, + 0x79, 0x29, 0xae, 0x09, 0x9f, 0xb5, 0x51, 0x5f, 0x88, 0x6a, 0xf3, 0x20, 0xe5, 0x32, 0xbe, 0xcc, + 0x4d, 0xf9, 0x93, 0xdc, 0x84, 0x50, 0xe8, 0xea, 0x25, 0x9d, 0x0d, 0xb1, 0x01, 0x33, 0x43, 0x34, + 0x32, 0x05, 0x59, 0x87, 0x07, 0x19, 0x1b, 0x33, 0xb3, 0x4e, 0x83, 0x7c, 0x08, 0x79, 0xbb, 0xd1, + 0xa0, 0x0d, 0xcb, 0x96, 0x76, 0x46, 0xfd, 0x26, 0x4d, 0x9e, 0x71, 0xe3, 0x87, 0x00, 0x52, 0x95, + 0x02, 0x52, 0x82, 0xb1, 0xa6, 0xcd, 0x2d, 0x17, 0x1b, 0x03, 0x9c, 0x28, 0x11, 0x87, 0x3c, 0x23, + 0xdb, 0xf2, 0x69, 0x83, 0xbc, 0x06, 0x43, 0x6c, 0x34, 0xc5, 0x11, 0x22, 0xa5, 0x44, 0x36, 0x98, + 0xbc, 0xc3, 0x56, 0x9e, 0x33, 0x11, 0x81, 0xbc, 0x02, 0xb9, 0xee, 0xe2, 0xae, 0x38, 0x1c, 0x0a, + 0x51, 0x28, 0xfb, 0x10, 0x8d, 0x15, 0x93, 0x5b, 0x90, 0x3f, 0xd4, 0xa3, 0xa0, 0x9f, 0x8b, 0x0d, + 0x63, 0x88, 0x1f, 0x22, 0x92, 0xd7, 0x20, 0xe7, 0xfb, 0xae, 0x30, 0xce, 0x99, 0x0d, 0x2d, 0x26, + 0x1f, 0x84, 0xa3, 0xc6, 0xb8, 0xfb, 0xbe, 0xbb, 0x94, 0x87, 0x11, 0x7e, 0x62, 0x18, 0x97, 0x00, + 0xa2, 0x6f, 0x4c, 0xfa, 0x20, 0x1a, 0x5f, 0x83, 0xb1, 0xf0, 0xdb, 0xc8, 0x8b, 0x00, 0x07, 0xf4, + 0xc8, 0xda, 0xb7, 0xdb, 0x8d, 0x26, 0x17, 0x37, 0x27, 0xcc, 0xb1, 0x03, 0x7a, 0xb4, 0x82, 0x00, + 0x72, 0x01, 0x46, 0x3b, 0x6c, 0xf8, 0xc5, 0x1c, 0x9f, 0x30, 0x47, 0x3a, 0xdd, 0x1d, 0x36, 0x95, + 0xe7, 0x61, 0x14, 0x15, 0xa7, 0x62, 0x45, 0x4e, 0x9a, 0xf2, 0xa7, 0xf1, 0xa7, 0x39, 0x4c, 0x15, + 0xa4, 0x34, 0x88, 0xbc, 0x0c, 0x93, 0x75, 0x8f, 0xe2, 0xe1, 0x64, 0x33, 0x91, 0x4b, 0xd4, 0x33, + 0x11, 0x01, 0xab, 0x0d, 0x72, 0x05, 0xa6, 0x3b, 0xdd, 0x9d, 0xa6, 0x53, 0x67, 0xb5, 0x59, 0xf5, + 0x1d, 0x91, 0xdb, 0x60, 0xc2, 0x9c, 0xe4, 0xe0, 0xfb, 0xf4, 0xa8, 0xbc, 0x83, 0x51, 0xf4, 0x0a, + 0x6a, 0x10, 0xe4, 0x20, 0x4c, 0xe2, 0x6e, 0x4e, 0x2b, 0x70, 0xb4, 0x33, 0x3c, 0x0f, 0x23, 0xb6, + 0xbd, 0xd7, 0x75, 0x78, 0xb4, 0xab, 0x09, 0x53, 0xfc, 0x22, 0x6f, 0xc0, 0x4c, 0x14, 0x97, 0x5b, + 0x36, 0x63, 0x18, 0x9b, 0x51, 0x08, 0x0b, 0xca, 0x1c, 0x4e, 0xde, 0x02, 0xa2, 0xd6, 0xe7, 0xee, + 0x7c, 0x4c, 0xeb, 0x7c, 0x4e, 0x4e, 0x98, 0x33, 0x4a, 0xc9, 0x03, 0x2c, 0x20, 0x2f, 0xc1, 0x84, + 0x47, 0x7d, 0x14, 0xf7, 0xb0, 0xdb, 0x30, 0x93, 0x9e, 0x39, 0x2e, 0x61, 0xac, 0xef, 0xae, 0x42, + 0x41, 0xe9, 0x0e, 0x8c, 0x33, 0xcd, 0x03, 0xfb, 0x9b, 0x53, 0x11, 0xdc, 0xec, 0x54, 0x1b, 0xe4, + 0xcb, 0xb0, 0xa0, 0x60, 0xf2, 0xa4, 0x7e, 0x16, 0x6d, 0x3a, 0x7b, 0xce, 0x4e, 0x93, 0x8a, 0xf9, + 0x96, 0x9c, 0xd5, 0xe1, 0x9d, 0xd0, 0x9c, 0x8f, 0xa8, 0x79, 0xba, 0xbf, 0x65, 0x41, 0x4b, 0x56, + 0x61, 0x2e, 0xc6, 0x99, 0x36, 0xac, 0x6e, 0xa7, 0x67, 0x78, 0xb9, 0x88, 0x27, 0xd1, 0x79, 0xd2, + 0xc6, 0x56, 0xc7, 0xf8, 0x16, 0x4c, 0xa8, 0x73, 0x92, 0x75, 0x82, 0x2a, 0x68, 0x88, 0xd9, 0x37, + 0x1e, 0xc2, 0xaa, 0xec, 0xa2, 0x37, 0x15, 0xa1, 0x04, 0x61, 0xbe, 0x7a, 0x73, 0x32, 0x84, 0xe2, + 0x10, 0xbe, 0x04, 0x13, 0x0d, 0xc7, 0xef, 0x34, 0xed, 0x23, 0x2b, 0xca, 0x56, 0x6d, 0x8e, 0x0b, + 0x18, 0x6a, 0x72, 0x96, 0x60, 0x26, 0xb1, 0x0f, 0x92, 0xb7, 0xf8, 0x0d, 0x55, 0x08, 0x3f, 0x13, + 0xfc, 0x96, 0x8f, 0x56, 0xcc, 0x9a, 0xdc, 0x23, 0x90, 0x8c, 0x36, 0x4c, 0xa8, 0xe7, 0xda, 0x29, + 0x49, 0x38, 0xce, 0x63, 0x48, 0x19, 0xbe, 0xe9, 0x8f, 0x9c, 0x1c, 0x17, 0xb3, 0x4e, 0x03, 0x03, + 0xc9, 0x5c, 0x85, 0xbc, 0x14, 0xc1, 0x84, 0xe4, 0x83, 0xaf, 0x03, 0x32, 0x43, 0xb1, 0x19, 0x96, + 0x1a, 0xaf, 0xc1, 0xa8, 0x38, 0xba, 0xfa, 0xbf, 0x09, 0x18, 0x3f, 0x98, 0x85, 0x69, 0x93, 0xb2, + 0x8d, 0x95, 0xf2, 0xcc, 0x3b, 0xcf, 0xec, 0x9d, 0x3b, 0x3d, 0x30, 0xa9, 0xd6, 0xb6, 0x3e, 0x39, + 0x6f, 0xfe, 0x51, 0x06, 0x66, 0x53, 0x70, 0x3f, 0x51, 0xce, 0xd7, 0xdb, 0x30, 0x56, 0x71, 0xec, + 0x66, 0xa9, 0xd1, 0x08, 0xe3, 0xcb, 0xa0, 0xe0, 0x8e, 0x89, 0xa1, 0x6c, 0x06, 0x55, 0x85, 0x98, + 0x10, 0x95, 0xbc, 0x2e, 0x26, 0x45, 0x94, 0x31, 0x1d, 0x27, 0xc5, 0x77, 0x8e, 0x8b, 0xc0, 0xbf, + 0x69, 0x33, 0x9c, 0x22, 0x18, 0x2c, 0x98, 0x03, 0x23, 0x1f, 0xa1, 0x67, 0x76, 0xe8, 0xd2, 0x83, + 0x05, 0xc7, 0x9b, 0x37, 0x50, 0xda, 0x9b, 0x1f, 0xcb, 0xc2, 0xf9, 0x74, 0xc2, 0x4f, 0x9a, 0xbe, + 0x17, 0x13, 0x0e, 0x29, 0x01, 0xce, 0x31, 0x7d, 0x2f, 0xcf, 0x4e, 0x84, 0xf8, 0x11, 0x02, 0xd9, + 0x85, 0xc9, 0x55, 0xdb, 0x0f, 0x56, 0xa8, 0xed, 0x05, 0x3b, 0xd4, 0x0e, 0x06, 0x90, 0xe4, 0xa5, + 0x65, 0xc0, 0x3c, 0x0a, 0x13, 0xfb, 0x92, 0x32, 0x26, 0x6b, 0xeb, 0x6c, 0xc3, 0x89, 0x32, 0x34, + 0xc0, 0x44, 0xf9, 0x26, 0x4c, 0xd7, 0x68, 0xcb, 0xee, 0xec, 0xbb, 0x9e, 0xf4, 0xfd, 0xbf, 0x0e, + 0x93, 0x21, 0x28, 0x75, 0xb6, 0xe8, 0xc5, 0x1a, 0xbe, 0xd2, 0x11, 0xd1, 0x56, 0xa2, 0x17, 0x1b, + 0x7f, 0x37, 0x0b, 0x17, 0x4a, 0x75, 0x61, 0xe6, 0x28, 0x0a, 0xa4, 0x35, 0xf6, 0xa7, 0x5c, 0x37, + 0xb9, 0x01, 0x63, 0x6b, 0xf6, 0xe3, 0x55, 0x6a, 0xfb, 0xd4, 0x17, 0xc9, 0x13, 0xb9, 0xd8, 0x6b, + 0x3f, 0x8e, 0x5e, 0x73, 0xcc, 0x08, 0x47, 0xd5, 0x0b, 0x0c, 0x3d, 0xa1, 0x5e, 0xc0, 0x80, 0x91, + 0x15, 0xb7, 0xd9, 0x10, 0x67, 0xbd, 0x78, 0x42, 0xde, 0x47, 0x88, 0x29, 0x4a, 0xd8, 0x75, 0x7a, + 0x2a, 0xfc, 0x62, 0xfc, 0x84, 0x4f, 0xbd, 0x4b, 0xae, 0xc0, 0x28, 0x56, 0x14, 0x66, 0x79, 0xc7, + 0x43, 0xa3, 0x49, 0x31, 0x05, 0x5e, 0xc3, 0x94, 0x85, 0x6a, 0x4f, 0x0c, 0x3f, 0x59, 0x4f, 0x18, + 0xff, 0x10, 0x5f, 0xa7, 0xd5, 0x56, 0xb2, 0x93, 0x48, 0xf9, 0x90, 0xcc, 0x80, 0x1f, 0x92, 0x7d, + 0x6a, 0x43, 0x92, 0xeb, 0x39, 0x24, 0x3f, 0x94, 0x85, 0xf1, 0xf0, 0x63, 0xbf, 0xcb, 0xa2, 0xec, + 0x87, 0xed, 0x1a, 0x28, 0x5e, 0x4f, 0x4d, 0xd9, 0x2b, 0x44, 0x58, 0x9c, 0x2f, 0xc2, 0x88, 0x58, + 0x4c, 0x99, 0x98, 0x55, 0x72, 0x6c, 0x74, 0x97, 0xa6, 0x04, 0xeb, 0x11, 0x1c, 0x50, 0xdf, 0x14, + 0x74, 0x18, 0x10, 0x69, 0x9b, 0xee, 0x08, 0x63, 0x85, 0x67, 0xf6, 0x8c, 0x4a, 0x0f, 0x88, 0x14, + 0x35, 0x6c, 0xa0, 0xd3, 0xe9, 0x9f, 0xe6, 0xa1, 0x10, 0x27, 0x39, 0x3d, 0x8f, 0xc1, 0x46, 0x77, + 0x87, 0x5f, 0x55, 0x78, 0x1e, 0x83, 0x4e, 0x77, 0xc7, 0x64, 0x30, 0xb4, 0x65, 0xf2, 0x9c, 0x47, + 0xd8, 0xea, 0x09, 0x61, 0xcb, 0xe4, 0x39, 0x8f, 0x34, 0x5b, 0x26, 0xcf, 0x79, 0x84, 0x8a, 0x84, + 0xd5, 0x1a, 0x06, 0x0b, 0xc0, 0x7b, 0x8a, 0x50, 0x24, 0x34, 0xfd, 0x78, 0x4e, 0x32, 0x89, 0xc6, + 0x8e, 0xca, 0x25, 0x6a, 0x7b, 0x22, 0xe6, 0xbe, 0xd8, 0xce, 0xf0, 0xa8, 0xdc, 0x41, 0xb0, 0x15, + 0x30, 0xb8, 0xa9, 0x22, 0x91, 0x26, 0x10, 0xe5, 0xa7, 0x5c, 0xc0, 0xa7, 0xdf, 0xad, 0xa5, 0x45, + 0xe1, 0x9c, 0xca, 0xda, 0x52, 0x57, 0x73, 0x0a, 0xdf, 0xa7, 0xa9, 0xce, 0xdd, 0x10, 0x81, 0x44, + 0x51, 0x81, 0x94, 0x3f, 0x95, 0x99, 0x0c, 0x72, 0x02, 0x3c, 0xd0, 0x68, 0xa8, 0x46, 0x8a, 0x98, + 0x90, 0x0f, 0x60, 0x5c, 0x0d, 0x01, 0xc1, 0x03, 0x15, 0xbc, 0xc0, 0x63, 0x43, 0xf6, 0xc8, 0x62, + 0xab, 0x12, 0x90, 0x1d, 0xb8, 0x50, 0x76, 0xdb, 0x7e, 0xb7, 0x25, 0xa3, 0x50, 0x46, 0xb1, 0xaf, + 0x01, 0x87, 0x02, 0xfd, 0xc9, 0xeb, 0x02, 0x45, 0x44, 0x1c, 0x90, 0x2e, 0x1f, 0xfa, 0x05, 0xa4, + 0x17, 0x23, 0xb2, 0x09, 0xe3, 0xa8, 0x12, 0x15, 0x36, 0xa5, 0xe3, 0xfa, 0xb6, 0x11, 0x95, 0x54, + 0xd8, 0xc2, 0xe0, 0x11, 0xd0, 0xec, 0x56, 0x53, 0x7a, 0x1c, 0xa8, 0xaa, 0x5d, 0x05, 0x99, 0x7c, + 0x0d, 0xa6, 0xf8, 0x15, 0x6d, 0x9b, 0xee, 0xf0, 0xb9, 0x33, 0xa1, 0x69, 0x22, 0xf4, 0x42, 0xfe, + 0x3a, 0x2f, 0x14, 0xd1, 0x87, 0x74, 0x87, 0x8f, 0xbd, 0xe6, 0xef, 0xa3, 0xe1, 0x93, 0x2d, 0x98, + 0x5d, 0xb1, 0x7d, 0x0e, 0x54, 0x7c, 0xf9, 0x27, 0x51, 0x43, 0x8b, 0x76, 0xd8, 0xfb, 0xb6, 0x2f, + 0x35, 0xdb, 0xa9, 0xbe, 0xfb, 0x69, 0xf4, 0xe4, 0x07, 0x33, 0x30, 0xaf, 0x29, 0xbe, 0x85, 0xe1, + 0x58, 0x8b, 0xb6, 0x03, 0x74, 0xec, 0x99, 0x5a, 0x2c, 0x4a, 0xa1, 0xb4, 0x07, 0x1a, 0x1f, 0x92, + 0x98, 0x6e, 0xdd, 0x8b, 0xca, 0x55, 0x03, 0xe7, 0x5e, 0x3c, 0xc4, 0x42, 0xc5, 0x35, 0x3d, 0xad, + 0x2f, 0xd4, 0xd8, 0xba, 0x96, 0x68, 0xc6, 0xed, 0x78, 0x7f, 0x0b, 0x45, 0x57, 0x26, 0x54, 0x74, + 0xcd, 0xc1, 0x30, 0xf6, 0xaa, 0x8c, 0x08, 0x85, 0x3f, 0x8c, 0xcf, 0xa8, 0xfb, 0x90, 0x10, 0x0b, + 0xfb, 0xee, 0x43, 0xc6, 0xff, 0x38, 0x02, 0xd3, 0xb1, 0x69, 0x21, 0xee, 0xa9, 0x99, 0xc4, 0x3d, + 0xb5, 0x06, 0xc0, 0x55, 0xbd, 0x03, 0xea, 0x64, 0xa5, 0x53, 0xe1, 0xb8, 0x70, 0x09, 0x0e, 0xd7, + 0x94, 0xc2, 0x86, 0x31, 0xe5, 0x2b, 0x76, 0x40, 0x1d, 0x79, 0xc8, 0x94, 0x2f, 0x7a, 0x85, 0x69, + 0xc4, 0x86, 0x14, 0x61, 0x18, 0x63, 0xc1, 0xaa, 0x3e, 0x9d, 0x0e, 0x03, 0x98, 0x1c, 0x4e, 0x5e, + 0x86, 0x11, 0x26, 0x44, 0x55, 0x2b, 0x62, 0x13, 0xc4, 0xb3, 0x85, 0x49, 0x59, 0x4c, 0x62, 0x11, + 0x45, 0xe4, 0x36, 0x4c, 0xf0, 0xbf, 0x44, 0xc8, 0x98, 0x11, 0xdd, 0x9a, 0xd1, 0x72, 0x1a, 0x32, + 0x6a, 0x8c, 0x86, 0xc7, 0x6e, 0x17, 0xb5, 0x2e, 0xaa, 0x75, 0xaa, 0x15, 0x11, 0x3c, 0x1c, 0x6f, + 0x17, 0x3e, 0x07, 0xb2, 0x2a, 0x22, 0x04, 0x26, 0xcb, 0x08, 0xcf, 0x8a, 0x3c, 0xde, 0x29, 0x51, + 0x96, 0xe1, 0x1e, 0x15, 0xa6, 0x28, 0x21, 0xd7, 0xf8, 0xd3, 0x0a, 0x8a, 0x85, 0x3c, 0x07, 0x23, + 0xbe, 0x5b, 0xa0, 0x62, 0x02, 0x65, 0xc3, 0xb0, 0x98, 0x55, 0xce, 0xfe, 0x5e, 0x6e, 0xd9, 0x4e, + 0x53, 0x6c, 0x2b, 0x58, 0x39, 0xe2, 0x52, 0x06, 0x35, 0x23, 0x04, 0xf2, 0x1e, 0x4c, 0xb1, 0x1f, + 0x65, 0xb7, 0xd5, 0x72, 0xdb, 0xc8, 0x7e, 0x3c, 0x0a, 0x0a, 0x87, 0x24, 0x75, 0x2c, 0xe2, 0xb5, + 0xc4, 0x70, 0xd9, 0x79, 0x82, 0xcf, 0xb6, 0x5d, 0xfe, 0xe8, 0x33, 0x11, 0x9d, 0x27, 0x48, 0xea, + 0x73, 0xb8, 0xa9, 0x22, 0x91, 0x77, 0x60, 0x92, 0xfd, 0xbc, 0xeb, 0x3c, 0xa2, 0xbc, 0xc2, 0xc9, + 0xc8, 0x5e, 0x01, 0xa9, 0xf6, 0x58, 0x09, 0xaf, 0x4f, 0xc7, 0x24, 0x5f, 0x82, 0x73, 0xc8, 0xa9, + 0xee, 0x76, 0x68, 0xa3, 0xb4, 0xbb, 0xeb, 0x34, 0x1d, 0x6e, 0x5e, 0xc6, 0x83, 0xa3, 0xa0, 0x0e, + 0x9e, 0x57, 0x8c, 0x18, 0x96, 0x1d, 0xa1, 0x98, 0xe9, 0x94, 0x64, 0x1b, 0x0a, 0xe5, 0xae, 0x1f, + 0xb8, 0xad, 0x52, 0x10, 0x78, 0xce, 0x4e, 0x37, 0xa0, 0xfe, 0xfc, 0xb4, 0x16, 0x42, 0x84, 0x2d, + 0x8e, 0xb0, 0x90, 0xeb, 0x83, 0xea, 0x48, 0x61, 0xd9, 0x21, 0x89, 0x99, 0x60, 0x62, 0xfc, 0xb3, + 0x0c, 0x4c, 0x6a, 0xa4, 0xe4, 0x6d, 0x98, 0xb8, 0xe3, 0x39, 0xb4, 0xdd, 0x68, 0x1e, 0x29, 0x17, + 0x55, 0xbc, 0xc5, 0xec, 0x0a, 0x38, 0x6f, 0xb5, 0x86, 0x16, 0xea, 0x79, 0xb2, 0xa9, 0xb6, 0x9f, + 0x37, 0xb8, 0x6b, 0xb1, 0x98, 0xa0, 0xb9, 0x28, 0xa6, 0x11, 0x4e, 0x50, 0x31, 0x3b, 0x15, 0x14, + 0xf2, 0x3e, 0x8c, 0xf0, 0x07, 0x5e, 0x61, 0x88, 0x78, 0x31, 0xad, 0x99, 0xdc, 0x8d, 0x1d, 0x27, + 0x22, 0x5a, 0xf1, 0xf8, 0xa6, 0x20, 0x32, 0x7e, 0x3a, 0x03, 0x24, 0x89, 0x7a, 0x8a, 0xde, 0xeb, + 0x54, 0xeb, 0xa0, 0x2f, 0x86, 0xab, 0x31, 0xa7, 0xe9, 0xcc, 0x59, 0x4d, 0xbc, 0x80, 0x77, 0xbc, + 0x58, 0x75, 0xaa, 0x22, 0x8e, 0x17, 0x1b, 0x3f, 0x90, 0x05, 0x88, 0xb0, 0xc9, 0xe7, 0x79, 0xca, + 0xad, 0x2f, 0x75, 0xed, 0xa6, 0xb3, 0xeb, 0xe8, 0x31, 0x68, 0x91, 0xc9, 0x37, 0x65, 0x89, 0xa9, + 0x23, 0x92, 0x0f, 0x61, 0xba, 0xb6, 0xa1, 0xd3, 0x2a, 0x76, 0xee, 0x7e, 0xc7, 0x8a, 0x91, 0xc7, + 0xb1, 0xd1, 0xe0, 0x58, 0x1d, 0x0d, 0x6e, 0x70, 0xcc, 0x07, 0x42, 0x94, 0xb0, 0x8d, 0xa5, 0xb6, + 0x21, 0x4c, 0xf9, 0x1b, 0xd5, 0x8a, 0xd8, 0xa5, 0xf0, 0xeb, 0xfc, 0x8e, 0xd5, 0x11, 0x36, 0xfe, + 0x6c, 0x9f, 0xd0, 0xf0, 0xa2, 0x8e, 0x1c, 0xee, 0xe1, 0xaa, 0xfe, 0x33, 0xa8, 0xf6, 0x6b, 0xb9, + 0x01, 0x15, 0xda, 0x8e, 0x67, 0xf6, 0xde, 0x13, 0x59, 0x07, 0x0c, 0x6b, 0x1e, 0xb8, 0x5a, 0xeb, + 0x84, 0x05, 0xcc, 0xad, 0xe8, 0x92, 0xc2, 0xed, 0x04, 0x52, 0x8c, 0x66, 0xfe, 0x41, 0x06, 0xce, + 0xa5, 0xd2, 0x92, 0xeb, 0x00, 0x91, 0x4e, 0x49, 0xf4, 0x12, 0xee, 0x98, 0x51, 0x24, 0x1f, 0x53, + 0xc1, 0x20, 0x5f, 0x8d, 0x6b, 0x83, 0x4e, 0x3f, 0x08, 0x17, 0x64, 0x00, 0x3d, 0x5d, 0x1b, 0x94, + 0xa2, 0x03, 0x32, 0xfe, 0x51, 0x0e, 0x66, 0x94, 0x40, 0x41, 0xfc, 0x5b, 0x4f, 0x31, 0x00, 0x3f, + 0x80, 0x09, 0xd6, 0x1a, 0xa7, 0x2e, 0xdc, 0x00, 0xb9, 0x25, 0xcb, 0xeb, 0x09, 0x1f, 0x4a, 0xc1, + 0xed, 0xba, 0x8a, 0xcc, 0xc3, 0x5a, 0xe2, 0xd6, 0x89, 0x0f, 0x12, 0xf5, 0xa4, 0x3b, 0xa0, 0xc6, + 0x9c, 0xf8, 0x30, 0x59, 0x39, 0x6a, 0xdb, 0xad, 0xb0, 0x36, 0x6e, 0xd1, 0xf2, 0x46, 0xcf, 0xda, + 0x34, 0x6c, 0x5e, 0x5d, 0xe4, 0x6d, 0xc4, 0xcb, 0x52, 0x1c, 0xdd, 0x35, 0xaa, 0x85, 0x0f, 0x61, + 0x26, 0xf1, 0xd1, 0x67, 0x8a, 0xb0, 0xb9, 0x0d, 0x24, 0xf9, 0x1d, 0x29, 0x1c, 0xde, 0xd0, 0xe3, + 0xb7, 0x9e, 0x0b, 0x1f, 0xaf, 0x5b, 0x2d, 0xbb, 0xdd, 0xe0, 0xf6, 0x31, 0x8b, 0x6a, 0xfc, 0xcd, + 0x9f, 0xc9, 0xaa, 0x7e, 0xac, 0xcf, 0xfa, 0xaa, 0xfb, 0xa2, 0x76, 0x1b, 0xbe, 0xd4, 0x6b, 0x4c, + 0x07, 0xd2, 0x3a, 0x7c, 0x3b, 0x07, 0x17, 0x7a, 0x50, 0x92, 0xa3, 0xf8, 0x24, 0xe2, 0x5a, 0x88, + 0x9b, 0xfd, 0x2b, 0x7c, 0x1a, 0x53, 0x89, 0x7c, 0x9e, 0x47, 0xb2, 0xa8, 0x63, 0xe2, 0x7b, 0x71, + 0xff, 0x46, 0x35, 0xfe, 0x41, 0x08, 0x8d, 0x87, 0xb0, 0xe0, 0x50, 0xf2, 0x21, 0x0c, 0xa3, 0x13, + 0x73, 0x2c, 0x54, 0x21, 0xc3, 0x40, 0xb8, 0x12, 0x6c, 0x93, 0xfd, 0xd4, 0x82, 0x6d, 0x32, 0x00, + 0xf9, 0x1c, 0xe4, 0x4a, 0xdb, 0x35, 0x31, 0x2e, 0x53, 0x2a, 0xf9, 0x76, 0x2d, 0x4a, 0x14, 0x62, + 0x6b, 0x19, 0x3d, 0x18, 0x05, 0x23, 0xbc, 0x5b, 0xde, 0x10, 0xa3, 0xa2, 0x12, 0xde, 0x2d, 0x6f, + 0x44, 0x84, 0x7b, 0x75, 0x2d, 0xf0, 0xd3, 0xdd, 0xf2, 0xc6, 0xa7, 0x37, 0xed, 0xff, 0x9d, 0x2c, + 0x0f, 0xbf, 0xc1, 0x1b, 0xf6, 0x21, 0x4c, 0x68, 0xf1, 0xb5, 0x33, 0x91, 0x3c, 0x16, 0xc6, 0x42, + 0x8f, 0x99, 0x00, 0x69, 0x04, 0x32, 0xe5, 0x0e, 0xfb, 0x8d, 0x12, 0xaf, 0x6a, 0x6c, 0x13, 0x72, + 0x40, 0x99, 0x38, 0x9e, 0x72, 0x27, 0x24, 0x21, 0xb7, 0x20, 0xbf, 0x49, 0xdb, 0x76, 0x3b, 0x08, + 0x15, 0xa2, 0x68, 0x2d, 0x1c, 0x20, 0x4c, 0x97, 0x1a, 0x42, 0x44, 0xb4, 0x6c, 0xed, 0xee, 0xf8, + 0x75, 0xcf, 0xc1, 0x30, 0x3d, 0xe1, 0x59, 0xcc, 0x2d, 0x5b, 0x95, 0x12, 0x9d, 0x41, 0x8c, 0xc8, + 0xf8, 0x99, 0x0c, 0x8c, 0x8a, 0x81, 0xe4, 0xa9, 0xd2, 0xf6, 0xa2, 0xb3, 0x44, 0x78, 0x03, 0xec, + 0x39, 0x71, 0x6f, 0x80, 0x3d, 0x1e, 0x0b, 0x67, 0x4c, 0x78, 0xca, 0x85, 0x4f, 0x83, 0x38, 0x1b, + 0xa5, 0x0b, 0xa3, 0x9e, 0x09, 0x2b, 0x44, 0x1d, 0xd4, 0xc3, 0xca, 0xf8, 0x7b, 0xe2, 0xcb, 0xee, + 0x96, 0x37, 0xc8, 0x22, 0xe4, 0x57, 0x5d, 0x1e, 0xd6, 0x49, 0xcd, 0x7b, 0xdb, 0x14, 0x30, 0xb5, + 0x83, 0x24, 0x1e, 0xfb, 0xbe, 0x0d, 0xcf, 0x15, 0x77, 0x19, 0xe5, 0xfb, 0x3a, 0x1c, 0x18, 0xfb, + 0xbe, 0x10, 0x75, 0xe0, 0xef, 0xa3, 0x29, 0x9b, 0xc4, 0xc3, 0x5b, 0x98, 0x8b, 0xe4, 0x9e, 0xea, + 0xb9, 0x26, 0x8a, 0xe4, 0x4e, 0xb1, 0xd0, 0x6b, 0xa7, 0x78, 0x78, 0xcb, 0x4c, 0xa1, 0xc2, 0x77, + 0xb5, 0x08, 0x5c, 0xa3, 0xde, 0xa3, 0x67, 0x78, 0x97, 0x4e, 0x7f, 0x57, 0x8b, 0x37, 0x6f, 0xa0, + 0x4d, 0xfa, 0xf7, 0xb3, 0x70, 0x3e, 0x9d, 0x50, 0x6d, 0x4b, 0xa6, 0x4f, 0x5b, 0xae, 0x42, 0x7e, + 0xc5, 0xf5, 0x03, 0xc5, 0xea, 0x0f, 0xd5, 0xff, 0xfb, 0x02, 0x66, 0x86, 0xa5, 0xec, 0xce, 0xcd, + 0xfe, 0x0e, 0x97, 0x27, 0xf2, 0xc3, 0xa0, 0x13, 0xec, 0xce, 0xcd, 0x8b, 0xc8, 0x5d, 0xc8, 0x9b, + 0xc2, 0x73, 0x2a, 0xd6, 0x35, 0x12, 0x1c, 0x4a, 0x53, 0xc4, 0x13, 0x10, 0x2d, 0xcc, 0xb9, 0x80, + 0x91, 0x12, 0x8c, 0x8a, 0xd1, 0x8f, 0x3d, 0x1d, 0xa7, 0x4c, 0x19, 0x3d, 0xf3, 0x80, 0xa4, 0x63, + 0x3b, 0x0a, 0x3e, 0x02, 0x56, 0x2b, 0xd2, 0x09, 0x0a, 0x77, 0x14, 0xfe, 0x48, 0xa8, 0x1b, 0x58, + 0x86, 0x88, 0xc6, 0x0f, 0x66, 0x01, 0xa4, 0xd6, 0xe6, 0x99, 0x9d, 0x61, 0x9f, 0xd3, 0x66, 0x98, + 0x62, 0x6f, 0x34, 0x78, 0x6a, 0xdf, 0x07, 0x68, 0xce, 0x33, 0x78, 0x62, 0xdf, 0x22, 0x0c, 0x6f, + 0x46, 0x0a, 0x2d, 0xe1, 0x63, 0x82, 0xea, 0x68, 0x0e, 0x37, 0x76, 0x60, 0xee, 0x2e, 0x0d, 0x22, + 0xf5, 0x96, 0x7c, 0x7a, 0xec, 0xcf, 0xf6, 0x4d, 0x18, 0x13, 0xf8, 0xe1, 0xfe, 0xc5, 0x75, 0x31, + 0x22, 0x8e, 0x0b, 0xea, 0x62, 0x24, 0x02, 0xdb, 0x8d, 0x2a, 0xb4, 0x49, 0x03, 0xfa, 0xe9, 0x56, + 0x53, 0x03, 0xc2, 0x9b, 0x82, 0x2d, 0x1b, 0xac, 0x86, 0x53, 0xfb, 0xe7, 0x21, 0x9c, 0x0b, 0xbf, + 0xfd, 0x69, 0xf2, 0xbd, 0xc1, 0xae, 0x94, 0x22, 0x68, 0x7f, 0xc4, 0xb1, 0x8f, 0xed, 0xc9, 0x63, + 0x58, 0x90, 0x04, 0xdb, 0x4e, 0x68, 0x38, 0x39, 0x10, 0x2d, 0x79, 0x0f, 0xc6, 0x15, 0x1a, 0x11, + 0x74, 0x1e, 0xd5, 0xd4, 0x87, 0x4e, 0xb0, 0x6f, 0xf9, 0x1c, 0xae, 0xaa, 0xa9, 0x15, 0x74, 0xe3, + 0x2b, 0xf0, 0x7c, 0xe8, 0x07, 0x94, 0x52, 0x75, 0x8c, 0x79, 0xe6, 0x6c, 0xcc, 0xd7, 0xa3, 0x66, + 0x55, 0xdb, 0xa1, 0xab, 0xb3, 0xe4, 0x4d, 0xd4, 0x66, 0x89, 0xc6, 0xbc, 0x90, 0x70, 0x9e, 0x56, + 0x7c, 0xa4, 0x8d, 0x77, 0x95, 0x8f, 0x4d, 0x61, 0xa8, 0x11, 0x67, 0xe2, 0xc4, 0x3f, 0x98, 0x85, + 0xe9, 0x07, 0xd5, 0x4a, 0x39, 0xb4, 0x3e, 0xfa, 0x2e, 0x4b, 0x3c, 0xac, 0xb5, 0xad, 0xf7, 0x7e, + 0x63, 0x6c, 0xc1, 0x6c, 0xac, 0x1b, 0x50, 0x74, 0xf8, 0x80, 0x7b, 0x90, 0x84, 0x60, 0x29, 0x36, + 0x9c, 0x4f, 0x63, 0xff, 0xf0, 0x96, 0x19, 0xc3, 0x36, 0xfe, 0x0b, 0x88, 0xf1, 0x15, 0x5b, 0xd8, + 0x9b, 0x30, 0x56, 0xf5, 0xfd, 0x2e, 0xf5, 0xb6, 0xcc, 0x55, 0x55, 0x55, 0xe0, 0x20, 0xd0, 0xea, + 0x7a, 0x4d, 0x33, 0x42, 0x20, 0xd7, 0x20, 0x2f, 0x02, 0x7e, 0xcb, 0x3d, 0x01, 0xb5, 0xb6, 0x61, + 0xbc, 0x70, 0x33, 0x2c, 0x26, 0x6f, 0xc3, 0x04, 0xff, 0x9b, 0xcf, 0x36, 0xd1, 0xe1, 0xa8, 0x1c, + 0x14, 0xe8, 0x7c, 0x76, 0x9a, 0x1a, 0x1a, 0x79, 0x1d, 0x72, 0xa5, 0xb2, 0x29, 0xd4, 0x41, 0x42, + 0x6e, 0xf4, 0x2c, 0xae, 0xb3, 0xd3, 0x2e, 0x11, 0x65, 0x93, 0x49, 0x7f, 0x32, 0x7a, 0x84, 0xd0, + 0x64, 0xe3, 0x0c, 0x90, 0xda, 0xa6, 0xd8, 0x61, 0x86, 0x30, 0x72, 0x03, 0x46, 0x2b, 0xdc, 0x64, + 0x4e, 0xe8, 0xb1, 0x79, 0x56, 0x3d, 0x0e, 0xd2, 0xa2, 0x25, 0x70, 0x10, 0xb9, 0x26, 0xb3, 0x8d, + 0xe5, 0x23, 0x47, 0x94, 0x1e, 0x29, 0xc5, 0xde, 0x84, 0x11, 0x11, 0x16, 0x7b, 0x4c, 0xc9, 0x43, + 0x12, 0x0f, 0x87, 0x2d, 0x70, 0x92, 0x1e, 0xa9, 0xf0, 0x34, 0x3d, 0x52, 0x77, 0xe0, 0xc2, 0x5d, + 0xd4, 0xde, 0xe8, 0xc1, 0x9d, 0xb6, 0xcc, 0xaa, 0xd0, 0x87, 0xe3, 0x33, 0x10, 0x57, 0xf0, 0xc4, + 0xe3, 0x43, 0x59, 0x5d, 0x4f, 0x4d, 0x12, 0xdb, 0x8b, 0x11, 0xf9, 0x32, 0xcc, 0xa5, 0x15, 0x09, + 0xad, 0x39, 0x86, 0x31, 0x4a, 0xaf, 0x40, 0x0d, 0x63, 0x94, 0xc6, 0x81, 0xac, 0x42, 0x81, 0xc3, + 0x4b, 0x8d, 0x96, 0xd3, 0xe6, 0x9a, 0x7f, 0xae, 0x55, 0x47, 0xcf, 0x10, 0xc1, 0xd5, 0x66, 0x85, + 0xfc, 0x05, 0x40, 0xf3, 0x25, 0x8a, 0x51, 0x92, 0x9f, 0xc8, 0xb0, 0xdb, 0x1c, 0x0f, 0x22, 0xbd, + 0x65, 0xae, 0xfa, 0x22, 0x04, 0xde, 0xf9, 0xc8, 0x4d, 0xa8, 0x16, 0x78, 0x4e, 0x7b, 0x4f, 0xf8, + 0x09, 0x6d, 0x0a, 0x3f, 0xa1, 0xf7, 0x3e, 0x91, 0x9f, 0x10, 0x67, 0xe5, 0x9f, 0x1c, 0x17, 0x27, + 0x3c, 0x51, 0x27, 0xae, 0x22, 0xed, 0x0b, 0x58, 0xd7, 0xa1, 0xb3, 0xec, 0x56, 0x9b, 0x87, 0xb0, + 0xa5, 0x0d, 0xde, 0xc8, 0x69, 0xdc, 0xc1, 0xb1, 0xeb, 0x30, 0xbf, 0x85, 0xd5, 0x0d, 0x11, 0x12, + 0x0d, 0x4d, 0xe5, 0xc0, 0x2e, 0x9e, 0xd2, 0x17, 0x85, 0xbb, 0xd7, 0x16, 0xa2, 0x8b, 0xa7, 0x74, + 0x5c, 0xb1, 0x70, 0x1a, 0xa9, 0x93, 0x47, 0x23, 0x21, 0x37, 0x60, 0x64, 0xcd, 0x7e, 0x5c, 0xda, + 0xa3, 0x22, 0x8b, 0xe4, 0xa4, 0xdc, 0xfe, 0x10, 0xb8, 0x94, 0xff, 0x03, 0xee, 0xeb, 0xf0, 0x9c, + 0x29, 0xd0, 0xc8, 0xf7, 0x65, 0xe0, 0x3c, 0x5f, 0xc6, 0xb2, 0x95, 0x35, 0x1a, 0x04, 0xac, 0x1f, + 0x44, 0x2c, 0xbc, 0xcb, 0x91, 0xc1, 0x76, 0x3a, 0x1e, 0xba, 0xd2, 0x1b, 0x62, 0x67, 0x08, 0x3b, + 0xce, 0x17, 0xa5, 0x5a, 0x50, 0xe1, 0x54, 0x7a, 0xb2, 0x09, 0xe3, 0x6b, 0x77, 0x4a, 0x61, 0xb5, + 0x3c, 0xd2, 0x78, 0x31, 0x6d, 0x77, 0x54, 0xd0, 0xd2, 0x3c, 0x0d, 0x54, 0x36, 0xc2, 0x3b, 0xe0, + 0x73, 0xb2, 0x3f, 0xc8, 0x5b, 0xaa, 0x6f, 0x69, 0x0e, 0xa5, 0xe7, 0xd1, 0x96, 0xfd, 0xd8, 0xb2, + 0xf7, 0xa8, 0xf6, 0x4a, 0x2e, 0xb4, 0xd7, 0x3f, 0x95, 0x81, 0x8b, 0x3d, 0x9b, 0x4c, 0x6e, 0xc3, + 0x05, 0x9b, 0x7b, 0x4c, 0x5b, 0xfb, 0x41, 0xd0, 0xf1, 0x2d, 0x79, 0xc5, 0x10, 0xde, 0xa8, 0xe6, + 0x39, 0x51, 0xbc, 0xc2, 0x4a, 0xe5, 0xad, 0xc3, 0x27, 0x1f, 0xc2, 0x0b, 0x4e, 0xdb, 0xa7, 0xf5, + 0xae, 0x47, 0x2d, 0xc9, 0xa0, 0xee, 0x34, 0x3c, 0xcb, 0xb3, 0xdb, 0x7b, 0xd2, 0xb5, 0xd6, 0xbc, + 0x28, 0x71, 0x84, 0x57, 0x76, 0xd9, 0x69, 0x78, 0x26, 0x22, 0x18, 0xff, 0x2c, 0x03, 0xf3, 0xbd, + 0xba, 0x84, 0xcc, 0xc3, 0x28, 0x55, 0x72, 0x8e, 0xe4, 0x4d, 0xf9, 0x93, 0x3c, 0x0f, 0xd1, 0x4e, + 0x2f, 0x4e, 0xff, 0x7c, 0x5d, 0xe4, 0x7f, 0x40, 0xd3, 0x76, 0x75, 0x5f, 0x17, 0x06, 0xca, 0x13, + 0x75, 0x75, 0x77, 0x7f, 0x11, 0x20, 0xda, 0xce, 0xb9, 0x62, 0xc2, 0x1c, 0xb3, 0xeb, 0x1e, 0x5f, + 0x79, 0xe4, 0x3c, 0x8c, 0xf0, 0xed, 0x52, 0xf8, 0x3f, 0x88, 0x5f, 0xec, 0xdc, 0x16, 0x9d, 0x8c, + 0xfb, 0x7c, 0x6e, 0x69, 0x42, 0xeb, 0xec, 0x91, 0x16, 0x0e, 0x8e, 0xf1, 0x93, 0x93, 0x5c, 0x84, + 0x28, 0x75, 0x83, 0x7d, 0x29, 0x74, 0x2c, 0xa6, 0x39, 0x80, 0x71, 0x5b, 0x4a, 0xc5, 0x2e, 0x5b, + 0x77, 0xfb, 0x92, 0x6f, 0x3f, 0xd9, 0xd4, 0xb7, 0x9f, 0x37, 0x61, 0xac, 0xbc, 0x4f, 0xeb, 0x07, + 0xa1, 0x13, 0x4e, 0x5e, 0x28, 0xd7, 0x19, 0x90, 0x87, 0xf7, 0x8e, 0x10, 0xc8, 0x0d, 0x00, 0xf4, + 0x3b, 0xe5, 0x12, 0xa9, 0x92, 0xa2, 0x03, 0xdd, 0x54, 0x85, 0x79, 0x8a, 0x82, 0x82, 0xec, 0x6b, + 0xe6, 0x1d, 0xd5, 0x9e, 0x85, 0xb3, 0xf7, 0xbd, 0x5d, 0x81, 0x1e, 0x21, 0xb0, 0xe6, 0x29, 0xfb, + 0x8a, 0x38, 0x05, 0x0b, 0x89, 0xcd, 0x47, 0x45, 0x22, 0xd7, 0x61, 0x6c, 0x43, 0x3a, 0x12, 0xe0, + 0x21, 0x38, 0x81, 0x14, 0x10, 0x39, 0x1d, 0xcc, 0x67, 0xcc, 0x08, 0x85, 0x7c, 0x0e, 0x46, 0xcb, + 0xd4, 0x0b, 0x36, 0x37, 0x57, 0xd1, 0xe8, 0x84, 0x67, 0xb2, 0xc8, 0x63, 0xd6, 0x81, 0x20, 0x68, + 0x7e, 0xe7, 0xb8, 0x38, 0x19, 0x38, 0x2d, 0x1a, 0x46, 0xe8, 0x36, 0x25, 0x36, 0x59, 0x82, 0x02, + 0x7f, 0x16, 0x8f, 0xee, 0x1e, 0x78, 0x32, 0xe6, 0xf9, 0x39, 0x2d, 0xde, 0xd0, 0x0f, 0xe9, 0x4e, + 0x98, 0x73, 0x21, 0x81, 0x4f, 0x96, 0x65, 0xaa, 0x12, 0xb5, 0x99, 0x10, 0x29, 0xc3, 0xe2, 0x3b, + 0x06, 0x6b, 0x6d, 0x92, 0x82, 0x94, 0x60, 0xb2, 0xec, 0xb6, 0x3a, 0x76, 0xe0, 0x60, 0x4e, 0xc7, + 0x23, 0x71, 0x08, 0xa2, 0x42, 0xaf, 0xae, 0x16, 0x68, 0x27, 0xaa, 0x5a, 0x40, 0xee, 0xc0, 0x94, + 0xe9, 0x76, 0xd9, 0x30, 0xc9, 0x5b, 0x38, 0x3f, 0xe7, 0xd0, 0x34, 0xc4, 0x63, 0x25, 0xec, 0x58, + 0x16, 0x57, 0x6e, 0x2d, 0x9a, 0xa9, 0x46, 0x45, 0xd6, 0x53, 0x9e, 0x43, 0xd4, 0xc3, 0x4d, 0xcd, + 0xbc, 0x90, 0x60, 0x96, 0xf2, 0x92, 0x72, 0x0b, 0xc6, 0x6b, 0xb5, 0x07, 0x9b, 0xd4, 0x0f, 0xee, + 0x34, 0xdd, 0x43, 0x3c, 0xdb, 0xf2, 0x22, 0x51, 0x98, 0xef, 0x5a, 0x01, 0xf5, 0x03, 0x6b, 0xb7, + 0xe9, 0x1e, 0x9a, 0x2a, 0x16, 0xf9, 0x3a, 0xeb, 0x0f, 0x45, 0x12, 0x14, 0x71, 0x5b, 0xfb, 0x09, + 0xab, 0x78, 0x82, 0x44, 0x8b, 0x86, 0x89, 0xac, 0x7a, 0x67, 0x29, 0xe8, 0xe8, 0x53, 0xe6, 0xb9, + 0x8f, 0x8f, 0x4a, 0x8d, 0x86, 0x47, 0x7d, 0x5f, 0x1c, 0x42, 0xdc, 0xa7, 0x0c, 0x95, 0x0d, 0x36, + 0x2f, 0xd0, 0x7c, 0xca, 0x14, 0x02, 0xf2, 0xc3, 0x19, 0x38, 0xa7, 0x7a, 0x9b, 0xe0, 0x72, 0x41, + 0x33, 0x17, 0x7e, 0x24, 0xbd, 0x75, 0x5d, 0x1e, 0xc2, 0xd7, 0x15, 0xb4, 0xeb, 0x8f, 0x6e, 0x5e, + 0x2f, 0x45, 0x3f, 0x6b, 0x92, 0x08, 0x63, 0xd0, 0x15, 0x53, 0xf9, 0x69, 0x79, 0x76, 0xe6, 0xec, + 0x14, 0x62, 0x52, 0x66, 0x92, 0x1a, 0x9b, 0x51, 0x68, 0x38, 0x55, 0xdd, 0xc0, 0x33, 0x4d, 0x68, + 0x54, 0xc5, 0xfc, 0xe3, 0x26, 0x56, 0x4e, 0x47, 0x17, 0xc8, 0x14, 0x1a, 0x52, 0x85, 0x69, 0x0e, + 0x60, 0xdb, 0x02, 0x4f, 0x59, 0x34, 0x1b, 0x25, 0x4d, 0x10, 0x6c, 0xf0, 0xad, 0x1f, 0xd3, 0x16, + 0xa9, 0x81, 0x46, 0x63, 0x74, 0xe4, 0x43, 0x98, 0xc2, 0x78, 0xf0, 0xd1, 0x7a, 0x9d, 0xc3, 0x55, + 0x8c, 0xf1, 0x52, 0x45, 0x49, 0xcc, 0xf3, 0x6e, 0xc2, 0xf7, 0xf7, 0xa3, 0x15, 0xfd, 0x21, 0x4c, + 0xa1, 0xad, 0x4e, 0xc4, 0xe0, 0x5c, 0xc4, 0x40, 0x94, 0xc4, 0x19, 0x04, 0x4d, 0x3f, 0x62, 0xf0, + 0xb7, 0x32, 0x70, 0x91, 0x55, 0x94, 0x3e, 0x42, 0xe7, 0x3f, 0xc9, 0x08, 0x61, 0x04, 0xc9, 0x9e, + 0x3c, 0x55, 0x71, 0xd4, 0xf7, 0xf7, 0xd3, 0x38, 0xe0, 0x47, 0xb1, 0x8f, 0x4f, 0xff, 0xa8, 0x0b, + 0x9f, 0xf8, 0xa3, 0x7a, 0xf2, 0x54, 0x3f, 0x2a, 0x68, 0xfa, 0x69, 0x1c, 0xf0, 0x5a, 0x5b, 0x2b, + 0xad, 0xad, 0x46, 0x77, 0xb3, 0xef, 0x2e, 0xb7, 0x15, 0xad, 0x6d, 0x7d, 0xdc, 0x56, 0xb6, 0xb8, + 0x5b, 0xb4, 0xd2, 0x0d, 0xf2, 0x5a, 0xab, 0x81, 0xe3, 0xd7, 0xda, 0x18, 0x8d, 0x19, 0xc3, 0x36, + 0x7e, 0x11, 0x62, 0x7c, 0x85, 0xa9, 0xaa, 0x01, 0x23, 0xfc, 0xd6, 0x2a, 0x3a, 0x19, 0x6d, 0x16, + 0xf8, 0x9d, 0xd6, 0x14, 0x25, 0xe4, 0x22, 0xe4, 0x6a, 0xb5, 0x07, 0xa2, 0x93, 0xd1, 0x60, 0xd5, + 0xf7, 0x5d, 0x93, 0xc1, 0xd8, 0x08, 0xa1, 0x15, 0xaa, 0x12, 0x5f, 0x9f, 0x9d, 0x77, 0x26, 0x42, + 0x59, 0x7f, 0xcb, 0x3b, 0xe4, 0x50, 0xd4, 0xdf, 0xe2, 0x0e, 0x19, 0xdd, 0x1c, 0xcb, 0x30, 0x5f, + 0xf2, 0x7d, 0xea, 0xb1, 0x09, 0x21, 0x8c, 0x1b, 0x3d, 0x71, 0xcf, 0x11, 0x07, 0x3b, 0x56, 0x6a, + 0xd7, 0x7d, 0xb3, 0x27, 0x22, 0xb9, 0x0a, 0xf9, 0x52, 0xb7, 0xe1, 0xd0, 0x76, 0x5d, 0x8b, 0xb3, + 0x66, 0x0b, 0x98, 0x19, 0x96, 0x92, 0x2f, 0xc1, 0xb9, 0x58, 0x48, 0x45, 0xd1, 0x03, 0xa3, 0xd1, + 0xde, 0x2b, 0xef, 0x61, 0x91, 0x41, 0x06, 0xef, 0x92, 0x74, 0x4a, 0x52, 0x82, 0xc2, 0x32, 0xba, + 0x69, 0x55, 0x28, 0x7f, 0x1b, 0x72, 0x3d, 0xee, 0x9f, 0xc7, 0x6f, 0xcd, 0xdc, 0x85, 0xcb, 0x6a, + 0x84, 0x85, 0x66, 0x02, 0x9d, 0xdc, 0x87, 0xd9, 0x38, 0x8c, 0x9d, 0xe0, 0xfc, 0x82, 0x8c, 0xfb, + 0x4d, 0x82, 0x0b, 0x9e, 0xe1, 0x69, 0x54, 0x64, 0x07, 0x66, 0x22, 0x83, 0x24, 0xfd, 0xda, 0x2c, + 0xed, 0x9c, 0xc3, 0x72, 0x79, 0x75, 0x7e, 0x5e, 0x4c, 0xc6, 0xd9, 0xc8, 0xb8, 0x29, 0xbc, 0x3e, + 0x9b, 0x49, 0x76, 0xa4, 0x01, 0x53, 0x35, 0x67, 0xaf, 0xed, 0xb4, 0xf7, 0xee, 0xd3, 0xa3, 0x0d, + 0xdb, 0xf1, 0x84, 0xc5, 0xa9, 0xb4, 0x27, 0x2f, 0xf9, 0x47, 0xad, 0x16, 0x0d, 0x3c, 0xdc, 0x08, + 0x59, 0x39, 0xfa, 0xa0, 0xb3, 0xeb, 0xd0, 0x82, 0xcf, 0xe9, 0xd0, 0x6d, 0xb3, 0x63, 0x3b, 0x9a, + 0x10, 0xa0, 0xf3, 0xd4, 0x54, 0x17, 0x13, 0x03, 0xaa, 0x2e, 0x9a, 0x30, 0xb3, 0xdc, 0xae, 0x7b, + 0x47, 0xf8, 0x44, 0x27, 0x3f, 0x6e, 0xf2, 0x94, 0x8f, 0x7b, 0x45, 0x7c, 0xdc, 0x0b, 0xb6, 0x9c, + 0x61, 0x69, 0x9f, 0x97, 0x64, 0x4c, 0x6a, 0x30, 0x83, 0x17, 0x87, 0x6a, 0x65, 0xa3, 0xda, 0x76, + 0x02, 0xc7, 0x0e, 0x68, 0x43, 0x08, 0x17, 0x61, 0x56, 0x12, 0x7e, 0x45, 0x75, 0x1a, 0x1d, 0xcb, + 0x91, 0x28, 0x2a, 0xd3, 0x04, 0x7d, 0xbf, 0x7b, 0xe2, 0xf4, 0x9f, 0xd3, 0x3d, 0xb1, 0x0a, 0xd3, + 0xf1, 0xd8, 0x0c, 0x85, 0xe8, 0x1c, 0xf6, 0xb1, 0x88, 0x1d, 0xe7, 0x6e, 0x17, 0x85, 0x49, 0x2d, + 0x11, 0xa8, 0x4e, 0x17, 0xbf, 0x72, 0xce, 0x68, 0x57, 0x4e, 0x6d, 0x57, 0x3a, 0xc3, 0x95, 0x93, + 0x6c, 0x00, 0xdc, 0x71, 0xbd, 0x3a, 0x2d, 0xa1, 0x7f, 0x34, 0xd1, 0x72, 0x37, 0x31, 0xa6, 0x51, + 0x21, 0x5f, 0x3f, 0xbb, 0xec, 0xb7, 0x15, 0x77, 0x73, 0x57, 0x78, 0x18, 0x3f, 0x92, 0x85, 0xf9, + 0x5e, 0x9f, 0xd3, 0xe7, 0xba, 0xf7, 0x06, 0x24, 0x57, 0xb8, 0xb8, 0xf6, 0x15, 0x68, 0x7c, 0x9d, + 0x2f, 0x42, 0xfa, 0x42, 0x16, 0xd7, 0xc0, 0xd9, 0x38, 0xc1, 0x96, 0xd7, 0x24, 0xb7, 0x61, 0x5c, + 0xf9, 0x78, 0xdc, 0x4b, 0x7b, 0x35, 0xd5, 0x84, 0xdd, 0xf0, 0x6f, 0x76, 0x4d, 0xe4, 0xfb, 0x96, + 0xbc, 0x26, 0xf2, 0x5f, 0xa4, 0xc0, 0x5d, 0xc4, 0x47, 0xb8, 0x15, 0x80, 0xef, 0xbb, 0x84, 0x00, + 0xee, 0xdb, 0x7c, 0x0b, 0x34, 0xf1, 0x6f, 0xe3, 0xd7, 0x26, 0xf8, 0x89, 0xac, 0xde, 0x12, 0x7b, + 0xd9, 0x07, 0xc7, 0x6e, 0x8f, 0xd9, 0xb3, 0xdc, 0x1e, 0x73, 0xa7, 0xdf, 0x1e, 0x87, 0x4e, 0xbb, + 0x3d, 0xc6, 0xae, 0x77, 0xc3, 0x67, 0xbe, 0xde, 0x8d, 0x9c, 0xe9, 0x7a, 0x37, 0x7a, 0xa6, 0xeb, + 0x9d, 0x76, 0x53, 0xcd, 0x9f, 0x76, 0x53, 0xfd, 0xcb, 0xcb, 0xe0, 0xb3, 0x7a, 0x19, 0x4c, 0x13, + 0xf1, 0xce, 0x74, 0x19, 0xfc, 0xa1, 0x9e, 0x77, 0xb9, 0xc2, 0x27, 0x11, 0xca, 0x5f, 0x1e, 0xe0, + 0x2e, 0x37, 0xe8, 0x4d, 0x6e, 0xe6, 0xe9, 0xdc, 0xe4, 0xc8, 0x53, 0xbb, 0xc9, 0xcd, 0x3e, 0xe9, + 0x4d, 0x6e, 0xee, 0x69, 0xde, 0xe4, 0xce, 0xfd, 0x45, 0xbc, 0xc9, 0x9d, 0xff, 0x37, 0x73, 0x93, + 0xfb, 0x2b, 0x50, 0x88, 0x0b, 0x97, 0xa7, 0x87, 0x31, 0x7e, 0x6a, 0x31, 0x24, 0x99, 0xe8, 0x1b, + 0x17, 0xee, 0xc8, 0x0d, 0x80, 0x0d, 0xcf, 0x79, 0x64, 0x07, 0xf4, 0xbe, 0xb4, 0x7e, 0x13, 0x21, + 0xb8, 0x39, 0x94, 0x8d, 0xbc, 0xa9, 0xa0, 0x84, 0xf7, 0x9a, 0x6c, 0xda, 0xbd, 0xc6, 0xf8, 0xe1, + 0x2c, 0xcc, 0xf0, 0x40, 0x6c, 0xcf, 0xfe, 0x23, 0xec, 0x07, 0xda, 0x6d, 0xf5, 0x85, 0x28, 0xde, + 0xbd, 0xda, 0xba, 0x3e, 0xcf, 0xb0, 0x5f, 0x83, 0x73, 0x89, 0xae, 0xc0, 0x1b, 0x6b, 0x45, 0x86, + 0xc0, 0x4b, 0xdc, 0x59, 0xe7, 0xd3, 0x2b, 0x79, 0x78, 0xcb, 0x4c, 0x50, 0x18, 0x7f, 0x3a, 0x94, + 0xe0, 0x2f, 0x1e, 0x64, 0xd5, 0x27, 0xd6, 0xcc, 0xd9, 0x9e, 0x58, 0xb3, 0x83, 0x3d, 0xb1, 0xc6, + 0x84, 0x8a, 0xdc, 0x20, 0x42, 0xc5, 0x97, 0x60, 0x72, 0x93, 0xda, 0x2d, 0x7f, 0xd3, 0x15, 0xc9, + 0x93, 0xb8, 0xaf, 0x85, 0x8c, 0x70, 0xc7, 0xca, 0xe4, 0x85, 0x2b, 0xb4, 0x19, 0x0d, 0x18, 0x01, + 0x3b, 0x06, 0x79, 0x36, 0x25, 0x53, 0xe7, 0xa0, 0xde, 0xa2, 0x87, 0xfb, 0xdc, 0xa2, 0x6b, 0x30, + 0x21, 0xe8, 0xa2, 0xd8, 0xcd, 0xd1, 0x75, 0x8f, 0x15, 0x21, 0x5c, 0xd6, 0x1e, 0x66, 0x76, 0x0f, + 0x6b, 0xe7, 0x37, 0x3d, 0x8d, 0x09, 0xeb, 0x82, 0xe5, 0x76, 0xa3, 0xe3, 0x3a, 0x6d, 0xec, 0x82, + 0xd1, 0xa8, 0x0b, 0xa8, 0x00, 0xf3, 0x2e, 0x50, 0x90, 0xc8, 0x7b, 0x30, 0x55, 0xda, 0xa8, 0xaa, + 0x64, 0xf9, 0xe8, 0x95, 0xd7, 0xee, 0x38, 0x96, 0x46, 0x1a, 0xc3, 0xed, 0x77, 0xf3, 0x19, 0xfb, + 0xf3, 0xb9, 0xf9, 0x18, 0xff, 0x72, 0x42, 0x2e, 0xef, 0x4f, 0xf7, 0x81, 0x44, 0x7f, 0xf2, 0xc8, + 0x9d, 0xf1, 0xc9, 0x63, 0xe8, 0x34, 0x41, 0x52, 0x93, 0x6f, 0x87, 0xcf, 0x24, 0xdf, 0x8e, 0x3c, + 0xf1, 0xf3, 0xc5, 0xe8, 0x19, 0x25, 0xd6, 0xd8, 0x5a, 0xcb, 0x0f, 0xb2, 0xd6, 0x52, 0xa5, 0xdc, + 0xb1, 0x27, 0x97, 0x72, 0xe1, 0xcc, 0x52, 0x6e, 0x2d, 0xf2, 0x5d, 0x1e, 0x3f, 0xd5, 0x25, 0xe4, + 0x45, 0xa1, 0x15, 0x98, 0x49, 0x8f, 0xc2, 0x17, 0x7a, 0x31, 0x7f, 0x57, 0x89, 0xce, 0xdf, 0x48, + 0x17, 0x9d, 0xfb, 0x9f, 0x37, 0x67, 0x12, 0x9e, 0x7f, 0xf8, 0xe9, 0x0a, 0xcf, 0x4f, 0xf7, 0x21, + 0xe4, 0x2f, 0xc5, 0xe7, 0xbf, 0x14, 0x9f, 0x07, 0x14, 0x9f, 0x3d, 0x5c, 0x5e, 0xdb, 0xb6, 0xd7, + 0x46, 0xb5, 0xd3, 0x0d, 0x18, 0x95, 0x61, 0x48, 0x33, 0x91, 0x46, 0x39, 0x19, 0x7f, 0x54, 0x62, + 0x91, 0x45, 0xc8, 0x4b, 0x62, 0x35, 0xd1, 0xcd, 0xa1, 0x80, 0x69, 0x11, 0x1e, 0x05, 0xcc, 0xf8, + 0xf7, 0x87, 0xe4, 0x16, 0xce, 0xe6, 0xcc, 0x86, 0xed, 0xd9, 0x2d, 0x4c, 0xff, 0x16, 0xae, 0x30, + 0x45, 0x78, 0x8f, 0x2d, 0xca, 0x98, 0x69, 0xbf, 0x4e, 0xf2, 0x89, 0x02, 0xc3, 0x46, 0x19, 0x76, + 0x73, 0x03, 0x64, 0xd8, 0x7d, 0x47, 0x4b, 0x4f, 0x3b, 0x14, 0xe5, 0x43, 0x64, 0xdb, 0x5a, 0xff, + 0xc4, 0xb4, 0xb7, 0xd5, 0x3c, 0xb2, 0xc3, 0x51, 0x54, 0x2f, 0xa4, 0xec, 0x93, 0x41, 0x36, 0xbc, + 0x8d, 0x8c, 0x9c, 0x25, 0xe4, 0xf2, 0xe8, 0xbf, 0xd1, 0x90, 0xcb, 0xcb, 0x00, 0xe2, 0xa8, 0x8d, + 0xcc, 0x13, 0x5e, 0xc5, 0xd5, 0x2f, 0xcc, 0x94, 0x83, 0xa0, 0xd9, 0x23, 0x27, 0x87, 0x42, 0x68, + 0xfc, 0x1e, 0x81, 0x99, 0x5a, 0xed, 0x41, 0xc5, 0xb1, 0xf7, 0xda, 0xae, 0x1f, 0x38, 0xf5, 0x6a, + 0x7b, 0xd7, 0x65, 0xa2, 0x78, 0x78, 0x1c, 0x28, 0xb1, 0x75, 0xa3, 0xa3, 0x20, 0x2c, 0x66, 0x57, + 0xbd, 0x65, 0xcf, 0x93, 0xfa, 0x51, 0x7e, 0xd5, 0xa3, 0x0c, 0x60, 0x72, 0x38, 0x93, 0x76, 0x6b, + 0x5d, 0x8c, 0x6c, 0x21, 0x6c, 0x46, 0x50, 0xda, 0xf5, 0x39, 0xc8, 0x94, 0x65, 0x84, 0x26, 0x27, + 0xac, 0xb8, 0xfd, 0x5c, 0xd0, 0x02, 0x37, 0x47, 0xc5, 0xfc, 0xb0, 0x13, 0xc2, 0x08, 0x6e, 0x9b, + 0x1d, 0x84, 0xab, 0x16, 0x71, 0x89, 0x35, 0x70, 0x04, 0xe7, 0x34, 0x9f, 0xe7, 0x41, 0x1f, 0x53, + 0x5e, 0x17, 0xd2, 0xb5, 0x81, 0x21, 0x36, 0x52, 0x5e, 0x54, 0xd4, 0x7c, 0x6e, 0xa9, 0x35, 0xb0, + 0xf3, 0xec, 0xc5, 0xd4, 0x92, 0x70, 0x75, 0x8f, 0x6b, 0xc1, 0xb3, 0x95, 0x4d, 0x83, 0x67, 0xae, + 0xeb, 0x55, 0xb5, 0x95, 0xb2, 0x15, 0xf4, 0xaf, 0x89, 0xfc, 0x7a, 0x06, 0x2e, 0x68, 0x18, 0xe1, + 0x76, 0xe5, 0x87, 0xe1, 0x40, 0x52, 0xe7, 0xf5, 0xc7, 0x4f, 0x67, 0x5e, 0xbf, 0xac, 0xb7, 0x25, + 0xda, 0x50, 0xd5, 0x36, 0xf4, 0xfa, 0x42, 0xf2, 0x08, 0x66, 0xb0, 0x48, 0x3e, 0xec, 0xb0, 0x39, + 0x2b, 0xde, 0x83, 0xe6, 0xa2, 0xcf, 0xe6, 0x7e, 0xfc, 0x98, 0x7d, 0x7c, 0xf1, 0xdb, 0xc7, 0xc5, + 0x49, 0x0d, 0x5d, 0x86, 0xa3, 0xb6, 0xa2, 0xd7, 0x21, 0xa7, 0xbd, 0xeb, 0x6a, 0xa9, 0xe5, 0xe3, + 0x55, 0x90, 0xff, 0x2a, 0xc3, 0x9f, 0x13, 0x78, 0x33, 0xee, 0x78, 0x6e, 0x2b, 0x2c, 0x97, 0xa6, + 0x95, 0x3d, 0xba, 0xad, 0xf9, 0x74, 0xba, 0xed, 0x55, 0xfc, 0x64, 0xbe, 0x27, 0x58, 0xbb, 0x9e, + 0xdb, 0x8a, 0x3e, 0x5f, 0xed, 0xb8, 0x9e, 0x1f, 0x49, 0xbe, 0x3f, 0x03, 0x17, 0x35, 0xad, 0xa6, + 0x9a, 0x1b, 0x44, 0x44, 0x4b, 0x98, 0x0d, 0xe3, 0xa8, 0x44, 0x45, 0x4b, 0xd7, 0xc5, 0xfc, 0xbf, + 0x82, 0x5f, 0xa0, 0x84, 0xed, 0x64, 0x48, 0x56, 0x8b, 0x63, 0x29, 0x9f, 0xd0, 0xbb, 0x16, 0xe2, + 0xc0, 0x0c, 0x5a, 0xd9, 0x68, 0x26, 0xc0, 0x73, 0xbd, 0x4d, 0x80, 0xc3, 0xac, 0x3f, 0x98, 0x11, + 0xa0, 0xb7, 0x1d, 0x70, 0x92, 0x2b, 0xf9, 0xab, 0x70, 0x31, 0x01, 0x0c, 0x57, 0xdb, 0xb9, 0x9e, + 0xab, 0xed, 0x8d, 0x93, 0xe3, 0xe2, 0x6b, 0x69, 0xb5, 0xa5, 0xad, 0xb4, 0xde, 0x35, 0x10, 0x1b, + 0x20, 0x2a, 0x14, 0xe2, 0x47, 0xfa, 0x04, 0x7d, 0x43, 0xcc, 0x0f, 0x05, 0x9f, 0xed, 0xe5, 0xca, + 0x37, 0xa8, 0x47, 0x5e, 0x84, 0x44, 0x28, 0x4c, 0x28, 0xd9, 0x10, 0x8e, 0x84, 0xb1, 0x47, 0x8f, + 0x4a, 0xbe, 0x7d, 0x5c, 0xd4, 0xb0, 0xd9, 0x85, 0x48, 0x4d, 0xb3, 0xa0, 0x49, 0x7b, 0x2a, 0x22, + 0xf9, 0xd5, 0x0c, 0xcc, 0x31, 0x40, 0x34, 0xa9, 0x44, 0xa3, 0xe6, 0xfb, 0xcd, 0xfa, 0xfd, 0xa7, + 0x33, 0xeb, 0x5f, 0xc2, 0x6f, 0x54, 0x67, 0x7d, 0xa2, 0x4b, 0x52, 0x3f, 0x0e, 0x67, 0xbb, 0x66, + 0xd0, 0xa5, 0xcd, 0xf6, 0x8b, 0x03, 0xcc, 0x76, 0x3e, 0x00, 0xa7, 0xcf, 0xf6, 0x9e, 0xb5, 0x90, + 0x4d, 0x98, 0x10, 0x77, 0x21, 0xde, 0x61, 0x97, 0xb4, 0x30, 0xce, 0x6a, 0x11, 0xbf, 0xa0, 0x8a, + 0x64, 0x11, 0x89, 0x16, 0x6a, 0x5c, 0x48, 0x1b, 0x66, 0xf9, 0x6f, 0x5d, 0x37, 0x55, 0xec, 0xa9, + 0x9b, 0xba, 0x2a, 0x5a, 0x74, 0x59, 0xf0, 0x8f, 0xa9, 0xa8, 0xd4, 0xf0, 0x4b, 0x29, 0x8c, 0x49, + 0x07, 0x88, 0x06, 0xe6, 0x8b, 0xf6, 0x72, 0x7f, 0x8d, 0xd4, 0x6b, 0xa2, 0xce, 0x62, 0xbc, 0xce, + 0xf8, 0xca, 0x4d, 0xe1, 0x4d, 0x6c, 0x98, 0x16, 0x50, 0xf7, 0x80, 0xf2, 0x1d, 0xfe, 0x25, 0x2d, + 0x00, 0x56, 0xac, 0x94, 0x5f, 0xa2, 0x64, 0x4d, 0x18, 0xa0, 0x2c, 0xb6, 0xa1, 0xc7, 0xf9, 0x91, + 0x07, 0x30, 0x53, 0xea, 0x74, 0x9a, 0x0e, 0x6d, 0x60, 0x2b, 0xcd, 0x2e, 0x6b, 0x93, 0x11, 0xe5, + 0x5b, 0xb3, 0x79, 0xa1, 0xb8, 0xd9, 0x79, 0xdd, 0xd8, 0x76, 0x93, 0xa0, 0x35, 0x7e, 0x28, 0x93, + 0xf8, 0x68, 0xf2, 0x26, 0x8c, 0xe1, 0x0f, 0x25, 0xa6, 0x0a, 0xaa, 0x78, 0xf8, 0x27, 0xa2, 0xf2, + 0x28, 0x42, 0x60, 0xc2, 0x92, 0x1a, 0x57, 0x31, 0xc7, 0x85, 0x25, 0xa1, 0x57, 0x88, 0x34, 0x09, + 0x45, 0xe9, 0x9a, 0x91, 0x8b, 0x84, 0x2e, 0x74, 0xcd, 0x10, 0x0e, 0x19, 0xc6, 0xf7, 0x67, 0xf5, + 0x69, 0x47, 0xae, 0x2a, 0x72, 0xbb, 0x12, 0xd9, 0x51, 0xca, 0xed, 0x8a, 0xb4, 0xfe, 0x0f, 0x32, + 0x30, 0xfb, 0x40, 0x49, 0xd4, 0xb9, 0xe9, 0xe2, 0xb8, 0xf4, 0x4f, 0x5d, 0xf9, 0xb4, 0x52, 0xf0, + 0xa9, 0x19, 0x42, 0xd9, 0x4c, 0xc1, 0x29, 0x63, 0xa6, 0x7d, 0x0f, 0x3a, 0xbb, 0xe1, 0x87, 0x29, + 0x99, 0x10, 0x39, 0x3a, 0x87, 0x1b, 0x3f, 0x96, 0x85, 0x71, 0x65, 0x09, 0x90, 0xcf, 0xc2, 0x84, + 0xca, 0x47, 0x55, 0xf8, 0xa9, 0xd5, 0x9a, 0x1a, 0x16, 0x6a, 0xfc, 0xa8, 0xdd, 0xd2, 0x34, 0x7e, + 0x6c, 0xa2, 0x23, 0xf4, 0x8c, 0x57, 0x9b, 0x0f, 0x53, 0xae, 0x36, 0x38, 0x6d, 0x15, 0x8d, 0x4d, + 0xdf, 0x0b, 0xce, 0x7b, 0xc9, 0x0b, 0x0e, 0x2a, 0x8f, 0x14, 0xfa, 0xde, 0xd7, 0x1c, 0xe3, 0x27, + 0x33, 0x50, 0x88, 0x2f, 0xd2, 0x4f, 0xa5, 0x57, 0xce, 0xf0, 0xba, 0xf3, 0xa3, 0xd9, 0x30, 0x15, + 0x8a, 0x74, 0xe1, 0x7d, 0x56, 0xcd, 0x04, 0xdf, 0xd7, 0x1e, 0x5e, 0x9e, 0xd7, 0xa3, 0xd1, 0xa9, + 0xc1, 0x2f, 0xd2, 0x43, 0x50, 0x0e, 0xfd, 0xec, 0x2f, 0x14, 0x9f, 0x33, 0x3e, 0x82, 0xb9, 0x78, + 0x77, 0xe0, 0xe3, 0x4b, 0x09, 0xa6, 0x75, 0x78, 0x3c, 0x91, 0x52, 0x9c, 0xca, 0x8c, 0xe3, 0x1b, + 0x7f, 0x90, 0x8d, 0xf3, 0x16, 0x26, 0x83, 0x6c, 0xd3, 0x51, 0x0d, 0x61, 0xc4, 0xa6, 0xc3, 0x41, + 0xa6, 0x2c, 0x3b, 0x4b, 0x02, 0xb3, 0xd0, 0x11, 0x35, 0x97, 0xee, 0x88, 0x4a, 0x6e, 0xc7, 0xac, + 0xa4, 0x95, 0xa8, 0x49, 0x87, 0x74, 0xc7, 0x8a, 0x2c, 0xa5, 0x63, 0xc6, 0xd1, 0x65, 0x98, 0xd3, + 0x42, 0x80, 0x4b, 0xfa, 0xe1, 0x48, 0xd7, 0x1e, 0x60, 0x01, 0x27, 0x4e, 0x45, 0x26, 0x2b, 0x30, + 0xca, 0x3e, 0x73, 0xcd, 0xee, 0x88, 0x37, 0x15, 0x12, 0xba, 0xa5, 0x37, 0xc3, 0x0b, 0x9f, 0xe2, + 0x99, 0xde, 0xa4, 0xec, 0xc8, 0x57, 0x27, 0x96, 0x40, 0x34, 0xfe, 0x45, 0x86, 0xad, 0xff, 0xfa, + 0xc1, 0x77, 0x59, 0x16, 0x34, 0xd6, 0xa4, 0x3e, 0x16, 0xad, 0x7f, 0x94, 0xe5, 0xb9, 0x70, 0xc4, + 0xf4, 0x79, 0x07, 0x46, 0x36, 0x6d, 0x6f, 0x4f, 0xe4, 0xa0, 0xd6, 0xb9, 0xf0, 0x82, 0x28, 0xa6, + 0x53, 0x80, 0xbf, 0x4d, 0x41, 0xa0, 0xea, 0xc2, 0xb2, 0x03, 0xe9, 0xc2, 0x14, 0xbd, 0x7c, 0xee, + 0xa9, 0xe9, 0xe5, 0xbf, 0x27, 0x4c, 0x7b, 0x53, 0x0a, 0x06, 0x88, 0x30, 0x7d, 0x39, 0x9e, 0x36, + 0x2a, 0x11, 0x0b, 0x3c, 0x62, 0x47, 0x6e, 0xab, 0x89, 0xa8, 0x14, 0xdf, 0xce, 0x53, 0x52, 0x4e, + 0x19, 0x7f, 0x94, 0xe3, 0x7d, 0x2c, 0x3a, 0xea, 0x8a, 0xe6, 0xf7, 0x8d, 0xeb, 0x84, 0x6d, 0xf4, + 0x6a, 0x08, 0x0e, 0x34, 0x9b, 0xba, 0x02, 0x43, 0x6c, 0x6e, 0x8a, 0xde, 0x44, 0x3c, 0x36, 0x7f, + 0x55, 0x3c, 0x56, 0xce, 0xd6, 0x32, 0x9e, 0x49, 0x6a, 0x86, 0x41, 0x3c, 0xb6, 0xd4, 0xb5, 0x8c, + 0x18, 0xe4, 0x2a, 0x0c, 0xad, 0xbb, 0x0d, 0x19, 0xc9, 0x7c, 0x0e, 0xa3, 0x7f, 0x68, 0x29, 0x4c, + 0xe7, 0x33, 0x26, 0x62, 0xb0, 0xb6, 0x86, 0xf9, 0x1f, 0xd4, 0xb6, 0xb6, 0x76, 0xed, 0x64, 0xe6, + 0x38, 0x25, 0xe9, 0xcc, 0x32, 0x4c, 0xe9, 0x79, 0xf6, 0x85, 0xbd, 0x2f, 0x6a, 0xd7, 0x63, 0xe9, + 0xfa, 0xd5, 0x67, 0x11, 0x9d, 0x88, 0x2c, 0xc1, 0xa4, 0x16, 0x41, 0x55, 0x3c, 0x6e, 0xa2, 0x7a, + 0x53, 0x8f, 0xbf, 0xaa, 0xaa, 0x37, 0x35, 0x12, 0x76, 0x9e, 0x8b, 0xef, 0x57, 0x9e, 0x38, 0x13, + 0xdf, 0x2e, 0x70, 0xc8, 0x2d, 0xc8, 0xf3, 0x30, 0x1b, 0xd5, 0x8a, 0xfa, 0x4c, 0xe5, 0x23, 0x2c, + 0x16, 0xa6, 0x46, 0x22, 0x2a, 0x61, 0x15, 0x3e, 0x03, 0x05, 0xb1, 0x25, 0x45, 0xc9, 0xcf, 0x5f, + 0x80, 0xa1, 0x72, 0xb5, 0x62, 0xaa, 0xdb, 0x48, 0xdd, 0x69, 0x78, 0x26, 0x42, 0xd1, 0xab, 0x6e, + 0x9d, 0x06, 0x87, 0xae, 0x77, 0x60, 0x52, 0x3f, 0xf0, 0x1c, 0x9e, 0xa0, 0x12, 0x17, 0xe2, 0x67, + 0xc9, 0x7b, 0x30, 0x8c, 0x86, 0xa7, 0xb1, 0x93, 0x21, 0x5e, 0xc7, 0xd2, 0xa4, 0x98, 0xc0, 0xc3, + 0x68, 0xc5, 0x6a, 0x72, 0x22, 0xf2, 0x0e, 0x0c, 0x55, 0x68, 0xfb, 0x28, 0x96, 0x3b, 0x2f, 0x41, + 0x1c, 0x6e, 0x08, 0x0d, 0xda, 0x3e, 0x32, 0x91, 0xc4, 0xf8, 0xc9, 0x2c, 0x9c, 0x4b, 0xf9, 0xac, + 0x87, 0x9f, 0x7d, 0x46, 0x77, 0xc5, 0x25, 0x6d, 0x57, 0x94, 0xef, 0xd3, 0x3d, 0x3b, 0x3e, 0x75, + 0x93, 0xfc, 0xb9, 0x0c, 0x5c, 0xd0, 0x27, 0xa8, 0xb0, 0x34, 0x7f, 0x78, 0x8b, 0xbc, 0x0b, 0x23, + 0x2b, 0xd4, 0x6e, 0x50, 0x99, 0x57, 0xeb, 0x5c, 0x18, 0x10, 0x8f, 0xc7, 0x10, 0xe0, 0x85, 0x9c, + 0x6d, 0xe4, 0x71, 0xca, 0xa1, 0xa4, 0x22, 0x3e, 0x8e, 0xcb, 0xe3, 0x86, 0x8c, 0xe7, 0x91, 0x56, + 0x55, 0x1f, 0x2b, 0x8f, 0x6f, 0x67, 0xe0, 0xf9, 0x3e, 0x34, 0x6c, 0xe0, 0xd8, 0xd0, 0xab, 0x03, + 0x87, 0x27, 0x2a, 0x42, 0xc9, 0x07, 0x30, 0xbd, 0x29, 0xe4, 0x79, 0x39, 0x1c, 0xd9, 0x68, 0xbd, + 0x48, 0x51, 0xdf, 0x92, 0xe3, 0x12, 0x47, 0xd6, 0x02, 0xcd, 0xe4, 0xfa, 0x06, 0x9a, 0x51, 0xe3, + 0xb6, 0x0c, 0x0d, 0x1a, 0xb7, 0xe5, 0x23, 0x98, 0xd3, 0xdb, 0x26, 0xc2, 0xe7, 0x46, 0x51, 0x6b, + 0x32, 0xbd, 0xa3, 0xd6, 0xf4, 0x0d, 0xd2, 0x69, 0xfc, 0x58, 0x06, 0x0a, 0x3a, 0xef, 0x27, 0x1d, + 0xcf, 0xf7, 0xb5, 0xf1, 0x7c, 0x3e, 0x7d, 0x3c, 0x7b, 0x0f, 0xe4, 0xff, 0x9d, 0x89, 0x37, 0x76, + 0xa0, 0x11, 0x34, 0x60, 0xa4, 0xe2, 0xb6, 0x6c, 0xa7, 0xad, 0xe6, 0xd2, 0x6f, 0x20, 0xc4, 0x14, + 0x25, 0x83, 0x05, 0xf9, 0xb9, 0x0c, 0xc3, 0xeb, 0x6e, 0xbb, 0x54, 0x11, 0x26, 0xbd, 0xc8, 0xa7, + 0xed, 0xb6, 0x2d, 0xbb, 0x61, 0xf2, 0x02, 0xb2, 0x0a, 0x50, 0xab, 0x7b, 0x94, 0xb6, 0x6b, 0xce, + 0xf7, 0xd2, 0x98, 0xa4, 0xc1, 0x7a, 0xa8, 0xd9, 0xc5, 0x8d, 0x85, 0x3f, 0x5d, 0x22, 0xa2, 0xe5, + 0x3b, 0xdf, 0xab, 0xee, 0xb7, 0x0a, 0x3d, 0xae, 0x2b, 0x11, 0x07, 0x2d, 0x36, 0x0e, 0x37, 0x3f, + 0x8d, 0x75, 0x95, 0x5a, 0x15, 0xf6, 0xf0, 0xcd, 0xd4, 0xe1, 0xf8, 0xfd, 0x0c, 0x3c, 0xdf, 0x87, + 0xe6, 0x29, 0x8c, 0xca, 0x9f, 0x77, 0x87, 0x53, 0x80, 0x88, 0x08, 0x53, 0x13, 0x3b, 0x8d, 0x80, + 0xe7, 0xca, 0x9b, 0x14, 0xa9, 0x89, 0x19, 0x40, 0x4b, 0x4d, 0xcc, 0x00, 0xec, 0x2c, 0x5d, 0xa1, + 0xce, 0xde, 0x3e, 0x37, 0xcf, 0x9a, 0xe4, 0x7b, 0xc3, 0x3e, 0x42, 0xd4, 0xb3, 0x94, 0xe3, 0x18, + 0xff, 0x6a, 0x18, 0x2e, 0x9a, 0x74, 0xcf, 0x61, 0xf7, 0x92, 0x2d, 0xdf, 0x69, 0xef, 0x69, 0x71, + 0x6f, 0x8c, 0xd8, 0xca, 0x15, 0x49, 0x22, 0x18, 0x24, 0x9c, 0x89, 0xd7, 0x20, 0xcf, 0xc4, 0x10, + 0x65, 0xf1, 0xe2, 0xa3, 0x15, 0x13, 0x56, 0x44, 0x60, 0x65, 0x59, 0x4c, 0x5e, 0x17, 0x62, 0x92, + 0x92, 0xc6, 0x87, 0x89, 0x49, 0xdf, 0x39, 0x2e, 0x42, 0xed, 0xc8, 0x0f, 0x28, 0x5e, 0x91, 0x85, + 0xa8, 0x14, 0xde, 0x65, 0x86, 0x7a, 0xdc, 0x65, 0xd6, 0x60, 0xae, 0xd4, 0xe0, 0xa7, 0xa3, 0xdd, + 0xdc, 0xf0, 0x9c, 0x76, 0xdd, 0xe9, 0xd8, 0x4d, 0x79, 0x3f, 0xc7, 0x5e, 0xb6, 0xc3, 0x72, 0xab, + 0x13, 0x22, 0x98, 0xa9, 0x64, 0xac, 0x19, 0x95, 0xf5, 0x1a, 0x86, 0x87, 0x11, 0xef, 0x91, 0xd8, + 0x8c, 0x46, 0xdb, 0xc7, 0x56, 0xf8, 0x66, 0x58, 0x8c, 0xb7, 0x28, 0x7c, 0x90, 0xdf, 0x5c, 0xad, + 0x45, 0x2e, 0xcd, 0x3c, 0xcb, 0x00, 0x7f, 0xd8, 0x0f, 0x9a, 0x3e, 0x9a, 0x42, 0x6a, 0x78, 0x11, + 0x5d, 0xad, 0xb6, 0xc2, 0xe8, 0xf2, 0x09, 0x3a, 0xdf, 0xdf, 0x57, 0xe9, 0x38, 0x1e, 0xb9, 0xc1, + 0xa6, 0x42, 0xcb, 0x0d, 0x28, 0x4e, 0xe1, 0xb1, 0xe8, 0xce, 0xe5, 0x21, 0x94, 0xdf, 0xb9, 0x14, + 0x14, 0xf2, 0x1e, 0xcc, 0x2e, 0x97, 0x17, 0xa5, 0x16, 0xb9, 0xe2, 0xd6, 0xbb, 0xf8, 0x10, 0x0f, + 0x58, 0x1f, 0x8e, 0x21, 0xad, 0x2f, 0xb2, 0xdd, 0x24, 0x0d, 0x8d, 0x5c, 0x81, 0xd1, 0x6a, 0x85, + 0xf7, 0xfd, 0xb8, 0x9a, 0x4a, 0x4b, 0x58, 0x46, 0xc9, 0x42, 0xf2, 0x20, 0xba, 0x14, 0x4c, 0x9c, + 0x2a, 0xbd, 0x5f, 0x1c, 0xe0, 0x42, 0xf0, 0x0e, 0x4c, 0x2e, 0xb9, 0x41, 0xb5, 0xed, 0x07, 0x76, + 0xbb, 0x4e, 0xab, 0x15, 0x35, 0xae, 0xf5, 0x8e, 0x1b, 0x58, 0x8e, 0x28, 0x61, 0x5f, 0xae, 0x63, + 0x92, 0xcf, 0x23, 0xe9, 0x5d, 0xda, 0xa6, 0x5e, 0x14, 0xcf, 0x7a, 0x98, 0xf7, 0x2d, 0x23, 0xdd, + 0x0b, 0x4b, 0x4c, 0x1d, 0x51, 0xa4, 0xf9, 0xe2, 0xc9, 0x39, 0xcb, 0x6e, 0x83, 0xfa, 0x7c, 0xb7, + 0xf8, 0x2e, 0x4a, 0xf3, 0xa5, 0xb4, 0xad, 0xcf, 0x0e, 0xfa, 0xef, 0x62, 0x9a, 0xaf, 0x04, 0x2e, + 0xf9, 0x3c, 0x0c, 0xe3, 0x4f, 0x21, 0xdd, 0xce, 0xa6, 0xb0, 0x8d, 0x24, 0xdb, 0x3a, 0xc3, 0x34, + 0x39, 0x01, 0xa9, 0xc2, 0xa8, 0xb8, 0x58, 0x9d, 0x25, 0x59, 0x8d, 0xb8, 0xa1, 0xf1, 0x99, 0x21, + 0xe8, 0x8d, 0x06, 0x4c, 0xa8, 0x15, 0xb2, 0x15, 0xb1, 0x62, 0xfb, 0xfb, 0xb4, 0xc1, 0x7e, 0x89, + 0x3c, 0x73, 0xb8, 0x22, 0xf6, 0x11, 0x6a, 0xb1, 0xef, 0x30, 0x15, 0x14, 0x76, 0xa6, 0x56, 0xfd, + 0x2d, 0x5f, 0x7c, 0x8a, 0x50, 0xb5, 0x38, 0xa8, 0xb6, 0x6b, 0x98, 0xa2, 0xc8, 0xf8, 0x1e, 0x98, + 0x5b, 0xef, 0x36, 0x9b, 0xf6, 0x4e, 0x93, 0xca, 0x3c, 0x24, 0x98, 0xc1, 0x7b, 0x09, 0x86, 0x6b, + 0x4a, 0x4e, 0xf0, 0x30, 0x17, 0xa4, 0x82, 0x83, 0x46, 0xa8, 0x19, 0x0c, 0xd5, 0x13, 0xcb, 0x06, + 0xce, 0x49, 0x8d, 0xdf, 0xcd, 0xc0, 0x9c, 0x7c, 0xff, 0xf7, 0xec, 0xfa, 0x41, 0x98, 0x18, 0xfe, + 0x8a, 0x36, 0xd7, 0x70, 0xc2, 0xc6, 0xa6, 0x11, 0x9f, 0x75, 0xf7, 0xe4, 0x47, 0xe8, 0x02, 0x4b, + 0xda, 0x07, 0x9f, 0xf6, 0x31, 0xe4, 0x3d, 0x18, 0x17, 0xc7, 0xa3, 0x12, 0x60, 0x12, 0xa3, 0x78, + 0x89, 0xeb, 0x5e, 0xdc, 0x1a, 0x45, 0x45, 0x47, 0x59, 0x4c, 0x6f, 0xca, 0x93, 0xca, 0x00, 0xe9, + 0xb2, 0x98, 0x5e, 0x47, 0x9f, 0xa9, 0xfb, 0x9b, 0xe3, 0xf1, 0xbe, 0x15, 0x73, 0xf7, 0xb6, 0x1a, + 0x52, 0x2e, 0x13, 0xdd, 0x8c, 0xa3, 0x90, 0x72, 0xea, 0xcd, 0x38, 0x44, 0x0d, 0xc7, 0x24, 0x7b, + 0xca, 0x98, 0x7c, 0x20, 0xc7, 0x24, 0xd7, 0x7b, 0x62, 0xcc, 0xf6, 0x19, 0x87, 0x5a, 0xb4, 0x42, + 0x86, 0x06, 0x52, 0xab, 0x3c, 0x87, 0xb1, 0xf3, 0x39, 0x49, 0x7c, 0x17, 0x15, 0x9c, 0x54, 0x5d, + 0xcd, 0xf0, 0xe0, 0x4c, 0x4f, 0xd9, 0x9a, 0xbf, 0x00, 0x13, 0xa5, 0x20, 0xb0, 0xeb, 0xfb, 0xb4, + 0x51, 0x61, 0xdb, 0x93, 0x12, 0xfd, 0xca, 0x16, 0x70, 0xf5, 0xd1, 0x4c, 0xc5, 0xe5, 0xd1, 0x5c, + 0x6d, 0x5f, 0x18, 0xb3, 0x86, 0xd1, 0x5c, 0x19, 0x44, 0x8f, 0xe6, 0xca, 0x20, 0xe4, 0x06, 0x8c, + 0x56, 0xdb, 0x8f, 0x1c, 0xd6, 0x27, 0x3c, 0x00, 0x16, 0xea, 0xa6, 0x1c, 0x0e, 0x52, 0x37, 0x57, + 0x81, 0x45, 0xde, 0x51, 0x2e, 0x35, 0x63, 0x91, 0x02, 0x83, 0xab, 0xbc, 0xc2, 0x08, 0x37, 0xea, + 0x85, 0x25, 0xbc, 0xe5, 0xdc, 0x86, 0x51, 0xa9, 0xc9, 0x84, 0x48, 0x69, 0x21, 0x28, 0x93, 0x01, + 0x23, 0x24, 0x32, 0x26, 0xf9, 0x56, 0xf2, 0xe5, 0x8d, 0x2b, 0x49, 0xbe, 0x95, 0x7c, 0x79, 0x5a, + 0x92, 0x6f, 0x25, 0x73, 0x5e, 0xa8, 0x04, 0x9a, 0x38, 0x55, 0x09, 0xf4, 0x10, 0x26, 0x36, 0x6c, + 0x2f, 0x70, 0x98, 0x8c, 0xd2, 0x0e, 0xfc, 0xf9, 0x49, 0x4d, 0x6f, 0xaa, 0x14, 0x2d, 0x5d, 0x92, + 0x79, 0xa9, 0x3b, 0x0a, 0xbe, 0x9e, 0x40, 0x39, 0x82, 0xa7, 0x9b, 0xb2, 0x4e, 0x3d, 0x89, 0x29, + 0x2b, 0x76, 0x2a, 0xea, 0xca, 0xa6, 0x23, 0x8d, 0x0c, 0x5e, 0x5a, 0x62, 0x0a, 0xb3, 0x10, 0x91, + 0x7c, 0x15, 0x26, 0xd8, 0xdf, 0x1b, 0x6e, 0xd3, 0xa9, 0x3b, 0xd4, 0x9f, 0x2f, 0x60, 0xe3, 0x2e, + 0xa5, 0xae, 0x7e, 0x44, 0x3a, 0xaa, 0xd1, 0x80, 0x2f, 0x60, 0x64, 0x1c, 0x57, 0x82, 0x6b, 0xdc, + 0xc8, 0x87, 0x30, 0xc1, 0x66, 0xdf, 0x8e, 0xed, 0x73, 0xd1, 0x74, 0x26, 0x32, 0x46, 0x6e, 0x08, + 0x78, 0x22, 0xa0, 0xb2, 0x4a, 0xc0, 0x8e, 0xf9, 0x52, 0x87, 0x6f, 0x90, 0x44, 0x99, 0xed, 0x9d, + 0xc4, 0xe6, 0x28, 0xd1, 0xc8, 0x17, 0x61, 0xa2, 0xd4, 0xe9, 0x44, 0x3b, 0xce, 0xac, 0xa2, 0x08, + 0xeb, 0x74, 0xac, 0xd4, 0x5d, 0x47, 0xa3, 0x88, 0x6f, 0xcc, 0x73, 0x67, 0xda, 0x98, 0xc9, 0x5b, + 0xa1, 0xb4, 0x7e, 0x2e, 0xd2, 0xea, 0x8a, 0x8b, 0xa3, 0x26, 0xfa, 0x73, 0xc1, 0xbd, 0x0c, 0x93, + 0x5c, 0xcd, 0x29, 0xa5, 0x99, 0xf3, 0x89, 0xd5, 0x93, 0x22, 0xd4, 0xe8, 0x34, 0x64, 0x19, 0xa6, + 0xb8, 0xb7, 0x75, 0x53, 0x44, 0xba, 0x9e, 0xbf, 0x80, 0xab, 0x16, 0xb9, 0x70, 0x27, 0xed, 0x26, + 0x26, 0x40, 0xb1, 0x35, 0x2e, 0x31, 0x22, 0xe3, 0x8f, 0x33, 0x70, 0xa1, 0xc7, 0x88, 0x87, 0x71, + 0x90, 0x33, 0xfd, 0xe3, 0x20, 0xb3, 0x9d, 0x43, 0xd7, 0x8a, 0x60, 0xfb, 0x85, 0x94, 0xa5, 0x8e, + 0x97, 0x94, 0xb7, 0x5c, 0x20, 0x22, 0xc7, 0x90, 0xa8, 0xfa, 0x9e, 0x8b, 0xaa, 0xd9, 0x5c, 0xf2, + 0x10, 0x12, 0x78, 0xfc, 0xa3, 0x96, 0x8c, 0x93, 0xe3, 0xe2, 0x25, 0x91, 0xc2, 0x28, 0x1c, 0xd6, + 0x8f, 0x5d, 0x6d, 0x05, 0xa7, 0xb0, 0x36, 0x8e, 0x33, 0x30, 0xae, 0xac, 0x43, 0x72, 0x59, 0xf1, + 0x02, 0x2e, 0xf0, 0x24, 0x58, 0x0a, 0x87, 0x2c, 0x3f, 0x89, 0x70, 0x51, 0x65, 0x4f, 0x57, 0x40, + 0xaf, 0x31, 0x51, 0x48, 0x89, 0x15, 0xdd, 0xd2, 0xb4, 0xc5, 0x26, 0x96, 0x63, 0x3a, 0x7d, 0xdb, + 0x0f, 0x4a, 0xf5, 0xc0, 0x79, 0x44, 0x07, 0x38, 0x74, 0xa2, 0x74, 0xfa, 0xb6, 0x1f, 0x58, 0x36, + 0x92, 0x25, 0xd2, 0xe9, 0x87, 0x0c, 0x8d, 0xbf, 0x9e, 0x01, 0xd8, 0xaa, 0x96, 0x31, 0xd8, 0xfb, + 0x93, 0x0a, 0x05, 0xe9, 0x01, 0x74, 0x25, 0xf7, 0x3e, 0xe2, 0xc0, 0xff, 0x94, 0x81, 0x29, 0x1d, + 0x8d, 0x7c, 0x00, 0xd3, 0xb5, 0xba, 0xe7, 0x36, 0x9b, 0x3b, 0x76, 0xfd, 0x60, 0xd5, 0x69, 0x53, + 0x1e, 0xba, 0x74, 0x98, 0x9f, 0x45, 0x7e, 0x58, 0x64, 0x35, 0x59, 0x99, 0x19, 0x47, 0x26, 0x7f, + 0x23, 0x03, 0x93, 0xb5, 0x7d, 0xf7, 0x30, 0x8c, 0x36, 0x2a, 0x06, 0xe4, 0x6b, 0x6c, 0x6d, 0xfb, + 0xfb, 0xee, 0x61, 0x94, 0x41, 0x53, 0x33, 0xfe, 0x7c, 0x7f, 0xb0, 0x77, 0xf9, 0xba, 0x8b, 0x37, + 0x99, 0xc0, 0xbf, 0xae, 0x55, 0x62, 0xea, 0x75, 0x1a, 0x7f, 0x96, 0x81, 0x71, 0xbc, 0xf3, 0x34, + 0x9b, 0x28, 0x73, 0x7d, 0x37, 0xa5, 0x63, 0x0c, 0xdb, 0xd5, 0x67, 0x60, 0xdf, 0x86, 0xe9, 0x18, + 0x1a, 0x31, 0x60, 0xa4, 0x86, 0x0e, 0xfe, 0xaa, 0x82, 0x82, 0xbb, 0xfc, 0x9b, 0xa2, 0xc4, 0x58, + 0x56, 0xc8, 0x1e, 0xde, 0xc4, 0x67, 0xdd, 0x45, 0x00, 0x47, 0x82, 0xe4, 0xcd, 0x86, 0xc4, 0xbf, + 0xe4, 0xe1, 0x4d, 0x53, 0xc1, 0x32, 0xd6, 0x61, 0xa4, 0xe6, 0x7a, 0xc1, 0xd2, 0x11, 0xbf, 0x4c, + 0x54, 0xa8, 0x5f, 0x57, 0xdf, 0x6d, 0x1d, 0x7c, 0x2b, 0xa9, 0x9b, 0xa2, 0x88, 0x14, 0x61, 0xf8, + 0x8e, 0x43, 0x9b, 0x0d, 0xd5, 0x40, 0x77, 0x97, 0x01, 0x4c, 0x0e, 0x67, 0x17, 0xae, 0xf3, 0x51, + 0x4e, 0x94, 0xc8, 0x12, 0xf8, 0x49, 0xd7, 0x4d, 0x59, 0xeb, 0xdf, 0x97, 0xc2, 0x3c, 0x04, 0xc9, + 0x9a, 0xfa, 0x74, 0xf5, 0x7f, 0x94, 0x81, 0x85, 0xde, 0x24, 0xaa, 0x71, 0x71, 0xa6, 0x8f, 0x71, + 0xf1, 0xab, 0xf1, 0x77, 0x46, 0x44, 0x13, 0xef, 0x8c, 0xd1, 0xeb, 0x62, 0x05, 0x6d, 0xbb, 0xeb, + 0x54, 0x26, 0x42, 0xb9, 0xdc, 0xe7, 0x9b, 0x11, 0x91, 0x0f, 0x73, 0x80, 0x34, 0xa6, 0xa0, 0x35, + 0x7e, 0x63, 0x08, 0x2e, 0xf6, 0xa4, 0x20, 0x2b, 0x4a, 0x7a, 0xa5, 0xa9, 0x30, 0xb1, 0x4b, 0x4f, + 0xfc, 0xeb, 0xf8, 0x2f, 0x9a, 0xef, 0xc5, 0xbd, 0xcd, 0x1e, 0x84, 0x69, 0x75, 0xb2, 0xc8, 0xeb, + 0x8d, 0x53, 0x79, 0x71, 0x74, 0x64, 0x06, 0xc9, 0x0c, 0x3b, 0xe8, 0x97, 0x48, 0x03, 0xdb, 0x69, + 0xfa, 0xea, 0xb2, 0x6b, 0x70, 0x90, 0x29, 0xcb, 0x22, 0x8b, 0xef, 0xa1, 0x74, 0x8b, 0x6f, 0xe3, + 0x5f, 0x65, 0x60, 0x2c, 0xfc, 0x6c, 0xb2, 0x00, 0xe7, 0x37, 0xcd, 0x52, 0x79, 0xd9, 0xda, 0xfc, + 0x68, 0x63, 0xd9, 0xda, 0x5a, 0xaf, 0x6d, 0x2c, 0x97, 0xab, 0x77, 0xaa, 0xcb, 0x95, 0xc2, 0x73, + 0x64, 0x06, 0x26, 0xb7, 0xd6, 0xef, 0xaf, 0x3f, 0xd8, 0x5e, 0xb7, 0x96, 0x4d, 0xf3, 0x81, 0x59, + 0xc8, 0x90, 0x49, 0x18, 0x33, 0x97, 0x4a, 0x65, 0x6b, 0xfd, 0x41, 0x65, 0xb9, 0x90, 0x25, 0x05, + 0x98, 0x28, 0x3f, 0x58, 0x5f, 0x5f, 0x2e, 0x6f, 0x56, 0x1f, 0x56, 0x37, 0x3f, 0x2a, 0xe4, 0x08, + 0x81, 0x29, 0x44, 0xd8, 0x30, 0xab, 0xeb, 0xe5, 0xea, 0x46, 0x69, 0xb5, 0x30, 0xc4, 0x60, 0x0c, + 0x5f, 0x81, 0x0d, 0x87, 0x8c, 0xee, 0x6f, 0x2d, 0x2d, 0x17, 0x46, 0x18, 0x0a, 0xfb, 0x4b, 0x41, + 0x19, 0x65, 0xd5, 0x23, 0x4a, 0xa5, 0xb4, 0x59, 0x5a, 0x2a, 0xd5, 0x96, 0x0b, 0x79, 0x72, 0x01, + 0x66, 0x35, 0x90, 0xb5, 0xfa, 0xe0, 0x6e, 0x75, 0xbd, 0x30, 0x46, 0xe6, 0xa0, 0x10, 0xc2, 0x2a, + 0x4b, 0xd6, 0x56, 0x6d, 0xd9, 0x2c, 0x40, 0x1c, 0xba, 0x5e, 0x5a, 0x5b, 0x2e, 0x8c, 0x1b, 0xef, + 0x73, 0x3f, 0x40, 0xde, 0xd5, 0xe4, 0x3c, 0x90, 0xda, 0x66, 0x69, 0x73, 0xab, 0x16, 0x6b, 0xfc, + 0x38, 0x8c, 0xd6, 0xb6, 0xca, 0xe5, 0xe5, 0x5a, 0xad, 0x90, 0x21, 0x00, 0x23, 0x77, 0x4a, 0xd5, + 0xd5, 0xe5, 0x4a, 0x21, 0x6b, 0xfc, 0x44, 0x06, 0x66, 0xa4, 0x04, 0x28, 0x1f, 0x8d, 0x9e, 0x70, + 0x2d, 0x7e, 0xa0, 0x5d, 0x6c, 0xa5, 0x93, 0x56, 0xac, 0x92, 0x3e, 0xcb, 0xf0, 0xe7, 0x32, 0x70, + 0x2e, 0x15, 0x9b, 0x7c, 0x04, 0x05, 0xf9, 0x05, 0x6b, 0x76, 0x50, 0xdf, 0x8f, 0xf6, 0xb1, 0x4b, + 0xb1, 0x5a, 0x62, 0x68, 0x5c, 0xad, 0x19, 0x25, 0x7c, 0x4e, 0xb0, 0x19, 0x3c, 0x1d, 0x81, 0xf1, + 0xb3, 0x19, 0xb8, 0xd0, 0xa3, 0x1a, 0x52, 0x86, 0x91, 0x30, 0x31, 0x4d, 0x1f, 0x0b, 0xb6, 0xb9, + 0x6f, 0x1f, 0x17, 0x05, 0x22, 0x66, 0xc8, 0xc5, 0xbf, 0xcc, 0x91, 0x30, 0xd3, 0x0c, 0xa6, 0x7b, + 0xe1, 0xdd, 0x77, 0x31, 0xd6, 0xf3, 0xa2, 0xa6, 0xd2, 0x76, 0x6d, 0x69, 0x5c, 0xf4, 0x5d, 0xce, + 0x3e, 0xf4, 0x31, 0xdf, 0x8b, 0xf1, 0x53, 0x19, 0x26, 0xdc, 0xc5, 0x11, 0x99, 0xcc, 0x5b, 0xf2, + 0xfd, 0x6e, 0x8b, 0x9a, 0x6e, 0x93, 0x96, 0xcc, 0x75, 0x71, 0x6c, 0xa0, 0xb4, 0x6a, 0x63, 0x01, + 0x5e, 0x2b, 0x2c, 0xdb, 0x6b, 0x6b, 0xaf, 0xd5, 0x2a, 0x0d, 0x79, 0x07, 0x60, 0xf9, 0x71, 0x40, + 0xbd, 0xb6, 0xdd, 0x0c, 0x63, 0xb4, 0xf0, 0xc8, 0x52, 0x02, 0xaa, 0xcb, 0xdb, 0x0a, 0xb2, 0xf1, + 0x37, 0x33, 0x30, 0x21, 0x2e, 0x4d, 0xa5, 0x26, 0xf5, 0x82, 0x27, 0x9b, 0x5e, 0xef, 0x68, 0xd3, + 0x2b, 0x74, 0xd8, 0x50, 0xf8, 0xb3, 0xe2, 0xd4, 0x99, 0xf5, 0x4f, 0x33, 0x50, 0x88, 0x23, 0x92, + 0x0f, 0x20, 0x5f, 0xa3, 0x8f, 0xa8, 0xe7, 0x04, 0x47, 0x62, 0xa3, 0x94, 0x29, 0xfc, 0x38, 0x8e, + 0x28, 0xe3, 0xf3, 0xc1, 0x17, 0xbf, 0xcc, 0x90, 0x66, 0xd0, 0xfd, 0x5e, 0x51, 0x7b, 0xe4, 0x9e, + 0x96, 0xda, 0xc3, 0xf8, 0xdf, 0xb3, 0x70, 0xe1, 0x2e, 0x0d, 0xd4, 0x36, 0x85, 0xe6, 0x05, 0x9f, + 0x19, 0xac, 0x5d, 0x4a, 0x4b, 0xe6, 0x61, 0x14, 0x8b, 0xe4, 0xf8, 0x9a, 0xf2, 0x27, 0x59, 0x0a, + 0xe7, 0x75, 0x4e, 0xcb, 0x11, 0xd6, 0xa3, 0xee, 0xeb, 0x4a, 0xd6, 0xa0, 0x70, 0x5a, 0x5f, 0x81, + 0x29, 0x0c, 0x8b, 0xdf, 0x65, 0xcb, 0x81, 0x36, 0x84, 0xfa, 0x27, 0x6f, 0xc6, 0xa0, 0xe4, 0x75, + 0x28, 0x30, 0x48, 0xa9, 0x7e, 0xd0, 0x76, 0x0f, 0x9b, 0xb4, 0xb1, 0x47, 0x1b, 0x78, 0xac, 0xe7, + 0xcd, 0x04, 0x5c, 0xf2, 0xdc, 0x6a, 0xf3, 0xab, 0x1b, 0x6d, 0xa0, 0x8e, 0x46, 0xf0, 0x8c, 0xa0, + 0x0b, 0xef, 0xc0, 0xf8, 0x27, 0xcc, 0x00, 0x66, 0xfc, 0x6f, 0x19, 0x98, 0xc3, 0xc6, 0x29, 0x15, + 0xcb, 0xec, 0xac, 0xb2, 0xb7, 0x94, 0xa4, 0x38, 0x36, 0x03, 0xe9, 0x4b, 0x21, 0xec, 0xc5, 0x48, + 0x27, 0x94, 0x1d, 0x40, 0x27, 0x54, 0x3b, 0x4b, 0x26, 0xfa, 0x01, 0x55, 0x5a, 0xf7, 0x86, 0xf2, + 0xb9, 0xc2, 0x50, 0x34, 0xe4, 0xc6, 0xdf, 0xc8, 0xc2, 0xa8, 0x49, 0x31, 0x45, 0x37, 0xb9, 0x02, + 0xa3, 0xeb, 0x6e, 0x40, 0xfd, 0x35, 0x2d, 0x1f, 0x7b, 0x9b, 0x81, 0xac, 0x56, 0xc3, 0x94, 0x85, + 0x6c, 0xc2, 0x6f, 0x78, 0x6e, 0xa3, 0x5b, 0x0f, 0xd4, 0x09, 0xdf, 0xe1, 0x20, 0x53, 0x96, 0x91, + 0x37, 0x61, 0x4c, 0x70, 0x0e, 0x1f, 0x75, 0xd1, 0x18, 0xd9, 0xa3, 0x61, 0x8a, 0xf7, 0x08, 0x01, + 0x65, 0x5a, 0x2e, 0x60, 0x0c, 0x29, 0x32, 0x6d, 0x42, 0x66, 0x90, 0xa2, 0xfa, 0x70, 0x1f, 0x51, + 0xfd, 0x33, 0x30, 0x52, 0xf2, 0x7d, 0x1a, 0xc8, 0x28, 0x06, 0x13, 0x61, 0xd8, 0x36, 0x9f, 0x06, + 0x9c, 0xb1, 0x8d, 0xe5, 0xa6, 0xc0, 0x33, 0xfe, 0x45, 0x16, 0x86, 0xf1, 0x4f, 0x7c, 0x32, 0xf5, + 0xea, 0xfb, 0xda, 0x93, 0xa9, 0x57, 0xdf, 0x37, 0x11, 0x4a, 0x6e, 0xa2, 0xa6, 0x42, 0xe6, 0x6f, + 0x12, 0xad, 0x47, 0x15, 0x7c, 0x23, 0x02, 0x9b, 0x2a, 0x4e, 0xf8, 0xc2, 0x9f, 0x4b, 0x8d, 0x5d, + 0x72, 0x1e, 0xb2, 0x0f, 0x6a, 0xa2, 0xc5, 0x18, 0x11, 0xcb, 0xf5, 0xcd, 0xec, 0x83, 0x1a, 0xf6, + 0xc6, 0x4a, 0x69, 0xf1, 0xed, 0xdb, 0xa2, 0xa1, 0xbc, 0x37, 0xf6, 0xed, 0xc5, 0xb7, 0x6f, 0x9b, + 0xa2, 0x84, 0xf5, 0x2f, 0x7e, 0x33, 0x3e, 0xbc, 0x72, 0x9f, 0x7b, 0xec, 0x5f, 0x6c, 0x1b, 0x3e, + 0xb2, 0x9a, 0x11, 0x02, 0x59, 0x84, 0x71, 0x11, 0xeb, 0x01, 0xf1, 0x95, 0x58, 0x0c, 0x22, 0x16, + 0x04, 0xa7, 0x50, 0x91, 0xf8, 0x13, 0x9c, 0x18, 0x20, 0x99, 0x65, 0x56, 0x3c, 0xc1, 0xc9, 0x21, + 0xf4, 0x4d, 0x05, 0x85, 0x7d, 0x12, 0x7f, 0xc3, 0x8b, 0x7c, 0xe9, 0xa7, 0x94, 0xa0, 0x01, 0x98, + 0xe6, 0x20, 0x44, 0x30, 0x7e, 0x29, 0x0b, 0xf9, 0x8d, 0x66, 0x77, 0xcf, 0x69, 0x3f, 0xbc, 0x49, + 0x08, 0xe0, 0x35, 0x4e, 0xe6, 0xc1, 0x60, 0x7f, 0x93, 0x8b, 0x90, 0x97, 0x37, 0x37, 0xb9, 0x21, + 0xf9, 0xe2, 0xd6, 0x36, 0x0f, 0x72, 0xdc, 0x45, 0xe8, 0x33, 0xf9, 0x93, 0xdc, 0x84, 0xf0, 0xfe, + 0xd5, 0xeb, 0xa2, 0x36, 0xc4, 0x16, 0x8b, 0x19, 0xa2, 0x91, 0xb7, 0x00, 0x0f, 0x09, 0x71, 0x79, + 0x90, 0x0a, 0x6d, 0xfe, 0x69, 0x42, 0x4e, 0xe1, 0x24, 0x88, 0x46, 0x6e, 0x81, 0x98, 0x98, 0x22, + 0x9b, 0xf9, 0x39, 0x9d, 0x80, 0xe7, 0x87, 0x94, 0x24, 0x02, 0x95, 0xbc, 0x07, 0xe3, 0x75, 0x8f, + 0xe2, 0xab, 0xa3, 0xdd, 0x8c, 0x92, 0x94, 0xab, 0x94, 0xe5, 0xa8, 0xfc, 0xe1, 0x4d, 0x53, 0x45, + 0x37, 0x7e, 0x29, 0x0f, 0x13, 0xea, 0xf7, 0x10, 0x13, 0x66, 0xfd, 0x26, 0xbb, 0xbb, 0x0b, 0x63, + 0xb3, 0x0e, 0x16, 0x8a, 0xe3, 0xf4, 0xb2, 0xfe, 0x41, 0x0c, 0x8f, 0x5b, 0x9e, 0xc9, 0x20, 0x15, + 0x2b, 0xcf, 0x99, 0x33, 0x7e, 0x04, 0xe6, 0x78, 0xa4, 0x04, 0x79, 0xb7, 0xe3, 0xef, 0xd1, 0xb6, + 0x23, 0xdf, 0x5b, 0x5e, 0xd6, 0x18, 0x3d, 0x10, 0x85, 0x09, 0x5e, 0x21, 0x19, 0x79, 0x1b, 0x46, + 0xdc, 0x0e, 0x6d, 0xdb, 0x8e, 0x38, 0xe3, 0x9e, 0x8f, 0x31, 0xa0, 0xed, 0x52, 0x55, 0x21, 0x14, + 0xc8, 0xe4, 0x06, 0x0c, 0xb9, 0x07, 0xe1, 0x78, 0x5d, 0xd4, 0x89, 0x0e, 0x02, 0x5b, 0x21, 0x41, + 0x44, 0x46, 0xf0, 0xb1, 0xdd, 0xda, 0x15, 0x23, 0xa6, 0x13, 0xdc, 0xb3, 0x5b, 0xbb, 0x2a, 0x01, + 0x43, 0x24, 0x1f, 0x02, 0x74, 0xec, 0x3d, 0xea, 0x59, 0x8d, 0x6e, 0x70, 0x24, 0xc6, 0xed, 0x92, + 0x46, 0xb6, 0xc1, 0x8a, 0x2b, 0xdd, 0xe0, 0x48, 0xa1, 0x1d, 0xeb, 0x48, 0x20, 0x29, 0x01, 0xb4, + 0xec, 0x20, 0xa0, 0x5e, 0xcb, 0x15, 0xd6, 0x7e, 0x51, 0x10, 0x42, 0xce, 0x60, 0x2d, 0x2c, 0x56, + 0x38, 0x28, 0x44, 0xf8, 0xd1, 0x8e, 0x67, 0x8b, 0x9c, 0xf2, 0xb1, 0x8f, 0x76, 0x3c, 0xad, 0x95, + 0x0c, 0x91, 0x7c, 0x1e, 0x46, 0x1b, 0x8e, 0x5f, 0x77, 0xbd, 0x86, 0x88, 0x5e, 0xf2, 0x82, 0x46, + 0x53, 0xe1, 0x65, 0x0a, 0x99, 0x44, 0x67, 0x5f, 0x2b, 0x82, 0x90, 0xae, 0xbb, 0x87, 0xa8, 0xe6, + 0x8f, 0x7f, 0x6d, 0x2d, 0x2c, 0x56, 0xbf, 0x36, 0x22, 0x62, 0x43, 0xb9, 0xe7, 0x04, 0x4d, 0x7b, + 0x47, 0xbc, 0x73, 0xeb, 0x43, 0x79, 0x17, 0x8b, 0xd4, 0xa1, 0xe4, 0xc8, 0xe4, 0x1d, 0xc8, 0xd3, + 0x76, 0xe0, 0xd9, 0x96, 0xd3, 0x10, 0x5e, 0x92, 0xfa, 0x47, 0xb3, 0x03, 0xd8, 0xae, 0x56, 0xd4, + 0x8f, 0x46, 0xfc, 0x6a, 0x83, 0xf5, 0x8f, 0x5f, 0x77, 0x5a, 0xc2, 0xb9, 0x51, 0xef, 0x9f, 0x5a, + 0xb9, 0xba, 0xa6, 0xf6, 0x0f, 0x43, 0x24, 0x1f, 0xc0, 0x28, 0x5b, 0xbf, 0x0d, 0x77, 0x4f, 0x04, + 0x84, 0x30, 0xf4, 0xfe, 0xe1, 0x65, 0x89, 0xe9, 0x2a, 0x89, 0xd8, 0x42, 0xb6, 0x0f, 0x7d, 0xcb, + 0xa9, 0x8b, 0x20, 0x0f, 0xfa, 0x72, 0x2c, 0x6d, 0xd7, 0xaa, 0x65, 0x85, 0x6c, 0xd8, 0x3e, 0xf4, + 0xab, 0x75, 0xb2, 0x08, 0xc3, 0x98, 0x22, 0x42, 0x04, 0xa2, 0xd4, 0x69, 0x30, 0x39, 0x84, 0x4a, + 0x83, 0xa8, 0x6c, 0x20, 0x5b, 0x3e, 0xfa, 0x8b, 0x88, 0x44, 0x0d, 0x7a, 0x9f, 0xac, 0xd5, 0xd0, + 0x89, 0x44, 0xfd, 0x44, 0x81, 0x4e, 0x2e, 0x01, 0x44, 0xaf, 0xf8, 0xfc, 0xcd, 0xc5, 0x54, 0x20, + 0x5f, 0x18, 0xfa, 0xbf, 0x7e, 0xa1, 0x98, 0x59, 0x02, 0xc8, 0xcb, 0x08, 0x35, 0xc6, 0x2a, 0x5c, + 0xec, 0xb9, 0xee, 0xc9, 0x35, 0x28, 0xec, 0xda, 0x42, 0xeb, 0x57, 0xdf, 0xb7, 0xdb, 0x6d, 0xda, + 0x14, 0x3b, 0xee, 0xb4, 0x84, 0x97, 0x39, 0x98, 0x73, 0x36, 0x3e, 0x84, 0xb9, 0xb4, 0x01, 0x27, + 0x2f, 0xc1, 0x84, 0x1a, 0x8c, 0x47, 0x30, 0x19, 0xb7, 0x3b, 0x8e, 0x0c, 0xc7, 0x23, 0x18, 0xfc, + 0x7a, 0x06, 0x5e, 0xe8, 0xb7, 0x7d, 0x90, 0x05, 0xc8, 0x77, 0x3c, 0xc7, 0x45, 0x31, 0x55, 0x64, + 0x3b, 0x90, 0xbf, 0x31, 0x91, 0x01, 0xca, 0x53, 0x81, 0xbd, 0x27, 0x1c, 0x3c, 0xcc, 0x31, 0x84, + 0x6c, 0xda, 0x7b, 0x3e, 0x79, 0x03, 0x66, 0x1a, 0x74, 0xd7, 0xee, 0x36, 0x03, 0xcb, 0xaf, 0xef, + 0xd3, 0x06, 0xfa, 0x54, 0xa1, 0xe1, 0x9e, 0x59, 0x10, 0x05, 0x35, 0x09, 0x4f, 0x7c, 0xf1, 0x70, + 0x8f, 0x2f, 0xbe, 0x37, 0x94, 0xcf, 0x14, 0xb2, 0x26, 0x5a, 0x4a, 0x19, 0xdf, 0x97, 0x85, 0xf9, + 0x5e, 0xeb, 0x85, 0xbc, 0x9f, 0xd6, 0x07, 0xfc, 0xe1, 0x42, 0x85, 0xab, 0x0f, 0x17, 0x4a, 0x6d, + 0x64, 0x11, 0x42, 0x8f, 0xa8, 0xd3, 0xa2, 0x1b, 0x48, 0x18, 0xa3, 0xe9, 0xd8, 0xbe, 0x7f, 0xc8, + 0xb6, 0x84, 0x9c, 0x12, 0xd0, 0x56, 0xc0, 0x54, 0x1a, 0x09, 0x23, 0x9f, 0x03, 0xa8, 0x37, 0x5d, + 0x9f, 0xa2, 0x7d, 0x80, 0x90, 0x35, 0xb8, 0x59, 0x78, 0x08, 0x55, 0x1f, 0x84, 0x11, 0x5a, 0x76, + 0x1b, 0x54, 0x0c, 0xa0, 0x0d, 0x17, 0x7a, 0x6c, 0x90, 0x6c, 0x78, 0xa2, 0xec, 0xf0, 0x32, 0xd7, + 0x54, 0x37, 0xcc, 0x11, 0x1f, 0xef, 0xf1, 0x6c, 0xaf, 0x39, 0x72, 0x04, 0x24, 0xb9, 0x0b, 0x32, + 0xee, 0xc2, 0xb8, 0xb9, 0xeb, 0x85, 0xdc, 0x39, 0x64, 0xcb, 0x6b, 0x92, 0x22, 0x8c, 0xcb, 0x5c, + 0x92, 0x4c, 0x96, 0xe7, 0xcc, 0x41, 0x80, 0xee, 0x53, 0x9c, 0x3c, 0x18, 0xb1, 0x14, 0xfd, 0xde, + 0x84, 0x94, 0x30, 0x86, 0x90, 0xcd, 0xa3, 0x8e, 0x6c, 0xdd, 0x0b, 0x72, 0x7e, 0xeb, 0x67, 0x93, + 0x28, 0xfd, 0xe9, 0x8c, 0x1c, 0xfe, 0xe4, 0xe6, 0x7e, 0xda, 0xf7, 0x11, 0x40, 0x2f, 0x25, 0xf1, + 0x61, 0xf8, 0x37, 0x93, 0x5a, 0xe4, 0xaa, 0x13, 0x52, 0x8b, 0xf8, 0x49, 0xae, 0xc0, 0xb4, 0xc7, + 0xed, 0x58, 0x03, 0x57, 0xf4, 0x27, 0xcf, 0xdb, 0x31, 0xc9, 0xc1, 0x9b, 0x2e, 0xf6, 0xa9, 0xf8, + 0xae, 0x7b, 0x61, 0x87, 0x29, 0x67, 0x1d, 0xb9, 0x0e, 0x63, 0xec, 0xac, 0xc3, 0x48, 0x37, 0x31, + 0xf7, 0x08, 0xc4, 0x43, 0xc9, 0xc1, 0xfc, 0xff, 0xd9, 0xfb, 0xb2, 0xd8, 0x46, 0xb2, 0xeb, 0xd0, + 0x2e, 0x92, 0x92, 0xa8, 0x43, 0x2d, 0xa5, 0xdb, 0x8b, 0x34, 0xad, 0x5e, 0xa6, 0xab, 0x97, 0xe9, + 0xe6, 0x78, 0xc6, 0xee, 0x9e, 0x37, 0x9e, 0x19, 0xef, 0x25, 0xb2, 0x24, 0xb2, 0x9b, 0x9b, 0xab, + 0x48, 0xc9, 0xed, 0xb6, 0x5d, 0xae, 0x26, 0x4b, 0x52, 0xd9, 0x14, 0x49, 0xb3, 0xc8, 0x69, 0xb7, + 0xf1, 0x80, 0xf7, 0x8c, 0x07, 0xd8, 0xc0, 0xcb, 0xe2, 0xc4, 0x09, 0x90, 0x41, 0x10, 0xc0, 0x1f, + 0x31, 0x82, 0x7c, 0xe4, 0x37, 0x48, 0x90, 0xe4, 0xc7, 0x7f, 0x06, 0x0c, 0x03, 0x06, 0xf2, 0xe7, + 0x04, 0x83, 0x64, 0x80, 0x04, 0xc8, 0xf2, 0x17, 0x24, 0x1f, 0xfe, 0x0a, 0xee, 0xb9, 0xf7, 0x56, + 0xdd, 0x5a, 0xc8, 0x56, 0x7b, 0xc6, 0x49, 0x0c, 0xf8, 0x4b, 0xe2, 0xb9, 0xe7, 0x9e, 0xba, 0xfb, + 0x3d, 0xe7, 0xdc, 0xb3, 0xe4, 0xbf, 0xc2, 0xff, 0xe7, 0xb4, 0xde, 0xc9, 0x08, 0x62, 0xf2, 0x4d, + 0x4b, 0x36, 0x61, 0x69, 0x38, 0x3e, 0x92, 0xba, 0xb6, 0x38, 0x1c, 0x1f, 0xd1, 0x7e, 0xdd, 0x06, + 0x95, 0x79, 0xeb, 0xb0, 0x30, 0x08, 0xfe, 0xd3, 0x01, 0x13, 0xc5, 0xf3, 0xe6, 0x1a, 0x83, 0x63, + 0xc2, 0xfc, 0xa7, 0x83, 0x2e, 0xc5, 0xf4, 0xfd, 0xa1, 0x2d, 0x07, 0xb8, 0xe2, 0xdd, 0x5e, 0xf3, + 0xfd, 0x61, 0x18, 0xe9, 0xaa, 0x47, 0x76, 0x60, 0x95, 0xd2, 0x09, 0xc2, 0x6c, 0x71, 0x46, 0xe0, + 0x72, 0x92, 0x11, 0x78, 0x3a, 0xe8, 0x8a, 0x26, 0x9a, 0x2b, 0xbe, 0xf4, 0x8b, 0x3c, 0x00, 0x55, + 0xe2, 0x98, 0xd0, 0x1f, 0x33, 0x66, 0x53, 0x1d, 0x92, 0x91, 0x38, 0xad, 0xea, 0xe0, 0x70, 0x68, + 0xae, 0x77, 0xa3, 0x00, 0x3e, 0x34, 0xdf, 0x53, 0xc4, 0x59, 0x9a, 0x52, 0x89, 0x68, 0xb0, 0x7a, + 0xec, 0xf8, 0xb6, 0xef, 0x9f, 0x30, 0x1b, 0x31, 0x1e, 0xd8, 0xb7, 0x70, 0xec, 0xf8, 0x96, 0x7f, + 0x22, 0x12, 0x87, 0x9c, 0xa7, 0x38, 0x43, 0x67, 0x3a, 0x39, 0xb6, 0x65, 0xfe, 0x8f, 0x8d, 0xd8, + 0xd9, 0x63, 0xc7, 0x6f, 0xd2, 0x32, 0x89, 0x36, 0xb9, 0x01, 0x6b, 0x48, 0xb7, 0xeb, 0x09, 0xc2, + 0x18, 0xca, 0xc2, 0x5c, 0xa1, 0x84, 0xbb, 0x1e, 0xa3, 0xcc, 0x5b, 0xf8, 0x4f, 0x19, 0xb8, 0x90, + 0x3e, 0x3a, 0xb8, 0x3c, 0xe9, 0x98, 0xa2, 0x8f, 0x1e, 0x6f, 0xdb, 0x32, 0x85, 0xb0, 0x30, 0x24, + 0x69, 0x93, 0x93, 0x49, 0x9d, 0x9c, 0x22, 0x6c, 0x20, 0x21, 0xce, 0x69, 0xf6, 0x3d, 0x7f, 0xc2, + 0xa3, 0x6b, 0x98, 0xeb, 0xb4, 0x80, 0x9d, 0xe7, 0x35, 0x0a, 0x26, 0x37, 0x61, 0x4d, 0x9c, 0xc8, + 0xc3, 0x27, 0x03, 0xfa, 0x61, 0x76, 0x1c, 0xaf, 0x72, 0x68, 0x13, 0x81, 0xe4, 0x3c, 0x2c, 0x3a, + 0xa3, 0x11, 0xfd, 0x24, 0x3b, 0x85, 0x17, 0x9c, 0xd1, 0x88, 0x25, 0xb7, 0x41, 0x8f, 0x44, 0xfb, + 0x10, 0xad, 0x84, 0xb8, 0x49, 0xa2, 0xb9, 0x82, 0x40, 0x66, 0x39, 0xe4, 0xd3, 0x7d, 0x4f, 0xeb, + 0x0a, 0x94, 0x25, 0x44, 0x01, 0x67, 0x14, 0x20, 0xbc, 0x00, 0x79, 0xf1, 0x5e, 0xcd, 0x1c, 0x2b, + 0xcc, 0x25, 0x87, 0xbf, 0x55, 0xbf, 0x0e, 0x9b, 0x3d, 0xcf, 0xc7, 0xc5, 0xcb, 0xba, 0x34, 0x1a, + 0x71, 0x1f, 0x48, 0x16, 0x24, 0xd7, 0x3c, 0xc7, 0x8b, 0xe9, 0x48, 0xea, 0xa3, 0x11, 0xf3, 0x84, + 0xe4, 0x63, 0xfd, 0x26, 0xac, 0x73, 0x8e, 0x8b, 0x5f, 0x91, 0xd8, 0x16, 0xbe, 0x81, 0xa9, 0x28, + 0xc4, 0xd3, 0x09, 0x01, 0x07, 0x55, 0x7b, 0xa2, 0xe6, 0xdf, 0x2a, 0x70, 0x3e, 0x95, 0x65, 0x23, + 0x5f, 0x06, 0xe6, 0xf2, 0x35, 0x19, 0xda, 0x63, 0xb7, 0xeb, 0x8d, 0x3c, 0x0c, 0x8a, 0xc1, 0x54, + 0x9a, 0xf7, 0xe6, 0x31, 0x7b, 0xe8, 0x3e, 0xd6, 0x1e, 0x9a, 0x41, 0x25, 0xa6, 0x6b, 0x51, 0xc7, + 0x31, 0xf0, 0xc5, 0x47, 0x70, 0x3e, 0x15, 0x35, 0x45, 0x07, 0xf2, 0xa1, 0x68, 0x32, 0x67, 0xf1, + 0x48, 0x15, 0xeb, 0xb4, 0xa4, 0x1b, 0xe1, 0xdd, 0xfb, 0x41, 0xd0, 0xbd, 0x18, 0x73, 0x47, 0x8c, + 0xf8, 0xbe, 0x4e, 0x93, 0x4f, 0x44, 0xa5, 0xd9, 0x5b, 0xfb, 0x11, 0x9c, 0xe7, 0x8b, 0xef, 0x68, + 0xec, 0x8c, 0x8e, 0x43, 0x72, 0xac, 0xa1, 0x2f, 0xa5, 0x91, 0x63, 0xab, 0x72, 0x8f, 0xe2, 0x07, + 0x54, 0xcf, 0x3a, 0x49, 0x20, 0xef, 0xc3, 0x37, 0x33, 0x62, 0xab, 0xa7, 0x34, 0x27, 0x65, 0x59, + 0x2b, 0x69, 0xcb, 0xfa, 0xf4, 0x7b, 0xaa, 0x01, 0x44, 0x3e, 0xac, 0x98, 0xd6, 0x93, 0x1b, 0x54, + 0x09, 0x3e, 0x9d, 0x37, 0x44, 0x3a, 0x1a, 0x2c, 0x96, 0x4c, 0x73, 0xa3, 0x1b, 0x07, 0x91, 0x6d, + 0x58, 0x0e, 0xf2, 0x55, 0xf3, 0x8b, 0x23, 0xcf, 0x00, 0xd5, 0x1e, 0x79, 0x11, 0x56, 0x18, 0x4b, + 0x1e, 0xd9, 0x73, 0x80, 0x30, 0x9d, 0x6e, 0x3c, 0x31, 0x06, 0x0a, 0xbc, 0xf8, 0xac, 0x31, 0x24, + 0x07, 0x70, 0x01, 0xcd, 0x3a, 0xfc, 0x61, 0x30, 0x0d, 0x76, 0xd7, 0xe9, 0x1e, 0xbb, 0x7c, 0xd5, + 0x6a, 0xa9, 0x93, 0x31, 0x1a, 0x59, 0x56, 0x53, 0x9a, 0x87, 0xd1, 0xc8, 0xf2, 0x87, 0xe2, 0x77, + 0x89, 0x56, 0xe7, 0x6d, 0xe8, 0xc1, 0xf6, 0x9c, 0x9a, 0xd2, 0xc1, 0xa1, 0xc8, 0x07, 0xc7, 0x6d, + 0x50, 0x0f, 0xdd, 0x1e, 0xe5, 0x89, 0xdd, 0x1e, 0x36, 0xed, 0xed, 0x7b, 0x2c, 0x43, 0xbb, 0xb9, + 0x16, 0xc0, 0x2d, 0x7f, 0xb8, 0x7f, 0x8f, 0x7f, 0xe5, 0x44, 0x5c, 0x79, 0xb2, 0x58, 0x41, 0x5e, + 0x85, 0xb3, 0xb1, 0x80, 0x23, 0xa1, 0x07, 0xbb, 0xb9, 0x41, 0x8b, 0xa2, 0xe1, 0xa9, 0xae, 0xc1, + 0x8a, 0x58, 0x15, 0xe3, 0xc0, 0x0f, 0xce, 0x2c, 0x70, 0x18, 0xdd, 0x75, 0xfc, 0x73, 0x53, 0xd1, + 0xa9, 0x54, 0x89, 0xe4, 0x14, 0xbc, 0x34, 0x79, 0x05, 0x48, 0xc0, 0xb7, 0x07, 0x07, 0x05, 0xff, + 0xe0, 0x86, 0x28, 0x09, 0x76, 0x38, 0xff, 0xec, 0x5f, 0x65, 0xe0, 0x6c, 0x8a, 0x28, 0x43, 0x85, + 0x00, 0x6f, 0x30, 0x71, 0x8f, 0x98, 0x08, 0x21, 0x77, 0x72, 0x5d, 0x82, 0x73, 0xfd, 0xd4, 0x22, + 0xcb, 0x40, 0xce, 0xbf, 0xc5, 0x7f, 0xd1, 0xc3, 0xc3, 0x19, 0x0b, 0xd5, 0x0b, 0xfd, 0x97, 0x54, + 0x61, 0x03, 0xd3, 0x2a, 0xf8, 0xde, 0x10, 0xb3, 0x33, 0x20, 0x13, 0x92, 0x8b, 0x08, 0x3b, 0xd8, + 0x8a, 0x96, 0x84, 0x44, 0xb9, 0x10, 0x53, 0x1d, 0xc5, 0x20, 0xe4, 0xe3, 0x70, 0x51, 0xba, 0x6b, + 0xec, 0xd8, 0xce, 0x43, 0x4b, 0x77, 0x73, 0xd3, 0x09, 0x6e, 0x9d, 0x72, 0x64, 0x0f, 0xee, 0xc0, + 0x15, 0x9c, 0x44, 0xaf, 0x37, 0xb2, 0x13, 0x79, 0x38, 0xb0, 0xab, 0x2c, 0x70, 0xfd, 0x45, 0x8a, + 0x55, 0xed, 0x8d, 0x62, 0x29, 0x39, 0x68, 0xaf, 0xf9, 0xf0, 0x3d, 0x82, 0xf3, 0xa9, 0x2d, 0xa6, + 0x17, 0x0c, 0x1a, 0x52, 0x85, 0xbc, 0xd1, 0x12, 0xfd, 0x4d, 0x99, 0xa3, 0x6b, 0xb0, 0xf2, 0xd8, + 0x75, 0xc6, 0xee, 0x98, 0xdf, 0xdc, 0x7c, 0x49, 0x30, 0x98, 0x7c, 0x71, 0xf7, 0xa2, 0x53, 0xc3, + 0x75, 0x46, 0xa4, 0x0e, 0x67, 0xd9, 0x0d, 0xe8, 0x9d, 0x20, 0x33, 0xc8, 0xf5, 0x4c, 0x4a, 0x84, + 0x1d, 0xc2, 0x2a, 0x78, 0x35, 0x55, 0x11, 0x8b, 0xd5, 0x36, 0x37, 0x8e, 0xe2, 0x20, 0xba, 0xa3, + 0x2f, 0xa4, 0x63, 0x93, 0x1d, 0x28, 0x30, 0xe2, 0x4c, 0x2c, 0x60, 0x0f, 0x04, 0xd7, 0xe6, 0x7e, + 0xa1, 0x84, 0xf6, 0xc5, 0x7e, 0xf0, 0x3f, 0xbd, 0xaf, 0xf1, 0x2d, 0xd6, 0x3e, 0x91, 0xdf, 0x3f, + 0xcc, 0x15, 0x04, 0xf2, 0x77, 0x0f, 0xed, 0xaf, 0x15, 0xd1, 0xd5, 0x88, 0x70, 0x4c, 0x97, 0x96, + 0xef, 0x0e, 0xc4, 0x1b, 0xd0, 0xb2, 0xc9, 0x7f, 0x3d, 0xe7, 0x52, 0x27, 0x6f, 0xc0, 0x0a, 0x25, + 0x7b, 0x34, 0x1d, 0xb0, 0x25, 0x97, 0x8d, 0x04, 0xda, 0xa9, 0xb3, 0x22, 0x3a, 0x6d, 0x95, 0x33, + 0x66, 0xe1, 0x24, 0xfc, 0x49, 0xb9, 0x65, 0xff, 0x64, 0x32, 0x92, 0x17, 0xaa, 0x50, 0x14, 0x5a, + 0xf5, 0x76, 0x8b, 0x57, 0xc9, 0x53, 0x9c, 0x90, 0x5b, 0xde, 0x59, 0x64, 0xaa, 0x42, 0xed, 0x65, + 0x28, 0x48, 0xb4, 0x69, 0x67, 0x98, 0xe7, 0x8c, 0xe8, 0x0c, 0xfb, 0xc5, 0x27, 0xfb, 0x31, 0xe4, + 0x05, 0x49, 0x2a, 0x16, 0x1c, 0x0f, 0x7d, 0xb1, 0xc9, 0xf1, 0x7f, 0x0a, 0xa3, 0xa3, 0x8c, 0x9d, + 0x5c, 0x30, 0xf1, 0x7f, 0xbc, 0x4b, 0x26, 0x0e, 0x95, 0x07, 0xfa, 0xbe, 0x3d, 0x42, 0x0b, 0xac, + 0x80, 0x79, 0xa6, 0xf0, 0x76, 0xdf, 0x67, 0x76, 0x59, 0xfc, 0x1b, 0x7f, 0x1e, 0x5c, 0xc2, 0x31, + 0x6d, 0xc2, 0xac, 0x33, 0x33, 0x72, 0x65, 0x64, 0x92, 0x57, 0x06, 0x0b, 0xa0, 0xc2, 0x6b, 0xb2, + 0x2f, 0x03, 0xc2, 0xf0, 0xca, 0x90, 0x4e, 0x86, 0x5c, 0xe4, 0x64, 0x90, 0x64, 0xf2, 0x70, 0xf6, + 0xd8, 0x8d, 0x23, 0x64, 0xf2, 0xf8, 0x39, 0xf5, 0x47, 0x19, 0xa1, 0x22, 0xd8, 0x19, 0x0e, 0x27, + 0xfe, 0x64, 0xec, 0x8c, 0x22, 0xaa, 0x50, 0x72, 0x02, 0x2f, 0x20, 0x07, 0x7d, 0x0f, 0x53, 0x58, + 0x0c, 0xc7, 0x22, 0x66, 0x47, 0xb0, 0x72, 0x0b, 0xf7, 0x3e, 0x1c, 0xe5, 0xf1, 0x75, 0x8a, 0xad, + 0xcb, 0xc8, 0x74, 0xc1, 0x4a, 0x54, 0x2b, 0x67, 0xcc, 0x4d, 0x46, 0x33, 0x81, 0x45, 0x2a, 0x29, + 0x9b, 0x38, 0xae, 0x0b, 0xdd, 0x09, 0x77, 0x74, 0x94, 0xaa, 0xbc, 0xd7, 0xc9, 0xa7, 0x60, 0xd9, + 0xeb, 0xc9, 0x99, 0x1a, 0xe3, 0x5a, 0xb8, 0x6a, 0x8f, 0x45, 0x8b, 0x0e, 0x69, 0xd0, 0x35, 0xe7, + 0x71, 0xe8, 0xce, 0x6a, 0x44, 0x69, 0xac, 0xed, 0x08, 0x69, 0x34, 0x59, 0x8d, 0xac, 0x41, 0x26, + 0x98, 0xe1, 0x8c, 0xd7, 0x63, 0xdb, 0x2b, 0x8c, 0x57, 0x6d, 0xf2, 0x5f, 0xda, 0xff, 0x86, 0xdb, + 0xa7, 0x1d, 0x23, 0xba, 0x15, 0x67, 0x0c, 0xf8, 0xb2, 0xb9, 0xe1, 0x24, 0xc6, 0xed, 0x1a, 0xc8, + 0xe1, 0x76, 0x3d, 0x71, 0xf8, 0x09, 0x58, 0x67, 0xec, 0x69, 0x7f, 0x96, 0x85, 0xb5, 0xa8, 0x9a, + 0x9c, 0xbc, 0x0c, 0x39, 0xe9, 0x04, 0xda, 0x4c, 0xd1, 0xa5, 0xe3, 0xb9, 0x83, 0x48, 0xa7, 0x3a, + 0x71, 0xc8, 0x7d, 0x58, 0x43, 0xc3, 0x3d, 0x64, 0x3d, 0x27, 0x1e, 0x7f, 0x7c, 0x99, 0xff, 0x7e, + 0x96, 0xff, 0xe1, 0xbb, 0x57, 0xcf, 0xe0, 0x53, 0xd9, 0x0a, 0xad, 0x4b, 0xb9, 0x3f, 0x5a, 0x28, + 0x69, 0x41, 0x73, 0xb3, 0xb5, 0xa0, 0xbc, 0x2b, 0x33, 0xb4, 0xa0, 0x0b, 0x73, 0xb4, 0xa0, 0x61, + 0x4d, 0x59, 0x0b, 0x8a, 0xba, 0xf0, 0xa5, 0x59, 0xba, 0xf0, 0xb0, 0x0e, 0xd3, 0x85, 0x87, 0x5a, + 0xcc, 0xfc, 0x4c, 0x2d, 0x66, 0x58, 0x87, 0x6b, 0x31, 0x6f, 0xf0, 0x31, 0x1a, 0x3b, 0x4f, 0x6c, + 0x1c, 0x3c, 0x7e, 0x2d, 0x62, 0xef, 0x4d, 0xe7, 0x09, 0x1a, 0xd7, 0xec, 0x2c, 0x83, 0xb0, 0xc8, + 0xd1, 0x7e, 0x47, 0x89, 0x69, 0x02, 0xc5, 0xfc, 0xdd, 0x84, 0x35, 0x76, 0x59, 0xb9, 0x3d, 0x49, + 0xd6, 0x5c, 0x35, 0x57, 0x05, 0x94, 0xc9, 0x9b, 0x2f, 0xc1, 0x7a, 0x80, 0xc6, 0x45, 0x2e, 0xf4, + 0xd4, 0x33, 0x83, 0xda, 0x3c, 0xec, 0xcc, 0xcb, 0xb0, 0x11, 0x20, 0x72, 0x6d, 0x0e, 0x13, 0x37, + 0x57, 0x4d, 0x55, 0x14, 0xb4, 0x38, 0x5c, 0x3b, 0x8a, 0x4b, 0x1e, 0xbf, 0xa0, 0x56, 0x69, 0x3f, + 0xc8, 0x46, 0xb4, 0x24, 0xe2, 0x33, 0xf4, 0x16, 0xf5, 0x87, 0x36, 0x1f, 0x24, 0x7e, 0x16, 0x5d, + 0x9b, 0x31, 0x67, 0xdc, 0xa6, 0xc9, 0xb2, 0x9a, 0x26, 0xf8, 0xfe, 0x50, 0x98, 0x38, 0xd9, 0x8c, + 0xa3, 0x66, 0xf7, 0x3e, 0xae, 0x59, 0x41, 0x8e, 0x1d, 0x3c, 0xc5, 0xf9, 0xe4, 0x84, 0x98, 0x4a, + 0x97, 0x2c, 0x72, 0xd6, 0xc1, 0x2f, 0xf1, 0x81, 0x0e, 0xa0, 0x52, 0xd1, 0x8f, 0x12, 0xcf, 0xa6, + 0xc8, 0x4e, 0x09, 0xe2, 0x38, 0x4a, 0x48, 0x59, 0x9d, 0x8a, 0x7f, 0x05, 0x59, 0x03, 0x56, 0x50, + 0x47, 0x21, 0x08, 0xe6, 0x52, 0x54, 0xf0, 0xc9, 0xce, 0x97, 0xaa, 0x75, 0xb3, 0x40, 0xeb, 0x09, + 0x32, 0xc7, 0xf0, 0x82, 0xac, 0x59, 0x88, 0x36, 0x72, 0x41, 0x44, 0xd1, 0x9d, 0x3b, 0x02, 0xa1, + 0x02, 0x02, 0x9b, 0x7a, 0xc1, 0x89, 0x02, 0x38, 0x9a, 0x76, 0x0c, 0x17, 0x67, 0x4f, 0xc9, 0x9c, + 0x0c, 0x4d, 0xe1, 0x05, 0x9a, 0x91, 0x2f, 0x50, 0x59, 0xcf, 0x90, 0x8d, 0xe8, 0x19, 0xb4, 0x3f, + 0xcc, 0xc2, 0xf5, 0x53, 0x4c, 0xd7, 0x9c, 0x6f, 0x7e, 0x26, 0xca, 0x9e, 0x65, 0x22, 0x92, 0x21, + 0x25, 0xca, 0x0f, 0x48, 0x2a, 0xa5, 0xa6, 0x33, 0x67, 0x5f, 0x86, 0x75, 0x76, 0x0a, 0x32, 0xb3, + 0xc4, 0xc3, 0x69, 0xff, 0x14, 0xc7, 0xe0, 0xb6, 0xf0, 0xa1, 0x8a, 0x55, 0xc5, 0x93, 0x11, 0x4f, + 0x0c, 0x2b, 0x80, 0x91, 0x36, 0x14, 0x10, 0xed, 0xd0, 0xf1, 0xfa, 0xa7, 0x72, 0xe6, 0x11, 0x1e, + 0x5a, 0x72, 0x35, 0x66, 0x4d, 0x4d, 0x01, 0xbb, 0xf8, 0x9b, 0xdc, 0x82, 0xf5, 0xc1, 0xf4, 0x84, + 0x32, 0x1e, 0x6c, 0x2d, 0x70, 0xeb, 0x8f, 0x05, 0x73, 0x75, 0x30, 0x3d, 0xd1, 0x47, 0x23, 0x9c, + 0x52, 0x34, 0x13, 0xd9, 0xa0, 0x78, 0x6c, 0xd7, 0x0a, 0xcc, 0x45, 0xc4, 0xa4, 0x04, 0xd8, 0xbe, + 0xe5, 0xb8, 0xe7, 0x80, 0x19, 0x0d, 0xf2, 0x0c, 0x55, 0xec, 0x87, 0xf6, 0x1f, 0x19, 0x21, 0xef, + 0xce, 0x5e, 0xf7, 0xbf, 0x9a, 0xa2, 0x94, 0x29, 0xba, 0x0d, 0x2a, 0x1d, 0xfa, 0xf0, 0x50, 0x09, + 0xe6, 0x68, 0x6d, 0x30, 0x3d, 0x09, 0xc6, 0x4e, 0x1e, 0xf8, 0x45, 0x79, 0xe0, 0xdf, 0x10, 0xf2, + 0x70, 0xea, 0xf1, 0x30, 0x7b, 0xc8, 0xb5, 0x7f, 0xcd, 0xc2, 0xad, 0xd3, 0x1d, 0x02, 0xbf, 0x9a, + 0xb7, 0x94, 0x79, 0x8b, 0xa9, 0x4e, 0x17, 0x12, 0xaa, 0xd3, 0x94, 0xbd, 0xb7, 0x98, 0xb6, 0xf7, + 0x12, 0x8a, 0xda, 0xa5, 0x14, 0x45, 0x6d, 0xea, 0x06, 0xcd, 0x3f, 0x63, 0x83, 0x2e, 0xcb, 0xeb, + 0xe4, 0x1f, 0x03, 0x05, 0x46, 0x54, 0x1e, 0x78, 0x04, 0x67, 0x85, 0x3c, 0xc0, 0x6e, 0x8e, 0x50, + 0xff, 0x5e, 0xb8, 0x77, 0x27, 0x4d, 0x12, 0x40, 0xb4, 0x14, 0x6e, 0x7d, 0x83, 0xcb, 0x00, 0x61, + 0xf9, 0xff, 0x1c, 0xee, 0x9f, 0x3c, 0x84, 0x0b, 0x18, 0xdf, 0xbd, 0x2b, 0xbf, 0x1c, 0xd8, 0x63, + 0xf7, 0x90, 0xaf, 0x87, 0x6b, 0x09, 0x5e, 0xd9, 0xeb, 0x4a, 0xcd, 0x31, 0xdd, 0xc3, 0xca, 0x19, + 0xf3, 0x9c, 0x9f, 0x02, 0x8f, 0x0b, 0x16, 0x7f, 0xa2, 0x80, 0xf6, 0xec, 0xf1, 0x42, 0x45, 0x55, + 0x7c, 0xc0, 0x97, 0xcd, 0x82, 0x23, 0x8d, 0xde, 0x75, 0x58, 0x1d, 0xbb, 0x87, 0x63, 0xd7, 0x3f, + 0x8e, 0x68, 0x40, 0x56, 0x38, 0x50, 0x0c, 0x8c, 0x88, 0x32, 0xf9, 0x5c, 0x9c, 0xb9, 0xa8, 0xa4, + 0xed, 0x06, 0xf2, 0x62, 0xea, 0x3c, 0xd0, 0xd5, 0x24, 0x37, 0x90, 0xfd, 0xb8, 0x9f, 0xcb, 0x67, + 0xd4, 0xac, 0xc9, 0x63, 0x61, 0x1e, 0x7a, 0x7d, 0x57, 0xfb, 0x0b, 0x45, 0x70, 0x04, 0x69, 0x83, + 0x47, 0x1e, 0x49, 0xc6, 0xbc, 0xd9, 0x04, 0x1b, 0x92, 0x56, 0x45, 0xb6, 0x7b, 0xe4, 0xe1, 0x19, + 0x11, 0x10, 0x09, 0xcf, 0x88, 0x90, 0xf7, 0x61, 0x91, 0xc8, 0xa5, 0xe6, 0xb7, 0x84, 0x45, 0x10, + 0x3d, 0xf3, 0xf6, 0xef, 0x92, 0x3b, 0xb0, 0xc4, 0x8c, 0x80, 0x44, 0x73, 0xd7, 0x23, 0xcd, 0xdd, + 0xbf, 0x6b, 0x8a, 0x72, 0xed, 0x9d, 0xe0, 0x5d, 0x2b, 0xd1, 0x89, 0xfd, 0xbb, 0xe4, 0x8d, 0xd3, + 0x19, 0xe7, 0xe6, 0x85, 0x71, 0x6e, 0x60, 0x98, 0xfb, 0x66, 0xc4, 0x30, 0xf7, 0xc6, 0xfc, 0xd1, + 0xe2, 0xaf, 0x91, 0x2c, 0x1c, 0x61, 0x18, 0xa6, 0xea, 0xa7, 0x19, 0xb8, 0x3c, 0xb7, 0x06, 0xb9, + 0x04, 0x79, 0xbd, 0x55, 0x6d, 0x87, 0xf3, 0x4b, 0xf7, 0x8c, 0x80, 0x90, 0x3d, 0x58, 0xde, 0x71, + 0x7c, 0xaf, 0x4b, 0x97, 0x71, 0xea, 0xf3, 0x40, 0x82, 0x6c, 0x80, 0x5e, 0x39, 0x63, 0x86, 0x75, + 0x89, 0x0d, 0x1b, 0xb8, 0x17, 0x22, 0xa9, 0x9f, 0xb2, 0x29, 0xba, 0x86, 0x04, 0xc1, 0x44, 0x35, + 0x7a, 0xce, 0x24, 0x80, 0xe4, 0x31, 0x10, 0xcb, 0xaa, 0x94, 0xdc, 0xf1, 0x84, 0xcb, 0xe0, 0x13, + 0x2f, 0xb0, 0xf4, 0xfc, 0xc8, 0x33, 0xc6, 0x2e, 0x51, 0xaf, 0x72, 0xc6, 0x4c, 0xa1, 0x16, 0xdf, + 0xe6, 0x6f, 0x0b, 0x7e, 0x67, 0xf6, 0x20, 0x3c, 0x47, 0xec, 0xd6, 0xdb, 0x90, 0x6f, 0x09, 0x5b, + 0x04, 0xc9, 0x62, 0x5e, 0xd8, 0x1d, 0x98, 0x41, 0xa9, 0xf6, 0xeb, 0x8a, 0x50, 0x3a, 0x3c, 0x7b, + 0xb0, 0xa4, 0xcc, 0x5c, 0xbd, 0xf9, 0x99, 0xb9, 0x7a, 0x3f, 0x67, 0x66, 0x2e, 0xcd, 0x83, 0x3b, + 0xa7, 0x1e, 0x58, 0xf2, 0x09, 0x50, 0x31, 0x89, 0x91, 0x23, 0x4d, 0x12, 0xdb, 0x5f, 0x1b, 0x41, + 0x30, 0xef, 0x0a, 0xcf, 0x14, 0x67, 0xae, 0x77, 0xa3, 0xb5, 0xb5, 0x3f, 0xe6, 0x41, 0xdc, 0xab, + 0xbd, 0x56, 0x4c, 0xd1, 0xfc, 0x7e, 0x9d, 0x2c, 0x8c, 0xc8, 0x66, 0xbb, 0x2e, 0x25, 0x91, 0x4c, + 0x7e, 0x6b, 0xb6, 0xaf, 0x85, 0xb4, 0xf3, 0x7e, 0x2f, 0x0b, 0x97, 0xe6, 0x55, 0x4f, 0x4d, 0x53, + 0xad, 0x3c, 0x5f, 0x9a, 0xea, 0x3b, 0x90, 0x67, 0xb0, 0xc0, 0x83, 0x00, 0xe7, 0x96, 0x57, 0xa5, + 0x73, 0x2b, 0x8a, 0xc9, 0x75, 0x58, 0xd4, 0x4b, 0x56, 0x98, 0x39, 0x0d, 0x4d, 0x7d, 0x9d, 0xae, + 0x8f, 0x46, 0xa4, 0xbc, 0x88, 0x7c, 0x29, 0x99, 0x2c, 0x90, 0xa7, 0x4c, 0xdb, 0x96, 0x06, 0x24, + 0x91, 0x5f, 0x01, 0xdb, 0x1b, 0xe6, 0x03, 0xe0, 0x21, 0xb6, 0xcd, 0x64, 0xe2, 0x41, 0x0d, 0x16, + 0x5b, 0x63, 0xd7, 0x77, 0x27, 0xb2, 0x19, 0xee, 0x08, 0x21, 0x26, 0x2f, 0xe1, 0x46, 0xb2, 0xce, + 0x53, 0x16, 0x13, 0x61, 0x51, 0x8e, 0x53, 0x83, 0x56, 0xb5, 0x14, 0x6c, 0x4a, 0x28, 0xb4, 0x42, + 0xcd, 0x99, 0x0e, 0xba, 0xc7, 0x1d, 0xb3, 0xc6, 0x39, 0x27, 0x56, 0xa1, 0x8f, 0x50, 0xda, 0x41, + 0xdf, 0x94, 0x50, 0xb4, 0x6f, 0x2b, 0x70, 0x2e, 0xad, 0x1f, 0xe4, 0x12, 0xe4, 0x06, 0xa9, 0x79, + 0x11, 0x07, 0xcc, 0x95, 0xbb, 0x40, 0xff, 0xda, 0x87, 0xc3, 0xf1, 0x89, 0x33, 0x91, 0x8d, 0x95, + 0x25, 0xb0, 0x09, 0xf4, 0xc7, 0x2e, 0xfe, 0x4f, 0xae, 0x8a, 0x2b, 0x27, 0x9b, 0xc8, 0xa4, 0x88, + 0x7f, 0x34, 0x1d, 0xa0, 0xda, 0x6b, 0x35, 0x47, 0x2c, 0xbe, 0xff, 0x6b, 0x90, 0xa3, 0xcd, 0x8a, + 0xad, 0x5e, 0xba, 0x7e, 0xf4, 0x7a, 0x8d, 0x23, 0xb1, 0x56, 0xf9, 0xce, 0x49, 0xdf, 0x44, 0x64, + 0xed, 0x00, 0xd6, 0xa2, 0x18, 0xc4, 0x88, 0x46, 0x84, 0x2d, 0xdc, 0x53, 0x39, 0xa5, 0x9d, 0xe1, + 0x90, 0x39, 0xcc, 0xec, 0xbc, 0xf0, 0xd3, 0x77, 0xaf, 0x02, 0xfd, 0xc9, 0xea, 0xa4, 0x45, 0x8c, + 0xd5, 0xbe, 0x93, 0x81, 0x73, 0xa1, 0x8f, 0xbe, 0xd8, 0x43, 0xbf, 0xb4, 0x0e, 0xa3, 0x7a, 0xc4, + 0xa1, 0x51, 0xf0, 0x8d, 0xc9, 0x0e, 0xce, 0xf1, 0xa3, 0xda, 0x83, 0xad, 0x59, 0xf8, 0xe4, 0x65, + 0x58, 0xc6, 0xb0, 0x4e, 0x23, 0xa7, 0xeb, 0xca, 0xc7, 0xec, 0x40, 0x00, 0xcd, 0xb0, 0x5c, 0xfb, + 0xb1, 0x02, 0x17, 0xb9, 0x9b, 0x47, 0xdd, 0xf1, 0x06, 0xf8, 0x4a, 0xd0, 0x75, 0x3f, 0x18, 0x87, + 0xe7, 0xbd, 0xc8, 0x39, 0x76, 0x33, 0xea, 0xcd, 0x93, 0xf8, 0xda, 0xec, 0xde, 0x92, 0x3b, 0x18, + 0xaa, 0x8c, 0xbf, 0xa2, 0xe7, 0x58, 0x80, 0x89, 0x01, 0x05, 0xc8, 0x01, 0x26, 0x10, 0x43, 0xfb, + 0x3f, 0x70, 0x65, 0xfe, 0x07, 0xc8, 0x17, 0x61, 0x15, 0x73, 0x5f, 0x75, 0x46, 0x47, 0x63, 0xa7, + 0xe7, 0x0a, 0xcd, 0x9e, 0xd0, 0xc6, 0xca, 0x65, 0x2c, 0xf2, 0x1a, 0x0f, 0x78, 0x70, 0x84, 0x59, + 0xb5, 0x78, 0xa5, 0x88, 0x2f, 0x95, 0x4c, 0x4d, 0xfb, 0xbf, 0x0a, 0x90, 0x24, 0x0d, 0xf2, 0x51, + 0x58, 0xe9, 0xb4, 0x4b, 0xd6, 0xc4, 0x19, 0x4f, 0x2a, 0xc3, 0xe9, 0x98, 0x87, 0x3d, 0x63, 0xfe, + 0xef, 0x93, 0xae, 0xcd, 0xde, 0x83, 0x8e, 0x87, 0xd3, 0xb1, 0x19, 0xc1, 0xc3, 0xa4, 0x4d, 0xae, + 0xfb, 0xd5, 0x9e, 0xf3, 0x34, 0x9a, 0xb4, 0x89, 0xc3, 0x22, 0x49, 0x9b, 0x38, 0x4c, 0xfb, 0xbe, + 0x02, 0xdb, 0xc2, 0x38, 0xb2, 0x97, 0xd2, 0x96, 0x12, 0x46, 0x79, 0x19, 0x8b, 0x38, 0xbb, 0xf3, + 0x38, 0xf4, 0x0d, 0x11, 0x08, 0x09, 0x1b, 0x88, 0xac, 0x3a, 0xab, 0x4b, 0x3e, 0x03, 0x39, 0x6b, + 0x32, 0x1c, 0x9d, 0x22, 0x12, 0x92, 0x1a, 0xcc, 0xe8, 0x64, 0x38, 0x42, 0x12, 0x58, 0x53, 0x73, + 0xe1, 0x9c, 0xdc, 0x38, 0xd1, 0x62, 0x52, 0x87, 0x25, 0x1e, 0xf2, 0x2e, 0x66, 0x77, 0x30, 0xa7, + 0x4f, 0x3b, 0xeb, 0x22, 0xdc, 0x12, 0x8f, 0xf3, 0x6a, 0x0a, 0x1a, 0xda, 0x6f, 0x2a, 0x50, 0xa0, + 0x8c, 0x0d, 0x0a, 0xa5, 0xef, 0x77, 0x49, 0x47, 0xf9, 0x60, 0x61, 0x46, 0x13, 0x90, 0x3f, 0xd5, + 0x6d, 0xfc, 0x3a, 0xac, 0xc7, 0x2a, 0x10, 0x0d, 0x03, 0x6d, 0xf4, 0xbd, 0xae, 0xc3, 0x72, 0xc0, + 0x30, 0x13, 0x94, 0x08, 0x4c, 0xfb, 0xff, 0x0a, 0x9c, 0x6b, 0x7e, 0x75, 0xe2, 0xb0, 0x67, 0x5b, + 0x73, 0xda, 0x17, 0xfb, 0x9d, 0x32, 0x6b, 0xc2, 0xca, 0x96, 0x05, 0x01, 0x60, 0xcc, 0x1a, 0x87, + 0x99, 0x41, 0x29, 0xa9, 0x40, 0x9e, 0xdf, 0x2f, 0x3e, 0x0f, 0xcf, 0x7a, 0x45, 0xd2, 0x8d, 0x84, + 0x84, 0x39, 0x12, 0xed, 0x09, 0x1e, 0x61, 0xbc, 0x8e, 0x19, 0xd4, 0xd6, 0xfe, 0x4d, 0x81, 0xcd, + 0x19, 0x75, 0xc8, 0x27, 0x61, 0x01, 0x1d, 0x14, 0xf9, 0xec, 0x5d, 0x9a, 0xf1, 0x89, 0x49, 0xf7, + 0x78, 0xff, 0x2e, 0xbb, 0x88, 0x4e, 0xe8, 0x0f, 0x93, 0xd5, 0x22, 0x8f, 0x60, 0x59, 0xef, 0xf5, + 0xb8, 0x74, 0x96, 0x89, 0x48, 0x67, 0x33, 0xbe, 0xf8, 0x6a, 0x80, 0xcf, 0xa4, 0x33, 0xe6, 0x2a, + 0xd3, 0xeb, 0xd9, 0xdc, 0xf9, 0x32, 0xa4, 0x77, 0xf1, 0x13, 0xb0, 0x16, 0x45, 0x7e, 0x2e, 0x7f, + 0xb1, 0x77, 0x14, 0x50, 0xa3, 0x6d, 0xf8, 0xc5, 0x04, 0x8a, 0x4a, 0x9b, 0xe6, 0x67, 0x2c, 0xaa, + 0xdf, 0xce, 0xc0, 0xf9, 0xd4, 0x11, 0x26, 0xaf, 0xc0, 0xa2, 0x3e, 0x1a, 0x55, 0xcb, 0x7c, 0x55, + 0x71, 0x0e, 0x09, 0x95, 0xde, 0x11, 0xe1, 0x95, 0x21, 0x91, 0xd7, 0x20, 0xcf, 0xac, 0x03, 0xca, + 0xe2, 0xc0, 0xc1, 0xc8, 0x37, 0xdc, 0x74, 0x21, 0x1a, 0x28, 0x55, 0x20, 0x92, 0x5d, 0x58, 0xe3, + 0x31, 0x63, 0x4c, 0xf7, 0xc8, 0xfd, 0x7a, 0x10, 0xb1, 0x1f, 0x93, 0x0a, 0x08, 0x4d, 0xba, 0x3d, + 0x66, 0x65, 0x72, 0xd4, 0x94, 0x68, 0x2d, 0x52, 0x03, 0x15, 0x69, 0xca, 0x94, 0x58, 0xb4, 0x56, + 0x8c, 0xe2, 0xc3, 0x1a, 0x31, 0x83, 0x56, 0xa2, 0x66, 0x30, 0x5d, 0xba, 0xef, 0x7b, 0x47, 0x83, + 0x13, 0x77, 0x30, 0xf9, 0xc5, 0x4d, 0x57, 0xf8, 0x8d, 0x53, 0x4d, 0xd7, 0xef, 0xe6, 0xd8, 0x66, + 0x8e, 0x57, 0xa3, 0x1c, 0x8d, 0x14, 0xa0, 0x1b, 0x39, 0x1a, 0x2a, 0x9f, 0xf1, 0xa8, 0x28, 0x65, + 0x58, 0x62, 0xd1, 0x6a, 0xc4, 0xce, 0xb8, 0x9c, 0xda, 0x04, 0x86, 0xb3, 0x7f, 0x97, 0xb1, 0x2f, + 0xcc, 0x53, 0xd2, 0x37, 0x45, 0x55, 0xb2, 0x0f, 0x85, 0x52, 0xdf, 0x75, 0x06, 0xd3, 0x51, 0xfb, + 0x74, 0x2f, 0xa8, 0x5b, 0xbc, 0x2f, 0x2b, 0x5d, 0x56, 0x0d, 0x5f, 0x5e, 0xf1, 0x24, 0x97, 0x09, + 0x91, 0x76, 0xe0, 0x3c, 0x95, 0x43, 0xc5, 0xeb, 0x47, 0xe6, 0x8c, 0x4f, 0x1c, 0x88, 0xf5, 0xa2, + 0x9e, 0x81, 0xdc, 0xbb, 0xca, 0x86, 0xb5, 0x9a, 0xe3, 0x4f, 0xda, 0x63, 0x67, 0xe0, 0x63, 0x94, + 0xcb, 0x53, 0x44, 0x01, 0xdb, 0x16, 0x19, 0x94, 0x51, 0x65, 0x3a, 0x09, 0xaa, 0x32, 0x85, 0x6c, + 0x94, 0x1c, 0xe5, 0x97, 0x76, 0xbd, 0x81, 0xd3, 0xf7, 0xbe, 0x21, 0x7c, 0x4c, 0x19, 0xbf, 0x74, + 0x28, 0x80, 0x66, 0x58, 0xae, 0x7d, 0x21, 0x31, 0x6f, 0xac, 0x95, 0x05, 0x58, 0xe2, 0x11, 0x08, + 0x98, 0x47, 0x7e, 0xcb, 0x68, 0x94, 0xab, 0x8d, 0x3d, 0x55, 0x21, 0x6b, 0x00, 0x2d, 0xb3, 0x59, + 0x32, 0x2c, 0x8b, 0xfe, 0xce, 0xd0, 0xdf, 0xdc, 0x5d, 0x7f, 0xb7, 0x53, 0x53, 0xb3, 0x92, 0xc7, + 0x7e, 0x4e, 0xfb, 0x91, 0x02, 0x17, 0xd2, 0xa7, 0x92, 0xb4, 0x01, 0x63, 0x36, 0xf0, 0xb7, 0xf4, + 0x8f, 0xce, 0x9d, 0xf7, 0x54, 0x70, 0x3c, 0xf6, 0xc3, 0x84, 0xc5, 0x14, 0xc8, 0x88, 0xb7, 0x2f, + 0xe6, 0xa4, 0xe8, 0xf5, 0xcc, 0x8c, 0xd7, 0xd3, 0x4a, 0xb0, 0x35, 0x8b, 0x46, 0xb4, 0xab, 0xeb, + 0x50, 0xd0, 0x5b, 0xad, 0x5a, 0xb5, 0xa4, 0xb7, 0xab, 0xcd, 0x86, 0xaa, 0x90, 0x65, 0x58, 0xd8, + 0x33, 0x9b, 0x9d, 0x96, 0x9a, 0xd1, 0xbe, 0xab, 0xc0, 0x6a, 0x35, 0xb4, 0x3a, 0x7b, 0xbf, 0x9b, + 0xef, 0x63, 0x91, 0xcd, 0xb7, 0x15, 0x44, 0x37, 0x09, 0x3e, 0x70, 0xaa, 0x9d, 0xf7, 0x5e, 0x06, + 0x36, 0x12, 0x75, 0x88, 0x05, 0x4b, 0xfa, 0x81, 0xd5, 0xac, 0x96, 0x4b, 0xbc, 0x65, 0x57, 0x43, + 0x73, 0x29, 0x4c, 0x60, 0x95, 0xf8, 0x0a, 0xf3, 0x08, 0x7e, 0xe2, 0xdb, 0x43, 0xaf, 0x27, 0x25, + 0x9f, 0xad, 0x9c, 0x31, 0x05, 0x25, 0xbc, 0xc9, 0xbe, 0x31, 0x1d, 0xbb, 0x48, 0x36, 0x13, 0xd1, + 0xeb, 0x06, 0xf0, 0x24, 0x61, 0xf4, 0xdf, 0x70, 0x68, 0x79, 0x92, 0x74, 0x48, 0x8f, 0x34, 0x60, + 0x71, 0xcf, 0x9b, 0x54, 0xa6, 0x8f, 0xf9, 0xfe, 0xbd, 0x12, 0xa6, 0x33, 0xaa, 0x4c, 0x1f, 0x27, + 0xc9, 0xa2, 0xca, 0x92, 0x45, 0xef, 0x89, 0x90, 0xe4, 0x54, 0xe2, 0x4e, 0x8c, 0xb9, 0xe7, 0x72, + 0x62, 0xdc, 0x59, 0x85, 0x02, 0x97, 0xa1, 0x50, 0x3c, 0xf9, 0x81, 0x02, 0x5b, 0xb3, 0x46, 0x8e, + 0x8a, 0x65, 0xd1, 0x60, 0x05, 0x17, 0x82, 0xf4, 0x18, 0xd1, 0x28, 0x05, 0x02, 0x8d, 0x7c, 0x1a, + 0x0a, 0x55, 0xdf, 0x9f, 0xba, 0x63, 0xeb, 0xb5, 0x8e, 0x59, 0xe5, 0xcb, 0xf5, 0xf2, 0x3f, 0xbf, + 0x7b, 0x75, 0x13, 0x7d, 0x3e, 0xc6, 0xb6, 0xff, 0x9a, 0x3d, 0x1d, 0x7b, 0x91, 0x54, 0x02, 0x72, + 0x0d, 0xca, 0x45, 0x3b, 0xd3, 0x9e, 0xe7, 0x0a, 0x19, 0x42, 0x38, 0x74, 0x73, 0x98, 0x7c, 0xa7, + 0x09, 0x98, 0xf6, 0x2d, 0x05, 0x2e, 0xce, 0x9e, 0x26, 0x7a, 0x4f, 0xb6, 0x99, 0x49, 0x95, 0x70, + 0xa9, 0xc6, 0x7b, 0x32, 0xb0, 0xbb, 0x92, 0x69, 0x0a, 0x44, 0x5a, 0x29, 0x48, 0x4d, 0x9f, 0x49, + 0xe4, 0xa3, 0x8e, 0x56, 0x12, 0x88, 0xda, 0x43, 0xd8, 0x9c, 0x31, 0xa9, 0xe4, 0x53, 0xa9, 0x49, + 0x77, 0xd0, 0x4d, 0x49, 0x4e, 0xba, 0x13, 0x49, 0xc7, 0x26, 0xc1, 0xb5, 0x7f, 0xc9, 0xc0, 0x05, + 0xba, 0xbb, 0xfa, 0xae, 0xef, 0xeb, 0xd3, 0xc9, 0x31, 0x9d, 0x4e, 0xc6, 0x6f, 0x92, 0x37, 0x60, + 0xf1, 0xf8, 0xf9, 0x54, 0xc5, 0x0c, 0x9d, 0x10, 0xc0, 0x1b, 0x4b, 0x38, 0xc7, 0xd0, 0xff, 0xc9, + 0x35, 0x90, 0x93, 0x8b, 0x67, 0x31, 0xbc, 0x69, 0x66, 0x4b, 0x31, 0x97, 0x47, 0x41, 0x1e, 0xe0, + 0x37, 0x61, 0x01, 0xf5, 0x29, 0xfc, 0xee, 0x10, 0x3c, 0x7f, 0x7a, 0xeb, 0x50, 0xdb, 0x62, 0xb2, + 0x0a, 0xe4, 0xc3, 0x00, 0x61, 0x66, 0x08, 0x7e, 0x39, 0x08, 0x3d, 0x43, 0x90, 0x1c, 0xc2, 0x5c, + 0x3e, 0x39, 0x74, 0x78, 0xba, 0x85, 0x22, 0x6c, 0x88, 0x11, 0x1f, 0x89, 0xa8, 0x88, 0xfc, 0x15, + 0x73, 0x9d, 0x15, 0x54, 0x47, 0x22, 0x32, 0xe2, 0x8d, 0x44, 0x82, 0x64, 0x0c, 0x8e, 0x1c, 0xcb, + 0x82, 0x7c, 0x23, 0x91, 0x05, 0x39, 0xcf, 0xb0, 0xe4, 0x54, 0xc7, 0xda, 0x3f, 0x64, 0x60, 0xf9, + 0x80, 0x72, 0x65, 0xa8, 0x6b, 0x98, 0xaf, 0xbb, 0xb8, 0x07, 0x85, 0xda, 0xd0, 0xe1, 0xcf, 0x45, + 0xdc, 0xa7, 0x84, 0xf9, 0x74, 0xf7, 0x87, 0x8e, 0x78, 0x79, 0xf2, 0x4d, 0x19, 0xe9, 0x19, 0xfe, + 0xe8, 0xf7, 0x61, 0x91, 0x3d, 0xdf, 0x71, 0x35, 0x9a, 0xe0, 0xcb, 0x83, 0x16, 0xbd, 0xca, 0x8a, + 0xa5, 0x17, 0x0e, 0xf6, 0x04, 0x28, 0x33, 0x89, 0x3c, 0xc6, 0xab, 0xa4, 0x59, 0x59, 0x38, 0x9d, + 0x66, 0x45, 0x8a, 0x65, 0xb7, 0x78, 0x9a, 0x58, 0x76, 0x17, 0xdf, 0x82, 0x82, 0xd4, 0x9e, 0xe7, + 0x62, 0xd3, 0xbf, 0x99, 0x81, 0x55, 0xec, 0x55, 0x60, 0xcb, 0xf3, 0xcb, 0xa9, 0x27, 0xfa, 0x58, + 0x44, 0x4f, 0xb4, 0x25, 0xcf, 0x17, 0xeb, 0xd9, 0x1c, 0x05, 0xd1, 0x7d, 0xd8, 0x48, 0x20, 0x92, + 0xd7, 0x61, 0x81, 0x36, 0x5f, 0xc8, 0xd5, 0x6a, 0x7c, 0x05, 0x84, 0x71, 0x8f, 0x69, 0xc7, 0x7d, + 0x93, 0x61, 0x6b, 0xff, 0xae, 0xc0, 0x0a, 0x4f, 0x3b, 0x32, 0x38, 0x1c, 0x3e, 0x73, 0x38, 0x6f, + 0xc5, 0x87, 0x93, 0x45, 0x57, 0xe1, 0xc3, 0xf9, 0x5f, 0x3d, 0x88, 0x6f, 0x45, 0x06, 0x71, 0x33, + 0x88, 0x82, 0x28, 0xba, 0x33, 0x67, 0x0c, 0xff, 0x12, 0xe3, 0x02, 0x47, 0x11, 0xc9, 0x97, 0x60, + 0xb9, 0xe1, 0x3e, 0x89, 0x88, 0xa7, 0xb7, 0x66, 0x10, 0x7d, 0x35, 0x40, 0x64, 0x7b, 0x0a, 0x6f, + 0xf6, 0x81, 0xfb, 0xc4, 0x4e, 0xbc, 0x1c, 0x86, 0x24, 0xa9, 0x84, 0x1a, 0xad, 0xf6, 0x3c, 0x4b, + 0x9f, 0x3b, 0xb8, 0x62, 0xc0, 0xa0, 0x6f, 0x67, 0x01, 0x42, 0xdf, 0x40, 0xba, 0x01, 0x23, 0x46, + 0x13, 0x42, 0xb3, 0x8f, 0x20, 0x79, 0x8d, 0x0b, 0x5b, 0x8a, 0x5b, 0x5c, 0x03, 0x9d, 0x99, 0x1d, + 0xa5, 0x12, 0x75, 0xd1, 0x25, 0xee, 0x8c, 0xd6, 0x73, 0xfb, 0x0e, 0x3b, 0xdb, 0xb3, 0x3b, 0x37, + 0x30, 0x28, 0x71, 0x00, 0x9d, 0x91, 0x3f, 0x1a, 0x5d, 0xd6, 0xca, 0x14, 0x21, 0xe1, 0x6f, 0x9b, + 0x7b, 0x3e, 0x7f, 0xdb, 0x16, 0x2c, 0x7b, 0x83, 0xb7, 0xdd, 0xc1, 0x64, 0x38, 0x7e, 0x8a, 0x6a, + 0xf7, 0x50, 0x9f, 0x47, 0x87, 0xa0, 0x2a, 0xca, 0xd8, 0x3c, 0xe0, 0x9d, 0x1b, 0xe0, 0xcb, 0xd3, + 0x10, 0x00, 0x03, 0x7f, 0xe1, 0x05, 0x75, 0xf1, 0x7e, 0x2e, 0xbf, 0xa8, 0x2e, 0xdd, 0xcf, 0xe5, + 0xf3, 0xea, 0xf2, 0xfd, 0x5c, 0x7e, 0x59, 0x05, 0x53, 0x7a, 0x33, 0x0b, 0xde, 0xc4, 0xa4, 0x67, + 0xac, 0xe8, 0x13, 0x95, 0xf6, 0xb3, 0x0c, 0x90, 0x64, 0x33, 0xc8, 0xc7, 0xa0, 0xc0, 0x0e, 0x58, + 0x7b, 0xec, 0x7f, 0x8d, 0xbb, 0x1b, 0xb0, 0xb0, 0x4b, 0x12, 0x58, 0x0e, 0xbb, 0xc4, 0xc0, 0xa6, + 0xff, 0xb5, 0x3e, 0xf9, 0x22, 0x9c, 0xc5, 0xe1, 0x1d, 0xb9, 0x63, 0x6f, 0xd8, 0xb3, 0x31, 0x46, + 0xae, 0xd3, 0xe7, 0xb9, 0x1e, 0x5f, 0xc1, 0xa4, 0xc4, 0xc9, 0xe2, 0x19, 0xd3, 0x80, 0x2e, 0x80, + 0x2d, 0xc4, 0x6c, 0x31, 0x44, 0xd2, 0x06, 0x55, 0xae, 0x7f, 0x38, 0xed, 0xf7, 0xf9, 0xcc, 0x16, + 0xa9, 0x44, 0x1f, 0x2f, 0x9b, 0x41, 0x78, 0x2d, 0x24, 0xbc, 0x3b, 0xed, 0xf7, 0xc9, 0x1b, 0x00, + 0xc3, 0x81, 0x7d, 0xe2, 0xf9, 0x3e, 0x7b, 0xcc, 0x09, 0xbc, 0x95, 0x43, 0xa8, 0x3c, 0x19, 0xc3, + 0x41, 0x9d, 0x01, 0xc9, 0xff, 0x02, 0x8c, 0xd6, 0x80, 0x61, 0x4c, 0x98, 0x35, 0x12, 0xcf, 0xde, + 0x22, 0x80, 0x51, 0xe7, 0xe8, 0x23, 0xd7, 0xf2, 0xbe, 0x21, 0x5c, 0x3d, 0x3e, 0x0f, 0x1b, 0xdc, + 0x78, 0xf8, 0xc0, 0x9b, 0x1c, 0x73, 0x51, 0xe2, 0xfd, 0xc8, 0x21, 0x92, 0x2c, 0xf1, 0x37, 0x39, + 0x00, 0xfd, 0xc0, 0x12, 0x11, 0xc2, 0xee, 0xc0, 0x02, 0x15, 0x90, 0x84, 0xa2, 0x05, 0xd5, 0xd4, + 0x48, 0x57, 0x56, 0x53, 0x23, 0x06, 0xdd, 0x8d, 0x26, 0x1a, 0xd5, 0x0b, 0x25, 0x0b, 0xee, 0x46, + 0x66, 0x67, 0x1f, 0x89, 0xd0, 0xcc, 0xb1, 0x48, 0x0d, 0x20, 0x8c, 0xd9, 0xc5, 0x59, 0xfe, 0x8d, + 0x30, 0xf8, 0x0d, 0x2f, 0xe0, 0x59, 0x22, 0xc2, 0xb8, 0x5f, 0xf2, 0xf2, 0x09, 0xd1, 0xc8, 0x03, + 0xc8, 0xb5, 0x9d, 0xc0, 0x17, 0x77, 0x46, 0x24, 0xb3, 0x17, 0x79, 0x2e, 0xce, 0x30, 0x9a, 0xd9, + 0xda, 0xc4, 0x89, 0xa4, 0x2c, 0x46, 0x22, 0xc4, 0x80, 0x45, 0x9e, 0x67, 0x7d, 0x46, 0x04, 0x4c, + 0x9e, 0x66, 0x9d, 0xc7, 0xbd, 0x46, 0xa0, 0xcc, 0x53, 0xf0, 0x8c, 0xea, 0xf7, 0x20, 0x6b, 0x59, + 0x75, 0x1e, 0xbf, 0x63, 0x35, 0x14, 0xbf, 0x2c, 0xab, 0xce, 0xde, 0x7d, 0x7d, 0xff, 0x44, 0xaa, + 0x46, 0x91, 0xc9, 0xc7, 0xa1, 0x20, 0x31, 0xc5, 0x3c, 0xf2, 0x0d, 0x8e, 0x81, 0xe4, 0xed, 0x24, + 0x1f, 0x1a, 0x12, 0x36, 0xa9, 0x81, 0xfa, 0x60, 0xfa, 0xd8, 0xd5, 0x47, 0x23, 0x74, 0x83, 0x7c, + 0xdb, 0x1d, 0x33, 0xb6, 0x2d, 0x1f, 0x86, 0x8c, 0x46, 0x1f, 0x89, 0x9e, 0x28, 0x95, 0x95, 0x4d, + 0xf1, 0x9a, 0xa4, 0x05, 0x1b, 0x96, 0x3b, 0x99, 0x8e, 0x98, 0x7d, 0xcd, 0xee, 0x70, 0x4c, 0xe5, + 0x1b, 0x16, 0x27, 0x07, 0xa3, 0xeb, 0xfa, 0xb4, 0x50, 0x18, 0x35, 0x1d, 0x0e, 0xc7, 0x31, 0x59, + 0x27, 0x59, 0x59, 0x73, 0xe5, 0x29, 0xa7, 0xb7, 0x6a, 0x54, 0x6a, 0xc2, 0x5b, 0x55, 0x48, 0x4d, + 0xa1, 0xac, 0xf4, 0xe1, 0x94, 0x58, 0x6e, 0xf8, 0x32, 0x28, 0xc5, 0x72, 0x8b, 0x44, 0x70, 0xfb, + 0x7e, 0x4e, 0x0a, 0x27, 0xca, 0xe7, 0xe2, 0x93, 0x00, 0xf7, 0x87, 0xde, 0xa0, 0xee, 0x4e, 0x8e, + 0x87, 0x3d, 0x29, 0xa4, 0x5c, 0xe1, 0x2b, 0x43, 0x6f, 0x60, 0x9f, 0x20, 0xf8, 0x67, 0xef, 0x5e, + 0x95, 0x90, 0x4c, 0xe9, 0x7f, 0xf2, 0x21, 0x58, 0xa6, 0xbf, 0xda, 0xa1, 0x95, 0x10, 0xd3, 0xc9, + 0x62, 0x6d, 0x96, 0x74, 0x23, 0x44, 0x20, 0x6f, 0x61, 0x9a, 0x19, 0x6f, 0x34, 0x91, 0x98, 0x57, + 0x91, 0x53, 0xc6, 0x1b, 0x4d, 0xe2, 0x11, 0xa2, 0x25, 0x64, 0x52, 0x09, 0x9a, 0x2e, 0x32, 0x43, + 0xf1, 0x6c, 0x36, 0xa8, 0x78, 0xe4, 0x6b, 0xcd, 0x16, 0xa1, 0x69, 0xe5, 0x1c, 0xbe, 0xb1, 0x6a, + 0xd8, 0x08, 0xab, 0x52, 0x66, 0x2f, 0x45, 0x9c, 0xa9, 0x65, 0x8d, 0xf0, 0x8f, 0x7b, 0x76, 0x17, + 0xc1, 0x91, 0x46, 0x04, 0xc8, 0x64, 0x07, 0xd6, 0x19, 0x8f, 0x1f, 0x64, 0x98, 0xe4, 0x2c, 0x2e, + 0x9e, 0x6d, 0x61, 0x0a, 0x4a, 0xf9, 0xf3, 0xb1, 0x0a, 0x64, 0x17, 0x16, 0x50, 0xd6, 0xe4, 0xae, + 0x01, 0xdb, 0xb2, 0x9a, 0x20, 0xbe, 0x8f, 0xf0, 0x5c, 0x41, 0x05, 0x81, 0x7c, 0xae, 0x20, 0x2a, + 0xf9, 0x1c, 0x80, 0x31, 0x18, 0x0f, 0xfb, 0x7d, 0x0c, 0x9e, 0x9c, 0x47, 0x51, 0xea, 0x72, 0x74, + 0x3f, 0x22, 0x95, 0x10, 0x89, 0x07, 0xfa, 0xc3, 0xdf, 0x76, 0x2c, 0xc4, 0xb2, 0x44, 0x4b, 0xab, + 0xc2, 0x22, 0xdb, 0x8c, 0x18, 0x88, 0x9c, 0xa7, 0x56, 0x91, 0xc2, 0x58, 0xb3, 0x40, 0xe4, 0x1c, + 0x9e, 0x0c, 0x44, 0x2e, 0x55, 0xd0, 0x1e, 0xc0, 0xb9, 0xb4, 0x8e, 0x45, 0xa4, 0x63, 0xe5, 0xb4, + 0xd2, 0xf1, 0xf7, 0xb2, 0xb0, 0x82, 0xd4, 0xc4, 0x29, 0xac, 0xc3, 0xaa, 0x35, 0x7d, 0x1c, 0x44, + 0xe9, 0x12, 0xa7, 0x31, 0xb6, 0xcf, 0x97, 0x0b, 0xe4, 0x37, 0xbc, 0x48, 0x0d, 0x62, 0xc0, 0x9a, + 0xb8, 0x09, 0xf6, 0x84, 0xe7, 0x40, 0x10, 0x03, 0x5c, 0x44, 0x9a, 0x4c, 0x66, 0xd8, 0x8d, 0x55, + 0x0a, 0xef, 0x83, 0xec, 0xf3, 0xdc, 0x07, 0xb9, 0x53, 0xdd, 0x07, 0x8f, 0x60, 0x45, 0x7c, 0x0d, + 0x4f, 0xf2, 0x85, 0xf7, 0x77, 0x92, 0x47, 0x88, 0x91, 0x5a, 0x70, 0xa2, 0x2f, 0xce, 0x3d, 0xd1, + 0xf1, 0x61, 0x54, 0xec, 0xb2, 0x11, 0xc2, 0x92, 0x07, 0x3b, 0xa6, 0xa0, 0xdc, 0x2b, 0xb5, 0x7e, + 0x8e, 0x5b, 0xf2, 0x75, 0x58, 0xae, 0x0d, 0xc5, 0x9b, 0x98, 0xf4, 0x18, 0xd1, 0x17, 0x40, 0x99, + 0x5d, 0x08, 0x30, 0x83, 0xdb, 0x2d, 0xfb, 0x41, 0xdc, 0x6e, 0x6f, 0x01, 0x70, 0x97, 0x94, 0x30, + 0x75, 0x1c, 0x6e, 0x19, 0x11, 0xa1, 0x24, 0xfa, 0x26, 0x22, 0x21, 0xd3, 0xd3, 0x89, 0x9b, 0xdb, + 0xe8, 0xdd, 0xee, 0x70, 0x3a, 0x98, 0x44, 0x72, 0x2d, 0x0b, 0x0f, 0x56, 0x87, 0x97, 0xc9, 0xc7, + 0x43, 0xac, 0xda, 0x07, 0x3b, 0x21, 0xe4, 0xb3, 0x81, 0xf1, 0xe3, 0xd2, 0xbc, 0x11, 0xd2, 0x12, + 0x23, 0x34, 0xd3, 0xe4, 0x51, 0xfb, 0x91, 0x22, 0x27, 0x60, 0xf8, 0x39, 0xa6, 0xfa, 0x4d, 0x80, + 0xc0, 0x28, 0x41, 0xcc, 0x35, 0x93, 0x97, 0x02, 0xa8, 0x3c, 0xca, 0x21, 0xae, 0xd4, 0x9b, 0xec, + 0x07, 0xd5, 0x9b, 0x36, 0x14, 0x9a, 0x5f, 0x9d, 0x38, 0xa1, 0x15, 0x0b, 0x58, 0x01, 0x27, 0x8b, + 0x27, 0x53, 0x76, 0xe7, 0x26, 0xde, 0x0d, 0x21, 0x1f, 0x3c, 0x83, 0x05, 0x96, 0x2a, 0x6a, 0x7f, + 0xaa, 0xc0, 0xba, 0xec, 0x76, 0xff, 0x74, 0xd0, 0x25, 0x9f, 0x62, 0xf1, 0x60, 0x95, 0x88, 0xc8, + 0x22, 0x21, 0xd1, 0x23, 0xf7, 0xe9, 0xa0, 0xcb, 0x18, 0x20, 0xe7, 0x89, 0xdc, 0x58, 0x5a, 0x91, + 0x3c, 0x86, 0x95, 0xd6, 0xb0, 0xdf, 0xa7, 0x6c, 0xcd, 0xf8, 0x6d, 0x2e, 0x00, 0x50, 0x42, 0xf1, + 0xa7, 0x11, 0xd1, 0xa0, 0x9d, 0xeb, 0x5c, 0xce, 0xdd, 0x1c, 0xd1, 0xf3, 0xde, 0xe3, 0xf5, 0x42, + 0xb2, 0xef, 0xa0, 0x9f, 0x9c, 0x4c, 0x53, 0xfb, 0x89, 0x02, 0x24, 0xd9, 0x24, 0xf9, 0xc8, 0x52, + 0xfe, 0x1b, 0x58, 0xd8, 0x18, 0xeb, 0x97, 0x7b, 0x1e, 0xd6, 0xaf, 0xf8, 0x5b, 0x0a, 0xac, 0x57, + 0xf5, 0x3a, 0x4f, 0xc9, 0xc0, 0x5e, 0x70, 0xae, 0xc1, 0xe5, 0xaa, 0x5e, 0xb7, 0x5b, 0xcd, 0x5a, + 0xb5, 0xf4, 0xd0, 0x4e, 0x8d, 0xb4, 0x7c, 0x19, 0x5e, 0x48, 0xa2, 0x84, 0x2f, 0x3d, 0x97, 0x60, + 0x2b, 0x59, 0x2c, 0xa2, 0x31, 0xa7, 0x57, 0x16, 0x81, 0x9b, 0xb3, 0xc5, 0x4f, 0xc3, 0xba, 0x88, + 0x3c, 0xdc, 0xae, 0x59, 0x98, 0xdb, 0x60, 0x1d, 0x0a, 0xfb, 0x86, 0x59, 0xdd, 0x7d, 0x68, 0xef, + 0x76, 0x6a, 0x35, 0xf5, 0x0c, 0x59, 0x85, 0x65, 0x0e, 0x28, 0xe9, 0xaa, 0x42, 0x56, 0x20, 0x5f, + 0x6d, 0x58, 0x46, 0xa9, 0x63, 0x1a, 0x6a, 0xa6, 0xf8, 0x69, 0x58, 0x6b, 0x8d, 0xbd, 0xb7, 0x9d, + 0x89, 0xfb, 0xc0, 0x7d, 0x8a, 0x0f, 0x35, 0x4b, 0x90, 0x35, 0xf5, 0x03, 0xf5, 0x0c, 0x01, 0x58, + 0x6c, 0x3d, 0x28, 0x59, 0x77, 0xef, 0xaa, 0x0a, 0x29, 0xc0, 0xd2, 0x5e, 0xa9, 0x65, 0x3f, 0xa8, + 0x5b, 0x6a, 0x86, 0xfe, 0xd0, 0x0f, 0x2c, 0xfc, 0x91, 0x2d, 0x7e, 0x04, 0x36, 0x90, 0x21, 0xa9, + 0x79, 0xfe, 0xc4, 0x1d, 0xb8, 0x63, 0x6c, 0xc3, 0x0a, 0xe4, 0x2d, 0x97, 0x9e, 0x24, 0x13, 0x97, + 0x35, 0xa0, 0x3e, 0xed, 0x4f, 0xbc, 0x51, 0xdf, 0xfd, 0xba, 0xaa, 0x14, 0xdf, 0x82, 0x75, 0x73, + 0x38, 0x9d, 0x78, 0x83, 0x23, 0x6b, 0x42, 0x31, 0x8e, 0x9e, 0x92, 0xf3, 0xb0, 0xd1, 0x69, 0xe8, + 0xf5, 0x9d, 0xea, 0x5e, 0xa7, 0xd9, 0xb1, 0xec, 0xba, 0xde, 0x2e, 0x55, 0xd8, 0x33, 0x51, 0xbd, + 0x69, 0xb5, 0x6d, 0xd3, 0x28, 0x19, 0x8d, 0xb6, 0xaa, 0x14, 0xbf, 0x83, 0xba, 0x95, 0xee, 0x70, + 0xd0, 0xdb, 0x75, 0xba, 0x93, 0xe1, 0x18, 0x1b, 0xac, 0xc1, 0x15, 0xcb, 0x28, 0x35, 0x1b, 0x65, + 0x7b, 0x57, 0x2f, 0xb5, 0x9b, 0x66, 0x5a, 0xa8, 0xef, 0x8b, 0x70, 0x21, 0x05, 0xa7, 0xd9, 0x6e, + 0xa9, 0x0a, 0xb9, 0x0a, 0xdb, 0x29, 0x65, 0x07, 0xc6, 0x8e, 0xde, 0x69, 0x57, 0x1a, 0x6a, 0x66, + 0x46, 0x65, 0xcb, 0x6a, 0xaa, 0xd9, 0xe2, 0xaf, 0x29, 0xb0, 0xd6, 0xf1, 0xb9, 0xc9, 0x79, 0x07, + 0xbd, 0x4d, 0x5f, 0x84, 0x4b, 0x1d, 0xcb, 0x30, 0xed, 0x76, 0xf3, 0x81, 0xd1, 0xb0, 0x3b, 0x96, + 0xbe, 0x17, 0x6f, 0xcd, 0x55, 0xd8, 0x96, 0x30, 0x4c, 0xa3, 0xd4, 0xdc, 0x37, 0x4c, 0xbb, 0xa5, + 0x5b, 0xd6, 0x41, 0xd3, 0x2c, 0xab, 0x0a, 0xfd, 0x62, 0x0a, 0x42, 0x7d, 0x57, 0x67, 0xad, 0x89, + 0x94, 0x35, 0x8c, 0x03, 0xbd, 0x66, 0xef, 0x34, 0xdb, 0x6a, 0xb6, 0x58, 0xa7, 0xf7, 0x3b, 0x06, + 0xdc, 0x65, 0x96, 0x85, 0x79, 0xc8, 0x35, 0x9a, 0x0d, 0x23, 0xfe, 0xb8, 0xb8, 0x02, 0x79, 0xbd, + 0xd5, 0x32, 0x9b, 0xfb, 0xb8, 0xc4, 0x00, 0x16, 0xcb, 0x46, 0x83, 0xb6, 0x2c, 0x4b, 0x4b, 0x5a, + 0x66, 0xb3, 0xde, 0x6c, 0x1b, 0x65, 0x35, 0x57, 0x34, 0xc5, 0x16, 0x16, 0x44, 0xbb, 0x43, 0xf6, + 0x92, 0x57, 0x36, 0x76, 0xf5, 0x4e, 0xad, 0xcd, 0xa7, 0xe8, 0xa1, 0x6d, 0x1a, 0x9f, 0xed, 0x18, + 0x56, 0xdb, 0x52, 0x15, 0xa2, 0xc2, 0x4a, 0xc3, 0x30, 0xca, 0x96, 0x6d, 0x1a, 0xfb, 0x55, 0xe3, + 0x40, 0xcd, 0x50, 0x9a, 0xec, 0x7f, 0xfa, 0x85, 0xe2, 0xf7, 0x15, 0x20, 0x2c, 0x58, 0xb1, 0xc8, + 0x80, 0x83, 0x2b, 0xe6, 0x0a, 0x5c, 0xac, 0xd0, 0xa9, 0xc6, 0xae, 0xd5, 0x9b, 0xe5, 0xf8, 0x90, + 0x5d, 0x00, 0x12, 0x2b, 0x6f, 0xee, 0xee, 0xaa, 0x0a, 0xd9, 0x86, 0xb3, 0x31, 0x78, 0xd9, 0x6c, + 0xb6, 0xd4, 0xcc, 0xc5, 0x4c, 0x5e, 0x21, 0x9b, 0x89, 0xc2, 0x07, 0x86, 0xd1, 0x52, 0xb3, 0x74, + 0x8a, 0x62, 0x05, 0x62, 0x4b, 0xb0, 0xea, 0xb9, 0xe2, 0xb7, 0x14, 0xb8, 0xc0, 0x9a, 0x29, 0xf6, + 0x57, 0xd0, 0xd4, 0x4b, 0xb0, 0xc5, 0x43, 0xb0, 0xa7, 0x35, 0xf4, 0x1c, 0xa8, 0x91, 0x52, 0xd6, + 0xcc, 0xf3, 0xb0, 0x11, 0x81, 0x62, 0x3b, 0x32, 0xf4, 0xf4, 0x88, 0x80, 0x77, 0x0c, 0xab, 0x6d, + 0x1b, 0xbb, 0xbb, 0x4d, 0xb3, 0xcd, 0x1a, 0x92, 0x2d, 0x6a, 0xb0, 0x51, 0x72, 0xc7, 0x13, 0x2a, + 0x7a, 0x0d, 0x7c, 0x6f, 0x38, 0xc0, 0x26, 0xac, 0xc2, 0xb2, 0xf1, 0xb9, 0xb6, 0xd1, 0xb0, 0xaa, + 0xcd, 0x86, 0x7a, 0xa6, 0x78, 0x29, 0x86, 0x23, 0xf6, 0xb1, 0x65, 0x55, 0xd4, 0x33, 0x45, 0x07, + 0x56, 0x85, 0xe1, 0x35, 0x5b, 0x15, 0x57, 0xe0, 0xa2, 0x58, 0x6b, 0x78, 0xa2, 0xc4, 0xbb, 0xb0, + 0x05, 0xe7, 0x92, 0xe5, 0x46, 0x5b, 0x55, 0xe8, 0x2c, 0xc4, 0x4a, 0x28, 0x3c, 0x53, 0xfc, 0x7f, + 0x0a, 0xac, 0x06, 0x8f, 0x26, 0xa8, 0xa6, 0xbd, 0x0a, 0xdb, 0xf5, 0x5d, 0xdd, 0x2e, 0x1b, 0xfb, + 0xd5, 0x92, 0x61, 0x3f, 0xa8, 0x36, 0xca, 0xb1, 0x8f, 0xbc, 0x00, 0xe7, 0x53, 0x10, 0xf0, 0x2b, + 0x5b, 0x70, 0x2e, 0x5e, 0xd4, 0xa6, 0x5b, 0x35, 0x43, 0x87, 0x3e, 0x5e, 0x12, 0xec, 0xd3, 0x6c, + 0xf1, 0x0f, 0x14, 0xd8, 0x6a, 0x8f, 0xa7, 0xfe, 0xc4, 0xed, 0xf1, 0xe7, 0x1b, 0x96, 0x7b, 0x06, + 0x83, 0x33, 0x17, 0xe1, 0x56, 0xdb, 0xec, 0x58, 0x6d, 0xa3, 0x2c, 0xaa, 0xd3, 0x45, 0x5b, 0x35, + 0x8d, 0xba, 0xd1, 0x68, 0xc7, 0xda, 0xf6, 0x32, 0xbc, 0x34, 0x07, 0xb7, 0xd1, 0x6c, 0x8b, 0xdf, + 0x74, 0xaf, 0xbe, 0x04, 0xd7, 0xe7, 0x20, 0x07, 0x88, 0x99, 0xe2, 0x3e, 0xac, 0x59, 0x7a, 0xbd, + 0xb6, 0x3b, 0x1c, 0x77, 0x5d, 0x7d, 0x3a, 0x39, 0x1e, 0x90, 0x6d, 0xd8, 0xdc, 0x6d, 0x9a, 0x25, + 0xc3, 0xc6, 0x1e, 0xc4, 0x1a, 0x71, 0x16, 0xd6, 0xe5, 0xc2, 0x87, 0x06, 0xdd, 0x5d, 0x04, 0xd6, + 0x64, 0x60, 0xa3, 0xa9, 0x66, 0x8a, 0x5f, 0x80, 0x95, 0x48, 0x9e, 0xbe, 0x4d, 0x38, 0x2b, 0xff, + 0x6e, 0xb9, 0x83, 0x9e, 0x37, 0x38, 0x52, 0xcf, 0xc4, 0x0b, 0xcc, 0xe9, 0x60, 0x40, 0x0b, 0xf0, + 0xb8, 0x91, 0x0b, 0xda, 0xee, 0xf8, 0xc4, 0x1b, 0x38, 0x13, 0xb7, 0xa7, 0x66, 0x8a, 0xaf, 0xc2, + 0x6a, 0x24, 0x3a, 0x38, 0x5d, 0x57, 0xb5, 0x26, 0xbf, 0x1f, 0xea, 0x46, 0xb9, 0xda, 0xa9, 0xab, + 0x0b, 0xf4, 0xa0, 0xa9, 0x54, 0xf7, 0x2a, 0x2a, 0x14, 0xbf, 0xab, 0x50, 0x31, 0x08, 0xc7, 0xbd, + 0xbe, 0xab, 0x8b, 0x95, 0x48, 0x77, 0x01, 0xcb, 0x39, 0x60, 0x58, 0x16, 0x7b, 0xf2, 0xbf, 0x04, + 0x5b, 0xfc, 0x87, 0xad, 0x37, 0xca, 0x76, 0x45, 0x37, 0xcb, 0x07, 0xba, 0x49, 0xb7, 0xc6, 0x43, + 0x35, 0x83, 0xfb, 0x5d, 0x82, 0xd8, 0xed, 0x66, 0xa7, 0x54, 0x51, 0xb3, 0x74, 0x7b, 0x45, 0xe0, + 0xad, 0x6a, 0x43, 0xcd, 0xe1, 0xe9, 0x91, 0xc0, 0x46, 0xb2, 0xb4, 0x7c, 0xa1, 0xf8, 0x9e, 0x02, + 0x9b, 0x96, 0x77, 0x34, 0x70, 0x26, 0xd3, 0xb1, 0xab, 0xf7, 0x8f, 0x86, 0x63, 0x6f, 0x72, 0x7c, + 0x62, 0x4d, 0xbd, 0x89, 0x4b, 0xee, 0xc0, 0x4d, 0xab, 0xba, 0xd7, 0xd0, 0xdb, 0x74, 0xf7, 0xeb, + 0xb5, 0xbd, 0xa6, 0x59, 0x6d, 0x57, 0xea, 0xb6, 0xd5, 0xa9, 0x26, 0x36, 0xc6, 0x0d, 0x78, 0x71, + 0x36, 0x6a, 0xcd, 0xd8, 0xd3, 0x4b, 0x0f, 0x55, 0x65, 0x3e, 0xc1, 0x1d, 0xbd, 0xa6, 0x37, 0x4a, + 0x46, 0xd9, 0xde, 0xbf, 0xab, 0x66, 0xc8, 0x4d, 0xb8, 0x36, 0x1b, 0x75, 0xb7, 0xda, 0xb2, 0x28, + 0x5a, 0x76, 0xfe, 0x77, 0x2b, 0x56, 0x9d, 0x62, 0xe5, 0x8a, 0xbf, 0xaf, 0xc0, 0xd6, 0xac, 0x10, + 0x51, 0xe4, 0x16, 0x68, 0x46, 0xa3, 0x6d, 0xea, 0xd5, 0xb2, 0x5d, 0x32, 0x8d, 0xb2, 0xd1, 0x68, + 0x57, 0xf5, 0x9a, 0x65, 0x5b, 0xcd, 0x0e, 0x5d, 0x4d, 0xa1, 0x65, 0xc6, 0x75, 0xb8, 0x3a, 0x07, + 0xaf, 0x59, 0x2d, 0x97, 0x54, 0x85, 0xdc, 0x85, 0x57, 0xe6, 0x20, 0x59, 0x0f, 0xad, 0xb6, 0x51, + 0x97, 0x4b, 0xd4, 0x4c, 0xb1, 0x04, 0x17, 0x67, 0xc7, 0x90, 0xa1, 0xb7, 0x48, 0x74, 0xa4, 0xf3, + 0x90, 0x2b, 0xd3, 0x8b, 0x2b, 0x92, 0x9a, 0xa2, 0xe8, 0x81, 0x1a, 0x0f, 0x03, 0x91, 0x30, 0xa1, + 0x31, 0x3b, 0x8d, 0x06, 0xbb, 0xe5, 0xd6, 0xa1, 0xd0, 0x6c, 0x57, 0x0c, 0x93, 0x27, 0xf7, 0xc0, + 0x6c, 0x1e, 0x9d, 0x06, 0xdd, 0x38, 0x4d, 0xb3, 0xfa, 0x79, 0xbc, 0xee, 0xb6, 0xe0, 0x9c, 0x55, + 0xd3, 0x4b, 0x0f, 0x70, 0x4f, 0x57, 0x1b, 0x76, 0xa9, 0xa2, 0x37, 0x1a, 0x46, 0x4d, 0x05, 0x1c, + 0xcc, 0x59, 0xae, 0x9f, 0xe4, 0x43, 0x70, 0xbb, 0xf9, 0xa0, 0xad, 0xdb, 0xad, 0x5a, 0x67, 0xaf, + 0xda, 0xb0, 0xad, 0x87, 0x8d, 0x92, 0x60, 0xcd, 0x4a, 0xc9, 0x1b, 0xe1, 0x36, 0xdc, 0x98, 0x8b, + 0x1d, 0xa6, 0xe1, 0xb8, 0x05, 0xda, 0x5c, 0x4c, 0xde, 0x91, 0xe2, 0x8f, 0x15, 0xd8, 0x9e, 0xf3, + 0xc4, 0x4d, 0x5e, 0x81, 0x3b, 0x15, 0x43, 0x2f, 0xd7, 0x0c, 0xcb, 0xc2, 0x83, 0x82, 0x4e, 0x03, + 0x33, 0xb5, 0x49, 0x3d, 0xef, 0xef, 0xc0, 0xcd, 0xf9, 0xe8, 0x21, 0xe7, 0x70, 0x1b, 0x6e, 0xcc, + 0x47, 0xe5, 0x9c, 0x44, 0x86, 0x9e, 0xb7, 0xf3, 0x31, 0x03, 0x0e, 0x24, 0x5b, 0xfc, 0x0d, 0x05, + 0x2e, 0xa4, 0xeb, 0x99, 0x68, 0xdb, 0xaa, 0x0d, 0xab, 0xad, 0xd7, 0x6a, 0x76, 0x4b, 0x37, 0xf5, + 0xba, 0x6d, 0x34, 0xcc, 0x66, 0xad, 0x96, 0x76, 0xf3, 0xde, 0x80, 0x17, 0x67, 0xa3, 0x5a, 0x25, + 0xb3, 0xda, 0xa2, 0x97, 0x8b, 0x06, 0x57, 0x66, 0x63, 0x19, 0xd5, 0x92, 0xa1, 0x66, 0x76, 0x3e, + 0xf9, 0xc3, 0xbf, 0xbf, 0x72, 0xe6, 0x87, 0xef, 0x5d, 0x51, 0x7e, 0xf2, 0xde, 0x15, 0xe5, 0xef, + 0xde, 0xbb, 0xa2, 0x7c, 0xfe, 0xe5, 0xd3, 0x65, 0xb0, 0x42, 0xb1, 0xe4, 0xf1, 0x22, 0x0a, 0x50, + 0xaf, 0xfd, 0x67, 0x00, 0x00, 0x00, 0xff, 0xff, 0x40, 0x2a, 0xac, 0xcc, 0x45, 0xbb, 0x01, 0x00, } func (this *PluginSpecV1) Equal(that interface{}) bool { @@ -27378,6 +27478,18 @@ func (m *ServerSpecV2) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + if m.GitHub != nil { + { + size, err := m.GitHub.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x7a + } if m.CloudMetadata != nil { { size, err := m.CloudMetadata.MarshalToSizedBuffer(dAtA[:i]) @@ -27591,6 +27703,47 @@ func (m *CloudMetadata) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *GitHubServerMetadata) 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 *GitHubServerMetadata) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *GitHubServerMetadata) 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.Integration) > 0 { + i -= len(m.Integration) + copy(dAtA[i:], m.Integration) + i = encodeVarintTypes(dAtA, i, uint64(len(m.Integration))) + i-- + dAtA[i] = 0x12 + } + if len(m.Organization) > 0 { + i -= len(m.Organization) + copy(dAtA[i:], m.Organization) + i = encodeVarintTypes(dAtA, i, uint64(len(m.Organization))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *AppServerV3) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -28884,12 +29037,12 @@ func (m *ProvisionTokenV1) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1a } - n68, err68 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err68 != nil { - return 0, err68 + n69, err69 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err69 != nil { + return 0, err69 } - i -= n68 - i = encodeVarintTypes(dAtA, i, uint64(n68)) + i -= n69 + i = encodeVarintTypes(dAtA, i, uint64(n69)) i-- dAtA[i] = 0x12 if len(m.Roles) > 0 { @@ -31389,20 +31542,20 @@ func (m *AuthPreferenceSpecV2) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } if len(m.SecondFactors) > 0 { - dAtA104 := make([]byte, len(m.SecondFactors)*10) - var j103 int + dAtA105 := make([]byte, len(m.SecondFactors)*10) + var j104 int for _, num := range m.SecondFactors { for num >= 1<<7 { - dAtA104[j103] = uint8(uint64(num)&0x7f | 0x80) + dAtA105[j104] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j103++ + j104++ } - dAtA104[j103] = uint8(num) - j103++ + dAtA105[j104] = uint8(num) + j104++ } - i -= j103 - copy(dAtA[i:], dAtA104[:j103]) - i = encodeVarintTypes(dAtA, i, uint64(j103)) + i -= j104 + copy(dAtA[i:], dAtA105[:j104]) + i = encodeVarintTypes(dAtA, i, uint64(j104)) i-- dAtA[i] = 0x1 i-- @@ -32023,12 +32176,12 @@ func (m *UserTokenSpecV3) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n120, err120 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err120 != nil { - return 0, err120 + n121, err121 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + if err121 != nil { + return 0, err121 } - i -= n120 - i = encodeVarintTypes(dAtA, i, uint64(n120)) + i -= n121 + i = encodeVarintTypes(dAtA, i, uint64(n121)) i-- dAtA[i] = 0x22 if m.Usage != 0 { @@ -32145,12 +32298,12 @@ func (m *UserTokenSecretsSpecV3) MarshalToSizedBuffer(dAtA []byte) (int, error) i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n123, err123 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err123 != nil { - return 0, err123 + n124, err124 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + if err124 != nil { + return 0, err124 } - i -= n123 - i = encodeVarintTypes(dAtA, i, uint64(n123)) + i -= n124 + i = encodeVarintTypes(dAtA, i, uint64(n124)) i-- dAtA[i] = 0x1a if len(m.QRCode) > 0 { @@ -32355,12 +32508,12 @@ func (m *AccessReview) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } if m.AssumeStartTime != nil { - n126, err126 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.AssumeStartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.AssumeStartTime):]) - if err126 != nil { - return 0, err126 + n127, err127 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.AssumeStartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.AssumeStartTime):]) + if err127 != nil { + return 0, err127 } - i -= n126 - i = encodeVarintTypes(dAtA, i, uint64(n126)) + i -= n127 + i = encodeVarintTypes(dAtA, i, uint64(n127)) i-- dAtA[i] = 0x52 } @@ -32377,20 +32530,20 @@ func (m *AccessReview) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x4a } if len(m.ThresholdIndexes) > 0 { - dAtA129 := make([]byte, len(m.ThresholdIndexes)*10) - var j128 int + dAtA130 := make([]byte, len(m.ThresholdIndexes)*10) + var j129 int for _, num := range m.ThresholdIndexes { for num >= 1<<7 { - dAtA129[j128] = uint8(uint64(num)&0x7f | 0x80) + dAtA130[j129] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j128++ + j129++ } - dAtA129[j128] = uint8(num) - j128++ + dAtA130[j129] = uint8(num) + j129++ } - i -= j128 - copy(dAtA[i:], dAtA129[:j128]) - i = encodeVarintTypes(dAtA, i, uint64(j128)) + i -= j129 + copy(dAtA[i:], dAtA130[:j129]) + i = encodeVarintTypes(dAtA, i, uint64(j129)) i-- dAtA[i] = 0x3a } @@ -32404,12 +32557,12 @@ func (m *AccessReview) MarshalToSizedBuffer(dAtA []byte) (int, error) { } i-- dAtA[i] = 0x32 - n131, err131 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err131 != nil { - return 0, err131 + n132, err132 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + if err132 != nil { + return 0, err132 } - i -= n131 - i = encodeVarintTypes(dAtA, i, uint64(n131)) + i -= n132 + i = encodeVarintTypes(dAtA, i, uint64(n132)) i-- dAtA[i] = 0x2a if len(m.Reason) > 0 { @@ -32512,20 +32665,20 @@ func (m *ThresholdIndexSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } if len(m.Indexes) > 0 { - dAtA134 := make([]byte, len(m.Indexes)*10) - var j133 int + dAtA135 := make([]byte, len(m.Indexes)*10) + var j134 int for _, num := range m.Indexes { for num >= 1<<7 { - dAtA134[j133] = uint8(uint64(num)&0x7f | 0x80) + dAtA135[j134] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j133++ + j134++ } - dAtA134[j133] = uint8(num) - j133++ + dAtA135[j134] = uint8(num) + j134++ } - i -= j133 - copy(dAtA[i:], dAtA134[:j133]) - i = encodeVarintTypes(dAtA, i, uint64(j133)) + i -= j134 + copy(dAtA[i:], dAtA135[:j134]) + i = encodeVarintTypes(dAtA, i, uint64(j134)) i-- dAtA[i] = 0xa } @@ -32598,12 +32751,12 @@ func (m *AccessRequestSpecV3) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } if m.AssumeStartTime != nil { - n135, err135 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.AssumeStartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.AssumeStartTime):]) - if err135 != nil { - return 0, err135 + n136, err136 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.AssumeStartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.AssumeStartTime):]) + if err136 != nil { + return 0, err136 } - i -= n135 - i = encodeVarintTypes(dAtA, i, uint64(n135)) + i -= n136 + i = encodeVarintTypes(dAtA, i, uint64(n136)) i-- dAtA[i] = 0x1 i-- @@ -32623,22 +32776,22 @@ func (m *AccessRequestSpecV3) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0xa2 } - n137, err137 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.SessionTTL, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.SessionTTL):]) - if err137 != nil { - return 0, err137 + n138, err138 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.SessionTTL, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.SessionTTL):]) + if err138 != nil { + return 0, err138 } - i -= n137 - i = encodeVarintTypes(dAtA, i, uint64(n137)) + i -= n138 + i = encodeVarintTypes(dAtA, i, uint64(n138)) i-- dAtA[i] = 0x1 i-- dAtA[i] = 0x92 - n138, err138 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.MaxDuration, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.MaxDuration):]) - if err138 != nil { - return 0, err138 + n139, err139 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.MaxDuration, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.MaxDuration):]) + if err139 != nil { + return 0, err139 } - i -= n138 - i = encodeVarintTypes(dAtA, i, uint64(n138)) + i -= n139 + i = encodeVarintTypes(dAtA, i, uint64(n139)) i-- dAtA[i] = 0x1 i-- @@ -32771,21 +32924,21 @@ func (m *AccessRequestSpecV3) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x32 } - n142, err142 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err142 != nil { - return 0, err142 - } - i -= n142 - i = encodeVarintTypes(dAtA, i, uint64(n142)) - i-- - dAtA[i] = 0x2a - n143, err143 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + n143, err143 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) if err143 != nil { return 0, err143 } i -= n143 i = encodeVarintTypes(dAtA, i, uint64(n143)) i-- + dAtA[i] = 0x2a + n144, err144 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + if err144 != nil { + return 0, err144 + } + i -= n144 + i = encodeVarintTypes(dAtA, i, uint64(n144)) + i-- dAtA[i] = 0x22 if m.State != 0 { i = encodeVarintTypes(dAtA, i, uint64(m.State)) @@ -33781,12 +33934,12 @@ func (m *RoleOptions) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0xfa } - n157, err157 := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.MFAVerificationInterval, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(m.MFAVerificationInterval):]) - if err157 != nil { - return 0, err157 + n158, err158 := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.MFAVerificationInterval, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(m.MFAVerificationInterval):]) + if err158 != nil { + return 0, err158 } - i -= n157 - i = encodeVarintTypes(dAtA, i, uint64(n157)) + i -= n158 + i = encodeVarintTypes(dAtA, i, uint64(n158)) i-- dAtA[i] = 0x1 i-- @@ -34196,6 +34349,22 @@ func (m *RoleConditions) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + if len(m.GitHubPermissions) > 0 { + for iNdEx := len(m.GitHubPermissions) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.GitHubPermissions[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xda + } + } if len(m.AccountAssignments) > 0 { for iNdEx := len(m.AccountAssignments) - 1; iNdEx >= 0; iNdEx-- { { @@ -34686,6 +34855,42 @@ func (m *IdentityCenterAccountAssignment) MarshalToSizedBuffer(dAtA []byte) (int return len(dAtA) - i, nil } +func (m *GitHubPermission) 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 *GitHubPermission) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *GitHubPermission) 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.Organizations) > 0 { + for iNdEx := len(m.Organizations) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Organizations[iNdEx]) + copy(dAtA[i:], m.Organizations[iNdEx]) + i = encodeVarintTypes(dAtA, i, uint64(len(m.Organizations[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + func (m *SPIFFERoleCondition) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -35727,12 +35932,12 @@ func (m *UserSpecV2) MarshalToSizedBuffer(dAtA []byte) (int, error) { } i-- dAtA[i] = 0x42 - n187, err187 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err187 != nil { - return 0, err187 + n188, err188 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err188 != nil { + return 0, err188 } - i -= n187 - i = encodeVarintTypes(dAtA, i, uint64(n187)) + i -= n188 + i = encodeVarintTypes(dAtA, i, uint64(n188)) i-- dAtA[i] = 0x3a { @@ -35881,21 +36086,21 @@ func (m *LoginStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n190, err190 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LockExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LockExpires):]) - if err190 != nil { - return 0, err190 - } - i -= n190 - i = encodeVarintTypes(dAtA, i, uint64(n190)) - i-- - dAtA[i] = 0x22 - n191, err191 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LockedTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LockedTime):]) + n191, err191 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LockExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LockExpires):]) if err191 != nil { return 0, err191 } i -= n191 i = encodeVarintTypes(dAtA, i, uint64(n191)) i-- + dAtA[i] = 0x22 + n192, err192 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LockedTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LockedTime):]) + if err192 != nil { + return 0, err192 + } + i -= n192 + i = encodeVarintTypes(dAtA, i, uint64(n192)) + i-- dAtA[i] = 0x1a if len(m.LockedMessage) > 0 { i -= len(m.LockedMessage) @@ -35951,12 +36156,12 @@ func (m *CreatedBy) MarshalToSizedBuffer(dAtA []byte) (int, error) { } i-- dAtA[i] = 0x1a - n193, err193 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) - if err193 != nil { - return 0, err193 + n194, err194 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err194 != nil { + return 0, err194 } - i -= n193 - i = encodeVarintTypes(dAtA, i, uint64(n193)) + i -= n194 + i = encodeVarintTypes(dAtA, i, uint64(n194)) i-- dAtA[i] = 0x12 if m.Connector != nil { @@ -36074,21 +36279,21 @@ func (m *MFADevice) MarshalToSizedBuffer(dAtA []byte) (int, error) { } } } - n196, err196 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastUsed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastUsed):]) - if err196 != nil { - return 0, err196 - } - i -= n196 - i = encodeVarintTypes(dAtA, i, uint64(n196)) - i-- - dAtA[i] = 0x3a - n197, err197 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.AddedAt, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.AddedAt):]) + n197, err197 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastUsed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastUsed):]) if err197 != nil { return 0, err197 } i -= n197 i = encodeVarintTypes(dAtA, i, uint64(n197)) i-- + dAtA[i] = 0x3a + n198, err198 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.AddedAt, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.AddedAt):]) + if err198 != nil { + return 0, err198 + } + i -= n198 + i = encodeVarintTypes(dAtA, i, uint64(n198)) + i-- dAtA[i] = 0x32 if len(m.Id) > 0 { i -= len(m.Id) @@ -36784,12 +36989,12 @@ func (m *TunnelConnectionSpecV2) MarshalToSizedBuffer(dAtA []byte) (int, error) i-- dAtA[i] = 0x22 } - n209, err209 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastHeartbeat, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastHeartbeat):]) - if err209 != nil { - return 0, err209 + n210, err210 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastHeartbeat, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastHeartbeat):]) + if err210 != nil { + return 0, err210 } - i -= n209 - i = encodeVarintTypes(dAtA, i, uint64(n209)) + i -= n210 + i = encodeVarintTypes(dAtA, i, uint64(n210)) i-- dAtA[i] = 0x1a if len(m.ProxyName) > 0 { @@ -36881,12 +37086,12 @@ func (m *AcquireSemaphoreRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) i-- dAtA[i] = 0x2a } - n210, err210 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err210 != nil { - return 0, err210 + n211, err211 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err211 != nil { + return 0, err211 } - i -= n210 - i = encodeVarintTypes(dAtA, i, uint64(n210)) + i -= n211 + i = encodeVarintTypes(dAtA, i, uint64(n211)) i-- dAtA[i] = 0x22 if m.MaxLeases != 0 { @@ -36935,12 +37140,12 @@ func (m *SemaphoreLease) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n211, err211 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err211 != nil { - return 0, err211 + n212, err212 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err212 != nil { + return 0, err212 } - i -= n211 - i = encodeVarintTypes(dAtA, i, uint64(n211)) + i -= n212 + i = encodeVarintTypes(dAtA, i, uint64(n212)) i-- dAtA[i] = 0x2a if len(m.LeaseID) > 0 { @@ -36998,12 +37203,12 @@ func (m *SemaphoreLeaseRef) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1a } - n212, err212 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err212 != nil { - return 0, err212 + n213, err213 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err213 != nil { + return 0, err213 } - i -= n212 - i = encodeVarintTypes(dAtA, i, uint64(n212)) + i -= n213 + i = encodeVarintTypes(dAtA, i, uint64(n213)) i-- dAtA[i] = 0x12 if len(m.LeaseID) > 0 { @@ -37275,29 +37480,29 @@ func (m *WebSessionSpecV2) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x48 } - n219, err219 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LoginTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LoginTime):]) - if err219 != nil { - return 0, err219 - } - i -= n219 - i = encodeVarintTypes(dAtA, i, uint64(n219)) - i-- - dAtA[i] = 0x42 - n220, err220 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + n220, err220 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LoginTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LoginTime):]) if err220 != nil { return 0, err220 } i -= n220 i = encodeVarintTypes(dAtA, i, uint64(n220)) i-- - dAtA[i] = 0x3a - n221, err221 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.BearerTokenExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.BearerTokenExpires):]) + dAtA[i] = 0x42 + n221, err221 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) if err221 != nil { return 0, err221 } i -= n221 i = encodeVarintTypes(dAtA, i, uint64(n221)) i-- + dAtA[i] = 0x3a + n222, err222 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.BearerTokenExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.BearerTokenExpires):]) + if err222 != nil { + return 0, err222 + } + i -= n222 + i = encodeVarintTypes(dAtA, i, uint64(n222)) + i-- dAtA[i] = 0x32 if len(m.BearerToken) > 0 { i -= len(m.BearerToken) @@ -37529,21 +37734,21 @@ func (m *SAMLSessionData) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x22 } - n222, err222 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.ExpireTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.ExpireTime):]) - if err222 != nil { - return 0, err222 - } - i -= n222 - i = encodeVarintTypes(dAtA, i, uint64(n222)) - i-- - dAtA[i] = 0x1a - n223, err223 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CreateTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.CreateTime):]) + n223, err223 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.ExpireTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.ExpireTime):]) if err223 != nil { return 0, err223 } i -= n223 i = encodeVarintTypes(dAtA, i, uint64(n223)) i-- + dAtA[i] = 0x1a + n224, err224 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CreateTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.CreateTime):]) + if err224 != nil { + return 0, err224 + } + i -= n224 + i = encodeVarintTypes(dAtA, i, uint64(n224)) + i-- dAtA[i] = 0x12 if len(m.ID) > 0 { i -= len(m.ID) @@ -37824,12 +38029,12 @@ func (m *RemoteClusterStatusV3) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n227, err227 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastHeartbeat, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastHeartbeat):]) - if err227 != nil { - return 0, err227 + n228, err228 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastHeartbeat, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastHeartbeat):]) + if err228 != nil { + return 0, err228 } - i -= n227 - i = encodeVarintTypes(dAtA, i, uint64(n227)) + i -= n228 + i = encodeVarintTypes(dAtA, i, uint64(n228)) i-- dAtA[i] = 0x12 if len(m.Connection) > 0 { @@ -40598,12 +40803,12 @@ func (m *GithubAuthRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x62 } if m.Expires != nil { - n268, err268 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.Expires):]) - if err268 != nil { - return 0, err268 + n269, err269 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.Expires):]) + if err269 != nil { + return 0, err269 } - i -= n268 - i = encodeVarintTypes(dAtA, i, uint64(n268)) + i -= n269 + i = encodeVarintTypes(dAtA, i, uint64(n269)) i-- dAtA[i] = 0x5a } @@ -41615,21 +41820,21 @@ func (m *LockSpecV2) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a } - n286, err286 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CreatedAt, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.CreatedAt):]) - if err286 != nil { - return 0, err286 + n287, err287 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CreatedAt, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.CreatedAt):]) + if err287 != nil { + return 0, err287 } - i -= n286 - i = encodeVarintTypes(dAtA, i, uint64(n286)) + i -= n287 + i = encodeVarintTypes(dAtA, i, uint64(n287)) i-- dAtA[i] = 0x22 if m.Expires != nil { - n287, err287 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.Expires):]) - if err287 != nil { - return 0, err287 + n288, err288 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.Expires):]) + if err288 != nil { + return 0, err288 } - i -= n287 - i = encodeVarintTypes(dAtA, i, uint64(n287)) + i -= n288 + i = encodeVarintTypes(dAtA, i, uint64(n288)) i-- dAtA[i] = 0x1a } @@ -42346,12 +42551,12 @@ func (m *RegisterUsingTokenRequest) MarshalToSizedBuffer(dAtA []byte) (int, erro dAtA[i] = 0x6a } if m.Expires != nil { - n299, err299 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.Expires):]) - if err299 != nil { - return 0, err299 + n300, err300 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.Expires):]) + if err300 != nil { + return 0, err300 } - i -= n299 - i = encodeVarintTypes(dAtA, i, uint64(n299)) + i -= n300 + i = encodeVarintTypes(dAtA, i, uint64(n300)) i-- dAtA[i] = 0x62 } @@ -42531,12 +42736,12 @@ func (m *RecoveryCodesSpecV1) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n302, err302 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err302 != nil { - return 0, err302 + n303, err303 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + if err303 != nil { + return 0, err303 } - i -= n302 - i = encodeVarintTypes(dAtA, i, uint64(n302)) + i -= n303 + i = encodeVarintTypes(dAtA, i, uint64(n303)) i-- dAtA[i] = 0x12 if len(m.Codes) > 0 { @@ -42916,21 +43121,21 @@ func (m *SessionTrackerSpecV1) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x32 } - n306, err306 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err306 != nil { - return 0, err306 - } - i -= n306 - i = encodeVarintTypes(dAtA, i, uint64(n306)) - i-- - dAtA[i] = 0x2a - n307, err307 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + n307, err307 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) if err307 != nil { return 0, err307 } i -= n307 i = encodeVarintTypes(dAtA, i, uint64(n307)) i-- + dAtA[i] = 0x2a + n308, err308 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + if err308 != nil { + return 0, err308 + } + i -= n308 + i = encodeVarintTypes(dAtA, i, uint64(n308)) + i-- dAtA[i] = 0x22 if m.State != 0 { i = encodeVarintTypes(dAtA, i, uint64(m.State)) @@ -43033,12 +43238,12 @@ func (m *Participant) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n308, err308 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastActive, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastActive):]) - if err308 != nil { - return 0, err308 + n309, err309 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastActive, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastActive):]) + if err309 != nil { + return 0, err309 } - i -= n308 - i = encodeVarintTypes(dAtA, i, uint64(n308)) + i -= n309 + i = encodeVarintTypes(dAtA, i, uint64(n309)) i-- dAtA[i] = 0x22 if len(m.Mode) > 0 { @@ -43750,12 +43955,12 @@ func (m *ClusterAlertSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n321, err321 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err321 != nil { - return 0, err321 + n322, err322 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + if err322 != nil { + return 0, err322 } - i -= n321 - i = encodeVarintTypes(dAtA, i, uint64(n321)) + i -= n322 + i = encodeVarintTypes(dAtA, i, uint64(n322)) i-- dAtA[i] = 0x1a if len(m.Message) > 0 { @@ -43885,12 +44090,12 @@ func (m *AlertAcknowledgement) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n322, err322 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err322 != nil { - return 0, err322 + n323, err323 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err323 != nil { + return 0, err323 } - i -= n322 - i = encodeVarintTypes(dAtA, i, uint64(n322)) + i -= n323 + i = encodeVarintTypes(dAtA, i, uint64(n323)) i-- dAtA[i] = 0x22 if len(m.Reason) > 0 { @@ -46217,12 +46422,12 @@ func (m *PluginStatusV1) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x32 } - n357, err357 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastSyncTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastSyncTime):]) - if err357 != nil { - return 0, err357 + n358, err358 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastSyncTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastSyncTime):]) + if err358 != nil { + return 0, err358 } - i -= n357 - i = encodeVarintTypes(dAtA, i, uint64(n357)) + i -= n358 + i = encodeVarintTypes(dAtA, i, uint64(n358)) i-- dAtA[i] = 0x1a if len(m.ErrorMessage) > 0 { @@ -46583,22 +46788,22 @@ func (m *PluginOktaStatusDetailsAppGroupSync) MarshalToSizedBuffer(dAtA []byte) dAtA[i] = 0x28 } if m.LastFailed != nil { - n367, err367 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) - if err367 != nil { - return 0, err367 + n368, err368 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) + if err368 != nil { + return 0, err368 } - i -= n367 - i = encodeVarintTypes(dAtA, i, uint64(n367)) + i -= n368 + i = encodeVarintTypes(dAtA, i, uint64(n368)) i-- dAtA[i] = 0x22 } if m.LastSuccessful != nil { - n368, err368 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) - if err368 != nil { - return 0, err368 + n369, err369 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) + if err369 != nil { + return 0, err369 } - i -= n368 - i = encodeVarintTypes(dAtA, i, uint64(n368)) + i -= n369 + i = encodeVarintTypes(dAtA, i, uint64(n369)) i-- dAtA[i] = 0x1a } @@ -46657,22 +46862,22 @@ func (m *PluginOktaStatusDetailsUsersSync) MarshalToSizedBuffer(dAtA []byte) (in dAtA[i] = 0x28 } if m.LastFailed != nil { - n369, err369 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) - if err369 != nil { - return 0, err369 + n370, err370 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) + if err370 != nil { + return 0, err370 } - i -= n369 - i = encodeVarintTypes(dAtA, i, uint64(n369)) + i -= n370 + i = encodeVarintTypes(dAtA, i, uint64(n370)) i-- dAtA[i] = 0x22 } if m.LastSuccessful != nil { - n370, err370 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) - if err370 != nil { - return 0, err370 + n371, err371 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) + if err371 != nil { + return 0, err371 } - i -= n370 - i = encodeVarintTypes(dAtA, i, uint64(n370)) + i -= n371 + i = encodeVarintTypes(dAtA, i, uint64(n371)) i-- dAtA[i] = 0x1a } @@ -46791,22 +46996,22 @@ func (m *PluginOktaStatusDetailsAccessListsSync) MarshalToSizedBuffer(dAtA []byt } } if m.LastFailed != nil { - n371, err371 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) - if err371 != nil { - return 0, err371 + n372, err372 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) + if err372 != nil { + return 0, err372 } - i -= n371 - i = encodeVarintTypes(dAtA, i, uint64(n371)) + i -= n372 + i = encodeVarintTypes(dAtA, i, uint64(n372)) i-- dAtA[i] = 0x22 } if m.LastSuccessful != nil { - n372, err372 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) - if err372 != nil { - return 0, err372 + n373, err373 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) + if err373 != nil { + return 0, err373 } - i -= n372 - i = encodeVarintTypes(dAtA, i, uint64(n372)) + i -= n373 + i = encodeVarintTypes(dAtA, i, uint64(n373)) i-- dAtA[i] = 0x1a } @@ -46972,12 +47177,12 @@ func (m *PluginOAuth2AccessTokenCredentials) MarshalToSizedBuffer(dAtA []byte) ( i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n377, err377 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err377 != nil { - return 0, err377 + n378, err378 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err378 != nil { + return 0, err378 } - i -= n377 - i = encodeVarintTypes(dAtA, i, uint64(n377)) + i -= n378 + i = encodeVarintTypes(dAtA, i, uint64(n378)) i-- dAtA[i] = 0x1a if len(m.RefreshToken) > 0 { @@ -47919,21 +48124,21 @@ func (m *ScheduledAgentUpgradeWindow) MarshalToSizedBuffer(dAtA []byte) (int, er i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n392, err392 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Stop, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Stop):]) - if err392 != nil { - return 0, err392 - } - i -= n392 - i = encodeVarintTypes(dAtA, i, uint64(n392)) - i-- - dAtA[i] = 0x12 - n393, err393 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Start, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Start):]) + n393, err393 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Stop, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Stop):]) if err393 != nil { return 0, err393 } i -= n393 i = encodeVarintTypes(dAtA, i, uint64(n393)) i-- + dAtA[i] = 0x12 + n394, err394 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Start, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Start):]) + if err394 != nil { + return 0, err394 + } + i -= n394 + i = encodeVarintTypes(dAtA, i, uint64(n394)) + i-- dAtA[i] = 0xa return len(dAtA) - i, nil } @@ -48359,12 +48564,12 @@ func (m *OktaAssignmentSpecV1) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x30 } - n400, err400 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastTransition, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastTransition):]) - if err400 != nil { - return 0, err400 + n401, err401 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastTransition, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastTransition):]) + if err401 != nil { + return 0, err401 } - i -= n400 - i = encodeVarintTypes(dAtA, i, uint64(n400)) + i -= n401 + i = encodeVarintTypes(dAtA, i, uint64(n401)) i-- dAtA[i] = 0x2a if m.Status != 0 { @@ -48372,12 +48577,12 @@ func (m *OktaAssignmentSpecV1) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x20 } - n401, err401 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CleanupTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.CleanupTime):]) - if err401 != nil { - return 0, err401 + n402, err402 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CleanupTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.CleanupTime):]) + if err402 != nil { + return 0, err402 } - i -= n401 - i = encodeVarintTypes(dAtA, i, uint64(n401)) + i -= n402 + i = encodeVarintTypes(dAtA, i, uint64(n402)) i-- dAtA[i] = 0x1a if len(m.Targets) > 0 { @@ -49887,12 +50092,12 @@ func (m *AccessGraphSync) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n426, err426 := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.PollInterval, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(m.PollInterval):]) - if err426 != nil { - return 0, err426 + n427, err427 := github_com_gogo_protobuf_types.StdDurationMarshalTo(m.PollInterval, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdDuration(m.PollInterval):]) + if err427 != nil { + return 0, err427 } - i -= n426 - i = encodeVarintTypes(dAtA, i, uint64(n426)) + i -= n427 + i = encodeVarintTypes(dAtA, i, uint64(n427)) i-- dAtA[i] = 0x12 if len(m.AWS) > 0 { @@ -51015,6 +51220,10 @@ func (m *ServerSpecV2) Size() (n int) { l = m.CloudMetadata.Size() n += 1 + l + sovTypes(uint64(l)) } + if m.GitHub != nil { + l = m.GitHub.Size() + n += 1 + l + sovTypes(uint64(l)) + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -51073,6 +51282,26 @@ func (m *CloudMetadata) Size() (n int) { return n } +func (m *GitHubServerMetadata) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Organization) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + l = len(m.Integration) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + func (m *AppServerV3) Size() (n int) { if m == nil { return 0 @@ -54217,6 +54446,12 @@ func (m *RoleConditions) Size() (n int) { n += 2 + l + sovTypes(uint64(l)) } } + if len(m.GitHubPermissions) > 0 { + for _, e := range m.GitHubPermissions { + l = e.Size() + n += 2 + l + sovTypes(uint64(l)) + } + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -54243,6 +54478,24 @@ func (m *IdentityCenterAccountAssignment) Size() (n int) { return n } +func (m *GitHubPermission) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Organizations) > 0 { + for _, s := range m.Organizations { + l = len(s) + n += 1 + l + sovTypes(uint64(l)) + } + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + func (m *SPIFFERoleCondition) Size() (n int) { if m == nil { return 0 @@ -68657,11 +68910,43 @@ func (m *ServerSpecV2) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.PeerAddr = string(dAtA[iNdEx:postIndex]) + m.PeerAddr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProxyIDs", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + 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 ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProxyIDs = append(m.ProxyIDs, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 12: + case 13: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProxyIDs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PublicAddrs", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -68689,13 +68974,13 @@ func (m *ServerSpecV2) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ProxyIDs = append(m.ProxyIDs, string(dAtA[iNdEx:postIndex])) + m.PublicAddrs = append(m.PublicAddrs, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 13: + case 14: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PublicAddrs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CloudMetadata", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -68705,27 +68990,31 @@ func (m *ServerSpecV2) 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 ErrInvalidLengthTypes } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTypes } if postIndex > l { return io.ErrUnexpectedEOF } - m.PublicAddrs = append(m.PublicAddrs, string(dAtA[iNdEx:postIndex])) + if m.CloudMetadata == nil { + m.CloudMetadata = &CloudMetadata{} + } + if err := m.CloudMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 14: + case 15: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CloudMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GitHub", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -68752,10 +69041,10 @@ func (m *ServerSpecV2) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.CloudMetadata == nil { - m.CloudMetadata = &CloudMetadata{} + if m.GitHub == nil { + m.GitHub = &GitHubServerMetadata{} } - if err := m.CloudMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.GitHub.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -69111,6 +69400,121 @@ func (m *CloudMetadata) Unmarshal(dAtA []byte) error { } return nil } +func (m *GitHubServerMetadata) 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 ErrIntOverflowTypes + } + 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: GitHubServerMetadata: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GitHubServerMetadata: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Organization", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + 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 ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Organization = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Integration", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + 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 ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Integration = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTypes + } + 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 *AppServerV3) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -89628,6 +90032,40 @@ func (m *RoleConditions) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 43: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GitHubPermissions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GitHubPermissions = append(m.GitHubPermissions, GitHubPermission{}) + if err := m.GitHubPermissions[len(m.GitHubPermissions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -89765,6 +90203,89 @@ func (m *IdentityCenterAccountAssignment) Unmarshal(dAtA []byte) error { } return nil } +func (m *GitHubPermission) 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 ErrIntOverflowTypes + } + 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: GitHubPermission: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GitHubPermission: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Organizations", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + 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 ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Organizations = append(m.Organizations, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTypes + } + 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 *SPIFFERoleCondition) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/docs/pages/reference/operator-resources/resources.teleport.dev_openssheiceserversv2.mdx b/docs/pages/reference/operator-resources/resources.teleport.dev_openssheiceserversv2.mdx index 53706ecb2f089..4f87f08676fda 100644 --- a/docs/pages/reference/operator-resources/resources.teleport.dev_openssheiceserversv2.mdx +++ b/docs/pages/reference/operator-resources/resources.teleport.dev_openssheiceserversv2.mdx @@ -28,6 +28,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |---|---|---| |addr|string|Addr is a host:port address where this server can be reached.| |cloud_metadata|[object](#speccloud_metadata)|CloudMetadata contains info about the cloud instance the server is running on, if any.| +|github|[object](#specgithub)|GitHub contains info about GitHub proxies where each server represents a GitHub organization.| |hostname|string|Hostname is server hostname| |peer_addr|string|PeerAddr is the address a proxy server is reachable at by its peer proxies.| |proxy_ids|[]string|ProxyIDs is a list of proxy IDs this server is expected to be connected to.| @@ -53,6 +54,13 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |subnet_id|string|SubnetID is the Subnet ID in use by the instance.| |vpc_id|string|VPCID is the AWS VPC ID where the Instance is running.| +### spec.github + +|Field|Type|Description| +|---|---|---| +|integration|string|Integration is the integration that is associated with this Server.| +|organization|string|Organization specifies the name of the organization for the GitHub integration.| + ### spec.rotation |Field|Type|Description| diff --git a/docs/pages/reference/operator-resources/resources.teleport.dev_opensshserversv2.mdx b/docs/pages/reference/operator-resources/resources.teleport.dev_opensshserversv2.mdx index bd43ce2d31d0b..3961366039613 100644 --- a/docs/pages/reference/operator-resources/resources.teleport.dev_opensshserversv2.mdx +++ b/docs/pages/reference/operator-resources/resources.teleport.dev_opensshserversv2.mdx @@ -28,6 +28,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |---|---|---| |addr|string|Addr is a host:port address where this server can be reached.| |cloud_metadata|[object](#speccloud_metadata)|CloudMetadata contains info about the cloud instance the server is running on, if any.| +|github|[object](#specgithub)|GitHub contains info about GitHub proxies where each server represents a GitHub organization.| |hostname|string|Hostname is server hostname| |peer_addr|string|PeerAddr is the address a proxy server is reachable at by its peer proxies.| |proxy_ids|[]string|ProxyIDs is a list of proxy IDs this server is expected to be connected to.| @@ -53,6 +54,13 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |subnet_id|string|SubnetID is the Subnet ID in use by the instance.| |vpc_id|string|VPCID is the AWS VPC ID where the Instance is running.| +### spec.github + +|Field|Type|Description| +|---|---|---| +|integration|string|Integration is the integration that is associated with this Server.| +|organization|string|Organization specifies the name of the organization for the GitHub integration.| + ### spec.rotation |Field|Type|Description| diff --git a/docs/pages/reference/operator-resources/resources.teleport.dev_roles.mdx b/docs/pages/reference/operator-resources/resources.teleport.dev_roles.mdx index 25c4785a1a533..7a14c601ab10c 100644 --- a/docs/pages/reference/operator-resources/resources.teleport.dev_roles.mdx +++ b/docs/pages/reference/operator-resources/resources.teleport.dev_roles.mdx @@ -51,6 +51,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |db_users|[]string|DatabaseUsers is a list of databases users this role is allowed to connect as.| |desktop_groups|[]string|DesktopGroups is a list of groups for created desktop users to be added to| |gcp_service_accounts|[]string|GCPServiceAccounts is a list of GCP service accounts this role is allowed to assume.| +|github_permissions|[][object](#specallowgithub_permissions-items)|GitHubPermissions defines GitHub integration related permissions.| |group_labels|object|GroupLabels is a map of labels used as part of the RBAC system.| |group_labels_expression|string|GroupLabelsExpression is a predicate expression used to allow/deny access to user groups.| |host_groups|[]string|HostGroups is a list of groups for created users to be added to| @@ -88,6 +89,12 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |match|object|Match is a list of object labels that must be matched for the permission to be granted.| |permissions|[]string|Permission is the list of string representations of the permission to be given, e.g. SELECT, INSERT, UPDATE, ...| +### spec.allow.github_permissions items + +|Field|Type|Description| +|---|---|---| +|orgs|[]string|| + ### spec.allow.impersonate |Field|Type|Description| @@ -223,6 +230,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |db_users|[]string|DatabaseUsers is a list of databases users this role is allowed to connect as.| |desktop_groups|[]string|DesktopGroups is a list of groups for created desktop users to be added to| |gcp_service_accounts|[]string|GCPServiceAccounts is a list of GCP service accounts this role is allowed to assume.| +|github_permissions|[][object](#specdenygithub_permissions-items)|GitHubPermissions defines GitHub integration related permissions.| |group_labels|object|GroupLabels is a map of labels used as part of the RBAC system.| |group_labels_expression|string|GroupLabelsExpression is a predicate expression used to allow/deny access to user groups.| |host_groups|[]string|HostGroups is a list of groups for created users to be added to| @@ -260,6 +268,12 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |match|object|Match is a list of object labels that must be matched for the permission to be granted.| |permissions|[]string|Permission is the list of string representations of the permission to be given, e.g. SELECT, INSERT, UPDATE, ...| +### spec.deny.github_permissions items + +|Field|Type|Description| +|---|---|---| +|orgs|[]string|| + ### spec.deny.impersonate |Field|Type|Description| @@ -498,6 +512,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |db_users|[]string|DatabaseUsers is a list of databases users this role is allowed to connect as.| |desktop_groups|[]string|DesktopGroups is a list of groups for created desktop users to be added to| |gcp_service_accounts|[]string|GCPServiceAccounts is a list of GCP service accounts this role is allowed to assume.| +|github_permissions|[][object](#specallowgithub_permissions-items)|GitHubPermissions defines GitHub integration related permissions.| |group_labels|object|GroupLabels is a map of labels used as part of the RBAC system.| |group_labels_expression|string|GroupLabelsExpression is a predicate expression used to allow/deny access to user groups.| |host_groups|[]string|HostGroups is a list of groups for created users to be added to| @@ -535,6 +550,12 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |match|object|Match is a list of object labels that must be matched for the permission to be granted.| |permissions|[]string|Permission is the list of string representations of the permission to be given, e.g. SELECT, INSERT, UPDATE, ...| +### spec.allow.github_permissions items + +|Field|Type|Description| +|---|---|---| +|orgs|[]string|| + ### spec.allow.impersonate |Field|Type|Description| @@ -670,6 +691,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |db_users|[]string|DatabaseUsers is a list of databases users this role is allowed to connect as.| |desktop_groups|[]string|DesktopGroups is a list of groups for created desktop users to be added to| |gcp_service_accounts|[]string|GCPServiceAccounts is a list of GCP service accounts this role is allowed to assume.| +|github_permissions|[][object](#specdenygithub_permissions-items)|GitHubPermissions defines GitHub integration related permissions.| |group_labels|object|GroupLabels is a map of labels used as part of the RBAC system.| |group_labels_expression|string|GroupLabelsExpression is a predicate expression used to allow/deny access to user groups.| |host_groups|[]string|HostGroups is a list of groups for created users to be added to| @@ -707,6 +729,12 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |match|object|Match is a list of object labels that must be matched for the permission to be granted.| |permissions|[]string|Permission is the list of string representations of the permission to be given, e.g. SELECT, INSERT, UPDATE, ...| +### spec.deny.github_permissions items + +|Field|Type|Description| +|---|---|---| +|orgs|[]string|| + ### spec.deny.impersonate |Field|Type|Description| diff --git a/docs/pages/reference/operator-resources/resources.teleport.dev_rolesv6.mdx b/docs/pages/reference/operator-resources/resources.teleport.dev_rolesv6.mdx index 91915c040a0c1..5f6344d85a1c8 100644 --- a/docs/pages/reference/operator-resources/resources.teleport.dev_rolesv6.mdx +++ b/docs/pages/reference/operator-resources/resources.teleport.dev_rolesv6.mdx @@ -51,6 +51,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |db_users|[]string|DatabaseUsers is a list of databases users this role is allowed to connect as.| |desktop_groups|[]string|DesktopGroups is a list of groups for created desktop users to be added to| |gcp_service_accounts|[]string|GCPServiceAccounts is a list of GCP service accounts this role is allowed to assume.| +|github_permissions|[][object](#specallowgithub_permissions-items)|GitHubPermissions defines GitHub integration related permissions.| |group_labels|object|GroupLabels is a map of labels used as part of the RBAC system.| |group_labels_expression|string|GroupLabelsExpression is a predicate expression used to allow/deny access to user groups.| |host_groups|[]string|HostGroups is a list of groups for created users to be added to| @@ -88,6 +89,12 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |match|object|Match is a list of object labels that must be matched for the permission to be granted.| |permissions|[]string|Permission is the list of string representations of the permission to be given, e.g. SELECT, INSERT, UPDATE, ...| +### spec.allow.github_permissions items + +|Field|Type|Description| +|---|---|---| +|orgs|[]string|| + ### spec.allow.impersonate |Field|Type|Description| @@ -223,6 +230,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |db_users|[]string|DatabaseUsers is a list of databases users this role is allowed to connect as.| |desktop_groups|[]string|DesktopGroups is a list of groups for created desktop users to be added to| |gcp_service_accounts|[]string|GCPServiceAccounts is a list of GCP service accounts this role is allowed to assume.| +|github_permissions|[][object](#specdenygithub_permissions-items)|GitHubPermissions defines GitHub integration related permissions.| |group_labels|object|GroupLabels is a map of labels used as part of the RBAC system.| |group_labels_expression|string|GroupLabelsExpression is a predicate expression used to allow/deny access to user groups.| |host_groups|[]string|HostGroups is a list of groups for created users to be added to| @@ -260,6 +268,12 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |match|object|Match is a list of object labels that must be matched for the permission to be granted.| |permissions|[]string|Permission is the list of string representations of the permission to be given, e.g. SELECT, INSERT, UPDATE, ...| +### spec.deny.github_permissions items + +|Field|Type|Description| +|---|---|---| +|orgs|[]string|| + ### spec.deny.impersonate |Field|Type|Description| diff --git a/docs/pages/reference/operator-resources/resources.teleport.dev_rolesv7.mdx b/docs/pages/reference/operator-resources/resources.teleport.dev_rolesv7.mdx index 95fc181f4f974..311ee13440390 100644 --- a/docs/pages/reference/operator-resources/resources.teleport.dev_rolesv7.mdx +++ b/docs/pages/reference/operator-resources/resources.teleport.dev_rolesv7.mdx @@ -51,6 +51,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |db_users|[]string|DatabaseUsers is a list of databases users this role is allowed to connect as.| |desktop_groups|[]string|DesktopGroups is a list of groups for created desktop users to be added to| |gcp_service_accounts|[]string|GCPServiceAccounts is a list of GCP service accounts this role is allowed to assume.| +|github_permissions|[][object](#specallowgithub_permissions-items)|GitHubPermissions defines GitHub integration related permissions.| |group_labels|object|GroupLabels is a map of labels used as part of the RBAC system.| |group_labels_expression|string|GroupLabelsExpression is a predicate expression used to allow/deny access to user groups.| |host_groups|[]string|HostGroups is a list of groups for created users to be added to| @@ -88,6 +89,12 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |match|object|Match is a list of object labels that must be matched for the permission to be granted.| |permissions|[]string|Permission is the list of string representations of the permission to be given, e.g. SELECT, INSERT, UPDATE, ...| +### spec.allow.github_permissions items + +|Field|Type|Description| +|---|---|---| +|orgs|[]string|| + ### spec.allow.impersonate |Field|Type|Description| @@ -223,6 +230,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |db_users|[]string|DatabaseUsers is a list of databases users this role is allowed to connect as.| |desktop_groups|[]string|DesktopGroups is a list of groups for created desktop users to be added to| |gcp_service_accounts|[]string|GCPServiceAccounts is a list of GCP service accounts this role is allowed to assume.| +|github_permissions|[][object](#specdenygithub_permissions-items)|GitHubPermissions defines GitHub integration related permissions.| |group_labels|object|GroupLabels is a map of labels used as part of the RBAC system.| |group_labels_expression|string|GroupLabelsExpression is a predicate expression used to allow/deny access to user groups.| |host_groups|[]string|HostGroups is a list of groups for created users to be added to| @@ -260,6 +268,12 @@ resource, which you can apply after installing the Teleport Kubernetes operator. |match|object|Match is a list of object labels that must be matched for the permission to be granted.| |permissions|[]string|Permission is the list of string representations of the permission to be given, e.g. SELECT, INSERT, UPDATE, ...| +### spec.deny.github_permissions items + +|Field|Type|Description| +|---|---|---| +|orgs|[]string|| + ### spec.deny.impersonate |Field|Type|Description| diff --git a/docs/pages/reference/terraform-provider/data-sources/role.mdx b/docs/pages/reference/terraform-provider/data-sources/role.mdx index 9a611386f2a12..110330e0dc01d 100644 --- a/docs/pages/reference/terraform-provider/data-sources/role.mdx +++ b/docs/pages/reference/terraform-provider/data-sources/role.mdx @@ -66,6 +66,7 @@ Optional: - `db_users` (List of String) DatabaseUsers is a list of databases users this role is allowed to connect as. - `desktop_groups` (List of String) DesktopGroups is a list of groups for created desktop users to be added to - `gcp_service_accounts` (List of String) GCPServiceAccounts is a list of GCP service accounts this role is allowed to assume. +- `github_permissions` (Attributes List) GitHubPermissions defines GitHub integration related permissions. (see [below for nested schema](#nested-schema-for-specallowgithub_permissions)) - `group_labels` (Map of List of String) GroupLabels is a map of labels used as part of the RBAC system. - `group_labels_expression` (String) GroupLabelsExpression is a predicate expression used to allow/deny access to user groups. - `host_groups` (List of String) HostGroups is a list of groups for created users to be added to @@ -105,6 +106,13 @@ Optional: - `permissions` (List of String) Permission is the list of string representations of the permission to be given, e.g. SELECT, INSERT, UPDATE, ... +### Nested Schema for `spec.allow.github_permissions` + +Optional: + +- `orgs` (List of String) + + ### Nested Schema for `spec.allow.impersonate` Optional: @@ -254,6 +262,7 @@ Optional: - `db_users` (List of String) DatabaseUsers is a list of databases users this role is allowed to connect as. - `desktop_groups` (List of String) DesktopGroups is a list of groups for created desktop users to be added to - `gcp_service_accounts` (List of String) GCPServiceAccounts is a list of GCP service accounts this role is allowed to assume. +- `github_permissions` (Attributes List) GitHubPermissions defines GitHub integration related permissions. (see [below for nested schema](#nested-schema-for-specdenygithub_permissions)) - `group_labels` (Map of List of String) GroupLabels is a map of labels used as part of the RBAC system. - `group_labels_expression` (String) GroupLabelsExpression is a predicate expression used to allow/deny access to user groups. - `host_groups` (List of String) HostGroups is a list of groups for created users to be added to @@ -293,6 +302,13 @@ Optional: - `permissions` (List of String) Permission is the list of string representations of the permission to be given, e.g. SELECT, INSERT, UPDATE, ... +### Nested Schema for `spec.deny.github_permissions` + +Optional: + +- `orgs` (List of String) + + ### Nested Schema for `spec.deny.impersonate` Optional: diff --git a/docs/pages/reference/terraform-provider/resources/role.mdx b/docs/pages/reference/terraform-provider/resources/role.mdx index 66415e571c19a..5778c9924d832 100644 --- a/docs/pages/reference/terraform-provider/resources/role.mdx +++ b/docs/pages/reference/terraform-provider/resources/role.mdx @@ -120,6 +120,7 @@ Optional: - `db_users` (List of String) DatabaseUsers is a list of databases users this role is allowed to connect as. - `desktop_groups` (List of String) DesktopGroups is a list of groups for created desktop users to be added to - `gcp_service_accounts` (List of String) GCPServiceAccounts is a list of GCP service accounts this role is allowed to assume. +- `github_permissions` (Attributes List) GitHubPermissions defines GitHub integration related permissions. (see [below for nested schema](#nested-schema-for-specallowgithub_permissions)) - `group_labels` (Map of List of String) GroupLabels is a map of labels used as part of the RBAC system. - `group_labels_expression` (String) GroupLabelsExpression is a predicate expression used to allow/deny access to user groups. - `host_groups` (List of String) HostGroups is a list of groups for created users to be added to @@ -159,6 +160,13 @@ Optional: - `permissions` (List of String) Permission is the list of string representations of the permission to be given, e.g. SELECT, INSERT, UPDATE, ... +### Nested Schema for `spec.allow.github_permissions` + +Optional: + +- `orgs` (List of String) + + ### Nested Schema for `spec.allow.impersonate` Optional: @@ -308,6 +316,7 @@ Optional: - `db_users` (List of String) DatabaseUsers is a list of databases users this role is allowed to connect as. - `desktop_groups` (List of String) DesktopGroups is a list of groups for created desktop users to be added to - `gcp_service_accounts` (List of String) GCPServiceAccounts is a list of GCP service accounts this role is allowed to assume. +- `github_permissions` (Attributes List) GitHubPermissions defines GitHub integration related permissions. (see [below for nested schema](#nested-schema-for-specdenygithub_permissions)) - `group_labels` (Map of List of String) GroupLabels is a map of labels used as part of the RBAC system. - `group_labels_expression` (String) GroupLabelsExpression is a predicate expression used to allow/deny access to user groups. - `host_groups` (List of String) HostGroups is a list of groups for created users to be added to @@ -347,6 +356,13 @@ Optional: - `permissions` (List of String) Permission is the list of string representations of the permission to be given, e.g. SELECT, INSERT, UPDATE, ... +### Nested Schema for `spec.deny.github_permissions` + +Optional: + +- `orgs` (List of String) + + ### Nested Schema for `spec.deny.impersonate` Optional: diff --git a/docs/pages/reference/terraform-provider/resources/server.mdx b/docs/pages/reference/terraform-provider/resources/server.mdx index d52652885a22d..9370519007cf9 100644 --- a/docs/pages/reference/terraform-provider/resources/server.mdx +++ b/docs/pages/reference/terraform-provider/resources/server.mdx @@ -86,6 +86,7 @@ Optional: - `addr` (String) Addr is a host:port address where this server can be reached. - `cloud_metadata` (Attributes) CloudMetadata contains info about the cloud instance the server is running on, if any. (see [below for nested schema](#nested-schema-for-speccloud_metadata)) +- `github` (Attributes) GitHub contains info about GitHub proxies where each server represents a GitHub organization. (see [below for nested schema](#nested-schema-for-specgithub)) - `hostname` (String) Hostname is server hostname - `peer_addr` (String) PeerAddr is the address a proxy server is reachable at by its peer proxies. - `proxy_ids` (List of String) ProxyIDs is a list of proxy IDs this server is expected to be connected to. @@ -113,6 +114,14 @@ Optional: +### Nested Schema for `spec.github` + +Optional: + +- `integration` (String) Integration is the integration that is associated with this Server. +- `organization` (String) Organization specifies the name of the organization for the GitHub integration. + + ### Nested Schema for `spec.rotation` Optional: diff --git a/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_openssheiceserversv2.yaml b/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_openssheiceserversv2.yaml index 3617909ae6a67..bad8469a76fb6 100644 --- a/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_openssheiceserversv2.yaml +++ b/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_openssheiceserversv2.yaml @@ -88,6 +88,20 @@ spec: type: string type: object type: object + github: + description: GitHub contains info about GitHub proxies where each + server represents a GitHub organization. + nullable: true + properties: + integration: + description: Integration is the integration that is associated + with this Server. + type: string + organization: + description: Organization specifies the name of the organization + for the GitHub integration. + type: string + type: object hostname: description: Hostname is server hostname type: string diff --git a/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_opensshserversv2.yaml b/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_opensshserversv2.yaml index ad7dfd4174776..fe3d76a8db7a4 100644 --- a/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_opensshserversv2.yaml +++ b/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_opensshserversv2.yaml @@ -87,6 +87,20 @@ spec: type: string type: object type: object + github: + description: GitHub contains info about GitHub proxies where each + server represents a GitHub organization. + nullable: true + properties: + integration: + description: Integration is the integration that is associated + with this Server. + type: string + organization: + description: Organization specifies the name of the organization + for the GitHub integration. + type: string + type: object hostname: description: Hostname is server hostname type: string diff --git a/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_roles.yaml b/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_roles.yaml index 5d1c5ddfb9809..1cafc3ae4534a 100644 --- a/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_roles.yaml +++ b/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_roles.yaml @@ -157,6 +157,18 @@ spec: type: string nullable: true type: array + github_permissions: + description: GitHubPermissions defines GitHub integration related + permissions. + items: + properties: + orgs: + items: + type: string + nullable: true + type: array + type: object + type: array group_labels: additionalProperties: x-kubernetes-preserve-unknown-fields: true @@ -722,6 +734,18 @@ spec: type: string nullable: true type: array + github_permissions: + description: GitHubPermissions defines GitHub integration related + permissions. + items: + properties: + orgs: + items: + type: string + nullable: true + type: array + type: object + type: array group_labels: additionalProperties: x-kubernetes-preserve-unknown-fields: true @@ -1584,6 +1608,18 @@ spec: type: string nullable: true type: array + github_permissions: + description: GitHubPermissions defines GitHub integration related + permissions. + items: + properties: + orgs: + items: + type: string + nullable: true + type: array + type: object + type: array group_labels: additionalProperties: x-kubernetes-preserve-unknown-fields: true @@ -2149,6 +2185,18 @@ spec: type: string nullable: true type: array + github_permissions: + description: GitHubPermissions defines GitHub integration related + permissions. + items: + properties: + orgs: + items: + type: string + nullable: true + type: array + type: object + type: array group_labels: additionalProperties: x-kubernetes-preserve-unknown-fields: true diff --git a/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_rolesv6.yaml b/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_rolesv6.yaml index f0af70fc7cf2f..652c82fc05f7d 100644 --- a/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_rolesv6.yaml +++ b/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_rolesv6.yaml @@ -160,6 +160,18 @@ spec: type: string nullable: true type: array + github_permissions: + description: GitHubPermissions defines GitHub integration related + permissions. + items: + properties: + orgs: + items: + type: string + nullable: true + type: array + type: object + type: array group_labels: additionalProperties: x-kubernetes-preserve-unknown-fields: true @@ -725,6 +737,18 @@ spec: type: string nullable: true type: array + github_permissions: + description: GitHubPermissions defines GitHub integration related + permissions. + items: + properties: + orgs: + items: + type: string + nullable: true + type: array + type: object + type: array group_labels: additionalProperties: x-kubernetes-preserve-unknown-fields: true diff --git a/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_rolesv7.yaml b/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_rolesv7.yaml index 88056b0b54a53..53f89036374f4 100644 --- a/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_rolesv7.yaml +++ b/examples/chart/teleport-cluster/charts/teleport-operator/operator-crds/resources.teleport.dev_rolesv7.yaml @@ -160,6 +160,18 @@ spec: type: string nullable: true type: array + github_permissions: + description: GitHubPermissions defines GitHub integration related + permissions. + items: + properties: + orgs: + items: + type: string + nullable: true + type: array + type: object + type: array group_labels: additionalProperties: x-kubernetes-preserve-unknown-fields: true @@ -725,6 +737,18 @@ spec: type: string nullable: true type: array + github_permissions: + description: GitHubPermissions defines GitHub integration related + permissions. + items: + properties: + orgs: + items: + type: string + nullable: true + type: array + type: object + type: array group_labels: additionalProperties: x-kubernetes-preserve-unknown-fields: true diff --git a/integrations/event-handler/event-handler b/integrations/event-handler/event-handler new file mode 100755 index 0000000000000..44514310c0c05 Binary files /dev/null and b/integrations/event-handler/event-handler differ diff --git a/integrations/operator/config/crd/bases/resources.teleport.dev_openssheiceserversv2.yaml b/integrations/operator/config/crd/bases/resources.teleport.dev_openssheiceserversv2.yaml index 3617909ae6a67..bad8469a76fb6 100644 --- a/integrations/operator/config/crd/bases/resources.teleport.dev_openssheiceserversv2.yaml +++ b/integrations/operator/config/crd/bases/resources.teleport.dev_openssheiceserversv2.yaml @@ -88,6 +88,20 @@ spec: type: string type: object type: object + github: + description: GitHub contains info about GitHub proxies where each + server represents a GitHub organization. + nullable: true + properties: + integration: + description: Integration is the integration that is associated + with this Server. + type: string + organization: + description: Organization specifies the name of the organization + for the GitHub integration. + type: string + type: object hostname: description: Hostname is server hostname type: string diff --git a/integrations/operator/config/crd/bases/resources.teleport.dev_opensshserversv2.yaml b/integrations/operator/config/crd/bases/resources.teleport.dev_opensshserversv2.yaml index ad7dfd4174776..fe3d76a8db7a4 100644 --- a/integrations/operator/config/crd/bases/resources.teleport.dev_opensshserversv2.yaml +++ b/integrations/operator/config/crd/bases/resources.teleport.dev_opensshserversv2.yaml @@ -87,6 +87,20 @@ spec: type: string type: object type: object + github: + description: GitHub contains info about GitHub proxies where each + server represents a GitHub organization. + nullable: true + properties: + integration: + description: Integration is the integration that is associated + with this Server. + type: string + organization: + description: Organization specifies the name of the organization + for the GitHub integration. + type: string + type: object hostname: description: Hostname is server hostname type: string diff --git a/integrations/operator/config/crd/bases/resources.teleport.dev_roles.yaml b/integrations/operator/config/crd/bases/resources.teleport.dev_roles.yaml index 5d1c5ddfb9809..1cafc3ae4534a 100644 --- a/integrations/operator/config/crd/bases/resources.teleport.dev_roles.yaml +++ b/integrations/operator/config/crd/bases/resources.teleport.dev_roles.yaml @@ -157,6 +157,18 @@ spec: type: string nullable: true type: array + github_permissions: + description: GitHubPermissions defines GitHub integration related + permissions. + items: + properties: + orgs: + items: + type: string + nullable: true + type: array + type: object + type: array group_labels: additionalProperties: x-kubernetes-preserve-unknown-fields: true @@ -722,6 +734,18 @@ spec: type: string nullable: true type: array + github_permissions: + description: GitHubPermissions defines GitHub integration related + permissions. + items: + properties: + orgs: + items: + type: string + nullable: true + type: array + type: object + type: array group_labels: additionalProperties: x-kubernetes-preserve-unknown-fields: true @@ -1584,6 +1608,18 @@ spec: type: string nullable: true type: array + github_permissions: + description: GitHubPermissions defines GitHub integration related + permissions. + items: + properties: + orgs: + items: + type: string + nullable: true + type: array + type: object + type: array group_labels: additionalProperties: x-kubernetes-preserve-unknown-fields: true @@ -2149,6 +2185,18 @@ spec: type: string nullable: true type: array + github_permissions: + description: GitHubPermissions defines GitHub integration related + permissions. + items: + properties: + orgs: + items: + type: string + nullable: true + type: array + type: object + type: array group_labels: additionalProperties: x-kubernetes-preserve-unknown-fields: true diff --git a/integrations/operator/config/crd/bases/resources.teleport.dev_rolesv6.yaml b/integrations/operator/config/crd/bases/resources.teleport.dev_rolesv6.yaml index f0af70fc7cf2f..652c82fc05f7d 100644 --- a/integrations/operator/config/crd/bases/resources.teleport.dev_rolesv6.yaml +++ b/integrations/operator/config/crd/bases/resources.teleport.dev_rolesv6.yaml @@ -160,6 +160,18 @@ spec: type: string nullable: true type: array + github_permissions: + description: GitHubPermissions defines GitHub integration related + permissions. + items: + properties: + orgs: + items: + type: string + nullable: true + type: array + type: object + type: array group_labels: additionalProperties: x-kubernetes-preserve-unknown-fields: true @@ -725,6 +737,18 @@ spec: type: string nullable: true type: array + github_permissions: + description: GitHubPermissions defines GitHub integration related + permissions. + items: + properties: + orgs: + items: + type: string + nullable: true + type: array + type: object + type: array group_labels: additionalProperties: x-kubernetes-preserve-unknown-fields: true diff --git a/integrations/operator/config/crd/bases/resources.teleport.dev_rolesv7.yaml b/integrations/operator/config/crd/bases/resources.teleport.dev_rolesv7.yaml index 88056b0b54a53..53f89036374f4 100644 --- a/integrations/operator/config/crd/bases/resources.teleport.dev_rolesv7.yaml +++ b/integrations/operator/config/crd/bases/resources.teleport.dev_rolesv7.yaml @@ -160,6 +160,18 @@ spec: type: string nullable: true type: array + github_permissions: + description: GitHubPermissions defines GitHub integration related + permissions. + items: + properties: + orgs: + items: + type: string + nullable: true + type: array + type: object + type: array group_labels: additionalProperties: x-kubernetes-preserve-unknown-fields: true @@ -725,6 +737,18 @@ spec: type: string nullable: true type: array + github_permissions: + description: GitHubPermissions defines GitHub integration related + permissions. + items: + properties: + orgs: + items: + type: string + nullable: true + type: array + type: object + type: array group_labels: additionalProperties: x-kubernetes-preserve-unknown-fields: true diff --git a/integrations/terraform/tfschema/types_terraform.go b/integrations/terraform/tfschema/types_terraform.go index 2898f59d1acea..fa494f166421c 100644 --- a/integrations/terraform/tfschema/types_terraform.go +++ b/integrations/terraform/tfschema/types_terraform.go @@ -655,6 +655,22 @@ func GenSchemaServerV2(ctx context.Context) (github_com_hashicorp_terraform_plug Description: "CloudMetadata contains info about the cloud instance the server is running on, if any.", Optional: true, }, + "github": { + Attributes: github_com_hashicorp_terraform_plugin_framework_tfsdk.SingleNestedAttributes(map[string]github_com_hashicorp_terraform_plugin_framework_tfsdk.Attribute{ + "integration": { + Description: "Integration is the integration that is associated with this Server.", + Optional: true, + Type: github_com_hashicorp_terraform_plugin_framework_types.StringType, + }, + "organization": { + Description: "Organization specifies the name of the organization for the GitHub integration.", + Optional: true, + Type: github_com_hashicorp_terraform_plugin_framework_types.StringType, + }, + }), + Description: "GitHub contains info about GitHub proxies where each server represents a GitHub organization.", + Optional: true, + }, "hostname": { Description: "Hostname is server hostname", Optional: true, @@ -1666,6 +1682,15 @@ func GenSchemaRoleV6(ctx context.Context) (github_com_hashicorp_terraform_plugin Optional: true, Type: github_com_hashicorp_terraform_plugin_framework_types.ListType{ElemType: github_com_hashicorp_terraform_plugin_framework_types.StringType}, }, + "github_permissions": { + Attributes: github_com_hashicorp_terraform_plugin_framework_tfsdk.ListNestedAttributes(map[string]github_com_hashicorp_terraform_plugin_framework_tfsdk.Attribute{"orgs": { + Description: "", + Optional: true, + Type: github_com_hashicorp_terraform_plugin_framework_types.ListType{ElemType: github_com_hashicorp_terraform_plugin_framework_types.StringType}, + }}), + Description: "GitHubPermissions defines GitHub integration related permissions.", + Optional: true, + }, "group_labels": GenSchemaLabels(ctx, github_com_hashicorp_terraform_plugin_framework_tfsdk.Attribute{ Description: "GroupLabels is a map of labels used as part of the RBAC system.", Optional: true, @@ -2137,6 +2162,15 @@ func GenSchemaRoleV6(ctx context.Context) (github_com_hashicorp_terraform_plugin Optional: true, Type: github_com_hashicorp_terraform_plugin_framework_types.ListType{ElemType: github_com_hashicorp_terraform_plugin_framework_types.StringType}, }, + "github_permissions": { + Attributes: github_com_hashicorp_terraform_plugin_framework_tfsdk.ListNestedAttributes(map[string]github_com_hashicorp_terraform_plugin_framework_tfsdk.Attribute{"orgs": { + Description: "", + Optional: true, + Type: github_com_hashicorp_terraform_plugin_framework_types.ListType{ElemType: github_com_hashicorp_terraform_plugin_framework_types.StringType}, + }}), + Description: "GitHubPermissions defines GitHub integration related permissions.", + Optional: true, + }, "group_labels": GenSchemaLabels(ctx, github_com_hashicorp_terraform_plugin_framework_tfsdk.Attribute{ Description: "GroupLabels is a map of labels used as part of the RBAC system.", Optional: true, @@ -8920,6 +8954,58 @@ func CopyServerV2FromTerraform(_ context.Context, tf github_com_hashicorp_terraf } } } + { + a, ok := tf.Attrs["github"] + if !ok { + diags.Append(attrReadMissingDiag{"ServerV2.Spec.git_hub"}) + } else { + v, ok := a.(github_com_hashicorp_terraform_plugin_framework_types.Object) + if !ok { + diags.Append(attrReadConversionFailureDiag{"ServerV2.Spec.git_hub", "github.com/hashicorp/terraform-plugin-framework/types.Object"}) + } else { + obj.GitHub = nil + if !v.Null && !v.Unknown { + tf := v + obj.GitHub = &github_com_gravitational_teleport_api_types.GitHubServerMetadata{} + obj := obj.GitHub + { + a, ok := tf.Attrs["organization"] + if !ok { + diags.Append(attrReadMissingDiag{"ServerV2.Spec.git_hub.organization"}) + } else { + v, ok := a.(github_com_hashicorp_terraform_plugin_framework_types.String) + if !ok { + diags.Append(attrReadConversionFailureDiag{"ServerV2.Spec.git_hub.organization", "github.com/hashicorp/terraform-plugin-framework/types.String"}) + } else { + var t string + if !v.Null && !v.Unknown { + t = string(v.Value) + } + obj.Organization = t + } + } + } + { + a, ok := tf.Attrs["integration"] + if !ok { + diags.Append(attrReadMissingDiag{"ServerV2.Spec.git_hub.integration"}) + } else { + v, ok := a.(github_com_hashicorp_terraform_plugin_framework_types.String) + if !ok { + diags.Append(attrReadConversionFailureDiag{"ServerV2.Spec.git_hub.integration", "github.com/hashicorp/terraform-plugin-framework/types.String"}) + } else { + var t string + if !v.Null && !v.Unknown { + t = string(v.Value) + } + obj.Integration = t + } + } + } + } + } + } + } } } } @@ -9912,6 +9998,82 @@ func CopyServerV2ToTerraform(ctx context.Context, obj *github_com_gravitational_ } } } + { + a, ok := tf.AttrTypes["github"] + if !ok { + diags.Append(attrWriteMissingDiag{"ServerV2.Spec.git_hub"}) + } else { + o, ok := a.(github_com_hashicorp_terraform_plugin_framework_types.ObjectType) + if !ok { + diags.Append(attrWriteConversionFailureDiag{"ServerV2.Spec.git_hub", "github.com/hashicorp/terraform-plugin-framework/types.ObjectType"}) + } else { + v, ok := tf.Attrs["github"].(github_com_hashicorp_terraform_plugin_framework_types.Object) + if !ok { + v = github_com_hashicorp_terraform_plugin_framework_types.Object{ + + AttrTypes: o.AttrTypes, + Attrs: make(map[string]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(o.AttrTypes)), + } + } else { + if v.Attrs == nil { + v.Attrs = make(map[string]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(tf.AttrTypes)) + } + } + if obj.GitHub == nil { + v.Null = true + } else { + obj := obj.GitHub + tf := &v + { + t, ok := tf.AttrTypes["organization"] + if !ok { + diags.Append(attrWriteMissingDiag{"ServerV2.Spec.git_hub.organization"}) + } else { + v, ok := tf.Attrs["organization"].(github_com_hashicorp_terraform_plugin_framework_types.String) + if !ok { + i, err := t.ValueFromTerraform(ctx, github_com_hashicorp_terraform_plugin_go_tftypes.NewValue(t.TerraformType(ctx), nil)) + if err != nil { + diags.Append(attrWriteGeneralError{"ServerV2.Spec.git_hub.organization", err}) + } + v, ok = i.(github_com_hashicorp_terraform_plugin_framework_types.String) + if !ok { + diags.Append(attrWriteConversionFailureDiag{"ServerV2.Spec.git_hub.organization", "github.com/hashicorp/terraform-plugin-framework/types.String"}) + } + v.Null = string(obj.Organization) == "" + } + v.Value = string(obj.Organization) + v.Unknown = false + tf.Attrs["organization"] = v + } + } + { + t, ok := tf.AttrTypes["integration"] + if !ok { + diags.Append(attrWriteMissingDiag{"ServerV2.Spec.git_hub.integration"}) + } else { + v, ok := tf.Attrs["integration"].(github_com_hashicorp_terraform_plugin_framework_types.String) + if !ok { + i, err := t.ValueFromTerraform(ctx, github_com_hashicorp_terraform_plugin_go_tftypes.NewValue(t.TerraformType(ctx), nil)) + if err != nil { + diags.Append(attrWriteGeneralError{"ServerV2.Spec.git_hub.integration", err}) + } + v, ok = i.(github_com_hashicorp_terraform_plugin_framework_types.String) + if !ok { + diags.Append(attrWriteConversionFailureDiag{"ServerV2.Spec.git_hub.integration", "github.com/hashicorp/terraform-plugin-framework/types.String"}) + } + v.Null = string(obj.Integration) == "" + } + v.Value = string(obj.Integration) + v.Unknown = false + tf.Attrs["integration"] = v + } + } + } + v.Unknown = false + tf.Attrs["github"] = v + } + } + } } v.Unknown = false tf.Attrs["spec"] = v @@ -18695,6 +18857,61 @@ func CopyRoleV6FromTerraform(_ context.Context, tf github_com_hashicorp_terrafor } } } + { + a, ok := tf.Attrs["github_permissions"] + if !ok { + diags.Append(attrReadMissingDiag{"RoleV6.Spec.Allow.git_hub_permissions"}) + } else { + v, ok := a.(github_com_hashicorp_terraform_plugin_framework_types.List) + if !ok { + diags.Append(attrReadConversionFailureDiag{"RoleV6.Spec.Allow.git_hub_permissions", "github.com/hashicorp/terraform-plugin-framework/types.List"}) + } else { + obj.GitHubPermissions = make([]github_com_gravitational_teleport_api_types.GitHubPermission, len(v.Elems)) + if !v.Null && !v.Unknown { + for k, a := range v.Elems { + v, ok := a.(github_com_hashicorp_terraform_plugin_framework_types.Object) + if !ok { + diags.Append(attrReadConversionFailureDiag{"RoleV6.Spec.Allow.git_hub_permissions", "github_com_hashicorp_terraform_plugin_framework_types.Object"}) + } else { + var t github_com_gravitational_teleport_api_types.GitHubPermission + if !v.Null && !v.Unknown { + tf := v + obj := &t + { + a, ok := tf.Attrs["orgs"] + if !ok { + diags.Append(attrReadMissingDiag{"RoleV6.Spec.Allow.git_hub_permissions.organizations"}) + } else { + v, ok := a.(github_com_hashicorp_terraform_plugin_framework_types.List) + if !ok { + diags.Append(attrReadConversionFailureDiag{"RoleV6.Spec.Allow.git_hub_permissions.organizations", "github.com/hashicorp/terraform-plugin-framework/types.List"}) + } else { + obj.Organizations = make([]string, len(v.Elems)) + if !v.Null && !v.Unknown { + for k, a := range v.Elems { + v, ok := a.(github_com_hashicorp_terraform_plugin_framework_types.String) + if !ok { + diags.Append(attrReadConversionFailureDiag{"RoleV6.Spec.Allow.git_hub_permissions.organizations", "github_com_hashicorp_terraform_plugin_framework_types.String"}) + } else { + var t string + if !v.Null && !v.Unknown { + t = string(v.Value) + } + obj.Organizations[k] = t + } + } + } + } + } + } + } + obj.GitHubPermissions[k] = t + } + } + } + } + } + } } } } @@ -20644,6 +20861,61 @@ func CopyRoleV6FromTerraform(_ context.Context, tf github_com_hashicorp_terrafor } } } + { + a, ok := tf.Attrs["github_permissions"] + if !ok { + diags.Append(attrReadMissingDiag{"RoleV6.Spec.Deny.git_hub_permissions"}) + } else { + v, ok := a.(github_com_hashicorp_terraform_plugin_framework_types.List) + if !ok { + diags.Append(attrReadConversionFailureDiag{"RoleV6.Spec.Deny.git_hub_permissions", "github.com/hashicorp/terraform-plugin-framework/types.List"}) + } else { + obj.GitHubPermissions = make([]github_com_gravitational_teleport_api_types.GitHubPermission, len(v.Elems)) + if !v.Null && !v.Unknown { + for k, a := range v.Elems { + v, ok := a.(github_com_hashicorp_terraform_plugin_framework_types.Object) + if !ok { + diags.Append(attrReadConversionFailureDiag{"RoleV6.Spec.Deny.git_hub_permissions", "github_com_hashicorp_terraform_plugin_framework_types.Object"}) + } else { + var t github_com_gravitational_teleport_api_types.GitHubPermission + if !v.Null && !v.Unknown { + tf := v + obj := &t + { + a, ok := tf.Attrs["orgs"] + if !ok { + diags.Append(attrReadMissingDiag{"RoleV6.Spec.Deny.git_hub_permissions.organizations"}) + } else { + v, ok := a.(github_com_hashicorp_terraform_plugin_framework_types.List) + if !ok { + diags.Append(attrReadConversionFailureDiag{"RoleV6.Spec.Deny.git_hub_permissions.organizations", "github.com/hashicorp/terraform-plugin-framework/types.List"}) + } else { + obj.Organizations = make([]string, len(v.Elems)) + if !v.Null && !v.Unknown { + for k, a := range v.Elems { + v, ok := a.(github_com_hashicorp_terraform_plugin_framework_types.String) + if !ok { + diags.Append(attrReadConversionFailureDiag{"RoleV6.Spec.Deny.git_hub_permissions.organizations", "github_com_hashicorp_terraform_plugin_framework_types.String"}) + } else { + var t string + if !v.Null && !v.Unknown { + t = string(v.Value) + } + obj.Organizations[k] = t + } + } + } + } + } + } + } + obj.GitHubPermissions[k] = t + } + } + } + } + } + } } } } @@ -25322,6 +25594,115 @@ func CopyRoleV6ToTerraform(ctx context.Context, obj *github_com_gravitational_te } } } + { + a, ok := tf.AttrTypes["github_permissions"] + if !ok { + diags.Append(attrWriteMissingDiag{"RoleV6.Spec.Allow.git_hub_permissions"}) + } else { + o, ok := a.(github_com_hashicorp_terraform_plugin_framework_types.ListType) + if !ok { + diags.Append(attrWriteConversionFailureDiag{"RoleV6.Spec.Allow.git_hub_permissions", "github.com/hashicorp/terraform-plugin-framework/types.ListType"}) + } else { + c, ok := tf.Attrs["github_permissions"].(github_com_hashicorp_terraform_plugin_framework_types.List) + if !ok { + c = github_com_hashicorp_terraform_plugin_framework_types.List{ + + ElemType: o.ElemType, + Elems: make([]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(obj.GitHubPermissions)), + Null: true, + } + } else { + if c.Elems == nil { + c.Elems = make([]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(obj.GitHubPermissions)) + } + } + if obj.GitHubPermissions != nil { + o := o.ElemType.(github_com_hashicorp_terraform_plugin_framework_types.ObjectType) + if len(obj.GitHubPermissions) != len(c.Elems) { + c.Elems = make([]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(obj.GitHubPermissions)) + } + for k, a := range obj.GitHubPermissions { + v, ok := tf.Attrs["github_permissions"].(github_com_hashicorp_terraform_plugin_framework_types.Object) + if !ok { + v = github_com_hashicorp_terraform_plugin_framework_types.Object{ + + AttrTypes: o.AttrTypes, + Attrs: make(map[string]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(o.AttrTypes)), + } + } else { + if v.Attrs == nil { + v.Attrs = make(map[string]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(tf.AttrTypes)) + } + } + { + obj := a + tf := &v + { + a, ok := tf.AttrTypes["orgs"] + if !ok { + diags.Append(attrWriteMissingDiag{"RoleV6.Spec.Allow.git_hub_permissions.organizations"}) + } else { + o, ok := a.(github_com_hashicorp_terraform_plugin_framework_types.ListType) + if !ok { + diags.Append(attrWriteConversionFailureDiag{"RoleV6.Spec.Allow.git_hub_permissions.organizations", "github.com/hashicorp/terraform-plugin-framework/types.ListType"}) + } else { + c, ok := tf.Attrs["orgs"].(github_com_hashicorp_terraform_plugin_framework_types.List) + if !ok { + c = github_com_hashicorp_terraform_plugin_framework_types.List{ + + ElemType: o.ElemType, + Elems: make([]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(obj.Organizations)), + Null: true, + } + } else { + if c.Elems == nil { + c.Elems = make([]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(obj.Organizations)) + } + } + if obj.Organizations != nil { + t := o.ElemType + if len(obj.Organizations) != len(c.Elems) { + c.Elems = make([]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(obj.Organizations)) + } + for k, a := range obj.Organizations { + v, ok := tf.Attrs["orgs"].(github_com_hashicorp_terraform_plugin_framework_types.String) + if !ok { + i, err := t.ValueFromTerraform(ctx, github_com_hashicorp_terraform_plugin_go_tftypes.NewValue(t.TerraformType(ctx), nil)) + if err != nil { + diags.Append(attrWriteGeneralError{"RoleV6.Spec.Allow.git_hub_permissions.organizations", err}) + } + v, ok = i.(github_com_hashicorp_terraform_plugin_framework_types.String) + if !ok { + diags.Append(attrWriteConversionFailureDiag{"RoleV6.Spec.Allow.git_hub_permissions.organizations", "github.com/hashicorp/terraform-plugin-framework/types.String"}) + } + v.Null = string(a) == "" + } + v.Value = string(a) + v.Unknown = false + c.Elems[k] = v + } + if len(obj.Organizations) > 0 { + c.Null = false + } + } + c.Unknown = false + tf.Attrs["orgs"] = c + } + } + } + } + v.Unknown = false + c.Elems[k] = v + } + if len(obj.GitHubPermissions) > 0 { + c.Null = false + } + } + c.Unknown = false + tf.Attrs["github_permissions"] = c + } + } + } } v.Unknown = false tf.Attrs["allow"] = v @@ -28720,6 +29101,115 @@ func CopyRoleV6ToTerraform(ctx context.Context, obj *github_com_gravitational_te } } } + { + a, ok := tf.AttrTypes["github_permissions"] + if !ok { + diags.Append(attrWriteMissingDiag{"RoleV6.Spec.Deny.git_hub_permissions"}) + } else { + o, ok := a.(github_com_hashicorp_terraform_plugin_framework_types.ListType) + if !ok { + diags.Append(attrWriteConversionFailureDiag{"RoleV6.Spec.Deny.git_hub_permissions", "github.com/hashicorp/terraform-plugin-framework/types.ListType"}) + } else { + c, ok := tf.Attrs["github_permissions"].(github_com_hashicorp_terraform_plugin_framework_types.List) + if !ok { + c = github_com_hashicorp_terraform_plugin_framework_types.List{ + + ElemType: o.ElemType, + Elems: make([]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(obj.GitHubPermissions)), + Null: true, + } + } else { + if c.Elems == nil { + c.Elems = make([]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(obj.GitHubPermissions)) + } + } + if obj.GitHubPermissions != nil { + o := o.ElemType.(github_com_hashicorp_terraform_plugin_framework_types.ObjectType) + if len(obj.GitHubPermissions) != len(c.Elems) { + c.Elems = make([]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(obj.GitHubPermissions)) + } + for k, a := range obj.GitHubPermissions { + v, ok := tf.Attrs["github_permissions"].(github_com_hashicorp_terraform_plugin_framework_types.Object) + if !ok { + v = github_com_hashicorp_terraform_plugin_framework_types.Object{ + + AttrTypes: o.AttrTypes, + Attrs: make(map[string]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(o.AttrTypes)), + } + } else { + if v.Attrs == nil { + v.Attrs = make(map[string]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(tf.AttrTypes)) + } + } + { + obj := a + tf := &v + { + a, ok := tf.AttrTypes["orgs"] + if !ok { + diags.Append(attrWriteMissingDiag{"RoleV6.Spec.Deny.git_hub_permissions.organizations"}) + } else { + o, ok := a.(github_com_hashicorp_terraform_plugin_framework_types.ListType) + if !ok { + diags.Append(attrWriteConversionFailureDiag{"RoleV6.Spec.Deny.git_hub_permissions.organizations", "github.com/hashicorp/terraform-plugin-framework/types.ListType"}) + } else { + c, ok := tf.Attrs["orgs"].(github_com_hashicorp_terraform_plugin_framework_types.List) + if !ok { + c = github_com_hashicorp_terraform_plugin_framework_types.List{ + + ElemType: o.ElemType, + Elems: make([]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(obj.Organizations)), + Null: true, + } + } else { + if c.Elems == nil { + c.Elems = make([]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(obj.Organizations)) + } + } + if obj.Organizations != nil { + t := o.ElemType + if len(obj.Organizations) != len(c.Elems) { + c.Elems = make([]github_com_hashicorp_terraform_plugin_framework_attr.Value, len(obj.Organizations)) + } + for k, a := range obj.Organizations { + v, ok := tf.Attrs["orgs"].(github_com_hashicorp_terraform_plugin_framework_types.String) + if !ok { + i, err := t.ValueFromTerraform(ctx, github_com_hashicorp_terraform_plugin_go_tftypes.NewValue(t.TerraformType(ctx), nil)) + if err != nil { + diags.Append(attrWriteGeneralError{"RoleV6.Spec.Deny.git_hub_permissions.organizations", err}) + } + v, ok = i.(github_com_hashicorp_terraform_plugin_framework_types.String) + if !ok { + diags.Append(attrWriteConversionFailureDiag{"RoleV6.Spec.Deny.git_hub_permissions.organizations", "github.com/hashicorp/terraform-plugin-framework/types.String"}) + } + v.Null = string(a) == "" + } + v.Value = string(a) + v.Unknown = false + c.Elems[k] = v + } + if len(obj.Organizations) > 0 { + c.Null = false + } + } + c.Unknown = false + tf.Attrs["orgs"] = c + } + } + } + } + v.Unknown = false + c.Elems[k] = v + } + if len(obj.GitHubPermissions) > 0 { + c.Null = false + } + } + c.Unknown = false + tf.Attrs["github_permissions"] = c + } + } + } } v.Unknown = false tf.Attrs["deny"] = v diff --git a/lib/auth/auth.go b/lib/auth/auth.go index c35e6c8958f2e..192a350c029a8 100644 --- a/lib/auth/auth.go +++ b/lib/auth/auth.go @@ -395,6 +395,12 @@ func NewServer(cfg *InitConfig, opts ...ServerOption) (*Server, error) { return nil, trace.Wrap(err, "creating SPIFFEFederation service") } } + if cfg.GitServers == nil { + cfg.GitServers, err = local.NewGitServerService(cfg.Backend) + if err != nil { + return nil, trace.Wrap(err, "creating GitServer service") + } + } if cfg.Logger == nil { cfg.Logger = slog.With(teleport.ComponentKey, teleport.ComponentAuth) } @@ -492,6 +498,7 @@ func NewServer(cfg *InitConfig, opts ...ServerOption) (*Server, error) { ProvisioningStates: cfg.ProvisioningStates, IdentityCenter: cfg.IdentityCenter, PluginStaticCredentials: cfg.PluginStaticCredentials, + GitServers: cfg.GitServers, } as := Server{ @@ -709,6 +716,7 @@ type Services struct { services.ProvisioningStates services.IdentityCenter services.PluginStaticCredentials + services.GitServers } // GetWebSession returns existing web session described by req. diff --git a/lib/auth/authclient/clt.go b/lib/auth/authclient/clt.go index 8c818c9015d80..5376d6161baa3 100644 --- a/lib/auth/authclient/clt.go +++ b/lib/auth/authclient/clt.go @@ -43,6 +43,7 @@ import ( clusterconfigpb "github.com/gravitational/teleport/api/gen/proto/go/teleport/clusterconfig/v1" dbobjectimportrulev1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/dbobjectimportrule/v1" devicepb "github.com/gravitational/teleport/api/gen/proto/go/teleport/devicetrust/v1" + gitserverv1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/gitserver/v1" identitycenterv1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/identitycenter/v1" integrationv1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/integration/v1" loginrulepb "github.com/gravitational/teleport/api/gen/proto/go/teleport/loginrule/v1" @@ -1890,4 +1891,7 @@ type ClientI interface { // ProvisioningServiceClient returns provisioning service client. ProvisioningServiceClient() provisioningv1.ProvisioningServiceClient + + // GitServerClient returns git server client. + GitServerClient() gitserverv1.GitServerServiceClient } diff --git a/lib/auth/gitserver/gitserverv1/service.go b/lib/auth/gitserver/gitserverv1/service.go new file mode 100644 index 0000000000000..8071de12e849e --- /dev/null +++ b/lib/auth/gitserver/gitserverv1/service.go @@ -0,0 +1,185 @@ +/* + * Teleport + * Copyright (C) 2024 Gravitational, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package gitserverv1 + +import ( + "context" + "log/slog" + + "github.com/gravitational/trace" + "google.golang.org/protobuf/types/known/emptypb" + + "github.com/gravitational/teleport" + pb "github.com/gravitational/teleport/api/gen/proto/go/teleport/gitserver/v1" + "github.com/gravitational/teleport/api/types" + "github.com/gravitational/teleport/lib/authz" + "github.com/gravitational/teleport/lib/services" +) + +// Config is the config for Service. +type Config struct { + // Authorizer is the authorizer to use. + Authorizer authz.Authorizer + // Backend is the backend for storing UserTask. + Backend services.GitServers + // Log is the slog logger. + Log *slog.Logger +} + +// Service implements the gRPC service that manages git servers. +type Service struct { + pb.UnsafeGitServerServiceServer + + cfg Config +} + +// NewService creates a new git server service. +func NewService(cfg Config) (*Service, error) { + if cfg.Authorizer == nil { + return nil, trace.BadParameter("authorizer is required") + } + if cfg.Backend == nil { + return nil, trace.BadParameter("backend is required") + } + if cfg.Log == nil { + cfg.Log = slog.With(teleport.ComponentKey, "gitserver.service") + } + return &Service{ + cfg: cfg, + }, nil + +} + +func toServerV2(server types.Server) (*types.ServerV2, error) { + serverV2, ok := server.(*types.ServerV2) + if !ok { + return nil, trace.Errorf("encountered unexpected server type: %T", serverV2) + } + return serverV2, nil +} + +func (s *Service) CreateGitServer(ctx context.Context, req *pb.CreateGitServerRequest) (*types.ServerV2, error) { + if _, err := s.authorize(ctx, types.VerbCreate); err != nil { + return nil, trace.Wrap(err) + } + server, err := s.cfg.Backend.CreateGitServer(ctx, req.Server) + if err != nil { + return nil, trace.Wrap(err) + } + return toServerV2(server) +} + +func (s *Service) GetGitServer(ctx context.Context, req *pb.GetGitServerRequest) (*types.ServerV2, error) { + authCtx, err := s.authorize(ctx, types.VerbRead) + if err != nil { + return nil, trace.Wrap(err) + } + server, err := s.cfg.Backend.GetGitServer(ctx, req.Name) + if err != nil { + return nil, trace.Wrap(err) + } + if err := s.checkAccess(authCtx, server); err != nil { + if trace.IsAccessDenied(err) { + return nil, trace.NotFound("git server %q not found", req.Name) + } + return nil, trace.Wrap(err) + } + return toServerV2(server) +} + +func (s *Service) ListGitServers(ctx context.Context, req *pb.ListGitServersRequest) (*pb.ListGitServersResponse, error) { + authCtx, err := s.authorize(ctx, types.VerbRead, types.VerbList) + if err != nil { + return nil, trace.Wrap(err) + } + servers, next, err := s.cfg.Backend.ListGitServers(ctx, int(req.PageSize), req.PageToken) + if err != nil { + return nil, trace.Wrap(err) + } + + resp := &pb.ListGitServersResponse{ + NextPageToken: next, + } + for _, server := range servers { + err := s.checkAccess(authCtx, server) + if trace.IsAccessDenied(err) { + continue + } else if err != nil { + return nil, trace.Wrap(err) + } + + if serverV2, err := toServerV2(server); err != nil { + return nil, trace.Wrap(err) + } else { + resp.Servers = append(resp.Servers, serverV2) + } + } + return resp, nil +} + +func (s *Service) UpdateGitServer(ctx context.Context, req *pb.UpdateGitServerRequest) (*types.ServerV2, error) { + if _, err := s.authorize(ctx, types.VerbUpdate); err != nil { + return nil, trace.Wrap(err) + } + server, err := s.cfg.Backend.UpdateGitServer(ctx, req.Server) + if err != nil { + return nil, trace.Wrap(err) + } + return toServerV2(server) +} + +func (s *Service) UpsertGitServer(ctx context.Context, req *pb.UpsertGitServerRequest) (*types.ServerV2, error) { + if _, err := s.authorize(ctx, types.VerbCreate, types.VerbUpdate); err != nil { + return nil, trace.Wrap(err) + } + server, err := s.cfg.Backend.UpsertGitServer(ctx, req.Server) + if err != nil { + return nil, trace.Wrap(err) + } + return toServerV2(server) +} + +func (s *Service) DeleteGitServer(ctx context.Context, req *pb.DeleteGitServerRequest) (*emptypb.Empty, error) { + _, err := s.authorize(ctx, types.VerbDelete) + if err != nil { + return nil, trace.Wrap(err) + } + if err := s.cfg.Backend.DeleteGitServer(ctx, req.GetName()); err != nil { + return nil, trace.Wrap(err) + } + return &emptypb.Empty{}, nil +} + +func (s *Service) authorize(ctx context.Context, verb string, additionalVerbs ...string) (*authz.Context, error) { + authCtx, err := s.cfg.Authorizer.Authorize(ctx) + if err != nil { + return nil, trace.Wrap(err) + } + if err := authCtx.CheckAccessToKind(types.KindGitServer, verb, additionalVerbs...); err != nil { + return nil, trace.Wrap(err) + } + return authCtx, nil +} + +func (s *Service) checkAccess(authCtx *authz.Context, server types.Server) error { + // MFA is not required for operations on git resources but will be enforced + // at the connection time. + state := services.AccessState{MFAVerified: true} + return trace.Wrap(authCtx.Checker.CheckAccess(server, state)) +} diff --git a/lib/auth/gitserver/gitserverv1/service_test.go b/lib/auth/gitserver/gitserverv1/service_test.go new file mode 100644 index 0000000000000..8631368c3b6e4 --- /dev/null +++ b/lib/auth/gitserver/gitserverv1/service_test.go @@ -0,0 +1,259 @@ +/* + * Teleport + * Copyright (C) 2024 Gravitational, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package gitserverv1 + +import ( + "context" + "slices" + "testing" + + "github.com/gravitational/trace" + "github.com/stretchr/testify/require" + + pb "github.com/gravitational/teleport/api/gen/proto/go/teleport/gitserver/v1" + "github.com/gravitational/teleport/api/types" + "github.com/gravitational/teleport/lib/authz" + "github.com/gravitational/teleport/lib/backend/memory" + "github.com/gravitational/teleport/lib/services" + "github.com/gravitational/teleport/lib/services/local" +) + +func newServer(t *testing.T, org string) *types.ServerV2 { + server, err := types.NewGitHubServer(types.GitHubServerMetadata{ + Integration: org, + Organization: org, + }) + require.NoError(t, err) + serverV2, ok := server.(*types.ServerV2) + require.True(t, ok) + return serverV2 +} + +func TestServiceAccess(t *testing.T) { + t.Parallel() + + ctx := context.Background() + org1 := newServer(t, "org1") + org2 := newServer(t, "org2") + org3 := newServer(t, "org3") + + testCases := []struct { + name string + checker services.AccessChecker + run func(*testing.T, *Service) + }{ + { + name: "create verb not allowed", + checker: &fakeAccessChecker{ /*nothing allowed*/ }, + run: func(t *testing.T, service *Service) { + _, err := service.CreateGitServer(ctx, &pb.CreateGitServerRequest{Server: org3}) + require.True(t, trace.IsAccessDenied(err)) + }, + }, + { + name: "create success", + checker: &fakeAccessChecker{ + allowVerbs: []string{types.VerbCreate}, + }, + run: func(t *testing.T, service *Service) { + _, err := service.CreateGitServer(ctx, &pb.CreateGitServerRequest{Server: org3}) + require.NoError(t, err) + }, + }, + { + name: "get verb not allowed", + checker: &fakeAccessChecker{ /*nothing allowed*/ }, + run: func(t *testing.T, service *Service) { + _, err := service.GetGitServer(ctx, &pb.GetGitServerRequest{Name: org1.GetName()}) + require.True(t, trace.IsAccessDenied(err)) + }, + }, + { + name: "get resource denied", + checker: &fakeAccessChecker{ + allowVerbs: []string{types.VerbRead}, + }, + run: func(t *testing.T, service *Service) { + _, err := service.GetGitServer(ctx, &pb.GetGitServerRequest{Name: org1.GetName()}) + require.True(t, trace.IsNotFound(err)) + }, + }, + { + name: "get success", + checker: &fakeAccessChecker{ + allowVerbs: []string{types.VerbRead}, + allowResource: true, + }, + run: func(t *testing.T, service *Service) { + server, err := service.GetGitServer(ctx, &pb.GetGitServerRequest{Name: org1.GetName()}) + require.NoError(t, err) + require.Equal(t, "org1", server.GetGitHub().Organization) + }, + }, + { + name: "list verb not allowed", + checker: &fakeAccessChecker{ + allowVerbs: []string{types.VerbRead}, + allowResource: true, + }, + run: func(t *testing.T, service *Service) { + _, err := service.ListGitServers(ctx, &pb.ListGitServersRequest{}) + require.True(t, trace.IsAccessDenied(err)) + }, + }, + { + name: "list resource denied", + checker: &fakeAccessChecker{ + allowVerbs: []string{types.VerbRead, types.VerbList}, + }, + run: func(t *testing.T, service *Service) { + resp, err := service.ListGitServers(ctx, &pb.ListGitServersRequest{}) + require.NoError(t, err) + require.Empty(t, resp.Servers) + }, + }, + { + name: "list success", + checker: &fakeAccessChecker{ + allowVerbs: []string{types.VerbRead, types.VerbList}, + allowResource: true, + }, + run: func(t *testing.T, service *Service) { + resp, err := service.ListGitServers(ctx, &pb.ListGitServersRequest{}) + require.NoError(t, err) + require.Len(t, resp.Servers, 2) + }, + }, + { + name: "update verb not allowed", + checker: &fakeAccessChecker{ /*nothing allowed*/ }, + run: func(t *testing.T, service *Service) { + _, err := service.UpdateGitServer(ctx, &pb.UpdateGitServerRequest{Server: org1}) + require.True(t, trace.IsAccessDenied(err)) + }, + }, + { + name: "update success", + checker: &fakeAccessChecker{ + allowVerbs: []string{types.VerbUpdate}, + }, + run: func(t *testing.T, service *Service) { + org1WithRevision, err := service.cfg.Backend.GetGitServer(ctx, org1.GetName()) + require.NoError(t, err) + _, err = service.UpdateGitServer(ctx, &pb.UpdateGitServerRequest{Server: org1WithRevision.(*types.ServerV2)}) + require.NoError(t, err) + }, + }, + { + name: "upsert verb not allowed", + checker: &fakeAccessChecker{ /*nothing allowed*/ }, + run: func(t *testing.T, service *Service) { + _, err := service.UpsertGitServer(ctx, &pb.UpsertGitServerRequest{Server: org3}) + require.True(t, trace.IsAccessDenied(err)) + }, + }, + { + name: "upsert success", + checker: &fakeAccessChecker{ + allowVerbs: []string{types.VerbCreate, types.VerbUpdate}, + }, + run: func(t *testing.T, service *Service) { + _, err := service.UpsertGitServer(ctx, &pb.UpsertGitServerRequest{Server: org3}) + require.NoError(t, err) + }, + }, + { + name: "delete verb not allowed", + checker: &fakeAccessChecker{ /*nothing allowed*/ }, + run: func(t *testing.T, service *Service) { + _, err := service.DeleteGitServer(ctx, &pb.DeleteGitServerRequest{Name: org1.GetName()}) + require.True(t, trace.IsAccessDenied(err)) + }, + }, + { + name: "delete success", + checker: &fakeAccessChecker{ + allowVerbs: []string{types.VerbDelete}, + }, + run: func(t *testing.T, service *Service) { + _, err := service.DeleteGitServer(ctx, &pb.DeleteGitServerRequest{Name: org1.GetName()}) + require.NoError(t, err) + }, + }, + } + + for _, test := range testCases { + t.Run(test.name, func(t *testing.T) { + service := newService(t, test.checker, org1, org2) + test.run(t, service) + }) + } +} + +type fakeAccessChecker struct { + services.AccessChecker + allowVerbs []string + allowResource bool +} + +func (f fakeAccessChecker) CheckAccessToRule(_ services.RuleContext, _ string, _ string, verb string) error { + if !slices.Contains(f.allowVerbs, verb) { + return trace.AccessDenied("verb %s not allowed", verb) + } + return nil +} +func (f fakeAccessChecker) CheckAccess(services.AccessCheckable, services.AccessState, ...services.RoleMatcher) error { + if !f.allowResource { + return trace.AccessDenied("access denied") + } + return nil +} + +func newService(t *testing.T, checker services.AccessChecker, existing ...*types.ServerV2) *Service { + t.Helper() + + b, err := memory.New(memory.Config{}) + require.NoError(t, err) + + backendService, err := local.NewGitServerService(b) + require.NoError(t, err) + + for _, server := range existing { + _, err := backendService.CreateGitServer(context.Background(), server) + require.NoError(t, err) + } + + authorizer := authz.AuthorizerFunc(func(ctx context.Context) (*authz.Context, error) { + user, err := types.NewUser("Linus.Torvalds") + if err != nil { + return nil, err + } + return &authz.Context{ + User: user, + Checker: checker, + }, nil + }) + + service, err := NewService(Config{ + Authorizer: authorizer, + Backend: backendService, + }) + require.NoError(t, err) + return service +} diff --git a/lib/auth/grpcserver.go b/lib/auth/grpcserver.go index 3ce5c78a330ec..07ba460d29e91 100644 --- a/lib/auth/grpcserver.go +++ b/lib/auth/grpcserver.go @@ -58,6 +58,7 @@ import ( dbobjectimportrulev1pb "github.com/gravitational/teleport/api/gen/proto/go/teleport/dbobjectimportrule/v1" discoveryconfigv1pb "github.com/gravitational/teleport/api/gen/proto/go/teleport/discoveryconfig/v1" dynamicwindowsv1pb "github.com/gravitational/teleport/api/gen/proto/go/teleport/dynamicwindows/v1" + gitserverv1pb "github.com/gravitational/teleport/api/gen/proto/go/teleport/gitserver/v1" identitycenterv1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/identitycenter/v1" integrationv1pb "github.com/gravitational/teleport/api/gen/proto/go/teleport/integration/v1" kubewaitingcontainerv1pb "github.com/gravitational/teleport/api/gen/proto/go/teleport/kubewaitingcontainer/v1" @@ -89,6 +90,7 @@ import ( "github.com/gravitational/teleport/lib/auth/dbobjectimportrule/dbobjectimportrulev1" "github.com/gravitational/teleport/lib/auth/discoveryconfig/discoveryconfigv1" "github.com/gravitational/teleport/lib/auth/dynamicwindows/dynamicwindowsv1" + "github.com/gravitational/teleport/lib/auth/gitserver/gitserverv1" "github.com/gravitational/teleport/lib/auth/integration/integrationv1" "github.com/gravitational/teleport/lib/auth/kubewaitingcontainer/kubewaitingcontainerv1" "github.com/gravitational/teleport/lib/auth/loginrule/loginrulev1" @@ -5357,6 +5359,15 @@ func NewGRPCServer(cfg GRPCServerConfig) (*GRPCServer, error) { } provisioningv1.RegisterProvisioningServiceServer(server, provisioningStateService) + gitServerService, err := gitserverv1.NewService(gitserverv1.Config{ + Authorizer: cfg.Authorizer, + Backend: cfg.AuthServer.Services, + }) + if err != nil { + return nil, trace.Wrap(err) + } + gitserverv1pb.RegisterGitServerServiceServer(server, gitServerService) + // Only register the service if this is an open source build. Enterprise builds // register the actual service via an auth plugin, if we register here then all // Enterprise builds would fail with a duplicate service registered error. diff --git a/lib/auth/init.go b/lib/auth/init.go index 16316c2b173c4..0b14c88dffb8a 100644 --- a/lib/auth/init.go +++ b/lib/auth/init.go @@ -338,6 +338,9 @@ type InitConfig struct { // PluginStaticCredentials handles credentials for integrations and plugins. PluginStaticCredentials services.PluginStaticCredentials + + // GitServers manages git servers. + GitServers services.GitServers } // Init instantiates and configures an instance of AuthServer diff --git a/lib/authz/permissions.go b/lib/authz/permissions.go index d5fff2f945474..5de396ca5e05b 100644 --- a/lib/authz/permissions.go +++ b/lib/authz/permissions.go @@ -796,6 +796,9 @@ func (a *authorizer) authorizeRemoteBuiltinRole(r RemoteBuiltinRole) (*Context, AppLabels: types.Labels{types.Wildcard: []string{types.Wildcard}}, DatabaseLabels: types.Labels{types.Wildcard: []string{types.Wildcard}}, KubernetesLabels: types.Labels{types.Wildcard: []string{types.Wildcard}}, + GitHubPermissions: []types.GitHubPermission{{ + Organizations: []string{types.Wildcard}, + }}, Rules: []types.Rule{ types.NewRule(types.KindNode, services.RO()), types.NewRule(types.KindProxy, services.RO()), @@ -815,6 +818,7 @@ func (a *authorizer) authorizeRemoteBuiltinRole(r RemoteBuiltinRole) (*Context, types.NewRule(types.KindInstaller, services.RO()), types.NewRule(types.KindUIConfig, services.RO()), types.NewRule(types.KindDatabaseService, services.RO()), + types.NewRule(types.KindGitServer, services.RO()), // this rule allows remote proxy to update the cluster's certificate authorities // during certificates renewal { @@ -868,6 +872,9 @@ func roleSpecForProxy(clusterName string) types.RoleSpecV6 { DatabaseLabels: types.Labels{types.Wildcard: []string{types.Wildcard}}, DatabaseServiceLabels: types.Labels{types.Wildcard: []string{types.Wildcard}}, KubernetesLabels: types.Labels{types.Wildcard: []string{types.Wildcard}}, + GitHubPermissions: []types.GitHubPermission{{ + Organizations: []string{types.Wildcard}, + }}, Rules: []types.Rule{ types.NewRule(types.KindProxy, services.RW()), types.NewRule(types.KindOIDCRequest, services.RW()), @@ -921,6 +928,7 @@ func roleSpecForProxy(clusterName string) types.RoleSpecV6 { types.NewRule(types.KindSecurityReport, services.RO()), types.NewRule(types.KindSecurityReportState, services.RO()), types.NewRule(types.KindUserTask, services.RO()), + types.NewRule(types.KindGitServer, services.RO()), // this rule allows cloud proxies to read // plugins of `openai` type, since Assist uses the OpenAI API and runs in Proxy. { @@ -1114,6 +1122,9 @@ func definitionForBuiltinRole(clusterName string, recConfig readonly.SessionReco DatabaseServiceLabels: types.Labels{types.Wildcard: []string{types.Wildcard}}, ClusterLabels: types.Labels{types.Wildcard: []string{types.Wildcard}}, WindowsDesktopLabels: types.Labels{types.Wildcard: []string{types.Wildcard}}, + GitHubPermissions: []types.GitHubPermission{{ + Organizations: []string{types.Wildcard}, + }}, Rules: []types.Rule{ types.NewRule(types.Wildcard, services.RW()), types.NewRule(types.KindDevice, append(services.RW(), types.VerbCreateEnrollToken, types.VerbEnroll)), diff --git a/lib/services/git_server.go b/lib/services/git_server.go new file mode 100644 index 0000000000000..17b3d5b93f0ee --- /dev/null +++ b/lib/services/git_server.go @@ -0,0 +1,59 @@ +/* + * Teleport + * Copyright (C) 2024 Gravitational, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package services + +import ( + "context" + + "github.com/gravitational/teleport/api/types" +) + +// GitServerGetter defines interface for fetching git servers. +type GitServerGetter interface { + // GetGitServer returns Git servers by name. + GetGitServer(ctx context.Context, name string) (types.Server, error) + // ListGitServers returns all Git servers matching filter. + ListGitServers(ctx context.Context, pageSize int, pageToken string) ([]types.Server, string, error) +} + +// GitServers defines an interface for managing git servers. +type GitServers interface { + GitServerGetter + + // CreateGitServer creates a Git server resource. + CreateGitServer(ctx context.Context, item types.Server) (types.Server, error) + // UpdateGitServer updates a Git server resource. + UpdateGitServer(ctx context.Context, item types.Server) (types.Server, error) + // UpsertGitServer updates a Git server resource, creating it if it doesn't exist. + UpsertGitServer(ctx context.Context, item types.Server) (types.Server, error) + // DeleteGitServer removes the specified Git server resource. + DeleteGitServer(ctx context.Context, name string) error + // DeleteAllGitServers removes all Git server resources. + DeleteAllGitServers(ctx context.Context) error +} + +// MarshalGitServer marshals the Git Server resource to JSON. +func MarshalGitServer(server types.Server, opts ...MarshalOption) ([]byte, error) { + return MarshalServer(server, opts...) +} + +// UnmarshalGitServer unmarshals the Git Server resource from JSON. +func UnmarshalGitServer(bytes []byte, opts ...MarshalOption) (types.Server, error) { + return UnmarshalServer(bytes, types.KindGitServer, opts...) +} diff --git a/lib/services/local/git_server.go b/lib/services/local/git_server.go new file mode 100644 index 0000000000000..2d7d7c58b3263 --- /dev/null +++ b/lib/services/local/git_server.go @@ -0,0 +1,130 @@ +/* + * Teleport + * Copyright (C) 2024 Gravitational, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package local + +import ( + "context" + + "github.com/gravitational/trace" + + "github.com/gravitational/teleport/api/types" + "github.com/gravitational/teleport/lib/backend" + "github.com/gravitational/teleport/lib/defaults" + "github.com/gravitational/teleport/lib/services" + "github.com/gravitational/teleport/lib/services/local/generic" +) + +const gitServerPrefix = "git_server" + +// GitServerService is the local implementation of GitSerever service that is +// using local backend. +type GitServerService struct { + service *generic.Service[types.Server] +} + +func validateKind(server types.Server) error { + if server.GetKind() != types.KindGitServer { + return trace.CompareFailed("expecting kind git_server but got %v", server.GetKind()) + } + return nil +} + +// NewGitServerService returns new instance of GitServerService +func NewGitServerService(b backend.Backend) (*GitServerService, error) { + service, err := generic.NewService(&generic.ServiceConfig[types.Server]{ + Backend: b, + ResourceKind: types.KindGitServer, + PageLimit: defaults.MaxIterationLimit, + BackendPrefix: backend.NewKey(gitServerPrefix), + MarshalFunc: services.MarshalGitServer, + UnmarshalFunc: services.UnmarshalGitServer, + ValidateFunc: validateKind, + }) + if err != nil { + return nil, trace.Wrap(err) + } + return &GitServerService{ + service: service, + }, nil +} + +// GetGitServer returns Git servers by name. +func (s *GitServerService) GetGitServer(ctx context.Context, name string) (types.Server, error) { + item, err := s.service.GetResource(ctx, name) + if err != nil { + return nil, trace.Wrap(err) + } + return item, nil +} + +// CreateGitServer creates a Git server resource. +func (s *GitServerService) CreateGitServer(ctx context.Context, item types.Server) (types.Server, error) { + created, err := s.service.CreateResource(ctx, item) + if err != nil { + return nil, trace.Wrap(err) + } + return created, nil +} + +// UpdateGitServer updates a Git server resource. +func (s *GitServerService) UpdateGitServer(ctx context.Context, item types.Server) (types.Server, error) { + // ConditionalUpdateResource can return invalid revision instead of not found, so we'll check if resource exists first + if _, err := s.service.GetResource(ctx, item.GetName()); trace.IsNotFound(err) { + return nil, err + } + updated, err := s.service.ConditionalUpdateResource(ctx, item) + if err != nil { + return nil, trace.Wrap(err) + } + return updated, nil +} + +// UpsertGitServer updates a Git server resource, creating it if it doesn't exist. +func (s *GitServerService) UpsertGitServer(ctx context.Context, item types.Server) (types.Server, error) { + upserted, err := s.service.UpsertResource(ctx, item) + if err != nil { + return nil, trace.Wrap(err) + } + return upserted, nil +} + +// DeleteGitServer removes the specified Git server resource. +func (s *GitServerService) DeleteGitServer(ctx context.Context, name string) error { + if err := s.service.DeleteResource(ctx, name); err != nil { + return trace.Wrap(err) + } + return nil +} + +// DeleteAllGitServers removes all Git server resources. +func (s *GitServerService) DeleteAllGitServers(ctx context.Context) error { + if err := s.service.DeleteAllResources(ctx); err != nil { + return trace.Wrap(err) + } + return nil +} + +// ListGitServers returns all Git servers matching filter. +func (s *GitServerService) ListGitServers(ctx context.Context, pageSize int, pageToken string) ([]types.Server, string, error) { + items, next, err := s.service.ListResources(ctx, pageSize, pageToken) + if err != nil { + return nil, "", trace.Wrap(err) + } + return items, next, nil +} diff --git a/lib/services/local/git_server_test.go b/lib/services/local/git_server_test.go new file mode 100644 index 0000000000000..15232dd9272ac --- /dev/null +++ b/lib/services/local/git_server_test.go @@ -0,0 +1,150 @@ +/* + * Teleport + * Copyright (C) 2024 Gravitational, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package local + +import ( + "context" + "sort" + "testing" + + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/gravitational/trace" + "github.com/jonboulle/clockwork" + "github.com/stretchr/testify/require" + + "github.com/gravitational/teleport/api/types" + "github.com/gravitational/teleport/lib/backend/memory" + "github.com/gravitational/teleport/lib/services" +) + +func mustMakeGitHubServer(t *testing.T, org string) types.Server { + t.Helper() + server, err := types.NewGitHubServer(types.GitHubServerMetadata{ + Organization: org, + Integration: org, + }) + require.NoError(t, err) + return server +} + +func compareGitServers(t *testing.T, listA, listB []types.Server) { + t.Helper() + sortedListA := services.SortedServers(listA) + sortedListB := services.SortedServers(listB) + sort.Sort(sortedListA) + sort.Sort(sortedListB) + + require.Empty(t, cmp.Diff(sortedListA, sortedListB, + cmpopts.IgnoreFields(types.Metadata{}, "Revision"), + )) +} + +func TestGitServerCRUD(t *testing.T) { + ctx := context.Background() + clock := clockwork.NewFakeClock() + + backend, err := memory.New(memory.Config{ + Context: ctx, + Clock: clock, + }) + require.NoError(t, err) + + server1 := mustMakeGitHubServer(t, "org1") + server2 := mustMakeGitHubServer(t, "org2") + service, err := NewGitServerService(backend) + require.NoError(t, err) + + t.Run("nothing yet", func(t *testing.T) { + out, _, err := service.ListGitServers(ctx, 10, "") + require.NoError(t, err) + require.Empty(t, out) + }) + + t.Run("invalid server", func(t *testing.T) { + node, err := types.NewServerWithLabels("node1", types.KindNode, types.ServerSpecV2{}, nil) + require.NoError(t, err) + _, err = service.CreateGitServer(ctx, node) + require.Error(t, err) + }) + + t.Run("create", func(t *testing.T) { + _, err = service.CreateGitServer(ctx, server1) + require.NoError(t, err) + _, err = service.CreateGitServer(ctx, server2) + require.NoError(t, err) + }) + + t.Run("list", func(t *testing.T) { + out, _, err := service.ListGitServers(ctx, 10, "") + require.NoError(t, err) + compareGitServers(t, []types.Server{server1, server2}, out) + }) + + t.Run("list with token", func(t *testing.T) { + out, token, err := service.ListGitServers(ctx, 1, "") + require.NoError(t, err) + require.NotEmpty(t, token) + require.Len(t, out, 1) + out2, token, err := service.ListGitServers(ctx, 1, token) + require.NoError(t, err) + require.Empty(t, token) + require.Len(t, out2, 1) + compareGitServers(t, []types.Server{server1, server2}, append(out, out2...)) + }) + + t.Run("get and update", func(t *testing.T) { + out, err := service.GetGitServer(ctx, server1.GetName()) + require.NoError(t, err) + require.Empty(t, cmp.Diff(server1, out, + cmpopts.IgnoreFields(types.Metadata{}, "Revision"), + )) + + out.GetGitHub().Integration = "updated" + out, err = service.UpdateGitServer(ctx, out) + require.NoError(t, err) + require.Equal(t, "updated", out.GetGitHub().Integration) + }) + + t.Run("delete not found", func(t *testing.T) { + err := service.DeleteGitServer(ctx, "doesnotexist") + require.IsType(t, trace.NotFound(""), err) + }) + + t.Run("delete", func(t *testing.T) { + require.NoError(t, service.DeleteGitServer(ctx, server1.GetName())) + }) + + t.Run("upsert", func(t *testing.T) { + server3 := mustMakeGitHubServer(t, "org3") + _, err := service.UpsertGitServer(ctx, server3) + require.NoError(t, err) + + out, _, err := service.ListGitServers(ctx, 10, "") + require.NoError(t, err) + compareGitServers(t, []types.Server{server2, server3}, out) + }) + + t.Run("delete all", func(t *testing.T) { + require.NoError(t, service.DeleteAllGitServers(ctx)) + out, _, err := service.ListGitServers(ctx, 10, "") + require.NoError(t, err) + require.Empty(t, out) + }) +} diff --git a/lib/services/resource.go b/lib/services/resource.go index fdb886e0a25ca..b4e29d85af7e2 100644 --- a/lib/services/resource.go +++ b/lib/services/resource.go @@ -255,6 +255,8 @@ func ParseShortcut(in string) (string, error) { return types.KindAutoUpdateVersion, nil case types.KindAutoUpdateAgentRollout: return types.KindAutoUpdateAgentRollout, nil + case types.KindGitServer, types.KindGitServer + "s": + return types.KindGitServer, nil } return "", trace.BadParameter("unsupported resource: %q - resources should be expressed as 'type/name', for example 'connector/github'", in) } diff --git a/lib/services/role.go b/lib/services/role.go index d1dbee423b038..683dbd2d39616 100644 --- a/lib/services/role.go +++ b/lib/services/role.go @@ -80,6 +80,7 @@ var DefaultImplicitRules = []types.Rule{ types.NewRule(types.KindSPIFFEFederation, RO()), types.NewRule(types.KindSAMLIdPServiceProvider, RO()), types.NewRule(types.KindIdentityCenter, RO()), + types.NewRule(types.KindGitServer, RO()), } // DefaultCertAuthorityRules provides access the minimal set of resources diff --git a/lib/services/role_test.go b/lib/services/role_test.go index e518c9de75b85..fa3a3a2e3adfd 100644 --- a/lib/services/role_test.go +++ b/lib/services/role_test.go @@ -2548,6 +2548,20 @@ func TestDefaultImplicitRules(t *testing.T) { {rule: types.KindSAMLIdPServiceProvider, verb: types.VerbDelete, namespace: apidefaults.Namespace, hasAccess: false}, }, }, + { + name: "KindGitServer with empty rules", + role: newRole(func(r *types.RoleV6) { + r.Spec.Allow = types.RoleConditions{} + r.Spec.Deny = types.RoleConditions{} + }), + checks: []check{ + {rule: types.KindGitServer, verb: types.VerbRead, namespace: apidefaults.Namespace, hasAccess: true}, + {rule: types.KindGitServer, verb: types.VerbList, namespace: apidefaults.Namespace, hasAccess: true}, + {rule: types.KindGitServer, verb: types.VerbCreate, namespace: apidefaults.Namespace, hasAccess: false}, + {rule: types.KindGitServer, verb: types.VerbUpdate, namespace: apidefaults.Namespace, hasAccess: false}, + {rule: types.KindGitServer, verb: types.VerbDelete, namespace: apidefaults.Namespace, hasAccess: false}, + }, + }, } for _, tc := range testCases { roleSet := NewRoleSet(tc.role) @@ -9594,3 +9608,75 @@ func TestCheckSPIFFESVID(t *testing.T) { }) } } + +func TestCheckAccessToGitServer(t *testing.T) { + githubOrgServer, err := types.NewGitHubServer(types.GitHubServerMetadata{ + Integration: "my-org", + Organization: "my-org", + }) + require.NoError(t, err) + + makeRole := func(t *testing.T, allowOrg, denyOrg string) types.Role { + spec := types.RoleSpecV6{} + if allowOrg != "" { + spec.Allow.GitHubPermissions = append(spec.Allow.GitHubPermissions, types.GitHubPermission{ + Organizations: []string{allowOrg}, + }) + } + if denyOrg != "" { + spec.Deny.GitHubPermissions = append(spec.Deny.GitHubPermissions, types.GitHubPermission{ + Organizations: []string{denyOrg}, + }) + } + role, err := types.NewRole(uuid.NewString(), spec) + require.NoError(t, err) + return role + } + + tests := []struct { + name string + roles []types.Role + requireErr require.ErrorAssertionFunc + }{ + { + name: "no roles", + requireErr: requireAccessDenied, + }, + { + name: "explicit allow", + roles: []types.Role{ + makeRole(t, "my-org", ""), + }, + requireErr: require.NoError, + }, + { + name: "wildcard allow", + roles: []types.Role{ + makeRole(t, "*", "some-other-org"), + }, + requireErr: require.NoError, + }, + { + name: "explicit deny", + roles: []types.Role{ + makeRole(t, "*", "my-org"), + }, + requireErr: requireAccessDenied, + }, + { + name: "wildcard deny", + roles: []types.Role{ + makeRole(t, "my-org", "*"), + }, + requireErr: requireAccessDenied, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + accessChecker := makeAccessCheckerWithRoleSet(test.roles) + err := accessChecker.CheckAccess(githubOrgServer, AccessState{}) + test.requireErr(t, err) + }) + } +} diff --git a/lib/services/server.go b/lib/services/server.go index 5ffeec5a97320..43b1e4d78e50b 100644 --- a/lib/services/server.go +++ b/lib/services/server.go @@ -128,6 +128,9 @@ func compareServers(a, b types.Server) int { if !slices.Equal(a.GetProxyIDs(), b.GetProxyIDs()) { return Different } + if !cmp.Equal(a.GetGitHub(), b.GetGitHub()) { + return Different + } // OnlyTimestampsDifferent check must be after all Different checks. if !a.Expiry().Equal(b.Expiry()) { return OnlyTimestampsDifferent diff --git a/tool/tctl/common/resource_command.go b/tool/tctl/common/resource_command.go index 373e248655587..5dd610fb90819 100644 --- a/tool/tctl/common/resource_command.go +++ b/tool/tctl/common/resource_command.go @@ -49,6 +49,7 @@ import ( dbobjectv1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/dbobject/v1" dbobjectimportrulev1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/dbobjectimportrule/v1" devicepb "github.com/gravitational/teleport/api/gen/proto/go/teleport/devicetrust/v1" + gitserverv1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/gitserver/v1" loginrulepb "github.com/gravitational/teleport/api/gen/proto/go/teleport/loginrule/v1" machineidv1pb "github.com/gravitational/teleport/api/gen/proto/go/teleport/machineid/v1" pluginsv1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/plugins/v1" @@ -175,6 +176,7 @@ func (rc *ResourceCommand) Initialize(app *kingpin.Application, config *servicec types.KindUserTask: rc.createUserTask, types.KindAutoUpdateConfig: rc.createAutoUpdateConfig, types.KindAutoUpdateVersion: rc.createAutoUpdateVersion, + types.KindGitServer: rc.createGitServer, } rc.UpdateHandlers = map[ResourceKind]ResourceCreateHandler{ types.KindUser: rc.updateUser, @@ -195,6 +197,7 @@ func (rc *ResourceCommand) Initialize(app *kingpin.Application, config *servicec types.KindAutoUpdateConfig: rc.updateAutoUpdateConfig, types.KindAutoUpdateVersion: rc.updateAutoUpdateVersion, types.KindDynamicWindowsDesktop: rc.updateDynamicWindowsDesktop, + types.KindGitServer: rc.updateGitServer, } rc.config = config @@ -1974,6 +1977,11 @@ func (rc *ResourceCommand) Delete(ctx context.Context, client *authclient.Client return trace.Wrap(err) } fmt.Printf("static host user %q has been deleted\n", rc.ref.Name) + case types.KindGitServer: + if _, err := client.GitServerClient().DeleteGitServer(ctx, &gitserverv1.DeleteGitServerRequest{Name: rc.ref.Name}); err != nil { + return trace.Wrap(err) + } + fmt.Printf("git_server %q has been deleted\n", rc.ref.Name) default: return trace.BadParameter("deleting resources of type %q is not supported", rc.ref.Kind) } @@ -3211,6 +3219,33 @@ func (rc *ResourceCommand) getCollection(ctx context.Context, client *authclient nextToken = token } return &accessMonitoringRuleCollection{items: rules}, nil + case types.KindGitServer: + var servers []types.Server + + // TODO(greedy52) use unified resource request once available. + if rc.ref.Name != "" { + server, err := client.GitServerClient().GetGitServer(ctx, &gitserverv1.GetGitServerRequest{Name: rc.ref.Name}) + if err != nil { + return nil, trace.Wrap(err) + } + return &serverCollection{servers: append(servers, server)}, nil + } + req := &gitserverv1.ListGitServersRequest{} + for { + resp, err := client.GitServerClient().ListGitServers(ctx, req) + if err != nil { + return nil, trace.Wrap(err) + } + for _, server := range resp.Servers { + servers = append(servers, server) + } + if resp.NextPageToken == "" { + break + } + req.PageToken = resp.NextPageToken + } + // TODO(greedy52) consider making dedicated git server collection. + return &serverCollection{servers: servers}, nil } return nil, trace.BadParameter("getting %q is not supported", rc.ref.String()) } @@ -3623,3 +3658,40 @@ func (rc *ResourceCommand) updateAutoUpdateVersion(ctx context.Context, client * fmt.Println("autoupdate_version has been updated") return nil } + +func (rc *ResourceCommand) createGitServer(ctx context.Context, client *authclient.Client, raw services.UnknownResource) error { + server, err := services.UnmarshalGitServer(raw.Raw) + if err != nil { + return trace.Wrap(err) + } + serverV2, ok := server.(*types.ServerV2) + if !ok { + return trace.CompareFailed("expecting types.ServerV2 but got %T", server) + } + if rc.IsForced() { + _, err = client.GitServerClient().UpsertGitServer(ctx, &gitserverv1.UpsertGitServerRequest{Server: serverV2}) + } else { + _, err = client.GitServerClient().CreateGitServer(ctx, &gitserverv1.CreateGitServerRequest{Server: serverV2}) + } + if err != nil { + return trace.Wrap(err) + } + fmt.Printf("git server %q has been created\n", server.GetName()) + return nil +} +func (rc *ResourceCommand) updateGitServer(ctx context.Context, client *authclient.Client, raw services.UnknownResource) error { + server, err := services.UnmarshalGitServer(raw.Raw) + if err != nil { + return trace.Wrap(err) + } + serverV2, ok := server.(*types.ServerV2) + if !ok { + return trace.CompareFailed("expecting types.ServerV2 but got %T", server) + } + _, err = client.GitServerClient().UpdateGitServer(ctx, &gitserverv1.UpdateGitServerRequest{Server: serverV2}) + if err != nil { + return trace.Wrap(err) + } + fmt.Printf("git server %q has been updated\n", server.GetName()) + return nil +}