github.com/keybase/client/go@v0.0.0-20241007131713-f10651d043c8/protocol/chat1/local.go (about)

     1  // Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler)
     2  //   Input file: avdl/chat1/local.avdl
     3  
     4  package chat1
     5  
     6  import (
     7  	"errors"
     8  	"fmt"
     9  	gregor1 "github.com/keybase/client/go/protocol/gregor1"
    10  	keybase1 "github.com/keybase/client/go/protocol/keybase1"
    11  	stellar1 "github.com/keybase/client/go/protocol/stellar1"
    12  	"github.com/keybase/go-framed-msgpack-rpc/rpc"
    13  	context "golang.org/x/net/context"
    14  	"time"
    15  )
    16  
    17  type VersionKind string
    18  
    19  func (o VersionKind) DeepCopy() VersionKind {
    20  	return o
    21  }
    22  
    23  type TextPaymentResultTyp int
    24  
    25  const (
    26  	TextPaymentResultTyp_SENT  TextPaymentResultTyp = 0
    27  	TextPaymentResultTyp_ERROR TextPaymentResultTyp = 1
    28  )
    29  
    30  func (o TextPaymentResultTyp) DeepCopy() TextPaymentResultTyp { return o }
    31  
    32  var TextPaymentResultTypMap = map[string]TextPaymentResultTyp{
    33  	"SENT":  0,
    34  	"ERROR": 1,
    35  }
    36  
    37  var TextPaymentResultTypRevMap = map[TextPaymentResultTyp]string{
    38  	0: "SENT",
    39  	1: "ERROR",
    40  }
    41  
    42  func (e TextPaymentResultTyp) String() string {
    43  	if v, ok := TextPaymentResultTypRevMap[e]; ok {
    44  		return v
    45  	}
    46  	return fmt.Sprintf("%v", int(e))
    47  }
    48  
    49  type TextPaymentResult struct {
    50  	ResultTyp__ TextPaymentResultTyp `codec:"resultTyp" json:"resultTyp"`
    51  	Error__     *string              `codec:"error,omitempty" json:"error,omitempty"`
    52  	Sent__      *stellar1.PaymentID  `codec:"sent,omitempty" json:"sent,omitempty"`
    53  }
    54  
    55  func (o *TextPaymentResult) ResultTyp() (ret TextPaymentResultTyp, err error) {
    56  	switch o.ResultTyp__ {
    57  	case TextPaymentResultTyp_ERROR:
    58  		if o.Error__ == nil {
    59  			err = errors.New("unexpected nil value for Error__")
    60  			return ret, err
    61  		}
    62  	case TextPaymentResultTyp_SENT:
    63  		if o.Sent__ == nil {
    64  			err = errors.New("unexpected nil value for Sent__")
    65  			return ret, err
    66  		}
    67  	}
    68  	return o.ResultTyp__, nil
    69  }
    70  
    71  func (o TextPaymentResult) Error() (res string) {
    72  	if o.ResultTyp__ != TextPaymentResultTyp_ERROR {
    73  		panic("wrong case accessed")
    74  	}
    75  	if o.Error__ == nil {
    76  		return
    77  	}
    78  	return *o.Error__
    79  }
    80  
    81  func (o TextPaymentResult) Sent() (res stellar1.PaymentID) {
    82  	if o.ResultTyp__ != TextPaymentResultTyp_SENT {
    83  		panic("wrong case accessed")
    84  	}
    85  	if o.Sent__ == nil {
    86  		return
    87  	}
    88  	return *o.Sent__
    89  }
    90  
    91  func NewTextPaymentResultWithError(v string) TextPaymentResult {
    92  	return TextPaymentResult{
    93  		ResultTyp__: TextPaymentResultTyp_ERROR,
    94  		Error__:     &v,
    95  	}
    96  }
    97  
    98  func NewTextPaymentResultWithSent(v stellar1.PaymentID) TextPaymentResult {
    99  	return TextPaymentResult{
   100  		ResultTyp__: TextPaymentResultTyp_SENT,
   101  		Sent__:      &v,
   102  	}
   103  }
   104  
   105  func (o TextPaymentResult) DeepCopy() TextPaymentResult {
   106  	return TextPaymentResult{
   107  		ResultTyp__: o.ResultTyp__.DeepCopy(),
   108  		Error__: (func(x *string) *string {
   109  			if x == nil {
   110  				return nil
   111  			}
   112  			tmp := (*x)
   113  			return &tmp
   114  		})(o.Error__),
   115  		Sent__: (func(x *stellar1.PaymentID) *stellar1.PaymentID {
   116  			if x == nil {
   117  				return nil
   118  			}
   119  			tmp := (*x).DeepCopy()
   120  			return &tmp
   121  		})(o.Sent__),
   122  	}
   123  }
   124  
   125  type TextPayment struct {
   126  	Username    string            `codec:"username" json:"username"`
   127  	PaymentText string            `codec:"paymentText" json:"paymentText"`
   128  	Result      TextPaymentResult `codec:"result" json:"result"`
   129  }
   130  
   131  func (o TextPayment) DeepCopy() TextPayment {
   132  	return TextPayment{
   133  		Username:    o.Username,
   134  		PaymentText: o.PaymentText,
   135  		Result:      o.Result.DeepCopy(),
   136  	}
   137  }
   138  
   139  type KnownUserMention struct {
   140  	Text string      `codec:"text" json:"text"`
   141  	Uid  gregor1.UID `codec:"uid" json:"uid"`
   142  }
   143  
   144  func (o KnownUserMention) DeepCopy() KnownUserMention {
   145  	return KnownUserMention{
   146  		Text: o.Text,
   147  		Uid:  o.Uid.DeepCopy(),
   148  	}
   149  }
   150  
   151  type KnownTeamMention struct {
   152  	Name    string `codec:"name" json:"name"`
   153  	Channel string `codec:"channel" json:"channel"`
   154  }
   155  
   156  func (o KnownTeamMention) DeepCopy() KnownTeamMention {
   157  	return KnownTeamMention{
   158  		Name:    o.Name,
   159  		Channel: o.Channel,
   160  	}
   161  }
   162  
   163  type MaybeMention struct {
   164  	Name    string `codec:"name" json:"name"`
   165  	Channel string `codec:"channel" json:"channel"`
   166  }
   167  
   168  func (o MaybeMention) DeepCopy() MaybeMention {
   169  	return MaybeMention{
   170  		Name:    o.Name,
   171  		Channel: o.Channel,
   172  	}
   173  }
   174  
   175  type Coordinate struct {
   176  	Lat      float64 `codec:"lat" json:"lat"`
   177  	Lon      float64 `codec:"lon" json:"lon"`
   178  	Accuracy float64 `codec:"accuracy" json:"accuracy"`
   179  }
   180  
   181  func (o Coordinate) DeepCopy() Coordinate {
   182  	return Coordinate{
   183  		Lat:      o.Lat,
   184  		Lon:      o.Lon,
   185  		Accuracy: o.Accuracy,
   186  	}
   187  }
   188  
   189  type LiveLocation struct {
   190  	EndTime gregor1.Time `codec:"endTime" json:"endTime"`
   191  }
   192  
   193  func (o LiveLocation) DeepCopy() LiveLocation {
   194  	return LiveLocation{
   195  		EndTime: o.EndTime.DeepCopy(),
   196  	}
   197  }
   198  
   199  type MessageText struct {
   200  	Body         string                    `codec:"body" json:"body"`
   201  	Payments     []TextPayment             `codec:"payments" json:"payments"`
   202  	ReplyTo      *MessageID                `codec:"replyTo,omitempty" json:"replyTo,omitempty"`
   203  	ReplyToUID   *gregor1.UID              `codec:"replyToUID,omitempty" json:"replyToUID,omitempty"`
   204  	UserMentions []KnownUserMention        `codec:"userMentions" json:"userMentions"`
   205  	TeamMentions []KnownTeamMention        `codec:"teamMentions" json:"teamMentions"`
   206  	LiveLocation *LiveLocation             `codec:"liveLocation,omitempty" json:"liveLocation,omitempty"`
   207  	Emojis       map[string]HarvestedEmoji `codec:"emojis" json:"emojis"`
   208  }
   209  
   210  func (o MessageText) DeepCopy() MessageText {
   211  	return MessageText{
   212  		Body: o.Body,
   213  		Payments: (func(x []TextPayment) []TextPayment {
   214  			if x == nil {
   215  				return nil
   216  			}
   217  			ret := make([]TextPayment, len(x))
   218  			for i, v := range x {
   219  				vCopy := v.DeepCopy()
   220  				ret[i] = vCopy
   221  			}
   222  			return ret
   223  		})(o.Payments),
   224  		ReplyTo: (func(x *MessageID) *MessageID {
   225  			if x == nil {
   226  				return nil
   227  			}
   228  			tmp := (*x).DeepCopy()
   229  			return &tmp
   230  		})(o.ReplyTo),
   231  		ReplyToUID: (func(x *gregor1.UID) *gregor1.UID {
   232  			if x == nil {
   233  				return nil
   234  			}
   235  			tmp := (*x).DeepCopy()
   236  			return &tmp
   237  		})(o.ReplyToUID),
   238  		UserMentions: (func(x []KnownUserMention) []KnownUserMention {
   239  			if x == nil {
   240  				return nil
   241  			}
   242  			ret := make([]KnownUserMention, len(x))
   243  			for i, v := range x {
   244  				vCopy := v.DeepCopy()
   245  				ret[i] = vCopy
   246  			}
   247  			return ret
   248  		})(o.UserMentions),
   249  		TeamMentions: (func(x []KnownTeamMention) []KnownTeamMention {
   250  			if x == nil {
   251  				return nil
   252  			}
   253  			ret := make([]KnownTeamMention, len(x))
   254  			for i, v := range x {
   255  				vCopy := v.DeepCopy()
   256  				ret[i] = vCopy
   257  			}
   258  			return ret
   259  		})(o.TeamMentions),
   260  		LiveLocation: (func(x *LiveLocation) *LiveLocation {
   261  			if x == nil {
   262  				return nil
   263  			}
   264  			tmp := (*x).DeepCopy()
   265  			return &tmp
   266  		})(o.LiveLocation),
   267  		Emojis: (func(x map[string]HarvestedEmoji) map[string]HarvestedEmoji {
   268  			if x == nil {
   269  				return nil
   270  			}
   271  			ret := make(map[string]HarvestedEmoji, len(x))
   272  			for k, v := range x {
   273  				kCopy := k
   274  				vCopy := v.DeepCopy()
   275  				ret[kCopy] = vCopy
   276  			}
   277  			return ret
   278  		})(o.Emojis),
   279  	}
   280  }
   281  
   282  type MessageConversationMetadata struct {
   283  	ConversationTitle string `codec:"conversationTitle" json:"conversationTitle"`
   284  }
   285  
   286  func (o MessageConversationMetadata) DeepCopy() MessageConversationMetadata {
   287  	return MessageConversationMetadata{
   288  		ConversationTitle: o.ConversationTitle,
   289  	}
   290  }
   291  
   292  type MessageEdit struct {
   293  	MessageID    MessageID                 `codec:"messageID" json:"messageID"`
   294  	Body         string                    `codec:"body" json:"body"`
   295  	UserMentions []KnownUserMention        `codec:"userMentions" json:"userMentions"`
   296  	TeamMentions []KnownTeamMention        `codec:"teamMentions" json:"teamMentions"`
   297  	Emojis       map[string]HarvestedEmoji `codec:"emojis" json:"emojis"`
   298  }
   299  
   300  func (o MessageEdit) DeepCopy() MessageEdit {
   301  	return MessageEdit{
   302  		MessageID: o.MessageID.DeepCopy(),
   303  		Body:      o.Body,
   304  		UserMentions: (func(x []KnownUserMention) []KnownUserMention {
   305  			if x == nil {
   306  				return nil
   307  			}
   308  			ret := make([]KnownUserMention, len(x))
   309  			for i, v := range x {
   310  				vCopy := v.DeepCopy()
   311  				ret[i] = vCopy
   312  			}
   313  			return ret
   314  		})(o.UserMentions),
   315  		TeamMentions: (func(x []KnownTeamMention) []KnownTeamMention {
   316  			if x == nil {
   317  				return nil
   318  			}
   319  			ret := make([]KnownTeamMention, len(x))
   320  			for i, v := range x {
   321  				vCopy := v.DeepCopy()
   322  				ret[i] = vCopy
   323  			}
   324  			return ret
   325  		})(o.TeamMentions),
   326  		Emojis: (func(x map[string]HarvestedEmoji) map[string]HarvestedEmoji {
   327  			if x == nil {
   328  				return nil
   329  			}
   330  			ret := make(map[string]HarvestedEmoji, len(x))
   331  			for k, v := range x {
   332  				kCopy := k
   333  				vCopy := v.DeepCopy()
   334  				ret[kCopy] = vCopy
   335  			}
   336  			return ret
   337  		})(o.Emojis),
   338  	}
   339  }
   340  
   341  type MessageDelete struct {
   342  	MessageIDs []MessageID `codec:"messageIDs" json:"messageIDs"`
   343  }
   344  
   345  func (o MessageDelete) DeepCopy() MessageDelete {
   346  	return MessageDelete{
   347  		MessageIDs: (func(x []MessageID) []MessageID {
   348  			if x == nil {
   349  				return nil
   350  			}
   351  			ret := make([]MessageID, len(x))
   352  			for i, v := range x {
   353  				vCopy := v.DeepCopy()
   354  				ret[i] = vCopy
   355  			}
   356  			return ret
   357  		})(o.MessageIDs),
   358  	}
   359  }
   360  
   361  type MessageHeadline struct {
   362  	Headline string                    `codec:"headline" json:"headline"`
   363  	Emojis   map[string]HarvestedEmoji `codec:"emojis" json:"emojis"`
   364  }
   365  
   366  func (o MessageHeadline) DeepCopy() MessageHeadline {
   367  	return MessageHeadline{
   368  		Headline: o.Headline,
   369  		Emojis: (func(x map[string]HarvestedEmoji) map[string]HarvestedEmoji {
   370  			if x == nil {
   371  				return nil
   372  			}
   373  			ret := make(map[string]HarvestedEmoji, len(x))
   374  			for k, v := range x {
   375  				kCopy := k
   376  				vCopy := v.DeepCopy()
   377  				ret[kCopy] = vCopy
   378  			}
   379  			return ret
   380  		})(o.Emojis),
   381  	}
   382  }
   383  
   384  type MessageFlip struct {
   385  	Text         string             `codec:"text" json:"text"`
   386  	GameID       FlipGameID         `codec:"gameID" json:"gameID"`
   387  	FlipConvID   ConversationID     `codec:"flipConvID" json:"flipConvID"`
   388  	UserMentions []KnownUserMention `codec:"userMentions" json:"userMentions"`
   389  	TeamMentions []KnownTeamMention `codec:"teamMentions" json:"teamMentions"`
   390  }
   391  
   392  func (o MessageFlip) DeepCopy() MessageFlip {
   393  	return MessageFlip{
   394  		Text:       o.Text,
   395  		GameID:     o.GameID.DeepCopy(),
   396  		FlipConvID: o.FlipConvID.DeepCopy(),
   397  		UserMentions: (func(x []KnownUserMention) []KnownUserMention {
   398  			if x == nil {
   399  				return nil
   400  			}
   401  			ret := make([]KnownUserMention, len(x))
   402  			for i, v := range x {
   403  				vCopy := v.DeepCopy()
   404  				ret[i] = vCopy
   405  			}
   406  			return ret
   407  		})(o.UserMentions),
   408  		TeamMentions: (func(x []KnownTeamMention) []KnownTeamMention {
   409  			if x == nil {
   410  				return nil
   411  			}
   412  			ret := make([]KnownTeamMention, len(x))
   413  			for i, v := range x {
   414  				vCopy := v.DeepCopy()
   415  				ret[i] = vCopy
   416  			}
   417  			return ret
   418  		})(o.TeamMentions),
   419  	}
   420  }
   421  
   422  type MessagePin struct {
   423  	MsgID MessageID `codec:"msgID" json:"msgID"`
   424  }
   425  
   426  func (o MessagePin) DeepCopy() MessagePin {
   427  	return MessagePin{
   428  		MsgID: o.MsgID.DeepCopy(),
   429  	}
   430  }
   431  
   432  type MessageSystemType int
   433  
   434  const (
   435  	MessageSystemType_ADDEDTOTEAM       MessageSystemType = 0
   436  	MessageSystemType_INVITEADDEDTOTEAM MessageSystemType = 1
   437  	MessageSystemType_COMPLEXTEAM       MessageSystemType = 2
   438  	MessageSystemType_CREATETEAM        MessageSystemType = 3
   439  	MessageSystemType_GITPUSH           MessageSystemType = 4
   440  	MessageSystemType_CHANGEAVATAR      MessageSystemType = 5
   441  	MessageSystemType_CHANGERETENTION   MessageSystemType = 6
   442  	MessageSystemType_BULKADDTOCONV     MessageSystemType = 7
   443  	MessageSystemType_SBSRESOLVE        MessageSystemType = 8
   444  	MessageSystemType_NEWCHANNEL        MessageSystemType = 9
   445  )
   446  
   447  func (o MessageSystemType) DeepCopy() MessageSystemType { return o }
   448  
   449  var MessageSystemTypeMap = map[string]MessageSystemType{
   450  	"ADDEDTOTEAM":       0,
   451  	"INVITEADDEDTOTEAM": 1,
   452  	"COMPLEXTEAM":       2,
   453  	"CREATETEAM":        3,
   454  	"GITPUSH":           4,
   455  	"CHANGEAVATAR":      5,
   456  	"CHANGERETENTION":   6,
   457  	"BULKADDTOCONV":     7,
   458  	"SBSRESOLVE":        8,
   459  	"NEWCHANNEL":        9,
   460  }
   461  
   462  var MessageSystemTypeRevMap = map[MessageSystemType]string{
   463  	0: "ADDEDTOTEAM",
   464  	1: "INVITEADDEDTOTEAM",
   465  	2: "COMPLEXTEAM",
   466  	3: "CREATETEAM",
   467  	4: "GITPUSH",
   468  	5: "CHANGEAVATAR",
   469  	6: "CHANGERETENTION",
   470  	7: "BULKADDTOCONV",
   471  	8: "SBSRESOLVE",
   472  	9: "NEWCHANNEL",
   473  }
   474  
   475  func (e MessageSystemType) String() string {
   476  	if v, ok := MessageSystemTypeRevMap[e]; ok {
   477  		return v
   478  	}
   479  	return fmt.Sprintf("%v", int(e))
   480  }
   481  
   482  type MessageSystemAddedToTeam struct {
   483  	Team     string            `codec:"team" json:"team"`
   484  	Adder    string            `codec:"adder" json:"adder"`
   485  	Addee    string            `codec:"addee" json:"addee"`
   486  	Role     keybase1.TeamRole `codec:"role" json:"role"`
   487  	BulkAdds []string          `codec:"bulkAdds" json:"bulkAdds"`
   488  }
   489  
   490  func (o MessageSystemAddedToTeam) DeepCopy() MessageSystemAddedToTeam {
   491  	return MessageSystemAddedToTeam{
   492  		Team:  o.Team,
   493  		Adder: o.Adder,
   494  		Addee: o.Addee,
   495  		Role:  o.Role.DeepCopy(),
   496  		BulkAdds: (func(x []string) []string {
   497  			if x == nil {
   498  				return nil
   499  			}
   500  			ret := make([]string, len(x))
   501  			for i, v := range x {
   502  				vCopy := v
   503  				ret[i] = vCopy
   504  			}
   505  			return ret
   506  		})(o.BulkAdds),
   507  	}
   508  }
   509  
   510  type MessageSystemInviteAddedToTeam struct {
   511  	Team       string                      `codec:"team" json:"team"`
   512  	Inviter    string                      `codec:"inviter" json:"inviter"`
   513  	Invitee    string                      `codec:"invitee" json:"invitee"`
   514  	Adder      string                      `codec:"adder" json:"adder"`
   515  	InviteType keybase1.TeamInviteCategory `codec:"inviteType" json:"inviteType"`
   516  	Role       keybase1.TeamRole           `codec:"role" json:"role"`
   517  }
   518  
   519  func (o MessageSystemInviteAddedToTeam) DeepCopy() MessageSystemInviteAddedToTeam {
   520  	return MessageSystemInviteAddedToTeam{
   521  		Team:       o.Team,
   522  		Inviter:    o.Inviter,
   523  		Invitee:    o.Invitee,
   524  		Adder:      o.Adder,
   525  		InviteType: o.InviteType.DeepCopy(),
   526  		Role:       o.Role.DeepCopy(),
   527  	}
   528  }
   529  
   530  type MessageSystemComplexTeam struct {
   531  	Team string `codec:"team" json:"team"`
   532  }
   533  
   534  func (o MessageSystemComplexTeam) DeepCopy() MessageSystemComplexTeam {
   535  	return MessageSystemComplexTeam{
   536  		Team: o.Team,
   537  	}
   538  }
   539  
   540  type MessageSystemCreateTeam struct {
   541  	Team    string `codec:"team" json:"team"`
   542  	Creator string `codec:"creator" json:"creator"`
   543  }
   544  
   545  func (o MessageSystemCreateTeam) DeepCopy() MessageSystemCreateTeam {
   546  	return MessageSystemCreateTeam{
   547  		Team:    o.Team,
   548  		Creator: o.Creator,
   549  	}
   550  }
   551  
   552  type MessageSystemGitPush struct {
   553  	Team             string                    `codec:"team" json:"team"`
   554  	Pusher           string                    `codec:"pusher" json:"pusher"`
   555  	RepoName         string                    `codec:"repoName" json:"repoName"`
   556  	RepoID           keybase1.RepoID           `codec:"repoID" json:"repoID"`
   557  	Refs             []keybase1.GitRefMetadata `codec:"refs" json:"refs"`
   558  	PushType         keybase1.GitPushType      `codec:"pushType" json:"pushType"`
   559  	PreviousRepoName string                    `codec:"previousRepoName" json:"previousRepoName"`
   560  }
   561  
   562  func (o MessageSystemGitPush) DeepCopy() MessageSystemGitPush {
   563  	return MessageSystemGitPush{
   564  		Team:     o.Team,
   565  		Pusher:   o.Pusher,
   566  		RepoName: o.RepoName,
   567  		RepoID:   o.RepoID.DeepCopy(),
   568  		Refs: (func(x []keybase1.GitRefMetadata) []keybase1.GitRefMetadata {
   569  			if x == nil {
   570  				return nil
   571  			}
   572  			ret := make([]keybase1.GitRefMetadata, len(x))
   573  			for i, v := range x {
   574  				vCopy := v.DeepCopy()
   575  				ret[i] = vCopy
   576  			}
   577  			return ret
   578  		})(o.Refs),
   579  		PushType:         o.PushType.DeepCopy(),
   580  		PreviousRepoName: o.PreviousRepoName,
   581  	}
   582  }
   583  
   584  type MessageSystemChangeAvatar struct {
   585  	Team string `codec:"team" json:"team"`
   586  	User string `codec:"user" json:"user"`
   587  }
   588  
   589  func (o MessageSystemChangeAvatar) DeepCopy() MessageSystemChangeAvatar {
   590  	return MessageSystemChangeAvatar{
   591  		Team: o.Team,
   592  		User: o.User,
   593  	}
   594  }
   595  
   596  type MessageSystemChangeRetention struct {
   597  	IsTeam      bool                    `codec:"isTeam" json:"isTeam"`
   598  	IsInherit   bool                    `codec:"isInherit" json:"isInherit"`
   599  	MembersType ConversationMembersType `codec:"membersType" json:"membersType"`
   600  	Policy      RetentionPolicy         `codec:"policy" json:"policy"`
   601  	User        string                  `codec:"user" json:"user"`
   602  }
   603  
   604  func (o MessageSystemChangeRetention) DeepCopy() MessageSystemChangeRetention {
   605  	return MessageSystemChangeRetention{
   606  		IsTeam:      o.IsTeam,
   607  		IsInherit:   o.IsInherit,
   608  		MembersType: o.MembersType.DeepCopy(),
   609  		Policy:      o.Policy.DeepCopy(),
   610  		User:        o.User,
   611  	}
   612  }
   613  
   614  type MessageSystemBulkAddToConv struct {
   615  	Usernames []string `codec:"usernames" json:"usernames"`
   616  }
   617  
   618  func (o MessageSystemBulkAddToConv) DeepCopy() MessageSystemBulkAddToConv {
   619  	return MessageSystemBulkAddToConv{
   620  		Usernames: (func(x []string) []string {
   621  			if x == nil {
   622  				return nil
   623  			}
   624  			ret := make([]string, len(x))
   625  			for i, v := range x {
   626  				vCopy := v
   627  				ret[i] = vCopy
   628  			}
   629  			return ret
   630  		})(o.Usernames),
   631  	}
   632  }
   633  
   634  type MessageSystemSbsResolve struct {
   635  	AssertionService  string `codec:"assertionService" json:"assertionService"`
   636  	AssertionUsername string `codec:"assertionUsername" json:"assertionUsername"`
   637  	Prover            string `codec:"prover" json:"prover"`
   638  }
   639  
   640  func (o MessageSystemSbsResolve) DeepCopy() MessageSystemSbsResolve {
   641  	return MessageSystemSbsResolve{
   642  		AssertionService:  o.AssertionService,
   643  		AssertionUsername: o.AssertionUsername,
   644  		Prover:            o.Prover,
   645  	}
   646  }
   647  
   648  type MessageSystemNewChannel struct {
   649  	Creator        string           `codec:"creator" json:"creator"`
   650  	NameAtCreation string           `codec:"nameAtCreation" json:"nameAtCreation"`
   651  	ConvID         ConversationID   `codec:"convID" json:"convID"`
   652  	ConvIDs        []ConversationID `codec:"convIDs" json:"convIDs"`
   653  }
   654  
   655  func (o MessageSystemNewChannel) DeepCopy() MessageSystemNewChannel {
   656  	return MessageSystemNewChannel{
   657  		Creator:        o.Creator,
   658  		NameAtCreation: o.NameAtCreation,
   659  		ConvID:         o.ConvID.DeepCopy(),
   660  		ConvIDs: (func(x []ConversationID) []ConversationID {
   661  			if x == nil {
   662  				return nil
   663  			}
   664  			ret := make([]ConversationID, len(x))
   665  			for i, v := range x {
   666  				vCopy := v.DeepCopy()
   667  				ret[i] = vCopy
   668  			}
   669  			return ret
   670  		})(o.ConvIDs),
   671  	}
   672  }
   673  
   674  type MessageSystem struct {
   675  	SystemType__        MessageSystemType               `codec:"systemType" json:"systemType"`
   676  	Addedtoteam__       *MessageSystemAddedToTeam       `codec:"addedtoteam,omitempty" json:"addedtoteam,omitempty"`
   677  	Inviteaddedtoteam__ *MessageSystemInviteAddedToTeam `codec:"inviteaddedtoteam,omitempty" json:"inviteaddedtoteam,omitempty"`
   678  	Complexteam__       *MessageSystemComplexTeam       `codec:"complexteam,omitempty" json:"complexteam,omitempty"`
   679  	Createteam__        *MessageSystemCreateTeam        `codec:"createteam,omitempty" json:"createteam,omitempty"`
   680  	Gitpush__           *MessageSystemGitPush           `codec:"gitpush,omitempty" json:"gitpush,omitempty"`
   681  	Changeavatar__      *MessageSystemChangeAvatar      `codec:"changeavatar,omitempty" json:"changeavatar,omitempty"`
   682  	Changeretention__   *MessageSystemChangeRetention   `codec:"changeretention,omitempty" json:"changeretention,omitempty"`
   683  	Bulkaddtoconv__     *MessageSystemBulkAddToConv     `codec:"bulkaddtoconv,omitempty" json:"bulkaddtoconv,omitempty"`
   684  	Sbsresolve__        *MessageSystemSbsResolve        `codec:"sbsresolve,omitempty" json:"sbsresolve,omitempty"`
   685  	Newchannel__        *MessageSystemNewChannel        `codec:"newchannel,omitempty" json:"newchannel,omitempty"`
   686  }
   687  
   688  func (o *MessageSystem) SystemType() (ret MessageSystemType, err error) {
   689  	switch o.SystemType__ {
   690  	case MessageSystemType_ADDEDTOTEAM:
   691  		if o.Addedtoteam__ == nil {
   692  			err = errors.New("unexpected nil value for Addedtoteam__")
   693  			return ret, err
   694  		}
   695  	case MessageSystemType_INVITEADDEDTOTEAM:
   696  		if o.Inviteaddedtoteam__ == nil {
   697  			err = errors.New("unexpected nil value for Inviteaddedtoteam__")
   698  			return ret, err
   699  		}
   700  	case MessageSystemType_COMPLEXTEAM:
   701  		if o.Complexteam__ == nil {
   702  			err = errors.New("unexpected nil value for Complexteam__")
   703  			return ret, err
   704  		}
   705  	case MessageSystemType_CREATETEAM:
   706  		if o.Createteam__ == nil {
   707  			err = errors.New("unexpected nil value for Createteam__")
   708  			return ret, err
   709  		}
   710  	case MessageSystemType_GITPUSH:
   711  		if o.Gitpush__ == nil {
   712  			err = errors.New("unexpected nil value for Gitpush__")
   713  			return ret, err
   714  		}
   715  	case MessageSystemType_CHANGEAVATAR:
   716  		if o.Changeavatar__ == nil {
   717  			err = errors.New("unexpected nil value for Changeavatar__")
   718  			return ret, err
   719  		}
   720  	case MessageSystemType_CHANGERETENTION:
   721  		if o.Changeretention__ == nil {
   722  			err = errors.New("unexpected nil value for Changeretention__")
   723  			return ret, err
   724  		}
   725  	case MessageSystemType_BULKADDTOCONV:
   726  		if o.Bulkaddtoconv__ == nil {
   727  			err = errors.New("unexpected nil value for Bulkaddtoconv__")
   728  			return ret, err
   729  		}
   730  	case MessageSystemType_SBSRESOLVE:
   731  		if o.Sbsresolve__ == nil {
   732  			err = errors.New("unexpected nil value for Sbsresolve__")
   733  			return ret, err
   734  		}
   735  	case MessageSystemType_NEWCHANNEL:
   736  		if o.Newchannel__ == nil {
   737  			err = errors.New("unexpected nil value for Newchannel__")
   738  			return ret, err
   739  		}
   740  	}
   741  	return o.SystemType__, nil
   742  }
   743  
   744  func (o MessageSystem) Addedtoteam() (res MessageSystemAddedToTeam) {
   745  	if o.SystemType__ != MessageSystemType_ADDEDTOTEAM {
   746  		panic("wrong case accessed")
   747  	}
   748  	if o.Addedtoteam__ == nil {
   749  		return
   750  	}
   751  	return *o.Addedtoteam__
   752  }
   753  
   754  func (o MessageSystem) Inviteaddedtoteam() (res MessageSystemInviteAddedToTeam) {
   755  	if o.SystemType__ != MessageSystemType_INVITEADDEDTOTEAM {
   756  		panic("wrong case accessed")
   757  	}
   758  	if o.Inviteaddedtoteam__ == nil {
   759  		return
   760  	}
   761  	return *o.Inviteaddedtoteam__
   762  }
   763  
   764  func (o MessageSystem) Complexteam() (res MessageSystemComplexTeam) {
   765  	if o.SystemType__ != MessageSystemType_COMPLEXTEAM {
   766  		panic("wrong case accessed")
   767  	}
   768  	if o.Complexteam__ == nil {
   769  		return
   770  	}
   771  	return *o.Complexteam__
   772  }
   773  
   774  func (o MessageSystem) Createteam() (res MessageSystemCreateTeam) {
   775  	if o.SystemType__ != MessageSystemType_CREATETEAM {
   776  		panic("wrong case accessed")
   777  	}
   778  	if o.Createteam__ == nil {
   779  		return
   780  	}
   781  	return *o.Createteam__
   782  }
   783  
   784  func (o MessageSystem) Gitpush() (res MessageSystemGitPush) {
   785  	if o.SystemType__ != MessageSystemType_GITPUSH {
   786  		panic("wrong case accessed")
   787  	}
   788  	if o.Gitpush__ == nil {
   789  		return
   790  	}
   791  	return *o.Gitpush__
   792  }
   793  
   794  func (o MessageSystem) Changeavatar() (res MessageSystemChangeAvatar) {
   795  	if o.SystemType__ != MessageSystemType_CHANGEAVATAR {
   796  		panic("wrong case accessed")
   797  	}
   798  	if o.Changeavatar__ == nil {
   799  		return
   800  	}
   801  	return *o.Changeavatar__
   802  }
   803  
   804  func (o MessageSystem) Changeretention() (res MessageSystemChangeRetention) {
   805  	if o.SystemType__ != MessageSystemType_CHANGERETENTION {
   806  		panic("wrong case accessed")
   807  	}
   808  	if o.Changeretention__ == nil {
   809  		return
   810  	}
   811  	return *o.Changeretention__
   812  }
   813  
   814  func (o MessageSystem) Bulkaddtoconv() (res MessageSystemBulkAddToConv) {
   815  	if o.SystemType__ != MessageSystemType_BULKADDTOCONV {
   816  		panic("wrong case accessed")
   817  	}
   818  	if o.Bulkaddtoconv__ == nil {
   819  		return
   820  	}
   821  	return *o.Bulkaddtoconv__
   822  }
   823  
   824  func (o MessageSystem) Sbsresolve() (res MessageSystemSbsResolve) {
   825  	if o.SystemType__ != MessageSystemType_SBSRESOLVE {
   826  		panic("wrong case accessed")
   827  	}
   828  	if o.Sbsresolve__ == nil {
   829  		return
   830  	}
   831  	return *o.Sbsresolve__
   832  }
   833  
   834  func (o MessageSystem) Newchannel() (res MessageSystemNewChannel) {
   835  	if o.SystemType__ != MessageSystemType_NEWCHANNEL {
   836  		panic("wrong case accessed")
   837  	}
   838  	if o.Newchannel__ == nil {
   839  		return
   840  	}
   841  	return *o.Newchannel__
   842  }
   843  
   844  func NewMessageSystemWithAddedtoteam(v MessageSystemAddedToTeam) MessageSystem {
   845  	return MessageSystem{
   846  		SystemType__:  MessageSystemType_ADDEDTOTEAM,
   847  		Addedtoteam__: &v,
   848  	}
   849  }
   850  
   851  func NewMessageSystemWithInviteaddedtoteam(v MessageSystemInviteAddedToTeam) MessageSystem {
   852  	return MessageSystem{
   853  		SystemType__:        MessageSystemType_INVITEADDEDTOTEAM,
   854  		Inviteaddedtoteam__: &v,
   855  	}
   856  }
   857  
   858  func NewMessageSystemWithComplexteam(v MessageSystemComplexTeam) MessageSystem {
   859  	return MessageSystem{
   860  		SystemType__:  MessageSystemType_COMPLEXTEAM,
   861  		Complexteam__: &v,
   862  	}
   863  }
   864  
   865  func NewMessageSystemWithCreateteam(v MessageSystemCreateTeam) MessageSystem {
   866  	return MessageSystem{
   867  		SystemType__: MessageSystemType_CREATETEAM,
   868  		Createteam__: &v,
   869  	}
   870  }
   871  
   872  func NewMessageSystemWithGitpush(v MessageSystemGitPush) MessageSystem {
   873  	return MessageSystem{
   874  		SystemType__: MessageSystemType_GITPUSH,
   875  		Gitpush__:    &v,
   876  	}
   877  }
   878  
   879  func NewMessageSystemWithChangeavatar(v MessageSystemChangeAvatar) MessageSystem {
   880  	return MessageSystem{
   881  		SystemType__:   MessageSystemType_CHANGEAVATAR,
   882  		Changeavatar__: &v,
   883  	}
   884  }
   885  
   886  func NewMessageSystemWithChangeretention(v MessageSystemChangeRetention) MessageSystem {
   887  	return MessageSystem{
   888  		SystemType__:      MessageSystemType_CHANGERETENTION,
   889  		Changeretention__: &v,
   890  	}
   891  }
   892  
   893  func NewMessageSystemWithBulkaddtoconv(v MessageSystemBulkAddToConv) MessageSystem {
   894  	return MessageSystem{
   895  		SystemType__:    MessageSystemType_BULKADDTOCONV,
   896  		Bulkaddtoconv__: &v,
   897  	}
   898  }
   899  
   900  func NewMessageSystemWithSbsresolve(v MessageSystemSbsResolve) MessageSystem {
   901  	return MessageSystem{
   902  		SystemType__: MessageSystemType_SBSRESOLVE,
   903  		Sbsresolve__: &v,
   904  	}
   905  }
   906  
   907  func NewMessageSystemWithNewchannel(v MessageSystemNewChannel) MessageSystem {
   908  	return MessageSystem{
   909  		SystemType__: MessageSystemType_NEWCHANNEL,
   910  		Newchannel__: &v,
   911  	}
   912  }
   913  
   914  func (o MessageSystem) DeepCopy() MessageSystem {
   915  	return MessageSystem{
   916  		SystemType__: o.SystemType__.DeepCopy(),
   917  		Addedtoteam__: (func(x *MessageSystemAddedToTeam) *MessageSystemAddedToTeam {
   918  			if x == nil {
   919  				return nil
   920  			}
   921  			tmp := (*x).DeepCopy()
   922  			return &tmp
   923  		})(o.Addedtoteam__),
   924  		Inviteaddedtoteam__: (func(x *MessageSystemInviteAddedToTeam) *MessageSystemInviteAddedToTeam {
   925  			if x == nil {
   926  				return nil
   927  			}
   928  			tmp := (*x).DeepCopy()
   929  			return &tmp
   930  		})(o.Inviteaddedtoteam__),
   931  		Complexteam__: (func(x *MessageSystemComplexTeam) *MessageSystemComplexTeam {
   932  			if x == nil {
   933  				return nil
   934  			}
   935  			tmp := (*x).DeepCopy()
   936  			return &tmp
   937  		})(o.Complexteam__),
   938  		Createteam__: (func(x *MessageSystemCreateTeam) *MessageSystemCreateTeam {
   939  			if x == nil {
   940  				return nil
   941  			}
   942  			tmp := (*x).DeepCopy()
   943  			return &tmp
   944  		})(o.Createteam__),
   945  		Gitpush__: (func(x *MessageSystemGitPush) *MessageSystemGitPush {
   946  			if x == nil {
   947  				return nil
   948  			}
   949  			tmp := (*x).DeepCopy()
   950  			return &tmp
   951  		})(o.Gitpush__),
   952  		Changeavatar__: (func(x *MessageSystemChangeAvatar) *MessageSystemChangeAvatar {
   953  			if x == nil {
   954  				return nil
   955  			}
   956  			tmp := (*x).DeepCopy()
   957  			return &tmp
   958  		})(o.Changeavatar__),
   959  		Changeretention__: (func(x *MessageSystemChangeRetention) *MessageSystemChangeRetention {
   960  			if x == nil {
   961  				return nil
   962  			}
   963  			tmp := (*x).DeepCopy()
   964  			return &tmp
   965  		})(o.Changeretention__),
   966  		Bulkaddtoconv__: (func(x *MessageSystemBulkAddToConv) *MessageSystemBulkAddToConv {
   967  			if x == nil {
   968  				return nil
   969  			}
   970  			tmp := (*x).DeepCopy()
   971  			return &tmp
   972  		})(o.Bulkaddtoconv__),
   973  		Sbsresolve__: (func(x *MessageSystemSbsResolve) *MessageSystemSbsResolve {
   974  			if x == nil {
   975  				return nil
   976  			}
   977  			tmp := (*x).DeepCopy()
   978  			return &tmp
   979  		})(o.Sbsresolve__),
   980  		Newchannel__: (func(x *MessageSystemNewChannel) *MessageSystemNewChannel {
   981  			if x == nil {
   982  				return nil
   983  			}
   984  			tmp := (*x).DeepCopy()
   985  			return &tmp
   986  		})(o.Newchannel__),
   987  	}
   988  }
   989  
   990  type MessageDeleteHistory struct {
   991  	Upto MessageID `codec:"upto" json:"upto"`
   992  }
   993  
   994  func (o MessageDeleteHistory) DeepCopy() MessageDeleteHistory {
   995  	return MessageDeleteHistory{
   996  		Upto: o.Upto.DeepCopy(),
   997  	}
   998  }
   999  
  1000  type MessageAttachment struct {
  1001  	Object       Asset                     `codec:"object" json:"object"`
  1002  	Preview      *Asset                    `codec:"preview,omitempty" json:"preview,omitempty"`
  1003  	Previews     []Asset                   `codec:"previews" json:"previews"`
  1004  	Metadata     []byte                    `codec:"metadata" json:"metadata"`
  1005  	Uploaded     bool                      `codec:"uploaded" json:"uploaded"`
  1006  	UserMentions []KnownUserMention        `codec:"userMentions" json:"userMentions"`
  1007  	TeamMentions []KnownTeamMention        `codec:"teamMentions" json:"teamMentions"`
  1008  	Emojis       map[string]HarvestedEmoji `codec:"emojis" json:"emojis"`
  1009  }
  1010  
  1011  func (o MessageAttachment) DeepCopy() MessageAttachment {
  1012  	return MessageAttachment{
  1013  		Object: o.Object.DeepCopy(),
  1014  		Preview: (func(x *Asset) *Asset {
  1015  			if x == nil {
  1016  				return nil
  1017  			}
  1018  			tmp := (*x).DeepCopy()
  1019  			return &tmp
  1020  		})(o.Preview),
  1021  		Previews: (func(x []Asset) []Asset {
  1022  			if x == nil {
  1023  				return nil
  1024  			}
  1025  			ret := make([]Asset, len(x))
  1026  			for i, v := range x {
  1027  				vCopy := v.DeepCopy()
  1028  				ret[i] = vCopy
  1029  			}
  1030  			return ret
  1031  		})(o.Previews),
  1032  		Metadata: (func(x []byte) []byte {
  1033  			if x == nil {
  1034  				return nil
  1035  			}
  1036  			return append([]byte{}, x...)
  1037  		})(o.Metadata),
  1038  		Uploaded: o.Uploaded,
  1039  		UserMentions: (func(x []KnownUserMention) []KnownUserMention {
  1040  			if x == nil {
  1041  				return nil
  1042  			}
  1043  			ret := make([]KnownUserMention, len(x))
  1044  			for i, v := range x {
  1045  				vCopy := v.DeepCopy()
  1046  				ret[i] = vCopy
  1047  			}
  1048  			return ret
  1049  		})(o.UserMentions),
  1050  		TeamMentions: (func(x []KnownTeamMention) []KnownTeamMention {
  1051  			if x == nil {
  1052  				return nil
  1053  			}
  1054  			ret := make([]KnownTeamMention, len(x))
  1055  			for i, v := range x {
  1056  				vCopy := v.DeepCopy()
  1057  				ret[i] = vCopy
  1058  			}
  1059  			return ret
  1060  		})(o.TeamMentions),
  1061  		Emojis: (func(x map[string]HarvestedEmoji) map[string]HarvestedEmoji {
  1062  			if x == nil {
  1063  				return nil
  1064  			}
  1065  			ret := make(map[string]HarvestedEmoji, len(x))
  1066  			for k, v := range x {
  1067  				kCopy := k
  1068  				vCopy := v.DeepCopy()
  1069  				ret[kCopy] = vCopy
  1070  			}
  1071  			return ret
  1072  		})(o.Emojis),
  1073  	}
  1074  }
  1075  
  1076  type MessageAttachmentUploaded struct {
  1077  	MessageID MessageID `codec:"messageID" json:"messageID"`
  1078  	Object    Asset     `codec:"object" json:"object"`
  1079  	Previews  []Asset   `codec:"previews" json:"previews"`
  1080  	Metadata  []byte    `codec:"metadata" json:"metadata"`
  1081  }
  1082  
  1083  func (o MessageAttachmentUploaded) DeepCopy() MessageAttachmentUploaded {
  1084  	return MessageAttachmentUploaded{
  1085  		MessageID: o.MessageID.DeepCopy(),
  1086  		Object:    o.Object.DeepCopy(),
  1087  		Previews: (func(x []Asset) []Asset {
  1088  			if x == nil {
  1089  				return nil
  1090  			}
  1091  			ret := make([]Asset, len(x))
  1092  			for i, v := range x {
  1093  				vCopy := v.DeepCopy()
  1094  				ret[i] = vCopy
  1095  			}
  1096  			return ret
  1097  		})(o.Previews),
  1098  		Metadata: (func(x []byte) []byte {
  1099  			if x == nil {
  1100  				return nil
  1101  			}
  1102  			return append([]byte{}, x...)
  1103  		})(o.Metadata),
  1104  	}
  1105  }
  1106  
  1107  type MessageJoin struct {
  1108  	Joiners []string `codec:"joiners" json:"joiners"`
  1109  	Leavers []string `codec:"leavers" json:"leavers"`
  1110  }
  1111  
  1112  func (o MessageJoin) DeepCopy() MessageJoin {
  1113  	return MessageJoin{
  1114  		Joiners: (func(x []string) []string {
  1115  			if x == nil {
  1116  				return nil
  1117  			}
  1118  			ret := make([]string, len(x))
  1119  			for i, v := range x {
  1120  				vCopy := v
  1121  				ret[i] = vCopy
  1122  			}
  1123  			return ret
  1124  		})(o.Joiners),
  1125  		Leavers: (func(x []string) []string {
  1126  			if x == nil {
  1127  				return nil
  1128  			}
  1129  			ret := make([]string, len(x))
  1130  			for i, v := range x {
  1131  				vCopy := v
  1132  				ret[i] = vCopy
  1133  			}
  1134  			return ret
  1135  		})(o.Leavers),
  1136  	}
  1137  }
  1138  
  1139  type MessageLeave struct {
  1140  }
  1141  
  1142  func (o MessageLeave) DeepCopy() MessageLeave {
  1143  	return MessageLeave{}
  1144  }
  1145  
  1146  type MessageReaction struct {
  1147  	MessageID MessageID                 `codec:"m" json:"m"`
  1148  	Body      string                    `codec:"b" json:"b"`
  1149  	TargetUID *gregor1.UID              `codec:"t,omitempty" json:"t,omitempty"`
  1150  	Emojis    map[string]HarvestedEmoji `codec:"e" json:"e"`
  1151  }
  1152  
  1153  func (o MessageReaction) DeepCopy() MessageReaction {
  1154  	return MessageReaction{
  1155  		MessageID: o.MessageID.DeepCopy(),
  1156  		Body:      o.Body,
  1157  		TargetUID: (func(x *gregor1.UID) *gregor1.UID {
  1158  			if x == nil {
  1159  				return nil
  1160  			}
  1161  			tmp := (*x).DeepCopy()
  1162  			return &tmp
  1163  		})(o.TargetUID),
  1164  		Emojis: (func(x map[string]HarvestedEmoji) map[string]HarvestedEmoji {
  1165  			if x == nil {
  1166  				return nil
  1167  			}
  1168  			ret := make(map[string]HarvestedEmoji, len(x))
  1169  			for k, v := range x {
  1170  				kCopy := k
  1171  				vCopy := v.DeepCopy()
  1172  				ret[kCopy] = vCopy
  1173  			}
  1174  			return ret
  1175  		})(o.Emojis),
  1176  	}
  1177  }
  1178  
  1179  type MessageSendPayment struct {
  1180  	PaymentID stellar1.PaymentID `codec:"paymentID" json:"paymentID"`
  1181  }
  1182  
  1183  func (o MessageSendPayment) DeepCopy() MessageSendPayment {
  1184  	return MessageSendPayment{
  1185  		PaymentID: o.PaymentID.DeepCopy(),
  1186  	}
  1187  }
  1188  
  1189  type MessageRequestPayment struct {
  1190  	RequestID stellar1.KeybaseRequestID `codec:"requestID" json:"requestID"`
  1191  	Note      string                    `codec:"note" json:"note"`
  1192  }
  1193  
  1194  func (o MessageRequestPayment) DeepCopy() MessageRequestPayment {
  1195  	return MessageRequestPayment{
  1196  		RequestID: o.RequestID.DeepCopy(),
  1197  		Note:      o.Note,
  1198  	}
  1199  }
  1200  
  1201  type MessageUnfurl struct {
  1202  	Unfurl    UnfurlResult `codec:"unfurl" json:"unfurl"`
  1203  	MessageID MessageID    `codec:"messageID" json:"messageID"`
  1204  }
  1205  
  1206  func (o MessageUnfurl) DeepCopy() MessageUnfurl {
  1207  	return MessageUnfurl{
  1208  		Unfurl:    o.Unfurl.DeepCopy(),
  1209  		MessageID: o.MessageID.DeepCopy(),
  1210  	}
  1211  }
  1212  
  1213  type MessageBody struct {
  1214  	MessageType__        MessageType                  `codec:"messageType" json:"messageType"`
  1215  	Text__               *MessageText                 `codec:"text,omitempty" json:"text,omitempty"`
  1216  	Attachment__         *MessageAttachment           `codec:"attachment,omitempty" json:"attachment,omitempty"`
  1217  	Edit__               *MessageEdit                 `codec:"edit,omitempty" json:"edit,omitempty"`
  1218  	Delete__             *MessageDelete               `codec:"delete,omitempty" json:"delete,omitempty"`
  1219  	Metadata__           *MessageConversationMetadata `codec:"metadata,omitempty" json:"metadata,omitempty"`
  1220  	Headline__           *MessageHeadline             `codec:"headline,omitempty" json:"headline,omitempty"`
  1221  	Attachmentuploaded__ *MessageAttachmentUploaded   `codec:"attachmentuploaded,omitempty" json:"attachmentuploaded,omitempty"`
  1222  	Join__               *MessageJoin                 `codec:"join,omitempty" json:"join,omitempty"`
  1223  	Leave__              *MessageLeave                `codec:"leave,omitempty" json:"leave,omitempty"`
  1224  	System__             *MessageSystem               `codec:"system,omitempty" json:"system,omitempty"`
  1225  	Deletehistory__      *MessageDeleteHistory        `codec:"deletehistory,omitempty" json:"deletehistory,omitempty"`
  1226  	Reaction__           *MessageReaction             `codec:"reaction,omitempty" json:"reaction,omitempty"`
  1227  	Sendpayment__        *MessageSendPayment          `codec:"sendpayment,omitempty" json:"sendpayment,omitempty"`
  1228  	Requestpayment__     *MessageRequestPayment       `codec:"requestpayment,omitempty" json:"requestpayment,omitempty"`
  1229  	Unfurl__             *MessageUnfurl               `codec:"unfurl,omitempty" json:"unfurl,omitempty"`
  1230  	Flip__               *MessageFlip                 `codec:"flip,omitempty" json:"flip,omitempty"`
  1231  	Pin__                *MessagePin                  `codec:"pin,omitempty" json:"pin,omitempty"`
  1232  }
  1233  
  1234  func (o *MessageBody) MessageType() (ret MessageType, err error) {
  1235  	switch o.MessageType__ {
  1236  	case MessageType_TEXT:
  1237  		if o.Text__ == nil {
  1238  			err = errors.New("unexpected nil value for Text__")
  1239  			return ret, err
  1240  		}
  1241  	case MessageType_ATTACHMENT:
  1242  		if o.Attachment__ == nil {
  1243  			err = errors.New("unexpected nil value for Attachment__")
  1244  			return ret, err
  1245  		}
  1246  	case MessageType_EDIT:
  1247  		if o.Edit__ == nil {
  1248  			err = errors.New("unexpected nil value for Edit__")
  1249  			return ret, err
  1250  		}
  1251  	case MessageType_DELETE:
  1252  		if o.Delete__ == nil {
  1253  			err = errors.New("unexpected nil value for Delete__")
  1254  			return ret, err
  1255  		}
  1256  	case MessageType_METADATA:
  1257  		if o.Metadata__ == nil {
  1258  			err = errors.New("unexpected nil value for Metadata__")
  1259  			return ret, err
  1260  		}
  1261  	case MessageType_HEADLINE:
  1262  		if o.Headline__ == nil {
  1263  			err = errors.New("unexpected nil value for Headline__")
  1264  			return ret, err
  1265  		}
  1266  	case MessageType_ATTACHMENTUPLOADED:
  1267  		if o.Attachmentuploaded__ == nil {
  1268  			err = errors.New("unexpected nil value for Attachmentuploaded__")
  1269  			return ret, err
  1270  		}
  1271  	case MessageType_JOIN:
  1272  		if o.Join__ == nil {
  1273  			err = errors.New("unexpected nil value for Join__")
  1274  			return ret, err
  1275  		}
  1276  	case MessageType_LEAVE:
  1277  		if o.Leave__ == nil {
  1278  			err = errors.New("unexpected nil value for Leave__")
  1279  			return ret, err
  1280  		}
  1281  	case MessageType_SYSTEM:
  1282  		if o.System__ == nil {
  1283  			err = errors.New("unexpected nil value for System__")
  1284  			return ret, err
  1285  		}
  1286  	case MessageType_DELETEHISTORY:
  1287  		if o.Deletehistory__ == nil {
  1288  			err = errors.New("unexpected nil value for Deletehistory__")
  1289  			return ret, err
  1290  		}
  1291  	case MessageType_REACTION:
  1292  		if o.Reaction__ == nil {
  1293  			err = errors.New("unexpected nil value for Reaction__")
  1294  			return ret, err
  1295  		}
  1296  	case MessageType_SENDPAYMENT:
  1297  		if o.Sendpayment__ == nil {
  1298  			err = errors.New("unexpected nil value for Sendpayment__")
  1299  			return ret, err
  1300  		}
  1301  	case MessageType_REQUESTPAYMENT:
  1302  		if o.Requestpayment__ == nil {
  1303  			err = errors.New("unexpected nil value for Requestpayment__")
  1304  			return ret, err
  1305  		}
  1306  	case MessageType_UNFURL:
  1307  		if o.Unfurl__ == nil {
  1308  			err = errors.New("unexpected nil value for Unfurl__")
  1309  			return ret, err
  1310  		}
  1311  	case MessageType_FLIP:
  1312  		if o.Flip__ == nil {
  1313  			err = errors.New("unexpected nil value for Flip__")
  1314  			return ret, err
  1315  		}
  1316  	case MessageType_PIN:
  1317  		if o.Pin__ == nil {
  1318  			err = errors.New("unexpected nil value for Pin__")
  1319  			return ret, err
  1320  		}
  1321  	}
  1322  	return o.MessageType__, nil
  1323  }
  1324  
  1325  func (o MessageBody) Text() (res MessageText) {
  1326  	if o.MessageType__ != MessageType_TEXT {
  1327  		panic("wrong case accessed")
  1328  	}
  1329  	if o.Text__ == nil {
  1330  		return
  1331  	}
  1332  	return *o.Text__
  1333  }
  1334  
  1335  func (o MessageBody) Attachment() (res MessageAttachment) {
  1336  	if o.MessageType__ != MessageType_ATTACHMENT {
  1337  		panic("wrong case accessed")
  1338  	}
  1339  	if o.Attachment__ == nil {
  1340  		return
  1341  	}
  1342  	return *o.Attachment__
  1343  }
  1344  
  1345  func (o MessageBody) Edit() (res MessageEdit) {
  1346  	if o.MessageType__ != MessageType_EDIT {
  1347  		panic("wrong case accessed")
  1348  	}
  1349  	if o.Edit__ == nil {
  1350  		return
  1351  	}
  1352  	return *o.Edit__
  1353  }
  1354  
  1355  func (o MessageBody) Delete() (res MessageDelete) {
  1356  	if o.MessageType__ != MessageType_DELETE {
  1357  		panic("wrong case accessed")
  1358  	}
  1359  	if o.Delete__ == nil {
  1360  		return
  1361  	}
  1362  	return *o.Delete__
  1363  }
  1364  
  1365  func (o MessageBody) Metadata() (res MessageConversationMetadata) {
  1366  	if o.MessageType__ != MessageType_METADATA {
  1367  		panic("wrong case accessed")
  1368  	}
  1369  	if o.Metadata__ == nil {
  1370  		return
  1371  	}
  1372  	return *o.Metadata__
  1373  }
  1374  
  1375  func (o MessageBody) Headline() (res MessageHeadline) {
  1376  	if o.MessageType__ != MessageType_HEADLINE {
  1377  		panic("wrong case accessed")
  1378  	}
  1379  	if o.Headline__ == nil {
  1380  		return
  1381  	}
  1382  	return *o.Headline__
  1383  }
  1384  
  1385  func (o MessageBody) Attachmentuploaded() (res MessageAttachmentUploaded) {
  1386  	if o.MessageType__ != MessageType_ATTACHMENTUPLOADED {
  1387  		panic("wrong case accessed")
  1388  	}
  1389  	if o.Attachmentuploaded__ == nil {
  1390  		return
  1391  	}
  1392  	return *o.Attachmentuploaded__
  1393  }
  1394  
  1395  func (o MessageBody) Join() (res MessageJoin) {
  1396  	if o.MessageType__ != MessageType_JOIN {
  1397  		panic("wrong case accessed")
  1398  	}
  1399  	if o.Join__ == nil {
  1400  		return
  1401  	}
  1402  	return *o.Join__
  1403  }
  1404  
  1405  func (o MessageBody) Leave() (res MessageLeave) {
  1406  	if o.MessageType__ != MessageType_LEAVE {
  1407  		panic("wrong case accessed")
  1408  	}
  1409  	if o.Leave__ == nil {
  1410  		return
  1411  	}
  1412  	return *o.Leave__
  1413  }
  1414  
  1415  func (o MessageBody) System() (res MessageSystem) {
  1416  	if o.MessageType__ != MessageType_SYSTEM {
  1417  		panic("wrong case accessed")
  1418  	}
  1419  	if o.System__ == nil {
  1420  		return
  1421  	}
  1422  	return *o.System__
  1423  }
  1424  
  1425  func (o MessageBody) Deletehistory() (res MessageDeleteHistory) {
  1426  	if o.MessageType__ != MessageType_DELETEHISTORY {
  1427  		panic("wrong case accessed")
  1428  	}
  1429  	if o.Deletehistory__ == nil {
  1430  		return
  1431  	}
  1432  	return *o.Deletehistory__
  1433  }
  1434  
  1435  func (o MessageBody) Reaction() (res MessageReaction) {
  1436  	if o.MessageType__ != MessageType_REACTION {
  1437  		panic("wrong case accessed")
  1438  	}
  1439  	if o.Reaction__ == nil {
  1440  		return
  1441  	}
  1442  	return *o.Reaction__
  1443  }
  1444  
  1445  func (o MessageBody) Sendpayment() (res MessageSendPayment) {
  1446  	if o.MessageType__ != MessageType_SENDPAYMENT {
  1447  		panic("wrong case accessed")
  1448  	}
  1449  	if o.Sendpayment__ == nil {
  1450  		return
  1451  	}
  1452  	return *o.Sendpayment__
  1453  }
  1454  
  1455  func (o MessageBody) Requestpayment() (res MessageRequestPayment) {
  1456  	if o.MessageType__ != MessageType_REQUESTPAYMENT {
  1457  		panic("wrong case accessed")
  1458  	}
  1459  	if o.Requestpayment__ == nil {
  1460  		return
  1461  	}
  1462  	return *o.Requestpayment__
  1463  }
  1464  
  1465  func (o MessageBody) Unfurl() (res MessageUnfurl) {
  1466  	if o.MessageType__ != MessageType_UNFURL {
  1467  		panic("wrong case accessed")
  1468  	}
  1469  	if o.Unfurl__ == nil {
  1470  		return
  1471  	}
  1472  	return *o.Unfurl__
  1473  }
  1474  
  1475  func (o MessageBody) Flip() (res MessageFlip) {
  1476  	if o.MessageType__ != MessageType_FLIP {
  1477  		panic("wrong case accessed")
  1478  	}
  1479  	if o.Flip__ == nil {
  1480  		return
  1481  	}
  1482  	return *o.Flip__
  1483  }
  1484  
  1485  func (o MessageBody) Pin() (res MessagePin) {
  1486  	if o.MessageType__ != MessageType_PIN {
  1487  		panic("wrong case accessed")
  1488  	}
  1489  	if o.Pin__ == nil {
  1490  		return
  1491  	}
  1492  	return *o.Pin__
  1493  }
  1494  
  1495  func NewMessageBodyWithText(v MessageText) MessageBody {
  1496  	return MessageBody{
  1497  		MessageType__: MessageType_TEXT,
  1498  		Text__:        &v,
  1499  	}
  1500  }
  1501  
  1502  func NewMessageBodyWithAttachment(v MessageAttachment) MessageBody {
  1503  	return MessageBody{
  1504  		MessageType__: MessageType_ATTACHMENT,
  1505  		Attachment__:  &v,
  1506  	}
  1507  }
  1508  
  1509  func NewMessageBodyWithEdit(v MessageEdit) MessageBody {
  1510  	return MessageBody{
  1511  		MessageType__: MessageType_EDIT,
  1512  		Edit__:        &v,
  1513  	}
  1514  }
  1515  
  1516  func NewMessageBodyWithDelete(v MessageDelete) MessageBody {
  1517  	return MessageBody{
  1518  		MessageType__: MessageType_DELETE,
  1519  		Delete__:      &v,
  1520  	}
  1521  }
  1522  
  1523  func NewMessageBodyWithMetadata(v MessageConversationMetadata) MessageBody {
  1524  	return MessageBody{
  1525  		MessageType__: MessageType_METADATA,
  1526  		Metadata__:    &v,
  1527  	}
  1528  }
  1529  
  1530  func NewMessageBodyWithHeadline(v MessageHeadline) MessageBody {
  1531  	return MessageBody{
  1532  		MessageType__: MessageType_HEADLINE,
  1533  		Headline__:    &v,
  1534  	}
  1535  }
  1536  
  1537  func NewMessageBodyWithAttachmentuploaded(v MessageAttachmentUploaded) MessageBody {
  1538  	return MessageBody{
  1539  		MessageType__:        MessageType_ATTACHMENTUPLOADED,
  1540  		Attachmentuploaded__: &v,
  1541  	}
  1542  }
  1543  
  1544  func NewMessageBodyWithJoin(v MessageJoin) MessageBody {
  1545  	return MessageBody{
  1546  		MessageType__: MessageType_JOIN,
  1547  		Join__:        &v,
  1548  	}
  1549  }
  1550  
  1551  func NewMessageBodyWithLeave(v MessageLeave) MessageBody {
  1552  	return MessageBody{
  1553  		MessageType__: MessageType_LEAVE,
  1554  		Leave__:       &v,
  1555  	}
  1556  }
  1557  
  1558  func NewMessageBodyWithSystem(v MessageSystem) MessageBody {
  1559  	return MessageBody{
  1560  		MessageType__: MessageType_SYSTEM,
  1561  		System__:      &v,
  1562  	}
  1563  }
  1564  
  1565  func NewMessageBodyWithDeletehistory(v MessageDeleteHistory) MessageBody {
  1566  	return MessageBody{
  1567  		MessageType__:   MessageType_DELETEHISTORY,
  1568  		Deletehistory__: &v,
  1569  	}
  1570  }
  1571  
  1572  func NewMessageBodyWithReaction(v MessageReaction) MessageBody {
  1573  	return MessageBody{
  1574  		MessageType__: MessageType_REACTION,
  1575  		Reaction__:    &v,
  1576  	}
  1577  }
  1578  
  1579  func NewMessageBodyWithSendpayment(v MessageSendPayment) MessageBody {
  1580  	return MessageBody{
  1581  		MessageType__: MessageType_SENDPAYMENT,
  1582  		Sendpayment__: &v,
  1583  	}
  1584  }
  1585  
  1586  func NewMessageBodyWithRequestpayment(v MessageRequestPayment) MessageBody {
  1587  	return MessageBody{
  1588  		MessageType__:    MessageType_REQUESTPAYMENT,
  1589  		Requestpayment__: &v,
  1590  	}
  1591  }
  1592  
  1593  func NewMessageBodyWithUnfurl(v MessageUnfurl) MessageBody {
  1594  	return MessageBody{
  1595  		MessageType__: MessageType_UNFURL,
  1596  		Unfurl__:      &v,
  1597  	}
  1598  }
  1599  
  1600  func NewMessageBodyWithFlip(v MessageFlip) MessageBody {
  1601  	return MessageBody{
  1602  		MessageType__: MessageType_FLIP,
  1603  		Flip__:        &v,
  1604  	}
  1605  }
  1606  
  1607  func NewMessageBodyWithPin(v MessagePin) MessageBody {
  1608  	return MessageBody{
  1609  		MessageType__: MessageType_PIN,
  1610  		Pin__:         &v,
  1611  	}
  1612  }
  1613  
  1614  func (o MessageBody) DeepCopy() MessageBody {
  1615  	return MessageBody{
  1616  		MessageType__: o.MessageType__.DeepCopy(),
  1617  		Text__: (func(x *MessageText) *MessageText {
  1618  			if x == nil {
  1619  				return nil
  1620  			}
  1621  			tmp := (*x).DeepCopy()
  1622  			return &tmp
  1623  		})(o.Text__),
  1624  		Attachment__: (func(x *MessageAttachment) *MessageAttachment {
  1625  			if x == nil {
  1626  				return nil
  1627  			}
  1628  			tmp := (*x).DeepCopy()
  1629  			return &tmp
  1630  		})(o.Attachment__),
  1631  		Edit__: (func(x *MessageEdit) *MessageEdit {
  1632  			if x == nil {
  1633  				return nil
  1634  			}
  1635  			tmp := (*x).DeepCopy()
  1636  			return &tmp
  1637  		})(o.Edit__),
  1638  		Delete__: (func(x *MessageDelete) *MessageDelete {
  1639  			if x == nil {
  1640  				return nil
  1641  			}
  1642  			tmp := (*x).DeepCopy()
  1643  			return &tmp
  1644  		})(o.Delete__),
  1645  		Metadata__: (func(x *MessageConversationMetadata) *MessageConversationMetadata {
  1646  			if x == nil {
  1647  				return nil
  1648  			}
  1649  			tmp := (*x).DeepCopy()
  1650  			return &tmp
  1651  		})(o.Metadata__),
  1652  		Headline__: (func(x *MessageHeadline) *MessageHeadline {
  1653  			if x == nil {
  1654  				return nil
  1655  			}
  1656  			tmp := (*x).DeepCopy()
  1657  			return &tmp
  1658  		})(o.Headline__),
  1659  		Attachmentuploaded__: (func(x *MessageAttachmentUploaded) *MessageAttachmentUploaded {
  1660  			if x == nil {
  1661  				return nil
  1662  			}
  1663  			tmp := (*x).DeepCopy()
  1664  			return &tmp
  1665  		})(o.Attachmentuploaded__),
  1666  		Join__: (func(x *MessageJoin) *MessageJoin {
  1667  			if x == nil {
  1668  				return nil
  1669  			}
  1670  			tmp := (*x).DeepCopy()
  1671  			return &tmp
  1672  		})(o.Join__),
  1673  		Leave__: (func(x *MessageLeave) *MessageLeave {
  1674  			if x == nil {
  1675  				return nil
  1676  			}
  1677  			tmp := (*x).DeepCopy()
  1678  			return &tmp
  1679  		})(o.Leave__),
  1680  		System__: (func(x *MessageSystem) *MessageSystem {
  1681  			if x == nil {
  1682  				return nil
  1683  			}
  1684  			tmp := (*x).DeepCopy()
  1685  			return &tmp
  1686  		})(o.System__),
  1687  		Deletehistory__: (func(x *MessageDeleteHistory) *MessageDeleteHistory {
  1688  			if x == nil {
  1689  				return nil
  1690  			}
  1691  			tmp := (*x).DeepCopy()
  1692  			return &tmp
  1693  		})(o.Deletehistory__),
  1694  		Reaction__: (func(x *MessageReaction) *MessageReaction {
  1695  			if x == nil {
  1696  				return nil
  1697  			}
  1698  			tmp := (*x).DeepCopy()
  1699  			return &tmp
  1700  		})(o.Reaction__),
  1701  		Sendpayment__: (func(x *MessageSendPayment) *MessageSendPayment {
  1702  			if x == nil {
  1703  				return nil
  1704  			}
  1705  			tmp := (*x).DeepCopy()
  1706  			return &tmp
  1707  		})(o.Sendpayment__),
  1708  		Requestpayment__: (func(x *MessageRequestPayment) *MessageRequestPayment {
  1709  			if x == nil {
  1710  				return nil
  1711  			}
  1712  			tmp := (*x).DeepCopy()
  1713  			return &tmp
  1714  		})(o.Requestpayment__),
  1715  		Unfurl__: (func(x *MessageUnfurl) *MessageUnfurl {
  1716  			if x == nil {
  1717  				return nil
  1718  			}
  1719  			tmp := (*x).DeepCopy()
  1720  			return &tmp
  1721  		})(o.Unfurl__),
  1722  		Flip__: (func(x *MessageFlip) *MessageFlip {
  1723  			if x == nil {
  1724  				return nil
  1725  			}
  1726  			tmp := (*x).DeepCopy()
  1727  			return &tmp
  1728  		})(o.Flip__),
  1729  		Pin__: (func(x *MessagePin) *MessagePin {
  1730  			if x == nil {
  1731  				return nil
  1732  			}
  1733  			tmp := (*x).DeepCopy()
  1734  			return &tmp
  1735  		})(o.Pin__),
  1736  	}
  1737  }
  1738  
  1739  type SenderPrepareOptions struct {
  1740  	SkipTopicNameState bool       `codec:"skipTopicNameState" json:"skipTopicNameState"`
  1741  	ReplyTo            *MessageID `codec:"replyTo,omitempty" json:"replyTo,omitempty"`
  1742  }
  1743  
  1744  func (o SenderPrepareOptions) DeepCopy() SenderPrepareOptions {
  1745  	return SenderPrepareOptions{
  1746  		SkipTopicNameState: o.SkipTopicNameState,
  1747  		ReplyTo: (func(x *MessageID) *MessageID {
  1748  			if x == nil {
  1749  				return nil
  1750  			}
  1751  			tmp := (*x).DeepCopy()
  1752  			return &tmp
  1753  		})(o.ReplyTo),
  1754  	}
  1755  }
  1756  
  1757  type SenderSendOptions struct {
  1758  	JoinMentionsAs *ConversationMemberStatus `codec:"joinMentionsAs,omitempty" json:"joinMentionsAs,omitempty"`
  1759  }
  1760  
  1761  func (o SenderSendOptions) DeepCopy() SenderSendOptions {
  1762  	return SenderSendOptions{
  1763  		JoinMentionsAs: (func(x *ConversationMemberStatus) *ConversationMemberStatus {
  1764  			if x == nil {
  1765  				return nil
  1766  			}
  1767  			tmp := (*x).DeepCopy()
  1768  			return &tmp
  1769  		})(o.JoinMentionsAs),
  1770  	}
  1771  }
  1772  
  1773  type OutboxStateType int
  1774  
  1775  const (
  1776  	OutboxStateType_SENDING OutboxStateType = 0
  1777  	OutboxStateType_ERROR   OutboxStateType = 1
  1778  )
  1779  
  1780  func (o OutboxStateType) DeepCopy() OutboxStateType { return o }
  1781  
  1782  var OutboxStateTypeMap = map[string]OutboxStateType{
  1783  	"SENDING": 0,
  1784  	"ERROR":   1,
  1785  }
  1786  
  1787  var OutboxStateTypeRevMap = map[OutboxStateType]string{
  1788  	0: "SENDING",
  1789  	1: "ERROR",
  1790  }
  1791  
  1792  func (e OutboxStateType) String() string {
  1793  	if v, ok := OutboxStateTypeRevMap[e]; ok {
  1794  		return v
  1795  	}
  1796  	return fmt.Sprintf("%v", int(e))
  1797  }
  1798  
  1799  type OutboxErrorType int
  1800  
  1801  const (
  1802  	OutboxErrorType_MISC            OutboxErrorType = 0
  1803  	OutboxErrorType_OFFLINE         OutboxErrorType = 1
  1804  	OutboxErrorType_IDENTIFY        OutboxErrorType = 2
  1805  	OutboxErrorType_TOOLONG         OutboxErrorType = 3
  1806  	OutboxErrorType_DUPLICATE       OutboxErrorType = 4
  1807  	OutboxErrorType_EXPIRED         OutboxErrorType = 5
  1808  	OutboxErrorType_TOOMANYATTEMPTS OutboxErrorType = 6
  1809  	OutboxErrorType_ALREADY_DELETED OutboxErrorType = 7
  1810  	OutboxErrorType_UPLOADFAILED    OutboxErrorType = 8
  1811  	OutboxErrorType_RESTRICTEDBOT   OutboxErrorType = 9
  1812  	OutboxErrorType_MINWRITER       OutboxErrorType = 10
  1813  )
  1814  
  1815  func (o OutboxErrorType) DeepCopy() OutboxErrorType { return o }
  1816  
  1817  var OutboxErrorTypeMap = map[string]OutboxErrorType{
  1818  	"MISC":            0,
  1819  	"OFFLINE":         1,
  1820  	"IDENTIFY":        2,
  1821  	"TOOLONG":         3,
  1822  	"DUPLICATE":       4,
  1823  	"EXPIRED":         5,
  1824  	"TOOMANYATTEMPTS": 6,
  1825  	"ALREADY_DELETED": 7,
  1826  	"UPLOADFAILED":    8,
  1827  	"RESTRICTEDBOT":   9,
  1828  	"MINWRITER":       10,
  1829  }
  1830  
  1831  var OutboxErrorTypeRevMap = map[OutboxErrorType]string{
  1832  	0:  "MISC",
  1833  	1:  "OFFLINE",
  1834  	2:  "IDENTIFY",
  1835  	3:  "TOOLONG",
  1836  	4:  "DUPLICATE",
  1837  	5:  "EXPIRED",
  1838  	6:  "TOOMANYATTEMPTS",
  1839  	7:  "ALREADY_DELETED",
  1840  	8:  "UPLOADFAILED",
  1841  	9:  "RESTRICTEDBOT",
  1842  	10: "MINWRITER",
  1843  }
  1844  
  1845  func (e OutboxErrorType) String() string {
  1846  	if v, ok := OutboxErrorTypeRevMap[e]; ok {
  1847  		return v
  1848  	}
  1849  	return fmt.Sprintf("%v", int(e))
  1850  }
  1851  
  1852  type OutboxStateError struct {
  1853  	Message string          `codec:"message" json:"message"`
  1854  	Typ     OutboxErrorType `codec:"typ" json:"typ"`
  1855  }
  1856  
  1857  func (o OutboxStateError) DeepCopy() OutboxStateError {
  1858  	return OutboxStateError{
  1859  		Message: o.Message,
  1860  		Typ:     o.Typ.DeepCopy(),
  1861  	}
  1862  }
  1863  
  1864  type OutboxState struct {
  1865  	State__   OutboxStateType   `codec:"state" json:"state"`
  1866  	Sending__ *int              `codec:"sending,omitempty" json:"sending,omitempty"`
  1867  	Error__   *OutboxStateError `codec:"error,omitempty" json:"error,omitempty"`
  1868  }
  1869  
  1870  func (o *OutboxState) State() (ret OutboxStateType, err error) {
  1871  	switch o.State__ {
  1872  	case OutboxStateType_SENDING:
  1873  		if o.Sending__ == nil {
  1874  			err = errors.New("unexpected nil value for Sending__")
  1875  			return ret, err
  1876  		}
  1877  	case OutboxStateType_ERROR:
  1878  		if o.Error__ == nil {
  1879  			err = errors.New("unexpected nil value for Error__")
  1880  			return ret, err
  1881  		}
  1882  	}
  1883  	return o.State__, nil
  1884  }
  1885  
  1886  func (o OutboxState) Sending() (res int) {
  1887  	if o.State__ != OutboxStateType_SENDING {
  1888  		panic("wrong case accessed")
  1889  	}
  1890  	if o.Sending__ == nil {
  1891  		return
  1892  	}
  1893  	return *o.Sending__
  1894  }
  1895  
  1896  func (o OutboxState) Error() (res OutboxStateError) {
  1897  	if o.State__ != OutboxStateType_ERROR {
  1898  		panic("wrong case accessed")
  1899  	}
  1900  	if o.Error__ == nil {
  1901  		return
  1902  	}
  1903  	return *o.Error__
  1904  }
  1905  
  1906  func NewOutboxStateWithSending(v int) OutboxState {
  1907  	return OutboxState{
  1908  		State__:   OutboxStateType_SENDING,
  1909  		Sending__: &v,
  1910  	}
  1911  }
  1912  
  1913  func NewOutboxStateWithError(v OutboxStateError) OutboxState {
  1914  	return OutboxState{
  1915  		State__: OutboxStateType_ERROR,
  1916  		Error__: &v,
  1917  	}
  1918  }
  1919  
  1920  func (o OutboxState) DeepCopy() OutboxState {
  1921  	return OutboxState{
  1922  		State__: o.State__.DeepCopy(),
  1923  		Sending__: (func(x *int) *int {
  1924  			if x == nil {
  1925  				return nil
  1926  			}
  1927  			tmp := (*x)
  1928  			return &tmp
  1929  		})(o.Sending__),
  1930  		Error__: (func(x *OutboxStateError) *OutboxStateError {
  1931  			if x == nil {
  1932  				return nil
  1933  			}
  1934  			tmp := (*x).DeepCopy()
  1935  			return &tmp
  1936  		})(o.Error__),
  1937  	}
  1938  }
  1939  
  1940  type OutboxRecord struct {
  1941  	State            OutboxState                  `codec:"state" json:"state"`
  1942  	OutboxID         OutboxID                     `codec:"outboxID" json:"outboxID"`
  1943  	ConvID           ConversationID               `codec:"convID" json:"convID"`
  1944  	Ctime            gregor1.Time                 `codec:"ctime" json:"ctime"`
  1945  	Msg              MessagePlaintext             `codec:"Msg" json:"Msg"`
  1946  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  1947  	PrepareOpts      *SenderPrepareOptions        `codec:"prepareOpts,omitempty" json:"prepareOpts,omitempty"`
  1948  	SendOpts         *SenderSendOptions           `codec:"sendOpts,omitempty" json:"sendOpts,omitempty"`
  1949  	Ordinal          int                          `codec:"ordinal" json:"ordinal"`
  1950  	Preview          *MakePreviewRes              `codec:"preview,omitempty" json:"preview,omitempty"`
  1951  	ReplyTo          *MessageUnboxed              `codec:"replyTo,omitempty" json:"replyTo,omitempty"`
  1952  }
  1953  
  1954  func (o OutboxRecord) DeepCopy() OutboxRecord {
  1955  	return OutboxRecord{
  1956  		State:            o.State.DeepCopy(),
  1957  		OutboxID:         o.OutboxID.DeepCopy(),
  1958  		ConvID:           o.ConvID.DeepCopy(),
  1959  		Ctime:            o.Ctime.DeepCopy(),
  1960  		Msg:              o.Msg.DeepCopy(),
  1961  		IdentifyBehavior: o.IdentifyBehavior.DeepCopy(),
  1962  		PrepareOpts: (func(x *SenderPrepareOptions) *SenderPrepareOptions {
  1963  			if x == nil {
  1964  				return nil
  1965  			}
  1966  			tmp := (*x).DeepCopy()
  1967  			return &tmp
  1968  		})(o.PrepareOpts),
  1969  		SendOpts: (func(x *SenderSendOptions) *SenderSendOptions {
  1970  			if x == nil {
  1971  				return nil
  1972  			}
  1973  			tmp := (*x).DeepCopy()
  1974  			return &tmp
  1975  		})(o.SendOpts),
  1976  		Ordinal: o.Ordinal,
  1977  		Preview: (func(x *MakePreviewRes) *MakePreviewRes {
  1978  			if x == nil {
  1979  				return nil
  1980  			}
  1981  			tmp := (*x).DeepCopy()
  1982  			return &tmp
  1983  		})(o.Preview),
  1984  		ReplyTo: (func(x *MessageUnboxed) *MessageUnboxed {
  1985  			if x == nil {
  1986  				return nil
  1987  			}
  1988  			tmp := (*x).DeepCopy()
  1989  			return &tmp
  1990  		})(o.ReplyTo),
  1991  	}
  1992  }
  1993  
  1994  type HeaderPlaintextVersion int
  1995  
  1996  const (
  1997  	HeaderPlaintextVersion_V1  HeaderPlaintextVersion = 1
  1998  	HeaderPlaintextVersion_V2  HeaderPlaintextVersion = 2
  1999  	HeaderPlaintextVersion_V3  HeaderPlaintextVersion = 3
  2000  	HeaderPlaintextVersion_V4  HeaderPlaintextVersion = 4
  2001  	HeaderPlaintextVersion_V5  HeaderPlaintextVersion = 5
  2002  	HeaderPlaintextVersion_V6  HeaderPlaintextVersion = 6
  2003  	HeaderPlaintextVersion_V7  HeaderPlaintextVersion = 7
  2004  	HeaderPlaintextVersion_V8  HeaderPlaintextVersion = 8
  2005  	HeaderPlaintextVersion_V9  HeaderPlaintextVersion = 9
  2006  	HeaderPlaintextVersion_V10 HeaderPlaintextVersion = 10
  2007  )
  2008  
  2009  func (o HeaderPlaintextVersion) DeepCopy() HeaderPlaintextVersion { return o }
  2010  
  2011  var HeaderPlaintextVersionMap = map[string]HeaderPlaintextVersion{
  2012  	"V1":  1,
  2013  	"V2":  2,
  2014  	"V3":  3,
  2015  	"V4":  4,
  2016  	"V5":  5,
  2017  	"V6":  6,
  2018  	"V7":  7,
  2019  	"V8":  8,
  2020  	"V9":  9,
  2021  	"V10": 10,
  2022  }
  2023  
  2024  var HeaderPlaintextVersionRevMap = map[HeaderPlaintextVersion]string{
  2025  	1:  "V1",
  2026  	2:  "V2",
  2027  	3:  "V3",
  2028  	4:  "V4",
  2029  	5:  "V5",
  2030  	6:  "V6",
  2031  	7:  "V7",
  2032  	8:  "V8",
  2033  	9:  "V9",
  2034  	10: "V10",
  2035  }
  2036  
  2037  func (e HeaderPlaintextVersion) String() string {
  2038  	if v, ok := HeaderPlaintextVersionRevMap[e]; ok {
  2039  		return v
  2040  	}
  2041  	return fmt.Sprintf("%v", int(e))
  2042  }
  2043  
  2044  type HeaderPlaintextMetaInfo struct {
  2045  	Crit bool `codec:"crit" json:"crit"`
  2046  }
  2047  
  2048  func (o HeaderPlaintextMetaInfo) DeepCopy() HeaderPlaintextMetaInfo {
  2049  	return HeaderPlaintextMetaInfo{
  2050  		Crit: o.Crit,
  2051  	}
  2052  }
  2053  
  2054  type HeaderPlaintextUnsupported struct {
  2055  	Mi HeaderPlaintextMetaInfo `codec:"mi" json:"mi"`
  2056  }
  2057  
  2058  func (o HeaderPlaintextUnsupported) DeepCopy() HeaderPlaintextUnsupported {
  2059  	return HeaderPlaintextUnsupported{
  2060  		Mi: o.Mi.DeepCopy(),
  2061  	}
  2062  }
  2063  
  2064  type HeaderPlaintextV1 struct {
  2065  	Conv              ConversationIDTriple     `codec:"conv" json:"conv"`
  2066  	TlfName           string                   `codec:"tlfName" json:"tlfName"`
  2067  	TlfPublic         bool                     `codec:"tlfPublic" json:"tlfPublic"`
  2068  	MessageType       MessageType              `codec:"messageType" json:"messageType"`
  2069  	Prev              []MessagePreviousPointer `codec:"prev" json:"prev"`
  2070  	Sender            gregor1.UID              `codec:"sender" json:"sender"`
  2071  	SenderDevice      gregor1.DeviceID         `codec:"senderDevice" json:"senderDevice"`
  2072  	KbfsCryptKeysUsed *bool                    `codec:"kbfsCryptKeysUsed,omitempty" json:"kbfsCryptKeysUsed,omitempty"`
  2073  	BodyHash          Hash                     `codec:"bodyHash" json:"bodyHash"`
  2074  	OutboxInfo        *OutboxInfo              `codec:"outboxInfo,omitempty" json:"outboxInfo,omitempty"`
  2075  	OutboxID          *OutboxID                `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  2076  	HeaderSignature   *SignatureInfo           `codec:"headerSignature,omitempty" json:"headerSignature,omitempty"`
  2077  	MerkleRoot        *MerkleRoot              `codec:"merkleRoot,omitempty" json:"merkleRoot,omitempty"`
  2078  	EphemeralMetadata *MsgEphemeralMetadata    `codec:"em,omitempty" json:"em,omitempty"`
  2079  	BotUID            *gregor1.UID             `codec:"b,omitempty" json:"b,omitempty"`
  2080  }
  2081  
  2082  func (o HeaderPlaintextV1) DeepCopy() HeaderPlaintextV1 {
  2083  	return HeaderPlaintextV1{
  2084  		Conv:        o.Conv.DeepCopy(),
  2085  		TlfName:     o.TlfName,
  2086  		TlfPublic:   o.TlfPublic,
  2087  		MessageType: o.MessageType.DeepCopy(),
  2088  		Prev: (func(x []MessagePreviousPointer) []MessagePreviousPointer {
  2089  			if x == nil {
  2090  				return nil
  2091  			}
  2092  			ret := make([]MessagePreviousPointer, len(x))
  2093  			for i, v := range x {
  2094  				vCopy := v.DeepCopy()
  2095  				ret[i] = vCopy
  2096  			}
  2097  			return ret
  2098  		})(o.Prev),
  2099  		Sender:       o.Sender.DeepCopy(),
  2100  		SenderDevice: o.SenderDevice.DeepCopy(),
  2101  		KbfsCryptKeysUsed: (func(x *bool) *bool {
  2102  			if x == nil {
  2103  				return nil
  2104  			}
  2105  			tmp := (*x)
  2106  			return &tmp
  2107  		})(o.KbfsCryptKeysUsed),
  2108  		BodyHash: o.BodyHash.DeepCopy(),
  2109  		OutboxInfo: (func(x *OutboxInfo) *OutboxInfo {
  2110  			if x == nil {
  2111  				return nil
  2112  			}
  2113  			tmp := (*x).DeepCopy()
  2114  			return &tmp
  2115  		})(o.OutboxInfo),
  2116  		OutboxID: (func(x *OutboxID) *OutboxID {
  2117  			if x == nil {
  2118  				return nil
  2119  			}
  2120  			tmp := (*x).DeepCopy()
  2121  			return &tmp
  2122  		})(o.OutboxID),
  2123  		HeaderSignature: (func(x *SignatureInfo) *SignatureInfo {
  2124  			if x == nil {
  2125  				return nil
  2126  			}
  2127  			tmp := (*x).DeepCopy()
  2128  			return &tmp
  2129  		})(o.HeaderSignature),
  2130  		MerkleRoot: (func(x *MerkleRoot) *MerkleRoot {
  2131  			if x == nil {
  2132  				return nil
  2133  			}
  2134  			tmp := (*x).DeepCopy()
  2135  			return &tmp
  2136  		})(o.MerkleRoot),
  2137  		EphemeralMetadata: (func(x *MsgEphemeralMetadata) *MsgEphemeralMetadata {
  2138  			if x == nil {
  2139  				return nil
  2140  			}
  2141  			tmp := (*x).DeepCopy()
  2142  			return &tmp
  2143  		})(o.EphemeralMetadata),
  2144  		BotUID: (func(x *gregor1.UID) *gregor1.UID {
  2145  			if x == nil {
  2146  				return nil
  2147  			}
  2148  			tmp := (*x).DeepCopy()
  2149  			return &tmp
  2150  		})(o.BotUID),
  2151  	}
  2152  }
  2153  
  2154  type HeaderPlaintext struct {
  2155  	Version__ HeaderPlaintextVersion      `codec:"version" json:"version"`
  2156  	V1__      *HeaderPlaintextV1          `codec:"v1,omitempty" json:"v1,omitempty"`
  2157  	V2__      *HeaderPlaintextUnsupported `codec:"v2,omitempty" json:"v2,omitempty"`
  2158  	V3__      *HeaderPlaintextUnsupported `codec:"v3,omitempty" json:"v3,omitempty"`
  2159  	V4__      *HeaderPlaintextUnsupported `codec:"v4,omitempty" json:"v4,omitempty"`
  2160  	V5__      *HeaderPlaintextUnsupported `codec:"v5,omitempty" json:"v5,omitempty"`
  2161  	V6__      *HeaderPlaintextUnsupported `codec:"v6,omitempty" json:"v6,omitempty"`
  2162  	V7__      *HeaderPlaintextUnsupported `codec:"v7,omitempty" json:"v7,omitempty"`
  2163  	V8__      *HeaderPlaintextUnsupported `codec:"v8,omitempty" json:"v8,omitempty"`
  2164  	V9__      *HeaderPlaintextUnsupported `codec:"v9,omitempty" json:"v9,omitempty"`
  2165  	V10__     *HeaderPlaintextUnsupported `codec:"v10,omitempty" json:"v10,omitempty"`
  2166  }
  2167  
  2168  func (o *HeaderPlaintext) Version() (ret HeaderPlaintextVersion, err error) {
  2169  	switch o.Version__ {
  2170  	case HeaderPlaintextVersion_V1:
  2171  		if o.V1__ == nil {
  2172  			err = errors.New("unexpected nil value for V1__")
  2173  			return ret, err
  2174  		}
  2175  	case HeaderPlaintextVersion_V2:
  2176  		if o.V2__ == nil {
  2177  			err = errors.New("unexpected nil value for V2__")
  2178  			return ret, err
  2179  		}
  2180  	case HeaderPlaintextVersion_V3:
  2181  		if o.V3__ == nil {
  2182  			err = errors.New("unexpected nil value for V3__")
  2183  			return ret, err
  2184  		}
  2185  	case HeaderPlaintextVersion_V4:
  2186  		if o.V4__ == nil {
  2187  			err = errors.New("unexpected nil value for V4__")
  2188  			return ret, err
  2189  		}
  2190  	case HeaderPlaintextVersion_V5:
  2191  		if o.V5__ == nil {
  2192  			err = errors.New("unexpected nil value for V5__")
  2193  			return ret, err
  2194  		}
  2195  	case HeaderPlaintextVersion_V6:
  2196  		if o.V6__ == nil {
  2197  			err = errors.New("unexpected nil value for V6__")
  2198  			return ret, err
  2199  		}
  2200  	case HeaderPlaintextVersion_V7:
  2201  		if o.V7__ == nil {
  2202  			err = errors.New("unexpected nil value for V7__")
  2203  			return ret, err
  2204  		}
  2205  	case HeaderPlaintextVersion_V8:
  2206  		if o.V8__ == nil {
  2207  			err = errors.New("unexpected nil value for V8__")
  2208  			return ret, err
  2209  		}
  2210  	case HeaderPlaintextVersion_V9:
  2211  		if o.V9__ == nil {
  2212  			err = errors.New("unexpected nil value for V9__")
  2213  			return ret, err
  2214  		}
  2215  	case HeaderPlaintextVersion_V10:
  2216  		if o.V10__ == nil {
  2217  			err = errors.New("unexpected nil value for V10__")
  2218  			return ret, err
  2219  		}
  2220  	}
  2221  	return o.Version__, nil
  2222  }
  2223  
  2224  func (o HeaderPlaintext) V1() (res HeaderPlaintextV1) {
  2225  	if o.Version__ != HeaderPlaintextVersion_V1 {
  2226  		panic("wrong case accessed")
  2227  	}
  2228  	if o.V1__ == nil {
  2229  		return
  2230  	}
  2231  	return *o.V1__
  2232  }
  2233  
  2234  func (o HeaderPlaintext) V2() (res HeaderPlaintextUnsupported) {
  2235  	if o.Version__ != HeaderPlaintextVersion_V2 {
  2236  		panic("wrong case accessed")
  2237  	}
  2238  	if o.V2__ == nil {
  2239  		return
  2240  	}
  2241  	return *o.V2__
  2242  }
  2243  
  2244  func (o HeaderPlaintext) V3() (res HeaderPlaintextUnsupported) {
  2245  	if o.Version__ != HeaderPlaintextVersion_V3 {
  2246  		panic("wrong case accessed")
  2247  	}
  2248  	if o.V3__ == nil {
  2249  		return
  2250  	}
  2251  	return *o.V3__
  2252  }
  2253  
  2254  func (o HeaderPlaintext) V4() (res HeaderPlaintextUnsupported) {
  2255  	if o.Version__ != HeaderPlaintextVersion_V4 {
  2256  		panic("wrong case accessed")
  2257  	}
  2258  	if o.V4__ == nil {
  2259  		return
  2260  	}
  2261  	return *o.V4__
  2262  }
  2263  
  2264  func (o HeaderPlaintext) V5() (res HeaderPlaintextUnsupported) {
  2265  	if o.Version__ != HeaderPlaintextVersion_V5 {
  2266  		panic("wrong case accessed")
  2267  	}
  2268  	if o.V5__ == nil {
  2269  		return
  2270  	}
  2271  	return *o.V5__
  2272  }
  2273  
  2274  func (o HeaderPlaintext) V6() (res HeaderPlaintextUnsupported) {
  2275  	if o.Version__ != HeaderPlaintextVersion_V6 {
  2276  		panic("wrong case accessed")
  2277  	}
  2278  	if o.V6__ == nil {
  2279  		return
  2280  	}
  2281  	return *o.V6__
  2282  }
  2283  
  2284  func (o HeaderPlaintext) V7() (res HeaderPlaintextUnsupported) {
  2285  	if o.Version__ != HeaderPlaintextVersion_V7 {
  2286  		panic("wrong case accessed")
  2287  	}
  2288  	if o.V7__ == nil {
  2289  		return
  2290  	}
  2291  	return *o.V7__
  2292  }
  2293  
  2294  func (o HeaderPlaintext) V8() (res HeaderPlaintextUnsupported) {
  2295  	if o.Version__ != HeaderPlaintextVersion_V8 {
  2296  		panic("wrong case accessed")
  2297  	}
  2298  	if o.V8__ == nil {
  2299  		return
  2300  	}
  2301  	return *o.V8__
  2302  }
  2303  
  2304  func (o HeaderPlaintext) V9() (res HeaderPlaintextUnsupported) {
  2305  	if o.Version__ != HeaderPlaintextVersion_V9 {
  2306  		panic("wrong case accessed")
  2307  	}
  2308  	if o.V9__ == nil {
  2309  		return
  2310  	}
  2311  	return *o.V9__
  2312  }
  2313  
  2314  func (o HeaderPlaintext) V10() (res HeaderPlaintextUnsupported) {
  2315  	if o.Version__ != HeaderPlaintextVersion_V10 {
  2316  		panic("wrong case accessed")
  2317  	}
  2318  	if o.V10__ == nil {
  2319  		return
  2320  	}
  2321  	return *o.V10__
  2322  }
  2323  
  2324  func NewHeaderPlaintextWithV1(v HeaderPlaintextV1) HeaderPlaintext {
  2325  	return HeaderPlaintext{
  2326  		Version__: HeaderPlaintextVersion_V1,
  2327  		V1__:      &v,
  2328  	}
  2329  }
  2330  
  2331  func NewHeaderPlaintextWithV2(v HeaderPlaintextUnsupported) HeaderPlaintext {
  2332  	return HeaderPlaintext{
  2333  		Version__: HeaderPlaintextVersion_V2,
  2334  		V2__:      &v,
  2335  	}
  2336  }
  2337  
  2338  func NewHeaderPlaintextWithV3(v HeaderPlaintextUnsupported) HeaderPlaintext {
  2339  	return HeaderPlaintext{
  2340  		Version__: HeaderPlaintextVersion_V3,
  2341  		V3__:      &v,
  2342  	}
  2343  }
  2344  
  2345  func NewHeaderPlaintextWithV4(v HeaderPlaintextUnsupported) HeaderPlaintext {
  2346  	return HeaderPlaintext{
  2347  		Version__: HeaderPlaintextVersion_V4,
  2348  		V4__:      &v,
  2349  	}
  2350  }
  2351  
  2352  func NewHeaderPlaintextWithV5(v HeaderPlaintextUnsupported) HeaderPlaintext {
  2353  	return HeaderPlaintext{
  2354  		Version__: HeaderPlaintextVersion_V5,
  2355  		V5__:      &v,
  2356  	}
  2357  }
  2358  
  2359  func NewHeaderPlaintextWithV6(v HeaderPlaintextUnsupported) HeaderPlaintext {
  2360  	return HeaderPlaintext{
  2361  		Version__: HeaderPlaintextVersion_V6,
  2362  		V6__:      &v,
  2363  	}
  2364  }
  2365  
  2366  func NewHeaderPlaintextWithV7(v HeaderPlaintextUnsupported) HeaderPlaintext {
  2367  	return HeaderPlaintext{
  2368  		Version__: HeaderPlaintextVersion_V7,
  2369  		V7__:      &v,
  2370  	}
  2371  }
  2372  
  2373  func NewHeaderPlaintextWithV8(v HeaderPlaintextUnsupported) HeaderPlaintext {
  2374  	return HeaderPlaintext{
  2375  		Version__: HeaderPlaintextVersion_V8,
  2376  		V8__:      &v,
  2377  	}
  2378  }
  2379  
  2380  func NewHeaderPlaintextWithV9(v HeaderPlaintextUnsupported) HeaderPlaintext {
  2381  	return HeaderPlaintext{
  2382  		Version__: HeaderPlaintextVersion_V9,
  2383  		V9__:      &v,
  2384  	}
  2385  }
  2386  
  2387  func NewHeaderPlaintextWithV10(v HeaderPlaintextUnsupported) HeaderPlaintext {
  2388  	return HeaderPlaintext{
  2389  		Version__: HeaderPlaintextVersion_V10,
  2390  		V10__:     &v,
  2391  	}
  2392  }
  2393  
  2394  func (o HeaderPlaintext) DeepCopy() HeaderPlaintext {
  2395  	return HeaderPlaintext{
  2396  		Version__: o.Version__.DeepCopy(),
  2397  		V1__: (func(x *HeaderPlaintextV1) *HeaderPlaintextV1 {
  2398  			if x == nil {
  2399  				return nil
  2400  			}
  2401  			tmp := (*x).DeepCopy()
  2402  			return &tmp
  2403  		})(o.V1__),
  2404  		V2__: (func(x *HeaderPlaintextUnsupported) *HeaderPlaintextUnsupported {
  2405  			if x == nil {
  2406  				return nil
  2407  			}
  2408  			tmp := (*x).DeepCopy()
  2409  			return &tmp
  2410  		})(o.V2__),
  2411  		V3__: (func(x *HeaderPlaintextUnsupported) *HeaderPlaintextUnsupported {
  2412  			if x == nil {
  2413  				return nil
  2414  			}
  2415  			tmp := (*x).DeepCopy()
  2416  			return &tmp
  2417  		})(o.V3__),
  2418  		V4__: (func(x *HeaderPlaintextUnsupported) *HeaderPlaintextUnsupported {
  2419  			if x == nil {
  2420  				return nil
  2421  			}
  2422  			tmp := (*x).DeepCopy()
  2423  			return &tmp
  2424  		})(o.V4__),
  2425  		V5__: (func(x *HeaderPlaintextUnsupported) *HeaderPlaintextUnsupported {
  2426  			if x == nil {
  2427  				return nil
  2428  			}
  2429  			tmp := (*x).DeepCopy()
  2430  			return &tmp
  2431  		})(o.V5__),
  2432  		V6__: (func(x *HeaderPlaintextUnsupported) *HeaderPlaintextUnsupported {
  2433  			if x == nil {
  2434  				return nil
  2435  			}
  2436  			tmp := (*x).DeepCopy()
  2437  			return &tmp
  2438  		})(o.V6__),
  2439  		V7__: (func(x *HeaderPlaintextUnsupported) *HeaderPlaintextUnsupported {
  2440  			if x == nil {
  2441  				return nil
  2442  			}
  2443  			tmp := (*x).DeepCopy()
  2444  			return &tmp
  2445  		})(o.V7__),
  2446  		V8__: (func(x *HeaderPlaintextUnsupported) *HeaderPlaintextUnsupported {
  2447  			if x == nil {
  2448  				return nil
  2449  			}
  2450  			tmp := (*x).DeepCopy()
  2451  			return &tmp
  2452  		})(o.V8__),
  2453  		V9__: (func(x *HeaderPlaintextUnsupported) *HeaderPlaintextUnsupported {
  2454  			if x == nil {
  2455  				return nil
  2456  			}
  2457  			tmp := (*x).DeepCopy()
  2458  			return &tmp
  2459  		})(o.V9__),
  2460  		V10__: (func(x *HeaderPlaintextUnsupported) *HeaderPlaintextUnsupported {
  2461  			if x == nil {
  2462  				return nil
  2463  			}
  2464  			tmp := (*x).DeepCopy()
  2465  			return &tmp
  2466  		})(o.V10__),
  2467  	}
  2468  }
  2469  
  2470  type BodyPlaintextVersion int
  2471  
  2472  const (
  2473  	BodyPlaintextVersion_V1  BodyPlaintextVersion = 1
  2474  	BodyPlaintextVersion_V2  BodyPlaintextVersion = 2
  2475  	BodyPlaintextVersion_V3  BodyPlaintextVersion = 3
  2476  	BodyPlaintextVersion_V4  BodyPlaintextVersion = 4
  2477  	BodyPlaintextVersion_V5  BodyPlaintextVersion = 5
  2478  	BodyPlaintextVersion_V6  BodyPlaintextVersion = 6
  2479  	BodyPlaintextVersion_V7  BodyPlaintextVersion = 7
  2480  	BodyPlaintextVersion_V8  BodyPlaintextVersion = 8
  2481  	BodyPlaintextVersion_V9  BodyPlaintextVersion = 9
  2482  	BodyPlaintextVersion_V10 BodyPlaintextVersion = 10
  2483  )
  2484  
  2485  func (o BodyPlaintextVersion) DeepCopy() BodyPlaintextVersion { return o }
  2486  
  2487  var BodyPlaintextVersionMap = map[string]BodyPlaintextVersion{
  2488  	"V1":  1,
  2489  	"V2":  2,
  2490  	"V3":  3,
  2491  	"V4":  4,
  2492  	"V5":  5,
  2493  	"V6":  6,
  2494  	"V7":  7,
  2495  	"V8":  8,
  2496  	"V9":  9,
  2497  	"V10": 10,
  2498  }
  2499  
  2500  var BodyPlaintextVersionRevMap = map[BodyPlaintextVersion]string{
  2501  	1:  "V1",
  2502  	2:  "V2",
  2503  	3:  "V3",
  2504  	4:  "V4",
  2505  	5:  "V5",
  2506  	6:  "V6",
  2507  	7:  "V7",
  2508  	8:  "V8",
  2509  	9:  "V9",
  2510  	10: "V10",
  2511  }
  2512  
  2513  func (e BodyPlaintextVersion) String() string {
  2514  	if v, ok := BodyPlaintextVersionRevMap[e]; ok {
  2515  		return v
  2516  	}
  2517  	return fmt.Sprintf("%v", int(e))
  2518  }
  2519  
  2520  type BodyPlaintextMetaInfo struct {
  2521  	Crit bool `codec:"crit" json:"crit"`
  2522  }
  2523  
  2524  func (o BodyPlaintextMetaInfo) DeepCopy() BodyPlaintextMetaInfo {
  2525  	return BodyPlaintextMetaInfo{
  2526  		Crit: o.Crit,
  2527  	}
  2528  }
  2529  
  2530  type BodyPlaintextUnsupported struct {
  2531  	Mi BodyPlaintextMetaInfo `codec:"mi" json:"mi"`
  2532  }
  2533  
  2534  func (o BodyPlaintextUnsupported) DeepCopy() BodyPlaintextUnsupported {
  2535  	return BodyPlaintextUnsupported{
  2536  		Mi: o.Mi.DeepCopy(),
  2537  	}
  2538  }
  2539  
  2540  type BodyPlaintextV1 struct {
  2541  	MessageBody MessageBody `codec:"messageBody" json:"messageBody"`
  2542  }
  2543  
  2544  func (o BodyPlaintextV1) DeepCopy() BodyPlaintextV1 {
  2545  	return BodyPlaintextV1{
  2546  		MessageBody: o.MessageBody.DeepCopy(),
  2547  	}
  2548  }
  2549  
  2550  type BodyPlaintextV2 struct {
  2551  	MessageBody MessageBody           `codec:"messageBody" json:"messageBody"`
  2552  	Mi          BodyPlaintextMetaInfo `codec:"mi" json:"mi"`
  2553  }
  2554  
  2555  func (o BodyPlaintextV2) DeepCopy() BodyPlaintextV2 {
  2556  	return BodyPlaintextV2{
  2557  		MessageBody: o.MessageBody.DeepCopy(),
  2558  		Mi:          o.Mi.DeepCopy(),
  2559  	}
  2560  }
  2561  
  2562  type BodyPlaintext struct {
  2563  	Version__ BodyPlaintextVersion      `codec:"version" json:"version"`
  2564  	V1__      *BodyPlaintextV1          `codec:"v1,omitempty" json:"v1,omitempty"`
  2565  	V2__      *BodyPlaintextV2          `codec:"v2,omitempty" json:"v2,omitempty"`
  2566  	V3__      *BodyPlaintextUnsupported `codec:"v3,omitempty" json:"v3,omitempty"`
  2567  	V4__      *BodyPlaintextUnsupported `codec:"v4,omitempty" json:"v4,omitempty"`
  2568  	V5__      *BodyPlaintextUnsupported `codec:"v5,omitempty" json:"v5,omitempty"`
  2569  	V6__      *BodyPlaintextUnsupported `codec:"v6,omitempty" json:"v6,omitempty"`
  2570  	V7__      *BodyPlaintextUnsupported `codec:"v7,omitempty" json:"v7,omitempty"`
  2571  	V8__      *BodyPlaintextUnsupported `codec:"v8,omitempty" json:"v8,omitempty"`
  2572  	V9__      *BodyPlaintextUnsupported `codec:"v9,omitempty" json:"v9,omitempty"`
  2573  	V10__     *BodyPlaintextUnsupported `codec:"v10,omitempty" json:"v10,omitempty"`
  2574  }
  2575  
  2576  func (o *BodyPlaintext) Version() (ret BodyPlaintextVersion, err error) {
  2577  	switch o.Version__ {
  2578  	case BodyPlaintextVersion_V1:
  2579  		if o.V1__ == nil {
  2580  			err = errors.New("unexpected nil value for V1__")
  2581  			return ret, err
  2582  		}
  2583  	case BodyPlaintextVersion_V2:
  2584  		if o.V2__ == nil {
  2585  			err = errors.New("unexpected nil value for V2__")
  2586  			return ret, err
  2587  		}
  2588  	case BodyPlaintextVersion_V3:
  2589  		if o.V3__ == nil {
  2590  			err = errors.New("unexpected nil value for V3__")
  2591  			return ret, err
  2592  		}
  2593  	case BodyPlaintextVersion_V4:
  2594  		if o.V4__ == nil {
  2595  			err = errors.New("unexpected nil value for V4__")
  2596  			return ret, err
  2597  		}
  2598  	case BodyPlaintextVersion_V5:
  2599  		if o.V5__ == nil {
  2600  			err = errors.New("unexpected nil value for V5__")
  2601  			return ret, err
  2602  		}
  2603  	case BodyPlaintextVersion_V6:
  2604  		if o.V6__ == nil {
  2605  			err = errors.New("unexpected nil value for V6__")
  2606  			return ret, err
  2607  		}
  2608  	case BodyPlaintextVersion_V7:
  2609  		if o.V7__ == nil {
  2610  			err = errors.New("unexpected nil value for V7__")
  2611  			return ret, err
  2612  		}
  2613  	case BodyPlaintextVersion_V8:
  2614  		if o.V8__ == nil {
  2615  			err = errors.New("unexpected nil value for V8__")
  2616  			return ret, err
  2617  		}
  2618  	case BodyPlaintextVersion_V9:
  2619  		if o.V9__ == nil {
  2620  			err = errors.New("unexpected nil value for V9__")
  2621  			return ret, err
  2622  		}
  2623  	case BodyPlaintextVersion_V10:
  2624  		if o.V10__ == nil {
  2625  			err = errors.New("unexpected nil value for V10__")
  2626  			return ret, err
  2627  		}
  2628  	}
  2629  	return o.Version__, nil
  2630  }
  2631  
  2632  func (o BodyPlaintext) V1() (res BodyPlaintextV1) {
  2633  	if o.Version__ != BodyPlaintextVersion_V1 {
  2634  		panic("wrong case accessed")
  2635  	}
  2636  	if o.V1__ == nil {
  2637  		return
  2638  	}
  2639  	return *o.V1__
  2640  }
  2641  
  2642  func (o BodyPlaintext) V2() (res BodyPlaintextV2) {
  2643  	if o.Version__ != BodyPlaintextVersion_V2 {
  2644  		panic("wrong case accessed")
  2645  	}
  2646  	if o.V2__ == nil {
  2647  		return
  2648  	}
  2649  	return *o.V2__
  2650  }
  2651  
  2652  func (o BodyPlaintext) V3() (res BodyPlaintextUnsupported) {
  2653  	if o.Version__ != BodyPlaintextVersion_V3 {
  2654  		panic("wrong case accessed")
  2655  	}
  2656  	if o.V3__ == nil {
  2657  		return
  2658  	}
  2659  	return *o.V3__
  2660  }
  2661  
  2662  func (o BodyPlaintext) V4() (res BodyPlaintextUnsupported) {
  2663  	if o.Version__ != BodyPlaintextVersion_V4 {
  2664  		panic("wrong case accessed")
  2665  	}
  2666  	if o.V4__ == nil {
  2667  		return
  2668  	}
  2669  	return *o.V4__
  2670  }
  2671  
  2672  func (o BodyPlaintext) V5() (res BodyPlaintextUnsupported) {
  2673  	if o.Version__ != BodyPlaintextVersion_V5 {
  2674  		panic("wrong case accessed")
  2675  	}
  2676  	if o.V5__ == nil {
  2677  		return
  2678  	}
  2679  	return *o.V5__
  2680  }
  2681  
  2682  func (o BodyPlaintext) V6() (res BodyPlaintextUnsupported) {
  2683  	if o.Version__ != BodyPlaintextVersion_V6 {
  2684  		panic("wrong case accessed")
  2685  	}
  2686  	if o.V6__ == nil {
  2687  		return
  2688  	}
  2689  	return *o.V6__
  2690  }
  2691  
  2692  func (o BodyPlaintext) V7() (res BodyPlaintextUnsupported) {
  2693  	if o.Version__ != BodyPlaintextVersion_V7 {
  2694  		panic("wrong case accessed")
  2695  	}
  2696  	if o.V7__ == nil {
  2697  		return
  2698  	}
  2699  	return *o.V7__
  2700  }
  2701  
  2702  func (o BodyPlaintext) V8() (res BodyPlaintextUnsupported) {
  2703  	if o.Version__ != BodyPlaintextVersion_V8 {
  2704  		panic("wrong case accessed")
  2705  	}
  2706  	if o.V8__ == nil {
  2707  		return
  2708  	}
  2709  	return *o.V8__
  2710  }
  2711  
  2712  func (o BodyPlaintext) V9() (res BodyPlaintextUnsupported) {
  2713  	if o.Version__ != BodyPlaintextVersion_V9 {
  2714  		panic("wrong case accessed")
  2715  	}
  2716  	if o.V9__ == nil {
  2717  		return
  2718  	}
  2719  	return *o.V9__
  2720  }
  2721  
  2722  func (o BodyPlaintext) V10() (res BodyPlaintextUnsupported) {
  2723  	if o.Version__ != BodyPlaintextVersion_V10 {
  2724  		panic("wrong case accessed")
  2725  	}
  2726  	if o.V10__ == nil {
  2727  		return
  2728  	}
  2729  	return *o.V10__
  2730  }
  2731  
  2732  func NewBodyPlaintextWithV1(v BodyPlaintextV1) BodyPlaintext {
  2733  	return BodyPlaintext{
  2734  		Version__: BodyPlaintextVersion_V1,
  2735  		V1__:      &v,
  2736  	}
  2737  }
  2738  
  2739  func NewBodyPlaintextWithV2(v BodyPlaintextV2) BodyPlaintext {
  2740  	return BodyPlaintext{
  2741  		Version__: BodyPlaintextVersion_V2,
  2742  		V2__:      &v,
  2743  	}
  2744  }
  2745  
  2746  func NewBodyPlaintextWithV3(v BodyPlaintextUnsupported) BodyPlaintext {
  2747  	return BodyPlaintext{
  2748  		Version__: BodyPlaintextVersion_V3,
  2749  		V3__:      &v,
  2750  	}
  2751  }
  2752  
  2753  func NewBodyPlaintextWithV4(v BodyPlaintextUnsupported) BodyPlaintext {
  2754  	return BodyPlaintext{
  2755  		Version__: BodyPlaintextVersion_V4,
  2756  		V4__:      &v,
  2757  	}
  2758  }
  2759  
  2760  func NewBodyPlaintextWithV5(v BodyPlaintextUnsupported) BodyPlaintext {
  2761  	return BodyPlaintext{
  2762  		Version__: BodyPlaintextVersion_V5,
  2763  		V5__:      &v,
  2764  	}
  2765  }
  2766  
  2767  func NewBodyPlaintextWithV6(v BodyPlaintextUnsupported) BodyPlaintext {
  2768  	return BodyPlaintext{
  2769  		Version__: BodyPlaintextVersion_V6,
  2770  		V6__:      &v,
  2771  	}
  2772  }
  2773  
  2774  func NewBodyPlaintextWithV7(v BodyPlaintextUnsupported) BodyPlaintext {
  2775  	return BodyPlaintext{
  2776  		Version__: BodyPlaintextVersion_V7,
  2777  		V7__:      &v,
  2778  	}
  2779  }
  2780  
  2781  func NewBodyPlaintextWithV8(v BodyPlaintextUnsupported) BodyPlaintext {
  2782  	return BodyPlaintext{
  2783  		Version__: BodyPlaintextVersion_V8,
  2784  		V8__:      &v,
  2785  	}
  2786  }
  2787  
  2788  func NewBodyPlaintextWithV9(v BodyPlaintextUnsupported) BodyPlaintext {
  2789  	return BodyPlaintext{
  2790  		Version__: BodyPlaintextVersion_V9,
  2791  		V9__:      &v,
  2792  	}
  2793  }
  2794  
  2795  func NewBodyPlaintextWithV10(v BodyPlaintextUnsupported) BodyPlaintext {
  2796  	return BodyPlaintext{
  2797  		Version__: BodyPlaintextVersion_V10,
  2798  		V10__:     &v,
  2799  	}
  2800  }
  2801  
  2802  func (o BodyPlaintext) DeepCopy() BodyPlaintext {
  2803  	return BodyPlaintext{
  2804  		Version__: o.Version__.DeepCopy(),
  2805  		V1__: (func(x *BodyPlaintextV1) *BodyPlaintextV1 {
  2806  			if x == nil {
  2807  				return nil
  2808  			}
  2809  			tmp := (*x).DeepCopy()
  2810  			return &tmp
  2811  		})(o.V1__),
  2812  		V2__: (func(x *BodyPlaintextV2) *BodyPlaintextV2 {
  2813  			if x == nil {
  2814  				return nil
  2815  			}
  2816  			tmp := (*x).DeepCopy()
  2817  			return &tmp
  2818  		})(o.V2__),
  2819  		V3__: (func(x *BodyPlaintextUnsupported) *BodyPlaintextUnsupported {
  2820  			if x == nil {
  2821  				return nil
  2822  			}
  2823  			tmp := (*x).DeepCopy()
  2824  			return &tmp
  2825  		})(o.V3__),
  2826  		V4__: (func(x *BodyPlaintextUnsupported) *BodyPlaintextUnsupported {
  2827  			if x == nil {
  2828  				return nil
  2829  			}
  2830  			tmp := (*x).DeepCopy()
  2831  			return &tmp
  2832  		})(o.V4__),
  2833  		V5__: (func(x *BodyPlaintextUnsupported) *BodyPlaintextUnsupported {
  2834  			if x == nil {
  2835  				return nil
  2836  			}
  2837  			tmp := (*x).DeepCopy()
  2838  			return &tmp
  2839  		})(o.V5__),
  2840  		V6__: (func(x *BodyPlaintextUnsupported) *BodyPlaintextUnsupported {
  2841  			if x == nil {
  2842  				return nil
  2843  			}
  2844  			tmp := (*x).DeepCopy()
  2845  			return &tmp
  2846  		})(o.V6__),
  2847  		V7__: (func(x *BodyPlaintextUnsupported) *BodyPlaintextUnsupported {
  2848  			if x == nil {
  2849  				return nil
  2850  			}
  2851  			tmp := (*x).DeepCopy()
  2852  			return &tmp
  2853  		})(o.V7__),
  2854  		V8__: (func(x *BodyPlaintextUnsupported) *BodyPlaintextUnsupported {
  2855  			if x == nil {
  2856  				return nil
  2857  			}
  2858  			tmp := (*x).DeepCopy()
  2859  			return &tmp
  2860  		})(o.V8__),
  2861  		V9__: (func(x *BodyPlaintextUnsupported) *BodyPlaintextUnsupported {
  2862  			if x == nil {
  2863  				return nil
  2864  			}
  2865  			tmp := (*x).DeepCopy()
  2866  			return &tmp
  2867  		})(o.V9__),
  2868  		V10__: (func(x *BodyPlaintextUnsupported) *BodyPlaintextUnsupported {
  2869  			if x == nil {
  2870  				return nil
  2871  			}
  2872  			tmp := (*x).DeepCopy()
  2873  			return &tmp
  2874  		})(o.V10__),
  2875  	}
  2876  }
  2877  
  2878  type MessagePlaintext struct {
  2879  	ClientHeader       MessageClientHeader `codec:"clientHeader" json:"clientHeader"`
  2880  	MessageBody        MessageBody         `codec:"messageBody" json:"messageBody"`
  2881  	SupersedesOutboxID *OutboxID           `codec:"supersedesOutboxID,omitempty" json:"supersedesOutboxID,omitempty"`
  2882  	Emojis             []HarvestedEmoji    `codec:"emojis" json:"emojis"`
  2883  }
  2884  
  2885  func (o MessagePlaintext) DeepCopy() MessagePlaintext {
  2886  	return MessagePlaintext{
  2887  		ClientHeader: o.ClientHeader.DeepCopy(),
  2888  		MessageBody:  o.MessageBody.DeepCopy(),
  2889  		SupersedesOutboxID: (func(x *OutboxID) *OutboxID {
  2890  			if x == nil {
  2891  				return nil
  2892  			}
  2893  			tmp := (*x).DeepCopy()
  2894  			return &tmp
  2895  		})(o.SupersedesOutboxID),
  2896  		Emojis: (func(x []HarvestedEmoji) []HarvestedEmoji {
  2897  			if x == nil {
  2898  				return nil
  2899  			}
  2900  			ret := make([]HarvestedEmoji, len(x))
  2901  			for i, v := range x {
  2902  				vCopy := v.DeepCopy()
  2903  				ret[i] = vCopy
  2904  			}
  2905  			return ret
  2906  		})(o.Emojis),
  2907  	}
  2908  }
  2909  
  2910  type MessageUnboxedValid struct {
  2911  	ClientHeader          MessageClientHeaderVerified `codec:"clientHeader" json:"clientHeader"`
  2912  	ServerHeader          MessageServerHeader         `codec:"serverHeader" json:"serverHeader"`
  2913  	MessageBody           MessageBody                 `codec:"messageBody" json:"messageBody"`
  2914  	SenderUsername        string                      `codec:"senderUsername" json:"senderUsername"`
  2915  	SenderDeviceName      string                      `codec:"senderDeviceName" json:"senderDeviceName"`
  2916  	SenderDeviceType      keybase1.DeviceTypeV2       `codec:"senderDeviceType" json:"senderDeviceType"`
  2917  	BodyHash              Hash                        `codec:"bodyHash" json:"bodyHash"`
  2918  	HeaderHash            Hash                        `codec:"headerHash" json:"headerHash"`
  2919  	HeaderSignature       *SignatureInfo              `codec:"headerSignature,omitempty" json:"headerSignature,omitempty"`
  2920  	VerificationKey       *[]byte                     `codec:"verificationKey,omitempty" json:"verificationKey,omitempty"`
  2921  	SenderDeviceRevokedAt *gregor1.Time               `codec:"senderDeviceRevokedAt,omitempty" json:"senderDeviceRevokedAt,omitempty"`
  2922  	AtMentionUsernames    []string                    `codec:"atMentionUsernames" json:"atMentionUsernames"`
  2923  	AtMentions            []gregor1.UID               `codec:"atMentions" json:"atMentions"`
  2924  	ChannelMention        ChannelMention              `codec:"channelMention" json:"channelMention"`
  2925  	MaybeMentions         []MaybeMention              `codec:"maybeMentions" json:"maybeMentions"`
  2926  	ChannelNameMentions   []ChannelNameMention        `codec:"channelNameMentions" json:"channelNameMentions"`
  2927  	Reactions             ReactionMap                 `codec:"reactions" json:"reactions"`
  2928  	Unfurls               map[MessageID]UnfurlResult  `codec:"unfurls" json:"unfurls"`
  2929  	Emojis                []HarvestedEmoji            `codec:"emojis" json:"emojis"`
  2930  	ReplyTo               *MessageUnboxed             `codec:"replyTo,omitempty" json:"replyTo,omitempty"`
  2931  	BotUsername           string                      `codec:"botUsername" json:"botUsername"`
  2932  }
  2933  
  2934  func (o MessageUnboxedValid) DeepCopy() MessageUnboxedValid {
  2935  	return MessageUnboxedValid{
  2936  		ClientHeader:     o.ClientHeader.DeepCopy(),
  2937  		ServerHeader:     o.ServerHeader.DeepCopy(),
  2938  		MessageBody:      o.MessageBody.DeepCopy(),
  2939  		SenderUsername:   o.SenderUsername,
  2940  		SenderDeviceName: o.SenderDeviceName,
  2941  		SenderDeviceType: o.SenderDeviceType.DeepCopy(),
  2942  		BodyHash:         o.BodyHash.DeepCopy(),
  2943  		HeaderHash:       o.HeaderHash.DeepCopy(),
  2944  		HeaderSignature: (func(x *SignatureInfo) *SignatureInfo {
  2945  			if x == nil {
  2946  				return nil
  2947  			}
  2948  			tmp := (*x).DeepCopy()
  2949  			return &tmp
  2950  		})(o.HeaderSignature),
  2951  		VerificationKey: (func(x *[]byte) *[]byte {
  2952  			if x == nil {
  2953  				return nil
  2954  			}
  2955  			tmp := (func(x []byte) []byte {
  2956  				if x == nil {
  2957  					return nil
  2958  				}
  2959  				return append([]byte{}, x...)
  2960  			})((*x))
  2961  			return &tmp
  2962  		})(o.VerificationKey),
  2963  		SenderDeviceRevokedAt: (func(x *gregor1.Time) *gregor1.Time {
  2964  			if x == nil {
  2965  				return nil
  2966  			}
  2967  			tmp := (*x).DeepCopy()
  2968  			return &tmp
  2969  		})(o.SenderDeviceRevokedAt),
  2970  		AtMentionUsernames: (func(x []string) []string {
  2971  			if x == nil {
  2972  				return nil
  2973  			}
  2974  			ret := make([]string, len(x))
  2975  			for i, v := range x {
  2976  				vCopy := v
  2977  				ret[i] = vCopy
  2978  			}
  2979  			return ret
  2980  		})(o.AtMentionUsernames),
  2981  		AtMentions: (func(x []gregor1.UID) []gregor1.UID {
  2982  			if x == nil {
  2983  				return nil
  2984  			}
  2985  			ret := make([]gregor1.UID, len(x))
  2986  			for i, v := range x {
  2987  				vCopy := v.DeepCopy()
  2988  				ret[i] = vCopy
  2989  			}
  2990  			return ret
  2991  		})(o.AtMentions),
  2992  		ChannelMention: o.ChannelMention.DeepCopy(),
  2993  		MaybeMentions: (func(x []MaybeMention) []MaybeMention {
  2994  			if x == nil {
  2995  				return nil
  2996  			}
  2997  			ret := make([]MaybeMention, len(x))
  2998  			for i, v := range x {
  2999  				vCopy := v.DeepCopy()
  3000  				ret[i] = vCopy
  3001  			}
  3002  			return ret
  3003  		})(o.MaybeMentions),
  3004  		ChannelNameMentions: (func(x []ChannelNameMention) []ChannelNameMention {
  3005  			if x == nil {
  3006  				return nil
  3007  			}
  3008  			ret := make([]ChannelNameMention, len(x))
  3009  			for i, v := range x {
  3010  				vCopy := v.DeepCopy()
  3011  				ret[i] = vCopy
  3012  			}
  3013  			return ret
  3014  		})(o.ChannelNameMentions),
  3015  		Reactions: o.Reactions.DeepCopy(),
  3016  		Unfurls: (func(x map[MessageID]UnfurlResult) map[MessageID]UnfurlResult {
  3017  			if x == nil {
  3018  				return nil
  3019  			}
  3020  			ret := make(map[MessageID]UnfurlResult, len(x))
  3021  			for k, v := range x {
  3022  				kCopy := k.DeepCopy()
  3023  				vCopy := v.DeepCopy()
  3024  				ret[kCopy] = vCopy
  3025  			}
  3026  			return ret
  3027  		})(o.Unfurls),
  3028  		Emojis: (func(x []HarvestedEmoji) []HarvestedEmoji {
  3029  			if x == nil {
  3030  				return nil
  3031  			}
  3032  			ret := make([]HarvestedEmoji, len(x))
  3033  			for i, v := range x {
  3034  				vCopy := v.DeepCopy()
  3035  				ret[i] = vCopy
  3036  			}
  3037  			return ret
  3038  		})(o.Emojis),
  3039  		ReplyTo: (func(x *MessageUnboxed) *MessageUnboxed {
  3040  			if x == nil {
  3041  				return nil
  3042  			}
  3043  			tmp := (*x).DeepCopy()
  3044  			return &tmp
  3045  		})(o.ReplyTo),
  3046  		BotUsername: o.BotUsername,
  3047  	}
  3048  }
  3049  
  3050  type MessageUnboxedErrorType int
  3051  
  3052  const (
  3053  	MessageUnboxedErrorType_MISC                MessageUnboxedErrorType = 0
  3054  	MessageUnboxedErrorType_BADVERSION_CRITICAL MessageUnboxedErrorType = 1
  3055  	MessageUnboxedErrorType_BADVERSION          MessageUnboxedErrorType = 2
  3056  	MessageUnboxedErrorType_IDENTIFY            MessageUnboxedErrorType = 3
  3057  	MessageUnboxedErrorType_EPHEMERAL           MessageUnboxedErrorType = 4
  3058  	MessageUnboxedErrorType_PAIRWISE_MISSING    MessageUnboxedErrorType = 5
  3059  )
  3060  
  3061  func (o MessageUnboxedErrorType) DeepCopy() MessageUnboxedErrorType { return o }
  3062  
  3063  var MessageUnboxedErrorTypeMap = map[string]MessageUnboxedErrorType{
  3064  	"MISC":                0,
  3065  	"BADVERSION_CRITICAL": 1,
  3066  	"BADVERSION":          2,
  3067  	"IDENTIFY":            3,
  3068  	"EPHEMERAL":           4,
  3069  	"PAIRWISE_MISSING":    5,
  3070  }
  3071  
  3072  var MessageUnboxedErrorTypeRevMap = map[MessageUnboxedErrorType]string{
  3073  	0: "MISC",
  3074  	1: "BADVERSION_CRITICAL",
  3075  	2: "BADVERSION",
  3076  	3: "IDENTIFY",
  3077  	4: "EPHEMERAL",
  3078  	5: "PAIRWISE_MISSING",
  3079  }
  3080  
  3081  func (e MessageUnboxedErrorType) String() string {
  3082  	if v, ok := MessageUnboxedErrorTypeRevMap[e]; ok {
  3083  		return v
  3084  	}
  3085  	return fmt.Sprintf("%v", int(e))
  3086  }
  3087  
  3088  type MessageUnboxedError struct {
  3089  	ErrType          MessageUnboxedErrorType `codec:"errType" json:"errType"`
  3090  	ErrMsg           string                  `codec:"errMsg" json:"errMsg"`
  3091  	InternalErrMsg   string                  `codec:"internalErrMsg" json:"internalErrMsg"`
  3092  	VersionKind      VersionKind             `codec:"versionKind" json:"versionKind"`
  3093  	VersionNumber    int                     `codec:"versionNumber" json:"versionNumber"`
  3094  	IsCritical       bool                    `codec:"isCritical" json:"isCritical"`
  3095  	SenderUsername   string                  `codec:"senderUsername" json:"senderUsername"`
  3096  	SenderDeviceName string                  `codec:"senderDeviceName" json:"senderDeviceName"`
  3097  	SenderDeviceType keybase1.DeviceTypeV2   `codec:"senderDeviceType" json:"senderDeviceType"`
  3098  	MessageID        MessageID               `codec:"messageID" json:"messageID"`
  3099  	MessageType      MessageType             `codec:"messageType" json:"messageType"`
  3100  	Ctime            gregor1.Time            `codec:"ctime" json:"ctime"`
  3101  	IsEphemeral      bool                    `codec:"isEphemeral" json:"isEphemeral"`
  3102  	ExplodedBy       *string                 `codec:"explodedBy,omitempty" json:"explodedBy,omitempty"`
  3103  	Etime            gregor1.Time            `codec:"etime" json:"etime"`
  3104  	BotUsername      string                  `codec:"botUsername" json:"botUsername"`
  3105  }
  3106  
  3107  func (o MessageUnboxedError) DeepCopy() MessageUnboxedError {
  3108  	return MessageUnboxedError{
  3109  		ErrType:          o.ErrType.DeepCopy(),
  3110  		ErrMsg:           o.ErrMsg,
  3111  		InternalErrMsg:   o.InternalErrMsg,
  3112  		VersionKind:      o.VersionKind.DeepCopy(),
  3113  		VersionNumber:    o.VersionNumber,
  3114  		IsCritical:       o.IsCritical,
  3115  		SenderUsername:   o.SenderUsername,
  3116  		SenderDeviceName: o.SenderDeviceName,
  3117  		SenderDeviceType: o.SenderDeviceType.DeepCopy(),
  3118  		MessageID:        o.MessageID.DeepCopy(),
  3119  		MessageType:      o.MessageType.DeepCopy(),
  3120  		Ctime:            o.Ctime.DeepCopy(),
  3121  		IsEphemeral:      o.IsEphemeral,
  3122  		ExplodedBy: (func(x *string) *string {
  3123  			if x == nil {
  3124  				return nil
  3125  			}
  3126  			tmp := (*x)
  3127  			return &tmp
  3128  		})(o.ExplodedBy),
  3129  		Etime:       o.Etime.DeepCopy(),
  3130  		BotUsername: o.BotUsername,
  3131  	}
  3132  }
  3133  
  3134  type MessageUnboxedPlaceholder struct {
  3135  	MessageID MessageID `codec:"messageID" json:"messageID"`
  3136  	Hidden    bool      `codec:"hidden" json:"hidden"`
  3137  }
  3138  
  3139  func (o MessageUnboxedPlaceholder) DeepCopy() MessageUnboxedPlaceholder {
  3140  	return MessageUnboxedPlaceholder{
  3141  		MessageID: o.MessageID.DeepCopy(),
  3142  		Hidden:    o.Hidden,
  3143  	}
  3144  }
  3145  
  3146  type JourneycardType int
  3147  
  3148  const (
  3149  	JourneycardType_WELCOME          JourneycardType = 0
  3150  	JourneycardType_POPULAR_CHANNELS JourneycardType = 1
  3151  	JourneycardType_ADD_PEOPLE       JourneycardType = 2
  3152  	JourneycardType_CREATE_CHANNELS  JourneycardType = 3
  3153  	JourneycardType_MSG_ATTENTION    JourneycardType = 4
  3154  	JourneycardType_UNUSED           JourneycardType = 5
  3155  	JourneycardType_CHANNEL_INACTIVE JourneycardType = 6
  3156  	JourneycardType_MSG_NO_ANSWER    JourneycardType = 7
  3157  )
  3158  
  3159  func (o JourneycardType) DeepCopy() JourneycardType { return o }
  3160  
  3161  var JourneycardTypeMap = map[string]JourneycardType{
  3162  	"WELCOME":          0,
  3163  	"POPULAR_CHANNELS": 1,
  3164  	"ADD_PEOPLE":       2,
  3165  	"CREATE_CHANNELS":  3,
  3166  	"MSG_ATTENTION":    4,
  3167  	"UNUSED":           5,
  3168  	"CHANNEL_INACTIVE": 6,
  3169  	"MSG_NO_ANSWER":    7,
  3170  }
  3171  
  3172  var JourneycardTypeRevMap = map[JourneycardType]string{
  3173  	0: "WELCOME",
  3174  	1: "POPULAR_CHANNELS",
  3175  	2: "ADD_PEOPLE",
  3176  	3: "CREATE_CHANNELS",
  3177  	4: "MSG_ATTENTION",
  3178  	5: "UNUSED",
  3179  	6: "CHANNEL_INACTIVE",
  3180  	7: "MSG_NO_ANSWER",
  3181  }
  3182  
  3183  func (e JourneycardType) String() string {
  3184  	if v, ok := JourneycardTypeRevMap[e]; ok {
  3185  		return v
  3186  	}
  3187  	return fmt.Sprintf("%v", int(e))
  3188  }
  3189  
  3190  type MessageUnboxedJourneycard struct {
  3191  	PrevID         MessageID       `codec:"prevID" json:"prevID"`
  3192  	Ordinal        int             `codec:"ordinal" json:"ordinal"`
  3193  	CardType       JourneycardType `codec:"cardType" json:"cardType"`
  3194  	HighlightMsgID MessageID       `codec:"highlightMsgID" json:"highlightMsgID"`
  3195  	OpenTeam       bool            `codec:"openTeam" json:"openTeam"`
  3196  }
  3197  
  3198  func (o MessageUnboxedJourneycard) DeepCopy() MessageUnboxedJourneycard {
  3199  	return MessageUnboxedJourneycard{
  3200  		PrevID:         o.PrevID.DeepCopy(),
  3201  		Ordinal:        o.Ordinal,
  3202  		CardType:       o.CardType.DeepCopy(),
  3203  		HighlightMsgID: o.HighlightMsgID.DeepCopy(),
  3204  		OpenTeam:       o.OpenTeam,
  3205  	}
  3206  }
  3207  
  3208  type MessageUnboxed struct {
  3209  	State__       MessageUnboxedState        `codec:"state" json:"state"`
  3210  	Valid__       *MessageUnboxedValid       `codec:"valid,omitempty" json:"valid,omitempty"`
  3211  	Error__       *MessageUnboxedError       `codec:"error,omitempty" json:"error,omitempty"`
  3212  	Outbox__      *OutboxRecord              `codec:"outbox,omitempty" json:"outbox,omitempty"`
  3213  	Placeholder__ *MessageUnboxedPlaceholder `codec:"placeholder,omitempty" json:"placeholder,omitempty"`
  3214  	Journeycard__ *MessageUnboxedJourneycard `codec:"journeycard,omitempty" json:"journeycard,omitempty"`
  3215  }
  3216  
  3217  func (o *MessageUnboxed) State() (ret MessageUnboxedState, err error) {
  3218  	switch o.State__ {
  3219  	case MessageUnboxedState_VALID:
  3220  		if o.Valid__ == nil {
  3221  			err = errors.New("unexpected nil value for Valid__")
  3222  			return ret, err
  3223  		}
  3224  	case MessageUnboxedState_ERROR:
  3225  		if o.Error__ == nil {
  3226  			err = errors.New("unexpected nil value for Error__")
  3227  			return ret, err
  3228  		}
  3229  	case MessageUnboxedState_OUTBOX:
  3230  		if o.Outbox__ == nil {
  3231  			err = errors.New("unexpected nil value for Outbox__")
  3232  			return ret, err
  3233  		}
  3234  	case MessageUnboxedState_PLACEHOLDER:
  3235  		if o.Placeholder__ == nil {
  3236  			err = errors.New("unexpected nil value for Placeholder__")
  3237  			return ret, err
  3238  		}
  3239  	case MessageUnboxedState_JOURNEYCARD:
  3240  		if o.Journeycard__ == nil {
  3241  			err = errors.New("unexpected nil value for Journeycard__")
  3242  			return ret, err
  3243  		}
  3244  	}
  3245  	return o.State__, nil
  3246  }
  3247  
  3248  func (o MessageUnboxed) Valid() (res MessageUnboxedValid) {
  3249  	if o.State__ != MessageUnboxedState_VALID {
  3250  		panic("wrong case accessed")
  3251  	}
  3252  	if o.Valid__ == nil {
  3253  		return
  3254  	}
  3255  	return *o.Valid__
  3256  }
  3257  
  3258  func (o MessageUnboxed) Error() (res MessageUnboxedError) {
  3259  	if o.State__ != MessageUnboxedState_ERROR {
  3260  		panic("wrong case accessed")
  3261  	}
  3262  	if o.Error__ == nil {
  3263  		return
  3264  	}
  3265  	return *o.Error__
  3266  }
  3267  
  3268  func (o MessageUnboxed) Outbox() (res OutboxRecord) {
  3269  	if o.State__ != MessageUnboxedState_OUTBOX {
  3270  		panic("wrong case accessed")
  3271  	}
  3272  	if o.Outbox__ == nil {
  3273  		return
  3274  	}
  3275  	return *o.Outbox__
  3276  }
  3277  
  3278  func (o MessageUnboxed) Placeholder() (res MessageUnboxedPlaceholder) {
  3279  	if o.State__ != MessageUnboxedState_PLACEHOLDER {
  3280  		panic("wrong case accessed")
  3281  	}
  3282  	if o.Placeholder__ == nil {
  3283  		return
  3284  	}
  3285  	return *o.Placeholder__
  3286  }
  3287  
  3288  func (o MessageUnboxed) Journeycard() (res MessageUnboxedJourneycard) {
  3289  	if o.State__ != MessageUnboxedState_JOURNEYCARD {
  3290  		panic("wrong case accessed")
  3291  	}
  3292  	if o.Journeycard__ == nil {
  3293  		return
  3294  	}
  3295  	return *o.Journeycard__
  3296  }
  3297  
  3298  func NewMessageUnboxedWithValid(v MessageUnboxedValid) MessageUnboxed {
  3299  	return MessageUnboxed{
  3300  		State__: MessageUnboxedState_VALID,
  3301  		Valid__: &v,
  3302  	}
  3303  }
  3304  
  3305  func NewMessageUnboxedWithError(v MessageUnboxedError) MessageUnboxed {
  3306  	return MessageUnboxed{
  3307  		State__: MessageUnboxedState_ERROR,
  3308  		Error__: &v,
  3309  	}
  3310  }
  3311  
  3312  func NewMessageUnboxedWithOutbox(v OutboxRecord) MessageUnboxed {
  3313  	return MessageUnboxed{
  3314  		State__:  MessageUnboxedState_OUTBOX,
  3315  		Outbox__: &v,
  3316  	}
  3317  }
  3318  
  3319  func NewMessageUnboxedWithPlaceholder(v MessageUnboxedPlaceholder) MessageUnboxed {
  3320  	return MessageUnboxed{
  3321  		State__:       MessageUnboxedState_PLACEHOLDER,
  3322  		Placeholder__: &v,
  3323  	}
  3324  }
  3325  
  3326  func NewMessageUnboxedWithJourneycard(v MessageUnboxedJourneycard) MessageUnboxed {
  3327  	return MessageUnboxed{
  3328  		State__:       MessageUnboxedState_JOURNEYCARD,
  3329  		Journeycard__: &v,
  3330  	}
  3331  }
  3332  
  3333  func (o MessageUnboxed) DeepCopy() MessageUnboxed {
  3334  	return MessageUnboxed{
  3335  		State__: o.State__.DeepCopy(),
  3336  		Valid__: (func(x *MessageUnboxedValid) *MessageUnboxedValid {
  3337  			if x == nil {
  3338  				return nil
  3339  			}
  3340  			tmp := (*x).DeepCopy()
  3341  			return &tmp
  3342  		})(o.Valid__),
  3343  		Error__: (func(x *MessageUnboxedError) *MessageUnboxedError {
  3344  			if x == nil {
  3345  				return nil
  3346  			}
  3347  			tmp := (*x).DeepCopy()
  3348  			return &tmp
  3349  		})(o.Error__),
  3350  		Outbox__: (func(x *OutboxRecord) *OutboxRecord {
  3351  			if x == nil {
  3352  				return nil
  3353  			}
  3354  			tmp := (*x).DeepCopy()
  3355  			return &tmp
  3356  		})(o.Outbox__),
  3357  		Placeholder__: (func(x *MessageUnboxedPlaceholder) *MessageUnboxedPlaceholder {
  3358  			if x == nil {
  3359  				return nil
  3360  			}
  3361  			tmp := (*x).DeepCopy()
  3362  			return &tmp
  3363  		})(o.Placeholder__),
  3364  		Journeycard__: (func(x *MessageUnboxedJourneycard) *MessageUnboxedJourneycard {
  3365  			if x == nil {
  3366  				return nil
  3367  			}
  3368  			tmp := (*x).DeepCopy()
  3369  			return &tmp
  3370  		})(o.Journeycard__),
  3371  	}
  3372  }
  3373  
  3374  type UnreadFirstNumLimit struct {
  3375  	NumRead int `codec:"NumRead" json:"NumRead"`
  3376  	AtLeast int `codec:"AtLeast" json:"AtLeast"`
  3377  	AtMost  int `codec:"AtMost" json:"AtMost"`
  3378  }
  3379  
  3380  func (o UnreadFirstNumLimit) DeepCopy() UnreadFirstNumLimit {
  3381  	return UnreadFirstNumLimit{
  3382  		NumRead: o.NumRead,
  3383  		AtLeast: o.AtLeast,
  3384  		AtMost:  o.AtMost,
  3385  	}
  3386  }
  3387  
  3388  type ConversationLocalParticipant struct {
  3389  	Username    string  `codec:"username" json:"username"`
  3390  	InConvName  bool    `codec:"inConvName" json:"inConvName"`
  3391  	Fullname    *string `codec:"fullname,omitempty" json:"fullname,omitempty"`
  3392  	ContactName *string `codec:"contactName,omitempty" json:"contactName,omitempty"`
  3393  }
  3394  
  3395  func (o ConversationLocalParticipant) DeepCopy() ConversationLocalParticipant {
  3396  	return ConversationLocalParticipant{
  3397  		Username:   o.Username,
  3398  		InConvName: o.InConvName,
  3399  		Fullname: (func(x *string) *string {
  3400  			if x == nil {
  3401  				return nil
  3402  			}
  3403  			tmp := (*x)
  3404  			return &tmp
  3405  		})(o.Fullname),
  3406  		ContactName: (func(x *string) *string {
  3407  			if x == nil {
  3408  				return nil
  3409  			}
  3410  			tmp := (*x)
  3411  			return &tmp
  3412  		})(o.ContactName),
  3413  	}
  3414  }
  3415  
  3416  type ConversationPinnedMessage struct {
  3417  	Message        MessageUnboxed `codec:"message" json:"message"`
  3418  	PinnerUsername string         `codec:"pinnerUsername" json:"pinnerUsername"`
  3419  }
  3420  
  3421  func (o ConversationPinnedMessage) DeepCopy() ConversationPinnedMessage {
  3422  	return ConversationPinnedMessage{
  3423  		Message:        o.Message.DeepCopy(),
  3424  		PinnerUsername: o.PinnerUsername,
  3425  	}
  3426  }
  3427  
  3428  type ConversationInfoLocal struct {
  3429  	Id             ConversationID                 `codec:"id" json:"id"`
  3430  	Triple         ConversationIDTriple           `codec:"triple" json:"triple"`
  3431  	TlfName        string                         `codec:"tlfName" json:"tlfName"`
  3432  	TopicName      string                         `codec:"topicName" json:"topicName"`
  3433  	Headline       string                         `codec:"headline" json:"headline"`
  3434  	HeadlineEmojis []HarvestedEmoji               `codec:"headlineEmojis" json:"headlineEmojis"`
  3435  	SnippetMsg     *MessageUnboxed                `codec:"snippetMsg,omitempty" json:"snippetMsg,omitempty"`
  3436  	PinnedMsg      *ConversationPinnedMessage     `codec:"pinnedMsg,omitempty" json:"pinnedMsg,omitempty"`
  3437  	Draft          *string                        `codec:"draft,omitempty" json:"draft,omitempty"`
  3438  	Visibility     keybase1.TLFVisibility         `codec:"visibility" json:"visibility"`
  3439  	IsDefaultConv  bool                           `codec:"isDefaultConv" json:"isDefaultConv"`
  3440  	Status         ConversationStatus             `codec:"status" json:"status"`
  3441  	MembersType    ConversationMembersType        `codec:"membersType" json:"membersType"`
  3442  	MemberStatus   ConversationMemberStatus       `codec:"memberStatus" json:"memberStatus"`
  3443  	TeamType       TeamType                       `codec:"teamType" json:"teamType"`
  3444  	Existence      ConversationExistence          `codec:"existence" json:"existence"`
  3445  	Version        ConversationVers               `codec:"version" json:"version"`
  3446  	LocalVersion   LocalConversationVers          `codec:"localVersion" json:"localVersion"`
  3447  	Participants   []ConversationLocalParticipant `codec:"participants" json:"participants"`
  3448  	FinalizeInfo   *ConversationFinalizeInfo      `codec:"finalizeInfo,omitempty" json:"finalizeInfo,omitempty"`
  3449  	ResetNames     []string                       `codec:"resetNames" json:"resetNames"`
  3450  }
  3451  
  3452  func (o ConversationInfoLocal) DeepCopy() ConversationInfoLocal {
  3453  	return ConversationInfoLocal{
  3454  		Id:        o.Id.DeepCopy(),
  3455  		Triple:    o.Triple.DeepCopy(),
  3456  		TlfName:   o.TlfName,
  3457  		TopicName: o.TopicName,
  3458  		Headline:  o.Headline,
  3459  		HeadlineEmojis: (func(x []HarvestedEmoji) []HarvestedEmoji {
  3460  			if x == nil {
  3461  				return nil
  3462  			}
  3463  			ret := make([]HarvestedEmoji, len(x))
  3464  			for i, v := range x {
  3465  				vCopy := v.DeepCopy()
  3466  				ret[i] = vCopy
  3467  			}
  3468  			return ret
  3469  		})(o.HeadlineEmojis),
  3470  		SnippetMsg: (func(x *MessageUnboxed) *MessageUnboxed {
  3471  			if x == nil {
  3472  				return nil
  3473  			}
  3474  			tmp := (*x).DeepCopy()
  3475  			return &tmp
  3476  		})(o.SnippetMsg),
  3477  		PinnedMsg: (func(x *ConversationPinnedMessage) *ConversationPinnedMessage {
  3478  			if x == nil {
  3479  				return nil
  3480  			}
  3481  			tmp := (*x).DeepCopy()
  3482  			return &tmp
  3483  		})(o.PinnedMsg),
  3484  		Draft: (func(x *string) *string {
  3485  			if x == nil {
  3486  				return nil
  3487  			}
  3488  			tmp := (*x)
  3489  			return &tmp
  3490  		})(o.Draft),
  3491  		Visibility:    o.Visibility.DeepCopy(),
  3492  		IsDefaultConv: o.IsDefaultConv,
  3493  		Status:        o.Status.DeepCopy(),
  3494  		MembersType:   o.MembersType.DeepCopy(),
  3495  		MemberStatus:  o.MemberStatus.DeepCopy(),
  3496  		TeamType:      o.TeamType.DeepCopy(),
  3497  		Existence:     o.Existence.DeepCopy(),
  3498  		Version:       o.Version.DeepCopy(),
  3499  		LocalVersion:  o.LocalVersion.DeepCopy(),
  3500  		Participants: (func(x []ConversationLocalParticipant) []ConversationLocalParticipant {
  3501  			if x == nil {
  3502  				return nil
  3503  			}
  3504  			ret := make([]ConversationLocalParticipant, len(x))
  3505  			for i, v := range x {
  3506  				vCopy := v.DeepCopy()
  3507  				ret[i] = vCopy
  3508  			}
  3509  			return ret
  3510  		})(o.Participants),
  3511  		FinalizeInfo: (func(x *ConversationFinalizeInfo) *ConversationFinalizeInfo {
  3512  			if x == nil {
  3513  				return nil
  3514  			}
  3515  			tmp := (*x).DeepCopy()
  3516  			return &tmp
  3517  		})(o.FinalizeInfo),
  3518  		ResetNames: (func(x []string) []string {
  3519  			if x == nil {
  3520  				return nil
  3521  			}
  3522  			ret := make([]string, len(x))
  3523  			for i, v := range x {
  3524  				vCopy := v
  3525  				ret[i] = vCopy
  3526  			}
  3527  			return ret
  3528  		})(o.ResetNames),
  3529  	}
  3530  }
  3531  
  3532  type ConversationErrorType int
  3533  
  3534  const (
  3535  	ConversationErrorType_PERMANENT        ConversationErrorType = 0
  3536  	ConversationErrorType_MISSINGINFO      ConversationErrorType = 1
  3537  	ConversationErrorType_SELFREKEYNEEDED  ConversationErrorType = 2
  3538  	ConversationErrorType_OTHERREKEYNEEDED ConversationErrorType = 3
  3539  	ConversationErrorType_IDENTIFY         ConversationErrorType = 4
  3540  	ConversationErrorType_TRANSIENT        ConversationErrorType = 5
  3541  	ConversationErrorType_NONE             ConversationErrorType = 6
  3542  )
  3543  
  3544  func (o ConversationErrorType) DeepCopy() ConversationErrorType { return o }
  3545  
  3546  var ConversationErrorTypeMap = map[string]ConversationErrorType{
  3547  	"PERMANENT":        0,
  3548  	"MISSINGINFO":      1,
  3549  	"SELFREKEYNEEDED":  2,
  3550  	"OTHERREKEYNEEDED": 3,
  3551  	"IDENTIFY":         4,
  3552  	"TRANSIENT":        5,
  3553  	"NONE":             6,
  3554  }
  3555  
  3556  var ConversationErrorTypeRevMap = map[ConversationErrorType]string{
  3557  	0: "PERMANENT",
  3558  	1: "MISSINGINFO",
  3559  	2: "SELFREKEYNEEDED",
  3560  	3: "OTHERREKEYNEEDED",
  3561  	4: "IDENTIFY",
  3562  	5: "TRANSIENT",
  3563  	6: "NONE",
  3564  }
  3565  
  3566  func (e ConversationErrorType) String() string {
  3567  	if v, ok := ConversationErrorTypeRevMap[e]; ok {
  3568  		return v
  3569  	}
  3570  	return fmt.Sprintf("%v", int(e))
  3571  }
  3572  
  3573  type ConversationErrorLocal struct {
  3574  	Typ               ConversationErrorType   `codec:"typ" json:"typ"`
  3575  	Message           string                  `codec:"message" json:"message"`
  3576  	RemoteConv        Conversation            `codec:"remoteConv" json:"remoteConv"`
  3577  	UnverifiedTLFName string                  `codec:"unverifiedTLFName" json:"unverifiedTLFName"`
  3578  	RekeyInfo         *ConversationErrorRekey `codec:"rekeyInfo,omitempty" json:"rekeyInfo,omitempty"`
  3579  }
  3580  
  3581  func (o ConversationErrorLocal) DeepCopy() ConversationErrorLocal {
  3582  	return ConversationErrorLocal{
  3583  		Typ:               o.Typ.DeepCopy(),
  3584  		Message:           o.Message,
  3585  		RemoteConv:        o.RemoteConv.DeepCopy(),
  3586  		UnverifiedTLFName: o.UnverifiedTLFName,
  3587  		RekeyInfo: (func(x *ConversationErrorRekey) *ConversationErrorRekey {
  3588  			if x == nil {
  3589  				return nil
  3590  			}
  3591  			tmp := (*x).DeepCopy()
  3592  			return &tmp
  3593  		})(o.RekeyInfo),
  3594  	}
  3595  }
  3596  
  3597  type ConversationErrorRekey struct {
  3598  	TlfName     string   `codec:"tlfName" json:"tlfName"`
  3599  	TlfPublic   bool     `codec:"tlfPublic" json:"tlfPublic"`
  3600  	Rekeyers    []string `codec:"rekeyers" json:"rekeyers"`
  3601  	WriterNames []string `codec:"writerNames" json:"writerNames"`
  3602  	ReaderNames []string `codec:"readerNames" json:"readerNames"`
  3603  }
  3604  
  3605  func (o ConversationErrorRekey) DeepCopy() ConversationErrorRekey {
  3606  	return ConversationErrorRekey{
  3607  		TlfName:   o.TlfName,
  3608  		TlfPublic: o.TlfPublic,
  3609  		Rekeyers: (func(x []string) []string {
  3610  			if x == nil {
  3611  				return nil
  3612  			}
  3613  			ret := make([]string, len(x))
  3614  			for i, v := range x {
  3615  				vCopy := v
  3616  				ret[i] = vCopy
  3617  			}
  3618  			return ret
  3619  		})(o.Rekeyers),
  3620  		WriterNames: (func(x []string) []string {
  3621  			if x == nil {
  3622  				return nil
  3623  			}
  3624  			ret := make([]string, len(x))
  3625  			for i, v := range x {
  3626  				vCopy := v
  3627  				ret[i] = vCopy
  3628  			}
  3629  			return ret
  3630  		})(o.WriterNames),
  3631  		ReaderNames: (func(x []string) []string {
  3632  			if x == nil {
  3633  				return nil
  3634  			}
  3635  			ret := make([]string, len(x))
  3636  			for i, v := range x {
  3637  				vCopy := v
  3638  				ret[i] = vCopy
  3639  			}
  3640  			return ret
  3641  		})(o.ReaderNames),
  3642  	}
  3643  }
  3644  
  3645  type ConversationMinWriterRoleInfoLocal struct {
  3646  	ChangedBy   string            `codec:"changedBy" json:"changedBy"`
  3647  	CannotWrite bool              `codec:"cannotWrite" json:"cannotWrite"`
  3648  	Role        keybase1.TeamRole `codec:"role" json:"role"`
  3649  }
  3650  
  3651  func (o ConversationMinWriterRoleInfoLocal) DeepCopy() ConversationMinWriterRoleInfoLocal {
  3652  	return ConversationMinWriterRoleInfoLocal{
  3653  		ChangedBy:   o.ChangedBy,
  3654  		CannotWrite: o.CannotWrite,
  3655  		Role:        o.Role.DeepCopy(),
  3656  	}
  3657  }
  3658  
  3659  type ConversationSettingsLocal struct {
  3660  	MinWriterRoleInfo *ConversationMinWriterRoleInfoLocal `codec:"minWriterRoleInfo,omitempty" json:"minWriterRoleInfo,omitempty"`
  3661  }
  3662  
  3663  func (o ConversationSettingsLocal) DeepCopy() ConversationSettingsLocal {
  3664  	return ConversationSettingsLocal{
  3665  		MinWriterRoleInfo: (func(x *ConversationMinWriterRoleInfoLocal) *ConversationMinWriterRoleInfoLocal {
  3666  			if x == nil {
  3667  				return nil
  3668  			}
  3669  			tmp := (*x).DeepCopy()
  3670  			return &tmp
  3671  		})(o.MinWriterRoleInfo),
  3672  	}
  3673  }
  3674  
  3675  type ConversationLocal struct {
  3676  	Error            *ConversationErrorLocal       `codec:"error,omitempty" json:"error,omitempty"`
  3677  	Info             ConversationInfoLocal         `codec:"info" json:"info"`
  3678  	ReaderInfo       ConversationReaderInfo        `codec:"readerInfo" json:"readerInfo"`
  3679  	CreatorInfo      *ConversationCreatorInfoLocal `codec:"creatorInfo,omitempty" json:"creatorInfo,omitempty"`
  3680  	Notifications    *ConversationNotificationInfo `codec:"notifications,omitempty" json:"notifications,omitempty"`
  3681  	Supersedes       []ConversationMetadata        `codec:"supersedes" json:"supersedes"`
  3682  	SupersededBy     []ConversationMetadata        `codec:"supersededBy" json:"supersededBy"`
  3683  	MaxMessages      []MessageSummary              `codec:"maxMessages" json:"maxMessages"`
  3684  	IsEmpty          bool                          `codec:"isEmpty" json:"isEmpty"`
  3685  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  3686  	Expunge          Expunge                       `codec:"expunge" json:"expunge"`
  3687  	ConvRetention    *RetentionPolicy              `codec:"convRetention,omitempty" json:"convRetention,omitempty"`
  3688  	TeamRetention    *RetentionPolicy              `codec:"teamRetention,omitempty" json:"teamRetention,omitempty"`
  3689  	ConvSettings     *ConversationSettingsLocal    `codec:"convSettings,omitempty" json:"convSettings,omitempty"`
  3690  	Commands         ConversationCommandGroups     `codec:"commands" json:"commands"`
  3691  	BotCommands      ConversationCommandGroups     `codec:"botCommands" json:"botCommands"`
  3692  	BotAliases       map[string]string             `codec:"botAliases" json:"botAliases"`
  3693  }
  3694  
  3695  func (o ConversationLocal) DeepCopy() ConversationLocal {
  3696  	return ConversationLocal{
  3697  		Error: (func(x *ConversationErrorLocal) *ConversationErrorLocal {
  3698  			if x == nil {
  3699  				return nil
  3700  			}
  3701  			tmp := (*x).DeepCopy()
  3702  			return &tmp
  3703  		})(o.Error),
  3704  		Info:       o.Info.DeepCopy(),
  3705  		ReaderInfo: o.ReaderInfo.DeepCopy(),
  3706  		CreatorInfo: (func(x *ConversationCreatorInfoLocal) *ConversationCreatorInfoLocal {
  3707  			if x == nil {
  3708  				return nil
  3709  			}
  3710  			tmp := (*x).DeepCopy()
  3711  			return &tmp
  3712  		})(o.CreatorInfo),
  3713  		Notifications: (func(x *ConversationNotificationInfo) *ConversationNotificationInfo {
  3714  			if x == nil {
  3715  				return nil
  3716  			}
  3717  			tmp := (*x).DeepCopy()
  3718  			return &tmp
  3719  		})(o.Notifications),
  3720  		Supersedes: (func(x []ConversationMetadata) []ConversationMetadata {
  3721  			if x == nil {
  3722  				return nil
  3723  			}
  3724  			ret := make([]ConversationMetadata, len(x))
  3725  			for i, v := range x {
  3726  				vCopy := v.DeepCopy()
  3727  				ret[i] = vCopy
  3728  			}
  3729  			return ret
  3730  		})(o.Supersedes),
  3731  		SupersededBy: (func(x []ConversationMetadata) []ConversationMetadata {
  3732  			if x == nil {
  3733  				return nil
  3734  			}
  3735  			ret := make([]ConversationMetadata, len(x))
  3736  			for i, v := range x {
  3737  				vCopy := v.DeepCopy()
  3738  				ret[i] = vCopy
  3739  			}
  3740  			return ret
  3741  		})(o.SupersededBy),
  3742  		MaxMessages: (func(x []MessageSummary) []MessageSummary {
  3743  			if x == nil {
  3744  				return nil
  3745  			}
  3746  			ret := make([]MessageSummary, len(x))
  3747  			for i, v := range x {
  3748  				vCopy := v.DeepCopy()
  3749  				ret[i] = vCopy
  3750  			}
  3751  			return ret
  3752  		})(o.MaxMessages),
  3753  		IsEmpty: o.IsEmpty,
  3754  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  3755  			if x == nil {
  3756  				return nil
  3757  			}
  3758  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  3759  			for i, v := range x {
  3760  				vCopy := v.DeepCopy()
  3761  				ret[i] = vCopy
  3762  			}
  3763  			return ret
  3764  		})(o.IdentifyFailures),
  3765  		Expunge: o.Expunge.DeepCopy(),
  3766  		ConvRetention: (func(x *RetentionPolicy) *RetentionPolicy {
  3767  			if x == nil {
  3768  				return nil
  3769  			}
  3770  			tmp := (*x).DeepCopy()
  3771  			return &tmp
  3772  		})(o.ConvRetention),
  3773  		TeamRetention: (func(x *RetentionPolicy) *RetentionPolicy {
  3774  			if x == nil {
  3775  				return nil
  3776  			}
  3777  			tmp := (*x).DeepCopy()
  3778  			return &tmp
  3779  		})(o.TeamRetention),
  3780  		ConvSettings: (func(x *ConversationSettingsLocal) *ConversationSettingsLocal {
  3781  			if x == nil {
  3782  				return nil
  3783  			}
  3784  			tmp := (*x).DeepCopy()
  3785  			return &tmp
  3786  		})(o.ConvSettings),
  3787  		Commands:    o.Commands.DeepCopy(),
  3788  		BotCommands: o.BotCommands.DeepCopy(),
  3789  		BotAliases: (func(x map[string]string) map[string]string {
  3790  			if x == nil {
  3791  				return nil
  3792  			}
  3793  			ret := make(map[string]string, len(x))
  3794  			for k, v := range x {
  3795  				kCopy := k
  3796  				vCopy := v
  3797  				ret[kCopy] = vCopy
  3798  			}
  3799  			return ret
  3800  		})(o.BotAliases),
  3801  	}
  3802  }
  3803  
  3804  type NonblockFetchRes struct {
  3805  	Offline          bool                          `codec:"offline" json:"offline"`
  3806  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  3807  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  3808  }
  3809  
  3810  func (o NonblockFetchRes) DeepCopy() NonblockFetchRes {
  3811  	return NonblockFetchRes{
  3812  		Offline: o.Offline,
  3813  		RateLimits: (func(x []RateLimit) []RateLimit {
  3814  			if x == nil {
  3815  				return nil
  3816  			}
  3817  			ret := make([]RateLimit, len(x))
  3818  			for i, v := range x {
  3819  				vCopy := v.DeepCopy()
  3820  				ret[i] = vCopy
  3821  			}
  3822  			return ret
  3823  		})(o.RateLimits),
  3824  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  3825  			if x == nil {
  3826  				return nil
  3827  			}
  3828  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  3829  			for i, v := range x {
  3830  				vCopy := v.DeepCopy()
  3831  				ret[i] = vCopy
  3832  			}
  3833  			return ret
  3834  		})(o.IdentifyFailures),
  3835  	}
  3836  }
  3837  
  3838  type ThreadView struct {
  3839  	Messages   []MessageUnboxed `codec:"messages" json:"messages"`
  3840  	Pagination *Pagination      `codec:"pagination,omitempty" json:"pagination,omitempty"`
  3841  }
  3842  
  3843  func (o ThreadView) DeepCopy() ThreadView {
  3844  	return ThreadView{
  3845  		Messages: (func(x []MessageUnboxed) []MessageUnboxed {
  3846  			if x == nil {
  3847  				return nil
  3848  			}
  3849  			ret := make([]MessageUnboxed, len(x))
  3850  			for i, v := range x {
  3851  				vCopy := v.DeepCopy()
  3852  				ret[i] = vCopy
  3853  			}
  3854  			return ret
  3855  		})(o.Messages),
  3856  		Pagination: (func(x *Pagination) *Pagination {
  3857  			if x == nil {
  3858  				return nil
  3859  			}
  3860  			tmp := (*x).DeepCopy()
  3861  			return &tmp
  3862  		})(o.Pagination),
  3863  	}
  3864  }
  3865  
  3866  type MessageIDControlMode int
  3867  
  3868  const (
  3869  	MessageIDControlMode_OLDERMESSAGES MessageIDControlMode = 0
  3870  	MessageIDControlMode_NEWERMESSAGES MessageIDControlMode = 1
  3871  	MessageIDControlMode_CENTERED      MessageIDControlMode = 2
  3872  	MessageIDControlMode_UNREADLINE    MessageIDControlMode = 3
  3873  )
  3874  
  3875  func (o MessageIDControlMode) DeepCopy() MessageIDControlMode { return o }
  3876  
  3877  var MessageIDControlModeMap = map[string]MessageIDControlMode{
  3878  	"OLDERMESSAGES": 0,
  3879  	"NEWERMESSAGES": 1,
  3880  	"CENTERED":      2,
  3881  	"UNREADLINE":    3,
  3882  }
  3883  
  3884  var MessageIDControlModeRevMap = map[MessageIDControlMode]string{
  3885  	0: "OLDERMESSAGES",
  3886  	1: "NEWERMESSAGES",
  3887  	2: "CENTERED",
  3888  	3: "UNREADLINE",
  3889  }
  3890  
  3891  func (e MessageIDControlMode) String() string {
  3892  	if v, ok := MessageIDControlModeRevMap[e]; ok {
  3893  		return v
  3894  	}
  3895  	return fmt.Sprintf("%v", int(e))
  3896  }
  3897  
  3898  type MessageIDControl struct {
  3899  	Pivot *MessageID           `codec:"pivot,omitempty" json:"pivot,omitempty"`
  3900  	Mode  MessageIDControlMode `codec:"mode" json:"mode"`
  3901  	Num   int                  `codec:"num" json:"num"`
  3902  }
  3903  
  3904  func (o MessageIDControl) DeepCopy() MessageIDControl {
  3905  	return MessageIDControl{
  3906  		Pivot: (func(x *MessageID) *MessageID {
  3907  			if x == nil {
  3908  				return nil
  3909  			}
  3910  			tmp := (*x).DeepCopy()
  3911  			return &tmp
  3912  		})(o.Pivot),
  3913  		Mode: o.Mode.DeepCopy(),
  3914  		Num:  o.Num,
  3915  	}
  3916  }
  3917  
  3918  type GetThreadQuery struct {
  3919  	MarkAsRead               bool              `codec:"markAsRead" json:"markAsRead"`
  3920  	MessageTypes             []MessageType     `codec:"messageTypes" json:"messageTypes"`
  3921  	DisableResolveSupersedes bool              `codec:"disableResolveSupersedes" json:"disableResolveSupersedes"`
  3922  	EnableDeletePlaceholders bool              `codec:"enableDeletePlaceholders" json:"enableDeletePlaceholders"`
  3923  	DisablePostProcessThread bool              `codec:"disablePostProcessThread" json:"disablePostProcessThread"`
  3924  	Before                   *gregor1.Time     `codec:"before,omitempty" json:"before,omitempty"`
  3925  	After                    *gregor1.Time     `codec:"after,omitempty" json:"after,omitempty"`
  3926  	MessageIDControl         *MessageIDControl `codec:"messageIDControl,omitempty" json:"messageIDControl,omitempty"`
  3927  }
  3928  
  3929  func (o GetThreadQuery) DeepCopy() GetThreadQuery {
  3930  	return GetThreadQuery{
  3931  		MarkAsRead: o.MarkAsRead,
  3932  		MessageTypes: (func(x []MessageType) []MessageType {
  3933  			if x == nil {
  3934  				return nil
  3935  			}
  3936  			ret := make([]MessageType, len(x))
  3937  			for i, v := range x {
  3938  				vCopy := v.DeepCopy()
  3939  				ret[i] = vCopy
  3940  			}
  3941  			return ret
  3942  		})(o.MessageTypes),
  3943  		DisableResolveSupersedes: o.DisableResolveSupersedes,
  3944  		EnableDeletePlaceholders: o.EnableDeletePlaceholders,
  3945  		DisablePostProcessThread: o.DisablePostProcessThread,
  3946  		Before: (func(x *gregor1.Time) *gregor1.Time {
  3947  			if x == nil {
  3948  				return nil
  3949  			}
  3950  			tmp := (*x).DeepCopy()
  3951  			return &tmp
  3952  		})(o.Before),
  3953  		After: (func(x *gregor1.Time) *gregor1.Time {
  3954  			if x == nil {
  3955  				return nil
  3956  			}
  3957  			tmp := (*x).DeepCopy()
  3958  			return &tmp
  3959  		})(o.After),
  3960  		MessageIDControl: (func(x *MessageIDControl) *MessageIDControl {
  3961  			if x == nil {
  3962  				return nil
  3963  			}
  3964  			tmp := (*x).DeepCopy()
  3965  			return &tmp
  3966  		})(o.MessageIDControl),
  3967  	}
  3968  }
  3969  
  3970  type GetThreadLocalRes struct {
  3971  	Thread           ThreadView                    `codec:"thread" json:"thread"`
  3972  	Offline          bool                          `codec:"offline" json:"offline"`
  3973  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  3974  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  3975  }
  3976  
  3977  func (o GetThreadLocalRes) DeepCopy() GetThreadLocalRes {
  3978  	return GetThreadLocalRes{
  3979  		Thread:  o.Thread.DeepCopy(),
  3980  		Offline: o.Offline,
  3981  		RateLimits: (func(x []RateLimit) []RateLimit {
  3982  			if x == nil {
  3983  				return nil
  3984  			}
  3985  			ret := make([]RateLimit, len(x))
  3986  			for i, v := range x {
  3987  				vCopy := v.DeepCopy()
  3988  				ret[i] = vCopy
  3989  			}
  3990  			return ret
  3991  		})(o.RateLimits),
  3992  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  3993  			if x == nil {
  3994  				return nil
  3995  			}
  3996  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  3997  			for i, v := range x {
  3998  				vCopy := v.DeepCopy()
  3999  				ret[i] = vCopy
  4000  			}
  4001  			return ret
  4002  		})(o.IdentifyFailures),
  4003  	}
  4004  }
  4005  
  4006  type GetThreadNonblockCbMode int
  4007  
  4008  const (
  4009  	GetThreadNonblockCbMode_FULL        GetThreadNonblockCbMode = 0
  4010  	GetThreadNonblockCbMode_INCREMENTAL GetThreadNonblockCbMode = 1
  4011  )
  4012  
  4013  func (o GetThreadNonblockCbMode) DeepCopy() GetThreadNonblockCbMode { return o }
  4014  
  4015  var GetThreadNonblockCbModeMap = map[string]GetThreadNonblockCbMode{
  4016  	"FULL":        0,
  4017  	"INCREMENTAL": 1,
  4018  }
  4019  
  4020  var GetThreadNonblockCbModeRevMap = map[GetThreadNonblockCbMode]string{
  4021  	0: "FULL",
  4022  	1: "INCREMENTAL",
  4023  }
  4024  
  4025  func (e GetThreadNonblockCbMode) String() string {
  4026  	if v, ok := GetThreadNonblockCbModeRevMap[e]; ok {
  4027  		return v
  4028  	}
  4029  	return fmt.Sprintf("%v", int(e))
  4030  }
  4031  
  4032  type GetThreadNonblockPgMode int
  4033  
  4034  const (
  4035  	GetThreadNonblockPgMode_DEFAULT GetThreadNonblockPgMode = 0
  4036  	GetThreadNonblockPgMode_SERVER  GetThreadNonblockPgMode = 1
  4037  )
  4038  
  4039  func (o GetThreadNonblockPgMode) DeepCopy() GetThreadNonblockPgMode { return o }
  4040  
  4041  var GetThreadNonblockPgModeMap = map[string]GetThreadNonblockPgMode{
  4042  	"DEFAULT": 0,
  4043  	"SERVER":  1,
  4044  }
  4045  
  4046  var GetThreadNonblockPgModeRevMap = map[GetThreadNonblockPgMode]string{
  4047  	0: "DEFAULT",
  4048  	1: "SERVER",
  4049  }
  4050  
  4051  func (e GetThreadNonblockPgMode) String() string {
  4052  	if v, ok := GetThreadNonblockPgModeRevMap[e]; ok {
  4053  		return v
  4054  	}
  4055  	return fmt.Sprintf("%v", int(e))
  4056  }
  4057  
  4058  type UnreadlineRes struct {
  4059  	Offline          bool                          `codec:"offline" json:"offline"`
  4060  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  4061  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  4062  	UnreadlineID     *MessageID                    `codec:"unreadlineID,omitempty" json:"unreadlineID,omitempty"`
  4063  }
  4064  
  4065  func (o UnreadlineRes) DeepCopy() UnreadlineRes {
  4066  	return UnreadlineRes{
  4067  		Offline: o.Offline,
  4068  		RateLimits: (func(x []RateLimit) []RateLimit {
  4069  			if x == nil {
  4070  				return nil
  4071  			}
  4072  			ret := make([]RateLimit, len(x))
  4073  			for i, v := range x {
  4074  				vCopy := v.DeepCopy()
  4075  				ret[i] = vCopy
  4076  			}
  4077  			return ret
  4078  		})(o.RateLimits),
  4079  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  4080  			if x == nil {
  4081  				return nil
  4082  			}
  4083  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  4084  			for i, v := range x {
  4085  				vCopy := v.DeepCopy()
  4086  				ret[i] = vCopy
  4087  			}
  4088  			return ret
  4089  		})(o.IdentifyFailures),
  4090  		UnreadlineID: (func(x *MessageID) *MessageID {
  4091  			if x == nil {
  4092  				return nil
  4093  			}
  4094  			tmp := (*x).DeepCopy()
  4095  			return &tmp
  4096  		})(o.UnreadlineID),
  4097  	}
  4098  }
  4099  
  4100  type NameQuery struct {
  4101  	Name        string                  `codec:"name" json:"name"`
  4102  	TlfID       *TLFID                  `codec:"tlfID,omitempty" json:"tlfID,omitempty"`
  4103  	MembersType ConversationMembersType `codec:"membersType" json:"membersType"`
  4104  }
  4105  
  4106  func (o NameQuery) DeepCopy() NameQuery {
  4107  	return NameQuery{
  4108  		Name: o.Name,
  4109  		TlfID: (func(x *TLFID) *TLFID {
  4110  			if x == nil {
  4111  				return nil
  4112  			}
  4113  			tmp := (*x).DeepCopy()
  4114  			return &tmp
  4115  		})(o.TlfID),
  4116  		MembersType: o.MembersType.DeepCopy(),
  4117  	}
  4118  }
  4119  
  4120  type GetInboxLocalQuery struct {
  4121  	Name              *NameQuery                 `codec:"name,omitempty" json:"name,omitempty"`
  4122  	TopicName         *string                    `codec:"topicName,omitempty" json:"topicName,omitempty"`
  4123  	ConvIDs           []ConversationID           `codec:"convIDs" json:"convIDs"`
  4124  	TopicType         *TopicType                 `codec:"topicType,omitempty" json:"topicType,omitempty"`
  4125  	TlfVisibility     *keybase1.TLFVisibility    `codec:"tlfVisibility,omitempty" json:"tlfVisibility,omitempty"`
  4126  	Before            *gregor1.Time              `codec:"before,omitempty" json:"before,omitempty"`
  4127  	After             *gregor1.Time              `codec:"after,omitempty" json:"after,omitempty"`
  4128  	OneChatTypePerTLF *bool                      `codec:"oneChatTypePerTLF,omitempty" json:"oneChatTypePerTLF,omitempty"`
  4129  	Status            []ConversationStatus       `codec:"status" json:"status"`
  4130  	MemberStatus      []ConversationMemberStatus `codec:"memberStatus" json:"memberStatus"`
  4131  	UnreadOnly        bool                       `codec:"unreadOnly" json:"unreadOnly"`
  4132  	ReadOnly          bool                       `codec:"readOnly" json:"readOnly"`
  4133  	ComputeActiveList bool                       `codec:"computeActiveList" json:"computeActiveList"`
  4134  }
  4135  
  4136  func (o GetInboxLocalQuery) DeepCopy() GetInboxLocalQuery {
  4137  	return GetInboxLocalQuery{
  4138  		Name: (func(x *NameQuery) *NameQuery {
  4139  			if x == nil {
  4140  				return nil
  4141  			}
  4142  			tmp := (*x).DeepCopy()
  4143  			return &tmp
  4144  		})(o.Name),
  4145  		TopicName: (func(x *string) *string {
  4146  			if x == nil {
  4147  				return nil
  4148  			}
  4149  			tmp := (*x)
  4150  			return &tmp
  4151  		})(o.TopicName),
  4152  		ConvIDs: (func(x []ConversationID) []ConversationID {
  4153  			if x == nil {
  4154  				return nil
  4155  			}
  4156  			ret := make([]ConversationID, len(x))
  4157  			for i, v := range x {
  4158  				vCopy := v.DeepCopy()
  4159  				ret[i] = vCopy
  4160  			}
  4161  			return ret
  4162  		})(o.ConvIDs),
  4163  		TopicType: (func(x *TopicType) *TopicType {
  4164  			if x == nil {
  4165  				return nil
  4166  			}
  4167  			tmp := (*x).DeepCopy()
  4168  			return &tmp
  4169  		})(o.TopicType),
  4170  		TlfVisibility: (func(x *keybase1.TLFVisibility) *keybase1.TLFVisibility {
  4171  			if x == nil {
  4172  				return nil
  4173  			}
  4174  			tmp := (*x).DeepCopy()
  4175  			return &tmp
  4176  		})(o.TlfVisibility),
  4177  		Before: (func(x *gregor1.Time) *gregor1.Time {
  4178  			if x == nil {
  4179  				return nil
  4180  			}
  4181  			tmp := (*x).DeepCopy()
  4182  			return &tmp
  4183  		})(o.Before),
  4184  		After: (func(x *gregor1.Time) *gregor1.Time {
  4185  			if x == nil {
  4186  				return nil
  4187  			}
  4188  			tmp := (*x).DeepCopy()
  4189  			return &tmp
  4190  		})(o.After),
  4191  		OneChatTypePerTLF: (func(x *bool) *bool {
  4192  			if x == nil {
  4193  				return nil
  4194  			}
  4195  			tmp := (*x)
  4196  			return &tmp
  4197  		})(o.OneChatTypePerTLF),
  4198  		Status: (func(x []ConversationStatus) []ConversationStatus {
  4199  			if x == nil {
  4200  				return nil
  4201  			}
  4202  			ret := make([]ConversationStatus, len(x))
  4203  			for i, v := range x {
  4204  				vCopy := v.DeepCopy()
  4205  				ret[i] = vCopy
  4206  			}
  4207  			return ret
  4208  		})(o.Status),
  4209  		MemberStatus: (func(x []ConversationMemberStatus) []ConversationMemberStatus {
  4210  			if x == nil {
  4211  				return nil
  4212  			}
  4213  			ret := make([]ConversationMemberStatus, len(x))
  4214  			for i, v := range x {
  4215  				vCopy := v.DeepCopy()
  4216  				ret[i] = vCopy
  4217  			}
  4218  			return ret
  4219  		})(o.MemberStatus),
  4220  		UnreadOnly:        o.UnreadOnly,
  4221  		ReadOnly:          o.ReadOnly,
  4222  		ComputeActiveList: o.ComputeActiveList,
  4223  	}
  4224  }
  4225  
  4226  type GetInboxAndUnboxLocalRes struct {
  4227  	Conversations    []ConversationLocal           `codec:"conversations" json:"conversations"`
  4228  	Offline          bool                          `codec:"offline" json:"offline"`
  4229  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  4230  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  4231  }
  4232  
  4233  func (o GetInboxAndUnboxLocalRes) DeepCopy() GetInboxAndUnboxLocalRes {
  4234  	return GetInboxAndUnboxLocalRes{
  4235  		Conversations: (func(x []ConversationLocal) []ConversationLocal {
  4236  			if x == nil {
  4237  				return nil
  4238  			}
  4239  			ret := make([]ConversationLocal, len(x))
  4240  			for i, v := range x {
  4241  				vCopy := v.DeepCopy()
  4242  				ret[i] = vCopy
  4243  			}
  4244  			return ret
  4245  		})(o.Conversations),
  4246  		Offline: o.Offline,
  4247  		RateLimits: (func(x []RateLimit) []RateLimit {
  4248  			if x == nil {
  4249  				return nil
  4250  			}
  4251  			ret := make([]RateLimit, len(x))
  4252  			for i, v := range x {
  4253  				vCopy := v.DeepCopy()
  4254  				ret[i] = vCopy
  4255  			}
  4256  			return ret
  4257  		})(o.RateLimits),
  4258  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  4259  			if x == nil {
  4260  				return nil
  4261  			}
  4262  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  4263  			for i, v := range x {
  4264  				vCopy := v.DeepCopy()
  4265  				ret[i] = vCopy
  4266  			}
  4267  			return ret
  4268  		})(o.IdentifyFailures),
  4269  	}
  4270  }
  4271  
  4272  type GetInboxAndUnboxUILocalRes struct {
  4273  	Conversations    []InboxUIItem                 `codec:"conversations" json:"conversations"`
  4274  	Offline          bool                          `codec:"offline" json:"offline"`
  4275  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  4276  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  4277  }
  4278  
  4279  func (o GetInboxAndUnboxUILocalRes) DeepCopy() GetInboxAndUnboxUILocalRes {
  4280  	return GetInboxAndUnboxUILocalRes{
  4281  		Conversations: (func(x []InboxUIItem) []InboxUIItem {
  4282  			if x == nil {
  4283  				return nil
  4284  			}
  4285  			ret := make([]InboxUIItem, len(x))
  4286  			for i, v := range x {
  4287  				vCopy := v.DeepCopy()
  4288  				ret[i] = vCopy
  4289  			}
  4290  			return ret
  4291  		})(o.Conversations),
  4292  		Offline: o.Offline,
  4293  		RateLimits: (func(x []RateLimit) []RateLimit {
  4294  			if x == nil {
  4295  				return nil
  4296  			}
  4297  			ret := make([]RateLimit, len(x))
  4298  			for i, v := range x {
  4299  				vCopy := v.DeepCopy()
  4300  				ret[i] = vCopy
  4301  			}
  4302  			return ret
  4303  		})(o.RateLimits),
  4304  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  4305  			if x == nil {
  4306  				return nil
  4307  			}
  4308  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  4309  			for i, v := range x {
  4310  				vCopy := v.DeepCopy()
  4311  				ret[i] = vCopy
  4312  			}
  4313  			return ret
  4314  		})(o.IdentifyFailures),
  4315  	}
  4316  }
  4317  
  4318  type InboxLayoutReselectMode int
  4319  
  4320  const (
  4321  	InboxLayoutReselectMode_DEFAULT InboxLayoutReselectMode = 0
  4322  	InboxLayoutReselectMode_FORCE   InboxLayoutReselectMode = 1
  4323  )
  4324  
  4325  func (o InboxLayoutReselectMode) DeepCopy() InboxLayoutReselectMode { return o }
  4326  
  4327  var InboxLayoutReselectModeMap = map[string]InboxLayoutReselectMode{
  4328  	"DEFAULT": 0,
  4329  	"FORCE":   1,
  4330  }
  4331  
  4332  var InboxLayoutReselectModeRevMap = map[InboxLayoutReselectMode]string{
  4333  	0: "DEFAULT",
  4334  	1: "FORCE",
  4335  }
  4336  
  4337  func (e InboxLayoutReselectMode) String() string {
  4338  	if v, ok := InboxLayoutReselectModeRevMap[e]; ok {
  4339  		return v
  4340  	}
  4341  	return fmt.Sprintf("%v", int(e))
  4342  }
  4343  
  4344  type PostLocalRes struct {
  4345  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  4346  	MessageID        MessageID                     `codec:"messageID" json:"messageID"`
  4347  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  4348  }
  4349  
  4350  func (o PostLocalRes) DeepCopy() PostLocalRes {
  4351  	return PostLocalRes{
  4352  		RateLimits: (func(x []RateLimit) []RateLimit {
  4353  			if x == nil {
  4354  				return nil
  4355  			}
  4356  			ret := make([]RateLimit, len(x))
  4357  			for i, v := range x {
  4358  				vCopy := v.DeepCopy()
  4359  				ret[i] = vCopy
  4360  			}
  4361  			return ret
  4362  		})(o.RateLimits),
  4363  		MessageID: o.MessageID.DeepCopy(),
  4364  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  4365  			if x == nil {
  4366  				return nil
  4367  			}
  4368  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  4369  			for i, v := range x {
  4370  				vCopy := v.DeepCopy()
  4371  				ret[i] = vCopy
  4372  			}
  4373  			return ret
  4374  		})(o.IdentifyFailures),
  4375  	}
  4376  }
  4377  
  4378  type PostLocalNonblockRes struct {
  4379  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  4380  	OutboxID         OutboxID                      `codec:"outboxID" json:"outboxID"`
  4381  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  4382  }
  4383  
  4384  func (o PostLocalNonblockRes) DeepCopy() PostLocalNonblockRes {
  4385  	return PostLocalNonblockRes{
  4386  		RateLimits: (func(x []RateLimit) []RateLimit {
  4387  			if x == nil {
  4388  				return nil
  4389  			}
  4390  			ret := make([]RateLimit, len(x))
  4391  			for i, v := range x {
  4392  				vCopy := v.DeepCopy()
  4393  				ret[i] = vCopy
  4394  			}
  4395  			return ret
  4396  		})(o.RateLimits),
  4397  		OutboxID: o.OutboxID.DeepCopy(),
  4398  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  4399  			if x == nil {
  4400  				return nil
  4401  			}
  4402  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  4403  			for i, v := range x {
  4404  				vCopy := v.DeepCopy()
  4405  				ret[i] = vCopy
  4406  			}
  4407  			return ret
  4408  		})(o.IdentifyFailures),
  4409  	}
  4410  }
  4411  
  4412  type EditTarget struct {
  4413  	MessageID *MessageID `codec:"messageID,omitempty" json:"messageID,omitempty"`
  4414  	OutboxID  *OutboxID  `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  4415  }
  4416  
  4417  func (o EditTarget) DeepCopy() EditTarget {
  4418  	return EditTarget{
  4419  		MessageID: (func(x *MessageID) *MessageID {
  4420  			if x == nil {
  4421  				return nil
  4422  			}
  4423  			tmp := (*x).DeepCopy()
  4424  			return &tmp
  4425  		})(o.MessageID),
  4426  		OutboxID: (func(x *OutboxID) *OutboxID {
  4427  			if x == nil {
  4428  				return nil
  4429  			}
  4430  			tmp := (*x).DeepCopy()
  4431  			return &tmp
  4432  		})(o.OutboxID),
  4433  	}
  4434  }
  4435  
  4436  type SetConversationStatusLocalRes struct {
  4437  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  4438  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  4439  }
  4440  
  4441  func (o SetConversationStatusLocalRes) DeepCopy() SetConversationStatusLocalRes {
  4442  	return SetConversationStatusLocalRes{
  4443  		RateLimits: (func(x []RateLimit) []RateLimit {
  4444  			if x == nil {
  4445  				return nil
  4446  			}
  4447  			ret := make([]RateLimit, len(x))
  4448  			for i, v := range x {
  4449  				vCopy := v.DeepCopy()
  4450  				ret[i] = vCopy
  4451  			}
  4452  			return ret
  4453  		})(o.RateLimits),
  4454  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  4455  			if x == nil {
  4456  				return nil
  4457  			}
  4458  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  4459  			for i, v := range x {
  4460  				vCopy := v.DeepCopy()
  4461  				ret[i] = vCopy
  4462  			}
  4463  			return ret
  4464  		})(o.IdentifyFailures),
  4465  	}
  4466  }
  4467  
  4468  type NewConversationsLocalRes struct {
  4469  	Results          []NewConversationsLocalResult `codec:"results" json:"results"`
  4470  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  4471  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  4472  }
  4473  
  4474  func (o NewConversationsLocalRes) DeepCopy() NewConversationsLocalRes {
  4475  	return NewConversationsLocalRes{
  4476  		Results: (func(x []NewConversationsLocalResult) []NewConversationsLocalResult {
  4477  			if x == nil {
  4478  				return nil
  4479  			}
  4480  			ret := make([]NewConversationsLocalResult, len(x))
  4481  			for i, v := range x {
  4482  				vCopy := v.DeepCopy()
  4483  				ret[i] = vCopy
  4484  			}
  4485  			return ret
  4486  		})(o.Results),
  4487  		RateLimits: (func(x []RateLimit) []RateLimit {
  4488  			if x == nil {
  4489  				return nil
  4490  			}
  4491  			ret := make([]RateLimit, len(x))
  4492  			for i, v := range x {
  4493  				vCopy := v.DeepCopy()
  4494  				ret[i] = vCopy
  4495  			}
  4496  			return ret
  4497  		})(o.RateLimits),
  4498  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  4499  			if x == nil {
  4500  				return nil
  4501  			}
  4502  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  4503  			for i, v := range x {
  4504  				vCopy := v.DeepCopy()
  4505  				ret[i] = vCopy
  4506  			}
  4507  			return ret
  4508  		})(o.IdentifyFailures),
  4509  	}
  4510  }
  4511  
  4512  type NewConversationsLocalResult struct {
  4513  	Result *NewConversationLocalRes `codec:"result,omitempty" json:"result,omitempty"`
  4514  	Err    *string                  `codec:"err,omitempty" json:"err,omitempty"`
  4515  }
  4516  
  4517  func (o NewConversationsLocalResult) DeepCopy() NewConversationsLocalResult {
  4518  	return NewConversationsLocalResult{
  4519  		Result: (func(x *NewConversationLocalRes) *NewConversationLocalRes {
  4520  			if x == nil {
  4521  				return nil
  4522  			}
  4523  			tmp := (*x).DeepCopy()
  4524  			return &tmp
  4525  		})(o.Result),
  4526  		Err: (func(x *string) *string {
  4527  			if x == nil {
  4528  				return nil
  4529  			}
  4530  			tmp := (*x)
  4531  			return &tmp
  4532  		})(o.Err),
  4533  	}
  4534  }
  4535  
  4536  type NewConversationLocalArgument struct {
  4537  	TlfName       string                  `codec:"tlfName" json:"tlfName"`
  4538  	TopicType     TopicType               `codec:"topicType" json:"topicType"`
  4539  	TlfVisibility keybase1.TLFVisibility  `codec:"tlfVisibility" json:"tlfVisibility"`
  4540  	TopicName     *string                 `codec:"topicName,omitempty" json:"topicName,omitempty"`
  4541  	MembersType   ConversationMembersType `codec:"membersType" json:"membersType"`
  4542  }
  4543  
  4544  func (o NewConversationLocalArgument) DeepCopy() NewConversationLocalArgument {
  4545  	return NewConversationLocalArgument{
  4546  		TlfName:       o.TlfName,
  4547  		TopicType:     o.TopicType.DeepCopy(),
  4548  		TlfVisibility: o.TlfVisibility.DeepCopy(),
  4549  		TopicName: (func(x *string) *string {
  4550  			if x == nil {
  4551  				return nil
  4552  			}
  4553  			tmp := (*x)
  4554  			return &tmp
  4555  		})(o.TopicName),
  4556  		MembersType: o.MembersType.DeepCopy(),
  4557  	}
  4558  }
  4559  
  4560  type NewConversationLocalRes struct {
  4561  	Conv             ConversationLocal             `codec:"conv" json:"conv"`
  4562  	UiConv           InboxUIItem                   `codec:"uiConv" json:"uiConv"`
  4563  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  4564  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  4565  }
  4566  
  4567  func (o NewConversationLocalRes) DeepCopy() NewConversationLocalRes {
  4568  	return NewConversationLocalRes{
  4569  		Conv:   o.Conv.DeepCopy(),
  4570  		UiConv: o.UiConv.DeepCopy(),
  4571  		RateLimits: (func(x []RateLimit) []RateLimit {
  4572  			if x == nil {
  4573  				return nil
  4574  			}
  4575  			ret := make([]RateLimit, len(x))
  4576  			for i, v := range x {
  4577  				vCopy := v.DeepCopy()
  4578  				ret[i] = vCopy
  4579  			}
  4580  			return ret
  4581  		})(o.RateLimits),
  4582  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  4583  			if x == nil {
  4584  				return nil
  4585  			}
  4586  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  4587  			for i, v := range x {
  4588  				vCopy := v.DeepCopy()
  4589  				ret[i] = vCopy
  4590  			}
  4591  			return ret
  4592  		})(o.IdentifyFailures),
  4593  	}
  4594  }
  4595  
  4596  type GetInboxSummaryForCLILocalQuery struct {
  4597  	TopicType           TopicType              `codec:"topicType" json:"topicType"`
  4598  	After               string                 `codec:"after" json:"after"`
  4599  	Before              string                 `codec:"before" json:"before"`
  4600  	Visibility          keybase1.TLFVisibility `codec:"visibility" json:"visibility"`
  4601  	Status              []ConversationStatus   `codec:"status" json:"status"`
  4602  	ConvIDs             []ConversationID       `codec:"convIDs" json:"convIDs"`
  4603  	UnreadFirst         bool                   `codec:"unreadFirst" json:"unreadFirst"`
  4604  	UnreadFirstLimit    UnreadFirstNumLimit    `codec:"unreadFirstLimit" json:"unreadFirstLimit"`
  4605  	ActivitySortedLimit int                    `codec:"activitySortedLimit" json:"activitySortedLimit"`
  4606  }
  4607  
  4608  func (o GetInboxSummaryForCLILocalQuery) DeepCopy() GetInboxSummaryForCLILocalQuery {
  4609  	return GetInboxSummaryForCLILocalQuery{
  4610  		TopicType:  o.TopicType.DeepCopy(),
  4611  		After:      o.After,
  4612  		Before:     o.Before,
  4613  		Visibility: o.Visibility.DeepCopy(),
  4614  		Status: (func(x []ConversationStatus) []ConversationStatus {
  4615  			if x == nil {
  4616  				return nil
  4617  			}
  4618  			ret := make([]ConversationStatus, len(x))
  4619  			for i, v := range x {
  4620  				vCopy := v.DeepCopy()
  4621  				ret[i] = vCopy
  4622  			}
  4623  			return ret
  4624  		})(o.Status),
  4625  		ConvIDs: (func(x []ConversationID) []ConversationID {
  4626  			if x == nil {
  4627  				return nil
  4628  			}
  4629  			ret := make([]ConversationID, len(x))
  4630  			for i, v := range x {
  4631  				vCopy := v.DeepCopy()
  4632  				ret[i] = vCopy
  4633  			}
  4634  			return ret
  4635  		})(o.ConvIDs),
  4636  		UnreadFirst:         o.UnreadFirst,
  4637  		UnreadFirstLimit:    o.UnreadFirstLimit.DeepCopy(),
  4638  		ActivitySortedLimit: o.ActivitySortedLimit,
  4639  	}
  4640  }
  4641  
  4642  type GetInboxSummaryForCLILocalRes struct {
  4643  	Conversations []ConversationLocal `codec:"conversations" json:"conversations"`
  4644  	Offline       bool                `codec:"offline" json:"offline"`
  4645  	RateLimits    []RateLimit         `codec:"rateLimits" json:"rateLimits"`
  4646  }
  4647  
  4648  func (o GetInboxSummaryForCLILocalRes) DeepCopy() GetInboxSummaryForCLILocalRes {
  4649  	return GetInboxSummaryForCLILocalRes{
  4650  		Conversations: (func(x []ConversationLocal) []ConversationLocal {
  4651  			if x == nil {
  4652  				return nil
  4653  			}
  4654  			ret := make([]ConversationLocal, len(x))
  4655  			for i, v := range x {
  4656  				vCopy := v.DeepCopy()
  4657  				ret[i] = vCopy
  4658  			}
  4659  			return ret
  4660  		})(o.Conversations),
  4661  		Offline: o.Offline,
  4662  		RateLimits: (func(x []RateLimit) []RateLimit {
  4663  			if x == nil {
  4664  				return nil
  4665  			}
  4666  			ret := make([]RateLimit, len(x))
  4667  			for i, v := range x {
  4668  				vCopy := v.DeepCopy()
  4669  				ret[i] = vCopy
  4670  			}
  4671  			return ret
  4672  		})(o.RateLimits),
  4673  	}
  4674  }
  4675  
  4676  type GetConversationForCLILocalQuery struct {
  4677  	MarkAsRead   bool                `codec:"markAsRead" json:"markAsRead"`
  4678  	MessageTypes []MessageType       `codec:"MessageTypes" json:"MessageTypes"`
  4679  	Since        *string             `codec:"Since,omitempty" json:"Since,omitempty"`
  4680  	Limit        UnreadFirstNumLimit `codec:"limit" json:"limit"`
  4681  	Conv         ConversationLocal   `codec:"conv" json:"conv"`
  4682  }
  4683  
  4684  func (o GetConversationForCLILocalQuery) DeepCopy() GetConversationForCLILocalQuery {
  4685  	return GetConversationForCLILocalQuery{
  4686  		MarkAsRead: o.MarkAsRead,
  4687  		MessageTypes: (func(x []MessageType) []MessageType {
  4688  			if x == nil {
  4689  				return nil
  4690  			}
  4691  			ret := make([]MessageType, len(x))
  4692  			for i, v := range x {
  4693  				vCopy := v.DeepCopy()
  4694  				ret[i] = vCopy
  4695  			}
  4696  			return ret
  4697  		})(o.MessageTypes),
  4698  		Since: (func(x *string) *string {
  4699  			if x == nil {
  4700  				return nil
  4701  			}
  4702  			tmp := (*x)
  4703  			return &tmp
  4704  		})(o.Since),
  4705  		Limit: o.Limit.DeepCopy(),
  4706  		Conv:  o.Conv.DeepCopy(),
  4707  	}
  4708  }
  4709  
  4710  type GetConversationForCLILocalRes struct {
  4711  	Conversation ConversationLocal `codec:"conversation" json:"conversation"`
  4712  	Messages     []MessageUnboxed  `codec:"messages" json:"messages"`
  4713  	Offline      bool              `codec:"offline" json:"offline"`
  4714  	RateLimits   []RateLimit       `codec:"rateLimits" json:"rateLimits"`
  4715  }
  4716  
  4717  func (o GetConversationForCLILocalRes) DeepCopy() GetConversationForCLILocalRes {
  4718  	return GetConversationForCLILocalRes{
  4719  		Conversation: o.Conversation.DeepCopy(),
  4720  		Messages: (func(x []MessageUnboxed) []MessageUnboxed {
  4721  			if x == nil {
  4722  				return nil
  4723  			}
  4724  			ret := make([]MessageUnboxed, len(x))
  4725  			for i, v := range x {
  4726  				vCopy := v.DeepCopy()
  4727  				ret[i] = vCopy
  4728  			}
  4729  			return ret
  4730  		})(o.Messages),
  4731  		Offline: o.Offline,
  4732  		RateLimits: (func(x []RateLimit) []RateLimit {
  4733  			if x == nil {
  4734  				return nil
  4735  			}
  4736  			ret := make([]RateLimit, len(x))
  4737  			for i, v := range x {
  4738  				vCopy := v.DeepCopy()
  4739  				ret[i] = vCopy
  4740  			}
  4741  			return ret
  4742  		})(o.RateLimits),
  4743  	}
  4744  }
  4745  
  4746  type GetMessagesLocalRes struct {
  4747  	Messages         []MessageUnboxed              `codec:"messages" json:"messages"`
  4748  	Offline          bool                          `codec:"offline" json:"offline"`
  4749  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  4750  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  4751  }
  4752  
  4753  func (o GetMessagesLocalRes) DeepCopy() GetMessagesLocalRes {
  4754  	return GetMessagesLocalRes{
  4755  		Messages: (func(x []MessageUnboxed) []MessageUnboxed {
  4756  			if x == nil {
  4757  				return nil
  4758  			}
  4759  			ret := make([]MessageUnboxed, len(x))
  4760  			for i, v := range x {
  4761  				vCopy := v.DeepCopy()
  4762  				ret[i] = vCopy
  4763  			}
  4764  			return ret
  4765  		})(o.Messages),
  4766  		Offline: o.Offline,
  4767  		RateLimits: (func(x []RateLimit) []RateLimit {
  4768  			if x == nil {
  4769  				return nil
  4770  			}
  4771  			ret := make([]RateLimit, len(x))
  4772  			for i, v := range x {
  4773  				vCopy := v.DeepCopy()
  4774  				ret[i] = vCopy
  4775  			}
  4776  			return ret
  4777  		})(o.RateLimits),
  4778  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  4779  			if x == nil {
  4780  				return nil
  4781  			}
  4782  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  4783  			for i, v := range x {
  4784  				vCopy := v.DeepCopy()
  4785  				ret[i] = vCopy
  4786  			}
  4787  			return ret
  4788  		})(o.IdentifyFailures),
  4789  	}
  4790  }
  4791  
  4792  type PostFileAttachmentArg struct {
  4793  	ConversationID    ConversationID               `codec:"conversationID" json:"conversationID"`
  4794  	TlfName           string                       `codec:"tlfName" json:"tlfName"`
  4795  	Visibility        keybase1.TLFVisibility       `codec:"visibility" json:"visibility"`
  4796  	Filename          string                       `codec:"filename" json:"filename"`
  4797  	Title             string                       `codec:"title" json:"title"`
  4798  	Metadata          []byte                       `codec:"metadata" json:"metadata"`
  4799  	IdentifyBehavior  keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  4800  	CallerPreview     *MakePreviewRes              `codec:"callerPreview,omitempty" json:"callerPreview,omitempty"`
  4801  	OutboxID          *OutboxID                    `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  4802  	EphemeralLifetime *gregor1.DurationSec         `codec:"ephemeralLifetime,omitempty" json:"ephemeralLifetime,omitempty"`
  4803  }
  4804  
  4805  func (o PostFileAttachmentArg) DeepCopy() PostFileAttachmentArg {
  4806  	return PostFileAttachmentArg{
  4807  		ConversationID: o.ConversationID.DeepCopy(),
  4808  		TlfName:        o.TlfName,
  4809  		Visibility:     o.Visibility.DeepCopy(),
  4810  		Filename:       o.Filename,
  4811  		Title:          o.Title,
  4812  		Metadata: (func(x []byte) []byte {
  4813  			if x == nil {
  4814  				return nil
  4815  			}
  4816  			return append([]byte{}, x...)
  4817  		})(o.Metadata),
  4818  		IdentifyBehavior: o.IdentifyBehavior.DeepCopy(),
  4819  		CallerPreview: (func(x *MakePreviewRes) *MakePreviewRes {
  4820  			if x == nil {
  4821  				return nil
  4822  			}
  4823  			tmp := (*x).DeepCopy()
  4824  			return &tmp
  4825  		})(o.CallerPreview),
  4826  		OutboxID: (func(x *OutboxID) *OutboxID {
  4827  			if x == nil {
  4828  				return nil
  4829  			}
  4830  			tmp := (*x).DeepCopy()
  4831  			return &tmp
  4832  		})(o.OutboxID),
  4833  		EphemeralLifetime: (func(x *gregor1.DurationSec) *gregor1.DurationSec {
  4834  			if x == nil {
  4835  				return nil
  4836  			}
  4837  			tmp := (*x).DeepCopy()
  4838  			return &tmp
  4839  		})(o.EphemeralLifetime),
  4840  	}
  4841  }
  4842  
  4843  type GetNextAttachmentMessageLocalRes struct {
  4844  	Message          *UIMessage                    `codec:"message,omitempty" json:"message,omitempty"`
  4845  	Offline          bool                          `codec:"offline" json:"offline"`
  4846  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  4847  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  4848  }
  4849  
  4850  func (o GetNextAttachmentMessageLocalRes) DeepCopy() GetNextAttachmentMessageLocalRes {
  4851  	return GetNextAttachmentMessageLocalRes{
  4852  		Message: (func(x *UIMessage) *UIMessage {
  4853  			if x == nil {
  4854  				return nil
  4855  			}
  4856  			tmp := (*x).DeepCopy()
  4857  			return &tmp
  4858  		})(o.Message),
  4859  		Offline: o.Offline,
  4860  		RateLimits: (func(x []RateLimit) []RateLimit {
  4861  			if x == nil {
  4862  				return nil
  4863  			}
  4864  			ret := make([]RateLimit, len(x))
  4865  			for i, v := range x {
  4866  				vCopy := v.DeepCopy()
  4867  				ret[i] = vCopy
  4868  			}
  4869  			return ret
  4870  		})(o.RateLimits),
  4871  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  4872  			if x == nil {
  4873  				return nil
  4874  			}
  4875  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  4876  			for i, v := range x {
  4877  				vCopy := v.DeepCopy()
  4878  				ret[i] = vCopy
  4879  			}
  4880  			return ret
  4881  		})(o.IdentifyFailures),
  4882  	}
  4883  }
  4884  
  4885  type DownloadAttachmentLocalRes struct {
  4886  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  4887  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  4888  }
  4889  
  4890  func (o DownloadAttachmentLocalRes) DeepCopy() DownloadAttachmentLocalRes {
  4891  	return DownloadAttachmentLocalRes{
  4892  		RateLimits: (func(x []RateLimit) []RateLimit {
  4893  			if x == nil {
  4894  				return nil
  4895  			}
  4896  			ret := make([]RateLimit, len(x))
  4897  			for i, v := range x {
  4898  				vCopy := v.DeepCopy()
  4899  				ret[i] = vCopy
  4900  			}
  4901  			return ret
  4902  		})(o.RateLimits),
  4903  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  4904  			if x == nil {
  4905  				return nil
  4906  			}
  4907  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  4908  			for i, v := range x {
  4909  				vCopy := v.DeepCopy()
  4910  				ret[i] = vCopy
  4911  			}
  4912  			return ret
  4913  		})(o.IdentifyFailures),
  4914  	}
  4915  }
  4916  
  4917  type DownloadFileAttachmentLocalRes struct {
  4918  	FilePath         string                        `codec:"filePath" json:"filePath"`
  4919  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  4920  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  4921  }
  4922  
  4923  func (o DownloadFileAttachmentLocalRes) DeepCopy() DownloadFileAttachmentLocalRes {
  4924  	return DownloadFileAttachmentLocalRes{
  4925  		FilePath: o.FilePath,
  4926  		RateLimits: (func(x []RateLimit) []RateLimit {
  4927  			if x == nil {
  4928  				return nil
  4929  			}
  4930  			ret := make([]RateLimit, len(x))
  4931  			for i, v := range x {
  4932  				vCopy := v.DeepCopy()
  4933  				ret[i] = vCopy
  4934  			}
  4935  			return ret
  4936  		})(o.RateLimits),
  4937  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  4938  			if x == nil {
  4939  				return nil
  4940  			}
  4941  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  4942  			for i, v := range x {
  4943  				vCopy := v.DeepCopy()
  4944  				ret[i] = vCopy
  4945  			}
  4946  			return ret
  4947  		})(o.IdentifyFailures),
  4948  	}
  4949  }
  4950  
  4951  type PreviewLocationTyp int
  4952  
  4953  const (
  4954  	PreviewLocationTyp_URL   PreviewLocationTyp = 0
  4955  	PreviewLocationTyp_FILE  PreviewLocationTyp = 1
  4956  	PreviewLocationTyp_BYTES PreviewLocationTyp = 2
  4957  )
  4958  
  4959  func (o PreviewLocationTyp) DeepCopy() PreviewLocationTyp { return o }
  4960  
  4961  var PreviewLocationTypMap = map[string]PreviewLocationTyp{
  4962  	"URL":   0,
  4963  	"FILE":  1,
  4964  	"BYTES": 2,
  4965  }
  4966  
  4967  var PreviewLocationTypRevMap = map[PreviewLocationTyp]string{
  4968  	0: "URL",
  4969  	1: "FILE",
  4970  	2: "BYTES",
  4971  }
  4972  
  4973  func (e PreviewLocationTyp) String() string {
  4974  	if v, ok := PreviewLocationTypRevMap[e]; ok {
  4975  		return v
  4976  	}
  4977  	return fmt.Sprintf("%v", int(e))
  4978  }
  4979  
  4980  type PreviewLocation struct {
  4981  	Ltyp__  PreviewLocationTyp `codec:"ltyp" json:"ltyp"`
  4982  	Url__   *string            `codec:"url,omitempty" json:"url,omitempty"`
  4983  	File__  *string            `codec:"file,omitempty" json:"file,omitempty"`
  4984  	Bytes__ *[]byte            `codec:"bytes,omitempty" json:"bytes,omitempty"`
  4985  }
  4986  
  4987  func (o *PreviewLocation) Ltyp() (ret PreviewLocationTyp, err error) {
  4988  	switch o.Ltyp__ {
  4989  	case PreviewLocationTyp_URL:
  4990  		if o.Url__ == nil {
  4991  			err = errors.New("unexpected nil value for Url__")
  4992  			return ret, err
  4993  		}
  4994  	case PreviewLocationTyp_FILE:
  4995  		if o.File__ == nil {
  4996  			err = errors.New("unexpected nil value for File__")
  4997  			return ret, err
  4998  		}
  4999  	case PreviewLocationTyp_BYTES:
  5000  		if o.Bytes__ == nil {
  5001  			err = errors.New("unexpected nil value for Bytes__")
  5002  			return ret, err
  5003  		}
  5004  	}
  5005  	return o.Ltyp__, nil
  5006  }
  5007  
  5008  func (o PreviewLocation) Url() (res string) {
  5009  	if o.Ltyp__ != PreviewLocationTyp_URL {
  5010  		panic("wrong case accessed")
  5011  	}
  5012  	if o.Url__ == nil {
  5013  		return
  5014  	}
  5015  	return *o.Url__
  5016  }
  5017  
  5018  func (o PreviewLocation) File() (res string) {
  5019  	if o.Ltyp__ != PreviewLocationTyp_FILE {
  5020  		panic("wrong case accessed")
  5021  	}
  5022  	if o.File__ == nil {
  5023  		return
  5024  	}
  5025  	return *o.File__
  5026  }
  5027  
  5028  func (o PreviewLocation) Bytes() (res []byte) {
  5029  	if o.Ltyp__ != PreviewLocationTyp_BYTES {
  5030  		panic("wrong case accessed")
  5031  	}
  5032  	if o.Bytes__ == nil {
  5033  		return
  5034  	}
  5035  	return *o.Bytes__
  5036  }
  5037  
  5038  func NewPreviewLocationWithUrl(v string) PreviewLocation {
  5039  	return PreviewLocation{
  5040  		Ltyp__: PreviewLocationTyp_URL,
  5041  		Url__:  &v,
  5042  	}
  5043  }
  5044  
  5045  func NewPreviewLocationWithFile(v string) PreviewLocation {
  5046  	return PreviewLocation{
  5047  		Ltyp__: PreviewLocationTyp_FILE,
  5048  		File__: &v,
  5049  	}
  5050  }
  5051  
  5052  func NewPreviewLocationWithBytes(v []byte) PreviewLocation {
  5053  	return PreviewLocation{
  5054  		Ltyp__:  PreviewLocationTyp_BYTES,
  5055  		Bytes__: &v,
  5056  	}
  5057  }
  5058  
  5059  func (o PreviewLocation) DeepCopy() PreviewLocation {
  5060  	return PreviewLocation{
  5061  		Ltyp__: o.Ltyp__.DeepCopy(),
  5062  		Url__: (func(x *string) *string {
  5063  			if x == nil {
  5064  				return nil
  5065  			}
  5066  			tmp := (*x)
  5067  			return &tmp
  5068  		})(o.Url__),
  5069  		File__: (func(x *string) *string {
  5070  			if x == nil {
  5071  				return nil
  5072  			}
  5073  			tmp := (*x)
  5074  			return &tmp
  5075  		})(o.File__),
  5076  		Bytes__: (func(x *[]byte) *[]byte {
  5077  			if x == nil {
  5078  				return nil
  5079  			}
  5080  			tmp := (func(x []byte) []byte {
  5081  				if x == nil {
  5082  					return nil
  5083  				}
  5084  				return append([]byte{}, x...)
  5085  			})((*x))
  5086  			return &tmp
  5087  		})(o.Bytes__),
  5088  	}
  5089  }
  5090  
  5091  type MakePreviewRes struct {
  5092  	MimeType        string           `codec:"mimeType" json:"mimeType"`
  5093  	PreviewMimeType *string          `codec:"previewMimeType,omitempty" json:"previewMimeType,omitempty"`
  5094  	Location        *PreviewLocation `codec:"location,omitempty" json:"location,omitempty"`
  5095  	Metadata        *AssetMetadata   `codec:"metadata,omitempty" json:"metadata,omitempty"`
  5096  	BaseMetadata    *AssetMetadata   `codec:"baseMetadata,omitempty" json:"baseMetadata,omitempty"`
  5097  }
  5098  
  5099  func (o MakePreviewRes) DeepCopy() MakePreviewRes {
  5100  	return MakePreviewRes{
  5101  		MimeType: o.MimeType,
  5102  		PreviewMimeType: (func(x *string) *string {
  5103  			if x == nil {
  5104  				return nil
  5105  			}
  5106  			tmp := (*x)
  5107  			return &tmp
  5108  		})(o.PreviewMimeType),
  5109  		Location: (func(x *PreviewLocation) *PreviewLocation {
  5110  			if x == nil {
  5111  				return nil
  5112  			}
  5113  			tmp := (*x).DeepCopy()
  5114  			return &tmp
  5115  		})(o.Location),
  5116  		Metadata: (func(x *AssetMetadata) *AssetMetadata {
  5117  			if x == nil {
  5118  				return nil
  5119  			}
  5120  			tmp := (*x).DeepCopy()
  5121  			return &tmp
  5122  		})(o.Metadata),
  5123  		BaseMetadata: (func(x *AssetMetadata) *AssetMetadata {
  5124  			if x == nil {
  5125  				return nil
  5126  			}
  5127  			tmp := (*x).DeepCopy()
  5128  			return &tmp
  5129  		})(o.BaseMetadata),
  5130  	}
  5131  }
  5132  
  5133  type MarkAsReadLocalRes struct {
  5134  	Offline    bool        `codec:"offline" json:"offline"`
  5135  	RateLimits []RateLimit `codec:"rateLimits" json:"rateLimits"`
  5136  }
  5137  
  5138  func (o MarkAsReadLocalRes) DeepCopy() MarkAsReadLocalRes {
  5139  	return MarkAsReadLocalRes{
  5140  		Offline: o.Offline,
  5141  		RateLimits: (func(x []RateLimit) []RateLimit {
  5142  			if x == nil {
  5143  				return nil
  5144  			}
  5145  			ret := make([]RateLimit, len(x))
  5146  			for i, v := range x {
  5147  				vCopy := v.DeepCopy()
  5148  				ret[i] = vCopy
  5149  			}
  5150  			return ret
  5151  		})(o.RateLimits),
  5152  	}
  5153  }
  5154  
  5155  type MarkTLFAsReadLocalRes struct {
  5156  	Offline    bool        `codec:"offline" json:"offline"`
  5157  	RateLimits []RateLimit `codec:"rateLimits" json:"rateLimits"`
  5158  }
  5159  
  5160  func (o MarkTLFAsReadLocalRes) DeepCopy() MarkTLFAsReadLocalRes {
  5161  	return MarkTLFAsReadLocalRes{
  5162  		Offline: o.Offline,
  5163  		RateLimits: (func(x []RateLimit) []RateLimit {
  5164  			if x == nil {
  5165  				return nil
  5166  			}
  5167  			ret := make([]RateLimit, len(x))
  5168  			for i, v := range x {
  5169  				vCopy := v.DeepCopy()
  5170  				ret[i] = vCopy
  5171  			}
  5172  			return ret
  5173  		})(o.RateLimits),
  5174  	}
  5175  }
  5176  
  5177  type FindConversationsLocalRes struct {
  5178  	Conversations    []ConversationLocal           `codec:"conversations" json:"conversations"`
  5179  	UiConversations  []InboxUIItem                 `codec:"uiConversations" json:"uiConversations"`
  5180  	Offline          bool                          `codec:"offline" json:"offline"`
  5181  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  5182  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  5183  }
  5184  
  5185  func (o FindConversationsLocalRes) DeepCopy() FindConversationsLocalRes {
  5186  	return FindConversationsLocalRes{
  5187  		Conversations: (func(x []ConversationLocal) []ConversationLocal {
  5188  			if x == nil {
  5189  				return nil
  5190  			}
  5191  			ret := make([]ConversationLocal, len(x))
  5192  			for i, v := range x {
  5193  				vCopy := v.DeepCopy()
  5194  				ret[i] = vCopy
  5195  			}
  5196  			return ret
  5197  		})(o.Conversations),
  5198  		UiConversations: (func(x []InboxUIItem) []InboxUIItem {
  5199  			if x == nil {
  5200  				return nil
  5201  			}
  5202  			ret := make([]InboxUIItem, len(x))
  5203  			for i, v := range x {
  5204  				vCopy := v.DeepCopy()
  5205  				ret[i] = vCopy
  5206  			}
  5207  			return ret
  5208  		})(o.UiConversations),
  5209  		Offline: o.Offline,
  5210  		RateLimits: (func(x []RateLimit) []RateLimit {
  5211  			if x == nil {
  5212  				return nil
  5213  			}
  5214  			ret := make([]RateLimit, len(x))
  5215  			for i, v := range x {
  5216  				vCopy := v.DeepCopy()
  5217  				ret[i] = vCopy
  5218  			}
  5219  			return ret
  5220  		})(o.RateLimits),
  5221  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  5222  			if x == nil {
  5223  				return nil
  5224  			}
  5225  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  5226  			for i, v := range x {
  5227  				vCopy := v.DeepCopy()
  5228  				ret[i] = vCopy
  5229  			}
  5230  			return ret
  5231  		})(o.IdentifyFailures),
  5232  	}
  5233  }
  5234  
  5235  type JoinLeaveConversationLocalRes struct {
  5236  	Offline    bool        `codec:"offline" json:"offline"`
  5237  	RateLimits []RateLimit `codec:"rateLimits" json:"rateLimits"`
  5238  }
  5239  
  5240  func (o JoinLeaveConversationLocalRes) DeepCopy() JoinLeaveConversationLocalRes {
  5241  	return JoinLeaveConversationLocalRes{
  5242  		Offline: o.Offline,
  5243  		RateLimits: (func(x []RateLimit) []RateLimit {
  5244  			if x == nil {
  5245  				return nil
  5246  			}
  5247  			ret := make([]RateLimit, len(x))
  5248  			for i, v := range x {
  5249  				vCopy := v.DeepCopy()
  5250  				ret[i] = vCopy
  5251  			}
  5252  			return ret
  5253  		})(o.RateLimits),
  5254  	}
  5255  }
  5256  
  5257  type PreviewConversationLocalRes struct {
  5258  	Conv       InboxUIItem `codec:"conv" json:"conv"`
  5259  	Offline    bool        `codec:"offline" json:"offline"`
  5260  	RateLimits []RateLimit `codec:"rateLimits" json:"rateLimits"`
  5261  }
  5262  
  5263  func (o PreviewConversationLocalRes) DeepCopy() PreviewConversationLocalRes {
  5264  	return PreviewConversationLocalRes{
  5265  		Conv:    o.Conv.DeepCopy(),
  5266  		Offline: o.Offline,
  5267  		RateLimits: (func(x []RateLimit) []RateLimit {
  5268  			if x == nil {
  5269  				return nil
  5270  			}
  5271  			ret := make([]RateLimit, len(x))
  5272  			for i, v := range x {
  5273  				vCopy := v.DeepCopy()
  5274  				ret[i] = vCopy
  5275  			}
  5276  			return ret
  5277  		})(o.RateLimits),
  5278  	}
  5279  }
  5280  
  5281  type DeleteConversationLocalRes struct {
  5282  	Offline    bool        `codec:"offline" json:"offline"`
  5283  	RateLimits []RateLimit `codec:"rateLimits" json:"rateLimits"`
  5284  }
  5285  
  5286  func (o DeleteConversationLocalRes) DeepCopy() DeleteConversationLocalRes {
  5287  	return DeleteConversationLocalRes{
  5288  		Offline: o.Offline,
  5289  		RateLimits: (func(x []RateLimit) []RateLimit {
  5290  			if x == nil {
  5291  				return nil
  5292  			}
  5293  			ret := make([]RateLimit, len(x))
  5294  			for i, v := range x {
  5295  				vCopy := v.DeepCopy()
  5296  				ret[i] = vCopy
  5297  			}
  5298  			return ret
  5299  		})(o.RateLimits),
  5300  	}
  5301  }
  5302  
  5303  type RemoveFromConversationLocalRes struct {
  5304  	RateLimits []RateLimit `codec:"rateLimits" json:"rateLimits"`
  5305  }
  5306  
  5307  func (o RemoveFromConversationLocalRes) DeepCopy() RemoveFromConversationLocalRes {
  5308  	return RemoveFromConversationLocalRes{
  5309  		RateLimits: (func(x []RateLimit) []RateLimit {
  5310  			if x == nil {
  5311  				return nil
  5312  			}
  5313  			ret := make([]RateLimit, len(x))
  5314  			for i, v := range x {
  5315  				vCopy := v.DeepCopy()
  5316  				ret[i] = vCopy
  5317  			}
  5318  			return ret
  5319  		})(o.RateLimits),
  5320  	}
  5321  }
  5322  
  5323  type GetTLFConversationsLocalRes struct {
  5324  	Convs      []InboxUIItem `codec:"convs" json:"convs"`
  5325  	Offline    bool          `codec:"offline" json:"offline"`
  5326  	RateLimits []RateLimit   `codec:"rateLimits" json:"rateLimits"`
  5327  }
  5328  
  5329  func (o GetTLFConversationsLocalRes) DeepCopy() GetTLFConversationsLocalRes {
  5330  	return GetTLFConversationsLocalRes{
  5331  		Convs: (func(x []InboxUIItem) []InboxUIItem {
  5332  			if x == nil {
  5333  				return nil
  5334  			}
  5335  			ret := make([]InboxUIItem, len(x))
  5336  			for i, v := range x {
  5337  				vCopy := v.DeepCopy()
  5338  				ret[i] = vCopy
  5339  			}
  5340  			return ret
  5341  		})(o.Convs),
  5342  		Offline: o.Offline,
  5343  		RateLimits: (func(x []RateLimit) []RateLimit {
  5344  			if x == nil {
  5345  				return nil
  5346  			}
  5347  			ret := make([]RateLimit, len(x))
  5348  			for i, v := range x {
  5349  				vCopy := v.DeepCopy()
  5350  				ret[i] = vCopy
  5351  			}
  5352  			return ret
  5353  		})(o.RateLimits),
  5354  	}
  5355  }
  5356  
  5357  type GetChannelMembershipsLocalRes struct {
  5358  	Channels   []ChannelNameMention `codec:"channels" json:"channels"`
  5359  	Offline    bool                 `codec:"offline" json:"offline"`
  5360  	RateLimits []RateLimit          `codec:"rateLimits" json:"rateLimits"`
  5361  }
  5362  
  5363  func (o GetChannelMembershipsLocalRes) DeepCopy() GetChannelMembershipsLocalRes {
  5364  	return GetChannelMembershipsLocalRes{
  5365  		Channels: (func(x []ChannelNameMention) []ChannelNameMention {
  5366  			if x == nil {
  5367  				return nil
  5368  			}
  5369  			ret := make([]ChannelNameMention, len(x))
  5370  			for i, v := range x {
  5371  				vCopy := v.DeepCopy()
  5372  				ret[i] = vCopy
  5373  			}
  5374  			return ret
  5375  		})(o.Channels),
  5376  		Offline: o.Offline,
  5377  		RateLimits: (func(x []RateLimit) []RateLimit {
  5378  			if x == nil {
  5379  				return nil
  5380  			}
  5381  			ret := make([]RateLimit, len(x))
  5382  			for i, v := range x {
  5383  				vCopy := v.DeepCopy()
  5384  				ret[i] = vCopy
  5385  			}
  5386  			return ret
  5387  		})(o.RateLimits),
  5388  	}
  5389  }
  5390  
  5391  type GetMutualTeamsLocalRes struct {
  5392  	TeamIDs    []keybase1.TeamID `codec:"teamIDs" json:"teamIDs"`
  5393  	Offline    bool              `codec:"offline" json:"offline"`
  5394  	RateLimits []RateLimit       `codec:"rateLimits" json:"rateLimits"`
  5395  }
  5396  
  5397  func (o GetMutualTeamsLocalRes) DeepCopy() GetMutualTeamsLocalRes {
  5398  	return GetMutualTeamsLocalRes{
  5399  		TeamIDs: (func(x []keybase1.TeamID) []keybase1.TeamID {
  5400  			if x == nil {
  5401  				return nil
  5402  			}
  5403  			ret := make([]keybase1.TeamID, len(x))
  5404  			for i, v := range x {
  5405  				vCopy := v.DeepCopy()
  5406  				ret[i] = vCopy
  5407  			}
  5408  			return ret
  5409  		})(o.TeamIDs),
  5410  		Offline: o.Offline,
  5411  		RateLimits: (func(x []RateLimit) []RateLimit {
  5412  			if x == nil {
  5413  				return nil
  5414  			}
  5415  			ret := make([]RateLimit, len(x))
  5416  			for i, v := range x {
  5417  				vCopy := v.DeepCopy()
  5418  				ret[i] = vCopy
  5419  			}
  5420  			return ret
  5421  		})(o.RateLimits),
  5422  	}
  5423  }
  5424  
  5425  type SetAppNotificationSettingsLocalRes struct {
  5426  	Offline    bool        `codec:"offline" json:"offline"`
  5427  	RateLimits []RateLimit `codec:"rateLimits" json:"rateLimits"`
  5428  }
  5429  
  5430  func (o SetAppNotificationSettingsLocalRes) DeepCopy() SetAppNotificationSettingsLocalRes {
  5431  	return SetAppNotificationSettingsLocalRes{
  5432  		Offline: o.Offline,
  5433  		RateLimits: (func(x []RateLimit) []RateLimit {
  5434  			if x == nil {
  5435  				return nil
  5436  			}
  5437  			ret := make([]RateLimit, len(x))
  5438  			for i, v := range x {
  5439  				vCopy := v.DeepCopy()
  5440  				ret[i] = vCopy
  5441  			}
  5442  			return ret
  5443  		})(o.RateLimits),
  5444  	}
  5445  }
  5446  
  5447  type AppNotificationSettingLocal struct {
  5448  	DeviceType keybase1.DeviceType `codec:"deviceType" json:"deviceType"`
  5449  	Kind       NotificationKind    `codec:"kind" json:"kind"`
  5450  	Enabled    bool                `codec:"enabled" json:"enabled"`
  5451  }
  5452  
  5453  func (o AppNotificationSettingLocal) DeepCopy() AppNotificationSettingLocal {
  5454  	return AppNotificationSettingLocal{
  5455  		DeviceType: o.DeviceType.DeepCopy(),
  5456  		Kind:       o.Kind.DeepCopy(),
  5457  		Enabled:    o.Enabled,
  5458  	}
  5459  }
  5460  
  5461  type ResetConvMember struct {
  5462  	Username string         `codec:"username" json:"username"`
  5463  	Uid      gregor1.UID    `codec:"uid" json:"uid"`
  5464  	Conv     ConversationID `codec:"conv" json:"conv"`
  5465  }
  5466  
  5467  func (o ResetConvMember) DeepCopy() ResetConvMember {
  5468  	return ResetConvMember{
  5469  		Username: o.Username,
  5470  		Uid:      o.Uid.DeepCopy(),
  5471  		Conv:     o.Conv.DeepCopy(),
  5472  	}
  5473  }
  5474  
  5475  type GetAllResetConvMembersRes struct {
  5476  	Members    []ResetConvMember `codec:"members" json:"members"`
  5477  	RateLimits []RateLimit       `codec:"rateLimits" json:"rateLimits"`
  5478  }
  5479  
  5480  func (o GetAllResetConvMembersRes) DeepCopy() GetAllResetConvMembersRes {
  5481  	return GetAllResetConvMembersRes{
  5482  		Members: (func(x []ResetConvMember) []ResetConvMember {
  5483  			if x == nil {
  5484  				return nil
  5485  			}
  5486  			ret := make([]ResetConvMember, len(x))
  5487  			for i, v := range x {
  5488  				vCopy := v.DeepCopy()
  5489  				ret[i] = vCopy
  5490  			}
  5491  			return ret
  5492  		})(o.Members),
  5493  		RateLimits: (func(x []RateLimit) []RateLimit {
  5494  			if x == nil {
  5495  				return nil
  5496  			}
  5497  			ret := make([]RateLimit, len(x))
  5498  			for i, v := range x {
  5499  				vCopy := v.DeepCopy()
  5500  				ret[i] = vCopy
  5501  			}
  5502  			return ret
  5503  		})(o.RateLimits),
  5504  	}
  5505  }
  5506  
  5507  type SearchRegexpRes struct {
  5508  	Offline          bool                          `codec:"offline" json:"offline"`
  5509  	Hits             []ChatSearchHit               `codec:"hits" json:"hits"`
  5510  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  5511  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  5512  }
  5513  
  5514  func (o SearchRegexpRes) DeepCopy() SearchRegexpRes {
  5515  	return SearchRegexpRes{
  5516  		Offline: o.Offline,
  5517  		Hits: (func(x []ChatSearchHit) []ChatSearchHit {
  5518  			if x == nil {
  5519  				return nil
  5520  			}
  5521  			ret := make([]ChatSearchHit, len(x))
  5522  			for i, v := range x {
  5523  				vCopy := v.DeepCopy()
  5524  				ret[i] = vCopy
  5525  			}
  5526  			return ret
  5527  		})(o.Hits),
  5528  		RateLimits: (func(x []RateLimit) []RateLimit {
  5529  			if x == nil {
  5530  				return nil
  5531  			}
  5532  			ret := make([]RateLimit, len(x))
  5533  			for i, v := range x {
  5534  				vCopy := v.DeepCopy()
  5535  				ret[i] = vCopy
  5536  			}
  5537  			return ret
  5538  		})(o.RateLimits),
  5539  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  5540  			if x == nil {
  5541  				return nil
  5542  			}
  5543  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  5544  			for i, v := range x {
  5545  				vCopy := v.DeepCopy()
  5546  				ret[i] = vCopy
  5547  			}
  5548  			return ret
  5549  		})(o.IdentifyFailures),
  5550  	}
  5551  }
  5552  
  5553  type SearchInboxRes struct {
  5554  	Offline          bool                          `codec:"offline" json:"offline"`
  5555  	Res              *ChatSearchInboxResults       `codec:"res,omitempty" json:"res,omitempty"`
  5556  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  5557  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  5558  }
  5559  
  5560  func (o SearchInboxRes) DeepCopy() SearchInboxRes {
  5561  	return SearchInboxRes{
  5562  		Offline: o.Offline,
  5563  		Res: (func(x *ChatSearchInboxResults) *ChatSearchInboxResults {
  5564  			if x == nil {
  5565  				return nil
  5566  			}
  5567  			tmp := (*x).DeepCopy()
  5568  			return &tmp
  5569  		})(o.Res),
  5570  		RateLimits: (func(x []RateLimit) []RateLimit {
  5571  			if x == nil {
  5572  				return nil
  5573  			}
  5574  			ret := make([]RateLimit, len(x))
  5575  			for i, v := range x {
  5576  				vCopy := v.DeepCopy()
  5577  				ret[i] = vCopy
  5578  			}
  5579  			return ret
  5580  		})(o.RateLimits),
  5581  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  5582  			if x == nil {
  5583  				return nil
  5584  			}
  5585  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  5586  			for i, v := range x {
  5587  				vCopy := v.DeepCopy()
  5588  				ret[i] = vCopy
  5589  			}
  5590  			return ret
  5591  		})(o.IdentifyFailures),
  5592  	}
  5593  }
  5594  
  5595  type SimpleSearchInboxConvNamesHit struct {
  5596  	Name    string         `codec:"name" json:"name"`
  5597  	ConvID  ConversationID `codec:"convID" json:"convID"`
  5598  	IsTeam  bool           `codec:"isTeam" json:"isTeam"`
  5599  	Parts   []string       `codec:"parts" json:"parts"`
  5600  	TlfName string         `codec:"tlfName" json:"tlfName"`
  5601  }
  5602  
  5603  func (o SimpleSearchInboxConvNamesHit) DeepCopy() SimpleSearchInboxConvNamesHit {
  5604  	return SimpleSearchInboxConvNamesHit{
  5605  		Name:   o.Name,
  5606  		ConvID: o.ConvID.DeepCopy(),
  5607  		IsTeam: o.IsTeam,
  5608  		Parts: (func(x []string) []string {
  5609  			if x == nil {
  5610  				return nil
  5611  			}
  5612  			ret := make([]string, len(x))
  5613  			for i, v := range x {
  5614  				vCopy := v
  5615  				ret[i] = vCopy
  5616  			}
  5617  			return ret
  5618  		})(o.Parts),
  5619  		TlfName: o.TlfName,
  5620  	}
  5621  }
  5622  
  5623  type ProfileSearchConvStats struct {
  5624  	Err            string               `codec:"err" json:"err"`
  5625  	ConvName       string               `codec:"convName" json:"convName"`
  5626  	MinConvID      MessageID            `codec:"minConvID" json:"minConvID"`
  5627  	MaxConvID      MessageID            `codec:"maxConvID" json:"maxConvID"`
  5628  	NumMissing     int                  `codec:"numMissing" json:"numMissing"`
  5629  	NumMessages    int                  `codec:"numMessages" json:"numMessages"`
  5630  	IndexSizeDisk  int                  `codec:"indexSizeDisk" json:"indexSizeDisk"`
  5631  	IndexSizeMem   int64                `codec:"indexSizeMem" json:"indexSizeMem"`
  5632  	DurationMsec   gregor1.DurationMsec `codec:"durationMsec" json:"durationMsec"`
  5633  	PercentIndexed int                  `codec:"percentIndexed" json:"percentIndexed"`
  5634  }
  5635  
  5636  func (o ProfileSearchConvStats) DeepCopy() ProfileSearchConvStats {
  5637  	return ProfileSearchConvStats{
  5638  		Err:            o.Err,
  5639  		ConvName:       o.ConvName,
  5640  		MinConvID:      o.MinConvID.DeepCopy(),
  5641  		MaxConvID:      o.MaxConvID.DeepCopy(),
  5642  		NumMissing:     o.NumMissing,
  5643  		NumMessages:    o.NumMessages,
  5644  		IndexSizeDisk:  o.IndexSizeDisk,
  5645  		IndexSizeMem:   o.IndexSizeMem,
  5646  		DurationMsec:   o.DurationMsec.DeepCopy(),
  5647  		PercentIndexed: o.PercentIndexed,
  5648  	}
  5649  }
  5650  
  5651  type BuiltinCommandGroup struct {
  5652  	Typ      ConversationBuiltinCommandTyp `codec:"typ" json:"typ"`
  5653  	Commands []ConversationCommand         `codec:"commands" json:"commands"`
  5654  }
  5655  
  5656  func (o BuiltinCommandGroup) DeepCopy() BuiltinCommandGroup {
  5657  	return BuiltinCommandGroup{
  5658  		Typ: o.Typ.DeepCopy(),
  5659  		Commands: (func(x []ConversationCommand) []ConversationCommand {
  5660  			if x == nil {
  5661  				return nil
  5662  			}
  5663  			ret := make([]ConversationCommand, len(x))
  5664  			for i, v := range x {
  5665  				vCopy := v.DeepCopy()
  5666  				ret[i] = vCopy
  5667  			}
  5668  			return ret
  5669  		})(o.Commands),
  5670  	}
  5671  }
  5672  
  5673  type StaticConfig struct {
  5674  	DeletableByDeleteHistory []MessageType         `codec:"deletableByDeleteHistory" json:"deletableByDeleteHistory"`
  5675  	BuiltinCommands          []BuiltinCommandGroup `codec:"builtinCommands" json:"builtinCommands"`
  5676  }
  5677  
  5678  func (o StaticConfig) DeepCopy() StaticConfig {
  5679  	return StaticConfig{
  5680  		DeletableByDeleteHistory: (func(x []MessageType) []MessageType {
  5681  			if x == nil {
  5682  				return nil
  5683  			}
  5684  			ret := make([]MessageType, len(x))
  5685  			for i, v := range x {
  5686  				vCopy := v.DeepCopy()
  5687  				ret[i] = vCopy
  5688  			}
  5689  			return ret
  5690  		})(o.DeletableByDeleteHistory),
  5691  		BuiltinCommands: (func(x []BuiltinCommandGroup) []BuiltinCommandGroup {
  5692  			if x == nil {
  5693  				return nil
  5694  			}
  5695  			ret := make([]BuiltinCommandGroup, len(x))
  5696  			for i, v := range x {
  5697  				vCopy := v.DeepCopy()
  5698  				ret[i] = vCopy
  5699  			}
  5700  			return ret
  5701  		})(o.BuiltinCommands),
  5702  	}
  5703  }
  5704  
  5705  type UnfurlPromptAction int
  5706  
  5707  const (
  5708  	UnfurlPromptAction_ALWAYS  UnfurlPromptAction = 0
  5709  	UnfurlPromptAction_NEVER   UnfurlPromptAction = 1
  5710  	UnfurlPromptAction_ACCEPT  UnfurlPromptAction = 2
  5711  	UnfurlPromptAction_NOTNOW  UnfurlPromptAction = 3
  5712  	UnfurlPromptAction_ONETIME UnfurlPromptAction = 4
  5713  )
  5714  
  5715  func (o UnfurlPromptAction) DeepCopy() UnfurlPromptAction { return o }
  5716  
  5717  var UnfurlPromptActionMap = map[string]UnfurlPromptAction{
  5718  	"ALWAYS":  0,
  5719  	"NEVER":   1,
  5720  	"ACCEPT":  2,
  5721  	"NOTNOW":  3,
  5722  	"ONETIME": 4,
  5723  }
  5724  
  5725  var UnfurlPromptActionRevMap = map[UnfurlPromptAction]string{
  5726  	0: "ALWAYS",
  5727  	1: "NEVER",
  5728  	2: "ACCEPT",
  5729  	3: "NOTNOW",
  5730  	4: "ONETIME",
  5731  }
  5732  
  5733  func (e UnfurlPromptAction) String() string {
  5734  	if v, ok := UnfurlPromptActionRevMap[e]; ok {
  5735  		return v
  5736  	}
  5737  	return fmt.Sprintf("%v", int(e))
  5738  }
  5739  
  5740  type UnfurlPromptResult struct {
  5741  	ActionType__ UnfurlPromptAction `codec:"actionType" json:"actionType"`
  5742  	Accept__     *string            `codec:"accept,omitempty" json:"accept,omitempty"`
  5743  	Onetime__    *string            `codec:"onetime,omitempty" json:"onetime,omitempty"`
  5744  }
  5745  
  5746  func (o *UnfurlPromptResult) ActionType() (ret UnfurlPromptAction, err error) {
  5747  	switch o.ActionType__ {
  5748  	case UnfurlPromptAction_ACCEPT:
  5749  		if o.Accept__ == nil {
  5750  			err = errors.New("unexpected nil value for Accept__")
  5751  			return ret, err
  5752  		}
  5753  	case UnfurlPromptAction_ONETIME:
  5754  		if o.Onetime__ == nil {
  5755  			err = errors.New("unexpected nil value for Onetime__")
  5756  			return ret, err
  5757  		}
  5758  	}
  5759  	return o.ActionType__, nil
  5760  }
  5761  
  5762  func (o UnfurlPromptResult) Accept() (res string) {
  5763  	if o.ActionType__ != UnfurlPromptAction_ACCEPT {
  5764  		panic("wrong case accessed")
  5765  	}
  5766  	if o.Accept__ == nil {
  5767  		return
  5768  	}
  5769  	return *o.Accept__
  5770  }
  5771  
  5772  func (o UnfurlPromptResult) Onetime() (res string) {
  5773  	if o.ActionType__ != UnfurlPromptAction_ONETIME {
  5774  		panic("wrong case accessed")
  5775  	}
  5776  	if o.Onetime__ == nil {
  5777  		return
  5778  	}
  5779  	return *o.Onetime__
  5780  }
  5781  
  5782  func NewUnfurlPromptResultWithAlways() UnfurlPromptResult {
  5783  	return UnfurlPromptResult{
  5784  		ActionType__: UnfurlPromptAction_ALWAYS,
  5785  	}
  5786  }
  5787  
  5788  func NewUnfurlPromptResultWithNever() UnfurlPromptResult {
  5789  	return UnfurlPromptResult{
  5790  		ActionType__: UnfurlPromptAction_NEVER,
  5791  	}
  5792  }
  5793  
  5794  func NewUnfurlPromptResultWithNotnow() UnfurlPromptResult {
  5795  	return UnfurlPromptResult{
  5796  		ActionType__: UnfurlPromptAction_NOTNOW,
  5797  	}
  5798  }
  5799  
  5800  func NewUnfurlPromptResultWithAccept(v string) UnfurlPromptResult {
  5801  	return UnfurlPromptResult{
  5802  		ActionType__: UnfurlPromptAction_ACCEPT,
  5803  		Accept__:     &v,
  5804  	}
  5805  }
  5806  
  5807  func NewUnfurlPromptResultWithOnetime(v string) UnfurlPromptResult {
  5808  	return UnfurlPromptResult{
  5809  		ActionType__: UnfurlPromptAction_ONETIME,
  5810  		Onetime__:    &v,
  5811  	}
  5812  }
  5813  
  5814  func (o UnfurlPromptResult) DeepCopy() UnfurlPromptResult {
  5815  	return UnfurlPromptResult{
  5816  		ActionType__: o.ActionType__.DeepCopy(),
  5817  		Accept__: (func(x *string) *string {
  5818  			if x == nil {
  5819  				return nil
  5820  			}
  5821  			tmp := (*x)
  5822  			return &tmp
  5823  		})(o.Accept__),
  5824  		Onetime__: (func(x *string) *string {
  5825  			if x == nil {
  5826  				return nil
  5827  			}
  5828  			tmp := (*x)
  5829  			return &tmp
  5830  		})(o.Onetime__),
  5831  	}
  5832  }
  5833  
  5834  type GalleryItemTyp int
  5835  
  5836  const (
  5837  	GalleryItemTyp_MEDIA GalleryItemTyp = 0
  5838  	GalleryItemTyp_LINK  GalleryItemTyp = 1
  5839  	GalleryItemTyp_DOC   GalleryItemTyp = 2
  5840  )
  5841  
  5842  func (o GalleryItemTyp) DeepCopy() GalleryItemTyp { return o }
  5843  
  5844  var GalleryItemTypMap = map[string]GalleryItemTyp{
  5845  	"MEDIA": 0,
  5846  	"LINK":  1,
  5847  	"DOC":   2,
  5848  }
  5849  
  5850  var GalleryItemTypRevMap = map[GalleryItemTyp]string{
  5851  	0: "MEDIA",
  5852  	1: "LINK",
  5853  	2: "DOC",
  5854  }
  5855  
  5856  func (e GalleryItemTyp) String() string {
  5857  	if v, ok := GalleryItemTypRevMap[e]; ok {
  5858  		return v
  5859  	}
  5860  	return fmt.Sprintf("%v", int(e))
  5861  }
  5862  
  5863  type LoadGalleryRes struct {
  5864  	Messages         []UIMessage                   `codec:"messages" json:"messages"`
  5865  	Last             bool                          `codec:"last" json:"last"`
  5866  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  5867  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  5868  }
  5869  
  5870  func (o LoadGalleryRes) DeepCopy() LoadGalleryRes {
  5871  	return LoadGalleryRes{
  5872  		Messages: (func(x []UIMessage) []UIMessage {
  5873  			if x == nil {
  5874  				return nil
  5875  			}
  5876  			ret := make([]UIMessage, len(x))
  5877  			for i, v := range x {
  5878  				vCopy := v.DeepCopy()
  5879  				ret[i] = vCopy
  5880  			}
  5881  			return ret
  5882  		})(o.Messages),
  5883  		Last: o.Last,
  5884  		RateLimits: (func(x []RateLimit) []RateLimit {
  5885  			if x == nil {
  5886  				return nil
  5887  			}
  5888  			ret := make([]RateLimit, len(x))
  5889  			for i, v := range x {
  5890  				vCopy := v.DeepCopy()
  5891  				ret[i] = vCopy
  5892  			}
  5893  			return ret
  5894  		})(o.RateLimits),
  5895  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  5896  			if x == nil {
  5897  				return nil
  5898  			}
  5899  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  5900  			for i, v := range x {
  5901  				vCopy := v.DeepCopy()
  5902  				ret[i] = vCopy
  5903  			}
  5904  			return ret
  5905  		})(o.IdentifyFailures),
  5906  	}
  5907  }
  5908  
  5909  type LoadFlipRes struct {
  5910  	Status           UICoinFlipStatus              `codec:"status" json:"status"`
  5911  	RateLimits       []RateLimit                   `codec:"rateLimits" json:"rateLimits"`
  5912  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  5913  }
  5914  
  5915  func (o LoadFlipRes) DeepCopy() LoadFlipRes {
  5916  	return LoadFlipRes{
  5917  		Status: o.Status.DeepCopy(),
  5918  		RateLimits: (func(x []RateLimit) []RateLimit {
  5919  			if x == nil {
  5920  				return nil
  5921  			}
  5922  			ret := make([]RateLimit, len(x))
  5923  			for i, v := range x {
  5924  				vCopy := v.DeepCopy()
  5925  				ret[i] = vCopy
  5926  			}
  5927  			return ret
  5928  		})(o.RateLimits),
  5929  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  5930  			if x == nil {
  5931  				return nil
  5932  			}
  5933  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  5934  			for i, v := range x {
  5935  				vCopy := v.DeepCopy()
  5936  				ret[i] = vCopy
  5937  			}
  5938  			return ret
  5939  		})(o.IdentifyFailures),
  5940  	}
  5941  }
  5942  
  5943  type UserBotExtendedDescription struct {
  5944  	Title       string `codec:"title" json:"title"`
  5945  	DesktopBody string `codec:"desktopBody" json:"desktop_body"`
  5946  	MobileBody  string `codec:"mobileBody" json:"mobile_body"`
  5947  }
  5948  
  5949  func (o UserBotExtendedDescription) DeepCopy() UserBotExtendedDescription {
  5950  	return UserBotExtendedDescription{
  5951  		Title:       o.Title,
  5952  		DesktopBody: o.DesktopBody,
  5953  		MobileBody:  o.MobileBody,
  5954  	}
  5955  }
  5956  
  5957  type UserBotCommandOutput struct {
  5958  	Name                string                      `codec:"name" json:"name"`
  5959  	Description         string                      `codec:"description" json:"description"`
  5960  	Usage               string                      `codec:"usage" json:"usage"`
  5961  	ExtendedDescription *UserBotExtendedDescription `codec:"extendedDescription,omitempty" json:"extended_description,omitempty"`
  5962  	Username            string                      `codec:"username" json:"username"`
  5963  }
  5964  
  5965  func (o UserBotCommandOutput) DeepCopy() UserBotCommandOutput {
  5966  	return UserBotCommandOutput{
  5967  		Name:        o.Name,
  5968  		Description: o.Description,
  5969  		Usage:       o.Usage,
  5970  		ExtendedDescription: (func(x *UserBotExtendedDescription) *UserBotExtendedDescription {
  5971  			if x == nil {
  5972  				return nil
  5973  			}
  5974  			tmp := (*x).DeepCopy()
  5975  			return &tmp
  5976  		})(o.ExtendedDescription),
  5977  		Username: o.Username,
  5978  	}
  5979  }
  5980  
  5981  type UserBotCommandInput struct {
  5982  	Name                string                      `codec:"name" json:"name"`
  5983  	Description         string                      `codec:"description" json:"description"`
  5984  	Usage               string                      `codec:"usage" json:"usage"`
  5985  	ExtendedDescription *UserBotExtendedDescription `codec:"extendedDescription,omitempty" json:"extended_description,omitempty"`
  5986  }
  5987  
  5988  func (o UserBotCommandInput) DeepCopy() UserBotCommandInput {
  5989  	return UserBotCommandInput{
  5990  		Name:        o.Name,
  5991  		Description: o.Description,
  5992  		Usage:       o.Usage,
  5993  		ExtendedDescription: (func(x *UserBotExtendedDescription) *UserBotExtendedDescription {
  5994  			if x == nil {
  5995  				return nil
  5996  			}
  5997  			tmp := (*x).DeepCopy()
  5998  			return &tmp
  5999  		})(o.ExtendedDescription),
  6000  	}
  6001  }
  6002  
  6003  type AdvertiseCommandsParam struct {
  6004  	Typ      BotCommandsAdvertisementTyp `codec:"typ" json:"typ"`
  6005  	Commands []UserBotCommandInput       `codec:"commands" json:"commands"`
  6006  	TeamName *string                     `codec:"teamName,omitempty" json:"teamName,omitempty"`
  6007  	ConvID   *ConversationID             `codec:"convID,omitempty" json:"convID,omitempty"`
  6008  }
  6009  
  6010  func (o AdvertiseCommandsParam) DeepCopy() AdvertiseCommandsParam {
  6011  	return AdvertiseCommandsParam{
  6012  		Typ: o.Typ.DeepCopy(),
  6013  		Commands: (func(x []UserBotCommandInput) []UserBotCommandInput {
  6014  			if x == nil {
  6015  				return nil
  6016  			}
  6017  			ret := make([]UserBotCommandInput, len(x))
  6018  			for i, v := range x {
  6019  				vCopy := v.DeepCopy()
  6020  				ret[i] = vCopy
  6021  			}
  6022  			return ret
  6023  		})(o.Commands),
  6024  		TeamName: (func(x *string) *string {
  6025  			if x == nil {
  6026  				return nil
  6027  			}
  6028  			tmp := (*x)
  6029  			return &tmp
  6030  		})(o.TeamName),
  6031  		ConvID: (func(x *ConversationID) *ConversationID {
  6032  			if x == nil {
  6033  				return nil
  6034  			}
  6035  			tmp := (*x).DeepCopy()
  6036  			return &tmp
  6037  		})(o.ConvID),
  6038  	}
  6039  }
  6040  
  6041  type AdvertiseBotCommandsLocalRes struct {
  6042  	RateLimits []RateLimit `codec:"rateLimits" json:"rateLimits"`
  6043  }
  6044  
  6045  func (o AdvertiseBotCommandsLocalRes) DeepCopy() AdvertiseBotCommandsLocalRes {
  6046  	return AdvertiseBotCommandsLocalRes{
  6047  		RateLimits: (func(x []RateLimit) []RateLimit {
  6048  			if x == nil {
  6049  				return nil
  6050  			}
  6051  			ret := make([]RateLimit, len(x))
  6052  			for i, v := range x {
  6053  				vCopy := v.DeepCopy()
  6054  				ret[i] = vCopy
  6055  			}
  6056  			return ret
  6057  		})(o.RateLimits),
  6058  	}
  6059  }
  6060  
  6061  type ListBotCommandsLocalRes struct {
  6062  	Commands   []UserBotCommandOutput `codec:"commands" json:"commands"`
  6063  	RateLimits []RateLimit            `codec:"rateLimits" json:"rateLimits"`
  6064  }
  6065  
  6066  func (o ListBotCommandsLocalRes) DeepCopy() ListBotCommandsLocalRes {
  6067  	return ListBotCommandsLocalRes{
  6068  		Commands: (func(x []UserBotCommandOutput) []UserBotCommandOutput {
  6069  			if x == nil {
  6070  				return nil
  6071  			}
  6072  			ret := make([]UserBotCommandOutput, len(x))
  6073  			for i, v := range x {
  6074  				vCopy := v.DeepCopy()
  6075  				ret[i] = vCopy
  6076  			}
  6077  			return ret
  6078  		})(o.Commands),
  6079  		RateLimits: (func(x []RateLimit) []RateLimit {
  6080  			if x == nil {
  6081  				return nil
  6082  			}
  6083  			ret := make([]RateLimit, len(x))
  6084  			for i, v := range x {
  6085  				vCopy := v.DeepCopy()
  6086  				ret[i] = vCopy
  6087  			}
  6088  			return ret
  6089  		})(o.RateLimits),
  6090  	}
  6091  }
  6092  
  6093  type ClearBotCommandsFilter struct {
  6094  	Typ      BotCommandsAdvertisementTyp `codec:"typ" json:"typ"`
  6095  	TeamName *string                     `codec:"teamName,omitempty" json:"teamName,omitempty"`
  6096  	ConvID   *ConversationID             `codec:"convID,omitempty" json:"convID,omitempty"`
  6097  }
  6098  
  6099  func (o ClearBotCommandsFilter) DeepCopy() ClearBotCommandsFilter {
  6100  	return ClearBotCommandsFilter{
  6101  		Typ: o.Typ.DeepCopy(),
  6102  		TeamName: (func(x *string) *string {
  6103  			if x == nil {
  6104  				return nil
  6105  			}
  6106  			tmp := (*x)
  6107  			return &tmp
  6108  		})(o.TeamName),
  6109  		ConvID: (func(x *ConversationID) *ConversationID {
  6110  			if x == nil {
  6111  				return nil
  6112  			}
  6113  			tmp := (*x).DeepCopy()
  6114  			return &tmp
  6115  		})(o.ConvID),
  6116  	}
  6117  }
  6118  
  6119  type ClearBotCommandsLocalRes struct {
  6120  	RateLimits []RateLimit `codec:"rateLimits" json:"rateLimits"`
  6121  }
  6122  
  6123  func (o ClearBotCommandsLocalRes) DeepCopy() ClearBotCommandsLocalRes {
  6124  	return ClearBotCommandsLocalRes{
  6125  		RateLimits: (func(x []RateLimit) []RateLimit {
  6126  			if x == nil {
  6127  				return nil
  6128  			}
  6129  			ret := make([]RateLimit, len(x))
  6130  			for i, v := range x {
  6131  				vCopy := v.DeepCopy()
  6132  				ret[i] = vCopy
  6133  			}
  6134  			return ret
  6135  		})(o.RateLimits),
  6136  	}
  6137  }
  6138  
  6139  type PinMessageRes struct {
  6140  	RateLimits []RateLimit `codec:"rateLimits" json:"rateLimits"`
  6141  }
  6142  
  6143  func (o PinMessageRes) DeepCopy() PinMessageRes {
  6144  	return PinMessageRes{
  6145  		RateLimits: (func(x []RateLimit) []RateLimit {
  6146  			if x == nil {
  6147  				return nil
  6148  			}
  6149  			ret := make([]RateLimit, len(x))
  6150  			for i, v := range x {
  6151  				vCopy := v.DeepCopy()
  6152  				ret[i] = vCopy
  6153  			}
  6154  			return ret
  6155  		})(o.RateLimits),
  6156  	}
  6157  }
  6158  
  6159  type ConvSearchHit struct {
  6160  	Name   string         `codec:"name" json:"name"`
  6161  	ConvID ConversationID `codec:"convID" json:"convID"`
  6162  	IsTeam bool           `codec:"isTeam" json:"isTeam"`
  6163  	Parts  []string       `codec:"parts" json:"parts"`
  6164  }
  6165  
  6166  func (o ConvSearchHit) DeepCopy() ConvSearchHit {
  6167  	return ConvSearchHit{
  6168  		Name:   o.Name,
  6169  		ConvID: o.ConvID.DeepCopy(),
  6170  		IsTeam: o.IsTeam,
  6171  		Parts: (func(x []string) []string {
  6172  			if x == nil {
  6173  				return nil
  6174  			}
  6175  			ret := make([]string, len(x))
  6176  			for i, v := range x {
  6177  				vCopy := v
  6178  				ret[i] = vCopy
  6179  			}
  6180  			return ret
  6181  		})(o.Parts),
  6182  	}
  6183  }
  6184  
  6185  type LocalMtimeUpdate struct {
  6186  	ConvID ConversationID `codec:"convID" json:"convID"`
  6187  	Mtime  gregor1.Time   `codec:"mtime" json:"mtime"`
  6188  }
  6189  
  6190  func (o LocalMtimeUpdate) DeepCopy() LocalMtimeUpdate {
  6191  	return LocalMtimeUpdate{
  6192  		ConvID: o.ConvID.DeepCopy(),
  6193  		Mtime:  o.Mtime.DeepCopy(),
  6194  	}
  6195  }
  6196  
  6197  type SnippetDecoration int
  6198  
  6199  const (
  6200  	SnippetDecoration_NONE                   SnippetDecoration = 0
  6201  	SnippetDecoration_PENDING_MESSAGE        SnippetDecoration = 1
  6202  	SnippetDecoration_FAILED_PENDING_MESSAGE SnippetDecoration = 2
  6203  	SnippetDecoration_EXPLODING_MESSAGE      SnippetDecoration = 3
  6204  	SnippetDecoration_EXPLODED_MESSAGE       SnippetDecoration = 4
  6205  	SnippetDecoration_AUDIO_ATTACHMENT       SnippetDecoration = 5
  6206  	SnippetDecoration_VIDEO_ATTACHMENT       SnippetDecoration = 6
  6207  	SnippetDecoration_PHOTO_ATTACHMENT       SnippetDecoration = 7
  6208  	SnippetDecoration_FILE_ATTACHMENT        SnippetDecoration = 8
  6209  	SnippetDecoration_STELLAR_RECEIVED       SnippetDecoration = 9
  6210  	SnippetDecoration_STELLAR_SENT           SnippetDecoration = 10
  6211  	SnippetDecoration_PINNED_MESSAGE         SnippetDecoration = 11
  6212  )
  6213  
  6214  func (o SnippetDecoration) DeepCopy() SnippetDecoration { return o }
  6215  
  6216  var SnippetDecorationMap = map[string]SnippetDecoration{
  6217  	"NONE":                   0,
  6218  	"PENDING_MESSAGE":        1,
  6219  	"FAILED_PENDING_MESSAGE": 2,
  6220  	"EXPLODING_MESSAGE":      3,
  6221  	"EXPLODED_MESSAGE":       4,
  6222  	"AUDIO_ATTACHMENT":       5,
  6223  	"VIDEO_ATTACHMENT":       6,
  6224  	"PHOTO_ATTACHMENT":       7,
  6225  	"FILE_ATTACHMENT":        8,
  6226  	"STELLAR_RECEIVED":       9,
  6227  	"STELLAR_SENT":           10,
  6228  	"PINNED_MESSAGE":         11,
  6229  }
  6230  
  6231  var SnippetDecorationRevMap = map[SnippetDecoration]string{
  6232  	0:  "NONE",
  6233  	1:  "PENDING_MESSAGE",
  6234  	2:  "FAILED_PENDING_MESSAGE",
  6235  	3:  "EXPLODING_MESSAGE",
  6236  	4:  "EXPLODED_MESSAGE",
  6237  	5:  "AUDIO_ATTACHMENT",
  6238  	6:  "VIDEO_ATTACHMENT",
  6239  	7:  "PHOTO_ATTACHMENT",
  6240  	8:  "FILE_ATTACHMENT",
  6241  	9:  "STELLAR_RECEIVED",
  6242  	10: "STELLAR_SENT",
  6243  	11: "PINNED_MESSAGE",
  6244  }
  6245  
  6246  func (e SnippetDecoration) String() string {
  6247  	if v, ok := SnippetDecorationRevMap[e]; ok {
  6248  		return v
  6249  	}
  6250  	return fmt.Sprintf("%v", int(e))
  6251  }
  6252  
  6253  type WelcomeMessageDisplay struct {
  6254  	Set     bool   `codec:"set" json:"set"`
  6255  	Display string `codec:"display" json:"display"`
  6256  	Raw     string `codec:"raw" json:"raw"`
  6257  }
  6258  
  6259  func (o WelcomeMessageDisplay) DeepCopy() WelcomeMessageDisplay {
  6260  	return WelcomeMessageDisplay{
  6261  		Set:     o.Set,
  6262  		Display: o.Display,
  6263  		Raw:     o.Raw,
  6264  	}
  6265  }
  6266  
  6267  type WelcomeMessage struct {
  6268  	Set bool   `codec:"set" json:"set"`
  6269  	Raw string `codec:"raw" json:"raw"`
  6270  }
  6271  
  6272  func (o WelcomeMessage) DeepCopy() WelcomeMessage {
  6273  	return WelcomeMessage{
  6274  		Set: o.Set,
  6275  		Raw: o.Raw,
  6276  	}
  6277  }
  6278  
  6279  type GetDefaultTeamChannelsLocalRes struct {
  6280  	Convs     []InboxUIItem `codec:"convs" json:"convs"`
  6281  	RateLimit *RateLimit    `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
  6282  }
  6283  
  6284  func (o GetDefaultTeamChannelsLocalRes) DeepCopy() GetDefaultTeamChannelsLocalRes {
  6285  	return GetDefaultTeamChannelsLocalRes{
  6286  		Convs: (func(x []InboxUIItem) []InboxUIItem {
  6287  			if x == nil {
  6288  				return nil
  6289  			}
  6290  			ret := make([]InboxUIItem, len(x))
  6291  			for i, v := range x {
  6292  				vCopy := v.DeepCopy()
  6293  				ret[i] = vCopy
  6294  			}
  6295  			return ret
  6296  		})(o.Convs),
  6297  		RateLimit: (func(x *RateLimit) *RateLimit {
  6298  			if x == nil {
  6299  				return nil
  6300  			}
  6301  			tmp := (*x).DeepCopy()
  6302  			return &tmp
  6303  		})(o.RateLimit),
  6304  	}
  6305  }
  6306  
  6307  type SetDefaultTeamChannelsLocalRes struct {
  6308  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
  6309  }
  6310  
  6311  func (o SetDefaultTeamChannelsLocalRes) DeepCopy() SetDefaultTeamChannelsLocalRes {
  6312  	return SetDefaultTeamChannelsLocalRes{
  6313  		RateLimit: (func(x *RateLimit) *RateLimit {
  6314  			if x == nil {
  6315  				return nil
  6316  			}
  6317  			tmp := (*x).DeepCopy()
  6318  			return &tmp
  6319  		})(o.RateLimit),
  6320  	}
  6321  }
  6322  
  6323  type LastActiveTimeAll struct {
  6324  	Teams    map[TLFIDStr]gregor1.Time  `codec:"teams" json:"teams"`
  6325  	Channels map[ConvIDStr]gregor1.Time `codec:"channels" json:"channels"`
  6326  }
  6327  
  6328  func (o LastActiveTimeAll) DeepCopy() LastActiveTimeAll {
  6329  	return LastActiveTimeAll{
  6330  		Teams: (func(x map[TLFIDStr]gregor1.Time) map[TLFIDStr]gregor1.Time {
  6331  			if x == nil {
  6332  				return nil
  6333  			}
  6334  			ret := make(map[TLFIDStr]gregor1.Time, len(x))
  6335  			for k, v := range x {
  6336  				kCopy := k.DeepCopy()
  6337  				vCopy := v.DeepCopy()
  6338  				ret[kCopy] = vCopy
  6339  			}
  6340  			return ret
  6341  		})(o.Teams),
  6342  		Channels: (func(x map[ConvIDStr]gregor1.Time) map[ConvIDStr]gregor1.Time {
  6343  			if x == nil {
  6344  				return nil
  6345  			}
  6346  			ret := make(map[ConvIDStr]gregor1.Time, len(x))
  6347  			for k, v := range x {
  6348  				kCopy := k.DeepCopy()
  6349  				vCopy := v.DeepCopy()
  6350  				ret[kCopy] = vCopy
  6351  			}
  6352  			return ret
  6353  		})(o.Channels),
  6354  	}
  6355  }
  6356  
  6357  type LastActiveStatusAll struct {
  6358  	Teams    map[TLFIDStr]LastActiveStatus  `codec:"teams" json:"teams"`
  6359  	Channels map[ConvIDStr]LastActiveStatus `codec:"channels" json:"channels"`
  6360  }
  6361  
  6362  func (o LastActiveStatusAll) DeepCopy() LastActiveStatusAll {
  6363  	return LastActiveStatusAll{
  6364  		Teams: (func(x map[TLFIDStr]LastActiveStatus) map[TLFIDStr]LastActiveStatus {
  6365  			if x == nil {
  6366  				return nil
  6367  			}
  6368  			ret := make(map[TLFIDStr]LastActiveStatus, len(x))
  6369  			for k, v := range x {
  6370  				kCopy := k.DeepCopy()
  6371  				vCopy := v.DeepCopy()
  6372  				ret[kCopy] = vCopy
  6373  			}
  6374  			return ret
  6375  		})(o.Teams),
  6376  		Channels: (func(x map[ConvIDStr]LastActiveStatus) map[ConvIDStr]LastActiveStatus {
  6377  			if x == nil {
  6378  				return nil
  6379  			}
  6380  			ret := make(map[ConvIDStr]LastActiveStatus, len(x))
  6381  			for k, v := range x {
  6382  				kCopy := k.DeepCopy()
  6383  				vCopy := v.DeepCopy()
  6384  				ret[kCopy] = vCopy
  6385  			}
  6386  			return ret
  6387  		})(o.Channels),
  6388  	}
  6389  }
  6390  
  6391  type EmojiError struct {
  6392  	Clidisplay string `codec:"clidisplay" json:"clidisplay"`
  6393  	Uidisplay  string `codec:"uidisplay" json:"uidisplay"`
  6394  }
  6395  
  6396  func (o EmojiError) DeepCopy() EmojiError {
  6397  	return EmojiError{
  6398  		Clidisplay: o.Clidisplay,
  6399  		Uidisplay:  o.Uidisplay,
  6400  	}
  6401  }
  6402  
  6403  type AddEmojiRes struct {
  6404  	RateLimit *RateLimit  `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
  6405  	Error     *EmojiError `codec:"error,omitempty" json:"error,omitempty"`
  6406  }
  6407  
  6408  func (o AddEmojiRes) DeepCopy() AddEmojiRes {
  6409  	return AddEmojiRes{
  6410  		RateLimit: (func(x *RateLimit) *RateLimit {
  6411  			if x == nil {
  6412  				return nil
  6413  			}
  6414  			tmp := (*x).DeepCopy()
  6415  			return &tmp
  6416  		})(o.RateLimit),
  6417  		Error: (func(x *EmojiError) *EmojiError {
  6418  			if x == nil {
  6419  				return nil
  6420  			}
  6421  			tmp := (*x).DeepCopy()
  6422  			return &tmp
  6423  		})(o.Error),
  6424  	}
  6425  }
  6426  
  6427  type AddEmojisRes struct {
  6428  	RateLimit        *RateLimit            `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
  6429  	SuccessFilenames []string              `codec:"successFilenames" json:"successFilenames"`
  6430  	FailedFilenames  map[string]EmojiError `codec:"failedFilenames" json:"failedFilenames"`
  6431  }
  6432  
  6433  func (o AddEmojisRes) DeepCopy() AddEmojisRes {
  6434  	return AddEmojisRes{
  6435  		RateLimit: (func(x *RateLimit) *RateLimit {
  6436  			if x == nil {
  6437  				return nil
  6438  			}
  6439  			tmp := (*x).DeepCopy()
  6440  			return &tmp
  6441  		})(o.RateLimit),
  6442  		SuccessFilenames: (func(x []string) []string {
  6443  			if x == nil {
  6444  				return nil
  6445  			}
  6446  			ret := make([]string, len(x))
  6447  			for i, v := range x {
  6448  				vCopy := v
  6449  				ret[i] = vCopy
  6450  			}
  6451  			return ret
  6452  		})(o.SuccessFilenames),
  6453  		FailedFilenames: (func(x map[string]EmojiError) map[string]EmojiError {
  6454  			if x == nil {
  6455  				return nil
  6456  			}
  6457  			ret := make(map[string]EmojiError, len(x))
  6458  			for k, v := range x {
  6459  				kCopy := k
  6460  				vCopy := v.DeepCopy()
  6461  				ret[kCopy] = vCopy
  6462  			}
  6463  			return ret
  6464  		})(o.FailedFilenames),
  6465  	}
  6466  }
  6467  
  6468  type AddEmojiAliasRes struct {
  6469  	RateLimit *RateLimit  `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
  6470  	Error     *EmojiError `codec:"error,omitempty" json:"error,omitempty"`
  6471  }
  6472  
  6473  func (o AddEmojiAliasRes) DeepCopy() AddEmojiAliasRes {
  6474  	return AddEmojiAliasRes{
  6475  		RateLimit: (func(x *RateLimit) *RateLimit {
  6476  			if x == nil {
  6477  				return nil
  6478  			}
  6479  			tmp := (*x).DeepCopy()
  6480  			return &tmp
  6481  		})(o.RateLimit),
  6482  		Error: (func(x *EmojiError) *EmojiError {
  6483  			if x == nil {
  6484  				return nil
  6485  			}
  6486  			tmp := (*x).DeepCopy()
  6487  			return &tmp
  6488  		})(o.Error),
  6489  	}
  6490  }
  6491  
  6492  type RemoveEmojiRes struct {
  6493  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
  6494  }
  6495  
  6496  func (o RemoveEmojiRes) DeepCopy() RemoveEmojiRes {
  6497  	return RemoveEmojiRes{
  6498  		RateLimit: (func(x *RateLimit) *RateLimit {
  6499  			if x == nil {
  6500  				return nil
  6501  			}
  6502  			tmp := (*x).DeepCopy()
  6503  			return &tmp
  6504  		})(o.RateLimit),
  6505  	}
  6506  }
  6507  
  6508  type UserEmojiRes struct {
  6509  	Emojis    UserEmojis `codec:"emojis" json:"emojis"`
  6510  	RateLimit *RateLimit `codec:"rateLimit,omitempty" json:"rateLimit,omitempty"`
  6511  }
  6512  
  6513  func (o UserEmojiRes) DeepCopy() UserEmojiRes {
  6514  	return UserEmojiRes{
  6515  		Emojis: o.Emojis.DeepCopy(),
  6516  		RateLimit: (func(x *RateLimit) *RateLimit {
  6517  			if x == nil {
  6518  				return nil
  6519  			}
  6520  			tmp := (*x).DeepCopy()
  6521  			return &tmp
  6522  		})(o.RateLimit),
  6523  	}
  6524  }
  6525  
  6526  type EmojiFetchOpts struct {
  6527  	GetCreationInfo bool `codec:"getCreationInfo" json:"getCreationInfo"`
  6528  	GetAliases      bool `codec:"getAliases" json:"getAliases"`
  6529  	OnlyInTeam      bool `codec:"onlyInTeam" json:"onlyInTeam"`
  6530  }
  6531  
  6532  func (o EmojiFetchOpts) DeepCopy() EmojiFetchOpts {
  6533  	return EmojiFetchOpts{
  6534  		GetCreationInfo: o.GetCreationInfo,
  6535  		GetAliases:      o.GetAliases,
  6536  		OnlyInTeam:      o.OnlyInTeam,
  6537  	}
  6538  }
  6539  
  6540  type TrackGiphySelectRes struct {
  6541  }
  6542  
  6543  func (o TrackGiphySelectRes) DeepCopy() TrackGiphySelectRes {
  6544  	return TrackGiphySelectRes{}
  6545  }
  6546  
  6547  type ArchiveChatJobRequest struct {
  6548  	JobID            ArchiveJobID                 `codec:"jobID" json:"jobID"`
  6549  	OutputPath       string                       `codec:"outputPath" json:"outputPath"`
  6550  	Query            *GetInboxLocalQuery          `codec:"query,omitempty" json:"query,omitempty"`
  6551  	Compress         bool                         `codec:"compress" json:"compress"`
  6552  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6553  }
  6554  
  6555  func (o ArchiveChatJobRequest) DeepCopy() ArchiveChatJobRequest {
  6556  	return ArchiveChatJobRequest{
  6557  		JobID:      o.JobID.DeepCopy(),
  6558  		OutputPath: o.OutputPath,
  6559  		Query: (func(x *GetInboxLocalQuery) *GetInboxLocalQuery {
  6560  			if x == nil {
  6561  				return nil
  6562  			}
  6563  			tmp := (*x).DeepCopy()
  6564  			return &tmp
  6565  		})(o.Query),
  6566  		Compress:         o.Compress,
  6567  		IdentifyBehavior: o.IdentifyBehavior.DeepCopy(),
  6568  	}
  6569  }
  6570  
  6571  type ArchiveChatRes struct {
  6572  	OutputPath       string                        `codec:"outputPath" json:"outputPath"`
  6573  	IdentifyFailures []keybase1.TLFIdentifyFailure `codec:"identifyFailures" json:"identifyFailures"`
  6574  }
  6575  
  6576  func (o ArchiveChatRes) DeepCopy() ArchiveChatRes {
  6577  	return ArchiveChatRes{
  6578  		OutputPath: o.OutputPath,
  6579  		IdentifyFailures: (func(x []keybase1.TLFIdentifyFailure) []keybase1.TLFIdentifyFailure {
  6580  			if x == nil {
  6581  				return nil
  6582  			}
  6583  			ret := make([]keybase1.TLFIdentifyFailure, len(x))
  6584  			for i, v := range x {
  6585  				vCopy := v.DeepCopy()
  6586  				ret[i] = vCopy
  6587  			}
  6588  			return ret
  6589  		})(o.IdentifyFailures),
  6590  	}
  6591  }
  6592  
  6593  type ArchiveChatConvCheckpoint struct {
  6594  	Pagination Pagination `codec:"pagination" json:"pagination"`
  6595  	Offset     int64      `codec:"offset" json:"offset"`
  6596  }
  6597  
  6598  func (o ArchiveChatConvCheckpoint) DeepCopy() ArchiveChatConvCheckpoint {
  6599  	return ArchiveChatConvCheckpoint{
  6600  		Pagination: o.Pagination.DeepCopy(),
  6601  		Offset:     o.Offset,
  6602  	}
  6603  }
  6604  
  6605  type ArchiveChatJob struct {
  6606  	Request          ArchiveChatJobRequest                `codec:"request" json:"request"`
  6607  	MatchingConvs    []InboxUIItem                        `codec:"matchingConvs" json:"matchingConvs"`
  6608  	StartedAt        gregor1.Time                         `codec:"startedAt" json:"startedAt"`
  6609  	Status           ArchiveChatJobStatus                 `codec:"status" json:"status"`
  6610  	Err              string                               `codec:"err" json:"err"`
  6611  	MessagesTotal    int64                                `codec:"messagesTotal" json:"messagesTotal"`
  6612  	MessagesComplete int64                                `codec:"messagesComplete" json:"messagesComplete"`
  6613  	Checkpoints      map[string]ArchiveChatConvCheckpoint `codec:"checkpoints" json:"checkpoints"`
  6614  }
  6615  
  6616  func (o ArchiveChatJob) DeepCopy() ArchiveChatJob {
  6617  	return ArchiveChatJob{
  6618  		Request: o.Request.DeepCopy(),
  6619  		MatchingConvs: (func(x []InboxUIItem) []InboxUIItem {
  6620  			if x == nil {
  6621  				return nil
  6622  			}
  6623  			ret := make([]InboxUIItem, len(x))
  6624  			for i, v := range x {
  6625  				vCopy := v.DeepCopy()
  6626  				ret[i] = vCopy
  6627  			}
  6628  			return ret
  6629  		})(o.MatchingConvs),
  6630  		StartedAt:        o.StartedAt.DeepCopy(),
  6631  		Status:           o.Status.DeepCopy(),
  6632  		Err:              o.Err,
  6633  		MessagesTotal:    o.MessagesTotal,
  6634  		MessagesComplete: o.MessagesComplete,
  6635  		Checkpoints: (func(x map[string]ArchiveChatConvCheckpoint) map[string]ArchiveChatConvCheckpoint {
  6636  			if x == nil {
  6637  				return nil
  6638  			}
  6639  			ret := make(map[string]ArchiveChatConvCheckpoint, len(x))
  6640  			for k, v := range x {
  6641  				kCopy := k
  6642  				vCopy := v.DeepCopy()
  6643  				ret[kCopy] = vCopy
  6644  			}
  6645  			return ret
  6646  		})(o.Checkpoints),
  6647  	}
  6648  }
  6649  
  6650  type ArchiveChatJobStatus int
  6651  
  6652  const (
  6653  	ArchiveChatJobStatus_RUNNING           ArchiveChatJobStatus = 0
  6654  	ArchiveChatJobStatus_PAUSED            ArchiveChatJobStatus = 1
  6655  	ArchiveChatJobStatus_BACKGROUND_PAUSED ArchiveChatJobStatus = 2
  6656  	ArchiveChatJobStatus_ERROR             ArchiveChatJobStatus = 3
  6657  	ArchiveChatJobStatus_COMPLETE          ArchiveChatJobStatus = 4
  6658  )
  6659  
  6660  func (o ArchiveChatJobStatus) DeepCopy() ArchiveChatJobStatus { return o }
  6661  
  6662  var ArchiveChatJobStatusMap = map[string]ArchiveChatJobStatus{
  6663  	"RUNNING":           0,
  6664  	"PAUSED":            1,
  6665  	"BACKGROUND_PAUSED": 2,
  6666  	"ERROR":             3,
  6667  	"COMPLETE":          4,
  6668  }
  6669  
  6670  var ArchiveChatJobStatusRevMap = map[ArchiveChatJobStatus]string{
  6671  	0: "RUNNING",
  6672  	1: "PAUSED",
  6673  	2: "BACKGROUND_PAUSED",
  6674  	3: "ERROR",
  6675  	4: "COMPLETE",
  6676  }
  6677  
  6678  func (e ArchiveChatJobStatus) String() string {
  6679  	if v, ok := ArchiveChatJobStatusRevMap[e]; ok {
  6680  		return v
  6681  	}
  6682  	return fmt.Sprintf("%v", int(e))
  6683  }
  6684  
  6685  type ArchiveChatListRes struct {
  6686  	Jobs []ArchiveChatJob `codec:"jobs" json:"jobs"`
  6687  }
  6688  
  6689  func (o ArchiveChatListRes) DeepCopy() ArchiveChatListRes {
  6690  	return ArchiveChatListRes{
  6691  		Jobs: (func(x []ArchiveChatJob) []ArchiveChatJob {
  6692  			if x == nil {
  6693  				return nil
  6694  			}
  6695  			ret := make([]ArchiveChatJob, len(x))
  6696  			for i, v := range x {
  6697  				vCopy := v.DeepCopy()
  6698  				ret[i] = vCopy
  6699  			}
  6700  			return ret
  6701  		})(o.Jobs),
  6702  	}
  6703  }
  6704  
  6705  type ArchiveChatHistory struct {
  6706  	JobHistory map[ArchiveJobID]ArchiveChatJob `codec:"jobHistory" json:"jobHistory"`
  6707  }
  6708  
  6709  func (o ArchiveChatHistory) DeepCopy() ArchiveChatHistory {
  6710  	return ArchiveChatHistory{
  6711  		JobHistory: (func(x map[ArchiveJobID]ArchiveChatJob) map[ArchiveJobID]ArchiveChatJob {
  6712  			if x == nil {
  6713  				return nil
  6714  			}
  6715  			ret := make(map[ArchiveJobID]ArchiveChatJob, len(x))
  6716  			for k, v := range x {
  6717  				kCopy := k.DeepCopy()
  6718  				vCopy := v.DeepCopy()
  6719  				ret[kCopy] = vCopy
  6720  			}
  6721  			return ret
  6722  		})(o.JobHistory),
  6723  	}
  6724  }
  6725  
  6726  type GetThreadLocalArg struct {
  6727  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6728  	Reason           GetThreadReason              `codec:"reason" json:"reason"`
  6729  	Query            *GetThreadQuery              `codec:"query,omitempty" json:"query,omitempty"`
  6730  	Pagination       *Pagination                  `codec:"pagination,omitempty" json:"pagination,omitempty"`
  6731  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6732  }
  6733  
  6734  type GetThreadNonblockArg struct {
  6735  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  6736  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6737  	CbMode           GetThreadNonblockCbMode      `codec:"cbMode" json:"cbMode"`
  6738  	Reason           GetThreadReason              `codec:"reason" json:"reason"`
  6739  	Pgmode           GetThreadNonblockPgMode      `codec:"pgmode" json:"pgmode"`
  6740  	Query            *GetThreadQuery              `codec:"query,omitempty" json:"query,omitempty"`
  6741  	KnownRemotes     []string                     `codec:"knownRemotes" json:"knownRemotes"`
  6742  	Pagination       *UIPagination                `codec:"pagination,omitempty" json:"pagination,omitempty"`
  6743  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6744  }
  6745  
  6746  type GetUnreadlineArg struct {
  6747  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  6748  	ConvID           ConversationID               `codec:"convID" json:"convID"`
  6749  	ReadMsgID        MessageID                    `codec:"readMsgID" json:"readMsgID"`
  6750  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6751  }
  6752  
  6753  type GetInboxAndUnboxLocalArg struct {
  6754  	Query            *GetInboxLocalQuery          `codec:"query,omitempty" json:"query,omitempty"`
  6755  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6756  }
  6757  
  6758  type GetInboxAndUnboxUILocalArg struct {
  6759  	Query            *GetInboxLocalQuery          `codec:"query,omitempty" json:"query,omitempty"`
  6760  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6761  }
  6762  
  6763  type RequestInboxLayoutArg struct {
  6764  	ReselectMode InboxLayoutReselectMode `codec:"reselectMode" json:"reselectMode"`
  6765  }
  6766  
  6767  type RequestInboxUnboxArg struct {
  6768  	ConvIDs []ConversationID `codec:"convIDs" json:"convIDs"`
  6769  }
  6770  
  6771  type RequestInboxSmallIncreaseArg struct {
  6772  }
  6773  
  6774  type RequestInboxSmallResetArg struct {
  6775  }
  6776  
  6777  type GetInboxNonblockLocalArg struct {
  6778  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  6779  	MaxUnbox         *int                         `codec:"maxUnbox,omitempty" json:"maxUnbox,omitempty"`
  6780  	SkipUnverified   bool                         `codec:"skipUnverified" json:"skipUnverified"`
  6781  	Query            *GetInboxLocalQuery          `codec:"query,omitempty" json:"query,omitempty"`
  6782  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6783  }
  6784  
  6785  type PostLocalArg struct {
  6786  	SessionID          int                          `codec:"sessionID" json:"sessionID"`
  6787  	ConversationID     ConversationID               `codec:"conversationID" json:"conversationID"`
  6788  	Msg                MessagePlaintext             `codec:"msg" json:"msg"`
  6789  	ReplyTo            *MessageID                   `codec:"replyTo,omitempty" json:"replyTo,omitempty"`
  6790  	IdentifyBehavior   keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6791  	SkipInChatPayments bool                         `codec:"skipInChatPayments" json:"skipInChatPayments"`
  6792  }
  6793  
  6794  type GenerateOutboxIDArg struct {
  6795  }
  6796  
  6797  type PostLocalNonblockArg struct {
  6798  	SessionID          int                          `codec:"sessionID" json:"sessionID"`
  6799  	ConversationID     ConversationID               `codec:"conversationID" json:"conversationID"`
  6800  	Msg                MessagePlaintext             `codec:"msg" json:"msg"`
  6801  	ClientPrev         MessageID                    `codec:"clientPrev" json:"clientPrev"`
  6802  	OutboxID           *OutboxID                    `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  6803  	ReplyTo            *MessageID                   `codec:"replyTo,omitempty" json:"replyTo,omitempty"`
  6804  	IdentifyBehavior   keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6805  	SkipInChatPayments bool                         `codec:"skipInChatPayments" json:"skipInChatPayments"`
  6806  }
  6807  
  6808  type ForwardMessageArg struct {
  6809  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  6810  	SrcConvID        ConversationID               `codec:"srcConvID" json:"srcConvID"`
  6811  	DstConvID        ConversationID               `codec:"dstConvID" json:"dstConvID"`
  6812  	MsgID            MessageID                    `codec:"msgID" json:"msgID"`
  6813  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6814  	Title            string                       `codec:"title" json:"title"`
  6815  }
  6816  
  6817  type ForwardMessageNonblockArg struct {
  6818  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  6819  	SrcConvID        ConversationID               `codec:"srcConvID" json:"srcConvID"`
  6820  	DstConvID        ConversationID               `codec:"dstConvID" json:"dstConvID"`
  6821  	MsgID            MessageID                    `codec:"msgID" json:"msgID"`
  6822  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6823  	Title            string                       `codec:"title" json:"title"`
  6824  }
  6825  
  6826  type PostTextNonblockArg struct {
  6827  	SessionID         int                          `codec:"sessionID" json:"sessionID"`
  6828  	ConversationID    ConversationID               `codec:"conversationID" json:"conversationID"`
  6829  	TlfName           string                       `codec:"tlfName" json:"tlfName"`
  6830  	TlfPublic         bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6831  	Body              string                       `codec:"body" json:"body"`
  6832  	ClientPrev        MessageID                    `codec:"clientPrev" json:"clientPrev"`
  6833  	ReplyTo           *MessageID                   `codec:"replyTo,omitempty" json:"replyTo,omitempty"`
  6834  	OutboxID          *OutboxID                    `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  6835  	IdentifyBehavior  keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6836  	EphemeralLifetime *gregor1.DurationSec         `codec:"ephemeralLifetime,omitempty" json:"ephemeralLifetime,omitempty"`
  6837  }
  6838  
  6839  type PostDeleteNonblockArg struct {
  6840  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6841  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6842  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6843  	Supersedes       MessageID                    `codec:"supersedes" json:"supersedes"`
  6844  	ClientPrev       MessageID                    `codec:"clientPrev" json:"clientPrev"`
  6845  	OutboxID         *OutboxID                    `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  6846  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6847  }
  6848  
  6849  type PostEditNonblockArg struct {
  6850  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6851  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6852  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6853  	Target           EditTarget                   `codec:"target" json:"target"`
  6854  	Body             string                       `codec:"body" json:"body"`
  6855  	OutboxID         *OutboxID                    `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  6856  	ClientPrev       MessageID                    `codec:"clientPrev" json:"clientPrev"`
  6857  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6858  }
  6859  
  6860  type PostReactionNonblockArg struct {
  6861  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6862  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6863  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6864  	Supersedes       MessageID                    `codec:"supersedes" json:"supersedes"`
  6865  	Body             string                       `codec:"body" json:"body"`
  6866  	OutboxID         *OutboxID                    `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  6867  	ClientPrev       MessageID                    `codec:"clientPrev" json:"clientPrev"`
  6868  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6869  }
  6870  
  6871  type PostHeadlineNonblockArg struct {
  6872  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6873  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6874  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6875  	Headline         string                       `codec:"headline" json:"headline"`
  6876  	OutboxID         *OutboxID                    `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  6877  	ClientPrev       MessageID                    `codec:"clientPrev" json:"clientPrev"`
  6878  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6879  }
  6880  
  6881  type PostHeadlineArg struct {
  6882  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6883  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6884  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6885  	Headline         string                       `codec:"headline" json:"headline"`
  6886  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6887  }
  6888  
  6889  type PostMetadataNonblockArg struct {
  6890  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6891  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6892  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6893  	ChannelName      string                       `codec:"channelName" json:"channelName"`
  6894  	OutboxID         *OutboxID                    `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  6895  	ClientPrev       MessageID                    `codec:"clientPrev" json:"clientPrev"`
  6896  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6897  }
  6898  
  6899  type PostMetadataArg struct {
  6900  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6901  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6902  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6903  	ChannelName      string                       `codec:"channelName" json:"channelName"`
  6904  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6905  }
  6906  
  6907  type PostDeleteHistoryUptoArg struct {
  6908  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6909  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6910  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6911  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6912  	Upto             MessageID                    `codec:"upto" json:"upto"`
  6913  }
  6914  
  6915  type PostDeleteHistoryThroughArg struct {
  6916  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6917  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6918  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6919  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6920  	Through          MessageID                    `codec:"through" json:"through"`
  6921  }
  6922  
  6923  type PostDeleteHistoryByAgeArg struct {
  6924  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6925  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6926  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6927  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6928  	Age              gregor1.DurationSec          `codec:"age" json:"age"`
  6929  }
  6930  
  6931  type SetConversationStatusLocalArg struct {
  6932  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6933  	Status           ConversationStatus           `codec:"status" json:"status"`
  6934  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6935  }
  6936  
  6937  type NewConversationsLocalArg struct {
  6938  	NewConversationLocalArguments []NewConversationLocalArgument `codec:"newConversationLocalArguments" json:"newConversationLocalArguments"`
  6939  	IdentifyBehavior              keybase1.TLFIdentifyBehavior   `codec:"identifyBehavior" json:"identifyBehavior"`
  6940  }
  6941  
  6942  type NewConversationLocalArg struct {
  6943  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6944  	TopicType        TopicType                    `codec:"topicType" json:"topicType"`
  6945  	TlfVisibility    keybase1.TLFVisibility       `codec:"tlfVisibility" json:"tlfVisibility"`
  6946  	TopicName        *string                      `codec:"topicName,omitempty" json:"topicName,omitempty"`
  6947  	MembersType      ConversationMembersType      `codec:"membersType" json:"membersType"`
  6948  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6949  }
  6950  
  6951  type GetInboxSummaryForCLILocalArg struct {
  6952  	Query GetInboxSummaryForCLILocalQuery `codec:"query" json:"query"`
  6953  }
  6954  
  6955  type GetConversationForCLILocalArg struct {
  6956  	Query GetConversationForCLILocalQuery `codec:"query" json:"query"`
  6957  }
  6958  
  6959  type GetMessagesLocalArg struct {
  6960  	ConversationID           ConversationID               `codec:"conversationID" json:"conversationID"`
  6961  	MessageIDs               []MessageID                  `codec:"messageIDs" json:"messageIDs"`
  6962  	DisableResolveSupersedes bool                         `codec:"disableResolveSupersedes" json:"disableResolveSupersedes"`
  6963  	IdentifyBehavior         keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6964  }
  6965  
  6966  type PostFileAttachmentLocalArg struct {
  6967  	SessionID int                   `codec:"sessionID" json:"sessionID"`
  6968  	Arg       PostFileAttachmentArg `codec:"arg" json:"arg"`
  6969  }
  6970  
  6971  type PostFileAttachmentLocalNonblockArg struct {
  6972  	SessionID  int                   `codec:"sessionID" json:"sessionID"`
  6973  	Arg        PostFileAttachmentArg `codec:"arg" json:"arg"`
  6974  	ClientPrev MessageID             `codec:"clientPrev" json:"clientPrev"`
  6975  }
  6976  
  6977  type GetNextAttachmentMessageLocalArg struct {
  6978  	ConvID           ConversationID               `codec:"convID" json:"convID"`
  6979  	MessageID        MessageID                    `codec:"messageID" json:"messageID"`
  6980  	BackInTime       bool                         `codec:"backInTime" json:"backInTime"`
  6981  	AssetTypes       []AssetMetadataType          `codec:"assetTypes" json:"assetTypes"`
  6982  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6983  }
  6984  
  6985  type DownloadAttachmentLocalArg struct {
  6986  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  6987  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6988  	MessageID        MessageID                    `codec:"messageID" json:"messageID"`
  6989  	Sink             keybase1.Stream              `codec:"sink" json:"sink"`
  6990  	Preview          bool                         `codec:"preview" json:"preview"`
  6991  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6992  }
  6993  
  6994  type DownloadFileAttachmentLocalArg struct {
  6995  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  6996  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6997  	MessageID        MessageID                    `codec:"messageID" json:"messageID"`
  6998  	DownloadToCache  bool                         `codec:"downloadToCache" json:"downloadToCache"`
  6999  	Preview          bool                         `codec:"preview" json:"preview"`
  7000  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7001  }
  7002  
  7003  type ConfigureFileAttachmentDownloadLocalArg struct {
  7004  	CacheDirOverride    string `codec:"cacheDirOverride" json:"cacheDirOverride"`
  7005  	DownloadDirOverride string `codec:"downloadDirOverride" json:"downloadDirOverride"`
  7006  }
  7007  
  7008  type MakePreviewArg struct {
  7009  	SessionID int      `codec:"sessionID" json:"sessionID"`
  7010  	Filename  string   `codec:"filename" json:"filename"`
  7011  	OutboxID  OutboxID `codec:"outboxID" json:"outboxID"`
  7012  }
  7013  
  7014  type MakeAudioPreviewArg struct {
  7015  	Amps     []float64 `codec:"amps" json:"amps"`
  7016  	Duration int       `codec:"duration" json:"duration"`
  7017  }
  7018  
  7019  type GetUploadTempFileArg struct {
  7020  	OutboxID OutboxID `codec:"outboxID" json:"outboxID"`
  7021  	Filename string   `codec:"filename" json:"filename"`
  7022  }
  7023  
  7024  type MakeUploadTempFileArg struct {
  7025  	OutboxID OutboxID `codec:"outboxID" json:"outboxID"`
  7026  	Filename string   `codec:"filename" json:"filename"`
  7027  	Data     []byte   `codec:"data" json:"data"`
  7028  }
  7029  
  7030  type CancelUploadTempFileArg struct {
  7031  	OutboxID OutboxID `codec:"outboxID" json:"outboxID"`
  7032  }
  7033  
  7034  type CancelPostArg struct {
  7035  	OutboxID OutboxID `codec:"outboxID" json:"outboxID"`
  7036  }
  7037  
  7038  type RetryPostArg struct {
  7039  	OutboxID         OutboxID                      `codec:"outboxID" json:"outboxID"`
  7040  	IdentifyBehavior *keybase1.TLFIdentifyBehavior `codec:"identifyBehavior,omitempty" json:"identifyBehavior,omitempty"`
  7041  }
  7042  
  7043  type MarkAsReadLocalArg struct {
  7044  	SessionID      int            `codec:"sessionID" json:"sessionID"`
  7045  	ConversationID ConversationID `codec:"conversationID" json:"conversationID"`
  7046  	MsgID          *MessageID     `codec:"msgID,omitempty" json:"msgID,omitempty"`
  7047  	ForceUnread    bool           `codec:"forceUnread" json:"forceUnread"`
  7048  }
  7049  
  7050  type MarkTLFAsReadLocalArg struct {
  7051  	SessionID int   `codec:"sessionID" json:"sessionID"`
  7052  	TlfID     TLFID `codec:"tlfID" json:"tlfID"`
  7053  }
  7054  
  7055  type FindConversationsLocalArg struct {
  7056  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  7057  	MembersType      ConversationMembersType      `codec:"membersType" json:"membersType"`
  7058  	Visibility       keybase1.TLFVisibility       `codec:"visibility" json:"visibility"`
  7059  	TopicType        TopicType                    `codec:"topicType" json:"topicType"`
  7060  	TopicName        string                       `codec:"topicName" json:"topicName"`
  7061  	OneChatPerTLF    *bool                        `codec:"oneChatPerTLF,omitempty" json:"oneChatPerTLF,omitempty"`
  7062  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7063  }
  7064  
  7065  type FindGeneralConvFromTeamIDArg struct {
  7066  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  7067  }
  7068  
  7069  type UpdateTypingArg struct {
  7070  	ConversationID ConversationID `codec:"conversationID" json:"conversationID"`
  7071  	Typing         bool           `codec:"typing" json:"typing"`
  7072  }
  7073  
  7074  type UpdateUnsentTextArg struct {
  7075  	ConversationID ConversationID `codec:"conversationID" json:"conversationID"`
  7076  	TlfName        string         `codec:"tlfName" json:"tlfName"`
  7077  	Text           string         `codec:"text" json:"text"`
  7078  }
  7079  
  7080  type JoinConversationLocalArg struct {
  7081  	TlfName    string                 `codec:"tlfName" json:"tlfName"`
  7082  	TopicType  TopicType              `codec:"topicType" json:"topicType"`
  7083  	Visibility keybase1.TLFVisibility `codec:"visibility" json:"visibility"`
  7084  	TopicName  string                 `codec:"topicName" json:"topicName"`
  7085  }
  7086  
  7087  type JoinConversationByIDLocalArg struct {
  7088  	ConvID ConversationID `codec:"convID" json:"convID"`
  7089  }
  7090  
  7091  type LeaveConversationLocalArg struct {
  7092  	ConvID ConversationID `codec:"convID" json:"convID"`
  7093  }
  7094  
  7095  type PreviewConversationByIDLocalArg struct {
  7096  	ConvID ConversationID `codec:"convID" json:"convID"`
  7097  }
  7098  
  7099  type DeleteConversationLocalArg struct {
  7100  	SessionID   int            `codec:"sessionID" json:"sessionID"`
  7101  	ConvID      ConversationID `codec:"convID" json:"convID"`
  7102  	ChannelName string         `codec:"channelName" json:"channelName"`
  7103  	Confirmed   bool           `codec:"confirmed" json:"confirmed"`
  7104  }
  7105  
  7106  type RemoveFromConversationLocalArg struct {
  7107  	ConvID    ConversationID `codec:"convID" json:"convID"`
  7108  	Usernames []string       `codec:"usernames" json:"usernames"`
  7109  }
  7110  
  7111  type GetTLFConversationsLocalArg struct {
  7112  	TlfName     string                  `codec:"tlfName" json:"tlfName"`
  7113  	TopicType   TopicType               `codec:"topicType" json:"topicType"`
  7114  	MembersType ConversationMembersType `codec:"membersType" json:"membersType"`
  7115  }
  7116  
  7117  type GetChannelMembershipsLocalArg struct {
  7118  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  7119  	Uid    gregor1.UID     `codec:"uid" json:"uid"`
  7120  }
  7121  
  7122  type GetMutualTeamsLocalArg struct {
  7123  	Usernames []string `codec:"usernames" json:"usernames"`
  7124  }
  7125  
  7126  type SetAppNotificationSettingsLocalArg struct {
  7127  	ConvID      ConversationID                `codec:"convID" json:"convID"`
  7128  	ChannelWide bool                          `codec:"channelWide" json:"channelWide"`
  7129  	Settings    []AppNotificationSettingLocal `codec:"settings" json:"settings"`
  7130  }
  7131  
  7132  type SetGlobalAppNotificationSettingsLocalArg struct {
  7133  	Settings map[string]bool `codec:"settings" json:"settings"`
  7134  }
  7135  
  7136  type GetGlobalAppNotificationSettingsLocalArg struct {
  7137  }
  7138  
  7139  type UnboxMobilePushNotificationArg struct {
  7140  	Payload     string                  `codec:"payload" json:"payload"`
  7141  	ConvID      string                  `codec:"convID" json:"convID"`
  7142  	MembersType ConversationMembersType `codec:"membersType" json:"membersType"`
  7143  	PushIDs     []string                `codec:"pushIDs" json:"pushIDs"`
  7144  	ShouldAck   bool                    `codec:"shouldAck" json:"shouldAck"`
  7145  }
  7146  
  7147  type AddTeamMemberAfterResetArg struct {
  7148  	Username string         `codec:"username" json:"username"`
  7149  	ConvID   ConversationID `codec:"convID" json:"convID"`
  7150  }
  7151  
  7152  type GetAllResetConvMembersArg struct {
  7153  }
  7154  
  7155  type SetConvRetentionLocalArg struct {
  7156  	ConvID ConversationID  `codec:"convID" json:"convID"`
  7157  	Policy RetentionPolicy `codec:"policy" json:"policy"`
  7158  }
  7159  
  7160  type SetTeamRetentionLocalArg struct {
  7161  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  7162  	Policy RetentionPolicy `codec:"policy" json:"policy"`
  7163  }
  7164  
  7165  type GetTeamRetentionLocalArg struct {
  7166  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  7167  }
  7168  
  7169  type SetConvMinWriterRoleLocalArg struct {
  7170  	ConvID ConversationID    `codec:"convID" json:"convID"`
  7171  	Role   keybase1.TeamRole `codec:"role" json:"role"`
  7172  }
  7173  
  7174  type UpgradeKBFSConversationToImpteamArg struct {
  7175  	ConvID ConversationID `codec:"convID" json:"convID"`
  7176  }
  7177  
  7178  type SearchRegexpArg struct {
  7179  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  7180  	ConvID           ConversationID               `codec:"convID" json:"convID"`
  7181  	Query            string                       `codec:"query" json:"query"`
  7182  	Opts             SearchOpts                   `codec:"opts" json:"opts"`
  7183  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7184  }
  7185  
  7186  type CancelActiveInboxSearchArg struct {
  7187  }
  7188  
  7189  type SearchInboxArg struct {
  7190  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  7191  	Query            string                       `codec:"query" json:"query"`
  7192  	Opts             SearchOpts                   `codec:"opts" json:"opts"`
  7193  	NamesOnly        bool                         `codec:"namesOnly" json:"namesOnly"`
  7194  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7195  }
  7196  
  7197  type SimpleSearchInboxConvNamesArg struct {
  7198  	Query string `codec:"query" json:"query"`
  7199  }
  7200  
  7201  type CancelActiveSearchArg struct {
  7202  }
  7203  
  7204  type ProfileChatSearchArg struct {
  7205  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7206  }
  7207  
  7208  type GetStaticConfigArg struct {
  7209  }
  7210  
  7211  type ResolveUnfurlPromptArg struct {
  7212  	ConvID           ConversationID               `codec:"convID" json:"convID"`
  7213  	MsgID            MessageID                    `codec:"msgID" json:"msgID"`
  7214  	Result           UnfurlPromptResult           `codec:"result" json:"result"`
  7215  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7216  }
  7217  
  7218  type GetUnfurlSettingsArg struct {
  7219  }
  7220  
  7221  type SaveUnfurlSettingsArg struct {
  7222  	Mode      UnfurlMode `codec:"mode" json:"mode"`
  7223  	Whitelist []string   `codec:"whitelist" json:"whitelist"`
  7224  }
  7225  
  7226  type ToggleMessageCollapseArg struct {
  7227  	ConvID   ConversationID `codec:"convID" json:"convID"`
  7228  	MsgID    MessageID      `codec:"msgID" json:"msgID"`
  7229  	Collapse bool           `codec:"collapse" json:"collapse"`
  7230  }
  7231  
  7232  type BulkAddToConvArg struct {
  7233  	ConvID    ConversationID `codec:"convID" json:"convID"`
  7234  	Usernames []string       `codec:"usernames" json:"usernames"`
  7235  }
  7236  
  7237  type BulkAddToManyConvsArg struct {
  7238  	Conversations []ConversationID `codec:"conversations" json:"conversations"`
  7239  	Usernames     []string         `codec:"usernames" json:"usernames"`
  7240  }
  7241  
  7242  type PutReacjiSkinToneArg struct {
  7243  	SkinTone keybase1.ReacjiSkinTone `codec:"skinTone" json:"skinTone"`
  7244  }
  7245  
  7246  type ResolveMaybeMentionArg struct {
  7247  	Mention MaybeMention `codec:"mention" json:"mention"`
  7248  }
  7249  
  7250  type LoadGalleryArg struct {
  7251  	SessionID int            `codec:"sessionID" json:"sessionID"`
  7252  	ConvID    ConversationID `codec:"convID" json:"convID"`
  7253  	Typ       GalleryItemTyp `codec:"typ" json:"typ"`
  7254  	Num       int            `codec:"num" json:"num"`
  7255  	FromMsgID *MessageID     `codec:"fromMsgID,omitempty" json:"fromMsgID,omitempty"`
  7256  }
  7257  
  7258  type LoadFlipArg struct {
  7259  	HostConvID ConversationID `codec:"hostConvID" json:"hostConvID"`
  7260  	HostMsgID  MessageID      `codec:"hostMsgID" json:"hostMsgID"`
  7261  	FlipConvID ConversationID `codec:"flipConvID" json:"flipConvID"`
  7262  	GameID     FlipGameID     `codec:"gameID" json:"gameID"`
  7263  }
  7264  
  7265  type LocationUpdateArg struct {
  7266  	Coord Coordinate `codec:"coord" json:"coord"`
  7267  }
  7268  
  7269  type AdvertiseBotCommandsLocalArg struct {
  7270  	Alias          *string                  `codec:"alias,omitempty" json:"alias,omitempty"`
  7271  	Advertisements []AdvertiseCommandsParam `codec:"advertisements" json:"advertisements"`
  7272  }
  7273  
  7274  type ListBotCommandsLocalArg struct {
  7275  	ConvID ConversationID `codec:"convID" json:"convID"`
  7276  }
  7277  
  7278  type ListPublicBotCommandsLocalArg struct {
  7279  	Username string `codec:"username" json:"username"`
  7280  }
  7281  
  7282  type ClearBotCommandsLocalArg struct {
  7283  	Filter *ClearBotCommandsFilter `codec:"filter,omitempty" json:"filter,omitempty"`
  7284  }
  7285  
  7286  type PinMessageArg struct {
  7287  	ConvID ConversationID `codec:"convID" json:"convID"`
  7288  	MsgID  MessageID      `codec:"msgID" json:"msgID"`
  7289  }
  7290  
  7291  type UnpinMessageArg struct {
  7292  	ConvID ConversationID `codec:"convID" json:"convID"`
  7293  }
  7294  
  7295  type IgnorePinnedMessageArg struct {
  7296  	ConvID ConversationID `codec:"convID" json:"convID"`
  7297  }
  7298  
  7299  type AddBotMemberArg struct {
  7300  	ConvID      ConversationID            `codec:"convID" json:"convID"`
  7301  	Username    string                    `codec:"username" json:"username"`
  7302  	BotSettings *keybase1.TeamBotSettings `codec:"botSettings,omitempty" json:"botSettings,omitempty"`
  7303  	Role        keybase1.TeamRole         `codec:"role" json:"role"`
  7304  }
  7305  
  7306  type EditBotMemberArg struct {
  7307  	ConvID      ConversationID            `codec:"convID" json:"convID"`
  7308  	Username    string                    `codec:"username" json:"username"`
  7309  	BotSettings *keybase1.TeamBotSettings `codec:"botSettings,omitempty" json:"botSettings,omitempty"`
  7310  	Role        keybase1.TeamRole         `codec:"role" json:"role"`
  7311  }
  7312  
  7313  type RemoveBotMemberArg struct {
  7314  	ConvID   ConversationID `codec:"convID" json:"convID"`
  7315  	Username string         `codec:"username" json:"username"`
  7316  }
  7317  
  7318  type SetBotMemberSettingsArg struct {
  7319  	ConvID      ConversationID           `codec:"convID" json:"convID"`
  7320  	Username    string                   `codec:"username" json:"username"`
  7321  	BotSettings keybase1.TeamBotSettings `codec:"botSettings" json:"botSettings"`
  7322  }
  7323  
  7324  type GetBotMemberSettingsArg struct {
  7325  	ConvID   ConversationID `codec:"convID" json:"convID"`
  7326  	Username string         `codec:"username" json:"username"`
  7327  }
  7328  
  7329  type GetTeamRoleInConversationArg struct {
  7330  	ConvID   ConversationID `codec:"convID" json:"convID"`
  7331  	Username string         `codec:"username" json:"username"`
  7332  }
  7333  
  7334  type AddBotConvSearchArg struct {
  7335  	Term string `codec:"term" json:"term"`
  7336  }
  7337  
  7338  type ForwardMessageConvSearchArg struct {
  7339  	Term string `codec:"term" json:"term"`
  7340  }
  7341  
  7342  type TeamIDFromTLFNameArg struct {
  7343  	TlfName     string                  `codec:"tlfName" json:"tlfName"`
  7344  	MembersType ConversationMembersType `codec:"membersType" json:"membersType"`
  7345  	TlfPublic   bool                    `codec:"tlfPublic" json:"tlfPublic"`
  7346  }
  7347  
  7348  type DismissJourneycardArg struct {
  7349  	ConvID   ConversationID  `codec:"convID" json:"convID"`
  7350  	CardType JourneycardType `codec:"cardType" json:"cardType"`
  7351  }
  7352  
  7353  type SetWelcomeMessageArg struct {
  7354  	TeamID  keybase1.TeamID `codec:"teamID" json:"teamID"`
  7355  	Message WelcomeMessage  `codec:"message" json:"message"`
  7356  }
  7357  
  7358  type GetWelcomeMessageArg struct {
  7359  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  7360  }
  7361  
  7362  type GetDefaultTeamChannelsLocalArg struct {
  7363  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  7364  }
  7365  
  7366  type SetDefaultTeamChannelsLocalArg struct {
  7367  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  7368  	Convs  []ConvIDStr     `codec:"convs" json:"convs"`
  7369  }
  7370  
  7371  type GetLastActiveForTLFArg struct {
  7372  	TlfID TLFIDStr `codec:"tlfID" json:"tlfID"`
  7373  }
  7374  
  7375  type GetLastActiveForTeamsArg struct {
  7376  }
  7377  
  7378  type GetRecentJoinsLocalArg struct {
  7379  	ConvID ConversationID `codec:"convID" json:"convID"`
  7380  }
  7381  
  7382  type RefreshParticipantsArg struct {
  7383  	ConvID ConversationID `codec:"convID" json:"convID"`
  7384  }
  7385  
  7386  type GetLastActiveAtLocalArg struct {
  7387  	TeamID   keybase1.TeamID `codec:"teamID" json:"teamID"`
  7388  	Username string          `codec:"username" json:"username"`
  7389  }
  7390  
  7391  type GetLastActiveAtMultiLocalArg struct {
  7392  	TeamIDs  []keybase1.TeamID `codec:"teamIDs" json:"teamIDs"`
  7393  	Username string            `codec:"username" json:"username"`
  7394  }
  7395  
  7396  type GetParticipantsArg struct {
  7397  	ConvID ConversationID `codec:"convID" json:"convID"`
  7398  }
  7399  
  7400  type AddEmojiArg struct {
  7401  	ConvID         ConversationID `codec:"convID" json:"convID"`
  7402  	Alias          string         `codec:"alias" json:"alias"`
  7403  	Filename       string         `codec:"filename" json:"filename"`
  7404  	AllowOverwrite bool           `codec:"allowOverwrite" json:"allowOverwrite"`
  7405  }
  7406  
  7407  type AddEmojisArg struct {
  7408  	ConvID         ConversationID `codec:"convID" json:"convID"`
  7409  	Aliases        []string       `codec:"aliases" json:"aliases"`
  7410  	Filenames      []string       `codec:"filenames" json:"filenames"`
  7411  	AllowOverwrite []bool         `codec:"allowOverwrite" json:"allowOverwrite"`
  7412  }
  7413  
  7414  type AddEmojiAliasArg struct {
  7415  	ConvID        ConversationID `codec:"convID" json:"convID"`
  7416  	NewAlias      string         `codec:"newAlias" json:"newAlias"`
  7417  	ExistingAlias string         `codec:"existingAlias" json:"existingAlias"`
  7418  }
  7419  
  7420  type RemoveEmojiArg struct {
  7421  	ConvID ConversationID `codec:"convID" json:"convID"`
  7422  	Alias  string         `codec:"alias" json:"alias"`
  7423  }
  7424  
  7425  type UserEmojisArg struct {
  7426  	Opts   EmojiFetchOpts  `codec:"opts" json:"opts"`
  7427  	ConvID *ConversationID `codec:"convID,omitempty" json:"convID,omitempty"`
  7428  }
  7429  
  7430  type ToggleEmojiAnimationsArg struct {
  7431  	Enabled bool `codec:"enabled" json:"enabled"`
  7432  }
  7433  
  7434  type TrackGiphySelectArg struct {
  7435  	SessionID int               `codec:"sessionID" json:"sessionID"`
  7436  	Result    GiphySearchResult `codec:"result" json:"result"`
  7437  }
  7438  
  7439  type ArchiveChatArg struct {
  7440  	Req ArchiveChatJobRequest `codec:"req" json:"req"`
  7441  }
  7442  
  7443  type ArchiveChatListArg struct {
  7444  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7445  }
  7446  
  7447  type ArchiveChatDeleteArg struct {
  7448  	JobID            ArchiveJobID                 `codec:"jobID" json:"jobID"`
  7449  	DeleteOutputPath bool                         `codec:"deleteOutputPath" json:"deleteOutputPath"`
  7450  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7451  }
  7452  
  7453  type ArchiveChatPauseArg struct {
  7454  	JobID            ArchiveJobID                 `codec:"jobID" json:"jobID"`
  7455  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7456  }
  7457  
  7458  type ArchiveChatResumeArg struct {
  7459  	JobID            ArchiveJobID                 `codec:"jobID" json:"jobID"`
  7460  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7461  }
  7462  
  7463  type LocalInterface interface {
  7464  	GetThreadLocal(context.Context, GetThreadLocalArg) (GetThreadLocalRes, error)
  7465  	GetThreadNonblock(context.Context, GetThreadNonblockArg) (NonblockFetchRes, error)
  7466  	GetUnreadline(context.Context, GetUnreadlineArg) (UnreadlineRes, error)
  7467  	GetInboxAndUnboxLocal(context.Context, GetInboxAndUnboxLocalArg) (GetInboxAndUnboxLocalRes, error)
  7468  	GetInboxAndUnboxUILocal(context.Context, GetInboxAndUnboxUILocalArg) (GetInboxAndUnboxUILocalRes, error)
  7469  	RequestInboxLayout(context.Context, InboxLayoutReselectMode) error
  7470  	RequestInboxUnbox(context.Context, []ConversationID) error
  7471  	RequestInboxSmallIncrease(context.Context) error
  7472  	RequestInboxSmallReset(context.Context) error
  7473  	GetInboxNonblockLocal(context.Context, GetInboxNonblockLocalArg) (NonblockFetchRes, error)
  7474  	PostLocal(context.Context, PostLocalArg) (PostLocalRes, error)
  7475  	GenerateOutboxID(context.Context) (OutboxID, error)
  7476  	PostLocalNonblock(context.Context, PostLocalNonblockArg) (PostLocalNonblockRes, error)
  7477  	ForwardMessage(context.Context, ForwardMessageArg) (PostLocalRes, error)
  7478  	ForwardMessageNonblock(context.Context, ForwardMessageNonblockArg) (PostLocalNonblockRes, error)
  7479  	PostTextNonblock(context.Context, PostTextNonblockArg) (PostLocalNonblockRes, error)
  7480  	PostDeleteNonblock(context.Context, PostDeleteNonblockArg) (PostLocalNonblockRes, error)
  7481  	PostEditNonblock(context.Context, PostEditNonblockArg) (PostLocalNonblockRes, error)
  7482  	PostReactionNonblock(context.Context, PostReactionNonblockArg) (PostLocalNonblockRes, error)
  7483  	PostHeadlineNonblock(context.Context, PostHeadlineNonblockArg) (PostLocalNonblockRes, error)
  7484  	PostHeadline(context.Context, PostHeadlineArg) (PostLocalRes, error)
  7485  	PostMetadataNonblock(context.Context, PostMetadataNonblockArg) (PostLocalNonblockRes, error)
  7486  	PostMetadata(context.Context, PostMetadataArg) (PostLocalRes, error)
  7487  	PostDeleteHistoryUpto(context.Context, PostDeleteHistoryUptoArg) (PostLocalRes, error)
  7488  	PostDeleteHistoryThrough(context.Context, PostDeleteHistoryThroughArg) (PostLocalRes, error)
  7489  	PostDeleteHistoryByAge(context.Context, PostDeleteHistoryByAgeArg) (PostLocalRes, error)
  7490  	SetConversationStatusLocal(context.Context, SetConversationStatusLocalArg) (SetConversationStatusLocalRes, error)
  7491  	NewConversationsLocal(context.Context, NewConversationsLocalArg) (NewConversationsLocalRes, error)
  7492  	NewConversationLocal(context.Context, NewConversationLocalArg) (NewConversationLocalRes, error)
  7493  	GetInboxSummaryForCLILocal(context.Context, GetInboxSummaryForCLILocalQuery) (GetInboxSummaryForCLILocalRes, error)
  7494  	GetConversationForCLILocal(context.Context, GetConversationForCLILocalQuery) (GetConversationForCLILocalRes, error)
  7495  	GetMessagesLocal(context.Context, GetMessagesLocalArg) (GetMessagesLocalRes, error)
  7496  	PostFileAttachmentLocal(context.Context, PostFileAttachmentLocalArg) (PostLocalRes, error)
  7497  	PostFileAttachmentLocalNonblock(context.Context, PostFileAttachmentLocalNonblockArg) (PostLocalNonblockRes, error)
  7498  	GetNextAttachmentMessageLocal(context.Context, GetNextAttachmentMessageLocalArg) (GetNextAttachmentMessageLocalRes, error)
  7499  	DownloadAttachmentLocal(context.Context, DownloadAttachmentLocalArg) (DownloadAttachmentLocalRes, error)
  7500  	DownloadFileAttachmentLocal(context.Context, DownloadFileAttachmentLocalArg) (DownloadFileAttachmentLocalRes, error)
  7501  	ConfigureFileAttachmentDownloadLocal(context.Context, ConfigureFileAttachmentDownloadLocalArg) error
  7502  	MakePreview(context.Context, MakePreviewArg) (MakePreviewRes, error)
  7503  	MakeAudioPreview(context.Context, MakeAudioPreviewArg) (MakePreviewRes, error)
  7504  	GetUploadTempFile(context.Context, GetUploadTempFileArg) (string, error)
  7505  	MakeUploadTempFile(context.Context, MakeUploadTempFileArg) (string, error)
  7506  	CancelUploadTempFile(context.Context, OutboxID) error
  7507  	CancelPost(context.Context, OutboxID) error
  7508  	RetryPost(context.Context, RetryPostArg) error
  7509  	MarkAsReadLocal(context.Context, MarkAsReadLocalArg) (MarkAsReadLocalRes, error)
  7510  	MarkTLFAsReadLocal(context.Context, MarkTLFAsReadLocalArg) (MarkTLFAsReadLocalRes, error)
  7511  	FindConversationsLocal(context.Context, FindConversationsLocalArg) (FindConversationsLocalRes, error)
  7512  	FindGeneralConvFromTeamID(context.Context, keybase1.TeamID) (InboxUIItem, error)
  7513  	UpdateTyping(context.Context, UpdateTypingArg) error
  7514  	UpdateUnsentText(context.Context, UpdateUnsentTextArg) error
  7515  	JoinConversationLocal(context.Context, JoinConversationLocalArg) (JoinLeaveConversationLocalRes, error)
  7516  	JoinConversationByIDLocal(context.Context, ConversationID) (JoinLeaveConversationLocalRes, error)
  7517  	LeaveConversationLocal(context.Context, ConversationID) (JoinLeaveConversationLocalRes, error)
  7518  	PreviewConversationByIDLocal(context.Context, ConversationID) (PreviewConversationLocalRes, error)
  7519  	DeleteConversationLocal(context.Context, DeleteConversationLocalArg) (DeleteConversationLocalRes, error)
  7520  	RemoveFromConversationLocal(context.Context, RemoveFromConversationLocalArg) (RemoveFromConversationLocalRes, error)
  7521  	GetTLFConversationsLocal(context.Context, GetTLFConversationsLocalArg) (GetTLFConversationsLocalRes, error)
  7522  	GetChannelMembershipsLocal(context.Context, GetChannelMembershipsLocalArg) (GetChannelMembershipsLocalRes, error)
  7523  	GetMutualTeamsLocal(context.Context, []string) (GetMutualTeamsLocalRes, error)
  7524  	SetAppNotificationSettingsLocal(context.Context, SetAppNotificationSettingsLocalArg) (SetAppNotificationSettingsLocalRes, error)
  7525  	SetGlobalAppNotificationSettingsLocal(context.Context, map[string]bool) error
  7526  	GetGlobalAppNotificationSettingsLocal(context.Context) (GlobalAppNotificationSettings, error)
  7527  	UnboxMobilePushNotification(context.Context, UnboxMobilePushNotificationArg) (string, error)
  7528  	AddTeamMemberAfterReset(context.Context, AddTeamMemberAfterResetArg) error
  7529  	GetAllResetConvMembers(context.Context) (GetAllResetConvMembersRes, error)
  7530  	SetConvRetentionLocal(context.Context, SetConvRetentionLocalArg) error
  7531  	SetTeamRetentionLocal(context.Context, SetTeamRetentionLocalArg) error
  7532  	GetTeamRetentionLocal(context.Context, keybase1.TeamID) (*RetentionPolicy, error)
  7533  	SetConvMinWriterRoleLocal(context.Context, SetConvMinWriterRoleLocalArg) error
  7534  	UpgradeKBFSConversationToImpteam(context.Context, ConversationID) error
  7535  	SearchRegexp(context.Context, SearchRegexpArg) (SearchRegexpRes, error)
  7536  	CancelActiveInboxSearch(context.Context) error
  7537  	SearchInbox(context.Context, SearchInboxArg) (SearchInboxRes, error)
  7538  	SimpleSearchInboxConvNames(context.Context, string) ([]SimpleSearchInboxConvNamesHit, error)
  7539  	CancelActiveSearch(context.Context) error
  7540  	ProfileChatSearch(context.Context, keybase1.TLFIdentifyBehavior) (map[ConvIDStr]ProfileSearchConvStats, error)
  7541  	GetStaticConfig(context.Context) (StaticConfig, error)
  7542  	ResolveUnfurlPrompt(context.Context, ResolveUnfurlPromptArg) error
  7543  	GetUnfurlSettings(context.Context) (UnfurlSettingsDisplay, error)
  7544  	SaveUnfurlSettings(context.Context, SaveUnfurlSettingsArg) error
  7545  	ToggleMessageCollapse(context.Context, ToggleMessageCollapseArg) error
  7546  	BulkAddToConv(context.Context, BulkAddToConvArg) error
  7547  	BulkAddToManyConvs(context.Context, BulkAddToManyConvsArg) error
  7548  	PutReacjiSkinTone(context.Context, keybase1.ReacjiSkinTone) (keybase1.UserReacjis, error)
  7549  	ResolveMaybeMention(context.Context, MaybeMention) error
  7550  	LoadGallery(context.Context, LoadGalleryArg) (LoadGalleryRes, error)
  7551  	LoadFlip(context.Context, LoadFlipArg) (LoadFlipRes, error)
  7552  	LocationUpdate(context.Context, Coordinate) error
  7553  	AdvertiseBotCommandsLocal(context.Context, AdvertiseBotCommandsLocalArg) (AdvertiseBotCommandsLocalRes, error)
  7554  	ListBotCommandsLocal(context.Context, ConversationID) (ListBotCommandsLocalRes, error)
  7555  	ListPublicBotCommandsLocal(context.Context, string) (ListBotCommandsLocalRes, error)
  7556  	ClearBotCommandsLocal(context.Context, *ClearBotCommandsFilter) (ClearBotCommandsLocalRes, error)
  7557  	PinMessage(context.Context, PinMessageArg) (PinMessageRes, error)
  7558  	UnpinMessage(context.Context, ConversationID) (PinMessageRes, error)
  7559  	IgnorePinnedMessage(context.Context, ConversationID) error
  7560  	AddBotMember(context.Context, AddBotMemberArg) error
  7561  	EditBotMember(context.Context, EditBotMemberArg) error
  7562  	RemoveBotMember(context.Context, RemoveBotMemberArg) error
  7563  	SetBotMemberSettings(context.Context, SetBotMemberSettingsArg) error
  7564  	GetBotMemberSettings(context.Context, GetBotMemberSettingsArg) (keybase1.TeamBotSettings, error)
  7565  	GetTeamRoleInConversation(context.Context, GetTeamRoleInConversationArg) (keybase1.TeamRole, error)
  7566  	AddBotConvSearch(context.Context, string) ([]ConvSearchHit, error)
  7567  	ForwardMessageConvSearch(context.Context, string) ([]ConvSearchHit, error)
  7568  	TeamIDFromTLFName(context.Context, TeamIDFromTLFNameArg) (keybase1.TeamID, error)
  7569  	DismissJourneycard(context.Context, DismissJourneycardArg) error
  7570  	SetWelcomeMessage(context.Context, SetWelcomeMessageArg) error
  7571  	GetWelcomeMessage(context.Context, keybase1.TeamID) (WelcomeMessageDisplay, error)
  7572  	GetDefaultTeamChannelsLocal(context.Context, keybase1.TeamID) (GetDefaultTeamChannelsLocalRes, error)
  7573  	SetDefaultTeamChannelsLocal(context.Context, SetDefaultTeamChannelsLocalArg) (SetDefaultTeamChannelsLocalRes, error)
  7574  	GetLastActiveForTLF(context.Context, TLFIDStr) (LastActiveStatus, error)
  7575  	GetLastActiveForTeams(context.Context) (LastActiveStatusAll, error)
  7576  	GetRecentJoinsLocal(context.Context, ConversationID) (int, error)
  7577  	RefreshParticipants(context.Context, ConversationID) error
  7578  	GetLastActiveAtLocal(context.Context, GetLastActiveAtLocalArg) (gregor1.Time, error)
  7579  	GetLastActiveAtMultiLocal(context.Context, GetLastActiveAtMultiLocalArg) (map[keybase1.TeamID]gregor1.Time, error)
  7580  	GetParticipants(context.Context, ConversationID) ([]ConversationLocalParticipant, error)
  7581  	AddEmoji(context.Context, AddEmojiArg) (AddEmojiRes, error)
  7582  	AddEmojis(context.Context, AddEmojisArg) (AddEmojisRes, error)
  7583  	AddEmojiAlias(context.Context, AddEmojiAliasArg) (AddEmojiAliasRes, error)
  7584  	RemoveEmoji(context.Context, RemoveEmojiArg) (RemoveEmojiRes, error)
  7585  	UserEmojis(context.Context, UserEmojisArg) (UserEmojiRes, error)
  7586  	ToggleEmojiAnimations(context.Context, bool) error
  7587  	TrackGiphySelect(context.Context, TrackGiphySelectArg) (TrackGiphySelectRes, error)
  7588  	ArchiveChat(context.Context, ArchiveChatJobRequest) (ArchiveChatRes, error)
  7589  	ArchiveChatList(context.Context, keybase1.TLFIdentifyBehavior) (ArchiveChatListRes, error)
  7590  	ArchiveChatDelete(context.Context, ArchiveChatDeleteArg) error
  7591  	ArchiveChatPause(context.Context, ArchiveChatPauseArg) error
  7592  	ArchiveChatResume(context.Context, ArchiveChatResumeArg) error
  7593  }
  7594  
  7595  func LocalProtocol(i LocalInterface) rpc.Protocol {
  7596  	return rpc.Protocol{
  7597  		Name: "chat.1.local",
  7598  		Methods: map[string]rpc.ServeHandlerDescription{
  7599  			"getThreadLocal": {
  7600  				MakeArg: func() interface{} {
  7601  					var ret [1]GetThreadLocalArg
  7602  					return &ret
  7603  				},
  7604  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7605  					typedArgs, ok := args.(*[1]GetThreadLocalArg)
  7606  					if !ok {
  7607  						err = rpc.NewTypeError((*[1]GetThreadLocalArg)(nil), args)
  7608  						return
  7609  					}
  7610  					ret, err = i.GetThreadLocal(ctx, typedArgs[0])
  7611  					return
  7612  				},
  7613  			},
  7614  			"getThreadNonblock": {
  7615  				MakeArg: func() interface{} {
  7616  					var ret [1]GetThreadNonblockArg
  7617  					return &ret
  7618  				},
  7619  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7620  					typedArgs, ok := args.(*[1]GetThreadNonblockArg)
  7621  					if !ok {
  7622  						err = rpc.NewTypeError((*[1]GetThreadNonblockArg)(nil), args)
  7623  						return
  7624  					}
  7625  					ret, err = i.GetThreadNonblock(ctx, typedArgs[0])
  7626  					return
  7627  				},
  7628  			},
  7629  			"getUnreadline": {
  7630  				MakeArg: func() interface{} {
  7631  					var ret [1]GetUnreadlineArg
  7632  					return &ret
  7633  				},
  7634  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7635  					typedArgs, ok := args.(*[1]GetUnreadlineArg)
  7636  					if !ok {
  7637  						err = rpc.NewTypeError((*[1]GetUnreadlineArg)(nil), args)
  7638  						return
  7639  					}
  7640  					ret, err = i.GetUnreadline(ctx, typedArgs[0])
  7641  					return
  7642  				},
  7643  			},
  7644  			"getInboxAndUnboxLocal": {
  7645  				MakeArg: func() interface{} {
  7646  					var ret [1]GetInboxAndUnboxLocalArg
  7647  					return &ret
  7648  				},
  7649  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7650  					typedArgs, ok := args.(*[1]GetInboxAndUnboxLocalArg)
  7651  					if !ok {
  7652  						err = rpc.NewTypeError((*[1]GetInboxAndUnboxLocalArg)(nil), args)
  7653  						return
  7654  					}
  7655  					ret, err = i.GetInboxAndUnboxLocal(ctx, typedArgs[0])
  7656  					return
  7657  				},
  7658  			},
  7659  			"getInboxAndUnboxUILocal": {
  7660  				MakeArg: func() interface{} {
  7661  					var ret [1]GetInboxAndUnboxUILocalArg
  7662  					return &ret
  7663  				},
  7664  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7665  					typedArgs, ok := args.(*[1]GetInboxAndUnboxUILocalArg)
  7666  					if !ok {
  7667  						err = rpc.NewTypeError((*[1]GetInboxAndUnboxUILocalArg)(nil), args)
  7668  						return
  7669  					}
  7670  					ret, err = i.GetInboxAndUnboxUILocal(ctx, typedArgs[0])
  7671  					return
  7672  				},
  7673  			},
  7674  			"requestInboxLayout": {
  7675  				MakeArg: func() interface{} {
  7676  					var ret [1]RequestInboxLayoutArg
  7677  					return &ret
  7678  				},
  7679  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7680  					typedArgs, ok := args.(*[1]RequestInboxLayoutArg)
  7681  					if !ok {
  7682  						err = rpc.NewTypeError((*[1]RequestInboxLayoutArg)(nil), args)
  7683  						return
  7684  					}
  7685  					err = i.RequestInboxLayout(ctx, typedArgs[0].ReselectMode)
  7686  					return
  7687  				},
  7688  			},
  7689  			"requestInboxUnbox": {
  7690  				MakeArg: func() interface{} {
  7691  					var ret [1]RequestInboxUnboxArg
  7692  					return &ret
  7693  				},
  7694  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7695  					typedArgs, ok := args.(*[1]RequestInboxUnboxArg)
  7696  					if !ok {
  7697  						err = rpc.NewTypeError((*[1]RequestInboxUnboxArg)(nil), args)
  7698  						return
  7699  					}
  7700  					err = i.RequestInboxUnbox(ctx, typedArgs[0].ConvIDs)
  7701  					return
  7702  				},
  7703  			},
  7704  			"requestInboxSmallIncrease": {
  7705  				MakeArg: func() interface{} {
  7706  					var ret [1]RequestInboxSmallIncreaseArg
  7707  					return &ret
  7708  				},
  7709  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7710  					err = i.RequestInboxSmallIncrease(ctx)
  7711  					return
  7712  				},
  7713  			},
  7714  			"requestInboxSmallReset": {
  7715  				MakeArg: func() interface{} {
  7716  					var ret [1]RequestInboxSmallResetArg
  7717  					return &ret
  7718  				},
  7719  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7720  					err = i.RequestInboxSmallReset(ctx)
  7721  					return
  7722  				},
  7723  			},
  7724  			"getInboxNonblockLocal": {
  7725  				MakeArg: func() interface{} {
  7726  					var ret [1]GetInboxNonblockLocalArg
  7727  					return &ret
  7728  				},
  7729  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7730  					typedArgs, ok := args.(*[1]GetInboxNonblockLocalArg)
  7731  					if !ok {
  7732  						err = rpc.NewTypeError((*[1]GetInboxNonblockLocalArg)(nil), args)
  7733  						return
  7734  					}
  7735  					ret, err = i.GetInboxNonblockLocal(ctx, typedArgs[0])
  7736  					return
  7737  				},
  7738  			},
  7739  			"postLocal": {
  7740  				MakeArg: func() interface{} {
  7741  					var ret [1]PostLocalArg
  7742  					return &ret
  7743  				},
  7744  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7745  					typedArgs, ok := args.(*[1]PostLocalArg)
  7746  					if !ok {
  7747  						err = rpc.NewTypeError((*[1]PostLocalArg)(nil), args)
  7748  						return
  7749  					}
  7750  					ret, err = i.PostLocal(ctx, typedArgs[0])
  7751  					return
  7752  				},
  7753  			},
  7754  			"generateOutboxID": {
  7755  				MakeArg: func() interface{} {
  7756  					var ret [1]GenerateOutboxIDArg
  7757  					return &ret
  7758  				},
  7759  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7760  					ret, err = i.GenerateOutboxID(ctx)
  7761  					return
  7762  				},
  7763  			},
  7764  			"postLocalNonblock": {
  7765  				MakeArg: func() interface{} {
  7766  					var ret [1]PostLocalNonblockArg
  7767  					return &ret
  7768  				},
  7769  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7770  					typedArgs, ok := args.(*[1]PostLocalNonblockArg)
  7771  					if !ok {
  7772  						err = rpc.NewTypeError((*[1]PostLocalNonblockArg)(nil), args)
  7773  						return
  7774  					}
  7775  					ret, err = i.PostLocalNonblock(ctx, typedArgs[0])
  7776  					return
  7777  				},
  7778  			},
  7779  			"forwardMessage": {
  7780  				MakeArg: func() interface{} {
  7781  					var ret [1]ForwardMessageArg
  7782  					return &ret
  7783  				},
  7784  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7785  					typedArgs, ok := args.(*[1]ForwardMessageArg)
  7786  					if !ok {
  7787  						err = rpc.NewTypeError((*[1]ForwardMessageArg)(nil), args)
  7788  						return
  7789  					}
  7790  					ret, err = i.ForwardMessage(ctx, typedArgs[0])
  7791  					return
  7792  				},
  7793  			},
  7794  			"forwardMessageNonblock": {
  7795  				MakeArg: func() interface{} {
  7796  					var ret [1]ForwardMessageNonblockArg
  7797  					return &ret
  7798  				},
  7799  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7800  					typedArgs, ok := args.(*[1]ForwardMessageNonblockArg)
  7801  					if !ok {
  7802  						err = rpc.NewTypeError((*[1]ForwardMessageNonblockArg)(nil), args)
  7803  						return
  7804  					}
  7805  					ret, err = i.ForwardMessageNonblock(ctx, typedArgs[0])
  7806  					return
  7807  				},
  7808  			},
  7809  			"postTextNonblock": {
  7810  				MakeArg: func() interface{} {
  7811  					var ret [1]PostTextNonblockArg
  7812  					return &ret
  7813  				},
  7814  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7815  					typedArgs, ok := args.(*[1]PostTextNonblockArg)
  7816  					if !ok {
  7817  						err = rpc.NewTypeError((*[1]PostTextNonblockArg)(nil), args)
  7818  						return
  7819  					}
  7820  					ret, err = i.PostTextNonblock(ctx, typedArgs[0])
  7821  					return
  7822  				},
  7823  			},
  7824  			"postDeleteNonblock": {
  7825  				MakeArg: func() interface{} {
  7826  					var ret [1]PostDeleteNonblockArg
  7827  					return &ret
  7828  				},
  7829  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7830  					typedArgs, ok := args.(*[1]PostDeleteNonblockArg)
  7831  					if !ok {
  7832  						err = rpc.NewTypeError((*[1]PostDeleteNonblockArg)(nil), args)
  7833  						return
  7834  					}
  7835  					ret, err = i.PostDeleteNonblock(ctx, typedArgs[0])
  7836  					return
  7837  				},
  7838  			},
  7839  			"postEditNonblock": {
  7840  				MakeArg: func() interface{} {
  7841  					var ret [1]PostEditNonblockArg
  7842  					return &ret
  7843  				},
  7844  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7845  					typedArgs, ok := args.(*[1]PostEditNonblockArg)
  7846  					if !ok {
  7847  						err = rpc.NewTypeError((*[1]PostEditNonblockArg)(nil), args)
  7848  						return
  7849  					}
  7850  					ret, err = i.PostEditNonblock(ctx, typedArgs[0])
  7851  					return
  7852  				},
  7853  			},
  7854  			"postReactionNonblock": {
  7855  				MakeArg: func() interface{} {
  7856  					var ret [1]PostReactionNonblockArg
  7857  					return &ret
  7858  				},
  7859  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7860  					typedArgs, ok := args.(*[1]PostReactionNonblockArg)
  7861  					if !ok {
  7862  						err = rpc.NewTypeError((*[1]PostReactionNonblockArg)(nil), args)
  7863  						return
  7864  					}
  7865  					ret, err = i.PostReactionNonblock(ctx, typedArgs[0])
  7866  					return
  7867  				},
  7868  			},
  7869  			"postHeadlineNonblock": {
  7870  				MakeArg: func() interface{} {
  7871  					var ret [1]PostHeadlineNonblockArg
  7872  					return &ret
  7873  				},
  7874  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7875  					typedArgs, ok := args.(*[1]PostHeadlineNonblockArg)
  7876  					if !ok {
  7877  						err = rpc.NewTypeError((*[1]PostHeadlineNonblockArg)(nil), args)
  7878  						return
  7879  					}
  7880  					ret, err = i.PostHeadlineNonblock(ctx, typedArgs[0])
  7881  					return
  7882  				},
  7883  			},
  7884  			"postHeadline": {
  7885  				MakeArg: func() interface{} {
  7886  					var ret [1]PostHeadlineArg
  7887  					return &ret
  7888  				},
  7889  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7890  					typedArgs, ok := args.(*[1]PostHeadlineArg)
  7891  					if !ok {
  7892  						err = rpc.NewTypeError((*[1]PostHeadlineArg)(nil), args)
  7893  						return
  7894  					}
  7895  					ret, err = i.PostHeadline(ctx, typedArgs[0])
  7896  					return
  7897  				},
  7898  			},
  7899  			"postMetadataNonblock": {
  7900  				MakeArg: func() interface{} {
  7901  					var ret [1]PostMetadataNonblockArg
  7902  					return &ret
  7903  				},
  7904  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7905  					typedArgs, ok := args.(*[1]PostMetadataNonblockArg)
  7906  					if !ok {
  7907  						err = rpc.NewTypeError((*[1]PostMetadataNonblockArg)(nil), args)
  7908  						return
  7909  					}
  7910  					ret, err = i.PostMetadataNonblock(ctx, typedArgs[0])
  7911  					return
  7912  				},
  7913  			},
  7914  			"postMetadata": {
  7915  				MakeArg: func() interface{} {
  7916  					var ret [1]PostMetadataArg
  7917  					return &ret
  7918  				},
  7919  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7920  					typedArgs, ok := args.(*[1]PostMetadataArg)
  7921  					if !ok {
  7922  						err = rpc.NewTypeError((*[1]PostMetadataArg)(nil), args)
  7923  						return
  7924  					}
  7925  					ret, err = i.PostMetadata(ctx, typedArgs[0])
  7926  					return
  7927  				},
  7928  			},
  7929  			"postDeleteHistoryUpto": {
  7930  				MakeArg: func() interface{} {
  7931  					var ret [1]PostDeleteHistoryUptoArg
  7932  					return &ret
  7933  				},
  7934  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7935  					typedArgs, ok := args.(*[1]PostDeleteHistoryUptoArg)
  7936  					if !ok {
  7937  						err = rpc.NewTypeError((*[1]PostDeleteHistoryUptoArg)(nil), args)
  7938  						return
  7939  					}
  7940  					ret, err = i.PostDeleteHistoryUpto(ctx, typedArgs[0])
  7941  					return
  7942  				},
  7943  			},
  7944  			"postDeleteHistoryThrough": {
  7945  				MakeArg: func() interface{} {
  7946  					var ret [1]PostDeleteHistoryThroughArg
  7947  					return &ret
  7948  				},
  7949  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7950  					typedArgs, ok := args.(*[1]PostDeleteHistoryThroughArg)
  7951  					if !ok {
  7952  						err = rpc.NewTypeError((*[1]PostDeleteHistoryThroughArg)(nil), args)
  7953  						return
  7954  					}
  7955  					ret, err = i.PostDeleteHistoryThrough(ctx, typedArgs[0])
  7956  					return
  7957  				},
  7958  			},
  7959  			"postDeleteHistoryByAge": {
  7960  				MakeArg: func() interface{} {
  7961  					var ret [1]PostDeleteHistoryByAgeArg
  7962  					return &ret
  7963  				},
  7964  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7965  					typedArgs, ok := args.(*[1]PostDeleteHistoryByAgeArg)
  7966  					if !ok {
  7967  						err = rpc.NewTypeError((*[1]PostDeleteHistoryByAgeArg)(nil), args)
  7968  						return
  7969  					}
  7970  					ret, err = i.PostDeleteHistoryByAge(ctx, typedArgs[0])
  7971  					return
  7972  				},
  7973  			},
  7974  			"SetConversationStatusLocal": {
  7975  				MakeArg: func() interface{} {
  7976  					var ret [1]SetConversationStatusLocalArg
  7977  					return &ret
  7978  				},
  7979  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7980  					typedArgs, ok := args.(*[1]SetConversationStatusLocalArg)
  7981  					if !ok {
  7982  						err = rpc.NewTypeError((*[1]SetConversationStatusLocalArg)(nil), args)
  7983  						return
  7984  					}
  7985  					ret, err = i.SetConversationStatusLocal(ctx, typedArgs[0])
  7986  					return
  7987  				},
  7988  			},
  7989  			"newConversationsLocal": {
  7990  				MakeArg: func() interface{} {
  7991  					var ret [1]NewConversationsLocalArg
  7992  					return &ret
  7993  				},
  7994  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7995  					typedArgs, ok := args.(*[1]NewConversationsLocalArg)
  7996  					if !ok {
  7997  						err = rpc.NewTypeError((*[1]NewConversationsLocalArg)(nil), args)
  7998  						return
  7999  					}
  8000  					ret, err = i.NewConversationsLocal(ctx, typedArgs[0])
  8001  					return
  8002  				},
  8003  			},
  8004  			"newConversationLocal": {
  8005  				MakeArg: func() interface{} {
  8006  					var ret [1]NewConversationLocalArg
  8007  					return &ret
  8008  				},
  8009  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8010  					typedArgs, ok := args.(*[1]NewConversationLocalArg)
  8011  					if !ok {
  8012  						err = rpc.NewTypeError((*[1]NewConversationLocalArg)(nil), args)
  8013  						return
  8014  					}
  8015  					ret, err = i.NewConversationLocal(ctx, typedArgs[0])
  8016  					return
  8017  				},
  8018  			},
  8019  			"getInboxSummaryForCLILocal": {
  8020  				MakeArg: func() interface{} {
  8021  					var ret [1]GetInboxSummaryForCLILocalArg
  8022  					return &ret
  8023  				},
  8024  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8025  					typedArgs, ok := args.(*[1]GetInboxSummaryForCLILocalArg)
  8026  					if !ok {
  8027  						err = rpc.NewTypeError((*[1]GetInboxSummaryForCLILocalArg)(nil), args)
  8028  						return
  8029  					}
  8030  					ret, err = i.GetInboxSummaryForCLILocal(ctx, typedArgs[0].Query)
  8031  					return
  8032  				},
  8033  			},
  8034  			"getConversationForCLILocal": {
  8035  				MakeArg: func() interface{} {
  8036  					var ret [1]GetConversationForCLILocalArg
  8037  					return &ret
  8038  				},
  8039  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8040  					typedArgs, ok := args.(*[1]GetConversationForCLILocalArg)
  8041  					if !ok {
  8042  						err = rpc.NewTypeError((*[1]GetConversationForCLILocalArg)(nil), args)
  8043  						return
  8044  					}
  8045  					ret, err = i.GetConversationForCLILocal(ctx, typedArgs[0].Query)
  8046  					return
  8047  				},
  8048  			},
  8049  			"GetMessagesLocal": {
  8050  				MakeArg: func() interface{} {
  8051  					var ret [1]GetMessagesLocalArg
  8052  					return &ret
  8053  				},
  8054  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8055  					typedArgs, ok := args.(*[1]GetMessagesLocalArg)
  8056  					if !ok {
  8057  						err = rpc.NewTypeError((*[1]GetMessagesLocalArg)(nil), args)
  8058  						return
  8059  					}
  8060  					ret, err = i.GetMessagesLocal(ctx, typedArgs[0])
  8061  					return
  8062  				},
  8063  			},
  8064  			"postFileAttachmentLocal": {
  8065  				MakeArg: func() interface{} {
  8066  					var ret [1]PostFileAttachmentLocalArg
  8067  					return &ret
  8068  				},
  8069  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8070  					typedArgs, ok := args.(*[1]PostFileAttachmentLocalArg)
  8071  					if !ok {
  8072  						err = rpc.NewTypeError((*[1]PostFileAttachmentLocalArg)(nil), args)
  8073  						return
  8074  					}
  8075  					ret, err = i.PostFileAttachmentLocal(ctx, typedArgs[0])
  8076  					return
  8077  				},
  8078  			},
  8079  			"postFileAttachmentLocalNonblock": {
  8080  				MakeArg: func() interface{} {
  8081  					var ret [1]PostFileAttachmentLocalNonblockArg
  8082  					return &ret
  8083  				},
  8084  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8085  					typedArgs, ok := args.(*[1]PostFileAttachmentLocalNonblockArg)
  8086  					if !ok {
  8087  						err = rpc.NewTypeError((*[1]PostFileAttachmentLocalNonblockArg)(nil), args)
  8088  						return
  8089  					}
  8090  					ret, err = i.PostFileAttachmentLocalNonblock(ctx, typedArgs[0])
  8091  					return
  8092  				},
  8093  			},
  8094  			"getNextAttachmentMessageLocal": {
  8095  				MakeArg: func() interface{} {
  8096  					var ret [1]GetNextAttachmentMessageLocalArg
  8097  					return &ret
  8098  				},
  8099  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8100  					typedArgs, ok := args.(*[1]GetNextAttachmentMessageLocalArg)
  8101  					if !ok {
  8102  						err = rpc.NewTypeError((*[1]GetNextAttachmentMessageLocalArg)(nil), args)
  8103  						return
  8104  					}
  8105  					ret, err = i.GetNextAttachmentMessageLocal(ctx, typedArgs[0])
  8106  					return
  8107  				},
  8108  			},
  8109  			"DownloadAttachmentLocal": {
  8110  				MakeArg: func() interface{} {
  8111  					var ret [1]DownloadAttachmentLocalArg
  8112  					return &ret
  8113  				},
  8114  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8115  					typedArgs, ok := args.(*[1]DownloadAttachmentLocalArg)
  8116  					if !ok {
  8117  						err = rpc.NewTypeError((*[1]DownloadAttachmentLocalArg)(nil), args)
  8118  						return
  8119  					}
  8120  					ret, err = i.DownloadAttachmentLocal(ctx, typedArgs[0])
  8121  					return
  8122  				},
  8123  			},
  8124  			"DownloadFileAttachmentLocal": {
  8125  				MakeArg: func() interface{} {
  8126  					var ret [1]DownloadFileAttachmentLocalArg
  8127  					return &ret
  8128  				},
  8129  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8130  					typedArgs, ok := args.(*[1]DownloadFileAttachmentLocalArg)
  8131  					if !ok {
  8132  						err = rpc.NewTypeError((*[1]DownloadFileAttachmentLocalArg)(nil), args)
  8133  						return
  8134  					}
  8135  					ret, err = i.DownloadFileAttachmentLocal(ctx, typedArgs[0])
  8136  					return
  8137  				},
  8138  			},
  8139  			"ConfigureFileAttachmentDownloadLocal": {
  8140  				MakeArg: func() interface{} {
  8141  					var ret [1]ConfigureFileAttachmentDownloadLocalArg
  8142  					return &ret
  8143  				},
  8144  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8145  					typedArgs, ok := args.(*[1]ConfigureFileAttachmentDownloadLocalArg)
  8146  					if !ok {
  8147  						err = rpc.NewTypeError((*[1]ConfigureFileAttachmentDownloadLocalArg)(nil), args)
  8148  						return
  8149  					}
  8150  					err = i.ConfigureFileAttachmentDownloadLocal(ctx, typedArgs[0])
  8151  					return
  8152  				},
  8153  			},
  8154  			"makePreview": {
  8155  				MakeArg: func() interface{} {
  8156  					var ret [1]MakePreviewArg
  8157  					return &ret
  8158  				},
  8159  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8160  					typedArgs, ok := args.(*[1]MakePreviewArg)
  8161  					if !ok {
  8162  						err = rpc.NewTypeError((*[1]MakePreviewArg)(nil), args)
  8163  						return
  8164  					}
  8165  					ret, err = i.MakePreview(ctx, typedArgs[0])
  8166  					return
  8167  				},
  8168  			},
  8169  			"makeAudioPreview": {
  8170  				MakeArg: func() interface{} {
  8171  					var ret [1]MakeAudioPreviewArg
  8172  					return &ret
  8173  				},
  8174  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8175  					typedArgs, ok := args.(*[1]MakeAudioPreviewArg)
  8176  					if !ok {
  8177  						err = rpc.NewTypeError((*[1]MakeAudioPreviewArg)(nil), args)
  8178  						return
  8179  					}
  8180  					ret, err = i.MakeAudioPreview(ctx, typedArgs[0])
  8181  					return
  8182  				},
  8183  			},
  8184  			"getUploadTempFile": {
  8185  				MakeArg: func() interface{} {
  8186  					var ret [1]GetUploadTempFileArg
  8187  					return &ret
  8188  				},
  8189  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8190  					typedArgs, ok := args.(*[1]GetUploadTempFileArg)
  8191  					if !ok {
  8192  						err = rpc.NewTypeError((*[1]GetUploadTempFileArg)(nil), args)
  8193  						return
  8194  					}
  8195  					ret, err = i.GetUploadTempFile(ctx, typedArgs[0])
  8196  					return
  8197  				},
  8198  			},
  8199  			"makeUploadTempFile": {
  8200  				MakeArg: func() interface{} {
  8201  					var ret [1]MakeUploadTempFileArg
  8202  					return &ret
  8203  				},
  8204  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8205  					typedArgs, ok := args.(*[1]MakeUploadTempFileArg)
  8206  					if !ok {
  8207  						err = rpc.NewTypeError((*[1]MakeUploadTempFileArg)(nil), args)
  8208  						return
  8209  					}
  8210  					ret, err = i.MakeUploadTempFile(ctx, typedArgs[0])
  8211  					return
  8212  				},
  8213  			},
  8214  			"cancelUploadTempFile": {
  8215  				MakeArg: func() interface{} {
  8216  					var ret [1]CancelUploadTempFileArg
  8217  					return &ret
  8218  				},
  8219  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8220  					typedArgs, ok := args.(*[1]CancelUploadTempFileArg)
  8221  					if !ok {
  8222  						err = rpc.NewTypeError((*[1]CancelUploadTempFileArg)(nil), args)
  8223  						return
  8224  					}
  8225  					err = i.CancelUploadTempFile(ctx, typedArgs[0].OutboxID)
  8226  					return
  8227  				},
  8228  			},
  8229  			"CancelPost": {
  8230  				MakeArg: func() interface{} {
  8231  					var ret [1]CancelPostArg
  8232  					return &ret
  8233  				},
  8234  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8235  					typedArgs, ok := args.(*[1]CancelPostArg)
  8236  					if !ok {
  8237  						err = rpc.NewTypeError((*[1]CancelPostArg)(nil), args)
  8238  						return
  8239  					}
  8240  					err = i.CancelPost(ctx, typedArgs[0].OutboxID)
  8241  					return
  8242  				},
  8243  			},
  8244  			"RetryPost": {
  8245  				MakeArg: func() interface{} {
  8246  					var ret [1]RetryPostArg
  8247  					return &ret
  8248  				},
  8249  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8250  					typedArgs, ok := args.(*[1]RetryPostArg)
  8251  					if !ok {
  8252  						err = rpc.NewTypeError((*[1]RetryPostArg)(nil), args)
  8253  						return
  8254  					}
  8255  					err = i.RetryPost(ctx, typedArgs[0])
  8256  					return
  8257  				},
  8258  			},
  8259  			"markAsReadLocal": {
  8260  				MakeArg: func() interface{} {
  8261  					var ret [1]MarkAsReadLocalArg
  8262  					return &ret
  8263  				},
  8264  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8265  					typedArgs, ok := args.(*[1]MarkAsReadLocalArg)
  8266  					if !ok {
  8267  						err = rpc.NewTypeError((*[1]MarkAsReadLocalArg)(nil), args)
  8268  						return
  8269  					}
  8270  					ret, err = i.MarkAsReadLocal(ctx, typedArgs[0])
  8271  					return
  8272  				},
  8273  			},
  8274  			"markTLFAsReadLocal": {
  8275  				MakeArg: func() interface{} {
  8276  					var ret [1]MarkTLFAsReadLocalArg
  8277  					return &ret
  8278  				},
  8279  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8280  					typedArgs, ok := args.(*[1]MarkTLFAsReadLocalArg)
  8281  					if !ok {
  8282  						err = rpc.NewTypeError((*[1]MarkTLFAsReadLocalArg)(nil), args)
  8283  						return
  8284  					}
  8285  					ret, err = i.MarkTLFAsReadLocal(ctx, typedArgs[0])
  8286  					return
  8287  				},
  8288  			},
  8289  			"findConversationsLocal": {
  8290  				MakeArg: func() interface{} {
  8291  					var ret [1]FindConversationsLocalArg
  8292  					return &ret
  8293  				},
  8294  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8295  					typedArgs, ok := args.(*[1]FindConversationsLocalArg)
  8296  					if !ok {
  8297  						err = rpc.NewTypeError((*[1]FindConversationsLocalArg)(nil), args)
  8298  						return
  8299  					}
  8300  					ret, err = i.FindConversationsLocal(ctx, typedArgs[0])
  8301  					return
  8302  				},
  8303  			},
  8304  			"findGeneralConvFromTeamID": {
  8305  				MakeArg: func() interface{} {
  8306  					var ret [1]FindGeneralConvFromTeamIDArg
  8307  					return &ret
  8308  				},
  8309  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8310  					typedArgs, ok := args.(*[1]FindGeneralConvFromTeamIDArg)
  8311  					if !ok {
  8312  						err = rpc.NewTypeError((*[1]FindGeneralConvFromTeamIDArg)(nil), args)
  8313  						return
  8314  					}
  8315  					ret, err = i.FindGeneralConvFromTeamID(ctx, typedArgs[0].TeamID)
  8316  					return
  8317  				},
  8318  			},
  8319  			"updateTyping": {
  8320  				MakeArg: func() interface{} {
  8321  					var ret [1]UpdateTypingArg
  8322  					return &ret
  8323  				},
  8324  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8325  					typedArgs, ok := args.(*[1]UpdateTypingArg)
  8326  					if !ok {
  8327  						err = rpc.NewTypeError((*[1]UpdateTypingArg)(nil), args)
  8328  						return
  8329  					}
  8330  					err = i.UpdateTyping(ctx, typedArgs[0])
  8331  					return
  8332  				},
  8333  			},
  8334  			"updateUnsentText": {
  8335  				MakeArg: func() interface{} {
  8336  					var ret [1]UpdateUnsentTextArg
  8337  					return &ret
  8338  				},
  8339  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8340  					typedArgs, ok := args.(*[1]UpdateUnsentTextArg)
  8341  					if !ok {
  8342  						err = rpc.NewTypeError((*[1]UpdateUnsentTextArg)(nil), args)
  8343  						return
  8344  					}
  8345  					err = i.UpdateUnsentText(ctx, typedArgs[0])
  8346  					return
  8347  				},
  8348  			},
  8349  			"joinConversationLocal": {
  8350  				MakeArg: func() interface{} {
  8351  					var ret [1]JoinConversationLocalArg
  8352  					return &ret
  8353  				},
  8354  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8355  					typedArgs, ok := args.(*[1]JoinConversationLocalArg)
  8356  					if !ok {
  8357  						err = rpc.NewTypeError((*[1]JoinConversationLocalArg)(nil), args)
  8358  						return
  8359  					}
  8360  					ret, err = i.JoinConversationLocal(ctx, typedArgs[0])
  8361  					return
  8362  				},
  8363  			},
  8364  			"joinConversationByIDLocal": {
  8365  				MakeArg: func() interface{} {
  8366  					var ret [1]JoinConversationByIDLocalArg
  8367  					return &ret
  8368  				},
  8369  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8370  					typedArgs, ok := args.(*[1]JoinConversationByIDLocalArg)
  8371  					if !ok {
  8372  						err = rpc.NewTypeError((*[1]JoinConversationByIDLocalArg)(nil), args)
  8373  						return
  8374  					}
  8375  					ret, err = i.JoinConversationByIDLocal(ctx, typedArgs[0].ConvID)
  8376  					return
  8377  				},
  8378  			},
  8379  			"leaveConversationLocal": {
  8380  				MakeArg: func() interface{} {
  8381  					var ret [1]LeaveConversationLocalArg
  8382  					return &ret
  8383  				},
  8384  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8385  					typedArgs, ok := args.(*[1]LeaveConversationLocalArg)
  8386  					if !ok {
  8387  						err = rpc.NewTypeError((*[1]LeaveConversationLocalArg)(nil), args)
  8388  						return
  8389  					}
  8390  					ret, err = i.LeaveConversationLocal(ctx, typedArgs[0].ConvID)
  8391  					return
  8392  				},
  8393  			},
  8394  			"previewConversationByIDLocal": {
  8395  				MakeArg: func() interface{} {
  8396  					var ret [1]PreviewConversationByIDLocalArg
  8397  					return &ret
  8398  				},
  8399  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8400  					typedArgs, ok := args.(*[1]PreviewConversationByIDLocalArg)
  8401  					if !ok {
  8402  						err = rpc.NewTypeError((*[1]PreviewConversationByIDLocalArg)(nil), args)
  8403  						return
  8404  					}
  8405  					ret, err = i.PreviewConversationByIDLocal(ctx, typedArgs[0].ConvID)
  8406  					return
  8407  				},
  8408  			},
  8409  			"deleteConversationLocal": {
  8410  				MakeArg: func() interface{} {
  8411  					var ret [1]DeleteConversationLocalArg
  8412  					return &ret
  8413  				},
  8414  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8415  					typedArgs, ok := args.(*[1]DeleteConversationLocalArg)
  8416  					if !ok {
  8417  						err = rpc.NewTypeError((*[1]DeleteConversationLocalArg)(nil), args)
  8418  						return
  8419  					}
  8420  					ret, err = i.DeleteConversationLocal(ctx, typedArgs[0])
  8421  					return
  8422  				},
  8423  			},
  8424  			"removeFromConversationLocal": {
  8425  				MakeArg: func() interface{} {
  8426  					var ret [1]RemoveFromConversationLocalArg
  8427  					return &ret
  8428  				},
  8429  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8430  					typedArgs, ok := args.(*[1]RemoveFromConversationLocalArg)
  8431  					if !ok {
  8432  						err = rpc.NewTypeError((*[1]RemoveFromConversationLocalArg)(nil), args)
  8433  						return
  8434  					}
  8435  					ret, err = i.RemoveFromConversationLocal(ctx, typedArgs[0])
  8436  					return
  8437  				},
  8438  			},
  8439  			"getTLFConversationsLocal": {
  8440  				MakeArg: func() interface{} {
  8441  					var ret [1]GetTLFConversationsLocalArg
  8442  					return &ret
  8443  				},
  8444  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8445  					typedArgs, ok := args.(*[1]GetTLFConversationsLocalArg)
  8446  					if !ok {
  8447  						err = rpc.NewTypeError((*[1]GetTLFConversationsLocalArg)(nil), args)
  8448  						return
  8449  					}
  8450  					ret, err = i.GetTLFConversationsLocal(ctx, typedArgs[0])
  8451  					return
  8452  				},
  8453  			},
  8454  			"getChannelMembershipsLocal": {
  8455  				MakeArg: func() interface{} {
  8456  					var ret [1]GetChannelMembershipsLocalArg
  8457  					return &ret
  8458  				},
  8459  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8460  					typedArgs, ok := args.(*[1]GetChannelMembershipsLocalArg)
  8461  					if !ok {
  8462  						err = rpc.NewTypeError((*[1]GetChannelMembershipsLocalArg)(nil), args)
  8463  						return
  8464  					}
  8465  					ret, err = i.GetChannelMembershipsLocal(ctx, typedArgs[0])
  8466  					return
  8467  				},
  8468  			},
  8469  			"getMutualTeamsLocal": {
  8470  				MakeArg: func() interface{} {
  8471  					var ret [1]GetMutualTeamsLocalArg
  8472  					return &ret
  8473  				},
  8474  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8475  					typedArgs, ok := args.(*[1]GetMutualTeamsLocalArg)
  8476  					if !ok {
  8477  						err = rpc.NewTypeError((*[1]GetMutualTeamsLocalArg)(nil), args)
  8478  						return
  8479  					}
  8480  					ret, err = i.GetMutualTeamsLocal(ctx, typedArgs[0].Usernames)
  8481  					return
  8482  				},
  8483  			},
  8484  			"setAppNotificationSettingsLocal": {
  8485  				MakeArg: func() interface{} {
  8486  					var ret [1]SetAppNotificationSettingsLocalArg
  8487  					return &ret
  8488  				},
  8489  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8490  					typedArgs, ok := args.(*[1]SetAppNotificationSettingsLocalArg)
  8491  					if !ok {
  8492  						err = rpc.NewTypeError((*[1]SetAppNotificationSettingsLocalArg)(nil), args)
  8493  						return
  8494  					}
  8495  					ret, err = i.SetAppNotificationSettingsLocal(ctx, typedArgs[0])
  8496  					return
  8497  				},
  8498  			},
  8499  			"setGlobalAppNotificationSettingsLocal": {
  8500  				MakeArg: func() interface{} {
  8501  					var ret [1]SetGlobalAppNotificationSettingsLocalArg
  8502  					return &ret
  8503  				},
  8504  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8505  					typedArgs, ok := args.(*[1]SetGlobalAppNotificationSettingsLocalArg)
  8506  					if !ok {
  8507  						err = rpc.NewTypeError((*[1]SetGlobalAppNotificationSettingsLocalArg)(nil), args)
  8508  						return
  8509  					}
  8510  					err = i.SetGlobalAppNotificationSettingsLocal(ctx, typedArgs[0].Settings)
  8511  					return
  8512  				},
  8513  			},
  8514  			"getGlobalAppNotificationSettingsLocal": {
  8515  				MakeArg: func() interface{} {
  8516  					var ret [1]GetGlobalAppNotificationSettingsLocalArg
  8517  					return &ret
  8518  				},
  8519  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8520  					ret, err = i.GetGlobalAppNotificationSettingsLocal(ctx)
  8521  					return
  8522  				},
  8523  			},
  8524  			"unboxMobilePushNotification": {
  8525  				MakeArg: func() interface{} {
  8526  					var ret [1]UnboxMobilePushNotificationArg
  8527  					return &ret
  8528  				},
  8529  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8530  					typedArgs, ok := args.(*[1]UnboxMobilePushNotificationArg)
  8531  					if !ok {
  8532  						err = rpc.NewTypeError((*[1]UnboxMobilePushNotificationArg)(nil), args)
  8533  						return
  8534  					}
  8535  					ret, err = i.UnboxMobilePushNotification(ctx, typedArgs[0])
  8536  					return
  8537  				},
  8538  			},
  8539  			"addTeamMemberAfterReset": {
  8540  				MakeArg: func() interface{} {
  8541  					var ret [1]AddTeamMemberAfterResetArg
  8542  					return &ret
  8543  				},
  8544  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8545  					typedArgs, ok := args.(*[1]AddTeamMemberAfterResetArg)
  8546  					if !ok {
  8547  						err = rpc.NewTypeError((*[1]AddTeamMemberAfterResetArg)(nil), args)
  8548  						return
  8549  					}
  8550  					err = i.AddTeamMemberAfterReset(ctx, typedArgs[0])
  8551  					return
  8552  				},
  8553  			},
  8554  			"getAllResetConvMembers": {
  8555  				MakeArg: func() interface{} {
  8556  					var ret [1]GetAllResetConvMembersArg
  8557  					return &ret
  8558  				},
  8559  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8560  					ret, err = i.GetAllResetConvMembers(ctx)
  8561  					return
  8562  				},
  8563  			},
  8564  			"setConvRetentionLocal": {
  8565  				MakeArg: func() interface{} {
  8566  					var ret [1]SetConvRetentionLocalArg
  8567  					return &ret
  8568  				},
  8569  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8570  					typedArgs, ok := args.(*[1]SetConvRetentionLocalArg)
  8571  					if !ok {
  8572  						err = rpc.NewTypeError((*[1]SetConvRetentionLocalArg)(nil), args)
  8573  						return
  8574  					}
  8575  					err = i.SetConvRetentionLocal(ctx, typedArgs[0])
  8576  					return
  8577  				},
  8578  			},
  8579  			"setTeamRetentionLocal": {
  8580  				MakeArg: func() interface{} {
  8581  					var ret [1]SetTeamRetentionLocalArg
  8582  					return &ret
  8583  				},
  8584  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8585  					typedArgs, ok := args.(*[1]SetTeamRetentionLocalArg)
  8586  					if !ok {
  8587  						err = rpc.NewTypeError((*[1]SetTeamRetentionLocalArg)(nil), args)
  8588  						return
  8589  					}
  8590  					err = i.SetTeamRetentionLocal(ctx, typedArgs[0])
  8591  					return
  8592  				},
  8593  			},
  8594  			"getTeamRetentionLocal": {
  8595  				MakeArg: func() interface{} {
  8596  					var ret [1]GetTeamRetentionLocalArg
  8597  					return &ret
  8598  				},
  8599  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8600  					typedArgs, ok := args.(*[1]GetTeamRetentionLocalArg)
  8601  					if !ok {
  8602  						err = rpc.NewTypeError((*[1]GetTeamRetentionLocalArg)(nil), args)
  8603  						return
  8604  					}
  8605  					ret, err = i.GetTeamRetentionLocal(ctx, typedArgs[0].TeamID)
  8606  					return
  8607  				},
  8608  			},
  8609  			"setConvMinWriterRoleLocal": {
  8610  				MakeArg: func() interface{} {
  8611  					var ret [1]SetConvMinWriterRoleLocalArg
  8612  					return &ret
  8613  				},
  8614  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8615  					typedArgs, ok := args.(*[1]SetConvMinWriterRoleLocalArg)
  8616  					if !ok {
  8617  						err = rpc.NewTypeError((*[1]SetConvMinWriterRoleLocalArg)(nil), args)
  8618  						return
  8619  					}
  8620  					err = i.SetConvMinWriterRoleLocal(ctx, typedArgs[0])
  8621  					return
  8622  				},
  8623  			},
  8624  			"upgradeKBFSConversationToImpteam": {
  8625  				MakeArg: func() interface{} {
  8626  					var ret [1]UpgradeKBFSConversationToImpteamArg
  8627  					return &ret
  8628  				},
  8629  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8630  					typedArgs, ok := args.(*[1]UpgradeKBFSConversationToImpteamArg)
  8631  					if !ok {
  8632  						err = rpc.NewTypeError((*[1]UpgradeKBFSConversationToImpteamArg)(nil), args)
  8633  						return
  8634  					}
  8635  					err = i.UpgradeKBFSConversationToImpteam(ctx, typedArgs[0].ConvID)
  8636  					return
  8637  				},
  8638  			},
  8639  			"searchRegexp": {
  8640  				MakeArg: func() interface{} {
  8641  					var ret [1]SearchRegexpArg
  8642  					return &ret
  8643  				},
  8644  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8645  					typedArgs, ok := args.(*[1]SearchRegexpArg)
  8646  					if !ok {
  8647  						err = rpc.NewTypeError((*[1]SearchRegexpArg)(nil), args)
  8648  						return
  8649  					}
  8650  					ret, err = i.SearchRegexp(ctx, typedArgs[0])
  8651  					return
  8652  				},
  8653  			},
  8654  			"cancelActiveInboxSearch": {
  8655  				MakeArg: func() interface{} {
  8656  					var ret [1]CancelActiveInboxSearchArg
  8657  					return &ret
  8658  				},
  8659  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8660  					err = i.CancelActiveInboxSearch(ctx)
  8661  					return
  8662  				},
  8663  			},
  8664  			"searchInbox": {
  8665  				MakeArg: func() interface{} {
  8666  					var ret [1]SearchInboxArg
  8667  					return &ret
  8668  				},
  8669  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8670  					typedArgs, ok := args.(*[1]SearchInboxArg)
  8671  					if !ok {
  8672  						err = rpc.NewTypeError((*[1]SearchInboxArg)(nil), args)
  8673  						return
  8674  					}
  8675  					ret, err = i.SearchInbox(ctx, typedArgs[0])
  8676  					return
  8677  				},
  8678  			},
  8679  			"simpleSearchInboxConvNames": {
  8680  				MakeArg: func() interface{} {
  8681  					var ret [1]SimpleSearchInboxConvNamesArg
  8682  					return &ret
  8683  				},
  8684  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8685  					typedArgs, ok := args.(*[1]SimpleSearchInboxConvNamesArg)
  8686  					if !ok {
  8687  						err = rpc.NewTypeError((*[1]SimpleSearchInboxConvNamesArg)(nil), args)
  8688  						return
  8689  					}
  8690  					ret, err = i.SimpleSearchInboxConvNames(ctx, typedArgs[0].Query)
  8691  					return
  8692  				},
  8693  			},
  8694  			"cancelActiveSearch": {
  8695  				MakeArg: func() interface{} {
  8696  					var ret [1]CancelActiveSearchArg
  8697  					return &ret
  8698  				},
  8699  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8700  					err = i.CancelActiveSearch(ctx)
  8701  					return
  8702  				},
  8703  			},
  8704  			"profileChatSearch": {
  8705  				MakeArg: func() interface{} {
  8706  					var ret [1]ProfileChatSearchArg
  8707  					return &ret
  8708  				},
  8709  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8710  					typedArgs, ok := args.(*[1]ProfileChatSearchArg)
  8711  					if !ok {
  8712  						err = rpc.NewTypeError((*[1]ProfileChatSearchArg)(nil), args)
  8713  						return
  8714  					}
  8715  					ret, err = i.ProfileChatSearch(ctx, typedArgs[0].IdentifyBehavior)
  8716  					return
  8717  				},
  8718  			},
  8719  			"getStaticConfig": {
  8720  				MakeArg: func() interface{} {
  8721  					var ret [1]GetStaticConfigArg
  8722  					return &ret
  8723  				},
  8724  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8725  					ret, err = i.GetStaticConfig(ctx)
  8726  					return
  8727  				},
  8728  			},
  8729  			"resolveUnfurlPrompt": {
  8730  				MakeArg: func() interface{} {
  8731  					var ret [1]ResolveUnfurlPromptArg
  8732  					return &ret
  8733  				},
  8734  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8735  					typedArgs, ok := args.(*[1]ResolveUnfurlPromptArg)
  8736  					if !ok {
  8737  						err = rpc.NewTypeError((*[1]ResolveUnfurlPromptArg)(nil), args)
  8738  						return
  8739  					}
  8740  					err = i.ResolveUnfurlPrompt(ctx, typedArgs[0])
  8741  					return
  8742  				},
  8743  			},
  8744  			"getUnfurlSettings": {
  8745  				MakeArg: func() interface{} {
  8746  					var ret [1]GetUnfurlSettingsArg
  8747  					return &ret
  8748  				},
  8749  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8750  					ret, err = i.GetUnfurlSettings(ctx)
  8751  					return
  8752  				},
  8753  			},
  8754  			"saveUnfurlSettings": {
  8755  				MakeArg: func() interface{} {
  8756  					var ret [1]SaveUnfurlSettingsArg
  8757  					return &ret
  8758  				},
  8759  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8760  					typedArgs, ok := args.(*[1]SaveUnfurlSettingsArg)
  8761  					if !ok {
  8762  						err = rpc.NewTypeError((*[1]SaveUnfurlSettingsArg)(nil), args)
  8763  						return
  8764  					}
  8765  					err = i.SaveUnfurlSettings(ctx, typedArgs[0])
  8766  					return
  8767  				},
  8768  			},
  8769  			"toggleMessageCollapse": {
  8770  				MakeArg: func() interface{} {
  8771  					var ret [1]ToggleMessageCollapseArg
  8772  					return &ret
  8773  				},
  8774  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8775  					typedArgs, ok := args.(*[1]ToggleMessageCollapseArg)
  8776  					if !ok {
  8777  						err = rpc.NewTypeError((*[1]ToggleMessageCollapseArg)(nil), args)
  8778  						return
  8779  					}
  8780  					err = i.ToggleMessageCollapse(ctx, typedArgs[0])
  8781  					return
  8782  				},
  8783  			},
  8784  			"bulkAddToConv": {
  8785  				MakeArg: func() interface{} {
  8786  					var ret [1]BulkAddToConvArg
  8787  					return &ret
  8788  				},
  8789  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8790  					typedArgs, ok := args.(*[1]BulkAddToConvArg)
  8791  					if !ok {
  8792  						err = rpc.NewTypeError((*[1]BulkAddToConvArg)(nil), args)
  8793  						return
  8794  					}
  8795  					err = i.BulkAddToConv(ctx, typedArgs[0])
  8796  					return
  8797  				},
  8798  			},
  8799  			"bulkAddToManyConvs": {
  8800  				MakeArg: func() interface{} {
  8801  					var ret [1]BulkAddToManyConvsArg
  8802  					return &ret
  8803  				},
  8804  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8805  					typedArgs, ok := args.(*[1]BulkAddToManyConvsArg)
  8806  					if !ok {
  8807  						err = rpc.NewTypeError((*[1]BulkAddToManyConvsArg)(nil), args)
  8808  						return
  8809  					}
  8810  					err = i.BulkAddToManyConvs(ctx, typedArgs[0])
  8811  					return
  8812  				},
  8813  			},
  8814  			"putReacjiSkinTone": {
  8815  				MakeArg: func() interface{} {
  8816  					var ret [1]PutReacjiSkinToneArg
  8817  					return &ret
  8818  				},
  8819  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8820  					typedArgs, ok := args.(*[1]PutReacjiSkinToneArg)
  8821  					if !ok {
  8822  						err = rpc.NewTypeError((*[1]PutReacjiSkinToneArg)(nil), args)
  8823  						return
  8824  					}
  8825  					ret, err = i.PutReacjiSkinTone(ctx, typedArgs[0].SkinTone)
  8826  					return
  8827  				},
  8828  			},
  8829  			"resolveMaybeMention": {
  8830  				MakeArg: func() interface{} {
  8831  					var ret [1]ResolveMaybeMentionArg
  8832  					return &ret
  8833  				},
  8834  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8835  					typedArgs, ok := args.(*[1]ResolveMaybeMentionArg)
  8836  					if !ok {
  8837  						err = rpc.NewTypeError((*[1]ResolveMaybeMentionArg)(nil), args)
  8838  						return
  8839  					}
  8840  					err = i.ResolveMaybeMention(ctx, typedArgs[0].Mention)
  8841  					return
  8842  				},
  8843  			},
  8844  			"loadGallery": {
  8845  				MakeArg: func() interface{} {
  8846  					var ret [1]LoadGalleryArg
  8847  					return &ret
  8848  				},
  8849  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8850  					typedArgs, ok := args.(*[1]LoadGalleryArg)
  8851  					if !ok {
  8852  						err = rpc.NewTypeError((*[1]LoadGalleryArg)(nil), args)
  8853  						return
  8854  					}
  8855  					ret, err = i.LoadGallery(ctx, typedArgs[0])
  8856  					return
  8857  				},
  8858  			},
  8859  			"loadFlip": {
  8860  				MakeArg: func() interface{} {
  8861  					var ret [1]LoadFlipArg
  8862  					return &ret
  8863  				},
  8864  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8865  					typedArgs, ok := args.(*[1]LoadFlipArg)
  8866  					if !ok {
  8867  						err = rpc.NewTypeError((*[1]LoadFlipArg)(nil), args)
  8868  						return
  8869  					}
  8870  					ret, err = i.LoadFlip(ctx, typedArgs[0])
  8871  					return
  8872  				},
  8873  			},
  8874  			"locationUpdate": {
  8875  				MakeArg: func() interface{} {
  8876  					var ret [1]LocationUpdateArg
  8877  					return &ret
  8878  				},
  8879  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8880  					typedArgs, ok := args.(*[1]LocationUpdateArg)
  8881  					if !ok {
  8882  						err = rpc.NewTypeError((*[1]LocationUpdateArg)(nil), args)
  8883  						return
  8884  					}
  8885  					err = i.LocationUpdate(ctx, typedArgs[0].Coord)
  8886  					return
  8887  				},
  8888  			},
  8889  			"advertiseBotCommandsLocal": {
  8890  				MakeArg: func() interface{} {
  8891  					var ret [1]AdvertiseBotCommandsLocalArg
  8892  					return &ret
  8893  				},
  8894  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8895  					typedArgs, ok := args.(*[1]AdvertiseBotCommandsLocalArg)
  8896  					if !ok {
  8897  						err = rpc.NewTypeError((*[1]AdvertiseBotCommandsLocalArg)(nil), args)
  8898  						return
  8899  					}
  8900  					ret, err = i.AdvertiseBotCommandsLocal(ctx, typedArgs[0])
  8901  					return
  8902  				},
  8903  			},
  8904  			"listBotCommandsLocal": {
  8905  				MakeArg: func() interface{} {
  8906  					var ret [1]ListBotCommandsLocalArg
  8907  					return &ret
  8908  				},
  8909  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8910  					typedArgs, ok := args.(*[1]ListBotCommandsLocalArg)
  8911  					if !ok {
  8912  						err = rpc.NewTypeError((*[1]ListBotCommandsLocalArg)(nil), args)
  8913  						return
  8914  					}
  8915  					ret, err = i.ListBotCommandsLocal(ctx, typedArgs[0].ConvID)
  8916  					return
  8917  				},
  8918  			},
  8919  			"listPublicBotCommandsLocal": {
  8920  				MakeArg: func() interface{} {
  8921  					var ret [1]ListPublicBotCommandsLocalArg
  8922  					return &ret
  8923  				},
  8924  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8925  					typedArgs, ok := args.(*[1]ListPublicBotCommandsLocalArg)
  8926  					if !ok {
  8927  						err = rpc.NewTypeError((*[1]ListPublicBotCommandsLocalArg)(nil), args)
  8928  						return
  8929  					}
  8930  					ret, err = i.ListPublicBotCommandsLocal(ctx, typedArgs[0].Username)
  8931  					return
  8932  				},
  8933  			},
  8934  			"clearBotCommandsLocal": {
  8935  				MakeArg: func() interface{} {
  8936  					var ret [1]ClearBotCommandsLocalArg
  8937  					return &ret
  8938  				},
  8939  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8940  					typedArgs, ok := args.(*[1]ClearBotCommandsLocalArg)
  8941  					if !ok {
  8942  						err = rpc.NewTypeError((*[1]ClearBotCommandsLocalArg)(nil), args)
  8943  						return
  8944  					}
  8945  					ret, err = i.ClearBotCommandsLocal(ctx, typedArgs[0].Filter)
  8946  					return
  8947  				},
  8948  			},
  8949  			"pinMessage": {
  8950  				MakeArg: func() interface{} {
  8951  					var ret [1]PinMessageArg
  8952  					return &ret
  8953  				},
  8954  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8955  					typedArgs, ok := args.(*[1]PinMessageArg)
  8956  					if !ok {
  8957  						err = rpc.NewTypeError((*[1]PinMessageArg)(nil), args)
  8958  						return
  8959  					}
  8960  					ret, err = i.PinMessage(ctx, typedArgs[0])
  8961  					return
  8962  				},
  8963  			},
  8964  			"unpinMessage": {
  8965  				MakeArg: func() interface{} {
  8966  					var ret [1]UnpinMessageArg
  8967  					return &ret
  8968  				},
  8969  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8970  					typedArgs, ok := args.(*[1]UnpinMessageArg)
  8971  					if !ok {
  8972  						err = rpc.NewTypeError((*[1]UnpinMessageArg)(nil), args)
  8973  						return
  8974  					}
  8975  					ret, err = i.UnpinMessage(ctx, typedArgs[0].ConvID)
  8976  					return
  8977  				},
  8978  			},
  8979  			"ignorePinnedMessage": {
  8980  				MakeArg: func() interface{} {
  8981  					var ret [1]IgnorePinnedMessageArg
  8982  					return &ret
  8983  				},
  8984  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8985  					typedArgs, ok := args.(*[1]IgnorePinnedMessageArg)
  8986  					if !ok {
  8987  						err = rpc.NewTypeError((*[1]IgnorePinnedMessageArg)(nil), args)
  8988  						return
  8989  					}
  8990  					err = i.IgnorePinnedMessage(ctx, typedArgs[0].ConvID)
  8991  					return
  8992  				},
  8993  			},
  8994  			"addBotMember": {
  8995  				MakeArg: func() interface{} {
  8996  					var ret [1]AddBotMemberArg
  8997  					return &ret
  8998  				},
  8999  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9000  					typedArgs, ok := args.(*[1]AddBotMemberArg)
  9001  					if !ok {
  9002  						err = rpc.NewTypeError((*[1]AddBotMemberArg)(nil), args)
  9003  						return
  9004  					}
  9005  					err = i.AddBotMember(ctx, typedArgs[0])
  9006  					return
  9007  				},
  9008  			},
  9009  			"editBotMember": {
  9010  				MakeArg: func() interface{} {
  9011  					var ret [1]EditBotMemberArg
  9012  					return &ret
  9013  				},
  9014  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9015  					typedArgs, ok := args.(*[1]EditBotMemberArg)
  9016  					if !ok {
  9017  						err = rpc.NewTypeError((*[1]EditBotMemberArg)(nil), args)
  9018  						return
  9019  					}
  9020  					err = i.EditBotMember(ctx, typedArgs[0])
  9021  					return
  9022  				},
  9023  			},
  9024  			"removeBotMember": {
  9025  				MakeArg: func() interface{} {
  9026  					var ret [1]RemoveBotMemberArg
  9027  					return &ret
  9028  				},
  9029  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9030  					typedArgs, ok := args.(*[1]RemoveBotMemberArg)
  9031  					if !ok {
  9032  						err = rpc.NewTypeError((*[1]RemoveBotMemberArg)(nil), args)
  9033  						return
  9034  					}
  9035  					err = i.RemoveBotMember(ctx, typedArgs[0])
  9036  					return
  9037  				},
  9038  			},
  9039  			"setBotMemberSettings": {
  9040  				MakeArg: func() interface{} {
  9041  					var ret [1]SetBotMemberSettingsArg
  9042  					return &ret
  9043  				},
  9044  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9045  					typedArgs, ok := args.(*[1]SetBotMemberSettingsArg)
  9046  					if !ok {
  9047  						err = rpc.NewTypeError((*[1]SetBotMemberSettingsArg)(nil), args)
  9048  						return
  9049  					}
  9050  					err = i.SetBotMemberSettings(ctx, typedArgs[0])
  9051  					return
  9052  				},
  9053  			},
  9054  			"getBotMemberSettings": {
  9055  				MakeArg: func() interface{} {
  9056  					var ret [1]GetBotMemberSettingsArg
  9057  					return &ret
  9058  				},
  9059  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9060  					typedArgs, ok := args.(*[1]GetBotMemberSettingsArg)
  9061  					if !ok {
  9062  						err = rpc.NewTypeError((*[1]GetBotMemberSettingsArg)(nil), args)
  9063  						return
  9064  					}
  9065  					ret, err = i.GetBotMemberSettings(ctx, typedArgs[0])
  9066  					return
  9067  				},
  9068  			},
  9069  			"getTeamRoleInConversation": {
  9070  				MakeArg: func() interface{} {
  9071  					var ret [1]GetTeamRoleInConversationArg
  9072  					return &ret
  9073  				},
  9074  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9075  					typedArgs, ok := args.(*[1]GetTeamRoleInConversationArg)
  9076  					if !ok {
  9077  						err = rpc.NewTypeError((*[1]GetTeamRoleInConversationArg)(nil), args)
  9078  						return
  9079  					}
  9080  					ret, err = i.GetTeamRoleInConversation(ctx, typedArgs[0])
  9081  					return
  9082  				},
  9083  			},
  9084  			"addBotConvSearch": {
  9085  				MakeArg: func() interface{} {
  9086  					var ret [1]AddBotConvSearchArg
  9087  					return &ret
  9088  				},
  9089  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9090  					typedArgs, ok := args.(*[1]AddBotConvSearchArg)
  9091  					if !ok {
  9092  						err = rpc.NewTypeError((*[1]AddBotConvSearchArg)(nil), args)
  9093  						return
  9094  					}
  9095  					ret, err = i.AddBotConvSearch(ctx, typedArgs[0].Term)
  9096  					return
  9097  				},
  9098  			},
  9099  			"forwardMessageConvSearch": {
  9100  				MakeArg: func() interface{} {
  9101  					var ret [1]ForwardMessageConvSearchArg
  9102  					return &ret
  9103  				},
  9104  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9105  					typedArgs, ok := args.(*[1]ForwardMessageConvSearchArg)
  9106  					if !ok {
  9107  						err = rpc.NewTypeError((*[1]ForwardMessageConvSearchArg)(nil), args)
  9108  						return
  9109  					}
  9110  					ret, err = i.ForwardMessageConvSearch(ctx, typedArgs[0].Term)
  9111  					return
  9112  				},
  9113  			},
  9114  			"teamIDFromTLFName": {
  9115  				MakeArg: func() interface{} {
  9116  					var ret [1]TeamIDFromTLFNameArg
  9117  					return &ret
  9118  				},
  9119  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9120  					typedArgs, ok := args.(*[1]TeamIDFromTLFNameArg)
  9121  					if !ok {
  9122  						err = rpc.NewTypeError((*[1]TeamIDFromTLFNameArg)(nil), args)
  9123  						return
  9124  					}
  9125  					ret, err = i.TeamIDFromTLFName(ctx, typedArgs[0])
  9126  					return
  9127  				},
  9128  			},
  9129  			"dismissJourneycard": {
  9130  				MakeArg: func() interface{} {
  9131  					var ret [1]DismissJourneycardArg
  9132  					return &ret
  9133  				},
  9134  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9135  					typedArgs, ok := args.(*[1]DismissJourneycardArg)
  9136  					if !ok {
  9137  						err = rpc.NewTypeError((*[1]DismissJourneycardArg)(nil), args)
  9138  						return
  9139  					}
  9140  					err = i.DismissJourneycard(ctx, typedArgs[0])
  9141  					return
  9142  				},
  9143  			},
  9144  			"setWelcomeMessage": {
  9145  				MakeArg: func() interface{} {
  9146  					var ret [1]SetWelcomeMessageArg
  9147  					return &ret
  9148  				},
  9149  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9150  					typedArgs, ok := args.(*[1]SetWelcomeMessageArg)
  9151  					if !ok {
  9152  						err = rpc.NewTypeError((*[1]SetWelcomeMessageArg)(nil), args)
  9153  						return
  9154  					}
  9155  					err = i.SetWelcomeMessage(ctx, typedArgs[0])
  9156  					return
  9157  				},
  9158  			},
  9159  			"getWelcomeMessage": {
  9160  				MakeArg: func() interface{} {
  9161  					var ret [1]GetWelcomeMessageArg
  9162  					return &ret
  9163  				},
  9164  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9165  					typedArgs, ok := args.(*[1]GetWelcomeMessageArg)
  9166  					if !ok {
  9167  						err = rpc.NewTypeError((*[1]GetWelcomeMessageArg)(nil), args)
  9168  						return
  9169  					}
  9170  					ret, err = i.GetWelcomeMessage(ctx, typedArgs[0].TeamID)
  9171  					return
  9172  				},
  9173  			},
  9174  			"getDefaultTeamChannelsLocal": {
  9175  				MakeArg: func() interface{} {
  9176  					var ret [1]GetDefaultTeamChannelsLocalArg
  9177  					return &ret
  9178  				},
  9179  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9180  					typedArgs, ok := args.(*[1]GetDefaultTeamChannelsLocalArg)
  9181  					if !ok {
  9182  						err = rpc.NewTypeError((*[1]GetDefaultTeamChannelsLocalArg)(nil), args)
  9183  						return
  9184  					}
  9185  					ret, err = i.GetDefaultTeamChannelsLocal(ctx, typedArgs[0].TeamID)
  9186  					return
  9187  				},
  9188  			},
  9189  			"setDefaultTeamChannelsLocal": {
  9190  				MakeArg: func() interface{} {
  9191  					var ret [1]SetDefaultTeamChannelsLocalArg
  9192  					return &ret
  9193  				},
  9194  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9195  					typedArgs, ok := args.(*[1]SetDefaultTeamChannelsLocalArg)
  9196  					if !ok {
  9197  						err = rpc.NewTypeError((*[1]SetDefaultTeamChannelsLocalArg)(nil), args)
  9198  						return
  9199  					}
  9200  					ret, err = i.SetDefaultTeamChannelsLocal(ctx, typedArgs[0])
  9201  					return
  9202  				},
  9203  			},
  9204  			"getLastActiveForTLF": {
  9205  				MakeArg: func() interface{} {
  9206  					var ret [1]GetLastActiveForTLFArg
  9207  					return &ret
  9208  				},
  9209  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9210  					typedArgs, ok := args.(*[1]GetLastActiveForTLFArg)
  9211  					if !ok {
  9212  						err = rpc.NewTypeError((*[1]GetLastActiveForTLFArg)(nil), args)
  9213  						return
  9214  					}
  9215  					ret, err = i.GetLastActiveForTLF(ctx, typedArgs[0].TlfID)
  9216  					return
  9217  				},
  9218  			},
  9219  			"getLastActiveForTeams": {
  9220  				MakeArg: func() interface{} {
  9221  					var ret [1]GetLastActiveForTeamsArg
  9222  					return &ret
  9223  				},
  9224  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9225  					ret, err = i.GetLastActiveForTeams(ctx)
  9226  					return
  9227  				},
  9228  			},
  9229  			"getRecentJoinsLocal": {
  9230  				MakeArg: func() interface{} {
  9231  					var ret [1]GetRecentJoinsLocalArg
  9232  					return &ret
  9233  				},
  9234  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9235  					typedArgs, ok := args.(*[1]GetRecentJoinsLocalArg)
  9236  					if !ok {
  9237  						err = rpc.NewTypeError((*[1]GetRecentJoinsLocalArg)(nil), args)
  9238  						return
  9239  					}
  9240  					ret, err = i.GetRecentJoinsLocal(ctx, typedArgs[0].ConvID)
  9241  					return
  9242  				},
  9243  			},
  9244  			"refreshParticipants": {
  9245  				MakeArg: func() interface{} {
  9246  					var ret [1]RefreshParticipantsArg
  9247  					return &ret
  9248  				},
  9249  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9250  					typedArgs, ok := args.(*[1]RefreshParticipantsArg)
  9251  					if !ok {
  9252  						err = rpc.NewTypeError((*[1]RefreshParticipantsArg)(nil), args)
  9253  						return
  9254  					}
  9255  					err = i.RefreshParticipants(ctx, typedArgs[0].ConvID)
  9256  					return
  9257  				},
  9258  			},
  9259  			"getLastActiveAtLocal": {
  9260  				MakeArg: func() interface{} {
  9261  					var ret [1]GetLastActiveAtLocalArg
  9262  					return &ret
  9263  				},
  9264  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9265  					typedArgs, ok := args.(*[1]GetLastActiveAtLocalArg)
  9266  					if !ok {
  9267  						err = rpc.NewTypeError((*[1]GetLastActiveAtLocalArg)(nil), args)
  9268  						return
  9269  					}
  9270  					ret, err = i.GetLastActiveAtLocal(ctx, typedArgs[0])
  9271  					return
  9272  				},
  9273  			},
  9274  			"getLastActiveAtMultiLocal": {
  9275  				MakeArg: func() interface{} {
  9276  					var ret [1]GetLastActiveAtMultiLocalArg
  9277  					return &ret
  9278  				},
  9279  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9280  					typedArgs, ok := args.(*[1]GetLastActiveAtMultiLocalArg)
  9281  					if !ok {
  9282  						err = rpc.NewTypeError((*[1]GetLastActiveAtMultiLocalArg)(nil), args)
  9283  						return
  9284  					}
  9285  					ret, err = i.GetLastActiveAtMultiLocal(ctx, typedArgs[0])
  9286  					return
  9287  				},
  9288  			},
  9289  			"getParticipants": {
  9290  				MakeArg: func() interface{} {
  9291  					var ret [1]GetParticipantsArg
  9292  					return &ret
  9293  				},
  9294  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9295  					typedArgs, ok := args.(*[1]GetParticipantsArg)
  9296  					if !ok {
  9297  						err = rpc.NewTypeError((*[1]GetParticipantsArg)(nil), args)
  9298  						return
  9299  					}
  9300  					ret, err = i.GetParticipants(ctx, typedArgs[0].ConvID)
  9301  					return
  9302  				},
  9303  			},
  9304  			"addEmoji": {
  9305  				MakeArg: func() interface{} {
  9306  					var ret [1]AddEmojiArg
  9307  					return &ret
  9308  				},
  9309  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9310  					typedArgs, ok := args.(*[1]AddEmojiArg)
  9311  					if !ok {
  9312  						err = rpc.NewTypeError((*[1]AddEmojiArg)(nil), args)
  9313  						return
  9314  					}
  9315  					ret, err = i.AddEmoji(ctx, typedArgs[0])
  9316  					return
  9317  				},
  9318  			},
  9319  			"addEmojis": {
  9320  				MakeArg: func() interface{} {
  9321  					var ret [1]AddEmojisArg
  9322  					return &ret
  9323  				},
  9324  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9325  					typedArgs, ok := args.(*[1]AddEmojisArg)
  9326  					if !ok {
  9327  						err = rpc.NewTypeError((*[1]AddEmojisArg)(nil), args)
  9328  						return
  9329  					}
  9330  					ret, err = i.AddEmojis(ctx, typedArgs[0])
  9331  					return
  9332  				},
  9333  			},
  9334  			"addEmojiAlias": {
  9335  				MakeArg: func() interface{} {
  9336  					var ret [1]AddEmojiAliasArg
  9337  					return &ret
  9338  				},
  9339  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9340  					typedArgs, ok := args.(*[1]AddEmojiAliasArg)
  9341  					if !ok {
  9342  						err = rpc.NewTypeError((*[1]AddEmojiAliasArg)(nil), args)
  9343  						return
  9344  					}
  9345  					ret, err = i.AddEmojiAlias(ctx, typedArgs[0])
  9346  					return
  9347  				},
  9348  			},
  9349  			"removeEmoji": {
  9350  				MakeArg: func() interface{} {
  9351  					var ret [1]RemoveEmojiArg
  9352  					return &ret
  9353  				},
  9354  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9355  					typedArgs, ok := args.(*[1]RemoveEmojiArg)
  9356  					if !ok {
  9357  						err = rpc.NewTypeError((*[1]RemoveEmojiArg)(nil), args)
  9358  						return
  9359  					}
  9360  					ret, err = i.RemoveEmoji(ctx, typedArgs[0])
  9361  					return
  9362  				},
  9363  			},
  9364  			"userEmojis": {
  9365  				MakeArg: func() interface{} {
  9366  					var ret [1]UserEmojisArg
  9367  					return &ret
  9368  				},
  9369  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9370  					typedArgs, ok := args.(*[1]UserEmojisArg)
  9371  					if !ok {
  9372  						err = rpc.NewTypeError((*[1]UserEmojisArg)(nil), args)
  9373  						return
  9374  					}
  9375  					ret, err = i.UserEmojis(ctx, typedArgs[0])
  9376  					return
  9377  				},
  9378  			},
  9379  			"toggleEmojiAnimations": {
  9380  				MakeArg: func() interface{} {
  9381  					var ret [1]ToggleEmojiAnimationsArg
  9382  					return &ret
  9383  				},
  9384  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9385  					typedArgs, ok := args.(*[1]ToggleEmojiAnimationsArg)
  9386  					if !ok {
  9387  						err = rpc.NewTypeError((*[1]ToggleEmojiAnimationsArg)(nil), args)
  9388  						return
  9389  					}
  9390  					err = i.ToggleEmojiAnimations(ctx, typedArgs[0].Enabled)
  9391  					return
  9392  				},
  9393  			},
  9394  			"trackGiphySelect": {
  9395  				MakeArg: func() interface{} {
  9396  					var ret [1]TrackGiphySelectArg
  9397  					return &ret
  9398  				},
  9399  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9400  					typedArgs, ok := args.(*[1]TrackGiphySelectArg)
  9401  					if !ok {
  9402  						err = rpc.NewTypeError((*[1]TrackGiphySelectArg)(nil), args)
  9403  						return
  9404  					}
  9405  					ret, err = i.TrackGiphySelect(ctx, typedArgs[0])
  9406  					return
  9407  				},
  9408  			},
  9409  			"archiveChat": {
  9410  				MakeArg: func() interface{} {
  9411  					var ret [1]ArchiveChatArg
  9412  					return &ret
  9413  				},
  9414  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9415  					typedArgs, ok := args.(*[1]ArchiveChatArg)
  9416  					if !ok {
  9417  						err = rpc.NewTypeError((*[1]ArchiveChatArg)(nil), args)
  9418  						return
  9419  					}
  9420  					ret, err = i.ArchiveChat(ctx, typedArgs[0].Req)
  9421  					return
  9422  				},
  9423  			},
  9424  			"archiveChatList": {
  9425  				MakeArg: func() interface{} {
  9426  					var ret [1]ArchiveChatListArg
  9427  					return &ret
  9428  				},
  9429  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9430  					typedArgs, ok := args.(*[1]ArchiveChatListArg)
  9431  					if !ok {
  9432  						err = rpc.NewTypeError((*[1]ArchiveChatListArg)(nil), args)
  9433  						return
  9434  					}
  9435  					ret, err = i.ArchiveChatList(ctx, typedArgs[0].IdentifyBehavior)
  9436  					return
  9437  				},
  9438  			},
  9439  			"archiveChatDelete": {
  9440  				MakeArg: func() interface{} {
  9441  					var ret [1]ArchiveChatDeleteArg
  9442  					return &ret
  9443  				},
  9444  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9445  					typedArgs, ok := args.(*[1]ArchiveChatDeleteArg)
  9446  					if !ok {
  9447  						err = rpc.NewTypeError((*[1]ArchiveChatDeleteArg)(nil), args)
  9448  						return
  9449  					}
  9450  					err = i.ArchiveChatDelete(ctx, typedArgs[0])
  9451  					return
  9452  				},
  9453  			},
  9454  			"archiveChatPause": {
  9455  				MakeArg: func() interface{} {
  9456  					var ret [1]ArchiveChatPauseArg
  9457  					return &ret
  9458  				},
  9459  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9460  					typedArgs, ok := args.(*[1]ArchiveChatPauseArg)
  9461  					if !ok {
  9462  						err = rpc.NewTypeError((*[1]ArchiveChatPauseArg)(nil), args)
  9463  						return
  9464  					}
  9465  					err = i.ArchiveChatPause(ctx, typedArgs[0])
  9466  					return
  9467  				},
  9468  			},
  9469  			"archiveChatResume": {
  9470  				MakeArg: func() interface{} {
  9471  					var ret [1]ArchiveChatResumeArg
  9472  					return &ret
  9473  				},
  9474  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9475  					typedArgs, ok := args.(*[1]ArchiveChatResumeArg)
  9476  					if !ok {
  9477  						err = rpc.NewTypeError((*[1]ArchiveChatResumeArg)(nil), args)
  9478  						return
  9479  					}
  9480  					err = i.ArchiveChatResume(ctx, typedArgs[0])
  9481  					return
  9482  				},
  9483  			},
  9484  		},
  9485  	}
  9486  }
  9487  
  9488  type LocalClient struct {
  9489  	Cli rpc.GenericClient
  9490  }
  9491  
  9492  func (c LocalClient) GetThreadLocal(ctx context.Context, __arg GetThreadLocalArg) (res GetThreadLocalRes, err error) {
  9493  	err = c.Cli.Call(ctx, "chat.1.local.getThreadLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9494  	return
  9495  }
  9496  
  9497  func (c LocalClient) GetThreadNonblock(ctx context.Context, __arg GetThreadNonblockArg) (res NonblockFetchRes, err error) {
  9498  	err = c.Cli.Call(ctx, "chat.1.local.getThreadNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9499  	return
  9500  }
  9501  
  9502  func (c LocalClient) GetUnreadline(ctx context.Context, __arg GetUnreadlineArg) (res UnreadlineRes, err error) {
  9503  	err = c.Cli.Call(ctx, "chat.1.local.getUnreadline", []interface{}{__arg}, &res, 0*time.Millisecond)
  9504  	return
  9505  }
  9506  
  9507  func (c LocalClient) GetInboxAndUnboxLocal(ctx context.Context, __arg GetInboxAndUnboxLocalArg) (res GetInboxAndUnboxLocalRes, err error) {
  9508  	err = c.Cli.Call(ctx, "chat.1.local.getInboxAndUnboxLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9509  	return
  9510  }
  9511  
  9512  func (c LocalClient) GetInboxAndUnboxUILocal(ctx context.Context, __arg GetInboxAndUnboxUILocalArg) (res GetInboxAndUnboxUILocalRes, err error) {
  9513  	err = c.Cli.Call(ctx, "chat.1.local.getInboxAndUnboxUILocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9514  	return
  9515  }
  9516  
  9517  func (c LocalClient) RequestInboxLayout(ctx context.Context, reselectMode InboxLayoutReselectMode) (err error) {
  9518  	__arg := RequestInboxLayoutArg{ReselectMode: reselectMode}
  9519  	err = c.Cli.Call(ctx, "chat.1.local.requestInboxLayout", []interface{}{__arg}, nil, 0*time.Millisecond)
  9520  	return
  9521  }
  9522  
  9523  func (c LocalClient) RequestInboxUnbox(ctx context.Context, convIDs []ConversationID) (err error) {
  9524  	__arg := RequestInboxUnboxArg{ConvIDs: convIDs}
  9525  	err = c.Cli.Call(ctx, "chat.1.local.requestInboxUnbox", []interface{}{__arg}, nil, 0*time.Millisecond)
  9526  	return
  9527  }
  9528  
  9529  func (c LocalClient) RequestInboxSmallIncrease(ctx context.Context) (err error) {
  9530  	err = c.Cli.Call(ctx, "chat.1.local.requestInboxSmallIncrease", []interface{}{RequestInboxSmallIncreaseArg{}}, nil, 0*time.Millisecond)
  9531  	return
  9532  }
  9533  
  9534  func (c LocalClient) RequestInboxSmallReset(ctx context.Context) (err error) {
  9535  	err = c.Cli.Call(ctx, "chat.1.local.requestInboxSmallReset", []interface{}{RequestInboxSmallResetArg{}}, nil, 0*time.Millisecond)
  9536  	return
  9537  }
  9538  
  9539  func (c LocalClient) GetInboxNonblockLocal(ctx context.Context, __arg GetInboxNonblockLocalArg) (res NonblockFetchRes, err error) {
  9540  	err = c.Cli.Call(ctx, "chat.1.local.getInboxNonblockLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9541  	return
  9542  }
  9543  
  9544  func (c LocalClient) PostLocal(ctx context.Context, __arg PostLocalArg) (res PostLocalRes, err error) {
  9545  	err = c.Cli.Call(ctx, "chat.1.local.postLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9546  	return
  9547  }
  9548  
  9549  func (c LocalClient) GenerateOutboxID(ctx context.Context) (res OutboxID, err error) {
  9550  	err = c.Cli.Call(ctx, "chat.1.local.generateOutboxID", []interface{}{GenerateOutboxIDArg{}}, &res, 0*time.Millisecond)
  9551  	return
  9552  }
  9553  
  9554  func (c LocalClient) PostLocalNonblock(ctx context.Context, __arg PostLocalNonblockArg) (res PostLocalNonblockRes, err error) {
  9555  	err = c.Cli.Call(ctx, "chat.1.local.postLocalNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9556  	return
  9557  }
  9558  
  9559  func (c LocalClient) ForwardMessage(ctx context.Context, __arg ForwardMessageArg) (res PostLocalRes, err error) {
  9560  	err = c.Cli.Call(ctx, "chat.1.local.forwardMessage", []interface{}{__arg}, &res, 0*time.Millisecond)
  9561  	return
  9562  }
  9563  
  9564  func (c LocalClient) ForwardMessageNonblock(ctx context.Context, __arg ForwardMessageNonblockArg) (res PostLocalNonblockRes, err error) {
  9565  	err = c.Cli.Call(ctx, "chat.1.local.forwardMessageNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9566  	return
  9567  }
  9568  
  9569  func (c LocalClient) PostTextNonblock(ctx context.Context, __arg PostTextNonblockArg) (res PostLocalNonblockRes, err error) {
  9570  	err = c.Cli.Call(ctx, "chat.1.local.postTextNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9571  	return
  9572  }
  9573  
  9574  func (c LocalClient) PostDeleteNonblock(ctx context.Context, __arg PostDeleteNonblockArg) (res PostLocalNonblockRes, err error) {
  9575  	err = c.Cli.Call(ctx, "chat.1.local.postDeleteNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9576  	return
  9577  }
  9578  
  9579  func (c LocalClient) PostEditNonblock(ctx context.Context, __arg PostEditNonblockArg) (res PostLocalNonblockRes, err error) {
  9580  	err = c.Cli.Call(ctx, "chat.1.local.postEditNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9581  	return
  9582  }
  9583  
  9584  func (c LocalClient) PostReactionNonblock(ctx context.Context, __arg PostReactionNonblockArg) (res PostLocalNonblockRes, err error) {
  9585  	err = c.Cli.Call(ctx, "chat.1.local.postReactionNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9586  	return
  9587  }
  9588  
  9589  func (c LocalClient) PostHeadlineNonblock(ctx context.Context, __arg PostHeadlineNonblockArg) (res PostLocalNonblockRes, err error) {
  9590  	err = c.Cli.Call(ctx, "chat.1.local.postHeadlineNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9591  	return
  9592  }
  9593  
  9594  func (c LocalClient) PostHeadline(ctx context.Context, __arg PostHeadlineArg) (res PostLocalRes, err error) {
  9595  	err = c.Cli.Call(ctx, "chat.1.local.postHeadline", []interface{}{__arg}, &res, 0*time.Millisecond)
  9596  	return
  9597  }
  9598  
  9599  func (c LocalClient) PostMetadataNonblock(ctx context.Context, __arg PostMetadataNonblockArg) (res PostLocalNonblockRes, err error) {
  9600  	err = c.Cli.Call(ctx, "chat.1.local.postMetadataNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9601  	return
  9602  }
  9603  
  9604  func (c LocalClient) PostMetadata(ctx context.Context, __arg PostMetadataArg) (res PostLocalRes, err error) {
  9605  	err = c.Cli.Call(ctx, "chat.1.local.postMetadata", []interface{}{__arg}, &res, 0*time.Millisecond)
  9606  	return
  9607  }
  9608  
  9609  func (c LocalClient) PostDeleteHistoryUpto(ctx context.Context, __arg PostDeleteHistoryUptoArg) (res PostLocalRes, err error) {
  9610  	err = c.Cli.Call(ctx, "chat.1.local.postDeleteHistoryUpto", []interface{}{__arg}, &res, 0*time.Millisecond)
  9611  	return
  9612  }
  9613  
  9614  func (c LocalClient) PostDeleteHistoryThrough(ctx context.Context, __arg PostDeleteHistoryThroughArg) (res PostLocalRes, err error) {
  9615  	err = c.Cli.Call(ctx, "chat.1.local.postDeleteHistoryThrough", []interface{}{__arg}, &res, 0*time.Millisecond)
  9616  	return
  9617  }
  9618  
  9619  func (c LocalClient) PostDeleteHistoryByAge(ctx context.Context, __arg PostDeleteHistoryByAgeArg) (res PostLocalRes, err error) {
  9620  	err = c.Cli.Call(ctx, "chat.1.local.postDeleteHistoryByAge", []interface{}{__arg}, &res, 0*time.Millisecond)
  9621  	return
  9622  }
  9623  
  9624  func (c LocalClient) SetConversationStatusLocal(ctx context.Context, __arg SetConversationStatusLocalArg) (res SetConversationStatusLocalRes, err error) {
  9625  	err = c.Cli.Call(ctx, "chat.1.local.SetConversationStatusLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9626  	return
  9627  }
  9628  
  9629  func (c LocalClient) NewConversationsLocal(ctx context.Context, __arg NewConversationsLocalArg) (res NewConversationsLocalRes, err error) {
  9630  	err = c.Cli.Call(ctx, "chat.1.local.newConversationsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9631  	return
  9632  }
  9633  
  9634  func (c LocalClient) NewConversationLocal(ctx context.Context, __arg NewConversationLocalArg) (res NewConversationLocalRes, err error) {
  9635  	err = c.Cli.Call(ctx, "chat.1.local.newConversationLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9636  	return
  9637  }
  9638  
  9639  func (c LocalClient) GetInboxSummaryForCLILocal(ctx context.Context, query GetInboxSummaryForCLILocalQuery) (res GetInboxSummaryForCLILocalRes, err error) {
  9640  	__arg := GetInboxSummaryForCLILocalArg{Query: query}
  9641  	err = c.Cli.Call(ctx, "chat.1.local.getInboxSummaryForCLILocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9642  	return
  9643  }
  9644  
  9645  func (c LocalClient) GetConversationForCLILocal(ctx context.Context, query GetConversationForCLILocalQuery) (res GetConversationForCLILocalRes, err error) {
  9646  	__arg := GetConversationForCLILocalArg{Query: query}
  9647  	err = c.Cli.Call(ctx, "chat.1.local.getConversationForCLILocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9648  	return
  9649  }
  9650  
  9651  func (c LocalClient) GetMessagesLocal(ctx context.Context, __arg GetMessagesLocalArg) (res GetMessagesLocalRes, err error) {
  9652  	err = c.Cli.Call(ctx, "chat.1.local.GetMessagesLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9653  	return
  9654  }
  9655  
  9656  func (c LocalClient) PostFileAttachmentLocal(ctx context.Context, __arg PostFileAttachmentLocalArg) (res PostLocalRes, err error) {
  9657  	err = c.Cli.Call(ctx, "chat.1.local.postFileAttachmentLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9658  	return
  9659  }
  9660  
  9661  func (c LocalClient) PostFileAttachmentLocalNonblock(ctx context.Context, __arg PostFileAttachmentLocalNonblockArg) (res PostLocalNonblockRes, err error) {
  9662  	err = c.Cli.Call(ctx, "chat.1.local.postFileAttachmentLocalNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9663  	return
  9664  }
  9665  
  9666  func (c LocalClient) GetNextAttachmentMessageLocal(ctx context.Context, __arg GetNextAttachmentMessageLocalArg) (res GetNextAttachmentMessageLocalRes, err error) {
  9667  	err = c.Cli.Call(ctx, "chat.1.local.getNextAttachmentMessageLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9668  	return
  9669  }
  9670  
  9671  func (c LocalClient) DownloadAttachmentLocal(ctx context.Context, __arg DownloadAttachmentLocalArg) (res DownloadAttachmentLocalRes, err error) {
  9672  	err = c.Cli.Call(ctx, "chat.1.local.DownloadAttachmentLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9673  	return
  9674  }
  9675  
  9676  func (c LocalClient) DownloadFileAttachmentLocal(ctx context.Context, __arg DownloadFileAttachmentLocalArg) (res DownloadFileAttachmentLocalRes, err error) {
  9677  	err = c.Cli.Call(ctx, "chat.1.local.DownloadFileAttachmentLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9678  	return
  9679  }
  9680  
  9681  func (c LocalClient) ConfigureFileAttachmentDownloadLocal(ctx context.Context, __arg ConfigureFileAttachmentDownloadLocalArg) (err error) {
  9682  	err = c.Cli.Call(ctx, "chat.1.local.ConfigureFileAttachmentDownloadLocal", []interface{}{__arg}, nil, 0*time.Millisecond)
  9683  	return
  9684  }
  9685  
  9686  func (c LocalClient) MakePreview(ctx context.Context, __arg MakePreviewArg) (res MakePreviewRes, err error) {
  9687  	err = c.Cli.Call(ctx, "chat.1.local.makePreview", []interface{}{__arg}, &res, 0*time.Millisecond)
  9688  	return
  9689  }
  9690  
  9691  func (c LocalClient) MakeAudioPreview(ctx context.Context, __arg MakeAudioPreviewArg) (res MakePreviewRes, err error) {
  9692  	err = c.Cli.Call(ctx, "chat.1.local.makeAudioPreview", []interface{}{__arg}, &res, 0*time.Millisecond)
  9693  	return
  9694  }
  9695  
  9696  func (c LocalClient) GetUploadTempFile(ctx context.Context, __arg GetUploadTempFileArg) (res string, err error) {
  9697  	err = c.Cli.Call(ctx, "chat.1.local.getUploadTempFile", []interface{}{__arg}, &res, 0*time.Millisecond)
  9698  	return
  9699  }
  9700  
  9701  func (c LocalClient) MakeUploadTempFile(ctx context.Context, __arg MakeUploadTempFileArg) (res string, err error) {
  9702  	err = c.Cli.Call(ctx, "chat.1.local.makeUploadTempFile", []interface{}{__arg}, &res, 0*time.Millisecond)
  9703  	return
  9704  }
  9705  
  9706  func (c LocalClient) CancelUploadTempFile(ctx context.Context, outboxID OutboxID) (err error) {
  9707  	__arg := CancelUploadTempFileArg{OutboxID: outboxID}
  9708  	err = c.Cli.Call(ctx, "chat.1.local.cancelUploadTempFile", []interface{}{__arg}, nil, 0*time.Millisecond)
  9709  	return
  9710  }
  9711  
  9712  func (c LocalClient) CancelPost(ctx context.Context, outboxID OutboxID) (err error) {
  9713  	__arg := CancelPostArg{OutboxID: outboxID}
  9714  	err = c.Cli.Call(ctx, "chat.1.local.CancelPost", []interface{}{__arg}, nil, 0*time.Millisecond)
  9715  	return
  9716  }
  9717  
  9718  func (c LocalClient) RetryPost(ctx context.Context, __arg RetryPostArg) (err error) {
  9719  	err = c.Cli.Call(ctx, "chat.1.local.RetryPost", []interface{}{__arg}, nil, 0*time.Millisecond)
  9720  	return
  9721  }
  9722  
  9723  func (c LocalClient) MarkAsReadLocal(ctx context.Context, __arg MarkAsReadLocalArg) (res MarkAsReadLocalRes, err error) {
  9724  	err = c.Cli.Call(ctx, "chat.1.local.markAsReadLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9725  	return
  9726  }
  9727  
  9728  func (c LocalClient) MarkTLFAsReadLocal(ctx context.Context, __arg MarkTLFAsReadLocalArg) (res MarkTLFAsReadLocalRes, err error) {
  9729  	err = c.Cli.Call(ctx, "chat.1.local.markTLFAsReadLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9730  	return
  9731  }
  9732  
  9733  func (c LocalClient) FindConversationsLocal(ctx context.Context, __arg FindConversationsLocalArg) (res FindConversationsLocalRes, err error) {
  9734  	err = c.Cli.Call(ctx, "chat.1.local.findConversationsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9735  	return
  9736  }
  9737  
  9738  func (c LocalClient) FindGeneralConvFromTeamID(ctx context.Context, teamID keybase1.TeamID) (res InboxUIItem, err error) {
  9739  	__arg := FindGeneralConvFromTeamIDArg{TeamID: teamID}
  9740  	err = c.Cli.Call(ctx, "chat.1.local.findGeneralConvFromTeamID", []interface{}{__arg}, &res, 0*time.Millisecond)
  9741  	return
  9742  }
  9743  
  9744  func (c LocalClient) UpdateTyping(ctx context.Context, __arg UpdateTypingArg) (err error) {
  9745  	err = c.Cli.Call(ctx, "chat.1.local.updateTyping", []interface{}{__arg}, nil, 0*time.Millisecond)
  9746  	return
  9747  }
  9748  
  9749  func (c LocalClient) UpdateUnsentText(ctx context.Context, __arg UpdateUnsentTextArg) (err error) {
  9750  	err = c.Cli.Call(ctx, "chat.1.local.updateUnsentText", []interface{}{__arg}, nil, 0*time.Millisecond)
  9751  	return
  9752  }
  9753  
  9754  func (c LocalClient) JoinConversationLocal(ctx context.Context, __arg JoinConversationLocalArg) (res JoinLeaveConversationLocalRes, err error) {
  9755  	err = c.Cli.Call(ctx, "chat.1.local.joinConversationLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9756  	return
  9757  }
  9758  
  9759  func (c LocalClient) JoinConversationByIDLocal(ctx context.Context, convID ConversationID) (res JoinLeaveConversationLocalRes, err error) {
  9760  	__arg := JoinConversationByIDLocalArg{ConvID: convID}
  9761  	err = c.Cli.Call(ctx, "chat.1.local.joinConversationByIDLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9762  	return
  9763  }
  9764  
  9765  func (c LocalClient) LeaveConversationLocal(ctx context.Context, convID ConversationID) (res JoinLeaveConversationLocalRes, err error) {
  9766  	__arg := LeaveConversationLocalArg{ConvID: convID}
  9767  	err = c.Cli.Call(ctx, "chat.1.local.leaveConversationLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9768  	return
  9769  }
  9770  
  9771  func (c LocalClient) PreviewConversationByIDLocal(ctx context.Context, convID ConversationID) (res PreviewConversationLocalRes, err error) {
  9772  	__arg := PreviewConversationByIDLocalArg{ConvID: convID}
  9773  	err = c.Cli.Call(ctx, "chat.1.local.previewConversationByIDLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9774  	return
  9775  }
  9776  
  9777  func (c LocalClient) DeleteConversationLocal(ctx context.Context, __arg DeleteConversationLocalArg) (res DeleteConversationLocalRes, err error) {
  9778  	err = c.Cli.Call(ctx, "chat.1.local.deleteConversationLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9779  	return
  9780  }
  9781  
  9782  func (c LocalClient) RemoveFromConversationLocal(ctx context.Context, __arg RemoveFromConversationLocalArg) (res RemoveFromConversationLocalRes, err error) {
  9783  	err = c.Cli.Call(ctx, "chat.1.local.removeFromConversationLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9784  	return
  9785  }
  9786  
  9787  func (c LocalClient) GetTLFConversationsLocal(ctx context.Context, __arg GetTLFConversationsLocalArg) (res GetTLFConversationsLocalRes, err error) {
  9788  	err = c.Cli.Call(ctx, "chat.1.local.getTLFConversationsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9789  	return
  9790  }
  9791  
  9792  func (c LocalClient) GetChannelMembershipsLocal(ctx context.Context, __arg GetChannelMembershipsLocalArg) (res GetChannelMembershipsLocalRes, err error) {
  9793  	err = c.Cli.Call(ctx, "chat.1.local.getChannelMembershipsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9794  	return
  9795  }
  9796  
  9797  func (c LocalClient) GetMutualTeamsLocal(ctx context.Context, usernames []string) (res GetMutualTeamsLocalRes, err error) {
  9798  	__arg := GetMutualTeamsLocalArg{Usernames: usernames}
  9799  	err = c.Cli.Call(ctx, "chat.1.local.getMutualTeamsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9800  	return
  9801  }
  9802  
  9803  func (c LocalClient) SetAppNotificationSettingsLocal(ctx context.Context, __arg SetAppNotificationSettingsLocalArg) (res SetAppNotificationSettingsLocalRes, err error) {
  9804  	err = c.Cli.Call(ctx, "chat.1.local.setAppNotificationSettingsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9805  	return
  9806  }
  9807  
  9808  func (c LocalClient) SetGlobalAppNotificationSettingsLocal(ctx context.Context, settings map[string]bool) (err error) {
  9809  	__arg := SetGlobalAppNotificationSettingsLocalArg{Settings: settings}
  9810  	err = c.Cli.Call(ctx, "chat.1.local.setGlobalAppNotificationSettingsLocal", []interface{}{__arg}, nil, 0*time.Millisecond)
  9811  	return
  9812  }
  9813  
  9814  func (c LocalClient) GetGlobalAppNotificationSettingsLocal(ctx context.Context) (res GlobalAppNotificationSettings, err error) {
  9815  	err = c.Cli.Call(ctx, "chat.1.local.getGlobalAppNotificationSettingsLocal", []interface{}{GetGlobalAppNotificationSettingsLocalArg{}}, &res, 0*time.Millisecond)
  9816  	return
  9817  }
  9818  
  9819  func (c LocalClient) UnboxMobilePushNotification(ctx context.Context, __arg UnboxMobilePushNotificationArg) (res string, err error) {
  9820  	err = c.Cli.Call(ctx, "chat.1.local.unboxMobilePushNotification", []interface{}{__arg}, &res, 0*time.Millisecond)
  9821  	return
  9822  }
  9823  
  9824  func (c LocalClient) AddTeamMemberAfterReset(ctx context.Context, __arg AddTeamMemberAfterResetArg) (err error) {
  9825  	err = c.Cli.Call(ctx, "chat.1.local.addTeamMemberAfterReset", []interface{}{__arg}, nil, 0*time.Millisecond)
  9826  	return
  9827  }
  9828  
  9829  func (c LocalClient) GetAllResetConvMembers(ctx context.Context) (res GetAllResetConvMembersRes, err error) {
  9830  	err = c.Cli.Call(ctx, "chat.1.local.getAllResetConvMembers", []interface{}{GetAllResetConvMembersArg{}}, &res, 0*time.Millisecond)
  9831  	return
  9832  }
  9833  
  9834  func (c LocalClient) SetConvRetentionLocal(ctx context.Context, __arg SetConvRetentionLocalArg) (err error) {
  9835  	err = c.Cli.Call(ctx, "chat.1.local.setConvRetentionLocal", []interface{}{__arg}, nil, 0*time.Millisecond)
  9836  	return
  9837  }
  9838  
  9839  func (c LocalClient) SetTeamRetentionLocal(ctx context.Context, __arg SetTeamRetentionLocalArg) (err error) {
  9840  	err = c.Cli.Call(ctx, "chat.1.local.setTeamRetentionLocal", []interface{}{__arg}, nil, 0*time.Millisecond)
  9841  	return
  9842  }
  9843  
  9844  func (c LocalClient) GetTeamRetentionLocal(ctx context.Context, teamID keybase1.TeamID) (res *RetentionPolicy, err error) {
  9845  	__arg := GetTeamRetentionLocalArg{TeamID: teamID}
  9846  	err = c.Cli.Call(ctx, "chat.1.local.getTeamRetentionLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9847  	return
  9848  }
  9849  
  9850  func (c LocalClient) SetConvMinWriterRoleLocal(ctx context.Context, __arg SetConvMinWriterRoleLocalArg) (err error) {
  9851  	err = c.Cli.Call(ctx, "chat.1.local.setConvMinWriterRoleLocal", []interface{}{__arg}, nil, 0*time.Millisecond)
  9852  	return
  9853  }
  9854  
  9855  func (c LocalClient) UpgradeKBFSConversationToImpteam(ctx context.Context, convID ConversationID) (err error) {
  9856  	__arg := UpgradeKBFSConversationToImpteamArg{ConvID: convID}
  9857  	err = c.Cli.Call(ctx, "chat.1.local.upgradeKBFSConversationToImpteam", []interface{}{__arg}, nil, 0*time.Millisecond)
  9858  	return
  9859  }
  9860  
  9861  func (c LocalClient) SearchRegexp(ctx context.Context, __arg SearchRegexpArg) (res SearchRegexpRes, err error) {
  9862  	err = c.Cli.Call(ctx, "chat.1.local.searchRegexp", []interface{}{__arg}, &res, 0*time.Millisecond)
  9863  	return
  9864  }
  9865  
  9866  func (c LocalClient) CancelActiveInboxSearch(ctx context.Context) (err error) {
  9867  	err = c.Cli.Call(ctx, "chat.1.local.cancelActiveInboxSearch", []interface{}{CancelActiveInboxSearchArg{}}, nil, 0*time.Millisecond)
  9868  	return
  9869  }
  9870  
  9871  func (c LocalClient) SearchInbox(ctx context.Context, __arg SearchInboxArg) (res SearchInboxRes, err error) {
  9872  	err = c.Cli.Call(ctx, "chat.1.local.searchInbox", []interface{}{__arg}, &res, 0*time.Millisecond)
  9873  	return
  9874  }
  9875  
  9876  func (c LocalClient) SimpleSearchInboxConvNames(ctx context.Context, query string) (res []SimpleSearchInboxConvNamesHit, err error) {
  9877  	__arg := SimpleSearchInboxConvNamesArg{Query: query}
  9878  	err = c.Cli.Call(ctx, "chat.1.local.simpleSearchInboxConvNames", []interface{}{__arg}, &res, 0*time.Millisecond)
  9879  	return
  9880  }
  9881  
  9882  func (c LocalClient) CancelActiveSearch(ctx context.Context) (err error) {
  9883  	err = c.Cli.Call(ctx, "chat.1.local.cancelActiveSearch", []interface{}{CancelActiveSearchArg{}}, nil, 0*time.Millisecond)
  9884  	return
  9885  }
  9886  
  9887  func (c LocalClient) ProfileChatSearch(ctx context.Context, identifyBehavior keybase1.TLFIdentifyBehavior) (res map[ConvIDStr]ProfileSearchConvStats, err error) {
  9888  	__arg := ProfileChatSearchArg{IdentifyBehavior: identifyBehavior}
  9889  	err = c.Cli.Call(ctx, "chat.1.local.profileChatSearch", []interface{}{__arg}, &res, 0*time.Millisecond)
  9890  	return
  9891  }
  9892  
  9893  func (c LocalClient) GetStaticConfig(ctx context.Context) (res StaticConfig, err error) {
  9894  	err = c.Cli.Call(ctx, "chat.1.local.getStaticConfig", []interface{}{GetStaticConfigArg{}}, &res, 0*time.Millisecond)
  9895  	return
  9896  }
  9897  
  9898  func (c LocalClient) ResolveUnfurlPrompt(ctx context.Context, __arg ResolveUnfurlPromptArg) (err error) {
  9899  	err = c.Cli.Call(ctx, "chat.1.local.resolveUnfurlPrompt", []interface{}{__arg}, nil, 0*time.Millisecond)
  9900  	return
  9901  }
  9902  
  9903  func (c LocalClient) GetUnfurlSettings(ctx context.Context) (res UnfurlSettingsDisplay, err error) {
  9904  	err = c.Cli.Call(ctx, "chat.1.local.getUnfurlSettings", []interface{}{GetUnfurlSettingsArg{}}, &res, 0*time.Millisecond)
  9905  	return
  9906  }
  9907  
  9908  func (c LocalClient) SaveUnfurlSettings(ctx context.Context, __arg SaveUnfurlSettingsArg) (err error) {
  9909  	err = c.Cli.Call(ctx, "chat.1.local.saveUnfurlSettings", []interface{}{__arg}, nil, 0*time.Millisecond)
  9910  	return
  9911  }
  9912  
  9913  func (c LocalClient) ToggleMessageCollapse(ctx context.Context, __arg ToggleMessageCollapseArg) (err error) {
  9914  	err = c.Cli.Call(ctx, "chat.1.local.toggleMessageCollapse", []interface{}{__arg}, nil, 0*time.Millisecond)
  9915  	return
  9916  }
  9917  
  9918  func (c LocalClient) BulkAddToConv(ctx context.Context, __arg BulkAddToConvArg) (err error) {
  9919  	err = c.Cli.Call(ctx, "chat.1.local.bulkAddToConv", []interface{}{__arg}, nil, 0*time.Millisecond)
  9920  	return
  9921  }
  9922  
  9923  func (c LocalClient) BulkAddToManyConvs(ctx context.Context, __arg BulkAddToManyConvsArg) (err error) {
  9924  	err = c.Cli.Call(ctx, "chat.1.local.bulkAddToManyConvs", []interface{}{__arg}, nil, 0*time.Millisecond)
  9925  	return
  9926  }
  9927  
  9928  func (c LocalClient) PutReacjiSkinTone(ctx context.Context, skinTone keybase1.ReacjiSkinTone) (res keybase1.UserReacjis, err error) {
  9929  	__arg := PutReacjiSkinToneArg{SkinTone: skinTone}
  9930  	err = c.Cli.Call(ctx, "chat.1.local.putReacjiSkinTone", []interface{}{__arg}, &res, 0*time.Millisecond)
  9931  	return
  9932  }
  9933  
  9934  func (c LocalClient) ResolveMaybeMention(ctx context.Context, mention MaybeMention) (err error) {
  9935  	__arg := ResolveMaybeMentionArg{Mention: mention}
  9936  	err = c.Cli.Call(ctx, "chat.1.local.resolveMaybeMention", []interface{}{__arg}, nil, 0*time.Millisecond)
  9937  	return
  9938  }
  9939  
  9940  func (c LocalClient) LoadGallery(ctx context.Context, __arg LoadGalleryArg) (res LoadGalleryRes, err error) {
  9941  	err = c.Cli.Call(ctx, "chat.1.local.loadGallery", []interface{}{__arg}, &res, 0*time.Millisecond)
  9942  	return
  9943  }
  9944  
  9945  func (c LocalClient) LoadFlip(ctx context.Context, __arg LoadFlipArg) (res LoadFlipRes, err error) {
  9946  	err = c.Cli.Call(ctx, "chat.1.local.loadFlip", []interface{}{__arg}, &res, 0*time.Millisecond)
  9947  	return
  9948  }
  9949  
  9950  func (c LocalClient) LocationUpdate(ctx context.Context, coord Coordinate) (err error) {
  9951  	__arg := LocationUpdateArg{Coord: coord}
  9952  	err = c.Cli.Call(ctx, "chat.1.local.locationUpdate", []interface{}{__arg}, nil, 0*time.Millisecond)
  9953  	return
  9954  }
  9955  
  9956  func (c LocalClient) AdvertiseBotCommandsLocal(ctx context.Context, __arg AdvertiseBotCommandsLocalArg) (res AdvertiseBotCommandsLocalRes, err error) {
  9957  	err = c.Cli.Call(ctx, "chat.1.local.advertiseBotCommandsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9958  	return
  9959  }
  9960  
  9961  func (c LocalClient) ListBotCommandsLocal(ctx context.Context, convID ConversationID) (res ListBotCommandsLocalRes, err error) {
  9962  	__arg := ListBotCommandsLocalArg{ConvID: convID}
  9963  	err = c.Cli.Call(ctx, "chat.1.local.listBotCommandsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9964  	return
  9965  }
  9966  
  9967  func (c LocalClient) ListPublicBotCommandsLocal(ctx context.Context, username string) (res ListBotCommandsLocalRes, err error) {
  9968  	__arg := ListPublicBotCommandsLocalArg{Username: username}
  9969  	err = c.Cli.Call(ctx, "chat.1.local.listPublicBotCommandsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9970  	return
  9971  }
  9972  
  9973  func (c LocalClient) ClearBotCommandsLocal(ctx context.Context, filter *ClearBotCommandsFilter) (res ClearBotCommandsLocalRes, err error) {
  9974  	__arg := ClearBotCommandsLocalArg{Filter: filter}
  9975  	err = c.Cli.Call(ctx, "chat.1.local.clearBotCommandsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9976  	return
  9977  }
  9978  
  9979  func (c LocalClient) PinMessage(ctx context.Context, __arg PinMessageArg) (res PinMessageRes, err error) {
  9980  	err = c.Cli.Call(ctx, "chat.1.local.pinMessage", []interface{}{__arg}, &res, 0*time.Millisecond)
  9981  	return
  9982  }
  9983  
  9984  func (c LocalClient) UnpinMessage(ctx context.Context, convID ConversationID) (res PinMessageRes, err error) {
  9985  	__arg := UnpinMessageArg{ConvID: convID}
  9986  	err = c.Cli.Call(ctx, "chat.1.local.unpinMessage", []interface{}{__arg}, &res, 0*time.Millisecond)
  9987  	return
  9988  }
  9989  
  9990  func (c LocalClient) IgnorePinnedMessage(ctx context.Context, convID ConversationID) (err error) {
  9991  	__arg := IgnorePinnedMessageArg{ConvID: convID}
  9992  	err = c.Cli.Call(ctx, "chat.1.local.ignorePinnedMessage", []interface{}{__arg}, nil, 0*time.Millisecond)
  9993  	return
  9994  }
  9995  
  9996  func (c LocalClient) AddBotMember(ctx context.Context, __arg AddBotMemberArg) (err error) {
  9997  	err = c.Cli.Call(ctx, "chat.1.local.addBotMember", []interface{}{__arg}, nil, 0*time.Millisecond)
  9998  	return
  9999  }
 10000  
 10001  func (c LocalClient) EditBotMember(ctx context.Context, __arg EditBotMemberArg) (err error) {
 10002  	err = c.Cli.Call(ctx, "chat.1.local.editBotMember", []interface{}{__arg}, nil, 0*time.Millisecond)
 10003  	return
 10004  }
 10005  
 10006  func (c LocalClient) RemoveBotMember(ctx context.Context, __arg RemoveBotMemberArg) (err error) {
 10007  	err = c.Cli.Call(ctx, "chat.1.local.removeBotMember", []interface{}{__arg}, nil, 0*time.Millisecond)
 10008  	return
 10009  }
 10010  
 10011  func (c LocalClient) SetBotMemberSettings(ctx context.Context, __arg SetBotMemberSettingsArg) (err error) {
 10012  	err = c.Cli.Call(ctx, "chat.1.local.setBotMemberSettings", []interface{}{__arg}, nil, 0*time.Millisecond)
 10013  	return
 10014  }
 10015  
 10016  func (c LocalClient) GetBotMemberSettings(ctx context.Context, __arg GetBotMemberSettingsArg) (res keybase1.TeamBotSettings, err error) {
 10017  	err = c.Cli.Call(ctx, "chat.1.local.getBotMemberSettings", []interface{}{__arg}, &res, 0*time.Millisecond)
 10018  	return
 10019  }
 10020  
 10021  func (c LocalClient) GetTeamRoleInConversation(ctx context.Context, __arg GetTeamRoleInConversationArg) (res keybase1.TeamRole, err error) {
 10022  	err = c.Cli.Call(ctx, "chat.1.local.getTeamRoleInConversation", []interface{}{__arg}, &res, 0*time.Millisecond)
 10023  	return
 10024  }
 10025  
 10026  func (c LocalClient) AddBotConvSearch(ctx context.Context, term string) (res []ConvSearchHit, err error) {
 10027  	__arg := AddBotConvSearchArg{Term: term}
 10028  	err = c.Cli.Call(ctx, "chat.1.local.addBotConvSearch", []interface{}{__arg}, &res, 0*time.Millisecond)
 10029  	return
 10030  }
 10031  
 10032  func (c LocalClient) ForwardMessageConvSearch(ctx context.Context, term string) (res []ConvSearchHit, err error) {
 10033  	__arg := ForwardMessageConvSearchArg{Term: term}
 10034  	err = c.Cli.Call(ctx, "chat.1.local.forwardMessageConvSearch", []interface{}{__arg}, &res, 0*time.Millisecond)
 10035  	return
 10036  }
 10037  
 10038  func (c LocalClient) TeamIDFromTLFName(ctx context.Context, __arg TeamIDFromTLFNameArg) (res keybase1.TeamID, err error) {
 10039  	err = c.Cli.Call(ctx, "chat.1.local.teamIDFromTLFName", []interface{}{__arg}, &res, 0*time.Millisecond)
 10040  	return
 10041  }
 10042  
 10043  func (c LocalClient) DismissJourneycard(ctx context.Context, __arg DismissJourneycardArg) (err error) {
 10044  	err = c.Cli.Call(ctx, "chat.1.local.dismissJourneycard", []interface{}{__arg}, nil, 0*time.Millisecond)
 10045  	return
 10046  }
 10047  
 10048  func (c LocalClient) SetWelcomeMessage(ctx context.Context, __arg SetWelcomeMessageArg) (err error) {
 10049  	err = c.Cli.Call(ctx, "chat.1.local.setWelcomeMessage", []interface{}{__arg}, nil, 0*time.Millisecond)
 10050  	return
 10051  }
 10052  
 10053  func (c LocalClient) GetWelcomeMessage(ctx context.Context, teamID keybase1.TeamID) (res WelcomeMessageDisplay, err error) {
 10054  	__arg := GetWelcomeMessageArg{TeamID: teamID}
 10055  	err = c.Cli.Call(ctx, "chat.1.local.getWelcomeMessage", []interface{}{__arg}, &res, 0*time.Millisecond)
 10056  	return
 10057  }
 10058  
 10059  func (c LocalClient) GetDefaultTeamChannelsLocal(ctx context.Context, teamID keybase1.TeamID) (res GetDefaultTeamChannelsLocalRes, err error) {
 10060  	__arg := GetDefaultTeamChannelsLocalArg{TeamID: teamID}
 10061  	err = c.Cli.Call(ctx, "chat.1.local.getDefaultTeamChannelsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
 10062  	return
 10063  }
 10064  
 10065  func (c LocalClient) SetDefaultTeamChannelsLocal(ctx context.Context, __arg SetDefaultTeamChannelsLocalArg) (res SetDefaultTeamChannelsLocalRes, err error) {
 10066  	err = c.Cli.Call(ctx, "chat.1.local.setDefaultTeamChannelsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
 10067  	return
 10068  }
 10069  
 10070  func (c LocalClient) GetLastActiveForTLF(ctx context.Context, tlfID TLFIDStr) (res LastActiveStatus, err error) {
 10071  	__arg := GetLastActiveForTLFArg{TlfID: tlfID}
 10072  	err = c.Cli.Call(ctx, "chat.1.local.getLastActiveForTLF", []interface{}{__arg}, &res, 0*time.Millisecond)
 10073  	return
 10074  }
 10075  
 10076  func (c LocalClient) GetLastActiveForTeams(ctx context.Context) (res LastActiveStatusAll, err error) {
 10077  	err = c.Cli.Call(ctx, "chat.1.local.getLastActiveForTeams", []interface{}{GetLastActiveForTeamsArg{}}, &res, 0*time.Millisecond)
 10078  	return
 10079  }
 10080  
 10081  func (c LocalClient) GetRecentJoinsLocal(ctx context.Context, convID ConversationID) (res int, err error) {
 10082  	__arg := GetRecentJoinsLocalArg{ConvID: convID}
 10083  	err = c.Cli.Call(ctx, "chat.1.local.getRecentJoinsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
 10084  	return
 10085  }
 10086  
 10087  func (c LocalClient) RefreshParticipants(ctx context.Context, convID ConversationID) (err error) {
 10088  	__arg := RefreshParticipantsArg{ConvID: convID}
 10089  	err = c.Cli.Call(ctx, "chat.1.local.refreshParticipants", []interface{}{__arg}, nil, 0*time.Millisecond)
 10090  	return
 10091  }
 10092  
 10093  func (c LocalClient) GetLastActiveAtLocal(ctx context.Context, __arg GetLastActiveAtLocalArg) (res gregor1.Time, err error) {
 10094  	err = c.Cli.Call(ctx, "chat.1.local.getLastActiveAtLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
 10095  	return
 10096  }
 10097  
 10098  func (c LocalClient) GetLastActiveAtMultiLocal(ctx context.Context, __arg GetLastActiveAtMultiLocalArg) (res map[keybase1.TeamID]gregor1.Time, err error) {
 10099  	err = c.Cli.Call(ctx, "chat.1.local.getLastActiveAtMultiLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
 10100  	return
 10101  }
 10102  
 10103  func (c LocalClient) GetParticipants(ctx context.Context, convID ConversationID) (res []ConversationLocalParticipant, err error) {
 10104  	__arg := GetParticipantsArg{ConvID: convID}
 10105  	err = c.Cli.Call(ctx, "chat.1.local.getParticipants", []interface{}{__arg}, &res, 0*time.Millisecond)
 10106  	return
 10107  }
 10108  
 10109  func (c LocalClient) AddEmoji(ctx context.Context, __arg AddEmojiArg) (res AddEmojiRes, err error) {
 10110  	err = c.Cli.Call(ctx, "chat.1.local.addEmoji", []interface{}{__arg}, &res, 0*time.Millisecond)
 10111  	return
 10112  }
 10113  
 10114  func (c LocalClient) AddEmojis(ctx context.Context, __arg AddEmojisArg) (res AddEmojisRes, err error) {
 10115  	err = c.Cli.Call(ctx, "chat.1.local.addEmojis", []interface{}{__arg}, &res, 0*time.Millisecond)
 10116  	return
 10117  }
 10118  
 10119  func (c LocalClient) AddEmojiAlias(ctx context.Context, __arg AddEmojiAliasArg) (res AddEmojiAliasRes, err error) {
 10120  	err = c.Cli.Call(ctx, "chat.1.local.addEmojiAlias", []interface{}{__arg}, &res, 0*time.Millisecond)
 10121  	return
 10122  }
 10123  
 10124  func (c LocalClient) RemoveEmoji(ctx context.Context, __arg RemoveEmojiArg) (res RemoveEmojiRes, err error) {
 10125  	err = c.Cli.Call(ctx, "chat.1.local.removeEmoji", []interface{}{__arg}, &res, 0*time.Millisecond)
 10126  	return
 10127  }
 10128  
 10129  func (c LocalClient) UserEmojis(ctx context.Context, __arg UserEmojisArg) (res UserEmojiRes, err error) {
 10130  	err = c.Cli.Call(ctx, "chat.1.local.userEmojis", []interface{}{__arg}, &res, 0*time.Millisecond)
 10131  	return
 10132  }
 10133  
 10134  func (c LocalClient) ToggleEmojiAnimations(ctx context.Context, enabled bool) (err error) {
 10135  	__arg := ToggleEmojiAnimationsArg{Enabled: enabled}
 10136  	err = c.Cli.Call(ctx, "chat.1.local.toggleEmojiAnimations", []interface{}{__arg}, nil, 0*time.Millisecond)
 10137  	return
 10138  }
 10139  
 10140  func (c LocalClient) TrackGiphySelect(ctx context.Context, __arg TrackGiphySelectArg) (res TrackGiphySelectRes, err error) {
 10141  	err = c.Cli.Call(ctx, "chat.1.local.trackGiphySelect", []interface{}{__arg}, &res, 0*time.Millisecond)
 10142  	return
 10143  }
 10144  
 10145  func (c LocalClient) ArchiveChat(ctx context.Context, req ArchiveChatJobRequest) (res ArchiveChatRes, err error) {
 10146  	__arg := ArchiveChatArg{Req: req}
 10147  	err = c.Cli.Call(ctx, "chat.1.local.archiveChat", []interface{}{__arg}, &res, 0*time.Millisecond)
 10148  	return
 10149  }
 10150  
 10151  func (c LocalClient) ArchiveChatList(ctx context.Context, identifyBehavior keybase1.TLFIdentifyBehavior) (res ArchiveChatListRes, err error) {
 10152  	__arg := ArchiveChatListArg{IdentifyBehavior: identifyBehavior}
 10153  	err = c.Cli.Call(ctx, "chat.1.local.archiveChatList", []interface{}{__arg}, &res, 0*time.Millisecond)
 10154  	return
 10155  }
 10156  
 10157  func (c LocalClient) ArchiveChatDelete(ctx context.Context, __arg ArchiveChatDeleteArg) (err error) {
 10158  	err = c.Cli.Call(ctx, "chat.1.local.archiveChatDelete", []interface{}{__arg}, nil, 0*time.Millisecond)
 10159  	return
 10160  }
 10161  
 10162  func (c LocalClient) ArchiveChatPause(ctx context.Context, __arg ArchiveChatPauseArg) (err error) {
 10163  	err = c.Cli.Call(ctx, "chat.1.local.archiveChatPause", []interface{}{__arg}, nil, 0*time.Millisecond)
 10164  	return
 10165  }
 10166  
 10167  func (c LocalClient) ArchiveChatResume(ctx context.Context, __arg ArchiveChatResumeArg) (err error) {
 10168  	err = c.Cli.Call(ctx, "chat.1.local.archiveChatResume", []interface{}{__arg}, nil, 0*time.Millisecond)
 10169  	return
 10170  }