github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/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  	StartedAt        gregor1.Time                         `codec:"startedAt" json:"startedAt"`
  6608  	Status           ArchiveChatJobStatus                 `codec:"status" json:"status"`
  6609  	Err              string                               `codec:"err" json:"err"`
  6610  	MessagesTotal    int64                                `codec:"messagesTotal" json:"messagesTotal"`
  6611  	MessagesComplete int64                                `codec:"messagesComplete" json:"messagesComplete"`
  6612  	Checkpoints      map[string]ArchiveChatConvCheckpoint `codec:"checkpoints" json:"checkpoints"`
  6613  }
  6614  
  6615  func (o ArchiveChatJob) DeepCopy() ArchiveChatJob {
  6616  	return ArchiveChatJob{
  6617  		Request:          o.Request.DeepCopy(),
  6618  		StartedAt:        o.StartedAt.DeepCopy(),
  6619  		Status:           o.Status.DeepCopy(),
  6620  		Err:              o.Err,
  6621  		MessagesTotal:    o.MessagesTotal,
  6622  		MessagesComplete: o.MessagesComplete,
  6623  		Checkpoints: (func(x map[string]ArchiveChatConvCheckpoint) map[string]ArchiveChatConvCheckpoint {
  6624  			if x == nil {
  6625  				return nil
  6626  			}
  6627  			ret := make(map[string]ArchiveChatConvCheckpoint, len(x))
  6628  			for k, v := range x {
  6629  				kCopy := k
  6630  				vCopy := v.DeepCopy()
  6631  				ret[kCopy] = vCopy
  6632  			}
  6633  			return ret
  6634  		})(o.Checkpoints),
  6635  	}
  6636  }
  6637  
  6638  type ArchiveChatJobStatus int
  6639  
  6640  const (
  6641  	ArchiveChatJobStatus_RUNNING           ArchiveChatJobStatus = 0
  6642  	ArchiveChatJobStatus_PAUSED            ArchiveChatJobStatus = 1
  6643  	ArchiveChatJobStatus_BACKGROUND_PAUSED ArchiveChatJobStatus = 2
  6644  	ArchiveChatJobStatus_ERROR             ArchiveChatJobStatus = 3
  6645  	ArchiveChatJobStatus_COMPLETE          ArchiveChatJobStatus = 4
  6646  )
  6647  
  6648  func (o ArchiveChatJobStatus) DeepCopy() ArchiveChatJobStatus { return o }
  6649  
  6650  var ArchiveChatJobStatusMap = map[string]ArchiveChatJobStatus{
  6651  	"RUNNING":           0,
  6652  	"PAUSED":            1,
  6653  	"BACKGROUND_PAUSED": 2,
  6654  	"ERROR":             3,
  6655  	"COMPLETE":          4,
  6656  }
  6657  
  6658  var ArchiveChatJobStatusRevMap = map[ArchiveChatJobStatus]string{
  6659  	0: "RUNNING",
  6660  	1: "PAUSED",
  6661  	2: "BACKGROUND_PAUSED",
  6662  	3: "ERROR",
  6663  	4: "COMPLETE",
  6664  }
  6665  
  6666  func (e ArchiveChatJobStatus) String() string {
  6667  	if v, ok := ArchiveChatJobStatusRevMap[e]; ok {
  6668  		return v
  6669  	}
  6670  	return fmt.Sprintf("%v", int(e))
  6671  }
  6672  
  6673  type ArchiveChatListRes struct {
  6674  	Jobs []ArchiveChatJob `codec:"jobs" json:"jobs"`
  6675  }
  6676  
  6677  func (o ArchiveChatListRes) DeepCopy() ArchiveChatListRes {
  6678  	return ArchiveChatListRes{
  6679  		Jobs: (func(x []ArchiveChatJob) []ArchiveChatJob {
  6680  			if x == nil {
  6681  				return nil
  6682  			}
  6683  			ret := make([]ArchiveChatJob, len(x))
  6684  			for i, v := range x {
  6685  				vCopy := v.DeepCopy()
  6686  				ret[i] = vCopy
  6687  			}
  6688  			return ret
  6689  		})(o.Jobs),
  6690  	}
  6691  }
  6692  
  6693  type ArchiveChatHistory struct {
  6694  	JobHistory map[ArchiveJobID]ArchiveChatJob `codec:"jobHistory" json:"jobHistory"`
  6695  }
  6696  
  6697  func (o ArchiveChatHistory) DeepCopy() ArchiveChatHistory {
  6698  	return ArchiveChatHistory{
  6699  		JobHistory: (func(x map[ArchiveJobID]ArchiveChatJob) map[ArchiveJobID]ArchiveChatJob {
  6700  			if x == nil {
  6701  				return nil
  6702  			}
  6703  			ret := make(map[ArchiveJobID]ArchiveChatJob, len(x))
  6704  			for k, v := range x {
  6705  				kCopy := k.DeepCopy()
  6706  				vCopy := v.DeepCopy()
  6707  				ret[kCopy] = vCopy
  6708  			}
  6709  			return ret
  6710  		})(o.JobHistory),
  6711  	}
  6712  }
  6713  
  6714  type GetThreadLocalArg struct {
  6715  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6716  	Reason           GetThreadReason              `codec:"reason" json:"reason"`
  6717  	Query            *GetThreadQuery              `codec:"query,omitempty" json:"query,omitempty"`
  6718  	Pagination       *Pagination                  `codec:"pagination,omitempty" json:"pagination,omitempty"`
  6719  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6720  }
  6721  
  6722  type GetThreadNonblockArg struct {
  6723  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  6724  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6725  	CbMode           GetThreadNonblockCbMode      `codec:"cbMode" json:"cbMode"`
  6726  	Reason           GetThreadReason              `codec:"reason" json:"reason"`
  6727  	Pgmode           GetThreadNonblockPgMode      `codec:"pgmode" json:"pgmode"`
  6728  	Query            *GetThreadQuery              `codec:"query,omitempty" json:"query,omitempty"`
  6729  	KnownRemotes     []string                     `codec:"knownRemotes" json:"knownRemotes"`
  6730  	Pagination       *UIPagination                `codec:"pagination,omitempty" json:"pagination,omitempty"`
  6731  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6732  }
  6733  
  6734  type GetUnreadlineArg struct {
  6735  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  6736  	ConvID           ConversationID               `codec:"convID" json:"convID"`
  6737  	ReadMsgID        MessageID                    `codec:"readMsgID" json:"readMsgID"`
  6738  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6739  }
  6740  
  6741  type GetInboxAndUnboxLocalArg struct {
  6742  	Query            *GetInboxLocalQuery          `codec:"query,omitempty" json:"query,omitempty"`
  6743  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6744  }
  6745  
  6746  type GetInboxAndUnboxUILocalArg struct {
  6747  	Query            *GetInboxLocalQuery          `codec:"query,omitempty" json:"query,omitempty"`
  6748  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6749  }
  6750  
  6751  type RequestInboxLayoutArg struct {
  6752  	ReselectMode InboxLayoutReselectMode `codec:"reselectMode" json:"reselectMode"`
  6753  }
  6754  
  6755  type RequestInboxUnboxArg struct {
  6756  	ConvIDs []ConversationID `codec:"convIDs" json:"convIDs"`
  6757  }
  6758  
  6759  type RequestInboxSmallIncreaseArg struct {
  6760  }
  6761  
  6762  type RequestInboxSmallResetArg struct {
  6763  }
  6764  
  6765  type GetInboxNonblockLocalArg struct {
  6766  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  6767  	MaxUnbox         *int                         `codec:"maxUnbox,omitempty" json:"maxUnbox,omitempty"`
  6768  	SkipUnverified   bool                         `codec:"skipUnverified" json:"skipUnverified"`
  6769  	Query            *GetInboxLocalQuery          `codec:"query,omitempty" json:"query,omitempty"`
  6770  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6771  }
  6772  
  6773  type PostLocalArg struct {
  6774  	SessionID          int                          `codec:"sessionID" json:"sessionID"`
  6775  	ConversationID     ConversationID               `codec:"conversationID" json:"conversationID"`
  6776  	Msg                MessagePlaintext             `codec:"msg" json:"msg"`
  6777  	ReplyTo            *MessageID                   `codec:"replyTo,omitempty" json:"replyTo,omitempty"`
  6778  	IdentifyBehavior   keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6779  	SkipInChatPayments bool                         `codec:"skipInChatPayments" json:"skipInChatPayments"`
  6780  }
  6781  
  6782  type GenerateOutboxIDArg struct {
  6783  }
  6784  
  6785  type PostLocalNonblockArg struct {
  6786  	SessionID          int                          `codec:"sessionID" json:"sessionID"`
  6787  	ConversationID     ConversationID               `codec:"conversationID" json:"conversationID"`
  6788  	Msg                MessagePlaintext             `codec:"msg" json:"msg"`
  6789  	ClientPrev         MessageID                    `codec:"clientPrev" json:"clientPrev"`
  6790  	OutboxID           *OutboxID                    `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  6791  	ReplyTo            *MessageID                   `codec:"replyTo,omitempty" json:"replyTo,omitempty"`
  6792  	IdentifyBehavior   keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6793  	SkipInChatPayments bool                         `codec:"skipInChatPayments" json:"skipInChatPayments"`
  6794  }
  6795  
  6796  type ForwardMessageArg struct {
  6797  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  6798  	SrcConvID        ConversationID               `codec:"srcConvID" json:"srcConvID"`
  6799  	DstConvID        ConversationID               `codec:"dstConvID" json:"dstConvID"`
  6800  	MsgID            MessageID                    `codec:"msgID" json:"msgID"`
  6801  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6802  	Title            string                       `codec:"title" json:"title"`
  6803  }
  6804  
  6805  type ForwardMessageNonblockArg struct {
  6806  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  6807  	SrcConvID        ConversationID               `codec:"srcConvID" json:"srcConvID"`
  6808  	DstConvID        ConversationID               `codec:"dstConvID" json:"dstConvID"`
  6809  	MsgID            MessageID                    `codec:"msgID" json:"msgID"`
  6810  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6811  	Title            string                       `codec:"title" json:"title"`
  6812  }
  6813  
  6814  type PostTextNonblockArg struct {
  6815  	SessionID         int                          `codec:"sessionID" json:"sessionID"`
  6816  	ConversationID    ConversationID               `codec:"conversationID" json:"conversationID"`
  6817  	TlfName           string                       `codec:"tlfName" json:"tlfName"`
  6818  	TlfPublic         bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6819  	Body              string                       `codec:"body" json:"body"`
  6820  	ClientPrev        MessageID                    `codec:"clientPrev" json:"clientPrev"`
  6821  	ReplyTo           *MessageID                   `codec:"replyTo,omitempty" json:"replyTo,omitempty"`
  6822  	OutboxID          *OutboxID                    `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  6823  	IdentifyBehavior  keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6824  	EphemeralLifetime *gregor1.DurationSec         `codec:"ephemeralLifetime,omitempty" json:"ephemeralLifetime,omitempty"`
  6825  }
  6826  
  6827  type PostDeleteNonblockArg struct {
  6828  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6829  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6830  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6831  	Supersedes       MessageID                    `codec:"supersedes" json:"supersedes"`
  6832  	ClientPrev       MessageID                    `codec:"clientPrev" json:"clientPrev"`
  6833  	OutboxID         *OutboxID                    `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  6834  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6835  }
  6836  
  6837  type PostEditNonblockArg struct {
  6838  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6839  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6840  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6841  	Target           EditTarget                   `codec:"target" json:"target"`
  6842  	Body             string                       `codec:"body" json:"body"`
  6843  	OutboxID         *OutboxID                    `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  6844  	ClientPrev       MessageID                    `codec:"clientPrev" json:"clientPrev"`
  6845  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6846  }
  6847  
  6848  type PostReactionNonblockArg struct {
  6849  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6850  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6851  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6852  	Supersedes       MessageID                    `codec:"supersedes" json:"supersedes"`
  6853  	Body             string                       `codec:"body" json:"body"`
  6854  	OutboxID         *OutboxID                    `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  6855  	ClientPrev       MessageID                    `codec:"clientPrev" json:"clientPrev"`
  6856  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6857  }
  6858  
  6859  type PostHeadlineNonblockArg struct {
  6860  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6861  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6862  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6863  	Headline         string                       `codec:"headline" json:"headline"`
  6864  	OutboxID         *OutboxID                    `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  6865  	ClientPrev       MessageID                    `codec:"clientPrev" json:"clientPrev"`
  6866  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6867  }
  6868  
  6869  type PostHeadlineArg struct {
  6870  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6871  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6872  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6873  	Headline         string                       `codec:"headline" json:"headline"`
  6874  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6875  }
  6876  
  6877  type PostMetadataNonblockArg struct {
  6878  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6879  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6880  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6881  	ChannelName      string                       `codec:"channelName" json:"channelName"`
  6882  	OutboxID         *OutboxID                    `codec:"outboxID,omitempty" json:"outboxID,omitempty"`
  6883  	ClientPrev       MessageID                    `codec:"clientPrev" json:"clientPrev"`
  6884  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6885  }
  6886  
  6887  type PostMetadataArg struct {
  6888  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6889  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6890  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6891  	ChannelName      string                       `codec:"channelName" json:"channelName"`
  6892  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6893  }
  6894  
  6895  type PostDeleteHistoryUptoArg struct {
  6896  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6897  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6898  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6899  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6900  	Upto             MessageID                    `codec:"upto" json:"upto"`
  6901  }
  6902  
  6903  type PostDeleteHistoryThroughArg struct {
  6904  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6905  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6906  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6907  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6908  	Through          MessageID                    `codec:"through" json:"through"`
  6909  }
  6910  
  6911  type PostDeleteHistoryByAgeArg struct {
  6912  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6913  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6914  	TlfPublic        bool                         `codec:"tlfPublic" json:"tlfPublic"`
  6915  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6916  	Age              gregor1.DurationSec          `codec:"age" json:"age"`
  6917  }
  6918  
  6919  type SetConversationStatusLocalArg struct {
  6920  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6921  	Status           ConversationStatus           `codec:"status" json:"status"`
  6922  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6923  }
  6924  
  6925  type NewConversationsLocalArg struct {
  6926  	NewConversationLocalArguments []NewConversationLocalArgument `codec:"newConversationLocalArguments" json:"newConversationLocalArguments"`
  6927  	IdentifyBehavior              keybase1.TLFIdentifyBehavior   `codec:"identifyBehavior" json:"identifyBehavior"`
  6928  }
  6929  
  6930  type NewConversationLocalArg struct {
  6931  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  6932  	TopicType        TopicType                    `codec:"topicType" json:"topicType"`
  6933  	TlfVisibility    keybase1.TLFVisibility       `codec:"tlfVisibility" json:"tlfVisibility"`
  6934  	TopicName        *string                      `codec:"topicName,omitempty" json:"topicName,omitempty"`
  6935  	MembersType      ConversationMembersType      `codec:"membersType" json:"membersType"`
  6936  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6937  }
  6938  
  6939  type GetInboxSummaryForCLILocalArg struct {
  6940  	Query GetInboxSummaryForCLILocalQuery `codec:"query" json:"query"`
  6941  }
  6942  
  6943  type GetConversationForCLILocalArg struct {
  6944  	Query GetConversationForCLILocalQuery `codec:"query" json:"query"`
  6945  }
  6946  
  6947  type GetMessagesLocalArg struct {
  6948  	ConversationID           ConversationID               `codec:"conversationID" json:"conversationID"`
  6949  	MessageIDs               []MessageID                  `codec:"messageIDs" json:"messageIDs"`
  6950  	DisableResolveSupersedes bool                         `codec:"disableResolveSupersedes" json:"disableResolveSupersedes"`
  6951  	IdentifyBehavior         keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6952  }
  6953  
  6954  type PostFileAttachmentLocalArg struct {
  6955  	SessionID int                   `codec:"sessionID" json:"sessionID"`
  6956  	Arg       PostFileAttachmentArg `codec:"arg" json:"arg"`
  6957  }
  6958  
  6959  type PostFileAttachmentLocalNonblockArg struct {
  6960  	SessionID  int                   `codec:"sessionID" json:"sessionID"`
  6961  	Arg        PostFileAttachmentArg `codec:"arg" json:"arg"`
  6962  	ClientPrev MessageID             `codec:"clientPrev" json:"clientPrev"`
  6963  }
  6964  
  6965  type GetNextAttachmentMessageLocalArg struct {
  6966  	ConvID           ConversationID               `codec:"convID" json:"convID"`
  6967  	MessageID        MessageID                    `codec:"messageID" json:"messageID"`
  6968  	BackInTime       bool                         `codec:"backInTime" json:"backInTime"`
  6969  	AssetTypes       []AssetMetadataType          `codec:"assetTypes" json:"assetTypes"`
  6970  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6971  }
  6972  
  6973  type DownloadAttachmentLocalArg struct {
  6974  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  6975  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6976  	MessageID        MessageID                    `codec:"messageID" json:"messageID"`
  6977  	Sink             keybase1.Stream              `codec:"sink" json:"sink"`
  6978  	Preview          bool                         `codec:"preview" json:"preview"`
  6979  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6980  }
  6981  
  6982  type DownloadFileAttachmentLocalArg struct {
  6983  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  6984  	ConversationID   ConversationID               `codec:"conversationID" json:"conversationID"`
  6985  	MessageID        MessageID                    `codec:"messageID" json:"messageID"`
  6986  	DownloadToCache  bool                         `codec:"downloadToCache" json:"downloadToCache"`
  6987  	Preview          bool                         `codec:"preview" json:"preview"`
  6988  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  6989  }
  6990  
  6991  type ConfigureFileAttachmentDownloadLocalArg struct {
  6992  	CacheDirOverride    string `codec:"cacheDirOverride" json:"cacheDirOverride"`
  6993  	DownloadDirOverride string `codec:"downloadDirOverride" json:"downloadDirOverride"`
  6994  }
  6995  
  6996  type MakePreviewArg struct {
  6997  	SessionID int      `codec:"sessionID" json:"sessionID"`
  6998  	Filename  string   `codec:"filename" json:"filename"`
  6999  	OutboxID  OutboxID `codec:"outboxID" json:"outboxID"`
  7000  }
  7001  
  7002  type MakeAudioPreviewArg struct {
  7003  	Amps     []float64 `codec:"amps" json:"amps"`
  7004  	Duration int       `codec:"duration" json:"duration"`
  7005  }
  7006  
  7007  type GetUploadTempFileArg struct {
  7008  	OutboxID OutboxID `codec:"outboxID" json:"outboxID"`
  7009  	Filename string   `codec:"filename" json:"filename"`
  7010  }
  7011  
  7012  type MakeUploadTempFileArg struct {
  7013  	OutboxID OutboxID `codec:"outboxID" json:"outboxID"`
  7014  	Filename string   `codec:"filename" json:"filename"`
  7015  	Data     []byte   `codec:"data" json:"data"`
  7016  }
  7017  
  7018  type CancelUploadTempFileArg struct {
  7019  	OutboxID OutboxID `codec:"outboxID" json:"outboxID"`
  7020  }
  7021  
  7022  type CancelPostArg struct {
  7023  	OutboxID OutboxID `codec:"outboxID" json:"outboxID"`
  7024  }
  7025  
  7026  type RetryPostArg struct {
  7027  	OutboxID         OutboxID                      `codec:"outboxID" json:"outboxID"`
  7028  	IdentifyBehavior *keybase1.TLFIdentifyBehavior `codec:"identifyBehavior,omitempty" json:"identifyBehavior,omitempty"`
  7029  }
  7030  
  7031  type MarkAsReadLocalArg struct {
  7032  	SessionID      int            `codec:"sessionID" json:"sessionID"`
  7033  	ConversationID ConversationID `codec:"conversationID" json:"conversationID"`
  7034  	MsgID          *MessageID     `codec:"msgID,omitempty" json:"msgID,omitempty"`
  7035  	ForceUnread    bool           `codec:"forceUnread" json:"forceUnread"`
  7036  }
  7037  
  7038  type MarkTLFAsReadLocalArg struct {
  7039  	SessionID int   `codec:"sessionID" json:"sessionID"`
  7040  	TlfID     TLFID `codec:"tlfID" json:"tlfID"`
  7041  }
  7042  
  7043  type FindConversationsLocalArg struct {
  7044  	TlfName          string                       `codec:"tlfName" json:"tlfName"`
  7045  	MembersType      ConversationMembersType      `codec:"membersType" json:"membersType"`
  7046  	Visibility       keybase1.TLFVisibility       `codec:"visibility" json:"visibility"`
  7047  	TopicType        TopicType                    `codec:"topicType" json:"topicType"`
  7048  	TopicName        string                       `codec:"topicName" json:"topicName"`
  7049  	OneChatPerTLF    *bool                        `codec:"oneChatPerTLF,omitempty" json:"oneChatPerTLF,omitempty"`
  7050  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7051  }
  7052  
  7053  type FindGeneralConvFromTeamIDArg struct {
  7054  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  7055  }
  7056  
  7057  type UpdateTypingArg struct {
  7058  	ConversationID ConversationID `codec:"conversationID" json:"conversationID"`
  7059  	Typing         bool           `codec:"typing" json:"typing"`
  7060  }
  7061  
  7062  type UpdateUnsentTextArg struct {
  7063  	ConversationID ConversationID `codec:"conversationID" json:"conversationID"`
  7064  	TlfName        string         `codec:"tlfName" json:"tlfName"`
  7065  	Text           string         `codec:"text" json:"text"`
  7066  }
  7067  
  7068  type JoinConversationLocalArg struct {
  7069  	TlfName    string                 `codec:"tlfName" json:"tlfName"`
  7070  	TopicType  TopicType              `codec:"topicType" json:"topicType"`
  7071  	Visibility keybase1.TLFVisibility `codec:"visibility" json:"visibility"`
  7072  	TopicName  string                 `codec:"topicName" json:"topicName"`
  7073  }
  7074  
  7075  type JoinConversationByIDLocalArg struct {
  7076  	ConvID ConversationID `codec:"convID" json:"convID"`
  7077  }
  7078  
  7079  type LeaveConversationLocalArg struct {
  7080  	ConvID ConversationID `codec:"convID" json:"convID"`
  7081  }
  7082  
  7083  type PreviewConversationByIDLocalArg struct {
  7084  	ConvID ConversationID `codec:"convID" json:"convID"`
  7085  }
  7086  
  7087  type DeleteConversationLocalArg struct {
  7088  	SessionID   int            `codec:"sessionID" json:"sessionID"`
  7089  	ConvID      ConversationID `codec:"convID" json:"convID"`
  7090  	ChannelName string         `codec:"channelName" json:"channelName"`
  7091  	Confirmed   bool           `codec:"confirmed" json:"confirmed"`
  7092  }
  7093  
  7094  type RemoveFromConversationLocalArg struct {
  7095  	ConvID    ConversationID `codec:"convID" json:"convID"`
  7096  	Usernames []string       `codec:"usernames" json:"usernames"`
  7097  }
  7098  
  7099  type GetTLFConversationsLocalArg struct {
  7100  	TlfName     string                  `codec:"tlfName" json:"tlfName"`
  7101  	TopicType   TopicType               `codec:"topicType" json:"topicType"`
  7102  	MembersType ConversationMembersType `codec:"membersType" json:"membersType"`
  7103  }
  7104  
  7105  type GetChannelMembershipsLocalArg struct {
  7106  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  7107  	Uid    gregor1.UID     `codec:"uid" json:"uid"`
  7108  }
  7109  
  7110  type GetMutualTeamsLocalArg struct {
  7111  	Usernames []string `codec:"usernames" json:"usernames"`
  7112  }
  7113  
  7114  type SetAppNotificationSettingsLocalArg struct {
  7115  	ConvID      ConversationID                `codec:"convID" json:"convID"`
  7116  	ChannelWide bool                          `codec:"channelWide" json:"channelWide"`
  7117  	Settings    []AppNotificationSettingLocal `codec:"settings" json:"settings"`
  7118  }
  7119  
  7120  type SetGlobalAppNotificationSettingsLocalArg struct {
  7121  	Settings map[string]bool `codec:"settings" json:"settings"`
  7122  }
  7123  
  7124  type GetGlobalAppNotificationSettingsLocalArg struct {
  7125  }
  7126  
  7127  type UnboxMobilePushNotificationArg struct {
  7128  	Payload     string                  `codec:"payload" json:"payload"`
  7129  	ConvID      string                  `codec:"convID" json:"convID"`
  7130  	MembersType ConversationMembersType `codec:"membersType" json:"membersType"`
  7131  	PushIDs     []string                `codec:"pushIDs" json:"pushIDs"`
  7132  	ShouldAck   bool                    `codec:"shouldAck" json:"shouldAck"`
  7133  }
  7134  
  7135  type AddTeamMemberAfterResetArg struct {
  7136  	Username string         `codec:"username" json:"username"`
  7137  	ConvID   ConversationID `codec:"convID" json:"convID"`
  7138  }
  7139  
  7140  type GetAllResetConvMembersArg struct {
  7141  }
  7142  
  7143  type SetConvRetentionLocalArg struct {
  7144  	ConvID ConversationID  `codec:"convID" json:"convID"`
  7145  	Policy RetentionPolicy `codec:"policy" json:"policy"`
  7146  }
  7147  
  7148  type SetTeamRetentionLocalArg struct {
  7149  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  7150  	Policy RetentionPolicy `codec:"policy" json:"policy"`
  7151  }
  7152  
  7153  type GetTeamRetentionLocalArg struct {
  7154  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  7155  }
  7156  
  7157  type SetConvMinWriterRoleLocalArg struct {
  7158  	ConvID ConversationID    `codec:"convID" json:"convID"`
  7159  	Role   keybase1.TeamRole `codec:"role" json:"role"`
  7160  }
  7161  
  7162  type UpgradeKBFSConversationToImpteamArg struct {
  7163  	ConvID ConversationID `codec:"convID" json:"convID"`
  7164  }
  7165  
  7166  type SearchRegexpArg struct {
  7167  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  7168  	ConvID           ConversationID               `codec:"convID" json:"convID"`
  7169  	Query            string                       `codec:"query" json:"query"`
  7170  	Opts             SearchOpts                   `codec:"opts" json:"opts"`
  7171  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7172  }
  7173  
  7174  type CancelActiveInboxSearchArg struct {
  7175  }
  7176  
  7177  type SearchInboxArg struct {
  7178  	SessionID        int                          `codec:"sessionID" json:"sessionID"`
  7179  	Query            string                       `codec:"query" json:"query"`
  7180  	Opts             SearchOpts                   `codec:"opts" json:"opts"`
  7181  	NamesOnly        bool                         `codec:"namesOnly" json:"namesOnly"`
  7182  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7183  }
  7184  
  7185  type SimpleSearchInboxConvNamesArg struct {
  7186  	Query string `codec:"query" json:"query"`
  7187  }
  7188  
  7189  type CancelActiveSearchArg struct {
  7190  }
  7191  
  7192  type ProfileChatSearchArg struct {
  7193  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7194  }
  7195  
  7196  type GetStaticConfigArg struct {
  7197  }
  7198  
  7199  type ResolveUnfurlPromptArg struct {
  7200  	ConvID           ConversationID               `codec:"convID" json:"convID"`
  7201  	MsgID            MessageID                    `codec:"msgID" json:"msgID"`
  7202  	Result           UnfurlPromptResult           `codec:"result" json:"result"`
  7203  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7204  }
  7205  
  7206  type GetUnfurlSettingsArg struct {
  7207  }
  7208  
  7209  type SaveUnfurlSettingsArg struct {
  7210  	Mode      UnfurlMode `codec:"mode" json:"mode"`
  7211  	Whitelist []string   `codec:"whitelist" json:"whitelist"`
  7212  }
  7213  
  7214  type ToggleMessageCollapseArg struct {
  7215  	ConvID   ConversationID `codec:"convID" json:"convID"`
  7216  	MsgID    MessageID      `codec:"msgID" json:"msgID"`
  7217  	Collapse bool           `codec:"collapse" json:"collapse"`
  7218  }
  7219  
  7220  type BulkAddToConvArg struct {
  7221  	ConvID    ConversationID `codec:"convID" json:"convID"`
  7222  	Usernames []string       `codec:"usernames" json:"usernames"`
  7223  }
  7224  
  7225  type BulkAddToManyConvsArg struct {
  7226  	Conversations []ConversationID `codec:"conversations" json:"conversations"`
  7227  	Usernames     []string         `codec:"usernames" json:"usernames"`
  7228  }
  7229  
  7230  type PutReacjiSkinToneArg struct {
  7231  	SkinTone keybase1.ReacjiSkinTone `codec:"skinTone" json:"skinTone"`
  7232  }
  7233  
  7234  type ResolveMaybeMentionArg struct {
  7235  	Mention MaybeMention `codec:"mention" json:"mention"`
  7236  }
  7237  
  7238  type LoadGalleryArg struct {
  7239  	SessionID int            `codec:"sessionID" json:"sessionID"`
  7240  	ConvID    ConversationID `codec:"convID" json:"convID"`
  7241  	Typ       GalleryItemTyp `codec:"typ" json:"typ"`
  7242  	Num       int            `codec:"num" json:"num"`
  7243  	FromMsgID *MessageID     `codec:"fromMsgID,omitempty" json:"fromMsgID,omitempty"`
  7244  }
  7245  
  7246  type LoadFlipArg struct {
  7247  	HostConvID ConversationID `codec:"hostConvID" json:"hostConvID"`
  7248  	HostMsgID  MessageID      `codec:"hostMsgID" json:"hostMsgID"`
  7249  	FlipConvID ConversationID `codec:"flipConvID" json:"flipConvID"`
  7250  	GameID     FlipGameID     `codec:"gameID" json:"gameID"`
  7251  }
  7252  
  7253  type LocationUpdateArg struct {
  7254  	Coord Coordinate `codec:"coord" json:"coord"`
  7255  }
  7256  
  7257  type AdvertiseBotCommandsLocalArg struct {
  7258  	Alias          *string                  `codec:"alias,omitempty" json:"alias,omitempty"`
  7259  	Advertisements []AdvertiseCommandsParam `codec:"advertisements" json:"advertisements"`
  7260  }
  7261  
  7262  type ListBotCommandsLocalArg struct {
  7263  	ConvID ConversationID `codec:"convID" json:"convID"`
  7264  }
  7265  
  7266  type ListPublicBotCommandsLocalArg struct {
  7267  	Username string `codec:"username" json:"username"`
  7268  }
  7269  
  7270  type ClearBotCommandsLocalArg struct {
  7271  	Filter *ClearBotCommandsFilter `codec:"filter,omitempty" json:"filter,omitempty"`
  7272  }
  7273  
  7274  type PinMessageArg struct {
  7275  	ConvID ConversationID `codec:"convID" json:"convID"`
  7276  	MsgID  MessageID      `codec:"msgID" json:"msgID"`
  7277  }
  7278  
  7279  type UnpinMessageArg struct {
  7280  	ConvID ConversationID `codec:"convID" json:"convID"`
  7281  }
  7282  
  7283  type IgnorePinnedMessageArg struct {
  7284  	ConvID ConversationID `codec:"convID" json:"convID"`
  7285  }
  7286  
  7287  type AddBotMemberArg struct {
  7288  	ConvID      ConversationID            `codec:"convID" json:"convID"`
  7289  	Username    string                    `codec:"username" json:"username"`
  7290  	BotSettings *keybase1.TeamBotSettings `codec:"botSettings,omitempty" json:"botSettings,omitempty"`
  7291  	Role        keybase1.TeamRole         `codec:"role" json:"role"`
  7292  }
  7293  
  7294  type EditBotMemberArg struct {
  7295  	ConvID      ConversationID            `codec:"convID" json:"convID"`
  7296  	Username    string                    `codec:"username" json:"username"`
  7297  	BotSettings *keybase1.TeamBotSettings `codec:"botSettings,omitempty" json:"botSettings,omitempty"`
  7298  	Role        keybase1.TeamRole         `codec:"role" json:"role"`
  7299  }
  7300  
  7301  type RemoveBotMemberArg struct {
  7302  	ConvID   ConversationID `codec:"convID" json:"convID"`
  7303  	Username string         `codec:"username" json:"username"`
  7304  }
  7305  
  7306  type SetBotMemberSettingsArg struct {
  7307  	ConvID      ConversationID           `codec:"convID" json:"convID"`
  7308  	Username    string                   `codec:"username" json:"username"`
  7309  	BotSettings keybase1.TeamBotSettings `codec:"botSettings" json:"botSettings"`
  7310  }
  7311  
  7312  type GetBotMemberSettingsArg struct {
  7313  	ConvID   ConversationID `codec:"convID" json:"convID"`
  7314  	Username string         `codec:"username" json:"username"`
  7315  }
  7316  
  7317  type GetTeamRoleInConversationArg struct {
  7318  	ConvID   ConversationID `codec:"convID" json:"convID"`
  7319  	Username string         `codec:"username" json:"username"`
  7320  }
  7321  
  7322  type AddBotConvSearchArg struct {
  7323  	Term string `codec:"term" json:"term"`
  7324  }
  7325  
  7326  type ForwardMessageConvSearchArg struct {
  7327  	Term string `codec:"term" json:"term"`
  7328  }
  7329  
  7330  type TeamIDFromTLFNameArg struct {
  7331  	TlfName     string                  `codec:"tlfName" json:"tlfName"`
  7332  	MembersType ConversationMembersType `codec:"membersType" json:"membersType"`
  7333  	TlfPublic   bool                    `codec:"tlfPublic" json:"tlfPublic"`
  7334  }
  7335  
  7336  type DismissJourneycardArg struct {
  7337  	ConvID   ConversationID  `codec:"convID" json:"convID"`
  7338  	CardType JourneycardType `codec:"cardType" json:"cardType"`
  7339  }
  7340  
  7341  type SetWelcomeMessageArg struct {
  7342  	TeamID  keybase1.TeamID `codec:"teamID" json:"teamID"`
  7343  	Message WelcomeMessage  `codec:"message" json:"message"`
  7344  }
  7345  
  7346  type GetWelcomeMessageArg struct {
  7347  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  7348  }
  7349  
  7350  type GetDefaultTeamChannelsLocalArg struct {
  7351  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  7352  }
  7353  
  7354  type SetDefaultTeamChannelsLocalArg struct {
  7355  	TeamID keybase1.TeamID `codec:"teamID" json:"teamID"`
  7356  	Convs  []ConvIDStr     `codec:"convs" json:"convs"`
  7357  }
  7358  
  7359  type GetLastActiveForTLFArg struct {
  7360  	TlfID TLFIDStr `codec:"tlfID" json:"tlfID"`
  7361  }
  7362  
  7363  type GetLastActiveForTeamsArg struct {
  7364  }
  7365  
  7366  type GetRecentJoinsLocalArg struct {
  7367  	ConvID ConversationID `codec:"convID" json:"convID"`
  7368  }
  7369  
  7370  type RefreshParticipantsArg struct {
  7371  	ConvID ConversationID `codec:"convID" json:"convID"`
  7372  }
  7373  
  7374  type GetLastActiveAtLocalArg struct {
  7375  	TeamID   keybase1.TeamID `codec:"teamID" json:"teamID"`
  7376  	Username string          `codec:"username" json:"username"`
  7377  }
  7378  
  7379  type GetLastActiveAtMultiLocalArg struct {
  7380  	TeamIDs  []keybase1.TeamID `codec:"teamIDs" json:"teamIDs"`
  7381  	Username string            `codec:"username" json:"username"`
  7382  }
  7383  
  7384  type GetParticipantsArg struct {
  7385  	ConvID ConversationID `codec:"convID" json:"convID"`
  7386  }
  7387  
  7388  type AddEmojiArg struct {
  7389  	ConvID         ConversationID `codec:"convID" json:"convID"`
  7390  	Alias          string         `codec:"alias" json:"alias"`
  7391  	Filename       string         `codec:"filename" json:"filename"`
  7392  	AllowOverwrite bool           `codec:"allowOverwrite" json:"allowOverwrite"`
  7393  }
  7394  
  7395  type AddEmojisArg struct {
  7396  	ConvID         ConversationID `codec:"convID" json:"convID"`
  7397  	Aliases        []string       `codec:"aliases" json:"aliases"`
  7398  	Filenames      []string       `codec:"filenames" json:"filenames"`
  7399  	AllowOverwrite []bool         `codec:"allowOverwrite" json:"allowOverwrite"`
  7400  }
  7401  
  7402  type AddEmojiAliasArg struct {
  7403  	ConvID        ConversationID `codec:"convID" json:"convID"`
  7404  	NewAlias      string         `codec:"newAlias" json:"newAlias"`
  7405  	ExistingAlias string         `codec:"existingAlias" json:"existingAlias"`
  7406  }
  7407  
  7408  type RemoveEmojiArg struct {
  7409  	ConvID ConversationID `codec:"convID" json:"convID"`
  7410  	Alias  string         `codec:"alias" json:"alias"`
  7411  }
  7412  
  7413  type UserEmojisArg struct {
  7414  	Opts   EmojiFetchOpts  `codec:"opts" json:"opts"`
  7415  	ConvID *ConversationID `codec:"convID,omitempty" json:"convID,omitempty"`
  7416  }
  7417  
  7418  type ToggleEmojiAnimationsArg struct {
  7419  	Enabled bool `codec:"enabled" json:"enabled"`
  7420  }
  7421  
  7422  type TrackGiphySelectArg struct {
  7423  	SessionID int               `codec:"sessionID" json:"sessionID"`
  7424  	Result    GiphySearchResult `codec:"result" json:"result"`
  7425  }
  7426  
  7427  type ArchiveChatArg struct {
  7428  	Req ArchiveChatJobRequest `codec:"req" json:"req"`
  7429  }
  7430  
  7431  type ArchiveChatListArg struct {
  7432  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7433  }
  7434  
  7435  type ArchiveChatDeleteArg struct {
  7436  	JobID            ArchiveJobID                 `codec:"jobID" json:"jobID"`
  7437  	DeleteOutputPath bool                         `codec:"deleteOutputPath" json:"deleteOutputPath"`
  7438  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7439  }
  7440  
  7441  type ArchiveChatPauseArg struct {
  7442  	JobID            ArchiveJobID                 `codec:"jobID" json:"jobID"`
  7443  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7444  }
  7445  
  7446  type ArchiveChatResumeArg struct {
  7447  	JobID            ArchiveJobID                 `codec:"jobID" json:"jobID"`
  7448  	IdentifyBehavior keybase1.TLFIdentifyBehavior `codec:"identifyBehavior" json:"identifyBehavior"`
  7449  }
  7450  
  7451  type LocalInterface interface {
  7452  	GetThreadLocal(context.Context, GetThreadLocalArg) (GetThreadLocalRes, error)
  7453  	GetThreadNonblock(context.Context, GetThreadNonblockArg) (NonblockFetchRes, error)
  7454  	GetUnreadline(context.Context, GetUnreadlineArg) (UnreadlineRes, error)
  7455  	GetInboxAndUnboxLocal(context.Context, GetInboxAndUnboxLocalArg) (GetInboxAndUnboxLocalRes, error)
  7456  	GetInboxAndUnboxUILocal(context.Context, GetInboxAndUnboxUILocalArg) (GetInboxAndUnboxUILocalRes, error)
  7457  	RequestInboxLayout(context.Context, InboxLayoutReselectMode) error
  7458  	RequestInboxUnbox(context.Context, []ConversationID) error
  7459  	RequestInboxSmallIncrease(context.Context) error
  7460  	RequestInboxSmallReset(context.Context) error
  7461  	GetInboxNonblockLocal(context.Context, GetInboxNonblockLocalArg) (NonblockFetchRes, error)
  7462  	PostLocal(context.Context, PostLocalArg) (PostLocalRes, error)
  7463  	GenerateOutboxID(context.Context) (OutboxID, error)
  7464  	PostLocalNonblock(context.Context, PostLocalNonblockArg) (PostLocalNonblockRes, error)
  7465  	ForwardMessage(context.Context, ForwardMessageArg) (PostLocalRes, error)
  7466  	ForwardMessageNonblock(context.Context, ForwardMessageNonblockArg) (PostLocalNonblockRes, error)
  7467  	PostTextNonblock(context.Context, PostTextNonblockArg) (PostLocalNonblockRes, error)
  7468  	PostDeleteNonblock(context.Context, PostDeleteNonblockArg) (PostLocalNonblockRes, error)
  7469  	PostEditNonblock(context.Context, PostEditNonblockArg) (PostLocalNonblockRes, error)
  7470  	PostReactionNonblock(context.Context, PostReactionNonblockArg) (PostLocalNonblockRes, error)
  7471  	PostHeadlineNonblock(context.Context, PostHeadlineNonblockArg) (PostLocalNonblockRes, error)
  7472  	PostHeadline(context.Context, PostHeadlineArg) (PostLocalRes, error)
  7473  	PostMetadataNonblock(context.Context, PostMetadataNonblockArg) (PostLocalNonblockRes, error)
  7474  	PostMetadata(context.Context, PostMetadataArg) (PostLocalRes, error)
  7475  	PostDeleteHistoryUpto(context.Context, PostDeleteHistoryUptoArg) (PostLocalRes, error)
  7476  	PostDeleteHistoryThrough(context.Context, PostDeleteHistoryThroughArg) (PostLocalRes, error)
  7477  	PostDeleteHistoryByAge(context.Context, PostDeleteHistoryByAgeArg) (PostLocalRes, error)
  7478  	SetConversationStatusLocal(context.Context, SetConversationStatusLocalArg) (SetConversationStatusLocalRes, error)
  7479  	NewConversationsLocal(context.Context, NewConversationsLocalArg) (NewConversationsLocalRes, error)
  7480  	NewConversationLocal(context.Context, NewConversationLocalArg) (NewConversationLocalRes, error)
  7481  	GetInboxSummaryForCLILocal(context.Context, GetInboxSummaryForCLILocalQuery) (GetInboxSummaryForCLILocalRes, error)
  7482  	GetConversationForCLILocal(context.Context, GetConversationForCLILocalQuery) (GetConversationForCLILocalRes, error)
  7483  	GetMessagesLocal(context.Context, GetMessagesLocalArg) (GetMessagesLocalRes, error)
  7484  	PostFileAttachmentLocal(context.Context, PostFileAttachmentLocalArg) (PostLocalRes, error)
  7485  	PostFileAttachmentLocalNonblock(context.Context, PostFileAttachmentLocalNonblockArg) (PostLocalNonblockRes, error)
  7486  	GetNextAttachmentMessageLocal(context.Context, GetNextAttachmentMessageLocalArg) (GetNextAttachmentMessageLocalRes, error)
  7487  	DownloadAttachmentLocal(context.Context, DownloadAttachmentLocalArg) (DownloadAttachmentLocalRes, error)
  7488  	DownloadFileAttachmentLocal(context.Context, DownloadFileAttachmentLocalArg) (DownloadFileAttachmentLocalRes, error)
  7489  	ConfigureFileAttachmentDownloadLocal(context.Context, ConfigureFileAttachmentDownloadLocalArg) error
  7490  	MakePreview(context.Context, MakePreviewArg) (MakePreviewRes, error)
  7491  	MakeAudioPreview(context.Context, MakeAudioPreviewArg) (MakePreviewRes, error)
  7492  	GetUploadTempFile(context.Context, GetUploadTempFileArg) (string, error)
  7493  	MakeUploadTempFile(context.Context, MakeUploadTempFileArg) (string, error)
  7494  	CancelUploadTempFile(context.Context, OutboxID) error
  7495  	CancelPost(context.Context, OutboxID) error
  7496  	RetryPost(context.Context, RetryPostArg) error
  7497  	MarkAsReadLocal(context.Context, MarkAsReadLocalArg) (MarkAsReadLocalRes, error)
  7498  	MarkTLFAsReadLocal(context.Context, MarkTLFAsReadLocalArg) (MarkTLFAsReadLocalRes, error)
  7499  	FindConversationsLocal(context.Context, FindConversationsLocalArg) (FindConversationsLocalRes, error)
  7500  	FindGeneralConvFromTeamID(context.Context, keybase1.TeamID) (InboxUIItem, error)
  7501  	UpdateTyping(context.Context, UpdateTypingArg) error
  7502  	UpdateUnsentText(context.Context, UpdateUnsentTextArg) error
  7503  	JoinConversationLocal(context.Context, JoinConversationLocalArg) (JoinLeaveConversationLocalRes, error)
  7504  	JoinConversationByIDLocal(context.Context, ConversationID) (JoinLeaveConversationLocalRes, error)
  7505  	LeaveConversationLocal(context.Context, ConversationID) (JoinLeaveConversationLocalRes, error)
  7506  	PreviewConversationByIDLocal(context.Context, ConversationID) (PreviewConversationLocalRes, error)
  7507  	DeleteConversationLocal(context.Context, DeleteConversationLocalArg) (DeleteConversationLocalRes, error)
  7508  	RemoveFromConversationLocal(context.Context, RemoveFromConversationLocalArg) (RemoveFromConversationLocalRes, error)
  7509  	GetTLFConversationsLocal(context.Context, GetTLFConversationsLocalArg) (GetTLFConversationsLocalRes, error)
  7510  	GetChannelMembershipsLocal(context.Context, GetChannelMembershipsLocalArg) (GetChannelMembershipsLocalRes, error)
  7511  	GetMutualTeamsLocal(context.Context, []string) (GetMutualTeamsLocalRes, error)
  7512  	SetAppNotificationSettingsLocal(context.Context, SetAppNotificationSettingsLocalArg) (SetAppNotificationSettingsLocalRes, error)
  7513  	SetGlobalAppNotificationSettingsLocal(context.Context, map[string]bool) error
  7514  	GetGlobalAppNotificationSettingsLocal(context.Context) (GlobalAppNotificationSettings, error)
  7515  	UnboxMobilePushNotification(context.Context, UnboxMobilePushNotificationArg) (string, error)
  7516  	AddTeamMemberAfterReset(context.Context, AddTeamMemberAfterResetArg) error
  7517  	GetAllResetConvMembers(context.Context) (GetAllResetConvMembersRes, error)
  7518  	SetConvRetentionLocal(context.Context, SetConvRetentionLocalArg) error
  7519  	SetTeamRetentionLocal(context.Context, SetTeamRetentionLocalArg) error
  7520  	GetTeamRetentionLocal(context.Context, keybase1.TeamID) (*RetentionPolicy, error)
  7521  	SetConvMinWriterRoleLocal(context.Context, SetConvMinWriterRoleLocalArg) error
  7522  	UpgradeKBFSConversationToImpteam(context.Context, ConversationID) error
  7523  	SearchRegexp(context.Context, SearchRegexpArg) (SearchRegexpRes, error)
  7524  	CancelActiveInboxSearch(context.Context) error
  7525  	SearchInbox(context.Context, SearchInboxArg) (SearchInboxRes, error)
  7526  	SimpleSearchInboxConvNames(context.Context, string) ([]SimpleSearchInboxConvNamesHit, error)
  7527  	CancelActiveSearch(context.Context) error
  7528  	ProfileChatSearch(context.Context, keybase1.TLFIdentifyBehavior) (map[ConvIDStr]ProfileSearchConvStats, error)
  7529  	GetStaticConfig(context.Context) (StaticConfig, error)
  7530  	ResolveUnfurlPrompt(context.Context, ResolveUnfurlPromptArg) error
  7531  	GetUnfurlSettings(context.Context) (UnfurlSettingsDisplay, error)
  7532  	SaveUnfurlSettings(context.Context, SaveUnfurlSettingsArg) error
  7533  	ToggleMessageCollapse(context.Context, ToggleMessageCollapseArg) error
  7534  	BulkAddToConv(context.Context, BulkAddToConvArg) error
  7535  	BulkAddToManyConvs(context.Context, BulkAddToManyConvsArg) error
  7536  	PutReacjiSkinTone(context.Context, keybase1.ReacjiSkinTone) (keybase1.UserReacjis, error)
  7537  	ResolveMaybeMention(context.Context, MaybeMention) error
  7538  	LoadGallery(context.Context, LoadGalleryArg) (LoadGalleryRes, error)
  7539  	LoadFlip(context.Context, LoadFlipArg) (LoadFlipRes, error)
  7540  	LocationUpdate(context.Context, Coordinate) error
  7541  	AdvertiseBotCommandsLocal(context.Context, AdvertiseBotCommandsLocalArg) (AdvertiseBotCommandsLocalRes, error)
  7542  	ListBotCommandsLocal(context.Context, ConversationID) (ListBotCommandsLocalRes, error)
  7543  	ListPublicBotCommandsLocal(context.Context, string) (ListBotCommandsLocalRes, error)
  7544  	ClearBotCommandsLocal(context.Context, *ClearBotCommandsFilter) (ClearBotCommandsLocalRes, error)
  7545  	PinMessage(context.Context, PinMessageArg) (PinMessageRes, error)
  7546  	UnpinMessage(context.Context, ConversationID) (PinMessageRes, error)
  7547  	IgnorePinnedMessage(context.Context, ConversationID) error
  7548  	AddBotMember(context.Context, AddBotMemberArg) error
  7549  	EditBotMember(context.Context, EditBotMemberArg) error
  7550  	RemoveBotMember(context.Context, RemoveBotMemberArg) error
  7551  	SetBotMemberSettings(context.Context, SetBotMemberSettingsArg) error
  7552  	GetBotMemberSettings(context.Context, GetBotMemberSettingsArg) (keybase1.TeamBotSettings, error)
  7553  	GetTeamRoleInConversation(context.Context, GetTeamRoleInConversationArg) (keybase1.TeamRole, error)
  7554  	AddBotConvSearch(context.Context, string) ([]ConvSearchHit, error)
  7555  	ForwardMessageConvSearch(context.Context, string) ([]ConvSearchHit, error)
  7556  	TeamIDFromTLFName(context.Context, TeamIDFromTLFNameArg) (keybase1.TeamID, error)
  7557  	DismissJourneycard(context.Context, DismissJourneycardArg) error
  7558  	SetWelcomeMessage(context.Context, SetWelcomeMessageArg) error
  7559  	GetWelcomeMessage(context.Context, keybase1.TeamID) (WelcomeMessageDisplay, error)
  7560  	GetDefaultTeamChannelsLocal(context.Context, keybase1.TeamID) (GetDefaultTeamChannelsLocalRes, error)
  7561  	SetDefaultTeamChannelsLocal(context.Context, SetDefaultTeamChannelsLocalArg) (SetDefaultTeamChannelsLocalRes, error)
  7562  	GetLastActiveForTLF(context.Context, TLFIDStr) (LastActiveStatus, error)
  7563  	GetLastActiveForTeams(context.Context) (LastActiveStatusAll, error)
  7564  	GetRecentJoinsLocal(context.Context, ConversationID) (int, error)
  7565  	RefreshParticipants(context.Context, ConversationID) error
  7566  	GetLastActiveAtLocal(context.Context, GetLastActiveAtLocalArg) (gregor1.Time, error)
  7567  	GetLastActiveAtMultiLocal(context.Context, GetLastActiveAtMultiLocalArg) (map[keybase1.TeamID]gregor1.Time, error)
  7568  	GetParticipants(context.Context, ConversationID) ([]ConversationLocalParticipant, error)
  7569  	AddEmoji(context.Context, AddEmojiArg) (AddEmojiRes, error)
  7570  	AddEmojis(context.Context, AddEmojisArg) (AddEmojisRes, error)
  7571  	AddEmojiAlias(context.Context, AddEmojiAliasArg) (AddEmojiAliasRes, error)
  7572  	RemoveEmoji(context.Context, RemoveEmojiArg) (RemoveEmojiRes, error)
  7573  	UserEmojis(context.Context, UserEmojisArg) (UserEmojiRes, error)
  7574  	ToggleEmojiAnimations(context.Context, bool) error
  7575  	TrackGiphySelect(context.Context, TrackGiphySelectArg) (TrackGiphySelectRes, error)
  7576  	ArchiveChat(context.Context, ArchiveChatJobRequest) (ArchiveChatRes, error)
  7577  	ArchiveChatList(context.Context, keybase1.TLFIdentifyBehavior) (ArchiveChatListRes, error)
  7578  	ArchiveChatDelete(context.Context, ArchiveChatDeleteArg) error
  7579  	ArchiveChatPause(context.Context, ArchiveChatPauseArg) error
  7580  	ArchiveChatResume(context.Context, ArchiveChatResumeArg) error
  7581  }
  7582  
  7583  func LocalProtocol(i LocalInterface) rpc.Protocol {
  7584  	return rpc.Protocol{
  7585  		Name: "chat.1.local",
  7586  		Methods: map[string]rpc.ServeHandlerDescription{
  7587  			"getThreadLocal": {
  7588  				MakeArg: func() interface{} {
  7589  					var ret [1]GetThreadLocalArg
  7590  					return &ret
  7591  				},
  7592  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7593  					typedArgs, ok := args.(*[1]GetThreadLocalArg)
  7594  					if !ok {
  7595  						err = rpc.NewTypeError((*[1]GetThreadLocalArg)(nil), args)
  7596  						return
  7597  					}
  7598  					ret, err = i.GetThreadLocal(ctx, typedArgs[0])
  7599  					return
  7600  				},
  7601  			},
  7602  			"getThreadNonblock": {
  7603  				MakeArg: func() interface{} {
  7604  					var ret [1]GetThreadNonblockArg
  7605  					return &ret
  7606  				},
  7607  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7608  					typedArgs, ok := args.(*[1]GetThreadNonblockArg)
  7609  					if !ok {
  7610  						err = rpc.NewTypeError((*[1]GetThreadNonblockArg)(nil), args)
  7611  						return
  7612  					}
  7613  					ret, err = i.GetThreadNonblock(ctx, typedArgs[0])
  7614  					return
  7615  				},
  7616  			},
  7617  			"getUnreadline": {
  7618  				MakeArg: func() interface{} {
  7619  					var ret [1]GetUnreadlineArg
  7620  					return &ret
  7621  				},
  7622  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7623  					typedArgs, ok := args.(*[1]GetUnreadlineArg)
  7624  					if !ok {
  7625  						err = rpc.NewTypeError((*[1]GetUnreadlineArg)(nil), args)
  7626  						return
  7627  					}
  7628  					ret, err = i.GetUnreadline(ctx, typedArgs[0])
  7629  					return
  7630  				},
  7631  			},
  7632  			"getInboxAndUnboxLocal": {
  7633  				MakeArg: func() interface{} {
  7634  					var ret [1]GetInboxAndUnboxLocalArg
  7635  					return &ret
  7636  				},
  7637  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7638  					typedArgs, ok := args.(*[1]GetInboxAndUnboxLocalArg)
  7639  					if !ok {
  7640  						err = rpc.NewTypeError((*[1]GetInboxAndUnboxLocalArg)(nil), args)
  7641  						return
  7642  					}
  7643  					ret, err = i.GetInboxAndUnboxLocal(ctx, typedArgs[0])
  7644  					return
  7645  				},
  7646  			},
  7647  			"getInboxAndUnboxUILocal": {
  7648  				MakeArg: func() interface{} {
  7649  					var ret [1]GetInboxAndUnboxUILocalArg
  7650  					return &ret
  7651  				},
  7652  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7653  					typedArgs, ok := args.(*[1]GetInboxAndUnboxUILocalArg)
  7654  					if !ok {
  7655  						err = rpc.NewTypeError((*[1]GetInboxAndUnboxUILocalArg)(nil), args)
  7656  						return
  7657  					}
  7658  					ret, err = i.GetInboxAndUnboxUILocal(ctx, typedArgs[0])
  7659  					return
  7660  				},
  7661  			},
  7662  			"requestInboxLayout": {
  7663  				MakeArg: func() interface{} {
  7664  					var ret [1]RequestInboxLayoutArg
  7665  					return &ret
  7666  				},
  7667  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7668  					typedArgs, ok := args.(*[1]RequestInboxLayoutArg)
  7669  					if !ok {
  7670  						err = rpc.NewTypeError((*[1]RequestInboxLayoutArg)(nil), args)
  7671  						return
  7672  					}
  7673  					err = i.RequestInboxLayout(ctx, typedArgs[0].ReselectMode)
  7674  					return
  7675  				},
  7676  			},
  7677  			"requestInboxUnbox": {
  7678  				MakeArg: func() interface{} {
  7679  					var ret [1]RequestInboxUnboxArg
  7680  					return &ret
  7681  				},
  7682  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7683  					typedArgs, ok := args.(*[1]RequestInboxUnboxArg)
  7684  					if !ok {
  7685  						err = rpc.NewTypeError((*[1]RequestInboxUnboxArg)(nil), args)
  7686  						return
  7687  					}
  7688  					err = i.RequestInboxUnbox(ctx, typedArgs[0].ConvIDs)
  7689  					return
  7690  				},
  7691  			},
  7692  			"requestInboxSmallIncrease": {
  7693  				MakeArg: func() interface{} {
  7694  					var ret [1]RequestInboxSmallIncreaseArg
  7695  					return &ret
  7696  				},
  7697  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7698  					err = i.RequestInboxSmallIncrease(ctx)
  7699  					return
  7700  				},
  7701  			},
  7702  			"requestInboxSmallReset": {
  7703  				MakeArg: func() interface{} {
  7704  					var ret [1]RequestInboxSmallResetArg
  7705  					return &ret
  7706  				},
  7707  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7708  					err = i.RequestInboxSmallReset(ctx)
  7709  					return
  7710  				},
  7711  			},
  7712  			"getInboxNonblockLocal": {
  7713  				MakeArg: func() interface{} {
  7714  					var ret [1]GetInboxNonblockLocalArg
  7715  					return &ret
  7716  				},
  7717  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7718  					typedArgs, ok := args.(*[1]GetInboxNonblockLocalArg)
  7719  					if !ok {
  7720  						err = rpc.NewTypeError((*[1]GetInboxNonblockLocalArg)(nil), args)
  7721  						return
  7722  					}
  7723  					ret, err = i.GetInboxNonblockLocal(ctx, typedArgs[0])
  7724  					return
  7725  				},
  7726  			},
  7727  			"postLocal": {
  7728  				MakeArg: func() interface{} {
  7729  					var ret [1]PostLocalArg
  7730  					return &ret
  7731  				},
  7732  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7733  					typedArgs, ok := args.(*[1]PostLocalArg)
  7734  					if !ok {
  7735  						err = rpc.NewTypeError((*[1]PostLocalArg)(nil), args)
  7736  						return
  7737  					}
  7738  					ret, err = i.PostLocal(ctx, typedArgs[0])
  7739  					return
  7740  				},
  7741  			},
  7742  			"generateOutboxID": {
  7743  				MakeArg: func() interface{} {
  7744  					var ret [1]GenerateOutboxIDArg
  7745  					return &ret
  7746  				},
  7747  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7748  					ret, err = i.GenerateOutboxID(ctx)
  7749  					return
  7750  				},
  7751  			},
  7752  			"postLocalNonblock": {
  7753  				MakeArg: func() interface{} {
  7754  					var ret [1]PostLocalNonblockArg
  7755  					return &ret
  7756  				},
  7757  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7758  					typedArgs, ok := args.(*[1]PostLocalNonblockArg)
  7759  					if !ok {
  7760  						err = rpc.NewTypeError((*[1]PostLocalNonblockArg)(nil), args)
  7761  						return
  7762  					}
  7763  					ret, err = i.PostLocalNonblock(ctx, typedArgs[0])
  7764  					return
  7765  				},
  7766  			},
  7767  			"forwardMessage": {
  7768  				MakeArg: func() interface{} {
  7769  					var ret [1]ForwardMessageArg
  7770  					return &ret
  7771  				},
  7772  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7773  					typedArgs, ok := args.(*[1]ForwardMessageArg)
  7774  					if !ok {
  7775  						err = rpc.NewTypeError((*[1]ForwardMessageArg)(nil), args)
  7776  						return
  7777  					}
  7778  					ret, err = i.ForwardMessage(ctx, typedArgs[0])
  7779  					return
  7780  				},
  7781  			},
  7782  			"forwardMessageNonblock": {
  7783  				MakeArg: func() interface{} {
  7784  					var ret [1]ForwardMessageNonblockArg
  7785  					return &ret
  7786  				},
  7787  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7788  					typedArgs, ok := args.(*[1]ForwardMessageNonblockArg)
  7789  					if !ok {
  7790  						err = rpc.NewTypeError((*[1]ForwardMessageNonblockArg)(nil), args)
  7791  						return
  7792  					}
  7793  					ret, err = i.ForwardMessageNonblock(ctx, typedArgs[0])
  7794  					return
  7795  				},
  7796  			},
  7797  			"postTextNonblock": {
  7798  				MakeArg: func() interface{} {
  7799  					var ret [1]PostTextNonblockArg
  7800  					return &ret
  7801  				},
  7802  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7803  					typedArgs, ok := args.(*[1]PostTextNonblockArg)
  7804  					if !ok {
  7805  						err = rpc.NewTypeError((*[1]PostTextNonblockArg)(nil), args)
  7806  						return
  7807  					}
  7808  					ret, err = i.PostTextNonblock(ctx, typedArgs[0])
  7809  					return
  7810  				},
  7811  			},
  7812  			"postDeleteNonblock": {
  7813  				MakeArg: func() interface{} {
  7814  					var ret [1]PostDeleteNonblockArg
  7815  					return &ret
  7816  				},
  7817  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7818  					typedArgs, ok := args.(*[1]PostDeleteNonblockArg)
  7819  					if !ok {
  7820  						err = rpc.NewTypeError((*[1]PostDeleteNonblockArg)(nil), args)
  7821  						return
  7822  					}
  7823  					ret, err = i.PostDeleteNonblock(ctx, typedArgs[0])
  7824  					return
  7825  				},
  7826  			},
  7827  			"postEditNonblock": {
  7828  				MakeArg: func() interface{} {
  7829  					var ret [1]PostEditNonblockArg
  7830  					return &ret
  7831  				},
  7832  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7833  					typedArgs, ok := args.(*[1]PostEditNonblockArg)
  7834  					if !ok {
  7835  						err = rpc.NewTypeError((*[1]PostEditNonblockArg)(nil), args)
  7836  						return
  7837  					}
  7838  					ret, err = i.PostEditNonblock(ctx, typedArgs[0])
  7839  					return
  7840  				},
  7841  			},
  7842  			"postReactionNonblock": {
  7843  				MakeArg: func() interface{} {
  7844  					var ret [1]PostReactionNonblockArg
  7845  					return &ret
  7846  				},
  7847  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7848  					typedArgs, ok := args.(*[1]PostReactionNonblockArg)
  7849  					if !ok {
  7850  						err = rpc.NewTypeError((*[1]PostReactionNonblockArg)(nil), args)
  7851  						return
  7852  					}
  7853  					ret, err = i.PostReactionNonblock(ctx, typedArgs[0])
  7854  					return
  7855  				},
  7856  			},
  7857  			"postHeadlineNonblock": {
  7858  				MakeArg: func() interface{} {
  7859  					var ret [1]PostHeadlineNonblockArg
  7860  					return &ret
  7861  				},
  7862  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7863  					typedArgs, ok := args.(*[1]PostHeadlineNonblockArg)
  7864  					if !ok {
  7865  						err = rpc.NewTypeError((*[1]PostHeadlineNonblockArg)(nil), args)
  7866  						return
  7867  					}
  7868  					ret, err = i.PostHeadlineNonblock(ctx, typedArgs[0])
  7869  					return
  7870  				},
  7871  			},
  7872  			"postHeadline": {
  7873  				MakeArg: func() interface{} {
  7874  					var ret [1]PostHeadlineArg
  7875  					return &ret
  7876  				},
  7877  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7878  					typedArgs, ok := args.(*[1]PostHeadlineArg)
  7879  					if !ok {
  7880  						err = rpc.NewTypeError((*[1]PostHeadlineArg)(nil), args)
  7881  						return
  7882  					}
  7883  					ret, err = i.PostHeadline(ctx, typedArgs[0])
  7884  					return
  7885  				},
  7886  			},
  7887  			"postMetadataNonblock": {
  7888  				MakeArg: func() interface{} {
  7889  					var ret [1]PostMetadataNonblockArg
  7890  					return &ret
  7891  				},
  7892  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7893  					typedArgs, ok := args.(*[1]PostMetadataNonblockArg)
  7894  					if !ok {
  7895  						err = rpc.NewTypeError((*[1]PostMetadataNonblockArg)(nil), args)
  7896  						return
  7897  					}
  7898  					ret, err = i.PostMetadataNonblock(ctx, typedArgs[0])
  7899  					return
  7900  				},
  7901  			},
  7902  			"postMetadata": {
  7903  				MakeArg: func() interface{} {
  7904  					var ret [1]PostMetadataArg
  7905  					return &ret
  7906  				},
  7907  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7908  					typedArgs, ok := args.(*[1]PostMetadataArg)
  7909  					if !ok {
  7910  						err = rpc.NewTypeError((*[1]PostMetadataArg)(nil), args)
  7911  						return
  7912  					}
  7913  					ret, err = i.PostMetadata(ctx, typedArgs[0])
  7914  					return
  7915  				},
  7916  			},
  7917  			"postDeleteHistoryUpto": {
  7918  				MakeArg: func() interface{} {
  7919  					var ret [1]PostDeleteHistoryUptoArg
  7920  					return &ret
  7921  				},
  7922  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7923  					typedArgs, ok := args.(*[1]PostDeleteHistoryUptoArg)
  7924  					if !ok {
  7925  						err = rpc.NewTypeError((*[1]PostDeleteHistoryUptoArg)(nil), args)
  7926  						return
  7927  					}
  7928  					ret, err = i.PostDeleteHistoryUpto(ctx, typedArgs[0])
  7929  					return
  7930  				},
  7931  			},
  7932  			"postDeleteHistoryThrough": {
  7933  				MakeArg: func() interface{} {
  7934  					var ret [1]PostDeleteHistoryThroughArg
  7935  					return &ret
  7936  				},
  7937  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7938  					typedArgs, ok := args.(*[1]PostDeleteHistoryThroughArg)
  7939  					if !ok {
  7940  						err = rpc.NewTypeError((*[1]PostDeleteHistoryThroughArg)(nil), args)
  7941  						return
  7942  					}
  7943  					ret, err = i.PostDeleteHistoryThrough(ctx, typedArgs[0])
  7944  					return
  7945  				},
  7946  			},
  7947  			"postDeleteHistoryByAge": {
  7948  				MakeArg: func() interface{} {
  7949  					var ret [1]PostDeleteHistoryByAgeArg
  7950  					return &ret
  7951  				},
  7952  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7953  					typedArgs, ok := args.(*[1]PostDeleteHistoryByAgeArg)
  7954  					if !ok {
  7955  						err = rpc.NewTypeError((*[1]PostDeleteHistoryByAgeArg)(nil), args)
  7956  						return
  7957  					}
  7958  					ret, err = i.PostDeleteHistoryByAge(ctx, typedArgs[0])
  7959  					return
  7960  				},
  7961  			},
  7962  			"SetConversationStatusLocal": {
  7963  				MakeArg: func() interface{} {
  7964  					var ret [1]SetConversationStatusLocalArg
  7965  					return &ret
  7966  				},
  7967  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7968  					typedArgs, ok := args.(*[1]SetConversationStatusLocalArg)
  7969  					if !ok {
  7970  						err = rpc.NewTypeError((*[1]SetConversationStatusLocalArg)(nil), args)
  7971  						return
  7972  					}
  7973  					ret, err = i.SetConversationStatusLocal(ctx, typedArgs[0])
  7974  					return
  7975  				},
  7976  			},
  7977  			"newConversationsLocal": {
  7978  				MakeArg: func() interface{} {
  7979  					var ret [1]NewConversationsLocalArg
  7980  					return &ret
  7981  				},
  7982  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7983  					typedArgs, ok := args.(*[1]NewConversationsLocalArg)
  7984  					if !ok {
  7985  						err = rpc.NewTypeError((*[1]NewConversationsLocalArg)(nil), args)
  7986  						return
  7987  					}
  7988  					ret, err = i.NewConversationsLocal(ctx, typedArgs[0])
  7989  					return
  7990  				},
  7991  			},
  7992  			"newConversationLocal": {
  7993  				MakeArg: func() interface{} {
  7994  					var ret [1]NewConversationLocalArg
  7995  					return &ret
  7996  				},
  7997  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  7998  					typedArgs, ok := args.(*[1]NewConversationLocalArg)
  7999  					if !ok {
  8000  						err = rpc.NewTypeError((*[1]NewConversationLocalArg)(nil), args)
  8001  						return
  8002  					}
  8003  					ret, err = i.NewConversationLocal(ctx, typedArgs[0])
  8004  					return
  8005  				},
  8006  			},
  8007  			"getInboxSummaryForCLILocal": {
  8008  				MakeArg: func() interface{} {
  8009  					var ret [1]GetInboxSummaryForCLILocalArg
  8010  					return &ret
  8011  				},
  8012  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8013  					typedArgs, ok := args.(*[1]GetInboxSummaryForCLILocalArg)
  8014  					if !ok {
  8015  						err = rpc.NewTypeError((*[1]GetInboxSummaryForCLILocalArg)(nil), args)
  8016  						return
  8017  					}
  8018  					ret, err = i.GetInboxSummaryForCLILocal(ctx, typedArgs[0].Query)
  8019  					return
  8020  				},
  8021  			},
  8022  			"getConversationForCLILocal": {
  8023  				MakeArg: func() interface{} {
  8024  					var ret [1]GetConversationForCLILocalArg
  8025  					return &ret
  8026  				},
  8027  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8028  					typedArgs, ok := args.(*[1]GetConversationForCLILocalArg)
  8029  					if !ok {
  8030  						err = rpc.NewTypeError((*[1]GetConversationForCLILocalArg)(nil), args)
  8031  						return
  8032  					}
  8033  					ret, err = i.GetConversationForCLILocal(ctx, typedArgs[0].Query)
  8034  					return
  8035  				},
  8036  			},
  8037  			"GetMessagesLocal": {
  8038  				MakeArg: func() interface{} {
  8039  					var ret [1]GetMessagesLocalArg
  8040  					return &ret
  8041  				},
  8042  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8043  					typedArgs, ok := args.(*[1]GetMessagesLocalArg)
  8044  					if !ok {
  8045  						err = rpc.NewTypeError((*[1]GetMessagesLocalArg)(nil), args)
  8046  						return
  8047  					}
  8048  					ret, err = i.GetMessagesLocal(ctx, typedArgs[0])
  8049  					return
  8050  				},
  8051  			},
  8052  			"postFileAttachmentLocal": {
  8053  				MakeArg: func() interface{} {
  8054  					var ret [1]PostFileAttachmentLocalArg
  8055  					return &ret
  8056  				},
  8057  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8058  					typedArgs, ok := args.(*[1]PostFileAttachmentLocalArg)
  8059  					if !ok {
  8060  						err = rpc.NewTypeError((*[1]PostFileAttachmentLocalArg)(nil), args)
  8061  						return
  8062  					}
  8063  					ret, err = i.PostFileAttachmentLocal(ctx, typedArgs[0])
  8064  					return
  8065  				},
  8066  			},
  8067  			"postFileAttachmentLocalNonblock": {
  8068  				MakeArg: func() interface{} {
  8069  					var ret [1]PostFileAttachmentLocalNonblockArg
  8070  					return &ret
  8071  				},
  8072  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8073  					typedArgs, ok := args.(*[1]PostFileAttachmentLocalNonblockArg)
  8074  					if !ok {
  8075  						err = rpc.NewTypeError((*[1]PostFileAttachmentLocalNonblockArg)(nil), args)
  8076  						return
  8077  					}
  8078  					ret, err = i.PostFileAttachmentLocalNonblock(ctx, typedArgs[0])
  8079  					return
  8080  				},
  8081  			},
  8082  			"getNextAttachmentMessageLocal": {
  8083  				MakeArg: func() interface{} {
  8084  					var ret [1]GetNextAttachmentMessageLocalArg
  8085  					return &ret
  8086  				},
  8087  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8088  					typedArgs, ok := args.(*[1]GetNextAttachmentMessageLocalArg)
  8089  					if !ok {
  8090  						err = rpc.NewTypeError((*[1]GetNextAttachmentMessageLocalArg)(nil), args)
  8091  						return
  8092  					}
  8093  					ret, err = i.GetNextAttachmentMessageLocal(ctx, typedArgs[0])
  8094  					return
  8095  				},
  8096  			},
  8097  			"DownloadAttachmentLocal": {
  8098  				MakeArg: func() interface{} {
  8099  					var ret [1]DownloadAttachmentLocalArg
  8100  					return &ret
  8101  				},
  8102  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8103  					typedArgs, ok := args.(*[1]DownloadAttachmentLocalArg)
  8104  					if !ok {
  8105  						err = rpc.NewTypeError((*[1]DownloadAttachmentLocalArg)(nil), args)
  8106  						return
  8107  					}
  8108  					ret, err = i.DownloadAttachmentLocal(ctx, typedArgs[0])
  8109  					return
  8110  				},
  8111  			},
  8112  			"DownloadFileAttachmentLocal": {
  8113  				MakeArg: func() interface{} {
  8114  					var ret [1]DownloadFileAttachmentLocalArg
  8115  					return &ret
  8116  				},
  8117  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8118  					typedArgs, ok := args.(*[1]DownloadFileAttachmentLocalArg)
  8119  					if !ok {
  8120  						err = rpc.NewTypeError((*[1]DownloadFileAttachmentLocalArg)(nil), args)
  8121  						return
  8122  					}
  8123  					ret, err = i.DownloadFileAttachmentLocal(ctx, typedArgs[0])
  8124  					return
  8125  				},
  8126  			},
  8127  			"ConfigureFileAttachmentDownloadLocal": {
  8128  				MakeArg: func() interface{} {
  8129  					var ret [1]ConfigureFileAttachmentDownloadLocalArg
  8130  					return &ret
  8131  				},
  8132  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8133  					typedArgs, ok := args.(*[1]ConfigureFileAttachmentDownloadLocalArg)
  8134  					if !ok {
  8135  						err = rpc.NewTypeError((*[1]ConfigureFileAttachmentDownloadLocalArg)(nil), args)
  8136  						return
  8137  					}
  8138  					err = i.ConfigureFileAttachmentDownloadLocal(ctx, typedArgs[0])
  8139  					return
  8140  				},
  8141  			},
  8142  			"makePreview": {
  8143  				MakeArg: func() interface{} {
  8144  					var ret [1]MakePreviewArg
  8145  					return &ret
  8146  				},
  8147  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8148  					typedArgs, ok := args.(*[1]MakePreviewArg)
  8149  					if !ok {
  8150  						err = rpc.NewTypeError((*[1]MakePreviewArg)(nil), args)
  8151  						return
  8152  					}
  8153  					ret, err = i.MakePreview(ctx, typedArgs[0])
  8154  					return
  8155  				},
  8156  			},
  8157  			"makeAudioPreview": {
  8158  				MakeArg: func() interface{} {
  8159  					var ret [1]MakeAudioPreviewArg
  8160  					return &ret
  8161  				},
  8162  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8163  					typedArgs, ok := args.(*[1]MakeAudioPreviewArg)
  8164  					if !ok {
  8165  						err = rpc.NewTypeError((*[1]MakeAudioPreviewArg)(nil), args)
  8166  						return
  8167  					}
  8168  					ret, err = i.MakeAudioPreview(ctx, typedArgs[0])
  8169  					return
  8170  				},
  8171  			},
  8172  			"getUploadTempFile": {
  8173  				MakeArg: func() interface{} {
  8174  					var ret [1]GetUploadTempFileArg
  8175  					return &ret
  8176  				},
  8177  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8178  					typedArgs, ok := args.(*[1]GetUploadTempFileArg)
  8179  					if !ok {
  8180  						err = rpc.NewTypeError((*[1]GetUploadTempFileArg)(nil), args)
  8181  						return
  8182  					}
  8183  					ret, err = i.GetUploadTempFile(ctx, typedArgs[0])
  8184  					return
  8185  				},
  8186  			},
  8187  			"makeUploadTempFile": {
  8188  				MakeArg: func() interface{} {
  8189  					var ret [1]MakeUploadTempFileArg
  8190  					return &ret
  8191  				},
  8192  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8193  					typedArgs, ok := args.(*[1]MakeUploadTempFileArg)
  8194  					if !ok {
  8195  						err = rpc.NewTypeError((*[1]MakeUploadTempFileArg)(nil), args)
  8196  						return
  8197  					}
  8198  					ret, err = i.MakeUploadTempFile(ctx, typedArgs[0])
  8199  					return
  8200  				},
  8201  			},
  8202  			"cancelUploadTempFile": {
  8203  				MakeArg: func() interface{} {
  8204  					var ret [1]CancelUploadTempFileArg
  8205  					return &ret
  8206  				},
  8207  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8208  					typedArgs, ok := args.(*[1]CancelUploadTempFileArg)
  8209  					if !ok {
  8210  						err = rpc.NewTypeError((*[1]CancelUploadTempFileArg)(nil), args)
  8211  						return
  8212  					}
  8213  					err = i.CancelUploadTempFile(ctx, typedArgs[0].OutboxID)
  8214  					return
  8215  				},
  8216  			},
  8217  			"CancelPost": {
  8218  				MakeArg: func() interface{} {
  8219  					var ret [1]CancelPostArg
  8220  					return &ret
  8221  				},
  8222  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8223  					typedArgs, ok := args.(*[1]CancelPostArg)
  8224  					if !ok {
  8225  						err = rpc.NewTypeError((*[1]CancelPostArg)(nil), args)
  8226  						return
  8227  					}
  8228  					err = i.CancelPost(ctx, typedArgs[0].OutboxID)
  8229  					return
  8230  				},
  8231  			},
  8232  			"RetryPost": {
  8233  				MakeArg: func() interface{} {
  8234  					var ret [1]RetryPostArg
  8235  					return &ret
  8236  				},
  8237  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8238  					typedArgs, ok := args.(*[1]RetryPostArg)
  8239  					if !ok {
  8240  						err = rpc.NewTypeError((*[1]RetryPostArg)(nil), args)
  8241  						return
  8242  					}
  8243  					err = i.RetryPost(ctx, typedArgs[0])
  8244  					return
  8245  				},
  8246  			},
  8247  			"markAsReadLocal": {
  8248  				MakeArg: func() interface{} {
  8249  					var ret [1]MarkAsReadLocalArg
  8250  					return &ret
  8251  				},
  8252  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8253  					typedArgs, ok := args.(*[1]MarkAsReadLocalArg)
  8254  					if !ok {
  8255  						err = rpc.NewTypeError((*[1]MarkAsReadLocalArg)(nil), args)
  8256  						return
  8257  					}
  8258  					ret, err = i.MarkAsReadLocal(ctx, typedArgs[0])
  8259  					return
  8260  				},
  8261  			},
  8262  			"markTLFAsReadLocal": {
  8263  				MakeArg: func() interface{} {
  8264  					var ret [1]MarkTLFAsReadLocalArg
  8265  					return &ret
  8266  				},
  8267  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8268  					typedArgs, ok := args.(*[1]MarkTLFAsReadLocalArg)
  8269  					if !ok {
  8270  						err = rpc.NewTypeError((*[1]MarkTLFAsReadLocalArg)(nil), args)
  8271  						return
  8272  					}
  8273  					ret, err = i.MarkTLFAsReadLocal(ctx, typedArgs[0])
  8274  					return
  8275  				},
  8276  			},
  8277  			"findConversationsLocal": {
  8278  				MakeArg: func() interface{} {
  8279  					var ret [1]FindConversationsLocalArg
  8280  					return &ret
  8281  				},
  8282  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8283  					typedArgs, ok := args.(*[1]FindConversationsLocalArg)
  8284  					if !ok {
  8285  						err = rpc.NewTypeError((*[1]FindConversationsLocalArg)(nil), args)
  8286  						return
  8287  					}
  8288  					ret, err = i.FindConversationsLocal(ctx, typedArgs[0])
  8289  					return
  8290  				},
  8291  			},
  8292  			"findGeneralConvFromTeamID": {
  8293  				MakeArg: func() interface{} {
  8294  					var ret [1]FindGeneralConvFromTeamIDArg
  8295  					return &ret
  8296  				},
  8297  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8298  					typedArgs, ok := args.(*[1]FindGeneralConvFromTeamIDArg)
  8299  					if !ok {
  8300  						err = rpc.NewTypeError((*[1]FindGeneralConvFromTeamIDArg)(nil), args)
  8301  						return
  8302  					}
  8303  					ret, err = i.FindGeneralConvFromTeamID(ctx, typedArgs[0].TeamID)
  8304  					return
  8305  				},
  8306  			},
  8307  			"updateTyping": {
  8308  				MakeArg: func() interface{} {
  8309  					var ret [1]UpdateTypingArg
  8310  					return &ret
  8311  				},
  8312  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8313  					typedArgs, ok := args.(*[1]UpdateTypingArg)
  8314  					if !ok {
  8315  						err = rpc.NewTypeError((*[1]UpdateTypingArg)(nil), args)
  8316  						return
  8317  					}
  8318  					err = i.UpdateTyping(ctx, typedArgs[0])
  8319  					return
  8320  				},
  8321  			},
  8322  			"updateUnsentText": {
  8323  				MakeArg: func() interface{} {
  8324  					var ret [1]UpdateUnsentTextArg
  8325  					return &ret
  8326  				},
  8327  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8328  					typedArgs, ok := args.(*[1]UpdateUnsentTextArg)
  8329  					if !ok {
  8330  						err = rpc.NewTypeError((*[1]UpdateUnsentTextArg)(nil), args)
  8331  						return
  8332  					}
  8333  					err = i.UpdateUnsentText(ctx, typedArgs[0])
  8334  					return
  8335  				},
  8336  			},
  8337  			"joinConversationLocal": {
  8338  				MakeArg: func() interface{} {
  8339  					var ret [1]JoinConversationLocalArg
  8340  					return &ret
  8341  				},
  8342  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8343  					typedArgs, ok := args.(*[1]JoinConversationLocalArg)
  8344  					if !ok {
  8345  						err = rpc.NewTypeError((*[1]JoinConversationLocalArg)(nil), args)
  8346  						return
  8347  					}
  8348  					ret, err = i.JoinConversationLocal(ctx, typedArgs[0])
  8349  					return
  8350  				},
  8351  			},
  8352  			"joinConversationByIDLocal": {
  8353  				MakeArg: func() interface{} {
  8354  					var ret [1]JoinConversationByIDLocalArg
  8355  					return &ret
  8356  				},
  8357  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8358  					typedArgs, ok := args.(*[1]JoinConversationByIDLocalArg)
  8359  					if !ok {
  8360  						err = rpc.NewTypeError((*[1]JoinConversationByIDLocalArg)(nil), args)
  8361  						return
  8362  					}
  8363  					ret, err = i.JoinConversationByIDLocal(ctx, typedArgs[0].ConvID)
  8364  					return
  8365  				},
  8366  			},
  8367  			"leaveConversationLocal": {
  8368  				MakeArg: func() interface{} {
  8369  					var ret [1]LeaveConversationLocalArg
  8370  					return &ret
  8371  				},
  8372  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8373  					typedArgs, ok := args.(*[1]LeaveConversationLocalArg)
  8374  					if !ok {
  8375  						err = rpc.NewTypeError((*[1]LeaveConversationLocalArg)(nil), args)
  8376  						return
  8377  					}
  8378  					ret, err = i.LeaveConversationLocal(ctx, typedArgs[0].ConvID)
  8379  					return
  8380  				},
  8381  			},
  8382  			"previewConversationByIDLocal": {
  8383  				MakeArg: func() interface{} {
  8384  					var ret [1]PreviewConversationByIDLocalArg
  8385  					return &ret
  8386  				},
  8387  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8388  					typedArgs, ok := args.(*[1]PreviewConversationByIDLocalArg)
  8389  					if !ok {
  8390  						err = rpc.NewTypeError((*[1]PreviewConversationByIDLocalArg)(nil), args)
  8391  						return
  8392  					}
  8393  					ret, err = i.PreviewConversationByIDLocal(ctx, typedArgs[0].ConvID)
  8394  					return
  8395  				},
  8396  			},
  8397  			"deleteConversationLocal": {
  8398  				MakeArg: func() interface{} {
  8399  					var ret [1]DeleteConversationLocalArg
  8400  					return &ret
  8401  				},
  8402  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8403  					typedArgs, ok := args.(*[1]DeleteConversationLocalArg)
  8404  					if !ok {
  8405  						err = rpc.NewTypeError((*[1]DeleteConversationLocalArg)(nil), args)
  8406  						return
  8407  					}
  8408  					ret, err = i.DeleteConversationLocal(ctx, typedArgs[0])
  8409  					return
  8410  				},
  8411  			},
  8412  			"removeFromConversationLocal": {
  8413  				MakeArg: func() interface{} {
  8414  					var ret [1]RemoveFromConversationLocalArg
  8415  					return &ret
  8416  				},
  8417  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8418  					typedArgs, ok := args.(*[1]RemoveFromConversationLocalArg)
  8419  					if !ok {
  8420  						err = rpc.NewTypeError((*[1]RemoveFromConversationLocalArg)(nil), args)
  8421  						return
  8422  					}
  8423  					ret, err = i.RemoveFromConversationLocal(ctx, typedArgs[0])
  8424  					return
  8425  				},
  8426  			},
  8427  			"getTLFConversationsLocal": {
  8428  				MakeArg: func() interface{} {
  8429  					var ret [1]GetTLFConversationsLocalArg
  8430  					return &ret
  8431  				},
  8432  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8433  					typedArgs, ok := args.(*[1]GetTLFConversationsLocalArg)
  8434  					if !ok {
  8435  						err = rpc.NewTypeError((*[1]GetTLFConversationsLocalArg)(nil), args)
  8436  						return
  8437  					}
  8438  					ret, err = i.GetTLFConversationsLocal(ctx, typedArgs[0])
  8439  					return
  8440  				},
  8441  			},
  8442  			"getChannelMembershipsLocal": {
  8443  				MakeArg: func() interface{} {
  8444  					var ret [1]GetChannelMembershipsLocalArg
  8445  					return &ret
  8446  				},
  8447  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8448  					typedArgs, ok := args.(*[1]GetChannelMembershipsLocalArg)
  8449  					if !ok {
  8450  						err = rpc.NewTypeError((*[1]GetChannelMembershipsLocalArg)(nil), args)
  8451  						return
  8452  					}
  8453  					ret, err = i.GetChannelMembershipsLocal(ctx, typedArgs[0])
  8454  					return
  8455  				},
  8456  			},
  8457  			"getMutualTeamsLocal": {
  8458  				MakeArg: func() interface{} {
  8459  					var ret [1]GetMutualTeamsLocalArg
  8460  					return &ret
  8461  				},
  8462  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8463  					typedArgs, ok := args.(*[1]GetMutualTeamsLocalArg)
  8464  					if !ok {
  8465  						err = rpc.NewTypeError((*[1]GetMutualTeamsLocalArg)(nil), args)
  8466  						return
  8467  					}
  8468  					ret, err = i.GetMutualTeamsLocal(ctx, typedArgs[0].Usernames)
  8469  					return
  8470  				},
  8471  			},
  8472  			"setAppNotificationSettingsLocal": {
  8473  				MakeArg: func() interface{} {
  8474  					var ret [1]SetAppNotificationSettingsLocalArg
  8475  					return &ret
  8476  				},
  8477  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8478  					typedArgs, ok := args.(*[1]SetAppNotificationSettingsLocalArg)
  8479  					if !ok {
  8480  						err = rpc.NewTypeError((*[1]SetAppNotificationSettingsLocalArg)(nil), args)
  8481  						return
  8482  					}
  8483  					ret, err = i.SetAppNotificationSettingsLocal(ctx, typedArgs[0])
  8484  					return
  8485  				},
  8486  			},
  8487  			"setGlobalAppNotificationSettingsLocal": {
  8488  				MakeArg: func() interface{} {
  8489  					var ret [1]SetGlobalAppNotificationSettingsLocalArg
  8490  					return &ret
  8491  				},
  8492  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8493  					typedArgs, ok := args.(*[1]SetGlobalAppNotificationSettingsLocalArg)
  8494  					if !ok {
  8495  						err = rpc.NewTypeError((*[1]SetGlobalAppNotificationSettingsLocalArg)(nil), args)
  8496  						return
  8497  					}
  8498  					err = i.SetGlobalAppNotificationSettingsLocal(ctx, typedArgs[0].Settings)
  8499  					return
  8500  				},
  8501  			},
  8502  			"getGlobalAppNotificationSettingsLocal": {
  8503  				MakeArg: func() interface{} {
  8504  					var ret [1]GetGlobalAppNotificationSettingsLocalArg
  8505  					return &ret
  8506  				},
  8507  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8508  					ret, err = i.GetGlobalAppNotificationSettingsLocal(ctx)
  8509  					return
  8510  				},
  8511  			},
  8512  			"unboxMobilePushNotification": {
  8513  				MakeArg: func() interface{} {
  8514  					var ret [1]UnboxMobilePushNotificationArg
  8515  					return &ret
  8516  				},
  8517  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8518  					typedArgs, ok := args.(*[1]UnboxMobilePushNotificationArg)
  8519  					if !ok {
  8520  						err = rpc.NewTypeError((*[1]UnboxMobilePushNotificationArg)(nil), args)
  8521  						return
  8522  					}
  8523  					ret, err = i.UnboxMobilePushNotification(ctx, typedArgs[0])
  8524  					return
  8525  				},
  8526  			},
  8527  			"addTeamMemberAfterReset": {
  8528  				MakeArg: func() interface{} {
  8529  					var ret [1]AddTeamMemberAfterResetArg
  8530  					return &ret
  8531  				},
  8532  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8533  					typedArgs, ok := args.(*[1]AddTeamMemberAfterResetArg)
  8534  					if !ok {
  8535  						err = rpc.NewTypeError((*[1]AddTeamMemberAfterResetArg)(nil), args)
  8536  						return
  8537  					}
  8538  					err = i.AddTeamMemberAfterReset(ctx, typedArgs[0])
  8539  					return
  8540  				},
  8541  			},
  8542  			"getAllResetConvMembers": {
  8543  				MakeArg: func() interface{} {
  8544  					var ret [1]GetAllResetConvMembersArg
  8545  					return &ret
  8546  				},
  8547  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8548  					ret, err = i.GetAllResetConvMembers(ctx)
  8549  					return
  8550  				},
  8551  			},
  8552  			"setConvRetentionLocal": {
  8553  				MakeArg: func() interface{} {
  8554  					var ret [1]SetConvRetentionLocalArg
  8555  					return &ret
  8556  				},
  8557  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8558  					typedArgs, ok := args.(*[1]SetConvRetentionLocalArg)
  8559  					if !ok {
  8560  						err = rpc.NewTypeError((*[1]SetConvRetentionLocalArg)(nil), args)
  8561  						return
  8562  					}
  8563  					err = i.SetConvRetentionLocal(ctx, typedArgs[0])
  8564  					return
  8565  				},
  8566  			},
  8567  			"setTeamRetentionLocal": {
  8568  				MakeArg: func() interface{} {
  8569  					var ret [1]SetTeamRetentionLocalArg
  8570  					return &ret
  8571  				},
  8572  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8573  					typedArgs, ok := args.(*[1]SetTeamRetentionLocalArg)
  8574  					if !ok {
  8575  						err = rpc.NewTypeError((*[1]SetTeamRetentionLocalArg)(nil), args)
  8576  						return
  8577  					}
  8578  					err = i.SetTeamRetentionLocal(ctx, typedArgs[0])
  8579  					return
  8580  				},
  8581  			},
  8582  			"getTeamRetentionLocal": {
  8583  				MakeArg: func() interface{} {
  8584  					var ret [1]GetTeamRetentionLocalArg
  8585  					return &ret
  8586  				},
  8587  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8588  					typedArgs, ok := args.(*[1]GetTeamRetentionLocalArg)
  8589  					if !ok {
  8590  						err = rpc.NewTypeError((*[1]GetTeamRetentionLocalArg)(nil), args)
  8591  						return
  8592  					}
  8593  					ret, err = i.GetTeamRetentionLocal(ctx, typedArgs[0].TeamID)
  8594  					return
  8595  				},
  8596  			},
  8597  			"setConvMinWriterRoleLocal": {
  8598  				MakeArg: func() interface{} {
  8599  					var ret [1]SetConvMinWriterRoleLocalArg
  8600  					return &ret
  8601  				},
  8602  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8603  					typedArgs, ok := args.(*[1]SetConvMinWriterRoleLocalArg)
  8604  					if !ok {
  8605  						err = rpc.NewTypeError((*[1]SetConvMinWriterRoleLocalArg)(nil), args)
  8606  						return
  8607  					}
  8608  					err = i.SetConvMinWriterRoleLocal(ctx, typedArgs[0])
  8609  					return
  8610  				},
  8611  			},
  8612  			"upgradeKBFSConversationToImpteam": {
  8613  				MakeArg: func() interface{} {
  8614  					var ret [1]UpgradeKBFSConversationToImpteamArg
  8615  					return &ret
  8616  				},
  8617  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8618  					typedArgs, ok := args.(*[1]UpgradeKBFSConversationToImpteamArg)
  8619  					if !ok {
  8620  						err = rpc.NewTypeError((*[1]UpgradeKBFSConversationToImpteamArg)(nil), args)
  8621  						return
  8622  					}
  8623  					err = i.UpgradeKBFSConversationToImpteam(ctx, typedArgs[0].ConvID)
  8624  					return
  8625  				},
  8626  			},
  8627  			"searchRegexp": {
  8628  				MakeArg: func() interface{} {
  8629  					var ret [1]SearchRegexpArg
  8630  					return &ret
  8631  				},
  8632  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8633  					typedArgs, ok := args.(*[1]SearchRegexpArg)
  8634  					if !ok {
  8635  						err = rpc.NewTypeError((*[1]SearchRegexpArg)(nil), args)
  8636  						return
  8637  					}
  8638  					ret, err = i.SearchRegexp(ctx, typedArgs[0])
  8639  					return
  8640  				},
  8641  			},
  8642  			"cancelActiveInboxSearch": {
  8643  				MakeArg: func() interface{} {
  8644  					var ret [1]CancelActiveInboxSearchArg
  8645  					return &ret
  8646  				},
  8647  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8648  					err = i.CancelActiveInboxSearch(ctx)
  8649  					return
  8650  				},
  8651  			},
  8652  			"searchInbox": {
  8653  				MakeArg: func() interface{} {
  8654  					var ret [1]SearchInboxArg
  8655  					return &ret
  8656  				},
  8657  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8658  					typedArgs, ok := args.(*[1]SearchInboxArg)
  8659  					if !ok {
  8660  						err = rpc.NewTypeError((*[1]SearchInboxArg)(nil), args)
  8661  						return
  8662  					}
  8663  					ret, err = i.SearchInbox(ctx, typedArgs[0])
  8664  					return
  8665  				},
  8666  			},
  8667  			"simpleSearchInboxConvNames": {
  8668  				MakeArg: func() interface{} {
  8669  					var ret [1]SimpleSearchInboxConvNamesArg
  8670  					return &ret
  8671  				},
  8672  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8673  					typedArgs, ok := args.(*[1]SimpleSearchInboxConvNamesArg)
  8674  					if !ok {
  8675  						err = rpc.NewTypeError((*[1]SimpleSearchInboxConvNamesArg)(nil), args)
  8676  						return
  8677  					}
  8678  					ret, err = i.SimpleSearchInboxConvNames(ctx, typedArgs[0].Query)
  8679  					return
  8680  				},
  8681  			},
  8682  			"cancelActiveSearch": {
  8683  				MakeArg: func() interface{} {
  8684  					var ret [1]CancelActiveSearchArg
  8685  					return &ret
  8686  				},
  8687  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8688  					err = i.CancelActiveSearch(ctx)
  8689  					return
  8690  				},
  8691  			},
  8692  			"profileChatSearch": {
  8693  				MakeArg: func() interface{} {
  8694  					var ret [1]ProfileChatSearchArg
  8695  					return &ret
  8696  				},
  8697  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8698  					typedArgs, ok := args.(*[1]ProfileChatSearchArg)
  8699  					if !ok {
  8700  						err = rpc.NewTypeError((*[1]ProfileChatSearchArg)(nil), args)
  8701  						return
  8702  					}
  8703  					ret, err = i.ProfileChatSearch(ctx, typedArgs[0].IdentifyBehavior)
  8704  					return
  8705  				},
  8706  			},
  8707  			"getStaticConfig": {
  8708  				MakeArg: func() interface{} {
  8709  					var ret [1]GetStaticConfigArg
  8710  					return &ret
  8711  				},
  8712  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8713  					ret, err = i.GetStaticConfig(ctx)
  8714  					return
  8715  				},
  8716  			},
  8717  			"resolveUnfurlPrompt": {
  8718  				MakeArg: func() interface{} {
  8719  					var ret [1]ResolveUnfurlPromptArg
  8720  					return &ret
  8721  				},
  8722  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8723  					typedArgs, ok := args.(*[1]ResolveUnfurlPromptArg)
  8724  					if !ok {
  8725  						err = rpc.NewTypeError((*[1]ResolveUnfurlPromptArg)(nil), args)
  8726  						return
  8727  					}
  8728  					err = i.ResolveUnfurlPrompt(ctx, typedArgs[0])
  8729  					return
  8730  				},
  8731  			},
  8732  			"getUnfurlSettings": {
  8733  				MakeArg: func() interface{} {
  8734  					var ret [1]GetUnfurlSettingsArg
  8735  					return &ret
  8736  				},
  8737  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8738  					ret, err = i.GetUnfurlSettings(ctx)
  8739  					return
  8740  				},
  8741  			},
  8742  			"saveUnfurlSettings": {
  8743  				MakeArg: func() interface{} {
  8744  					var ret [1]SaveUnfurlSettingsArg
  8745  					return &ret
  8746  				},
  8747  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8748  					typedArgs, ok := args.(*[1]SaveUnfurlSettingsArg)
  8749  					if !ok {
  8750  						err = rpc.NewTypeError((*[1]SaveUnfurlSettingsArg)(nil), args)
  8751  						return
  8752  					}
  8753  					err = i.SaveUnfurlSettings(ctx, typedArgs[0])
  8754  					return
  8755  				},
  8756  			},
  8757  			"toggleMessageCollapse": {
  8758  				MakeArg: func() interface{} {
  8759  					var ret [1]ToggleMessageCollapseArg
  8760  					return &ret
  8761  				},
  8762  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8763  					typedArgs, ok := args.(*[1]ToggleMessageCollapseArg)
  8764  					if !ok {
  8765  						err = rpc.NewTypeError((*[1]ToggleMessageCollapseArg)(nil), args)
  8766  						return
  8767  					}
  8768  					err = i.ToggleMessageCollapse(ctx, typedArgs[0])
  8769  					return
  8770  				},
  8771  			},
  8772  			"bulkAddToConv": {
  8773  				MakeArg: func() interface{} {
  8774  					var ret [1]BulkAddToConvArg
  8775  					return &ret
  8776  				},
  8777  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8778  					typedArgs, ok := args.(*[1]BulkAddToConvArg)
  8779  					if !ok {
  8780  						err = rpc.NewTypeError((*[1]BulkAddToConvArg)(nil), args)
  8781  						return
  8782  					}
  8783  					err = i.BulkAddToConv(ctx, typedArgs[0])
  8784  					return
  8785  				},
  8786  			},
  8787  			"bulkAddToManyConvs": {
  8788  				MakeArg: func() interface{} {
  8789  					var ret [1]BulkAddToManyConvsArg
  8790  					return &ret
  8791  				},
  8792  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8793  					typedArgs, ok := args.(*[1]BulkAddToManyConvsArg)
  8794  					if !ok {
  8795  						err = rpc.NewTypeError((*[1]BulkAddToManyConvsArg)(nil), args)
  8796  						return
  8797  					}
  8798  					err = i.BulkAddToManyConvs(ctx, typedArgs[0])
  8799  					return
  8800  				},
  8801  			},
  8802  			"putReacjiSkinTone": {
  8803  				MakeArg: func() interface{} {
  8804  					var ret [1]PutReacjiSkinToneArg
  8805  					return &ret
  8806  				},
  8807  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8808  					typedArgs, ok := args.(*[1]PutReacjiSkinToneArg)
  8809  					if !ok {
  8810  						err = rpc.NewTypeError((*[1]PutReacjiSkinToneArg)(nil), args)
  8811  						return
  8812  					}
  8813  					ret, err = i.PutReacjiSkinTone(ctx, typedArgs[0].SkinTone)
  8814  					return
  8815  				},
  8816  			},
  8817  			"resolveMaybeMention": {
  8818  				MakeArg: func() interface{} {
  8819  					var ret [1]ResolveMaybeMentionArg
  8820  					return &ret
  8821  				},
  8822  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8823  					typedArgs, ok := args.(*[1]ResolveMaybeMentionArg)
  8824  					if !ok {
  8825  						err = rpc.NewTypeError((*[1]ResolveMaybeMentionArg)(nil), args)
  8826  						return
  8827  					}
  8828  					err = i.ResolveMaybeMention(ctx, typedArgs[0].Mention)
  8829  					return
  8830  				},
  8831  			},
  8832  			"loadGallery": {
  8833  				MakeArg: func() interface{} {
  8834  					var ret [1]LoadGalleryArg
  8835  					return &ret
  8836  				},
  8837  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8838  					typedArgs, ok := args.(*[1]LoadGalleryArg)
  8839  					if !ok {
  8840  						err = rpc.NewTypeError((*[1]LoadGalleryArg)(nil), args)
  8841  						return
  8842  					}
  8843  					ret, err = i.LoadGallery(ctx, typedArgs[0])
  8844  					return
  8845  				},
  8846  			},
  8847  			"loadFlip": {
  8848  				MakeArg: func() interface{} {
  8849  					var ret [1]LoadFlipArg
  8850  					return &ret
  8851  				},
  8852  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8853  					typedArgs, ok := args.(*[1]LoadFlipArg)
  8854  					if !ok {
  8855  						err = rpc.NewTypeError((*[1]LoadFlipArg)(nil), args)
  8856  						return
  8857  					}
  8858  					ret, err = i.LoadFlip(ctx, typedArgs[0])
  8859  					return
  8860  				},
  8861  			},
  8862  			"locationUpdate": {
  8863  				MakeArg: func() interface{} {
  8864  					var ret [1]LocationUpdateArg
  8865  					return &ret
  8866  				},
  8867  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8868  					typedArgs, ok := args.(*[1]LocationUpdateArg)
  8869  					if !ok {
  8870  						err = rpc.NewTypeError((*[1]LocationUpdateArg)(nil), args)
  8871  						return
  8872  					}
  8873  					err = i.LocationUpdate(ctx, typedArgs[0].Coord)
  8874  					return
  8875  				},
  8876  			},
  8877  			"advertiseBotCommandsLocal": {
  8878  				MakeArg: func() interface{} {
  8879  					var ret [1]AdvertiseBotCommandsLocalArg
  8880  					return &ret
  8881  				},
  8882  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8883  					typedArgs, ok := args.(*[1]AdvertiseBotCommandsLocalArg)
  8884  					if !ok {
  8885  						err = rpc.NewTypeError((*[1]AdvertiseBotCommandsLocalArg)(nil), args)
  8886  						return
  8887  					}
  8888  					ret, err = i.AdvertiseBotCommandsLocal(ctx, typedArgs[0])
  8889  					return
  8890  				},
  8891  			},
  8892  			"listBotCommandsLocal": {
  8893  				MakeArg: func() interface{} {
  8894  					var ret [1]ListBotCommandsLocalArg
  8895  					return &ret
  8896  				},
  8897  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8898  					typedArgs, ok := args.(*[1]ListBotCommandsLocalArg)
  8899  					if !ok {
  8900  						err = rpc.NewTypeError((*[1]ListBotCommandsLocalArg)(nil), args)
  8901  						return
  8902  					}
  8903  					ret, err = i.ListBotCommandsLocal(ctx, typedArgs[0].ConvID)
  8904  					return
  8905  				},
  8906  			},
  8907  			"listPublicBotCommandsLocal": {
  8908  				MakeArg: func() interface{} {
  8909  					var ret [1]ListPublicBotCommandsLocalArg
  8910  					return &ret
  8911  				},
  8912  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8913  					typedArgs, ok := args.(*[1]ListPublicBotCommandsLocalArg)
  8914  					if !ok {
  8915  						err = rpc.NewTypeError((*[1]ListPublicBotCommandsLocalArg)(nil), args)
  8916  						return
  8917  					}
  8918  					ret, err = i.ListPublicBotCommandsLocal(ctx, typedArgs[0].Username)
  8919  					return
  8920  				},
  8921  			},
  8922  			"clearBotCommandsLocal": {
  8923  				MakeArg: func() interface{} {
  8924  					var ret [1]ClearBotCommandsLocalArg
  8925  					return &ret
  8926  				},
  8927  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8928  					typedArgs, ok := args.(*[1]ClearBotCommandsLocalArg)
  8929  					if !ok {
  8930  						err = rpc.NewTypeError((*[1]ClearBotCommandsLocalArg)(nil), args)
  8931  						return
  8932  					}
  8933  					ret, err = i.ClearBotCommandsLocal(ctx, typedArgs[0].Filter)
  8934  					return
  8935  				},
  8936  			},
  8937  			"pinMessage": {
  8938  				MakeArg: func() interface{} {
  8939  					var ret [1]PinMessageArg
  8940  					return &ret
  8941  				},
  8942  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8943  					typedArgs, ok := args.(*[1]PinMessageArg)
  8944  					if !ok {
  8945  						err = rpc.NewTypeError((*[1]PinMessageArg)(nil), args)
  8946  						return
  8947  					}
  8948  					ret, err = i.PinMessage(ctx, typedArgs[0])
  8949  					return
  8950  				},
  8951  			},
  8952  			"unpinMessage": {
  8953  				MakeArg: func() interface{} {
  8954  					var ret [1]UnpinMessageArg
  8955  					return &ret
  8956  				},
  8957  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8958  					typedArgs, ok := args.(*[1]UnpinMessageArg)
  8959  					if !ok {
  8960  						err = rpc.NewTypeError((*[1]UnpinMessageArg)(nil), args)
  8961  						return
  8962  					}
  8963  					ret, err = i.UnpinMessage(ctx, typedArgs[0].ConvID)
  8964  					return
  8965  				},
  8966  			},
  8967  			"ignorePinnedMessage": {
  8968  				MakeArg: func() interface{} {
  8969  					var ret [1]IgnorePinnedMessageArg
  8970  					return &ret
  8971  				},
  8972  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8973  					typedArgs, ok := args.(*[1]IgnorePinnedMessageArg)
  8974  					if !ok {
  8975  						err = rpc.NewTypeError((*[1]IgnorePinnedMessageArg)(nil), args)
  8976  						return
  8977  					}
  8978  					err = i.IgnorePinnedMessage(ctx, typedArgs[0].ConvID)
  8979  					return
  8980  				},
  8981  			},
  8982  			"addBotMember": {
  8983  				MakeArg: func() interface{} {
  8984  					var ret [1]AddBotMemberArg
  8985  					return &ret
  8986  				},
  8987  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  8988  					typedArgs, ok := args.(*[1]AddBotMemberArg)
  8989  					if !ok {
  8990  						err = rpc.NewTypeError((*[1]AddBotMemberArg)(nil), args)
  8991  						return
  8992  					}
  8993  					err = i.AddBotMember(ctx, typedArgs[0])
  8994  					return
  8995  				},
  8996  			},
  8997  			"editBotMember": {
  8998  				MakeArg: func() interface{} {
  8999  					var ret [1]EditBotMemberArg
  9000  					return &ret
  9001  				},
  9002  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9003  					typedArgs, ok := args.(*[1]EditBotMemberArg)
  9004  					if !ok {
  9005  						err = rpc.NewTypeError((*[1]EditBotMemberArg)(nil), args)
  9006  						return
  9007  					}
  9008  					err = i.EditBotMember(ctx, typedArgs[0])
  9009  					return
  9010  				},
  9011  			},
  9012  			"removeBotMember": {
  9013  				MakeArg: func() interface{} {
  9014  					var ret [1]RemoveBotMemberArg
  9015  					return &ret
  9016  				},
  9017  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9018  					typedArgs, ok := args.(*[1]RemoveBotMemberArg)
  9019  					if !ok {
  9020  						err = rpc.NewTypeError((*[1]RemoveBotMemberArg)(nil), args)
  9021  						return
  9022  					}
  9023  					err = i.RemoveBotMember(ctx, typedArgs[0])
  9024  					return
  9025  				},
  9026  			},
  9027  			"setBotMemberSettings": {
  9028  				MakeArg: func() interface{} {
  9029  					var ret [1]SetBotMemberSettingsArg
  9030  					return &ret
  9031  				},
  9032  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9033  					typedArgs, ok := args.(*[1]SetBotMemberSettingsArg)
  9034  					if !ok {
  9035  						err = rpc.NewTypeError((*[1]SetBotMemberSettingsArg)(nil), args)
  9036  						return
  9037  					}
  9038  					err = i.SetBotMemberSettings(ctx, typedArgs[0])
  9039  					return
  9040  				},
  9041  			},
  9042  			"getBotMemberSettings": {
  9043  				MakeArg: func() interface{} {
  9044  					var ret [1]GetBotMemberSettingsArg
  9045  					return &ret
  9046  				},
  9047  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9048  					typedArgs, ok := args.(*[1]GetBotMemberSettingsArg)
  9049  					if !ok {
  9050  						err = rpc.NewTypeError((*[1]GetBotMemberSettingsArg)(nil), args)
  9051  						return
  9052  					}
  9053  					ret, err = i.GetBotMemberSettings(ctx, typedArgs[0])
  9054  					return
  9055  				},
  9056  			},
  9057  			"getTeamRoleInConversation": {
  9058  				MakeArg: func() interface{} {
  9059  					var ret [1]GetTeamRoleInConversationArg
  9060  					return &ret
  9061  				},
  9062  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9063  					typedArgs, ok := args.(*[1]GetTeamRoleInConversationArg)
  9064  					if !ok {
  9065  						err = rpc.NewTypeError((*[1]GetTeamRoleInConversationArg)(nil), args)
  9066  						return
  9067  					}
  9068  					ret, err = i.GetTeamRoleInConversation(ctx, typedArgs[0])
  9069  					return
  9070  				},
  9071  			},
  9072  			"addBotConvSearch": {
  9073  				MakeArg: func() interface{} {
  9074  					var ret [1]AddBotConvSearchArg
  9075  					return &ret
  9076  				},
  9077  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9078  					typedArgs, ok := args.(*[1]AddBotConvSearchArg)
  9079  					if !ok {
  9080  						err = rpc.NewTypeError((*[1]AddBotConvSearchArg)(nil), args)
  9081  						return
  9082  					}
  9083  					ret, err = i.AddBotConvSearch(ctx, typedArgs[0].Term)
  9084  					return
  9085  				},
  9086  			},
  9087  			"forwardMessageConvSearch": {
  9088  				MakeArg: func() interface{} {
  9089  					var ret [1]ForwardMessageConvSearchArg
  9090  					return &ret
  9091  				},
  9092  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9093  					typedArgs, ok := args.(*[1]ForwardMessageConvSearchArg)
  9094  					if !ok {
  9095  						err = rpc.NewTypeError((*[1]ForwardMessageConvSearchArg)(nil), args)
  9096  						return
  9097  					}
  9098  					ret, err = i.ForwardMessageConvSearch(ctx, typedArgs[0].Term)
  9099  					return
  9100  				},
  9101  			},
  9102  			"teamIDFromTLFName": {
  9103  				MakeArg: func() interface{} {
  9104  					var ret [1]TeamIDFromTLFNameArg
  9105  					return &ret
  9106  				},
  9107  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9108  					typedArgs, ok := args.(*[1]TeamIDFromTLFNameArg)
  9109  					if !ok {
  9110  						err = rpc.NewTypeError((*[1]TeamIDFromTLFNameArg)(nil), args)
  9111  						return
  9112  					}
  9113  					ret, err = i.TeamIDFromTLFName(ctx, typedArgs[0])
  9114  					return
  9115  				},
  9116  			},
  9117  			"dismissJourneycard": {
  9118  				MakeArg: func() interface{} {
  9119  					var ret [1]DismissJourneycardArg
  9120  					return &ret
  9121  				},
  9122  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9123  					typedArgs, ok := args.(*[1]DismissJourneycardArg)
  9124  					if !ok {
  9125  						err = rpc.NewTypeError((*[1]DismissJourneycardArg)(nil), args)
  9126  						return
  9127  					}
  9128  					err = i.DismissJourneycard(ctx, typedArgs[0])
  9129  					return
  9130  				},
  9131  			},
  9132  			"setWelcomeMessage": {
  9133  				MakeArg: func() interface{} {
  9134  					var ret [1]SetWelcomeMessageArg
  9135  					return &ret
  9136  				},
  9137  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9138  					typedArgs, ok := args.(*[1]SetWelcomeMessageArg)
  9139  					if !ok {
  9140  						err = rpc.NewTypeError((*[1]SetWelcomeMessageArg)(nil), args)
  9141  						return
  9142  					}
  9143  					err = i.SetWelcomeMessage(ctx, typedArgs[0])
  9144  					return
  9145  				},
  9146  			},
  9147  			"getWelcomeMessage": {
  9148  				MakeArg: func() interface{} {
  9149  					var ret [1]GetWelcomeMessageArg
  9150  					return &ret
  9151  				},
  9152  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9153  					typedArgs, ok := args.(*[1]GetWelcomeMessageArg)
  9154  					if !ok {
  9155  						err = rpc.NewTypeError((*[1]GetWelcomeMessageArg)(nil), args)
  9156  						return
  9157  					}
  9158  					ret, err = i.GetWelcomeMessage(ctx, typedArgs[0].TeamID)
  9159  					return
  9160  				},
  9161  			},
  9162  			"getDefaultTeamChannelsLocal": {
  9163  				MakeArg: func() interface{} {
  9164  					var ret [1]GetDefaultTeamChannelsLocalArg
  9165  					return &ret
  9166  				},
  9167  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9168  					typedArgs, ok := args.(*[1]GetDefaultTeamChannelsLocalArg)
  9169  					if !ok {
  9170  						err = rpc.NewTypeError((*[1]GetDefaultTeamChannelsLocalArg)(nil), args)
  9171  						return
  9172  					}
  9173  					ret, err = i.GetDefaultTeamChannelsLocal(ctx, typedArgs[0].TeamID)
  9174  					return
  9175  				},
  9176  			},
  9177  			"setDefaultTeamChannelsLocal": {
  9178  				MakeArg: func() interface{} {
  9179  					var ret [1]SetDefaultTeamChannelsLocalArg
  9180  					return &ret
  9181  				},
  9182  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9183  					typedArgs, ok := args.(*[1]SetDefaultTeamChannelsLocalArg)
  9184  					if !ok {
  9185  						err = rpc.NewTypeError((*[1]SetDefaultTeamChannelsLocalArg)(nil), args)
  9186  						return
  9187  					}
  9188  					ret, err = i.SetDefaultTeamChannelsLocal(ctx, typedArgs[0])
  9189  					return
  9190  				},
  9191  			},
  9192  			"getLastActiveForTLF": {
  9193  				MakeArg: func() interface{} {
  9194  					var ret [1]GetLastActiveForTLFArg
  9195  					return &ret
  9196  				},
  9197  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9198  					typedArgs, ok := args.(*[1]GetLastActiveForTLFArg)
  9199  					if !ok {
  9200  						err = rpc.NewTypeError((*[1]GetLastActiveForTLFArg)(nil), args)
  9201  						return
  9202  					}
  9203  					ret, err = i.GetLastActiveForTLF(ctx, typedArgs[0].TlfID)
  9204  					return
  9205  				},
  9206  			},
  9207  			"getLastActiveForTeams": {
  9208  				MakeArg: func() interface{} {
  9209  					var ret [1]GetLastActiveForTeamsArg
  9210  					return &ret
  9211  				},
  9212  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9213  					ret, err = i.GetLastActiveForTeams(ctx)
  9214  					return
  9215  				},
  9216  			},
  9217  			"getRecentJoinsLocal": {
  9218  				MakeArg: func() interface{} {
  9219  					var ret [1]GetRecentJoinsLocalArg
  9220  					return &ret
  9221  				},
  9222  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9223  					typedArgs, ok := args.(*[1]GetRecentJoinsLocalArg)
  9224  					if !ok {
  9225  						err = rpc.NewTypeError((*[1]GetRecentJoinsLocalArg)(nil), args)
  9226  						return
  9227  					}
  9228  					ret, err = i.GetRecentJoinsLocal(ctx, typedArgs[0].ConvID)
  9229  					return
  9230  				},
  9231  			},
  9232  			"refreshParticipants": {
  9233  				MakeArg: func() interface{} {
  9234  					var ret [1]RefreshParticipantsArg
  9235  					return &ret
  9236  				},
  9237  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9238  					typedArgs, ok := args.(*[1]RefreshParticipantsArg)
  9239  					if !ok {
  9240  						err = rpc.NewTypeError((*[1]RefreshParticipantsArg)(nil), args)
  9241  						return
  9242  					}
  9243  					err = i.RefreshParticipants(ctx, typedArgs[0].ConvID)
  9244  					return
  9245  				},
  9246  			},
  9247  			"getLastActiveAtLocal": {
  9248  				MakeArg: func() interface{} {
  9249  					var ret [1]GetLastActiveAtLocalArg
  9250  					return &ret
  9251  				},
  9252  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9253  					typedArgs, ok := args.(*[1]GetLastActiveAtLocalArg)
  9254  					if !ok {
  9255  						err = rpc.NewTypeError((*[1]GetLastActiveAtLocalArg)(nil), args)
  9256  						return
  9257  					}
  9258  					ret, err = i.GetLastActiveAtLocal(ctx, typedArgs[0])
  9259  					return
  9260  				},
  9261  			},
  9262  			"getLastActiveAtMultiLocal": {
  9263  				MakeArg: func() interface{} {
  9264  					var ret [1]GetLastActiveAtMultiLocalArg
  9265  					return &ret
  9266  				},
  9267  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9268  					typedArgs, ok := args.(*[1]GetLastActiveAtMultiLocalArg)
  9269  					if !ok {
  9270  						err = rpc.NewTypeError((*[1]GetLastActiveAtMultiLocalArg)(nil), args)
  9271  						return
  9272  					}
  9273  					ret, err = i.GetLastActiveAtMultiLocal(ctx, typedArgs[0])
  9274  					return
  9275  				},
  9276  			},
  9277  			"getParticipants": {
  9278  				MakeArg: func() interface{} {
  9279  					var ret [1]GetParticipantsArg
  9280  					return &ret
  9281  				},
  9282  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9283  					typedArgs, ok := args.(*[1]GetParticipantsArg)
  9284  					if !ok {
  9285  						err = rpc.NewTypeError((*[1]GetParticipantsArg)(nil), args)
  9286  						return
  9287  					}
  9288  					ret, err = i.GetParticipants(ctx, typedArgs[0].ConvID)
  9289  					return
  9290  				},
  9291  			},
  9292  			"addEmoji": {
  9293  				MakeArg: func() interface{} {
  9294  					var ret [1]AddEmojiArg
  9295  					return &ret
  9296  				},
  9297  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9298  					typedArgs, ok := args.(*[1]AddEmojiArg)
  9299  					if !ok {
  9300  						err = rpc.NewTypeError((*[1]AddEmojiArg)(nil), args)
  9301  						return
  9302  					}
  9303  					ret, err = i.AddEmoji(ctx, typedArgs[0])
  9304  					return
  9305  				},
  9306  			},
  9307  			"addEmojis": {
  9308  				MakeArg: func() interface{} {
  9309  					var ret [1]AddEmojisArg
  9310  					return &ret
  9311  				},
  9312  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9313  					typedArgs, ok := args.(*[1]AddEmojisArg)
  9314  					if !ok {
  9315  						err = rpc.NewTypeError((*[1]AddEmojisArg)(nil), args)
  9316  						return
  9317  					}
  9318  					ret, err = i.AddEmojis(ctx, typedArgs[0])
  9319  					return
  9320  				},
  9321  			},
  9322  			"addEmojiAlias": {
  9323  				MakeArg: func() interface{} {
  9324  					var ret [1]AddEmojiAliasArg
  9325  					return &ret
  9326  				},
  9327  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9328  					typedArgs, ok := args.(*[1]AddEmojiAliasArg)
  9329  					if !ok {
  9330  						err = rpc.NewTypeError((*[1]AddEmojiAliasArg)(nil), args)
  9331  						return
  9332  					}
  9333  					ret, err = i.AddEmojiAlias(ctx, typedArgs[0])
  9334  					return
  9335  				},
  9336  			},
  9337  			"removeEmoji": {
  9338  				MakeArg: func() interface{} {
  9339  					var ret [1]RemoveEmojiArg
  9340  					return &ret
  9341  				},
  9342  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9343  					typedArgs, ok := args.(*[1]RemoveEmojiArg)
  9344  					if !ok {
  9345  						err = rpc.NewTypeError((*[1]RemoveEmojiArg)(nil), args)
  9346  						return
  9347  					}
  9348  					ret, err = i.RemoveEmoji(ctx, typedArgs[0])
  9349  					return
  9350  				},
  9351  			},
  9352  			"userEmojis": {
  9353  				MakeArg: func() interface{} {
  9354  					var ret [1]UserEmojisArg
  9355  					return &ret
  9356  				},
  9357  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9358  					typedArgs, ok := args.(*[1]UserEmojisArg)
  9359  					if !ok {
  9360  						err = rpc.NewTypeError((*[1]UserEmojisArg)(nil), args)
  9361  						return
  9362  					}
  9363  					ret, err = i.UserEmojis(ctx, typedArgs[0])
  9364  					return
  9365  				},
  9366  			},
  9367  			"toggleEmojiAnimations": {
  9368  				MakeArg: func() interface{} {
  9369  					var ret [1]ToggleEmojiAnimationsArg
  9370  					return &ret
  9371  				},
  9372  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9373  					typedArgs, ok := args.(*[1]ToggleEmojiAnimationsArg)
  9374  					if !ok {
  9375  						err = rpc.NewTypeError((*[1]ToggleEmojiAnimationsArg)(nil), args)
  9376  						return
  9377  					}
  9378  					err = i.ToggleEmojiAnimations(ctx, typedArgs[0].Enabled)
  9379  					return
  9380  				},
  9381  			},
  9382  			"trackGiphySelect": {
  9383  				MakeArg: func() interface{} {
  9384  					var ret [1]TrackGiphySelectArg
  9385  					return &ret
  9386  				},
  9387  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9388  					typedArgs, ok := args.(*[1]TrackGiphySelectArg)
  9389  					if !ok {
  9390  						err = rpc.NewTypeError((*[1]TrackGiphySelectArg)(nil), args)
  9391  						return
  9392  					}
  9393  					ret, err = i.TrackGiphySelect(ctx, typedArgs[0])
  9394  					return
  9395  				},
  9396  			},
  9397  			"archiveChat": {
  9398  				MakeArg: func() interface{} {
  9399  					var ret [1]ArchiveChatArg
  9400  					return &ret
  9401  				},
  9402  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9403  					typedArgs, ok := args.(*[1]ArchiveChatArg)
  9404  					if !ok {
  9405  						err = rpc.NewTypeError((*[1]ArchiveChatArg)(nil), args)
  9406  						return
  9407  					}
  9408  					ret, err = i.ArchiveChat(ctx, typedArgs[0].Req)
  9409  					return
  9410  				},
  9411  			},
  9412  			"archiveChatList": {
  9413  				MakeArg: func() interface{} {
  9414  					var ret [1]ArchiveChatListArg
  9415  					return &ret
  9416  				},
  9417  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9418  					typedArgs, ok := args.(*[1]ArchiveChatListArg)
  9419  					if !ok {
  9420  						err = rpc.NewTypeError((*[1]ArchiveChatListArg)(nil), args)
  9421  						return
  9422  					}
  9423  					ret, err = i.ArchiveChatList(ctx, typedArgs[0].IdentifyBehavior)
  9424  					return
  9425  				},
  9426  			},
  9427  			"archiveChatDelete": {
  9428  				MakeArg: func() interface{} {
  9429  					var ret [1]ArchiveChatDeleteArg
  9430  					return &ret
  9431  				},
  9432  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9433  					typedArgs, ok := args.(*[1]ArchiveChatDeleteArg)
  9434  					if !ok {
  9435  						err = rpc.NewTypeError((*[1]ArchiveChatDeleteArg)(nil), args)
  9436  						return
  9437  					}
  9438  					err = i.ArchiveChatDelete(ctx, typedArgs[0])
  9439  					return
  9440  				},
  9441  			},
  9442  			"archiveChatPause": {
  9443  				MakeArg: func() interface{} {
  9444  					var ret [1]ArchiveChatPauseArg
  9445  					return &ret
  9446  				},
  9447  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9448  					typedArgs, ok := args.(*[1]ArchiveChatPauseArg)
  9449  					if !ok {
  9450  						err = rpc.NewTypeError((*[1]ArchiveChatPauseArg)(nil), args)
  9451  						return
  9452  					}
  9453  					err = i.ArchiveChatPause(ctx, typedArgs[0])
  9454  					return
  9455  				},
  9456  			},
  9457  			"archiveChatResume": {
  9458  				MakeArg: func() interface{} {
  9459  					var ret [1]ArchiveChatResumeArg
  9460  					return &ret
  9461  				},
  9462  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
  9463  					typedArgs, ok := args.(*[1]ArchiveChatResumeArg)
  9464  					if !ok {
  9465  						err = rpc.NewTypeError((*[1]ArchiveChatResumeArg)(nil), args)
  9466  						return
  9467  					}
  9468  					err = i.ArchiveChatResume(ctx, typedArgs[0])
  9469  					return
  9470  				},
  9471  			},
  9472  		},
  9473  	}
  9474  }
  9475  
  9476  type LocalClient struct {
  9477  	Cli rpc.GenericClient
  9478  }
  9479  
  9480  func (c LocalClient) GetThreadLocal(ctx context.Context, __arg GetThreadLocalArg) (res GetThreadLocalRes, err error) {
  9481  	err = c.Cli.Call(ctx, "chat.1.local.getThreadLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9482  	return
  9483  }
  9484  
  9485  func (c LocalClient) GetThreadNonblock(ctx context.Context, __arg GetThreadNonblockArg) (res NonblockFetchRes, err error) {
  9486  	err = c.Cli.Call(ctx, "chat.1.local.getThreadNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9487  	return
  9488  }
  9489  
  9490  func (c LocalClient) GetUnreadline(ctx context.Context, __arg GetUnreadlineArg) (res UnreadlineRes, err error) {
  9491  	err = c.Cli.Call(ctx, "chat.1.local.getUnreadline", []interface{}{__arg}, &res, 0*time.Millisecond)
  9492  	return
  9493  }
  9494  
  9495  func (c LocalClient) GetInboxAndUnboxLocal(ctx context.Context, __arg GetInboxAndUnboxLocalArg) (res GetInboxAndUnboxLocalRes, err error) {
  9496  	err = c.Cli.Call(ctx, "chat.1.local.getInboxAndUnboxLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9497  	return
  9498  }
  9499  
  9500  func (c LocalClient) GetInboxAndUnboxUILocal(ctx context.Context, __arg GetInboxAndUnboxUILocalArg) (res GetInboxAndUnboxUILocalRes, err error) {
  9501  	err = c.Cli.Call(ctx, "chat.1.local.getInboxAndUnboxUILocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9502  	return
  9503  }
  9504  
  9505  func (c LocalClient) RequestInboxLayout(ctx context.Context, reselectMode InboxLayoutReselectMode) (err error) {
  9506  	__arg := RequestInboxLayoutArg{ReselectMode: reselectMode}
  9507  	err = c.Cli.Call(ctx, "chat.1.local.requestInboxLayout", []interface{}{__arg}, nil, 0*time.Millisecond)
  9508  	return
  9509  }
  9510  
  9511  func (c LocalClient) RequestInboxUnbox(ctx context.Context, convIDs []ConversationID) (err error) {
  9512  	__arg := RequestInboxUnboxArg{ConvIDs: convIDs}
  9513  	err = c.Cli.Call(ctx, "chat.1.local.requestInboxUnbox", []interface{}{__arg}, nil, 0*time.Millisecond)
  9514  	return
  9515  }
  9516  
  9517  func (c LocalClient) RequestInboxSmallIncrease(ctx context.Context) (err error) {
  9518  	err = c.Cli.Call(ctx, "chat.1.local.requestInboxSmallIncrease", []interface{}{RequestInboxSmallIncreaseArg{}}, nil, 0*time.Millisecond)
  9519  	return
  9520  }
  9521  
  9522  func (c LocalClient) RequestInboxSmallReset(ctx context.Context) (err error) {
  9523  	err = c.Cli.Call(ctx, "chat.1.local.requestInboxSmallReset", []interface{}{RequestInboxSmallResetArg{}}, nil, 0*time.Millisecond)
  9524  	return
  9525  }
  9526  
  9527  func (c LocalClient) GetInboxNonblockLocal(ctx context.Context, __arg GetInboxNonblockLocalArg) (res NonblockFetchRes, err error) {
  9528  	err = c.Cli.Call(ctx, "chat.1.local.getInboxNonblockLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9529  	return
  9530  }
  9531  
  9532  func (c LocalClient) PostLocal(ctx context.Context, __arg PostLocalArg) (res PostLocalRes, err error) {
  9533  	err = c.Cli.Call(ctx, "chat.1.local.postLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9534  	return
  9535  }
  9536  
  9537  func (c LocalClient) GenerateOutboxID(ctx context.Context) (res OutboxID, err error) {
  9538  	err = c.Cli.Call(ctx, "chat.1.local.generateOutboxID", []interface{}{GenerateOutboxIDArg{}}, &res, 0*time.Millisecond)
  9539  	return
  9540  }
  9541  
  9542  func (c LocalClient) PostLocalNonblock(ctx context.Context, __arg PostLocalNonblockArg) (res PostLocalNonblockRes, err error) {
  9543  	err = c.Cli.Call(ctx, "chat.1.local.postLocalNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9544  	return
  9545  }
  9546  
  9547  func (c LocalClient) ForwardMessage(ctx context.Context, __arg ForwardMessageArg) (res PostLocalRes, err error) {
  9548  	err = c.Cli.Call(ctx, "chat.1.local.forwardMessage", []interface{}{__arg}, &res, 0*time.Millisecond)
  9549  	return
  9550  }
  9551  
  9552  func (c LocalClient) ForwardMessageNonblock(ctx context.Context, __arg ForwardMessageNonblockArg) (res PostLocalNonblockRes, err error) {
  9553  	err = c.Cli.Call(ctx, "chat.1.local.forwardMessageNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9554  	return
  9555  }
  9556  
  9557  func (c LocalClient) PostTextNonblock(ctx context.Context, __arg PostTextNonblockArg) (res PostLocalNonblockRes, err error) {
  9558  	err = c.Cli.Call(ctx, "chat.1.local.postTextNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9559  	return
  9560  }
  9561  
  9562  func (c LocalClient) PostDeleteNonblock(ctx context.Context, __arg PostDeleteNonblockArg) (res PostLocalNonblockRes, err error) {
  9563  	err = c.Cli.Call(ctx, "chat.1.local.postDeleteNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9564  	return
  9565  }
  9566  
  9567  func (c LocalClient) PostEditNonblock(ctx context.Context, __arg PostEditNonblockArg) (res PostLocalNonblockRes, err error) {
  9568  	err = c.Cli.Call(ctx, "chat.1.local.postEditNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9569  	return
  9570  }
  9571  
  9572  func (c LocalClient) PostReactionNonblock(ctx context.Context, __arg PostReactionNonblockArg) (res PostLocalNonblockRes, err error) {
  9573  	err = c.Cli.Call(ctx, "chat.1.local.postReactionNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9574  	return
  9575  }
  9576  
  9577  func (c LocalClient) PostHeadlineNonblock(ctx context.Context, __arg PostHeadlineNonblockArg) (res PostLocalNonblockRes, err error) {
  9578  	err = c.Cli.Call(ctx, "chat.1.local.postHeadlineNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9579  	return
  9580  }
  9581  
  9582  func (c LocalClient) PostHeadline(ctx context.Context, __arg PostHeadlineArg) (res PostLocalRes, err error) {
  9583  	err = c.Cli.Call(ctx, "chat.1.local.postHeadline", []interface{}{__arg}, &res, 0*time.Millisecond)
  9584  	return
  9585  }
  9586  
  9587  func (c LocalClient) PostMetadataNonblock(ctx context.Context, __arg PostMetadataNonblockArg) (res PostLocalNonblockRes, err error) {
  9588  	err = c.Cli.Call(ctx, "chat.1.local.postMetadataNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9589  	return
  9590  }
  9591  
  9592  func (c LocalClient) PostMetadata(ctx context.Context, __arg PostMetadataArg) (res PostLocalRes, err error) {
  9593  	err = c.Cli.Call(ctx, "chat.1.local.postMetadata", []interface{}{__arg}, &res, 0*time.Millisecond)
  9594  	return
  9595  }
  9596  
  9597  func (c LocalClient) PostDeleteHistoryUpto(ctx context.Context, __arg PostDeleteHistoryUptoArg) (res PostLocalRes, err error) {
  9598  	err = c.Cli.Call(ctx, "chat.1.local.postDeleteHistoryUpto", []interface{}{__arg}, &res, 0*time.Millisecond)
  9599  	return
  9600  }
  9601  
  9602  func (c LocalClient) PostDeleteHistoryThrough(ctx context.Context, __arg PostDeleteHistoryThroughArg) (res PostLocalRes, err error) {
  9603  	err = c.Cli.Call(ctx, "chat.1.local.postDeleteHistoryThrough", []interface{}{__arg}, &res, 0*time.Millisecond)
  9604  	return
  9605  }
  9606  
  9607  func (c LocalClient) PostDeleteHistoryByAge(ctx context.Context, __arg PostDeleteHistoryByAgeArg) (res PostLocalRes, err error) {
  9608  	err = c.Cli.Call(ctx, "chat.1.local.postDeleteHistoryByAge", []interface{}{__arg}, &res, 0*time.Millisecond)
  9609  	return
  9610  }
  9611  
  9612  func (c LocalClient) SetConversationStatusLocal(ctx context.Context, __arg SetConversationStatusLocalArg) (res SetConversationStatusLocalRes, err error) {
  9613  	err = c.Cli.Call(ctx, "chat.1.local.SetConversationStatusLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9614  	return
  9615  }
  9616  
  9617  func (c LocalClient) NewConversationsLocal(ctx context.Context, __arg NewConversationsLocalArg) (res NewConversationsLocalRes, err error) {
  9618  	err = c.Cli.Call(ctx, "chat.1.local.newConversationsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9619  	return
  9620  }
  9621  
  9622  func (c LocalClient) NewConversationLocal(ctx context.Context, __arg NewConversationLocalArg) (res NewConversationLocalRes, err error) {
  9623  	err = c.Cli.Call(ctx, "chat.1.local.newConversationLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9624  	return
  9625  }
  9626  
  9627  func (c LocalClient) GetInboxSummaryForCLILocal(ctx context.Context, query GetInboxSummaryForCLILocalQuery) (res GetInboxSummaryForCLILocalRes, err error) {
  9628  	__arg := GetInboxSummaryForCLILocalArg{Query: query}
  9629  	err = c.Cli.Call(ctx, "chat.1.local.getInboxSummaryForCLILocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9630  	return
  9631  }
  9632  
  9633  func (c LocalClient) GetConversationForCLILocal(ctx context.Context, query GetConversationForCLILocalQuery) (res GetConversationForCLILocalRes, err error) {
  9634  	__arg := GetConversationForCLILocalArg{Query: query}
  9635  	err = c.Cli.Call(ctx, "chat.1.local.getConversationForCLILocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9636  	return
  9637  }
  9638  
  9639  func (c LocalClient) GetMessagesLocal(ctx context.Context, __arg GetMessagesLocalArg) (res GetMessagesLocalRes, err error) {
  9640  	err = c.Cli.Call(ctx, "chat.1.local.GetMessagesLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9641  	return
  9642  }
  9643  
  9644  func (c LocalClient) PostFileAttachmentLocal(ctx context.Context, __arg PostFileAttachmentLocalArg) (res PostLocalRes, err error) {
  9645  	err = c.Cli.Call(ctx, "chat.1.local.postFileAttachmentLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9646  	return
  9647  }
  9648  
  9649  func (c LocalClient) PostFileAttachmentLocalNonblock(ctx context.Context, __arg PostFileAttachmentLocalNonblockArg) (res PostLocalNonblockRes, err error) {
  9650  	err = c.Cli.Call(ctx, "chat.1.local.postFileAttachmentLocalNonblock", []interface{}{__arg}, &res, 30000*time.Millisecond)
  9651  	return
  9652  }
  9653  
  9654  func (c LocalClient) GetNextAttachmentMessageLocal(ctx context.Context, __arg GetNextAttachmentMessageLocalArg) (res GetNextAttachmentMessageLocalRes, err error) {
  9655  	err = c.Cli.Call(ctx, "chat.1.local.getNextAttachmentMessageLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9656  	return
  9657  }
  9658  
  9659  func (c LocalClient) DownloadAttachmentLocal(ctx context.Context, __arg DownloadAttachmentLocalArg) (res DownloadAttachmentLocalRes, err error) {
  9660  	err = c.Cli.Call(ctx, "chat.1.local.DownloadAttachmentLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9661  	return
  9662  }
  9663  
  9664  func (c LocalClient) DownloadFileAttachmentLocal(ctx context.Context, __arg DownloadFileAttachmentLocalArg) (res DownloadFileAttachmentLocalRes, err error) {
  9665  	err = c.Cli.Call(ctx, "chat.1.local.DownloadFileAttachmentLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9666  	return
  9667  }
  9668  
  9669  func (c LocalClient) ConfigureFileAttachmentDownloadLocal(ctx context.Context, __arg ConfigureFileAttachmentDownloadLocalArg) (err error) {
  9670  	err = c.Cli.Call(ctx, "chat.1.local.ConfigureFileAttachmentDownloadLocal", []interface{}{__arg}, nil, 0*time.Millisecond)
  9671  	return
  9672  }
  9673  
  9674  func (c LocalClient) MakePreview(ctx context.Context, __arg MakePreviewArg) (res MakePreviewRes, err error) {
  9675  	err = c.Cli.Call(ctx, "chat.1.local.makePreview", []interface{}{__arg}, &res, 0*time.Millisecond)
  9676  	return
  9677  }
  9678  
  9679  func (c LocalClient) MakeAudioPreview(ctx context.Context, __arg MakeAudioPreviewArg) (res MakePreviewRes, err error) {
  9680  	err = c.Cli.Call(ctx, "chat.1.local.makeAudioPreview", []interface{}{__arg}, &res, 0*time.Millisecond)
  9681  	return
  9682  }
  9683  
  9684  func (c LocalClient) GetUploadTempFile(ctx context.Context, __arg GetUploadTempFileArg) (res string, err error) {
  9685  	err = c.Cli.Call(ctx, "chat.1.local.getUploadTempFile", []interface{}{__arg}, &res, 0*time.Millisecond)
  9686  	return
  9687  }
  9688  
  9689  func (c LocalClient) MakeUploadTempFile(ctx context.Context, __arg MakeUploadTempFileArg) (res string, err error) {
  9690  	err = c.Cli.Call(ctx, "chat.1.local.makeUploadTempFile", []interface{}{__arg}, &res, 0*time.Millisecond)
  9691  	return
  9692  }
  9693  
  9694  func (c LocalClient) CancelUploadTempFile(ctx context.Context, outboxID OutboxID) (err error) {
  9695  	__arg := CancelUploadTempFileArg{OutboxID: outboxID}
  9696  	err = c.Cli.Call(ctx, "chat.1.local.cancelUploadTempFile", []interface{}{__arg}, nil, 0*time.Millisecond)
  9697  	return
  9698  }
  9699  
  9700  func (c LocalClient) CancelPost(ctx context.Context, outboxID OutboxID) (err error) {
  9701  	__arg := CancelPostArg{OutboxID: outboxID}
  9702  	err = c.Cli.Call(ctx, "chat.1.local.CancelPost", []interface{}{__arg}, nil, 0*time.Millisecond)
  9703  	return
  9704  }
  9705  
  9706  func (c LocalClient) RetryPost(ctx context.Context, __arg RetryPostArg) (err error) {
  9707  	err = c.Cli.Call(ctx, "chat.1.local.RetryPost", []interface{}{__arg}, nil, 0*time.Millisecond)
  9708  	return
  9709  }
  9710  
  9711  func (c LocalClient) MarkAsReadLocal(ctx context.Context, __arg MarkAsReadLocalArg) (res MarkAsReadLocalRes, err error) {
  9712  	err = c.Cli.Call(ctx, "chat.1.local.markAsReadLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9713  	return
  9714  }
  9715  
  9716  func (c LocalClient) MarkTLFAsReadLocal(ctx context.Context, __arg MarkTLFAsReadLocalArg) (res MarkTLFAsReadLocalRes, err error) {
  9717  	err = c.Cli.Call(ctx, "chat.1.local.markTLFAsReadLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9718  	return
  9719  }
  9720  
  9721  func (c LocalClient) FindConversationsLocal(ctx context.Context, __arg FindConversationsLocalArg) (res FindConversationsLocalRes, err error) {
  9722  	err = c.Cli.Call(ctx, "chat.1.local.findConversationsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9723  	return
  9724  }
  9725  
  9726  func (c LocalClient) FindGeneralConvFromTeamID(ctx context.Context, teamID keybase1.TeamID) (res InboxUIItem, err error) {
  9727  	__arg := FindGeneralConvFromTeamIDArg{TeamID: teamID}
  9728  	err = c.Cli.Call(ctx, "chat.1.local.findGeneralConvFromTeamID", []interface{}{__arg}, &res, 0*time.Millisecond)
  9729  	return
  9730  }
  9731  
  9732  func (c LocalClient) UpdateTyping(ctx context.Context, __arg UpdateTypingArg) (err error) {
  9733  	err = c.Cli.Call(ctx, "chat.1.local.updateTyping", []interface{}{__arg}, nil, 0*time.Millisecond)
  9734  	return
  9735  }
  9736  
  9737  func (c LocalClient) UpdateUnsentText(ctx context.Context, __arg UpdateUnsentTextArg) (err error) {
  9738  	err = c.Cli.Call(ctx, "chat.1.local.updateUnsentText", []interface{}{__arg}, nil, 0*time.Millisecond)
  9739  	return
  9740  }
  9741  
  9742  func (c LocalClient) JoinConversationLocal(ctx context.Context, __arg JoinConversationLocalArg) (res JoinLeaveConversationLocalRes, err error) {
  9743  	err = c.Cli.Call(ctx, "chat.1.local.joinConversationLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9744  	return
  9745  }
  9746  
  9747  func (c LocalClient) JoinConversationByIDLocal(ctx context.Context, convID ConversationID) (res JoinLeaveConversationLocalRes, err error) {
  9748  	__arg := JoinConversationByIDLocalArg{ConvID: convID}
  9749  	err = c.Cli.Call(ctx, "chat.1.local.joinConversationByIDLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9750  	return
  9751  }
  9752  
  9753  func (c LocalClient) LeaveConversationLocal(ctx context.Context, convID ConversationID) (res JoinLeaveConversationLocalRes, err error) {
  9754  	__arg := LeaveConversationLocalArg{ConvID: convID}
  9755  	err = c.Cli.Call(ctx, "chat.1.local.leaveConversationLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9756  	return
  9757  }
  9758  
  9759  func (c LocalClient) PreviewConversationByIDLocal(ctx context.Context, convID ConversationID) (res PreviewConversationLocalRes, err error) {
  9760  	__arg := PreviewConversationByIDLocalArg{ConvID: convID}
  9761  	err = c.Cli.Call(ctx, "chat.1.local.previewConversationByIDLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9762  	return
  9763  }
  9764  
  9765  func (c LocalClient) DeleteConversationLocal(ctx context.Context, __arg DeleteConversationLocalArg) (res DeleteConversationLocalRes, err error) {
  9766  	err = c.Cli.Call(ctx, "chat.1.local.deleteConversationLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9767  	return
  9768  }
  9769  
  9770  func (c LocalClient) RemoveFromConversationLocal(ctx context.Context, __arg RemoveFromConversationLocalArg) (res RemoveFromConversationLocalRes, err error) {
  9771  	err = c.Cli.Call(ctx, "chat.1.local.removeFromConversationLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9772  	return
  9773  }
  9774  
  9775  func (c LocalClient) GetTLFConversationsLocal(ctx context.Context, __arg GetTLFConversationsLocalArg) (res GetTLFConversationsLocalRes, err error) {
  9776  	err = c.Cli.Call(ctx, "chat.1.local.getTLFConversationsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9777  	return
  9778  }
  9779  
  9780  func (c LocalClient) GetChannelMembershipsLocal(ctx context.Context, __arg GetChannelMembershipsLocalArg) (res GetChannelMembershipsLocalRes, err error) {
  9781  	err = c.Cli.Call(ctx, "chat.1.local.getChannelMembershipsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9782  	return
  9783  }
  9784  
  9785  func (c LocalClient) GetMutualTeamsLocal(ctx context.Context, usernames []string) (res GetMutualTeamsLocalRes, err error) {
  9786  	__arg := GetMutualTeamsLocalArg{Usernames: usernames}
  9787  	err = c.Cli.Call(ctx, "chat.1.local.getMutualTeamsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9788  	return
  9789  }
  9790  
  9791  func (c LocalClient) SetAppNotificationSettingsLocal(ctx context.Context, __arg SetAppNotificationSettingsLocalArg) (res SetAppNotificationSettingsLocalRes, err error) {
  9792  	err = c.Cli.Call(ctx, "chat.1.local.setAppNotificationSettingsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9793  	return
  9794  }
  9795  
  9796  func (c LocalClient) SetGlobalAppNotificationSettingsLocal(ctx context.Context, settings map[string]bool) (err error) {
  9797  	__arg := SetGlobalAppNotificationSettingsLocalArg{Settings: settings}
  9798  	err = c.Cli.Call(ctx, "chat.1.local.setGlobalAppNotificationSettingsLocal", []interface{}{__arg}, nil, 0*time.Millisecond)
  9799  	return
  9800  }
  9801  
  9802  func (c LocalClient) GetGlobalAppNotificationSettingsLocal(ctx context.Context) (res GlobalAppNotificationSettings, err error) {
  9803  	err = c.Cli.Call(ctx, "chat.1.local.getGlobalAppNotificationSettingsLocal", []interface{}{GetGlobalAppNotificationSettingsLocalArg{}}, &res, 0*time.Millisecond)
  9804  	return
  9805  }
  9806  
  9807  func (c LocalClient) UnboxMobilePushNotification(ctx context.Context, __arg UnboxMobilePushNotificationArg) (res string, err error) {
  9808  	err = c.Cli.Call(ctx, "chat.1.local.unboxMobilePushNotification", []interface{}{__arg}, &res, 0*time.Millisecond)
  9809  	return
  9810  }
  9811  
  9812  func (c LocalClient) AddTeamMemberAfterReset(ctx context.Context, __arg AddTeamMemberAfterResetArg) (err error) {
  9813  	err = c.Cli.Call(ctx, "chat.1.local.addTeamMemberAfterReset", []interface{}{__arg}, nil, 0*time.Millisecond)
  9814  	return
  9815  }
  9816  
  9817  func (c LocalClient) GetAllResetConvMembers(ctx context.Context) (res GetAllResetConvMembersRes, err error) {
  9818  	err = c.Cli.Call(ctx, "chat.1.local.getAllResetConvMembers", []interface{}{GetAllResetConvMembersArg{}}, &res, 0*time.Millisecond)
  9819  	return
  9820  }
  9821  
  9822  func (c LocalClient) SetConvRetentionLocal(ctx context.Context, __arg SetConvRetentionLocalArg) (err error) {
  9823  	err = c.Cli.Call(ctx, "chat.1.local.setConvRetentionLocal", []interface{}{__arg}, nil, 0*time.Millisecond)
  9824  	return
  9825  }
  9826  
  9827  func (c LocalClient) SetTeamRetentionLocal(ctx context.Context, __arg SetTeamRetentionLocalArg) (err error) {
  9828  	err = c.Cli.Call(ctx, "chat.1.local.setTeamRetentionLocal", []interface{}{__arg}, nil, 0*time.Millisecond)
  9829  	return
  9830  }
  9831  
  9832  func (c LocalClient) GetTeamRetentionLocal(ctx context.Context, teamID keybase1.TeamID) (res *RetentionPolicy, err error) {
  9833  	__arg := GetTeamRetentionLocalArg{TeamID: teamID}
  9834  	err = c.Cli.Call(ctx, "chat.1.local.getTeamRetentionLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9835  	return
  9836  }
  9837  
  9838  func (c LocalClient) SetConvMinWriterRoleLocal(ctx context.Context, __arg SetConvMinWriterRoleLocalArg) (err error) {
  9839  	err = c.Cli.Call(ctx, "chat.1.local.setConvMinWriterRoleLocal", []interface{}{__arg}, nil, 0*time.Millisecond)
  9840  	return
  9841  }
  9842  
  9843  func (c LocalClient) UpgradeKBFSConversationToImpteam(ctx context.Context, convID ConversationID) (err error) {
  9844  	__arg := UpgradeKBFSConversationToImpteamArg{ConvID: convID}
  9845  	err = c.Cli.Call(ctx, "chat.1.local.upgradeKBFSConversationToImpteam", []interface{}{__arg}, nil, 0*time.Millisecond)
  9846  	return
  9847  }
  9848  
  9849  func (c LocalClient) SearchRegexp(ctx context.Context, __arg SearchRegexpArg) (res SearchRegexpRes, err error) {
  9850  	err = c.Cli.Call(ctx, "chat.1.local.searchRegexp", []interface{}{__arg}, &res, 0*time.Millisecond)
  9851  	return
  9852  }
  9853  
  9854  func (c LocalClient) CancelActiveInboxSearch(ctx context.Context) (err error) {
  9855  	err = c.Cli.Call(ctx, "chat.1.local.cancelActiveInboxSearch", []interface{}{CancelActiveInboxSearchArg{}}, nil, 0*time.Millisecond)
  9856  	return
  9857  }
  9858  
  9859  func (c LocalClient) SearchInbox(ctx context.Context, __arg SearchInboxArg) (res SearchInboxRes, err error) {
  9860  	err = c.Cli.Call(ctx, "chat.1.local.searchInbox", []interface{}{__arg}, &res, 0*time.Millisecond)
  9861  	return
  9862  }
  9863  
  9864  func (c LocalClient) SimpleSearchInboxConvNames(ctx context.Context, query string) (res []SimpleSearchInboxConvNamesHit, err error) {
  9865  	__arg := SimpleSearchInboxConvNamesArg{Query: query}
  9866  	err = c.Cli.Call(ctx, "chat.1.local.simpleSearchInboxConvNames", []interface{}{__arg}, &res, 0*time.Millisecond)
  9867  	return
  9868  }
  9869  
  9870  func (c LocalClient) CancelActiveSearch(ctx context.Context) (err error) {
  9871  	err = c.Cli.Call(ctx, "chat.1.local.cancelActiveSearch", []interface{}{CancelActiveSearchArg{}}, nil, 0*time.Millisecond)
  9872  	return
  9873  }
  9874  
  9875  func (c LocalClient) ProfileChatSearch(ctx context.Context, identifyBehavior keybase1.TLFIdentifyBehavior) (res map[ConvIDStr]ProfileSearchConvStats, err error) {
  9876  	__arg := ProfileChatSearchArg{IdentifyBehavior: identifyBehavior}
  9877  	err = c.Cli.Call(ctx, "chat.1.local.profileChatSearch", []interface{}{__arg}, &res, 0*time.Millisecond)
  9878  	return
  9879  }
  9880  
  9881  func (c LocalClient) GetStaticConfig(ctx context.Context) (res StaticConfig, err error) {
  9882  	err = c.Cli.Call(ctx, "chat.1.local.getStaticConfig", []interface{}{GetStaticConfigArg{}}, &res, 0*time.Millisecond)
  9883  	return
  9884  }
  9885  
  9886  func (c LocalClient) ResolveUnfurlPrompt(ctx context.Context, __arg ResolveUnfurlPromptArg) (err error) {
  9887  	err = c.Cli.Call(ctx, "chat.1.local.resolveUnfurlPrompt", []interface{}{__arg}, nil, 0*time.Millisecond)
  9888  	return
  9889  }
  9890  
  9891  func (c LocalClient) GetUnfurlSettings(ctx context.Context) (res UnfurlSettingsDisplay, err error) {
  9892  	err = c.Cli.Call(ctx, "chat.1.local.getUnfurlSettings", []interface{}{GetUnfurlSettingsArg{}}, &res, 0*time.Millisecond)
  9893  	return
  9894  }
  9895  
  9896  func (c LocalClient) SaveUnfurlSettings(ctx context.Context, __arg SaveUnfurlSettingsArg) (err error) {
  9897  	err = c.Cli.Call(ctx, "chat.1.local.saveUnfurlSettings", []interface{}{__arg}, nil, 0*time.Millisecond)
  9898  	return
  9899  }
  9900  
  9901  func (c LocalClient) ToggleMessageCollapse(ctx context.Context, __arg ToggleMessageCollapseArg) (err error) {
  9902  	err = c.Cli.Call(ctx, "chat.1.local.toggleMessageCollapse", []interface{}{__arg}, nil, 0*time.Millisecond)
  9903  	return
  9904  }
  9905  
  9906  func (c LocalClient) BulkAddToConv(ctx context.Context, __arg BulkAddToConvArg) (err error) {
  9907  	err = c.Cli.Call(ctx, "chat.1.local.bulkAddToConv", []interface{}{__arg}, nil, 0*time.Millisecond)
  9908  	return
  9909  }
  9910  
  9911  func (c LocalClient) BulkAddToManyConvs(ctx context.Context, __arg BulkAddToManyConvsArg) (err error) {
  9912  	err = c.Cli.Call(ctx, "chat.1.local.bulkAddToManyConvs", []interface{}{__arg}, nil, 0*time.Millisecond)
  9913  	return
  9914  }
  9915  
  9916  func (c LocalClient) PutReacjiSkinTone(ctx context.Context, skinTone keybase1.ReacjiSkinTone) (res keybase1.UserReacjis, err error) {
  9917  	__arg := PutReacjiSkinToneArg{SkinTone: skinTone}
  9918  	err = c.Cli.Call(ctx, "chat.1.local.putReacjiSkinTone", []interface{}{__arg}, &res, 0*time.Millisecond)
  9919  	return
  9920  }
  9921  
  9922  func (c LocalClient) ResolveMaybeMention(ctx context.Context, mention MaybeMention) (err error) {
  9923  	__arg := ResolveMaybeMentionArg{Mention: mention}
  9924  	err = c.Cli.Call(ctx, "chat.1.local.resolveMaybeMention", []interface{}{__arg}, nil, 0*time.Millisecond)
  9925  	return
  9926  }
  9927  
  9928  func (c LocalClient) LoadGallery(ctx context.Context, __arg LoadGalleryArg) (res LoadGalleryRes, err error) {
  9929  	err = c.Cli.Call(ctx, "chat.1.local.loadGallery", []interface{}{__arg}, &res, 0*time.Millisecond)
  9930  	return
  9931  }
  9932  
  9933  func (c LocalClient) LoadFlip(ctx context.Context, __arg LoadFlipArg) (res LoadFlipRes, err error) {
  9934  	err = c.Cli.Call(ctx, "chat.1.local.loadFlip", []interface{}{__arg}, &res, 0*time.Millisecond)
  9935  	return
  9936  }
  9937  
  9938  func (c LocalClient) LocationUpdate(ctx context.Context, coord Coordinate) (err error) {
  9939  	__arg := LocationUpdateArg{Coord: coord}
  9940  	err = c.Cli.Call(ctx, "chat.1.local.locationUpdate", []interface{}{__arg}, nil, 0*time.Millisecond)
  9941  	return
  9942  }
  9943  
  9944  func (c LocalClient) AdvertiseBotCommandsLocal(ctx context.Context, __arg AdvertiseBotCommandsLocalArg) (res AdvertiseBotCommandsLocalRes, err error) {
  9945  	err = c.Cli.Call(ctx, "chat.1.local.advertiseBotCommandsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9946  	return
  9947  }
  9948  
  9949  func (c LocalClient) ListBotCommandsLocal(ctx context.Context, convID ConversationID) (res ListBotCommandsLocalRes, err error) {
  9950  	__arg := ListBotCommandsLocalArg{ConvID: convID}
  9951  	err = c.Cli.Call(ctx, "chat.1.local.listBotCommandsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9952  	return
  9953  }
  9954  
  9955  func (c LocalClient) ListPublicBotCommandsLocal(ctx context.Context, username string) (res ListBotCommandsLocalRes, err error) {
  9956  	__arg := ListPublicBotCommandsLocalArg{Username: username}
  9957  	err = c.Cli.Call(ctx, "chat.1.local.listPublicBotCommandsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9958  	return
  9959  }
  9960  
  9961  func (c LocalClient) ClearBotCommandsLocal(ctx context.Context, filter *ClearBotCommandsFilter) (res ClearBotCommandsLocalRes, err error) {
  9962  	__arg := ClearBotCommandsLocalArg{Filter: filter}
  9963  	err = c.Cli.Call(ctx, "chat.1.local.clearBotCommandsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
  9964  	return
  9965  }
  9966  
  9967  func (c LocalClient) PinMessage(ctx context.Context, __arg PinMessageArg) (res PinMessageRes, err error) {
  9968  	err = c.Cli.Call(ctx, "chat.1.local.pinMessage", []interface{}{__arg}, &res, 0*time.Millisecond)
  9969  	return
  9970  }
  9971  
  9972  func (c LocalClient) UnpinMessage(ctx context.Context, convID ConversationID) (res PinMessageRes, err error) {
  9973  	__arg := UnpinMessageArg{ConvID: convID}
  9974  	err = c.Cli.Call(ctx, "chat.1.local.unpinMessage", []interface{}{__arg}, &res, 0*time.Millisecond)
  9975  	return
  9976  }
  9977  
  9978  func (c LocalClient) IgnorePinnedMessage(ctx context.Context, convID ConversationID) (err error) {
  9979  	__arg := IgnorePinnedMessageArg{ConvID: convID}
  9980  	err = c.Cli.Call(ctx, "chat.1.local.ignorePinnedMessage", []interface{}{__arg}, nil, 0*time.Millisecond)
  9981  	return
  9982  }
  9983  
  9984  func (c LocalClient) AddBotMember(ctx context.Context, __arg AddBotMemberArg) (err error) {
  9985  	err = c.Cli.Call(ctx, "chat.1.local.addBotMember", []interface{}{__arg}, nil, 0*time.Millisecond)
  9986  	return
  9987  }
  9988  
  9989  func (c LocalClient) EditBotMember(ctx context.Context, __arg EditBotMemberArg) (err error) {
  9990  	err = c.Cli.Call(ctx, "chat.1.local.editBotMember", []interface{}{__arg}, nil, 0*time.Millisecond)
  9991  	return
  9992  }
  9993  
  9994  func (c LocalClient) RemoveBotMember(ctx context.Context, __arg RemoveBotMemberArg) (err error) {
  9995  	err = c.Cli.Call(ctx, "chat.1.local.removeBotMember", []interface{}{__arg}, nil, 0*time.Millisecond)
  9996  	return
  9997  }
  9998  
  9999  func (c LocalClient) SetBotMemberSettings(ctx context.Context, __arg SetBotMemberSettingsArg) (err error) {
 10000  	err = c.Cli.Call(ctx, "chat.1.local.setBotMemberSettings", []interface{}{__arg}, nil, 0*time.Millisecond)
 10001  	return
 10002  }
 10003  
 10004  func (c LocalClient) GetBotMemberSettings(ctx context.Context, __arg GetBotMemberSettingsArg) (res keybase1.TeamBotSettings, err error) {
 10005  	err = c.Cli.Call(ctx, "chat.1.local.getBotMemberSettings", []interface{}{__arg}, &res, 0*time.Millisecond)
 10006  	return
 10007  }
 10008  
 10009  func (c LocalClient) GetTeamRoleInConversation(ctx context.Context, __arg GetTeamRoleInConversationArg) (res keybase1.TeamRole, err error) {
 10010  	err = c.Cli.Call(ctx, "chat.1.local.getTeamRoleInConversation", []interface{}{__arg}, &res, 0*time.Millisecond)
 10011  	return
 10012  }
 10013  
 10014  func (c LocalClient) AddBotConvSearch(ctx context.Context, term string) (res []ConvSearchHit, err error) {
 10015  	__arg := AddBotConvSearchArg{Term: term}
 10016  	err = c.Cli.Call(ctx, "chat.1.local.addBotConvSearch", []interface{}{__arg}, &res, 0*time.Millisecond)
 10017  	return
 10018  }
 10019  
 10020  func (c LocalClient) ForwardMessageConvSearch(ctx context.Context, term string) (res []ConvSearchHit, err error) {
 10021  	__arg := ForwardMessageConvSearchArg{Term: term}
 10022  	err = c.Cli.Call(ctx, "chat.1.local.forwardMessageConvSearch", []interface{}{__arg}, &res, 0*time.Millisecond)
 10023  	return
 10024  }
 10025  
 10026  func (c LocalClient) TeamIDFromTLFName(ctx context.Context, __arg TeamIDFromTLFNameArg) (res keybase1.TeamID, err error) {
 10027  	err = c.Cli.Call(ctx, "chat.1.local.teamIDFromTLFName", []interface{}{__arg}, &res, 0*time.Millisecond)
 10028  	return
 10029  }
 10030  
 10031  func (c LocalClient) DismissJourneycard(ctx context.Context, __arg DismissJourneycardArg) (err error) {
 10032  	err = c.Cli.Call(ctx, "chat.1.local.dismissJourneycard", []interface{}{__arg}, nil, 0*time.Millisecond)
 10033  	return
 10034  }
 10035  
 10036  func (c LocalClient) SetWelcomeMessage(ctx context.Context, __arg SetWelcomeMessageArg) (err error) {
 10037  	err = c.Cli.Call(ctx, "chat.1.local.setWelcomeMessage", []interface{}{__arg}, nil, 0*time.Millisecond)
 10038  	return
 10039  }
 10040  
 10041  func (c LocalClient) GetWelcomeMessage(ctx context.Context, teamID keybase1.TeamID) (res WelcomeMessageDisplay, err error) {
 10042  	__arg := GetWelcomeMessageArg{TeamID: teamID}
 10043  	err = c.Cli.Call(ctx, "chat.1.local.getWelcomeMessage", []interface{}{__arg}, &res, 0*time.Millisecond)
 10044  	return
 10045  }
 10046  
 10047  func (c LocalClient) GetDefaultTeamChannelsLocal(ctx context.Context, teamID keybase1.TeamID) (res GetDefaultTeamChannelsLocalRes, err error) {
 10048  	__arg := GetDefaultTeamChannelsLocalArg{TeamID: teamID}
 10049  	err = c.Cli.Call(ctx, "chat.1.local.getDefaultTeamChannelsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
 10050  	return
 10051  }
 10052  
 10053  func (c LocalClient) SetDefaultTeamChannelsLocal(ctx context.Context, __arg SetDefaultTeamChannelsLocalArg) (res SetDefaultTeamChannelsLocalRes, err error) {
 10054  	err = c.Cli.Call(ctx, "chat.1.local.setDefaultTeamChannelsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
 10055  	return
 10056  }
 10057  
 10058  func (c LocalClient) GetLastActiveForTLF(ctx context.Context, tlfID TLFIDStr) (res LastActiveStatus, err error) {
 10059  	__arg := GetLastActiveForTLFArg{TlfID: tlfID}
 10060  	err = c.Cli.Call(ctx, "chat.1.local.getLastActiveForTLF", []interface{}{__arg}, &res, 0*time.Millisecond)
 10061  	return
 10062  }
 10063  
 10064  func (c LocalClient) GetLastActiveForTeams(ctx context.Context) (res LastActiveStatusAll, err error) {
 10065  	err = c.Cli.Call(ctx, "chat.1.local.getLastActiveForTeams", []interface{}{GetLastActiveForTeamsArg{}}, &res, 0*time.Millisecond)
 10066  	return
 10067  }
 10068  
 10069  func (c LocalClient) GetRecentJoinsLocal(ctx context.Context, convID ConversationID) (res int, err error) {
 10070  	__arg := GetRecentJoinsLocalArg{ConvID: convID}
 10071  	err = c.Cli.Call(ctx, "chat.1.local.getRecentJoinsLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
 10072  	return
 10073  }
 10074  
 10075  func (c LocalClient) RefreshParticipants(ctx context.Context, convID ConversationID) (err error) {
 10076  	__arg := RefreshParticipantsArg{ConvID: convID}
 10077  	err = c.Cli.Call(ctx, "chat.1.local.refreshParticipants", []interface{}{__arg}, nil, 0*time.Millisecond)
 10078  	return
 10079  }
 10080  
 10081  func (c LocalClient) GetLastActiveAtLocal(ctx context.Context, __arg GetLastActiveAtLocalArg) (res gregor1.Time, err error) {
 10082  	err = c.Cli.Call(ctx, "chat.1.local.getLastActiveAtLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
 10083  	return
 10084  }
 10085  
 10086  func (c LocalClient) GetLastActiveAtMultiLocal(ctx context.Context, __arg GetLastActiveAtMultiLocalArg) (res map[keybase1.TeamID]gregor1.Time, err error) {
 10087  	err = c.Cli.Call(ctx, "chat.1.local.getLastActiveAtMultiLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
 10088  	return
 10089  }
 10090  
 10091  func (c LocalClient) GetParticipants(ctx context.Context, convID ConversationID) (res []ConversationLocalParticipant, err error) {
 10092  	__arg := GetParticipantsArg{ConvID: convID}
 10093  	err = c.Cli.Call(ctx, "chat.1.local.getParticipants", []interface{}{__arg}, &res, 0*time.Millisecond)
 10094  	return
 10095  }
 10096  
 10097  func (c LocalClient) AddEmoji(ctx context.Context, __arg AddEmojiArg) (res AddEmojiRes, err error) {
 10098  	err = c.Cli.Call(ctx, "chat.1.local.addEmoji", []interface{}{__arg}, &res, 0*time.Millisecond)
 10099  	return
 10100  }
 10101  
 10102  func (c LocalClient) AddEmojis(ctx context.Context, __arg AddEmojisArg) (res AddEmojisRes, err error) {
 10103  	err = c.Cli.Call(ctx, "chat.1.local.addEmojis", []interface{}{__arg}, &res, 0*time.Millisecond)
 10104  	return
 10105  }
 10106  
 10107  func (c LocalClient) AddEmojiAlias(ctx context.Context, __arg AddEmojiAliasArg) (res AddEmojiAliasRes, err error) {
 10108  	err = c.Cli.Call(ctx, "chat.1.local.addEmojiAlias", []interface{}{__arg}, &res, 0*time.Millisecond)
 10109  	return
 10110  }
 10111  
 10112  func (c LocalClient) RemoveEmoji(ctx context.Context, __arg RemoveEmojiArg) (res RemoveEmojiRes, err error) {
 10113  	err = c.Cli.Call(ctx, "chat.1.local.removeEmoji", []interface{}{__arg}, &res, 0*time.Millisecond)
 10114  	return
 10115  }
 10116  
 10117  func (c LocalClient) UserEmojis(ctx context.Context, __arg UserEmojisArg) (res UserEmojiRes, err error) {
 10118  	err = c.Cli.Call(ctx, "chat.1.local.userEmojis", []interface{}{__arg}, &res, 0*time.Millisecond)
 10119  	return
 10120  }
 10121  
 10122  func (c LocalClient) ToggleEmojiAnimations(ctx context.Context, enabled bool) (err error) {
 10123  	__arg := ToggleEmojiAnimationsArg{Enabled: enabled}
 10124  	err = c.Cli.Call(ctx, "chat.1.local.toggleEmojiAnimations", []interface{}{__arg}, nil, 0*time.Millisecond)
 10125  	return
 10126  }
 10127  
 10128  func (c LocalClient) TrackGiphySelect(ctx context.Context, __arg TrackGiphySelectArg) (res TrackGiphySelectRes, err error) {
 10129  	err = c.Cli.Call(ctx, "chat.1.local.trackGiphySelect", []interface{}{__arg}, &res, 0*time.Millisecond)
 10130  	return
 10131  }
 10132  
 10133  func (c LocalClient) ArchiveChat(ctx context.Context, req ArchiveChatJobRequest) (res ArchiveChatRes, err error) {
 10134  	__arg := ArchiveChatArg{Req: req}
 10135  	err = c.Cli.Call(ctx, "chat.1.local.archiveChat", []interface{}{__arg}, &res, 0*time.Millisecond)
 10136  	return
 10137  }
 10138  
 10139  func (c LocalClient) ArchiveChatList(ctx context.Context, identifyBehavior keybase1.TLFIdentifyBehavior) (res ArchiveChatListRes, err error) {
 10140  	__arg := ArchiveChatListArg{IdentifyBehavior: identifyBehavior}
 10141  	err = c.Cli.Call(ctx, "chat.1.local.archiveChatList", []interface{}{__arg}, &res, 0*time.Millisecond)
 10142  	return
 10143  }
 10144  
 10145  func (c LocalClient) ArchiveChatDelete(ctx context.Context, __arg ArchiveChatDeleteArg) (err error) {
 10146  	err = c.Cli.Call(ctx, "chat.1.local.archiveChatDelete", []interface{}{__arg}, nil, 0*time.Millisecond)
 10147  	return
 10148  }
 10149  
 10150  func (c LocalClient) ArchiveChatPause(ctx context.Context, __arg ArchiveChatPauseArg) (err error) {
 10151  	err = c.Cli.Call(ctx, "chat.1.local.archiveChatPause", []interface{}{__arg}, nil, 0*time.Millisecond)
 10152  	return
 10153  }
 10154  
 10155  func (c LocalClient) ArchiveChatResume(ctx context.Context, __arg ArchiveChatResumeArg) (err error) {
 10156  	err = c.Cli.Call(ctx, "chat.1.local.archiveChatResume", []interface{}{__arg}, nil, 0*time.Millisecond)
 10157  	return
 10158  }