Add customization color

This commit is contained in:
Andrea Maria Piana 2023-03-22 17:48:42 +00:00
parent c86d42d930
commit e2082bf5bd
14 changed files with 406 additions and 341 deletions

View File

@ -1 +1 @@
0.140.0 0.140.1

View File

@ -763,9 +763,10 @@ func (b *GethStatusBackend) generateOrImportAccount(mnemonic string, request *re
} }
account := multiaccounts.Account{ account := multiaccounts.Account{
KeyUID: info.KeyUID, KeyUID: info.KeyUID,
Name: request.DisplayName, Name: request.DisplayName,
KDFIterations: sqlite.ReducedKDFIterationsNumber, CustomizationColor: multiaccounts.CustomizationColor(request.CustomizationColor),
KDFIterations: sqlite.ReducedKDFIterationsNumber,
} }
settings, err := defaultSettings(info, derivedAddresses, nil) settings, err := defaultSettings(info, derivedAddresses, nil)

View File

@ -12,30 +12,54 @@ import (
"github.com/status-im/status-go/sqlite" "github.com/status-im/status-go/sqlite"
) )
type ColourHash [][2]int type ColorHash [][2]int
type CustomizationColor string
const (
CustomizationColorPrimary CustomizationColor = "primary"
CustomizationColorPurple CustomizationColor = "purple"
CustomizationColorIndigo CustomizationColor = "indigo"
CustomizationColorTurquoise CustomizationColor = "turquoise"
CustomizationColorBlue CustomizationColor = "blue"
CustomizationColorGreen CustomizationColor = "green"
CustomizationColorYellow CustomizationColor = "yellow"
CustomizationColorOrange CustomizationColor = "orange"
CustomizationColorRed CustomizationColor = "red"
CustomizationColorPink CustomizationColor = "pink"
CustomizationColorBrown CustomizationColor = "brown"
CustomizationColorSky CustomizationColor = "sky"
CustomizationColorArmy CustomizationColor = "army"
CustomizationColorMagenta CustomizationColor = "magenta"
CustomizationColorCopper CustomizationColor = "copper"
CustomizationColorCamel CustomizationColor = "camel"
CustomizationColorYinYang CustomizationColor = "yinyang"
CustomizationColorBeige CustomizationColor = "beige"
)
// Account stores public information about account. // Account stores public information about account.
type Account struct { type Account struct {
Name string `json:"name"` Name string `json:"name"`
Timestamp int64 `json:"timestamp"` Timestamp int64 `json:"timestamp"`
Identicon string `json:"identicon"` Identicon string `json:"identicon"`
ColorHash ColourHash `json:"colorHash"` ColorHash ColorHash `json:"colorHash"`
ColorID int64 `json:"colorId"` ColorID int64 `json:"colorId"`
KeycardPairing string `json:"keycard-pairing"` CustomizationColor CustomizationColor `json:"customizationColor,omitempty"`
KeyUID string `json:"key-uid"` KeycardPairing string `json:"keycard-pairing"`
Images []images.IdentityImage `json:"images"` KeyUID string `json:"key-uid"`
KDFIterations int `json:"kdfIterations,omitempty"` Images []images.IdentityImage `json:"images"`
KDFIterations int `json:"kdfIterations,omitempty"`
} }
func (a *Account) ToProtobuf() *protobuf.MultiAccount { func (a *Account) ToProtobuf() *protobuf.MultiAccount {
var colourHashes []*protobuf.MultiAccount_ColourHash var colorHashes []*protobuf.MultiAccount_ColorHash
for _, index := range a.ColorHash { for _, index := range a.ColorHash {
var i []int64 var i []int64
for _, is := range index { for _, is := range index {
i = append(i, int64(is)) i = append(i, int64(is))
} }
colourHashes = append(colourHashes, &protobuf.MultiAccount_ColourHash{Index: i}) colorHashes = append(colorHashes, &protobuf.MultiAccount_ColorHash{Index: i})
} }
var identityImages []*protobuf.MultiAccount_IdentityImage var identityImages []*protobuf.MultiAccount_IdentityImage
@ -44,26 +68,27 @@ func (a *Account) ToProtobuf() *protobuf.MultiAccount {
} }
return &protobuf.MultiAccount{ return &protobuf.MultiAccount{
Name: a.Name, Name: a.Name,
Timestamp: a.Timestamp, Timestamp: a.Timestamp,
Identicon: a.Identicon, Identicon: a.Identicon,
ColorHash: colourHashes, ColorHash: colorHashes,
ColorId: a.ColorID, ColorId: a.ColorID,
KeycardPairing: a.KeycardPairing, CustomizationColor: string(a.CustomizationColor),
KeyUid: a.KeyUID, KeycardPairing: a.KeycardPairing,
Images: identityImages, KeyUid: a.KeyUID,
Images: identityImages,
} }
} }
func (a *Account) FromProtobuf(ma *protobuf.MultiAccount) { func (a *Account) FromProtobuf(ma *protobuf.MultiAccount) {
var colourHash ColourHash var colorHash ColorHash
for _, index := range ma.ColorHash { for _, index := range ma.ColorHash {
var i [2]int var i [2]int
for n, is := range index.Index { for n, is := range index.Index {
i[n] = int(is) i[n] = int(is)
} }
colourHash = append(colourHash, i) colorHash = append(colorHash, i)
} }
var identityImages []images.IdentityImage var identityImages []images.IdentityImage
@ -76,9 +101,10 @@ func (a *Account) FromProtobuf(ma *protobuf.MultiAccount) {
a.Name = ma.Name a.Name = ma.Name
a.Timestamp = ma.Timestamp a.Timestamp = ma.Timestamp
a.Identicon = ma.Identicon a.Identicon = ma.Identicon
a.ColorHash = colourHash a.ColorHash = colorHash
a.ColorID = ma.ColorId a.ColorID = ma.ColorId
a.KeycardPairing = ma.KeycardPairing a.KeycardPairing = ma.KeycardPairing
a.CustomizationColor = CustomizationColor(ma.CustomizationColor)
a.KeyUID = ma.KeyUid a.KeyUID = ma.KeyUid
a.Images = identityImages a.Images = identityImages
} }
@ -118,7 +144,7 @@ func (db *Database) GetAccountKDFIterationsNumber(keyUID string) (kdfIterationsN
} }
func (db *Database) GetAccounts() (rst []Account, err error) { func (db *Database) GetAccounts() (rst []Account, err error) {
rows, err := db.db.Query("SELECT a.name, a.loginTimestamp, a.identicon, a.colorHash, a.colorId, a.keycardPairing, a.keyUid, a.kdfIterations, ii.name, ii.image_payload, ii.width, ii.height, ii.file_size, ii.resize_target, ii.clock FROM accounts AS a LEFT JOIN identity_images AS ii ON ii.key_uid = a.keyUid ORDER BY loginTimestamp DESC") rows, err := db.db.Query("SELECT a.name, a.loginTimestamp, a.identicon, a.colorHash, a.colorId, a.customizationColor, a.keycardPairing, a.keyUid, a.kdfIterations, ii.name, ii.image_payload, ii.width, ii.height, ii.file_size, ii.resize_target, ii.clock FROM accounts AS a LEFT JOIN identity_images AS ii ON ii.key_uid = a.keyUid ORDER BY loginTimestamp DESC")
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -147,6 +173,7 @@ func (db *Database) GetAccounts() (rst []Account, err error) {
&accIdenticon, &accIdenticon,
&accColorHash, &accColorHash,
&accColorID, &accColorID,
&acc.CustomizationColor,
&acc.KeycardPairing, &acc.KeycardPairing,
&acc.KeyUID, &acc.KeyUID,
&acc.KDFIterations, &acc.KDFIterations,
@ -208,7 +235,7 @@ func (db *Database) GetAccounts() (rst []Account, err error) {
} }
func (db *Database) GetAccount(keyUID string) (*Account, error) { func (db *Database) GetAccount(keyUID string) (*Account, error) {
rows, err := db.db.Query("SELECT a.name, a.loginTimestamp, a.identicon, a.colorHash, a.colorId, a.keycardPairing, a.keyUid, a.kdfIterations, ii.key_uid, ii.name, ii.image_payload, ii.width, ii.height, ii.file_size, ii.resize_target, ii.clock FROM accounts AS a LEFT JOIN identity_images AS ii ON ii.key_uid = a.keyUid WHERE a.keyUid = ? ORDER BY loginTimestamp DESC", keyUID) rows, err := db.db.Query("SELECT a.name, a.loginTimestamp, a.identicon, a.colorHash, a.colorId, a.customizationColor, a.keycardPairing, a.keyUid, a.kdfIterations, ii.key_uid, ii.name, ii.image_payload, ii.width, ii.height, ii.file_size, ii.resize_target, ii.clock FROM accounts AS a LEFT JOIN identity_images AS ii ON ii.key_uid = a.keyUid WHERE a.keyUid = ? ORDER BY loginTimestamp DESC", keyUID)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -239,6 +266,7 @@ func (db *Database) GetAccount(keyUID string) (*Account, error) {
&accIdenticon, &accIdenticon,
&accColorHash, &accColorHash,
&accColorID, &accColorID,
&acc.CustomizationColor,
&acc.KeycardPairing, &acc.KeycardPairing,
&acc.KeyUID, &acc.KeyUID,
&acc.KDFIterations, &acc.KDFIterations,
@ -292,7 +320,7 @@ func (db *Database) SaveAccount(account Account) error {
account.KDFIterations = sqlite.ReducedKDFIterationsNumber account.KDFIterations = sqlite.ReducedKDFIterationsNumber
} }
_, err = db.db.Exec("INSERT OR REPLACE INTO accounts (name, identicon, colorHash, colorId, keycardPairing, keyUid, kdfIterations) VALUES (?, ?, ?, ?, ?, ?, ?)", account.Name, account.Identicon, colorHash, account.ColorID, account.KeycardPairing, account.KeyUID, account.KDFIterations) _, err = db.db.Exec("INSERT OR REPLACE INTO accounts (name, identicon, colorHash, colorId, customizationColor, keycardPairing, keyUid, kdfIterations) VALUES (?, ?, ?, ?, ?, ?, ?, ?)", account.Name, account.Identicon, colorHash, account.ColorID, account.CustomizationColor, account.KeycardPairing, account.KeyUID, account.KDFIterations)
if err != nil { if err != nil {
return err return err
} }
@ -314,7 +342,7 @@ func (db *Database) UpdateAccount(account Account) error {
account.KDFIterations = sqlite.ReducedKDFIterationsNumber account.KDFIterations = sqlite.ReducedKDFIterationsNumber
} }
_, err = db.db.Exec("UPDATE accounts SET name = ?, identicon = ?, colorHash = ?, colorId = ?, keycardPairing = ?, kdfIterations = ? WHERE keyUid = ?", account.Name, account.Identicon, colorHash, account.ColorID, account.KeycardPairing, account.KDFIterations, account.KeyUID) _, err = db.db.Exec("UPDATE accounts SET name = ?, identicon = ?, colorHash = ?, colorId = ?, customizationColor = ?, keycardPairing = ?, kdfIterations = ? WHERE keyUid = ?", account.Name, account.Identicon, colorHash, account.ColorID, account.CustomizationColor, account.KeycardPairing, account.KDFIterations, account.KeyUID)
return err return err
} }

View File

@ -26,7 +26,7 @@ func setupTestDB(t *testing.T) (*Database, func()) {
func TestAccounts(t *testing.T) { func TestAccounts(t *testing.T) {
db, stop := setupTestDB(t) db, stop := setupTestDB(t)
defer stop() defer stop()
expected := Account{Name: "string", KeyUID: "string", ColorHash: ColourHash{{4, 3}, {4, 0}, {4, 3}, {4, 0}}, ColorID: 10, KDFIterations: sqlite.ReducedKDFIterationsNumber} expected := Account{Name: "string", KeyUID: "string", CustomizationColor: CustomizationColorBlue, ColorHash: ColorHash{{4, 3}, {4, 0}, {4, 3}, {4, 0}}, ColorID: 10, KDFIterations: sqlite.ReducedKDFIterationsNumber}
require.NoError(t, db.SaveAccount(expected)) require.NoError(t, db.SaveAccount(expected))
accounts, err := db.GetAccounts() accounts, err := db.GetAccounts()
require.NoError(t, err) require.NoError(t, err)
@ -37,9 +37,10 @@ func TestAccounts(t *testing.T) {
func TestAccountsUpdate(t *testing.T) { func TestAccountsUpdate(t *testing.T) {
db, stop := setupTestDB(t) db, stop := setupTestDB(t)
defer stop() defer stop()
expected := Account{KeyUID: "string", ColorHash: ColourHash{{4, 3}, {4, 0}, {4, 3}, {4, 0}}, ColorID: 10, KDFIterations: sqlite.ReducedKDFIterationsNumber} expected := Account{KeyUID: "string", CustomizationColor: CustomizationColorBlue, ColorHash: ColorHash{{4, 3}, {4, 0}, {4, 3}, {4, 0}}, ColorID: 10, KDFIterations: sqlite.ReducedKDFIterationsNumber}
require.NoError(t, db.SaveAccount(expected)) require.NoError(t, db.SaveAccount(expected))
expected.Name = "chars" expected.Name = "chars"
expected.CustomizationColor = CustomizationColorMagenta
require.NoError(t, db.UpdateAccount(expected)) require.NoError(t, db.UpdateAccount(expected))
rst, err := db.GetAccounts() rst, err := db.GetAccounts()
require.NoError(t, err) require.NoError(t, err)
@ -182,7 +183,7 @@ func TestDatabase_GetAccount(t *testing.T) {
db, stop := setupTestDB(t) db, stop := setupTestDB(t)
defer stop() defer stop()
expected := Account{Name: "string", KeyUID: keyUID, ColorHash: ColourHash{{4, 3}, {4, 0}, {4, 3}, {4, 0}}, ColorID: 10, KDFIterations: sqlite.ReducedKDFIterationsNumber} expected := Account{Name: "string", KeyUID: keyUID, ColorHash: ColorHash{{4, 3}, {4, 0}, {4, 3}, {4, 0}}, ColorID: 10, KDFIterations: sqlite.ReducedKDFIterationsNumber}
require.NoError(t, db.SaveAccount(expected)) require.NoError(t, db.SaveAccount(expected))
account, err := db.GetAccount(expected.KeyUID) account, err := db.GetAccount(expected.KeyUID)
@ -197,7 +198,7 @@ func TestDatabase_SaveAccountWithIdentityImages(t *testing.T) {
expected := Account{ expected := Account{
Name: "string", Name: "string",
KeyUID: keyUID, KeyUID: keyUID,
ColorHash: ColourHash{{4, 3}, {4, 0}, {4, 3}, {4, 0}}, ColorHash: ColorHash{{4, 3}, {4, 0}, {4, 3}, {4, 0}},
ColorID: 10, ColorID: 10,
Images: images.SampleIdentityImages(), Images: images.SampleIdentityImages(),
} }

View File

@ -10,6 +10,7 @@
// 1648646095_image_clock.up.sql (69B) // 1648646095_image_clock.up.sql (69B)
// 1649317600_add_color_hash.up.sql (201B) // 1649317600_add_color_hash.up.sql (201B)
// 1660238799_accounts_kdf.up.sql (115B) // 1660238799_accounts_kdf.up.sql (115B)
// 1679505708_add_customization_color.up.sql (78B)
// doc.go (74B) // doc.go (74B)
package migrations package migrations
@ -279,6 +280,26 @@ func _1660238799_accounts_kdfUpSql() (*asset, error) {
return a, nil return a, nil
} }
var __1679505708_add_customization_colorUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\x4c\x4e\xce\x2f\xcd\x2b\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x53\x48\x2e\x2d\x2e\xc9\xcf\xcd\xac\x4a\x2c\xc9\xcc\xcf\x73\xce\xcf\xc9\x2f\x52\x08\x73\x0c\x72\xf6\x70\x0c\x52\x70\x71\x75\x73\x0c\xf5\x09\x51\x50\x2a\x28\xca\xcc\x4d\x2c\xaa\x54\xb2\xe6\x02\x04\x00\x00\xff\xff\x08\xb6\x89\xf4\x4e\x00\x00\x00")
func _1679505708_add_customization_colorUpSqlBytes() ([]byte, error) {
return bindataRead(
__1679505708_add_customization_colorUpSql,
"1679505708_add_customization_color.up.sql",
)
}
func _1679505708_add_customization_colorUpSql() (*asset, error) {
bytes, err := _1679505708_add_customization_colorUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1679505708_add_customization_color.up.sql", size: 78, mode: os.FileMode(0644), modTime: time.Unix(1679506871, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0xe1, 0x3d, 0xaa, 0x5d, 0x35, 0x87, 0x8a, 0x8b, 0xe9, 0x4a, 0xa6, 0x7b, 0x85, 0xbc, 0x33, 0x11, 0xc7, 0x7d, 0x61, 0xac, 0x65, 0x59, 0xda, 0x32, 0x59, 0x68, 0x9d, 0xa1, 0x10, 0x7b, 0xa9}}
return a, nil
}
var _docGo = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x2c\xc9\xb1\x0d\xc4\x20\x0c\x05\xd0\x9e\x29\xfe\x02\xd8\xfd\x6d\xe3\x4b\xac\x2f\x44\x82\x09\x78\x7f\xa5\x49\xfd\xa6\x1d\xdd\xe8\xd8\xcf\x55\x8a\x2a\xe3\x47\x1f\xbe\x2c\x1d\x8c\xfa\x6f\xe3\xb4\x34\xd4\xd9\x89\xbb\x71\x59\xb6\x18\x1b\x35\x20\xa2\x9f\x0a\x03\xa2\xe5\x0d\x00\x00\xff\xff\x60\xcd\x06\xbe\x4a\x00\x00\x00") var _docGo = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x2c\xc9\xb1\x0d\xc4\x20\x0c\x05\xd0\x9e\x29\xfe\x02\xd8\xfd\x6d\xe3\x4b\xac\x2f\x44\x82\x09\x78\x7f\xa5\x49\xfd\xa6\x1d\xdd\xe8\xd8\xcf\x55\x8a\x2a\xe3\x47\x1f\xbe\x2c\x1d\x8c\xfa\x6f\xe3\xb4\x34\xd4\xd9\x89\xbb\x71\x59\xb6\x18\x1b\x35\x20\xa2\x9f\x0a\x03\xa2\xe5\x0d\x00\x00\xff\xff\x60\xcd\x06\xbe\x4a\x00\x00\x00")
func docGoBytes() ([]byte, error) { func docGoBytes() ([]byte, error) {
@ -410,6 +431,8 @@ var _bindata = map[string]func() (*asset, error){
"1660238799_accounts_kdf.up.sql": _1660238799_accounts_kdfUpSql, "1660238799_accounts_kdf.up.sql": _1660238799_accounts_kdfUpSql,
"1679505708_add_customization_color.up.sql": _1679505708_add_customization_colorUpSql,
"doc.go": docGo, "doc.go": docGo,
} }
@ -464,7 +487,8 @@ var _bintree = &bintree{nil, map[string]*bintree{
"1648646095_image_clock.up.sql": &bintree{_1648646095_image_clockUpSql, map[string]*bintree{}}, "1648646095_image_clock.up.sql": &bintree{_1648646095_image_clockUpSql, map[string]*bintree{}},
"1649317600_add_color_hash.up.sql": &bintree{_1649317600_add_color_hashUpSql, map[string]*bintree{}}, "1649317600_add_color_hash.up.sql": &bintree{_1649317600_add_color_hashUpSql, map[string]*bintree{}},
"1660238799_accounts_kdf.up.sql": &bintree{_1660238799_accounts_kdfUpSql, map[string]*bintree{}}, "1660238799_accounts_kdf.up.sql": &bintree{_1660238799_accounts_kdfUpSql, map[string]*bintree{}},
"doc.go": &bintree{docGo, map[string]*bintree{}}, "1679505708_add_customization_color.up.sql": &bintree{_1679505708_add_customization_colorUpSql, map[string]*bintree{}},
"doc.go": &bintree{docGo, map[string]*bintree{}},
}} }}
// RestoreAsset restores an asset under the given directory. // RestoreAsset restores an asset under the given directory.

View File

@ -0,0 +1 @@
ALTER TABLE accounts ADD COLUMN customizationColor VARCHAR DEFAULT "primary";

View File

@ -14,7 +14,7 @@ const (
var colorHashAlphabet [][]int var colorHashAlphabet [][]int
func GenerateFor(pubkey string) (hash multiaccounts.ColourHash, err error) { func GenerateFor(pubkey string) (hash multiaccounts.ColorHash, err error) {
if len(colorHashAlphabet) == 0 { if len(colorHashAlphabet) == 0 {
colorHashAlphabet = makeColorHashAlphabet(colorHashSegmentMaxLen, colorHashColorsCount) colorHashAlphabet = makeColorHashAlphabet(colorHashSegmentMaxLen, colorHashColorsCount)
} }
@ -48,10 +48,10 @@ func makeColorHashAlphabet(units, colors int) (res [][]int) {
return return
} }
func toColorHash(value *big.Int, alphabet *[][]int, colorsCount int) (hash multiaccounts.ColourHash) { func toColorHash(value *big.Int, alphabet *[][]int, colorsCount int) (hash multiaccounts.ColorHash) {
alphabetLen := len(*alphabet) alphabetLen := len(*alphabet)
indexes := identity.ToBigBase(value, uint64(alphabetLen)) indexes := identity.ToBigBase(value, uint64(alphabetLen))
hash = make(multiaccounts.ColourHash, len(indexes)) hash = make(multiaccounts.ColorHash, len(indexes))
for i, v := range indexes { for i, v := range indexes {
hash[i] = [2]int{} hash[i] = [2]int{}
hash[i][0] = (*alphabet)[v][0] hash[i][0] = (*alphabet)[v][0]

View File

@ -11,7 +11,7 @@ import (
) )
func TestGenerateFor(t *testing.T) { func TestGenerateFor(t *testing.T) {
checker := func(pubkey string, expected *multiaccounts.ColourHash) { checker := func(pubkey string, expected *multiaccounts.ColorHash) {
colorhash, err := GenerateFor(pubkey) colorhash, err := GenerateFor(pubkey)
require.NoError(t, err) require.NoError(t, err)
if !reflect.DeepEqual(colorhash, *expected) { if !reflect.DeepEqual(colorhash, *expected) {
@ -20,7 +20,7 @@ func TestGenerateFor(t *testing.T) {
} }
checker("0x04e25da6994ea2dc4ac70727e07eca153ae92bf7609db7befb7ebdceaad348f4fc55bbe90abf9501176301db5aa103fc0eb3bc3750272a26c424a10887db2a7ea8", checker("0x04e25da6994ea2dc4ac70727e07eca153ae92bf7609db7befb7ebdceaad348f4fc55bbe90abf9501176301db5aa103fc0eb3bc3750272a26c424a10887db2a7ea8",
&multiaccounts.ColourHash{{3, 30}, {2, 10}, {5, 5}, {3, 14}, {5, 4}, {4, 19}, {3, 16}, {4, 0}, {5, 28}, {4, 13}, {4, 15}}) &multiaccounts.ColorHash{{3, 30}, {2, 10}, {5, 5}, {3, 14}, {5, 4}, {4, 19}, {3, 16}, {4, 0}, {5, 28}, {4, 13}, {4, 15}})
} }
func TestColorHashOfInvalidKey(t *testing.T) { func TestColorHashOfInvalidKey(t *testing.T) {
@ -37,7 +37,7 @@ func TestColorHashOfInvalidKey(t *testing.T) {
func TestColorHash(t *testing.T) { func TestColorHash(t *testing.T) {
alphabet := makeColorHashAlphabet(4, 4) alphabet := makeColorHashAlphabet(4, 4)
checker := func(valueStr string, expected *multiaccounts.ColourHash) { checker := func(valueStr string, expected *multiaccounts.ColorHash) {
value := identity.ToBigInt(t, valueStr) value := identity.ToBigInt(t, valueStr)
res := toColorHash(value, &alphabet, 4) res := toColorHash(value, &alphabet, 4)
if !reflect.DeepEqual(res, *expected) { if !reflect.DeepEqual(res, *expected) {
@ -45,14 +45,14 @@ func TestColorHash(t *testing.T) {
} }
} }
checker("0x0", &multiaccounts.ColourHash{{1, 0}}) checker("0x0", &multiaccounts.ColorHash{{1, 0}})
checker("0x1", &multiaccounts.ColourHash{{1, 1}}) checker("0x1", &multiaccounts.ColorHash{{1, 1}})
checker("0x4", &multiaccounts.ColourHash{{2, 0}}) checker("0x4", &multiaccounts.ColorHash{{2, 0}})
checker("0xF", &multiaccounts.ColourHash{{4, 3}}) checker("0xF", &multiaccounts.ColorHash{{4, 3}})
// oops, collision // oops, collision
checker("0xFF", &multiaccounts.ColourHash{{4, 3}, {4, 0}}) checker("0xFF", &multiaccounts.ColorHash{{4, 3}, {4, 0}})
checker("0xFC", &multiaccounts.ColourHash{{4, 3}, {4, 0}}) checker("0xFC", &multiaccounts.ColorHash{{4, 3}, {4, 0}})
checker("0xFFFF", &multiaccounts.ColourHash{{4, 3}, {4, 0}, {4, 3}, {4, 0}}) checker("0xFFFF", &multiaccounts.ColorHash{{4, 3}, {4, 0}, {4, 3}, {4, 0}})
} }

View File

@ -25,11 +25,11 @@ var (
) )
type DrawRingParam struct { type DrawRingParam struct {
Theme Theme `json:"theme"` Theme Theme `json:"theme"`
ColorHash multiaccounts.ColourHash `json:"colorHash"` ColorHash multiaccounts.ColorHash `json:"colorHash"`
ImageBytes []byte `json:"imageBytes"` ImageBytes []byte `json:"imageBytes"`
Height int `json:"height"` Height int `json:"height"`
Width int `json:"width"` Width int `json:"width"`
} }
func DrawRing(param *DrawRingParam) ([]byte, error) { func DrawRing(param *DrawRingParam) ([]byte, error) {

View File

@ -165,7 +165,7 @@ func _000001_initDownDbSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "000001_init.down.db.sql", size: 65, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "000001_init.down.db.sql", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0xbb, 0x3f, 0x1, 0x75, 0x19, 0x70, 0x86, 0xa7, 0x34, 0x40, 0x17, 0x34, 0x3e, 0x18, 0x51, 0x79, 0xd4, 0x22, 0xad, 0x8f, 0x80, 0xcc, 0xa6, 0xcc, 0x6, 0x2b, 0x62, 0x2, 0x47, 0xba, 0xf9}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0xbb, 0x3f, 0x1, 0x75, 0x19, 0x70, 0x86, 0xa7, 0x34, 0x40, 0x17, 0x34, 0x3e, 0x18, 0x51, 0x79, 0xd4, 0x22, 0xad, 0x8f, 0x80, 0xcc, 0xa6, 0xcc, 0x6, 0x2b, 0x62, 0x2, 0x47, 0xba, 0xf9}}
return a, nil return a, nil
} }
@ -185,7 +185,7 @@ func _000001_initUpDbSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "000001_init.up.db.sql", size: 2719, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "000001_init.up.db.sql", size: 2719, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x60, 0xdc, 0xeb, 0xe, 0xc2, 0x4f, 0x75, 0xa, 0xf6, 0x3e, 0xc7, 0xc4, 0x4, 0xe2, 0xe1, 0xa4, 0x73, 0x2f, 0x4a, 0xad, 0x1a, 0x0, 0xc3, 0x93, 0x9d, 0x77, 0x3e, 0x31, 0x91, 0x77, 0x2e, 0xc8}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x60, 0xdc, 0xeb, 0xe, 0xc2, 0x4f, 0x75, 0xa, 0xf6, 0x3e, 0xc7, 0xc4, 0x4, 0xe2, 0xe1, 0xa4, 0x73, 0x2f, 0x4a, 0xad, 0x1a, 0x0, 0xc3, 0x93, 0x9d, 0x77, 0x3e, 0x31, 0x91, 0x77, 0x2e, 0xc8}}
return a, nil return a, nil
} }
@ -205,7 +205,7 @@ func _000002_add_last_ens_clock_valueUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "000002_add_last_ens_clock_value.up.sql", size: 77, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "000002_add_last_ens_clock_value.up.sql", size: 77, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4d, 0x3, 0x8f, 0xd5, 0x85, 0x83, 0x47, 0xbe, 0xf9, 0x82, 0x7e, 0x81, 0xa4, 0xbd, 0xaa, 0xd5, 0x98, 0x18, 0x5, 0x2d, 0x82, 0x42, 0x3b, 0x3, 0x50, 0xc3, 0x1e, 0x84, 0x35, 0xf, 0xb6, 0x2b}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4d, 0x3, 0x8f, 0xd5, 0x85, 0x83, 0x47, 0xbe, 0xf9, 0x82, 0x7e, 0x81, 0xa4, 0xbd, 0xaa, 0xd5, 0x98, 0x18, 0x5, 0x2d, 0x82, 0x42, 0x3b, 0x3, 0x50, 0xc3, 0x1e, 0x84, 0x35, 0xf, 0xb6, 0x2b}}
return a, nil return a, nil
} }
@ -225,7 +225,7 @@ func _1586358095_add_replaceUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1586358095_add_replace.up.sql", size: 224, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1586358095_add_replace.up.sql", size: 224, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0xb3, 0xa9, 0xc7, 0x7f, 0x9d, 0x8f, 0x43, 0x8c, 0x9e, 0x58, 0x8d, 0x44, 0xbc, 0xfa, 0x6b, 0x5f, 0x3f, 0x5a, 0xbe, 0xe8, 0xb1, 0x16, 0xf, 0x91, 0x2a, 0xa0, 0x71, 0xbb, 0x8d, 0x6b, 0xcb}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0xb3, 0xa9, 0xc7, 0x7f, 0x9d, 0x8f, 0x43, 0x8c, 0x9e, 0x58, 0x8d, 0x44, 0xbc, 0xfa, 0x6b, 0x5f, 0x3f, 0x5a, 0xbe, 0xe8, 0xb1, 0x16, 0xf, 0x91, 0x2a, 0xa0, 0x71, 0xbb, 0x8d, 0x6b, 0xcb}}
return a, nil return a, nil
} }
@ -245,7 +245,7 @@ func _1588665364_add_image_dataUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1588665364_add_image_data.up.sql", size: 186, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1588665364_add_image_data.up.sql", size: 186, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd6, 0xc6, 0x35, 0xb4, 0x4c, 0x39, 0x96, 0x29, 0x30, 0xda, 0xf4, 0x8f, 0xcb, 0xf1, 0x9f, 0x84, 0xdc, 0x88, 0xd4, 0xd5, 0xbc, 0xb6, 0x5b, 0x46, 0x78, 0x67, 0x76, 0x1a, 0x5, 0x36, 0xdc, 0xe5}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd6, 0xc6, 0x35, 0xb4, 0x4c, 0x39, 0x96, 0x29, 0x30, 0xda, 0xf4, 0x8f, 0xcb, 0xf1, 0x9f, 0x84, 0xdc, 0x88, 0xd4, 0xd5, 0xbc, 0xb6, 0x5b, 0x46, 0x78, 0x67, 0x76, 0x1a, 0x5, 0x36, 0xdc, 0xe5}}
return a, nil return a, nil
} }
@ -265,7 +265,7 @@ func _1589365189_add_pow_targetUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1589365189_add_pow_target.up.sql", size: 66, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1589365189_add_pow_target.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4e, 0x3a, 0xe2, 0x2e, 0x7d, 0xaf, 0xbb, 0xcc, 0x21, 0xa1, 0x7a, 0x41, 0x9a, 0xd0, 0xbb, 0xa9, 0xc8, 0x35, 0xf9, 0x32, 0x34, 0x46, 0x44, 0x9a, 0x86, 0x40, 0x7c, 0xb9, 0x23, 0xc7, 0x3, 0x3f}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4e, 0x3a, 0xe2, 0x2e, 0x7d, 0xaf, 0xbb, 0xcc, 0x21, 0xa1, 0x7a, 0x41, 0x9a, 0xd0, 0xbb, 0xa9, 0xc8, 0x35, 0xf9, 0x32, 0x34, 0x46, 0x44, 0x9a, 0x86, 0x40, 0x7c, 0xb9, 0x23, 0xc7, 0x3, 0x3f}}
return a, nil return a, nil
} }
@ -285,7 +285,7 @@ func _1591277220_add_index_messagesUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1591277220_add_index_messages.up.sql", size: 240, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1591277220_add_index_messages.up.sql", size: 240, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9c, 0xfe, 0xbe, 0xd5, 0xb8, 0x8f, 0xdd, 0xef, 0xbb, 0xa8, 0xad, 0x7f, 0xed, 0x5b, 0x5b, 0x2f, 0xe6, 0x82, 0x27, 0x78, 0x1f, 0xb9, 0x57, 0xdc, 0x8, 0xc2, 0xb2, 0xa9, 0x9a, 0x4, 0xe1, 0x7a}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9c, 0xfe, 0xbe, 0xd5, 0xb8, 0x8f, 0xdd, 0xef, 0xbb, 0xa8, 0xad, 0x7f, 0xed, 0x5b, 0x5b, 0x2f, 0xe6, 0x82, 0x27, 0x78, 0x1f, 0xb9, 0x57, 0xdc, 0x8, 0xc2, 0xb2, 0xa9, 0x9a, 0x4, 0xe1, 0x7a}}
return a, nil return a, nil
} }
@ -305,7 +305,7 @@ func _1593087212_add_mute_chat_and_raw_message_fieldsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1593087212_add_mute_chat_and_raw_message_fields.up.sql", size: 215, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1593087212_add_mute_chat_and_raw_message_fields.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x73, 0x99, 0x61, 0xd1, 0xaa, 0xb4, 0xbf, 0xaf, 0xd7, 0x20, 0x17, 0x40, 0xf9, 0x2, 0xfb, 0xcc, 0x40, 0x2a, 0xd, 0x86, 0x36, 0x30, 0x88, 0x89, 0x25, 0x80, 0x42, 0xb0, 0x5b, 0xe9, 0x73, 0x78}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x73, 0x99, 0x61, 0xd1, 0xaa, 0xb4, 0xbf, 0xaf, 0xd7, 0x20, 0x17, 0x40, 0xf9, 0x2, 0xfb, 0xcc, 0x40, 0x2a, 0xd, 0x86, 0x36, 0x30, 0x88, 0x89, 0x25, 0x80, 0x42, 0xb0, 0x5b, 0xe9, 0x73, 0x78}}
return a, nil return a, nil
} }
@ -325,7 +325,7 @@ func _1595862781_add_audio_dataUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1595862781_add_audio_data.up.sql", size: 246, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1595862781_add_audio_data.up.sql", size: 246, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xae, 0xd2, 0xee, 0x55, 0xfb, 0x36, 0xa4, 0x92, 0x66, 0xe, 0x81, 0x62, 0x1e, 0x7a, 0x69, 0xa, 0xd5, 0x4b, 0xa5, 0x6a, 0x8d, 0x1d, 0xce, 0xf3, 0x3e, 0xc0, 0x5f, 0x9c, 0x66, 0x1b, 0xb4, 0xed}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xae, 0xd2, 0xee, 0x55, 0xfb, 0x36, 0xa4, 0x92, 0x66, 0xe, 0x81, 0x62, 0x1e, 0x7a, 0x69, 0xa, 0xd5, 0x4b, 0xa5, 0x6a, 0x8d, 0x1d, 0xce, 0xf3, 0x3e, 0xc0, 0x5f, 0x9c, 0x66, 0x1b, 0xb4, 0xed}}
return a, nil return a, nil
} }
@ -345,7 +345,7 @@ func _1595865249_create_emoji_reactions_tableUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1595865249_create_emoji_reactions_table.up.sql", size: 300, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1595865249_create_emoji_reactions_table.up.sql", size: 300, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3e, 0xc5, 0x43, 0x5c, 0x3d, 0x53, 0x43, 0x2c, 0x1a, 0xa5, 0xb6, 0xbf, 0x7, 0x4, 0x5a, 0x3e, 0x40, 0x8b, 0xa4, 0x57, 0x12, 0x58, 0xbc, 0x42, 0xe2, 0xc3, 0xde, 0x76, 0x98, 0x80, 0xe2, 0xbe}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3e, 0xc5, 0x43, 0x5c, 0x3d, 0x53, 0x43, 0x2c, 0x1a, 0xa5, 0xb6, 0xbf, 0x7, 0x4, 0x5a, 0x3e, 0x40, 0x8b, 0xa4, 0x57, 0x12, 0x58, 0xbc, 0x42, 0xe2, 0xc3, 0xde, 0x76, 0x98, 0x80, 0xe2, 0xbe}}
return a, nil return a, nil
} }
@ -365,7 +365,7 @@ func _1596805115_create_group_chat_invitations_tableUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1596805115_create_group_chat_invitations_table.up.sql", size: 231, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1596805115_create_group_chat_invitations_table.up.sql", size: 231, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0xb1, 0x14, 0x6d, 0x54, 0x28, 0x67, 0xc3, 0x23, 0x6a, 0xfc, 0x80, 0xdf, 0x9e, 0x4c, 0x35, 0x36, 0xf, 0xf8, 0xf3, 0x5f, 0xae, 0xad, 0xb, 0xc1, 0x51, 0x8e, 0x17, 0x7, 0xe5, 0x7f, 0x91}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0xb1, 0x14, 0x6d, 0x54, 0x28, 0x67, 0xc3, 0x23, 0x6a, 0xfc, 0x80, 0xdf, 0x9e, 0x4c, 0x35, 0x36, 0xf, 0xf8, 0xf3, 0x5f, 0xae, 0xad, 0xb, 0xc1, 0x51, 0x8e, 0x17, 0x7, 0xe5, 0x7f, 0x91}}
return a, nil return a, nil
} }
@ -385,7 +385,7 @@ func _1597322655_add_invitation_admin_chat_fieldUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1597322655_add_invitation_admin_chat_field.up.sql", size: 54, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1597322655_add_invitation_admin_chat_field.up.sql", size: 54, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0x7a, 0xa0, 0xf2, 0xdb, 0x13, 0x91, 0x91, 0xa8, 0x34, 0x1a, 0xa1, 0x49, 0x68, 0xd5, 0xae, 0x2c, 0xd8, 0xd5, 0xea, 0x8f, 0x8c, 0xc7, 0x2, 0x4e, 0x58, 0x2c, 0x3a, 0x14, 0xd4, 0x4f, 0x2c}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0x7a, 0xa0, 0xf2, 0xdb, 0x13, 0x91, 0x91, 0xa8, 0x34, 0x1a, 0xa1, 0x49, 0x68, 0xd5, 0xae, 0x2c, 0xd8, 0xd5, 0xea, 0x8f, 0x8c, 0xc7, 0x2, 0x4e, 0x58, 0x2c, 0x3a, 0x14, 0xd4, 0x4f, 0x2c}}
return a, nil return a, nil
} }
@ -405,7 +405,7 @@ func _1597757544_add_nicknameUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1597757544_add_nickname.up.sql", size: 52, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1597757544_add_nickname.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf4, 0xa2, 0x64, 0x50, 0xc5, 0x4, 0xb9, 0x8b, 0xd1, 0x18, 0x9b, 0xc3, 0x91, 0x36, 0x2a, 0x1f, 0xc3, 0x6c, 0x2d, 0x92, 0xf8, 0x5e, 0xff, 0xb1, 0x59, 0x61, 0x2, 0x1c, 0xe1, 0x85, 0x90, 0xa4}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf4, 0xa2, 0x64, 0x50, 0xc5, 0x4, 0xb9, 0x8b, 0xd1, 0x18, 0x9b, 0xc3, 0x91, 0x36, 0x2a, 0x1f, 0xc3, 0x6c, 0x2d, 0x92, 0xf8, 0x5e, 0xff, 0xb1, 0x59, 0x61, 0x2, 0x1c, 0xe1, 0x85, 0x90, 0xa4}}
return a, nil return a, nil
} }
@ -425,7 +425,7 @@ func _1598955122_add_mentionsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1598955122_add_mentions.up.sql", size: 52, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1598955122_add_mentions.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8d, 0x22, 0x17, 0x92, 0xd2, 0x11, 0x4e, 0x7, 0x93, 0x9a, 0x55, 0xfd, 0xb, 0x97, 0xc4, 0x63, 0x6a, 0x81, 0x97, 0xcd, 0xb2, 0xf8, 0x4b, 0x5f, 0x3c, 0xfa, 0x3a, 0x38, 0x53, 0x10, 0xed, 0x9d}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8d, 0x22, 0x17, 0x92, 0xd2, 0x11, 0x4e, 0x7, 0x93, 0x9a, 0x55, 0xfd, 0xb, 0x97, 0xc4, 0x63, 0x6a, 0x81, 0x97, 0xcd, 0xb2, 0xf8, 0x4b, 0x5f, 0x3c, 0xfa, 0x3a, 0x38, 0x53, 0x10, 0xed, 0x9d}}
return a, nil return a, nil
} }
@ -445,7 +445,7 @@ func _1599641390_add_emoji_reactions_indexUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1599641390_add_emoji_reactions_index.up.sql", size: 126, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1599641390_add_emoji_reactions_index.up.sql", size: 126, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0xd8, 0xdc, 0xa7, 0xb, 0x92, 0x7a, 0x61, 0x37, 0x24, 0x1c, 0x77, 0x5e, 0xe, 0x7e, 0xfc, 0x9f, 0x98, 0x7b, 0x65, 0xe7, 0xf9, 0x71, 0x57, 0x89, 0x2d, 0x90, 0x1b, 0xf6, 0x5e, 0x37, 0xe8}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0xd8, 0xdc, 0xa7, 0xb, 0x92, 0x7a, 0x61, 0x37, 0x24, 0x1c, 0x77, 0x5e, 0xe, 0x7e, 0xfc, 0x9f, 0x98, 0x7b, 0x65, 0xe7, 0xf9, 0x71, 0x57, 0x89, 0x2d, 0x90, 0x1b, 0xf6, 0x5e, 0x37, 0xe8}}
return a, nil return a, nil
} }
@ -465,7 +465,7 @@ func _1599720851_add_seen_index_remove_long_messagesUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1599720851_add_seen_index_remove_long_messages.up.sql", size: 150, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1599720851_add_seen_index_remove_long_messages.up.sql", size: 150, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x24, 0x1c, 0xc4, 0x78, 0x91, 0xc7, 0xeb, 0xfe, 0xc8, 0xa0, 0xd8, 0x13, 0x27, 0x97, 0xc8, 0x96, 0x56, 0x97, 0x33, 0x2c, 0x1e, 0x16, 0x8a, 0xd3, 0x49, 0x99, 0x3, 0xe9, 0xbb, 0xc4, 0x5, 0x3c}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x24, 0x1c, 0xc4, 0x78, 0x91, 0xc7, 0xeb, 0xfe, 0xc8, 0xa0, 0xd8, 0x13, 0x27, 0x97, 0xc8, 0x96, 0x56, 0x97, 0x33, 0x2c, 0x1e, 0x16, 0x8a, 0xd3, 0x49, 0x99, 0x3, 0xe9, 0xbb, 0xc4, 0x5, 0x3c}}
return a, nil return a, nil
} }
@ -485,7 +485,7 @@ func _1603198582_add_profile_chat_fieldUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1603198582_add_profile_chat_field.up.sql", size: 45, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1603198582_add_profile_chat_field.up.sql", size: 45, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0xca, 0xe, 0x46, 0xa0, 0x9, 0x9d, 0x47, 0x57, 0xe9, 0xfb, 0x17, 0xeb, 0x9c, 0xf6, 0xb8, 0x1d, 0xe9, 0xd, 0x0, 0xd5, 0xe5, 0xd8, 0x9e, 0x60, 0xa, 0xbf, 0x32, 0x2c, 0x52, 0x7f, 0x6a}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0xca, 0xe, 0x46, 0xa0, 0x9, 0x9d, 0x47, 0x57, 0xe9, 0xfb, 0x17, 0xeb, 0x9c, 0xf6, 0xb8, 0x1d, 0xe9, 0xd, 0x0, 0xd5, 0xe5, 0xd8, 0x9e, 0x60, 0xa, 0xbf, 0x32, 0x2c, 0x52, 0x7f, 0x6a}}
return a, nil return a, nil
} }
@ -505,7 +505,7 @@ func _1603816533_add_linksUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1603816533_add_links.up.sql", size: 48, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1603816533_add_links.up.sql", size: 48, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0x24, 0xd6, 0x1d, 0xa, 0x83, 0x1e, 0x4d, 0xf, 0xae, 0x4d, 0x8c, 0x51, 0x32, 0xa8, 0x37, 0xb0, 0x14, 0xfb, 0x32, 0x34, 0xc8, 0xc, 0x4e, 0x5b, 0xc5, 0x15, 0x65, 0x73, 0x0, 0x0, 0x1d}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0x24, 0xd6, 0x1d, 0xa, 0x83, 0x1e, 0x4d, 0xf, 0xae, 0x4d, 0x8c, 0x51, 0x32, 0xa8, 0x37, 0xb0, 0x14, 0xfb, 0x32, 0x34, 0xc8, 0xc, 0x4e, 0x5b, 0xc5, 0x15, 0x65, 0x73, 0x0, 0x0, 0x1d}}
return a, nil return a, nil
} }
@ -525,7 +525,7 @@ func _1603888149_create_chat_identity_last_published_tableUpSql() (*asset, error
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1603888149_create_chat_identity_last_published_table.up.sql", size: 407, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1603888149_create_chat_identity_last_published_table.up.sql", size: 407, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7f, 0x9, 0xf, 0xfb, 0xdb, 0x3c, 0x86, 0x70, 0x82, 0xda, 0x10, 0x25, 0xe2, 0x4e, 0x40, 0x45, 0xab, 0x8b, 0x1c, 0x91, 0x7c, 0xf1, 0x70, 0x2e, 0x81, 0xf3, 0x71, 0x45, 0xda, 0xe2, 0xa4, 0x57}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7f, 0x9, 0xf, 0xfb, 0xdb, 0x3c, 0x86, 0x70, 0x82, 0xda, 0x10, 0x25, 0xe2, 0x4e, 0x40, 0x45, 0xab, 0x8b, 0x1c, 0x91, 0x7c, 0xf1, 0x70, 0x2e, 0x81, 0xf3, 0x71, 0x45, 0xda, 0xe2, 0xa4, 0x57}}
return a, nil return a, nil
} }
@ -545,7 +545,7 @@ func _1605075346_add_communitiesUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1605075346_add_communities.up.sql", size: 6971, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1605075346_add_communities.up.sql", size: 6971, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1f, 0x64, 0xea, 0xb4, 0xae, 0x9e, 0xdb, 0x9, 0x58, 0xb6, 0x5c, 0x7a, 0x50, 0xc5, 0xfe, 0x93, 0x5d, 0x36, 0x85, 0x5d, 0x6a, 0xba, 0xc9, 0x7e, 0x84, 0xd7, 0xbf, 0x2a, 0x53, 0xf3, 0x97, 0xf1}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1f, 0x64, 0xea, 0xb4, 0xae, 0x9e, 0xdb, 0x9, 0x58, 0xb6, 0x5c, 0x7a, 0x50, 0xc5, 0xfe, 0x93, 0x5d, 0x36, 0x85, 0x5d, 0x6a, 0xba, 0xc9, 0x7e, 0x84, 0xd7, 0xbf, 0x2a, 0x53, 0xf3, 0x97, 0xf1}}
return a, nil return a, nil
} }
@ -565,7 +565,7 @@ func _1610117927_add_message_cacheUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1610117927_add_message_cache.up.sql", size: 142, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1610117927_add_message_cache.up.sql", size: 142, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0xf1, 0xf0, 0x82, 0x79, 0x28, 0x19, 0xc2, 0x39, 0x6a, 0xa5, 0x96, 0x59, 0x23, 0xa0, 0xed, 0x60, 0x58, 0x86, 0x9, 0xb9, 0xad, 0xfb, 0xa, 0xe3, 0x47, 0x6e, 0xa1, 0x18, 0xe8, 0x39, 0x2c}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0xf1, 0xf0, 0x82, 0x79, 0x28, 0x19, 0xc2, 0x39, 0x6a, 0xa5, 0x96, 0x59, 0x23, 0xa0, 0xed, 0x60, 0x58, 0x86, 0x9, 0xb9, 0xad, 0xfb, 0xa, 0xe3, 0x47, 0x6e, 0xa1, 0x18, 0xe8, 0x39, 0x2c}}
return a, nil return a, nil
} }
@ -585,7 +585,7 @@ func _1610959908_add_dont_wrap_to_raw_messagesUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1610959908_add_dont_wrap_to_raw_messages.up.sql", size: 83, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1610959908_add_dont_wrap_to_raw_messages.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0x2, 0x9a, 0xca, 0xd4, 0x38, 0x44, 0x30, 0x2b, 0xa8, 0x27, 0x32, 0x63, 0x53, 0x22, 0x60, 0x59, 0x84, 0x23, 0x96, 0x77, 0xf0, 0x56, 0xd7, 0x94, 0xe0, 0x95, 0x28, 0x6, 0x1d, 0x4e, 0xb1}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0x2, 0x9a, 0xca, 0xd4, 0x38, 0x44, 0x30, 0x2b, 0xa8, 0x27, 0x32, 0x63, 0x53, 0x22, 0x60, 0x59, 0x84, 0x23, 0x96, 0x77, 0xf0, 0x56, 0xd7, 0x94, 0xe0, 0x95, 0x28, 0x6, 0x1d, 0x4e, 0xb1}}
return a, nil return a, nil
} }
@ -605,7 +605,7 @@ func _1610960912_add_send_on_personal_topicUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1610960912_add_send_on_personal_topic.up.sql", size: 82, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1610960912_add_send_on_personal_topic.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x77, 0xac, 0x2f, 0xc4, 0xd, 0xa7, 0x1b, 0x37, 0x30, 0xc2, 0x68, 0xee, 0xde, 0x54, 0x5e, 0xbf, 0x3f, 0xa0, 0xd6, 0xc6, 0x9f, 0xd4, 0x34, 0x12, 0x76, 0x1e, 0x66, 0x4a, 0xfc, 0xf, 0xee, 0xc9}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x77, 0xac, 0x2f, 0xc4, 0xd, 0xa7, 0x1b, 0x37, 0x30, 0xc2, 0x68, 0xee, 0xde, 0x54, 0x5e, 0xbf, 0x3f, 0xa0, 0xd6, 0xc6, 0x9f, 0xd4, 0x34, 0x12, 0x76, 0x1e, 0x66, 0x4a, 0xfc, 0xf, 0xee, 0xc9}}
return a, nil return a, nil
} }
@ -625,7 +625,7 @@ func _1612870480_add_datasync_idUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1612870480_add_datasync_id.up.sql", size: 111, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1612870480_add_datasync_id.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0x9a, 0xbc, 0xfa, 0xaa, 0x8c, 0x9c, 0x37, 0x67, 0x15, 0x9c, 0x7e, 0x78, 0x75, 0x66, 0x82, 0x18, 0x72, 0x10, 0xbc, 0xd4, 0xab, 0x44, 0xfe, 0x57, 0x85, 0x6d, 0x19, 0xf5, 0x96, 0x8a, 0xbe}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0x9a, 0xbc, 0xfa, 0xaa, 0x8c, 0x9c, 0x37, 0x67, 0x15, 0x9c, 0x7e, 0x78, 0x75, 0x66, 0x82, 0x18, 0x72, 0x10, 0xbc, 0xd4, 0xab, 0x44, 0xfe, 0x57, 0x85, 0x6d, 0x19, 0xf5, 0x96, 0x8a, 0xbe}}
return a, nil return a, nil
} }
@ -645,7 +645,7 @@ func _1614152139_add_communities_request_to_joinUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1614152139_add_communities_request_to_join.up.sql", size: 831, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1614152139_add_communities_request_to_join.up.sql", size: 831, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x11, 0x3, 0x26, 0xf9, 0x29, 0x50, 0x4f, 0xcd, 0x46, 0xe5, 0xb1, 0x6b, 0xb9, 0x2, 0x40, 0xb1, 0xdf, 0x4a, 0x4c, 0x7a, 0xda, 0x3, 0x35, 0xcd, 0x2d, 0xcc, 0x80, 0x7d, 0x57, 0x5f, 0x3, 0x5c}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x11, 0x3, 0x26, 0xf9, 0x29, 0x50, 0x4f, 0xcd, 0x46, 0xe5, 0xb1, 0x6b, 0xb9, 0x2, 0x40, 0xb1, 0xdf, 0x4a, 0x4c, 0x7a, 0xda, 0x3, 0x35, 0xcd, 0x2d, 0xcc, 0x80, 0x7d, 0x57, 0x5f, 0x3, 0x5c}}
return a, nil return a, nil
} }
@ -665,7 +665,7 @@ func _1615374373_add_confirmationsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1615374373_add_confirmations.up.sql", size: 227, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1615374373_add_confirmations.up.sql", size: 227, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdd, 0xa6, 0x65, 0xc5, 0x1d, 0xb2, 0x77, 0x36, 0xe3, 0x79, 0xda, 0xe8, 0x7a, 0xa4, 0xdf, 0x45, 0xae, 0xd8, 0xb4, 0xba, 0x90, 0xfd, 0x74, 0x71, 0x14, 0x75, 0x73, 0x72, 0xb9, 0x9e, 0x1, 0x81}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdd, 0xa6, 0x65, 0xc5, 0x1d, 0xb2, 0x77, 0x36, 0xe3, 0x79, 0xda, 0xe8, 0x7a, 0xa4, 0xdf, 0x45, 0xae, 0xd8, 0xb4, 0xba, 0x90, 0xfd, 0x74, 0x71, 0x14, 0x75, 0x73, 0x72, 0xb9, 0x9e, 0x1, 0x81}}
return a, nil return a, nil
} }
@ -685,7 +685,7 @@ func _1617694931_add_notification_centerUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1617694931_add_notification_center.up.sql", size: 572, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1617694931_add_notification_center.up.sql", size: 572, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x45, 0xc6, 0xc9, 0x73, 0xbb, 0x1f, 0xda, 0xa3, 0x4d, 0x19, 0x98, 0x85, 0x2d, 0xca, 0xda, 0xcc, 0x3b, 0x32, 0xff, 0xc7, 0x7b, 0xe3, 0x9f, 0x9b, 0x2a, 0x93, 0xf5, 0xdf, 0x65, 0x38, 0x91}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x45, 0xc6, 0xc9, 0x73, 0xbb, 0x1f, 0xda, 0xa3, 0x4d, 0x19, 0x98, 0x85, 0x2d, 0xca, 0xda, 0xcc, 0x3b, 0x32, 0xff, 0xc7, 0x7b, 0xe3, 0x9f, 0x9b, 0x2a, 0x93, 0xf5, 0xdf, 0x65, 0x38, 0x91}}
return a, nil return a, nil
} }
@ -705,7 +705,7 @@ func _1618923660_create_pin_messagesUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1618923660_create_pin_messages.up.sql", size: 265, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1618923660_create_pin_messages.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x61, 0x44, 0x3a, 0xbe, 0x30, 0xd2, 0x7e, 0xc0, 0xe2, 0x8e, 0x65, 0x53, 0x54, 0xbb, 0x7a, 0x1c, 0xb3, 0x5d, 0xd2, 0xa6, 0xa9, 0x28, 0xb7, 0xa4, 0x5f, 0x8b, 0x9, 0x5f, 0x17, 0xc1, 0x85, 0x21}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x61, 0x44, 0x3a, 0xbe, 0x30, 0xd2, 0x7e, 0xc0, 0xe2, 0x8e, 0x65, 0x53, 0x54, 0xbb, 0x7a, 0x1c, 0xb3, 0x5d, 0xd2, 0xa6, 0xa9, 0x28, 0xb7, 0xa4, 0x5f, 0x8b, 0x9, 0x5f, 0x17, 0xc1, 0x85, 0x21}}
return a, nil return a, nil
} }
@ -725,7 +725,7 @@ func _1619094007_add_joined_chat_fieldUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1619094007_add_joined_chat_field.up.sql", size: 101, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1619094007_add_joined_chat_field.up.sql", size: 101, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfa, 0x30, 0x81, 0x3a, 0x2f, 0x9f, 0xb3, 0x0, 0x55, 0x8e, 0x1d, 0xa8, 0xb0, 0x68, 0xf0, 0x40, 0x1a, 0x6c, 0xaa, 0xfc, 0x33, 0xd1, 0xd1, 0x55, 0x3f, 0xf2, 0xbd, 0x54, 0xa1, 0x2b, 0x40, 0x95}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfa, 0x30, 0x81, 0x3a, 0x2f, 0x9f, 0xb3, 0x0, 0x55, 0x8e, 0x1d, 0xa8, 0xb0, 0x68, 0xf0, 0x40, 0x1a, 0x6c, 0xaa, 0xfc, 0x33, 0xd1, 0xd1, 0x55, 0x3f, 0xf2, 0xbd, 0x54, 0xa1, 0x2b, 0x40, 0x95}}
return a, nil return a, nil
} }
@ -745,7 +745,7 @@ func _1619099821_add_last_synced_fieldUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1619099821_add_last_synced_field.up.sql", size: 226, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1619099821_add_last_synced_field.up.sql", size: 226, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf, 0x52, 0x22, 0xe, 0x2f, 0xd7, 0x93, 0x5f, 0x42, 0xc2, 0x93, 0x4, 0x35, 0x6f, 0xc9, 0x19, 0xed, 0x6b, 0x52, 0x6f, 0xae, 0x99, 0xe2, 0x68, 0x3d, 0x4f, 0x40, 0xe, 0xe1, 0xa, 0x47, 0x21}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf, 0x52, 0x22, 0xe, 0x2f, 0xd7, 0x93, 0x5f, 0x42, 0xc2, 0x93, 0x4, 0x35, 0x6f, 0xc9, 0x19, 0xed, 0x6b, 0x52, 0x6f, 0xae, 0x99, 0xe2, 0x68, 0x3d, 0x4f, 0x40, 0xe, 0xe1, 0xa, 0x47, 0x21}}
return a, nil return a, nil
} }
@ -765,7 +765,7 @@ func _1621933219_add_mentionedUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1621933219_add_mentioned.up.sql", size: 70, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1621933219_add_mentioned.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0x76, 0x8a, 0xc9, 0x7, 0x8f, 0xa5, 0xcb, 0x12, 0x21, 0x4e, 0xfe, 0x96, 0x77, 0xcf, 0x7f, 0x76, 0x75, 0x36, 0x2c, 0xf8, 0x1d, 0x13, 0xcb, 0xcd, 0x6e, 0x70, 0xbf, 0xf5, 0x93, 0x67, 0xd1}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0x76, 0x8a, 0xc9, 0x7, 0x8f, 0xa5, 0xcb, 0x12, 0x21, 0x4e, 0xfe, 0x96, 0x77, 0xcf, 0x7f, 0x76, 0x75, 0x36, 0x2c, 0xf8, 0x1d, 0x13, 0xcb, 0xcd, 0x6e, 0x70, 0xbf, 0xf5, 0x93, 0x67, 0xd1}}
return a, nil return a, nil
} }
@ -785,7 +785,7 @@ func _1622010048_add_unviewed_mentions_countUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1622010048_add_unviewed_mentions_count.up.sql", size: 114, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1622010048_add_unviewed_mentions_count.up.sql", size: 114, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7c, 0x16, 0x85, 0xa6, 0x5b, 0xe1, 0x66, 0xb9, 0x84, 0xbe, 0x7f, 0xa, 0x77, 0x23, 0xb9, 0xef, 0x8e, 0x2, 0x8, 0xfc, 0x61, 0xb2, 0x43, 0xa9, 0x63, 0xae, 0xb4, 0xdf, 0x30, 0xb1, 0x61, 0x4b}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7c, 0x16, 0x85, 0xa6, 0x5b, 0xe1, 0x66, 0xb9, 0x84, 0xbe, 0x7f, 0xa, 0x77, 0x23, 0xb9, 0xef, 0x8e, 0x2, 0x8, 0xfc, 0x61, 0xb2, 0x43, 0xa9, 0x63, 0xae, 0xb4, 0xdf, 0x30, 0xb1, 0x61, 0x4b}}
return a, nil return a, nil
} }
@ -805,7 +805,7 @@ func _1622061278_add_message_activity_center_notification_fieldUpSql() (*asset,
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1622061278_add_message_activity_center_notification_field.up.sql", size: 80, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1622061278_add_message_activity_center_notification_field.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8, 0xc, 0xa6, 0x1f, 0xa5, 0xc6, 0x7c, 0x6f, 0xab, 0x2c, 0x2d, 0xb5, 0xa4, 0xdd, 0xc1, 0xd6, 0x44, 0x83, 0xf9, 0xb1, 0xa5, 0xce, 0x34, 0x3d, 0x2, 0xa9, 0x35, 0xcf, 0xc6, 0xb2, 0x43, 0x37}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8, 0xc, 0xa6, 0x1f, 0xa5, 0xc6, 0x7c, 0x6f, 0xab, 0x2c, 0x2d, 0xb5, 0xa4, 0xdd, 0xc1, 0xd6, 0x44, 0x83, 0xf9, 0xb1, 0xa5, 0xce, 0x34, 0x3d, 0x2, 0xa9, 0x35, 0xcf, 0xc6, 0xb2, 0x43, 0x37}}
return a, nil return a, nil
} }
@ -825,7 +825,7 @@ func _1622464518_set_synced_to_fromUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1622464518_set_synced_to_from.up.sql", size: 105, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1622464518_set_synced_to_from.up.sql", size: 105, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x33, 0x3e, 0x2b, 0xa, 0x1e, 0xc7, 0x6d, 0x6f, 0xd1, 0x1d, 0xe8, 0x4b, 0xdd, 0x92, 0x76, 0xea, 0xf2, 0x3e, 0x15, 0x85, 0xc4, 0xc3, 0x31, 0xf1, 0xc0, 0xa2, 0xd7, 0x47, 0xde, 0x4e, 0xfd, 0xc6}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x33, 0x3e, 0x2b, 0xa, 0x1e, 0xc7, 0x6d, 0x6f, 0xd1, 0x1d, 0xe8, 0x4b, 0xdd, 0x92, 0x76, 0xea, 0xf2, 0x3e, 0x15, 0x85, 0xc4, 0xc3, 0x31, 0xf1, 0xc0, 0xa2, 0xd7, 0x47, 0xde, 0x4e, 0xfd, 0xc6}}
return a, nil return a, nil
} }
@ -845,7 +845,7 @@ func _1622464519_add_chat_descriptionUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1622464519_add_chat_description.up.sql", size: 93, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1622464519_add_chat_description.up.sql", size: 93, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0x2e, 0x89, 0x31, 0xec, 0xef, 0xeb, 0x43, 0xf5, 0x96, 0x6d, 0xce, 0x91, 0x8a, 0x37, 0x2a, 0x11, 0x7a, 0x3f, 0xd9, 0x10, 0xbb, 0xa1, 0xbc, 0x7, 0xe0, 0x3b, 0xa5, 0xf4, 0xa6, 0xf4, 0xa1}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0x2e, 0x89, 0x31, 0xec, 0xef, 0xeb, 0x43, 0xf5, 0x96, 0x6d, 0xce, 0x91, 0x8a, 0x37, 0x2a, 0x11, 0x7a, 0x3f, 0xd9, 0x10, 0xbb, 0xa1, 0xbc, 0x7, 0xe0, 0x3b, 0xa5, 0xf4, 0xa6, 0xf4, 0xa1}}
return a, nil return a, nil
} }
@ -865,7 +865,7 @@ func _1622622253_add_pinned_by_to_pin_messagesUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1622622253_add_pinned_by_to_pin_messages.up.sql", size: 52, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1622622253_add_pinned_by_to_pin_messages.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9b, 0x94, 0xa3, 0x45, 0x91, 0x1e, 0x66, 0xd1, 0x96, 0x5a, 0xaf, 0xfa, 0x29, 0x39, 0xa8, 0x3a, 0x97, 0x4c, 0x65, 0x6, 0x96, 0x90, 0x4c, 0xfe, 0xce, 0x7d, 0x5d, 0xd4, 0xb3, 0x8, 0x6d, 0x5f}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9b, 0x94, 0xa3, 0x45, 0x91, 0x1e, 0x66, 0xd1, 0x96, 0x5a, 0xaf, 0xfa, 0x29, 0x39, 0xa8, 0x3a, 0x97, 0x4c, 0x65, 0x6, 0x96, 0x90, 0x4c, 0xfe, 0xce, 0x7d, 0x5d, 0xd4, 0xb3, 0x8, 0x6d, 0x5f}}
return a, nil return a, nil
} }
@ -885,7 +885,7 @@ func _1623938329_add_author_activity_center_notification_fieldUpSql() (*asset, e
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1623938329_add_author_activity_center_notification_field.up.sql", size: 66, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1623938329_add_author_activity_center_notification_field.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0xe6, 0xa7, 0xd5, 0x26, 0xff, 0xab, 0x92, 0x88, 0xf0, 0xd3, 0x34, 0xd9, 0x2f, 0xe7, 0x18, 0x1a, 0x40, 0xf9, 0xbe, 0x8e, 0xfc, 0xd0, 0x4f, 0x1f, 0x4a, 0xb9, 0x83, 0x3f, 0xa9, 0xde, 0xb}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0xe6, 0xa7, 0xd5, 0x26, 0xff, 0xab, 0x92, 0x88, 0xf0, 0xd3, 0x34, 0xd9, 0x2f, 0xe7, 0x18, 0x1a, 0x40, 0xf9, 0xbe, 0x8e, 0xfc, 0xd0, 0x4f, 0x1f, 0x4a, 0xb9, 0x83, 0x3f, 0xa9, 0xde, 0xb}}
return a, nil return a, nil
} }
@ -905,7 +905,7 @@ func _1623938330_add_edit_messagesUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1623938330_add_edit_messages.up.sql", size: 369, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1623938330_add_edit_messages.up.sql", size: 369, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xd2, 0xce, 0xe, 0x5c, 0x19, 0xbe, 0x5e, 0x29, 0xbe, 0x9b, 0x31, 0x53, 0x76, 0xb2, 0xc8, 0x56, 0xf0, 0x82, 0xfe, 0x7d, 0x6c, 0xe8, 0x5c, 0xe9, 0x7a, 0x5d, 0x5, 0xc4, 0x92, 0x38, 0xe3}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xd2, 0xce, 0xe, 0x5c, 0x19, 0xbe, 0x5e, 0x29, 0xbe, 0x9b, 0x31, 0x53, 0x76, 0xb2, 0xc8, 0x56, 0xf0, 0x82, 0xfe, 0x7d, 0x6c, 0xe8, 0x5c, 0xe9, 0x7a, 0x5d, 0x5, 0xc4, 0x92, 0x38, 0xe3}}
return a, nil return a, nil
} }
@ -925,7 +925,7 @@ func _1624978434_add_muted_communityUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1624978434_add_muted_community.up.sql", size: 82, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1624978434_add_muted_community.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6, 0xdc, 0x6e, 0x6f, 0x97, 0xc7, 0x3d, 0x50, 0xab, 0x80, 0x87, 0x44, 0x43, 0x38, 0xe6, 0xc5, 0xc1, 0x91, 0x26, 0xf, 0x16, 0xe, 0xd9, 0x32, 0x37, 0x25, 0x96, 0x25, 0x6, 0xc8, 0xb5, 0x4a}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6, 0xdc, 0x6e, 0x6f, 0x97, 0xc7, 0x3d, 0x50, 0xab, 0x80, 0x87, 0x44, 0x43, 0x38, 0xe6, 0xc5, 0xc1, 0x91, 0x26, 0xf, 0x16, 0xe, 0xd9, 0x32, 0x37, 0x25, 0x96, 0x25, 0x6, 0xc8, 0xb5, 0x4a}}
return a, nil return a, nil
} }
@ -945,7 +945,7 @@ func _1625018910_add_repply_message_activity_center_notification_fieldUpSql() (*
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1625018910_add_repply_message_activity_center_notification_field.up.sql", size: 86, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1625018910_add_repply_message_activity_center_notification_field.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf2, 0x52, 0x12, 0x40, 0xd8, 0x6f, 0x71, 0x97, 0x46, 0x39, 0xaa, 0x74, 0x41, 0xcd, 0x45, 0x4c, 0xe8, 0xd9, 0xe2, 0x56, 0x8e, 0x78, 0x18, 0x62, 0xf6, 0xa8, 0x36, 0xe9, 0x9a, 0x1f, 0xc, 0xb1}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf2, 0x52, 0x12, 0x40, 0xd8, 0x6f, 0x71, 0x97, 0x46, 0x39, 0xaa, 0x74, 0x41, 0xcd, 0x45, 0x4c, 0xe8, 0xd9, 0xe2, 0x56, 0x8e, 0x78, 0x18, 0x62, 0xf6, 0xa8, 0x36, 0xe9, 0x9a, 0x1f, 0xc, 0xb1}}
return a, nil return a, nil
} }
@ -965,7 +965,7 @@ func _1625762506_add_deleted_messagesUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1625762506_add_deleted_messages.up.sql", size: 357, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1625762506_add_deleted_messages.up.sql", size: 357, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0x61, 0x42, 0xb6, 0x8c, 0x7f, 0x2d, 0xec, 0xa9, 0x6d, 0x3d, 0x0, 0xa3, 0x32, 0xd8, 0x4a, 0x38, 0x5c, 0x97, 0xfc, 0x68, 0xde, 0xa9, 0xb7, 0xd8, 0xde, 0xb, 0x29, 0x93, 0xdc, 0x81, 0xf8}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0x61, 0x42, 0xb6, 0x8c, 0x7f, 0x2d, 0xec, 0xa9, 0x6d, 0x3d, 0x0, 0xa3, 0x32, 0xd8, 0x4a, 0x38, 0x5c, 0x97, 0xfc, 0x68, 0xde, 0xa9, 0xb7, 0xd8, 0xde, 0xb, 0x29, 0x93, 0xdc, 0x81, 0xf8}}
return a, nil return a, nil
} }
@ -985,7 +985,7 @@ func _1627388946_add_communities_synced_atUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1627388946_add_communities_synced_at.up.sql", size: 87, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1627388946_add_communities_synced_at.up.sql", size: 87, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc1, 0xbd, 0x9b, 0x6a, 0xc9, 0x1a, 0x7a, 0x34, 0xcf, 0x5f, 0x80, 0x9e, 0x8c, 0x1c, 0xc0, 0xec, 0x4e, 0x78, 0xb0, 0x2d, 0x15, 0x77, 0x38, 0x4a, 0x6a, 0x5, 0x84, 0xf5, 0x8d, 0x8b, 0xbe, 0x9}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc1, 0xbd, 0x9b, 0x6a, 0xc9, 0x1a, 0x7a, 0x34, 0xcf, 0x5f, 0x80, 0x9e, 0x8c, 0x1c, 0xc0, 0xec, 0x4e, 0x78, 0xb0, 0x2d, 0x15, 0x77, 0x38, 0x4a, 0x6a, 0x5, 0x84, 0xf5, 0x8d, 0x8b, 0xbe, 0x9}}
return a, nil return a, nil
} }
@ -1005,7 +1005,7 @@ func _1628280060_createUsermessagesIndexSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1628280060_create-usermessages-index.sql", size: 80, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1628280060_create-usermessages-index.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x6f, 0x70, 0x47, 0x40, 0xab, 0xa8, 0x60, 0xe0, 0xf9, 0x8, 0x7e, 0x19, 0x9d, 0xba, 0x33, 0x16, 0xfc, 0x3c, 0xdc, 0xa8, 0xa6, 0x53, 0x61, 0x39, 0x82, 0x91, 0xcf, 0x69, 0xd8, 0xf2, 0xcf}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x6f, 0x70, 0x47, 0x40, 0xab, 0xa8, 0x60, 0xe0, 0xf9, 0x8, 0x7e, 0x19, 0x9d, 0xba, 0x33, 0x16, 0xfc, 0x3c, 0xdc, 0xa8, 0xa6, 0x53, 0x61, 0x39, 0x82, 0x91, 0xcf, 0x69, 0xd8, 0xf2, 0xcf}}
return a, nil return a, nil
} }
@ -1025,7 +1025,7 @@ func _1632303896_modify_contacts_tableUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1632303896_modify_contacts_table.up.sql", size: 1574, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1632303896_modify_contacts_table.up.sql", size: 1574, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x1e, 0x6c, 0x3c, 0xd, 0xd7, 0x7d, 0xbb, 0x19, 0xbc, 0xe4, 0x7, 0xfd, 0xf8, 0x66, 0x6d, 0x78, 0xf6, 0x4, 0xe6, 0x51, 0xe4, 0xe6, 0xdc, 0xe, 0x5a, 0x2e, 0xac, 0xe6, 0xe7, 0x24, 0x69}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x1e, 0x6c, 0x3c, 0xd, 0xd7, 0x7d, 0xbb, 0x19, 0xbc, 0xe4, 0x7, 0xfd, 0xf8, 0x66, 0x6d, 0x78, 0xf6, 0x4, 0xe6, 0x51, 0xe4, 0xe6, 0xdc, 0xe, 0x5a, 0x2e, 0xac, 0xe6, 0xe7, 0x24, 0x69}}
return a, nil return a, nil
} }
@ -1045,7 +1045,7 @@ func _1633349838_add_emoji_column_in_chatsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1633349838_add_emoji_column_in_chats.up.sql", size: 52, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1633349838_add_emoji_column_in_chats.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1654848338, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcb, 0x33, 0xcb, 0x3b, 0xa9, 0x99, 0x77, 0x6a, 0xea, 0xc4, 0x39, 0xd7, 0xa1, 0x49, 0xa7, 0xdf, 0xff, 0x72, 0xda, 0x34, 0x21, 0x67, 0x66, 0xca, 0x65, 0x46, 0x1, 0xa6, 0x4e, 0xf9, 0x38, 0x86}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcb, 0x33, 0xcb, 0x3b, 0xa9, 0x99, 0x77, 0x6a, 0xea, 0xc4, 0x39, 0xd7, 0xa1, 0x49, 0xa7, 0xdf, 0xff, 0x72, 0xda, 0x34, 0x21, 0x67, 0x66, 0xca, 0x65, 0x46, 0x1, 0xa6, 0x4e, 0xf9, 0x38, 0x86}}
return a, nil return a, nil
} }
@ -1065,7 +1065,7 @@ func _1634831235_add_highlight_column_in_chatsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1634831235_add_highlight_column_in_chats.up.sql", size: 62, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1634831235_add_highlight_column_in_chats.up.sql", size: 62, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0x63, 0x5c, 0x73, 0x19, 0x83, 0xbd, 0x35, 0x80, 0x9f, 0x66, 0xec, 0x4c, 0xbc, 0x9d, 0x2d, 0x52, 0x91, 0x6d, 0xb3, 0x2b, 0x87, 0xde, 0x24, 0x46, 0x5c, 0xd, 0xfd, 0x78, 0xf5, 0xe3, 0xe9}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0x63, 0x5c, 0x73, 0x19, 0x83, 0xbd, 0x35, 0x80, 0x9f, 0x66, 0xec, 0x4c, 0xbc, 0x9d, 0x2d, 0x52, 0x91, 0x6d, 0xb3, 0x2b, 0x87, 0xde, 0x24, 0x46, 0x5c, 0xd, 0xfd, 0x78, 0xf5, 0xe3, 0xe9}}
return a, nil return a, nil
} }
@ -1085,7 +1085,7 @@ func _1634896007_add_last_updated_locally_and_removedUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1634896007_add_last_updated_locally_and_removed.up.sql", size: 131, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1634896007_add_last_updated_locally_and_removed.up.sql", size: 131, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2e, 0xa8, 0x34, 0xe2, 0xc0, 0x62, 0xc8, 0xd6, 0x5a, 0x87, 0xe3, 0x70, 0xe1, 0xc4, 0x16, 0x9c, 0x60, 0x2e, 0x98, 0xf0, 0x91, 0x84, 0xbe, 0xe0, 0xdf, 0x3e, 0x4d, 0x24, 0xc4, 0x6c, 0x40, 0x17}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2e, 0xa8, 0x34, 0xe2, 0xc0, 0x62, 0xc8, 0xd6, 0x5a, 0x87, 0xe3, 0x70, 0xe1, 0xc4, 0x16, 0x9c, 0x60, 0x2e, 0x98, 0xf0, 0x91, 0x84, 0xbe, 0xe0, 0xdf, 0x3e, 0x4d, 0x24, 0xc4, 0x6c, 0x40, 0x17}}
return a, nil return a, nil
} }
@ -1105,7 +1105,7 @@ func _1635840039_add_clock_read_at_column_in_chatsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1635840039_add_clock_read_at_column_in_chats.up.sql", size: 245, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1635840039_add_clock_read_at_column_in_chats.up.sql", size: 245, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6c, 0xba, 0x3f, 0xba, 0x1a, 0x71, 0xa8, 0x9, 0x19, 0xbe, 0x1e, 0x38, 0x50, 0x30, 0x3a, 0x52, 0x15, 0x29, 0xee, 0x49, 0x19, 0x6f, 0x53, 0xc2, 0xc6, 0x6c, 0xd9, 0x80, 0x7e, 0xb9, 0x58, 0x7a}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6c, 0xba, 0x3f, 0xba, 0x1a, 0x71, 0xa8, 0x9, 0x19, 0xbe, 0x1e, 0x38, 0x50, 0x30, 0x3a, 0x52, 0x15, 0x29, 0xee, 0x49, 0x19, 0x6f, 0x53, 0xc2, 0xc6, 0x6c, 0xd9, 0x80, 0x7e, 0xb9, 0x58, 0x7a}}
return a, nil return a, nil
} }
@ -1125,7 +1125,7 @@ func _1637852321_add_received_invitation_admin_column_in_chatsUpSql() (*asset, e
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1637852321_add_received_invitation_admin_column_in_chats.up.sql", size: 72, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1637852321_add_received_invitation_admin_column_in_chats.up.sql", size: 72, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x70, 0x8b, 0x92, 0x56, 0x83, 0x70, 0x7f, 0x6, 0xb2, 0xd, 0x1c, 0x2f, 0xcc, 0x93, 0xc3, 0x85, 0x8c, 0xc2, 0x38, 0x94, 0x7e, 0x88, 0x3f, 0x39, 0x34, 0xf8, 0x90, 0xcf, 0x83, 0x68, 0x3d, 0xe5}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x70, 0x8b, 0x92, 0x56, 0x83, 0x70, 0x7f, 0x6, 0xb2, 0xd, 0x1c, 0x2f, 0xcc, 0x93, 0xc3, 0x85, 0x8c, 0xc2, 0x38, 0x94, 0x7e, 0x88, 0x3f, 0x39, 0x34, 0xf8, 0x90, 0xcf, 0x83, 0x68, 0x3d, 0xe5}}
return a, nil return a, nil
} }
@ -1145,7 +1145,7 @@ func _1645034601_display_nameUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1645034601_display_name.up.sql", size: 110, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1645034601_display_name.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x15, 0xfc, 0xda, 0x70, 0x53, 0x19, 0x90, 0x20, 0x4, 0x1c, 0x99, 0x42, 0x53, 0x1a, 0xd6, 0xb8, 0xbb, 0x8a, 0xe8, 0xbe, 0xcc, 0xb7, 0xc, 0x7f, 0x73, 0x50, 0x18, 0xf1, 0x8b, 0x18, 0x54, 0x64}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x15, 0xfc, 0xda, 0x70, 0x53, 0x19, 0x90, 0x20, 0x4, 0x1c, 0x99, 0x42, 0x53, 0x1a, 0xd6, 0xb8, 0xbb, 0x8a, 0xe8, 0xbe, 0xcc, 0xb7, 0xc, 0x7f, 0x73, 0x50, 0x18, 0xf1, 0x8b, 0x18, 0x54, 0x64}}
return a, nil return a, nil
} }
@ -1165,7 +1165,7 @@ func _1645034602_add_mutual_contact_requestUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1645034602_add_mutual_contact_request.up.sql", size: 454, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1645034602_add_mutual_contact_request.up.sql", size: 454, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1a, 0xe0, 0x5d, 0x68, 0xb8, 0x50, 0xa4, 0xbb, 0x3e, 0x4f, 0x2, 0x87, 0xad, 0x87, 0x6e, 0x38, 0xdf, 0xc8, 0x4c, 0xe2, 0x5f, 0xd1, 0x6, 0xdc, 0xe7, 0xbd, 0x4a, 0x9c, 0xf3, 0x91, 0xa1, 0x51}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1a, 0xe0, 0x5d, 0x68, 0xb8, 0x50, 0xa4, 0xbb, 0x3e, 0x4f, 0x2, 0x87, 0xad, 0x87, 0x6e, 0x38, 0xdf, 0xc8, 0x4c, 0xe2, 0x5f, 0xd1, 0x6, 0xdc, 0xe7, 0xbd, 0x4a, 0x9c, 0xf3, 0x91, 0xa1, 0x51}}
return a, nil return a, nil
} }
@ -1185,7 +1185,7 @@ func _1650373957_add_contact_request_stateUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1650373957_add_contact_request_state.up.sql", size: 59, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1650373957_add_contact_request_state.up.sql", size: 59, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0xc1, 0x3f, 0x29, 0xe, 0x19, 0x86, 0x1a, 0x4c, 0x6c, 0x2a, 0x90, 0x9d, 0xdf, 0xb1, 0xb, 0x72, 0x25, 0xcd, 0x6c, 0x5f, 0xd, 0x51, 0x9e, 0x85, 0xc0, 0x9, 0xb7, 0xbc, 0x87, 0x23, 0xec}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0xc1, 0x3f, 0x29, 0xe, 0x19, 0x86, 0x1a, 0x4c, 0x6c, 0x2a, 0x90, 0x9d, 0xdf, 0xb1, 0xb, 0x72, 0x25, 0xcd, 0x6c, 0x5f, 0xd, 0x51, 0x9e, 0x85, 0xc0, 0x9, 0xb7, 0xbc, 0x87, 0x23, 0xec}}
return a, nil return a, nil
} }
@ -1205,7 +1205,7 @@ func _1656958989_contact_verificationUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1656958989_contact_verification.up.sql", size: 624, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1656958989_contact_verification.up.sql", size: 624, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0x3f, 0x28, 0x38, 0x33, 0xdb, 0xe9, 0x4d, 0xc0, 0x54, 0x8c, 0x2a, 0x73, 0xc4, 0xdd, 0x5c, 0xc5, 0x1a, 0x93, 0x4b, 0x6, 0x13, 0xbe, 0x42, 0xd2, 0x7f, 0xd4, 0xc, 0xc5, 0x4e, 0x6d, 0xce}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0x3f, 0x28, 0x38, 0x33, 0xdb, 0xe9, 0x4d, 0xc0, 0x54, 0x8c, 0x2a, 0x73, 0xc4, 0xdd, 0x5c, 0xc5, 0x1a, 0x93, 0x4b, 0x6, 0x13, 0xbe, 0x42, 0xd2, 0x7f, 0xd4, 0xc, 0xc5, 0x4e, 0x6d, 0xce}}
return a, nil return a, nil
} }
@ -1225,7 +1225,7 @@ func _1658236268_add_discord_message_authors_tableUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1658236268_add_discord_message_authors_table.up.sql", size: 191, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1658236268_add_discord_message_authors_table.up.sql", size: 191, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3d, 0xb7, 0xdb, 0x79, 0x1, 0x15, 0xe7, 0x76, 0x5d, 0x22, 0x54, 0x82, 0x9a, 0xbe, 0x24, 0xc1, 0x82, 0xcf, 0x67, 0x91, 0x53, 0xcc, 0xac, 0x74, 0x18, 0x61, 0x69, 0x68, 0x19, 0xca, 0x2b, 0xa8}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3d, 0xb7, 0xdb, 0x79, 0x1, 0x15, 0xe7, 0x76, 0x5d, 0x22, 0x54, 0x82, 0x9a, 0xbe, 0x24, 0xc1, 0x82, 0xcf, 0x67, 0x91, 0x53, 0xcc, 0xac, 0x74, 0x18, 0x61, 0x69, 0x68, 0x19, 0xca, 0x2b, 0xa8}}
return a, nil return a, nil
} }
@ -1245,7 +1245,7 @@ func _1659619997_add_discord_messages_tableUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1659619997_add_discord_messages_table.up.sql", size: 371, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1659619997_add_discord_messages_table.up.sql", size: 371, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x12, 0x9c, 0x96, 0xe2, 0x42, 0x3f, 0x94, 0x62, 0xc2, 0x76, 0xab, 0x3b, 0x4c, 0x85, 0x36, 0x48, 0xcc, 0x73, 0x60, 0x93, 0x5a, 0xd6, 0x7, 0xd6, 0x0, 0xee, 0x1b, 0x1e, 0x34, 0x58, 0x99}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x12, 0x9c, 0x96, 0xe2, 0x42, 0x3f, 0x94, 0x62, 0xc2, 0x76, 0xab, 0x3b, 0x4c, 0x85, 0x36, 0x48, 0xcc, 0x73, 0x60, 0x93, 0x5a, 0xd6, 0x7, 0xd6, 0x0, 0xee, 0x1b, 0x1e, 0x34, 0x58, 0x99}}
return a, nil return a, nil
} }
@ -1265,7 +1265,7 @@ func _1660226788_create_chat_identity_social_linksUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1660226788_create_chat_identity_social_links.up.sql", size: 318, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1660226788_create_chat_identity_social_links.up.sql", size: 318, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3c, 0x76, 0x40, 0xe9, 0x85, 0xc4, 0x38, 0xf8, 0xe5, 0x5d, 0xe8, 0x13, 0x46, 0x1b, 0xc, 0x1, 0xe9, 0x2f, 0x74, 0xd1, 0x79, 0x59, 0xa4, 0xdb, 0x4a, 0x4a, 0xf4, 0x98, 0x58, 0x3c, 0x57, 0xd3}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3c, 0x76, 0x40, 0xe9, 0x85, 0xc4, 0x38, 0xf8, 0xe5, 0x5d, 0xe8, 0x13, 0x46, 0x1b, 0xc, 0x1, 0xe9, 0x2f, 0x74, 0xd1, 0x79, 0x59, 0xa4, 0xdb, 0x4a, 0x4a, 0xf4, 0x98, 0x58, 0x3c, 0x57, 0xd3}}
return a, nil return a, nil
} }
@ -1285,7 +1285,7 @@ func _1660226789_add_walletconnectsessions_tableUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1660226789_add_walletconnectsessions_table.up.sql", size: 215, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1660226789_add_walletconnectsessions_table.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf8, 0x5c, 0x72, 0x2, 0xed, 0x36, 0x19, 0x91, 0x4d, 0x1a, 0xc1, 0xab, 0x84, 0xfa, 0x41, 0xb1, 0x46, 0xa5, 0xdb, 0x3f, 0x76, 0x47, 0xd3, 0x75, 0x3c, 0x6a, 0x8e, 0x78, 0xe6, 0x41, 0xdc, 0x7f}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf8, 0x5c, 0x72, 0x2, 0xed, 0x36, 0x19, 0x91, 0x4d, 0x1a, 0xc1, 0xab, 0x84, 0xfa, 0x41, 0xb1, 0x46, 0xa5, 0xdb, 0x3f, 0x76, 0x47, 0xd3, 0x75, 0x3c, 0x6a, 0x8e, 0x78, 0xe6, 0x41, 0xdc, 0x7f}}
return a, nil return a, nil
} }
@ -1305,7 +1305,7 @@ func _1661242854_add_communities_requests_to_leaveUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1661242854_add_communities_requests_to_leave.up.sql", size: 204, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1661242854_add_communities_requests_to_leave.up.sql", size: 204, mode: os.FileMode(0644), modTime: time.Unix(1666081963, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0x2e, 0x7d, 0x14, 0xef, 0x6e, 0x95, 0x4b, 0x6, 0x70, 0x2e, 0xd1, 0xf6, 0x59, 0xf9, 0xe, 0x56, 0xa, 0x9c, 0x80, 0x18, 0xca, 0xb9, 0x49, 0x19, 0xf, 0x89, 0x94, 0x36, 0x6d, 0x93, 0x9a}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0x2e, 0x7d, 0x14, 0xef, 0x6e, 0x95, 0x4b, 0x6, 0x70, 0x2e, 0xd1, 0xf6, 0x59, 0xf9, 0xe, 0x56, 0xa, 0x9c, 0x80, 0x18, 0xca, 0xb9, 0x49, 0x19, 0xf, 0x89, 0x94, 0x36, 0x6d, 0x93, 0x9a}}
return a, nil return a, nil
} }
@ -1325,7 +1325,7 @@ func _1662044232_add_chat_imageUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1662044232_add_chat_image.up.sql", size: 49, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1662044232_add_chat_image.up.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1666081963, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb3, 0x74, 0xdf, 0x50, 0x79, 0x73, 0x9e, 0xd0, 0xff, 0xa4, 0xd3, 0x87, 0xc3, 0x48, 0x31, 0x6c, 0xdf, 0xa6, 0x20, 0x85, 0xe6, 0x4e, 0x19, 0x9d, 0xef, 0xcc, 0x84, 0x2b, 0x5d, 0x44, 0x34, 0x6}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb3, 0x74, 0xdf, 0x50, 0x79, 0x73, 0x9e, 0xd0, 0xff, 0xa4, 0xd3, 0x87, 0xc3, 0x48, 0x31, 0x6c, 0xdf, 0xa6, 0x20, 0x85, 0xe6, 0x4e, 0x19, 0x9d, 0xef, 0xcc, 0x84, 0x2b, 0x5d, 0x44, 0x34, 0x6}}
return a, nil return a, nil
} }
@ -1345,7 +1345,7 @@ func _1662106895_add_chat_first_message_timestampUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1662106895_add_chat_first_message_timestamp.up.sql", size: 113, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1662106895_add_chat_first_message_timestamp.up.sql", size: 113, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8b, 0x55, 0x74, 0xfa, 0xf5, 0x51, 0x85, 0x19, 0xfd, 0xfb, 0x6, 0x79, 0x4d, 0x1d, 0xd, 0x3, 0x46, 0x66, 0x34, 0x1e, 0xce, 0x91, 0x21, 0x29, 0xf6, 0x71, 0xe7, 0x31, 0x39, 0x8f, 0x9d, 0x5}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8b, 0x55, 0x74, 0xfa, 0xf5, 0x51, 0x85, 0x19, 0xfd, 0xfb, 0x6, 0x79, 0x4d, 0x1d, 0xd, 0x3, 0x46, 0x66, 0x34, 0x1e, 0xce, 0x91, 0x21, 0x29, 0xf6, 0x71, 0xe7, 0x31, 0x39, 0x8f, 0x9d, 0x5}}
return a, nil return a, nil
} }
@ -1365,7 +1365,7 @@ func _1662723928_add_discord_author_image_fieldsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1662723928_add_discord_author_image_fields.up.sql", size: 75, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1662723928_add_discord_author_image_fields.up.sql", size: 75, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1e, 0x5b, 0x48, 0x57, 0x98, 0x55, 0x9a, 0xf1, 0x75, 0xf7, 0xb5, 0x41, 0x5e, 0x96, 0xc5, 0xce, 0xfc, 0x30, 0x5c, 0x15, 0x35, 0x9e, 0x4e, 0x4a, 0x3b, 0x38, 0x42, 0xc4, 0x27, 0x3c, 0x87, 0xbf}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1e, 0x5b, 0x48, 0x57, 0x98, 0x55, 0x9a, 0xf1, 0x75, 0xf7, 0xb5, 0x41, 0x5e, 0x96, 0xc5, 0xce, 0xfc, 0x30, 0x5c, 0x15, 0x35, 0x9e, 0x4e, 0x4a, 0x3b, 0x38, 0x42, 0xc4, 0x27, 0x3c, 0x87, 0xbf}}
return a, nil return a, nil
} }
@ -1385,7 +1385,7 @@ func _1664195977_add_deleted_for_mesUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1664195977_add_deleted_for_mes.up.sql", size: 352, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1664195977_add_deleted_for_mes.up.sql", size: 352, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7d, 0x9d, 0x13, 0x9, 0xaa, 0x44, 0x14, 0x93, 0xe2, 0xf5, 0x53, 0xb7, 0x79, 0xa8, 0x18, 0xf0, 0x6c, 0xa4, 0x9c, 0x73, 0xc1, 0xaa, 0xc5, 0x2e, 0xc5, 0x41, 0xd7, 0x24, 0xb0, 0xd7, 0xb8, 0xdf}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7d, 0x9d, 0x13, 0x9, 0xaa, 0x44, 0x14, 0x93, 0xe2, 0xf5, 0x53, 0xb7, 0x79, 0xa8, 0x18, 0xf0, 0x6c, 0xa4, 0x9c, 0x73, 0xc1, 0xaa, 0xc5, 0x2e, 0xc5, 0x41, 0xd7, 0x24, 0xb0, 0xd7, 0xb8, 0xdf}}
return a, nil return a, nil
} }
@ -1405,7 +1405,7 @@ func _1664367420_add_discord_attachments_tableUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1664367420_add_discord_attachments_table.up.sql", size: 350, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1664367420_add_discord_attachments_table.up.sql", size: 350, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x48, 0xe1, 0xb6, 0x4f, 0x6f, 0x92, 0x0, 0xb4, 0xf, 0x55, 0x12, 0x1c, 0x98, 0x6d, 0xbc, 0x1e, 0xfd, 0xae, 0x1c, 0xce, 0xd1, 0x3d, 0x2, 0x21, 0x2e, 0xc0, 0x13, 0xa, 0xb2, 0xec, 0x81, 0x13}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x48, 0xe1, 0xb6, 0x4f, 0x6f, 0x92, 0x0, 0xb4, 0xf, 0x55, 0x12, 0x1c, 0x98, 0x6d, 0xbc, 0x1e, 0xfd, 0xae, 0x1c, 0xce, 0xd1, 0x3d, 0x2, 0x21, 0x2e, 0xc0, 0x13, 0xa, 0xb2, 0xec, 0x81, 0x13}}
return a, nil return a, nil
} }
@ -1425,7 +1425,7 @@ func _1665079662_add_spectated_column_in_communitiesUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1665079662_add_spectated_column_in_communities.up.sql", size: 86, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1665079662_add_spectated_column_in_communities.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0x5d, 0xfe, 0xe2, 0xbe, 0xdf, 0xba, 0x45, 0xe9, 0xfc, 0xa7, 0x5f, 0xda, 0x19, 0xdb, 0x40, 0x96, 0x59, 0x78, 0xa, 0xd7, 0x4a, 0xca, 0x1a, 0x93, 0xfb, 0xae, 0x6d, 0x74, 0x7, 0x36, 0xdd}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0x5d, 0xfe, 0xe2, 0xbe, 0xdf, 0xba, 0x45, 0xe9, 0xfc, 0xa7, 0x5f, 0xda, 0x19, 0xdb, 0x40, 0x96, 0x59, 0x78, 0xa, 0xd7, 0x4a, 0xca, 0x1a, 0x93, 0xfb, 0xae, 0x6d, 0x74, 0x7, 0x36, 0xdd}}
return a, nil return a, nil
} }
@ -1445,7 +1445,7 @@ func _1665479047_add_community_id_in_notificationsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1665479047_add_community_id_in_notifications.up.sql", size: 169, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1665479047_add_community_id_in_notifications.up.sql", size: 169, mode: os.FileMode(0644), modTime: time.Unix(1669031482, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd9, 0x8f, 0x8b, 0x1c, 0xaa, 0x6a, 0x56, 0xd6, 0xa5, 0x88, 0x57, 0x13, 0x8f, 0xea, 0xb9, 0x23, 0x82, 0x50, 0xb7, 0x65, 0x1f, 0xab, 0xfa, 0x23, 0x6f, 0x0, 0x7, 0xb6, 0x6e, 0xb5, 0x85, 0x44}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd9, 0x8f, 0x8b, 0x1c, 0xaa, 0x6a, 0x56, 0xd6, 0xa5, 0x88, 0x57, 0x13, 0x8f, 0xea, 0xb9, 0x23, 0x82, 0x50, 0xb7, 0x65, 0x1f, 0xab, 0xfa, 0x23, 0x6f, 0x0, 0x7, 0xb6, 0x6e, 0xb5, 0x85, 0x44}}
return a, nil return a, nil
} }
@ -1465,7 +1465,7 @@ func _1665484435_add_encrypted_messagesUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1665484435_add_encrypted_messages.up.sql", size: 402, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1665484435_add_encrypted_messages.up.sql", size: 402, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8f, 0x5c, 0x1e, 0x1c, 0x7f, 0xae, 0x5f, 0xeb, 0x3c, 0x6c, 0xcd, 0xc2, 0x99, 0x48, 0x5c, 0x83, 0xa0, 0xa2, 0x97, 0x5, 0x39, 0x82, 0x71, 0x90, 0x47, 0x21, 0x84, 0x29, 0x19, 0xa4, 0x7a, 0x90}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8f, 0x5c, 0x1e, 0x1c, 0x7f, 0xae, 0x5f, 0xeb, 0x3c, 0x6c, 0xcd, 0xc2, 0x99, 0x48, 0x5c, 0x83, 0xa0, 0xa2, 0x97, 0x5, 0x39, 0x82, 0x71, 0x90, 0x47, 0x21, 0x84, 0x29, 0x19, 0xa4, 0x7a, 0x90}}
return a, nil return a, nil
} }
@ -1485,7 +1485,7 @@ func _1665560200_add_contact_verification_individualUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1665560200_add_contact_verification_individual.up.sql", size: 509, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1665560200_add_contact_verification_individual.up.sql", size: 509, mode: os.FileMode(0644), modTime: time.Unix(1669031482, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc5, 0xbb, 0x61, 0xfd, 0xbf, 0x33, 0x1d, 0x4e, 0x5f, 0xbd, 0x86, 0x42, 0xb0, 0x6c, 0xf7, 0x39, 0x19, 0x6e, 0x72, 0x35, 0xfd, 0x1b, 0xd6, 0xbd, 0xf6, 0x81, 0x21, 0xc4, 0xaa, 0x6, 0x62, 0x40}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc5, 0xbb, 0x61, 0xfd, 0xbf, 0x33, 0x1d, 0x4e, 0x5f, 0xbd, 0x86, 0x42, 0xb0, 0x6c, 0xf7, 0x39, 0x19, 0x6e, 0x72, 0x35, 0xfd, 0x1b, 0xd6, 0xbd, 0xf6, 0x81, 0x21, 0xc4, 0xaa, 0x6, 0x62, 0x40}}
return a, nil return a, nil
} }
@ -1505,7 +1505,7 @@ func _1670921937_add_album_idUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1670921937_add_album_id.up.sql", size: 55, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1670921937_add_album_id.up.sql", size: 55, mode: os.FileMode(0644), modTime: time.Unix(1676035037, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xae, 0x83, 0x58, 0xb7, 0x77, 0x5, 0xca, 0xe3, 0xda, 0x32, 0x8f, 0x7b, 0xa4, 0x2f, 0x4c, 0xaf, 0x5f, 0xfa, 0x94, 0x36, 0xe4, 0xf9, 0x7, 0xc6, 0xd6, 0xb7, 0x90, 0xf3, 0xe5, 0xb5, 0x3}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xae, 0x83, 0x58, 0xb7, 0x77, 0x5, 0xca, 0xe3, 0xda, 0x32, 0x8f, 0x7b, 0xa4, 0x2f, 0x4c, 0xaf, 0x5f, 0xfa, 0x94, 0x36, 0xe4, 0xf9, 0x7, 0xc6, 0xd6, 0xb7, 0x90, 0xf3, 0xe5, 0xb5, 0x3}}
return a, nil return a, nil
} }
@ -1525,7 +1525,7 @@ func _1673373000_add_repliedUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1673373000_add_replied.up.sql", size: 67, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1673373000_add_replied.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0x1c, 0xae, 0xf2, 0xf, 0xb4, 0xc2, 0xba, 0x3c, 0xfe, 0x7b, 0xb0, 0xf, 0xf, 0xd5, 0xbc, 0xe2, 0xa7, 0xad, 0x50, 0xd9, 0x5a, 0xe8, 0x96, 0x22, 0x65, 0x89, 0xcf, 0x4a, 0x9a, 0x1b, 0x94}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0x1c, 0xae, 0xf2, 0xf, 0xb4, 0xc2, 0xba, 0x3c, 0xfe, 0x7b, 0xb0, 0xf, 0xf, 0xd5, 0xbc, 0xe2, 0xa7, 0xad, 0x50, 0xd9, 0x5a, 0xe8, 0x96, 0x22, 0x65, 0x89, 0xcf, 0x4a, 0x9a, 0x1b, 0x94}}
return a, nil return a, nil
} }
@ -1545,7 +1545,7 @@ func _1673428910_add_image_width_heightUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1673428910_add_image_width_height.up.sql", size: 117, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1673428910_add_image_width_height.up.sql", size: 117, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x74, 0xda, 0x93, 0x2a, 0x9b, 0x6b, 0xb7, 0x96, 0xcd, 0xac, 0xf, 0xaf, 0x54, 0x89, 0x9e, 0x91, 0x5b, 0xd0, 0x4a, 0xa, 0x8d, 0x9e, 0x80, 0x66, 0x26, 0x9e, 0xb5, 0xa9, 0x8, 0xec, 0x2d, 0x6c}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x74, 0xda, 0x93, 0x2a, 0x9b, 0x6b, 0xb7, 0x96, 0xcd, 0xac, 0xf, 0xaf, 0x54, 0x89, 0x9e, 0x91, 0x5b, 0xd0, 0x4a, 0xa, 0x8d, 0x9e, 0x80, 0x66, 0x26, 0x9e, 0xb5, 0xa9, 0x8, 0xec, 0x2d, 0x6c}}
return a, nil return a, nil
} }
@ -1565,7 +1565,7 @@ func _1674210659_add_contact_request_local_clockUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1674210659_add_contact_request_local_clock.up.sql", size: 691, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1674210659_add_contact_request_local_clock.up.sql", size: 691, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x92, 0x72, 0x39, 0xfe, 0x72, 0x98, 0xfc, 0x91, 0x20, 0x10, 0xe8, 0xf5, 0xac, 0x79, 0xa8, 0x1c, 0xca, 0x7b, 0x35, 0xa, 0xc1, 0x56, 0x49, 0x9a, 0xfc, 0xbd, 0x64, 0x9d, 0xdf, 0xd2, 0x60, 0x70}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x92, 0x72, 0x39, 0xfe, 0x72, 0x98, 0xfc, 0x91, 0x20, 0x10, 0xe8, 0xf5, 0xac, 0x79, 0xa8, 0x1c, 0xca, 0x7b, 0x35, 0xa, 0xc1, 0x56, 0x49, 0x9a, 0xfc, 0xbd, 0x64, 0x9d, 0xdf, 0xd2, 0x60, 0x70}}
return a, nil return a, nil
} }
@ -1585,7 +1585,7 @@ func _1675212323_add_deleted_byUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1675212323_add_deleted_by.up.sql", size: 57, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1675212323_add_deleted_by.up.sql", size: 57, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x85, 0x37, 0x29, 0x2f, 0xd, 0x5a, 0xb6, 0xdb, 0xa7, 0x8, 0x86, 0xfc, 0x7a, 0x70, 0xd8, 0x4d, 0xe6, 0xf0, 0x57, 0xe7, 0xd1, 0x95, 0xd5, 0x4, 0x40, 0x2f, 0x7a, 0x5, 0x4f, 0xc2, 0x97, 0xbc}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x85, 0x37, 0x29, 0x2f, 0xd, 0x5a, 0xb6, 0xdb, 0xa7, 0x8, 0x86, 0xfc, 0x7a, 0x70, 0xd8, 0x4d, 0xe6, 0xf0, 0x57, 0xe7, 0xd1, 0x95, 0xd5, 0x4, 0x40, 0x2f, 0x7a, 0x5, 0x4f, 0xc2, 0x97, 0xbc}}
return a, nil return a, nil
} }
@ -1605,7 +1605,7 @@ func _1675247084_add_activity_center_statesUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1675247084_add_activity_center_states.up.sql", size: 136, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1675247084_add_activity_center_states.up.sql", size: 136, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xba, 0x90, 0x7d, 0x55, 0xc7, 0x40, 0x29, 0x26, 0x97, 0x45, 0x5c, 0xdf, 0xba, 0x61, 0xb, 0xfc, 0x3d, 0x7a, 0x6c, 0x42, 0xe4, 0x95, 0x78, 0xb0, 0xc5, 0x1f, 0x73, 0xe9, 0x33, 0x51, 0xc8, 0x81}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xba, 0x90, 0x7d, 0x55, 0xc7, 0x40, 0x29, 0x26, 0x97, 0x45, 0x5c, 0xdf, 0xba, 0x61, 0xb, 0xfc, 0x3d, 0x7a, 0x6c, 0x42, 0xe4, 0x95, 0x78, 0xb0, 0xc5, 0x1f, 0x73, 0xe9, 0x33, 0x51, 0xc8, 0x81}}
return a, nil return a, nil
} }
@ -1625,7 +1625,7 @@ func _1675272329_fix_protocol_migrationUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1675272329_fix_protocol_migration.up.sql", size: 183, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1675272329_fix_protocol_migration.up.sql", size: 183, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb6, 0xe0, 0x11, 0x4c, 0x66, 0x55, 0x72, 0xd3, 0xe6, 0x98, 0xa4, 0xe7, 0x44, 0xf9, 0x3b, 0x3a, 0x3f, 0xd9, 0x91, 0x1e, 0x4f, 0xfc, 0x56, 0x63, 0xe5, 0xa4, 0x83, 0xfc, 0x7c, 0xcf, 0x18, 0x99}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb6, 0xe0, 0x11, 0x4c, 0x66, 0x55, 0x72, 0xd3, 0xe6, 0x98, 0xa4, 0xe7, 0x44, 0xf9, 0x3b, 0x3a, 0x3f, 0xd9, 0x91, 0x1e, 0x4f, 0xfc, 0x56, 0x63, 0xe5, 0xa4, 0x83, 0xfc, 0x7c, 0xcf, 0x18, 0x99}}
return a, nil return a, nil
} }
@ -1645,7 +1645,7 @@ func _1676998418_fix_activity_center_migrationUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1676998418_fix_activity_center_migration.up.sql", size: 178, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1676998418_fix_activity_center_migration.up.sql", size: 178, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8a, 0xdc, 0x64, 0xb1, 0x47, 0x67, 0xda, 0x2c, 0x26, 0x29, 0x6b, 0x6f, 0xb, 0xfa, 0x45, 0xf3, 0xad, 0x8b, 0x1a, 0x5f, 0x1c, 0xed, 0xd7, 0xea, 0x54, 0xf5, 0x3f, 0xb8, 0xf6, 0xf9, 0x44, 0x53}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8a, 0xdc, 0x64, 0xb1, 0x47, 0x67, 0xda, 0x2c, 0x26, 0x29, 0x6b, 0x6f, 0xb, 0xfa, 0x45, 0xf3, 0xad, 0x8b, 0x1a, 0x5f, 0x1c, 0xed, 0xd7, 0xea, 0x54, 0xf5, 0x3f, 0xb8, 0xf6, 0xf9, 0x44, 0x53}}
return a, nil return a, nil
} }
@ -1665,7 +1665,7 @@ func _1677278861_add_deleted_column_to_activity_center_notifications_tableUpSql(
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1677278861_add_deleted_column_to_activity_center_notifications_table.up.sql", size: 381, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1677278861_add_deleted_column_to_activity_center_notifications_table.up.sql", size: 381, mode: os.FileMode(0644), modTime: time.Unix(1678798710, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x38, 0x3a, 0x95, 0xaf, 0x81, 0xb0, 0x85, 0x8d, 0x73, 0xda, 0x7b, 0x2a, 0x35, 0xa6, 0xaa, 0xcc, 0x4c, 0x35, 0xa3, 0xa8, 0xbd, 0xd1, 0x37, 0xe8, 0x5d, 0x83, 0xa4, 0x33, 0x1f, 0x10, 0xe4, 0xe6}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x38, 0x3a, 0x95, 0xaf, 0x81, 0xb0, 0x85, 0x8d, 0x73, 0xda, 0x7b, 0x2a, 0x35, 0xa6, 0xaa, 0xcc, 0x4c, 0x35, 0xa3, 0xa8, 0xbd, 0xd1, 0x37, 0xe8, 0x5d, 0x83, 0xa4, 0x33, 0x1f, 0x10, 0xe4, 0xe6}}
return a, nil return a, nil
} }
@ -1685,7 +1685,7 @@ func _1677486338_add_community_tokens_tableUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1677486338_add_community_tokens_table.up.sql", size: 527, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1677486338_add_community_tokens_table.up.sql", size: 527, mode: os.FileMode(0644), modTime: time.Unix(1678798710, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfb, 0x7b, 0x3d, 0x7e, 0x79, 0xc4, 0x3a, 0xf1, 0xda, 0x4b, 0xc6, 0xd1, 0xd, 0xfb, 0xb2, 0xb9, 0x7f, 0x81, 0x29, 0xab, 0xd8, 0x1, 0x20, 0xd7, 0xe1, 0xaf, 0x3e, 0x67, 0x1b, 0xdb, 0xf9, 0xd5}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfb, 0x7b, 0x3d, 0x7e, 0x79, 0xc4, 0x3a, 0xf1, 0xda, 0x4b, 0xc6, 0xd1, 0xd, 0xfb, 0xb2, 0xb9, 0x7f, 0x81, 0x29, 0xab, 0xd8, 0x1, 0x20, 0xd7, 0xe1, 0xaf, 0x3e, 0x67, 0x1b, 0xdb, 0xf9, 0xd5}}
return a, nil return a, nil
} }
@ -1705,7 +1705,7 @@ func _1678292329_add_collapsed_categoriesUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1678292329_add_collapsed_categories.up.sql", size: 170, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1678292329_add_collapsed_categories.up.sql", size: 170, mode: os.FileMode(0644), modTime: time.Unix(1678974025, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x46, 0x63, 0x86, 0xd5, 0x7, 0xe2, 0x25, 0x15, 0x1b, 0xfe, 0xf3, 0xe, 0x50, 0x48, 0x11, 0x3c, 0x7c, 0xc6, 0xe5, 0xab, 0x8d, 0x1f, 0xe8, 0x3c, 0xcb, 0xf0, 0x8d, 0xa7, 0x49, 0x4c, 0x16, 0x4f}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x46, 0x63, 0x86, 0xd5, 0x7, 0xe2, 0x25, 0x15, 0x1b, 0xfe, 0xf3, 0xe, 0x50, 0x48, 0x11, 0x3c, 0x7c, 0xc6, 0xe5, 0xab, 0x8d, 0x1f, 0xe8, 0x3c, 0xcb, 0xf0, 0x8d, 0xa7, 0x49, 0x4c, 0x16, 0x4f}}
return a, nil return a, nil
} }
@ -1725,7 +1725,7 @@ func _1678800760_add_index_to_raw_messagesUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1678800760_add_index_to_raw_messages.up.sql", size: 88, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "1678800760_add_index_to_raw_messages.up.sql", size: 88, mode: os.FileMode(0644), modTime: time.Unix(1678977220, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9d, 0xd9, 0x8d, 0x22, 0x46, 0xae, 0x7b, 0x53, 0x3e, 0x51, 0x39, 0xad, 0xad, 0x38, 0x50, 0x6, 0xfa, 0xb9, 0xc4, 0x9f, 0x8d, 0xd2, 0x67, 0x0, 0xef, 0x58, 0x13, 0xab, 0x6a, 0x67, 0xf3, 0x7e}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9d, 0xd9, 0x8d, 0x22, 0x46, 0xae, 0x7b, 0x53, 0x3e, 0x51, 0x39, 0xad, 0xad, 0x38, 0x50, 0x6, 0xfa, 0xb9, 0xc4, 0x9f, 0x8d, 0xd2, 0x67, 0x0, 0xef, 0x58, 0x13, 0xab, 0x6a, 0x67, 0xf3, 0x7e}}
return a, nil return a, nil
} }
@ -1745,7 +1745,7 @@ func _1678877478_add_communities_requests_to_join_revealed_addresses_tableUpSql(
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1678877478_add_communities_requests_to_join_revealed_addresses_table.up.sql", size: 168, mode: os.FileMode(0664), modTime: time.Unix(1679412171, 0)} info := bindataFileInfo{name: "1678877478_add_communities_requests_to_join_revealed_addresses_table.up.sql", size: 168, mode: os.FileMode(0644), modTime: time.Unix(1679491897, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x82, 0x1, 0xb4, 0xb2, 0x94, 0x25, 0xd5, 0x2e, 0x45, 0xc3, 0xb1, 0x2c, 0xeb, 0x1a, 0x52, 0xe0, 0x4b, 0x9b, 0x46, 0xf4, 0xc, 0xac, 0x1, 0x1e, 0x90, 0xbc, 0x64, 0x38, 0x10, 0xf1, 0xaf, 0xac}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x82, 0x1, 0xb4, 0xb2, 0x94, 0x25, 0xd5, 0x2e, 0x45, 0xc3, 0xb1, 0x2c, 0xeb, 0x1a, 0x52, 0xe0, 0x4b, 0x9b, 0x46, 0xf4, 0xc, 0xac, 0x1, 0x1e, 0x90, 0xbc, 0x64, 0x38, 0x10, 0xf1, 0xaf, 0xac}}
return a, nil return a, nil
} }
@ -1765,7 +1765,7 @@ func readmeMd() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1c, 0x6e, 0xfb, 0xcc, 0x81, 0x94, 0x4d, 0x8c, 0xa0, 0x3b, 0x5, 0xb0, 0x18, 0xd6, 0xbb, 0xb3, 0x79, 0xc8, 0x8f, 0xff, 0xc1, 0x10, 0xf9, 0xf, 0x20, 0x1b, 0x4a, 0x74, 0x96, 0x42, 0xd7, 0xa8}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1c, 0x6e, 0xfb, 0xcc, 0x81, 0x94, 0x4d, 0x8c, 0xa0, 0x3b, 0x5, 0xb0, 0x18, 0xd6, 0xbb, 0xb3, 0x79, 0xc8, 0x8f, 0xff, 0xc1, 0x10, 0xf9, 0xf, 0x20, 0x1b, 0x4a, 0x74, 0x96, 0x42, 0xd7, 0xa8}}
return a, nil return a, nil
} }
@ -1785,7 +1785,7 @@ func docGo() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0664), modTime: time.Unix(1679049664, 0)} info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0xcc, 0x41, 0xe1, 0x61, 0x12, 0x97, 0xe, 0x36, 0x8c, 0xa7, 0x9e, 0xe0, 0x6e, 0x59, 0x9e, 0xee, 0xd5, 0x4a, 0xcf, 0x1e, 0x60, 0xd6, 0xc3, 0x3a, 0xc9, 0x6c, 0xf2, 0x86, 0x5a, 0xb4, 0x1e}} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0xcc, 0x41, 0xe1, 0x61, 0x12, 0x97, 0xe, 0x36, 0x8c, 0xa7, 0x9e, 0xe0, 0x6e, 0x59, 0x9e, 0xee, 0xd5, 0x4a, 0xcf, 0x1e, 0x60, 0xd6, 0xc3, 0x3a, 0xc9, 0x6c, 0xf2, 0x86, 0x5a, 0xb4, 0x1e}}
return a, nil return a, nil
} }

View File

@ -331,11 +331,12 @@ type MultiAccount struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Timestamp int64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` Timestamp int64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Identicon string `protobuf:"bytes,3,opt,name=identicon,proto3" json:"identicon,omitempty"` Identicon string `protobuf:"bytes,3,opt,name=identicon,proto3" json:"identicon,omitempty"`
ColorHash []*MultiAccount_ColourHash `protobuf:"bytes,4,rep,name=color_hash,json=colorHash,proto3" json:"color_hash,omitempty"` ColorHash []*MultiAccount_ColorHash `protobuf:"bytes,4,rep,name=color_hash,json=colorHash,proto3" json:"color_hash,omitempty"`
ColorId int64 `protobuf:"varint,5,opt,name=colorId,proto3" json:"colorId,omitempty"` ColorId int64 `protobuf:"varint,5,opt,name=color_id,json=colorId,proto3" json:"color_id,omitempty"`
KeycardPairing string `protobuf:"bytes,6,opt,name=keycard_pairing,json=keycardPairing,proto3" json:"keycard_pairing,omitempty"` KeycardPairing string `protobuf:"bytes,6,opt,name=keycard_pairing,json=keycardPairing,proto3" json:"keycard_pairing,omitempty"`
KeyUid string `protobuf:"bytes,7,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"` KeyUid string `protobuf:"bytes,7,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"`
Images []*MultiAccount_IdentityImage `protobuf:"bytes,8,rep,name=images,proto3" json:"images,omitempty"` Images []*MultiAccount_IdentityImage `protobuf:"bytes,8,rep,name=images,proto3" json:"images,omitempty"`
CustomizationColor string `protobuf:"bytes,9,opt,name=customization_color,json=customizationColor,proto3" json:"customization_color,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -387,7 +388,7 @@ func (m *MultiAccount) GetIdenticon() string {
return "" return ""
} }
func (m *MultiAccount) GetColorHash() []*MultiAccount_ColourHash { func (m *MultiAccount) GetColorHash() []*MultiAccount_ColorHash {
if m != nil { if m != nil {
return m.ColorHash return m.ColorHash
} }
@ -422,39 +423,46 @@ func (m *MultiAccount) GetImages() []*MultiAccount_IdentityImage {
return nil return nil
} }
type MultiAccount_ColourHash struct { func (m *MultiAccount) GetCustomizationColor() string {
if m != nil {
return m.CustomizationColor
}
return ""
}
type MultiAccount_ColorHash struct {
Index []int64 `protobuf:"varint,1,rep,packed,name=index,proto3" json:"index,omitempty"` Index []int64 `protobuf:"varint,1,rep,packed,name=index,proto3" json:"index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
} }
func (m *MultiAccount_ColourHash) Reset() { *m = MultiAccount_ColourHash{} } func (m *MultiAccount_ColorHash) Reset() { *m = MultiAccount_ColorHash{} }
func (m *MultiAccount_ColourHash) String() string { return proto.CompactTextString(m) } func (m *MultiAccount_ColorHash) String() string { return proto.CompactTextString(m) }
func (*MultiAccount_ColourHash) ProtoMessage() {} func (*MultiAccount_ColorHash) ProtoMessage() {}
func (*MultiAccount_ColourHash) Descriptor() ([]byte, []int) { func (*MultiAccount_ColorHash) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{2, 0} return fileDescriptor_d61ab7221f0b5518, []int{2, 0}
} }
func (m *MultiAccount_ColourHash) XXX_Unmarshal(b []byte) error { func (m *MultiAccount_ColorHash) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MultiAccount_ColourHash.Unmarshal(m, b) return xxx_messageInfo_MultiAccount_ColorHash.Unmarshal(m, b)
} }
func (m *MultiAccount_ColourHash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *MultiAccount_ColorHash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MultiAccount_ColourHash.Marshal(b, m, deterministic) return xxx_messageInfo_MultiAccount_ColorHash.Marshal(b, m, deterministic)
} }
func (m *MultiAccount_ColourHash) XXX_Merge(src proto.Message) { func (m *MultiAccount_ColorHash) XXX_Merge(src proto.Message) {
xxx_messageInfo_MultiAccount_ColourHash.Merge(m, src) xxx_messageInfo_MultiAccount_ColorHash.Merge(m, src)
} }
func (m *MultiAccount_ColourHash) XXX_Size() int { func (m *MultiAccount_ColorHash) XXX_Size() int {
return xxx_messageInfo_MultiAccount_ColourHash.Size(m) return xxx_messageInfo_MultiAccount_ColorHash.Size(m)
} }
func (m *MultiAccount_ColourHash) XXX_DiscardUnknown() { func (m *MultiAccount_ColorHash) XXX_DiscardUnknown() {
xxx_messageInfo_MultiAccount_ColourHash.DiscardUnknown(m) xxx_messageInfo_MultiAccount_ColorHash.DiscardUnknown(m)
} }
var xxx_messageInfo_MultiAccount_ColourHash proto.InternalMessageInfo var xxx_messageInfo_MultiAccount_ColorHash proto.InternalMessageInfo
func (m *MultiAccount_ColourHash) GetIndex() []int64 { func (m *MultiAccount_ColorHash) GetIndex() []int64 {
if m != nil { if m != nil {
return m.Index return m.Index
} }
@ -2767,7 +2775,7 @@ func init() {
proto.RegisterType((*FetchingBackedUpDataDetails)(nil), "protobuf.FetchingBackedUpDataDetails") proto.RegisterType((*FetchingBackedUpDataDetails)(nil), "protobuf.FetchingBackedUpDataDetails")
proto.RegisterType((*Backup)(nil), "protobuf.Backup") proto.RegisterType((*Backup)(nil), "protobuf.Backup")
proto.RegisterType((*MultiAccount)(nil), "protobuf.MultiAccount") proto.RegisterType((*MultiAccount)(nil), "protobuf.MultiAccount")
proto.RegisterType((*MultiAccount_ColourHash)(nil), "protobuf.MultiAccount.ColourHash") proto.RegisterType((*MultiAccount_ColorHash)(nil), "protobuf.MultiAccount.ColorHash")
proto.RegisterType((*MultiAccount_IdentityImage)(nil), "protobuf.MultiAccount.IdentityImage") proto.RegisterType((*MultiAccount_IdentityImage)(nil), "protobuf.MultiAccount.IdentityImage")
proto.RegisterType((*LocalPairingPayload)(nil), "protobuf.LocalPairingPayload") proto.RegisterType((*LocalPairingPayload)(nil), "protobuf.LocalPairingPayload")
proto.RegisterType((*LocalPairingPayload_Key)(nil), "protobuf.LocalPairingPayload.Key") proto.RegisterType((*LocalPairingPayload_Key)(nil), "protobuf.LocalPairingPayload.Key")
@ -2809,176 +2817,177 @@ func init() {
} }
var fileDescriptor_d61ab7221f0b5518 = []byte{ var fileDescriptor_d61ab7221f0b5518 = []byte{
// 2726 bytes of a gzipped FileDescriptorProto // 2751 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x19, 0x4d, 0x73, 0x23, 0x47, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x39, 0x4d, 0x73, 0x1b, 0xc7,
0x35, 0x23, 0xc9, 0xfa, 0x78, 0x92, 0x65, 0xb9, 0xd7, 0xd9, 0xd5, 0x7a, 0x9d, 0xda, 0xdd, 0x49, 0xb1, 0x5e, 0x00, 0xc2, 0x47, 0x03, 0x04, 0xa1, 0x11, 0x2d, 0x41, 0x14, 0x5d, 0xa2, 0xd6, 0x76,
0x52, 0x59, 0xa8, 0xe0, 0xc0, 0x86, 0x90, 0xb0, 0x49, 0x2a, 0xd1, 0x4a, 0x22, 0xeb, 0xf5, 0x5a, 0x59, 0xef, 0x95, 0x1f, 0xf5, 0x42, 0xc7, 0xb1, 0x23, 0xdb, 0xe5, 0x40, 0x00, 0x62, 0x51, 0x14,
0x76, 0xb5, 0xad, 0x0d, 0x49, 0x51, 0x35, 0xd5, 0x9e, 0xe9, 0xb5, 0x06, 0x8f, 0x66, 0xc4, 0x74, 0x41, 0xd6, 0x90, 0x90, 0x63, 0x57, 0xaa, 0xb6, 0x86, 0xbb, 0x23, 0x62, 0xc3, 0xc5, 0x2e, 0xb2,
0xcb, 0x8b, 0xb8, 0xc1, 0x4f, 0xe0, 0x02, 0xc7, 0x9c, 0xe1, 0x46, 0x55, 0x6e, 0x1c, 0x38, 0x72, 0x33, 0xa0, 0x02, 0xdf, 0x92, 0x9f, 0x90, 0x4b, 0x72, 0xf4, 0x39, 0xb9, 0xa5, 0xca, 0xf7, 0x1c,
0xe7, 0x08, 0x07, 0xce, 0xfc, 0x02, 0x8e, 0xd4, 0xeb, 0xee, 0x19, 0xcd, 0xc8, 0x92, 0xf1, 0x16, 0x73, 0xcf, 0x31, 0x39, 0xe4, 0x9c, 0xca, 0x0f, 0xc8, 0x31, 0x35, 0x3d, 0xb3, 0x8b, 0x5d, 0x10,
0x27, 0x4e, 0xea, 0xf7, 0xe6, 0xbd, 0x37, 0xaf, 0xdf, 0xf7, 0x1b, 0xc1, 0xfa, 0x84, 0xf9, 0xb1, 0x60, 0xa8, 0xca, 0x29, 0x27, 0x4c, 0xf7, 0x76, 0xf7, 0xf6, 0xf4, 0x77, 0x2f, 0x60, 0x6d, 0xc2,
0x1f, 0x9e, 0xed, 0x4e, 0xe2, 0x48, 0x46, 0xa4, 0xaa, 0x7e, 0x4e, 0xa7, 0x2f, 0xb6, 0x6f, 0x88, 0xfc, 0xd8, 0x0f, 0xcf, 0x76, 0x26, 0x71, 0x24, 0x23, 0x52, 0xc5, 0x9f, 0xd3, 0xe9, 0xcb, 0xcd,
0x59, 0xe8, 0x3a, 0x82, 0x4b, 0xe9, 0x87, 0x67, 0x42, 0x3f, 0xde, 0xb6, 0xd9, 0x64, 0x12, 0xf8, 0x5b, 0x62, 0x16, 0xba, 0x8e, 0xe0, 0x52, 0xfa, 0xe1, 0x99, 0xd0, 0x8f, 0x37, 0x6d, 0x36, 0x99,
0x2e, 0x93, 0x7e, 0x14, 0x3a, 0x63, 0x2e, 0x99, 0xc7, 0x24, 0x73, 0xc6, 0x5c, 0x08, 0x76, 0xc6, 0x04, 0xbe, 0xcb, 0xa4, 0x1f, 0x85, 0xce, 0x98, 0x4b, 0xe6, 0x31, 0xc9, 0x9c, 0x31, 0x17, 0x82,
0x35, 0x8d, 0xcd, 0xe0, 0xce, 0x4f, 0xb8, 0x74, 0x47, 0x7e, 0x78, 0xf6, 0x98, 0xb9, 0xe7, 0xdc, 0x9d, 0x71, 0x4d, 0x63, 0x33, 0xb8, 0xf7, 0x63, 0x2e, 0xdd, 0x91, 0x1f, 0x9e, 0x3d, 0x61, 0xee,
0x1b, 0x4e, 0x7a, 0x4c, 0xb2, 0x1e, 0x97, 0xcc, 0x0f, 0x04, 0xb9, 0x0b, 0x75, 0xc5, 0x14, 0x4e, 0x39, 0xf7, 0x86, 0x93, 0x1e, 0x93, 0xac, 0xc7, 0x25, 0xf3, 0x03, 0x41, 0xee, 0x43, 0x1d, 0x99,
0xc7, 0xa7, 0x3c, 0x6e, 0x5b, 0xf7, 0xac, 0x07, 0xeb, 0x14, 0x10, 0x35, 0x50, 0x18, 0x72, 0x1f, 0xc2, 0xe9, 0xf8, 0x94, 0xc7, 0x6d, 0x6b, 0xdb, 0x7a, 0xb8, 0x46, 0x41, 0xa1, 0x06, 0x88, 0x21,
0x1a, 0x32, 0x92, 0x2c, 0x48, 0x28, 0x0a, 0x8a, 0xa2, 0xae, 0x70, 0x9a, 0xc4, 0xfe, 0xe7, 0x1a, 0x0f, 0xa0, 0x21, 0x23, 0xc9, 0x82, 0x84, 0xa2, 0x80, 0x14, 0x75, 0xc4, 0x69, 0x12, 0xfb, 0x6f,
0x94, 0x51, 0xf6, 0x74, 0x42, 0xb6, 0x60, 0xcd, 0x0d, 0x22, 0xf7, 0x5c, 0x09, 0x2a, 0x51, 0x0d, 0x37, 0xa0, 0xac, 0x64, 0x4f, 0x27, 0x64, 0x03, 0x6e, 0xb8, 0x41, 0xe4, 0x9e, 0xa3, 0xa0, 0x12,
0x90, 0x26, 0x14, 0x7c, 0x4f, 0x71, 0xd6, 0x68, 0xc1, 0xf7, 0xc8, 0x67, 0x50, 0x75, 0xa3, 0x50, 0xd5, 0x00, 0x69, 0x42, 0xc1, 0xf7, 0x90, 0xb3, 0x46, 0x0b, 0xbe, 0x47, 0x3e, 0x87, 0xaa, 0x1b,
0x32, 0x57, 0x8a, 0x76, 0xf1, 0x5e, 0xf1, 0x41, 0xfd, 0xe1, 0x9b, 0xbb, 0xc9, 0x4d, 0x77, 0x8f, 0x85, 0x92, 0xb9, 0x52, 0xb4, 0x8b, 0xdb, 0xc5, 0x87, 0xf5, 0xdd, 0xb7, 0x77, 0x92, 0x9b, 0xee,
0x67, 0xa1, 0xbb, 0x17, 0x0a, 0xc9, 0x82, 0x40, 0x5d, 0xac, 0xab, 0x29, 0x9f, 0x3f, 0xa4, 0x29, 0x1c, 0xcf, 0x42, 0x77, 0x2f, 0x14, 0x92, 0x05, 0x01, 0x5e, 0xac, 0xab, 0x29, 0x5f, 0xec, 0xd2,
0x13, 0xf9, 0x31, 0xd4, 0xdd, 0x68, 0x3c, 0x9e, 0x86, 0xbe, 0xf4, 0xb9, 0x68, 0x97, 0x94, 0x8c, 0x94, 0x89, 0xfc, 0x10, 0xea, 0x6e, 0x34, 0x1e, 0x4f, 0x43, 0x5f, 0xfa, 0x5c, 0xb4, 0x4b, 0x28,
0x5b, 0x79, 0x19, 0x5d, 0x43, 0x30, 0xa3, 0x59, 0x5a, 0x72, 0x08, 0x1b, 0x89, 0x18, 0x63, 0x83, 0xe3, 0x4e, 0x5e, 0x46, 0xd7, 0x10, 0xcc, 0x68, 0x96, 0x96, 0x1c, 0xc2, 0x7a, 0x22, 0xc6, 0xd8,
0xf6, 0xda, 0x3d, 0xeb, 0x41, 0xfd, 0xe1, 0xdb, 0x73, 0xf6, 0x2b, 0x0c, 0x46, 0x17, 0xb9, 0xc9, 0xa0, 0x7d, 0x63, 0xdb, 0x7a, 0x58, 0xdf, 0x7d, 0x77, 0xce, 0x7e, 0x85, 0xc1, 0xe8, 0x22, 0x37,
0x10, 0x48, 0x46, 0x7e, 0x22, 0xb3, 0xfc, 0x2a, 0x32, 0x97, 0x08, 0x20, 0xef, 0x43, 0x65, 0x12, 0x19, 0x02, 0xc9, 0xc8, 0x4f, 0x64, 0x96, 0x5f, 0x47, 0xe6, 0x12, 0x01, 0xe4, 0x03, 0xa8, 0x4c,
0x47, 0x2f, 0xfc, 0x80, 0xb7, 0x2b, 0x4a, 0xd6, 0xed, 0xb9, 0xac, 0x44, 0xc6, 0x91, 0x26, 0xa0, 0xe2, 0xe8, 0xa5, 0x1f, 0xf0, 0x76, 0x05, 0x65, 0xdd, 0x9d, 0xcb, 0x4a, 0x64, 0x1c, 0x69, 0x02,
0x09, 0x25, 0x39, 0x80, 0xa6, 0x39, 0x26, 0x7a, 0x54, 0x5f, 0x45, 0x8f, 0x05, 0x66, 0xf2, 0x1e, 0x9a, 0x50, 0x92, 0x03, 0x68, 0x9a, 0x63, 0xa2, 0x47, 0xf5, 0x75, 0xf4, 0x58, 0x60, 0x26, 0x8f,
0x54, 0x4c, 0xc4, 0xb5, 0x6b, 0x4a, 0xce, 0xeb, 0x79, 0x13, 0x1f, 0xeb, 0x87, 0x34, 0xa1, 0x42, 0xa0, 0x62, 0x22, 0xae, 0x5d, 0x43, 0x39, 0x6f, 0xe6, 0x4d, 0x7c, 0xac, 0x1f, 0xd2, 0x84, 0x4a,
0xe3, 0x26, 0x21, 0x9a, 0x28, 0x00, 0xaf, 0x64, 0xdc, 0x05, 0x6e, 0xf2, 0x01, 0x54, 0xcf, 0xf9, 0x19, 0x37, 0x09, 0xd1, 0x44, 0x01, 0x78, 0x2d, 0xe3, 0x2e, 0x70, 0x93, 0x0f, 0xa1, 0x7a, 0xce,
0xcc, 0x65, 0xb1, 0x27, 0xda, 0xf5, 0x45, 0x33, 0xa0, 0x0a, 0x9d, 0x20, 0xd8, 0x37, 0x04, 0x34, 0x67, 0x2e, 0x8b, 0x3d, 0xd1, 0xae, 0x2f, 0x9a, 0x41, 0xa9, 0xd0, 0x09, 0x82, 0x7d, 0x43, 0x40,
0x25, 0x45, 0x3d, 0x92, 0x73, 0xa2, 0x47, 0xe3, 0x95, 0xf4, 0x58, 0xe0, 0xb6, 0xff, 0x5c, 0x82, 0x53, 0x52, 0xa5, 0x47, 0x72, 0x4e, 0xf4, 0x68, 0xbc, 0x96, 0x1e, 0x0b, 0xdc, 0xf6, 0x3f, 0x4a,
0xc6, 0xc1, 0x34, 0x90, 0x7e, 0xc7, 0x75, 0xa3, 0x69, 0x28, 0x09, 0x81, 0x52, 0xc8, 0xc6, 0x5c, 0xd0, 0x38, 0x98, 0x06, 0xd2, 0xef, 0xb8, 0x6e, 0x34, 0x0d, 0x25, 0x21, 0x50, 0x0a, 0xd9, 0x98,
0xc5, 0x79, 0x8d, 0xaa, 0x33, 0xd9, 0x81, 0x9a, 0xf4, 0xc7, 0x5c, 0x48, 0x36, 0x9e, 0xa8, 0x68, 0x63, 0x9c, 0xd7, 0x28, 0x9e, 0xc9, 0x16, 0xd4, 0xa4, 0x3f, 0xe6, 0x42, 0xb2, 0xf1, 0x04, 0xa3,
0x2f, 0xd2, 0x39, 0x02, 0x9f, 0xfa, 0x1e, 0x0f, 0xa5, 0xef, 0x46, 0x61, 0xbb, 0xa8, 0xd8, 0xe6, 0xbd, 0x48, 0xe7, 0x08, 0xf5, 0xd4, 0xf7, 0x78, 0x28, 0x7d, 0x37, 0x0a, 0xdb, 0x45, 0x64, 0x9b,
0x08, 0xf2, 0x39, 0x80, 0x1b, 0x05, 0x51, 0xec, 0x8c, 0x98, 0x18, 0x99, 0x80, 0xbe, 0x3f, 0x57, 0x23, 0xc8, 0xe7, 0x00, 0x6e, 0x14, 0x44, 0xb1, 0x33, 0x62, 0x62, 0x64, 0x02, 0x7a, 0x7b, 0xae,
0x36, 0xfb, 0xee, 0xdd, 0x6e, 0x14, 0x44, 0xd3, 0xf8, 0x09, 0x13, 0x23, 0x5a, 0x53, 0x4c, 0x78, 0x6c, 0xf6, 0xdd, 0x3b, 0x5d, 0x45, 0xf8, 0x94, 0x89, 0x11, 0xad, 0xb9, 0xc9, 0x91, 0xdc, 0x55,
0x24, 0x6d, 0xa8, 0x28, 0x60, 0xcf, 0x53, 0x01, 0x5d, 0xa4, 0x09, 0x48, 0xde, 0x49, 0xad, 0xe1, 0x39, 0xa5, 0x04, 0xf8, 0x1e, 0x06, 0x74, 0x91, 0x56, 0x10, 0xde, 0xf3, 0xc8, 0x7b, 0xa9, 0x35,
0x98, 0xf2, 0xa2, 0xc2, 0xb3, 0x46, 0x9b, 0x06, 0x7d, 0xa4, 0xb1, 0xe4, 0x16, 0x54, 0xce, 0xf9, 0x1c, 0x53, 0x5e, 0x30, 0x3c, 0x6b, 0xb4, 0x69, 0xd0, 0x47, 0x1a, 0x4b, 0xee, 0x40, 0xe5, 0x9c,
0xcc, 0x99, 0xfa, 0x9e, 0x8a, 0xb9, 0x1a, 0x2d, 0x9f, 0xf3, 0xd9, 0xd0, 0xf7, 0xc8, 0x27, 0x50, 0xcf, 0x9c, 0xa9, 0xef, 0x61, 0xcc, 0xd5, 0x68, 0xf9, 0x9c, 0xcf, 0x86, 0xbe, 0x47, 0x3e, 0x85,
0xf6, 0xc7, 0xec, 0x8c, 0x63, 0x3c, 0xa1, 0x66, 0x6f, 0xad, 0xd0, 0x6c, 0x4f, 0xdd, 0x47, 0xce, 0xb2, 0x3f, 0x66, 0x67, 0x5c, 0xc5, 0x93, 0xd2, 0xec, 0x9d, 0x15, 0x9a, 0xed, 0xe1, 0x7d, 0xe4,
0xf6, 0x90, 0x98, 0x1a, 0x9e, 0x6d, 0x1b, 0x60, 0xae, 0x32, 0x96, 0x08, 0x3f, 0xf4, 0xf8, 0x2f, 0x6c, 0x4f, 0x11, 0x53, 0xc3, 0x43, 0x1e, 0xc1, 0x2d, 0x77, 0x2a, 0x64, 0x34, 0xf6, 0xbf, 0xd1,
0xdb, 0xd6, 0xbd, 0xe2, 0x83, 0x22, 0xd5, 0xc0, 0xf6, 0xdf, 0x2d, 0x58, 0xcf, 0x71, 0x67, 0x95, 0xa5, 0x0a, 0x15, 0xc3, 0x90, 0xaa, 0x51, 0x92, 0x7b, 0x84, 0x57, 0xdb, 0x7c, 0x00, 0xb5, 0xf4,
0xb1, 0x72, 0xca, 0x24, 0xa6, 0x2f, 0x64, 0x4c, 0xdf, 0x86, 0xca, 0x84, 0xcd, 0x82, 0x88, 0x79, 0x8e, 0xaa, 0xa4, 0xf8, 0xa1, 0xc7, 0x7f, 0xd1, 0xb6, 0xb6, 0x8b, 0x0f, 0x8b, 0x54, 0x03, 0x9b,
0xca, 0xb4, 0x0d, 0x9a, 0x80, 0xf8, 0xba, 0x97, 0xbe, 0x27, 0xd1, 0xa6, 0x68, 0x14, 0x0d, 0x90, 0x7f, 0xb1, 0x60, 0x2d, 0xf7, 0xb6, 0xac, 0xf2, 0x56, 0x4e, 0xf9, 0xc4, 0x55, 0x85, 0x8c, 0xab,
0x9b, 0x50, 0x1e, 0x71, 0xff, 0x6c, 0x24, 0x8d, 0xad, 0x0c, 0x44, 0xb6, 0xa1, 0x8a, 0x09, 0x20, 0xda, 0x50, 0x99, 0xb0, 0x59, 0x10, 0x31, 0x0f, 0x5d, 0xd1, 0xa0, 0x09, 0xa8, 0x5e, 0xf7, 0xca,
0xfc, 0x5f, 0x71, 0x65, 0xa3, 0x22, 0x4d, 0x61, 0xf2, 0x26, 0xac, 0xc7, 0xea, 0xe4, 0x48, 0x16, 0xf7, 0xa4, 0xf2, 0x81, 0x32, 0xa2, 0x06, 0xc8, 0x6d, 0x28, 0x8f, 0xb8, 0x7f, 0x36, 0x92, 0xc6,
0x9f, 0x71, 0xa9, 0x6c, 0x54, 0xa4, 0x0d, 0x8d, 0x3c, 0x51, 0xb8, 0x79, 0x01, 0xac, 0x66, 0x0a, 0xb6, 0x06, 0x22, 0x9b, 0x50, 0x55, 0x09, 0x23, 0xfc, 0x6f, 0x38, 0xda, 0xb4, 0x48, 0x53, 0x98,
0xa0, 0xfd, 0x37, 0x0b, 0x6e, 0x3c, 0x8b, 0x5c, 0x16, 0x18, 0x4b, 0x1f, 0x19, 0xe5, 0x3e, 0x80, 0xbc, 0x0d, 0x6b, 0x31, 0x9e, 0x1c, 0xc9, 0xe2, 0x33, 0x2e, 0xd1, 0xa6, 0x45, 0xda, 0xd0, 0xc8,
0xd2, 0x39, 0x9f, 0x09, 0x65, 0x8a, 0x9c, 0xbf, 0x97, 0x10, 0xef, 0xee, 0xf3, 0x19, 0x55, 0xe4, 0x13, 0xc4, 0xcd, 0x0b, 0x66, 0x35, 0x53, 0x30, 0xed, 0x3f, 0x5b, 0x70, 0xeb, 0x79, 0xe4, 0xb2,
0xe4, 0x11, 0x34, 0xc6, 0x68, 0x76, 0xa6, 0xcd, 0xae, 0x2c, 0x51, 0x7f, 0x78, 0x73, 0xb9, 0x53, 0xc0, 0x78, 0xe6, 0xc8, 0x28, 0xf7, 0x21, 0x94, 0xce, 0xf9, 0x4c, 0xa0, 0x29, 0xea, 0xbb, 0x0f,
0x68, 0x8e, 0x16, 0x6f, 0x38, 0x61, 0x42, 0xbc, 0x8c, 0x62, 0xcf, 0x44, 0x61, 0x0a, 0x6f, 0x7f, 0xe6, 0x5e, 0x58, 0x42, 0xbc, 0xb3, 0xcf, 0x67, 0x14, 0xc9, 0xc9, 0x63, 0x68, 0x8c, 0x95, 0x9b,
0x0f, 0x8a, 0xfb, 0x7c, 0xb6, 0x34, 0xb6, 0x09, 0x94, 0xb0, 0x29, 0xa8, 0x57, 0x35, 0xa8, 0x3a, 0x98, 0x76, 0x13, 0x5a, 0xa2, 0xbe, 0x7b, 0x7b, 0xb9, 0x13, 0x69, 0x8e, 0x56, 0xdd, 0x70, 0xc2,
0xdb, 0xdf, 0x58, 0xd0, 0x42, 0x1d, 0xb3, 0xd5, 0x7a, 0x45, 0x07, 0x78, 0x07, 0x36, 0xfc, 0x0c, 0x84, 0x78, 0x15, 0xc5, 0x9e, 0x89, 0xda, 0x14, 0xde, 0xfc, 0x3f, 0x28, 0xee, 0xf3, 0xd9, 0xd2,
0x95, 0x93, 0xb6, 0x83, 0x66, 0x16, 0xbd, 0xe7, 0xa9, 0x7e, 0xc4, 0x2f, 0x7c, 0x97, 0x3b, 0x72, 0x5c, 0x20, 0x50, 0x52, 0x4d, 0x04, 0x5f, 0xd5, 0xa0, 0x78, 0xb6, 0xbf, 0xb5, 0xa0, 0xa5, 0x74,
0x36, 0xe1, 0x46, 0x43, 0xd0, 0xa8, 0x93, 0xd9, 0x84, 0xa7, 0xca, 0x95, 0xf2, 0xde, 0xbf, 0xe0, 0xcc, 0x56, 0xf7, 0x15, 0x1d, 0xe3, 0x3d, 0x58, 0xf7, 0x33, 0x54, 0x4e, 0xda, 0x3e, 0x9a, 0x59,
0xb1, 0xf0, 0xa3, 0x50, 0xb9, 0x73, 0x9d, 0x26, 0xa0, 0xfd, 0x2f, 0x0b, 0x6e, 0xad, 0x68, 0x28, 0xf4, 0x9e, 0x87, 0xfd, 0x8b, 0x5f, 0xf8, 0x2e, 0x77, 0xe4, 0x6c, 0xc2, 0x8d, 0x86, 0xa0, 0x51,
0xd7, 0xec, 0x55, 0x6f, 0xc2, 0xba, 0xa9, 0x8a, 0x8e, 0x0a, 0x67, 0xa3, 0x52, 0xc3, 0x20, 0x75, 0x27, 0xb3, 0x09, 0x4f, 0x95, 0x2b, 0xe5, 0xbd, 0x7f, 0xc1, 0x63, 0xe1, 0x47, 0x21, 0xba, 0x73,
0xac, 0xde, 0x86, 0x2a, 0x0f, 0x85, 0x93, 0x51, 0xac, 0xc2, 0x43, 0x31, 0x40, 0xdd, 0xee, 0x43, 0x8d, 0x26, 0xa0, 0xfd, 0x77, 0x0b, 0xee, 0xac, 0x68, 0x40, 0xd7, 0xec, 0x6d, 0x6f, 0xc3, 0x9a,
0x23, 0x60, 0x42, 0x3a, 0xd3, 0x89, 0xc7, 0x24, 0xd7, 0xb9, 0x59, 0xa2, 0x75, 0xc4, 0x0d, 0x35, 0xa9, 0xa2, 0x0e, 0x86, 0xbf, 0x51, 0xa9, 0x61, 0x90, 0x3a, 0x56, 0xef, 0x42, 0x95, 0x87, 0xc2,
0x0a, 0xef, 0x2c, 0x66, 0x42, 0xf2, 0xb1, 0x23, 0xd9, 0x19, 0xb6, 0x8e, 0x22, 0xde, 0x59, 0xa3, 0xc9, 0x28, 0x56, 0xe1, 0xa1, 0x18, 0x28, 0xdd, 0x1e, 0x40, 0x23, 0x60, 0x42, 0x3a, 0xd3, 0x89,
0x4e, 0xd8, 0x99, 0x20, 0x6f, 0x43, 0x33, 0xc0, 0x80, 0x70, 0x42, 0xdf, 0x3d, 0x57, 0x2f, 0xd1, 0xc7, 0x24, 0xd7, 0xb9, 0x5c, 0xa2, 0x75, 0x85, 0x1b, 0x6a, 0x94, 0xba, 0xb3, 0x98, 0x09, 0xc9,
0xe9, 0xb9, 0xae, 0xb0, 0x03, 0x83, 0xb4, 0x7f, 0x5d, 0x86, 0xdb, 0x2b, 0xbb, 0x27, 0xf9, 0x3e, 0xc7, 0x8e, 0x64, 0x67, 0xaa, 0xd5, 0x14, 0xd5, 0x9d, 0x35, 0xea, 0x84, 0x9d, 0x09, 0xf2, 0x2e,
0x6c, 0x65, 0x15, 0x71, 0x14, 0x6f, 0x30, 0x33, 0xb7, 0x27, 0x19, 0x85, 0x9e, 0xe9, 0x27, 0xff, 0x34, 0x03, 0x15, 0x10, 0x4e, 0xe8, 0xbb, 0xe7, 0xf8, 0x12, 0x9d, 0xce, 0x6b, 0x88, 0x1d, 0x18,
0xc7, 0xa6, 0x40, 0xdf, 0x32, 0xcf, 0xe3, 0x9e, 0xea, 0x5b, 0x55, 0xaa, 0x01, 0x8c, 0x93, 0x53, 0xa4, 0xfd, 0xcb, 0x32, 0xdc, 0x5d, 0xd9, 0x6d, 0xc9, 0xff, 0xc3, 0x46, 0x56, 0x11, 0x07, 0x79,
0x74, 0x32, 0xf7, 0x54, 0x5b, 0xaa, 0xd2, 0x04, 0x44, 0xfa, 0xf1, 0x14, 0x75, 0xaa, 0x6b, 0x7a, 0x83, 0x99, 0xb9, 0x3d, 0xc9, 0x28, 0xf4, 0x5c, 0x3f, 0xf9, 0x2f, 0x36, 0x85, 0xf2, 0x2d, 0xf3,
0x05, 0x20, 0x7d, 0xcc, 0xc7, 0xd1, 0x05, 0xf7, 0x54, 0xfb, 0xa8, 0xd2, 0x04, 0x24, 0xf7, 0xa0, 0x3c, 0xee, 0x61, 0x51, 0xaa, 0x52, 0x0d, 0xa8, 0x38, 0x39, 0x55, 0x4e, 0xe6, 0x1e, 0xb6, 0xb1,
0x31, 0x62, 0xc2, 0x51, 0x62, 0x9d, 0xa9, 0x68, 0xaf, 0xab, 0xc7, 0x30, 0x62, 0xa2, 0x83, 0xa8, 0x2a, 0x4d, 0x40, 0x45, 0x3f, 0x9e, 0x2a, 0x9d, 0xea, 0x9a, 0x1e, 0x01, 0x45, 0x1f, 0xf3, 0x71,
0x21, 0xf6, 0xce, 0x1b, 0x17, 0x3c, 0xf6, 0x5f, 0x24, 0xe3, 0x99, 0x90, 0x4c, 0x4e, 0x45, 0xbb, 0x74, 0xc1, 0x3d, 0x6c, 0x37, 0x55, 0x9a, 0x80, 0x64, 0x1b, 0x1a, 0x23, 0x26, 0x1c, 0x14, 0xeb,
0xa9, 0x6a, 0x06, 0xc9, 0x3e, 0x3a, 0x56, 0x4f, 0xd4, 0xa0, 0x15, 0x4f, 0x85, 0x4c, 0x28, 0x37, 0x4c, 0x45, 0x7b, 0x0d, 0x1f, 0xc3, 0x88, 0x89, 0x8e, 0x42, 0x0d, 0xb1, 0x48, 0x5e, 0xf0, 0xd8,
0x14, 0x65, 0x5d, 0xe1, 0x0c, 0xc9, 0xa7, 0x70, 0xc7, 0x4c, 0x1f, 0x4e, 0xcc, 0x7f, 0x31, 0xe5, 0x7f, 0x99, 0x8c, 0x73, 0x42, 0x32, 0x39, 0x15, 0xed, 0x26, 0xd6, 0x0c, 0x92, 0x7d, 0x74, 0x8c,
0x42, 0x6a, 0x2f, 0x2a, 0x16, 0xde, 0x6e, 0x29, 0x8e, 0xb6, 0x21, 0xa1, 0x9a, 0x42, 0x39, 0x13, 0x4f, 0x70, 0x30, 0x8b, 0xa7, 0x42, 0x26, 0x94, 0xeb, 0x48, 0x59, 0x47, 0x9c, 0x21, 0xf9, 0x0c,
0xf9, 0xf9, 0x6a, 0x76, 0x9d, 0x06, 0x9b, 0x2b, 0xd9, 0xbb, 0x2a, 0x33, 0x3e, 0x83, 0x9d, 0x45, 0xee, 0x99, 0x69, 0xc5, 0x89, 0xf9, 0xcf, 0xa7, 0x5c, 0x48, 0xed, 0x45, 0x64, 0xe1, 0xed, 0x16,
0x76, 0x34, 0x87, 0xe4, 0xe6, 0xf5, 0x44, 0xf1, 0xdf, 0xce, 0xf3, 0x53, 0x45, 0xa1, 0xdf, 0xbf, 0x72, 0xb4, 0x0d, 0x09, 0xd5, 0x14, 0xe8, 0x4c, 0xc5, 0xcf, 0x57, 0xb3, 0xeb, 0x34, 0xb8, 0xb9,
0x5a, 0x80, 0x56, 0xe0, 0xc6, 0x6a, 0x01, 0x5a, 0x83, 0xfb, 0xd0, 0xf0, 0x7c, 0x31, 0x09, 0xd8, 0x92, 0xbd, 0x8b, 0x99, 0xf1, 0x39, 0x6c, 0x2d, 0xb2, 0x2b, 0x73, 0x48, 0x6e, 0x5e, 0x4f, 0x90,
0x4c, 0xc7, 0xd7, 0x96, 0x72, 0x7d, 0xdd, 0xe0, 0x30, 0xc6, 0xec, 0x97, 0x97, 0xf3, 0x3d, 0x69, 0xff, 0x6e, 0x9e, 0x9f, 0x22, 0x85, 0x7e, 0xff, 0x6a, 0x01, 0x5a, 0x81, 0x5b, 0xab, 0x05, 0x68,
0xd9, 0xcb, 0xf3, 0xfd, 0x52, 0x50, 0x17, 0x96, 0x04, 0xf5, 0x62, 0xe4, 0x16, 0x2f, 0x45, 0xae, 0x0d, 0x1e, 0x40, 0xc3, 0xf3, 0xc5, 0x24, 0x60, 0x33, 0x1d, 0x5f, 0x1b, 0xe8, 0xfa, 0xba, 0xc1,
0xfd, 0x18, 0xb6, 0x17, 0x5f, 0x7c, 0x34, 0x3d, 0x0d, 0x7c, 0xb7, 0x3b, 0x62, 0xd7, 0xac, 0x35, 0xa9, 0x18, 0xb3, 0x5f, 0x5d, 0xce, 0xf7, 0xa4, 0xc5, 0x2f, 0xcf, 0xf7, 0x4b, 0x41, 0x5d, 0x58,
0xf6, 0xb7, 0x45, 0x58, 0xcf, 0x8d, 0xae, 0xff, 0x95, 0xaf, 0xa1, 0x12, 0xf3, 0x2e, 0xd4, 0x27, 0x12, 0xd4, 0x8b, 0x91, 0x5b, 0xbc, 0x14, 0xb9, 0xf6, 0x13, 0xd8, 0x5c, 0x7c, 0xf1, 0xd1, 0xf4,
0xb1, 0x7f, 0xc1, 0x24, 0x77, 0xce, 0xf9, 0xcc, 0x74, 0x40, 0x30, 0x28, 0xac, 0xe8, 0xf7, 0xb0, 0x34, 0xf0, 0xdd, 0xee, 0x88, 0x5d, 0xb3, 0xd6, 0xd8, 0xdf, 0x15, 0x61, 0x2d, 0x37, 0xea, 0xfe,
0xaa, 0x0a, 0x37, 0xf6, 0x27, 0xa8, 0x97, 0xca, 0xcb, 0x06, 0xcd, 0xa2, 0xb0, 0x21, 0xfe, 0x3c, 0x5b, 0xbe, 0x06, 0x26, 0xe6, 0x7d, 0xa8, 0x4f, 0x62, 0xff, 0x82, 0x49, 0xee, 0x9c, 0xf3, 0x99,
0xf2, 0x43, 0x93, 0x95, 0x55, 0x6a, 0x20, 0x6c, 0x17, 0x3a, 0x56, 0xb9, 0xa7, 0x1a, 0x62, 0x95, 0xe9, 0x80, 0x60, 0x50, 0xaa, 0xa2, 0x6f, 0xab, 0xaa, 0x2a, 0xdc, 0xd8, 0x9f, 0x28, 0xbd, 0x30,
0xa6, 0xf0, 0x3c, 0x69, 0x2a, 0xd9, 0xa4, 0x39, 0x84, 0x96, 0xf1, 0xae, 0x70, 0x64, 0xe4, 0xa0, 0x2f, 0x1b, 0x34, 0x8b, 0x52, 0x0d, 0xf1, 0x67, 0x91, 0x1f, 0x9a, 0xac, 0xac, 0x52, 0x03, 0xa9,
0x1c, 0x33, 0x35, 0xbc, 0xbd, 0x6a, 0x40, 0x37, 0xe4, 0x27, 0xd1, 0xd3, 0xc8, 0x0f, 0x69, 0x33, 0x76, 0xa1, 0x63, 0x95, 0x7b, 0xd8, 0x10, 0xab, 0x34, 0x85, 0xe7, 0x49, 0x53, 0xc9, 0x26, 0xcd,
0xce, 0xc1, 0xe4, 0x63, 0xa8, 0x26, 0x63, 0xa1, 0x19, 0x43, 0xef, 0xae, 0x10, 0x64, 0xe6, 0x51, 0x21, 0xb4, 0x8c, 0x77, 0x85, 0x23, 0x23, 0x47, 0xc9, 0x31, 0x53, 0xc6, 0xbb, 0xab, 0x06, 0x7a,
0x41, 0x53, 0x06, 0x9c, 0xba, 0x78, 0xe8, 0xc6, 0xb3, 0x89, 0x4c, 0x93, 0x7e, 0x8e, 0xc0, 0xa7, 0x43, 0x7e, 0x12, 0x3d, 0x8b, 0xfc, 0x90, 0x36, 0xe3, 0x1c, 0x4c, 0x3e, 0x81, 0x6a, 0x32, 0x46,
0x62, 0xc2, 0x5d, 0xc9, 0xe6, 0xa9, 0x3f, 0x47, 0x60, 0xd3, 0x32, 0xa4, 0x98, 0xc0, 0xaa, 0x51, 0x9a, 0xb1, 0xf5, 0xfe, 0x0a, 0x41, 0x66, 0x7e, 0x15, 0x34, 0x65, 0x50, 0x53, 0x1a, 0x0f, 0xdd,
0x37, 0x94, 0xe5, 0x9a, 0x73, 0xf4, 0x3e, 0x9f, 0x09, 0xfb, 0x37, 0x45, 0xb8, 0x73, 0xc5, 0x8d, 0x78, 0x36, 0x91, 0x69, 0xd2, 0xcf, 0x11, 0xea, 0xa9, 0x98, 0x70, 0x57, 0xb2, 0x79, 0xea, 0xcf,
0x8c, 0xbf, 0xac, 0xd4, 0x5f, 0x6f, 0x00, 0x4c, 0x54, 0x6c, 0x28, 0x77, 0x69, 0xff, 0xd7, 0x34, 0x11, 0xaa, 0x69, 0x19, 0x52, 0x95, 0xc0, 0xd8, 0xa8, 0x1b, 0x68, 0xb9, 0xe6, 0x1c, 0xbd, 0xcf,
0x06, 0xbd, 0x95, 0x3a, 0xbd, 0x98, 0x75, 0xfa, 0x15, 0x85, 0xf5, 0x16, 0x54, 0xdc, 0x11, 0x93, 0x67, 0xc2, 0xfe, 0x55, 0x11, 0xee, 0x5d, 0x71, 0x23, 0xe3, 0x2f, 0x2b, 0xf5, 0xd7, 0x5b, 0x00,
0xd8, 0x55, 0xd7, 0xf4, 0xa8, 0x84, 0xe0, 0x9e, 0x87, 0x71, 0x9b, 0xac, 0x16, 0x33, 0x7c, 0x5a, 0x13, 0x8c, 0x0d, 0x74, 0x97, 0xf6, 0x7f, 0x4d, 0x63, 0x94, 0xb7, 0x52, 0xa7, 0x17, 0xb3, 0x4e,
0xd6, 0x8e, 0x4f, 0x71, 0x7b, 0xca, 0x89, 0x3a, 0x7d, 0x2b, 0xfa, 0x65, 0x0a, 0x20, 0xe7, 0x40, 0xbf, 0xa2, 0xb0, 0xde, 0x81, 0x8a, 0x3b, 0x62, 0x32, 0x19, 0x15, 0x6b, 0xb4, 0xac, 0xc0, 0x3d,
0x62, 0x7e, 0xc1, 0x59, 0xc0, 0x3d, 0x2c, 0x72, 0x31, 0x17, 0x22, 0x1d, 0xfe, 0x3e, 0xb9, 0x96, 0x4f, 0xc5, 0x6d, 0xb2, 0x8a, 0xcc, 0xd4, 0xd3, 0xb2, 0x76, 0x7c, 0x8a, 0xdb, 0x43, 0x27, 0xea,
0x1b, 0x77, 0xa9, 0xe1, 0xef, 0x24, 0xec, 0xfd, 0x50, 0xc6, 0x33, 0xba, 0x19, 0x2f, 0xe2, 0xb7, 0xf4, 0xad, 0xe8, 0x97, 0x21, 0x40, 0xce, 0x81, 0xc4, 0xfc, 0x82, 0xb3, 0x80, 0x7b, 0xaa, 0xc8,
0x7b, 0x70, 0x73, 0x39, 0x31, 0x69, 0x41, 0x11, 0x2d, 0xa4, 0x07, 0x11, 0x3c, 0xa2, 0xba, 0x17, 0xc5, 0x5c, 0x88, 0x74, 0x58, 0xfc, 0xf4, 0x5a, 0x6e, 0xdc, 0xa1, 0x86, 0xbf, 0x93, 0xb0, 0xf7,
0x2c, 0x98, 0x72, 0x13, 0xfd, 0x1a, 0x78, 0x54, 0xf8, 0xc8, 0xb2, 0x7f, 0x5b, 0x80, 0xd6, 0x62, 0x43, 0x19, 0xcf, 0xe8, 0xcd, 0x78, 0x11, 0xbf, 0xd9, 0x83, 0xdb, 0xcb, 0x89, 0x49, 0x0b, 0x8a,
0x06, 0x92, 0x4f, 0x33, 0x9b, 0xe6, 0xa5, 0x21, 0x6b, 0x45, 0xaf, 0xcc, 0xec, 0x99, 0x5f, 0x40, 0xca, 0x42, 0x7a, 0x10, 0x51, 0x47, 0xa5, 0xee, 0x05, 0x0b, 0xa6, 0xdc, 0x44, 0xbf, 0x06, 0x1e,
0xc3, 0x38, 0x0a, 0x0d, 0x2a, 0xda, 0x85, 0xc5, 0xe9, 0x77, 0x75, 0xca, 0xd3, 0xfa, 0x24, 0x3d, 0x17, 0x3e, 0xb6, 0xec, 0x5f, 0x17, 0xa0, 0xb5, 0x98, 0x81, 0xe4, 0xb3, 0xcc, 0x66, 0x7a, 0x69,
0x0b, 0xf2, 0x31, 0x54, 0x92, 0x61, 0xad, 0xa8, 0x42, 0xf8, 0x0a, 0x35, 0x92, 0xb9, 0x2d, 0xe1, 0xc8, 0x5a, 0xd1, 0x2b, 0x33, 0x7b, 0xe9, 0x17, 0xd0, 0x30, 0x8e, 0x52, 0x06, 0x15, 0xed, 0xc2,
0xf8, 0x1f, 0xb6, 0x5d, 0xfb, 0x43, 0xd8, 0x50, 0x4f, 0x51, 0x21, 0xd3, 0xba, 0xae, 0x57, 0x8a, 0xe2, 0xb4, 0xbc, 0x3a, 0xe5, 0x69, 0x7d, 0x92, 0x9e, 0x05, 0xf9, 0x04, 0x2a, 0xc9, 0xb0, 0x56,
0x3e, 0x81, 0xad, 0x84, 0xf1, 0x40, 0x7f, 0x4f, 0x10, 0x94, 0xb3, 0xeb, 0x72, 0x7f, 0x0e, 0x37, 0xc4, 0x10, 0xbe, 0x42, 0x8d, 0x64, 0x6e, 0x4b, 0x38, 0xfe, 0x83, 0xed, 0xd8, 0xfe, 0x08, 0xd6,
0xd5, 0x72, 0xe6, 0x4a, 0xff, 0xc2, 0x97, 0xb3, 0x2e, 0x0f, 0x25, 0x8f, 0xaf, 0xe0, 0x6f, 0x41, 0xf1, 0xa9, 0x52, 0xc8, 0xb4, 0xae, 0xeb, 0x95, 0xa2, 0x4f, 0x61, 0x23, 0x61, 0x3c, 0xd0, 0xdf,
0xd1, 0xf7, 0xb4, 0x79, 0x1b, 0x14, 0x8f, 0x76, 0x4f, 0x97, 0xd3, 0xbc, 0x84, 0x8e, 0xeb, 0x72, 0x1f, 0x04, 0xe5, 0xec, 0xba, 0xdc, 0x3f, 0x82, 0xdb, 0xb8, 0xcc, 0xb9, 0xd2, 0xbf, 0xf0, 0xe5,
0x95, 0xb7, 0xd7, 0x95, 0xd2, 0xd7, 0x79, 0x99, 0x97, 0xd2, 0xf3, 0xc5, 0xd8, 0x17, 0xe2, 0x15, 0xac, 0xcb, 0x43, 0xc9, 0xe3, 0x2b, 0xf8, 0x5b, 0x50, 0xf4, 0x3d, 0x6d, 0xde, 0x06, 0x55, 0x47,
0xc4, 0x7c, 0x63, 0x41, 0x03, 0xe5, 0x3c, 0x8e, 0xa2, 0xf3, 0x31, 0x8b, 0xcf, 0x57, 0x33, 0x4e, 0xbb, 0xa7, 0xcb, 0x69, 0x5e, 0x42, 0xc7, 0x75, 0x39, 0xe6, 0xed, 0x75, 0xa5, 0xf4, 0x75, 0x5e,
0xe3, 0xc0, 0x98, 0x01, 0x8f, 0xe9, 0xb0, 0x5a, 0xcc, 0x0c, 0xab, 0x77, 0xa0, 0xa6, 0x1a, 0x8d, 0xe6, 0xa5, 0xf4, 0x7c, 0x31, 0xf6, 0x85, 0x78, 0x0d, 0x31, 0xdf, 0x5a, 0xd0, 0x50, 0x72, 0x9e,
0x83, 0xb4, 0x3a, 0x91, 0xab, 0x0a, 0x31, 0x8c, 0x83, 0xec, 0xc4, 0xb1, 0x96, 0x9f, 0x38, 0xde, 0x44, 0xd1, 0xf9, 0x98, 0xc5, 0xe7, 0xab, 0x19, 0xa7, 0x71, 0x60, 0xcc, 0xa0, 0x8e, 0xe9, 0xb0,
0x00, 0xf0, 0x78, 0xc0, 0x71, 0x72, 0x63, 0x52, 0x25, 0x72, 0x89, 0xd6, 0x0c, 0xa6, 0x23, 0xed, 0x5a, 0xcc, 0x0c, 0xab, 0xf7, 0xa0, 0x86, 0x8d, 0xc6, 0x51, 0xb4, 0x3a, 0x91, 0xab, 0x88, 0x18,
0xa7, 0x3a, 0xf8, 0xbb, 0x01, 0x67, 0xf1, 0x13, 0x5f, 0xc8, 0x28, 0x9e, 0x65, 0xcb, 0x82, 0x95, 0xc6, 0x41, 0x76, 0xe2, 0xb8, 0x91, 0x9f, 0x38, 0xde, 0x02, 0xf0, 0x78, 0xc0, 0xd5, 0xe4, 0xc6,
0x2b, 0x0b, 0x6f, 0x00, 0xb8, 0x48, 0xa8, 0x65, 0x15, 0xb4, 0x2c, 0x83, 0xe9, 0x48, 0xfb, 0xaf, 0x24, 0x26, 0x72, 0x89, 0xd6, 0x0c, 0xa6, 0x23, 0xed, 0x67, 0x3a, 0xf8, 0xbb, 0x01, 0x67, 0xf1,
0x16, 0x10, 0x14, 0x66, 0x3e, 0x2f, 0x1c, 0xf9, 0xae, 0x9c, 0xc6, 0x7c, 0xe9, 0x5a, 0x90, 0xd9, 0x53, 0x5f, 0xc8, 0x28, 0x9e, 0x65, 0xcb, 0x82, 0x95, 0x2b, 0x0b, 0x6f, 0x01, 0xb8, 0x8a, 0x50,
0xbb, 0x0a, 0x2b, 0xf6, 0xae, 0xa2, 0x9a, 0xc8, 0x2f, 0xed, 0x5d, 0x25, 0x85, 0x4e, 0xf6, 0xae, 0xcb, 0x2a, 0x68, 0x59, 0x06, 0xd3, 0x91, 0xf6, 0x9f, 0x2c, 0x20, 0x4a, 0x98, 0xf9, 0x1c, 0x71,
0x3b, 0x50, 0x53, 0x2d, 0x58, 0x2d, 0x5e, 0x7a, 0x86, 0x57, 0x8b, 0xd7, 0xf1, 0xd2, 0xc5, 0xab, 0xe4, 0xbb, 0x72, 0x1a, 0xf3, 0xa5, 0x6b, 0x41, 0x66, 0xef, 0x2a, 0xac, 0xd8, 0xbb, 0x8a, 0x38,
0xac, 0x08, 0x56, 0x2c, 0x5e, 0x95, 0xec, 0xe2, 0x35, 0x82, 0x1b, 0x97, 0x6f, 0x22, 0x56, 0xef, 0x91, 0x5f, 0xda, 0xbb, 0x4a, 0x88, 0x4e, 0xf6, 0xae, 0x7b, 0x50, 0xc3, 0x16, 0x8c, 0x8b, 0x97,
0x96, 0x1f, 0x41, 0x75, 0x62, 0x88, 0x4c, 0xb2, 0xef, 0xe4, 0xf3, 0x2c, 0x2f, 0x89, 0xa6, 0xd4, 0x9e, 0xe1, 0x71, 0xf1, 0x3a, 0x5e, 0xba, 0x78, 0x95, 0x91, 0x60, 0xc5, 0xe2, 0x55, 0xc9, 0x2e,
0xf6, 0x1f, 0x0b, 0xb0, 0x89, 0x04, 0x5f, 0xb2, 0x20, 0xe0, 0xf2, 0xea, 0x99, 0xa3, 0x0d, 0x15, 0x5e, 0x23, 0xb8, 0x75, 0xf9, 0x26, 0x62, 0xf5, 0x6e, 0xf9, 0x31, 0x54, 0x27, 0x86, 0xc8, 0x24,
0x53, 0x54, 0x13, 0xab, 0x19, 0x10, 0xed, 0xf3, 0x52, 0x09, 0x50, 0x66, 0xab, 0x52, 0x03, 0xa1, 0xfb, 0x56, 0x3e, 0xcf, 0xf2, 0x92, 0x68, 0x4a, 0x6d, 0xff, 0xbe, 0x00, 0x37, 0x15, 0xc1, 0x97,
0xed, 0xd1, 0x77, 0xca, 0x6a, 0x55, 0xaa, 0xce, 0x88, 0x53, 0x3b, 0x92, 0x2e, 0xf9, 0xea, 0x8c, 0x2c, 0x08, 0xb8, 0xbc, 0x7a, 0xe6, 0x68, 0x43, 0xc5, 0x14, 0xd5, 0xc4, 0x6a, 0x06, 0x54, 0xf6,
0x92, 0xd1, 0xf7, 0x38, 0xc7, 0xe8, 0x15, 0x3f, 0x01, 0x91, 0x7a, 0xc2, 0xe4, 0xc8, 0x8c, 0xcb, 0x79, 0x85, 0x02, 0xd0, 0x6c, 0x55, 0x6a, 0x20, 0x65, 0x7b, 0xe5, 0x3b, 0xb4, 0x5a, 0x95, 0xe2,
0xea, 0x8c, 0xed, 0x2f, 0xed, 0x3a, 0x6a, 0x61, 0x6d, 0x64, 0xdb, 0x50, 0xe2, 0xef, 0x5a, 0xc6, 0x59, 0xe1, 0x70, 0x47, 0xd2, 0x25, 0x1f, 0xcf, 0x4a, 0xb2, 0xf2, 0xbd, 0x9a, 0x63, 0xf4, 0x27,
0xdf, 0x78, 0x9f, 0x28, 0x88, 0x62, 0xd5, 0x4a, 0x6b, 0x54, 0x03, 0xca, 0xab, 0xbe, 0xe7, 0xf1, 0x81, 0x04, 0x54, 0xd4, 0x13, 0x26, 0x47, 0x66, 0x5c, 0xc6, 0xb3, 0x6a, 0x7f, 0x69, 0xd7, 0xc1,
0xd0, 0xf4, 0x50, 0x03, 0xad, 0x9e, 0x9f, 0xed, 0x03, 0x1d, 0x61, 0x39, 0x63, 0x09, 0xf2, 0x21, 0x85, 0xb5, 0x91, 0x6d, 0x43, 0x89, 0xbf, 0x6b, 0x19, 0x7f, 0xab, 0xfb, 0xe0, 0xb2, 0x0f, 0x88,
0x54, 0x4d, 0xcd, 0x4b, 0xaa, 0xf5, 0x9d, 0xbc, 0xf5, 0x73, 0xf4, 0x34, 0x25, 0xb6, 0xff, 0x6d, 0xd4, 0x00, 0x7a, 0xd5, 0xf7, 0x3c, 0x1e, 0x9a, 0x1e, 0x6a, 0xa0, 0xd5, 0xf3, 0xb3, 0x7d, 0xa0,
0xe9, 0xf0, 0x3f, 0x66, 0x17, 0x69, 0x0f, 0xc9, 0x5a, 0xd9, 0xca, 0x5b, 0x79, 0xd9, 0x17, 0x84, 0x23, 0x2c, 0x67, 0x2c, 0x41, 0x3e, 0x82, 0xaa, 0xa9, 0x79, 0x49, 0xb5, 0xbe, 0x97, 0xb7, 0x7e,
0x1d, 0xa8, 0xbd, 0x60, 0x17, 0xd1, 0x34, 0xf6, 0x25, 0x37, 0xc6, 0x9f, 0x23, 0xae, 0xc8, 0xcb, 0x8e, 0x9e, 0xa6, 0xc4, 0xf6, 0x3f, 0x2d, 0x1d, 0xfe, 0xc7, 0xec, 0x22, 0xed, 0x21, 0x59, 0x2b,
0xfb, 0xd0, 0xd0, 0x53, 0xa1, 0x93, 0x0d, 0xbf, 0xba, 0xc6, 0xe9, 0xb1, 0xf5, 0xbb, 0xb0, 0xe9, 0x5b, 0x79, 0x2b, 0x2f, 0xfb, 0x82, 0xb0, 0x05, 0xb5, 0x97, 0xec, 0x22, 0x9a, 0xc6, 0xbe, 0xe4,
0x8e, 0x98, 0x1f, 0x3a, 0x62, 0x14, 0xc5, 0x52, 0x75, 0x70, 0xfd, 0x61, 0xae, 0x46, 0x37, 0xd4, 0xc6, 0xf8, 0x73, 0xc4, 0x15, 0x79, 0xf9, 0x00, 0x1a, 0x7a, 0x2a, 0x74, 0xb2, 0xe1, 0x57, 0xd7,
0x83, 0x63, 0xc4, 0x63, 0x27, 0x17, 0x58, 0x43, 0x78, 0x28, 0x8c, 0xcd, 0xf1, 0x88, 0xb1, 0xea, 0x38, 0x3d, 0xb6, 0xfe, 0x2f, 0xdc, 0x74, 0x47, 0xcc, 0x0f, 0x1d, 0x31, 0x8a, 0x62, 0x89, 0x1d,
0x0b, 0x47, 0x72, 0x21, 0xcd, 0xfc, 0x52, 0xf6, 0xc5, 0x09, 0x17, 0xf2, 0x69, 0xa9, 0x5a, 0x6a, 0x5c, 0x7f, 0xc8, 0xab, 0xd1, 0x75, 0x7c, 0x70, 0xac, 0xf0, 0xaa, 0x93, 0x0b, 0x55, 0x43, 0x78,
0xad, 0xd9, 0xbf, 0xb3, 0xe0, 0xf5, 0xa5, 0x43, 0xd0, 0x8a, 0xd8, 0x5b, 0x1c, 0x09, 0xb4, 0x0d, 0x28, 0x8c, 0xcd, 0xd5, 0x51, 0xc5, 0xaa, 0x2f, 0x1c, 0xc9, 0x85, 0x34, 0xf3, 0x4b, 0xd9, 0x17,
0x72, 0x23, 0x41, 0x1f, 0xee, 0x8e, 0x74, 0x09, 0x71, 0x58, 0xec, 0x8e, 0xfc, 0x0b, 0xee, 0x88, 0x27, 0x5c, 0xc8, 0x67, 0xa5, 0x6a, 0xa9, 0x75, 0xc3, 0xfe, 0x8d, 0x05, 0x6f, 0x2e, 0x1d, 0x82,
0xe9, 0x64, 0x82, 0xba, 0xf3, 0x90, 0x9d, 0x06, 0x66, 0x00, 0xae, 0xd2, 0x1d, 0x43, 0xd6, 0xd1, 0x56, 0xc4, 0xde, 0xe2, 0x48, 0xa0, 0x6d, 0x90, 0x1b, 0x09, 0xfa, 0x70, 0x7f, 0xa4, 0x4b, 0x88,
0x54, 0xc7, 0x9a, 0xa8, 0xaf, 0x69, 0xec, 0x3f, 0x59, 0xba, 0xf9, 0x9c, 0xe0, 0x06, 0x83, 0x3b, 0xc3, 0x62, 0x77, 0xe4, 0x5f, 0x70, 0x47, 0x4c, 0x27, 0x13, 0xa5, 0x3b, 0x0f, 0xd9, 0x69, 0x60,
0x11, 0x8f, 0xaf, 0xb9, 0x73, 0x7f, 0x0a, 0x65, 0xb3, 0x04, 0xe1, 0x7b, 0x9a, 0x8b, 0x83, 0x63, 0x06, 0xe0, 0x2a, 0xdd, 0x32, 0x64, 0x1d, 0x4d, 0x75, 0xac, 0x89, 0xfa, 0x9a, 0xc6, 0xfe, 0x83,
0x46, 0xe0, 0xee, 0xc9, 0x7c, 0x3d, 0xa2, 0x86, 0xc9, 0x7e, 0x04, 0xf5, 0x0c, 0x9a, 0xd4, 0xa1, 0xa5, 0x9b, 0xcf, 0x89, 0xda, 0x60, 0xd4, 0x4e, 0xc4, 0xe3, 0x6b, 0xee, 0xdc, 0x9f, 0x41, 0xd9,
0x32, 0x1c, 0xec, 0x0f, 0x0e, 0xbf, 0x1c, 0xb4, 0x5e, 0x43, 0xe0, 0x84, 0x0e, 0x8f, 0x4f, 0xfa, 0x2c, 0x41, 0xea, 0x3d, 0xcd, 0xc5, 0xc1, 0x31, 0x23, 0x70, 0xe7, 0x64, 0xbe, 0x1e, 0x51, 0xc3,
0xbd, 0x96, 0x45, 0x36, 0x61, 0x7d, 0x38, 0x50, 0xe0, 0x97, 0x87, 0xf4, 0xe4, 0xc9, 0x57, 0xad, 0x64, 0x3f, 0x86, 0x7a, 0x06, 0x4d, 0xea, 0x50, 0x19, 0x0e, 0xf6, 0x07, 0x87, 0x5f, 0x0e, 0x5a,
0x82, 0xfd, 0x4d, 0x51, 0x2f, 0x10, 0xcf, 0x33, 0x0b, 0x9a, 0x19, 0x6c, 0x56, 0x28, 0x4f, 0xa0, 0x6f, 0x28, 0xe0, 0x84, 0x0e, 0x8f, 0x4f, 0xfa, 0xbd, 0x96, 0x45, 0x6e, 0xc2, 0xda, 0x70, 0x80,
0xf4, 0x22, 0x8e, 0xc6, 0x49, 0x30, 0xe1, 0x19, 0x2f, 0x24, 0x23, 0x53, 0xf5, 0x0b, 0x32, 0xc2, 0xe0, 0x97, 0x87, 0xf4, 0xe4, 0xe9, 0x57, 0xad, 0x82, 0xfd, 0x6d, 0x51, 0x2f, 0x10, 0x2f, 0x32,
0xe0, 0x72, 0x47, 0x18, 0xbb, 0xe1, 0x59, 0x32, 0xbc, 0xcd, 0x11, 0xe8, 0x12, 0x33, 0xf2, 0xea, 0x0b, 0x9a, 0x19, 0x6c, 0x56, 0x28, 0x4f, 0xa0, 0xf4, 0x32, 0x8e, 0xc6, 0x49, 0x30, 0xa9, 0xb3,
0x82, 0x6c, 0xf6, 0xe2, 0x14, 0xd7, 0x51, 0x5f, 0x6d, 0x62, 0x2e, 0x26, 0x51, 0x28, 0x92, 0xc4, 0xba, 0x90, 0x8c, 0x4c, 0xd5, 0x2f, 0xc8, 0x48, 0x05, 0x97, 0x3b, 0x52, 0xb1, 0x1b, 0x9e, 0x25,
0x4e, 0x61, 0xac, 0xe6, 0x31, 0x9f, 0x04, 0xbe, 0x66, 0xd6, 0xf1, 0x57, 0x33, 0x98, 0x8e, 0x24, 0xc3, 0xdb, 0x1c, 0xa1, 0x5c, 0x62, 0x46, 0x5e, 0x5d, 0x90, 0xcd, 0x5e, 0x9c, 0xe2, 0x3a, 0xf8,
0x7c, 0xf9, 0x22, 0x5a, 0x55, 0x96, 0xfd, 0x61, 0xde, 0xb2, 0x4b, 0x6e, 0xbd, 0xfb, 0xfc, 0xd2, 0xd5, 0x26, 0xe6, 0x62, 0x12, 0x85, 0x22, 0x49, 0xec, 0x14, 0x56, 0xd5, 0x3c, 0xe6, 0x93, 0xc0,
0xaa, 0xba, 0x74, 0x7d, 0xd5, 0x3e, 0xac, 0xa5, 0x23, 0xc0, 0x4f, 0x81, 0x5c, 0xe6, 0xbc, 0xe4, 0xd7, 0xcc, 0x3a, 0xfe, 0x6a, 0x06, 0xd3, 0x91, 0x84, 0x2f, 0x5f, 0x44, 0xab, 0x68, 0xd9, 0xef,
0x8b, 0xa3, 0xfe, 0xa0, 0xb7, 0x37, 0xf8, 0xa2, 0x65, 0x91, 0x06, 0x54, 0x3b, 0xdd, 0x6e, 0xff, 0xe7, 0x2d, 0xbb, 0xe4, 0xd6, 0x3b, 0x2f, 0x2e, 0xad, 0xaa, 0x4b, 0xd7, 0x57, 0xed, 0xc3, 0x5a,
0x08, 0x3d, 0x53, 0x40, 0xa8, 0xd7, 0xef, 0x3e, 0xdb, 0x1b, 0xf4, 0x7b, 0xad, 0x22, 0x42, 0xdd, 0x3a, 0x02, 0xfc, 0x04, 0xc8, 0x65, 0xce, 0x4b, 0xbe, 0x38, 0xea, 0x0f, 0x7a, 0x7b, 0x83, 0x2f,
0xce, 0xa0, 0xdb, 0x7f, 0xd6, 0xef, 0xb5, 0x4a, 0xf6, 0x3f, 0x2c, 0x3d, 0x1b, 0x74, 0x73, 0x7b, 0x5a, 0x16, 0x69, 0x40, 0xb5, 0xd3, 0xed, 0xf6, 0x8f, 0x94, 0x67, 0x0a, 0x0a, 0xea, 0xf5, 0xbb,
0x62, 0x8f, 0xbb, 0xbe, 0x58, 0xfd, 0x01, 0x6a, 0x07, 0x6a, 0xc6, 0x9e, 0x7b, 0x49, 0xa4, 0xcd, 0xcf, 0xf7, 0x06, 0xfd, 0x5e, 0xab, 0xa8, 0xa0, 0x6e, 0x67, 0xd0, 0xed, 0x3f, 0xef, 0xf7, 0x5a,
0x11, 0xe4, 0x67, 0xb0, 0xe1, 0x19, 0x7e, 0x27, 0x17, 0x79, 0xef, 0x2f, 0x4e, 0x59, 0xcb, 0x5e, 0x25, 0xfb, 0xaf, 0x96, 0x9e, 0x0d, 0xba, 0xb9, 0x3d, 0xb1, 0xc7, 0x5d, 0x5f, 0xac, 0xfe, 0x00,
0xb9, 0x9b, 0x1c, 0x8c, 0x79, 0x9a, 0x5e, 0x0e, 0xb6, 0xdf, 0x85, 0x66, 0x9e, 0x22, 0x77, 0xd9, 0xb5, 0x05, 0x35, 0x63, 0xcf, 0xbd, 0x24, 0xd2, 0xe6, 0x08, 0xf2, 0x53, 0x58, 0xf7, 0x0c, 0xbf,
0xd7, 0x72, 0x97, 0xb5, 0xec, 0x6f, 0x2d, 0xd8, 0x58, 0xf8, 0xc0, 0xbf, 0xba, 0x5f, 0x2d, 0x6e, 0x93, 0x8b, 0xbc, 0x0f, 0x16, 0xa7, 0xac, 0x65, 0xaf, 0xdc, 0x49, 0x0e, 0xc6, 0x3c, 0x4d, 0x2f,
0xc4, 0x85, 0x4b, 0x1b, 0x31, 0x79, 0x17, 0x48, 0x96, 0xc4, 0xc9, 0xae, 0x16, 0xad, 0x0c, 0xa1, 0x07, 0xdb, 0xef, 0x43, 0x33, 0x4f, 0x91, 0xbb, 0xec, 0x1b, 0xb9, 0xcb, 0x5a, 0xf6, 0x77, 0x16,
0xae, 0x55, 0xd9, 0x06, 0x58, 0x7a, 0xa5, 0x06, 0x28, 0x00, 0x28, 0x7b, 0x69, 0x86, 0xc5, 0xec, 0xac, 0x2f, 0xfc, 0x21, 0xb0, 0xba, 0x5f, 0x2d, 0x6e, 0xc4, 0x85, 0x4b, 0x1b, 0x31, 0x79, 0x1f,
0x60, 0x60, 0xe5, 0x07, 0x83, 0x7d, 0xa8, 0x9b, 0x7f, 0xa8, 0x4e, 0xb0, 0x7b, 0x15, 0x94, 0x9d, 0x48, 0x96, 0xc4, 0xc9, 0xae, 0x16, 0xad, 0x0c, 0xa1, 0xae, 0x55, 0xd9, 0x06, 0x58, 0x7a, 0xad,
0xbf, 0x33, 0x7f, 0x49, 0x67, 0xfe, 0x9f, 0xd6, 0x81, 0xf9, 0x4b, 0xcb, 0x08, 0xdd, 0x45, 0x06, 0x06, 0x28, 0x00, 0x28, 0x7b, 0x65, 0x86, 0xc5, 0xec, 0x60, 0x60, 0xe5, 0x07, 0x83, 0x7d, 0xa8,
0x9a, 0xe5, 0xb6, 0xff, 0x60, 0x41, 0x13, 0xb5, 0xca, 0xbc, 0xf9, 0x47, 0x50, 0x8f, 0x53, 0x28, 0x9b, 0x7f, 0xb4, 0x4e, 0x54, 0xf7, 0x2a, 0xa0, 0x9d, 0xff, 0x67, 0xfe, 0x92, 0xce, 0xfc, 0x3f,
0xe9, 0x23, 0x5b, 0x73, 0xf9, 0x73, 0x52, 0x9a, 0x25, 0x24, 0x0f, 0x61, 0x4b, 0x4c, 0x4f, 0x93, 0xb0, 0x03, 0xf3, 0x17, 0x98, 0x11, 0xba, 0xa3, 0x18, 0x68, 0x96, 0xdb, 0xfe, 0x9d, 0x05, 0x4d,
0x5e, 0xf4, 0x54, 0x44, 0xe1, 0xe3, 0x99, 0xe4, 0x49, 0x87, 0x5e, 0xfa, 0x8c, 0xbc, 0x0b, 0x9b, 0xa5, 0x55, 0xe6, 0xcd, 0x3f, 0x80, 0x7a, 0x9c, 0x42, 0x49, 0x1f, 0xd9, 0x98, 0xcb, 0x9f, 0x93,
0xc9, 0xa6, 0x39, 0x67, 0xd0, 0xeb, 0xf7, 0xe5, 0x07, 0xf6, 0xef, 0x2d, 0xa8, 0xa3, 0xb2, 0xe6, 0xd2, 0x2c, 0x21, 0xd9, 0x85, 0x0d, 0x31, 0x3d, 0x4d, 0x7a, 0xd1, 0x33, 0x11, 0x85, 0x4f, 0x66,
0x0f, 0x0b, 0x35, 0x2f, 0xa6, 0x1e, 0xc5, 0xe3, 0xd2, 0xc6, 0x74, 0x13, 0xca, 0xe6, 0x9b, 0x95, 0x92, 0x27, 0x1d, 0x7a, 0xe9, 0x33, 0xf2, 0x3e, 0xdc, 0x4c, 0x36, 0xcd, 0x39, 0x83, 0x5e, 0xbf,
0x19, 0x09, 0xcc, 0x27, 0xab, 0x4c, 0x4c, 0x94, 0x72, 0x31, 0xb1, 0x03, 0xb5, 0xf9, 0xca, 0xb6, 0x2f, 0x3f, 0xb0, 0x7f, 0x6b, 0x41, 0x5d, 0x29, 0x6b, 0xfe, 0xe0, 0xc0, 0x79, 0x31, 0xf5, 0xa8,
0xa6, 0xa6, 0xd8, 0x39, 0x62, 0x9e, 0x1e, 0xe5, 0xec, 0x9c, 0xf4, 0x17, 0x33, 0xbd, 0x18, 0xd5, 0x3a, 0x2e, 0x6d, 0x4c, 0xb7, 0xa1, 0x6c, 0xbe, 0x59, 0x99, 0x91, 0xc0, 0x7c, 0xb2, 0xca, 0xc4,
0x70, 0x60, 0x8e, 0x42, 0xf2, 0x08, 0xca, 0x4c, 0x9d, 0x94, 0x8e, 0xcd, 0x87, 0x76, 0x3e, 0x14, 0x44, 0x29, 0x17, 0x13, 0x5b, 0x50, 0x9b, 0xaf, 0x6c, 0x37, 0x70, 0x8a, 0x9d, 0x23, 0xe6, 0xe9,
0x72, 0xc4, 0xbb, 0xfa, 0x87, 0x1a, 0x0e, 0xf2, 0x16, 0xac, 0x47, 0x81, 0x67, 0x48, 0x86, 0x69, 0x51, 0xce, 0xce, 0x49, 0x7f, 0x34, 0xd3, 0x8b, 0x51, 0x4d, 0x0d, 0xcc, 0x51, 0x48, 0x1e, 0x43,
0x79, 0xcf, 0x23, 0xc9, 0x7b, 0xea, 0x12, 0x08, 0x99, 0xbd, 0xe8, 0xf5, 0xa5, 0xaf, 0xa0, 0x09, 0x99, 0xe1, 0x09, 0x75, 0x6c, 0xee, 0xda, 0xf9, 0x50, 0xc8, 0x11, 0xef, 0xe8, 0x1f, 0x6a, 0x38,
0x15, 0xb6, 0xbb, 0xb2, 0xd1, 0x6e, 0x13, 0xd6, 0xf7, 0xfb, 0x5f, 0x75, 0x3b, 0xb4, 0xe7, 0x74, 0xc8, 0x3b, 0xb0, 0x16, 0x05, 0x9e, 0x21, 0x19, 0xa6, 0xe5, 0x3d, 0x8f, 0x24, 0x8f, 0xf0, 0x12,
0x7a, 0x3d, 0x95, 0x49, 0x04, 0x9a, 0x9d, 0x6e, 0xf7, 0x70, 0x38, 0x38, 0x39, 0x36, 0x38, 0x8b, 0x0a, 0x32, 0x7b, 0xd1, 0x9b, 0x4b, 0x5f, 0x41, 0x13, 0x2a, 0xd5, 0xee, 0xca, 0x46, 0xbb, 0x9b,
0xdc, 0x80, 0x8d, 0x84, 0xac, 0xd7, 0x7f, 0xd6, 0xd7, 0xf5, 0x65, 0x0b, 0x5a, 0x29, 0x21, 0xed, 0xb0, 0xb6, 0xdf, 0xff, 0xaa, 0xdb, 0xa1, 0x3d, 0xa7, 0xd3, 0xeb, 0x61, 0x26, 0x11, 0x68, 0x76,
0x1f, 0x1c, 0x3e, 0x57, 0x75, 0x06, 0xa0, 0xfc, 0xec, 0xb0, 0xbb, 0x8f, 0x55, 0x06, 0x93, 0x72, 0xba, 0xdd, 0xc3, 0xe1, 0xe0, 0xe4, 0xd8, 0xe0, 0x2c, 0x72, 0x0b, 0xd6, 0x13, 0xb2, 0x5e, 0xff,
0x38, 0x30, 0xd0, 0x1a, 0xd9, 0x80, 0xfa, 0x70, 0xaf, 0xe7, 0x0c, 0x8f, 0x7a, 0x1d, 0x14, 0x50, 0x79, 0x5f, 0xd7, 0x97, 0x0d, 0x68, 0xa5, 0x84, 0xb4, 0x7f, 0x70, 0xf8, 0x02, 0xeb, 0x0c, 0x40,
0x26, 0x2d, 0x68, 0x0c, 0x3a, 0x07, 0x7d, 0xa7, 0xfb, 0xa4, 0x33, 0xf8, 0xa2, 0xdf, 0x6b, 0x55, 0xf9, 0xf9, 0x61, 0x77, 0x5f, 0x55, 0x19, 0x95, 0x94, 0xc3, 0x81, 0x81, 0x6e, 0x90, 0x75, 0xa8,
0xec, 0xaf, 0x75, 0xb7, 0xcb, 0xfc, 0x21, 0x45, 0x7e, 0x90, 0xf9, 0xf7, 0x4a, 0xc7, 0xe1, 0x8a, 0x0f, 0xf7, 0x7a, 0xce, 0xf0, 0xa8, 0xd7, 0x51, 0x02, 0xca, 0xa4, 0x05, 0x8d, 0x41, 0xe7, 0xa0,
0xeb, 0xcd, 0xff, 0xb9, 0x4a, 0xdd, 0x53, 0xc8, 0xb8, 0xe7, 0xf1, 0xfa, 0xd7, 0xf5, 0xdd, 0xf7, 0xef, 0x74, 0x9f, 0x76, 0x06, 0x5f, 0xf4, 0x7b, 0xad, 0x8a, 0xfd, 0xb5, 0xee, 0x76, 0x99, 0x3f,
0x3e, 0x4e, 0x58, 0x4f, 0xcb, 0xea, 0xf4, 0xfe, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa1, 0x89, 0xb0, 0xc8, 0xf7, 0x32, 0xff, 0x76, 0xe9, 0x38, 0x5c, 0x71, 0xbd, 0xf9, 0x3f, 0x5d, 0xa9, 0x7b,
0xac, 0x57, 0x2e, 0x1e, 0x00, 0x00, 0x0a, 0x19, 0xf7, 0x3c, 0x59, 0xfb, 0xba, 0xbe, 0xf3, 0xe8, 0x93, 0x84, 0xf5, 0xb4, 0x8c, 0xa7,
0x0f, 0xfe, 0x15, 0x00, 0x00, 0xff, 0xff, 0xf0, 0xeb, 0x53, 0xb8, 0x5e, 0x1e, 0x00, 0x00,
} }

View File

@ -34,13 +34,14 @@ message MultiAccount {
string name = 1; string name = 1;
int64 timestamp = 2; int64 timestamp = 2;
string identicon = 3; string identicon = 3;
repeated ColourHash color_hash = 4; repeated ColorHash color_hash = 4;
int64 colorId = 5; int64 color_id = 5;
string keycard_pairing = 6; string keycard_pairing = 6;
string key_uid = 7; string key_uid = 7;
repeated IdentityImage images = 8; repeated IdentityImage images = 8;
string customization_color = 9;
message ColourHash { message ColorHash {
repeated int64 index = 1; repeated int64 index = 1;
} }
@ -336,4 +337,4 @@ message SyncKeycardAction {
message SyncAllKeycards { message SyncAllKeycards {
repeated SyncKeycard keycards = 1; repeated SyncKeycard keycards = 1;
uint64 clock = 2; uint64 clock = 2;
} }

View File

@ -6,16 +6,16 @@ import (
var ErrCreateAccountInvalidDisplayName = errors.New("create-account: invalid display name") var ErrCreateAccountInvalidDisplayName = errors.New("create-account: invalid display name")
var ErrCreateAccountInvalidPassword = errors.New("create-account: invalid password") var ErrCreateAccountInvalidPassword = errors.New("create-account: invalid password")
var ErrCreateAccountInvalidColor = errors.New("create-account: invalid color") var ErrCreateAccountInvalidCustomizationColor = errors.New("create-account: invalid customization color")
var ErrCreateAccountInvalidRootKeystoreDir = errors.New("create-account: invalid root keystore directory") var ErrCreateAccountInvalidRootKeystoreDir = errors.New("create-account: invalid root keystore directory")
var ErrCreateAccountInvalidBackupDisabledDataDir = errors.New("create-account: invalid backup disabled data directory") var ErrCreateAccountInvalidBackupDisabledDataDir = errors.New("create-account: invalid backup disabled data directory")
var ErrCreateAccountInvalidLogFilePath = errors.New("create-account: invalid log file path") var ErrCreateAccountInvalidLogFilePath = errors.New("create-account: invalid log file path")
type CreateAccount struct { type CreateAccount struct {
DisplayName string `json:"displayName"` DisplayName string `json:"displayName"`
Password string `json:"password"` Password string `json:"password"`
ImagePath string `json:"imagePath"` ImagePath string `json:"imagePath"`
Color string `json:"color"` CustomizationColor string `json:"customizationColor"`
// RootKeystoreDir is the directory where keys are stored // RootKeystoreDir is the directory where keys are stored
RootKeystoreDir string `json:"rootKeystoreDir"` RootKeystoreDir string `json:"rootKeystoreDir"`
// BackupDisabledDataDir is the directory where backup is disabled // BackupDisabledDataDir is the directory where backup is disabled
@ -45,8 +45,8 @@ func ValidateAccountCreationRequest(c CreateAccount) error {
return ErrCreateAccountInvalidPassword return ErrCreateAccountInvalidPassword
} }
if len(c.Color) == 0 { if len(c.CustomizationColor) == 0 {
return ErrCreateAccountInvalidColor return ErrCreateAccountInvalidCustomizationColor
} }
if len(c.RootKeystoreDir) == 0 { if len(c.RootKeystoreDir) == 0 {

View File

@ -25,7 +25,7 @@ var (
expected = multiaccounts.Account{ expected = multiaccounts.Account{
Name: "cool account", Name: "cool account",
KeyUID: keyUID, KeyUID: keyUID,
ColorHash: multiaccounts.ColourHash{{4, 3}, {4, 0}, {4, 3}, {4, 0}}, ColorHash: multiaccounts.ColorHash{{4, 3}, {4, 0}, {4, 3}, {4, 0}},
ColorID: 10, ColorID: 10,
Images: images.SampleIdentityImages(), Images: images.SampleIdentityImages(),
KDFIterations: sqlite.ReducedKDFIterationsNumber, KDFIterations: sqlite.ReducedKDFIterationsNumber,